sql >> Database >  >> RDS >> Mysql

Bidirectionele DB-codering veilig, zelfs van de Admin

Wat je wilt is een hersteller. Versleutel alle gegevens twee keer:één keer met de gebruikerssleutel, één keer met de (openbare) sleutel van de herstelagent; ten minste de laatste moet asymmetrisch zijn. Bewaar de sleutel van de herstelagent in een fysieke kluis, met een formeel toegangsprotocol (bijvoorbeeld vier-ogen-principe). Gewoonlijk heeft de beheerder geen toegang tot de versleutelde gegevens, maar als de gebruiker de sleutel verliest en het herstel is geautoriseerd, wordt de herstelsleutel verkregen.

Er zijn ook manieren om de sleutel van de herstelagent te versleutelen, zodat meerderjarigen moeten instemmen met het gebruik ervan.

Bewerken :Een implementatiestrategie is om alles twee keer te versleutelen. U kunt ook voor elke dataset die onafhankelijk moet kunnen worden hersteld, een nieuwe symmetrische sleutel maken en alleen die sleutel twee keer versleutelen; de originele gegevens worden alleen versleuteld met de sessiesleutel. Die aanpak kan zich uitstrekken tot meerdere onafhankelijke lezers; het vereist asymmetrische sleutels per lezer (zodat u de sessiesleutel kunt versleutelen met de openbare sleutels van alle lezers - een daarvan is de herstelagent).

Ik heb de terminologie gekopieerd van Microsoft's Encrypting File System , die dat schema heeft geïmplementeerd.



  1. MySQL-query is langzamer na het maken van de index

  2. Microsoft Excel verbinden met Xero

  3. Een PostgreSQL-query exporteren naar een csv-bestand met Python

  4. Hoe te voorkomen dat u + in versienummer gebruikt met SQLiteAssetHelper