Cet article vous guidera à travers le processus de vérification que le micrologiciel installé sur votre portefeuille matériel OneKey Pro correspond au micrologiciel open source publié sur le dépôt GitHub officiel de OneKey. En comparant la somme de contrôle SHA-256, vous pouvez vous assurer que le micrologiciel provient d'une source fiable et garantir la sécurité de votre appareil.
Qu'est-ce qu'une somme de contrôle ?
Une somme de contrôle est une méthode de vérification de l'intégrité des données. Elle calcule une séquence alphanumérique de longueur fixe à partir d'un fichier, qui peut ensuite être utilisée pour confirmer si le fichier a été modifié.
⚠️ Notes importantes
La puce de l'élément sécurisé à l'intérieur de chaque portefeuille matériel OneKey est préchargée en usine avec une vérification officielle de signature multiple.
Si l'appareil est flashé avec un micrologiciel non officiel, l'appareil affichera « Micrologiciel non officiel » au démarrage.
Cet article fournit des étapes supplémentaires pour confirmer si le micrologiciel actuel correspond exactement à la version publiée sur GitHub.
Processus de vérification
Étape 1 : Télécharger et installer le dernier micrologiciel officiel
Connectez votre portefeuille matériel OneKey à votre ordinateur à l'aide d'un câble USB.
Le site Web détectera automatiquement les informations de votre appareil. Vous pouvez ensuite sélectionner et installer le dernier micrologiciel.
Suivez les instructions à l'écran et confirmez l'installation sur votre portefeuille matériel.
Étape 2 : Récupérer la somme de contrôle du micrologiciel de l'appareil
Sur votre portefeuille matériel, accédez à Paramètres système → À propos de l'appareil.
Dans la section des informations sur le micrologiciel, vous verrez la version du micrologiciel et sa somme de contrôle.
Exemple :
4.9.0[fccbac8-5ff2c88]fccbac8→ ID de la version du micrologiciel5ff2c88→ Les sept premiers caractères de la somme de contrôle du micrologiciel
Étape 3 : Calculer la somme de contrôle du micrologiciel à partir de GitHub
Accédez à la page des versions du micrologiciel GitHub OneKey Pro.
Localisez la version du micrologiciel qui correspond à votre appareil et téléchargez le fichier
.binsous Assets.
⚠️ Remarque : Le fichier .bin contient plusieurs parties :
MCU (micrologiciel du contrôleur principal)
Un ou plusieurs micrologiciels de l'élément sécurisé (SE)
Informations de signature
Pour la vérification, vous devez extraire uniquement le micrologiciel MCU.
Extraction du micrologiciel
Enregistrez le script suivant sous le nom split_firmware.sh (pour macOS/Linux) :
#!/bin/bash
if [ $# -ne 1 ]; then
echo "Usage: $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 "Unknown file format"
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 "Split successfully: firmware.bin and se.bin extracted."
else
echo "Extra data exists but second file header is not 'TF89'. Only firmware.bin is extracted."
fi
else
echo "No extra data, only firmware.bin extracted."
fi
Exécutez le script :
chmod +x split_firmware.sh ./split_firmware.sh onekey-firmware.bin
Après l'exécution, vous obtiendrez firmware.bin (le corps du micrologiciel MCU).
Calcul de la somme de contrôle
Exécutez la commande suivante dans votre terminal :
tail -c +2561 firmware.bin | shasum -a 256 -b
Cela produira un long hachage SHA-256, par exemple :
abcdef1234567890-
Prenez les sept premiers caractères, par exemple abcdef1.
Étape 4 : Comparer les résultats
Comparez les sept premiers caractères de la somme de contrôle calculée avec la somme de contrôle affichée sur votre appareil.
S'ils correspondent, cela signifie que votre micrologiciel est identique au code open source publié sur GitHub.
✅ Pourquoi c'est important
Vous pouvez être sûr que votre appareil exécute un micrologiciel construit directement à partir du dépôt open source officiel de OneKey.
En plus de la vérification de signature multiple intégrée de l'élément sécurisé, cela garantit l'intégrité et la sécurité du micrologiciel de votre portefeuille matériel.
