Hello NitroKey Forum!
I’m greatly pleased with the functionality of my NitroKey 3 (NK3). Having been a several years long user of the beloved NitroKey 2 (NK2, since its initial release), I can say the features of the now NK3 are leaps-and-bounds in the direction of functionality, versatility, and capacity. It is now (as far as I am concerned) a single device solution for password/key management! Oh, and there’s one more thing very new about the NK3 as compared to the NK2, its upgradable. That’s right, your NK3 can now, much like a bottle of wine, get better with time! How wonderful. Right?
I often ponder such things with much consternation, wondering if its truly possible to have this MUCH cake and eat it too. Are there consequences to having a NitroKey that can be upgraded? For example, upon my first usage of the NK3, I realized that the maximum PIN entry for stored passwords is now eight (8) as opposed to the NK2 which was/is three (3). Now, don’t get me wrong - no more holier than thou have I fat fingered my NK2 PIN enough times to retrieve my ADMIN PIN to save my secret unmentionables - but three (3) attempts for the potential adversary just seems like a magic number for me. For a six-digit PIN, a ~3/10^6 chance of guessing my PIN sounds pretty tight to me. Fail on the third attempt, and now she only has a ~3/10^8 chance on the ADMIN PIN. Unlucky you ; ) I wrote the Support team to ask if there was a way to set the max PIN entry back to three (3), and their response was that this is not currently possible but might be an option in future firmware upgrades. Interesting thought. Where am I going with this? …the firmware, of course, has much to say about the ultimate security of your passwords, GPG keys, and FIDO credentials. And this is all malleable.
In the old days of the NK2, the firmware is/was not upgradable (at least not without doing electronic surgery on a ‘tamper resistant’ form factor). If a NK2 was lost/stolen, best practice is consider your OTP’s compromised, but your passwords and GPG keys are still considered secure provided your PINs are not also compromised (that is, your OTP’s are vulnerable to anyone resetting the ADMIN pin, but everything else is cryptographically stored and is still ‘secure’ by at least statistical argument).
What about the NK3? If the beautiful freedom firmware (said with full affection and admiration) can be programmed to increase my PIN from 3 → 8, why not also to ‘infinite’? Intrigued and slightly concerned about such a thought, I asked the Support team at NitroKey. Well, as design choice would have it, only firmware signed by NitroKey can be pushed to the NK3. Sigh of relief, or is it?
So my question for the community (because at this point, Support is no longer entertaining my thought experiment in regards to this line of questioning, it seems), why has this not been discussed on this forum? The weakest link (precluding the user - which of course is always the true weakest link) is that only signed firmware can be pushed to the NK3. What then for users if NitroKey’s keys are stolen, confiscated by legal agencies, coerced/blackmailed from employees, etc? If I lose my NK3 or it is confiscated by anyone for any reason, there is merely a social means into the heart of that data. Period. This is at least philosophically inconsistent with cryptographic security. The best security model is a ‘zero trust’ model, wherein I (and only I) am the gatekeeper to my most precious and valuable authentication credentials. Damn the consequences. We don’t merely wear body armor, we wear bullet proof vests.
I’ve asked Support for the commission of a NK3 that can NOT be upgraded. I would gladly pay for new keys as the need arises - if only to satisfy my imagination (which is much more expensive than a NitroKey is priced).
So again, why has the firmware upgradability not been discussed as a design weakness in the NK3?
Best,