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 18:23. ] – [vorhandenen Schlüssel importieren] djangocentos:nitrokey:start [22.07.2019 14:55. ] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 97: Zeile 97:
  
 ===== Anwendungsfälle - Software ===== ===== Anwendungsfälle - Software =====
-==== Nitrokey Pro und GnuPG  ====+==== 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://www.gnupg.org/|GnuPG]]** verwaltet werden. Hierzu installieren wir uns das Paket **gnupg2**, sofern es nicht bereits bei der Erstkonfiguration unseres Rechner installiert wurde. Da es sich bei der Chipkarte des **Nitrokey Start** um eine standardkompatible OpenPGP-Karte handelt, kann der Kryptostick mit Hilfe von **[[https://www.gnupg.org/|GnuPG]]** verwaltet werden. Hierzu installieren wir uns das Paket **gnupg2**, sofern es nicht bereits bei der Erstkonfiguration unseres Rechner installiert wurde.
    # yum install gnupg2    # yum install gnupg2
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 414: Zeile 414:
 </WRAP> </WRAP>
  
-Werfen wir zur genaueren Betrachtung einfach einen Blick in unseren Schlüsselbund. +Werfen wir zur genaueren Betrachtung einfach einen Blick in unseren öffentlichen Schlüsselbund mit Hilfe des Programms **gpg**, etweder mit der Option ''**%%--%%list-keys**'' bzw. alternativ dazu mit der Option ''**-k**''
    $ gpg2 --list-keys    $ gpg2 --list-keys
  
-<code>/home/michi/.gnupg/pubring.gpg+<code>/home/django/.gnupg/pubring.gpg
 ------------------------------ ------------------------------
-pub   4096R/D1359446 2018-11-21 +pub   4096R/2ADD88EB 2018-11-24 
-uid                  Django aka BOfH <secmail@mailserver.guru> +uid                  Django aka Bastard Operator from Hell <django@mailserver.guru> 
-sub   4096R/564BA287 2018-11-21+sub   4096R/B815F8ED 2018-11-24
 </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 **D1359446** und der zweite Schlüssel ist als **sub** gekennzeichnet und hat die Schlüssel-ID **564BA287**. +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:+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**'':
    $ gpg2 --list-secret-keys    $ gpg2 --list-secret-keys
 <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
 </code> </code>
  
Zeile 438: Zeile 438:
   * //**Warum nun der ganze Aufstand mit diesem Unterschlüssel?**// \\ Stellen wir uns einmal folgendes Szenario vor: Eines Tagen wollen oder müssen wir den privaten Schlüssel wechseln, da dieser kompromittiert wurde, oder wir stellen fest, dass die ursprünglich gewählte Schlüssellänge nicht mehr unserem gesteigertem Sicherheitsbewusstsein entspricht. Wir können natürlich den alten Schlüssel verwerfen, zurückziehen und löschen, damit dieser unbrauchbar wird. Nur verlieren wir dadurch natürlich sämtliche beglaubigte Unterschriften unserer Kontaktpersonen und Freunde, die ja einen gewissen Vertrauensstatus bezeugen -der Hintergrund zum **[[centos:openpgp_beim_mua#openpgp_versus_s_mime|WoT]]**-Gedanken((**W**eb **o**f **T**rust)). Als Folge daraus müssten wir erneut den ganzen Aufwand mit dem Key-Signing betreiben, was mit unter sehr aufwändig werden könnte! \\ Mit Unterschlüssel müssen wir nicht alles über Bord werden, sondern können z.B. weiterhin die beglaubigten Unterschriften unserer Freunde und Bekannten beibehalten und verwenden. Diese Signatur-Informationen sind, genau so wie die primäre User-ID, mit dem primären Signierungsschlüssel verknüpft! Subkeys selbst haben keine eigene Vertrauensstellung, sprich diese werden nicht selbst signiert. Der grosse Vorteil ist nun, dass wir diese Unterschlüssel für genau spezifizierte Einsatzzwecke definieren und nutzt können: //Verschlüsselung//, //Signierung// oder //Authentifizierung//. Diese Schlüssel können wir nun gezielt erneuern und dann an unsere Kontaktpersonen über den Master-Schlüssel verteilen können. Die Änderungen werden dann automatisch in deren Key-Rings als Aktualisierung des bestehenden Schlüssels übernommen, da die Unterschlüssel mit unserem Primary Signing Key signiert sind, dem unsere Kommunikationspartner ja schon bereits vertrauen.   * //**Warum nun der ganze Aufstand mit diesem Unterschlüssel?**// \\ Stellen wir uns einmal folgendes Szenario vor: Eines Tagen wollen oder müssen wir den privaten Schlüssel wechseln, da dieser kompromittiert wurde, oder wir stellen fest, dass die ursprünglich gewählte Schlüssellänge nicht mehr unserem gesteigertem Sicherheitsbewusstsein entspricht. Wir können natürlich den alten Schlüssel verwerfen, zurückziehen und löschen, damit dieser unbrauchbar wird. Nur verlieren wir dadurch natürlich sämtliche beglaubigte Unterschriften unserer Kontaktpersonen und Freunde, die ja einen gewissen Vertrauensstatus bezeugen -der Hintergrund zum **[[centos:openpgp_beim_mua#openpgp_versus_s_mime|WoT]]**-Gedanken((**W**eb **o**f **T**rust)). Als Folge daraus müssten wir erneut den ganzen Aufwand mit dem Key-Signing betreiben, was mit unter sehr aufwändig werden könnte! \\ Mit Unterschlüssel müssen wir nicht alles über Bord werden, sondern können z.B. weiterhin die beglaubigten Unterschriften unserer Freunde und Bekannten beibehalten und verwenden. Diese Signatur-Informationen sind, genau so wie die primäre User-ID, mit dem primären Signierungsschlüssel verknüpft! Subkeys selbst haben keine eigene Vertrauensstellung, sprich diese werden nicht selbst signiert. Der grosse Vorteil ist nun, dass wir diese Unterschlüssel für genau spezifizierte Einsatzzwecke definieren und nutzt können: //Verschlüsselung//, //Signierung// oder //Authentifizierung//. Diese Schlüssel können wir nun gezielt erneuern und dann an unsere Kontaktpersonen über den Master-Schlüssel verteilen können. Die Änderungen werden dann automatisch in deren Key-Rings als Aktualisierung des bestehenden Schlüssels übernommen, da die Unterschlüssel mit unserem Primary Signing Key signiert sind, dem unsere Kommunikationspartner ja schon bereits vertrauen.
  
-Fragen wir den Status unseres Nitrokey Pro ab, so sehen wir dort am Ende drei Speicherplätze für unterschiedliche Unterschlüssel, genauer gesagt der private Teil der Unterschlüssel, die auf dem Nitrokey Pro gespeichert sind, nämlich den :+Fragen wir den Status unseres Nitrokey Start ab, so sehen wir dort am Ende drei Speicherplätze für unterschiedliche Unterschlüssel, genauer gesagt der private Teil der Unterschlüssel, die auf dem Nitrokey Start gespeichert sind, nämlich den :
   * **Signature key**     : Unterschlüssel zum Signieren   * **Signature key**     : Unterschlüssel zum Signieren
   * **Encryption key**    : Unterschlüssel zum Verschlüsseln   * **Encryption key**    : Unterschlüssel zum Verschlüsseln
Zeile 444: Zeile 444:
  
    $ gpg2 --card-status    $ gpg2 --card-status
-<code>Application ID ...: D276000124010303000500006FDA0000 +<code>Application ID ...: D276000124010200FFFE432437110000 
-Version ..........: 3.3 +Version ..........: 2.0 
-Manufacturer .....: ZeitControl +Manufacturer .....: unmanaged S/N range 
-Serial number ....: 00006FDA+Serial number ....: 43243711
 Name of cardholder: [not set] Name of cardholder: [not set]
 Language prefs ...: de Language prefs ...: de
Zeile 464: Zeile 464:
 </code> </code>
  
-Damit wir nun die drei benötigten Unterschlüssel an die richtige Stelle unseres Nitrokey Pro verschieben können, müssen wir noch ein paar Vorbereitungen treffen:+Damit wir nun die drei benötigten Unterschlüssel an die richtige Stelle unseres Nitrokey Start verschieben können, müssen wir noch ein paar Vorbereitungen treffen:
   - Erstellen weiterer Unterschlüssel für die Themen:   - Erstellen weiterer Unterschlüssel für die Themen:
     - Signierung     - Signierung
     - Authentifizierung     - Authentifizierung
-  - Verschieben der privaten Unterschlüssel aus dem Schlüsselbund, der auf der Festplatte gespeichert waren in die SmartCArd des Nitrokey Pros.+  - Verschieben der privaten Unterschlüssel aus dem Schlüsselbund, der auf der Festplatte gespeichert waren in die SmartCard des Nitrokey Start.
   - Verschieben des //primären Signierungs Schlüssel// auf ein sicheres Sicherungsmedium.   - Verschieben des //primären Signierungs Schlüssel// auf ein sicheres Sicherungsmedium.
  
 Die öffentlichen Schlüssel bleiben nach wie vor im Schlüsselbund auf unserer Festplatte //**/home/~/.gnupg/pubring.gpg**// gespeichert, lediglich die privaten Unterschlüssel werden durch Proxy-Einträge im Schlüsselbund ersetzt! Die öffentlichen Schlüssel bleiben nach wie vor im Schlüsselbund auf unserer Festplatte //**/home/~/.gnupg/pubring.gpg**// gespeichert, lediglich die privaten Unterschlüssel werden durch Proxy-Einträge im Schlüsselbund ersetzt!
  
