Création d’un protocole sécurisé d’authentification permettant à une personne de s’authentifier et d’ouvrir une porte si et seulement si elle possède les droits d’accès.
Description
Supposons qu’une personne utilise son téléphone pour prendre une photo d’elle avec une porte qu’elle souhaite ouvrir et, à côté de la porte, un mécanisme affiche un code qui change toutes les heures. A partir de cette photo que l’on supposera non retouchée, un triplet (personne, lieu, heure) peut être identifié pour permettre la vérification de droits d’accès : est-ce que cette personne a accès à ce lieu pour cette heure ? Si oui, l’ouverture de la porte peut alors être déclenchée.
Votre mission, si vous l’acceptez, sera de proposer un protocole cryptographique pour répondre à la deuxième étape du scénario c’est à dire la vérification des droits d’accès à partir d’un triplet (personne, lieu, heure) tout en respectant les fonctionnalités et contraintes décrites ci-dessous.
Fonctionnalités
- un utilisateur doit pouvoir ouvrir une porte auquel il a accès lorsqu’il se trouve à proximité de cette porte,
- un utilisateur ne doit pas pouvoir ouvrir une porte auquel il n’a pas accès,
- les droits d’un utilisateur pourront évoluer dans le temps,
- si deux utilisateurs ont des droits d’accès (resp r_A, r_B), ils ne doivent pas pouvoir créer un nouveau droit r auxquels ils n’avaient pas déjà accès r ∉ r_A ⋃ r_B.
Contraintes
- La vie privée des utilisateurs doit être la priorité et en particulier :
– aucune donnée d’identification ne doit être stockée de manière non sécurisée : le triplet sera supposé chiffré dès le début du protocole et utilisé chiffré tout au long de la vérification des droits
– authentification anonyme : il ne faut pas pouvoir tracer deux authentifications d’un même utilisateur - La durée totale de l’authentification (jusqu’à l’ouverture de la porte) ne doit pas être trop longue pour pouvoir être utilisée en pratique.
Objectifs
- Sélection de primitives cryptographiques afin de proposer un protocole sécurisé permettant la vérification de droits d’accès,
- Analyse/preuve de la sécurité après définition d’un modèle de sécurité
- Implémentation : on pourra utiliser une image sur un téléphone pour simuler un dispositif accroché au niveau de la porte simulant une étiquette électronique (comme celles utilisées pour l’affichage de prix dans les supermarchés), par exemple, une image contenant un code à 6 chiffres ou un QR code. Les librairies liées aux systèmes d’exploitation des smartphones pourront être utilisées pour l’extraction du triplet (personne, lieu, heure).
Pour aller plus loin :
Le cas de groupe d’utilisateurs dynamique est envisageable : un nouvel utilisateur peut être ajouté ou supprimé.