Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
fedora:nitrokey:start [04.08.2020 16:14. ] – [Nitrokey Start in der Praxis unter Fedora 29] django | fedora:nitrokey:start [18.11.2024 18:58. ] (aktuell) – Externe Bearbeitung 127.0.0.1 |
---|
| |
Real name: Django aka [BOfH] | Real name: Django aka [BOfH] |
Email address: secmail@mailserver.guru | Email address: secmail@nausch.org |
Comment: Bastard Operator from Hell | Comment: Bastard Operator from Hell |
You selected this USER-ID: | You selected this USER-ID: |
"Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru>" | "Django aka [BOfH] (Bastard Operator from Hell) <secmail@nausch.org>" |
| |
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o | Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o |
pub rsa2048 2018-11-26 [SC] | pub rsa2048 2018-11-26 [SC] |
E65B2BDF79A2E2E4C28F6E062E22436430385B49 | E65B2BDF79A2E2E4C28F6E062E22436430385B49 |
uid Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru> | uid Django aka [BOfH] (Bastard Operator from Hell) <secmail@nausch.org> |
sub rsa2048 2018-11-26 [A] | sub rsa2048 2018-11-26 [A] |
sub rsa2048 2018-11-26 [E]</code> | sub rsa2048 2018-11-26 [E]</code> |
In dem Artikel **[[https://www.nitrokey.com/de/news/2017/nitrokey-start-unterst%C3%BCtzt-elliptische-kurven-ecc|Nitrokey Start unterstützt elliptische Kurven (ECC)]]** wird sehr ausführlich das Zusammenspiel des Nitrokey Start und ECC beschrieben. | In dem Artikel **[[https://www.nitrokey.com/de/news/2017/nitrokey-start-unterst%C3%BCtzt-elliptische-kurven-ecc|Nitrokey Start unterstützt elliptische Kurven (ECC)]]** wird sehr ausführlich das Zusammenspiel des Nitrokey Start und ECC beschrieben. |
| |
Damit auf einem **Nitrokey Start** Schlüssel auf Basis elliptischer Kurven generiert werden können, muss dieser mindestens die Firmware Version 1.2 verfügen. Dies kontrolliert man am einfachsten mi Folgendem Befehl. | Damit auf einem **Nitrokey Start** Schlüssel auf Basis elliptischer Kurven generiert werden können, muss dieser mindestens die Firmware Version 1.2 verfügen. Dies kontrolliert man am einfachsten mit Folgendem Befehl. |
$ gpg2 --card-status | grep Reader | $ gpg2 --card-status | grep Reader |
| |
| |
Real name: Django aka [BOfH] | Real name: Django aka [BOfH] |
Email address: secmail@mailserver.guru | Email address: secmail@nausch.org |
Comment: Bastard Operator from Hell | Comment: Bastard Operator from Hell |
You selected this USER-ID: | You selected this USER-ID: |
"Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru>" | "Django aka [BOfH] (Bastard Operator from Hell) <secmail@nausch.org>" |
| |
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o | Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o |
Authentication key: 9131 32BE D5AF D08E 4464 89B6 77F0 A5B2 F32A 76AE | Authentication key: 9131 32BE D5AF D08E 4464 89B6 77F0 A5B2 F32A 76AE |
created ....: 2018-11-27 21:26:26 | created ....: 2018-11-27 21:26:26 |
General key info..: pub ed25519/9308FC78386863AC 2018-11-27 Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru> | General key info..: pub ed25519/9308FC78386863AC 2018-11-27 Django aka [BOfH] (Bastard Operator from Hell) <secmail@nausch.org> |
sec> ed25519/9308FC78386863AC created: 2018-11-27 expires: never | sec> ed25519/9308FC78386863AC created: 2018-11-27 expires: never |
card-no: FFFE 43243711 | card-no: FFFE 43243711 |
<code>pub ed25519 2018-11-27 [SC] | <code>pub ed25519 2018-11-27 [SC] |
3E61A50347B523824132EC069308FC78386863AC | 3E61A50347B523824132EC069308FC78386863AC |
uid Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru> | uid Django aka [BOfH] (Bastard Operator from Hell) <secmail@nausch.org> |
sub ed25519 2018-11-27 [A] | sub ed25519 2018-11-27 [A] |
sub cv25519 2018-11-27 [E] | sub cv25519 2018-11-27 [E] |
E65B2BDF79A2E2E4C28F6E062E22436430385B49 | E65B2BDF79A2E2E4C28F6E062E22436430385B49 |
Card serial no. = FFFE 43243711 | Card serial no. = FFFE 43243711 |
uid [ultimate] Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru> | uid [ultimate] Django aka [BOfH] (Bastard Operator from Hell) <secmail@nausch.org> |
ssb> rsa2048 2018-11-26 [A] | ssb> rsa2048 2018-11-26 [A] |
ssb> rsa2048 2018-11-26 [E] | ssb> rsa2048 2018-11-26 [E] |
pub rsa2048 2018-11-26 [SC] | pub rsa2048 2018-11-26 [SC] |
E65B2BDF79A2E2E4C28F6E062E22436430385B49 | E65B2BDF79A2E2E4C28F6E062E22436430385B49 |
uid [ultimate] Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru> | uid [ultimate] Django aka [BOfH] (Bastard Operator from Hell) <secmail@nausch.org> |
sub rsa2048 2018-11-26 [A] | sub rsa2048 2018-11-26 [A] |
sub rsa2048 2018-11-26 [E]</code> | sub rsa2048 2018-11-26 [E]</code> |
=== Öffentlichen Schlüssel ausgeben === | === Öffentlichen Schlüssel ausgeben === |
Damit wir später unseren öffentlichen Schlüssel auch weitergeben oder zu einem [[https://keyserver.nausch.org|Keyserver]] hoch laden, exportieren wir diesen in eine Datei. | Damit wir später unseren öffentlichen Schlüssel auch weitergeben oder zu einem [[https://keyserver.nausch.org|Keyserver]] hoch laden, exportieren wir diesen in eine Datei. |
$ gpg --export --armor secmail@mailserver.guru > secmail@mailserver.guru.pubkey | $ gpg --export --armor secmail@nausch.org > secmail@nausch.org.pubkey |
| |
Diese Datei enthält unseren Schlüssel in ASCII-lesbarer Form. | Diese Datei enthält unseren Schlüssel in ASCII-lesbarer Form. |
$ cat secmail@mailserver.guru.pubkey | $ cat secmail@nausch.org.pubkey |
<file key secmail@mailserver.guru.pubkey>-----BEGIN PGP PUBLIC KEY BLOCK----- | <file key secmail@nausch.org.pubkey>-----BEGIN PGP PUBLIC KEY BLOCK----- |
| |
mQENBFv8ZM0BCADIZ1us1KDfrl+VVZTmjgVDb9XLSJDWOCjjhngzkBNVIYpPRL9P | mQENBFv8ZM0BCADIZ1us1KDfrl+VVZTmjgVDb9XLSJDWOCjjhngzkBNVIYpPRL9P |
created ....: 2018-11-26 21:25:33 | created ....: 2018-11-26 21:25:33 |
General key info..: | General key info..: |
pub 2048R/30385B49 2018-11-26 Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru> | pub 2048R/30385B49 2018-11-26 Django aka [BOfH] (Bastard Operator from Hell) <secmail@nausch.org> |
sec> 2048R/30385B49 created: 2018-11-26 expires: never | sec> 2048R/30385B49 created: 2018-11-26 expires: never |
card-no: FFFE 43243711 | card-no: FFFE 43243711 |
created ....: 2018-11-26 21:25:33 | created ....: 2018-11-26 21:25:33 |
General key info..: | General key info..: |
pub 2048R/30385B49 2018-11-26 Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru> | pub 2048R/30385B49 2018-11-26 Django aka [BOfH] (Bastard Operator from Hell) <secmail@nausch.org> |
sec> 2048R/30385B49 created: 2018-11-26 expires: never | sec> 2048R/30385B49 created: 2018-11-26 expires: never |
card-no: FFFE 43243711 | card-no: FFFE 43243711 |
| |
- Zunächst Wir legen uns erst einmal ein beliebiges Testdokument an. <code> $ cat /etc/redhat-release > testdatei.txt</code> Die Date hat nun folgenden Inhalt:<code> $ cat testdatei.txt</code><code>Fedora release 29 (Twenty Nine)</code> | - Zunächst Wir legen uns erst einmal ein beliebiges Testdokument an. <code> $ cat /etc/redhat-release > testdatei.txt</code> Die Date hat nun folgenden Inhalt:<code> $ cat testdatei.txt</code><code>Fedora release 29 (Twenty Nine)</code> |
- Nun verschlüsseln wir dieses Textdokument: <code> $ gpg2 -o testdatei.txt.pgp -a -r secmail@mailserver.guru -e testdatei.txt</code> Wir haben also nun zwei Dokumente auf der Platte liegen. <code> $ ll testdatei.txt*</code><code>-rw-rw-r--. 1 django django 32 Nov 26 22:56 testdatei.txt | - Nun verschlüsseln wir dieses Textdokument: <code> $ gpg2 -o testdatei.txt.pgp -a -r secmail@nausch.org -e testdatei.txt</code> Wir haben also nun zwei Dokumente auf der Platte liegen. <code> $ ll testdatei.txt*</code><code>-rw-rw-r--. 1 django django 32 Nov 26 22:56 testdatei.txt |
-rw-rw-r--. 1 django django 573 Nov 26 22:57 testdatei.txt.pgp</code>Die Datei **testdatei.txt.pgp** können wir nun soweit nicht mehr lesen.<code> $ cat testdatei.txt.pgp</code><code>-----BEGIN PGP MESSAGE----- | -rw-rw-r--. 1 django django 573 Nov 26 22:57 testdatei.txt.pgp</code>Die Datei **testdatei.txt.pgp** können wir nun soweit nicht mehr lesen.<code> $ cat testdatei.txt.pgp</code><code>-----BEGIN PGP MESSAGE----- |
| |
-----END PGP MESSAGE-----</code> | -----END PGP MESSAGE-----</code> |
- Nun entschlüsseln wir unser Dokument wieder.<code> $ gpg2 --decrypt testdatei.txt.pgp > testdatei-entschlüsselt.txt</code><code>gpg: encrypted with 2048-bit RSA key, ID E1F55A90819028A5, created 2018-11-26 | - Nun entschlüsseln wir unser Dokument wieder.<code> $ gpg2 --decrypt testdatei.txt.pgp > testdatei-entschlüsselt.txt</code><code>gpg: encrypted with 2048-bit RSA key, ID E1F55A90819028A5, created 2018-11-26 |
"Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru>"</code> Den Inhalt dieser Datei können wir nun nach erfolgter Entschlüsselung natürlich wieder lesen.<code> $ cat testdatei-entschlüsselt.txt</code><code>Fedora release 29 (Twenty Nine)</code> | "Django aka [BOfH] (Bastard Operator from Hell) <secmail@nausch.org>"</code> Den Inhalt dieser Datei können wir nun nach erfolgter Entschlüsselung natürlich wieder lesen.<code> $ cat testdatei-entschlüsselt.txt</code><code>Fedora release 29 (Twenty Nine)</code> |
| |
=== Signieren === | === Signieren === |
."Cd08[I8~�v��qF���Sʶ��#Q�5�G�C�#?��A,�Pf��$��m�fׇVd�9Xλ,gJX��i�5� | ."Cd08[I8~�v��qF���Sʶ��#Q�5�G�C�#?��A,�Pf��$��m�fׇVd�9Xλ,gJX��i�5� |
�<)�{��\;�f�jJ14��D�m|�mW�:�v�(4� Jt�y�G��AV\<`,Q | �<)�{��\;�f�jJ14��D�m|�mW�:�v�(4� Jt�y�G��AV\<`,Q |
�b �v�©]/�$�l��/as����`I���}(`�Sb�M5�%0�<Ծ&3��*��\5��^��[�d�7W���m���'k��g��t��</code> Die Datei beinhaltet die Signatur zu unserer Datei, also entsporechender Zahlensalat.<code> $ file textdatei.txt.gpg</code><code>textdatei.txt.gpg: data</code> Dieses Vorgehen macht jedoch nur Sinn, wenn mit der Option ''%%--%%encrypt'' gleichzeitig die Datei verschlüsselt werden soll. Wir signieren nun die Datei mit dem privat-key und verschlüsseln die Datei mit dem public-key unseres eigenen Schlüssels auf dem Nitrokey Start. So kann die Datei nur von uns selbst wieder aufgemacht werden, sofern man im Besitz des Nitrokey Start und der zugehörigen PIN ist!<code> $ gpg --encrypt --sign -r secmail@mailserver.guru textdatei.txt</code><code>gpg: detected reader `Nitrokey Nitrokey Start (FSIJ-1.2.10-43243711) 00 00' | �b �v�©]/�$�l��/as����`I���}(`�Sb�M5�%0�<Ծ&3��*��\5��^��[�d�7W���m���'k��g��t��</code> Die Datei beinhaltet die Signatur zu unserer Datei, also entsporechender Zahlensalat.<code> $ file textdatei.txt.gpg</code><code>textdatei.txt.gpg: data</code> Dieses Vorgehen macht jedoch nur Sinn, wenn mit der Option ''%%--%%encrypt'' gleichzeitig die Datei verschlüsselt werden soll. Wir signieren nun die Datei mit dem privat-key und verschlüsseln die Datei mit dem public-key unseres eigenen Schlüssels auf dem Nitrokey Start. So kann die Datei nur von uns selbst wieder aufgemacht werden, sofern man im Besitz des Nitrokey Start und der zugehörigen PIN ist!<code> $ gpg --encrypt --sign -r secmail@nausch.org textdatei.txt</code><code>gpg: detected reader `Nitrokey Nitrokey Start (FSIJ-1.2.10-43243711) 00 00' |
gpg: signatures created so far: 8 | gpg: signatures created so far: 8 |
| |
=ld6o | =ld6o |
-----END PGP SIGNATURE-----</code> Mit ''gpg %%-–%%verify'' können wir die Signatur der Datei überprüfen:<code> $ gpg --verify textdatei.txt.asc</code><code>gpg: Signature made Mon Nov 26 23:26:49 2018 CET using RSA key ID 30385B49 | -----END PGP SIGNATURE-----</code> Mit ''gpg %%-–%%verify'' können wir die Signatur der Datei überprüfen:<code> $ gpg --verify textdatei.txt.asc</code><code>gpg: Signature made Mon Nov 26 23:26:49 2018 CET using RSA key ID 30385B49 |
gpg: Good signature from "Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru>" | gpg: Good signature from "Django aka [BOfH] (Bastard Operator from Hell) <secmail@nausch.org>" |
gpg: WARNING: not a detached signature; file 'textdatei.txt' was NOT verified!</code>Wir verändern nun zu Testzwecken den Inhalt der Testdatei, in dem wir den Text verfälschen. <code> $ vim textdatei.txt.asc</code><code>-----BEGIN PGP SIGNED MESSAGE----- | gpg: WARNING: not a detached signature; file 'textdatei.txt' was NOT verified!</code>Wir verändern nun zu Testzwecken den Inhalt der Testdatei, in dem wir den Text verfälschen. <code> $ vim textdatei.txt.asc</code><code>-----BEGIN PGP SIGNED MESSAGE----- |
Hash: SHA1 | Hash: SHA1 |
=ld6o | =ld6o |
-----END PGP SIGNATURE-----</code>Nun überprüfen wir die Signatur der Testdatei, was natürlich postwendend als **BAD signature** angeprangert wird. <code> $ gpg --verify textdatei.txt.asc</code><code>gpg: Signature made Mon Nov 26 23:26:49 2018 CET using RSA key ID 30385B49 | -----END PGP SIGNATURE-----</code>Nun überprüfen wir die Signatur der Testdatei, was natürlich postwendend als **BAD signature** angeprangert wird. <code> $ gpg --verify textdatei.txt.asc</code><code>gpg: Signature made Mon Nov 26 23:26:49 2018 CET using RSA key ID 30385B49 |
gpg: BAD signature from "Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru>"</code> | gpg: BAD signature from "Django aka [BOfH] (Bastard Operator from Hell) <secmail@nausch.org>"</code> |
| |
| |
Authentication key: 9131 32BE D5AF D08E 4464 89B6 77F0 A5B2 F32A 76AE | Authentication key: 9131 32BE D5AF D08E 4464 89B6 77F0 A5B2 F32A 76AE |
created ....: 2018-11-27 21:26:26 | created ....: 2018-11-27 21:26:26 |
General key info..: pub ed25519/9308FC78386863AC 2018-11-27 Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru> | General key info..: pub ed25519/9308FC78386863AC 2018-11-27 Django aka [BOfH] (Bastard Operator from Hell) <secmail@nausch.org> |
sec> ed25519/9308FC78386863AC erzeugt: 2018-11-27 verfällt: niemals | sec> ed25519/9308FC78386863AC erzeugt: 2018-11-27 verfällt: niemals |
Kartennummer:FFFE 43243711 | Kartennummer:FFFE 43243711 |