OpenPGP-avaimen luominen laitteessa#

(Nitrokey Pro 2 - macOS)

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.

Muista

Nämä ohjeet perustuvat GnuPG:n versioon 2.2.6 tai uudempaan. Joihinkin Linux-jakeluihin on asennettu vanhempi versio. Tässä tapauksessa valitse jokin muu menetelmä, joka on lueteltu täällä tai asenna uudempi versio, jos mahdollista.

Avainten tuottaminen#

Seuraavissa kuvauksissa selitetään perusavaimen luominen laitteessa GnuPG:n komentorivikäyttöliittymän avulla. Oletusarvoisesti luodaan 2048-bittisiä RSA-avaimia. Jos haluat muuttaa avainalgoritmia ja -pituutta, tutustu ensin seuraavaan osioon.

Avaa komentorivi ja kirjoita gpg2 --card-edit.

Avaa Windowsin komentorivi painamalla Windows-näppäintä ja R-näppäintä. Kirjoita nyt tekstikenttään ’cmd.exe’ ja paina enteriä. Voit avata päätepäätteen macOS:ssä tai GNU/Linuxissa käyttämällä sovellushakua (esim. spotlight macOS:ssä).

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

Nyt olet GnuPG:n interaktiivisessa käyttöliittymässä. Aktivoi admin-komennot admin ja käytä sen jälkeen generate aloittaaksesi avainten luomisen.

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>

Älä luo ehdotettua kortin ulkopuolista varmuuskopiota. Tämä ”varmuuskopio” tallentaa vain salausavaimen, mutta ei allekirjoitus- ja todentamisavaimia. Jos laite katoaa, et voi palauttaa koko avainsarjaa. Toisaalta se ei siis ole täydellinen varmuuskopio (käytä sen sijaan tämän ohjeen, jos tarvitset sellaista), ja toisaalta vaarana on, että joku muu voi saada salausavaimesi haltuunsa. Laitteessa tapahtuvan avainten luomisen etuna on varmistaa, että avaimet säilytetään turvallisesti. Siksi suosittelemme jättämään tämän puolivarmistuksen väliin.

Nyt sinulla on laitteessasi täydellinen avainsarja, jota voit käyttää sivustollamme lueteltuihin sovelluksiin. Kirjoita quit ja paina enteriä poistuaksesi.

Muuta keskeisiä ominaisuuksia#

Tässä osassa käsitellään avainattribuuttien muuttamista. Jos haluat käyttää oletusarvoja, voit jatkaa seuraavassa osassa.

Avaa komentorivi ja kirjoita 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]

Nyt olet GnuPG:n interaktiivisessa käyttöliittymässä. Kuten näet yllä olevasta ”Key attributes” -kentästä, oletusarvoksi on asetettu rsa2048. Voit muuttaa niitä aktivoimalla hallintakomennot admin ja käyttämällä sen jälkeen key-attr muuttaaksesi avainten attribuutteja.

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

Voit valita kunkin avaimen attribuutin (eli allekirjoituksen, salauksen ja todennusavaimen). Useimmat ihmiset käyttävät samoja attribuutteja jokaiselle avaimelle. Kirjoita list<x> nähdäksesi tulokset (katso kenttää ”Key attributes”, jossa lukee nyt 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]

Kirjoita quit ja paina enter-näppäintä poistuaksesi tai jatka suoraan edellisestä osiosta luodaksesi näppäimet juuri asettamillasi näppäinominaisuuksilla.

Seuraavassa taulukossa esitetään, mitä algoritmia voidaan käyttää missäkin laitteessa.

Aloita

Pro + varastointi

Pro 2 + varastointi 2

rsa1024

rsa2048

rsa3072

rsa4096

curve25519 (ECC)

NIST (ECC)

Brainpool (ECC)

secp256k1

Julkisen avaimen vienti ja avainpalvelimen käyttö#

Vaikka voit aloittaa Nitrokey-avaimesi käytön heti sen jälkeen, kun olet luonut avaimet järjestelmässäsi, sinun on tuotava julkinen avaimesi jokaiseen järjestelmään, jossa haluat käyttää Nitrokey-avainta. Sinulla on siis kaksi vaihtoehtoa: Joko tallennat julkisen avaimen mihin tahansa haluamaasi paikkaan ja käytät sitä toisessa järjestelmässä tai tallennat julkisen avaimen verkkosivulle/avainpalvelimelle.

Julkisen avaimen tiedoston luominen#

Jos haluat saada yksinkertaisen tiedoston julkisesta avaimestasi, voit käyttää gpg2 --armor --export keyID > pubkey.asc. Käytä joko sormenjälkeä ”keyID:nä” (katso gpg -K saadaksesi sen) tai käytä vain sähköpostiosoitettasi tunnisteena.

Voit pitää tätä tiedostoa mukanasi tai lähettää sen kenelle tahansa haluamallesi henkilölle. Tämä tiedosto ei ole lainkaan salainen. Jos haluat käyttää Nitrokeyta toisessa järjestelmässä, tuot ensin tämän julkisen avaimen gpg2 --import pubkey.asc kautta ja kirjoitat sitten gpg2 --card-status, jotta järjestelmä tietää, mistä tätä avainta pitää etsiä. Siinä kaikki.

Julkisen avaimen lataaminen#

Jos et halua kantaa julkista avaintietoa mukanasi, voit ladata sen keyserveriin. Voit tehdä tämän kirjoittamalla gpg --keyserver search.keyserver.net --send-key keyID. Jos käytät toista konetta, voit vain tuoda sen käyttämällä gpg --keyserver search.keyserver.net --recv-key keyID.

Toinen mahdollisuus on muuttaa kortin URL-asetusta. Käynnistä gpg -card-edit uudelleen ja aseta ensin URL-osoite, jossa avain sijaitsee (esim. avainpalvelimella tai verkkosivullasi jne.) komennolla url. Tästä lähtien voit tuoda avaimen toiseen järjestelmään käyttämällä vain fetch-komentoa gpg --card-edit-ympäristössä.