Ultime attaque contre le protocole GSM A5/1
Date : 08 Janvier 2010
Malmené depuis plus de vingt ans, le protocole GSM vient de subir l’ultime attaque de son algorithme de chiffrement version A5/1. Cette version, utilisée dans plus de 80% des mobiles du marché mondial (près de 3 milliards de téléphones), vient en effet d’être cassée.
Sans polémiquer sur le bien fondé ou non de la divulgation publique d’une telle faiblesse, et sans rentrer dans des détails techniques et complexes, ce protocole tant controversé suscite depuis longtemps de nombreuses convoitises de la part des pirates.
Un protocole malmené depuis plus de vingt ans !
Créés dans les années 80, les réseaux GSM se démocratisent dans les années 90. Les déploiements des réseaux prospèrent année après année dans différentes bandes de fréquences (GSM-850, GSM-1800, GSM-1900, etc.) aux quatre coins du monde. Aujourd’hui plus de 200 pays l’utilisent. A l’époque de ses débuts, la sécurité n’était pas à l’ordre du jour. Elle n’a été considérée qu’en 1987, le chiffrement était alors notamment considéré comme optionnel et même déclaré dans certaines recommandations à l’usage des « paranoïaques » :
“Enciphering is an option for the fairly paranoid, since the signal is already coded, interleaved, and transmitted in a TDMA manner…”
Persuadés des faiblesses du protocole, de nombreux experts parlaient déjà en 1985 d’exploitation de celles-ci.
Dès 1994, l’algorithme A5/1 est déclaré par certains experts comme peu fiable, mais aucune étude n’est rendue publique. En 1999, il est « rétro-analysé » par des techniques de reverse-engineering. Ensuite, de nombreuses études, rapports et initiatives diverses ont vu le jour pour percer les derniers secrets de cet algorithme.
En 2006, le département informatique de l’Institut de Technologie d’Haïfa en Israël, publiait déjà une étude très complète sur les attaques possibles des algorithmes de chiffrement du protocole GSM. Les attaques de l'algorithme A5/1 (déployé en Europe), mais également de son équivalent A5/2 (utilisé sur le territoire américain), décrit comme plus faible en termes de sécurité du fait de restriction d’exportation, y étaient notamment extrêmement détaillées. Leur successeur l’algorithme A5/3, basé sur un chiffrement par bloc plus évolué (KASUMI), y était aussi déjà abordé, bien que non déployé dans les réseaux.
En 2007 et 2008, d’autres initiatives tentent également de percer l’algorithme. C’est notamment le cas d’un groupe de hackers « The Hacker’s Choice », dont le travail non-divulgué publiquement, va inspirer Nohl.
Les initiatives de Karsten Nohl
Ce chercheur n’en est pas à sa première tentative de « reverse-engineering » cryptographique. En juillet 2008, il défie avec son homologue Jacobs Radboud, le géant de l’électronique « NXP Semiconductors » (anciennement Philips), devant la cour de justice hollandaise afin de rendre public ses travaux sur le cassage d’un algorithme utilisé dans les puces radios sans contact « Mifare Classic chip ». La cour les autorise finalement à publier leurs recherches.
Lors de la conférence « Hacking At Random » en août dernier aux Pays-Bas, le cryptologue allemand s’était donné pour challenge de casser en 6 mois l’algorithme GSM A5/1 (Cracking A5 GSM Encryption). Il a alors monté le projet open-source « A5/1 Cracking Project », basé sur des calculs distribués afin de casser l’algorithme de chiffrement des communications GSM.
Au-delà de l’aspect pédagogique (plus ou moins discutable) visant notamment selon l’auteur à « sensibiliser » les opérateurs télécoms aux faiblesses de ce protocole et à protéger les consommateurs, Nohl a réussi à démontrer par la pratique ce que les experts sécurité démontraient théoriquement 20 ans plus tôt.
La vulnérabilité du protocole
L’algorithme GSM A5/1 utilise une clé de chiffrement extrêmement faible (64 bits). La faible longueur de cette clé la rend vulnérable à des attaques aussi basiques que celle par « force brute » (dictionnaires, itérations, etc.). Cependant ces attaques sont couteuses en temps et en espace disque.
Nohl estime qu’il faudrait plus de 100 000 ans pour qu’un ordinateur vienne à bout de la clé sur un système sans parallélisation des tâches. En termes d’espace disque, il faudrait une capacité de stockage de 128 péta-octets (128 millions de Go) !
Afin d’augmenter les chances de casser la clé, Nohl a utilisé des techniques ingénieuses dont la distribution des calculs, mais il a su également exploiter des puissances de calculs « à porter de main » dans les magasins informatiques.
L’attaque de l’algorithme A5/1
L’attaque de l’algorithme A5/1 conduite par Nohl est une attaque passive, c'est-à-dire non intrusive (aucune injection de trames). Basée sur l’écoute des flux échangés, elle n’altère donc pas le réseau GSM ciblé, ce qui la rend d’autant plus furtive.La technique employée consiste à utiliser les capacités de calcul des cartes graphiques modernes. Leurs puissances de calcul permettent d’exécuter plusieurs millions d’opérations à la seconde. En répartissant les calculs à travers un maillage de plusieurs machines (une quarantaine de nœuds), il a été possible au chercheur de répartir la construction des tables (connues sous le nom de « rainbow tables »).
Les techniques mises en œuvre
Le cryptologue a en effet utilisé trois techniques :
- la construction de tables « rainbow »,
- les calculs distribués,
- la puissance de calcul des processeurs graphiques.
La technique des tables « rainbow » est une technique connue et utilisée en cryptanalyse afin de réduire les temps de calcul d’échantillons cryptés. En utilisant des calculs dits de « compromis temps-mémoire » (time-memory trade-off), elle permet à l’aide de tables précompilées, de limiter le nombre de collisions possibles lors des déchiffrements.
Pour la distribution des tâches de calcul, Nohl a développé des outils permettant de répartir la charge sur des ordinateurs (nœuds) connectés en réseau. Chaque ordinateur avait des tâches de calcul dédiées. Les résultats étaient ensuite compressés puis renvoyés vers un système centralisé qui au besoin pouvait redistribuer de nouvelles tâches nécessaires au cassage de la clé.
Afin de réduire les temps de calcul extrêmement chronophages, Nohl a utilisé les capacités qu’offrent les processeurs GPU (Graphics Processing Unit) des cartes graphiques modernes Nvidia ou ATI, celles supportant notamment la technologie CUDA (Compute Unified Device Architecture). Cette technologie permet de programmer ces cartes graphiques surpuissantes afin de leur dédier des calculs habituellement à la charge du processeur central des ordinateurs.
Au final, il n’aurait fallu « qu’un » système de capture des trames IMSI (International Mobile Subscriber Identity), monté à l’aide de quelques logiciels open-source (OpenBTS, Asterix, wireshark, airprobe, etc.) et de quelques composants matériels achetés dans le commerce, « qu’une » quarantaine d’ordinateurs pour le décodage des communications, et seulement quatre mois pour arriver à casser la clé GSM A5/1. Il en prévoyait initialement 6.
Où est la nouveauté ?
Nohl déclare lui-même, que le déchiffrement du protocole GSM A5/1 n’est pas une nouveauté. De nombreux papiers sur le sujet en ont démontré la théorie. De plus, comme il le rappelle, divers outils commerciaux utilisés par les organismes gouvernementaux existent déjà. Par contre, leur mise en œuvre et leur coût (plusieurs centaines de milliers d’euros) ne les mettent pas à la portée des premiers venus, d’autant que leur utilisation en est réglementée.
La nouveauté ici réside principalement dans les points
suivants :
- le
matériel nécessaire n’est pas aussi onéreux que cela,
- les équipements utilisés sont de simples PC,
- un effort collaboratif peut permettre une telle tentative.
Faut-il s’inquiéter ?
La GSMA (GSM Association), regroupant les acteurs du monde GSM, dénonce bien évidemment cette divulgation non-responsable, et ajoute que le protocole GSM utilise d’autres mécanismes complexes pour se protéger. La tâche de déchiffrement dans des conditions réelles est plus difficile que ce que démontre le cryptologue. Reconnaissant cependant dans son communiqué du 30 décembre 2009, l’existence de nombreuses autres initiatives de déchiffrement des algorithmes GSM, la GSMA souligne que celles-ci sont toujours restées vaines jusqu’à maintenant. Même si l’algorithme A5/1 a été craqué, l’exploitation de cette faiblesse est rendue difficile par divers facteurs inhérents aux réseaux des opérateurs GSM.
Pour certains opérateurs, les usagers ne craignent rien. Selon eux, la faiblesse du protocole ne réside pas dans la robustesse de la clé de chiffrement mais plutôt dans la méthode de changement des canaux de transmission. En outre, d’autres difficultés peuvent apparaître, notamment dans la capacité à isoler le signal radio. Difficultés que Nohl n’a probablement pas rencontrées dans son « laboratoire » avec le réseau GSM de tests qu’il s’était monté. La mise en œuvre des équipements nécessaires serait donc loin d’être à la portée de tout le monde. Selon Nohl, c’est sous-estimé les capacités de l’Internet, du monde open-source, et du fait qu’il est maintenant possible de monter des configurations puissantes à faible coût.
Au-delà de ces déclarations, il ne faut pas sous-estimer la prouesse technique du chercheur allemand. Toujours dans ce même communiqué visant à minimiser la découverte de Nohl, la GSMA rappelle qu’écouter les fréquences radio est un délit dans un très grand nombre de pays. Il serait cependant illusoire de croire que cela confère une quelconque protection aux usagers du GSM. En effet, il est évident que cette divulgation va avoir de sérieuses répercutions et que cette médiatisation va susciter l’intérêt de groupes malveillants qui vont s’empresser de s’emparer de ces travaux.
Pour rassurer le monde du GSM, la GSMA rappelle qu’elle n’a cessé d’améliorer les mécanismes de protection des communications GSM. L’implémentation de l’algorithme A5/3, qui utilise une clé de chiffrement de 128 bits, est notamment une réponse à ce besoin sans cesse croissant de protection de la vie privée. Soulignant l’allègement des lois sur l’export des moyens cryptographiques dans de nombreux pays, la GSMA met en avant cette version du protocole encore très peu implémentée. Notons cependant que ce dernier fait également l’objet des mêmes concours de déchiffrement que son petit frère A5/1 qu’il veut remplacer.
Conclusion
Pour finir et au delà de ce cas d’école et de la prouesse technique ici réalisée, il est évident que les évolutions technologiques telles que celles des microprocesseurs (graphiques ou autres), et leur banalisation en termes de commercialisation (le prix des PC a été divisé par 5 en quelques années), permettent de réduire plus vite que prévu les limites de certains acquis sécuritaires.
Le monde de la sécurité et des technologies peuvent-ils se résumer à une course perpétuelle ? Les « protections » tombent un jour, il faut donc se renouveler. Le cassage de cet algorithme, prédit depuis des années, est ici rendu possible par l’ingéniosité et par des moyens que l’on n’imaginait pas il y a 20 ans. D’autres barrières tomberont bien vite du fait de ces avancées. Jusqu’à quand l’algorithme AES va-t-il résister ?