Generarea de chei OpenPGP pe dispozitiv#

(Nitrokey Storage 2 - Linux)

The following instructions explain the generation of OpenPGP keys directly on the Nitrokey. This is done by using the command line interface of GnuPG. Thus, you need to have GnuPG installed on your system. The newest GnuPG version for Windows can be found here and the newest version for MacOS can be found here. Users of Linux systems please install GnuPG with help of the package manager.

Notă

Aceste instrucțiuni se bazează pe GnuPG versiunea 2.2.6 sau o versiune mai recentă. Unele distribuții Linux au instalată o versiune mai veche. În acest caz, vă rugăm să alegeți o metodă diferită, așa cum este listată ` aici <openpgp.html>`_ sau să instalați o versiune mai nouă, dacă este posibil.

Generarea cheilor#

Următoarele descrieri explică generarea de bază a cheilor pe dispozitiv prin intermediul interfeței de linie de comandă a GnuPG. Comportamentul implicit este de a genera chei RSA de 2048 biți. Dacă doriți să modificați algoritmul și lungimea cheii, consultați mai întâi secțiunea următoare.

Deschideți o linie de comandă și tastați gpg2 --card-edit`.

Pentru a deschide linia de comandă Windows, apăsați tasta Windows și tasta R. Acum tastați „cmd.exe” în câmpul de text și apăsați enter. Pentru a deschide un terminal pe macOS sau GNU/Linux, vă rugăm să folosiți funcția de căutare a aplicației (de exemplu, spotlight pe macOS).

> gpg2 --card-edit

Reader ...........: 20A0:4108:0000320E0000000000000000:0
Application ID ...: D27600012401020100050000320E0000
Version ..........: 2.1
Manufacturer .....: ZeitControl
Serial number ....: 0000320E
Name of cardholder: [not set]
Language prefs ...: de
Sex ..............: unspecified
URL of public key : [not set]
Login data .......: [not set]
Signature PIN ....: forced
Key attributes ...: rsa2048 rsa2048 rsa2048
Max. PIN lengths .: 32 32 32
PIN retry counter : 3 0 3
Signature counter : 0
Signature key ....: [none]
Encryption key....: [none]
Authentication key: [none]
General key info..: [none]

gpg/card>

Acum vă aflați în interfața interactivă a GnuPG. Activați comenzile de administrare cu admin și folosiți generate după aceea pentru a începe generarea cheilor.

gpg/card> admin
Admin commands are allowed

gpg/card> generate
Make off-card backup of encryption key? (Y/n) n

Please note that the factory settings of the PINs are
   PIN = '123456'     Admin PIN = '12345678'
You should change them using the command --change-pin

Please specify how long the key should be valid.
         0 = key does not expire
      <n>  = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years
Key is valid for? (0)
Key does not expire at all
Is this correct? (y/N) y

GnuPG needs to construct a user ID to identify your key.

Real name: Jane Doe
Email address: jane@example.com
Comment:
You selected this USER-ID:
"Jane Doe <jane@doecom>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
gpg: key 817E149CA002B92F marked as ultimately trusted
gpg: revocation certificate stored as '/home/nitrokey//.gnupg/openpgp-revocs.d/E62F445E8BB4B5085C031F5381
7E149CA002B92F.rev'
public and secret key created and signed.


gpg/card>
</jane@doe.com></n></n></n></n>

Vă rugăm să nu creați copia de rezervă sugerată în afara cardului. Această „copie de rezervă” salvează doar cheia de criptare, dar nu și cheile de semnătură și de autentificare. În caz de pierdere a dispozitivului, nu veți putea restaura întregul set de chei. Deci, pe de o parte, nu este o copie de rezervă completă (utilizați în schimb aceste instrucțiuni, dacă aveți nevoie de una), iar pe de altă parte riscați ca altcineva să intre în posesia cheii dvs. de criptare. Avantajul generării cheilor pe dispozitiv este acela de a vă asigura că cheile sunt stocate în siguranță. Prin urmare, vă recomandăm să săriți peste această jumătate de copie de rezervă.

Acum aveți un set complet de chei pe dispozitivul dvs. care poate fi utilizat pentru diversele aplicații enumerate pe site-ul nostru. Tastați quit și apăsați enter pentru a ieși.

Schimbarea atributelor cheie#

Această secțiune se referă la modificarea atributelor cheie. Dacă doriți să utilizați valorile implicite, puteți trece la secțiunea următoare.

Deschideți o linie de comandă și tastați gpg2 --card-edit --expert`.

> gpg2 --card-edit --expert

Reader ...........: 20A0:4108:0000320E0000000000000000:0
Application ID ...: D27600012401020100050000320E0000
Version ..........: 2.1
Manufacturer .....: ZeitControl
Serial number ....: 0000320E
Name of cardholder: [not set]
Language prefs ...: de
Sex ..............: unspecified
URL of public key : [not set]
Login data .......: [not set]
Signature PIN ....: forced
Key attributes ...: rsa2048 rsa2048 rsa2048
Max. PIN lengths .: 32 32 32
PIN retry counter : 3 0 3
Signature counter : 0
Signature key ....: [none]
Encryption key....: [none]
Authentication key: [none]
General key info..: [none]

