OpenPGP-nøglegenerering på enheden#
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.
Bemærk
Disse instruktioner er baseret på GnuPG version 2.2.6 eller højere. Nogle Linux-distributioner har en ældre version installeret. I dette tilfælde skal du vælge en anden metode som anført her eller installere en nyere version, hvis det er muligt.
Nøglegenerering#
De følgende beskrivelser forklarer den grundlæggende nøglegenerering på enheden via GnuPG’s kommandolinjeinterface. Standardadfærden er at generere RSA-nøgler med en størrelse på 2048 bit. Hvis du ønsker at ændre nøglealgoritmen og -længden, skal du først kigge på næste afsnit.
Åbn en kommandolinje, og skriv gpg2 --card-edit
.
For at åbne Windows-kommandolinjen skal du trykke på Windows-tasten og R-tasten. Skriv nu »cmd.exe« i tekstfeltet, og tryk på enter. Hvis du vil åbne en terminal på macOS eller GNU/Linux, skal du bruge programsøgningen (f.eks. spotlight på 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>
Nu er du i den interaktive grænseflade i GnuPG. Aktivér admin-kommandoerne med admin
og brug generate
bagefter for at starte genereringen af nøgler.
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>
Gør venligst ikke den foreslåede backup uden for kortet. Denne »backup« gemmer kun krypteringsnøglen, men ikke signatur- og autentifikationsnøglerne. I tilfælde af tab af enheden vil du ikke kunne gendanne hele nøglesættet. Så på den ene side er det ikke nogen fuld backup (brug denne vejledning i stedet, hvis du har brug for en), og på den anden side risikerer du, at en anden person kan komme i besiddelse af din krypteringsnøgle. Fordelen ved at generere nøgler på enheden er, at man sikrer, at nøglerne opbevares sikkert. Derfor anbefaler vi, at du springer denne halve sikkerhedskopi over.
Nu har du et komplet nøglesæt på din enhed, som kan bruges til de forskellige applikationer, der er anført på vores websted. Skriv quit
, og tryk på enter for at afslutte.
Ændring af nøgleegenskaber#
Dette afsnit handler om at ændre nøgleattributterne. Hvis du ønsker at bruge standardværdierne, kan du fortsætte med næste afsnit.
Åbn en kommandolinje, og skriv 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]
Nu er du i den interaktive grænseflade i GnuPG. Som du kan se i feltet »Key attributes« ovenfor, er standardværdien rsa2048 indstillet. Hvis du vil ændre dem, skal du aktivere admin-kommandoerne med admin
og bruge key-attr
bagefter til at ændre nøglernes attributter.
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:
(1) RSA
(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:
(1) RSA
(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:
(1) RSA
(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
Du kan vælge attributten for hver nøgle (dvs. signatur-, krypterings- og autentifikationsnøgle). De fleste mennesker vil bruge de samme attributter for hver nøgle. Skriv list
for at se resultatet (se feltet »Key attributes«, hvor der nu står 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]
Skriv quit
og tryk enter for at afslutte eller fortsæt direkte med det foregående afsnit for at generere nøglerne med de nøgleattributter, du lige har indstillet.
Følgende tabel viser, hvilken algoritme der kan bruges på hvilken enhed.
Start |
Pro + opbevaring |
Pro 2 + opbevaring 2 |
|
---|---|---|---|
rsa1024 |
✓ |
✓ |
|
rsa2048 |
✓ |
✓ |
✓ |
rsa3072 |
✓ |
✓ |
|
rsa4096 |
✓ |
✓ |
|
curve25519 (ECC) |
✓ |
||
NIST (ECC) |
✓ |
✓ |
|
Brainpool (ECC) |
✓ |
||
secp256k1 |
✓ |
Eksport af offentlig nøgle og brug af nøgleserver#
Selv om du kan begynde at bruge din Nitrokey med det samme, når du har genereret nøglerne på dit system, skal du importere din offentlige nøgle på alle de systemer, du vil bruge Nitrokey på. Så for at være forberedt har du to muligheder: Du kan enten gemme den offentlige nøgle hvor som helst og bruge den på et andet system, eller du gemmer den offentlige nøgle på en webside/nøgleserver.
Generering af en fil med en offentlig nøgle#
Hvis du vil have en simpel fil med din offentlige nøgle, kan du blot bruge gpg2 --armor --export keyID > pubkey.asc
. Brug enten fingeraftrykket som »keyID« (se gpg -K
for at få det) eller brug bare din e-mail-adresse som identifikator.
Du kan have denne fil med dig eller sende den til hvem du vil. Denne fil er slet ikke hemmelig. Hvis du vil bruge Nitrokey på et andet system, skal du først importere denne offentlige nøgle via gpg2 --import pubkey.asc
og derefter skrive gpg2 --card-status
, så systemet ved, hvor det skal lede efter denne nøgle. Det er det hele.
Upload af den offentlige nøgle#
Hvis du ikke ønsker at have en offentlig nøglefil med dig, kan du uploade den til keyserver. Det kan du gøre ved at skrive gpg --keyserver search.keyserver.net --send-key keyID
. Hvis du bruger en anden maskine, kan du bare importere den ved at bruge gpg --keyserver search.keyserver.net --recv-key keyID
.
En anden mulighed er at ændre URL-indstillingen på dit kort. Start gpg -card-edit igen og indstil først den URL, hvor nøglen befinder sig (f.eks. på nøgleserveren eller på din webside osv.) via kommandoen url
. Fra nu af kan du importere nøglen på et andet system ved blot at bruge kommandoen fetch
inden for gpg --card-edit
-miljøet.