Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
nitrokey:arch:start [30.05.2024 11:32. ] – [Nitrokey Start und Thunderbird] django | nitrokey:arch:start [16.12.2024 20:35. ] (aktuell) – [erster Test] django | ||
---|---|---|---|
Zeile 43: | Zeile 43: | ||
/ | / | ||
- | Mit Hilfe des Befehls '' | + | Mit Hilfe des Befehls '' |
# lsusb | grep Nitrokey | # lsusb | grep Nitrokey | ||
Bus 002 Device 020: ID 20a0:4211 Clay Logic Nitrokey Start | Bus 002 Device 020: ID 20a0:4211 Clay Logic Nitrokey Start | ||
Zeile 154: | Zeile 154: | ||
===== Anwendungsfälle - Software ===== | ===== Anwendungsfälle - Software ===== | ||
+ | ==== Nitrokey Start und GnuPG ==== | ||
Da es sich bei der Chipkarte des **Nitrokey Start** um eine standardkompatible OpenPGP-Karte handelt, kann der Kryptostick mit Hilfe von **[[https:// | Da es sich bei der Chipkarte des **Nitrokey Start** um eine standardkompatible OpenPGP-Karte handelt, kann der Kryptostick mit Hilfe von **[[https:// | ||
Zeile 307: | Zeile 308: | ||
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: | ||
- | " | + | " |
Change (N)ame, (C)omment, (E)mail or (O)kay/ | Change (N)ame, (C)omment, (E)mail or (O)kay/ | ||
Zeile 328: | Zeile 329: | ||
pub | pub | ||
E65B2BDF79A2E2E4C28F6E062E22436430385B49 | E65B2BDF79A2E2E4C28F6E062E22436430385B49 | ||
- | uid Django aka [BOfH] (Bastard Operator from Hell) < | + | uid Django aka [BOfH] (Bastard Operator from Hell) < |
sub | sub | ||
sub | sub | ||
Zeile 339: | Zeile 340: | ||
$ gpg2 --card-status | grep Reader | $ gpg2 --card-status | grep Reader | ||
- | Reader ...........: | + | Reader ...........: |
- | Ferner muss auf dem Rechner, an dem der Stick angesteckt und administriert werden soll, GnuPG in Version 2.1.16 oder höher installiert sein. Bei open SUSE leap 15.2 ist dies kein Problem da aktuell((August | + | Ferner muss auf dem Rechner, an dem der Stick angesteckt und administriert werden soll, GnuPG in Version 2.1.16 oder höher installiert sein. Bei **[[https:// |
$ gpg2 --version | grep gpg | $ gpg2 --version | grep gpg | ||
- | gpg (GnuPG) 2.2.5 | + | gpg (GnuPG) 2.4.5 |
Nun werden wir uns Schlüsselpaar auf Basis elliptischer Kurven auf dem Nitrokey Start generieren. Bevor wir die eigentlichen [[https:// | Nun werden wir uns Schlüsselpaar auf Basis elliptischer Kurven auf dem Nitrokey Start generieren. Bevor wir die eigentlichen [[https:// | ||
Zeile 455: | Zeile 456: | ||
gpg/ | gpg/ | ||
- | Die Schlüsselgenerierung erfolgt im Adminmenü, in welches wir nun erst einmal wechseln werden. | + | Die Schlüsselgenerierung erfolgt im Admin-Menü, in welches wir nun erst einmal wechseln werden. |
gpg/ | gpg/ | ||
Zeile 481: | Zeile 482: | ||
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: | ||
- | " | + | " |
Change (N)ame, (C)omment, (E)mail or (O)kay/ | Change (N)ame, (C)omment, (E)mail or (O)kay/ | ||
Zeile 508: | Zeile 509: | ||
PIN retry counter : 3 3 3 | PIN retry counter : 3 3 3 | ||
Signature counter : 4 | Signature counter : 4 | ||
- | Signature key ....: 3E61 A503 47B5 2382 4132 EC06 9308 FC78 3868 63AC | + | Signature key ....: 2C08 2445 CDFB 72DE CD65 0350 610E D9AE E553 353F |
- | created ....: 2020-08-04 21:26:26 | + | created ....: 2024-01-03 21:17:32 |
- | Encryption key....: | + | Encryption key....: |
- | created ....: 2020-08-04 21:26:26 | + | created ....: 2024-01-03 21:17:32 |
- | Authentication key: 9131 32BE D5AF D08E 4464 89B6 77F0 A5B2 F32A 76AE | + | Authentication key: D5AF 3627 1220 7A2A 54BD 6C47 C72E 74B8 1A5C 4549 |
- | created ....: 2020-08-04 21:26:26 | + | created ....: 2024-01-03 21:17:32 |
- | General key info..: pub ed25519/9308FC78386863AC 2020-08-04 Django | + | General key info..: |
- | sec> | + | pub ed25519/610ED9AEE553353F 2024-01-03 Django (Bastard Operator from Hell [BOfH]) <django@nausch.org> |
+ | sec> | ||
card-no: FFFE 43243711 | card-no: FFFE 43243711 | ||
- | ssb> | + | ssb> |
card-no: FFFE 43243711 | card-no: FFFE 43243711 | ||
- | ssb> | + | ssb> |
- | card-no: FFFE 43243711</ | + | card-no: FFFE 43243711 |
+ | </ | ||
Wir verlassen nun das Programm **'' | Wir verlassen nun das Programm **'' | ||
gpg/ | gpg/ | ||
- | < | + | < |
- | | + | |
- | uid Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru> | + | uid Django aka [BOfH] (Bastard Operator from Hell) <django@nausch.org> |
- | sub | + | sub |
- | sub | + | sub |
</ | </ | ||
Zeile 535: | Zeile 538: | ||
$ gpg2 -K | $ gpg2 -K | ||
- | < | + | < |
- | | + | |
Card serial no. = FFFE 43243711 | Card serial no. = FFFE 43243711 | ||
- | uid | + | uid |
- | ssb> | + | ssb> |
- | ssb> | + | ssb> |
</ | </ | ||
=== Ö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 | + | $ gpg --export --armor |
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 ~/.gnupg/secmail@nausch.org.pubkey |
- | <file key secmail@mailserver.guru.pubkey> | + | <file key secmail@nausch.org.pubkey> |
- | mQENBFv8ZM0BCADIZ1us1KDfrl+VVZTmjgVDb9XLSJDWOCjjhngzkBNVIYpPRL9P | + | mDMEZZXO7BYJKwYBBAHaRw8BAQdA++J6Astvcm2DsHDnzXGHKujQiokCxG+F3qPy |
- | CVueNDD+TiWQ7HyKKnel/ | + | 1rPSUGy0PkRqYW5nbyAoQmFzdGFyZCBPcGVyYXRvciBmcm9tIEhlbGwgW0JPZkhd |
- | uKNoMSyqdNSxcHc/ | + | KSA8ZGphbmdvQG5hdXNjaC5vcmc+iJAEExYIADgWIQQsCCRFzfty3s1lA1BhDtmu |
- | GwETwrEguCFMloRCeAZL3iU8t8p/ | + | 5VM1PwUCZZXO7AIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRBhDtmu5VM1 |
- | 9+2MqLoX3K1h30l8Iqc2p4cUNjItSvxcmsb5kJoKoR4050c13zcmdQ9UZ8XvvxmI | + | P8eRAQCLsRNtgCWBVpvYkL/QgeYJ6rMVUBzwAPgM0W3zCzn+7QD/RK8ZJOCjLlc7 |
- | xiS8izqUwolqwhb6QFv3kgggZovG1hQDHk1NABEBAAG0SERqYW5nbyBha2EgW0JP | + | x/yBQ4e/+CO5ThvQsyvDGqXZs/KzmAG4MwRllc7sFgkrBgEEAdpHDwEBB0BzA+Dk |
- | ZkhdIChCYXN0YXJkIE9wZXJhdG9yIGZyb20gSGVsbCkgPHNlY21haWxAbWFpbHNl | + | r2200QLPPAuY0HlF+xzkdE2HfhCEC3CphggZZYh4BBgWCAAgFiEELAgkRc37ct7N |
- | cnZlci5ndXJ1PokBTgQTAQgAOBYhBOZbK995ouLkwo9uBi4iQ2QwOFtJBQJb/GTN | + | ZQNQYQ7ZruVTNT8FAmWVzuwCGyAACgkQYQ7ZruVTNT+fBwD9FPXANGpY7ey0XvpR |
- | AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEC4iQ2QwOFtJqFoIAIW78N3r | + | R2Xup+Kg4kAk/III/Q/I94BM6fcA/jyIau4jT+fjKjppijUNw54NG6MqIoBOGD+E |
- | Y3FC+V/ | + | savaGKcAuDgEZZXO7BIKKwYBBAGXVQEFAQEHQOYn/he3AiViwS3T9iNsiNm/5seO |
- | UrdfW+vwWQET6sj7qhRUhkwVHFfZQ/7FCzll+DuoKLB8OvQeILXqeo2+6AsGlDQm | + | nFpfN/WyjY2kdqkaAwEIB4h4BBgWCAAgFiEELAgkRc37ct7NZQNQYQ7ZruVTNT8F |
- | ySUEMU1Dg2nBnlye9uwVnQe83BNtKv4zJpVPu7vSiWpCyyIuXc9C4PZcBmFQpm82 | + | AmWVzuwCGwwACgkQYQ7ZruVTNT8oqQEAniidTk7WOah+nIA6fbT+UIdeDsAUXn82 |
- | wy88NKqWq72aUVXfMorJgRsSiP9DBG/OM++lySdjHB22y5who7680zTiy2lew220 | + | 4QfpcWmZkHUA/1Wmr0wuGE9HbF/AP22rqDfM3RwP3mz1KkIO2A3YSyIF |
- | CaOwVKwAfW7ZqV1su/ | + | =c/Sd |
- | vBGNMjXqsS7JmJS5AQ0EW/xkzQEIAKsH1ePbKq4QZ+SLbCbMXnj1fAISkUX2Hmxt | + | |
- | v/+IJUqpZ++qneUVqNiSgHjywXjBDH0v1jQanr804PjwSXUuPYMAamL7XyjnFAYX | + | |
- | E6SsI8PkkP5+zbiytKNb38OsqVj74XryhZKyzxmRMtqKcG8hRsUmM98OpUR/ | + | |
- | JzM1AADF3m4mg6vLu3JeH18u0sXUD6XNRkDSW0nqtdSM7G68wtiV+2FT37XFmeYx | + | |
- | rVLYXnJHGtATBhv3X5bhR/w/3Jdz9oatDFmBxBgWT9TzbZZ8ad4WX+oafGAPWa7p | + | |
- | OV/PBy5ya5CEbv1hVyIpTNNtxu97KZkdMs8n708x+xJro8uzwasAEQEAAYkBNgQY | + | |
- | AQgAIBYhBOZbK995ouLkwo9uBi4iQ2QwOFtJBQJb/ | + | |
- | itsIAKhd7EfJdzv2jBk// | + | |
- | DqZAjPZjV8xFHGrK5qQpAiLCQPK5V5PM4eqTXp5BIhTrbONjMYCa4RGXGFaC2oe0 | + | |
- | Mr3QJ/b+OfeP4BU2A3w6+tmVxd4xmWRwSixYDORaJQ7WXN4bjcMozA5K82012Jou | + | |
- | fVWzV3cm+f6ZATKPzWdSQ5uxPnXGT1vmUzpqRXaMRd3vKQNZcp+nOOrr9e9bX6S0 | + | |
- | CuNsU7U/1Z2hbx/w4qcsU+T1yGcpiwjNSnPAM94WjQTkMKBELrWgVQYm8SQVtkIi | + | |
- | f0bIUZIL3HhK/iyUihuDGaMmduG5AQ0EW/ | + | |
- | Odpq09SfuZ9TxVsKxv2sdmZSGIXSYo28yuuzvMJYRcBpsXBfdJXTqPz6PrIvCupw | + | |
- | piY3CfzRu0Vh67/ | + | |
- | cogor++jmBpgvzqjRkeGpFMe1dlQ5ImSypikYPwQrbtesDpJS/ | + | |
- | Gz6UoezemdnViurXIEAH2gBsuDfhonlW8O4OkbCwaaqGtPzWWBxDXCwHdt81T1aO | + | |
- | Pc8i/PmMaAxkQrXOGn5zC9RQbDhhDrMFEg1lZEx3O6ne+fRx5UoH4j92oYcQbs0A | + | |
- | EQEAAYkBNgQYAQgAIBYhBOZbK995ouLkwo9uBi4iQ2QwOFtJBQJb/GTNAhsMAAoJ | + | |
- | EC4iQ2QwOFtJ4JMIAJzDAz9N3QEIHAK5ifPADPbgfnwgGNJdeZacFC1jX82i8srj | + | |
- | aYG3DfCrRvCuRzFt4W++1FXH6VRUtsMkAOtXUpOEYTwdpCFcyg9IcIgQtwXPdzUq | + | |
- | Gp6XZWRhyDRuLF9pwM/Bv+KbRqHERsf143wFYsiNdDZSSqqz4ayOadJ4+3x1eZYA | + | |
- | +Uh1NJdNwME6KqEBRELmpndnyLl028iI4Tlf87sbYhT+JKjcEMRXCEqLdKJhDxNq | + | |
- | cDS7Js+gFE4YQSq4FtiXA2a8JjJGpiHRFFBDTy3ckPv0ASyjyTzgWXPWXkKp+XAG | + | |
- | dkn5YYBdkGUXocXtTGUPR4Aji+OapxkcLvXqfSA= | + | |
- | =WNYT | + | |
-----END PGP PUBLIC KEY BLOCK-----</ | -----END PGP PUBLIC KEY BLOCK-----</ | ||
Zeile 606: | Zeile 583: | ||
$ gpg --card-edit | $ gpg --card-edit | ||
- | < | + | < |
- | Application ID ...: D276000124010200FFFE140819670000 | + | Application ID ...: D276000124010200FFFE432437110000 |
+ | Application type .: OpenPGP | ||
Version ..........: 2.0 | Version ..........: 2.0 | ||
Manufacturer .....: unmanaged S/N range | Manufacturer .....: unmanaged S/N range | ||
- | Serial number ....: 14081967 | + | Serial number ....: 43243711 |
- | Name of cardholder: | + | Name of cardholder: |
- | Language prefs ...: [not set] | + | Language prefs ...: |
- | Sex ..............: | + | Salutation |
URL of public key : [not set] | URL of public key : [not set] | ||
Login data .......: [not set] | Login data .......: [not set] | ||
Zeile 619: | Zeile 597: | ||
Key attributes ...: ed25519 cv25519 ed25519 | Key attributes ...: ed25519 cv25519 ed25519 | ||
Max. PIN lengths .: 127 127 127 | Max. PIN lengths .: 127 127 127 | ||
- | PIN retry counter : 3 3 3 | + | PIN retry counter : 3 3 2 |
- | Signature counter : 17 | + | Signature counter : 9 |
- | Signature key ....: B9D7 123A 1FEF B68D B901 937C 4F5A E805 485F 5308 | + | KDF setting ......: off |
- | created ....: 2020-08-04 21:25:33 | + | UIF setting ......: Sign=off Decrypt=off Auth=off |
- | Encryption key....: | + | Signature key ....: 2C08 2445 CDFB 72DE CD65 0350 610E D9AE E553 353F |
- | created ....: 2020-08-04 21:25:33 | + | created ....: 2024-01-03 21:17:32 |
- | Authentication key: 40CB FA55 DC16 F513 B5F8 7F9C 79BA 5416 C05A DFEB | + | Encryption key....: |
- | created ....: 2020-08-04 21:25:33 | + | created ....: 2024-01-03 21:17:32 |
- | General key info..: [none] | + | Authentication key: D5AF 3627 1220 7A2A 54BD 6C47 C72E 74B8 1A5C 4549 |
- | + | created ....: 2024-01-03 21:17:32 | |
- | gpg/card> </ | + | General key info..: |
+ | pub ed25519/ | ||
+ | sec> | ||
+ | | ||
+ | ssb> | ||
+ | | ||
+ | ssb> | ||
+ | card-no: FFFE 43243711 | ||
+ | </ | ||
| | ||
Zeile 793: | Zeile 779: | ||
Nun werden wir kurz einmal testen, ob wir mit Hilfe der Hardware-Schlüssel-Karte eine Datei ver- und wieder entschlüsseln können. | 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. < | + | - Zunächst Wir legen uns erst einmal ein beliebiges Testdokument an. < |
- | VERSION="15.2" | + | PRETTY_NAME="Arch Linux" |
- | ID=" | + | ID=arch |
- | ID_LIKE="suse opensuse" | + | BUILD_ID=rolling |
- | VERSION_ID="15.2" | + | ANSI_COLOR="38;2;23;147;209" |
- | PRETTY_NAME="openSUSE Leap 15.2" | + | HOME_URL="https:// |
- | ANSI_COLOR="0;32" | + | DOCUMENTATION_URL="https:// |
- | CPE_NAME="cpe:/o: | + | SUPPORT_URL="https://bbs.archlinux.org/ |
- | BUG_REPORT_URL=" | + | BUG_REPORT_URL=" |
- | HOME_URL=" | + | PRIVACY_POLICY_URL=" |
- | - Nun verschlüsseln wir dieses Textdokument: | + | LOGO=archlinux-logo"</ |
- | sub cv25519/ | + | - Nun verschlüsseln wir dieses Textdokument: |
- | | + | -rw-r--r-- 1 django |
- | Subkey fingerprint: | + | |
- | + | ||
- | It is NOT certain that the key belongs to the person named | + | |
- | in the user ID. If you *really* know what you are doing, | + | |
- | you may answer the next question with yes. | + | |
- | + | ||
- | Use this key anyway? (y/ | + | |
- | -rw-r--r-- 1 django | + | |
hF4Dvx6j9wMgPYoSAQdAhvFZiNZWBjduajM7OWUr2yM2KC9jfzgvd0SEHael4zUw | hF4Dvx6j9wMgPYoSAQdAhvFZiNZWBjduajM7OWUr2yM2KC9jfzgvd0SEHael4zUw | ||
Zeile 825: | Zeile 803: | ||
=9ebq | =9ebq | ||
-----END PGP MESSAGE-----</ | -----END PGP MESSAGE-----</ | ||
- | - Nun entschlüsseln wir unser Dokument wieder.< | + | - Nun entschlüsseln wir unser Dokument wieder.< |
- | " | + | " |
- | VERSION="15.2" | + | PRETTY_NAME="Arch Linux" |
- | ID=" | + | ID=arch |
- | ID_LIKE="suse opensuse" | + | BUILD_ID=rolling |
- | VERSION_ID="15.2" | + | ANSI_COLOR="38;2;23;147;209" |
- | PRETTY_NAME="openSUSE Leap 15.2" | + | HOME_URL="https:// |
- | ANSI_COLOR="0;32" | + | DOCUMENTATION_URL="https:// |
- | CPE_NAME="cpe:/o: | + | SUPPORT_URL="https://bbs.archlinux.org/ |
- | BUG_REPORT_URL=" | + | BUG_REPORT_URL=" |
- | HOME_URL=" | + | PRIVACY_POLICY_URL=" |
+ | LOGO=archlinux-logo"</ | ||
=== Signieren === | === Signieren === | ||
Nun werden wir kurz einmal testen, ob wir mit Hilfe der Hardware-Schlüssel-Karte eine Datei signieren und die Signatur auch wieder prüfen können. | Nun werden wir kurz einmal testen, ob wir mit Hilfe der Hardware-Schlüssel-Karte eine Datei signieren und die Signatur auch wieder prüfen können. | ||
- | - Zunächst Wir legen uns erst einmal ein beliebiges Testdokument an. < | + | - Zunächst Wir legen uns erst einmal ein beliebiges Testdokument an. < |
- | - Nun signieren wir dieses Textdokument: | + | - Nun signieren wir dieses Textdokument: |
- | -rw-r--r-- 1 django | + | -rw-r--r-- 1 django |
- | sub cv25519/ | + | - Im nun folgendem Beispiel signieren wir unsere Datei und konvertieren sie so, dass wir sie einfach per eMail verschicken können. Hierzu nutzen wir die Option **'' |
- | | + | |
- | Subkey fingerprint: FB2B D8AD 4660 EADE 0108 852D BF1E A3F7 0320 3D8A | + | |
- | It is NOT certain that the key belongs to the person named | + | owGbwMvMwCGWyHdz3dNgU3vGNSZJvCWpFSUpiSWpmXolFSVp8QnSIaWpCl6leQoK |
- | in the user ID. If you *really* know what you are doing, | + | JgoGFlbG5laG5goBvgrOrsEhCkYGRiZcHaUsDGIcDLJiiiw6HCquZ38X3TubyhwA |
- | you may answer the next question with yes. | + | M5WVCWQKAxenAEzEYwXDPw0/ninLX283e//2sv+yjg/r9/lOPLKmI9zccMYltuJT |
- | + | FxUZ/pfN2Ddbnan3h5nysoDTVdK2k//GOnTeubN30pcUhwOynxkA | |
- | Use this key anyway? (y/N)</code> {{ : | + | =UkKj |
- | + | -----END PGP MESSAGE-----</ | |
- | owGbwMvMwCE2meNPhUVG8hrGNQZJvCWpFSUpiSWpmXolFSXxmhs2uWQqmOgpOJam | + | |
- | KxgZWJmaWxkZKzi7BocAeUYGXB2lLAxiHAyyYoosdolLmd23Kjc5Gr1hg5nIygQy | + | |
- | gYGLUwAmon6JkWHXDc+AWrfjeyokWNeoLrqruH9DfsNrPi7hRWdz9smcem/MyPCy | + | |
- | 4YL17MjAT/Vm/NVllzI/Hphm4Kptt2rRI9FMm3LN97wA | + | |
- | =BXv/ | + | |
- | -----END PGP MESSAGE-----</ | + | |
Hash: SHA256 | Hash: SHA256 | ||
- | Di 4. Aug 20:57:23 CEST 2020 | + | Tue Jun |
-----BEGIN PGP SIGNATURE----- | -----BEGIN PGP SIGNATURE----- | ||
- | iHUEARYIAB0WIQQ+YaUDR7UjgkEy7AaTCPx4OGhjrAUCXymw/ | + | iHUEARYIAB0WIQQsCCRFzfty3s1lA1BhDtmu5VM1PwUCZl9gfwAKCRBhDtmu5VM1 |
- | rBwEAP0dZtolkQCmLYuccDEjTWVK/Pa8we40nHyJ+SZgmxVlcQD/YT/ | + | P3TcAQDTPio3kyse3A6orXygqr5hP9etL25Lpq6ySzTjIDRcKgEA3qT4h/I6zm+Y |
- | eR1Z/bLn3y61laBbGLhOaElPSNtJfQ0= | + | a1EoA/Azg/l0zEMxZlj2yzK7Omxczw4= |
- | =76rm | + | =34mx |
- | -----END PGP SIGNATURE-----</ | + | -----END PGP SIGNATURE-----</ |
- | gpg: using EDDSA key 3E61A50347B523824132EC069308FC78386863AC | + | gpg: using EDDSA key 2C082445CDFB72DECD650350610ED9AEE553353F |
- | gpg: Good signature from " | + | gpg: Good signature from " |
- | gpg: WARNING: This key is not certified with a trusted signature! | + | gpg: WARNING: not a detached signature; file ' |
- | gpg: There is no indication that the signature belongs to the owner. | + | |
- | Primary key fingerprint: | + | |
- | gpg: WARNING: not a detached signature; file ' | + | |
Hash: SHA256 | Hash: SHA256 | ||
- | Di 4. Aug 20:57:23 CEST 2099 | + | Tue Jun |
-----BEGIN PGP SIGNATURE----- | -----BEGIN PGP SIGNATURE----- | ||
- | iHUEARYIAB0WIQQ+YaUDR7UjgkEy7AaTCPx4OGhjrAUCXymw/ | + | iHUEARYIAB0WIQQsCCRFzfty3s1lA1BhDtmu5VM1PwUCZl9gfwAKCRBhDtmu5VM1 |
- | rBwEAP0dZtolkQCmLYuccDEjTWVK/Pa8we40nHyJ+SZgmxVlcQD/YT/ | + | P3TcAQDTPio3kyse3A6orXygqr5hP9etL25Lpq6ySzTjIDRcKgEA3qT4h/I6zm+Y |
- | eR1Z/bLn3y61laBbGLhOaElPSNtJfQ0= | + | a1EoA/Azg/l0zEMxZlj2yzK7Omxczw4= |
- | =76rm | + | =34mx |
- | -----END PGP SIGNATURE-----</ | + | -----END PGP SIGNATURE-----</ |
- | gpg: using EDDSA key 3E61A50347B523824132EC069308FC78386863AC | + | gpg: using EDDSA key 2C082445CDFB72DECD650350610ED9AEE553353F |
- | gpg: BAD signature from " | + | gpg: BAD signature from " |
==== Nitrokey Start und Thunderbird ==== | ==== Nitrokey Start und Thunderbird ==== | ||
Zeile 904: | Zeile 872: | ||
Hier suchen wir nach der Option **'' | Hier suchen wir nach der Option **'' | ||
- | {{ : | + | {{ : |
+ | |||
+ | Damit wir nun unseren Signature-Key mit unserem Thunderbird-Konto verbinden können benötigen wir natürlich die entsprechende Key-ID. Diese ermitteln wir nun mit folgendem Aufruf: | ||
+ | $ gpg2 --card-status | grep Signature\ key | ||
+ | < | ||
+ | |||
+ | Die vier letzten 4er-Blöcke merken wir uns nun entsprechend: | ||
+ | |||
+ | Über das " | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Hier wählen wir dann den Menüpunkt **[ Schlüssel hinzufügen ] ** aus. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Da wir den zuvor erzeugten PGP-Schlüssel auf unserem Nitrokey verwenden möchten, wählen wir hier letzten den Menüpunkt **[ __E__xternen Schlüssel mittels GnuPG benutzen. (z.B. von einer SmartCard aus) ]**. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ... und klicken anschließen auf die Schaltfläche **[ Fortfahren }**. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Hier geben wir nun unsere zuvor ermittelte Key-ID ein und bestätigen anschliessend unsere Eingabe mit einem Klick auf die Schaltfläche **[ Schlüssel-ID speichern ]**. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ==== Nitrokey Start und Secure Shell ==== | ||
+ | |||
+ | <WRAP center round important 90%> | ||
+ | Ob man in Zeiten von Überwachungsphantasten in Unternehmen und vor allem auch bei einer NSA oder BND, noch **[[http:// | ||
+ | |||
+ | Der Sicherheitsguru Bruce Schneier hat in seinem **[[https:// | ||
+ | |||
+ | <wrap em>//" | ||
+ | |||
+ | **[[https:// | ||
+ | </ | ||
+ | |||
+ | Auf RSA Schlüssel muss man aber nicht mehr zwingend zurückgreifen, | ||
+ | Diesen Schlüssel wollen wir nun auch zur Serveradministration verwenden. | ||
+ | |||
+ | === SSH Client vorbereiten === | ||
+ | Damit wir beim Verbindungsaufbau auf den Authentication Key zugreifen können, müssen wir unseren Client entsprechend vorbereiten. | ||
+ | |||
+ | In der Konfigurationsdatei // | ||
+ | $ vim ~/ | ||
+ | <file bash ~/ | ||
+ | # See backup in '/ | ||
+ | |||
+ | # File re-created by pEp | ||
+ | # See backup in '/ | ||
+ | |||
+ | # Created by pEpEngine | ||
+ | keyserver hkp:// | ||
+ | cert-digest-algo SHA256 | ||
+ | no-emit-version | ||
+ | no-comments | ||
+ | personal-cipher-preferences AES AES256 AES192 CAST5 | ||
+ | personal-digest-preferences SHA256 SHA512 SHA384 SHA224 | ||
+ | ignore-time-conflict | ||
+ | allow-freeform-uid | ||
+ | |||
+ | # Ansible generated, do not edit manual! | ||
+ | # Option use-agent für Authentication Key Nutzung des Nitrokey Start bei SSH | ||
+ | use-agent | ||
+ | </ | ||
+ | |||
+ | |||
+ | Im nächsten Schritt aktivieren wir die Option '' | ||
+ | **// des GPG-Agenten. | ||
+ | $ vim ~/ | ||
+ | <file bash ~/ | ||
+ | # See backup in '/ | ||
+ | |||
+ | # File re-created by pEp | ||
+ | # See backup in '/ | ||
+ | |||
+ | default-cache-ttl 300 | ||
+ | max-cache-ttl 999999 | ||
+ | |||
+ | # Ansible generated, do not edit manual! | ||
+ | # SSH-Support activated for gnupg-agent | ||
+ | enable-ssh-support | ||
+ | </ | ||
+ | |||
+ | Nun werden wir noch die Datei // | ||
+ | $ vim ~/.bashrc | ||
+ | <file bash ~/ | ||
+ | |||
+ | # Source global definitions | ||
+ | if [ -f /etc/bashrc ]; then | ||
+ | . / | ||
+ | fi | ||
+ | |||
+ | # User specific environment | ||
+ | PATH=" | ||
+ | export PATH | ||
+ | |||
+ | # Uncomment the following line if you don't like systemctl' | ||
+ | # export SYSTEMD_PAGER= | ||
+ | |||
+ | # User specific aliases and functions | ||
+ | |||
+ | # Django : 2024-05-25 | ||
+ | # Definition des SSH_AUTH_SOCK für den Zugriff des SSH-Schlüssels auf dem Nitrokey Start | ||
+ | unset SSH_AGENT_PID | ||
+ | if [ " | ||
+ | export SSH_AUTH_SOCK=" | ||
+ | fi</ | ||
+ | |||
+ | Damit unsere Änderungen aktiv werden, müssen wir nun zum Schluss noch den **pgp-agent** restarten bzw. einen Neustart des Clients erwirken. Wir entscheiden uns der Einfachheit halber von einen Neustart des Agenten mit Hilfe des Befehls '' | ||
+ | $ pkill gpg-agent | ||
+ | |||
+ | Ein Blick in die Prozessliste zeigt, dass der Agent nicht mehr läuft. | ||
+ | $ ps aux | grep gpg-agent | ||
+ | |||
+ | django | ||
+ | |||
+ | Nun stecken wir unseren Nitrokey Start an den USB-Port und fragen den Kartenstatus ab. | ||
+ | $ gpg2 --card-status | ||
+ | < | ||
+ | Application ID ...: D276000124010200FFFE432437110000 | ||
+ | Application type .: OpenPGP | ||
+ | Version ..........: 2.0 | ||
+ | Manufacturer .....: unmanaged S/N range | ||
+ | Serial number ....: 43243711 | ||
+ | Name of cardholder: Michael Nausch | ||
+ | Language prefs ...: de | ||
+ | Salutation .......: Mr. | ||
+ | URL of public key : [not set] | ||
+ | Login data .......: [not set] | ||
+ | Signature PIN ....: forced | ||
+ | Key attributes ...: ed25519 cv25519 ed25519 | ||
+ | Max. PIN lengths .: 127 127 127 | ||
+ | PIN retry counter : 3 3 2 | ||
+ | Signature counter : 23 | ||
+ | KDF setting ......: off | ||
+ | UIF setting ......: Sign=off Decrypt=off Auth=off | ||
+ | Signature key ....: 2C08 2445 CDFB 72DE CD65 0350 610E D9AE E553 353F | ||
+ | created ....: 2024-01-03 21:17:32 | ||
+ | Encryption key....: 9533 C548 589F F00B 8FFF C93B B5E5 4345 BDA2 92A0 | ||
+ | created ....: 2024-01-03 21:17:32 | ||
+ | Authentication key: D5AF 3627 1220 7A2A 54BD 6C47 C72E 74B8 1A5C 4549 | ||
+ | created ....: 2024-01-03 21:17:32 | ||
+ | General key info..: pub ed25519/ | ||
+ | sec> | ||
+ | card-no: FFFE 43243711 | ||
+ | ssb> | ||
+ | card-no: FFFE 43243711 | ||
+ | ssb> | ||
+ | card-no: FFFE 43243711 | ||
+ | </ | ||
+ | |||
+ | Ein erneuter Blick in die Prozessliste zeigt nun den neu gestarteten Agenten. | ||
+ | $ ps aux | grep gpg-agent | ||
+ | |||
+ | django | ||
+ | django | ||
+ | |||
+ | === Public-Key des ED25519 SSH exportieren === | ||
+ | Für den Zugriff auf unser Ziel-System mit Hilfe der SSH benötigen wir noch den öffentlichen Schlüssel unseres Authentication Keys, den wir nun exportieren werden. | ||
+ | Zunächst besorgen wir uns die betreffende Schlüsselkennung des Authentication Keys, genauer gesagt die 4 letzten Zahlenreihen des nachfolgenden Aufrufs. | ||
+ | $ gpg2 --card-status | grep Authentication\ key | ||
+ | |||
+ | Authentication key: D5AF 3627 1220 7A2A 54BD 6C47 C72E 74B8 1A5C 4549 | ||
+ | In diesem Konfigurationsbeispiel ist die Schlüssel-ID des Autentication Keys also die Nummer '' | ||
+ | |||
+ | Nun exportieren wir den öffentlichen Schlüssel und schreiben diesen in eine separate Datei. | ||
+ | $ gpg2 --export-ssh-key C72E74B81A5C4549 >> ~/ | ||
+ | |||
+ | Der Öffentliche Schlüssel in diesen Konfigurationsbeispiel lautet also: | ||
+ | $ cat ~/ | ||
+ | |||
+ | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHMD4OSvbbTRAs88C5jQeUX7HOR0TYd+EIQLcKmGCBll openpgp: | ||
+ | |||
+ | Diesen Schlüssel kopieren wir nun auf das entsprechende Zielsystem an Ort und Stelle '' | ||
+ | $ scp ~/ | ||
+ | |||
+ | === SSH-Verbindung aufbauen === | ||
+ | Nun können wir wie gewohnt eine Verbindung zu unserem entfernten System aufbauen, sofern der GPG-Agent am laufen ist. Wir können dazu entweder erst einmal abfragen, ob dieser gestartet wurde, mit Hilfe des folgenden Aufrufs: | ||
+ | $ ps -aux | grep gpg-agent | ||
+ | |||
+ | django | ||
+ | |||
+ | Oder wir fragen einfach den Karten-Status ab, was unweigerlich den Neustart des GPG-Agenten nach sich zieht. | ||
+ | $ gpg2 --card-status | ||
+ | |||
+ | Nun können wir die gewünschte Verbindung zum Zielsystem aufbauen. | ||
+ | $ ssh zielhost.dmz.nausch.org | ||
+ | |||
+ | Da der SSH-Key zur Authentication nicht im Dateisystem liegt, sondern auf der SmartCard des Nitrokey werden wir nun nach der User-PIN gefragt, damit auf den privaten Schlüssel der Karte zugegriffen werden kann. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Der entsperrte Schlüssel der SmartCard des Nitrokey Start wird nun im Speicher gehalten solange wir den USB-Hardwareschlüssel nicht abziehen. | ||
+ | |||
+ | <WRAP center round important 90%> | ||
+ | **WICHTIG: | ||
+ | Da wir den Schlüssel **__nicht__** aus einer Datei geladen hatten, können wir diese auch nicht mit Hilfe von '' | ||
+ | $ pkill gpg-agent | ||
+ | |||
+ | </ | ||
- | FIXME | + | Anschliessend lassen sich Verbindungen zu unseren Remote-Systemen erst wieder aufbauen, wenn der GPG-Agent geladen und die Karte nach Eingabe der PIN entsperrt wurde! |