Verschlësselung an MySQL: Master Key Rotatioun

An der Erwaardung vum Start vun enger neier Aschreiwung fir de Cours "Datebank" mir verëffentlechen weider eng Serie vun Artikelen iwwer Verschlësselung an MySQL.

Am fréieren Artikel an dëser Serie hu mir diskutéiert wéi Meeschtesch Schlëssel Verschlësselung Wierker. Haut, baséiert op d'Wëssen, déi virdru gewonnen goufen, kucke mer d'Rotatioun vun den Haaptschlësselen.

Master Schlësselrotatioun beinhalt d'Generatioun vun engem neie Masterschlëssel an d'Verschlësselung vun den Tablespace Schlësselen (déi an den Tablespace Header gespäichert sinn) mat dësem neie Schlëssel.

Loosst eis erënneren wéi den Header vun engem verschlësselten Dëschraum ausgesäit:

Verschlësselung an MySQL: Master Key Rotatioun

Vum viregten Artikel wësse mer datt de Server d'Header vun all verschlësselte Tablespaces beim Start liest an un déi gréisste KEY ID erënnert. Zum Beispill wa mir dräi Dëscher mat KEY hunnID = 3 an een Dësch mat KEYID = 4, da gëtt déi maximal Schlëssel ID 4. Loosst eis dës KEY ID ruffen - MAX KEY ID.

Wéi Meeschtesch Schlëssel Rotatioun Wierker

1. De Benotzer féiert ALTER INNODB MASTER KEY aus.

2. De Server freet de Schlësselring fir en neie Masterschlëssel mat dem Server UUID a KEY ze generéierenID gläich op ee plus MAXKEYID. Also mir kréien Master Schlëssel ID gläich wéi INNODBKEY-UUID-(MAXKEYID + 1). No der erfollegräicher Generatioun vum Masterschlëssel gëtt MAX KEY ID vun engem erhéicht (dh MAX)KEYID=MAXKEYID + 1).

3. De Server scannt all Tablespaces verschlësselte mam Master Schlëssel, a fir all Tablespace:

  • verschlësselt den Tablespace-Schlëssel mam neie Master-Schlëssel;

  • aktualiséiert de Schlëssel ID op den neie MAXKEYID;

  • wann den UUID anescht ass wéi de Server UUID, da aktualiséieren de Server UUID.

Wéi mir wëssen, besteet d'Master Key ID, déi benotzt gëtt fir en Dësch ze entschlësselen, aus engem UUID an enger KEY ID aus dem Tablespace Header gelies. Wat mir elo maachen ass dës Informatioun am Tablespace Verschlësselungsheader ze aktualiséieren, sou datt de Server de richtege Masterschlëssel kritt.

Wa mir Dëschplazen aus verschiddene Plazen hunn, wéi verschidde Backups, da kënne se verschidde Masterschlësselen benotzen. All dës Masterschlëssel mussen aus dem Repository zréckgezunn ginn wann de Server gestart gëtt. Dëst kann de Serverstart verlangsamen, besonnesch wann e Server-Säit Schlësselgeschäft benotzt gëtt. Mat Master-Schlësselrotatioun verschlëssele mir d'Tablespace-Schlëssel nei mat engem eenzege Master-Schlëssel deen d'selwecht ass fir all Tablespaces. De Server soll elo nëmmen ee Masterschlëssel beim Start kréien.

Dëst, natierlech, ass just eng agreabel Säit Effekt. Den Haaptzweck vun der Masterschlësselrotatioun ass eise Server méi sécher ze maachen. Am Fall wou de Masterschlëssel iergendwéi aus dem Vault geklaut gouf (zum Beispill vum Vault Server), ass et méiglech en neie Masterschlëssel ze generéieren an d'Tablespace Schlësselen nei ze verschlësselen, de geklauten Schlëssel ongëlteg ze maachen. Mir si sécher ... bal.

An engem fréieren Artikel hunn ech geschwat wéi eemol e tablespace-Schlëssel geklaut ass, eng Drëtt Partei kann et benotzen fir d'Donnéeën ze entschlësselen. Virausgesat datt et Zougang zu eisem Disk gëtt. Wann de Master-Schlëssel geklaut gëtt an Dir hutt Zougang zu de verschlësselte Donnéeën, kënnt Dir de geklauten Master-Schlëssel benotze fir den Tablespace-Schlëssel ze entschlësselen an déi entschlësselte Donnéeën ze kréien. Wéi Dir kënnt gesinn, hëlleft d'Rotatioun vum Master Schlëssel net an dësem Fall. Mir verschlëssele den Tablespace-Schlëssel mat dem neie Master-Schlëssel nei, awer den eigentleche Schlëssel deen benotzt gëtt fir d'Donnéeën ze verschlësselen/entschlësselen bleift d'selwecht. Dofir kann den "Hacker" se weider benotzen fir d'Donnéeën ze entschlësselen. Virdrun hunn ech dat ugedeit Percona Server fir MySQL kann richteg Tablespace-Neiverschlësselung ausféieren, net nëmmen einfach Tablespace-Schlësselverschlësselung. Dës Feature gëtt Verschlësselungsthreads genannt. Wéi och ëmmer, dës Funktionalitéit ass nach ëmmer experimentell am Moment.

Master Schlëssel Rotatioun ass nëtzlech wann de Master Schlëssel geklaut gëtt, awer et gëtt kee Wee fir en Ugräifer et ze benotzen an d'Tablespace Schlësselen ze entschlësselen.

Aschreiwen fir eng gratis Demo Lektioun.

Liest méi:

Source: will.com