[How-to] Obtenir le passe-partout d'un système de serrures hiérarchisées Auteur : MrJack Zine : Rafale #8 Ou comment augmenter ses droits d'accès ... Contexte : Dans le monde entier, les serrures à goupilles sont utilisées. Généralement, une serrure ne peut être ouverte que par sa propre clé (ou une copie) mais il est également fréquent dans les entreprises, collectivités ou autres d’avoir des serrures ayant chacune leur clé, mais pouvant aussi être ouvertes par un « passe-partout » (c’est le cas des serrures de boîtes-aux-lettres, ou dans les écoles, hôtels…). Il existe également des organigrammes, encore plus complexes, avec des clés uniques, des passes partiels et des passes généraux (une clé n’ouvrant qu’une chambre, une clé ouvrant toutes les chambres d’un étage mais que celles-ci, une clé ouvrant toutes les chambres de tout l’immeuble) illustré par un joli dessin de moi : But : Le but de cet article est de démontrer et d’expliquer la possibilité pour quelqu’un possédant légitimement la clé unique d’une des serrures de fabriquer une master key (passe-partout) ; ceci sans connaissances ni matériels particuliers, et sans difficultés ; pour montrer le danger et la vulnérabilité de ce genre de système. En bref, comment ça marche : Imaginez une serrure dont la combinaison est 1111 ET 3333, une clé taillée en 1111 pourra l’ouvrir, ainsi qu’une clé taillée en 3333. Maintenant, imaginez une serrure taillée en 2222 ET 3333, une clé taillée en 2222 pourra l’ouvrir, ainsi que la clé taillée en 3333. Cette clé est donc un passe qui permettra d’ouvrir plusieurs serrures, alors que les clés uniques n’ouvrent que leurs serrures respectives. C’est ce que l’on voit ici : (image tirée du MIT guide) et plus largement ici : (image tirée du MasteredKeys guide) Concrètement : Vous travaillez dans un bureau et vous ne pouvez ouvrir avec votre clé que votre bureau, mais vous savez qu’il existe un passe (pour le patron, la femme de ménage) ouvrant toutes les serrures. Introduction : Il existe 2 types de d’organigrammes : - TPP (Total Position Progression) : cela signifie que la profondeur de chaque cran sera nécessairement différente pour la clé unique et la clé passe. La ligne de césure est différente pour chaque goupille. - RC (Rotating Constant) : cela signifie que la ligne de césure peut être commune à la clé unique et la clé passe sur une ou plusieurs goupilles. Il existe bien sûr plusieurs techniques pour se fabriquer une telle Passe-partout : - Reproduction à partir d’une clé originale (en clé minute, d’après photos ou mesures...) - Fabrication de la clé passe à partir d’un cylindre hiérarchisé démontable et analysable (difficile, risqué, et donnant des informations superflues si vous ne possédez pas la clé unique de ce cylindre, car une multitude de combinaisons sont possibles. Mais il est possible avec plusieurs cylindres de réduire le nombre de ces informations superflues. Et si vous possédez la clé unique, c’est assez facile) - Une méthode plus subtile consiste à analyser un grand nombre de clés uniques et de déduire la profondeur des crans car le passe aura pour combinaison la profondeur qui n’apparaît jamais sur les clés uniques (ceci n’est possible que dans un organigramme du type TPP et avec beaucoup de clés). - La méthode que nous allons voir ici, permettant de fabriquer une clé passe, sans avoir l’original, ni une multitude de clés uniques à disposition, ni la possibilité de démonter le cylindre (ces conditions étant généralement difficiles à réaliser, et/ou assez suspectes…), peut se réaliser à peu de frais, sans connaissances techniques ni matériel, sans paraître suspect, et réalisable en plusieurs fois. La méthode : Il faut vous procurer autant d’ébauches de clés adaptées à votre serrure qu’il y a de goupilles dans la serrure. Et chacune d’elle doit être une copie de votre clé, sauf pour un cran (différent pour chaque ébauche). Par Exemple : Si votre clé est taillée en 545467, il vous faudra 6 ébauches : 1. 145467 2. 515467 3. 541467 4. 545167 5. 545417 6. 545461 (Nota Bene : 1 = cran non taillé, 9 = cran taillé au max) Ensuite, il vous suffit d’entrer la clé 1. dans la serrure et de tester. Si ça ne tourne pas, vous limer d’un cran (0,5mm en général ; si vous ne savez pas, limez même moins que ça) et vous retestez, et ainsi de suite jusqu’à ce que ça tourne ; si la seule profondeur qui fonctionne pour une goupille est celle de votre clé, il s’agit d’un système RC. S’il y en a 2, l’une correspond donc à la clé unique et l’autre à la profondeur à tailler pour la clé passe. (S’il y en a plus que 2, voir plus bas pour les organigrammes complexes). Et vous passez à la clé 2. Et ainsi de suite pour chaque goupille jusqu’à connaître la combinaison du passe !!! Il vous faudra probablement une nouvelle ébauche pour tailler le passe. Cette méthode est imparable en l’état, car vous n’avez pas de comportement suspect en tentant d’ouvrir votre porte… Concernant les organigrammes complexes, avec clés uniques, passes partiels et passe général : Il peut être intéressant de réaliser la même opération sur un autre sous-groupe de l’organigramme pour déceler la combinaison commune et ainsi trouver la combinaison du passe général. Une autre solution est de partir du postulat que la ligne de césure du passe partiel est strictement supérieure OU inférieure à celle du passe général sur chaque goupille (il n’y a donc plus que 2 possibilités). Méthodes de défense contre ce type d'attaques : - Il est possible de placer de « fausses » lignes de césure sur certaines goupilles (différentes pour chaque serrure), augmentant considérablement le nombre de combinaisons possibles, et induisant donc l’attaquant en erreur. L’attaquant sera donc obligé de réaliser son opération sur plusieurs serrures pour confirmer ou infirmer les différentes combinaisons. (Mais cette méthode de défense est dangereuse car elle crée de nouveaux sous-groupes). - Ce type d’attaques nécessitant l’accès à des ébauches, mettre en place un organigramme avec des profils de clés difficiles à se procurer peut être un élément de défense (bien qu’il soit possible de fabriquer une ébauche lorsque l’on possède une clé unique). - Une des faiblesses d’un tel système est le fait que la ligne de césure est la même pour le passe que pour la clé unique (je parle ici de la séparation Rotor/Stator), ce qui fait qu’avec des goupilles placées selon la combinaison de la clé unique et d’autres selon la clé passe, la serrure fonctionne (c’est d’ailleurs cette faiblesse caractéristique que nous exploitons dans cet article). La solution est donc d’avoir un rotor autour du premier rotor ; auquel cas, il faut la combinaison exacte de la clé passe pour faire tourner le rotor du passe. Ainsi, l’attaque décrite plus haut ne marche plus. (Mais l’obtention de la combinaison du passe par démontage du cylindre sans clé unique devient beaucoup plus facile). Conclusion : Cette méthode requiert tout de même un peu de temps et de matériel pas toujours évident à se procurer, mais une personne malintentionnée ou passionnée y arrivera sans nul doute. J’espère que vous avez compris le fonctionnement de cette méthode, assez évidente quand on y réfléchis, mais qui ne vient pas à l’esprit spontanément ; j’ai donc jugé intéressant d’en faire profiter les lecteurs de ce e-zine. MrJack NB : Cet article est basé sur mes propres expériences, réflexions et lectures. Il est inspiré dans sa forme par l’article http://www.crypto.com/papers/mk.pdf, mais n’est en aucun cas une traduction de celui-ci.