WikiMiNET

La documentation technique et administrative

Outils pour utilisateurs

Outils du site


wiki:divers:gestion_log_rgpd

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wiki:divers:gestion_log_rgpd [2018/09/07 09:13]
varens correction orthographiques
wiki:divers:gestion_log_rgpd [2020/06/27 18:16] (Version actuelle)
Ligne 62: Ligne 62:
  
 Et pour les adhérents ? Le mieux qu'on puisse faire c'est générer une clé privée à l'inscription, qui sera chiffrée avec comme passphrase le mot de passe de leur compte. Ainsi quand on prépare l'archive contenant toutes les données personnelles, on peut déchiffrer la clé en demandant le mot de passe, puis déchiffrer les données. Et pour les adhérents ? Le mieux qu'on puisse faire c'est générer une clé privée à l'inscription, qui sera chiffrée avec comme passphrase le mot de passe de leur compte. Ainsi quand on prépare l'archive contenant toutes les données personnelles, on peut déchiffrer la clé en demandant le mot de passe, puis déchiffrer les données.
 +
 +Mais alors on a un problème : l'adhérent peut oublier son mot de passe (et ça arrive TRÈS souvent). Dans ce cas, on ne peut plus déchiffrer les données, et on perd tous ses logs. Il y a une solution élégante à ce problème : on utilise le [[https://fr.wikipedia.org/wiki/Partage_de_cl%C3%A9_secr%C3%A8te_de_Shamir|Partage de clé secrète de Shamir]] (SSS). On chiffre avec son mot de passe une clé symétrique intermédiaire, que l'on subdivise aussi en plusieurs secrets via SSS que l'on "distribue" aux membres du bureau. Cette clé sert de passphrase à sa clé privée RSA. Cela ouvre de nouvelles possibilités : 
 +  * si l'adhérent oublie son mot passe, il suffit d'avoir suffisamment de "morceaux" générés par SSS pour recouvrir la clé et on ne perd rien
 +  * si l'adhérent refuse de coopérer dans le cadre d'une plainte par exemple, on peut procéder de même et retrouver la passphrase via une majorité de membres du bureau
 +
 +Je vous laisse découvrir plus en détails les avantages de l'utilisation de ce protocole, notamment via la partie  [[https://fr.wikipedia.org/wiki/Partage_de_cl%C3%A9_secr%C3%A8te_de_Shamir#Propri%C3%A9t%C3%A9s|Propriétés]] de l'article Wikipédia.
  
 On peut prévoir l'ajout de fonctionnalités sympa : On peut prévoir l'ajout de fonctionnalités sympa :
