Ledger Nano X und Bluetooth: Sicherheitsmodell einer funkgestützten Hardware-Wallet
Ledger hat unlängst die Einführung der Ledger Nano X angekündigt.. Dieses neue Produkt basiert auf einer neuartigen Hardwarearchitektur und nutzt gleichzeitig die Vorteile unseres vielseitigen Sicherheitsbetriebssystems BOLOS.
Die Ledger Nano X ist mit Bluetooth Low Energy (BLE) ausgestattet und kann so in Kombination mit Android- und iOS-Geräten kabellos verwendet werden. Diese Funktionalität verbessert die Benutzerfreundlichkeit zwar erheblich, es bestehen jedoch möglicherweise Bedenken hinsichtlich der Sicherheit der drahtlosen Verbindung. Diese möchten wir gerne ansprechen.
Kurz gesagt:
- Nur öffentliche Daten werden über Bluetooth übertragen; kritische Daten wie private Schlüssel und Seeds verlassen das Gerät hingegen nicht.
- Selbst wenn die Bluetooth-Verbindung gehackt werden würde, beruht die Sicherheit des Ledger Nano X auf dem Secure Element (SE), das Ihre Zustimmung für jede Aktion einholt.
- Die Bluetooth-Implementierung der Ledger Nano X verwendet ein modernes Bluetooth-Protokoll. Dieses Bluetooth-Protokoll gewährleistet die Authentifizierung durch Pairing. Grundlage ist ein numerischer Vergleich, und die Vertraulichkeit wird durch AES-basierte Verschlüsselung gewährleistet.
- Wenn Sie bei Ihrer Nano X keine drahtlose Verbindung nutzen wollen, können Sie Bluetooth selbstverständlich deaktivieren und das USB-C-Kabel verwenden.
Wir wollen ausführlich besprechen, wie das funktioniert und warum das Sicherheitsmodell dieser Hardware-Wallet hiervon nicht beeinträchtigt wird.
Architektur
Auch wenn geringfügige Unterschiede bestehen, ähnelt die neue Architektur der Ledger Nano S doch erheblich.
Sie verfügt über zwei Chips:
- Ein neues hochmodernes Secure Element (ST33J2M0)
- Eine Dual-Core-MCU mit Drahtlosanbindung (STM32WB55)
Die STM32-MCU ist für die Verbindung zwischen Smartphone/Desktopcomputer und dem Secure Element zuständig und fungiert im Grunde genommen nur als Proxy.
Das Secure Element nimmt Nutzereingaben entgegen und steuert das Display, auf dem wichtige Informationen angezeigt werden. Natürlich ist es auch für die Sicherheit des Produkts selbst verantwortlich. Es speichert den Seed und die privaten Schlüssel und implementiert alle kryptografischen Vorgänge zur Verwaltung Ihrer Kryptowährungen.
Bluetooth Low Energy
Auswirkungen auf unser Sicherheitsmodell
Die Bluetooth-Verbindung wird nur als Transportschicht für öffentliche Informationen verwendet. Weder geheime Schlüssel noch der Seed werden jemals dem BLE-Stack zugänglich gemacht – sie verlassen das Secure Element unter keinen Umständen!
Wenn Sie beispielsweise eine Transaktion durchführen, wird diese auf dem Smartphone oder in der Desktop-Anwendung Ledger Live vorbereitet und dann über Bluetooth oder USB an die MCU (STM32) gesendet, die sie direkt an das Secure Element weiterleitet. Sie werden dann aufgefordert, den Betrag und die Adresse des Empfängers zu überprüfen, die auf dem Display angezeigt werden. Wenn alles korrekt ist, können Sie die Transaktion durch Drücken beider Tasten genehmigen.
Wenn Ihr Smartphone oder Computer, Ihre Bluetooth-Verbindung, womöglich sogar Ihre STM32-MCU jemals kompromittiert werden sollte, steht am Ende immer noch das Secure Element, das Sie auffordert, die Transaktionsdaten zu verifizieren. Auf dem Display werden Ihnen die echten Transaktionsdaten angezeigt. Ohne Ihre ausdrückliche Zustimmung wird keine Transaktionssignatur ausgestellt.
Wie wir BLE nutzen
Nichtsdestoweniger kann der Bluetooth-Stack Ihre öffentlichen Schlüssel oder Adressen übertragen – auch das gibt möglicherweise Anlass zu Bedenken hinsichtlich des Datenschutzes. Aus diesem Grund haben wir ein hochmodernes Bluetooth-Protokoll implementiert.
Eine BLE-Verbindung ist ein 2-Phasen-Protokoll.
- Schlüsselaustausch
- Nutzung des BLE-Kanals
Zunächst einmal generieren die beiden beteiligten Parteien (Ledger Nano X und das Smartphone) eigene Schlüsselpaare mithilfe eines Zufallsgenerators.
Danach folgt eine Pairing-Phase, in der die Ledger Nano X und das Smartphone nach Genehmigung durch den Nutzer einen Elliptic-Curve-Diffie-Hellman-Schlüsselaustausch vornehmen. Diese Phase ist entscheidend, da die Ledger Nano X ab jetzt dem verkoppelten Smartphone vertraut – und umgekehrt. Um MITM-Angriffen (Man-in-the-Middle) vorzubeugen, wie sie bei BLE vergleichsweise häufig vorkommen, verfügt das Bluetooth-Protokoll über eine spezielle Konfiguration.
Wir haben die modernste Sicherheitskonfiguration implementiert, um MITM-Angriffe zu vermeiden: den numerischen Vergleich. Wenn das gemeinsame Geheimnis generiert wird, zeigen sowohl die Ledger Nano X als auch das Smartphone einen numerischen Code an. Der Nutzer muss dann überprüfen, ob beide Codes identisch sind. Dieser numerische Code wird mit AES-CMAC aus den öffentlichen Schlüsseln beider Parteien und zufälligen Nonces berechnet. Hierdurch werden Kollisions- und Downgrade-Angriffe vermieden, während gleichzeitig die Authentifizierung der öffentlichen Schlüssel erzwungen wird. In diesem Fall betrachten sich beide Parteien gegenseitig als legitim und können miteinander kommunizieren, wobei Authentifizierung und Vertraulichkeit gewährleistet sind.
Nach protokollgemäßem Abschluss dieses Schlüsselaustauschs kann ein sicherer Kanal zwischen dem Smartphone und der Ledger Nano X eingerichtet werden, der ein AES-basiertes Verschlüsselungsverfahren verwendet.
Bei älteren Android-Versionenwird der numerische Vergleich möglicherweise nicht unterstützt. In diesem Fall warnt das Secure Element den Nutzer mit einer entsprechenden Meldung, da auch das Risiko eines MITM-Angriffs besteht. Hierbei müsste ein Angreifer, der sich in der Nähe befindet, zunächst ein manipuliertes Gerät – ein so genanntes Rogue-Gerät – sowohl mit der Ledger Nano X als auch mit dem Smartphone koppeln. Danach könnte er jedes Paket abfangen und weiterleiten. So könnte er die Kommunikation zwischen Ledger Nano X und Smartphone ausspähen und sogar Befehle an das Secure Element senden. Der Nutzer würde jedoch weiterhin aufgefordert werden, jede Transaktion zu prüfen und ihr zuzustimmen.
Sicherheits-Audit
Unser BLE-Stack wird über den ST-Stack implementiert. Der Ledger Donjon, unser Sicherheitsteam, hat die Sicherheit dieser Implementierung im Hinblick auf neueste Angriffsformen wie z. B. Invalid-Point-Angriffe bewertet.
Das gute alte USB-Kabel
Wenn Sie beim Nutzen einer drahtlosen Verbindung mit Ihrer Ledger Nano X ein ungutes Gefühl haben, können Sie die Bluetooth-Konnektivität auch einfach deaktivieren und stattdessen den USB-C-Anschluss mit Ihrem Computer verbinden, um die übrigen Funktionen der Ledger Nano X zu nutzen.
Die Ledger Nano X kann derzeit vorbestellt werden. Klicken Sie auf das nachstehende Banner, um weitere Informationen zu erhalten.