Aller au contenu

Cadenas connecté

Liste des membres


Berton Nicolas – Info
Lach Nicolas – Info
El Hassani Amanari Saad – Elec
Divet Yann – Elec
Franz Samuel – Elec

Matériel

Proto:
– Arduino Uno ***ATTENTION: faire fonctionner la lib fournie par STM pour le module x-nucleo-nfc-01a1 est PITA, il est suggéré d’utiliser une carte STM…***
– Module NFC compatible Arduino :
lien
– Electro aimant | solénoid push / pull : lien
– Anse : Schéma


– Boîte / conteneur du cadenas : Schéma 


Rendu :

Vidéo de présentation visionnable / téléchargeable ici. (158 Mo)

Principes


1. Cadenas déverouillable par smartphone
2. * 1 administrateur par cadenas
* N utilisateurs par cadenas
* L’administateur du cadenas dispose d’une info supplémentaire qui lui permet de passer en mode ‘root’ sur le cadenas
3. Tout utilisateur d’un cadenas peut le déverouiller à l’aide d’une appli qui se charge de faire la communication NFC / RFID pour lui
4. En mode ‘root’, l’admin d’un cadenas peut rajouter une liste d’utilisateurs, en supprimer … Pour modifier ces paramètres, il doit avoir accès physiquement au cadenas
5. L’utilisation d’autres moyens de communication par le cadenas, autres que NFC ou RFID, sont à éviter. Si besoin, c’est l’appli qui se charge de toute mise à jour des infos pour les utilisateurs …
6. Chaque utilisation du cadenas est loguée et tracée

Hypothétique=====

Considérations techniques


1. Le cadenas fonctionne avec une authentification forte, i.e. :
* Facteur d’auth physique : l’utilisateur prouve qui il est avec son smartphone (rétention du numero IMEI ou du numéro de téléphone par l’appli, à discuter …)
* Facteur d’auth mémoriel : l’utilisateur connaît un secret qu’il entre dans l’appli pour déverouiller le cadenas (MDP). L’idée d’un OTP est envisagée (donner un seed, générer des suites de mots de passe … ?)
* Lors du déverouillage, l’utilisateur utilise son smartphone avec son MDP et la comm NFC / RFID prend ses infos pour communiquer avec le cadenas.
2. Pour gérer l’administration, chaque cadenas vient avec un ‘Mastercode’ connu uniquement de l’administateur qui permet de passer en mode ‘root’
3. La solidité des composants du cadenas est idéalement à étudier. Puisque c’est un petit projet, qu’un cadenas ne peut de toute façon pas assurer à 100% la sécurité d’un lieu et qu’un protocole cryptographique robuste est compliqué à établir, on propose l’étude de cet aspect après avoir réalisé une POC des principes vus précédemment.

Idée de protocole cryptographique


Protocole reposant sur le principe clé privée / clé publique.
Capacités nécessaires du cadenas pour cette solution:
– Stocker : Clé privée cadenas, clés en utilisation, mastercode, hash des utilisateurs autorisés.
– Générer qqchose de secret SEC
(/!\ de la crypto asymétrique est peut-être trop lourde pour un micro controlleur (stockage de toutes les clés)/!\)

Chaque utilisateur possède un couple clé privée (CprT) / clé publique (CpuT)
Chaque cadenas possède un couple clé privée (CprC) / clé publique (CpuC)

Scénario 1: Communication / dévérouillage cadenas:

1) Le téléphone initialise en envoyant CpuT au cadenas
2) Le cadenas vérifie que la clé publique est dans ses utilisateurs autorisés
3) Passage du cadenas en mode attentif, retient CpuT dans son champ clé(s?) en utilisation
4) Le cadenas envoie CpuC et HsecC = (SEC + CpuT)
5) Le téléphone décrypte SEC = (HsecC + CprT)
A ce moment, le tél n’a pu décrypter que s’il possède CprT correspondant au CpuT enregistré dans les utilisateurs du cadenas
6) Le téléphone envoie HsecT = (SEC + CpuC)
7) Le cadenas décrypte SEC = (HsecT + CprC)
8) Le cadenas compare, si OK, déverrouillage
( 9) Période de souvenir du dernier utilisateur autorisé pour scénario 2 ? )

Scénario 2: Accès au cadenas par l’admin:

Après avoir fini le scénario 1
1) L’admin entre le mastercode M sur son appli
2) Cryptage Hm = M + CpuC
3) envoi de Hm au cadenas
4) décryptage de M par le cadenas M = (Hm + CprC)
5) Comparaison, si OK passage en mode modif…

/!\ Comment le cadenas sait-il qu’il parle toujours à l’admin après cela ? Hash avec clé privée admin des messages quand c’est nécessaire pour assurer l’identité … voir pour scénario 1 et 2 les besoins de tels hashs
=====

Ce qui se fait


Beaucoup de solutions pour intégrer dans des portes, moins pour des cadenas

termes google :
> smart padlock
> diy padlock nfc
> …


Vidéos :

  • https://www.youtube.com/watch?v=bAcK80fm1_0
  • https://www.youtube.com/watch?v=rSgXyMJT8C8