Biscuit
Token d'authentification et d'autorisation
cryptographique à droits atténuables
hors ligne
@_Akanoa_
https://lafor.ge
Yannick Guern
Requêter une ressource
Requête d'une ressource privilégiée
Authentification par mot de passe
à chaque fois ! 😡
Conserver l'authentification : session et cookie de session
Utilisation du cookie
Cookie de session utilisé sur une API sans session
Problème de session
non partagée
Première solution :
Cache partagé
Deuxième solution :
Les droits dans le cookie ...
... une très mauvaise idée !!
Clefs asymétriques
Token : Signature de données
Vérification d'authenticité
du Token
Prérogatives d'un Token
Un token possédant tous les droits d'un utilisateur
Un token à droits limités
Atténuation de droits
Requête valide
Tentative d'écriture avec un Biscuit en lecture seul
Tentative de lecture d'une ressource interdite
Atténuation
Atténuation offline ...
... oui mais
Geoffroy
Couprie
Clément
Delafargue
Les créateurs de Biscuit
Les briques de base de Biscuit
Du token ...
... au Biscuit
Validation de l'authenticité d'un Biscuit
Création de l'Autorité
Anatomie d'un Biscuit
Création d'un Bloc
Blockchain !!
Un Biscuit atténué
Validation d'un Biscuit
Falsification de Biscuit
Autorisateur
Processus d'autorisation
Scénarios d'échecs d'autorisation
Scénario 1 d'échec de check
Scénario 2 d'échec de check
Scénario 3 d'échec de check
Scénario 4 : check réussi
Le check d'un bloc 1 verra les faits de l'Autorité et du bloc 1
Le check d'un bloc 2 verra les faits de l'Autorité et du bloc 2
Un check de l'Autorité ne verra pas les fait des blocs
Datalog de l'Autorisateur
L'autorisateur ne s'occupe que des faits de l'Autorité et des siens
Un check dans un bloc verra les faits du bloc lui-même, de l'Autorité et de l'Autorisateur
Un check de l'autorité verra les faits de l'Autorité et de l'Autorisateur
Impossibilité de s'augmenter ses droits
Processus d'authentification par Biscuit
Un datalog simpliste ...
... trop simpliste!
Comment gérer des milliers d'utilisateurs ?
Concept de lookup
Contenu de la BDD de droits
Création du fait rights
Processus de validation par l'autorisateur
Échec de création du fait
Échec de validation: le fait rights n'existe pas
Bloc d'atténuation
Jane requête avec son Biscuit atténué fourni par Jack
Processus de validation supplémentaire fourni par le bloc
Jane tente d'accéder à des ressources interdites
Le bloc l'empêche de le faire
Bilan
Playground
Mon article de vulgarisation
Le site officiel
Merci à toutes et tous 😃
@_Akanoa_
https://lafor.ge
Biscuit Touraine Tech
By akanoa
Biscuit Touraine Tech
- 265