Aller au contenu
Léo.
Tous les projets
Systèmes embarquésTerminé2023

StrongBox 3000

Coffre-fort électronique à authentification multi-niveaux.

CESI · Systèmes embarqués · Projet d'équipe

Prototype du coffre-fort
Prototype du coffre-fort
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. 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. 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. 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. 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
Tous les projets