Nitrokey 3 Test Firmware Mit Secure Element Support

Heute haben wir ein besonderes Test Firmware Release für den Nitrokey 3 veröffentlicht. Das Highlight ist die vollständige Integration des SE050 Secure Elements in die OpenPGP Card. 

Mit dieser Firmware ist es jetzt möglich, das "Backend" für die kryptographischen Primitiven in der OpenPGP Card auszuwählen. Das bisherige Software-Backend bietet volle Transparenz durch einsehbaren Open-Source Quellcode, ermöglicht jedoch nur die Generierung von maximal RSA-2048 Schlüsseln auf dem Nitrokey 3. Längere RSA-Schlüssel können importiert, aber nicht generiert werden, da die Rechenkapazität des Mikrocontrollers beschränkt ist. Das SE050 Backend ermöglicht nun die Generierung von RSA-3072 und sogar RSA-4096 Schlüsseln, letztere in ungefähr einer Minute. Das Secure Element ist keine Open-Source-Hardware, so dass die Implementierungen der kryptographischen Primitiven nicht einsehbar ist, dafür bietet es jedoch zertifizierte Sicherheit nach FIPS 140-2 Security Level 3-4 und Common Criteria EAL 6+.

Zum Umschalten der Backends wird ein aktuelles pynitrokey benötigt. Damit lässt sich das SE050 Backend wie folgt einschalten:

nitropy nk3 set-config opcard.use_se050_backend true

Bitte die angezeigten Nachrichten beachten. Beim Wechsel des Backends werden alle Daten der OpenPGP Card im vorherigen Backend unwiderruflich gelöscht. Da es sich um eine Test-Firmware handelt, empfehlen wir, vorsichtig zu sein und Sicherungskopien sensibler Daten anzulegen und es noch nicht produktiv zu nutzen. In Zukunft wird der Wechsel des Backends auch über die Nitrokey App 2 möglich sein, an der momentan intensiv gearbeitet wird.

 

22.12.2023

Comments

Are there actually any OSS secure elements available? I always read that obscurity is part of its security design.
The short answer is: no - the longer is: I am not aware of any commercially available ones. Even though RISC-V got some traction recently. Under the line the design itself might be open-source, but the actual (IC) layout could be troublesome to be open-sourced due to NDAs. It's surely not the right point to go into more detail here. But on the other side: it's not really easy to get these certifications, although I am not aware if schematic/design/layout reviews are included for these. Also I would not condemn a product across the board just because it is proprietary - at least an indication for such a judgement would be necessary from my point of view. Nevertheless, generally we would also be happy to see this as Open-Source then we wouldn't have to have this discussion.
hXXps://hackaday.com/2023/12/26/a-risc-v-security-key/ FPGA based solution looks promising.
When the next firmware will be release ? and using nitrokey with keepassxc still doesn't require touch presence, is there a fix for that ?
There will be a new stable release very soon with various FIDO2 detail-fixes - this will not (yet) include touch-presence for HMAC-SHA, yet...
It's always promising what's happening with the NitroKey. But on the other side it is disillusion. I hoped that the usage of the NitroKey with OpenPGP will be much more effective since the decryption of something took five time longer than with a YubiKey (and I will change from it to NitroKey). But than I cannot update the firmware because of the error "LibraryNotFoundError('Error detecting the version of libcrypto')" of pynitrokey binary for linux (I use devuan/debian). I will wait another longer time in the hope to get a useful product. As I said it is always promising what happens.
Hey, the performance should massively improve with the Secure Element being activated. For updating, yes this is a known issue, which happens due to an transient dependency of pynitrokey. If you have installed pynitrokey through pipx (as our docs suggest) there is a workaround at the end of the issue.
Yes, it is now really fast. Now the Nitrokey 3 Mini is usable for me. Thank you!
Just tested the SE050 backend and I confirm it's faster, a sign operation with a RSA 2048 key goes from 1700 ms to 900 ms, almost two times faster! That's appreciable but still slower than the Yubikey 5 (130 ms). Also the verify pin operation is still slow at 600 ms (only 10 ms on the Yubikey), I hope this can be improved as well.
thanks for the feedback and measurements - I think it will be very challenging to reach 130ms / 10ms for these operations. Currently nearly all architecture and design decisions are biased towards maximum security, this obviously introduces the longer roundtrip times. But we are trying to improve here anyways...

Add new comment

Fill in the blank.