Zwei Schlüssel für alle Fälle – Nitrokey Teil1

1. Erhöhte SicherheitsanforderungenNitrokey

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.

Dieser Beitrag ist Teil einer Artikelserie:

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
  • 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.:

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.

Mitmachen ➡

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.
Wenn jemand im Bereich IT-Sicherheit / Datenschutz / Privatsphäre etc. eine Dienstleistung oder Produkt bewirbt, aber schon die eigene Webseite so in den Sand setzt wie YubiKey, dann hinterlässt dies keinen guten Eindruck. Offenbar scheint den Verantwortlichen nicht klar zu sein, welche Risiken für die Sicherheit und Privatsphäre eines Besuchers mit der Einbindung von extern gehosteten Inhalten wie JavaScript-Code einhergehen können. Ich würde sogar soweit gehen und sagen: Hier fehlt schlichtweg Kompetenz und Awareness. Die Außendarstellung des Unternehmens ist natürlich nur eine Sache und letztendlich muss sich dies nicht negativ auf die Security-Tokens selbst auswirken. Allerdings ist die Außendarstellung eben auch eine Art Visitenkarte und hier hinterlässt YubiKey einen besonders schlechten Eindruck.

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.

Über den Autor | Kuketz

Mike Kuketz

In meiner freiberuflichen Tätigkeit als Pentester / Sicherheitsforscher (Kuketz IT-Security) schlüpfe ich in die Rolle eines »Hackers« und suche nach Schwachstellen in IT-Systemen, Webanwendungen und Apps (Android, iOS). Des Weiteren bin ich Lehrbeauftragter für IT-Sicherheit an der Dualen Hochschule Karlsruhe, sensibilisiere Menschen in Workshops und Schulungen für Sicherheit und Datenschutz und bin unter anderem auch als Autor für die Computerzeitschrift c’t tätig.

Der Kuketz-Blog bzw. meine Person ist regelmäßig in den Medien (heise online, Spiegel Online, Süddeutsche Zeitung etc.) präsent.

Mehr Erfahren ➡

SpendeUnterstützen

Die Arbeit von kuketz-blog.de wird zu 100% durch Spenden unserer Leserinnen und Leser finanziert. Werde Teil dieser Community und unterstütze auch du unsere Arbeit mit deiner Spende.

Folge dem Blog

Wenn du über aktuelle Beiträge informiert werden möchtest, hast du verschiedene Möglichkeiten, dem Blog zu folgen:

Bleib aktuell ➡


Diskussion

28 Ergänzungen zu “Zwei Schlüssel für alle Fälle – Nitrokey Teil1”

  1. Comment Avatar Leonidos sagt:

    Ich hatte noch den Secalot im Visier (https://www.secalot.com/).
    Was ist von dem zu halten?

    • Comment Avatar HaGeMo sagt:

      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.

  2. Comment Avatar Anonymous sagt:

    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.

    • Comment Avatar Mike Kuketz sagt:

      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.

  3. Comment Avatar Robert Henn sagt:

    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!

    • Comment Avatar Mike Kuketz sagt:

      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…

  4. Comment Avatar ava sagt:

    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

    • Comment Avatar Mike Kuketz sagt:

      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.

  5. Comment Avatar Anonymous sagt:

    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.

    • Comment Avatar R sagt:

      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.

  6. Comment Avatar lmb sagt:

    Leider gibt es keinen USB-C Stick. Als MacBook Pro User sind normale USB Geräte nur mit Adapter nutzbar.

  7. Comment Avatar R. Sato sagt:

    Wenn ich den Remote Zugriff unsere Server mittels Einmal Passwort absichern will, ist der Nitrokey Start dafuer geeignet?

  8. Comment Avatar Christian sagt:

    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

  9. Comment Avatar Mario sagt:

    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

  10. Comment Avatar Tom sagt:

    Steht alles in dem News-Beitrag. Im Grunde, geht es um die Absicherung des Boot-Prozesses der Librem-Notebooks.

  11. Comment Avatar Klaus sagt:

    Klingt ziemlich cool! Aber die erste Frage die sich mir stellt ist: was wenn ich den stick mal verliere? Muss man backups erstellen?

  12. Comment Avatar Gernot sagt:

    Gibt es die Möglichkeit, so einen Stick mit Bordmitteln (Stick, quelloffene Software) selbst zu erstellen?

  13. Comment Avatar Perflyst sagt:

    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]

    • Comment Avatar Mike Kuketz sagt:

      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.

  14. Comment Avatar Anonymous sagt:

    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.

  15. Comment Avatar Anonym sagt:

    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!

    • Comment Avatar Mike Kuketz sagt:

      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.

  16. Comment Avatar Stephan sagt:

    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?

  17. Comment Avatar dkf sagt:

    Welch Prophezeihung des Artikels: YubiKey: Yubico ruft Security-Keys der FIPS-Serie zurück
    Danke nochmal für den Artikel, klasse Arbeit!

HilfeWenn du konkrete Fragen hast oder Hilfe benötigst, sind das offizielle 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-Forum

Abschließ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.