Chidere nan MySQL: Wotasyon Kle Mèt

Nan patisipe nan kòmansman an nan yon nouvo enskripsyon pou kou a "Baz done" nou kontinye pibliye yon seri atik sou chifreman nan MySQL.

Nan atik anvan an nan seri sa a, nou te diskite ki jan cryptage kle mèt travay. Jodi a, ki baze sou konesans yo te vin pi bonè, ann gade nan wotasyon kle prensipal yo.

Wotasyon kle mèt enplike jenere yon nouvo kle mèt ak re-ankripte kle espas tab yo (ki estoke nan tèt yo espas tab) ak nouvo kle sa a.

Ann sonje ki sa header nan yon espas tab chiffres sanble:

Chidere nan MySQL: Wotasyon Kle Mèt

Soti nan atik anvan an, nou konnen ke sèvè a li tèt yo nan tout tablespaces chiffres nan demaraj epi sonje pi gwo ID KLE a. Pou egzanp si nou gen twa tab ak KLEID = 3 ak yon tab ak KLEID = 4, Lè sa a, maksimòm ID kle a pral 4. Ann rele ID KLE sa a - ID KLE MAX.

Ki jan wotasyon kle mèt travay

1. Itilizatè a egzekite ALTER INNODB MASTER KEY.

2. Sèvè a mande bag la pou jenere yon nouvo kle mèt ak UUID sèvè a ak KLEID egal a yon sèl plis MAXLEJANNID. Se konsa, nou jwenn idantite kle mèt egal a INNODBKLE-UUID-(MAXLEJANNID + 1). Lè yo gen siksè jenerasyon kle mèt la, MAX KEY ID ogmante pa youn (sa vle di MAXLEJANNID=MAXLEJANNID + 1).

3. Sèvè a analize tout espas tab ki ankripte ak kle mèt la, epi pou chak espas tab:

  • ankripte kle espas tab la ak nouvo kle mèt la;

  • mete ajou id kle a nan nouvo MAX laLEJANNID;

  • si UUID a diferan de UUID sèvè a, Lè sa a, mete ajou UUID sèvè a.

Kòm nou konnen, ID Mèt Kle yo itilize pou dekripte yon tab konsiste de yon UUID ak yon ID KLE li nan headspace tablespace la. Ki sa n ap fè kounye a se mete ajou enfòmasyon sa yo nan headspace chifreman tablespace pou sèvè a resevwa kle mèt kòrèk la.

Si nou gen tablespace ki soti nan diferan kote, tankou diferan sovgad, Lè sa a, yo ka itilize diferan kle mèt. Tout kle mèt sa yo pral bezwen rekipere nan depo a lè sèvè a kòmanse. Sa a ka ralanti demaraj sèvè a, espesyalman si yo itilize yon magazen kle bò sèvè. Avèk wotasyon kle mèt, nou re-ankripte kle espas tab ak yon sèl kle mèt ki se menm bagay la pou tout espas tab. Sèvè a ta dwe kounye a resevwa yon sèl kle mèt nan demaraj.

Sa a, nan kou, se jis yon efè segondè bèl. Objektif prensipal wotasyon kle mèt se fè sèvè nou an pi an sekirite. Nan evènman an ke kle mèt la yon jan kanmenm yo vòlè li nan vout la (pa egzanp, nan sèvè a vout), li posib jenere yon nouvo kle mèt ak re-ankripte kle yo tab, sa ki anile kle yo vòlè li. Nou an sekirite...prèske.

Nan yon atik anvan, mwen te pale sou fason yon fwa yo vòlè yon kle tablespace, yon twazyèm pati ka itilize li pou dechifre done. Depi ke gen aksè a disk nou an. Si yo vòlè kle mèt la epi ou gen aksè a done yo chiffres, ou ka itilize kle mèt yo vòlè a pou dechifre kle espas tab la epi jwenn done yo dechifre. Kòm ou ka wè, wotasyon kle mèt la pa ede nan ka sa a. Nou re-ankripte kle espas tab la ak nouvo kle mèt la, men kle aktyèl yo itilize pou ankripte/dechifre done yo rete menm jan an. Se poutèt sa, "pitru a" ka kontinye sèvi ak li nan dechifre done yo. Byen bonè mwen te allusion sa Percona sèvè pou MySQL ka fè vre tablespace re-chifrement, pa sèlman senp tablespace kle re-chifrement. Yo rele karakteristik sa a fil chifreman. Sepandan, fonksyonalite sa a toujou eksperimantal nan moman sa a.

Wotasyon kle mèt la itil lè yo vòlè kle mèt la, men pa gen okenn fason pou yon atakè sèvi ak li epi dechifre kle espas tab yo.

Enskri pou yon leson Demo gratis.

Li piplis:

Sous: www.habr.com