Project

General

Profile

UsoDiOpenPGPCard » History » Version 11

Elena Grandi, 10/19/2016 02:51 PM

1 1 Elena Grandi
h1. Uso di OpenPGP Card
2 1 Elena Grandi
3 2 Elena Grandi
L'"OpenPGP Card":https://en.wikipedia.org/wiki/OpenPGP_card è una smartcard sulla quale si possono salvare in modo sicuro ed usare le sottochiavi segrete usate da GnuPG per crittografia, firma ed anche autenticazione; ne esistono versioni tradizionali, oppure implementate in un dispositivo USB. In ogni caso si possono caricare nuove chiavi sulla scheda, ma non si possono estrarre (per via software) quelle salvate ed è la scheda stessa ad effettuare le operazioni crittografiche.
4 1 Elena Grandi
5 2 Elena Grandi
L'obiettivo che si vuole ottenere è di non avere materiale crittografico segreto sui computer, in modo che un attaccante remoto non possa impossessarsene, mantenendo comunque la comodità di poter usare le chiavi sulla stessa macchina di uso comune. Per farlo si dovrà avere una chiave principale di lunga durata conservata offline ed usata solo saltuariamente per operazioni di gestione della chiave stessa (creazione di nuove sottochiavi, modifica delle scadenze, firma di altre chiavi per la _Web Of Trust_) e delle sottochiavi da usare quotidianamente, conservate sulla card.
6 2 Elena Grandi
7 2 Elena Grandi
Ll'OpenPGP Card permette di caricare tre sottochiavi con finalità di crittografia, firma ed autenticazione: le prime due si usano normalmente tramite GnuPG, la terza può essere usata per l'autenticazione ssh tramite gpg-agent.
8 2 Elena Grandi
9 3 Elena Grandi
h2. prerequisiti
10 3 Elena Grandi
11 2 Elena Grandi
Tutte le versioni di "GnuPG":https://gnupg.org/ supportano l'uso di base delle OpenPGP Card, ma per meglio sfruttarne le capacità è meglio usare la versione 2.1 (_modern_), specialmente in fase di creazione della chiave e delle sue sottochiavi.
12 1 Elena Grandi
13 3 Elena Grandi
Nel caso si voglia usare poi la Card per autenticazione ssh con versioni precedenti di GnuPG è necessario installare anche gpg-agent (in 2.1 usato di default).
14 3 Elena Grandi
15 3 Elena Grandi
Per il supporto della Card è poi necessario installare "PC/SC Lite":http://pcsclite.alioth.debian.org/.
16 3 Elena Grandi
17 3 Elena Grandi
Sotto distribuzioni debian o derivate (che già preinstallano @gnupg@ e @openssh-client@) i pacchetti da installare sono quindi:
18 3 Elena Grandi
19 3 Elena Grandi
<pre>
20 3 Elena Grandi
apt install pcscd gnupg-agent
21 3 Elena Grandi
</pre>
22 2 Elena Grandi
23 2 Elena Grandi
h2. creazione della chiave
24 2 Elena Grandi
25 4 Elena Grandi
Innanzitutto bisogna creare una chiave principale che verrà associata alla nostra identità; questa dovrà essere da almeno 4096 bit per garantirle sufficiente longevità, dato che la sua sostituzione comporta un nuovo ingresso nella Web of Trust.
26 4 Elena Grandi
27 4 Elena Grandi
Ovviamente, se si ha già una chiave gpg da 4096 bit si può saltare questo passaggio ed usare quella.
28 4 Elena Grandi
29 4 Elena Grandi
Innanzitutto, configurare gpg per l'uso di SHA2 aggiungendo le seguenti righe a @~/.gnupg/gpg.conf@:
30 4 Elena Grandi
31 4 Elena Grandi
<pre>
32 4 Elena Grandi
personal-digest-preferences SHA256
33 4 Elena Grandi
cert-digest-algo SHA256
34 4 Elena Grandi
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
35 4 Elena Grandi
</pre>
36 4 Elena Grandi
37 4 Elena Grandi
Quindi generare una nuova chiave: notare l'uso di gpg versione 2.1 e la dimensione a 4096 bit (per il resto si sono accettate le scelte di default oppure inseriti i propri dati).
38 4 Elena Grandi
39 4 Elena Grandi
<pre>
40 4 Elena Grandi
$ gpg --full-gen-key 
41 4 Elena Grandi
gpg (GnuPG) 2.1.15; Copyright (C) 2016 Free Software Foundation, Inc.
42 4 Elena Grandi
This is free software: you are free to change and redistribute it.
43 4 Elena Grandi
There is NO WARRANTY, to the extent permitted by law.
44 4 Elena Grandi
45 4 Elena Grandi
Please select what kind of key you want:
46 4 Elena Grandi
   (1) RSA and RSA (default)
47 4 Elena Grandi
   (2) DSA and Elgamal
48 4 Elena Grandi
   (3) DSA (sign only)
49 4 Elena Grandi
   (4) RSA (sign only)
50 4 Elena Grandi
Your selection? 1
51 4 Elena Grandi
RSA keys may be between 1024 and 4096 bits long.
52 4 Elena Grandi
What keysize do you want? (2048) 4096
53 4 Elena Grandi
Requested keysize is 4096 bits
54 4 Elena Grandi
Please specify how long the key should be valid.
55 4 Elena Grandi
         0 = key does not expire
