{"id":97667,"date":"2020-10-20T08:42:25","date_gmt":"2020-10-20T06:42:25","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/shifrovanie-v-mysql-ispolzovanie-master-key"},"modified":"2020-10-20T08:42:25","modified_gmt":"2020-10-20T06:42:25","slug":"shifrovanie-v-mysql-ispolzovanie-master-key","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/shifrovanie-v-mysql-ispolzovanie-master-key","title":{"rendered":"\u0160ifrovanie v MySQL: pou\u017eitie Master Key","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h2><\/h2>\n<p><strong><em>Pred spusten\u00edm nov\u00e9ho kurzu&nbsp;<\/em><\/strong><noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/wMyj\/\"><strong><em>\u201eDatab\u00e1zy\u201c<\/em><\/strong><\/a><\/noindex><strong><em>&nbsp;pokra\u010dujeme v publikovan\u00ed s\u00e9rie \u010dl\u00e1nkov o \u0161ifrovan\u00ed v MySQL.<\/em><\/strong><\/p>\n<p><img decoding=\"async\" alt=\"\u0160ifrovanie v MySQL: pou\u017eitie Master Key\" src=\"\/wp-content\/uploads\/2020\/10\/762866d2c321acd726e30606c9108122.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>V predch\u00e1dzaj\u00facom \u010dl\u00e1nku tejto s\u00e9rie (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/522092\/\"><u>\u0160ifrovanie v MySQL: \u00falo\u017eisko k\u013e\u00fa\u010dov<\/u><\/a><\/noindex>) sme hovorili o \u00falo\u017eisk\u00e1ch k\u013e\u00fa\u010dov. V tomto \u010dl\u00e1nku sa pozrieme, ako sa pou\u017e\u00edva hlavn\u00fd k\u013e\u00fa\u010d (master key) a prediskutujeme v\u00fdhody a nev\u00fdhody \u0161ifrovania met\u00f3dou ob\u00e1lok (envelope encryption).&nbsp;<\/p>\n<p>My\u0161lienka \u0161ifrovania ob\u00e1lok spo\u010d\u00edva v tom, \u017ee k\u013e\u00fa\u010de pou\u017e\u00edvan\u00e9 na \u0161ifrovanie (k\u013e\u00fa\u010de tabu\u013ekov\u00fdch priestorov) s\u00fa \u0161ifrovan\u00e9 in\u00fdm k\u013e\u00fa\u010dom (hlavn\u00fdm k\u013e\u00fa\u010dom, master key). Na \u0161ifrovanie \u00fadajov sa v skuto\u010dnosti pou\u017e\u00edvaj\u00fa k\u013e\u00fa\u010de tabu\u013ekov\u00fdch priestorov. Graficky to m\u00f4\u017eeme predstavi\u0165 takto:<\/p>\n<p><img decoding=\"async\" alt=\"\u0160ifrovanie v MySQL: pou\u017eitie Master Key\" src=\"\/wp-content\/uploads\/2020\/10\/385afda0eff739f4720f59799c35b51f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Hlavn\u00fd k\u013e\u00fa\u010d (master key) sa nach\u00e1dza v \u00falo\u017eisku k\u013e\u00fa\u010dov (keyring), pri\u010dom k\u013e\u00fa\u010de tabuliek s\u00fa v hlavi\u010dk\u00e1ch \u0161ifrovan\u00fdch tabuliek (na str\u00e1nke 0 tabulky).&nbsp;<\/p>\n<p>Na obr\u00e1zku vy\u0161\u0161ie:<\/p>\n<ul>\n<li>\n<p>Tabu\u013eka A je za\u0161ifrovan\u00e1 k\u013e\u00fa\u010dom 1 (Key 1). K\u013e\u00fa\u010d 1 sa \u0161ifruje pomocou hlavn\u00e9ho k\u013e\u00fa\u010da (master key) a uchov\u00e1va sa v za\u0161ifrovanej podobe v hlavi\u010dke tabu\u013eky A.<\/p>\n<\/li>\n<li>\n<p>Tabu\u013eka B je za\u0161ifrovan\u00e1 k\u013e\u00fa\u010dom 2 (Key 2). K\u013e\u00fa\u010d 2 sa \u0161ifruje pomocou hlavn\u00e9ho k\u013e\u00fa\u010da (master key) a uchov\u00e1va sa v za\u0161ifrovanej podobe v hlavi\u010dke tabu\u013eky B.<\/p>\n<\/li>\n<li>\n<p>A tak \u010falej.<\/p>\n<\/li>\n<\/ul>\n<p>Ke\u010f server potrebuje de\u0161ifrova\u0165 tabu\u013eku A, z\u00edska hlavn\u00fd k\u013e\u00fa\u010d z \u00falo\u017eiska, pre\u010d\u00edta za\u0161ifrovan\u00fd k\u013e\u00fa\u010d 1 z hlavi\u010dky tabu\u013eky A a de\u0161ifruje k\u013e\u00fa\u010d 1. De\u0161ifrovan\u00fd k\u013e\u00fa\u010d 1 sa uklad\u00e1 do cache pam\u00e4te servera a pou\u017e\u00edva sa na de\u0161ifrovanie tabu\u013eky A.<\/p>\n<h3>InnoDB<\/h3>\n<p>V InnoDB sa skuto\u010dn\u00e9 \u0161ifrovanie a de\u0161ifrovanie vykon\u00e1va na \u00farovni vstupu\/v\u00fdstupu. Teda str\u00e1nka sa \u0161ifruje priamo predt\u00fdm, ako sa zapisuje na disk, a de\u0161ifruje sa hne\u010f po na\u010d\u00edtan\u00ed z disku.<\/p>\n<p>V InnoDB \u0161ifrovanie funguje iba na \u00farovni tabu\u013ekov\u00fdch priestorov. A predvolene s\u00fa v\u0161etky tabu\u013eky vytv\u00e1ran\u00e9 v samostatn\u00fdch tabu\u013ekov\u00fdch priestoroch (<noindex><a rel=\"nofollow\" href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/innodb-file-per-table-tablespaces.html\"><u>file-per-table tablespace<\/u><\/a><\/noindex>). In\u00fdmi slovami, vytv\u00e1ra sa tabu\u013ekov\u00fd priestor, ktor\u00fd m\u00f4\u017ee obsahova\u0165 iba jednu tabu\u013eku. Aj ke\u010f m\u00f4\u017eete vytv\u00e1ra\u0165 tabu\u013eky aj v hlavnom tabu\u013ekovom priestore (<noindex><a rel=\"nofollow\" href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/general-tablespaces.html\"><u>general tablespace<\/u><\/a><\/noindex>). V ka\u017edom pr\u00edpade v\u0161ak tabu\u013eka v\u017edy existuje v nejakom tabu\u013ekovom priestore. A ke\u010f\u017ee \u0161ifrovanie sa vykon\u00e1va na \u00farovni tabu\u013ekov\u00e9ho priestoru, m\u00f4\u017ee by\u0165 bu\u010f \u00faplne za\u0161ifrovan\u00e9, alebo nie. To znamen\u00e1, \u017ee nie je mo\u017en\u00e9 za\u0161ifrova\u0165 iba \u010das\u0165 tabuliek v hlavnom tabu\u013ekovom priestore.&nbsp;<\/p>\n<p>Ak m\u00e1te z nejak\u00e9ho d\u00f4vodu vypnut\u00fa funkciu file-per-table, v\u0161etky tabu\u013eky sa vytv\u00e1raj\u00fa v r\u00e1mci syst\u00e9mov\u00e9ho tabu\u013ekov\u00e9ho priestoru (system tablespace). V <noindex><a rel=\"nofollow\" href=\"https:\/\/www.percona.com\/software\/mysql-database\/percona-server\"><u>Percona Server for MySQL<\/u><\/a><\/noindex> m\u00f4\u017eete za\u0161ifrova\u0165 syst\u00e9mov\u00fd tabu\u013ekov\u00fd priestor pomocou premennej innodb<em>sys<\/em>tablespace<em>encrypt alebo pomocou \u0161ifrovac\u00edch vl\u00e1ken (encryption threads), ale to je st\u00e1le experiment\u00e1lna funkcia. V MySQL to nie je.<\/em><\/p>\n<p><em>Predt\u00fdm, ne\u017e p\u00f4jdeme \u010falej, je potrebn\u00e9 presk\u00fama\u0165 \u0161trukt\u00faru identifik\u00e1tora hlavn\u00e9ho k\u013e\u00fa\u010da (master key ID). Sklad\u00e1 sa z UUID, KEY<\/em>ID a prefix \u00abINNODBKey\u00bb. Vyzer\u00e1 to takto: INNODBKey-UUID-KEY<em>ID.<\/em><\/p>\n<p><em>UUID \u2014 to je uuid servera so \u0161ifrovanou tabu\u013ekou. K\u013d\u00da\u010c<\/em>ID \u2014 to je jednoducho neust\u00e1le sa zvy\u0161uj\u00faca hodnota. Pri prvotnom vytvoren\u00ed hlavn\u00e9ho k\u013e\u00fa\u010da K\u013d\u00da\u010c<em>ID rovn\u00e9 1. Pri rot\u00e1cii k\u013e\u00fa\u010da, ke\u010f sa vytvor\u00ed nov\u00fd hlavn\u00fd k\u013e\u00fa\u010d, KEY<\/em>ID = 2 a tak \u010falej. O rot\u00e1cii hlavn\u00fdch k\u013e\u00fa\u010dov budeme podrobnej\u0161ie hovori\u0165 v nasleduj\u00facich \u010dl\u00e1nkoch tejto s\u00e9rie.<\/p>\n<p>Teraz, ke\u010f vieme, ak\u00fd je identifik\u00e1tor hlavn\u00e9ho k\u013e\u00fa\u010da, pozrime sa na hlavi\u010dku za\u0161ifrovan\u00e9ho tabu\u013ekov\u00e9ho priestoru. Ke\u010f sa tabu\u013ekov\u00fd priestor \u0161ifruje, inform\u00e1cie o \u0161ifrovan\u00ed sa prid\u00e1vaj\u00fa k hlavi\u010dke. Vyzer\u00e1 to nasledovne:<\/p>\n<p><img decoding=\"async\" alt=\"\u0160ifrovanie v MySQL: pou\u017eitie Master Key\" src=\"\/wp-content\/uploads\/2020\/10\/0703933a85f0a106c07c0dbd6b7f4186.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>K\u013d\u00da\u010c ID \u2014 to je K\u013d\u00da\u010c<em>ID z identifik\u00e1tora hlavn\u00e9ho k\u013e\u00fa\u010da, o ktorom sme u\u017e hovorili. UUID \u2014 to je uuid servera, ktor\u00e9 je tie\u017e pou\u017eit\u00e9 v identifik\u00e1tore hlavn\u00e9ho k\u013e\u00fa\u010da. TABLESPACE K\u013d\u00da\u010c \u2014 k\u013e\u00fa\u010d tabuliek, ktor\u00fd sa sklad\u00e1 z 256 bitov n\u00e1hodne vygenerovan\u00fdch serverom. Vektor inicializ\u00e1cie (IV, initialization vector) sa tie\u017e sklad\u00e1 z 256 n\u00e1hodne vygenerovan\u00fdch bitov (aj ke\u010f by mal ma\u0165 128 bitov). IV sa pou\u017e\u00edva na inicializ\u00e1ciu \u0161ifrovania a de\u0161ifrovania AES (z 256 bitov sa pou\u017e\u00edva len 128). Na konci sa nach\u00e1dza kontroln\u00fd s\u00fa\u010det CRC32 pre TABLESPACE K\u013d\u00da\u010c a IV.<\/em><\/p>\n<p><em>Cel\u00fd \u010das som to trochu zjednodu\u0161oval, ke\u010f som hovoril, \u017ee v hlavi\u010dke je za\u0161ifrovan\u00fd k\u013e\u00fa\u010d tabu\u013ekov\u00e9ho priestoru. V skuto\u010dnosti s\u00fa k\u013e\u00fa\u010d tabu\u013ekov\u00e9ho priestoru a inicia\u010dn\u00fd vektor ulo\u017een\u00e9 a \u0161ifrovan\u00e9 spolu pomocou hlavn\u00e9ho k\u013e\u00fa\u010da. Pam\u00e4tajte, \u017ee pred \u0161ifrovan\u00edm k\u013e\u00fa\u010da tabu\u013ekov\u00e9ho priestoru a inicia\u010dn\u00e9ho vektora sa pre nich vypo\u010d\u00edtava CRC32.<\/em><\/p>\n<h3>Na \u010do je CRC32 dobr\u00e9?<\/h3>\n<p><em>Ak v dvoch slov\u00e1ch, aby ste sa uistili o platnosti hlavn\u00e9ho k\u013e\u00fa\u010da. Po de\u0161ifrovan\u00ed k\u013e\u00fa\u010da tabu\u013ekov\u00e9ho priestoru a inicializa\u010dn\u00e9ho vektora sa vypo\u010d\u00edta kontroln\u00e1 suma a porovn\u00e1 s CRC32 ulo\u017een\u00fdm v hlavi\u010dke. Ak sa kontroln\u00e9 sumy zhoduj\u00fa, m\u00e1me spr\u00e1vny hlavn\u00fd k\u013e\u00fa\u010d a k\u013e\u00fa\u010d tabu\u013ekov\u00e9ho priestoru. V opa\u010dnom pr\u00edpade je tabu\u013ekov\u00fd priestor ozna\u010den\u00fd ako ch\u00fdbaj\u00faci (aj tak ho nebudeme m\u00f4c\u0165 de\u0161ifrova\u0165).<\/em><\/p>\n<p><em>M\u00f4\u017eete sa p\u00fdta\u0165: kedy sa uskuto\u010d\u0148uje overenie k\u013e\u00fa\u010dov? Odpove\u010f \u2014 pri spusten\u00ed servera. Server so \u0161ifrovan\u00fdmi tabu\u013ekami\/tabulkami pri \u0161tarte na\u010d\u00edta UUID, K\u013d\u00da\u010c<\/em>ID z hlavi\u010dky a generuje identifik\u00e1tor hlavn\u00e9ho k\u013e\u00fa\u010da. Potom z\u00edska potrebn\u00fd hlavn\u00fd k\u013e\u00fa\u010d z \u00falo\u017eiska (keyring), de\u0161ifruje k\u013e\u00fa\u010d tabuliek a over\u00ed kontroln\u00fd s\u00fa\u010det. E\u0161te raz, ak kontroln\u00fd s\u00fa\u010det s\u00fahlas\u00ed, je v\u0161etko v poriadku, ak nie \u2014 tabu\u013eka je ozna\u010den\u00e1 ako ch\u00fdbaj\u00faca.<\/p>\n<p>Ak ste \u010d\u00edtali predch\u00e1dzaj\u00faci \u010dl\u00e1nok tejto s\u00e9rie (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/522092\/\"><u>\u0160ifrovanie v MySQL: \u00falo\u017eisko k\u013e\u00fa\u010dov<\/u><\/a><\/noindex>), mo\u017eno si pam\u00e4t\u00e1te, \u017ee pri pou\u017eit\u00ed serverov\u00e9ho \u00falo\u017eiska k\u013e\u00fa\u010dov server pri spusten\u00ed dost\u00e1va iba zoznam identifik\u00e1torov k\u013e\u00fa\u010dov, presnej\u0161ie, key id a user id, preto\u017ee t\u00e1to dvojica jednozna\u010dne identifikuje k\u013e\u00fa\u010d. A teraz hovor\u00edm, \u017ee server pri spusten\u00ed dost\u00e1va v\u0161etky k\u013e\u00fa\u010de, ktor\u00e9 potrebuje na overenie mo\u017enosti de\u0161ifrovania k\u013e\u00fa\u010dov tabu\u013ekov\u00fdch priestorov. Tak pre\u010do pri inicializ\u00e1cii, v pr\u00edpade serverov\u00e9ho \u00falo\u017eiska, na\u010d\u00edtavaj\u00fa iba key<em>id a user<\/em>id, a nie v\u0161etky k\u013e\u00fa\u010de? Preto\u017ee v\u00e1m nemusia by\u0165 potrebn\u00e9 v\u0161etky k\u013e\u00fa\u010de. Hlavne to s\u00favis\u00ed s rot\u00e1ciou hlavn\u00e9ho k\u013e\u00fa\u010da. Pri rot\u00e1cii hlavn\u00e9ho k\u013e\u00fa\u010da sa v \u00falo\u017eisku vytvor\u00ed nov\u00fd hlavn\u00fd k\u013e\u00fa\u010d, ale star\u00e9 k\u013e\u00fa\u010de nie s\u00fa odstra\u0148ovan\u00e9. Takto m\u00f4\u017ee by\u0165 v serverovom \u00falo\u017eisku k\u013e\u00fa\u010dov ve\u013ea k\u013e\u00fa\u010dov, ktor\u00e9 server nepotrebuje a preto sa pri spusten\u00ed servera nevytiahnu.<\/p>\n<p>Je \u010das trochu pohovo\u0159it o v\u00fdhod\u00e1ch a nev\u00fdhod\u00e1ch \u0161ifrov\u00e1n\u00ed pomoc\u00ed hlavn\u00edho kl\u00ed\u010de. Nejv\u011bt\u0161\u00ed v\u00fdhodou je, \u017ee pot\u0159ebujete pouze jeden \u0161ifrovac\u00ed kl\u00ed\u010d (hlavn\u00ed kl\u00ed\u010d), kter\u00fd bude ulo\u017een odd\u011blen\u011b od va\u0161ich za\u0161ifrovan\u00fdch dat. To urychluje spu\u0161t\u011bn\u00ed serveru a zmen\u0161uje \u00falo\u017ei\u0161t\u011b, co\u017e usnad\u0148uje spr\u00e1vu. A tak\u00e9, jedin\u00fd hlavn\u00ed kl\u00ed\u010d lze snadno znovu vygenerovat.<\/p>\n<p>\u0160ifrov\u00e1n\u00ed pomoc\u00ed hlavn\u00edho kl\u00ed\u010de v\u0161ak m\u00e1 jednu velkou nev\u00fdhodu: jakmile je tabulkov\u00fd prostor za\u0161ifrov\u00e1n pomoc\u00ed tablespace_key, v\u017edy z\u016fst\u00e1v\u00e1 \u0161ifrov\u00e1n stejn\u00fdm kl\u00ed\u010dem. Rotace hlavn\u00edho kl\u00ed\u010de zde nepom\u00e1h\u00e1. Pro\u010d je to nev\u00fdhoda? V\u00edme, \u017ee v MySQL existuj\u00ed chyby, kter\u00e9 mohou v\u00e9st k n\u00e1hl\u00e9mu selh\u00e1n\u00ed a vytvo\u0159en\u00ed core souboru. Proto\u017ee core soubor obsahuje dump pam\u011bti serveru, m\u016f\u017ee se st\u00e1t, \u017ee v dumpu bude de\u0161ifrovan\u00fd kl\u00ed\u010d tabulkov\u00e9ho prostoru. Co je je\u0161t\u011b hor\u0161\u00ed, de\u0161ifrovan\u00e9 kl\u00ed\u010de tabulkov\u00e9ho prostoru se ukl\u00e1daj\u00ed do pam\u011bti, kter\u00e1 m\u016f\u017ee b\u00fdt swapov\u00e1na na disk. M\u016f\u017eete \u0159\u00edct, \u017ee to nen\u00ed nev\u00fdhoda, proto\u017ee pot\u0159ebujete root pr\u00e1va k p\u0159\u00edstupu k t\u011bmto soubor\u016fm a swapov\u00e9 oblasti. Ano. Ale root je pot\u0159eba jen na chv\u00edli. Jakmile n\u011bkdo z\u00edsk\u00e1 p\u0159\u00edstup k de\u0161ifrovan\u00e9mu kl\u00ed\u010di tabulkov\u00e9ho prostoru, m\u016f\u017ee pokra\u010dovat v jeho pou\u017e\u00edv\u00e1n\u00ed pro de\u0161ifrov\u00e1n\u00ed dat, i kdy\u017e nem\u00e1 root pr\u00e1va. Nav\u00edc m\u016f\u017ee b\u00fdt disk ukraden, a swapov\u00e9 oblasti \/ core soubory lze \u010d\u00edst pomoc\u00ed t\u0159et\u00edch stran. C\u00edlem TDE je u\u010dinit je ne\u010diteln\u00fdmi, i kdy\u017e bude disk ukraden. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.percona.com\/software\/mysql-database\/percona-server\"><u>Percona Server for MySQL<\/u><\/a><\/noindex> existuje mo\u017enost op\u011btovn\u00e9ho \u0161ifrov\u00e1n\u00ed tabulkov\u00e9ho prostoru s nov\u011b vygenerovan\u00fdmi kl\u00ed\u010di. Tato funkce se naz\u00fdv\u00e1 \u0161ifrovac\u00ed vl\u00e1kna (encryption threads) a v dob\u011b psan\u00ed tohoto \u010dl\u00e1nku je st\u00e1le experiment\u00e1ln\u00ed.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/wMyj\/\"><strong>Zisti\u0165 viac o kurze<\/strong><\/a><\/noindex><\/p>\n<h3>\u010c\u00edta\u0165 \u010falej:<\/h3>\n<ul>\n<li>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/522092\/\">\u0160ifrovanie v MySQL: \u00falo\u017eisko k\u013e\u00fa\u010dov<\/a><\/noindex><\/p>\n<\/li>\n<\/ul>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/524050\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0440\u0442\u0430 \u043d\u043e\u0432\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u043d\u0430 \u043a\u0443\u0440\u0441&nbsp;\u00ab\u0411\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445\u00bb&nbsp;\u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0440\u0438\u044e \u0441\u0442\u0430\u0442\u0435\u0439 \u043f\u0440\u043e \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 MySQL. \u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044d\u0442\u043e\u0439 \u0441\u0435\u0440\u0438\u0438 (\u0428\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 MySQL: \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u043a\u043b\u044e\u0447\u0435\u0439) \u043c\u044b \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430\u0445 \u043a\u043b\u044e\u0447\u0435\u0439. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 (master key), \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u0431\u0441\u0443\u0434\u0438\u043c \u0434\u043e\u0441\u0442\u043e\u0438\u043d\u0441\u0442\u0432\u0430 \u0438 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u0435\u0442\u043e\u0434\u043e\u043c \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u043e\u0432 (envelope encryption).&nbsp; \u0418\u0434\u0435\u044f \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u043e\u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":97668,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-97667","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0440\u0442\u0430 \u043d\u043e\u0432\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u043d\u0430 \u043a\u0443\u0440\u0441 \u00ab\u0411\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445\u00bb \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/shifrovanie-v-mysql-ispolzovanie-master-key\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0428\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 MySQL: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Master Key | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0440\u0442\u0430 \u043d\u043e\u0432\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u043d\u0430 \u043a\u0443\u0440\u0441 \u00ab\u0411\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445\u00bb \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/shifrovanie-v-mysql-ispolzovanie-master-key\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-10-20T06:42:25+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-10-20T06:42:25+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47\u0160ifrov\u00e1n\u00ed v MySQL: pou\u017eit\u00ed Master Key | ProHoster","description":"V o\u010dak\u00e1van\u00ed za\u010diatku nov\u00e9ho prihl\u00e1senia na kurz \u201eDatab\u00e1zy\u201c pokra\u010dujeme.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/shifrovanie-v-mysql-ispolzovanie-master-key","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0428\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 MySQL: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Master Key | ProHoster","og:description":"\u0412 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0440\u0442\u0430 \u043d\u043e\u0432\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u043d\u0430 \u043a\u0443\u0440\u0441 \u00ab\u0411\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445\u00bb \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c.","og:url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/shifrovanie-v-mysql-ispolzovanie-master-key","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-10-20T06:42:25+00:00","article:modified_time":"2020-10-20T06:42:25+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"97667","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 10:15:28","updated":"2022-10-03 07:13:51","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/97667","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=97667"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/97667\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media\/97668"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=97667"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=97667"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=97667"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}