Bonjour,
Nous nous trouvons confrontés, avec un collègue, à une difficulté concernant la protection de données médicales dans une base de données.
Je suis en stage dans une start-up et nous devons faire un site manipulant des informations médicales.
Pour des raisons légales nous devons donc restreindre l'accès aux informations enregistrées en BDD à l'utilisateur concerné, même l'adminsys ne doit pas avoir accès à ces informations (donc pas de clé permettant le déchiffrement en BDD).
Sans vraiment connaître les outils ou techniques pouvant exister pour une telle problématique nous avons imaginé le système suivant :
À l'inscription, une clé publique et une privée propres à l'utilisateur sont générées (Avec le RSA par exemple). Seule la clé publique est conservée en base de données.
La clé privée est générée localement à chaque session par l'utilisateur à partir d'une information que nous ne connaissons pas (au hasard, le mot de passe passé dans une fonction de hachage par exemple).
Les données sont transférées chiffrées et sont déchiffrées localement (avec du javascript par exemple).
Les nouvelles données sont chiffrées avec la clé publique (ça peut être aussi un message privé pour un autre utilisateur par exemple) (localement ou côté serveur? Nous nous posons la question).
Le soucis est que si on veut laisser à l'utilisateur la possibilité de changer son mot de passe, il faut pouvoir déchiffrer l'intégralité des données, changer la clé publique et chiffrer à nouveau les données (le tout localement?!) avec la nouvelle clé publique.
Voici donc où nous en sommes.
Nous cherchons des idées, des pistes ou des conseils pour améliorer le système, des avis, qu'ils soient positifs ou négatifs, ou des alternatives que vous pourriez connaître.
Qu'en pensez-vous?
Merci d'avance!
Partager