Good news: We are happy to announce that today we have started the beta phase for the Nitrokey 3 Mini! This is a very important step for us for many reasons and accordingly we want to tell you more about it.
With the start of the beta phase, we are now ramping up production. Previously, we had communicated late Q2 / early Q3 as the delivery date and we are optimistic that we can keep that. Accordingly, we are only talking about a few weeks until delivery; provided nothing unforeseen happens.
Due to ongoing delivery problems, we had to decide last year that the Nitrokey 3 Mini will not be available with the microcontroller from NXP (LPC55). This was the starting point for the development of the Nitrokey 3 Mini with a microcontroller from Nordic (nRF52), which should behave identically to a NXP based Nitrokey 3. Except for the housing, if it even deserves being called like that, hardly a stone was left unturned.
The Nitrokey 3 Mini's hardware has a straightforward schematic. The challenge was the PCB layout for such a tiny device. Like the other variants of the Nitrokey 3, this one is equipped with everything needed to provide FIDO2 and, in the future, OpenPGP Card and password managers. Finally, bringing this hardware into mass production is another challenge. This has also reached an almost final state with the start of the beta phase.
As already indicated in the last blog post, our command line tool pynitrokey had to be adapted for the new microcontroller, so that firmware updates work transparently and reliably for the users. This release is also already published and can provide Nitrokey 3A Mini with firmware updates.
Eventually, the firmware for the nRF52 had to be developed. Work on the firmware is essentially complete. The underlying Trussed framework is basically hardware agnostic, i.e. in principle independent of the executing microcontroller. As is often the case, this is not entirely trivial in practical implementation. Trussed is in detail of course only one of the components of the firmware, which was developed specifically for the LPC55. To be sure that the LPC55 variant differs as little as possible from the nRF52 variant, it was essential to also realize the firmware in such a way that different microcontrollers share as much common source code as possible. The fact that we use Rust here is a blessing as well as a challenge. For a programming language, Rust can still be considered relatively young, which ensures that there were some hurdles to overcome along the way. However, we are confident that we made the right choice here, as Rust inherently prevents a large number of the top 25 dangerous software vulnerabilities by definition. In addition, Rust is now to be included in the Linux kernel, which we see as a strong sign for the future of Rust.
In order to provide higher quality firmware releases in the future, we have also started a community beta program to gather feedback and external impressions on our products and releases as early as possible. Many thanks to the participating community members.
Your Nitrokey Team