1 058b0118 2005-01-03 devnull .TH SECSTORE 1
3 8e4cf69e 2005-02-13 devnull aescbc, ipso, secstore \- secstore commands
4 058b0118 2005-01-03 devnull .SH SYNOPSIS
5 058b0118 2005-01-03 devnull .B secstore
11 058b0118 2005-01-03 devnull .B -(g|G)
12 058b0118 2005-01-03 devnull .I getfile
16 058b0118 2005-01-03 devnull .I putfile
20 058b0118 2005-01-03 devnull .I rmfile
36 058b0118 2005-01-03 devnull .B aescbc
38 058b0118 2005-01-03 devnull .I <cleartext
39 058b0118 2005-01-03 devnull .I >ciphertext
41 058b0118 2005-01-03 devnull .B aescbc
43 058b0118 2005-01-03 devnull .I <ciphertext
44 058b0118 2005-01-03 devnull .I >cleartext
48 8e4cf69e 2005-02-13 devnull .B -a -e -l -f
53 058b0118 2005-01-03 devnull .SH DESCRIPTION
55 058b0118 2005-01-03 devnull .I Secstore
56 058b0118 2005-01-03 devnull authenticates to the server
57 058b0118 2005-01-03 devnull using a password and optionally a hardware token,
58 058b0118 2005-01-03 devnull then saves or retrieves a file.
59 058b0118 2005-01-03 devnull This is intended to be a credentials store (public/private keypairs,
60 058b0118 2005-01-03 devnull passwords, and other secrets) for a factotum.
64 058b0118 2005-01-03 devnull stores a file on the secstore.
68 058b0118 2005-01-03 devnull retrieves a file to the local directory;
71 058b0118 2005-01-03 devnull writes it to standard output instead.
72 058b0118 2005-01-03 devnull Specifying
73 058b0118 2005-01-03 devnull .I getfile
74 058b0118 2005-01-03 devnull of . will send to standard output
75 058b0118 2005-01-03 devnull a list of remote files with dates, lengths and SHA1 hashes.
79 058b0118 2005-01-03 devnull removes a file from the secstore.
83 058b0118 2005-01-03 devnull prompts for a password change.
87 058b0118 2005-01-03 devnull produces more verbose output, in particular providing a few
88 058b0118 2005-01-03 devnull bits of feedback to help the user detect mistyping.
92 058b0118 2005-01-03 devnull says that the password should be read from standard input
93 d93fca6a 2005-02-11 devnull instead of from
94 d93fca6a 2005-02-11 devnull .BR /dev/tty .
98 058b0118 2005-01-03 devnull says that the password should be read from NVRAM
100 83c4506a 2005-02-11 devnull .IR authsrv (3))
101 058b0118 2005-01-03 devnull instead of from
102 d93fca6a 2005-02-11 devnull .BR /dev/tty .
104 058b0118 2005-01-03 devnull The server is
105 d93fca6a 2005-02-11 devnull .BR tcp!$auth!secstore ,
106 058b0118 2005-01-03 devnull or the server specified by option
107 058b0118 2005-01-03 devnull .BR -s .
109 058b0118 2005-01-03 devnull For example, to add a secret to the file read by
110 d93fca6a 2005-02-11 devnull .IR factotum (4),
114 d93fca6a 2005-02-11 devnull % cd somewhere-private
115 058b0118 2005-01-03 devnull % auth/secstore -g factotum
116 058b0118 2005-01-03 devnull secstore password:
117 058b0118 2005-01-03 devnull % echo 'key proto=apop dom=x.com user=ehg !password=hi' >> factotum
118 058b0118 2005-01-03 devnull % auth/secstore -p factotum
119 058b0118 2005-01-03 devnull secstore password:
120 d93fca6a 2005-02-11 devnull % cat factotum | 9p write -l factotum/ctl
123 058b0118 2005-01-03 devnull and delete the window.
124 d93fca6a 2005-02-11 devnull The middle commands fetch the persistent copy of the secrets,
125 058b0118 2005-01-03 devnull append a new secret,
126 058b0118 2005-01-03 devnull and save the updated file back to secstore.
127 058b0118 2005-01-03 devnull The final command loads the new secret into the running factotum.
131 8e4cf69e 2005-02-13 devnull command packages this sequence into a convenient script to simplify editing of
132 8e4cf69e 2005-02-13 devnull .I files
133 8e4cf69e 2005-02-13 devnull stored on a secure store.
134 8e4cf69e 2005-02-13 devnull It copies the named
135 8e4cf69e 2005-02-13 devnull .I files
136 8e4cf69e 2005-02-13 devnull into a private directory,
137 8e4cf69e 2005-02-13 devnull plumbs them to the editor,
138 8e4cf69e 2005-02-13 devnull and waits for a line on the console
139 8e4cf69e 2005-02-13 devnull Once a line is typed,
140 8e4cf69e 2005-02-13 devnull signifying that editing is complete,
142 8e4cf69e 2005-02-13 devnull prompts the user to confirm copying modifed or newly created files back to
143 8e4cf69e 2005-02-13 devnull .I secstore.
146 8e4cf69e 2005-02-13 devnull is mentioned,
148 8e4cf69e 2005-02-13 devnull grabs all the user's files from
149 8e4cf69e 2005-02-13 devnull .I secstore
150 8e4cf69e 2005-02-13 devnull for editing.
152 8e4cf69e 2005-02-13 devnull By default, ipso will edit the
153 8e4cf69e 2005-02-13 devnull .I secstore
154 8e4cf69e 2005-02-13 devnull files and, if
155 8e4cf69e 2005-02-13 devnull one of them is named
156 8e4cf69e 2005-02-13 devnull .BR factotum ,
157 8e4cf69e 2005-02-13 devnull flush current keys from factotum and load
158 8e4cf69e 2005-02-13 devnull the new ones from the file.
160 8e4cf69e 2005-02-13 devnull .BR -e ,
161 8e4cf69e 2005-02-13 devnull .BR -f ,
164 8e4cf69e 2005-02-13 devnull options are given,
166 8e4cf69e 2005-02-13 devnull will just perform only the requested operations, i.e.,
167 8e4cf69e 2005-02-13 devnull edit, flush, and/or load.
171 8e4cf69e 2005-02-13 devnull option of
173 8e4cf69e 2005-02-13 devnull provides a similar service for files encrypted by
174 8e4cf69e 2005-02-13 devnull .I aescbc
175 8e4cf69e 2005-02-13 devnull .RI ( q.v. ).
176 8e4cf69e 2005-02-13 devnull With the
178 8e4cf69e 2005-02-13 devnull option, the full rooted pathname of the
180 8e4cf69e 2005-02-13 devnull must be specified and all
181 8e4cf69e 2005-02-13 devnull .I files
182 8e4cf69e 2005-02-13 devnull must be encrypted with the same key.
183 8e4cf69e 2005-02-13 devnull Also with
184 8e4cf69e 2005-02-13 devnull .BR -a ,
185 8e4cf69e 2005-02-13 devnull newly created files are ignored.
187 058b0118 2005-01-03 devnull .I Aescbc
188 058b0118 2005-01-03 devnull encrypts and decrypts using AES (Rijndael) in cipher
189 058b0118 2005-01-03 devnull block chaining (CBC) mode.
190 058b0118 2005-01-03 devnull .SH SOURCE
191 30f6ae14 2005-02-13 devnull .B \*9/bin/ipso
193 30f6ae14 2005-02-13 devnull .B \*9/src/cmd/auth/secstore
194 058b0118 2005-01-03 devnull .SH SEE ALSO
195 058b0118 2005-01-03 devnull .IR factotum (4),
196 d93fca6a 2005-02-11 devnull .IR secstored (1)
197 058b0118 2005-01-03 devnull .SH BUGS
198 058b0118 2005-01-03 devnull There is deliberately no backup of files on the secstore, so
200 058b0118 2005-01-03 devnull (or a disk crash) is irrevocable. You are advised to store
201 058b0118 2005-01-03 devnull important secrets in a second location.
203 8e4cf69e 2005-02-13 devnull When using
204 8e4cf69e 2005-02-13 devnull .IR ipso ,
205 8e4cf69e 2005-02-13 devnull secrets will appear as plain text in the editor window,
206 8e4cf69e 2005-02-13 devnull so use the command in private.
208 8e4cf69e 2005-02-13 devnull Establishing a private directory in which to store the secret
209 8e4cf69e 2005-02-13 devnull files is difficult on Unix.
210 8e4cf69e 2005-02-13 devnull On most systems,
212 8e4cf69e 2005-02-13 devnull creates a mode 700 directory
213 8e4cf69e 2005-02-13 devnull .BI /tmp/ipso. user
214 8e4cf69e 2005-02-13 devnull and works there.
215 8e4cf69e 2005-02-13 devnull On Linux systems,
217 8e4cf69e 2005-02-13 devnull looks for a
218 8e4cf69e 2005-02-13 devnull .B tmpfs
219 8e4cf69e 2005-02-13 devnull file system; if it exists,
221 8e4cf69e 2005-02-13 devnull creates the
222 8e4cf69e 2005-02-13 devnull .BI ipso. user
223 8e4cf69e 2005-02-13 devnull directory in its root
224 8e4cf69e 2005-02-13 devnull instead of
225 8e4cf69e 2005-02-13 devnull .BR /tmp .
228 8e4cf69e 2005-02-13 devnull should zero the secret files before removing them.