Generarea de chei OpenPGP pe dispozitiv

Următoarele instrucțiuni explică generarea cheilor OpenPGP direct pe Nitrokey. Acest lucru se face prin utilizarea interfeței de linie de comandă a GnuPG. Prin urmare, trebuie să aveți GnuPG instalat pe sistemul dumneavoastră. Cea mai nouă versiune GnuPG pentru Windows poate fi găsită aici, iar cea mai nouă versiune pentru MacOS poate fi găsită aici. Utilizatorii de sisteme Linux sunt rugați să instaleze GnuPG cu ajutorul managerului de pachete.

Notă

These instructions are based on GnuPG version 2.2.6 or higher. Some Linux Distributions have an older version installed. In this case please choose a different method as listed here or install a newer version if possible.

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.

To open the Windows command line please push the Windows-key and R-key. Now type ‘cmd.exe’ in the text field and hit enter. To open a Terminal on macOS or GNU/Linux please use the application search (e.g. spotlight on 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.

Another possibility is to change the URL setting on your card. Start gpg –card-edit again and first set the URL where the key is situated (e.g. on the keyserver or on your webpage etc.) via the url command. From now on you can import the key on another system by just using the fetch command within the gpg --card-edit environment.