Nombreux sont les systèmes GPS dédiés aux voitures qui proposent des options payantes permettant d’accéder à des informations concernant le trafic, proposant des contournements, affichant des accidents, ralentissements, calculant le temps d’arrivée en fonction des bouchons ou des itinéraires bis...

Le RDS-TMC est un protocole qui bénéficie d’un chiffrement jusqu’ici inviolé, permettant de ce fait aux fabricants de GPS de vendre ces services sans qu’ils ne soient accessibles aux personnes non abonnées.

Ne disposant pas de voiture, mais étant très intéressée par les messages RDS-TMC, Oona Räisänen s’est penchée sur le chiffrement du système qui se base sur la norme ISO/DIS 14819-6.

Screenshot - 04.05.2013 - 15.55.27  

Elle a établi que les messages TMC étaient constitués d’une base de données de phrases et d’endroits. La base de données n’est pas secrète, et accessible gratuitement. La base statique est partiellement chiffrée au niveau de la localisation avec une clef renouvelée tous les jours. Chaque nuit, une nouvelle clef est choisie parmi les 31 alternatives prégénérées. La clef en elle-même n’est jamais transférée, mais seulement son ID ( de 1 à 31). Mais ces clefs sont préprogrammées dans tous les récepteurs TMC, et peuvent déchiffrer les points géographiques réceptionnés simplement en se voyant indiquer l’ID de la clef de chiffrage utilisée le jour de la réception de l’information.

rdstmc  

Finalement, Oona a établi que l’algorithme était très simple. Si simple que son fonctionnement a été résumé sur un simple post-it :

IMG_4044a  

Le plus compliqué reste que les clefs de chiffrement ne sont pas accessibles. Pour autant, elle aurait trouvé une parade, puisque pour économiser la bande passante, seuls les messages régionaux sont transmis au GPS, ce qui réduit considérablement le nombre de localisations en fournit davantage d’informations sur la clef de chiffrage.

pearl  Une fois le tri effectué avec les messages restés diffusés pendant plusieurs jours ( comme des travaux sur les autoroutes ou routes barrées), Oona a réussi à isoler des données fournies avec une clef unique, et à la déchiffrer.

Si le lendemain, la clef change à nouveau, le déchiffrement est beaucoup plus simple en se basant sur la clef de la veille.

Screenshot-1  Pour se faciliter la tâche et permettre d’afficher les informations sur une carte, Oona a créé un script en Perl. De nombreuses écoutes lui auraient ainsi permis de stocker l’ensemble des 31 clefs au fil des jours.

L’exploit a été réalisé par simple curiotisé et intérêt pour le RDS-TMC, Oona ne souhaitant pas forcément communiquer le fruit intégral de son travail afin de pirater des dispositifs GPS. Néanmoins, il s’agit là d’une base qui pourrait aider d’autres développeurs à rapidement proposer des patches à destination des boitiers des différents pays.

On pourrait également voir arriver quelques applications non légales s’inviter sur Google Play Store ou l’Appstore permettant de bénéficier de ces abonnements de façon gratuite dans les mois qui viennent.

Source : Absorptions