Un contrôle d’accès sécurisé de bout en bout
Trouver le maillon faible
Un système de contrôle d’accès est une chaîne composée de différents maillons : le badge d’accès, le lecteur, la centrale de contrôle d’accès, l’organe d’ouverture qui contrôle physiquement la porte, le terminal d’encodage, l’application de gestion des droits, etc…
Dans cette chaîne, le badge d’accès a longtemps été le maillon faible. Une carte lambda dont on ne lit que l’UID, une carte MIFARE Classic® à la sécurité depuis longtemps compromise, constituent des failles béantes qui rendent le bâtiment extrêmement vulnérable. Mais dès que le badge est constitué par une carte à puce sans contact moderne, dont le niveau de sécurité intrinsèque est prouvé par une certification (EAL 4+ voire EAL 5), aucun “hacker” ne perdra son temps à se casser les dents sur la carte, alors qu’il peut aller chercher un maillon plus faible dans le système.
Cacher la clé
Dans un schéma classique, pour s’assurer de l’authenticité d’une carte, le lecteur doit effectuer avec elle une authentification cryptographique. Pour des raisons de vitesse de transaction et de coût des cartes, l’authentification utilise généralement un algorithme symétrique. Ce qui signifie que le lecteur et la carte connaissent la même clé secrète. Arracher un lecteur, le disséquer jusqu’à y trouver la clé secrète, c’est obtenir la possibilité de créer autant de vraies-fausses cartes que l’on souhaite.
Pour contrecarrer cette attaque, il faudrait que dans chaque lecteur, la ou les clés soient stockées dans un composant électronique sécurisé qui doit être lui-même certifié EAL 4+ ou plus. Un tel composant sécurisé peut prendre l’apparence d’une carte à puce découpée au format SIM, nommée SAM (Secure Access Module), ou d’une puce directement soudée sur la carte électronique du produit, qu’on appelle alors SE (Secure Element). Cependant, cette approche représente un surcoût important au niveau de chaque lecteur.
Fais confiance, mais prends garde à qui !
S’il devient impossible de retrouver les clés secrètes dans un lecteur disposant d’un SAM ou d’un SE, le maillon faible n’est plus côté communication carte/lecteur mais côté lecteur/centrale. Après tout, une fois le lecteur arraché du mur, notre hacker n’aura pas de difficulté à le remplacer par un faux lecteur qui pourra injecter des numéros de badge tout à fait valides sur une liaison DataClock, Wiegand, ou même sur une liaison RS485 non sécurisée. A l’autre bout du fil, la centrale pense que le numéro reçu correspond au passage d’un badge authentique -puisque le lecteur est réputé sûr!- alors qu’il ne s’agit que d’une simulation ou du rejeu d’une communication précédente.
Plutôt que de sécuriser chaque maillon, diminuons leur nombre
Chercher à sécuriser chaque maillon d’une chaîne complexe représente un coût au niveau de chaque maillon et augmente terriblement la complexité d’administration et d’exploitation du site. Aussi, en application du principe KISS (Keep It Simple & Stupid), il est bien plus judicieux de ne rien sécuriser du tout - sauf les deux extrémités de la chaîne. Les maillons intermédiaires deviennent alors des intermédiaires passifs, “transparents”, dont le niveau de sécurité propre n’a plus aucun intérêt, puisqu’ils ne sont que traversés par un flux sécurisé de bout en bout.
Concrètement, il s’agit de remplacer le “lecteur” (c’est-à-dire un équipement chargé d’obtenir une donnée) par un “coupleur” au sens carte à puce du terme: un objet électronique, sans applicatif propre, qui constitue simplement une passerelle entre une carte sans contact et une application s’exécutant sur le système hôte. En l’occurrence, le système hôte sera la centrale de contrôle d’accès, qui peut être placée physiquement très loin de la porte à contrôler, dans une armoire technique située en zone sécurisée.
La solution SpringCard : le FunkyGate PC/SC
Par un simple changement de firmware, les lecteurs muraux FunkyGate peuvent être transformés en coupleurs PC/SC. Ils sont connectés à la centrale de contrôle d’accès en Ethernet (protocole TCP/IP) ou par bus RS-485 dédié. Ils peuvent être mis en oeuvre à travers un driver PC/SC standard, disponible sous Linux et Windows, ou dans une implémentation plus bas niveau, basée sur la norme CCID. Cette option permet d’atteindre plus de performances ou de s’affranchir des limitations des OS.
Le coupleur sur Ethernet FunkyGate-IP PC/SC dispose également d’une version FunkyGate-IP+POE PC/SC alimentée par le réseau (technologie Power Over Ethernet) qui diminue les coûts de l’installation.
Comment mettre en oeuvre un système sécurisé de bout en bout ?
Une fois le coupleur installé à la porte, la centrale de contrôle d’accès placée en zone sécurisée, et la liaison assurée entre les deux, il reste à faire l’essentiel au niveau applicatif: embarquer dans la centrale le fonctionnel d’authentification du badge et de lecture sécurisée de son identifiant. Il est également judicieux de faire évoluer la plateforme matérielle pour ajouter un SAM ou un SE afin de stocker les clés - une solution bien moins onéreuse que celle incluant un SAM ou un SE par lecteur, puisqu’une seule centrale contrôle plusieurs portes !
Les ingénieurs de SpringCard sont experts de la mise en oeuvre des cartes à puces et dans l’écriture d’applications robustes pour en exploiter au mieux les fonctionnalités de sécurité. N’hésitez pas à faire appel à eux pour concevoir votre architecture de sécurité ou pour en assurer la mise en oeuvre dans vos centrales.
Publié le 14/03/2017
Laisser un commentaire