Generovanie kľúča OpenPGP v zariadení#

(Nitrokey Storage 2 - Windows)

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.

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.

Ak chcete otvoriť príkazový riadok systému Windows, stlačte kláves Windows a kláves R. Teraz zadajte do textového poľa príkaz cmd.exe a stlačte kláves enter. Ak chcete otvoriť terminál v systéme MacOS alebo GNU/Linux, použite vyhľadávanie aplikácií (napr. Spotlight v systéme 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.

Ďalšou možnosťou je zmeniť nastavenie adresy URL na karte. Spustite znova gpg -card-edit a najprv nastavte URL adresu, na ktorej sa kľúč nachádza (napr. na keyserveri alebo na vašej webovej stránke atď.), pomocou príkazu url. Odteraz môžete kľúč importovať do iného systému len pomocou príkazu fetch v rámci prostredia gpg --card-edit.