56 4 Elena Grandi
      <n>  = key expires in n days
57 4 Elena Grandi
      <n>w = key expires in n weeks
58 4 Elena Grandi
      <n>m = key expires in n months
59 4 Elena Grandi
      <n>y = key expires in n years
60 4 Elena Grandi
Key is valid for? (0) 
61 4 Elena Grandi
Key does not expire at all
62 4 Elena Grandi
Is this correct? (y/N) y
63 4 Elena Grandi
64 4 Elena Grandi
GnuPG needs to construct a user ID to identify your key.
65 4 Elena Grandi
66 4 Elena Grandi
Real name: Random User
67 4 Elena Grandi
Email address: random@example.org
68 4 Elena Grandi
Comment: 
69 4 Elena Grandi
You selected this USER-ID:
70 4 Elena Grandi
    "Random User <random@example.org>"
71 4 Elena Grandi
72 4 Elena Grandi
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o
73 4 Elena Grandi
We need to generate a lot of random bytes. It is a good idea to perform
74 4 Elena Grandi
some other action (type on the keyboard, move the mouse, utilize the
75 4 Elena Grandi
disks) during the prime generation; this gives the random number
76 4 Elena Grandi
generator a better chance to gain enough entropy.
77 4 Elena Grandi
gpg: key 3E0EE5BAC50DF7C1 marked as ultimately trusted
78 4 Elena Grandi
gpg: directory '/home/random/.gnupg/openpgp-revocs.d' created
79 4 Elena Grandi
gpg: revocation certificate stored as '/home/valhalla/.gnupg/openpgp-revocs.d/19DB75A75734ABBEDB1124163E0EE5BAC50DF7C1.rev'
80 4 Elena Grandi
public and secret key created and signed.
81 4 Elena Grandi
82 4 Elena Grandi
pub   rsa4096 2016-10-19 [SC]
83 4 Elena Grandi
      19DB75A75734ABBEDB1124163E0EE5BAC50DF7C1
84 4 Elena Grandi
      19DB75A75734ABBEDB1124163E0EE5BAC50DF7C1
85 4 Elena Grandi
uid                      Random User <random@example.org>
86 4 Elena Grandi
sub   rsa4096 2016-10-19 [E]
87 4 Elena Grandi
</pre>
88 4 Elena Grandi
89 2 Elena Grandi
h2. creazione delle sottochiavi
90 2 Elena Grandi
91 5 Elena Grandi
Questo è il punto in cui è particolarmente importante l'uso di GnuPG 2.1, che rende molto più semplice la creazione di una chiave per l'autenticazione.
92 5 Elena Grandi
93 5 Elena Grandi
Molte delle OpenPGP Card disponibili sul mercato supportano chiavi al massimo a 2048 bit: questo non è un grosso problema dato che al momento sono considerate ancora ragionevolmente sicure, ed una loro eventuale sostituzione in futuro non è particolarmente onerosa (oltre ovviamente alla necessità di usare una Card o un dispositivo diverso).
94 5 Elena Grandi
95 5 Elena Grandi
Per generare le sottochiavi necessarie, si entra in modalità di modifica con l'opzione @--expert@ che abilita la creazione di chiavi di autenticazione.
96 5 Elena Grandi
97 5 Elena Grandi
<pre>
98 5 Elena Grandi
$ gpg --expert --edit-key 3E0EE5BAC50DF7C1
99 5 Elena Grandi
gpg (GnuPG) 2.1.15; Copyright (C) 2016 Free Software Foundation, Inc.
100 5 Elena Grandi
This is free software: you are free to change and redistribute it.
101 5 Elena Grandi
There is NO WARRANTY, to the extent permitted by law.
102 5 Elena Grandi
103 5 Elena Grandi
Secret key is available.
104 5 Elena Grandi
105 5 Elena Grandi
sec  rsa4096/3E0EE5BAC50DF7C1
106 5 Elena Grandi
     created: 2016-10-19  expires: never       usage: SC  
107 5 Elena Grandi
     trust: ultimate      validity: ultimate
108 5 Elena Grandi
ssb  rsa4096/F303978FEBB6E995
109 5 Elena Grandi
     created: 2016-10-19  expires: never       usage: E   
110 5 Elena Grandi
[ultimate] (1). Random User <random@example.org>
111 5 Elena Grandi
</pre>
112 5 Elena Grandi
113 5 Elena Grandi
Quindi si crea prima una normale sottochiave di firma (opzione 4)
114 5 Elena Grandi
115 5 Elena Grandi
<pre>
116 5 Elena Grandi
gpg> addkey 
117 5 Elena Grandi
Please select what kind of key you want:
118 5 Elena Grandi
   (3) DSA (sign only)
119 5 Elena Grandi
   (4) RSA (sign only)
120 5 Elena Grandi
   (5) Elgamal (encrypt only)
121 5 Elena Grandi
   (6) RSA (encrypt only)
122 5 Elena Grandi
   (7) DSA (set your own capabilities)
123 5 Elena Grandi
   (8) RSA (set your own capabilities)
124 5 Elena Grandi
  (10) ECC (sign only)
125 5 Elena Grandi
  (11) ECC (set your own capabilities)
