Interstices


  Débattre

La sécurité des systèmes informatiques ubiquitaires

L'informatique ubiquitaire, c'est l'informatique omniprésente dans les moindres faits et gestes de tous les jours. Comment en garantir la sécurité ?

systemes-ubiquitaires650

© apops

 

Pour le contrôle d'accès dans les transports publics ou dans les bâtiments, les cartes de paiement, les clefs électroniques de voiture, les télécommandes de garage, les appareils médicaux implantés, les passeports électroniques, les permis de conduire de dernière génération, l'identification des animaux domestiques par puce électronique... il est devenu aujourd'hui difficile, si ce n'est impossible, de passer une seule journée sans recourir à l'informatique ubiquitaire.

rfid-tags

Ensemble de dispositifs sans contact utilisés dans le domaine médical.
Photo : InSiteful13 [GFDL ou CC BY-SA 3.0], via Wikimedia Commons.

L'informatique ubiquitaire, qu'est-ce que c'est ?

Les avancées technologiques dans le domaine de l'information et des communications ont sans aucun doute modifié le paysage de l'informatique. Aujourd'hui, les systèmes informatiques ne sont plus seulement constitués d'ordinateurs connectés à des serveurs, ils intègrent également une grande variété de dispositifs embarqués. Cette nouvelle vision, où le traitement de l'information est intégré aux objets, vient de la rencontre entre l'informatique traditionnelle et l'électronique, et conduit au concept de systèmes informatiques ubiquitaires.

Si l'informatique ubiquitaire est un concept récent, l'informatique embarquée — c'est-à-dire l'informatique logicielle ou matérielle se trouvant dans des équipements physiques — a quant à elle fait ses premiers pas au milieu du siècle dernier. Les premiers systèmes industriels utilisant des composants informatiques embarqués remontent aux années 1960, mais les premières applications commerciales pour le grand public ne démarrent que dans les années 1980.

L'informatique embarquée a débuté avec des systèmes de contrôle d'accès basiques, pour arriver aujourd'hui à des voitures qui possèdent parfois une centaine d'unités de commande électroniques, pour l'anti-patinage des roues, l'anti-blocage des freins, la correction d'assiette en virage, etc. L'informatique embarquée est alors devenue ubiquitaire et, réciproquement, l'informatique ubiquitaire repose principalement — mais pas seulement — sur des composants embarqués.

Quel est le contenu d'un dispositif ubiquitaire ?

 Chacun s'est certainement déjà interrogé sur ce que pouvait contenir tel ou tel dispositif embarqué, par exemple la puce électronique de son chien ou son badge pour accéder à la cantine. Lire le contenu d'un tel dispositif n'est pas très difficile. Pour certains d'entre eux, c'est même aussi facile que de lire une clef USB, pour autant que l'on dispose du lecteur approprié. Par exemple, de nombreux dispositifs sans contact n'ont pas besoin d'un lecteur spécifique dédié, mais peuvent être lus avec un téléphone multi-fonction. Il suffit qu'il soit compatible avec le standard NFC (Near Field Communication), ce qui est le cas notamment des Nexus Android et iPhone (depuis la version 6). Il est alors tentant de regarder de plus près ce que contiennent ces dispositifs.

Les cartes de paiement de type EMV (Europay, Mastercard, Visa) sont communément utilisées en France pour effectuer des achats ou retirer de l'argent dans les distributeurs bancaires. Lire le contenu de la carte révèle qu'elle conserve en mémoire les dernières transactions, notamment les montants, dates d'achat et identifiants des commerçants. Selon les modèles de cartes, ces informations sont accessibles en nécessitant ou non la saisie du code personnel.

Les cartes de transport public ne sont pas en reste. Les systèmes de billetique des sociétés de transport en commun sont en pleine mutation depuis quelques années. Ils reposaient sur des tickets imprimés ou à piste magnétique, mais la tendance actuelle vise à les remplacer par des cartes électroniques sans contact : il suffit de passer la carte à proximité du lecteur pour valider. La majorité des cartes stockent des informations sur leurs porteurs et généralement sur les trois derniers voyages réalisés : date et heure, lieu, numéro de bus, ligne, arrêt… Il est dès lors possible pour chacun de connaître les derniers déplacements du détenteur de la carte en ayant accès à celle-ci.

