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

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.

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:
&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

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.