-Bevor wir nun zum Punkt **1. Erstellen weiterer Unterschlüssel** widmen können rufen wir uns die **ID** des rimären Siegnierungs-Schlüssel in Erinnerung.+Bevor wir nun zum Punkt **1. Erstellen weiterer Unterschlüssel** widmen können rufen wir uns die **ID** des primären Signierungs-Schlüssel in Erinnerung.
    $ gpg2 --list-keys | grep pub    $ gpg2 --list-keys | grep pub
  
-  /home/michi/.gnupg/pubring.gpg +  /home/django/.gnupg/pubring.gpg 
-  pub   4096R/D1359446 2018-11-21+  pub   4096R/2ADD88EB 2018-11-24
  
-In unserem Konfigurationsbeispiel hier ist dies die Key-ID: **D1359446**. Zunächst erstellen wir besagten Unterschlüssel zum Signieren: +In unserem Konfigurationsbeispiel hier ist dies die Key-ID: **2ADD88EB**. Zunächst erstellen wir besagten Unterschlüssel zum Signieren: 
-  $ gpg2 --expert --edit-key D1359446+  $ gpg2 --expert --edit-key 2ADD88EB
 <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.
 There is NO WARRANTY, to the extent permitted by law. There is NO WARRANTY, to the extent permitted by law.
  
-Secret key is available.+Geheimer Schlüssel ist vorhanden.
  
-pub  4096R/D1359446  created: 2018-11-21  expiresnever       usage: SC   +pub  4096R/2ADD88EB  erzeugt: 2018-11-24  verfälltniemals     Aufruf: SC   
-                     trustultimate      validityultimate +                     Vertrauenuneingeschränkt Gültigkeituneingeschränkt 
-sub  4096R/564BA287  created: 2018-11-21  expiresnever       usage: E    +sub  4096R/B815F8ED  erzeugt: 2018-11-24  verfälltniemals     Aufruf: E    
-[ultimate] (1). Django aka BOfH <secmail@mailserver.guru>+uneing.] (1). Django aka Bastard Operator from Hell <django@mailserver.guru>
  
 gpg></code> gpg></code>
-Das Erzeugen von Unterschlüssel erfolgt mit hilfe des Befehls ''**addkey**''.+Das Erzeugen von Unterschlüssel erfolgt mit Hilfe des Befehls ''**addkey**''.
   gpg> addkey   gpg> addkey
-<code>Key is protected.+<code>Schlüssel ist geschützt.
  
-You need a passphrase to unlock the secret key for +Sie benötigen eine Passphrase, um den geheimen Schlüssel zu entsperren. 
-user: "Django aka BOfH <secmail@mailserver.guru>" +Benutzer: "Django aka Bastard Operator from Hell <django@mailserver.guru>" 
-4096-bit RSA key, ID D1359446created 2018-11-21+4096-Bit RSA Schlüssel, ID 2ADD88EBerzeugt 2018-11-24
  
