Amgryptio yn MySQL: Cylchdro Prif Allwedd

Gan ragweld dechrau ymrestriad newydd ar gyfer y cwrs "Cronfa ddata" rydym yn parhau i gyhoeddi cyfres o erthyglau am amgryptio yn MySQL.

Yn yr erthygl flaenorol yn y gyfres hon, buom yn trafod sut mae amgryptio allwedd meistr yn gweithio. Heddiw, yn seiliedig ar y wybodaeth a gafwyd yn gynharach, gadewch i ni edrych ar gylchdroi'r prif allweddi.

Mae cylchdroi allwedd meistr yn golygu cynhyrchu prif allwedd newydd ac ail-amgryptio'r bysellau gofod bwrdd (sy'n cael eu storio ym mhenawdau'r gofod bwrdd) gyda'r allwedd newydd hon.

Gadewch i ni gofio sut olwg sydd ar bennawd gofod bwrdd wedi'i amgryptio:

Amgryptio yn MySQL: Cylchdro Prif Allwedd

O'r erthygl flaenorol, rydym yn gwybod bod y gweinydd yn darllen penawdau'r holl ofodau bwrdd wedi'u hamgryptio wrth gychwyn ac yn cofio'r ID ALLWEDDOL mwyaf. Er enghraifft, os oes gennym dri thabl gydag ALLWEDDOLID = 3 ac un bwrdd gydag ALLWEDDOLID = 4, yna bydd yr ID allweddol mwyaf yn 4. Gadewch i ni alw hwn ID ALLWEDDOL - MAX ID ALLWEDDOL.

Sut mae cylchdroi allwedd meistr yn gweithio

1. Mae'r defnyddiwr yn gweithredu ALTER INNODB MASTER ALLWEDDOL.

2. Mae'r gweinydd yn gofyn am y cylch allweddi i gynhyrchu prif allwedd newydd gyda'r UUID gweinyddwr ac ALLWEDDOLID hafal i un plws MAXALLWEDDOLID. Felly rydyn ni'n cael prif id allwedd sy'n cyfateb i INNODBALLWEDD-UUID-(MAXALLWEDDOLID + 1). Ar ôl cynhyrchu'r prif allwedd yn llwyddiannus, cynyddir ID ALLWEDDOL MAX ag un (h.y. MAXALLWEDDOLID=MAXALLWEDDOLID + 1).

3. Mae'r gweinydd yn sganio'r holl ofodau bwrdd sydd wedi'u hamgryptio gyda'r prif allwedd, ac ar gyfer pob gofod bwrdd:

  • yn amgryptio'r allwedd gofod bwrdd gyda'r prif allwedd newydd;

  • yn diweddaru'r id allweddol i'r MAX newyddALLWEDDOLID;

  • os yw'r UUID yn wahanol i'r UUID gweinydd, yna diweddarwch UUID y gweinydd.

Fel y gwyddom, mae'r Prif ID Allwedd a ddefnyddir i ddadgryptio tabl yn cynnwys UUID a ID ALLWEDDOL a ddarllenir o bennawd y gofod bwrdd. Yr hyn yr ydym yn ei wneud nawr yw diweddaru'r wybodaeth hon ym mhennyn amgryptio'r gofod bwrdd fel bod y gweinydd yn derbyn yr allwedd meistr gywir.

Os oes gennym ofodau bwrdd o wahanol leoliadau, fel gwahanol gopïau wrth gefn, yna efallai y byddant yn defnyddio allweddi meistr gwahanol. Bydd angen adalw'r holl brif allweddi hyn o'r gadwrfa pan fydd y gweinydd yn dechrau. Gall hyn arafu cychwyniad y gweinydd, yn enwedig os defnyddir storfa allweddi ochr y gweinydd. Gyda chylchdroi allwedd meistr, rydym yn ail-amgryptio bysellau gofod bwrdd gydag un prif allwedd sydd yr un peth ar gyfer pob gofod bwrdd. Dylai'r gweinydd nawr dderbyn un prif allwedd wrth gychwyn.

Mae hyn, wrth gwrs, dim ond sgîl-effaith dymunol. Prif bwrpas cylchdroi allwedd meistr yw gwneud ein gweinydd yn fwy diogel. Os digwydd i'r prif allwedd gael ei ddwyn o'r gladdgell (er enghraifft, o'r Vault Server), mae'n bosibl cynhyrchu prif fysell newydd ac ail-amgryptio'r bysellau gofod bwrdd, gan annilysu'r allwedd sydd wedi'i dwyn. Rydyn ni'n ddiogel...bron.

Mewn erthygl flaenorol, siaradais am sut unwaith y bydd allwedd gofod bwrdd yn cael ei ddwyn, gall trydydd parti ei ddefnyddio i ddadgryptio data. Ar yr amod bod mynediad i'n disg. Os caiff y prif allwedd ei ddwyn a bod gennych fynediad at y data wedi'i amgryptio, gallwch ddefnyddio'r allwedd meistr sydd wedi'i ddwyn i ddadgryptio'r allwedd gofod bwrdd a chael y data dadgryptio. Fel y gwelwch, nid yw cylchdroi'r prif allwedd yn helpu yn yr achos hwn. Rydym yn ail-amgryptio'r allwedd gofod bwrdd gyda'r prif allwedd newydd, ond mae'r allwedd wirioneddol a ddefnyddir i amgryptio / dadgryptio'r data yn aros yr un fath. Felly, gall y "haciwr" barhau i'w ddefnyddio i ddadgryptio'r data. Yn gynharach awgrymais hynny Gweinydd Percona ar gyfer MySQL yn gallu ail-amgryptio gofod bwrdd go iawn, nid dim ond ail-amgryptio bysell gofod bwrdd syml. Gelwir y nodwedd hon yn edafedd amgryptio. Fodd bynnag, mae'r swyddogaeth hon yn dal i fod yn arbrofol ar hyn o bryd.

Mae cylchdroi allwedd meistr yn ddefnyddiol pan fydd y prif allwedd yn cael ei ddwyn, ond nid oes unrhyw ffordd i ymosodwr ei ddefnyddio a dadgryptio'r bysellau gofod bwrdd.

Cofrestrwch ar gyfer gwers demo rhad ac am ddim.

Darllen mwy:

Ffynhonnell: hab.com