Mysql
 sql >> Base de données >  >> RDS >> Mysql

Cryptage DB bidirectionnel sécurisé même de l'administrateur

Ce que vous voulez, c'est un agent de récupération. Chiffrez toutes les données deux fois :une fois avec la clé utilisateur, une fois avec la clé (publique) de l'agent de récupération ; au moins ce dernier doit être asymétrique. Conservez la clé de l'agent de récupération dans un coffre-fort physique, avec un protocole d'accès formel (par exemple, principe des quatre yeux). Habituellement, l'administrateur ne peut pas accéder aux données cryptées, mais si l'utilisateur perd la clé et que la récupération est autorisée, la clé de récupération est obtenue.

Il existe également des moyens de chiffrer la clé de l'agent de récupération afin que m personnes sur n acceptent de l'utiliser.

Modifier :Une stratégie de mise en œuvre consiste à tout chiffrer deux fois. Alternativement, pour chaque ensemble de données qui doit être récupérable indépendamment, créez une nouvelle clé symétrique et chiffrez uniquement cette clé deux fois ; les données d'origine sont chiffrées uniquement avec la clé de session. Cette approche peut s'étendre à plusieurs lecteurs indépendants; il nécessite des clés asymétriques par lecteur (afin que vous puissiez chiffrer la clé de session avec les clés publiques de tous les lecteurs - l'un étant l'agent de récupération).

J'ai copié la terminologie du Encrypting File System de Microsoft , qui a mis en œuvre ce schéma.