Validateur Navigo présent dans les bus et tramway parisiens

Validateur Navigo présent dans les bus et tramways parisiens.
Photo : Greenski [CC BY-SA 3.0 ou GFDL], via Wikimedia Commons.

 

Ainsi, à Boston, la compagnie de transports publics du Massachusetts, la MBTA, enregistre les passages dans les portillons des voyageurs munis de la carte de transport, la Charlie Card. Lorsque cette carte est rechargée avec une carte de crédit, alors son numéro est associé au numéro de la carte de crédit dans les fichiers de la MBTA. Enfin, les stations de métro de Boston possèdent de nombreuses caméras de surveillance. Dès les premiers mois de mise en service du système en 2006, en associant ces trois éléments, MBTA et la police ont été en mesure d’arrêter plusieurs dizaines de malfaiteurs, alors qu'ils avaient acheté une Charlie Card avec une carte de crédit volée.

À Bruxelles, la carte de transport public, la Mobib, permet elle aussi de lutter contre la délinquance, mais d'une autre forme cette fois. En 2010, la société de transport bruxelloise STIB a mis en place un contrôle d'accès pour l'utilisation des toilettes dans les stations, expérimenté avant tout sur les employés. Selon les propos de Françoise Ledune, porte-parole de la STIB, rapportés par de nombreux médias, l'objectif est de « créer un meilleur contrôle social sur les utilisateurs (…) et cela doit augmenter la propreté dans les toilettes, en responsabilisant l'utilisateur, qui courra toujours le risque d'être retrouvé après une incivilité ».

Plus sérieusement, la majorité des véhicules récents possèdent un système électronique d'anti-démarrage. Le dispositif est alors intégré dans la clef de la voiture et communique avec un lecteur situé dans le tableau de bord. Parfois même, la clef est remplacée par une carte ou un dispositif sans contact. Sur les véhicules haut de gamme, le dispositif enregistre des données sur la voiture, par exemple l'heure de son démarrage, mais aussi la position des sièges et des rétroviseurs afin de personnaliser l'habitacle. De telles informations morphologiques apportent un confort au conducteur mais peuvent également être utilisées dans le cadre d'instructions judiciaires.

Ces quelques exemples de solutions informatiques ubiquitaires montrent que les dispositifs que l'on porte tous les jours en connaissent beaucoup plus sur nous que n'en savent nos propres ordinateurs ou même nos téléphones portables. En effet, les dispositifs ubiquitaires stockent des informations ou réalisent des opérations pour les utilisateurs.

Pourquoi a-t-on besoin de sécurité ?

 

Confidentialité

Source photo : Pixabay.

 

La sécurité, tout le monde sait ce que c'est. La sécurité, c'est mettre une serrure à la porte de sa maison pour empêcher l'accès aux cambrioleurs, mettre un antivol à son vélo pour décourager les voleurs sportifs, ou encore ne pas divulguer le code personnel de sa carte bancaire. La situation est similaire dans le monde numérique. De manière simplifiée, on peut dire que la sécurité informatique se compose de deux concepts majeurs : l'authentification et la confidentialité.

En revenant aux exemples précédemment mentionnés, assurer la sécurité d'une carte de paiement ou de transport, c'est faire en sorte qu'un fraudeur ne puisse ni fabriquer une fausse carte (authentification), ni avoir accès aux données à caractère personnel des usagers (confidentialité). Dans le cas du système de démarrage d'une voiture, cela correspond à assurer que personne ne puisse démarrer la voiture sans la clef et que personne ne puisse obtenir des informations sur le conducteur à son insu.

