OpenPGP Card Alpha Veröffentlichung für Nitrokey 3

OpenPGP ist ein offener Standard zum Verschlüsseln, Entschlüsseln und Signieren von Dokumenten, Dateien und E-Mails, der hauptsächlich mit GnuPG verwendet wird. Die Speicherung von kryptographischen Schlüsseln auf einer Chipkarte wie der OpenPGP Card ermöglicht die sichere und bequeme Nutzung desselben Schlüssels auf mehreren Geräten. Bei Verlust des Geräts bleiben die kryptografischen Schlüssel sicher im Gerät gespeichert und können nicht extrahiert werden. Die OpenPGP Card kann für E-Mail-Verschlüsselung, SSH-Authentifizierung und viele andere kryptografische Anwendungsfälle genutzt werden.

Opcard wurde in Rust entwickelt und ist in einer speziellen Nitrokey 3-Firmwareversion verfügbar, die im opcard-Repository zu finden ist. Die erste Alpha-Version ist nur für Nitrokey 3A Mini verfügbar. Ein Release für Nitrokey 3 NFC wird in den nächsten Wochen folgen.

Die meisten Funktionen der OpenPGP Karte sind bereits verfügbar, wie z.B.:

  • Schlüsselgenerierung und -import
  • Signieren und Entschlüsseln
  • Kartenverwaltung

Die folgenden Algorithmen werden unterstützt:

  • X25519 und Ed25519
  • ECDH und ECDSA über NIST P-256

Diese Alpha-Version unterstützt noch kein RSA, was in einer der nächsten Versionen folgen soll.

WARNUNG: Die aktuelle Implementierung ist eine Alpha-Version und eignet sich nur zum Testen. Updates können zu Datenverlusten führen (nur für OpenPGP-Schlüssel, andere Anwendungen sind davon nicht betroffen), und die Sicherheit der Schlüssel und PINs ist nicht garantiert.

Testen Sie es!

Derzeit nur für den Nitrokey 3A Mini verfügbar.

  1. Laden Sie die neueste kompilierte ZIP-Datei herunter.
  2. Schließen Sie Ihren Nitrokey 3A Mini an
  3. Verwenden Sie nitropy um es mittels "nitropy nk3 update <Pfad/zum/release/zip/file>" zu installieren.
  4. Zur Benutzung folgen Sie diesen Anweisungen.

Bitte testen Sie opcard und teilen uns eventuelle Fehler oder fehlende Funktionen mit. Zögern Sie nicht, in unserem Support-Forum darüber zu diskutieren.

Wie geht's weiter?

Bis zur offiziellen Veröffentlichung von opcard 1.0 liegt noch ein weiter Weg vor uns. Wir arbeiten bereits an der RSA-Unterstützung und der Integration mit dem SE050-Sicherheitselement, das im Nitrokey 3 für die sichere Schlüsselspeicherung und den PIN-Schutz verfügbar ist.

Wir arbeiten auch hart daran, es auf den Nitrokey 3 NFC zu integrieren; dank unseres eingebetteten Runners, um die Codebasen für alle Modelle zu vereinheitlichen.

Förderung

NLnet NGI PET

Dieses Projekt wurde durch den NGI0 PET-Fonds finanziert, einen Fonds, der von NLnet eingerichtet wurde, mit finanzieller Unterstützung des Next Generation Internet-Programms der Europäischen Kommission unter der Schirmherrschaft der Generaldirektion Kommunikationsnetze, Inhalte und Technologien unter der Finanzhilfevereinbarung Nr. 825310.

22.10.2022

Comments

Super! 541 since I ordered Nitrokey 3C NFC and Nitrokey 3A NFC bricks. Hopefully you'll finish firmware 1.0 until the 2 year anniversary which is in 176 days (I'm not trolling, I'm optimistic and happy that you have some progress finally) Good luck!
Since the Nitrokey3 firmware now supports Ed25519, will there be support for this algorithm in the FIDO2 feature as well? So far Nitrokey still only supports ECDSA, despite Ed25519 being recommended over it for years and it would be great to have this safecurve implementation added to the fido feature as well.
Hey, not sure what kind of support you mean ? You can easily already create e.g. a ssh key using a ed25519 resident key. This works without issues for me. Or are you referring to something else? Creating works like that:

ssh-keygen -t ed25519-sk -Oresident -Oapplication=ssh:foobar -f test.key

