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