Acum vă aflați în interfața interactivă a GnuPG. După cum puteți vedea în câmpul „Atributele cheii” de mai sus, este setată valoarea implicită rsa2048. Pentru a le modifica, activați comenzile de administrare cu admin și utilizați key-attr după aceea pentru a modifica atributele cheilor.

gpg/card> admin
Admin commands are allowed

gpg/card> key-attr
Changing card key attribute for: Signature key
Please select what kind of key you want:
&nbsp;&nbsp; (1) RSA
&nbsp;&nbsp; (2) ECC
Your selection? 1
What keysize do you want? (2048) 4096
The card will now be re-configured to generate a key of 4096 bits
Changing card key attribute for: Encryption key
Please select what kind of key you want:
&nbsp;&nbsp; (1) RSA
&nbsp;&nbsp; (2) ECC
Your selection? 1
What keysize do you want? (2048) 4096
The card will now be re-configured to generate a key of 4096 bits
Changing card key attribute for: Authentication key
Please select what kind of key you want:
&nbsp;&nbsp; (1) RSA
&nbsp;&nbsp; (2) ECC
Your selection? 1
What keysize do you want? (2048) 4096
The card will now be re-configured to generate a key of 4096 bits

Puteți alege atributul pentru fiecare cheie (adică semnătură, criptare și cheie de autentificare). Majoritatea oamenilor vor folosi aceleași atribute pentru fiecare cheie. Tastați list pentru a vedea rezultatele (uitați-vă la câmpul „Key attributes” (Atributele cheii), care acum arată rsa4096).

gpg/card> list

Reader ...........: 20A0:4108:0000320E0000000000000000:0
Application ID ...: D27600012401020100050000320E0000
Version ..........: 2.1
Manufacturer .....: ZeitControl
Serial number ....: 0000320E
Name of cardholder: [not set]
Language prefs ...: de
Sex ..............: unspecified
URL of public key : [not set]
Login data .......: [not set]
Signature PIN ....: forced
Key attributes ...: rsa4096 rsa4096 rsa4096
Max. PIN lengths .: 32 32 32
PIN retry counter : 3 0 3
Signature counter : 0
Signature key ....: [none]
Encryption key....: [none]
Authentication key: [none]
General key info..: [none]

Tastați quit și apăsați enter pentru a ieși sau continuați direct cu secțiunea anterioară pentru a genera efectiv cheile cu atributele de cheie pe care tocmai le-ați setat.

Tabelul următor ilustrează ce algoritm poate fi utilizat pe fiecare dispozitiv.

Start

Pro + Stocare

Pro 2 + Storage 2

rsa1024

rsa2048

rsa3072

rsa4096

curve25519 (ECC)

NIST (ECC)

Brainpool (ECC)

secp256k1

Exportarea cheii publice și utilizarea serverului de chei#

Deși puteți începe să utilizați Nitrokey imediat după ce ați generat cheile pe sistemul dumneavoastră, trebuie să importați cheia publică pe fiecare sistem pe care doriți să utilizați Nitrokey. Așadar, pentru a fi pregătit, aveți două opțiuni: Fie salvați cheia publică oriunde doriți și o utilizați pe un alt sistem, fie salvați cheia publică pe o pagină web/server de chei.

Generarea unui fișier cu cheie publică#

Pentru a obține un fișier simplu cu cheia dvs. publică, puteți folosi gpg2 --armor --export keyID > pubkey.asc`. Utilizați fie amprenta digitală ca „keyID” (uitați-vă la gpg -K pentru a o obține), fie folosiți pur și simplu adresa dvs. de e-mail ca identificator.

Puteți purta acest fișier cu dumneavoastră sau îl puteți trimite oricui doriți. Acest fișier nu este deloc secret. Dacă doriți să utilizați Nitrokey pe un alt sistem, mai întâi importați această cheie publică prin gpg2 --import pubkey.asc și apoi tastați gpg2 --card-status astfel încât sistemul să știe unde să caute această cheie. Asta este tot.

Încărcarea cheii publice#

Dacă nu doriți să aveți la dumneavoastră un fișier de chei publice, îl puteți încărca pe keyserver. Puteți face acest lucru tastând gpg --keyserver search.keyserver.net --send-key keyID. Dacă folosiți o altă mașină, puteți pur și simplu să o importați folosind gpg --keyserver search.keyserver.net --recv-key keyID.

O altă posibilitate este să modificați setarea URL-ului de pe cardul dumneavoastră. Porniți din nou gpg -card-edit și setați mai întâi URL-ul unde se află cheia (de exemplu, pe serverul de chei sau pe pagina dvs. web etc.) prin intermediul comenzii url. De acum încolo puteți importa cheia pe un alt sistem folosind doar comanda fetch în cadrul mediului gpg --card-edit.