I am referring to the supported algorithms for Webauthn authentication with the Fido2 feature. Previously, Nitrokey Fido2 devices only supported the mandatory but controversial ECDSA algorithm. The question is if we now get the option to use EdDSA aka Ed25519 as well when it comes to WebAuthn
Ah, ok, well this is a decision that is made by the server during the request. We at this point support -7 & -8 as signing algorithms, thus p-256 (ECDSA) and Ed25519 (EdDSA). So, in short: yes, we support Ed25519 in general for Webauthn, but for a specific Webauthn request the Nitrokey 3 does use what the server asks for.
Thank you for the response. One more happy Nitrokey customer
Hi meissner, Can you tell me what "-Oapplication=sshfoobar" does to the key? I've looked into "man ssh-keygen" but can't quite grasp the idea of this parameter.
Sure, this is just label, this ssh-keygen call creates an Resident Key entry (you can see them using e.g. Chromium: chrome://settings/securityKeys "sign-in data"). So this parameter: "-Oapplication=ssh:foobar" is setting the option (-O) for the "application" label, which is in this case "ssh:foobar". So far I know this is a generic mechanism in ssh-keygen and the component that talks to the Nitrokey interprets it. But I also cannot say where to find a consistent list of all these options documented, I also just "know" it, but no idea where it comes from. If you find a source, please share it...
Hi! Thanks for your reply. I only found this - wonderfall.dev/openssh-fido2/ The author writes that not setting the application flag means that the next time you want to generate an SSH key, the existing one stored on the smartcard will be overwritten. So my question is - can you store more than one ssh key on a NK3?
Yes, you can store far more than just one ssh key on the Nitrokey 3. Easily more than 20 (there is no hard limit). You just have to know that "-Oapplication=ssh:foobar" serves as an identifier (in fact just "foobar"), all saved keys should have a unique identifier as the website also mentions.
Cool! BTW, do you have a more precise timeframe as to when OpenPGP capabilities are going to be available for NK3A NFC? I've just received my NK and am looking forward to this release.
Hey, you can already find an alpha release on Github. From here I guess we'll be in alpha for some months to integrate the se050 (currently it's software only, w/o the secure element), improve robustness and fix bugs.
Thanks for your reply. Why does the description on github only mention NK3 mini, then? I don't want to brick my brand new NK, so can you confirm the installation procedure and the zip file are the same for NK3 mini and NK3 A? Thanks in advance, M.
Right, good point, sorry didn't mention that. This release won't work for your NK3A. But no worries, you can't brick it that easily. The bootloader would not accept the new firmware, if it's not the correct one for the device. Anyways, the alpha release for the OpenPGP Card will also be available shortly (next 1-2 weeks) for the NK3A/C, too.
Vielen Dank für das Update. Habe das Tutorial erfolgreich durchgetestet :-)
Any plans to support also ES384 / P-384?
Generally yes, but there is no ETA yet as we first focus on the necessary one(s) specified through the OpenPGP Card Specification 3.4. Once this is in place we will prioritize new cryptographic primitives.
Hi, will nitrokey 3A be compatible with keepassxc ? How many key slots will it have ( openpgp/ssh)?
Hey, for the password manager we haven't decided on the different integration options, yet. But KeepassXC surely is on one of the top positions. Generally, OpenPGPCard only defines a set of keys for a single identity, we plan to be able to switch identities, but there are also no plans yet how many this will be. For SSH I would recommend using FIDO2 Resident Keys, there you can as of now already have 20+ easily.
Cool, nur 1 Jahr, 7 Monate und 9 Tage nach Vorbestellung bzw. 11 Monate und 14 Tage nach Lieferung gibt es eine erste Alphaversion für den Nitrokey 3A Mini. Ich würde mittlerweile gerne vom Kauf meines 3C zurücktreten. An wen kann ich mich wenden?
Ja danke, wir finden das auch ganz cool. Schade, dass Sie zurücktreten möchten. Zwecks Bestellungsabwicklung bitte eine E-Mail an shop (at) nitrokey (dot) com schreiben, am besten mit der Bestellnummer SOxxxxxxx. (edit: Natürlich gilt sowas nur während der Vorbestellung bzw. im Rahmen des Widerrufsrechts)
Hi! Any update on the state of opcard for NK3A/C? Best
Yup, see this release, currently in internal testing, flashable binaries will be available within the next days...
Hi meissner, I know the alpha firmware is currently being tested internally. I found information on docs.nitrokey.com/nitrokey3/linux/firmware-update.html that updating firmware on a NK3 will basically result in a loss of data. Can you confirm or refute this?
Oh, well this is only true for firmware updates coming from version 1.0 and below. We'll update the documentation accordingly, sorry for the confusion. If you update from version 1.1 and higher there should be no data loss. Anyhow we strongly suggest to have (at least) another login method registered with your services.
Sure, it's important not to get locked out of your email account if you lose data or the physical key. However, it's a good sign that updating from 1.1+ should not result in a data loss. Thank you and I'm looking forward to the release of new firmware.
Thank you for development of the OpenPGP feature. This will be super useful. I appreciate the work you put into the Open Source firmware very much. You just can't rush security.

Add new comment

Fill in the blank.