Xifratge a MySQL: rotació de clau mestra

En previsió de l'inici d'una nova matrícula per al curs "Base de dades" continuem publicant una sèrie d'articles sobre xifratge a MySQL.

A l'article anterior d'aquesta sèrie, vam parlar com funciona el xifratge de clau mestra. Avui, a partir dels coneixements adquirits anteriorment, mirem la rotació de les claus principals.

La rotació de la clau mestra implica generar una nova clau mestra i tornar a xifrar les claus de l'espai de taula (que s'emmagatzemen a les capçaleres de l'espai de taula) amb aquesta nova clau.

Recordem com és la capçalera d'un espai de taula xifrat:

Xifratge a MySQL: rotació de clau mestra

De l'article anterior, sabem que el servidor llegeix les capçaleres de tots els espais de taula xifrats a l'inici i recorda l'ID de CLAU més gran. Per exemple si tenim tres taules amb KEYID = 3 i una taula amb CLAUID = 4, llavors l'ID de clau màxim serà 4. Anomenem aquest ID DE CLAU - ID DE CLAU MÀXIM.

Com funciona la rotació de la clau mestra

1. L'usuari executa ALTER INNODB MASTER KEY.

2. El servidor demana a l'anell de claus que generi una nova clau mestra amb l'UUID i la CLAU del servidorID igual a un més MAXKEYID. Així, obtenim l'identificador de clau mestra igual a INNODBCLAU-UUID-(MAXKEYID + 1). Quan es genera correctament la clau mestra, MAX KEY ID s'incrementa en un (és a dir, MAXKEYID=MAXKEYID + 1).

3. El servidor explora tots els espais de taula xifrats amb la clau mestra i per a cada espai de taula:

  • xifra la clau de l'espai de taula amb la nova clau mestra;

  • actualitza l'identificador de la clau al nou MAXKEYidentificació;

  • si l'UUID és diferent de l'UUID del servidor, actualitzeu l'UUID del servidor.

Com sabem, l'ID de la clau mestra que s'utilitza per desxifrar una taula consta d'un UUID i un ID de CLAU llegit a la capçalera de l'espai de taula. El que estem fent ara és actualitzar aquesta informació a la capçalera de xifratge de l'espai de taula perquè el servidor rebi la clau mestra correcta.

Si tenim espais de taula de diferents ubicacions, com ara diferents còpies de seguretat, poden utilitzar claus mestres diferents. Totes aquestes claus mestra s'hauran de recuperar del dipòsit quan s'iniciï el servidor. Això pot alentir l'inici del servidor, especialment si s'utilitza un magatzem de claus del costat del servidor. Amb la rotació de la clau mestra, tornem a xifrar les claus d'espai de taula amb una única clau mestra que sigui la mateixa per a tots els espais de taula. Ara el servidor hauria de rebre només una clau mestra a l'inici.

Això, per descomptat, és només un efecte secundari agradable. L'objectiu principal de la rotació de la clau mestra és fer que el nostre servidor sigui més segur. En el cas que la clau mestra hagi estat robada d'alguna manera de la caixa de seguretat (per exemple, des del servidor de volta), és possible generar una nova clau mestra i tornar a xifrar les claus de l'espai de taula, invalidant la clau robada. Estem segurs... gairebé.

En un article anterior, vaig parlar de com un cop robada una clau d'espai de taula, un tercer pot utilitzar-la per desxifrar dades. Sempre que hi hagi accés al nostre disc. Si us roben la clau mestra i teniu accés a les dades xifrades, podeu utilitzar la clau mestra robada per desxifrar la clau de l'espai de taula i obtenir les dades desxifrades. Com podeu veure, la rotació de la clau mestra no ajuda en aquest cas. Tornem a xifrar la clau de l'espai de taula amb la nova clau mestra, però la clau real utilitzada per xifrar/desxifrar les dades segueix sent la mateixa. Per tant, el "hacker" pot continuar utilitzant-lo per desxifrar les dades. Abans ho vaig insinuar Servidor Percona per a MySQL pot dur a terme un veritable xifratge de l'espai de taula, no només un simple rexifrat de claus d'espai de taula. Aquesta característica s'anomena fils de xifratge. Tanmateix, aquesta funcionalitat encara és experimental en aquest moment.

La rotació de la clau mestra és útil quan es roba la clau mestra, però no hi ha manera que un atacant la utilitzi i desxifra les claus de l'espai de taula.

Inscriu-te per a una lliçó de demostració gratuïta.

Llegeix més:

Font: www.habr.com