Δημιουργία κλειδιού OpenPGP στη συσκευή#

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

Σημείωση

Αυτές οι οδηγίες βασίζονται στην έκδοση 2.2.6 ή νεότερη του GnuPG. Ορισμένες διανομές Linux έχουν εγκατεστημένη μια παλαιότερη έκδοση. Σε αυτή την περίπτωση επιλέξτε μια διαφορετική μέθοδο όπως αναφέρεται εδώ ή εγκαταστήστε μια νεότερη έκδοση αν είναι δυνατόν.

Παραγωγή κλειδιών#

Οι ακόλουθες περιγραφές εξηγούν τη βασική δημιουργία κλειδιών στη συσκευή μέσω της διεπαφής γραμμής εντολών του GnuPG. Η προεπιλεγμένη συμπεριφορά είναι η δημιουργία κλειδιών RSA μεγέθους 2048 bit. Αν θέλετε να αλλάξετε τον αλγόριθμο και το μήκος του κλειδιού, ρίξτε πρώτα μια ματιά στην επόμενη ενότητα.

Ανοίξτε μια γραμμή εντολών και πληκτρολογήστε gpg2 --card-edit.

Για να ανοίξετε τη γραμμή εντολών των Windows πατήστε το πλήκτρο Windows και το πλήκτρο R. Τώρα πληκτρολογήστε “cmd.exe” στο πεδίο κειμένου και πατήστε enter. Για να ανοίξετε ένα τερματικό σε macOS ή GNU/Linux χρησιμοποιήστε την αναζήτηση εφαρμογών (π.χ. spotlight σε 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>

Τώρα βρίσκεστε στο διαδραστικό περιβάλλον του GnuPG. Ενεργοποιήστε τις εντολές διαχειριστή με admin και χρησιμοποιήστε generate στη συνέχεια για να ξεκινήσετε τη δημιουργία κλειδιών.

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>

Παρακαλούμε μην δημιουργήσετε το προτεινόμενο αντίγραφο ασφαλείας εκτός κάρτας. Αυτό το «αντίγραφο ασφαλείας» αποθηκεύει μόνο το κλειδί κρυπτογράφησης, αλλά όχι τα κλειδιά υπογραφής και ελέγχου ταυτότητας. Σε περίπτωση απώλειας της συσκευής, δεν θα μπορέσετε να επαναφέρετε ολόκληρο το σύνολο των κλειδιών. Έτσι, αφενός δεν πρόκειται για πλήρες αντίγραφο ασφαλείας (χρησιμοποιήστε αντί αυτού τις οδηγίες αυτές τις οδηγίες, αν το χρειάζεστε) και αφετέρου κινδυνεύετε να αποκτήσει κάποιος άλλος το κλειδί κρυπτογράφησης. Το πλεονέκτημα της δημιουργίας κλειδιών στη συσκευή είναι ότι τα κλειδιά αποθηκεύονται με ασφάλεια. Ως εκ τούτου, συνιστούμε να παραλείψετε αυτό το μισό αντίγραφο ασφαλείας.

Τώρα έχετε ένα πλήρες σετ κλειδιών στη συσκευή σας, το οποίο μπορεί να χρησιμοποιηθεί για τις διάφορες εφαρμογές που αναφέρονται στον ιστότοπό μας. Πληκτρολογήστε quit και πατήστε enter για έξοδο.

Αλλαγή βασικών χαρακτηριστικών#

Αυτή η ενότητα αφορά την αλλαγή των βασικών χαρακτηριστικών. Αν θέλετε να χρησιμοποιήσετε τις προεπιλεγμένες τιμές, μπορείτε να συνεχίσετε με την επόμενη ενότητα.

Ανοίξτε μια γραμμή εντολών και πληκτρολογήστε 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]

Τώρα βρίσκεστε στο διαδραστικό περιβάλλον του GnuPG. Όπως μπορείτε να δείτε στο πεδίο «Key attributes» παραπάνω, έχει οριστεί η προεπιλεγμένη τιμή rsa2048. Για να τα αλλάξετε, ενεργοποιήστε τις εντολές διαχείρισης με admin και χρησιμοποιήστε key-attr στη συνέχεια για να αλλάξετε τα χαρακτηριστικά των κλειδιών.

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

