OpenPGP kulcsgenerálás az eszközön

A következő utasítások az OpenPGP kulcsok generálását ismertetik közvetlenül a Nitrokey-n. Ez a GnuPG parancssori felületének használatával történik. Ezért a GnuPG-nek telepítve kell lennie a rendszerén. A GnuPG legújabb verziója Windowsra itt, MacOS-re pedig itt található. A Linux rendszerek felhasználói a GnuPG-t a csomagkezelő segítségével telepítsék.

Megjegyzés

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.

Kulcsgenerálás

A következő leírások a GnuPG parancssori felületén keresztül történő alapvető kulcsgenerálást ismertetik. Az alapértelmezett viselkedés a 2048 bites RSA kulcsok generálása. Ha meg szeretné változtatni a kulcs algoritmusát és hosszát, először nézze meg a következő szakaszt.

Nyisson egy parancssort, és írja be a gpg2 --card-edit parancsot.

A Windows parancssor megnyitásához nyomja meg a Windows-billentyűt és az R billentyűt. Most írja be a szövegmezőbe a «cmd.exe» szót, és nyomja le az Entert. A terminál megnyitásához macOS-en vagy GNU/Linuxon használja az alkalmazáskeresőt (pl. spotlight macOS-en).

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

Most már a GnuPG interaktív felületén van. Aktiváld az admin parancsokat a admin<x> segítségével, majd utána a generate segítségével indítsd el a kulcsok generálását.

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>

Kérem, ne készítsen a javasolt kártyán kívüli biztonsági másolatot. Ez a „biztonsági másolat” csak a titkosítási kulcsot menti, az aláírási és hitelesítési kulcsokat nem. Az eszköz elvesztése esetén nem tudja visszaállítani a teljes kulcskészletet. Tehát egyrészt nem teljes biztonsági mentés (használja helyette a ezeket az utasításokat, ha szüksége van rá), másrészt pedig azt kockáztatja, hogy valaki más is birtokába kerülhet a titkosítási kulcsának. Az eszközön történő kulcsgenerálás előnye, hogy a kulcsokat biztonságosan tárolja. Ezért javasoljuk, hogy hagyja ki ezt a félkészletet.

Most már egy teljes kulcskészlet van a készülékén, amelyet az oldalunkon felsorolt különböző alkalmazásokhoz használhat. Írja be a quit és nyomja meg az enter billentyűt a kilépéshez.

Kulcsattribútumok módosítása

Ez a szakasz a kulcsattribútumok megváltoztatásáról szól. Ha az alapértelmezett értékeket szeretné használni, akkor a következő szakaszban folytathatja.

Nyisson egy parancssort, és írja be a gpg2 --card-edit --expert parancsot.

> 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]

Most már a GnuPG interaktív felületén van. Amint a fenti „Key attributes” mezőben láthatod, az alapértelmezett érték rsa2048 van beállítva. A módosításhoz aktiváld az admin parancsokat a admin segítségével, és utána használd a key-attr-t a kulcsok attribútumainak módosításához.

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

Az egyes kulcsok (azaz az aláírás, a titkosítási és a hitelesítési kulcs) attribútumát kiválaszthatja. A legtöbb ember minden kulcshoz ugyanazokat az attribútumokat fogja használni. Írd be a list<x>, hogy lásd az eredményeket (nézd meg a „Key attributes” mezőt, ahol most rsa4096 szerepel).

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]

Írja be a quit<x> és nyomja meg az enter billentyűt a kilépéshez, vagy folytassa közvetlenül az előző résszel, hogy ténylegesen létrehozza a kulcsokat az imént beállított kulcsattribútumokkal.

A következő táblázat szemlélteti, hogy melyik algoritmus melyik eszközön használható.

Indítsa el a oldalt.

Pro + tárolás

Pro 2 + tároló 2

rsa1024

rsa2048

rsa3072

rsa4096

curve25519 (ECC)

NIST (ECC)

Brainpool (ECC)

secp256k1

Nyilvános kulcs exportálása és kulcsszerver-használat

Bár a Nitrokey-t a kulcsok generálása után azonnal elkezdheti használni a rendszerén, a nyilvános kulcsot minden olyan rendszerre importálnia kell, amelyen használni szeretné a Nitrokey-t. Így a felkészüléshez két lehetőséged van: Vagy elmented a nyilvános kulcsot bárhová, ahol szeretnéd, és egy másik rendszeren használod, vagy elmented a nyilvános kulcsot egy weblapon/kulcsszerverre.

Nyilvános kulcsfájl generálása

A nyilvános kulcsod egyszerű fájljához egyszerűen használhatod a gpg2 --armor --export keyID > pubkey.asc parancsot. Használd az ujjlenyomatot „keyID”-ként (nézd meg a gpg -K címet), vagy csak az e-mail címedet használd azonosítóként.

Ezt a fájlt magával viheti, vagy elküldheti bárkinek, akinek csak szeretné. Ez a fájl egyáltalán nem titkos. Ha a Nitrokey-t egy másik rendszeren akarod használni, akkor először importáld ezt a nyilvános kulcsot a gpg2 --import pubkey.asc segítségével, majd írd be a gpg2 --card-status, hogy a rendszer tudja, hol keresse ezt a kulcsot. Ez minden.

A nyilvános kulcs feltöltése

Ha nem szeretne nyilvános kulcsfájlt magával vinni, akkor feltöltheti azt a keyserverre. Ezt a gpg --keyserver search.keyserver.net --send-key keyID beírásával teheti meg. Ha egy másik gépet használsz, akkor egyszerűen importálhatod a <x id=”237”><</x>`gpg –keyserver search.keyserver.net –recv-key keyID`` használatával.

Egy másik lehetőség a kártya URL-beállításának módosítása. Indítsa el újra a gpg -card-edit-et, és először állítsa be az URL-t, ahol a kulcs található (pl. a kulcsszervereken vagy a weboldalán stb.) a url paranccsal. Innentől kezdve a kulcsot egy másik rendszerre is importálhatja, ha egyszerűen a fetch parancsot használja a gpg --card-edit környezetben.