L’attestation n’est pas un contrôle ponctuel : comment Acurast vérifie ses Processors

Acurast fonctionne grâce à des centaines de milliers de smartphones du quotidien, appelés Processors, et le seul moyen de s’assurer qu’il s’agit bien de vrais téléphones non altérés est de s’appuyer sur les contrôles d’attestation de Google et d’Apple. Voici comment ce mécanisme protège le réseau et toutes les personnes qui y contribuent.
Pourquoi l’attestation est au cœur d’Acurast
Acurast fonctionne sur des smartphones ordinaires appartenant à des personnes du monde entier ; il lui faut donc un moyen de faire confiance à un téléphone sans faire confiance à la personne qui le détient. C’est précisément le rôle de l’attestation.
Tout comme votre téléphone prouve son authenticité à votre application bancaire ou à Apple Pay et Google Pay, une puce de sécurité scellée à l’intérieur du téléphone signe une déclaration, adossée à Key Attestation de Google sur Android et à App Attest d’Apple sur iPhone, qui confirme que le téléphone est authentique, que le système d’exploitation n’a pas été modifié et que le téléphone n’est ni rooté ni jailbreaké (déverrouillé pour contourner la sécurité du fabricant).
Acurast vérifie cette déclaration avant qu’un téléphone puisse exécuter le moindre déploiement (un morceau de code qu’un développeur envoie au réseau pour qu’il l’exécute). Comme la preuve provient d’un matériel que même le propriétaire ne peut pas ouvrir, les données d’un développeur restent privées, il est possible de démontrer que les résultats proviennent exactement du code déployé, et personne n’a besoin de croire qui que ce soit sur parole.
Quand les attestations ne sont plus fiables
L’attestation n’est pas un tampon apposé une fois pour toutes, car les clés sur lesquelles elle repose peuvent tomber entre de mauvaises mains.
Il arrive que les clés de signature d’un fabricant fuitent, ou qu’une faille dans une puce ou un firmware permette d’extraire une clé d’un vrai téléphone. Avec une telle clé, un acteur malveillant peut produire, depuis un serveur ou un émulateur (un logiciel qui se fait passer pour un téléphone), des attestations qui semblent provenir exactement d’un téléphone authentique, et peut même copier l’identité d’un téléphone sur des centaines de téléphones virtuels.
Lorsque Google ou Apple a connaissance d’une fuite, les clés concernées sont révoquées. Le problème, c’est qu’une attestation révoquée paraît toujours parfaitement valide sur le papier : elle n’échoue que si la personne qui la vérifie consulte aussi les listes de révocation. Les fraudeurs comptent sur les réseaux qui ne vérifient pas les révocations. Ils utilisent des clés divulguées pour se faire passer pour des téléphones légitimes, même lorsqu’ils ne font tourner qu’un émulateur ou, pire, un script qui ne fait rien d’autre qu’émettre des heartbeats, ces signaux de présence réguliers qu’un téléphone envoie pour montrer qu’il est en ligne.
Acurast continue donc de vérifier : le protocole est régulièrement audité par des sociétés de sécurité indépendantes, et l’équipe surveille en continu l’activité on-chain. Acurast a récemment renforcé la manière dont le réseau identifie les attestations falsifiées.
Dans le cadre de cette validation continue, les téléphones dont l’attestation est révoquée sont retirés en permanence de l’ensemble des Processors. Ils ne peuvent plus réclamer de récompenses et ne reçoivent plus aucun déploiement.
Si votre téléphone authentique est concerné
Les révocations sont un instrument peu précis et, dans de rares cas, elles touchent aussi des téléphones légitimes.
Les téléphones plus anciens ont reçu leurs clés d’attestation en usine, et une même clé est souvent partagée par tout un lot ou tout un modèle. Si cette clé fuite ou si une faille est découverte sur ce modèle, Google la révoque pour tous ceux qui la possèdent, y compris les propriétaires honnêtes qui n’ont rien fait de mal. Google reconnaît d’ailleurs que cela peut avoir un impact important sur les utilisateurs concernés, et c’est pourquoi Android passe à des clés de courte durée, propres à chaque téléphone, renouvelées automatiquement au lieu d’être révoquées en masse.
Pour être franc : Acurast ne peut pas passer outre une révocation.
Accepter une clé révoquée pour un téléphone authentique reviendrait à l’accepter aussi pour les falsifications. Si votre vrai téléphone ne reçoit plus de déploiements, il n’y a malheureusement pas grand-chose à faire face à une clé révoquée. Les téléphones qui utilisent Remote Key Provisioning, le mécanisme plus récent de Google (chaque téléphone reçoit ses propres clés de courte durée via Internet plutôt qu’en usine), ne sont pas touchés par les fuites de clés d’usine, mais l’utilisation de ce mécanisme dépend du fabricant et du modèle, et pas seulement de la version d’Android.
Si l’Acurast Hub (le tableau de bord web qui permet de gérer les téléphones) affiche donc « Revoked » (révoquée) pour l’attestation de l’un de vos téléphones légitimes, réinitialisez-le, assurez-vous qu’il est entièrement à jour avec la dernière version officielle du fabricant, vérifiez qu’il n’est pas rooté et que son bootloader (le logiciel de démarrage qui charge Android) est verrouillé, puis intégrez-le à nouveau.
Cela peut fonctionner, mais il se peut aussi que vous n’ayez pas de chance : le téléphone reste alors bloqué avec une clé révoquée. Dans ce cas, Acurast ne peut malheureusement rien faire.


