Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Zwei-Wege-DB-Verschlüsselung auch vor dem Admin sicher

Was Sie wollen, ist ein Wiederherstellungsmittel. Verschlüsseln Sie alle Daten zweimal:einmal mit dem Benutzerschlüssel, einmal mit dem (öffentlichen) Wiederherstellungs-Agent-Schlüssel; zumindest letzteres muss asymmetrisch sein. Bewahren Sie den Wiederherstellungsschlüssel in einem physischen Safe auf, mit einem formellen Zugriffsprotokoll (z. B. Vier-Augen-Prinzip). Normalerweise kann der Administrator nicht auf die verschlüsselten Daten zugreifen, aber wenn der Benutzer den Schlüssel verliert und die Wiederherstellung autorisiert ist, wird der Wiederherstellungsschlüssel abgerufen.

Es gibt auch Möglichkeiten, den Schlüssel des Wiederherstellungs-Agenten zu verschlüsseln, sodass m-von-n-Personen seiner Verwendung zustimmen müssen.

Bearbeiten :Eine Implementierungsstrategie besteht darin, alles zweimal zu verschlüsseln. Alternativ können Sie für jeden Datensatz, der unabhängig wiederherstellbar sein muss, einen neuen symmetrischen Schlüssel erstellen und nur diesen Schlüssel zweimal verschlüsseln. Die Originaldaten werden nur mit dem Sitzungsschlüssel verschlüsselt. Dieser Ansatz kann sich auf mehrere unabhängige Leser erstrecken; es erfordert asymmetrische Schlüssel pro Lesegerät (damit Sie den Sitzungsschlüssel mit den öffentlichen Schlüsseln aller Lesegeräte verschlüsseln können - von denen eines der Wiederherstellungs-Agent ist).

Ich habe die Terminologie von Microsofts Encrypting File System kopiert , die dieses Schema implementiert hat.