Ligne 88: Ligne 94:
   * On peut bloquer l'accès avant la fin de la période   * On peut bloquer l'accès avant la fin de la période
  
 +Ci-dessous, ce qui avait été imaginé avant d'envisager l'utilisation du partage de clé secrète de Shamir :
 +
 +<wrap lo>
 En pratique comment ça fonctionne derrière ? Allons y en essayant d'imaginer qu'on a les fonctionnalités pour la gestion des clés décrites dans la partie [[https://wiki.minet.net/wiki/divers/gestion_log_rgpd#quel_chiffrement|chiffrement]]. En pratique comment ça fonctionne derrière ? Allons y en essayant d'imaginer qu'on a les fonctionnalités pour la gestion des clés décrites dans la partie [[https://wiki.minet.net/wiki/divers/gestion_log_rgpd#quel_chiffrement|chiffrement]].
 +
  
 Le déchiffrement dans le navigateur, et meme pire le remplacement de la clé de chiffrement nous empeche de chiffrer puisqu'on ne pourra pas déchiffrer à moins de demander à chaque fois à l'utilisateur, ce qui est très pénible. Le déchiffrement dans le navigateur, et meme pire le remplacement de la clé de chiffrement nous empeche de chiffrer puisqu'on ne pourra pas déchiffrer à moins de demander à chaque fois à l'utilisateur, ce qui est très pénible.
 +
  
 Je vois alors deux possibilités : Je vois alors deux possibilités :
-  * On continue de chiffrer et on utilise du Asymmetric Searchable Encryption (ASE), mais il faudra alors peut etre d'autres clés et dans tout les cas l'ASE demanderait à l'utilisateur de "chiffrer" les mots que l'on va chercher dans ses logs (et encore une fois, c'est peut etre encore un peu trop neuf, quand ce sera utilisé par des entreprises on pourra éventuellement y réfléchir, ou y réfléchir en tant qu'amélioration, mais sur toute la solution, concentrons nous sur quelque chose de fonctionnel, tanpis si il y aura beaucoup de choses à adapter, cependant c'est une piste très interessante)+  * On continue de chiffrer et on utilise du Asymmetric Searchable Encryption (ASE), mais il faudra alors peut etre d'autres clés et dans tout les cas l'ASE demanderait à l'utilisateur de "chiffrer" les mots que l'on va chercher dans ses logs (et encore une fois, c'est peut etre encore un peu trop neuf, quand ce sera utilisé par des entreprises on pourra éventuellement y réfléchir, ou y réfléchir en tant qu'amélioration, mais sur toute la solution, concentrons nous sur quelque chose de fonctionnel, tant pis si il y aura beaucoup de choses à adapter, cependant c'est une piste très interessante)
   * On ne chiffre pas ses logs temporairement, ou plutot on stocke temporairement en plus de la version chiffrée un version non chiffrée, que l'on peut récupérer soit dans l'application métier, soit dans l'application de gestion des logs, bref de la façon dont on souhaite. En ce cas la fin de la période arrete le stockage en non chiffré pour la personne et supprime les logs stockés en clair.   * On ne chiffre pas ses logs temporairement, ou plutot on stocke temporairement en plus de la version chiffrée un version non chiffrée, que l'on peut récupérer soit dans l'application métier, soit dans l'application de gestion des logs, bref de la façon dont on souhaite. En ce cas la fin de la période arrete le stockage en non chiffré pour la personne et supprime les logs stockés en clair.
 +</wrap>
 +
 +Grâce au partage de clé secrète de Shamir, on peut demander à l'adhérent de fournir à un administrateur l'accès à ses logs (il déchiffre la clé grâce à sa passphrase). S'il n'accepte pas, ou si on ne veut pas toujours avoir à demander à l'adhérent, on peut utiliser les pièces distribuées aux membres du bureau pour reformer la clé. On peut par ailleurs imaginer que certains membres puissent avoir plus de pièces que les autres, afin de pouvoir reformer la clé seuls, ou avec moins de membres. Tout ceci est, bien sûr à définir.
  
  
Ligne 119: Ligne 133:
 Bon je crois que c'est le temps des schémas pour que tout le monde comprenne : Bon je crois que c'est le temps des schémas pour que tout le monde comprenne :
 {{:wiki:divers:log_rgpd.png?600|}} {{:wiki:divers:log_rgpd.png?600|}}
 +
 +<WRAP center round info 95%>
 +Autant tout le chiffrement RSA est implémenté très proprement dans des librairies auditées et très utilisées, autant je ne crois pas avoir trouvé d'implémentation "connue" du partage de clé privée de Shamir. Cela veut dire qu'il faut soit "roll our own crypto" (pourquoi pas, mais c'est risqué), soit utiliser des projets existants et les auditer nous-même (c'est sans doute déjà mieux).
 +
 +Update: il y a quand même [[http://point-at-infinity.org/ssss/|ssss]] qui a l'air bien sérieux
 + --- //[[frazew@minet.net|François Horta]] 2019/02/21 06:38//
 +</WRAP>
  
 <WRAP center round info 95%> <WRAP center round info 95%>
 J'ai écris cette proposition (qui est incomplète) sans avoir fait de tests, rien du tout, c'est pour l'instant juste une réflexion, il y aura donc peut etre des choix qui seront remis en question au moment des tests, on pourra d'ailleurs faire des tests en dev comme en prod où on combinera pendant un certain temps l'ancien et le nouveau modèle, histoire de vérifier que tout fonctionne bien (d'ailleurs pour les logs de traffics, sensibles donc, on pourra garder la solution de stockage en local en plus, indéfiniment, au sens de la solution, pas des données :-) , il y aura cependant peut-etre des écarts avec l'autre solution : des choses en plus en local) --- //[[varens@minet.net|Romain Cherré]] 2018/07/05 16:33// J'ai écris cette proposition (qui est incomplète) sans avoir fait de tests, rien du tout, c'est pour l'instant juste une réflexion, il y aura donc peut etre des choix qui seront remis en question au moment des tests, on pourra d'ailleurs faire des tests en dev comme en prod où on combinera pendant un certain temps l'ancien et le nouveau modèle, histoire de vérifier que tout fonctionne bien (d'ailleurs pour les logs de traffics, sensibles donc, on pourra garder la solution de stockage en local en plus, indéfiniment, au sens de la solution, pas des données :-) , il y aura cependant peut-etre des écarts avec l'autre solution : des choses en plus en local) --- //[[varens@minet.net|Romain Cherré]] 2018/07/05 16:33//
 </WRAP> </WRAP>
wiki/divers/gestion_log_rgpd.1536304393.txt.gz · Dernière modification: 2020/06/27 18:15 (modification externe)