126 5 Elena Grandi
  (12) ECC (encrypt only)
127 5 Elena Grandi
  (13) Existing key
128 5 Elena Grandi
Your selection? 4
129 5 Elena Grandi
RSA keys may be between 1024 and 4096 bits long.
130 5 Elena Grandi
What keysize do you want? (2048) 
131 5 Elena Grandi
Requested keysize is 2048 bits
132 5 Elena Grandi
Please specify how long the key should be valid.
133 5 Elena Grandi
         0 = key does not expire
134 5 Elena Grandi
      <n>  = key expires in n days
135 5 Elena Grandi
      <n>w = key expires in n weeks
136 5 Elena Grandi
      <n>m = key expires in n months
137 5 Elena Grandi
      <n>y = key expires in n years
138 5 Elena Grandi
Key is valid for? (0) 1y
139 5 Elena Grandi
Key expires at Thu 19 Oct 2017 12:15:49 CEST
140 5 Elena Grandi
Is this correct? (y/N) y
141 5 Elena Grandi
Really create? (y/N) y
142 5 Elena Grandi
We need to generate a lot of random bytes. It is a good idea to perform
143 5 Elena Grandi
some other action (type on the keyboard, move the mouse, utilize the
144 5 Elena Grandi
disks) during the prime generation; this gives the random number
145 5 Elena Grandi
generator a better chance to gain enough entropy.
146 5 Elena Grandi
147 5 Elena Grandi
sec  rsa4096/3E0EE5BAC50DF7C1
148 5 Elena Grandi
     created: 2016-10-19  expires: never       usage: SC  
149 5 Elena Grandi
     trust: ultimate      validity: ultimate
150 5 Elena Grandi
ssb  rsa4096/F303978FEBB6E995
151 5 Elena Grandi
     created: 2016-10-19  expires: never       usage: E   
152 5 Elena Grandi
ssb  rsa2048/40A2ADF0FE9E4620
153 5 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: S   
154 5 Elena Grandi
[ultimate] (1). Random User <random@example.org>
155 5 Elena Grandi
156 5 Elena Grandi
</pre>
157 5 Elena Grandi
158 5 Elena Grandi
Una normale sottochiave per la crittografia (opzione 6)
159 5 Elena Grandi
160 5 Elena Grandi
<pre>
161 5 Elena Grandi
gpg> addkey 
162 5 Elena Grandi
Please select what kind of key you want:
163 5 Elena Grandi
   (3) DSA (sign only)
164 5 Elena Grandi
   (4) RSA (sign only)
165 5 Elena Grandi
   (5) Elgamal (encrypt only)
166 5 Elena Grandi
   (6) RSA (encrypt only)
167 5 Elena Grandi
   (7) DSA (set your own capabilities)
168 5 Elena Grandi
   (8) RSA (set your own capabilities)
169 5 Elena Grandi
  (10) ECC (sign only)
170 5 Elena Grandi
  (11) ECC (set your own capabilities)
171 5 Elena Grandi
  (12) ECC (encrypt only)
172 5 Elena Grandi
  (13) Existing key
173 5 Elena Grandi
Your selection? 6
174 5 Elena Grandi
RSA keys may be between 1024 and 4096 bits long.
175 5 Elena Grandi
What keysize do you want? (2048) 
176 5 Elena Grandi
Requested keysize is 2048 bits
177 5 Elena Grandi
Please specify how long the key should be valid.
178 5 Elena Grandi
         0 = key does not expire
179 5 Elena Grandi
      <n>  = key expires in n days
180 5 Elena Grandi
      <n>w = key expires in n weeks
181 5 Elena Grandi
      <n>m = key expires in n months
182 5 Elena Grandi
      <n>y = key expires in n years
183 5 Elena Grandi
Key is valid for? (0) 1y
184 5 Elena Grandi
Key expires at Thu 19 Oct 2017 12:18:16 CEST
185 5 Elena Grandi
Is this correct? (y/N) y
186 5 Elena Grandi
Really create? (y/N) y
187 5 Elena Grandi
We need to generate a lot of random bytes. It is a good idea to perform
188 5 Elena Grandi
some other action (type on the keyboard, move the mouse, utilize the
189 5 Elena Grandi
disks) during the prime generation; this gives the random number
190 5 Elena Grandi
generator a better chance to gain enough entropy.
191 5 Elena Grandi
192 5 Elena Grandi
sec  rsa4096/3E0EE5BAC50DF7C1
193 5 Elena Grandi
     created: 2016-10-19  expires: never       usage: SC  
194 5 Elena Grandi
     trust: ultimate      validity: ultimate
195 5 Elena Grandi
ssb  rsa4096/F303978FEBB6E995
196 5 Elena Grandi
     created: 2016-10-19  expires: never       usage: E   
197 5 Elena Grandi
ssb  rsa2048/40A2ADF0FE9E4620
198 5 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: S   
199 5 Elena Grandi
ssb  rsa2048/ED9BBD7B3BFF900F
200 5 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: E   
201 5 Elena Grandi
[ultimate] (1). Random User <random@example.org>
202 5 Elena Grandi
</pre>
203 5 Elena Grandi
204 5 Elena Grandi
Ed infine una sottochiave per l'autenticazione, selezionando l'opzione 8, togliendo le capacità di firma e crittografia e mettendo quella di autenticazione.
205 5 Elena Grandi
206 5 Elena Grandi
<pre>
207 5 Elena Grandi
gpg> addkey 
208 5 Elena Grandi
Please select what kind of key you want:
209 5 Elena Grandi
   (3) DSA (sign only)
