Generovanie kľúča OpenPGP v zariadení#
Nasledujúce pokyny vysvetľujú generovanie kľúčov OpenPGP priamo na Nitrokey. Toto sa vykonáva pomocou rozhrania príkazového riadka GnuPG. Preto je potrebné mať v systéme nainštalované GnuPG. Najnovšiu verziu GnuPG pre systém Windows nájdete tu a najnovšiu verziu pre systém MacOS nájdete tu. Používateľov systémov Linux prosíme, aby si GnuPG nainštalovali pomocou správcu balíkov.
Poznámka
Tieto pokyny sú založené na GnuPG verzie 2.2.6 alebo vyššej. Niektoré distribúcie Linuxu majú nainštalovanú staršiu verziu. V takom prípade zvoľte inú metódu, ako je uvedená ` tu <openpgp.html>`_ alebo si nainštalujte novšiu verziu, ak je to možné.
Generovanie kľúčov#
Nasledujúce popisy vysvetľujú základné generovanie kľúčov v zariadení prostredníctvom rozhrania príkazového riadka GnuPG. Predvolené správanie je generovanie kľúčov RSA s veľkosťou 2048 bitov. Ak chcete zmeniť algoritmus a dĺžku kľúča, pozrite si najprv nasledujúcu časť.
Otvorte príkazový riadok a zadajte 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>
Teraz ste v interaktívnom rozhraní GnuPG. Aktivujte príkazy administrátora pomocou admin
a potom použite generate
na spustenie generovania kľúčov.
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>
Nevytvárajte navrhovanú zálohu mimo karty. Táto „záloha“ ukladá iba šifrovací kľúč, ale nie podpisový a overovací kľúč. V prípade straty zariadenia nebudete môcť obnoviť celú sadu kľúčov. Na jednej strane teda nejde o úplnú zálohu (ak ju potrebujete, použite namiesto nej tento návod) a na druhej strane riskujete, že sa k vášmu šifrovaciemu kľúču môže dostať niekto iný. Výhodou generovania kľúčov v zariadení je zabezpečenie bezpečného uloženia kľúčov. Preto odporúčame túto polovičnú zálohu vynechať.
Teraz máte v zariadení kompletnú sadu kľúčov, ktorú môžete používať pre rôzne aplikácie uvedené na našej stránke. Zadajte quit
a stlačte kláves enter na ukončenie.
Zmena kľúčových atribútov#
Táto časť sa zaoberá zmenou kľúčových atribútov. Ak chcete použiť predvolené hodnoty, môžete pokračovať ďalšou časťou.
Otvorte príkazový riadok a zadajte 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]
Teraz ste v interaktívnom rozhraní GnuPG. Ako vidíte v poli „Key attributes“ (Atribúty kľúča) vyššie, je nastavená predvolená hodnota rsa2048. Ak ich chcete zmeniť, aktivujte príkazy administrátora pomocou admin
a potom použite key-attr
na zmenu atribútov kľúčov.
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:
(1) RSA
(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:
(1) RSA
(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:
(1) RSA
(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
Môžete si vybrať atribút pre každý kľúč (t. j. podpisový, šifrovací a overovací kľúč). Väčšina ľudí bude používať rovnaké atribúty pre každý kľúč. Zadajte list
a pozrite si výsledky (pozrite si pole „Atribúty kľúča“, ktoré teraz znie 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]
Zadajte quit
a stlačte enter na ukončenie alebo pokračujte priamo predchádzajúcou časťou na skutočné generovanie kľúčov s práve nastavenými atribútmi.
Nasledujúca tabuľka znázorňuje, ktorý algoritmus možno použiť na ktorom zariadení.
Štart |
Pro + Storage |
Pro 2 + úložisko 2 |
|
---|---|---|---|
rsa1024 |
✓ |
✓ |
|
rsa2048 |
✓ |
✓ |
✓ |
rsa3072 |
✓ |
✓ |
|
rsa4096 |
✓ |
✓ |
|
krivka25519 (ECC) |
✓ |
||
NIST (ECC) |
✓ |
✓ |
|
Brainpool (ECC) |
✓ |
||
secp256k1 |
✓ |
Exportovanie verejného kľúča a používanie servera Keyserver#
Hoci môžete začať používať svoj Nitrokey hneď po vygenerovaní kľúčov vo vašom systéme, musíte importovať svoj verejný kľúč do každého systému, v ktorom chcete Nitrokey používať. Aby ste boli pripravení, máte teda dve možnosti: Buď si verejný kľúč uložíte kdekoľvek a použijete ho v inom systéme, alebo si verejný kľúč uložíte na webovú stránku/keyserver.
Generovanie súboru verejného kľúča#
Ak chcete získať jednoduchý súbor svojho verejného kľúča, stačí použiť gpg2 --armor --export keyID > pubkey.asc
. Ako „keyID“ použite buď odtlačok prsta (pozrite sa na gpg -K
, aby ste ho získali), alebo jednoducho použite svoju e-mailovú adresu ako identifikátor.
Tento súbor môžete nosiť so sebou alebo ho poslať komukoľvek, komu sa vám páči. Tento súbor nie je vôbec tajný. Ak chcete použiť kľúč Nitrokey v inom systéme, najprv importujte tento verejný kľúč prostredníctvom gpg2 --import pubkey.asc
a potom zadajte gpg2 --card-status
, aby systém vedel, kde má tento kľúč hľadať. To je všetko.
Odoslanie verejného kľúča#
Ak nechcete nosiť verejný súbor kľúča so sebou, môžete ho nahrať na keyserver. Môžete to urobiť zadaním gpg --keyserver search.keyserver.net --send-key keyID
. Ak používate iný počítač, môžete ho jednoducho importovať pomocou 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.