Cet article vous guidera dans le processus de vérification que le micrologiciel installé sur votre portefeuille matériel OneKey Pro correspond au micrologiciel open source publié sur le référentiel 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 pourrez alors 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→ Identifiant de la version du micrologiciel5ff2c88→ Sept premiers caractères de la somme de contrôle du micrologiciel
Étape 3 : Calculer la somme de contrôle du micrologiciel depuis GitHub
Rendez-vous sur la page des versions du micrologiciel GitHub de 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 :
Micrologiciel du contrôleur principal (MCU)
Un ou plusieurs micrologiciels pour é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 référentiel open source officiel de OneKey.
Avec la vérification intégrée de signature multiple de l'élément sécurisé, cela garantit l'intégrité et la sécurité du micrologiciel de votre portefeuille matériel.