210 5 Elena Grandi
   (4) RSA (sign only)
211 5 Elena Grandi
   (5) Elgamal (encrypt only)
212 5 Elena Grandi
   (6) RSA (encrypt only)
213 5 Elena Grandi
   (7) DSA (set your own capabilities)
214 5 Elena Grandi
   (8) RSA (set your own capabilities)
215 5 Elena Grandi
  (10) ECC (sign only)
216 5 Elena Grandi
  (11) ECC (set your own capabilities)
217 5 Elena Grandi
  (12) ECC (encrypt only)
218 5 Elena Grandi
  (13) Existing key
219 5 Elena Grandi
Your selection? 8
220 5 Elena Grandi
221 5 Elena Grandi
Possible actions for a RSA key: Sign Encrypt Authenticate 
222 5 Elena Grandi
Current allowed actions: Sign Encrypt 
223 5 Elena Grandi
224 5 Elena Grandi
   (S) Toggle the sign capability
225 5 Elena Grandi
   (E) Toggle the encrypt capability
226 5 Elena Grandi
   (A) Toggle the authenticate capability
227 5 Elena Grandi
   (Q) Finished
228 5 Elena Grandi
229 5 Elena Grandi
Your selection? s
230 5 Elena Grandi
231 5 Elena Grandi
Possible actions for a RSA key: Sign Encrypt Authenticate 
232 5 Elena Grandi
Current allowed actions: Encrypt 
233 5 Elena Grandi
234 5 Elena Grandi
   (S) Toggle the sign capability
235 5 Elena Grandi
   (E) Toggle the encrypt capability
236 5 Elena Grandi
   (A) Toggle the authenticate capability
237 5 Elena Grandi
   (Q) Finished
238 5 Elena Grandi
239 5 Elena Grandi
Your selection? e
240 5 Elena Grandi
241 5 Elena Grandi
Possible actions for a RSA key: Sign Encrypt Authenticate 
242 5 Elena Grandi
Current allowed actions: 
243 5 Elena Grandi
244 5 Elena Grandi
   (S) Toggle the sign capability
245 5 Elena Grandi
   (E) Toggle the encrypt capability
246 5 Elena Grandi
   (A) Toggle the authenticate capability
247 5 Elena Grandi
   (Q) Finished
248 5 Elena Grandi
249 5 Elena Grandi
Your selection? a
250 5 Elena Grandi
251 5 Elena Grandi
Possible actions for a RSA key: Sign Encrypt Authenticate 
252 5 Elena Grandi
Current allowed actions: Authenticate 
253 5 Elena Grandi
254 5 Elena Grandi
   (S) Toggle the sign capability
255 5 Elena Grandi
   (E) Toggle the encrypt capability
256 5 Elena Grandi
   (A) Toggle the authenticate capability
257 5 Elena Grandi
   (Q) Finished
258 5 Elena Grandi
259 5 Elena Grandi
Your selection? q
260 5 Elena Grandi
RSA keys may be between 1024 and 4096 bits long.
261 5 Elena Grandi
What keysize do you want? (2048) 
262 5 Elena Grandi
Requested keysize is 2048 bits
263 5 Elena Grandi
Please specify how long the key should be valid.
264 5 Elena Grandi
         0 = key does not expire
265 5 Elena Grandi
      <n>  = key expires in n days
266 5 Elena Grandi
      <n>w = key expires in n weeks
267 5 Elena Grandi
      <n>m = key expires in n months
268 5 Elena Grandi
      <n>y = key expires in n years
269 5 Elena Grandi
Key is valid for? (0) 1y
270 5 Elena Grandi
Key expires at Thu 19 Oct 2017 12:24:56 CEST
271 5 Elena Grandi
Is this correct? (y/N) y
272 5 Elena Grandi
Really create? (y/N) y
273 5 Elena Grandi
We need to generate a lot of random bytes. It is a good idea to perform
274 5 Elena Grandi
some other action (type on the keyboard, move the mouse, utilize the
275 5 Elena Grandi
disks) during the prime generation; this gives the random number
276 5 Elena Grandi
generator a better chance to gain enough entropy.
277 5 Elena Grandi
278 5 Elena Grandi
sec  rsa4096/3E0EE5BAC50DF7C1
279 5 Elena Grandi
     created: 2016-10-19  expires: never       usage: SC  
280 5 Elena Grandi
     trust: ultimate      validity: ultimate
281 5 Elena Grandi
ssb  rsa4096/F303978FEBB6E995
282 5 Elena Grandi
     created: 2016-10-19  expires: never       usage: E   
