[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.