Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
centos:nitrokey:start [24.11.2018 19:50. ] – [Verschlüsseln und entschlüsseln] djangocentos:nitrokey:start [22.07.2019 14:55. ] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 349: Zeile 349:
 Dabei ist es unerheblich ob nun eine Schlüssellänge von **2048** oder **4096** ausgewählt wird! Dabei ist es unerheblich ob nun eine Schlüssellänge von **2048** oder **4096** ausgewählt wird!
  
-Ähnlich wie schon beim Vorgängermodell **[[centos:cryptos-manag#schluessel_generieren|GPF Cryptostick]]** sollte eigentlich das Schlüsselmaterial auf dem Nitrokey Pro-Stick generiert worden sein.+Ähnlich wie schon beim Vorgängermodell **[[centos:cryptos-manag#schluessel_generieren|GPF Cryptostick]]** sollte eigentlich das Schlüsselmaterial auf dem Nitrokey Start-Stick generiert worden sein.
  
 </WRAP> </WRAP>
Zeile 424: Zeile 424:
 </code> </code>
  
-Obwohl wir zuvor "nur einen" //[[centos:nitrokey:pro#schluessel_generieren|PGP-Schlüssel generiert]]// generiert hatten, sehen wir nun aber plötzlich zwei Schlüssel. Der eine ist mit dem Wert **pub** gekennzeichnet und hat die Schlüssel-ID **2ADD88EB** und der zweite Schlüssel ist als **sub** gekennzeichnet und hat die Schlüssel-ID **B815F8ED**. +Obwohl wir zuvor "nur einen" //[[centos:nitrokey:start#schluessel_generieren|PGP-Schlüssel generiert]]// generiert hatten, sehen wir nun aber plötzlich zwei Schlüssel. Der eine ist mit dem Wert **pub** gekennzeichnet und hat die Schlüssel-ID **2ADD88EB** und der zweite Schlüssel ist als **sub** gekennzeichnet und hat die Schlüssel-ID **B815F8ED**. 
  
 Beide Schlüssel sehen wir auch, wenn wir uns den Inhalt des secrings anzeigen lassen. Hierzu verwenden wir die Option ''**--list-secret-keys**'' bzw. alternative dazu die Kurzform ''**-K**'': Beide Schlüssel sehen wir auch, wenn wir uns den Inhalt des secrings anzeigen lassen. Hierzu verwenden wir die Option ''**--list-secret-keys**'' bzw. alternative dazu die Kurzform ''**-K**'':
Zeile 1064: Zeile 1064:
 === 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, können wir folgenden Befehl verwenden. Löschen wir nun den kompletten Schlüssel aus der lokalen Schlüsseldatei, können wir folgenden Befehl verwenden.
-   $ gpg --delete-secret-key secmail@mailserver.guru+   $ gpg --delete-secret-key michael.nausch@it.piratenpartei.de
 <code>gpg (GnuPG) 2.0.22; Copyright (C) 2013 Free Software Foundation, Inc. <code>gpg (GnuPG) 2.0.22; Copyright (C) 2013 Free Software Foundation, Inc.
 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 1070: Zeile 1070:
  
  
-sec  4096R/D1359446 2018-11-21 Django aka BOfH <secmail@mailserver.guru>+sec  4096R/2ADD88EB 2018-11-24 Django aka Bastard Operator from Hell <django@mailserver.guru>
  
-Delete this key from the keyring? (y/N) y +Diesen Schlüssel aus dem Schlüsselbund löschen? (j/N) j 
-This is a secret key! - really delete? (y/N) y+Dies ist ein privater Schlüssel! - Wirklich löschen? (j/N) j
 </code> </code>
  
 <WRAP center round alert 95%> <WRAP center round alert 95%>
 __**Doch Achtung:**__ __**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!+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 Start auf der Konsole führen, da das gpg-Programm versucht den Schlüssel im Schlüsselbund zu finden!
 </WRAP> </WRAP>
  
-Der gpg-Befehl ''**%%--%%delete-secret-keys**'' hat als Bezugspunkt den primären Signierungsschlüssel und würde beim entfernen dieses Schlüssels natürlich auch die Unterschlüssel entfernen. Da wir nur den privaten primären Signierungsschlüssel aus dem Schlüsselbund löschen wollen, exportieren wir die privaten Unterschlüssel, bevor wir den privaten Primary Signing Key löschen und werden diese dann anschließend wieder importieren.+Der gpg-Befehl ''**%%--%%delete-secret-keys**'' hat als Bezugspunkt den primären Signierungsschlüssel und würde beim Entfernen dieses Schlüssels natürlich auch die Unterschlüssel entfernen. Da wir nur den privaten primären Signierungsschlüssel aus dem Schlüsselbund löschen wollen, exportieren wir die privaten Unterschlüssel, bevor wir den privaten Primary Signing Key löschen und werden diese dann anschliessend wieder importieren.
  
 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. 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.
Zeile 1087: Zeile 1087:
 <code>/home/django/.gnupg/secring.gpg <code>/home/django/.gnupg/secring.gpg
 ------------------------------ ------------------------------
-sec   4096R/D1359446 2018-11-21 +sec   4096R/2ADD88EB 2018-11-24 
-uid                  Django aka BOfH <secmail@mailserver.guru> +uid                  Django aka Bastard Operator from Hell <django@mailserver.guru> 
-ssb>  4096R/564BA287 2018-11-21 +ssb>  4096R/B815F8ED 2018-11-24 
-ssb>  4096R/ACCE2639 2018-11-21 +ssb>  4096R/25704226 2018-11-24 
-ssb>  4096R/EC65030E 2018-11-21+ssb>  4096R/E8B122B0 2018-11-24
 </code> </code>
-Nun exportieren wir die Unterschlüssel mit Hilfe folgenden Aufrufs, bei dem wir die IDs der Unterschlüssel gfolgt von einem **!** jeweils angeben: +Nun exportieren wir die Unterschlüssel mit Hilfe folgenden Aufrufs, bei dem wir die IDs der Unterschlüssel gefolgt von einem **!** jeweils angeben: 
-   $ gpg2 -o subkeys --export-secret-subkeys 564BA287ACCE2639EC65030E!+   $ gpg2 -o subkeys --export-secret-subkeys B815F8ED25704226E8B122B0!
  
 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 django@mailserver.guru
 <code>gpg (GnuPG) 2.0.22; Copyright (C) 2013 Free Software Foundation, Inc. <code>gpg (GnuPG) 2.0.22; Copyright (C) 2013 Free Software Foundation, Inc.
 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 1103: Zeile 1103:
  
  
-sec  4096R/D1359446 2018-11-21 Django aka BOfH <secmail@mailserver.guru>+sec  4096R/2ADD88EB 2018-11-24 Django aka Bastard Operator from Hell <django@mailserver.guru>
  
-Delete this key from the keyring? (y/N) y +Diesen Schlüssel aus dem Schlüsselbund löschen? (j/N) j 
-This is a secret key! - really delete? (y/N) y</code>+Dies ist ein privater Schlüssel! - Wirklich löschen? (j/N) j</code>
  
 Ein erneuter Aufruf des privaten Schlüsselspeichers zeigt und, dass dort nun keine Einträge mehr vorhanden sind. Ein erneuter Aufruf des privaten Schlüsselspeichers zeigt und, dass dort nun keine Einträge mehr vorhanden sind.
Zeile 1113: Zeile 1113:
 Nun importieren wir wieder die zuvor gesicherten privaten Unterschlüssel Nun importieren wir wieder die zuvor gesicherten privaten Unterschlüssel
    $ gpg2 --import subkeys    $ gpg2 --import subkeys
-<code>gpg: key D1359446secret key imported +<code>gpg: Schlüssel 2ADD88EBgeheimer Schlüssel importiert 
-gpg: key D1359446: "Django aka BOfH <secmail@mailserver.guru>" not changed +gpg: Schlüssel 2ADD88EB: "Django aka Bastard Operator from Hell <django@mailserver.guru>" nicht geändert 
-gpg: Total number processed: 1 +gpg: Anzahl insgesamt bearbeiteter Schlüssel: 1 
-gpg:              unchanged: 1 +gpg:                             unverändert: 1 
-gpg:       secret keys read: 1 +gpg:              gelesene geheime Schlüssel: 1 
-gpg:   secret keys imported: 1</code>+gpg:            geheime Schlüssel importiert: 1</code>
  
 Lassen wir uns nun den Inhalt des privaten Schlüsselbundes anzeigen, sehen wir die zurückgesicherten Unterschlüssel wieder. Lassen wir uns nun den Inhalt des privaten Schlüsselbundes anzeigen, sehen wir die zurückgesicherten Unterschlüssel wieder.
Zeile 1124: Zeile 1124:
 <code>/home/django/.gnupg/secring.gpg <code>/home/django/.gnupg/secring.gpg
 ------------------------------ ------------------------------
-sec#  4096R/D1359446 2018-11-21 +sec#  4096R/2ADD88EB 2018-11-24 
-uid                  Django aka BOfH <secmail@mailserver.guru> +uid                  Django aka Bastard Operator from Hell <django@mailserver.guru> 
-ssb>  4096R/564BA287 2018-11-21 +ssb>  4096R/B815F8ED 2018-11-24 
-ssb>  4096R/ACCE2639 2018-11-21 +ssb>  4096R/25704226 2018-11-24 
-ssb>  4096R/EC65030E 2018-11-21</code>+ssb>  4096R/E8B122B0 2018-11-24</code>
  
 Zu guter letzt vernichten wir die Datei mit den gesicherten privaten Unterschlüsseln. Zu guter letzt vernichten wir die Datei mit den gesicherten privaten Unterschlüsseln.
-   $ shred --zero --removesubkeys+   $ shred --zero --remove subkeys
  
  
Zeile 1166: Zeile 1166:
  
 === change-pin === === change-pin ===
-Wie schon mit der **[[centos:nitrokey:pro#nitrokey-app|Nitrokey App]]** können wir auch mit Hilfe des Befehls ''**gpg %%--%%change-pin**'' die Benutzer- und die Admin-PIN, wie auch die PIN zum Zurücksetzen der Benutzer-PIN, ändern.+<WRAP center round warn 95%> 
 +**WICHTIG**: 
 +Unbedingt vor dem ersten Ändern der PINs ist es notwendig, erst einmal Schlüssel zu generieren bzw. zu importieren! Denn sonst schlägt das Ändern der Benutzer-PIN fehl, bzw. wird die Benutzer-PIN beim Überschreiben von Schlüsseln auf den Default-Wert von **123456** zurückgesetzt. Die Default-PIN für den Admin lautet **12345678**. 
 +</WRAP> 
 + 
 +Mit Hilfe des Befehls ''**gpg %%--%%change-pin**'' können wir die Benutzer- und die Admin-PIN, wie auch die PIN zum Zurücksetzen der Benutzer-PIN, ändern.
  
 Die Benutzer-PIN (Menüpunkt **1**) wird benötigt für den täglichen Betrieb wie z.B. zum Entsperren des Token, oder zum  Signieren und Verschlüsseln. Die Mindestlänge für den User-Pin beträgt 6 Zeichen. Die Benutzer-PIN (Menüpunkt **1**) wird benötigt für den täglichen Betrieb wie z.B. zum Entsperren des Token, oder zum  Signieren und Verschlüsseln. Die Mindestlänge für den User-Pin beträgt 6 Zeichen.
Zeile 1172: Zeile 1177:
 Die Admin-PIN (Menüpunkt **3**) wird für die Karten-/Token-Verwaltung verwendet, so z.B. für das Laden von Schlüsseln auf den Krypto-Stick, das Erzeugen von Schlüsseln oder das Ändern von Informationen wie die Inhaberdaten auf der Karte. Die Mindestlänge für die Admin-PIN beträgt 8 Zeichen. Die Admin-PIN (Menüpunkt **3**) wird für die Karten-/Token-Verwaltung verwendet, so z.B. für das Laden von Schlüsseln auf den Krypto-Stick, das Erzeugen von Schlüsseln oder das Ändern von Informationen wie die Inhaberdaten auf der Karte. Die Mindestlänge für die Admin-PIN beträgt 8 Zeichen.
  
-<WRAP center round important 80%>+<WRAP center round important 95%>
 Wird die Benutzer-PIN 3x falsch eingeben, wird die Karte gesperrt und kann dann nur mit der Admin-PIN oder dem Reset-Code zurückgesetzt werden. Wenn Sie den falschen Admin-Pin dreimal eingeben, wird die Karte unbrauchbar und kann dann lediglich mit einem Factory-Reset (Verlußt aller Kartendaten!) zurück gesetzt werden! Wird die Benutzer-PIN 3x falsch eingeben, wird die Karte gesperrt und kann dann nur mit der Admin-PIN oder dem Reset-Code zurückgesetzt werden. Wenn Sie den falschen Admin-Pin dreimal eingeben, wird die Karte unbrauchbar und kann dann lediglich mit einem Factory-Reset (Verlußt aller Kartendaten!) zurück gesetzt werden!
 +
 +Ferner ist darauf zu achten, dass zunächst die Admin-PIN und erst dann die Nutzer-PIN geändert. Ansonsten wird nämlich der //[[http://www.fsij.org/doc-gnuk/gnuk-passphrase-setting.html#|admin-less mode]]// aktiviert.
 </WRAP> </WRAP>
  
 Die Reset-PIN (Menüpunkt **4**) kann nur zum Zurücksetzen der Benutzer-PIN verwendet werden. Die Mindestlänge für den Reset-Code beträgt 8 Zeichen. Der Reset-Code Fehlerzähler kann wiederum mit der Admin-PIN zurückgesetzt werden. Wird nach zweimaliger Falscheingabe der Benutzer- wie auch der Admin-PIN und dann die richtige PIN eingeben, wird der Fehlerzähler zurückgesetzt. Die Reset-PIN (Menüpunkt **4**) kann nur zum Zurücksetzen der Benutzer-PIN verwendet werden. Die Mindestlänge für den Reset-Code beträgt 8 Zeichen. Der Reset-Code Fehlerzähler kann wiederum mit der Admin-PIN zurückgesetzt werden. Wird nach zweimaliger Falscheingabe der Benutzer- wie auch der Admin-PIN und dann die richtige PIN eingeben, wird der Fehlerzähler zurückgesetzt.
  
-Worin besteht nun aber der genaue Unterschied zwischen dem Reset-Code und der Admin-PIN? Möchte man in einer Organisation Nitrokey Pro an seine Mitarbeiter ausgeben, werden bestimmte Daten, wie z.B. Namen, die Public Key URL oder auch das erzeugte Schlüsselmaterial zentral vorgegeben. Da der Benutzer selbst diese Daten nicht verändern können soll, wird dieser auch nicht Kenntnis von der Admin-PIN haben. Sperrt sich nun der Mitarbeiter aus, weil er die Benutzer-PIN 3x falsch eingegeben hat, kann der Neutzer natürlich nicht die Admin-PIN eingeben, da er diese nicht kennt. Hier kommt nun der Reset-Code ins Spiel. Mit Hilfe dieses Codes kann der Benutzer nun die Benutzer-PIN zurücksetzen.+Worin besteht nun aber der genaue Unterschied zwischen dem Reset-Code und der Admin-PIN? Möchte man in einer Organisation Nitrokey Start an seine Mitarbeiter ausgeben, werden bestimmte Daten, wie z.B. Namen, die Public Key URL oder auch das erzeugte Schlüsselmaterial zentral vorgegeben. Da der Benutzer selbst diese Daten nicht verändern können soll, wird dieser auch nicht Kenntnis von der Admin-PIN haben. Sperrt sich nun der Mitarbeiter aus, weil er die Benutzer-PIN 3x falsch eingegeben hat, kann der Neutzer natürlich nicht die Admin-PIN eingeben, da er diese nicht kennt. Hier kommt nun der Reset-Code ins Spiel. Mit Hilfe dieses Codes kann der Benutzer nun die Benutzer-PIN zurücksetzen.
  
    $ gpg --change-pin    $ gpg --change-pin
Zeile 1191: Zeile 1198:
 Ihre Auswahl?</code> Ihre Auswahl?</code>
  
-Beim Menüpunkt 1 können wir z.B. die Benutzer-PIN abändern. Wir werden dann nach der aktuellen PIN gefragt und müssen die neue PIN 2x eingeben zum Abändern.+Wir ändern also zu erste die Admin-PIN durch Auswahl des Menüpunkts **3** aus und erst anschliessend die Benutzer-PIN mit **1**. Wir werden dann nach der aktuellen PIN gefragt und müssen die neue PIN 2x eingeben zum Abändern.
  
 {{ :centos:nitrokey:nitrokey-gpg_01.png?nolink&275 |Bild: PIN-Eingabedialog beim Abändern der Benutzer-/Admin-PIN}} {{ :centos:nitrokey:nitrokey-gpg_01.png?nolink&275 |Bild: PIN-Eingabedialog beim Abändern der Benutzer-/Admin-PIN}}
  
 +<code>Ihre Auswahl? 3
 +PIN changed.
 +
 +1 - change PIN
 +2 - unblock PIN
 +3 - change Admin PIN
 +4 - set the Reset Code
 +Q - quit
 +
 +Ihre Auswahl? 1
 +PIN changed.
 +
 +1 - change PIN
 +2 - unblock PIN
 +3 - change Admin PIN
 +4 - set the Reset Code
 +Q - quit
 +
 +Ihre Auswahl? q</code>
 +
 +==== 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.
 +
 +{{ :centos:nitrokey:nitrokey-gpg_10.png?nolink&850 |Bild: Thunderbird - Menüpunkt Konten-Einstellungen }}
 +
 +Beim passenden Konto wählen wir dann die Option **OpenPGP-Sicherheit** aus.
 +
 +{{ :centos:nitrokey:nitrokey-gpg_11.png?nolink&800 |Bild: Thunderbird - Menüpunkt OpenPGP-Sicherheit }}
 +
 +Hier wählen wir nun den Schlüssel aus, den wir zuvor erstellt und auf die SmartCard des Kryptostick Start verschoben hatten.
 +
 +{{ :centos:nitrokey:nitrokey-gpg_12.png?nolink&850 |Bild: Thunderbird - Auswahl des Schlüssels auf dem Kryptostick. }}
 +
 +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.
 +
 +{{ :centos:nitrokey:nitrokey-gpg_13.png?nolink&850 |Bild: Thunderbird - Signieren und Versenden einer Nachricht. }}
 +
 +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.
 +
 +{{ :centos:nitrokey:nitrokey-gpg_14.png?nolink&850 |Bild: Thunderbird - Abfrage der PIN zum Entschlüsseln der Nachricht }}
 +
 +Habne wir die PIN richtig eigegeben, wird die entschlüsselte Nachricht angezeigt.
 +
 +{{ :centos:nitrokey:nitrokey-gpg_15.png?nolink&850 |Bild: Thunderbird - Anzeige der entschlüsselten Nachricht }}
  
  
  • centos/nitrokey/start.1543089033.txt.gz
  • Zuletzt geändert: 24.11.2018 19:50.
  • von django