283 5 Elena Grandi
ssb  rsa2048/40A2ADF0FE9E4620
284 5 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: S   
285 5 Elena Grandi
ssb  rsa2048/ED9BBD7B3BFF900F
286 5 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: E   
287 5 Elena Grandi
ssb  rsa2048/5F89B668295AE797
288 5 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: A   
289 5 Elena Grandi
[ultimate] (1). Random User <random@example.org>
290 5 Elena Grandi
</pre>
291 5 Elena Grandi
292 5 Elena Grandi
Si può quindi uscire dalla modalità di modifica chiave, salvando le modifiche.
293 5 Elena Grandi
294 5 Elena Grandi
<pre>
295 5 Elena Grandi
gpg> save
296 5 Elena Grandi
</pre>
297 5 Elena Grandi
298 7 Elena Grandi
h2. salvataggio su supporto esterno
299 7 Elena Grandi
300 8 Elena Grandi
A questo punto la chiave è ancora gestita nel modo tradizionale, su hard disk. Questo è il momento di salvarne un backup e di farne una copia su chiavetta USB da usare in futuro per le modifiche della chiave.
301 8 Elena Grandi
302 9 Elena Grandi
Per il backup ci sono vari metodi, da una semplice e poco efficiente copia di tutta la @~/.gnupg@ su un ulteriore supporto all'uso di "paperkey":http://www.jabberwocky.com/software/paperkey/ per salvare una copia su carta; l'importante è che venga fatto e custodito in un luogo sicuro, anche se magari remoto (cassetta di sicurezza).
303 8 Elena Grandi
304 9 Elena Grandi
Per avere una copia della chiave principale da usare sporadicamente, invece, è necessario copiare l'intera @~/.gnupg@ su una chiavetta USB o simili; una volta fatta la copia verificare che contenga quanto dovuto con 
305 9 Elena Grandi
306 9 Elena Grandi
<pre>
307 9 Elena Grandi
$ gpg --homedir indirizzo/della/chiavetta/gnupg --list-secret-keys
308 9 Elena Grandi
indirizzo/della/chiavetta/gnupg
309 9 Elena Grandi
pubring.gpg
310 9 Elena Grandi
---------------------------------
311 9 Elena Grandi
sec   rsa4096 2016-10-19 [SC]
312 9 Elena Grandi
      19DB75A75734ABBEDB1124163E0EE5BAC50DF7C1
313 9 Elena Grandi
uid           [ultimate] Random User <random@example.org>
314 9 Elena Grandi
ssb   rsa4096 2016-10-19 [E]
315 9 Elena Grandi
ssb   rsa2048 2016-10-19 [S] [expires: 2017-10-19]
316 9 Elena Grandi
ssb   rsa2048 2016-10-19 [E] [expires: 2017-10-19]
317 9 Elena Grandi
ssb   rsa2048 2016-10-19 [A] [expires: 2017-10-19]
318 9 Elena Grandi
</pre>
319 9 Elena Grandi
320 9 Elena Grandi
smontare la chiavetta e riporla in un luogo sicuro; la si userà nuovamente quando sarà necessario cambiare le date di scadenza delle sottochiavi, oppure firmare chiavi di altre persone, per la Web of Trust.
321 8 Elena Grandi
322 2 Elena Grandi
h2. spostamento delle chiavi sulla Card
323 2 Elena Grandi
324 10 Elena Grandi
Per il prossimo passaggio è estremamente importante assicurarsi di aver fatto le copie delle chiavi e sottochiavi private: in questo passaggio verranno trasferite sulla Card, dalla quale non possono più essere estratte, e cancellate dal disco.
325 10 Elena Grandi
326 10 Elena Grandi
Collegare il lettore al computer, inserire la Card e controllare che venga correttamente riconosciuta:
327 10 Elena Grandi
328 10 Elena Grandi
<pre>
329 10 Elena Grandi
$ gpg --card-status 
330 10 Elena Grandi
Reader ...........: ####
331 10 Elena Grandi
Application ID ...: ####
332 10 Elena Grandi
Version ..........: 2.0
333 10 Elena Grandi
Manufacturer .....: ####
334 10 Elena Grandi
Serial number ....: ####
335 10 Elena Grandi
Name of cardholder: [not set]
336 10 Elena Grandi
Language prefs ...: [not set]
337 10 Elena Grandi
Sex ..............: unspecified
338 10 Elena Grandi
URL of public key : [not set]
339 10 Elena Grandi
Login data .......: [not set]
340 10 Elena Grandi
Signature PIN ....: forced
341 10 Elena Grandi
Key attributes ...: rsa2048 rsa2048 rsa2048
342 10 Elena Grandi
Max. PIN lengths .: 127 127 127
343 10 Elena Grandi
PIN retry counter : 3 3 3
344 10 Elena Grandi
Signature counter : 0
345 10 Elena Grandi
Signature key ....: [none]
346 10 Elena Grandi
Encryption key....: [none]
347 10 Elena Grandi
Authentication key: [none]
348 10 Elena Grandi
General key info..: [none]
349 10 Elena Grandi
</pre>
350 10 Elena Grandi
351 10 Elena Grandi
Si può quindi passare a spostare le varie sottochiavi sulla Card, aprendo la modalità di editing della chiave:
352 10 Elena Grandi
353 10 Elena Grandi
<pre>
354 10 Elena Grandi
$ gpg --edit-key 3E0EE5BAC50DF7C1
355 10 Elena Grandi
gpg (GnuPG) 2.1.15; Copyright (C) 2016 Free Software Foundation, Inc.
356 10 Elena Grandi
This is free software: you are free to change and redistribute it.
357 10 Elena Grandi
There is NO WARRANTY, to the extent permitted by law.
358 10 Elena Grandi
359 10 Elena Grandi
Secret key is available.
360 10 Elena Grandi
361 10 Elena Grandi
sec  rsa4096/3E0EE5BAC50DF7C1
362 10 Elena Grandi
     created: 2016-10-19  expires: never       usage: SC  
