La clé du décodage du code de l'enclave sécurisée du TouchID aurait été rendue publique
Pendant longtemps Apple a protégé le noyau d'iOS en le codant. Il était décodé à la volée lors du démarrage de l'appareil. Cela permettait d'éviter aux hackers d'aller fouiller dedans mais provoquait aussi des critiques car on ne savait pas exactement ce qu'il contenait. Apple y a mis fin dès les premières beta d'iOS 10 et ce noyau n'est maintenant plus codé.
Il en va autrement de l'enclave sécurisée destinée à gérer le TouchID. Il s'agit d'une petite portion matérielle contenant le code destiné à comparer la base des empreintes enregistrées avec celle présentée au capteur. C'est donc un élément crucial de sécurité et la raison pour laquelle on parle d'enclave. Ce système n'est pas accessible directement via le reste de l'appareil, ce qui évite qu'il soit piraté. Pour faire court, il ne fait qu'annoncer au reste de la machine que le code est bon, ou pas. C'est le même système qui a été adopté dans les derniers ordinateurs portables d'Apple et la raison pour laquelle il y a dedans une petite puce ARM gérant ce TouchID (et la Touch Bar).
Un hacker se faisant appeler Xerub a posté sur GitHub ce qui serait la clé de décodage du microcode de cette enclave sécurisée. Interrogé par TechRepublic il affirme l'avoir fait non pas pour que l'on puisse pirater quoi que ce soit, mais afin que l'on puisse savoir ce que contient cette véritable boite noire installée dans l'iPhone.
Cette clé ne permet que de décoder le microcode de l'enclave mais malgré son nom ne compromet en aucun cas sa sécurité à court terme. Elle pourrait en revanche être utilisée pour que ce code soit inspecté à la loupe afin de savoir s'il contient des failles de sécurité permettant de compromettre le processus d'identification.
Interrogée, Apple n'a pas nié que cette clé soit la bonne. La société a en revanche indiqué que ce chiffrement du code n'était qu'une petite partie des sécurités mises en place pour protéger cette enclave. Elle ne compte d'ailleurs pas proposer de mise à jour pour changer la clé de chiffrement.
On peut le comprendre, le mal est déjà fait et il faudrait du temps pour modifier assez radicalement le fonctionnement de ce code afin de rendre la connaissance du précédent inutile pour progresser dans les recherches de failles.