Nitrokey 3 Alpha Firmware

We have released a new test version of Nitrokey 3 firmware v1.2.2-alpha.20230224. This version contains mostly bug fixes compared to the last alpha version. These are among others:

OpenPGP Card

  • opcard updated to v0.3.0
  • bugfixes and improved compatibility with OpenSC, see the opcard changelog

One-Time Passwords (OTP)

  • otp updated to v0.6.0 (requires pynitrokey v0.4.33 or later)
  • encrypt data stored on the flash
  • add user presence checks
  • improve stability
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.