363 10 Elena Grandi
     trust: ultimate      validity: ultimate
364 10 Elena Grandi
ssb  rsa4096/F303978FEBB6E995
365 10 Elena Grandi
     created: 2016-10-19  expires: never       usage: E   
366 10 Elena Grandi
ssb  rsa2048/40A2ADF0FE9E4620
367 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: S   
368 10 Elena Grandi
ssb  rsa2048/ED9BBD7B3BFF900F
369 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: E   
370 10 Elena Grandi
ssb  rsa2048/5F89B668295AE797
371 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: A   
372 10 Elena Grandi
[ultimate] (1). Random User <random@example.org>
373 10 Elena Grandi
</pre>
374 10 Elena Grandi
375 10 Elena Grandi
passando alla modalità di modifica delle chiavi private
376 10 Elena Grandi
377 10 Elena Grandi
<pre>
378 10 Elena Grandi
gpg> toggle
379 10 Elena Grandi
380 10 Elena Grandi
sec  rsa4096/3E0EE5BAC50DF7C1
381 10 Elena Grandi
     created: 2016-10-19  expires: never       usage: SC  
382 10 Elena Grandi
     trust: ultimate      validity: ultimate
383 10 Elena Grandi
ssb  rsa4096/F303978FEBB6E995
384 10 Elena Grandi
     created: 2016-10-19  expires: never       usage: E   
385 10 Elena Grandi
ssb  rsa2048/40A2ADF0FE9E4620
386 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: S   
387 10 Elena Grandi
ssb  rsa2048/ED9BBD7B3BFF900F
388 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: E   
389 10 Elena Grandi
ssb  rsa2048/5F89B668295AE797
390 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: A   
391 10 Elena Grandi
[ultimate] (1). Random User <random@example.org>
392 10 Elena Grandi
</pre>
393 10 Elena Grandi
394 10 Elena Grandi
e trasferendo una ad una le sottochiavi sulla Card; firma:
395 10 Elena Grandi
396 10 Elena Grandi
<pre>
397 10 Elena Grandi
gpg> key 2
398 10 Elena Grandi
399 10 Elena Grandi
sec  rsa4096/3E0EE5BAC50DF7C1
400 10 Elena Grandi
     created: 2016-10-19  expires: never       usage: SC  
401 10 Elena Grandi
     trust: ultimate      validity: ultimate
402 10 Elena Grandi
ssb  rsa4096/F303978FEBB6E995
403 10 Elena Grandi
     created: 2016-10-19  expires: never       usage: E   
404 10 Elena Grandi
ssb* rsa2048/40A2ADF0FE9E4620
405 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: S   
406 10 Elena Grandi
ssb  rsa2048/ED9BBD7B3BFF900F
407 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: E   
408 10 Elena Grandi
ssb  rsa2048/5F89B668295AE797
409 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: A   
410 10 Elena Grandi
[ultimate] (1). Random User <random@example.org>
411 10 Elena Grandi
412 10 Elena Grandi
gpg> keytocard
413 10 Elena Grandi
Please select where to store the key:
414 10 Elena Grandi
   (1) Signature key
415 10 Elena Grandi
   (3) Authentication key
416 10 Elena Grandi
Your selection? 1
417 10 Elena Grandi
gpg: KEYTOCARD failed: Bad PIN
418 10 Elena Grandi
419 10 Elena Grandi
gpg> keytocard
420 10 Elena Grandi
Please select where to store the key:
421 10 Elena Grandi
   (1) Signature key
422 10 Elena Grandi
   (3) Authentication key
423 10 Elena Grandi
Your selection? 1
424 10 Elena Grandi
425 10 Elena Grandi
sec  rsa4096/3E0EE5BAC50DF7C1
426 10 Elena Grandi
     created: 2016-10-19  expires: never       usage: SC  
427 10 Elena Grandi
     trust: ultimate      validity: ultimate
428 10 Elena Grandi
ssb  rsa4096/F303978FEBB6E995
429 10 Elena Grandi
     created: 2016-10-19  expires: never       usage: E   
430 10 Elena Grandi
ssb* rsa2048/40A2ADF0FE9E4620
431 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: S   
432 10 Elena Grandi
ssb  rsa2048/ED9BBD7B3BFF900F
433 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: E   
434 10 Elena Grandi
ssb  rsa2048/5F89B668295AE797
435 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: A   
436 10 Elena Grandi
[ultimate] (1). Random User <random@example.org>
437 10 Elena Grandi
</pre>
438 10 Elena Grandi
439 10 Elena Grandi
crittografia:
440 10 Elena Grandi
441 10 Elena Grandi
<pre>
442 10 Elena Grandi
gpg> key 2
443 10 Elena Grandi
444 10 Elena Grandi
sec  rsa4096/3E0EE5BAC50DF7C1
445 10 Elena Grandi
     created: 2016-10-19  expires: never       usage: SC  
446 10 Elena Grandi
     trust: ultimate      validity: ultimate
