Review – MIRkey

Von | 30. November 2019
MIRkey inkl. Hardcase

Eigentlich handelt es sich bei dem MIRkey primär gar nicht um eine Hardware Wallet. Konzipiert wurde der MIRkey als multifunktionales Hardware Security Modul. Der ursprüngliche Gedanke hinter einem HSM ist die sichere Aufbewahrung von privaten Schlüsseln. Im Prinzip genau das, was eine Hardware-Wallet auch macht. Eine Bitcoin-Wallet ist streng genommen auch ein HSM, jedoch mit eingeschränkter Funktionalität was die Schlüssel angeht aber erweiterter Funktionalität im Bereich Kryptowährungen. Man könnte also sagen ein solcher HSM ist der Vorfahre der heutigen Hardware-Wallets. Ganz getreu dem Prinzip “Back to the Roots” versucht der Hersteller ellipticSecure hier einen HSM anzubieten, der jedoch auch eine Hardware-Wallet integriert. Es gibt zwar bereits ähnliche Ansätze bei anderen Herstellern, jedoch gehen diese einen gänzlich anderen Weg. In der Regel bildet die Grundlage eine Hardware-Wallet. Diese wird dann um diverse HSM Funktionen erweitert. Das sind zum Beispiel FIDO2, OpenPGP, etc. Bei diesem Stick handelt es sich jedoch um ein HSM, das um die Wallet-Funktionalität erweitert wurde. Im Folgenden Review wollen wir uns ein mal anschauen wie gut dies dem Entwickler gelungen ist.

Lieferung und Verpackung

Hardcase – perfekt zum Aufbewahren des MIRkey

Der MIRkey wird in einem Hardcase geliefert, welches ganz simpel in eine Folie eingeschweißt wurde. Leider konnte ich keine Anzeichen von Tamper Evidence entdecken. Der Versand war zudem sehr zügig und dauerte nur rund eine Woche. Verkauft wird der MIRkey über Amazon.com. Der Versand beträgt 5,09$ oder 15,35$ als Express-Versand. Ich hätte mir an dieser Stelle eine etwas bessere Verpackung gewünscht um eventuelle Manipulationen auf dem Versandweg zu erschweren.

Ersteinrichtung

ellipticSecure Device Manager

Eine richtige Ersteinrichtung gibt es bei dieser Hardware nicht. Zwar kann man den Stick initialisieren, was auch notwendig ist um alle Funktionen freizuschalten, jedoch war mir nicht ersichtlich wie man das Gerät initialisiert. Erst ein Versuch die höheren Funktionen des Geräts zu benutzen erbrachte eine Meldung, dass der MIRkey noch nicht initialisiert sei und bot mir sogleich auch eine Möglichkeit an dies zu tun. Solch eine Funktion ist zum Beispiel der Menüeintrag “Enroll 2FA…” – damit kann man neue TOTPs (Time-based One Time Password) hinzufügen. Mittlerweile bietet nahezu jeder Online-Dienst die Möglichkeit an, solche TOTPs im Rahmen einer 2FA zu nutzen. Bekannte Beispiele für TOTP-Tools sind unter Anderem der Google oder Microsoft Authenticator.

Initialisierung

Bei der Initialisierung kann man seinem Stick einen Namen (Label) verpassen. Dieses Label ist nicht weiter von Bedeutung und dient lediglich der Zuordnung, falls man mehrere Sticks haben sollte. An dieser Stelle vorab schon einmal der Hinweis, dass es nicht besonders sinnvoll ist nur einen dieser Sticks zu besitzen.

Zusätzlich zum Namen muss man noch ein Admin-Passwort, sowie ein Benutzer-Passwort festlegen. Das Benutzer-Passwort wird für einfache Aktionen wie 2FA oder später auch Bitcoin genutzt, während das Admin-Passwort dazu benötigt wird Einstellungen am MIRkey vorzunehmen.

Sobald es initialisiert wurde erhält man vollständigen Zugriff auf alle Funktionen.

Funktionen

Die Funktionen unter dem Menüpunkt Tools

Die meisten Funktionen des MIRkey befinden sich unter dem Menüpunkt “Tools”. Ich werde im Folgenden nicht auf jede Funktion einzeln eingehen, da dies sonst den Rahmen des Reviews sprengen würde. Zudem will ich mich primär auf die Funktionalität als Bitcoin-Wallet konzentrieren. Dennoch sollten einige Funktionen nicht unerwähnt bleiben.

FIDO2

Dieser Stick beherrscht sowohl FIDO als auch FIDO2. Mittels dieser Funktionalität ist es möglich den Stick als Security Token auf diversen Webseiten einzurichten. Dadurch entfällt die Eingabe eines TOTP. Nachdem man Benutzername und Passwort bei einem Dienst angibt wird man dazu aufgefordert seinen Security Token anzuschließen und diesen zu betätigen. Dafür hat der MIRkey einen entsprechenden Button. FIDO2 geht sogar noch einen Schritt weiter und macht Benutzernamen und Passwort gänzlich obsolet. So muss man, um sich bei einem Dienst anzumelden, lediglich den Stick einstecken und eine zuvor auf dem MIRkey festgelegte PIN eingeben. Diese PIN kann man natürlich frei konfigurieren. Das hat den Vorteil, dass man sich keine Passwörter oder Benutzernamen mehr merken muss. Dies Vereint perfekt den Gedanken der Multi-Faktor-Authentifizierung. Etwas das man hat (MIRkey bzw. einen FIDO2-Security Token) und etwas das man weiß (die entsprechende PIN). Leider wird FIDO2 bisher nur von Windows unterstützt.