En quoi la sécurité des systèmes informatiques ubiquitaires est-elle spécifique ? Quatre caractéristiques majeures des systèmes ubiquitaires ont un impact sur leur sécurité.

  1. Tout d'abord, ils possèdent peu de ressources en terme de capacités de mémoire, de calcul et de communication, ce qui rend difficile l'intégration dans ces dispositifs de mécanismes offrant une sécurité satisfaisante.
  2. Ensuite, ils reposent principalement sur du matériel et du logiciel embarqué, ce qui engendre de longs cycles de vie, rendant difficile la mise à jour des composants.
  3. Ils collectent souvent des informations sur les pratiques des usagers, ce qui soulève le problème de la protection des données à caractère personnel.
  4. Enfin, ils communiquent souvent sans contact avec le dispositif de lecture.

Quel est le niveau de sécurité des systèmes ubiquitaires actuels ?

Ce n'est que récemment que les chercheurs se sont intéressés à la sécurité des systèmes ubiquitaires. De sévères failles dans plusieurs dispositifs largement répandus ont pourtant déjà été mis au jour, qu'il s'agisse de systèmes de démarrage de voitures, de cartes d'accès ou de paiement.

Par exemple, le Digital Signature Transponder de Texas Instruments, vendu à plus d'une centaine de millions d'exemplaires pour des systèmes de démarrage de voitures et de paiement, a été attaqué avec succès en 2005. La carte Mifare Classic, vendue à plusieurs centaines de millions d'exemplaires, a été totalement « cassée » par plusieurs équipes de chercheurs en 2008. Cette carte très répandue est notamment utilisée pour du contrôle d'accès, du transport public et du micropaiement. Des failles très critiques ont également été mises au jour en 2006 dans le système Keeloq de démarrage de voitures, utilisé entre autres par des constructeurs américains, anglais, allemands et japonais. Des faiblesses ont aussi été démontrées dans les dispositifs iClass et Hitag2, utilisés notamment pour le contrôle d'accès aux bâtiments. Cette énumération est très inquiétante, d'autant que des applications qui réclament de la haute sécurité sont également touchées par ces problèmes. Par exemple, une faille très sérieuse a été découverte dans le générateur de nombres pseudo-aléatoires de la carte d'identité taïwanaise. Enfin, dans le domaine médical, ce sont les appareils médicaux implantés, défibrillateurs, pompes à insuline et stimulateurs cardiaques qui sont montrés du doigt en raison de leur faible niveau de sécurité.

Il est alors légitime de se demander à qui revient la faute. Probablement, à tout le monde. Aux consommateurs, qui ne sont pas assez exigeants et privilégient parfois les aspects fonctionnels et ludiques plutôt que la sécurité. Aux techniciens et ingénieurs, qui conçoivent et développent des systèmes ubiquitaires sans exploiter pleinement les connaissances disponibles dans la littérature scientifique. Aux décideurs qui, focalisés sur les soucis économiques légitimes, préfèrent réduire le temps de mise sur le marché d'un produit plutôt que d'en étudier la sécurité en profondeur. Aux chercheurs enfin, qui ne font pas toujours l'effort de mettre le résultat de leur travail à la portée des autres acteurs, et qui intègrent trop peu souvent les contraintes opérationnelles à leur recherche.

L'informatique ubiquitaire souffre ainsi de sa jeunesse, mais on peut s'attendre à voir la situation s'améliorer dans un horizon de 10 à 15 ans. Il est aujourd'hui très rare de voir un système de contrôle d'accès qui soit sûr. La situation devrait s'inverser dans les années à venir. Il reste toutefois des attaques pour lesquelles il n'existe pas de réponse aujourd'hui. C'est le cas, par exemple, des attaques par relais, qui méritent des explications plus détaillées.

Qu'est-ce que l'attaque par relais ?

 

Attaque par relais.

Image : Martial Régereau [CC BY-SA 3.0], via Wikimedia Commons.

 

