Contribuez à SecuObs en envoyant des bitcoins ou des dogecoins.
Nouveaux articles (fr): 1pwnthhW21zdnQ5WucjmnF3pk9puT5fDF
Amélioration du site: 1hckU85orcGCm8A9hk67391LCy4ECGJca

Contribute to SecuObs by sending bitcoins or dogecoins.



Mises à jour en perspective pour le système Vigik

Par Ludovic Blin, secuobs.com
Le 28/04/2014


Résumé : Une faille présente dans plusieurs systèmes d'authentification et de contrôle d'accès basés sur RSA a été détaillée lors de l'édition 2014 de la conférence Hackito Ergo Sum. Elle, laisse entrevoir une prochaine mise à jour de l'ensemble du parc Vigik, soit un million d'immeubles devant être patchés.



L'ingénieur en sécurité informatique Renaud Lifchitz, de la société de conseil française Oppida, à lors de la conférence Hackito Ergo Sum 2014 qui avait lieu à Paris du 24 au 26 avril, analysé une vulnérabilité commune des mécanismes d'authentification utilisés par de nombreux systèmes embarqués, basés sur l'algorithme RSA.

Ceux-ci offrent en effet l'opportunité de récupérer les clefs publiques RSA ayant permis de signer les badges autorisés. Pour cela, il faut au préalable déterminer quels algorithmes d'empreinte numérique (hash) et de remplissage (padding) sont utilisés et avoir deux messages signés. Il est ensuite possible de récupérer la clef publique ayant signé le message utilisé pour l'authentification (contenu dans le tag RFID ou pas).

A partir de là, il convient de tester la taille de la clef récupérée, ainsi que ses faiblesses éventuelles. La première de celle-ci est bien évidemment l'entropie du générateur de nombres aléatoires. Mais d'autres faiblesses existent, comme par exemple lorsque p et q sont trop proches ou que p-1, n-1, q+1 et/ou n+1 sont trop friables ("smooth"). Différents algorithmes peuvent alors être utilisés pour la factorisation. Et donc l'extraction des clefs permettant de signer les messages d'authentification.

Deux cas d'applications ont été présentés. Le premier concernait PGP, et permet, à partir de deux messages signés, de récupérer la clef publique utilisée.

Le second concernait le système de contrôle d'accès Vigik. Ce dernier, conçu par La Poste, est utilisé dans de nombreux bâtiments en France. Il utilise des badges sans contact (NFC) à la norme MIFARE, et permet d'autoriser et de révoquer l'accès des utilisateurs à un immeuble. Il dispose également de fonctionnalités permettant l'activation de badges de service, pour un temps limité à quelques jours. Il permet d'éviter l'utilisation de clefs "passepartout" qui sont souvent "perdues", et est déployé dans environ un million d'immeubles.

4 types de badge de service sont définis, ayant des autorisations variables. Notons que les badges "service universel" sont autorisés du lundi au samedi uniquement, contrairement aux autres. Ils doivent être chargé à l'avance par une machine spécifique dotée de la clef privée qui va bien.

Les badges MIFARE classic disposent par ailleurs d'une protection mal implémentée pour l'accès aux secteurs, dotée d'une clé A de 48 bits qu'il est possible de déchiffrer. Celle-ci est d'ailleurs le nom du système à l'envers (1KIGIV). La clé B est quant à elle variable en fonction du fabricant. Une fois ces deux clefs récupérées, il est possible d'analyser, de copier ou d'émuler n'importe quel badge d'authentification. Les clefs permettant de signer les badges de service sont de 1024 bits, ce qui est insuffisant.

Par ailleurs le système utilise une norme dépassée (ISO 9796-2), le rendant vulnérable à certaines attaques datant de 1999 (Coron, Naccache, Stern) ou plus récentes (Coron, Naccache, Tibouchi, Weinmann - ENS / Université du Luxembourg).

Enfin, la taille maximale de clef supportée par le système est de 1024 bits. (NDLR: aka "le bug qui valait un milliard")

La plupart des immeubles devront donc probablement être "patchés" dans les prochaines années, si ce n'est pas avant. En effet, une fois les clefs cassées, celles-ci peuvent être utilisées pour signer un nombre infini de nouveaux badges de service. Il est probable que le coût de l'intervention nécessaire soit compris entre 100 et 1000 euros (en cas de remplacement de platine), ce qui ferait une facture globale comprise entre 100 millions et 1 milliard d'euros.

Notons par ailleurs que des attaques "side channel" peuvent probablement permettre d'extraire les clefs des appareils de création de badges utilisés pour ce type d'application.

Pour se protéger contre cette attaque, il est possible d'utiliser un algorithme de remplissage non déterministe.

A common weakness in RSA signatures: extracting public keys from communications and embedded devices:
lien

Le système Vigik (wikipedia): lien

Practical Cryptanalysis of ISO 9796-2: lien