Signature RSA, secure boot et calculateurs verrouillés
Un checksum correct ne suffit plus. Sur les calculateurs récents, un fichier modifié est refusé même quand toutes ses sommes de contrôle sont justes. La raison tient en un mot : la signature.
Checksum et signature : deux choses différentes
C'est la confusion à lever en premier.
- Un checksum répond à la question : le contenu est-il intact ? N'importe qui peut recalculer une somme de contrôle — c'est un simple calcul, public.
- Une signature répond à une tout autre question : ce contenu vient-il bien du constructeur ? Et là, il faut posséder un secret que seul le constructeur détient.
C'est la différence entre vérifier qu'une lettre n'a pas été déchirée, et vérifier qu'elle a bien été écrite par la bonne personne.
Le principe de la signature asymétrique
Le mécanisme repose sur une paire de clés :
- Une clé privée, gardée par le constructeur, qui sert à signer.
- Une clé publique, inscrite dans le calculateur, qui sert à vérifier.
Ce qui est signé avec la clé privée se vérifie avec la clé publique — mais on ne peut pas remonter de l'une à l'autre. Le calculateur peut donc contrôler l'authenticité d'un fichier sans jamais contenir de quoi en fabriquer un.
Concrètement : le constructeur calcule une empreinte du logiciel, la chiffre avec sa clé privée, et joint le résultat. Au démarrage, le calculateur recalcule l'empreinte, déchiffre la signature avec la clé publique qu'il possède, et compare. Si ça ne correspond pas, il refuse.
C'est ce qu'on appelle RSA — du nom de l'algorithme le plus employé pour cela.
Le secure boot
La signature ne sert à rien si on peut la court-circuiter. D'où le démarrage sécurisé : une chaîne de vérifications qui part d'un point de confiance immuable, gravé dans le silicium, et où chaque étape vérifie la suivante avant de lui passer la main.
Un maillon qui ne se vérifie pas fait s'arrêter toute la chaîne. Sur les architectures modernes, cette vérification s'appuie sur un module de sécurité matériel intégré au microcontrôleur, qui stocke les clés dans une zone que le reste du programme ne peut pas lire.
Ce que ça change en pratique
- Le checksum reste nécessaire, mais n'est plus suffisant. Sur un calculateur signé, un fichier au checksum parfait sera quand même rejeté s'il n'est pas authentifié.
- La couverture des outils devient une question de protocole, pas de calcul. Un exemplaire verrouillé ne s'ouvre pas par plus de puissance de calcul.
- C'est pourquoi certaines références restent inaccessibles un temps, puis deviennent traitables quand une voie est trouvée — souvent par une approche matérielle comme le boot glitch, qui ne casse pas la cryptographie mais contourne le moment où elle s'applique.
- C'est aussi pourquoi les tarifs et les délais diffèrent entre un calculateur ouvert et un calculateur verrouillé : ce n'est pas le même travail.
Ce qu'il faut retenir
La tendance est nette : depuis Euro 6, les constructeurs signent. Cela ne rend pas la reprogrammation impossible, mais cela déplace la difficulté de la modification vers l'accès. Le savoir-faire s'est déplacé.
Voir aussi MD1CS003 verrouillé, le boot glitch et le checksum.
Sur ANP Engineering — file service de reprogrammation moteur pour professionnels : file service ECU, correction de checksum, calculateurs pris en charge, tarifs.
