Three new NitroKeys! Nitrokey Pro 2, Storage 2 and a FIDO-U2F Nitrokey
Published: 08-11-2018 | Author: Remy van Elst | Text only version of this article
Table of Contents
Last week I received several newsletters from Nitrokey. As you might know, I'm a fan of their (mostly open source) hardware security devices. I've written articles on the NitroKey HSM (even on extracting private key material), on the NitroKey Start and some firmwareupdate guides.
Their newsletters introduced two new keys, the Nitrokey Pro 2 and the NitrokeyFIDO-U2F key. On their website I also saw the Nitrokey Storage Pro 2. Thisarticle is a summary of the newsletters and goes over the new features in thenew hardware. It boils down to a new OpenPGP smartcard version (3.3, it was 2.1)in the Nitrokey Pro 2 and Storage 2. The FIDO-U2F device is an entirely newNitrokey (with a button).
I recommend you get a Nitrokey. The open hardware and mostly open softwarepart is what I like the most, next to the pricing and their support. I've beenin contact with the company a few times, both with the CEO Jan and a developerSzczepan. That guy is active on the Gnuk mailing list and does, as far as I cantell, most of their embedded development.
If you ask me if I prefer a Nitrokey over a yubikey, then I would choose theNitrokey. The yubikey is closed source all together, relying on theirinfrastructure in the default (otp) mode. The nitrokey gives you more freedom.The nitrokey is a full USB A plug as well, where as the yubikey is half, or inthe USB slot all together. So, the Nitrokey is more durable.
In the past I got hardware sponsored from Nitrokey. Not for this article.
What are Nitrokeys?
NitroKey creates hardware security tokens. The Nitrokey Pro is a OpenPGPsmartcard in a USB stick with a companion application. It allows you to securelystore your GPG key, among other things.
The Nitrokey HSM is a hardware security module. It is also a smartcard in a USBkey, but this time it utilizes different firmware to present itself as aSmartcard-HSM, using PKCS-11 (cryptoki) as the protocol.
The Nitrokey Start is a soft-token (meaning no smartcard). It uses thegnuk firmware to also be a OpenPGP-token. That hardware and software isfully open source, the Pro and HSM are up until the smartcard software.
The Nitrokey storage is a Nitrokey Pro with USB storage that is encrypted (bythe smartcard). I haven't used a Nitrokey Storage, so no experience with that.
Nitrokey Pro 2
The feature most exciting in this new hardware version is ECC support. Copyingfrom their newsletter, all the new features:
Support of elliptic curve cryptography (ECC)
In addition to RSA (2048-4096 bit), Nitrokey Pro 2 supports elliptic curvecryptography (ECC. Brainpool and NIST). Because RSA-2048 is not considered safefor use beyond 2022, ECC is becoming increasingly important as a fast andsecure alternative. See instructions. This feature requires the newNitrokey Pro 2 hardware and cannot be installed by upgrading the firmware.
Editors addition: the ECC key length is between 256 and 512 bit. Bernstein'sCurve 25519 is not supported do to lack of support in the smartcard. TheNitrokey start does support 25519.
Improved keystore support for Windows
It is now possible to roll out company certificates via ActiveDirectory on Windows devices. These certificates can be used for Windowslogon and for e-mail encryption using S/MIME. In addition, OpenPGP and S/MIMEemail encryption can be easily used in parallel on a single Nitrokey Pro 2. Thisfeature requires the new Nitrokey Pro 2 hardware and cannot be installed byupgrading the firmware.
Integrity verification of Purism laptops
The Nitrokey Pro 2 can be used as a part of the tamper-evident bootprotection which Purism integrates into their Librem Linux laptops. Readmore.
Reading through the forum, the exact hardware change is a new version ofthe OpenPGP smartcard (namely, version 3). On the gnupg site you candownload the specification for 3.3 as well as the specification for2.2. Major difference is support for ECC crypto, as is reflected in the newnitrokey.
An important note is that you do need a recent version of Gnupg (> 2.1.16). Theversion with Ubuntu 16.04 or 16.10 will not work and you manually need toupgrade it. Either by installing newer packages (not recommended) or bycompiling the newer version of GnuPG yourself. You could also update your entiredistro to at least 18.04.
More information and getting started with ECC can be found here
Nitrokey Storage 2
This was the first of the new hardware, available since June as far as I cansee. Since the NitroKey Storage is based on the Nitrokey pro (it is an OpenPGPcard), the above new features (ECC support and Active Directory integration) arenew in the hardware of the Storage 2 as well. (The storage 2 also has an OpenPGP3 smartcard). The nitrokey storage has an extra SD card which houses theencrypted storage part, whereas the Smartcard does the encryption of saidstorage. You can read more in the manual on how the exact storageencryption works.
The new features exclusive to the Nitrokey Storage are, as you might expect,related to it's storage functions. In addition to what I listed above, here arethe new features for the Storage 2:
Manual initialization of the storage is not necessary
On delivery, the device's storage is already initialized with random numbersand an encrypted partition is set up. This eliminates manual setup and NitrokeyStorage 2 can be used immediately.
Protection of unencrypted storage
The Nitrokey App for Windows, macOS and Linux (AppImage) is now pre-installed on the unencrypted storage. In addition, the unencrypted storage isread-only, which can only be changed with the Admin PIN (requires Nitrokey App1.3.1). This prevents the unintentional distribution of viruses and theunintentional storage of sensitive data on the unencrypted storage. Thisfunction is particularly interesting for enterprise customers who configureNitrokey Storage 2 centrally and whose employees only use the user PIN.
Nitrokey Fido U2F
Early dev version of the Nitrokey U2F
The Nitrokey Fido U2F is an entirely new key. It's based on the U2F Zero,It is open hardware and the software is open source as well. It differsphysically from the other nitrokey devices in that it has a touch button.
With the Nitrokey FIDO U2F, after the initial configuration, you just need totouch the button on the device each time you are logging in to your variousaccounts.
Universal Second Factor, or FIDO U2F is a standard for 2 factor auth with USBdongles. It is developed by Google and Yubico There is a site with moreinformation and a list of supported sites. There is also an unofficial FAQhere.
More information on the site
FIDO U2F, FIDO2 and WebAuthN???
FIDO U2F and FIDO2 and WebAuthn are not the same. This Nitrokey does not supportFIDO2 at the moment, but I suspect it could be added in a later firmwareversion. I'll try to give a simple explanation of the FIDO's:
- FIDO U2F is for second factor only (next to a username/password).
- FIDO2 is for both second factor, as well as replacing a username/password completely (with a public/private keypair)
- WebAuthn is the Web and browser API for authentication. It supports both FIDO U2F (CTAP1) and FIDO2 (CTAP2). (CTAP == Client to Authenticator Protocol)
Websites can utilize the WebAuthn standard together with a protocol like CTAP1or CTAP2 to provide functionality so that the user can use their USB token toauthenticate.
A more technical explanation of CTAP can be found here
I have not used this standard (u2f) before but it seems to be comparable withthe Yubikey process (press a button for 2 factor). It is the cheapest ofNitrokeys so far (22 euro's) and works with all major operating systems(Windows, Linux, OS X and BSD (but which bsd?)) and all major browsers,including Opera.
There is a lot of documentation on the security and key generation here.Tags: fido, fido-u2f, fido2, fst-01, gnuk, gnupg, gpg, hsm, neug, nitrokey, nitrokey-pro, nitrokey-start, password, security, start, stm32f103tb, tutorials, u2f, yubikey