Encryption sa MySQL: Master Key Rotation

Sa pagpaabot sa pagsugod sa bag-ong enrolment para sa kurso "Database" nagpadayon kami sa pagmantala sa serye sa mga artikulo bahin sa pag-encrypt sa MySQL.

Sa miaging artikulo niini nga serye, atong gihisgotan kung giunsa ang pag-encrypt sa master key. Karon, base sa kahibalo nga nakuha sa sayo pa, atong tan-awon ang rotation sa mga nag-unang yawe.

Ang master key rotation naglakip sa pagmugna og bag-ong master key ug pag-encrypt pag-usab sa mga yawe sa tablespace (nga gitipigan sa mga header sa tablespace) uban niining bag-ong yawe.

Atong hinumdoman kung unsa ang hitsura sa header sa usa ka naka-encrypt nga tablespace:

Encryption sa MySQL: Master Key Rotation

Gikan sa miaging artikulo, nahibal-an namon nga ang server nagbasa sa mga ulohan sa tanan nga naka-encrypt nga mga tablespace sa pagsugod ug nahinumdom sa pinakadako nga KEY ID. Pananglitan kung kami adunay tulo ka mga lamesa nga adunay KEYID = 3 ug usa ka lamesa nga adunay KEYID = 4, unya ang maximum key ID mahimong 4. Tawgon nato kini nga KEY ID - MAX KEY ID.

Giunsa paglihok ang master key rotation

1. Gipatuman sa user ang ALTER INNODB MASTER KEY.

2. Gihangyo sa server ang keyring aron makamugna og bag-ong master key gamit ang UUID ug KEY sa serverID nga katumbas sa usa plus MAXTINUODID. Mao nga nakuha namon ang master key id nga parehas sa INNODBKEY-UUID-(MAXTINUODID + 1). Sa malampuson nga henerasyon sa master key, ang MAX KEY ID gidugangan sa usa (ie MAXTINUODID=MAXTINUODID + 1).

3. Gi-scan sa server ang tanang tablespaces nga gi-encrypt gamit ang master key, ug para sa matag tablespace:

  • gi-encrypt ang yawe sa tablespace gamit ang bag-ong master key;

  • nag-update sa key id sa bag-ong MAXTINUODID;

  • kung ang UUID lahi sa server UUID, unya i-update ang server UUID.

Sama sa nahibal-an namon, ang Master Key ID nga gigamit sa pag-decrypt sa usa ka lamesa naglangkob sa usa ka UUID ug usa ka KEY ID nga gibasa gikan sa header sa tablespace. Ang among gibuhat karon mao ang pag-update niini nga impormasyon sa tablespace encryption header aron ang server makadawat sa husto nga master key.

Kung kita adunay mga tablespace gikan sa lain-laing mga lokasyon, sama sa lain-laing mga backups, nan sila mahimong mogamit sa lain-laing mga master yawe. Ang tanan niini nga mga master key kinahanglan nga makuha gikan sa repository kung magsugod ang server. Kini makapahinay sa pagsugod sa server, labi na kung gigamit ang usa ka tindahan sa kilid sa server. Uban sa master key rotation, among gi-encrypt pag-usab ang mga yawe sa tablespace gamit ang usa ka master key nga parehas sa tanang tablespace. Ang server kinahanglan nga makadawat lamang usa ka master key sa pagsugod.

Kini, siyempre, usa lamang ka makapahimuot nga epekto. Ang nag-unang katuyoan sa master key rotation mao ang paghimo sa among server nga mas luwas. Sa panghitabo nga ang master key sa usa ka paagi gikawat gikan sa vault (pananglitan, gikan sa Vault Server), posible nga makamugna og bag-ong master key ug i-encrypt pag-usab ang mga yawe sa tablespace, nga dili balido ang gikawat nga yawe. Luwas na kami...hapit na.

Sa usa ka miaging artikulo, akong gihisgutan kung giunsa ang usa ka yawe sa tablespace gikawat, ang usa ka ikatulo nga partido magamit kini aron ma-decrypt ang datos. Gihatag nga adunay access sa among disk. Kung gikawat ang master key ug adunay ka access sa naka-encrypt nga data, mahimo nimong gamiton ang gikawat nga master key aron ma-decrypt ang tablespace key ug makuha ang decrypted data. Sama sa imong makita, ang rotation sa master key dili makatabang niini nga kaso. Gi-encrypt namo pag-usab ang yawe sa tablespace gamit ang bag-ong master key, apan ang aktuwal nga yawe nga gigamit sa pag-encrypt/pag-decrypt sa datos nagpabilin nga pareho. Busa, ang "hacker" mahimong magpadayon sa paggamit niini sa pag-decrypt sa datos. Sa sayo pa ako nagparamdam niana Percona Server alang sa MySQL makahimo sa tinuod nga tablespace re-encryption, dili lang yano nga tablespace key re-encryption. Kini nga bahin gitawag nga encryption thread. Bisan pa, kini nga pag-andar eksperimento gihapon sa pagkakaron.

Mapuslanon ang rotation sa master key kung gikawat ang master key, apan wala’y paagi alang sa usa ka tig-atake nga gamiton kini ug i-decrypt ang mga yawe sa tablespace.

Pag-sign up alang sa usa ka libre nga leksyon sa demo.

Basaha ang dugang pa:

Source: www.habr.com