Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
suse:nitrokey:start [10.08.2020 16:17. ] – [Nitrokey Start und X.509 / S/MIME] django | suse:nitrokey:start [18.11.2024 18:51. ] (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 2020-08-04 [SC] | pub rsa2048 2020-08-04 [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 2020-08-04 [A] | sub rsa2048 2020-08-04 [A] |
sub rsa2048 2020-08-04 [E]</code> | sub rsa2048 2020-08-04 [E]</code> |
| |
Zum Schluss verlassen wir das Programm **gpg2** mit ''**quit**''. | Zum Schluss verlassen wir das Programm **gpg2** mit ''**quit**''. |
gpg/card> quit</code> | gpg/card> quit |
| |
Fragen wir nun erneut mit den Befehl ''**gpg2 --card-status**'' welcher Schlüssel-Typ eingestellt ist, finden wir unsere geänderten Werte. | Fragen wir nun erneut mit den Befehl ''**gpg2 %%--%%card-status**'' welcher Schlüssel-Typ eingestellt ist, finden wir unsere geänderten Werte. |
$ gpg2 --card-status | grep Key\ attributes | $ gpg2 --card-status | grep Key\ attributes |
| |
| |
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 |
gpg: key 9308FC78386863AC marked as ultimately trusted | gpg: key 9308FC78386863AC marked as ultimately trusted |
gpg: revocation certificate stored as '/home/django/.gnupg/openpgp-revocs.d/3E61A50347B523824132EC069308FC78386863AC.rev' | gpg: revocation certificate stored as '/home/django/.gnupg/openpgp-revocs.d/3E61A50347B523824132EC069308FC78386863AC.rev' |
public and secret key created and signed.<code> | public and secret key created and signed.</code> |
| |
Fragen wir nun den Inhalt der SmartCard mit dem Befehl ''**verify**'' ab, finden wir unsere gerade erstellten Schlüssel. | Fragen wir nun den Inhalt der SmartCard mit dem Befehl ''**verify**'' ab, finden wir unsere gerade erstellten Schlüssel. |
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 ....: 2020-08-04 21:26:26 | created ....: 2020-08-04 21:26:26 |
General key info..: pub ed25519/9308FC78386863AC 2020-08-04 Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru> | General key info..: pub ed25519/9308FC78386863AC 2020-08-04 Django aka [BOfH] (Bastard Operator from Hell) <secmail@nausch.org> |
sec> ed25519/9308FC78386863AC created: 2020-08-04 expires: never | sec> ed25519/9308FC78386863AC created: 2020-08-04 expires: never |
card-no: FFFE 43243711 | card-no: FFFE 43243711 |
<code>pub ed25519 2020-08-04 [SC] | <code>pub ed25519 2020-08-04 [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 2020-08-04 [A] | sub ed25519 2020-08-04 [A] |
sub cv25519 2020-08-04 [E] | sub cv25519 2020-08-04 [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 2020-08-04 [A] | ssb> rsa2048 2020-08-04 [A] |
ssb> rsa2048 2020-08-04 [E] | ssb> rsa2048 2020-08-04 [E] |
=== Öffentlichen Schlüssel ausgeben === | === Öffentlichen Schlüssel ausgeben === |
Damit wir später unseren öffentlichen Schlüssel auch weitergeben oder zu einem [[https://keys.openpgp.org/|Keyserver]] hoch laden, exportieren wir diesen in eine Datei. | Damit wir später unseren öffentlichen Schlüssel auch weitergeben oder zu einem [[https://keys.openpgp.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 |
BUG_REPORT_URL="https://bugs.opensuse.org" | BUG_REPORT_URL="https://bugs.opensuse.org" |
HOME_URL="https://www.opensuse.org/"</code> | HOME_URL="https://www.opensuse.org/"</code> |
- Nun verschlüsseln wir dieses Textdokument: <code> $ gpg2 -o testdatei.txt.pgp -a -r secmail@mailserver.guru -e testdatei.txt</code> <code>gpg: BF1EA3F703203D8A: There is no assurance this key belongs to the named user | - Nun verschlüsseln wir dieses Textdokument: <code> $ gpg2 -o testdatei.txt.pgp -a -r secmail@nausch.org -e testdatei.txt</code> <code>gpg: BF1EA3F703203D8A: There is no assurance this key belongs to the named user |
sub cv25519/BF1EA3F703203D8A 2018-11-27 Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru> | sub cv25519/BF1EA3F703203D8A 2018-11-27 Django aka [BOfH] (Bastard Operator from Hell) <secmail@nausch.org> |
Primary key fingerprint: 3E61 A503 47B5 2382 4132 EC06 9308 FC78 3868 63AC | Primary key fingerprint: 3E61 A503 47B5 2382 4132 EC06 9308 FC78 3868 63AC |
Subkey fingerprint: FB2B D8AD 4660 EADE 0108 852D BF1E A3F7 0320 3D8A | Subkey fingerprint: FB2B D8AD 4660 EADE 0108 852D BF1E A3F7 0320 3D8A |
-----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 256-bit ECDH key, ID BF1EA3F703203D8A, created 2018-11-27 | - Nun entschlüsseln wir unser Dokument wieder.<code> $ gpg2 --decrypt testdatei.txt.pgp > testdatei-entschlüsselt.txt</code><code>gpg: encrypted with 256-bit ECDH key, ID BF1EA3F703203D8A, created 2018-11-27 |
"Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru>"</code> {{ :suse:nitrokey:nitrokey-start-suse-01.png?direct&350 |Bild: Bildschirmhardcopy der gpg-keyentry Abfrage}} Den Inhalt dieser Datei können wir nun nach erfolgter Entschlüsselung natürlich wieder lesen.<code> $ cat testdatei-entschlüsselt.txt</code><code>NAME="openSUSE Leap" | "Django aka [BOfH] (Bastard Operator from Hell) <secmail@nausch.org>"</code> {{ :suse:nitrokey:nitrokey-start-suse-01.png?direct&350 |Bild: Bildschirmhardcopy der gpg-keyentry Abfrage}} Den Inhalt dieser Datei können wir nun nach erfolgter Entschlüsselung natürlich wieder lesen.<code> $ cat testdatei-entschlüsselt.txt</code><code>NAME="openSUSE Leap" |
VERSION="15.2" | VERSION="15.2" |
ID="opensuse-leap" | ID="opensuse-leap" |
- Nun signieren wir dieses Textdokument: <code> $ gpg --sign textdatei.txt</code> {{ :suse:nitrokey:nitrokey-start-suse-01.png?direct&350 |Bild: Bildschirmhardcopy der gpg-keyentry Abfrage}} Wir haben also nun zwei Dokumente auf der Platte liegen. <code> $ ll textdatei.txt*</code><code>-rw-r--r-- 1 django users 29 4. Aug 20:57 textdatei.txt | - Nun signieren wir dieses Textdokument: <code> $ gpg --sign textdatei.txt</code> {{ :suse:nitrokey:nitrokey-start-suse-01.png?direct&350 |Bild: Bildschirmhardcopy der gpg-keyentry Abfrage}} Wir haben also nun zwei Dokumente auf der Platte liegen. <code> $ ll textdatei.txt*</code><code>-rw-r--r-- 1 django users 29 4. Aug 20:57 textdatei.txt |
-rw-r--r-- 1 django users 177 4. Aug 20:57 textdatei.txt.gpg</code>Die Datei **textdatei.txt.pgp** können wir nun soweit nicht mehr lesen.<code> $ cat textdatei.txt.gpg</code><code>������!6��O�EF���5I�%�%)�%��z%%��W�d*��)8��+X��[+8��yF\�,b �b�,v�K�ݷ*79��a����2���S&�����Gq��}���o������u��Ȗ_�Wu_����&����y��G�P�z����ۙ��(;xn��4</code> Die Datei beinhaltet die Signatur zu unserer Datei, also entsprechender 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: BF1EA3F703203D8A: There is no assurance this key belongs to the named user | -rw-r--r-- 1 django users 177 4. Aug 20:57 textdatei.txt.gpg</code>Die Datei **textdatei.txt.pgp** können wir nun soweit nicht mehr lesen.<code> $ cat textdatei.txt.gpg</code><code>������!6��O�EF���5I�%�%)�%��z%%��W�d*��)8��+X��[+8��yF\�,b �b�,v�K�ݷ*79��a����2���S&�����Gq��}���o������u��Ȗ_�Wu_����&����y��G�P�z����ۙ��(;xn��4</code> Die Datei beinhaltet die Signatur zu unserer Datei, also entsprechender 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: BF1EA3F703203D8A: There is no assurance this key belongs to the named user |
sub cv25519/BF1EA3F703203D8A 2018-11-27 Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru> | sub cv25519/BF1EA3F703203D8A 2018-11-27 Django aka [BOfH] (Bastard Operator from Hell) <secmail@nausch.org> |
Primary key fingerprint: 3E61 A503 47B5 2382 4132 EC06 9308 FC78 3868 63AC | Primary key fingerprint: 3E61 A503 47B5 2382 4132 EC06 9308 FC78 3868 63AC |
Subkey fingerprint: FB2B D8AD 4660 EADE 0108 852D BF1E A3F7 0320 3D8A | Subkey fingerprint: FB2B D8AD 4660 EADE 0108 852D BF1E A3F7 0320 3D8A |
-----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 Di 04 Aug 2020 21:03:24 CEST | -----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 Di 04 Aug 2020 21:03:24 CEST |
gpg: using EDDSA key 3E61A50347B523824132EC069308FC78386863AC | gpg: using EDDSA key 3E61A50347B523824132EC069308FC78386863AC |
gpg: Good signature from "Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru>" [unknown] | gpg: Good signature from "Django aka [BOfH] (Bastard Operator from Hell) <secmail@nausch.org>" [unknown] |
gpg: WARNING: This key is not certified with a trusted signature! | gpg: WARNING: This key is not certified with a trusted signature! |
gpg: There is no indication that the signature belongs to the owner. | gpg: There is no indication that the signature belongs to the owner. |
-----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 Di 04 Aug 2020 21:03:24 CEST | -----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 Di 04 Aug 2020 21:03:24 CEST |
gpg: using EDDSA key 3E61A50347B523824132EC069308FC78386863AC | gpg: using EDDSA key 3E61A50347B523824132EC069308FC78386863AC |
gpg: BAD signature from "Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru>" [unknown]</code> | gpg: BAD signature from "Django aka [BOfH] (Bastard Operator from Hell) <secmail@nausch.org>" [unknown]</code> |
| |
==== Nitrokey Start und Thunderbird ==== | ==== Nitrokey Start und Thunderbird ==== |
=== micro-ca-tool === | === micro-ca-tool === |
== Vorbereitung == | == Vorbereitung == |
$ cd ~/nitrokey/cd | $ mkdir ~/nitrokey |
| |
| $ cd ~/nitrokey |
| |
$ git clone https://github.com/sektioneins/micro-ca-tool.git | $ git clone https://github.com/sektioneins/micro-ca-tool.git |
| |
# zypper install opensc | # zypper install opensc |
| |