L'attaque par relais, introduite par Yvo Desmedt, Claude Goutier et Samy Bengio dans un article scientifique de 1987, permet de déjouer n'importe quel protocole d'authentification, en relayant la communication entre les parties impliquées. Dans le domaine de l'informatique ubiquitaire, un protocole d'authentification est par exemple le protocole exécuté entre une voiture (on parle alors de « vérifieur ») et sa clef (on parle ici de « prouveur ») pour autoriser le démarrage. À l'aide d'un protocole cryptographique, la clef doit prouver qu'elle connaît un secret commun avec la voiture, sans pour autant révéler ce secret : la voiture envoie un défi (un nombre aléatoire) à la clef. Cette dernière y répond en appliquant à ce défi une fonction qui prend en paramètre le secret commun. La fonction est telle qu'il est impossible de calculer le résultat correct sans connaître le secret. L'objectif de l'attaque par relais est ici de faire croire à la voiture que sa clef se situe dans son voisinage alors qu'en vérité le conducteur et la clef sont ailleurs, par exemple dans le train. Cette attaque ne peut fonctionner effectivement que si la clef du conducteur répond sans l'intervention de ce dernier, c'est-à-dire qu'il n'a pas besoin d'appuyer sur un bouton par exemple. C'est le cas avec certains systèmes de démarrage, mais c'est aussi le cas notamment avec les cartes bancaires sans contact ou les cartes de contrôle d'accès.

L'attaque par relais vient d'une attaque proposée initialement en 1976 par John Conway pour tricher au jeu d'échecs. Conway a en effet montré qu'il est possible à une petite fille — Anne-Louise — de gagner par correspondance contre un grand-maître d'échecs — Bobby Fischer ou Boris Spassky — même si elle ne sait pas jouer à ce jeu ! Il suffit pour cela qu'elle joue simultanément avec les deux grand-maîtres, qui jouent sans le savoir l'un contre l'autre. Elle se contente alors de relayer les coups, en étant certaine à la fin de gagner contre un grand-maître, ou de faire « nul » contre les deux. Cette attaque est illustrée dans une vidéo par un illusionniste, Derren Brown, qui met au défi simultanément neuf joueurs d'échecs parmi les meilleurs mondiaux. Moins glorieux, cette attaque a déjà été mise en pratique, notamment lors des olympiades d'échecs à Khanty-Mansiïsk à l'automne 2010 par des membres de l'équipe nationale olympique française.

Pourquoi est-il difficile de trouver une solution à l'attaque par relais ?

L'attaque par relais a été implémentée avec succès dans le cadre des systèmes ubiquitaires en 2005 par Gerhard Hancke. Aujourd'hui, il existe des programmes informatiques qui permettent de mettre en œuvre cette attaque très facilement. Il est possible d'acheter du matériel sur Internet pour exécuter cette attaque sur des voitures ou tout simplement en utilisant des téléphones compatibles avec la technologie NFC. Il faut alors que l'attaquant se situe à côté de la voiture et qu'un complice se trouve quant à lui à proximité du détenteur de la clef victime de l'attaque. Le domaine a vu se développer en parallèle des protocoles d'authentification avec contrôle de proximité : ces protocoles évaluent la distance entre le vérifieur légitime et le prouveur légitime, en mesurant le temps écoulé entre l'envoi d'un message par le vérifieur et le retour de la réponse par le prouveur. Il faut toutefois pour cela être capable de mesurer des temps de réponse extrêmement brefs, car le temps de propagation du signal entre le prouveur et le vérifieur s'évalue en nanosecondes alors que le temps d'exécution d'une fonction cryptographique s'évalue en microsecondes. Cela implique que les fonctions cryptographiques soient calculées avant le démarrage du protocole et que les accès à la mémoire soient extrêmement limités pendant le protocole pour éviter d'introduire des temps de latence qui fausseraient la mesure du temps.

Si les protocoles d'authentification avec contrôle de proximité fonctionnent relativement bien aujourd'hui sur le papier, il reste un long chemin à parcourir avant de les voir utilisés dans des applications réelles. Comme de nombreux travaux en sécurité, les recherches sur les protocoles d'authentification avec contrôle de proximité se trouvent à la croisée des chemins entre informaticiens, électroniciens et mathématiciens, chacun apportant ses connaissances et compétences à un problème complexe qui ne peut être résolu que conjointement.

Pour en savoir plus, les articles scientifiques nous ayant servi de sources.