Nitrokey 3 Alpha Firmware

Wir haben eine neue Test-Version der Nitrokey 3 Firmware v1.2.2-alpha.20230224 veröffentlicht. Diese Version enthält gegenüber der letzten Alpha Version größtenteils Fehlerkorrekturen. Diese sind unter anderem:

OpenPGP Card

  • opcard aktualisiert auf v0.3.0
  • Fehlerkorrekturen und verbesserte Kompatibilität mit OpenSC, siehe opcard changelog

Einmalpasswörter (OTP)

  • otp aktualisiert auf v0.6.0 (benötigt pynitrokey v0.4.33 oder neuer)
  • Verschlüsselung der auf dem Flash gespeicherten Daten
  • Überprüfung der Benutzerpräsenz
  • Verbesserung der Stabilität
28.2.2023

Comments

Derzeit sind noch sämtliche Daten im Flash (und nicht im Secure Element), korret? Also "OpenPGP", "OTP", "FIDO2", ...
Richtig, der Plan ist zunächst die Funktionen alle zu stabilisieren und danach wird das Secure Element als alternatives Backend kommen und als User wird man wählen können welches Backend man für welche Funktion gerne hätte.
Will ich als User denn überhaupt sensible Daten im Flash haben? Für welchen Anwendungsfall wäre das interessant?

Dafür muss ich "Flash" ein wenig genauer definieren: Es gibt im wesentlichen zwei verschiedene auf dem Nitrokey 3. Einen internen Speicher (im Microcontroller) und einen externen Speicher (einen separaten Flash Chip). Dadurch, dass man den externen in der Theorie auslöten könnte und dort die Daten auslesen könnte, haben wir hier eine starke symmetrische Verschlüsselung implementiert, so dass es quasi unmöglich ist auf die Daten zuzugreifen (zu entschlüssseln), selbst wenn ich den Chip auslöten würde (Dafür werden diverse state-of-the-art Mechaniken zur Verschlüsselung benutzt). Der interne Speicher hingegen ist auf dem Microcontroller zusammen mit allen anderen Komponenten, auf den kann man selbst wenn man den Microcontroller auslötet nicht zugreifen, da der Microcontroller "sealed" ist: Das ist eine Funktion die Sicherheits-spezifische Microcontroller anbieten, welche u.a. verhindert dass jemand nach dem "sealing" auf den Microcontroller zugreifen kann und dass nur genau die Firmware darauf laufen kann, die wir signiert haben.

Unter dem Strich sind die Daten auf beiden Speicheroptionen sehr, sehr sicher und wir tun unser bestes um das sicherzustellen - 100% Sicherheit gibt es natürlich nie, aber wir Zielen schon darauf, dass wir aus den vorhanden Methoden das Beste rausholen. Die Daten selbst sind z.B. FIDO2 Resident Keys. Das Secure Element ist im wesentlichen auch nichts anderes als ein Microcontroller mit Speicher, nur ist dieser halt noch besser gegen Manipulationsversuche geschützt.

Wird es zu den Thema noch ein separaten Blogeintrag geben? Oder ggf. per Docs? Mittlerweile sind ja viele tolle Infos "nur" in den Kommentaren gelandet ^^
Wir werden demnächst einen ersten Teil von einer Reihe von Blog Posts veröffentlichen, die mehr auf die technischen Details des Nitrokey 3 eingehen. Sobald solche Features verfügbar sind, werden diese dann natürlich aber auch in der Dokumentation auftauchen.
Danke für das Update. LUKS-entsperren mit Fido2 klappt damit reibungslos :-)

Add new comment

Fill in the blank.