447 10 Elena Grandi
ssb  rsa4096/F303978FEBB6E995
448 10 Elena Grandi
     created: 2016-10-19  expires: never       usage: E   
449 10 Elena Grandi
ssb  rsa2048/40A2ADF0FE9E4620
450 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: S   
451 10 Elena Grandi
ssb  rsa2048/ED9BBD7B3BFF900F
452 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: E   
453 10 Elena Grandi
ssb  rsa2048/5F89B668295AE797
454 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: A   
455 10 Elena Grandi
[ultimate] (1). Random User <random@example.org>
456 10 Elena Grandi
457 10 Elena Grandi
gpg> key 3
458 10 Elena Grandi
459 10 Elena Grandi
sec  rsa4096/3E0EE5BAC50DF7C1
460 10 Elena Grandi
     created: 2016-10-19  expires: never       usage: SC  
461 10 Elena Grandi
     trust: ultimate      validity: ultimate
462 10 Elena Grandi
ssb  rsa4096/F303978FEBB6E995
463 10 Elena Grandi
     created: 2016-10-19  expires: never       usage: E   
464 10 Elena Grandi
ssb  rsa2048/40A2ADF0FE9E4620
465 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: S   
466 10 Elena Grandi
ssb* rsa2048/ED9BBD7B3BFF900F
467 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: E   
468 10 Elena Grandi
ssb  rsa2048/5F89B668295AE797
469 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: A   
470 10 Elena Grandi
[ultimate] (1). Random User <random@example.org>
471 10 Elena Grandi
472 10 Elena Grandi
gpg> keytocard
473 10 Elena Grandi
Please select where to store the key:
474 10 Elena Grandi
   (2) Encryption key
475 10 Elena Grandi
Your selection? 2
476 10 Elena Grandi
477 10 Elena Grandi
sec  rsa4096/3E0EE5BAC50DF7C1
478 10 Elena Grandi
     created: 2016-10-19  expires: never       usage: SC  
479 10 Elena Grandi
     trust: ultimate      validity: ultimate
480 10 Elena Grandi
ssb  rsa4096/F303978FEBB6E995
481 10 Elena Grandi
     created: 2016-10-19  expires: never       usage: E   
482 10 Elena Grandi
ssb  rsa2048/40A2ADF0FE9E4620
483 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: S   
484 10 Elena Grandi
ssb* rsa2048/ED9BBD7B3BFF900F
485 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: E   
486 10 Elena Grandi
ssb  rsa2048/5F89B668295AE797
487 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: A   
488 10 Elena Grandi
[ultimate] (1). Random User <random@example.org>
489 10 Elena Grandi
</pre>
490 10 Elena Grandi
491 10 Elena Grandi
autenticazione:
492 10 Elena Grandi
493 10 Elena Grandi
<pre>
494 10 Elena Grandi
gpg> key 3
495 10 Elena Grandi
496 10 Elena Grandi
sec  rsa4096/3E0EE5BAC50DF7C1
497 10 Elena Grandi
     created: 2016-10-19  expires: never       usage: SC  
498 10 Elena Grandi
     trust: ultimate      validity: ultimate
499 10 Elena Grandi
ssb  rsa4096/F303978FEBB6E995
500 10 Elena Grandi
     created: 2016-10-19  expires: never       usage: E   
501 10 Elena Grandi
ssb  rsa2048/40A2ADF0FE9E4620
502 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: S   
503 10 Elena Grandi
ssb  rsa2048/ED9BBD7B3BFF900F
504 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: E   
505 10 Elena Grandi
ssb  rsa2048/5F89B668295AE797
506 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: A   
507 10 Elena Grandi
[ultimate] (1). Random User <random@example.org>
508 10 Elena Grandi
509 10 Elena Grandi
gpg> key 4
510 10 Elena Grandi
511 10 Elena Grandi
sec  rsa4096/3E0EE5BAC50DF7C1
512 10 Elena Grandi
     created: 2016-10-19  expires: never       usage: SC  
513 10 Elena Grandi
     trust: ultimate      validity: ultimate
514 10 Elena Grandi
ssb  rsa4096/F303978FEBB6E995
515 10 Elena Grandi
     created: 2016-10-19  expires: never       usage: E   
516 10 Elena Grandi
ssb  rsa2048/40A2ADF0FE9E4620
517 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: S   
518 10 Elena Grandi
ssb  rsa2048/ED9BBD7B3BFF900F
519 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: E   
520 10 Elena Grandi
ssb* rsa2048/5F89B668295AE797
521 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: A   
522 10 Elena Grandi
[ultimate] (1). Random User <random@example.org>
523 10 Elena Grandi
524 10 Elena Grandi
gpg> keytocard
525 10 Elena Grandi
Please select where to store the key:
526 10 Elena Grandi
   (3) Authentication key
527 10 Elena Grandi
Your selection? 3
528 10 Elena Grandi
529 10 Elena Grandi
sec  rsa4096/3E0EE5BAC50DF7C1
530 10 Elena Grandi
     created: 2016-10-19  expires: never       usage: SC  
531 10 Elena Grandi
     trust: ultimate      validity: ultimate
532 10 Elena Grandi
ssb  rsa4096/F303978FEBB6E995
533 10 Elena Grandi
     created: 2016-10-19  expires: never       usage: E   