-Please select what kind of key you want+Bitte wählen Sie, welche Art von Schlüssel Sie möchten
-   (3) DSA (sign only+   (3) DSA (nur signieren/beglaubigen
-   (4) RSA (sign only+   (4) RSA (nur signieren/beglaubigen
-   (5) Elgamal (encrypt only+   (5) Elgamal (nur verschlüsseln
-   (6) RSA (encrypt only+   (6) RSA (nur verschlüsseln
-   (7) DSA (set your own capabilities+   (7) DSA (Leistungsfähigkeit selber einstellbar
-   (8) RSA (set your own capabilities+   (8) RSA (Leistungsfähigkeit selber einstellbar
-Your selection?</code>+Ihre Auswahl?</code>
  
 Da wir einen **RSA**-Unterschlüssel zum Signieren erzeugen möchten, wählen wir hier die Option **4**. Bei der Schlüssellänge verwenden wir wie auch schon bei der Erstellung des initialen Schlüsselpaares **4096**; die Laufzeit des Unterschlüssels wählen wir entsprechend gleich oder kürzer wie beim //primären Signierungs-Schlüssel//, in inserem Beispiel also unendlich.  Da wir einen **RSA**-Unterschlüssel zum Signieren erzeugen möchten, wählen wir hier die Option **4**. Bei der Schlüssellänge verwenden wir wie auch schon bei der Erstellung des initialen Schlüsselpaares **4096**; die Laufzeit des Unterschlüssels wählen wir entsprechend gleich oder kürzer wie beim //primären Signierungs-Schlüssel//, in inserem Beispiel also unendlich. 
  
-  Your selection? 4 +  Ihre Auswahl? 4 
-<code>RSA keys may be between 1024 and 4096 bits long+<code>RSA-Schlüssel können zwischen 1024 und 4096 Bit lang sein
-What keysize do you want? (2048) 4096 +Welche Schlüssellänge wünschen Sie? (2048) 4096 
-Requested keysize is 4096 bits +Die verlangte Schlüssellänge beträgt 4096 Bit 
-Please specify how long the key should be valid+Bitte wählen Sie, wie lange der Schlüssel gültig bleiben soll
-         0 = key does not expire +         0 = Schlüssel verfällt nie 
-      <n> key expires in days +      <n> Schlüssel verfällt nach Tagen 
-      <n>w = key expires in weeks +      <n>w = Schlüssel verfällt nach Wochen 
-      <n>m = key expires in months +      <n>m = Schlüssel verfällt nach Monaten 
-      <n>y = key expires in years +      <n>y = Schlüssel verfällt nach Jahren 
-Key is valid for? (0)  +Wie lange bleibt der Schlüssel gültig? (0)  
-Key does not expire at all +Schlüssel verfällt nie 
-Is this correct? (y/N) y +Ist dies richtig? (j/N) j 
-Really create? (y/N) y +Wirklich erzeugen? (j/N) j 
-We need to generate a lot of random bytesIt is a good idea to perform +Wir müssen eine ganze Menge Zufallswerte erzeugen Sie können dies 
-some other action (type on the keyboardmove the mouse, utilize the +unterstützenindem Sie z.B. in einem anderen Fenster/Konsole irgendetwas 
-disks) during the prime generation; this gives the random number +tippen, die Maus verwenden oder irgendwelche anderen Programme benutzen.
-generator a better chance to gain enough entropy.+
  
-pub  4096R/D1359446  created: 2018-11-21  expiresnever       usage: SC   +pub  4096R/2ADD88EB  erzeugt: 2018-11-24  verfälltniemals     Aufruf: SC   
-                     trustultimate      validityultimate +                     Vertrauenuneingeschränkt Gültigkeituneingeschränkt 
-sub  4096R/564BA287  created: 2018-11-21  expiresnever       usage: E    +sub  4096R/B815F8ED  erzeugt: 2018-11-24  verfälltniemals     Aufruf: E    
-sub  4096R/ACCE2639  created: 2018-11-21  expiresnever       usage: S    +sub  4096R/25704226  erzeugt: 2018-11-24  verfälltniemals     Aufruf: S    
-[ultimate] (1). Django aka BOfH <secmail@mailserver.guru>+uneing.] (1). Django aka Bastard Operator from Hell <django@mailserver.guru>
  
 gpg></code> gpg></code>
Zeile 541: Zeile 540:
 Das Gleiche machen wir nun erneut für unseren Authentifizierungs-Unterschlüssel. Das Gleiche machen wir nun erneut für unseren Authentifizierungs-Unterschlüssel.
    gpg> addkey    gpg> addkey
-<code>Key is protected.+<code>Schlüssel ist geschützt.
  
-You need a passphrase to unlock the secret key for +Sie benötigen eine Passphrase, um den geheimen Schlüssel zu entsperren. 
-user: "Django aka BOfH <secmail@mailserver.guru>" +Benutzer: "Django aka Bastard Operator from Hell <django@mailserver.guru>" 
-4096-bit RSA key, ID D1359446created 2018-11-21+4096-Bit RSA Schlüssel, ID 2ADD88EBerzeugt 2018-11-24
  
-Please select what kind of key you want+Bitte wählen Sie, welche Art von Schlüssel Sie möchten
-   (3) DSA (sign only+   (3) DSA (nur signieren/beglaubigen
-   (4) RSA (sign only+   (4) RSA (nur signieren/beglaubigen
-   (5) Elgamal (encrypt only+   (5) Elgamal (nur verschlüsseln
-   (6) RSA (encrypt only+   (6) RSA (nur verschlüsseln
-   (7) DSA (set your own capabilities+   (7) DSA (Leistungsfähigkeit selber einstellbar
-   (8) RSA (set your own capabilities+   (8) RSA (Leistungsfähigkeit selber einstellbar
-Your selection?</code>+Ihre Auswahl?</code>
  
 Für unseren Verschlüsselungs-Unterschlüssel wählen wir nun eben hier entsprechend die Option **8**. Für unseren Verschlüsselungs-Unterschlüssel wählen wir nun eben hier entsprechend die Option **8**.
  
-  Your selection? 8 +  Ihre Auswahl? 8 
-<code>Possible actions for a RSA keySign Encrypt Authenticate  +<code>Mögliche Vorgänge eines RSA-SchlüsselsSignieren Verschl. Authentisierung  
-Current allowed actionsSign Encrypt +Derzeit erlaubte VorgängeSignieren Verschl. 
  
-   (SToggle the sign capability +   (UUmschalten der Signaturfähigkeit 
-   (EToggle the encrypt capability +   (VUmschalten der Verschlüsselungsfähigkeit 
-   (A) Toggle the authenticate capability +   (A) Umschalten der Authentisierungsfähigkeit 
-   (Q) Finished+   (Q) Beenden
  
-Your selection?</code>+Ihre Auswahl?</code>
  
-Uns wir nun angezeigt, dass aktuell Signierung und Verschlüsselung vorausgewählt wurde: ''Current allowed actionsSign Encrypt''. Wir wählen nun nacheinander die Optionen für Signierung mit "**S**" und Verschlüsselung mit "**E**" ab und Signierung mit "**A**" an. +Uns wir nun angezeigt, dass aktuell Signierung und Verschlüsselung vorausgewählt wurde: ''Derzeit erlaubte VorgängeSignieren Verschl.''. Wir wählen nun nacheinander die Optionen für Signierung mit "**V**" und Verschlüsselung mit "**U**" ab und Signierung mit "**U**" an. 
-<code>Your selections+<code>Ihre Auswahlv
  
-Possible actions for a RSA keySign Encrypt Authenticate  +Mögliche Vorgänge eines RSA-SchlüsselsSignieren Verschl. Authentisierung  
-Current allowed actionsEncrypt +Derzeit erlaubte VorgängeSignieren 
  
-   (SToggle the sign capability +   (UUmschalten der Signaturfähigkeit 
-   (EToggle the encrypt capability +   (VUmschalten der Verschlüsselungsfähigkeit 
-   (A) Toggle the authenticate capability +   (A) Umschalten der Authentisierungsfähigkeit 
-   (Q) Finished+   (Q) Beenden
  
-Your selectione+Ihre Auswahlu
  
-Possible actions for a RSA keySign Encrypt Authenticate  +Mögliche Vorgänge eines RSA-SchlüsselsSignieren Verschl. Authentisierung  
-Current allowed actions+Derzeit erlaubte Vorgänge
  
-   (SToggle the sign capability +   (UUmschalten der Signaturfähigkeit 
-   (EToggle the encrypt capability +   (VUmschalten der Verschlüsselungsfähigkeit 
-   (A) Toggle the authenticate capability +   (A) Umschalten der Authentisierungsfähigkeit 
-   (Q) Finished+   (Q) Beenden
  
-Your selection? a+Ihre Auswahl? a
  
-Possible actions for a RSA keySign Encrypt Authenticate  +Mögliche Vorgänge eines RSA-SchlüsselsSignieren Verschl. Authentisierung  
-Current allowed actionsAuthenticate +Derzeit erlaubte VorgängeAuthentisierung 
  
-   (SToggle the sign capability +   (UUmschalten der Signaturfähigkeit 
-   (EToggle the encrypt capability +   (VUmschalten der Verschlüsselungsfähigkeit 
-   (A) Toggle the authenticate capability +   (A) Umschalten der Authentisierungsfähigkeit 
-   (Q) Finished+   (Q) Beenden
  
-Your selection?</code>+Ihre Auswahl?</code>
  
-An der nun definierten Option ''Current allowed actionsAuthenticate'' sehen wir, dass nun nachfolgend ein Authentifizierungs-Unterschlüssel generiert werden soll. Mit **Q** Verlassen wir diesen Dialog und generieren den besagten Authentifizierungs-Unterschlüssel. +An der nun definierten Option ''Derzeit erlaubte VorgängeAuthentisierung'' sehen wir, dass nun nachfolgend ein Authentifizierungs-Unterschlüssel generiert werden soll. Mit **Q** Verlassen wir diesen Dialog und generieren den besagten Authentifizierungs-Unterschlüssel. 
-  Your selection? q +  Ihre Auswahl? q 
-<code>RSA keys may be between 1024 and 4096 bits long+<code>RSA-Schlüssel können zwischen 1024 und 4096 Bit lang sein
-What keysize do you want? (2048) 4096 +Welche Schlüssellänge wünschen Sie? (2048) 4096 
-Requested keysize is 4096 bits +Die verlangte Schlüssellänge beträgt 4096 Bit 
-Please specify how long the key should be valid+Bitte wählen Sie, wie lange der Schlüssel gültig bleiben soll
-         0 = key does not expire +         0 = Schlüssel verfällt nie 
-      <n> key expires in days +      <n> Schlüssel verfällt nach Tagen 
-      <n>w = key expires in weeks +      <n>w = Schlüssel verfällt nach Wochen 
-      <n>m = key expires in months +      <n>m = Schlüssel verfällt nach Monaten 
-      <n>y = key expires in years +      <n>y = Schlüssel verfällt nach Jahren 
-Key is valid for? (0)  +Wie lange bleibt der Schlüssel gültig? (0)  
-Key does not expire at all +Schlüssel verfällt nie 
-Is this correct? (y/N) y +Ist dies richtig? (j/N) j 
-Really create? (y/N) y +Wirklich erzeugen? (j/N) j 
-We need to generate a lot of random bytesIt is a good idea to perform +Wir müssen eine ganze Menge Zufallswerte erzeugen Sie können dies 
-some other action (type on the keyboardmove the mouse, utilize the +unterstützenindem Sie z.B. in einem anderen Fenster/Konsole irgendetwas 
-disks) during the prime generation; this gives the random number +tippen, die Maus verwenden oder irgendwelche anderen Programme benutzen.
-generator a better chance to gain enough entropy.+
  
-pub  4096R/D1359446  created: 2018-11-21  expiresnever       usage: SC   +pub  4096R/2ADD88EB  erzeugt: 2018-11-24  verfälltniemals     Aufruf: SC   
-                     trustultimate      validityultimate +                     Vertrauenuneingeschränkt Gültigkeituneingeschränkt 
-sub  4096R/564BA287  created: 2018-11-21  expiresnever       usage: E    +sub  4096R/B815F8ED  erzeugt: 2018-11-24  verfälltniemals     Aufruf: E    
-sub  4096R/ACCE2639  created: 2018-11-21  expiresnever       usage: S    +sub  4096R/25704226  erzeugt: 2018-11-24  verfälltniemals     Aufruf: S    
-sub  4096R/EC65030E  created: 2018-11-21  expiresnever       usage: A    +sub  4096R/E8B122B0  erzeugt: 2018-11-24  verfälltniemals     Aufruf: A    
-[ultimate] (1). Django aka BOfH <secmail@mailserver.guru> +uneing.] (1). Django aka Bastard Operator from Hell <django@mailserver.guru> 
-</code>+ 
 +gpg></code>
  
 GnuPG listet nun den Primary Schlüssel zum Signieren und alle Unterschlüssel auf mit dem jeweiligen Verwendungszweck **usage** auf. **E** steht für Verschlüsseln, **S** für Signieren und **A** für Athentifizierung. GnuPG listet nun den Primary Schlüssel zum Signieren und alle Unterschlüssel auf mit dem jeweiligen Verwendungszweck **usage** auf. **E** steht für Verschlüsseln, **S** für Signieren und **A** für Athentifizierung.
Zeile 636: Zeile 635:
  
 Fragen wir nun erneut den Schlüsselbund mit den secret-keys ab sehen wir nun unsere drei Unterschlüssel. Fragen wir nun erneut den Schlüsselbund mit den secret-keys ab sehen wir nun unsere drei Unterschlüssel.
 +   $ gpg2 -K
 +<code>/home/django/.gnupg/secring.gpg
 +------------------------------
 +sec   4096R/2ADD88EB 2018-11-24
 +uid                  Django aka Bastard Operator from Hell <django@mailserver.guru>
 +ssb   4096R/B815F8ED 2018-11-24
 +ssb   4096R/25704226 2018-11-24
 +ssb   4096R/E8B122B0 2018-11-24</code>
 +
 +== backup des vorhandenen Keyrings aus dem Userverzeichnis == 
 +<WRAP center round important 95%>
 +Bevor wir unseren Schlüsselspeicher im Userverzeichnis bei den späteren Verschiebeaktionen nicht versehentlich schrotten, kann für Restore-Zwecke ein Backup und ein sicheres Verwahren des Schlüsselspeichers angeraten sein.
 +
 +   $ cp -a ~/.gnupg ~/.gnupg.$(date +%y%m%d)
 +</WRAP>
 +
 +== Schlüssel in die ChipCard des Nitrokey Start verschieben == 
 +Nun werden wir die vorhin generierten Schlüssel an Ort und Stelle in die SmartCard des Nitrokey Start verschieben. Hierzu verwenden wir den Befehl **''keytocard''** des Programms **gpg2**. Wie schon beim **[[centos:nitrokey:pstart#pgp-unterschluessel_-_subkeys|Generieren der Unterschlüssel]]** müssen wir angeben, welche **primäre Schlüssel-ID** bearbeitet oder genauer gesagt verschoben werden soll. In unserem Konfigurationsbeispiel ist das die ID **2ADD88EB**.
 +   $ gpg2 --edit-key 2ADD88EB
 +<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.
 +There is NO WARRANTY, to the extent permitted by law.
 +
 +Geheimer Schlüssel ist vorhanden.
 +
 +pub  4096R/2ADD88EB  erzeugt: 2018-11-24  verfällt: niemals     Aufruf: SC  
 +                     Vertrauen: uneingeschränkt Gültigkeit: uneingeschränkt
 +sub  4096R/B815F8ED  erzeugt: 2018-11-24  verfällt: niemals     Aufruf: E   
 +sub  4096R/25704226  erzeugt: 2018-11-24  verfällt: niemals     Aufruf: S   
 +sub  4096R/E8B122B0  erzeugt: 2018-11-24  verfällt: niemals     Aufruf: A   
 +[ uneing.] (1). Django aka Bastard Operator from Hell <django@mailserver.guru>
 +
 +gpg> </code>
 +
 +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!
 +  * Sub-Key **1** - **B815F8ED** - **E** = encrypt = verschlüsseln
 +  * Sub-Key **2** - **25704226** - **S** = sign = signieren
 +  * Sub-Key **3** - **E8B122B0** - **A** = authorize = authentifizieren
 +
 +Da wir die privaten Schlüssel unserer drei Unterschlüssel verschieben wollen, wechseln wir von der Ansicht der öffentlichen in die Ansicht der privaten Schlüssel.
 +  gpg> toggle
 +
 +<code>sec  4096R/2ADD88EB  erzeugt: 2018-11-24  verfällt: niemals   
 +ssb  4096R/B815F8ED  erzeugt: 2018-11-24  verfällt: niemals   
 +ssb  4096R/25704226  erzeugt: 2018-11-24  verfällt: niemals   
 +ssb  4096R/E8B122B0  erzeugt: 2018-11-24  verfällt: niemals   
 +(1)  Django aka Bastard Operator from Hell <django@mailserver.guru>
 +
 +gpg> </code>
 +
 +Als erstes verschieben wir den privaten Verschlüsselungs-Unterschlüssel. Hierzu wählen wir diesen mit Eingabe von "1" ein. Die Auswahl wird uns dann durch den ** * ** angezeigt.
 +
 +  gpg> key 1
 +<code>sec  4096R/2ADD88EB  erzeugt: 2018-11-24  verfällt: niemals   
 +ssb* 4096R/B815F8ED  erzeugt: 2018-11-24  verfällt: niemals   
 +ssb  4096R/25704226  erzeugt: 2018-11-24  verfällt: niemals   
 +ssb  4096R/E8B122B0  erzeugt: 2018-11-24  verfällt: niemals   
 +(1)  Django aka Bastard Operator from Hell <django@mailserver.guru>
 +
 +gpg></code>
 +
 +Nun verschieben wir den ausgewählten Schlüssel in die SmartCard des Nitrokey. Als Ziel wählen wir dann richtiger Weise die Option **2** = //**Encryption key**// aus
 +  gpg> keytocard
 +
 +<code>Signature key ....: [none]
 +Encryption key....: [none]
 +Authentication key: [none]
 +
 +Wählen Sie den Speicherort für den Schlüssel:
 +   (2) Verschlüsselungs-Schlüssel
 +Ihre Auswahl? 2
 +
 +Sie benötigen eine Passphrase, um den geheimen Schlüssel zu entsperren.
 +Benutzer: "Django aka Bastard Operator from Hell <django@mailserver.guru>"
 +4096-Bit RSA Schlüssel, ID B815F8ED, erzeugt 2018-11-24
 +
 +
 +sec  4096R/2ADD88EB  erzeugt: 2018-11-24  verfällt: niemals   
 +ssb* 4096R/B815F8ED  erzeugt: 2018-11-24  verfällt: niemals   
 +                     Kartennummer:FFFE 43243711
 +ssb  4096R/25704226  erzeugt: 2018-11-24  verfällt: niemals   
 +ssb  4096R/E8B122B0  erzeugt: 2018-11-24  verfällt: niemals   
 +(1)  Django aka Bastard Operator from Hell <django@mailserver.guru>
 +
 +gpg> </code>
 +
 +Als nächstes verschieben wir den privaten Signierungs-Unterschlüssel aus, in dem wir erst den bereits ausgewählten Verschlüsselungs-Key abwählen und dann den Signierungs-Key anwählen.
 +  gpg> key 1
 +<code>sec  4096R/2ADD88EB  erzeugt: 2018-11-24  verfällt: niemals   
 +ssb  4096R/B815F8ED  erzeugt: 2018-11-24  verfällt: niemals   
 +                     Kartennummer:FFFE 43243711
 +ssb  4096R/25704226  erzeugt: 2018-11-24  verfällt: niemals   
 +ssb  4096R/E8B122B0  erzeugt: 2018-11-24  verfällt: niemals   
 +(1)  Django aka Bastard Operator from Hell <django@mailserver.guru>
 +</code>
 +  gpg> key 2
 +<code>sec  4096R/2ADD88EB  erzeugt: 2018-11-24  verfällt: niemals   
 +ssb  4096R/B815F8ED  erzeugt: 2018-11-24  verfällt: niemals   
 +                     Kartennummer:FFFE 43243711
 +ssb* 4096R/25704226  erzeugt: 2018-11-24  verfällt: niemals   
 +ssb  4096R/E8B122B0  erzeugt: 2018-11-24  verfällt: niemals   
 +(1)  Django aka Bastard Operator from Hell <django@mailserver.guru>
 +</code>
 +
 +Nun verschieben wir den privaten Signierungs-Unterschlüssel in Richtung SmartCard des Nitrokey Start. Hier wählen wir nun die **1** für //**Signature key**// aus.
 +  gpg> keytocard
 +<code>Signature key ....: [none]
 +Encryption key....: 7EDD 7456 77A7 F355 C4A8  930E 29E1 FED4 B815 F8ED
 +Authentication key: [none]
 +
 +Wählen Sie den Speicherort für den Schlüssel:
 +   (1) Signatur-Schlüssel
 +   (3) Authentisierungs-Schlüssel
 +Ihre Auswahl? 1
 +
 +Sie benötigen eine Passphrase, um den geheimen Schlüssel zu entsperren.
 +Benutzer: "Django aka Bastard Operator from Hell <django@mailserver.guru>"
 +4096-Bit RSA Schlüssel, ID 25704226, erzeugt 2018-11-24
 +
 +
 +sec  4096R/2ADD88EB  erzeugt: 2018-11-24  verfällt: niemals   
 +ssb  4096R/B815F8ED  erzeugt: 2018-11-24  verfällt: niemals   
 +                     Kartennummer:FFFE 43243711
 +ssb* 4096R/25704226  erzeugt: 2018-11-24  verfällt: niemals   
 +                     Kartennummer:FFFE 43243711
 +ssb  4096R/E8B122B0  erzeugt: 2018-11-24  verfällt: niemals   
 +(1)  Django aka Bastard Operator from Hell <django@mailserver.guru>
 +
 +gpg></code>
 +
 +Zu guter Letzt fehlt nun noch unser Authentifizierungs-Unterschlüssel. Wir wählen also wieder den Schlüssel **2** ab und den Schlüssel **3** aus.
 +  gpg> key 2
 +<code>sec  4096R/2ADD88EB  erzeugt: 2018-11-24  verfällt: niemals   
 +ssb  4096R/B815F8ED  erzeugt: 2018-11-24  verfällt: niemals   
 +                     Kartennummer:FFFE 43243711
 +ssb  4096R/25704226  erzeugt: 2018-11-24  verfällt: niemals   
 +                     Kartennummer:FFFE 43243711
 +ssb  4096R/E8B122B0  erzeugt: 2018-11-24  verfällt: niemals   
 +(1)  Django aka Bastard Operator from Hell <django@mailserver.guru>
 +</code>
 +  gpg> key 3
 +<code>sec  4096R/2ADD88EB  erzeugt: 2018-11-24  verfällt: niemals   
 +ssb  4096R/B815F8ED  erzeugt: 2018-11-24  verfällt: niemals   
 +                     Kartennummer:FFFE 43243711
 +ssb  4096R/25704226  erzeugt: 2018-11-24  verfällt: niemals   
 +                     Kartennummer:FFFE 43243711
 +ssb* 4096R/E8B122B0  erzeugt: 2018-11-24  verfällt: niemals   
 +(1)  Django aka Bastard Operator from Hell <django@mailserver.guru>
 +</code>
 +
 +Nun verschieben wir den privaten Authentifizierungs-Unterschlüssel in Richtung SmartCard des Nitrokey Start. Hier wählen wir nun die **3** für //**Authentication key**// aus.
 +  gpg> keytocard
 +<code>Signature key ....: 9EF2 5BA7 4935 4D52 B2F7  0044 86AF 96F5 2570 4226
 +Encryption key....: 7EDD 7456 77A7 F355 C4A8  930E 29E1 FED4 B815 F8ED
 +Authentication key: [none]
 +
 +Wählen Sie den Speicherort für den Schlüssel:
 +   (3) Authentisierungs-Schlüssel
 +Ihre Auswahl? 3
 +
 +Sie benötigen eine Passphrase, um den geheimen Schlüssel zu entsperren.
 +Benutzer: "Django aka Bastard Operator from Hell <django@mailserver.guru>"
 +4096-Bit RSA Schlüssel, ID E8B122B0, erzeugt 2018-11-24
 +
 +
 +sec  4096R/2ADD88EB  erzeugt: 2018-11-24  verfällt: niemals   
 +ssb  4096R/B815F8ED  erzeugt: 2018-11-24  verfällt: niemals   
 +                     Kartennummer:FFFE 43243711
 +ssb  4096R/25704226  erzeugt: 2018-11-24  verfällt: niemals   
 +                     Kartennummer:FFFE 43243711
 +ssb* 4096R/E8B122B0  erzeugt: 2018-11-24  verfällt: niemals   
 +                     Kartennummer:FFFE 43243711
 +(1)  Django aka Bastard Operator from Hell <django@mailserver.guru>
 +
 +gpg></code>
 +
 +Zum Abschluss speichern wir nun unsere Änderungen im lokalen key-ring mit dem Befehl **save**.
 +  gpg> save
 +
 +Wenn wir jetzt den Kartenstatus abfragen, werden unsere drei Unterschlüssel entsprechend mit angezeigt.
 +   $ gpg2 --card-status
 +
 +<code>Application ID ...: D276000124010200FFFE432437110000
 +Version ..........: 2.0
 +Manufacturer .....: unmanaged S/N range
 +Serial number ....: 43243711
 +Name of cardholder: Michael Nausch
 +Language prefs ...: de
 +Sex ..............: männlich
 +URL of public key : [nicht gesetzt]
 +Login data .......: django
 +Signature PIN ....: zwingend
 +Key attributes ...: 4096R 4096R 4096R
 +Max. PIN lengths .: 127 127 127
 +PIN retry counter : 3 3 3
 +Signature counter : 0
 +Signature key ....: 9EF2 5BA7 4935 4D52 B2F7  0044 86AF 96F5 2570 4226
 +      created ....: 2018-11-24 18:38:34
 +Encryption key....: 7EDD 7456 77A7 F355 C4A8  930E 29E1 FED4 B815 F8ED
 +      created ....: 2018-11-24 18:20:41
 +Authentication key: 5CE2 A469 770B F92A 7279  DB2E 494E 8C46 E8B1 22B0
 +      created ....: 2018-11-24 18:50:42
 +General key info..: pub  4096R/25704226 2018-11-24 Django aka Bastard Operator from Hell <django@mailserver.guru>
 +sec   4096R/2ADD88EB  erzeugt: 2018-11-24  verfällt: niemals   
 +ssb>  4096R/B815F8ED  erzeugt: 2018-11-24  verfällt: niemals   
 +                      Kartennummer:FFFE 43243711
 +ssb>  4096R/25704226  erzeugt: 2018-11-24  verfällt: niemals   
 +                      Kartennummer:FFFE 43243711
 +ssb>  4096R/E8B122B0  erzeugt: 2018-11-24  verfällt: niemals   
 +                      Kartennummer:FFFE 43243711
 +</code>
 +
 +=== Öffentlichen Schlüssel ausgeben ===
 +Damit wir später unseren öffentlichen Schlüssel auch weitergeben oder zu einem [[https://keyserver.nausch.org|Keyserver]] hochladen, exportieren wir diesen in eine Datei.
 +  $ gpg --export --armor django@mailserver.guru > django@mailserver.guru.publickey
 +
 +Diese Date enthält unseren Schlüssel in ASCCI-lesbarer Form.
 +  $ cat django@mailserver.guru.publickey
 +<file key django@mailserver.guru.publickey>-----BEGIN PGP PUBLIC KEY BLOCK-----
 +Version: GnuPG v2.0.22 (GNU/Linux)
 +
 +mQINBFqxBeoBEACb8vp3slLjFEokgbIJQ1JVlqlFtzcDxgtAZWe+hE0kz8Emw231
 +Ni0QZbjBOxDJPfuoIekeTCSAEFKZQUF/j7r07qhrHrWy42BQJSzSbzD05LvQpJyp
 +AS9cY4UqNN4IUTyGzZNZnhIWyVlwJ0CaiB1zpZZqUVYrbfRnhc8xiFPiDjiZVkXS
 +DjSNmJlloXKyX0tpmrZ6cB/96pf4CFqosiW3qgLLg00ewF7Ng5l9v4ui88Rg7pAa
 +8/uQlo0Sbk6QELnvKxMfDPG4zu3lns9ogYWdVKDCllsaCHa5emfOjuYDk7wkrXVz
 +X2Y2dMi5pcsiwNwJ0DUVVKz8udRfCFyFp3i+QiZ/BhlGUQNcPQGzDBAWA0uO4T6t
 +JkldAw2Mos8VqXbjd4wdNAipw4l8ySl+WWgqcST5YWNtQfcipy4Cz1aQNBjlwT2F
 +ko8RdOnwsSzqrtXFqBginAvg0kflK+i11X0/W4Hsc6r7WJFNM2rPrk06uK+DObhR
 +bJpSCdl5CozWRYbVWzkv2NiYaI7dWTxCHenWPmbP0Z9VDm6dNH15V1TXvvrRdUt8
 +h9DEXob+fPH9P5YCyD6+FlIjoTiKFB7pNtULRVfCG8kM0BwnvCM7/8T6/FSxvmgZ
 +0HTWhkFwFAQB6JUIPadVQHQJ/dnEhf4X4ezw5Iias0gyXDTDwr8OaxHy5wARAQAB
 +tCNNaWNoYWVsIE5hdXNjaCA8bWljaGFlbEBuYXVzY2gub3JnPokCPwQTAQIAKQUC
 +WrEF6gIbAwUJA8JnAAcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEASBlPdr
 +M+i8WUEP/0BULv3cPqpExrCtsGxNJlAuYRFRfQkRtrWom14YeuomBnAQ2XbHlc0x
 +pDNNT1C7OhjeTr49Em9BFli+kPbfSLl5bFnJSuxvlOPY1PH/IkWRDPnTsRTAnamD
 +ZabZgwy0T5kZvVOv6H4b5RiHgj/ChFVKLedm6dUE1bpK3c1mjQvnxUVRaEsNTBy8
 +cPKV+sXDqpN2GNeUvpBARDaU2vyYuY5XvhHj+xe0jodr7Snn/u69BsBotoaZHZ9i
 +r9bym7Iv/18PdZW0TiR6hOdTwVB0w+RzmxPtPPdva+CYtK5aU1w59zDhSCa3hJyy
 +WtMTSfSNry9wu6KtrYPcjK7K/JDgT5XRjgswZTKlQ4WAeWj+gVwuKKamh9BC83tM
 +KuzpG/o14Vorf5JSMeDonLFnaj14Zzgz15dTMeIQapyk+FrtrAbUbW/Op94g7RiE
 +xt3Q7EKc/E63ZuQwjE0LinTUPciesOwTAN5bSiL3usrlsm21g2uP6Vgn7AgTrhnM
 +RT4UX80XClE2YksNroMHlhfRMrdMIMxvKNps2iYqiCe6lRZItSCYMgrQK/8ONagZ
 +BxZO9sm8tA13sZuXLxJqXkLtKntKSgfQG3cg0Zr0QhwPTAIHTvJqg4nvpbYdOBmK
 +HVGumzQtc+8y1+E842OllkIYQwBSg5+/dqifLF5wwIWePVr0AvYytDtEamFuZ28g
 +KGFrYSBCYXN0YXJkIE9wZXJhdG9yIGZyb20gSGVsbCkgPGRqYW5nb0BuYXVzY2gu
 +b3JnPokCPwQTAQIAKQUCWrEG1QIbAwUJA8JnAAcLCQgHAwIBBhUIAgkKCwQWAgMB
 +Ah4BAheAAAoJEASBlPdrM+i8v6oP/iVH7pNYsgD3gfpm393EvIbs8EblPSGgEqWO
 +JlVZx3loLq/sJTGnknhtdKCzFNVr6aUlXqu4HwXG6xAl6ogVhmh4BJrR4uj8XHJz
 +XJWmw96sMXR5PaekwhYtB08SYDDj9TxQrTS8YSg00KGdrZyqGLMFU46xILaC3LLx
 +PFyyx8SX2Jiw8QSvtLxhDJBOyT6m+E4iIcYa6mJm1Sp9iz9kMgRzgPhsq2sRCZZh
 +Fgszhug7DTec6/0VuSc5U8ECPbJvq1sXO4p/QwajdDEvXf8Lx4VS5Ihumw2zXm+n
 +EMD8M7m08oc2ibCYqVwRrzd5o4lUZ59Wilx1COOxLzJpzpmO6v1x+HeiIRDALLSD
 +FsJKAHfyqFhBp9Lie2YlrZmVRR1rN9Odjqc6wnb10veYwvZ1vJGP7ybjoWvSnxV8
 +4abx8Q10NaLNlVUXN8m4hBZdnBsfpi75TftxiHzXO8I4meLkL/ddYGpJOk+UYDpB
 +tF66ZVd2IDEVzR6x1P8QlGCLXEa4XBc50oWgn0O1QUSlAD6HXBYFJCyhnPVcmbr2
 +25crUXV0llAWxETVtIj2/VQIUakJpIatihzRKc3pzVNKXv9PC0R4M/EA+dzeRYtq
 +vd7ebGgrjLzk2T5/y/WPzckv1Hf67sYQxJ9HY+HVp+FZ25pEgOefmlAQb247Jmvl
 +xT2cLwLItCZEamFuZ28gKEJPZkgpIDxkamFuZ29AbWFpbHNlcnZlci5ndXJ1PokC
 +PwQTAQIAKQUCWrEHFgIbAwUJA8JnAAcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheA
 +AAoJEASBlPdrM+i8SY0QAI8MQR8tEtMQ8IpIeRISBJfCgjwRVHKHySjMztorJYlv
 +42FBuI4jo6LgQ7xehzHdgW8fATMmEwRekm4OcwEpGtDYXj5z2gwHejB4JQ/Ub6Gf
 +TP2aLl+3wA3RoqEqKi5JYb23PRK31Yl7lRIoBrdq2ygfIwinLDz9HbPD1On32pBc
 +nZQXk+HOHy+bZ2bKNLNta4dcQW+oyH0ZD625kd82XKGKQdnaDo1hu5RT2PtQO9VX
 +p8gfarI+r33IpceZYP+Dufa/rcgHFv6bWN3GWb7bRQ+iP0Gc5UTuwquysb/Ak/br
 +yANBbXiuRXWseGcw0OuCr+4MS/yfWQrighPgEUQoIRkrLGBD657ljtpmJEUjHqtW
 +Bz5G17ThpIQFS/2VtBmVHKTD5b72ciZVln9B4X2ofJcloR7DlpohZ1DCX9vK/k6b
 +B2eMEP5XjfZ9nLv2EYtnmEdiFcFs0PLna2eCl70gBoHZXUKN/fZW9q83u8YG3iv+
 +vmnNDbKxwGesy1BaVnjIWtDtZL4pxxFCB14TqDUxSs2kZkR9wE263Ae6q7m+hWqt
 +8Yob2GUK16u93JiON1czL0gEmTFO3JYOqbAqNlh3qKPnRBR53eApu4vcCrLEZTAP
 +2YushC2/624QFkH0q4EFe65wCbaUFaNV2BJjL0RK1tLPpp1zSKHbwMdKcEUszLbt
 +uQINBFqxBeoBEAC6WQNcYwfFcb9uLZe/jL22e8CBlCKZbHuWP28iDut3SS8LCL6o
 +IjXinobGMxRrC9NsmcTP0XhhUhq8BP8AsJfz22EfUl5ofcZSAknOt6vdQxfWdSU/
 +yEGQW4m7lSaBD9s+APvd7ACT1631doUXOC5Kqzbwvk1kJtHue8/ewszmW7KkysBW
 +4/qdx93KMinmXkIKy0z7HdWt02HDSzebB5r5IAOs3s2h95HpIrfjOL3eh+WAgWKg
 +W541zUTrib/fp+6F2rtO/USVOZOyDM6GBlKC8yyBS+EVjakN2nphu3JrNbXP8e59
 +zMHjnFKE8oQhpBBmI5tMIEq5mDthT9b6mFZkvhG2mVaFBv74LVxsd2OD7l4+F/Xr
 +fu9iJjHDp9u/9+VvY0Hea+N0+TsrnEh9a8zretgUuM53922DMcQP6Wjbv+jvZjyS
 +6u221deBhooxjCZQmIp3B6JybmjRMYRC3s9+hkn2u46DIy/tiYCpDkX1vUQCeLLf
 +fYc99gzwMzg/ecapxTC96Yyrie+2C0iBoEM0ohr6MycKa5tkekw4c28xm5jtb8cE
 +kHwAYtNnkvWFfLdtRJXLuGZED/adOYT/OrPv5ZUhB8agoWfX1YP+AtLoQd5k9Slm
 +Ch5bOhK9UCcKJdQ6yoEWcqlolUk7LHXeEkQYM/d01ZuZiVDW5mEpPmVSmwARAQAB
 +iQIlBBgBAgAPBQJasQXqAhsMBQkDwmcAAAoJEASBlPdrM+i8aacP/05d6tTK+CTz
 +IwUNAZW0Gm5AG6vg/Hoa6RopxA+o+KpOQyjGkeQ+cMoY8SiFtr4TjE+a4ocZbonE
 +4O6aqo+tqVpeCPtKzLdBp7a69mQ7+z7QbwBwyiRSvsvnnSu9RdnCCEmAj+E01djx
 +DmZfT94pvz70MBY3rt7hjRNgm1d2RtmcwkyMwE7vTuSakIlPLH4yG7deMEZDxjYK
 +yLZl+0gISJQXNwaVY2jTX5iglYI8pyoE+aRREEbeqaQKuqKvuOLsnGF26RSNBWg6
 +YIuuNKP86xNkXKrr5HqqUmjWNHg4QorKfTk4gtcR3gzH9U3ysUqP+gWIuP78PICq
 +4mPT60OCp7XyRhGgiRO5/owvqj6HTCqGYq3UEBsCgjyNxaS9G32khSLsoFWSNGQp
 +3PbO2poj6sJSyHSs3LZnW2bweb0uPfNlbTSWIzqoUHbSS/7SSksSjAwSuaavvdWF
 +eYJEmJ+Zx0uVsKpeGtKIgV/KEWcGg8vWXVY7Y8RZPZnFBbpF8bVhd+4kV4lLsEGk
 +lJsUFf1e/P0KsIsTl81Gr7i6gOIc8ICHc0/DatVYO9KeTX50Omvjc+JZlMOEEqni
 +4Wn33thSBjcLF1fG14PiX0XA5P9or7n/PqD2NTKItUGtMMYQlf7zSj6cQRnUklxG
 +Snc41CqWfodSavfwnWe8Nf6bLwNs0WOYmQINBFv5lnkBEADAstefWzpzeZy1TVl4
 +nM5KmyvPmPMciQaL2+j2irsTPt/nM4Dj+4VVwh7htRXqC1yKe8lZz3cgQuoqBwkk
 +bzS1k8W5hyLFMq3TL3uo+u6we3+B6fgGL+3XktN5aMAuX24hOLLWnm8/UKOMLR+r
 +woHJNviL9kYI7YBVz859RrSWXHiduV4eFYDKH7zBO+ZzwkAnRmakicnr4n6+1bKv
 +sXsBQGdB/R5oOZFnROUAN3qlZCrnYSo4f2LjI5m7TSLP0CoX80G2slBCLAjzIbpN
 +sXZHOIB0hgy2FSlyJwjWycms8pknZJ71JlpiTN5SrSG5rnogLCnNF1siy7ag92gq
 +LNR8712tlWAgHBE+duFyRHa/t2HHi9JW3VcQuB+tOEe9KclWjzmrdp3vmVeF1uqp
 +Cmjt+OwRYo1vh5ekgb9kTo3V+gnULKPNleneuni2M2NILishQcHdnB9HqZEyhWBN
 +7LODG2kH8LBwDk4gCR2giu03csvpQXagwlSRoBDoyDu9euyhrRV7LzhTQMax9s+q
 +nsE8TC3VnmsdiZzGJEANL7vO4KGjCY40BTP5AbZzb8B0gtlSAlYf+kEnUYg8geyE
 +fd4OfkJ86BwPTAo+SX3ZBxPnFDMS74cTuPtIbBG0tvlSh5V8BV3snxir4O1aqL75
 +8/Yf0HnvOnYSgyaCf7BU/qcLyQARAQABtD5EamFuZ28gYWthIEJhc3RhcmQgT3Bl
 +cmF0b3IgZnJvbSBIZWxsIDxkamFuZ29AbWFpbHNlcnZlci5ndXJ1PokCOQQTAQIA
 +IwUCW/mWeQIbAwcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEC1NcLAq3Yjr
 +RKMQAIxF/npeih19TOGnsr/tVZaVeYWlS072Xs7wKz+iLYlykuujxPz2jX7GMK0x
 +42fwuG0xEgpk3ZhAmhPQPZzLOkJLa0MphdO1uTGnuPax4iT67FjZrTT6D0bc0DSE
 +R66XGqRcPx2UYkXjjrx9fqm8gZv6zvh0Ouk+/OP6a63bz4VVMby4GI7IFJspk6xd
 +jzBC/zcq3sXqO9qirL1Dqa2IQBwDDklqf4Sw7IMAgZp8j2PUZ0jhBL77H6+NZYjU
 +lNPqPC1/17uwRqQcmAA0uIN2CgMFIPajQ3vfdZDFSJ/gIek075qFkTRa4jmK3WPc
 +sAWKQhCLyVsY9HeTN+rGWuewpYKjquIHmfxQwQQ0c+pLT/JZgaa81tAVfhfSzQ3D
 +Kl83/NFGzZrJbRGb+Gx1Wpz+JJI9zaLTZQp/xvuzL19SOGPEq2ikvsTEGGNs7vV5
 +A6UKVaOMfsYWxTOS2VGzneP6ipcHJvTpQ4R4l5Fzh4rJGv1D186w2o9ve3zA6Ivv
 +INDHX4LVbfdH/hhDHIkyjRjj5W1UCUOz8XWz8BNwWSKZE63DiV3kPhCF38K43cuD
 +nIOC7w+fp14vIjDl3jl9mOlhMb6HZqXjNaSPGH58fkRCSUfcWkqwraBQ46C84gSo
 +fAG9l5Bz1c7SkZ8jZg0xCKTIehjpN8x2wJFHnc+Uc5dDpjMjuQINBFv5lnkBEADq
 +brqkm05OQq1EVMWhGYcBCpZjHgR9tsgmBd6/8zBFvQpM1EpVQ2DjoUMdfLFGN0VE
 +buUD5kuA1rQ/wUPt/h5kow5r+RCmmuV3FwPwzjMNkCsyz9yFqv4SddoRqwjCsr5B
 +n9I3ho39wdICSY522qdTME4iRjfh8Nnz7k7yWBHhOyjRoETeBMFtT+wLrbT2h/1m
 +5XZ2HdZM4y9KSvKj9QY2tVGCMv1WHicHrbctl+sQE3QscHjpqYfKLU9XsG8zRkDv
 +sDJldp5aOjRxnbdr/jQ74P//t3lMekKNGOXNAgbPPZnxaVC6fIt4GbH9M0cS9dE+
 +LcIwEGbhd4WHL82ZPZvYV8XoS1/eN+nV/bOR5YwCtBV6Jmeg/wENKYnrX1NJJa3+
 +DmOTUhiyGbR5+q3l5vahkWPGaXJzMp7GS4IcGHjZR30cz8so2b/Y0lmpRtBsT14Q
 +dbauKpSVBZ/hxmnF42BafQ8vWe7IDBQqcHqU393gko57fBhCs5QG4gj2rEHs48gJ
 +dm846U6WVsnSEKblcRo8fUesMezSxrAZMMcceLYIyGBv93wfrQuQF/5fZYaOjZ5W
 +FvIHtsOzBle5gQLhYewZJZ5nDeun39ruKfNyoPqxwXJ1mIteHaIrVrCJT3IIYszf
 +FcRksVY6vY50eUoXn4nI1NSv4BWGqiK71/wmHUDi4wARAQABiQIfBBgBAgAJBQJb
 ++ZZ5AhsMAAoJEC1NcLAq3YjrhgAP/0dS9ykHlhZS8Sk6edCIsvUmIj0j4VrmLgBx
 +RDI8kxjfHnwVDsA3i80qWJ4jgCvwgXM1stmN4xIE/dvmI4mPA1bnLmMZkbVhJr4P
 +G3GvCHxFAmbZD65Kv32YZqii7GfX+0Xn3L2O1ZVXatzG8dgU7olJ0y+0/1zWq6o7
 +6hf3f4ivsh9D8YYVyJFXBc9U67O5q+tZMuEb7su6ypIEby2BWmtr1Q6xb64N4nfH
 +ROgtlFHLXciVbDFM4FimUmH4IGDV7XCBm11+XUxaEMa6KLJiyZZj2iL7uZE7C9/Q
 +xIkCBXFd7zGnLmKJu1XqKxAoPL8CEsohyME/4jMQmqMr5nZKbmyMzgEU02dphLrI
 +tULrfVT2Hemcrocx0EIuqsReOUB9VEe7EtCEDG4vmQ3Ni6Eb+L8inxbB1Anwzr06
 +8H+78As2KleYFx4Li2vTUmKx57NDFcAH4jl9zy/D2u0WF7+gzEc1ou4gFhiIoCLQ
 +bG4teqKxE5f4xdCS/iUHQmjtBJvwBkcSbAG7/jMK1eYrXl8pO6HKUhMfhkE03oV6
 +KKHbxEOFyKE5gepharYxMy2lLjKL31u89XYULhncQkFQmCDtWwKoeD9XnwUuiFri
 +JadOP8vyNTP3n99EaEzCC4jzPhes0rSQnBSYcM/4ncyZfvhoBOGFRGdobnvDvujj
 +Q5p4i37xuQINBFv5mqoBEADiQKASQcZE4ZexBeSL0M1lIPu3XsIbujSNh7V3KJ1q
 +rplno74h/0Yd6L6OFat3M4Ch254j8InyCCHh0olU2pMIJDAbGJObihaqaKBm/TAq
 ++HlFs0Cldy+Kk5pprAl5z5iLLh9+HL+vart6c4hPNL4eiiQufi2wXrwp6bC5za/L
 +MV8IXpX0FbWXOKCzYV2mciNeXaJ1EeE99BnQN2PJ4XdWdjRZuyPWo4oj6Ze07f1M
 +17o0s/DVOm3ZVeT7FYb3Ia4R4sJg6EiOamWhVatsPoe0M3MBNXpWkUxQUVRAY7+X
 ++kqe8NaPVRmdwiaPGl4D79B5dpFUsmDfYUnzTOl3PdTsE65xKJ+wjcXbXk8vl6b4
 +pUnC7SJaOmtCIPEQyyDEwzJ7u+yOupb2varLLzRPpQLtbtTj9JNqryTHrZ9mcA6T
 ++pulUBKU5PlZUQbVroeKUOETjVzInhb9NAgOmsEsz6hra1OTO2hWdH+SDrIfTKrx
 +MQOTFT0Nnvbu65l+cp8tH9H9EtyfYkVQh8/F6SSltAqu+98OM36itH8w7R7kbkpX
 +GGeMN4tf1p8P905+Um6p8Avkb7/rsRdqkaZtZnq8RsbPqbLDtH1xiMnLeyzKXvsx
 +arkOdwkiCBW9rU2dj75kpI4z+2shYOC87lmGmVyzEUctV3gCvsPrIXmvxwxkunVr
 ++QARAQABiQQ+BBgBAgAJBQJb+ZqqAhsCAikJEC1NcLAq3YjrwV0gBBkBAgAGBQJb
 ++ZqqAAoJEIavlvUlcEImOVQP/AyLNTA2nIGf0INYYVPAA2n6SxTmsdoPfW6FZ2dg
 +prVChQUP/+CxUhEyUHLUWqJk+vpCGGTO4T7uafdrJHzuGWXJNZFbWiWi/cH3SfGC
 +6owBrntsXYwfsvvQMZEylfW4wiFYZ9PbTt4KS1oRTnyINFKUwLjf8I7TBNMv98q9
 +8FHogLR1y3BYvkYTMqFcVC6pblzyIfkeB+7TMvfrWHBnG4YHCvp+YUJtWP/T4tWL
 +gNvSHX5hXevUXZMnq6hNI2QVNOIhjvsT1Gp2/ZtWCgB5XOgfAlfNhIxmrbH42Fbv
 +5ZH20Z066nvIZ/hu2hrGT41A2yKOMgzzPIjWJcpBPR4LTXfeMALxdcHDFEquOFvB
 +fZSjOBNgDiXh6hrm/As91v395gMB/DdDj5Br87hoabCVCwDR4NMH1Sjww3r4NY6k
 +NriaCU0F6HDO+ywdpL1Dptj6D/RhDCke7W+SrtO+Xl0qSLq23rLa4bEYAYA5WyCl
 +jplqyThhWgifUfJrAivkZjyg/cU+yDH+a48rdvSoJaVMusOpCwNb2SAybdwS3lYl
 +X5Oqp11EA4Av8/OeBhTnvbgbUBcDYvoiVWCc1xRszaoSXGy0a+CB6RbwXt/54YQ9
 +R6Y1znsAM0p3KjsWgTyxC9/dur73JhJzQS3mWjm97awxfAn3CZ5eZd/O/16RWhgw
 +cCFnSMYP/RdET9oVg3ZFrwFdvTAOwnobAp2DS5DVgOJTLDBlVKqIB5JeVeZLGzg2
 +86nHDZivHp11SKFbBfNWHTZaU4X5J60Ve8cn6ggWYAfkvJxELt6umw3SXw+oLRRe
 +WbJGJXM2NUAyCATgbLAa+frCFgvspO/QPwoWTQTqNxEXjqO1znxkCgo0glWExYiq
 +RjZguv+6NbmSFxMFbuRSb+kQp2iyy6g6MKBo9buJoMveH2wWyIw485s3Ij5ukdpY
 +U7eZRkljTm3TnSDOjatrTcw/CQGLqXUZ4GoaaCvv5ASsljrMfFvJiZZygDl3B3ci
 +M57+Hv8My275jG4d2DbMoeWRmft+mo4J2At9v1LXlgG2G3w6GlB7st4Gz6f3N/Vd
 +8XNAKE11Ps9AEHFygD4tbEJeKAAkCXzsC/yeee9DC/wHbsTo6ZDfztQllf9Mqsu9
 +bVxapqAMS4O2mCUYR9mvD6NRO2wti2uIkjU0cI6MeSidq/7rysGPqBZfecQght+6
 +ImPpqlRR3CIFCv3adP8ATlgAfFAwGKxUu2Ev9UkkYEDc/v1op/ZGi84S59dqIpgL
 +bLmM4Eb5Ro1y3w8EMw3H7LdyU8GQCr8wLbujVowYcQBzyffgSdq3jbsu17OEk6tN
 +X8UlzMsOnPtwjRG/dv786i32cz9Yw13bfoUrirNsJUptuw8jncjQuQINBFv5nYIB
 +EADCgCvBPdwrYXqcWxH26kWJP4lwbhN7CPVFJ8tC3eKJ4Vc7uAoPIkJmQTrLW5jm
 +QYBeOcqUGV2zuN38JUIsaSBlIn8b6kZ1iURR2REl9cR5pPZNXdF+1GnMWYurm58V
 +6W0LJqvOA396fQN7ZVYC9FDVzlGv51xdmULVU0GZnlgq7jvaY6ySSInW041uWXBC
 +pEuyd6frC4B9ehPAWANQB/rBG1zGUW+TJBbs1VvKSevvvixF3WG0yihG6NspC5am
 +Q5SO7leb9S/rzF/Vn7Qm0pSY6Mz7QW5HB0psIw0Fo1u1UgyBP5xYjHJO4aKskXhl
 +e0OeTHHT5g+gZNN5ULKGBRnqOxk/7wt4gnYDXXNOSqmzLU9SQLCStAANibsdEa+V
 +5OZQolcEgQALEFSJSEfbonhAivkktDpYsMsYscSaJXPG+ft+cJTxV8ewfv4oHui1
 +nBF8H+RvBlikU50esQMplk/KX2c7wh0WcGL+DSjxyRCJN7O1S9sTPe/jVeLJsezV
 +vsMbyNDv9/YkMf78mqOijgcbiWn8HdM3ITVKZ24+K3HODqPRwt2zNUXFz/vTryhf
 +BBw8hQeIM5swvHNYTHZWQjWS0ZQmMAvqM5lnnhND9gKqFHNr4833Kq8fBgW+vdHF
 +cM4DOVgcqiINhX8Ac4GqOqtctFq2T08UWUPUddE4QuLjpQARAQABiQIfBBgBAgAJ
 +BQJb+Z2CAhsgAAoJEC1NcLAq3Yjr27oQAJ9jwPlwmz9cdRYC1MN3V7YRCtaeUxEI
 +vFR+q2wKTV4H7rwIZiU+O5L3fyfNVA2/5m6fg53YLozMyQgIO9Caxi1AobGKDYd8
 +z2hsfA+cX6v0bFMTIQI1Jfzwduy8FTt6wrtfW5nwJKI5K7qTgxkzO/XPbvqs0oHB
 +AYOzBCE1mhOJyR2vUS5QRbcuLXJV9klcY6LYw9GkKsf+7ivd5wqEYDvTog6qlW3o
 +53DWU0LQcYmQG0PRqn3I8G1dEUAxWxy34WTuqW5TE8x9wI6qZeUYyt3/aqZ2u515
 +b/8lMFeTq6Io9MF0r3jD+dm60e3yibUmjbqP4r4xqbcYL9djZBeV0VmnCDzMGgyM
 +xKh+Ej/xYW2GZGm/NJcT2tLZ6Z5KzxNkPU6gKUIQFfepgZAHLPtNQ6pEUe0ySGMj
 +KHcfklnFrY9sdX9BPefIlha/lLorcHclt2nB9+wVy/eee2I70FvdjgpmvPU3MMWR
 +RmmtAsqORFZkpblJNqxmUM861H1mh8q71x25iIpTczld5X4L7MB85kyXK3gYR4EP
 +YaP7QSWSbSvomlNSDibZPkBEik+VpK5kJ6gvaXUmETwpTEdeNw7kcc9r35FYWLid
 +08y+Q6cJyfy5I1tcfUpIr5qHGIqFQ28BGr4KT9GzVoVdGWn9x+xKsIP3Ft1q378q
 +RDp46CjW4gse
 +=WChe
 +-----END PGP PUBLIC KEY BLOCK-----</file>
 +
 +=== Verschlüsseln und entschlüsseln === 
 +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. <code> $ cat /etc/redhat-release > testdatei.txt</code> Die Date hat nun folgenden Inhalt:<code> $ cat testdatei.txt</code><code>CentOS Linux release 7.5.1804 (Core)</code>
 +  - Nun verschlüsseln wir dieses Textdokument: <code> $ gpg2 -o testdatei.txt.pgp -a -r django@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  38 24. Nov 20:38 testdatei.txt
 +-rw-rw-r--. 1 django django 962 24. Nov 20:38 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-----
 +Version: GnuPG v2.0.22 (GNU/Linux)
 +
 +hQIMA8oyvX4CemyZAQ/9Gnw8NSIvqSoTsWxITtV7d5oWIhBRYW5D7/OkDm4q+eYr
 +4dFI2XipORxOS6KIJ+xp9IcziV4D+RpqmI0kjCy/4pDotYWERLA8bX5JToPkUdgZ
 +nAvrZIL5SWKMPUnozKDlACAt4LifvPdejyMhDgaUBt+YHJGt8N7xKNg9MvKZ+kN2
 +0kHDsTUPGfjgaFl9lntLIuoqX8qROG7PuKbAIJoOI0eQKhmOhXC9Bc/ExOV1UkKT
 +DMysmwv2sXHiftkJLw94znC+If+Kc0ql2MyvsqgcMelvTyov6jOy8hopf2SkwTSJ
 +LLtSMxOq/44h8CM2QzxplOGAc5rqWLsMEuJSb/+InhDtCtOdVnw1dwMvgFJGn3R7
 +IJYrwd4ip6R7Q9uPm3eAx/RmKtowiHRrgKNC1yzrPUCgYVOCE87mjZVn/Ksvi9kp
 +RIrMeuiGQ+igF/VYKnhTd9XOL1A35eP+CtMbY24pT2LLfXLTgJBTtJABmwZCHyPS
 +y7NXNCwKqxv46ZzIhdUikxYvBcbT5Xc8ME82Z648M0pcBCo4L3q2TmbEvCPobj0/
 +2qzpNrO9YVAvhqiqFlfu4cdV5Jf+sRDGMoTRjae9fut+oA8Hi6gmR92nsnX223Wn
 +oG34HfLTJKLNTT/Tng6AJOLrWKtiAoWC3ApIcoHN2M53HUOCRgN2gtj79I6pjdLS
 +bgEvj9LJp5YbZJbd7mO+YTJ4N1NNJ8yeKXrL9f0gx7otGI54tpPrk58JJQnCxG3o
 +ldJT1hH1Iq6QrOZ6kGDF5oLhoRHzQzh8QQkD5bD9YVHC03V4c00eXDCEk5jDvSld
 +GClAjm+uZQngqfUwHhMZ
 +=mDf3
 +-----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 4096-bit RSA key, ID 2ADD88EB, created 2018-11-24
 +      "Django aka BOfH <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>CentOS Linux release 7.5.1804 (Core)</code>
 +
 +=== 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.
 +   $ gpg --delete-secret-key michael.nausch@it.piratenpartei.de
 +<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.
 +There is NO WARRANTY, to the extent permitted by law.
 +
 +
 +sec  4096R/2ADD88EB 2018-11-24 Django aka Bastard Operator from Hell <django@mailserver.guru>
 +
 +Diesen Schlüssel aus dem Schlüsselbund löschen? (j/N) j
 +Dies ist ein privater Schlüssel! - Wirklich löschen? (j/N) j
 +</code>
 +
 +<WRAP center round alert 95%>
 +__**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 Start auf der Konsole führen, da das gpg-Programm versucht den Schlüssel im Schlüsselbund zu finden!
 +</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 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.
    $ gpg2 --list-secret-keys    $ gpg2 --list-secret-keys
 <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> 
 +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 B815F8ED! 25704226! E8B122B0!
  
 +Nun löschen wir den primären Signierungsschlüssel inkl. der Unterschlüssel.
 +   $ gpg2 --delete-secret-key django@mailserver.guru
 +<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.
 +There is NO WARRANTY, to the extent permitted by law.
  
  
 +sec  4096R/2ADD88EB 2018-11-24 Django aka Bastard Operator from Hell <django@mailserver.guru>
  
 +Diesen Schlüssel aus dem Schlüsselbund löschen? (j/N) j
 +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.
 +   $ gpg2 --list-secret-keys
 +
 +Nun importieren wir wieder die zuvor gesicherten privaten Unterschlüssel
 +   $ gpg2 --import subkeys
 +<code>gpg: Schlüssel 2ADD88EB: geheimer Schlüssel importiert
 +gpg: Schlüssel 2ADD88EB: "Django aka Bastard Operator from Hell <django@mailserver.guru>" nicht geändert
 +gpg: Anzahl insgesamt bearbeiteter Schlüssel: 1
 +gpg:                             unverändert: 1
 +gpg:              gelesene geheime Schlüssel: 1
 +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.
 +   $ gpg2 --list-secret-keys
 +<code>/home/django/.gnupg/secring.gpg
 +------------------------------
 +sec#  4096R/2ADD88EB 2018-11-24
 +uid                  Django aka Bastard Operator from Hell <django@mailserver.guru>
 +ssb>  4096R/B815F8ED 2018-11-24
 +ssb>  4096R/25704226 2018-11-24
 +ssb>  4096R/E8B122B0 2018-11-24</code>
 +
 +Zu guter letzt vernichten wir die Datei mit den gesicherten privaten Unterschlüsseln.
 +   $ shred --zero --remove subkeys
  
  
Zeile 683: 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 689: 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 708: 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.1543083828.txt.gz
  • Zuletzt geändert: 24.11.2018 18:23.
  • von django