2FA über TOTP

2FA über TOTP

Wer nicht den Google oder Microsoft Authenticator benutzen will hat hier ebenfalls eine sehr gute Alternative. Über den Menüpunkt “Enroll 2FA …” können mehrere TOTP Keys hinterlegt werden. Jedoch gibt es einige Dienste, die den Benutzern das Leben unnötig schwer machen, da sie lediglich einen QR-Code für die entsprechenden Authenticator Apps anzeigen. In solch einem Fall muss man den QR-Code am Besten mit einer neutralen QR-Code-Reader-App auslesen und den Token manuell in den MIRkey eintragen.

Backup

Es ist möglich ein Backup vom gesamten Stick zu machen. Das Backup läuft dabei wie folgt ab:

  • Die Daten auf dem Stick sind mit dem Speicher-Schlüssel verschlüsselt
  • Zusätzlich zu den verschlüsselten Daten kommen die öffentlichen Daten, sowie die Einstellungen
    • Als öffentliche Daten gelten all die, die nicht als „privat“ markiert wurden. Diese können vom Benutzer selbst beim Anlegen entsprechend markiert werden
  • Als zweiten Schritt wird ein sogenannter OTK (One Time Key) mittels AES 256 erzeugt
  • Nun Werden die verschlüsselten Daten, sowie unverschlüsselte Daten und die Einstellungen mit dem OTK noch einmal verschlüsselt und als Backup exportiert

Solch ein erstelltes Backup ist aber zunächst nur auf dem Stick wiederherstellbar, von dem das Backup ursprünglich auch stammt. Das wird durch die sogenannte Backup-Domäne geregelt. Jeder Stick hat eine eigene, individuelle Backup-Domäne. Ein Backup kann ebenfalls auch dann nicht wieder auf dem selben Stick eingespielt werden sollte die Backup-Domäne des MIRkey in der Zwischenzeit geändert worden sein. Dieser Prozess muss jedoch vom Benutzer gezielt angestoßen und mit dem Admin-Passwort bestätigt werden.

Es ist jedoch möglich die Backup-Domänen zweier Sticks zu synchronisieren. Das wird über den Menüeintrag „Manage Backup domain…“ bewerkstelligt. Daher ist die sinnvollste Vorgehensweise mindestens zwei Sticks zu besitzen, diese in die gleiche Backup-Domäne zu stecken und dann ein Backup von dem Hauptstick zu machen. Sollte dieser nun verloren gehen kann man den Ersatzstick nutzen, da dieser zuvor die gleiche Backup-Domäne wie der erste Stick erhalten hat. Es ist ebenfalls ratsam sich dann zeitnah wieder einen zweiten MIRkey zu besorgen und diesen ebenfalls in die gleiche Backup-Domäne zu migrieren.

An diesem Backup-Verfahren wird noch einmal deutlich, dass hier nicht der Fokus auf einer Hardware-Wallet liegt, sondern auf einem HSM. Solche Module klonen zu können ist in diesem Bereich üblich, während sich bei Hardware-Wallets ein anderes Verfahren durchgesetzt hat. Welche Methode nun die bessere ist mag die Geister zwar scheiden, ich jedoch denke, dass die Hardware-Wallets den besseren Weg beschreiten. Denn so ist das Backup physisch von dem Gerät getrennt bzw. es ist nachträglich nicht möglich weitere Backups anzulegen.

Updates

Die Updates lassen sich über den Manager relativ einfach und schnell einspielen. Das Programm erkennt selbstständig ob es eine neue Version gibt und spielt diese auch selbstständig, nach einer Bestätigung des Benutzers, ein.

Sonstige Funktionen und Features

FunktionAnmerkung
PKCS#11
  • Dokumente Verschlüsseln und Signieren mit Adobe Reader DC
  • (Open)VPN
  • Webserver
  • OracleDB
  • OpenSSH
  • Signieren/Verschlüsseln von E-Mails
  • Veracrypt
  • etc.
Microsoft CNGSchlüsselspeicher für Microsofts Cryptograpy API: Next Generation
JCAUnterstützung für Java Cryptography Architecture und Java Cryptography Extension unter Zuhilfenahme des SunPKCS11 Providers
TRNGEin Hardware True Random Number Generator* zur Erzeugung zufälliger Schlüssel

* Es handelt sich wohl um eine abgewandelte Variante des STM32, welches hier spezifiziert ist.

Bitcoin Wallet

Electrum mit Legacy Adressen und MIRkey

