nitrokey:nitropadx230

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
nitrokey:nitropadx230 [22.08.2020 17:41. ] – [LUKS-Passphrase ändern] djangonitrokey:nitropadx230 [06.10.2020 17:27. ] (aktuell) – [NitroPad X230] django
Zeile 6: Zeile 6:
 Ein besonderes Augenmerk beim **NitroPad X230** wurde auf das Thema Sicherheit gelegt. So wird das Betriebssysteme bereits pese via LUKS vollständig verschlüsselt ausgeliefert. Beim Starten des Rechners meldet sich statt des Lenovo-BIOS das quelloffene **[[https://de.wikipedia.org/wiki/Coreboot|Coreboot]]**. Somit muss man nicht darauf vertrauen dass der Gerätehersteller und Author des originalen BIOS keine Sicherheitslücken oder Backdoors eingeschleust hat. Bei Bedarf kann man also hier den Quellcode kontrollieren und bei Bedarf sogar selbst kompilieren. Darüber hinaus wurde auch die sicherheitstechnisch bedenkliche **IME**((**I**ntel **M**anagement **E**ngine => [[https://linuxnews.de/2017/11/minix-in-der-intel-management-engine/|MINIX in der Intel Management Engine]])) entfernt.  Ein besonderes Augenmerk beim **NitroPad X230** wurde auf das Thema Sicherheit gelegt. So wird das Betriebssysteme bereits pese via LUKS vollständig verschlüsselt ausgeliefert. Beim Starten des Rechners meldet sich statt des Lenovo-BIOS das quelloffene **[[https://de.wikipedia.org/wiki/Coreboot|Coreboot]]**. Somit muss man nicht darauf vertrauen dass der Gerätehersteller und Author des originalen BIOS keine Sicherheitslücken oder Backdoors eingeschleust hat. Bei Bedarf kann man also hier den Quellcode kontrollieren und bei Bedarf sogar selbst kompilieren. Darüber hinaus wurde auch die sicherheitstechnisch bedenkliche **IME**((**I**ntel **M**anagement **E**ngine => [[https://linuxnews.de/2017/11/minix-in-der-intel-management-engine/|MINIX in der Intel Management Engine]])) entfernt. 
  
-<WRAP center round tip 80%> 
-Das Entfernen der IME hat natürlich auch zur Folge, dass z.B. das Schlafenlegen des Laptops nicht mehr funktionieren kann, was aber aus sicherheitstechnischen Überlegungen durchaus vertretbar ist und somit auch voölllig akzeptabel ist! 
-</WRAP> 
 Gestartet wird der Laptop per **[[https://de.wikipedia.org/wiki/Coreboot|Coreboot]]** mit Unterstützung der Sicherheits-Firmware **[[https://github.com/osresearch/heads|Heads]]**, die darauf abzielt die physische Sicherheit und den Schutz der Daten auf dem System zu verbessern. Heads ist quasi ein kleines abgekapseltes LINUX-OS, dessen Hauptaufgabe es ist, das sichere und vertrauenswürdige Booten des Laptops sicherzustellen. Da alle Bootkomponenten vom Nutzer signiert und somit auf Veränderunen hin überprüft werden können, ist der Nutzer so in der Lage Rootkits oder eine sog. **[[https://en.wikipedia.org/wiki/Evil_maid_attack|Evil-Maid-Attacke]]** zu erkennen.  Gestartet wird der Laptop per **[[https://de.wikipedia.org/wiki/Coreboot|Coreboot]]** mit Unterstützung der Sicherheits-Firmware **[[https://github.com/osresearch/heads|Heads]]**, die darauf abzielt die physische Sicherheit und den Schutz der Daten auf dem System zu verbessern. Heads ist quasi ein kleines abgekapseltes LINUX-OS, dessen Hauptaufgabe es ist, das sichere und vertrauenswürdige Booten des Laptops sicherzustellen. Da alle Bootkomponenten vom Nutzer signiert und somit auf Veränderunen hin überprüft werden können, ist der Nutzer so in der Lage Rootkits oder eine sog. **[[https://en.wikipedia.org/wiki/Evil_maid_attack|Evil-Maid-Attacke]]** zu erkennen. 
 Bemerkt Heads eine falsche oder fehlerhafte Signatur, stoppt es unweigerlich den Systemstart und informiert den Nutzer mit einer entsprechenden Warnmeldung. In solch einem Fall muss der Anwender sofort hellhörig werden, denn dies zeigt unweigerlich an, dass die Software verändert bzw. der Rechner manipuliert wurde!  Bemerkt Heads eine falsche oder fehlerhafte Signatur, stoppt es unweigerlich den Systemstart und informiert den Nutzer mit einer entsprechenden Warnmeldung. In solch einem Fall muss der Anwender sofort hellhörig werden, denn dies zeigt unweigerlich an, dass die Software verändert bzw. der Rechner manipuliert wurde! 
Zeile 29: Zeile 26:
 Wie [[#boot|eingangs]] bereits erwähnt liegt beim **NitroPad X230** der eigentliche Sicherheitsgewinn des NitroPad darin, dass beim Starten des Systems erkannt werden kann, ob das System seit der letzten Nutzung verändert oder manipuliert wurde. Erreicht wird dies durch einen, aus mehreren Teilen bestehender **Measured Boot**. Eine detaillierte Beschreibung rund um das Thema **Measured Boot** findet sich in dem detailliert beschriebenen Security-Artikel **[[https://forums.juniper.net/t5/Security/What-s-the-Difference-between-Secure-Boot-and-Measured-Boot/ba-p/281251|What’s the Difference between Secure Boot and Measured Boot?]]** von //[[https://forums.juniper.net/t5/user/viewprofilepage/user-id/140211|gfedorkow]]//. Wie [[#boot|eingangs]] bereits erwähnt liegt beim **NitroPad X230** der eigentliche Sicherheitsgewinn des NitroPad darin, dass beim Starten des Systems erkannt werden kann, ob das System seit der letzten Nutzung verändert oder manipuliert wurde. Erreicht wird dies durch einen, aus mehreren Teilen bestehender **Measured Boot**. Eine detaillierte Beschreibung rund um das Thema **Measured Boot** findet sich in dem detailliert beschriebenen Security-Artikel **[[https://forums.juniper.net/t5/Security/What-s-the-Difference-between-Secure-Boot-and-Measured-Boot/ba-p/281251|What’s the Difference between Secure Boot and Measured Boot?]]** von //[[https://forums.juniper.net/t5/user/viewprofilepage/user-id/140211|gfedorkow]]//.
  
-Dieser **Measured Boot** wird beim NitroPad mit Hilfe von Coreboot und Heads, aber ohne der **IME**((**I**ntel **M**anagement **E**ngine => [[https://linuxnews.de/2017/11/minix-in-der-intel-management-engine/|MINIX in der Intel Management Engine]])) realisiert: + 
 +~~codedoc:xref:anchor_heads~~ 
 +Dieser **Measured Boot** wird beim NitroPad mit Hilfe von Coreboot und Heads, aber ohne der **IME** realisiert: 
   - Die aus Sicherheitsaspekten durchaus fragwürdige **IME**((https://www.linux-abos.de/security/intel-warnt-vor-einer-luecke-in-der-management-engine/)) wurde deaktiviert.   - Die aus Sicherheitsaspekten durchaus fragwürdige **IME**((https://www.linux-abos.de/security/intel-warnt-vor-einer-luecke-in-der-management-engine/)) wurde deaktiviert.
   - Das sonst übliche **UEFI**((**U**nified **E**xtensible **F**irmware **I**nterface => https://de.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface)) wird durch  **[[https://de.wikipedia.org/wiki/Coreboot|Coreboot]]** ersetzt.   - Das sonst übliche **UEFI**((**U**nified **E**xtensible **F**irmware **I**nterface => https://de.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface)) wird durch  **[[https://de.wikipedia.org/wiki/Coreboot|Coreboot]]** ersetzt.
Zeile 118: Zeile 117:
  
 === User- und Admin PIN des Nitrokey Sticks ändern === === User- und Admin PIN des Nitrokey Sticks ändern ===
 +Was nun noch fehlt ist die Änderung der beiden Default PINs für den Benutzer (**123456**) und für den Admin-Zugriff (**12345678**). Hierzu klicken wir auf das Linx Mint Logo links unten und geben in dem Suchfeld **nitro** ein und wählen anschließend die angezeigte Applikation **Nitrokey App** mit einem Mausklick aus.
 +
 +{{ :nitrokey:nitropad_012.png?nolink&600 |Bild: Linux Mint - Auswahl Programm-/Startmenü}}
 +
 +In der Statusleiste rechts taucht nun das Icon der Nitrokey App auf, welches wir nun mit meinem Mausklick aus-/anwählen.
 +
 +{{ :nitrokey:nitropad_013.png?nolink&425 |Bild: Linux Mint - Auswahl der Nitrokey App über die Statusleiste}}
 +
 +Als erstes ändern wir über den betreffenden Menüpunkt die Admin-PIN.
 +
 +{{ :nitrokey:nitropad_014.png?nolink&350 |Bild: Linux Mint - Nitrokey App Änderungsdialog Admin-PIN}}
 +
 +Nach Eingabe der default PIN **12345678** und unserer individuellen Admin-PIN klicken wir auf die Schaltfläche **[ OK ]**.
 +
 +{{ :nitrokey:nitropad_015.png?nolink&125 |Bild: Linux Mint - Nitrokey App Bestätigung der PIN-Änderung}}
 +
 +Anschließend machen wir das Gleiche mit der User-PIN.
 +
 +{{ :nitrokey:nitropad_016.png?nolink&350 |Bild: Linux Mint - Nitrokey App Änderungsdialog User-PIN}}
 +
 +Nach Eingabe der default PIN **123456** und unserer individuellen Admin-PIN klicken wir auf die Schaltfläche **[ OK ]**.
 +
 +{{ :nitrokey:nitropad_015.png?nolink&125 |Bild: Linux Mint - Nitrokey App Bestätigung der PIN-Änderung}}
 +
 +==== Erster System-Neustart / first reboot ====
 +Nachdem wir nun unser System Grundversorgt und unseren individuellen Bedürfnissen angepasst haben werden wir unseren ersten Reboot/Neustart unseres Laptops vornehmen.
 +
 +Zunächst einmal werden wir von dem bereits bekannten **[[#hotp|Measured Boot]]** nach dem Einschalten begrüßt. 
 +
 +{{ :nitrokey:nitropad_017.png?nolink&500 |Bild: Coreboot Prompt}}
 +
 +Wie gewohnt wählen wir den ersten Menüpunkt **Default boot** aus. Nur statt dem erhofften **[#heads@Heads]]** Systemmeldungen werden wir durch eine Fehlermeldung "gewarnt"
 +
 +{{ :nitrokey:nitropad_018.png?nolink&475 |Bild: Head Fehlermeldung}}
 +
 +Was war bzw. ist passiert? Das Bootimage wurde natürlich bei der Installation unseren Wünschen nach angepasst und das Boot-Image vom Installations-Image auf unsere Installation geändert. dies wurde natürlich von Heads erkannt uns wird nun angemahnt. Wir müssen nun also die Check-Summe des neuen Images erstellen und anschließend mit dem PGP-Key des Nitrokey sticks neu signieren.
 +
 +Wir bestätigen also die vorbelegte Auswahl **[  Yes ]** durch drücken der **Return**-Taste.
 +
 +{{ :nitrokey:nitropad_019.png?nolink&475 |Bild: Head Dialog zum Neugenerieren der Checksum/Signaturen}}
 +
 +Falls noch nicht geschehen stecken wir nun unseren Nitrokey Stick an einem der beiden USB-Ports und bestätigen die vorbelegte Auswahl **[  Yes ]** durch drücken der **Return**-Taste.
 +
 +Wir werden nun nochmals gefragt, ob der Stick auch wirklich angesteckt wurde:
 +
 +  Please confirm that you PGP card is inserted [Y/n]:
 +
 +<WRAP center round alert 80%>
 +**ACHTUNG**: \\
 +Bevor wir nun die Frage mit der eingabe von **y** bestätigen, erinnern wir uns besser daran, dass die Tastaturbelegung hier **__nicht__** die gewohnte Deutsche Tatsturbelegung ist, sondern die englische Tastaturbelegung, also **z** und **y** vertauscht sind!
 +</WRAP>
 +
 +Wir drücken also entweder **RETURN** zur Übernahme des Defaultwertes "**Y**es" oder entsprechend die Taste **z** auf der Tastatur und bestätigen so mit **//yes//** dass der Nitrokey Stick angesteckt ist.
 +
 +<code>Verifying presence of GPG card...
 +
 +42112666: 000e1412197100000009
 +Please unlock the card
 +
 +Number: 0005 000067E8
 +Holder: 
 +Counter: 6
 +PIN:
 +</code>
 +Hier geben wir nun unsere [[#user-_und_admin_pin_des_nitrokey_sticks_aendern|zuvor geänderte User-PIN]] ein.
 +
 +Im Anschluss daran befinden wir uns wieder beim bekannten **Coreboot**-Prompt.
 +
 +{{ :nitrokey:nitropad_020.png?nolink&500 |Bild: Coreboot Prompt}}
 +
 +Hier können wir nun den ersten Menüpunkt **Default boot** auswählen.
 +
 +{{ :nitrokey:nitropad_021.png?nolink&400 |Bild: Heads systemmeldungen beim Bootvorgang}}
 +
 +==== Aktualisierung der Head-Daten nach einem System-/Kernel/-glibc-Update ====
 +Aktualisierungen der Head-Daten stehen in aller Regel nach einem System-/Kernel/-glibc-Update an, bzw. wenn direkt nach dem Updatevorgang ein Neustart des Systems gefordert wird. 
 +Wie auch schon beim [[#erster_system-neustart_first_reboot|Erster System-Neustart]] nach der Grundinstallation von  bereits bekannten **[[#hotp|Measured Boot]]** nach dem Einschalten begrüßt. 
 +
 +{{ :nitrokey:nitropad_022.png?nolink&500 |Bild: Coreboot Prompt}}
 +
 +Hier wählen wir den gewohnten Menüpunkt **Default boot** aus und sehen natürlich nach einem Systemstart eine entsprechende Warnmeldung statt der erhofften **[[#heads@Heads]]** Systemmeldungen, da sich ja wesentliche Änderungen durch den Systemupgrade unseres Linux Mint Systems ergeben hatten.
 +
 +{{ :nitrokey:nitropad_023.png?nolink&500 |Bild: Coreboot Fehlermeldung nach Systemupgrade}}
 +
 +Je nach Art und Umfang der Meldungen, kann es sein, dass die Meldung **''Would you update to update your checksumnow?''** nicht zu sehen sit wie im gezeigten Fall, da zu viele Meldungen ausgegeben wurden. Wir bestätigen also die vorbelegte Auswahl **[  Yes ]** durch drücken der **Return**-Taste. 
 +
 +{{ :nitrokey:nitropad_024.png?nolink&475 |Bild: Head Dialog zum Neugenerieren der Checksum/Signaturen}}
 +
 +Falls noch nicht geschehen stecken wir nun unseren Nitrokey Stick an einem der beiden USB-Ports und bestätigen die vorbelegte Auswahl **[  Yes ]** durch drücken der **Return**-Taste.
 +
 +Wir werden nun nochmals gefragt, ob der Stick auch wirklich angesteckt wurde:
 +
 +  Please confirm that you PGP card is inserted [Y/n]:
 +
 +<WRAP center round alert 80%>
 +**ACHTUNG**: \\
 +Bevor wir nun die Frage mit der eingabe von **y** bestätigen, erinnern wir uns besser daran, dass die Tastaturbelegung hier **__nicht__** die gewohnte Deutsche Tatsturbelegung ist, sondern die englische Tastaturbelegung, also **z** und **y** vertauscht sind!
 +</WRAP>
 +
 +Wir drücken also entweder **RETURN** zur Übernahme des Defaultwertes "**Y**es" oder entsprechend die Taste **z** auf der Tastatur und bestätigen so mit **//yes//** dass der Nitrokey Stick angesteckt ist.
 +
 +<code>Verifying presence of GPG card...
 +
 +42112666: 000e1412197100000009
 +Please unlock the card
 +
 +Number: 0005 000067E8
 +Holder: 
 +Counter: 10
 +PIN:
 +</code>
 +Hier geben wir nun unsere [[#user-_und_admin_pin_des_nitrokey_sticks_aendern|zuvor geänderte User-PIN]] ein.
 +
 +Im Anschluss daran befinden wir uns wieder beim bekannten **Coreboot**-Prompt.
 +
 +{{ :nitrokey:nitropad_025.png?nolink&500 |Bild: Coreboot Prompt}}
 +
 +Hier können wir nun den ersten Menüpunkt **Default boot** auswählen und bekommen im Anschluss eine Fehlermeldung **''ERROR: Boot Entry Has Benn Changed''**
 +
 +{{ :nitrokey:nitropad_026.png?nolink&400 |Bild: Heads Systemmeldungen beim Bootvorgang}}
 +
 +Diese Meldung bestätigen wir durch Druck der Taste **RETURN**-Taste.
 +
 +{{ :nitrokey:nitropad_027.png?nolink&400 |Bild: Heads Systemmeldungen zum Auswahl des Defaultbootimages}}
 +
 +Hier wählen wir den gewünschten Boot-Eintrag, also den ersten Eintrag aus.
 +
 +{{ :nitrokey:nitropad_028.png?nolink&400 |Bild: Heads Systemmeldungen zur Bestätigung der Bootoption}}
 +
 +Auf der gezeigten Auswahl wählen wir den zweiten Eintrag durch einem Druck der **↓**-Taste aus und bestätigen die Auswahl mit der **ENTER**-Taste.
 +
 +Bei den folgenden drei Abfragen bestätigen wir die Defaultwerte jeweils mit der **ENTER**-Taste.
 +
 +<code>Saving a default will modify the disk. Proceed? (Y/n):
 +
 +Do you wish to add a disk encryption to the TPM? [y/N]:
 +
 +Please confirm that you PGP card is inserted [Y/n]:</code>
 +
 +Anschließend wir der am USB-Port angesteckte Nitrokey Stick geprüft.
 +<code>Verifying presence of GPG card...
  
-foo baa ...+42112666: 000e1412197100000009 
 +Please unlock the card
  
 +Number: 0005 000067E8
 +Holder: 
 +Counter: 11
 +PIN:
 +</code>
  
 +Hier geben wir nun unsere [[#user-_und_admin_pin_des_nitrokey_sticks_aendern|zuvor geänderte User-PIN]] ein.
  
 +Anschließend bottet das system und nach Eingabe der LUKS-Passphrase befinden wir uns beim Cinnamon Anmeldefenster.
  
 +{{ :nitrokey:nitropad_029.png?nolink&700 |Bild: Cinnamon Anmeldefenster von Linux Mint}}
  
 +Nach Eingabe der Anmeldeinformationen befinden wir uns auf der gewohnten aktualisierten Linux Mint Umgebung.
  
 +{{ :nitrokey:nitropad_030.png?nolink&700 |Bild: Cinnamon Desktop Umgebung von Linux Mint 20.0}}
  
  
-/* +====== Links ====== 
-  - Klicken Sie auf das Nitrokey-Symbol auf der linken Seite des Bildschirms, um die vorinstallierte Nitrokey-Anwendung zu öffnen. +  * **[[wiki:start#sicherheit-_und_vertraulichkeit|Zurück zu Projekte und Themenkapitel]]** 
-  - Ändern Sie die PINs Ihres Nitrokey wie hier beschrieben. +  * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**
-  - Ändern Sie die Passphrase für die Festplattenverschlüsselung wie hier beschrieben.+
  
-*/ 
  • nitrokey/nitropadx230.1598118083.txt.gz
  • Zuletzt geändert: 22.08.2020 17:41.
  • von django