StrongBox 3000
Coffre-fort électronique à authentification multi-niveaux.
CESI · Systèmes embarqués · Projet d'équipe

- Commanditaire
- Agence MI7, mise en situation
- Cible
- Arduino, microcontrôleur 8 bits
- Livraisons
- 4 jalons, du circuit au prototype complet
- Facteurs
- Carte reconnue + combinaison physique
Points clés
- Deux facteurs indépendants : ni la carte ni la combinaison ne suffit seule
- Circuit conçu avant le code : le schéma électronique fixe ce que le programme peut lire
- Algorithme d'authentification à plusieurs niveaux de droits
- Quatre livrables, du premier circuit au coffre assemblé
Comment ça marche
- 1
Le circuit d'abord
Avant toute ligne de code, le schéma électronique : les interrupteurs qui forment la combinaison, les contacts de lecture de la carte, les LED de retour, et les résistances qui vont avec. En embarqué, cet ordre n'est pas un choix : le nombre de broches disponibles décide de ce que le programme pourra lire, et pas l'inverse.
- 2
Le montage sur plaque
Le schéma devient un montage réel sur plaque d'essai, câblé autour de l'Arduino. C'est l'étape où le papier rencontre la réalité : une résistance mal calculée et la LED grille, un fil mal placé et l'entrée flotte au lieu de valoir zéro.
- 3
L'algorithme d'authentification
La logique de sécurité proprement dite : reconnaître la carte présentée, lire la combinaison d'interrupteurs, et n'ouvrir que si les deux concordent. Plusieurs niveaux de droits ont été définis, tous les agents n'ouvrant pas les mêmes compartiments.
- 4
Le coffre assemblé
Les briques précédentes réunies dans un prototype complet, présenté au commanditaire. Un système qui marche sur la paillasse et un système qui marche une fois refermé dans sa boîte ne sont pas tout à fait le même objet.
Essayez vous-même
Présentez une carte, réglez les quatre interrupteurs. Ni l'une ni l'autre ne suffit : c'est tout l'intérêt du montage.
Facteur 1 : la carte présentée
Facteur 2 : la combinaison
Présentez une carte, réglez les interrupteurs.
Le coffre ne dit jamais lequel des deux facteurs est faux : le préciser reviendrait à laisser un attaquant les chercher séparément, donc à ramener deux serrures à une seule. La combinaison attendue est ici volontairement courte, quatre interrupteurs.
Le contexte
Mise en situation : l'agence MI7 a besoin d'un coffre pour ses documents sensibles. Premier projet de systèmes embarqués du cursus, et première fois où le programme que j'écris commande quelque chose de physique plutôt que d'afficher un résultat à l'écran.
Pourquoi deux facteurs, et pourquoi indépendants
Une carte seule se vole. Une combinaison seule s'observe par-dessus l'épaule. L'intérêt de les exiger ensemble n'est pas d'additionner deux protections mais d'obliger un attaquant à réussir deux attaques de natures différentes : dérober un objet, et surprendre un geste. C'est le raisonnement qui fonde l'authentification à deux facteurs, et le voir sur un montage de vingt composants le rend plus concret que n'importe quel schéma de cours.
- Les deux facteurs sont lus par des entrées distinctes : compromettre l'une ne donne rien sur l'autre
- Le coffre ne dit pas lequel des deux est faux, sinon il aide l'attaquant à chercher séparément
- Les niveaux de droits ouvrent des compartiments différents plutôt que de tout donner à quiconque entre
Ce que j'en retire
- Un programme embarqué se conçoit avec le circuit, pas après lui
- Le raisonnement derrière l'authentification à deux facteurs, vu de l'intérieur
- Mener un projet de bout en bout, de l'analyse du besoin au prototype présenté
- Ce qu'un message d'erreur trop bavard peut donner à un attaquant