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 20:09. ] – [Nitrokey-App] 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 201: | Zeile 208: | ||
{{ : | {{ : | ||
- | === Password-Safe === | + | === 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 ==== | ||
Da es sich bei der Chipkarte des **Nitrokey Pro** um eine standardkompatible OpenPGP-Karte handelt, kann der Kryptostick mit Hilfe von **[[https:// | Da es sich bei der Chipkarte des **Nitrokey Pro** um eine standardkompatible OpenPGP-Karte handelt, kann der Kryptostick mit Hilfe von **[[https:// | ||
Zeile 368: | Zeile 398: | ||
$ gpg --card-edit | $ gpg --card-edit | ||
- | < | + | < |
Version ..........: 3.3 | Version ..........: 3.3 | ||
Manufacturer .....: ZeitControl | Manufacturer .....: ZeitControl | ||
Zeile 388: | Zeile 418: | ||
gpg/ | gpg/ | ||
- | </ | ||
| | ||
Zeile 473: | 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 524: | 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 544: | 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 553: | Zeile 582: | ||
------------------------------ | ------------------------------ | ||
sec | sec | ||
- | uid Django aka BOfH < | + | uid Django aka BOfH < |
ssb | ssb | ||
Zeile 568: | Zeile 597: | ||
------------------------------ | ------------------------------ | ||
pub | pub | ||
- | uid Django aka BOfH < | + | uid Django aka BOfH < |
sub | sub | ||
</ | </ | ||
Zeile 579: | Zeile 608: | ||
------------------------------ | ------------------------------ | ||
sec | sec | ||
- | uid Django aka BOfH < | + | uid Django aka BOfH < |
ssb | ssb | ||
</ | </ | ||
Zeile 638: | Zeile 667: | ||
| | ||
sub 4096R/ | sub 4096R/ | ||
- | [ultimate] (1). Django aka BOfH < | + | [ultimate] (1). Django aka BOfH < |
gpg></ | gpg></ | ||
Zeile 646: | 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 683: | Zeile 712: | ||
sub 4096R/ | sub 4096R/ | ||
sub 4096R/ | sub 4096R/ | ||
- | [ultimate] (1). Django aka BOfH < | + | [ultimate] (1). Django aka BOfH < |
gpg></ | gpg></ | ||
Zeile 692: | 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 775: | Zeile 804: | ||
sub 4096R/ | sub 4096R/ | ||
sub 4096R/ | sub 4096R/ | ||
- | [ultimate] (1). Django aka BOfH < | + | [ultimate] (1). Django aka BOfH < |
</ | </ | ||
Zeile 788: | Zeile 817: | ||
------------------------------ | ------------------------------ | ||
sec | sec | ||
- | uid Django aka BOfH < | + | uid Django aka BOfH < |
ssb | ssb | ||
ssb | ssb | ||
Zeile 814: | Zeile 843: | ||
sub 4096R/ | sub 4096R/ | ||
sub 4096R/ | sub 4096R/ | ||
- | [ultimate] (1). Django aka BOfH < | + | [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! | 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! | ||
Zeile 829: | Zeile 858: | ||
ssb 4096R/ | ssb 4096R/ | ||
ssb 4096R/ | ssb 4096R/ | ||
- | (1) Django aka BOfH < | + | (1) Django aka BOfH < |
Als erstes verschieben wir den privaten Verschlüsselungs-Unterschlüssel. Hierzu wählen wir diesen mit Eingabe von " | Als erstes verschieben wir den privaten Verschlüsselungs-Unterschlüssel. Hierzu wählen wir diesen mit Eingabe von " | ||
Zeile 838: | Zeile 867: | ||
ssb 4096R/ | ssb 4096R/ | ||
ssb 4096R/ | ssb 4096R/ | ||
- | (1) Django aka BOfH < | + | (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** = // | Nun verschieben wir den ausgewählten Schlüssel in die SmartCard des Nitrokey. Als Ziel wählen wir dann richtiger Weise die Option **2** = // | ||
Zeile 852: | Zeile 881: | ||
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 564BA287, created 2018-11-21 | 4096-bit RSA key, ID 564BA287, created 2018-11-21 | ||
Zeile 861: | Zeile 890: | ||
ssb 4096R/ | ssb 4096R/ | ||
ssb 4096R/ | ssb 4096R/ | ||
- | (1) Django aka BOfH < | + | (1) Django aka BOfH < |
</ | </ | ||
Zeile 871: | Zeile 900: | ||
ssb 4096R/ | ssb 4096R/ | ||
ssb 4096R/ | ssb 4096R/ | ||
- | (1) Django aka BOfH < | + | (1) Django aka BOfH < |
</ | </ | ||
gpg> key 2 | gpg> key 2 | ||
Zeile 879: | Zeile 908: | ||
ssb* 4096R/ | ssb* 4096R/ | ||
ssb 4096R/ | ssb 4096R/ | ||
- | (1) Django aka BOfH < | + | (1) Django aka BOfH < |
</ | </ | ||
Zeile 894: | Zeile 923: | ||
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 ACCE2639, created 2018-11-21 | 4096-bit RSA key, ID ACCE2639, created 2018-11-21 | ||
Zeile 904: | Zeile 933: | ||
| | ||
ssb 4096R/ | ssb 4096R/ | ||
- | (1) Django aka BOfH < | + | (1) Django aka BOfH < |
</ | </ | ||
Zeile 915: | Zeile 944: | ||
| | ||
ssb 4096R/ | ssb 4096R/ | ||
- | (1) Django aka BOfH < | + | (1) Django aka BOfH < |
</ | </ | ||
gpg> key 3 | gpg> key 3 | ||
Zeile 924: | Zeile 953: | ||
| | ||
ssb* 4096R/ | ssb* 4096R/ | ||
- | (1) Django aka BOfH < | + | (1) Django aka BOfH < |
</ | </ | ||
Zeile 938: | Zeile 967: | ||
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 EC65030E, created 2018-11-21 | 4096-bit RSA key, ID EC65030E, created 2018-11-21 | ||
Zeile 949: | Zeile 978: | ||
ssb* 4096R/ | ssb* 4096R/ | ||
| | ||
- | (1) Django aka BOfH < | + | (1) Django aka BOfH < |
</ | </ | ||
Zeile 978: | Zeile 1007: | ||
Authentication key: 268A DDA5 30FD 8FE7 DD86 2C5B 4E9B 2B65 EC65 030E | Authentication key: 268A DDA5 30FD 8FE7 DD86 2C5B 4E9B 2B65 EC65 030E | ||
created ....: 2018-11-21 12:01:12 | created ....: 2018-11-21 12:01:12 | ||
- | General key info..: pub 4096R/ | + | General key info..: pub 4096R/ |
sec | sec | ||
ssb> | ssb> | ||
Zeile 990: | Zeile 1019: | ||
=== Öffentlichen Schlüssel ausgeben === | === Öffentlichen Schlüssel ausgeben === | ||
Damit wir später unseren öffentlichen Schlüssel auch weitergeben oder zu einem [[https:// | Damit wir später unseren öffentlichen Schlüssel auch weitergeben oder zu einem [[https:// | ||
- | $ gpg --export --armor secmail@mailserver.guru > secmail@mailserver.guru.publickey | + | $ gpg --export --armor secmail@nausch.org > secmail@nausch.org.publickey |
Diese Date enthält unseren Schlüssel in ASCCI-lesbarer Form. | Diese Date enthält unseren Schlüssel in ASCCI-lesbarer Form. | ||
- | $ cat secmail@mailserver.guru.publickey | + | $ cat secmail@nausch.org.publickey |
- | <file key secmail@mailserver.guru.publickey> | + | <file key secmail@nausch.org.publickey> |
Version: GnuPG v2.0.22 (GNU/Linux) | Version: GnuPG v2.0.22 (GNU/Linux) | ||
Zeile 1107: | Zeile 1136: | ||
- Zunächst Wir legen uns erst einmal ein beliebiges Testdokument an. < | - Zunächst Wir legen uns erst einmal ein beliebiges Testdokument an. < | ||
- | - Nun verschlüsseln wir dieses Textdokument: | + | - Nun verschlüsseln wir dieses Textdokument: |
-rw-rw-r-- 1 django django 962 Nov 21 14:37 testdatei.txt.pgp</ | -rw-rw-r-- 1 django django 962 Nov 21 14:37 testdatei.txt.pgp</ | ||
�̯VK����ꠔ��oY]�T> | �̯VK����ꠔ��oY]�T> | ||
Zeile 1121: | Zeile 1150: | ||
��6��n�# | ��6��n�# | ||
- Nun entschlüsseln wir unser Dokument wieder.< | - Nun entschlüsseln wir unser Dokument wieder.< | ||
- | " | + | " |
=== Schlüssel aus dem lokalen Schlüsselspeicher entfernen === | === Schlüssel aus dem lokalen Schlüsselspeicher entfernen === | ||
Löschen wir nun den kompletten Schlüssel aus der lokalen Schlüsseldatei, | Löschen wir nun den kompletten Schlüssel aus der lokalen Schlüsseldatei, | ||
- | $ gpg --delete-secret-key secmail@mailserver.guru | + | $ 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. | ||
Zeile 1131: | Zeile 1160: | ||
- | sec 4096R/ | + | sec 4096R/ |
Delete this key from the keyring? (y/N) y | Delete this key from the keyring? (y/N) y | ||
Zeile 1149: | Zeile 1178: | ||
------------------------------ | ------------------------------ | ||
sec | sec | ||
- | uid Django aka BOfH < | + | uid Django aka BOfH < |
ssb> | ssb> | ||
ssb> | ssb> | ||
Zeile 1158: | Zeile 1187: | ||
Nun löschen wir den primären Signierungsschlüssel inkl. der Unterschlüssel. | Nun löschen wir den primären Signierungsschlüssel inkl. der Unterschlüssel. | ||
- | $ gpg2 --delete-secret-key secmail@mailserver.guru | + | $ gpg2 --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. | ||
Zeile 1164: | Zeile 1193: | ||
- | sec 4096R/ | + | sec 4096R/ |
Delete this key from the keyring? (y/N) y | Delete this key from the keyring? (y/N) y | ||
Zeile 1175: | Zeile 1204: | ||
$ gpg2 --import subkeys | $ gpg2 --import subkeys | ||
< | < | ||
- | gpg: key D1359446: " | + | gpg: key D1359446: " |
gpg: Total number processed: 1 | gpg: Total number processed: 1 | ||
gpg: unchanged: 1 | gpg: unchanged: 1 | ||
Zeile 1186: | Zeile 1215: | ||
------------------------------ | ------------------------------ | ||
sec# 4096R/ | sec# 4096R/ | ||
- | uid Django aka BOfH < | + | uid Django aka BOfH < |
ssb> | ssb> | ||
ssb> | ssb> | ||
Zeile 1195: | Zeile 1224: | ||
==== Nitrokey und Thunderbird ==== | ==== 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 und auf die SmartCard des Kryptostick Pro verschoben hatten. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | 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. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ |