Dieser Artikel führt Sie durch den Prozess, zu überprüfen, ob die auf Ihrem OneKey Pro Hardware-Wallet installierte Firmware mit der Open-Source-Firmware übereinstimmt, die im offiziellen OneKey GitHub-Repository veröffentlicht wurde. Durch den Vergleich der SHA-256-Prüfsumme können Sie sicherstellen, dass die Firmware aus einer zuverlässigen Quelle stammt und die Sicherheit Ihres Geräts gewährleisten.
Was ist eine Prüfsumme?
Eine Prüfsumme ist eine Methode zur Überprüfung der Datenintegrität. Sie berechnet aus einer Datei eine alphanumerische Sequenz mit fester Länge, die anschließend verwendet werden kann, um zu bestätigen, ob die Datei verändert wurde.
⚠️ Wichtige Hinweise
Der Secure-Element-Chip in jedem OneKey-Hardware-Wallet ist werkseitig mit der offiziellen Multisignaturprüfung vorinstalliert.
Wenn das Gerät mit inoffizieller Firmware geflasht wird, zeigt das Gerät beim Start „Unoffizielle Firmware" an.
Dieser Artikel bietet zusätzliche Schritte, um zu bestätigen, ob die aktuelle Firmware exakt mit der auf GitHub veröffentlichten Version übereinstimmt.
Verifizierungsprozess
Schritt 1: Laden Sie die neueste offizielle Firmware herunter und installieren Sie sie
Besuchen Sie die offizielle OneKey-Firmware-Update-Seite.
Verbinden Sie Ihr OneKey-Hardware-Wallet über ein USB-Kabel mit Ihrem Computer.
Die Website erkennt automatisch Ihre Gerätedaten. Anschließend können Sie die neueste Firmware auswählen und installieren.
Befolgen Sie die Anweisungen auf dem Bildschirm und bestätigen Sie die Installation auf Ihrem Hardware-Wallet.
Schritt 2: Prüfsumme der Geräte-Firmware abrufen
Navigieren Sie auf Ihrem Hardware-Wallet zu Systemeinstellungen → Geräteinfo.
Im Bereich mit den Firmware-Informationen sehen Sie die Firmware-Version und deren Prüfsumme.
Beispiel:
4.9.0[fccbac8-5ff2c88]
fccbac8
→ Firmware-Versions-ID5ff2c88
→ Erste sieben Zeichen der Firmware-Prüfsumme
Schritt 3: Prüfsumme der Firmware von GitHub berechnen
Gehen Sie zur OneKey Pro GitHub-Seite mit den Firmware-Releases.
Suchen Sie die Firmware-Version, die zu Ihrem Gerät passt, und laden Sie die
.bin
-Datei unter Assets herunter.
⚠️ Hinweis: Die .bin
-Datei enthält mehrere Teile:
MCU (Hauptcontroller-Firmware)
Eine oder mehrere Secure Element (SE)-Firmwares
Signaturinformationen
Für die Überprüfung müssen Sie nur die MCU-Firmware extrahieren.
Firmware extrahieren
Speichern Sie das folgende Skript als split_firmware.sh
(für macOS/Linux):
#!/bin/bash
if [ $# -ne 1 ]; then
echo "Verwendung: $0 <binary_file>"
exit 1
fi
INPUT_FILE="$1"
TOTAL_FILE_SIZE=$(stat -f %z "$INPUT_FILE")
MAGIC=$(dd if="$INPUT_FILE" bs=1 count=4 2>/dev/null)
calculate_total_size() {
local offset=$1
local size_bytes=$(dd if="$INPUT_FILE" bs=1 skip="$offset" count=4 2>/dev/null | od -An -tu4)
echo $((size_bytes + 1024))
}
if [[ "$MAGIC" == "TRZF" ]]; then
TOTAL_SIZE=$(calculate_total_size 12)
elif [[ "$MAGIC" == "OKTV" ]]; then
HEAD1_SIZE=$(dd if="$INPUT_FILE" bs=1 skip=4 count=4 2>/dev/null | od -An -tu4)
HEAD1_SIZE=$(echo $HEAD1_SIZE)
FILE_SIZE_BYTES=$(dd if="$INPUT_FILE" bs=1 skip=$((HEAD1_SIZE + 12)) count=4 2>/dev/null | od -An -tu4)
TOTAL_SIZE=$((HEAD1_SIZE + 1024 + FILE_SIZE_BYTES))
else
echo "Unbekanntes Dateiformat"
exit 1
fi
dd if="$INPUT_FILE" bs=1 count="$TOTAL_SIZE" of=firmware.bin 2>/dev/null
REMAINING_SIZE=$((TOTAL_FILE_SIZE - TOTAL_SIZE))
if [ $REMAINING_SIZE -gt 0 ]; then
SECOND_HEADER=$(dd if="$INPUT_FILE" bs=1 skip="$TOTAL_SIZE" count=4 2>/dev/null)
if [[ "$SECOND_HEADER" == "TF89" ]]; then
dd if="$INPUT_FILE" bs=1 skip="$TOTAL_SIZE" of=se.bin 2>/dev/null
echo "Erfolgreich aufgeteilt: firmware.bin und se.bin extrahiert."
else
echo "Zusätzliche Daten vorhanden, aber zweiter Datei-Header ist nicht 'TF89'. Es wurde nur firmware.bin extrahiert."
fi
else
echo "Keine zusätzlichen Daten, es wurde nur firmware.bin extrahiert."
fi
Führen Sie das Skript aus:
chmod +x split_firmware.sh ./split_firmware.sh onekey-firmware.bin
Nach der Ausführung erhalten Sie firmware.bin
(den MCU-Firmware-Inhalt).
Prüfsumme berechnen
Führen Sie den folgenden Befehl in Ihrem Terminal aus:
tail -c +2561 firmware.bin | shasum -a 256 -b
Dies gibt einen langen SHA-256-Hash aus, z. B.:
abcdef1234567890... -
Nehmen Sie die ersten sieben Zeichen, z. B. abcdef1
.
Schritt 4: Ergebnisse vergleichen
Vergleichen Sie die ersten sieben Zeichen der berechneten Prüfsumme mit der Prüfsumme, die auf Ihrem Gerät angezeigt wird.
Wenn sie übereinstimmen, bedeutet dies, dass Ihre Firmware identisch mit dem auf GitHub veröffentlichten Open-Source-Code ist.
✅ Warum das wichtig ist
Sie können sicher sein, dass Ihr Gerät Firmware aus dem offiziellen Open-Source-Repository von OneKey verwendet.
Zusammen mit der im Secure Element integrierten Multisignaturprüfung stellt dies die Integrität und Sicherheit der Firmware Ihres Hardware-Wallets sicher.