Μπορείτε να επιλέξετε την ιδιότητα για κάθε κλειδί (δηλαδή υπογραφή, κρυπτογράφηση και κλειδί ελέγχου ταυτότητας). Οι περισσότεροι άνθρωποι θα χρησιμοποιήσουν τα ίδια χαρακτηριστικά για κάθε κλειδί. Πληκτρολογήστε list για να δείτε τα αποτελέσματα (ρίξτε μια ματιά στο πεδίο «Key attributes», το οποίο τώρα γράφει 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]

Πληκτρολογήστε quit και πατήστε enter για έξοδο ή συνεχίστε απευθείας με την προηγούμενη ενότητα για να δημιουργήσετε τα κλειδιά με τα χαρακτηριστικά κλειδιών που μόλις ορίσατε.

Ο παρακάτω πίνακας δείχνει ποιος αλγόριθμος μπορεί να χρησιμοποιηθεί σε ποια συσκευή.

Έναρξη

Pro + Αποθήκευση

Pro 2 + Αποθήκευση 2

rsa1024

rsa2048

rsa3072

rsa4096

curve25519 (ECC)

NIST (ECC)

Brainpool (ECC)

secp256k1

Εξαγωγή δημόσιου κλειδιού και χρήση διακομιστή κλειδιών#

Παρόλο που μπορείτε να αρχίσετε να χρησιμοποιείτε το Nitrokey αμέσως μετά τη δημιουργία των κλειδιών στο σύστημά σας, πρέπει να εισάγετε το δημόσιο κλειδί σας σε κάθε σύστημα στο οποίο θέλετε να χρησιμοποιήσετε το Nitrokey. Έτσι, για να είστε προετοιμασμένοι, έχετε δύο επιλογές: Είτε αποθηκεύετε το δημόσιο κλειδί οπουδήποτε θέλετε και το χρησιμοποιείτε σε ένα άλλο σύστημα είτε αποθηκεύετε το δημόσιο κλειδί σε μια ιστοσελίδα/διακομιστή κλειδιών.

Δημιουργία αρχείου δημόσιου κλειδιού#

Για να λάβετε ένα απλό αρχείο με το δημόσιο κλειδί σας, μπορείτε απλώς να χρησιμοποιήσετε gpg2 --armor --export keyID > pubkey.asc. Χρησιμοποιήστε είτε το δακτυλικό αποτύπωμα ως «keyID» (κοιτάξτε στο gpg -K για να το βρείτε) είτε απλά χρησιμοποιήστε τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας ως αναγνωριστικό.

Μπορείτε να έχετε αυτό το αρχείο μαζί σας ή να το στείλετε σε όποιον θέλετε. Αυτό το αρχείο δεν είναι καθόλου μυστικό. Αν θέλετε να χρησιμοποιήσετε το Nitrokey σε ένα άλλο σύστημα, πρώτα εισάγετε αυτό το δημόσιο κλειδί μέσω gpg2 --import pubkey.asc και στη συνέχεια πληκτρολογείτε gpg2 --card-status ώστε το σύστημα να ξέρει πού να αναζητήσει αυτό το κλειδί. Αυτό είναι όλο.

Ανέβασμα του δημόσιου κλειδιού#

Εάν δεν θέλετε να έχετε μαζί σας ένα δημόσιο αρχείο κλειδιού, μπορείτε να το ανεβάσετε στον διακομιστή κλειδιών. Μπορείτε να το κάνετε αυτό πληκτρολογώντας gpg --keyserver search.keyserver.net --send-key keyID. Αν χρησιμοποιείτε άλλο μηχάνημα, μπορείτε απλά να το εισάγετε χρησιμοποιώντας gpg --keyserver search.keyserver.net --recv-key keyID.

Μια άλλη δυνατότητα είναι να αλλάξετε τη ρύθμιση URL στην κάρτα σας. Εκκινήστε ξανά το gpg -card-edit και ορίστε πρώτα τη διεύθυνση URL όπου βρίσκεται το κλειδί (π.χ. στον διακομιστή κλειδιών ή στην ιστοσελίδα σας κ.λπ.) μέσω της εντολής url. Από εδώ και στο εξής μπορείτε να εισάγετε το κλειδί σε ένα άλλο σύστημα χρησιμοποιώντας απλώς την εντολή fetch εντός του περιβάλλοντος gpg --card-edit.