1. Erhöhte Sicherheitsanforderungen
Der Schutz der digitalen Identität ist heute wichtiger denn je. Gestohlene Online-Accounts können in den falschen Händen erheblichen Schaden bei betroffenen Personen verursachen. Gleichzeitig steigt die Anzahl der Datenpannen (engl. Data-Breaches) stetig an – es vergeht kaum eine Woche, in der nicht mindestens eine Datenbank mit gestohlenen Accounts (Benutzername inkl. Passwort) irgendwo im Internet auftaucht. Im schlimmsten Fall hat der betroffene Anbieter die verwendeten Nutzer-Passwörter nicht oder mit einer als unsicher geltenden (kryptografischen) Hashfunktion nur unzureichend geschützt.
Zu oft geraten eigentlich geheime Informationen also in falsche Hände und das prüfende System wiederum kann nicht erkennen, ob Hildegard Müller tatsächlich Hildegard Müller ist, oder ihre Account-Daten gerade von einem Dritten missbraucht werden. Abhilfe gegen den Account-Missbrauch schafft die Überprüfung weiterer Eigenschaften oder Informationen via Zwei-Faktor-Authentifizierung (2FA), die unter anderem von sogenannten Security-Tokens beherrscht wird.
Security-Tokens bzw. USB-Sicherheitssticks (engl. Security Keys) bieten neben der 2FA allerdings noch weitere Funktionen, die zur Erhöhung der (persönlichen) Sicherheit beitragen können. Unter anderem kann der private Schlüssel zur E-Mail- oder Festplattenverschlüsselung sicher auf dem Stick verwahrt werden. Solche und weitere Anwendungsszenarien werden in der Artikelserie »Nitrokey« am Beispiel des Nitrokeys vorgestellt.
- Zwei Schlüssel für alle Fälle – Nitrokey Teil1
- GnuPG-Schlüsselerstellung und Smartcard-Transfer – Nitrokey Teil2
- GnuPG-Public-Key-Authentifizierung – Nitrokey Teil3
- GnuPG: E-Mail-Verschlüsselung unter Android – Nitrokey Teil4
2. Nitrokey
Nitrokey ist ein Open-Source-USB-Stick, der unter anderem eine sichere Verschlüsselung und Signierung von Daten ermöglicht. Je nach Nitrokey-Version unterstützt solch ein USB-Stick unterschiedliche Anwendungsszenarien:
- S/MIME-E-Mail- und Festplattenverschlüsselung (X.509, PKCS#11)
- OpenPGP/GnuPG-E-Mail-Verschlüsselung
- Login bzw. Authentifizierung via Zwei-Faktor-Authentifizierung
- Einmalpasswort (engl. One-Time-Password)
- Universal Second Factor (U2F) via FIDO-Standard
- Integrierter Passwort-Manager
- Verschlüsselter Speicherplatz auf dem USB-Stick (+Hidden Volumes)
- Möglichkeit zur Aktualisierung der Firmware
Ebenfalls unterscheiden sich die Nitrokey-Varianten bei den unterstützten Kryptosystemen, Schlüssellängen und Co.:
- RSA-Schlüssellängen von 1024 – 4096 Bit
- ECC-Schlüssellänge von 192 – 521 Bit
- Elliptische-Kurven-Algorithmen NIST P, Brainpool, Curve25519 und SECG/Koblitz
Hinweis
Lediglich der Nitrokey Start beherrscht die elliptische Kurve Curve25519, die zu den SaveCurves zählt – die einzige Kurve, bei der die Kurvenwahl vollständig transparent nachvollziehbar ist und somit Hintertüren praktisch ausgeschlossen werden können.Sinn und Zweck eines solchen Nitrokeys ist neben der 2FA insbesondere die sichere Verwahrung des geheimen bzw. privaten (RSA-)Schlüssels. Dieser wird über eine manipulationssichere Smartcard (+Benutzerpin) vor Verlust bzw. Diebstahl geschützt. In der Praxis bedeutet das: Der private Schlüssel verlässt die sichere Umgebung nicht und alle Krypto-Operationen (Verschlüsselung, Entschlüsselung, Authentifizierung etc.), die auf den privaten Schlüssel zurückgreifen, werden auf der Smartcard bzw. dem Stick ausgeführt. Im Idealfall kann der private Schlüssel also nicht von einer Schadsoftware ausgelesen werden und hält selbst physischen Angriffen stand.
Sowohl Hardware als auch Software des Nitrokeys sind quelloffen. Die Keys werden von Windows, Linux und auch macOS unterstützt.
2.1 Nitrokey Storage 2 und Nitrokey FIDO U2F
Für die Artikelserie verwende ich zwei Keys:
Weshalb zwei Keys? Weil bisher nur der Nitrokey FIDO U2F die 2FA via FIDO U2F unterstützt, das ich in der Artikelserie ebenfalls vorstellen möchte. Für die meisten Nutzer wird eine Kombination aus Nitrokey Pro 2 und Nitrokey FIDO U2F ausreichend sein. Im Zweifelsfall solltet ihr nochmal prüfen, welche Anwendungsszenarien für euch in Frage kommen und anschließend den bzw. die passenden Keys erwerben.
Hilf mit die Spendenziele zu erreichen!
Unabhängig. Kritisch. Informativ. Praxisnah. Verständlich.
Die Arbeit von kuketz-blog.de wird vollständig durch Spenden unserer Leserschaft finanziert. Sei Teil unserer Community und unterstütze unsere Arbeit mit einer Spende.
2.2 YubiKey vs. Nitrokey
Nitrokey ist ansässig in Deutschland, Berlin. YubiKey wurde ursprünglich 2007 in Schweden gegründet und hat seinen Sitz mittlerweile im Silicon Valley, USA. Im Gegensatz zum Nitrokey ist die Hardware des YubiKeys leider nicht quelloffen. Das bedeutet nicht per se, dass YubiKeys generell unsicher oder nicht vertrauenswürdig sind, aber es bedeutet eben:
- keine unabhängige Prüfung des Quellcodes / der Implementierung möglich
- dadurch nur eingeschränkte Möglichkeit auf die Prüfung nach Hintertüren oder Sicherheitslücken
Nach meinem Verständnis für IT-Sicherheit würde ich hochsensible Informationen wie den privaten, geheimen (RSA-)Schlüssel nach Möglichkeit keiner proprietären Hardware anvertrauen – sofern Alternativen verfügbar sind. Und diese sind verfügbar, denn der Nitrokey basiert auf quelloffener Soft- und Hardware. Für den YubiKey spricht unter anderem allerdings der geringere Anschaffungspreis und auch die Möglichkeit, per NFC drahtlos zu kommunizieren. Bei Sicherheitsfragen und den relativ geringen Preisunterschieden sollte das Argument Kosten allerdings keine ernstzunehmende Rolle spielen. Die Möglichkeit, per NFC zu kommunizieren, mag praktisch sein, persönlich sehe ich darin einen möglichen Angriffsvektor – wie eine Schwachstelle im YubiKey beweist.
Vergleicht man dann noch mit Webbkoll die Webseiten der beiden Anbieter, zeichnet sich folgendes Bild:
- YubiKey-Webseite: 11 Cookies, 37 externe Anfragen an 21 unterschiedliche Dritt-Quellen
- Google Doubleclick (Werbung)
- Google Analytics (Tracking)
- Hotjar (Analytics)
- Google Fonts (Schriftarten)
- Marketo (Werbung)
- […]
- Nitrokey-Webseite: 4 Cookies, 0 Anfragen an Dritt-Quellen
Hinweis
Die Nitrokey-Webseite hatte ebenfalls einige Drittquellen eingebunden – allerdings hat Nitrokey inzwischen reagiert und die Drittquellen entfernt. Gleichzeitig wurde die Content Security Policy (CSP) verbessert.Abgesehen von den Webseiten-Ergebnissen habe ich mich insbesondere aufgrund der Quelloffenheit von Soft- und Hardware für Nitrokey entschieden. Letztendlich muss natürlich jeder selbst entscheiden, welchem Hersteller er vertraut bzw. welche Anwendungsszenarien damit in der Praxis umgesetzt werden sollen.
3. Geplante Anwendungsszenarien
Wie bereits dargestellt unterstützt ein Security-Token bzw. USB-Sicherheitsstick verschiedene Anwendungsszenarien. Im Rahmen der Artikelserie plane ich die Vorstellung folgender Funktionen:
- E-Mail-Verschlüsselung: Mittels OpenPGP/GnuPG ist die Verschlüsselung bzw. Signierung von E-Mails möglich. Dazu wird ein RSA-Schlüsselpärchen (4096 Bit) erstellt und ebenso auf die Vor- und Nachteile der Schlüsselgenerierung direkt auf dem Nitrokey eingegangen. Anschließend wird der Nitrokey in den E-Mail-Client Thunderbird eingebunden.
- OpenSSH-Public-Key-Authentifizierung: Das soeben erstellte RSA-Schlüsselpärchen kann ebenfalls zur Authentifizierung für den SSH-Zugang zu einem Root-Server genutzt werden. Dabei wird der öffentliche Teil der Schlüssel auf dem Server abgelegt und sowohl Client als auch Server konfiguriert.
- Sicherer Web-Login via Zwei-Faktor-Authentifizierung (2FA): Eine Authentifizierung auf Webseiten / Diensten ist per zusätzlichem Faktor über verschiedene Verfahren möglich. Gebräuchlich sind Einmalpasswörter (OTP / TOTP) und FIDO U2F. Die Webseite USB-Dongle-Auth listet Dienste auf, die OTP, FIDO U2F oder neue Verfahren wie FIDO2 unterstützen. Im Rahmen der Artikelserie werde ich OTP und FIDO U2F vorstellen.
- Android-Anbindung: Der Nitrokey kann auch in Kombination mit einem Android-Smartphone verwendet werden. Dazu ist ein USB-OTG-fähiges Android-Gerät und ein USB-OTG-Kabel erforderlich, um den Nitrokey mit dem Gerät zu verbinden. Für dieses Szenario habe ich ein USB-OTG-Kabel für mein Android-Testgerät erworben und werde demonstrieren, wie E-Mail-Verschlüsselung mittels OpenPGP/GnuPG mit Hilfe von OpenKeychain und K-9 Mail erfolgt – der private Schlüssel sollte nämlich niemals in den Kontext der unsicheren Smartphone-Umgebung abgelegt werden.
Hinweis
Eventuell werde ich noch weitere Anwendungsszenarien (Hardware-verschlüsselter Massenspeicher, Passwort-Manager) vorstellen. Aktuell sind erst mal die vier genannten Szenarien geplant.4. Fazit
Wer seine Online-Konten durch eine (vernünftige) Zwei-Faktor-Authentifizierung (2FA) absichert, leistet einen essentiellen Beitrag zum Schutz seiner digitalen Identität. Möglich ist dies unter anderem mit dem Nitrokey-Security-Stick, der daneben noch eine ganze Reihe weiterer Anwendungsszenarien unterstützt. Leider gibt es aktuell noch keinen Nitrokey, der die Funktionen eines Nitrokey Pro 2 bietet und darüber hinaus noch FIDO U2F / FIDO 2 in einem Schlüssel vereint.
Im kommenden Teil der Artikelserie nehmen wir den Nitrokey Storage 2 (Alternativ Nitrokey Pro 2) erstmalig in Betrieb und generieren ein 4096-Bit-RSA-Schlüsselpärchen, welches wir später für unterschiedliche Anwendungsszenarien wie E-Mail-Verschlüsselung oder OpenSSH-Public-Key-Authentifizierung verwenden können.
Wenn du über aktuelle Beiträge informiert werden möchtest, hast du verschiedene Möglichkeiten, dem Blog zu folgen:
28 Ergänzungen zu “Zwei Schlüssel für alle Fälle – Nitrokey Teil1”
Forum oder der Chat geeignete Anlaufstellen, um dein Anliegen zu diskutieren. Per E-Mail beantworte ich grundsätzlich keine (Support-)Anfragen – dazu fehlt mir einfach die Zeit. Kuketz-ForumAbschließender Hinweis
Blog-Beiträge erheben nicht den Anspruch auf ständige Aktualität und Richtigkeit wie Lexikoneinträge (z.B. Wikipedia), sondern beziehen sich wie Zeitungsartikel auf den Informationsstand zum Zeitpunkt des Redaktionsschlusses.Kritik, Anregungen oder Korrekturvorschläge zu den Beiträgen nehme ich gerne per E-Mail entgegen.
Ich hatte noch den Secalot im Visier (https://www.secalot.com/).
Was ist von dem zu halten?
Ich habe gute Erfahrungen mit dem Secalot Key gemacht. Der Entwickler hat direkt auf meine Anfragen reagiert. Hardware und Software scheinen auch OpenSource zu sein. Nur NFC fehlt, aber wer das nicht braucht, findet hier eine Alternative.
Hat Nitrokey UG für diesen Beitrag einen Nitrokey bereitgestellt? Aus Gründen der Transparenz sollte das genannt werden. Nitrokey UG ist allgemein dafür bekannt „Produktproben“ zu schicken.
Ich nutze den Nitrokey seit Jahren und steige hin und wieder auf neue Varianten um.
Den Nitrokey FIDO U2F hatte ich letzte Woche Freitag bei Nitrokey direkt angefragt, da ich FIDO U2F ebenfalls in der Artikelserie vorstellen wollte. Die zwei Nitrokey FIDO U2F (einer als Backup, falls einer verloren geht) werden wohl bald kommen.
Also: Die zwei Nitrokey FIDO U2F werden zur Verfügug gestellt. Es ist allerdings kein »sponsored post«, so etwas mache ich nicht – das dürfte bekannt sein.
Hallo,
ich würde mir an dieser Stelle neben Yubikey und Nitrokey eine Einschätzung Ihrerseits den seit kurzem erhältlichen Solo Key betreffend wünschen, seinerseits ebenfalls soft- wie hardwareseitig quelloffen und FIDO2 tauglich.
Vielen Dank im Voraus!
Die SoloKeys können FIDO2 und FIDO U2F (älter) und dienen somit der Zwei-Faktor-Authentifizierung. E-Mail-Verschlüsselung ist damit bspw. nicht möglich. Die SoloKeys sind vergleichbar mit Nitrokey FIDO U2F – dieser unterstützt allerdings »nur« FIDO U2F.
Nach Beschreibung sind die Sticks ebenfalls quelloffen.
Die Webseite von SoloKeys hinterlässt auf mich keinen guten Eindruck. Unter anderem mit Cookies von Facebook…
Ich finde den Nitrokey echt intereressant, weiß aber nicht, was ich von einem Unternehmen halten soll, welche den Nitrokey „Start“ mal einfach so ohne aktivierte ‚read protection‘ ausliefert. Leider geht Nitrokey mit dem Problem nicht transparent um und fasselt auf GitHub nur etwas von einem Produktionsfehler (sic!).
Quellen: https://github.com/Nitrokey/nitrokey-start-firmware/issues/14; https://github.com/rot42/gnuk-extractor
Kann ja ein Produktionsfehler sein. Ein Fix wird ebenfalls bereitgestellt. Das betrifft übrigens »nur« den Nitrokey Start.
Dennoch ist so eine Panne natürlich nie schön.
Soweit ich richtig verstanden habe fehlen allen Nitrokeys außer dem Nitrokey FIDO U2F ein Taster zur Bestätigung der kryptographischen Operationen. Wenn man einen dieser Nitrokeys an einem infiltrierten Gerät nutzt, könnten nach der Entsperrung des Nitrokey beliebig viele ungewollte Operationen durchgeführt werden solange der Nitrokey eingesteckt bleibt.
Ist das soweit richtig? Oder gibt es weitere Mechanismen, die diesen Fall verhindern?
Bei erzwungener Interaktion, beispielsweise mit einem Taster, wäre es „nur“ eine falsche Operation bis der Nutzer den Fehler bemerken könnte.
Für höhere Sicherheit wäre dann noch ein Display oder anderes Ausgabegerät am Hardwaretoken nötig, um die anstehende Operation vor der Bestätigung unabhängig zu prüfen.
Also beim Nitrokey Pro V1 gibt es eine rote LED die aufleuchtet wenn der Token gerade arbeitet. Die LED schaut nicht aus dem Gehäuse raus sondern scheint durch den Kunststoff durch.
Leider gibt es keinen USB-C Stick. Als MacBook Pro User sind normale USB Geräte nur mit Adapter nutzbar.
Wenn ich den Remote Zugriff unsere Server mittels Einmal Passwort absichern will, ist der Nitrokey Start dafuer geeignet?
Das passt mir zeitlich gerade sehr gut. Ist es dann möglich, den RSA Key zum Booten eines vollverschlüsselten Linux zu nehmen?
Danke und Gruß
Christian
Das ist möglich, ja. Siehe hier: Hard Disk Encryption
Hallo Mike,
vielen Dank für den informativen Artikel! Was hältst Du btw. vom LibremKey der Firma Purism? Dieser wird afaik ebenfalls von Nitrokey hergestellt.
Beste Grüße
Mario
Steht alles in dem News-Beitrag. Im Grunde, geht es um die Absicherung des Boot-Prozesses der Librem-Notebooks.
Klingt ziemlich cool! Aber die erste Frage die sich mir stellt ist: was wenn ich den stick mal verliere? Muss man backups erstellen?
Das Thema Backup wird in der Artikelserie behandelt.
Gibt es die Möglichkeit, so einen Stick mit Bordmitteln (Stick, quelloffene Software) selbst zu erstellen?
Nein, eher nicht. Normale USB-Sticks haben keine Smartcard-Funktionalität.
Warum stehen im Artikel nicht andere Drittquellen auf nitrokey.com wie googleads.g.doubleclick.net, youtube.com, api.github.com, fonts.googleapis.com und der Piwik-Tracker?
Wird Yubikey hier absichtlich schlecht dargestellt?
[Quellen auf unerwünschte Inhalte entfernt]
Hmmm. Vermutlich auf irgendwelchen Unterseiten. Ich schau mir das morgen nochmal in Ruhe an und werde dann gegebenenfalls Updaten.
Und nein, Yubikey kommt insbesondere aufgrund der geschlossenen Hardware nicht in Frage. Schlecht darstellen tun sie sich schon selbst.
Nitrokeys können nur einen einzigen GnuPG-Schlüssel abspeichern, der dann drei Unterschlüssel haben kann. Im Artikel steht, man könne drei Schlüsselpaare speichern. Das ist inkorrekt.
Stimmt. Ich korrigiere das. Es handelt sich um Subkeys und nicht primäre Hauptschlüssel.
Ich kam eben über nen anderen Weg auf NitroKey und wollte hier ins Forum schauen, was denn die Erfahrungen sind. Dann sehe ich diesen Blogeintrag – sehr gruselig!
Es wird erwähnt, dass nur der NitroKey Start „Curve25519“ unterstützt. Die Start Variante unterstützt aber wohl keine SSH Zugriffe oder Logins, richtig? Dann müsste ich also auf eine andere Variante gehen, welche dann aber nicht „Curve25519“ unterstützt. Ist das sehr fatal? Und wenn das so gut ist, wieso nutzen nicht alle diese Kurve?
War zwar nur eine simple Ramdnotiz im Blog, doch die verunsicherte mich sehr. Hätte mir mehr zum Thema gewünscht.
Vielen Dank vorab!
Von den ECC-Algorithmen würde ich persönlich nur dem Curve25519 vertrauen – und den findest du aktuell nur auf dem Nitrokey Start. Was dieser kann, kannst du auf der Webseite von Nitrokey in Erfahrung bringen. Unter anderem unterstützt der Nitrokey Start auch OpenSSH-Public-Key-Authentifizierung.
Im nächsten Teil der Artikelserie gehe ich darauf nochmal ausführlicher ein.
Vielen Dank für den tollen Beitrag!
Ist es denn mit dem Nitrokey Pro möglich, eine KeepassXC Datenbank mit einem Keyfile anzusichen oder geht das nur mit dem Storage?
Welch Prophezeihung des Artikels: YubiKey: Yubico ruft Security-Keys der FIPS-Serie zurück
Danke nochmal für den Artikel, klasse Arbeit!