In Erwartung des Starts eines neuen Satzes für den Kurs "Datenbanken" veröffentlichen wir weiterhin eine Reihe von Artikeln über die Verschlüsselung in MySQL.
Im vorherigen Artikel dieser Reihe haben wir die Funktionsweise der Hauptschlüsselverschlüsselung erläutert . Schauen wir uns heute auf der Grundlage der zuvor gewonnenen Erkenntnisse die Drehung der Hauptschlüssel an.
Die Hauptschlüsselrotation besteht darin, einen neuen Hauptschlüssel zu generieren und die Tabellenbereichsschlüssel (die in den Tabellenbereichskopfzeilen gespeichert sind) mit diesem neuen Schlüssel neu zu verschlüsseln.
Erinnern wir uns, wie der Header eines verschlüsselten Tablespace aussieht:
Aus dem vorherigen Artikel wissen wir, dass der Server beim Start die Header aller verschlüsselten Tabellenbereiche liest und sich die größte KEY-ID merkt. Wenn wir beispielsweise drei Tabellen mit KEY ID = 3 und eine Tabelle mit KEY ID = 4 haben, beträgt die maximale Schlüssel-ID 4. Nennen wir diese KEY ID - MAX KEY ID.
1. ALTER INNODB MASTER KEY.
2. (keyring) UUID KEYID, MAXKEYID. , , INNODBKEY-UUID- (MAXKEYID + 1). MAX KEY ID (.. MAXKEYID = MAXKEYID + 1).
3. , , :
;
MAXKEYID;
UUID UUID , UUID .
, (Master Key ID), , UUID KEY ID, . , , .
, , , , . . , . , . .
, , . — . - (, Vault Server), , . … .
, . , . , . , . , , / , . "" . , Percona Server for MySQL , . (encryption threads). .
, , .