Der MIRkey implementiert Bitcoin nach BIP32 und hat keine eigene Software. Benutzt wird hier ein eigens modifiziertes Electrum der Version 3.3.6. Zum Zeitpunkt des Tests beläuft sich die aktuelle Version von Electrum auf 3.3.8. Die Änderungen seien wohl bereits als Merge-Request bei Electrum eingekippt, jedoch noch nicht übernommen worden. Ich gehe davon aus, dass es wohl nicht mehr lange dauert, bis MIRkey ein festes Bestandteil vom offiziellen Electrum ist. Es ist natürlich auch möglich das entsprechende Plugin aus dem GIT-Repository in eine aktuelle Version von Electrum einzubauen.

Analog zu anderen Hardware-Wallets

Die Einrichtung über Electrum verläuft analog zu anderen Hardware-Wallets. Obwohl nur BIP32 zum Einsatz kommt erhält man als Backup dennoch eine Mnemonic. Eine Nutzung von Passphrasen ist leider nicht vorgesehen. Diese erhielten mit BIP39 den Einzug in die Welt der Kryptowährungen.

Wichtig

Ganz wichtig: Zuerst Legacy auswählen, dann Derivation Path auf m ändern

Die Anleitung des Herstellers empfiehlt Legacy Wallets, wobei auch SegWit funktioniert. Es ist zudem EXTREM wichtig, dass bei der Auswahl des Wallettyps ZUERST Legacy oder SegWit ausgewählt und dann anschließend der Derivation Path unten auf m (bei Legacy) oder m/0’/ (bei SegWit) geändert wird. Andernfalls erzeugt Electrum bei einem Import der Mnemonic eine gänzlich andere Wallet und man hat Schwierigkeiten an seine Bitcoin zu kommen, falls man keinen MIRkey mehr zur Verfügung hat.

Gemeint ist eigentlich das User-Passwort

Bei der Einrichtung wird zudem nach einer “User-PIN” gefragt. Ich habe den Fehler gemacht und die PIN des Sticks eingegeben. Das führte zu der Sperrung der besagten PIN. Der Dialog ist nämlich falsch beschriftet. Gemeint ist hier das User-Passwort, welches bei Initialisierung des MIRkey eingegeben wurde.

Sonstiges

Leider ist dieses Projekt noch nicht vollständig OpenSource. Besonders im Bereich Sicherheit halte ich OpenSource für absolut wichtig und man sollte stets nach dem Credo “Don’t Trust – Verify” agieren. Selbst wenn nicht jeder Benutzer in der Lage ist den Quellcode zu verifizieren, ist überhaupt die Möglichkeit den Code einsehen zu können ein ganz wichtiger Schritt. Der bisher veröffentlichte Code befindet sich in dem entsprechenden GIT-Repository. Laut dem Hersteller wartet man noch auf das entsprechende Trademark bevor der restliche Code ebenfalls als OpenSource freigegeben wird.

USB-A statt USB-C

Ich finde es zudem sehr schade, dass es den MIRkey lediglich in der USB-A-Variante gibt. In der heutigen Zeit sollte eigentlich USB-C zum Standard werden. Die Vorteile von USB-C liegen auf der Hand und ganz ehrlich, welcher Computer hat heute keinen USB-C Anschluss mehr? Das gilt ebenso für die meisten SmartPhones oder Tablets. Ansonsten ist der Verarbeitung nicht zu beanstanden. Der Stick fühlt sich hochwertig und sehr stabil an. Es ist wohl auch eine USB-C Variante geplant, jedoch gibt es keinen genauen Termin für den Release.

Als weiteres Feature würde ich mir noch OpenPGP wünschen, da auch dies bei mir häufig zum Einsatz kommt.

Fazit

ellipticSecure versucht hier einen Spagat zwischen HSM und Bitcoin-Hardware-Wallet hinzubekommen. Leider fällt an einigen Stellen auf, dass es gewisse Startschwierigkeiten gibt, wenn man den Stick als Hardware-Wallet nutzen möchte. Dies führt dazu, dass man bei der Erzeugung einer Bitcoin-Wallet einiges beachten muss. Schöner wäre es, wenn der Hersteller sich an BIP39 statt BIP32 hielte. BIP32 zu verwenden macht die Sache unnötig kompliziert. Man kann zwar damit argumentieren, dass auch Bitcoin Core nur auf BIP32 setzt aber der größere Konsens unter den Hardware-Wallet-Herstellern ist nunmal BIP39. Im Bereich HSM leistet dieser Stick natürlich hervorragende Arbeit.

Vielen Dank an ellipticSecure für die Bereitstellung eines Testgeräts.

MIRkey

49 $
8.1

Usability

7.0/10

Sicherheit

8.0/10

Verarbeitung

8.5/10

Alltagstauglichkeit

9.0/10

Pros

  • Ein Füllhorn an Features
  • Alltagsfreund
  • Sicherer als eine reine Software-Wallet

Cons

  • Bei der Walleteinrichtung muss einiges beachtet werden
  • Kein USB-C
  • Nicht vollständig OpenSource

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

* Ich bin damit einverstanden, dass gemäß der Datenschutzbestimmungen meine eingegebenen Daten gespeichert werden.