Ustvarjanje ključa OpenPGP v napravi#

(Nitrokey Start - 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.

Opomba

Ta navodila temeljijo na različici GnuPG 2.2.6 ali višji. Nekatere distribucije Linuxa imajo nameščeno starejšo različico. V tem primeru izberite drugo metodo, kot je navedena tukaj, ali namestite novejšo različico, če je to mogoče.

Ustvarjanje ključev#

Naslednji opisi pojasnjujejo osnovno generiranje ključev na napravi prek vmesnika ukazne vrstice programa GnuPG. Privzeto obnašanje je generiranje ključev RSA velikosti 2048 bitov. Če želite spremeniti algoritem in dolžino ključa, si najprej oglejte naslednje poglavje.

Odprite ukazno vrstico in vnesite gpg2 --card-edit.

Če želite odpreti ukazno vrstico sistema Windows, pritisnite tipko Windows in tipko R. V besedilno polje vpišite „cmd.exe“ in pritisnite enter. Če želite odpreti terminal v operacijskem sistemu macOS ali GNU/Linux, uporabite iskanje aplikacij (npr. Spotlight v operacijskem sistemu 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>

Zdaj ste v interaktivnem vmesniku programa GnuPG. Z admin aktivirajte upraviteljske ukaze in nato uporabite generate za začetek generiranja ključev.

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>

Ne ustvarjajte predlagane varnostne kopije izven kartice. Ta „varnostna kopija“ shrani samo šifrirni ključ, ne pa tudi ključev za podpis in preverjanje pristnosti. V primeru izgube naprave ne boste mogli obnoviti celotnega nabora ključev. Po eni strani torej ne gre za popolno varnostno kopijo (če jo potrebujete, namesto tega uporabite te navodila), po drugi strani pa tvegate, da se lahko kdo drug polasti vašega šifrirnega ključa. Prednost generiranja ključev v napravi je v tem, da zagotovite varno shranjevanje ključev. Zato priporočamo, da to polovično varnostno kopijo preskočite.

Zdaj imate v napravi popoln nabor ključev, ki ga lahko uporabite za različne aplikacije, navedene na našem spletnem mestu. Vnesite quit in pritisnite enter za izhod.

Sprememba ključnih atributov#

Ta razdelek obravnava spreminjanje ključnih atributov. Če želite uporabiti privzete vrednosti, lahko nadaljujete z naslednjim razdelkom.

Odprite ukazno vrstico in vnesite 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]

Zdaj ste v interaktivnem vmesniku programa GnuPG. Kot lahko vidite v zgornjem polju „Atributi ključa“, je nastavljena privzeta vrednost rsa2048. Če jih želite spremeniti, aktivirajte upraviteljske ukaze z admin in nato uporabite key-attr, da spremenite atribute ključev.

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

Za vsak ključ lahko izberete atribut (tj. podpisni, šifrirni in avtentikacijski ključ). Večina ljudi bo za vsak ključ uporabila enake atribute. Vnesite list in si oglejte rezultate (poglejte polje „Atributi ključa“, ki se zdaj glasi 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]

Vnesite quit in pritisnite enter za izhod ali nadaljujte neposredno s prejšnjim razdelkom, da dejansko ustvarite ključe s pravkar nastavljenimi atributi ključev.

Naslednja tabela prikazuje, kateri algoritem se lahko uporablja v posamezni napravi.

Začetek

Pro + shranjevanje

Pro 2 + shranjevanje 2

rsa1024

rsa2048

rsa3072

rsa4096

krivulja25519 (ECC)

NIST (ECC)

Brainpool (ECC)

secp256k1

Izvoz javnega ključa in uporaba strežnika Keyserver#

Čeprav lahko ključ Nitrokey začnete uporabljati takoj po generiranju ključev v sistemu, morate javni ključ uvoziti v vsak sistem, v katerem želite uporabljati ključ Nitrokey. Če želite biti pripravljeni, imate dve možnosti: Javni ključ shranite kamorkoli želite in ga uporabite v drugem sistemu ali pa javni ključ shranite na spletno stran/ključarski strežnik.

Ustvarjanje datoteke z javnim ključem#

Če želite pridobiti preprosto datoteko svojega javnega ključa, lahko uporabite gpg2 --armor --export keyID > pubkey.asc. Kot „keyID“ uporabite prstni odtis (za njegovo pridobitev poglejte gpg -K) ali pa kot identifikator uporabite svoj e-poštni naslov.

To datoteko lahko nosite s seboj ali jo pošljete komur koli želite. Ta datoteka sploh ni skrivnost. Če želite uporabiti ključ Nitrokey v drugem sistemu, najprej uvozite ta javni ključ prek gpg2 --import pubkey.asc in nato vnesite gpg2 --card-status, da bo sistem vedel, kje naj ta ključ poišče. To je vse.

Prenos javnega ključa#

Če datoteke z javnim ključem ne želite nositi s seboj, jo lahko naložite v strežnik ključev. To lahko storite tako, da vnesete gpg --keyserver search.keyserver.net --send-key keyID. Če uporabljate drug računalnik, ga lahko uvozite z uporabo gpg --keyserver search.keyserver.net --recv-key keyID.

Druga možnost je, da spremenite nastavitev URL na kartici. Ponovno zaženite gpg -card-edit in najprej z ukazom url nastavite URL, na katerem se nahaja ključ (npr. na strežniku ključev ali na vaši spletni strani itd.). Odslej lahko uvozite ključ v drug sistem samo z uporabo ukaza fetch v okolju gpg --card-edit.