534 10 Elena Grandi
ssb  rsa2048/40A2ADF0FE9E4620
535 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: S   
536 10 Elena Grandi
ssb  rsa2048/ED9BBD7B3BFF900F
537 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: E   
538 10 Elena Grandi
ssb* rsa2048/5F89B668295AE797
539 10 Elena Grandi
     created: 2016-10-19  expires: 2017-10-19  usage: A   
540 10 Elena Grandi
[ultimate] (1). Random User <random@example.org>
541 10 Elena Grandi
</pre>
542 10 Elena Grandi
543 11 Elena Grandi
Uscire salvando:
544 11 Elena Grandi
545 11 Elena Grandi
<pre>
546 11 Elena Grandi
gpg> save
547 11 Elena Grandi
</pre>
548 11 Elena Grandi
549 11 Elena Grandi
e a questo punto si può controllare che le sottochiavi sono sulla Card:
550 11 Elena Grandi
551 11 Elena Grandi
<pre>
552 11 Elena Grandi
$ gpg --card-status 
553 11 Elena Grandi
554 11 Elena Grandi
Reader ...........: ####
555 11 Elena Grandi
Application ID ...: ####
556 11 Elena Grandi
Version ..........: 2.0
557 11 Elena Grandi
Manufacturer .....: ####
558 11 Elena Grandi
Serial number ....: ####
559 11 Elena Grandi
Name of cardholder: [not set]
560 11 Elena Grandi
Language prefs ...: [not set]
561 11 Elena Grandi
Sex ..............: unspecified
562 11 Elena Grandi
URL of public key : [not set]
563 11 Elena Grandi
Login data .......: [not set]
564 11 Elena Grandi
Signature PIN ....: forced
565 11 Elena Grandi
Key attributes ...: rsa2048 rsa2048 rsa2048
566 11 Elena Grandi
Max. PIN lengths .: 127 127 127
567 11 Elena Grandi
PIN retry counter : 3 3 3
568 11 Elena Grandi
Signature counter : 0
569 11 Elena Grandi
Signature key ....: 2128 412C BC75 34F5 6305  9447 40A2 ADF0 FE9E 4620
570 11 Elena Grandi
      created ....: 2016-10-19 10:15:26
571 11 Elena Grandi
Encryption key....: 0B24 9C62 4A7D 19FE 7AB9  DCB3 ED9B BD7B 3BFF 900F
572 11 Elena Grandi
      created ....: 2016-10-19 10:17:57
573 11 Elena Grandi
Authentication key: 40E1 AE4A 7C13 FD8C C6EA  2C56 5F89 B668 295A E797
574 11 Elena Grandi
      created ....: 2016-10-19 10:24:14
575 11 Elena Grandi
General key info..: sub  rsa2048/40A2ADF0FE9E4620 2016-10-19 Random User <random@example.org>
576 11 Elena Grandi
sec   rsa4096/3E0EE5BAC50DF7C1  created: 2016-10-19  expires: never     
577 11 Elena Grandi
ssb   rsa4096/F303978FEBB6E995  created: 2016-10-19  expires: never     
578 11 Elena Grandi
ssb>  rsa2048/40A2ADF0FE9E4620  created: 2016-10-19  expires: 2017-10-19
579 11 Elena Grandi
                                card-no: ####
580 11 Elena Grandi
ssb>  rsa2048/ED9BBD7B3BFF900F  created: 2016-10-19  expires: 2017-10-19
581 11 Elena Grandi
                                card-no: ####
582 11 Elena Grandi
ssb>  rsa2048/5F89B668295AE797  created: 2016-10-19  expires: 2017-10-19
583 11 Elena Grandi
                                card-no: ####
584 11 Elena Grandi
</pre>
585 11 Elena Grandi
586 11 Elena Grandi
e non sono più presenti sul disco
587 11 Elena Grandi
588 11 Elena Grandi
<pre>
589 11 Elena Grandi
$ gpg --list-secret-keys 
590 11 Elena Grandi
/home/random/.gnupg/pubring.gpg
591 11 Elena Grandi
---------------------------------
592 11 Elena Grandi
sec   rsa4096 2016-10-19 [SC]
593 11 Elena Grandi
      19DB75A75734ABBEDB1124163E0EE5BAC50DF7C1
594 11 Elena Grandi
uid           [ultimate] Random User <random@example.org>
595 11 Elena Grandi
ssb   rsa4096 2016-10-19 [E]
596 11 Elena Grandi
ssb>  rsa2048 2016-10-19 [S] [expires: 2017-10-19]
597 11 Elena Grandi
ssb>  rsa2048 2016-10-19 [E] [expires: 2017-10-19]
598 11 Elena Grandi
ssb>  rsa2048 2016-10-19 [A] [expires: 2017-10-19]
599 11 Elena Grandi
</pre>
600 11 Elena Grandi
601 11 Elena Grandi
è però ancora presente la chiave principale.
602 10 Elena Grandi
603 2 Elena Grandi
h2. configurazione di ssh
604 6 Elena Grandi
605 6 Elena Grandi
h2. configurazione su una nuova macchina
606 6 Elena Grandi
607 6 Elena Grandi
h2. configurazione su una nuova macchina, con versioni precedenti di gpg