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

Οι ακόλουθες οδηγίες εξηγούν τη δημιουργία κλειδιών OpenPGP απευθείας στο Nitrokey. Αυτό γίνεται με τη χρήση της διεπαφής γραμμής εντολών του GnuPG. Συνεπώς, θα πρέπει να έχετε εγκαταστήσει το GnuPG στο σύστημά σας. Την πιο πρόσφατη έκδοση του GnuPG για Windows μπορείτε να βρείτε εδώ και την πιο πρόσφατη έκδοση για MacOS μπορείτε να βρείτε εδώ. Οι χρήστες συστημάτων Linux παρακαλούνται να εγκαταστήσουν το GnuPG με τη βοήθεια του διαχειριστή πακέτων.

Σημείωση

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.

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

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

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

To open the Windows command line please push the Windows-key and R-key. Now type ‘cmd.exe’ in the text field and hit enter. To open a Terminal on macOS or GNU/Linux please use the application search (e.g. spotlight on 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.

Another possibility is to change the URL setting on your card. Start gpg –card-edit again and first set the URL where the key is situated (e.g. on the keyserver or on your webpage etc.) via the url command. From now on you can import the key on another system by just using the fetch command within the gpg --card-edit environment.