Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
centos:nitrokey:pro [21.11.2018 12:12. ] – [PGP-Unterschlüssel - subkeys] django | centos:nitrokey:pro [18.11.2024 18:59. ] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 50: | Zeile 50: | ||
===== Paketabhängigkeiten ===== | ===== Paketabhängigkeiten ===== | ||
+ | |||
+ | Für den Zugriff auf die SmartCard bzw. auf den Nitrokey Pro benötigen wir z.B. für GPG den SmartCard-Daemon **scdeamon** welcher bei CentOS 7 mit Hilfe es Pakets **gnupg2-smime** bereitgestellt wird. | ||
+ | |||
+ | Dieses Paket installieren wir nun noch via **yum**. | ||
+ | # | ||
+ | |||
+ | Leider ist das Paket an sich aus Sicht der Entwickler des Kryptostick in einer nicht aktuellen Version bei CentOS 7 verfügbar (CentOS 7: 2.0.22 - aktuelle Version: 2.2.11)((Stand November 2018)). Das hat leider zur Folge, dass wir die PGP-Schlüssel __nicht__ direkt [[centos: | ||
===== udev-Regeln ===== | ===== udev-Regeln ===== | ||
Für den Betrieb unter [[https:// | Für den Betrieb unter [[https:// | ||
Zeile 180: | Zeile 187: | ||
Wird die Benutzer-PIN mehr als 3x falsch eingeben, wird die Karte für den Benutzer gesperrt. Mit der Admin-PIN kann der Fehleingabezähler zurückgesetzt bzw. eine neue Benutzer-PIN vergeben werden. | Wird die Benutzer-PIN mehr als 3x falsch eingeben, wird die Karte für den Benutzer gesperrt. Mit der Admin-PIN kann der Fehleingabezähler zurückgesetzt bzw. eine neue Benutzer-PIN vergeben werden. | ||
<WRAP center round alert 80%> | <WRAP center round alert 80%> | ||
- | Wird jedoch die Admin-PIN mehr als 3x falsch eingegeben, wird die Smart-Crad komsperrt | + | Wird jedoch die Admin-PIN mehr als 3x falsch eingegeben, wird die Smart-Card komplett |
Hierzu kopiert man sich folgende Datei auf den Rechner: | Hierzu kopiert man sich folgende Datei auf den Rechner: | ||
Zeile 192: | Zeile 199: | ||
</ | </ | ||
+ | === Änderung der Default-PINs === | ||
Wir werden also zuerst einmal die beiden **PIN**s abändern. Hierzu klicken wir mit der rechten Maustaste auf das Nitrokey-Symbol oben auf dem Desktop und wählen Sie das Menü " | Wir werden also zuerst einmal die beiden **PIN**s abändern. Hierzu klicken wir mit der rechten Maustaste auf das Nitrokey-Symbol oben auf dem Desktop und wählen Sie das Menü " | ||
Zeile 199: | Zeile 207: | ||
{{ : | {{ : | ||
+ | |||
+ | === Passwort-Safe === | ||
+ | Der Kryptostick bietet uns die Möglichkeit bis zu 16 Passwörter anzuspeichern, | ||
+ | |||
+ | Damit wir unser ersten Passwort auf dem Stick ablegen können, ist es notwendig den Stick zu entsperren. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Nach der eingabe der PIN wird unser Kryptostick entsperrt und wir können anschließend | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Über den Menüpunkt **Konfiguration** gelangen wir zu den Einstellungen und wiederum auf dem Reiter **Passwort-Safe** dann die einstellungen zu den Anmeldedaten im Passwort-Safe. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Wollen wir uns nun später an einer (Web)-Anwendung anmelden, wählen wir aus der oberen Statusleiste die Nitrokey App aus und wählen beim Menüpunkt **Paswörter** den hinterlegte Passworteintrag aus. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Sobald wir diesen Eintrag anklicken wird das zugehörige Passwort in die Zwischenablage kopiert und wir können dies dann in das zugehörige Eingabemaske einfügen. | ||
+ | |||
+ | {{ : | ||
+ | |||
==== Nitrokey Pro und GnuPG ==== | ==== Nitrokey Pro und GnuPG ==== | ||
Zeile 366: | Zeile 398: | ||
$ gpg --card-edit | $ gpg --card-edit | ||
- | < | + | < |
Version ..........: 3.3 | Version ..........: 3.3 | ||
Manufacturer .....: ZeitControl | Manufacturer .....: ZeitControl | ||
Zeile 386: | Zeile 418: | ||
gpg/ | gpg/ | ||
- | </ | ||
| | ||
Zeile 471: | Zeile 502: | ||
Ihr Name (" | Ihr Name (" | ||
- | Email-Adresse: | + | Email-Adresse: |
Kommentar: Bastard Operator from Hell | Kommentar: Bastard Operator from Hell | ||
Sie haben diese User-ID gewählt: | Sie haben diese User-ID gewählt: | ||
- | " | + | " |
Ändern: (N)ame, (K)ommentar, | Ändern: (N)ame, (K)ommentar, | ||
Zeile 522: | Zeile 553: | ||
Real name: Django aka BOfH | Real name: Django aka BOfH | ||
- | Email address: secmail@mailserver.guru | + | Email address: secmail@nausch.org |
Comment: | Comment: | ||
You selected this USER-ID: | You selected this USER-ID: | ||
- | " | + | " |
Change (N)ame, (C)omment, (E)mail or (O)kay/ | Change (N)ame, (C)omment, (E)mail or (O)kay/ | ||
Zeile 542: | Zeile 573: | ||
pub | pub | ||
Key fingerprint = FA63 2892 1925 65D3 E006 DC75 2ECB E36F D135 9446 | Key fingerprint = FA63 2892 1925 65D3 E006 DC75 2ECB E36F D135 9446 | ||
- | uid Django aka BOfH < | + | uid Django aka BOfH < |
sub | sub | ||
</ | </ | ||
Zeile 551: | Zeile 582: | ||
------------------------------ | ------------------------------ | ||
sec | sec | ||
- | uid Django aka BOfH < | + | uid Django aka BOfH < |
ssb | ssb | ||
Zeile 566: | Zeile 597: | ||
------------------------------ | ------------------------------ | ||
pub | pub | ||
- | uid Django aka BOfH < | + | uid Django aka BOfH < |
sub | sub | ||
</ | </ | ||
Zeile 577: | Zeile 608: | ||
------------------------------ | ------------------------------ | ||
sec | sec | ||
- | uid Django aka BOfH < | + | uid Django aka BOfH < |
ssb | ssb | ||
</ | </ | ||
Zeile 636: | Zeile 667: | ||
| | ||
sub 4096R/ | sub 4096R/ | ||
- | [ultimate] (1). Django aka BOfH < | + | [ultimate] (1). Django aka BOfH < |
gpg></ | gpg></ | ||
Zeile 644: | Zeile 675: | ||
You need a passphrase to unlock the secret key for | You need a passphrase to unlock the secret key for | ||
- | user: " | + | user: " |
4096-bit RSA key, ID D1359446, created 2018-11-21 | 4096-bit RSA key, ID D1359446, created 2018-11-21 | ||
Zeile 656: | Zeile 687: | ||
Your selection?</ | Your selection?</ | ||
- | Da wir einen*RSA**-Unterschlüssel zum Signieren erzeugen möchten, wählen wir hier die Option **4**. Bei der Schlüssellänge verwenden wir wie auch schon bei der Erstellung des initialen Schlüsselpaares **4096**; die Laufzeit des Unterschlüssels wählen wir entsprechend gleich oder kürzer wie beim //primären Signierungs-Schlüssel//, | + | Da wir einen **RSA**-Unterschlüssel zum Signieren erzeugen möchten, wählen wir hier die Option **4**. Bei der Schlüssellänge verwenden wir wie auch schon bei der Erstellung des initialen Schlüsselpaares **4096**; die Laufzeit des Unterschlüssels wählen wir entsprechend gleich oder kürzer wie beim //primären Signierungs-Schlüssel//, |
Your selection? 4 | Your selection? 4 | ||
Zeile 681: | Zeile 712: | ||
sub 4096R/ | sub 4096R/ | ||
sub 4096R/ | sub 4096R/ | ||
- | [ultimate] (1). Django aka BOfH < | + | [ultimate] (1). Django aka BOfH < |
gpg></ | gpg></ | ||
Zeile 690: | Zeile 721: | ||
You need a passphrase to unlock the secret key for | You need a passphrase to unlock the secret key for | ||
- | user: " | + | user: " |
4096-bit RSA key, ID D1359446, created 2018-11-21 | 4096-bit RSA key, ID D1359446, created 2018-11-21 | ||
Zeile 773: | Zeile 804: | ||
sub 4096R/ | sub 4096R/ | ||
sub 4096R/ | sub 4096R/ | ||
- | [ultimate] (1). Django aka BOfH < | + | [ultimate] (1). Django aka BOfH < |
</ | </ | ||
Zeile 786: | Zeile 817: | ||
------------------------------ | ------------------------------ | ||
sec | sec | ||
- | uid Django aka BOfH < | + | uid Django aka BOfH < |
ssb | ssb | ||
ssb | ssb | ||
ssb | ssb | ||
- | + | == backup des vorhandenen Keyrings aus dem Userverzeichnis == | |
+ | <WRAP center round important 95%> | ||
+ | Bevor wir unseren Schlüsselspeicher im Userverzeichnis bei den späteren Verschiebeaktionen nicht versehentlich schrotten, kann für Restore-Zwecke ein Backup und ein sicheres Verwahren des Schlüsselspeichers angeraten sein. | ||
+ | $ cp -a ~/.gnupg ~/ | ||
+ | </ | ||
+ | == Schlüssel in die ChipCard des Nitrokey Pro verschieben == | ||
+ | Nun werden wir die vorhin generierten Schlüssel an Ort und Stelle in die SmartCard des Nitrokey Pro verschieben. Hierzu verwenden wir den Befehl **'' | ||
+ | $ gpg2 --edit-key D1359446 | ||
+ | < | ||
+ | This is free software: you are free to change and redistribute it. | ||
+ | There is NO WARRANTY, to the extent permitted by law. | ||
+ | Secret key is available. | ||
+ | pub 4096R/ | ||
+ | | ||
+ | sub 4096R/ | ||
+ | sub 4096R/ | ||
+ | sub 4096R/ | ||
+ | [ultimate] (1). Django aka BOfH < | ||
+ | Für später merken wir uns nun in Welcher Reichenfolge die Unterschlüssel aufgelistet werden bzw. welche Key-ID zu welcher Aktion gehört. Die Key-ID **0** ist die des primären Signierungs-Schlüssel! | ||
+ | * Sub-Key **1** - **564BA287** - **E** = encrypt = verschlüsseln | ||
+ | * Sub-Key **2** - **ACCE2639** - **S** = sign = signieren | ||
+ | * Sub-Key **3** - **EC65030E** - **A** = authorize = authentifizieren | ||
+ | gpg> </ | ||
+ | Da wir die privaten Schlüssel unserer drei Unterschlüssel verschieben wollen, wechseln wir von der Ansicht der öffentlichen in die Ansicht der privaten Schlüssel. | ||
+ | gpg> | ||
+ | < | ||
+ | ssb 4096R/ | ||
+ | ssb 4096R/ | ||
+ | ssb 4096R/ | ||
+ | (1) Django aka BOfH < | ||
+ | Als erstes verschieben wir den privaten Verschlüsselungs-Unterschlüssel. Hierzu wählen wir diesen mit Eingabe von " | ||
+ | gpg> key 1 | ||
+ | < | ||
+ | ssb* 4096R/ | ||
+ | ssb 4096R/ | ||
+ | ssb 4096R/ | ||
+ | (1) Django aka BOfH < | ||
+ | Nun verschieben wir den ausgewählten Schlüssel in die SmartCard des Nitrokey. Als Ziel wählen wir dann richtiger Weise die Option **2** = // | ||
+ | gpg> keytocard | ||
+ | < | ||
+ | Encryption key....: [none] | ||
+ | Authentication key: [none] | ||
+ | Please select where to store the key: | ||
+ | (2) Encryption key | ||
+ | Your selection? 2 | ||
+ | You need a passphrase to unlock the secret key for | ||
+ | user: " | ||
+ | 4096-bit RSA key, ID 564BA287, created 2018-11-21 | ||
+ | |||
+ | |||
+ | sec 4096R/ | ||
+ | ssb* 4096R/ | ||
+ | | ||
+ | ssb 4096R/ | ||
+ | ssb 4096R/ | ||
+ | (1) Django aka BOfH < | ||
+ | </ | ||
+ | |||
+ | Als nächstes verschieben wir den privaten Signierungs-Unterschlüssel aus, in dem wir erst den bereits ausgewählten Verschlüsselungs-Key abwählen und dann den Signierungs-Key anwählen. | ||
+ | gpg> key 1 | ||
+ | < | ||
+ | ssb 4096R/ | ||
+ | | ||
+ | ssb 4096R/ | ||
+ | ssb 4096R/ | ||
+ | (1) Django aka BOfH < | ||
+ | </ | ||
+ | gpg> key 2 | ||
+ | < | ||
+ | ssb 4096R/ | ||
+ | | ||
+ | ssb* 4096R/ | ||
+ | ssb 4096R/ | ||
+ | (1) Django aka BOfH < | ||
+ | </ | ||
+ | |||
+ | Nun verschieben wir den privaten Signierungs-Unterschlüssel in Richtung SmartCard des Nitrokey Pro. Hier wählen wir nun die **1** für // | ||
+ | gpg> keytocard | ||
+ | < | ||
+ | Encryption key....: A7CC 2F9D 0D39 92B6 B03A A878 06CC CCAF 564B A287 | ||
+ | Authentication key: [none] | ||
+ | |||
+ | Please select where to store the key: | ||
+ | (1) Signature key | ||
+ | (3) Authentication key | ||
+ | Your selection? 1 | ||
+ | |||
+ | You need a passphrase to unlock the secret key for | ||
+ | user: " | ||
+ | 4096-bit RSA key, ID ACCE2639, created 2018-11-21 | ||
+ | |||
+ | |||
+ | sec 4096R/ | ||
+ | ssb 4096R/ | ||
+ | | ||
+ | ssb* 4096R/ | ||
+ | | ||
+ | ssb 4096R/ | ||
+ | (1) Django aka BOfH < | ||
+ | </ | ||
+ | |||
+ | Zu guter Letzt fehlt nun noch unser Authentifizierungs-Unterschlüssel. Wir wählen also wieder den Schlüssel **2** ab und den Schlüssel **3** aus. | ||
+ | gpg> key 2 | ||
+ | < | ||
+ | ssb 4096R/ | ||
+ | | ||
+ | ssb 4096R/ | ||
+ | | ||
+ | ssb 4096R/ | ||
+ | (1) Django aka BOfH < | ||
+ | </ | ||
+ | gpg> key 3 | ||
+ | < | ||
+ | ssb 4096R/ | ||
+ | | ||
+ | ssb 4096R/ | ||
+ | | ||
+ | ssb* 4096R/ | ||
+ | (1) Django aka BOfH < | ||
+ | </ | ||
+ | |||
+ | Nun verschieben wir den privaten Authentifizierungs-Unterschlüssel in Richtung SmartCard des Nitrokey Pro. Hier wählen wir nun die **3** für // | ||
+ | gpg> keytocard | ||
+ | < | ||
+ | Encryption key....: A7CC 2F9D 0D39 92B6 B03A A878 06CC CCAF 564B A287 | ||
+ | Authentication key: [none] | ||
+ | |||
+ | Please select where to store the key: | ||
+ | (3) Authentication key | ||
+ | Your selection? 3 | ||
+ | |||
+ | You need a passphrase to unlock the secret key for | ||
+ | user: " | ||
+ | 4096-bit RSA key, ID EC65030E, created 2018-11-21 | ||
+ | |||
+ | |||
+ | sec 4096R/ | ||
+ | ssb 4096R/ | ||
+ | | ||
+ | ssb 4096R/ | ||
+ | | ||
+ | ssb* 4096R/ | ||
+ | | ||
+ | (1) Django aka BOfH < | ||
+ | </ | ||
+ | |||
+ | Zum Abschluss speichern wir nun unsere Änderungen im lokalen key-ring mit dem Befehl **save**. | ||
+ | gpg> save | ||
+ | |||
+ | Wenn wir jetzt den Kartenstatus abfragen, werden unsere drei Unterschlüssel entsprechend mit angezeigt. | ||
+ | $ gpg2 --card-status | ||
+ | |||
+ | < | ||
+ | Version ..........: 3.3 | ||
+ | Manufacturer .....: ZeitControl | ||
+ | Serial number ....: 00006FDA | ||
+ | Name of cardholder: [not set] | ||
+ | Language prefs ...: de | ||
+ | Sex ..............: | ||
+ | URL of public key : [not set] | ||
+ | Login data .......: [not set] | ||
+ | Signature PIN ....: forced | ||
+ | Key attributes ...: 4096R 4096R 4096R | ||
+ | Max. PIN lengths .: 64 64 64 | ||
+ | PIN retry counter : 3 0 3 | ||
+ | Signature counter : 0 | ||
+ | Signature key ....: C78C 3294 2822 BFE2 3A0C BF5B 7D77 3C74 ACCE 2639 | ||
+ | created ....: 2018-11-21 11:58:41 | ||
+ | Encryption key....: A7CC 2F9D 0D39 92B6 B03A A878 06CC CCAF 564B A287 | ||
+ | created ....: 2018-11-21 09:05:29 | ||
+ | Authentication key: 268A DDA5 30FD 8FE7 DD86 2C5B 4E9B 2B65 EC65 030E | ||
+ | created ....: 2018-11-21 12:01:12 | ||
+ | General key info..: pub 4096R/ | ||
+ | sec | ||
+ | ssb> | ||
+ | card-no: 0005 00006FDA | ||
+ | ssb> | ||
+ | card-no: 0005 00006FDA | ||
+ | ssb> | ||
+ | card-no: 0005 00006FDA | ||
+ | </ | ||
+ | |||
+ | === Öffentlichen Schlüssel ausgeben === | ||
+ | Damit wir später unseren öffentlichen Schlüssel auch weitergeben oder zu einem [[https:// | ||
+ | $ gpg --export --armor secmail@nausch.org > secmail@nausch.org.publickey | ||
+ | |||
+ | Diese Date enthält unseren Schlüssel in ASCCI-lesbarer Form. | ||
+ | $ cat secmail@nausch.org.publickey | ||
+ | <file key secmail@nausch.org.publickey> | ||
+ | Version: GnuPG v2.0.22 (GNU/Linux) | ||
+ | |||
+ | mQINBFv1H9kBEAC9GZO2QsMWqhP2SNcJ1X0eRpTtSM3rqbblmDCWovJjI8X4uCbq | ||
+ | ApvG8yKFAnGyqpgu5FRj7aNcrMRUbPqOUyZ1Q5R+Nx/ | ||
+ | oQKnimBUw4QoAIy/ | ||
+ | tHLaKbcJxePgw0QmjuD+8FIHX0keMZFjiutMPAmrRFpBdOdihBmPTPeJ1Qk6z37M | ||
+ | L6F+WE+kMGYGtb+v3rfbRzla2K+k/ | ||
+ | Zh8hDdczLTq5CJnQ4wFHLRRunR7LHg4DPv23NI7e6JedjvYU+v+/ | ||
+ | 3FFH6EMK/ | ||
+ | vb0HrARO+wVzyBVQuQsys2o3qCWpOPZ/ | ||
+ | 9eVkLUFAm/ | ||
+ | 9ENS2ZaBot+5MPGNqhxlbZh7zFxkf+g6rhpgwKqQT2CYjtXHYVa6m2J+9FWTHe4W | ||
+ | XxjU4Jvjc3LQYJCEsYpI5aTcj2EwH8ph8p2Q00W++kiuTwrTlBn+bfsjGwARAQAB | ||
+ | tClEamFuZ28gYWthIEJPZkggPHNlY21haWxAbWFpbHNlcnZlci5ndXJ1PokCOQQT | ||
+ | AQIAIwUCW/ | ||
+ | NZRGbZcP/ | ||
+ | l2PFSwLTsfxLTFRNem2Ra6QT2Ld5sHDIMk6V2rnxSTWZGDx6j5dlG1+GQXkX8MYL | ||
+ | Wr1WdPUFlyijYMzIwaeCtCrx0cBlufXxi3T/ | ||
+ | jThG8PqPI1imXu8X/ | ||
+ | IWuZ/ | ||
+ | Auw84V7Iyvk6o7sJsvf/ | ||
+ | s8+0LpSIcPkjrgVLqiS5NfW7r7leshCFt+gRZfno8XHAwbpMMHTOmxsHQZNHcmh4 | ||
+ | pMn5VCmwBvrFSlZDyzn/ | ||
+ | PX7bScXYiOgN/ | ||
+ | KnpE2btu7tR2AosSbo80j0JXYAgRf5RWJndvA4nbxB7mVcvKFHJ36C69V9U40p0E | ||
+ | fxCX7Z5rmQx+tsnhu7ltIh/ | ||
+ | EAD1QYpaiuEGwLG7oTX4V1AHkZ+nK5vINdfy5c7VoAIrftZ1dj6KdFoRmV2sKqZD | ||
+ | ulovSj7L4QGYd+SoR+ujKjm+M4QIciyLinmyPR0P1u6hag3Hfej/ | ||
+ | 7BRBe6rSu3XsCLI5IzQh5q+zc28zS4bZR3CvG+gRTzNkI/ | ||
+ | bK48rYKO7n9yWC7ufU1qieAtkeuBR9u/ | ||
+ | sqfvFYzyTSRAy8g4S3o1cFxIM53N3IrTZFv3F7rs43mONH1iBBrwkEz19g2y+gLJ | ||
+ | zHkIDZeAQ0ACVwR95ZWzukq/ | ||
+ | V39UaegXYoTd5YtFhMwNxQRmg0E3/ | ||
+ | RvQCYbyF4FKwVkq09ty20IN/ | ||
+ | BFDCjfkk8+iRvkH6S4aWlCieCY5Mdcx/ | ||
+ | Y9OkZYQZaVZTAZp8O4Nraj7JIZm1iIfq0NBVSMHhxus7+AfXrHdoaFo601OFJHlL | ||
+ | O+3sv9mVQYT1pBr/ | ||
+ | BQJb9R/ | ||
+ | M9CUanh8iEr+8QEiyj6oVhUaCr+WDxPj+c7xm/ | ||
+ | GbdpVh53vKRtUqddBn95yu3FMqmjh84iCIJi+NDnI1QiZTTW+uKQ2v1d+7m89kCf | ||
+ | nihpxWwbr+pw4KoCxo6cCSfQlODPXUVs+6gaSm5hg0tmFRQRkaH/ | ||
+ | 76rYuhwI0uaEB5pdb3j4eSyRnKg9carvSNQFUjPx/ | ||
+ | 77vS6/ | ||
+ | 2PEnF/ | ||
+ | 9c1taWTcGvqf7/ | ||
+ | gpT7RetllYqDBahIkzuTqlpySWNTJ+ABUl7mVx5Q3TyfiL8KC6U6ynqtALmTN1tb | ||
+ | 8PQo1Ep/ | ||
+ | ebwE7wQRewKtaO87+nt8ju4Bo5wPbO4UwAzjPnzX0nDCNlLC+/ | ||
+ | pEDFrIG+47gxuQINBFv1SHEBEADJGTXhgV8dTea4+nf+MPqoGYefE7ChgLnWdfhs | ||
+ | 51OPvoyFVmCtRVOuWAIoka5/ | ||
+ | B9Fo8lpbrygpal3dvZ1ZQ/ | ||
+ | Cvar5oJ/ | ||
+ | pXNZJhEKz789FLHFj2uXSkQvoh9VuyGxQcVyhdYmxDh37CepxyzNRcGiQx67BTWX | ||
+ | qmNWg6Cl1HLn/ | ||
+ | 3pcBud9Jvp+C2cpYVG/ | ||
+ | TCYzWcKYiaNcsedGn/ | ||
+ | abpDygntiydpnPfa1BsgnVYOMTndIwVYe0nIvw/ | ||
+ | iCH+2HwnkkpqlYyInJjQFsDuZxTe+ND7YDAJ+NnLNmYblcYYfhM2GG/ | ||
+ | kErHjicnhZo5tqQFFi9T6LvT4L7m1lznHDnDlsYtjiWlw/ | ||
+ | MrU5hQARAQABiQQ+BBgBAgAJBQJb9UhxAhsCAikJEC7L42/ | ||
+ | BQJb9UhxAAoJEH13PHSsziY5fKEP/ | ||
+ | iUTobK5Wm3sYR8d6suDJVa989vjB4l19W1k7pztFFuNPLmEPEirLsRYlJOS36l8g | ||
+ | OdjuFZBf/ | ||
+ | 9C72YQObIh7sZJXD1qH+OmynlHfpwI+B/ | ||
+ | RCLu/ | ||
+ | luNEVcnkOLI6qA2pYIKvCip86YjelQEN1LgjRv3x+3lEekm1jijdotxXuK57zwj/ | ||
+ | 3FfxK+k7n0PRr7LBnbGKYIGu2f05wqCXvCy2JqoOOIkgfyUQmlwEYZ8hKhj2V5v5 | ||
+ | Yb2JUO6ui8rG6MARewrnbLAIXgPqKV0LBRNlmAx3ohJ1t4keqyrPOyY7AlLj869W | ||
+ | S5yMS4zqRE6T9ATQjhnpauha5EOIUBhjvcOxTlYGa2znJvsfr7V4vTY1aBMYa+3m | ||
+ | plvLQb0LrqwLuvIvKGdsdOOrvcAhueX5kq5kk5dxzU7yiArprVcGYiOopaNmfAMO | ||
+ | WsTBWVHuz5VjukA0A9E/ | ||
+ | YB4420jk8VwP/ | ||
+ | 3C7uw8uhMRI4RUKtgeJs8/ | ||
+ | 7FKCzpMY6RQ4TeR5hVf20xqfzyic+1WPCtWVa1DrdznMwrrHM1TprVEcZj4mfORx | ||
+ | VrhydQ39L7GGC2HFI2rvwItxNm3okNq3WEnWPyCgswG76NVJKo6CXQpSSOwWINv7 | ||
+ | usjau8wUWal8eM7RcUcPiIkDknJQDRZD0npS/ | ||
+ | vlHrR6BxXKU8G7niPuDZwIItS8LwJAMn5EBhzb8IAVWZqJzfn6txpINTbybb8v9L | ||
+ | U+Km+yyFcNuG+BV7aCLuLEFjDkNLVnF6Le/ | ||
+ | jxGS9GnNJMeKqixbnKFtNmnK8sZ9khcjYswcOMbLloGNpkmsRU2JDywefmCz0eVz | ||
+ | kXMwv+4CQF8ODdS/ | ||
+ | Bx7tT2GuGQuN7UD9Zr8iO7c0LlDZ3NZbWDqvXLqNykF/ | ||
+ | fOGjqOOMfs16zb9lmxPz7NTddYwa/ | ||
+ | SQgBEACb/ | ||
+ | r9TEgzTBez3S4fd3KLxJXQbD0fXGoQ3R8yqSydfYiPgkMBdxpbWffrTXRCa5gNA0 | ||
+ | cFlrzj/ | ||
+ | xkZmsXLvlkzU1QExH5RLr9c3IDW6CfMFuKE5zBuoY4Ba1EXuayvpN+z1IMw0VwSZ | ||
+ | 334xCxXzpSq3dUoSJIS9yy6Sba3XMxzwmYG8RblceFhAC+ec6PVLQ4FukAwInRh6 | ||
+ | L/ | ||
+ | IFKwXS2D6fE0XX3Er0goq2JHZo7pYdUjnkaRFGsvghzHgTDWwcv5JILxHyuHHtrc | ||
+ | AeptL9/ | ||
+ | 6Vz0AT1aXmi5nM/ | ||
+ | rC5Xx3iG+Bs0nYF422wDmL1TgeIuQIjgtZWFSZ+qVLYtRieQgCCCFg1TfuOYq2+k | ||
+ | AUg0ADV/ | ||
+ | AgAJBQJb9UkIAhsgAAoJEC7L42/ | ||
+ | c7Fagw641qjIxJP1LhjlFiJfKx6zHFDrCDyWsy6JeNzjyJOmQQMgXcQ9I/ | ||
+ | G966p1HlPxRpKgbcgSKoCGgLXRwVEAwsngYKApQKFM11gGzeRTiPyOfYuhPXTstD | ||
+ | kr3zbdrlsLNdAs6lia55QxE+SkG7yXvMGO1IsbGzarGVvE4CmzmaFX01Y1eU/ | ||
+ | pdf6QqdfF0Z+4tP5Ej2Al3kwQNgNQxfus329VpMibhTpB7/ | ||
+ | sM+iVw8C7ZwJFmiVj+ZkXpYfSOHCp6ZBewojPEXlLBw4YLUf02aKHfZWeqOXvIqg | ||
+ | djphB+Ok4KeYAuRiZp0KlIGN5dhQA+d6wgxwKNvFiuIVxi7hxlT8RO/ | ||
+ | u1VdHLA5qxXsAC6iuZFwO/ | ||
+ | 1OY8ZSVVHmsObiFRyIogm6FXnfNh+5W8/ | ||
+ | lUuvBaEzMS0puUXq3VPl01WVYyg9b4P2XcRbSiWQmQ1AKT4Rf6fH7/ | ||
+ | lj2nm/ | ||
+ | MezibODnMrJixhyz | ||
+ | =ZvZy | ||
+ | -----END PGP PUBLIC KEY BLOCK-----</ | ||
+ | |||
+ | === Verschlüsseln und entschlüsseln === | ||
+ | Nun werden wir kurz einmal testen, ob wir mit Hilfe der Hardware-Schlüssel-Karte eine Datei ver- und wieder entschlüsseln können. | ||
+ | |||
+ | - Zunächst Wir legen uns erst einmal ein beliebiges Testdokument an. < | ||
+ | - Nun verschlüsseln wir dieses Textdokument: | ||
+ | -rw-rw-r-- 1 django django 962 Nov 21 14:37 testdatei.txt.pgp</ | ||
+ | �̯VK����ꠔ��oY]�T> | ||
+ | SZ, | ||
+ | =�Y����v, | ||
+ | MQ[Ce< | ||
+ | u�뇙�P����1< | ||
+ | ��߿�W.�-I����^�V�-��+A�i� | ||
+ | | ||
+ | *�]��-�t, | ||
+ | | ||
+ | | ||
+ | ��6��n�# | ||
+ | - Nun entschlüsseln wir unser Dokument wieder.< | ||
+ | " | ||
- | Nun verschieben | + | === Schlüssel aus dem lokalen Schlüsselspeicher entfernen === |
- | $ gpg --edit-key 1F8344FA | + | Löschen |
+ | $ gpg --delete-secret-key secmail@nausch.org | ||
< | < | ||
This is free software: you are free to change and redistribute it. | This is free software: you are free to change and redistribute it. | ||
There is NO WARRANTY, to the extent permitted by law. | There is NO WARRANTY, to the extent permitted by law. | ||
- | Geheimer Schlüssel ist vorhanden. | ||
- | pub | + | sec |
- | | + | |
- | sub 4096R/ | + | |
- | [ uneing.] (1). Django aka BOfH (Bastard Operator from Hell) < | + | |
- | gpg></code> | + | Delete this key from the keyring? (y/N) y |
- | Nun wechseln wir zwischen der Auflistung von öffentlichen und geheimen Schlüsseln und geben hierzu den Befehl **toggle** ein. | + | This is a secret key! - really delete? (y/N) y |
- | | + | </code> |
- | < | + | |
- | sec 4096R/ | + | |
- | ssb 4096R/C35C8E4D | + | |
- | (1) Django aka BOfH (Bastard Operator from Hell) <secmail@mailserver.guru> | + | |
- | gpg> | + | <WRAP center round alert 95%> |
- | Nun verschieben wir den ausgewählten Schlüssel in unseren Kryptostick mit dem Befehl | + | __**Doch Achtung:**__ |
- | | + | Hier wird der komplette Schlüssel gelöscht, also den **privaten Primären Signing Key** und nicht nur die Proxy-Einträge! Dies kann zu Problemen bei der späteren Verwendung des Nitrokey Pro auf der Konsole führen, da das gpg-Programm versucht den Schlüssel im Schlüsselbund zu finden! |
+ | </WRAP> | ||
- | Den Hauptschlüssel wirklich verschieben? | + | Der gpg-Befehl '' |
- | < | + | |
- | Encryption key....: [none] | + | |
- | Authentication key: [none] | + | |
- | Wählen Sie den Speicherort für den Schlüssel: | + | Wir exportieren also erst einmal die Unterschlüssel und legen diese in einer lokalen Datei ab. Zunächst holen wir uns aber noch die Schlüssel-IDs da wir diese beim Exportieren eiegns angeben müssen. |
- | (1) Signatur-Schlüssel | + | $ gpg2 --list-secret-keys |
- | (3) Authentisierungs-Schlüssel< | + | < |
- | Ihre Auswahl? 3 | + | ------------------------------ |
- | < | + | sec |
- | Sie benötigen eine Passphrase, um den geheimen Schlüssel zu entsperren. | + | uid |
- | Benutzer: "Django aka BOfH (Bastard Operator from Hell) < | + | ssb> |
- | 4096-Bit RSA Schlüssel, ID 1F8344FA, erzeugt | + | ssb> |
+ | ssb> | ||
+ | </ | ||
+ | Nun exportieren wir die Unterschlüssel mit Hilfe folgenden Aufrufs, bei dem wir die IDs der Unterschlüssel gfolgt von einem **!** jeweils angeben: | ||
+ | $ gpg2 -o subkeys --export-secret-subkeys 564BA287! ACCE2639! EC65030E! | ||
+ | Nun löschen wir den primären Signierungsschlüssel inkl. der Unterschlüssel. | ||
+ | $ gpg2 --delete-secret-key secmail@nausch.org | ||
+ | < | ||
+ | This is free software: you are free to change and redistribute it. | ||
+ | There is NO WARRANTY, to the extent permitted by law. | ||
- | sec 4096R/ | ||
- | | ||
- | ssb 4096R/ | ||
- | (1) Django aka BOfH (Bastard Operator from Hell) < | ||
- | gpg> </ | + | sec 4096R/ |
- | Zu guter Letzt verlassen | + | |
- | pgp> quit | + | Delete this key from the keyring? (y/N) y |
+ | This is a secret key! - really delete? (y/N) y</ | ||
+ | |||
+ | Ein erneuter Aufruf des privaten Schlüsselspeichers zeigt und, dass dort nun keine Einträge mehr vorhanden sind. | ||
+ | $ gpg2 --list-secret-keys | ||
+ | |||
+ | Nun importieren wir wieder die zuvor gesicherten privaten Unterschlüssel | ||
+ | $ gpg2 --import subkeys | ||
+ | < | ||
+ | gpg: key D1359446: " | ||
+ | gpg: Total number processed: 1 | ||
+ | gpg: unchanged: 1 | ||
+ | gpg: | ||
+ | gpg: | ||
+ | |||
+ | Lassen wir uns nun den Inhalt des privaten Schlüsselbundes anzeigen, sehen wir die zurückgesicherten Unterschlüssel wieder. | ||
+ | $ gpg2 --list-secret-keys | ||
+ | < | ||
+ | ------------------------------ | ||
+ | sec# 4096R/ | ||
+ | uid Django aka BOfH < | ||
+ | ssb> | ||
+ | ssb> | ||
+ | ssb> | ||
+ | |||
+ | Zu guter letzt vernichten | ||
+ | $ shred --zero --removesubkeys | ||
+ | |||
+ | ==== Nitrokey und Thunderbird ==== | ||
+ | Unseren zuvor präparierten Kryptostick wollen wir nun verwenden um bei Thunderbird unsere elektronische Kommunikation per eMail abzusichern. Hierzu werden wir nun den schlüssel dem betreffenden Konto zuweisen. | ||
+ | Über das Menü wählen wir den Punkt **Konten-Einstellungen** aus. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Beim passenden Konto wählen wir dann die Option **OpenPGP-Sicherheit** aus. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Hier wählen wir nun den Schlüssel aus, den wir zuvor erstellt | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Sobald wir nun eine Nachricht verschicken die signiert werden soll, wird vor dem Versand die PIN abgefragt und die Nachricht mit dem Signatur-Unterschlüssel unterschrieben. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Sobald wir eine verschlüsselte Nachricht öffnen, werden wir nach der PIN gefragt, damit der Schlüssel zum Entschlüsseln auf der SmartCard freigeschalten werden kann. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Habne wir die PIN richtig eigegeben, wird die entschlüsselte Nachricht angezeigt. | ||
- | Änderungen speichern? (j/N) j | + | {{ : |