{"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\/it\/blog\/administrirovanie\/shifrovanie-v-mysql-ispolzovanie-master-key","title":{"rendered":"Crittografia in MySQL: utilizzo della Master Key","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h2><\/h2>\n<p><strong><em>In vista dell'inizio di un nuovo ciclo del corso&nbsp;<\/em><\/strong><noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/wMyj\/\"><strong><em>\u00abBasi di dati\u00bb<\/em><\/strong><\/a><\/noindex><strong><em>&nbsp;continuiamo a pubblicare una serie di articoli sulla crittografia in MySQL.<\/em><\/strong><\/p>\n<p><img decoding=\"async\" alt=\"Crittografia in MySQL: utilizzo della Master Key\" src=\"\/wp-content\/uploads\/2020\/10\/762866d2c321acd726e30606c9108122.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Nell'articolo precedente di questa serie (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/522092\/\"><u>Crittografia in MySQL: archivio delle chiavi<\/u><\/a><\/noindex>) abbiamo parlato dei portafogli delle chiavi. In questo articolo vedremo come viene utilizzata la chiave principale (master key) e discuteremo i pro e i contro della crittografia tramite buste (envelope encryption).&nbsp;<\/p>\n<p>L'idea della crittografia tramite buste \u00e8 che le chiavi utilizzate per la crittografia (le chiavi degli spazi delle tabelle) sono crittografate con un'altra chiave (la chiave principale, master key). Per crittografare i dati si utilizzano effettivamente le chiavi degli spazi delle tabelle. Graficamente, pu\u00f2 essere rappresentato in questo modo:<\/p>\n<p><img decoding=\"async\" alt=\"Crittografia in MySQL: utilizzo della Master Key\" src=\"\/wp-content\/uploads\/2020\/10\/385afda0eff739f4720f59799c35b51f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>La chiave principale (master key) si trova nel keystore (keyring), mentre le chiavi degli spazi di tabella sono negli header degli spazi di tabella crittografati (nella pagina 0 dello spazio di tabella).&nbsp;<\/p>\n<p>Nell'immagine sopra:<\/p>\n<ul>\n<li>\n<p>La Tabella A \u00e8 crittografata con la chiave 1 (Key 1). La chiave 1 \u00e8 crittografata con la chiave principale (master key) e conservata in forma crittografata nell'header della Tabella A.<\/p>\n<\/li>\n<li>\n<p>La Tabella B \u00e8 crittografata con la chiave 2 (Key 2). La chiave 2 \u00e8 crittografata con la chiave principale (master key) e conservata in forma crittografata nell'header della Tabella B.<\/p>\n<\/li>\n<li>\n<p>E cos\u00ec via.<\/p>\n<\/li>\n<\/ul>\n<p>Quando un server deve decifrare la tabella A, ottiene la chiave principale dallo storage, legge la chiave crittografata 1 dall'intestazione della tabella A e decifra la chiave 1. La chiave decifrata 1 viene memorizzata nella cache della memoria del server e utilizzata per decifrare la tabella A.<\/p>\n<h3>InnoDB<\/h3>\n<p>In InnoDB, la crittografia e la decrittografia effettive avvengono a livello di input\/output. Ci\u00f2 significa che la pagina viene crittografata immediatamente prima di essere scritta su disco e decrittografata immediatamente dopo essere stata letta dal disco.<\/p>\n<p>In InnoDB, la crittografia funziona solo a livello di tablespace. E per impostazione predefinita, tutte le tabelle sono create in spazi di tabella separati (<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 altre parole, viene creato uno spazio di tabella che pu\u00f2 contenere solo una tabella. Anche se \u00e8 possibile creare tabelle anche nello spazio tabella generale (<noindex><a rel=\"nofollow\" href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/general-tablespaces.html\"><u>general tablespace<\/u><\/a><\/noindex>). Tuttavia, in qualsiasi caso, la tabella si trova sempre all'interno di uno spazio tabellare. E poich\u00e9 la crittografia avviene a livello di spazio tabellare, \u00e8 completamente crittografata o non lo \u00e8 affatto. Non \u00e8 possibile crittografare solo alcune tabelle all'interno dello spazio tabellare principale.&nbsp;<\/p>\n<p>Se per qualche motivo file-per-table \u00e8 disabilitato, tutte le tabelle vengono create all'interno dello spazio tabellare di sistema (system tablespace). In <noindex><a rel=\"nofollow\" href=\"https:\/\/www.percona.com\/software\/mysql-database\/percona-server\"><u>Percona Server for MySQL<\/u><\/a><\/noindex> \u00e8 possibile crittografare lo spazio tabellare di sistema utilizzando la variabile innodb<em>sys<\/em>tablespace<em>encrypt o tramite flussi di crittografia (encryption threads), ma questa \u00e8 ancora una funzione sperimentale. In MySQL non \u00e8 presente.<\/em><\/p>\n<p><em>Prima di procedere, dobbiamo esaminare la struttura dell'identificatore della chiave principale (master key ID). Esso consiste in UUID, KEY<\/em>ID e prefisso \u00abINNODBKey\u00bb. Appare cos\u00ec: INNODBKey-UUID-KEY<em>ID.<\/em><\/p>\n<p><em>UUID \u00e8 l'uuid del server con lo spazio di tabella crittografato. KEY<\/em>ID \u00e8 semplicemente un valore in aumento continuo. Al momento della creazione iniziale della chiave principale KEY<em>ID \u00e8 uguale a 1. Durante la rotazione della chiave, quando viene creato un nuovo master key, KEY<\/em>ID = 2 e cos\u00ec via. Parleremo pi\u00f9 nel dettaglio della rotazione delle chiavi primarie nei prossimi articoli di questa serie.<\/p>\n<p>Ora che sappiamo come appare l'identificatore della chiave primaria, diamo un'occhiata all'intestazione dello tablespace criptato. Quando lo tablespace \u00e8 crittografato, le informazioni sulla crittografia vengono aggiunte all'intestazione. Questo \u00e8 come appare:<\/p>\n<p><img decoding=\"async\" alt=\"Crittografia in MySQL: utilizzo della Master Key\" src=\"\/wp-content\/uploads\/2020\/10\/0703933a85f0a106c07c0dbd6b7f4186.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>KEY ID \u00e8 la KEY<em>ID dall'identificatore della chiave principale di cui abbiamo gi\u00e0 parlato. UUID \u00e8 l'uuid del server, usato anche nell'identificatore della chiave principale. TABLESPACE KEY \u00e8 la chiave dello spazio di tabella, composta da 256 bit generati casualmente dal server. Il vettore di inizializzazione (IV, initialization vector) \u00e8 anch'esso composto da 256 bit generati casualmente (anche se dovrebbe essere di 128 bit). L'IV viene utilizzato per inizializzare la crittografia e la decrittografia AES (da 256 bit vengono utilizzati solo 128). Alla fine vi \u00e8 un checksum CRC32 per TABLESPACE KEY e IV.<\/em><\/p>\n<p><em>Fino ad ora ho semplificato un po', dicendo che nell'intestazione si trova una chiave cifrata dello spazio tabelle. In realt\u00e0, la chiave dello spazio tabelle e il vettore di inizializzazione sono memorizzati e cifrati insieme mediante una chiave principale. Ricordate che prima della cifratura della chiave dello spazio tabelle e del vettore di inizializzazione, viene calcolato CRC32.<\/em><\/p>\n<h3>A cosa serve il CRC32?<\/h3>\n<p><em>In poche parole, serve a garantire la validit\u00e0 della chiave principale. Dopo che la chiave dello spazio tabelle e il vettore di inizializzazione sono stati decrittografati, viene calcolata una somma di controllo e confrontata con il CRC32 memorizzato nell'intestazione. Se le somme di controllo coincidono, abbiamo la chiave principale corretta e la chiave dello spazio tabelle. Altrimenti, lo spazio tabelle viene contrassegnato come mancante (non saremo comunque in grado di decrittografarlo).<\/em><\/p>\n<p><em>Puoi chiederti: in quale momento avviene il controllo delle chiavi? La risposta \u00e8: all'avvio del server. Il server con tabelle crittografate&nbsp; \/ spazi di tabella legge l'UUID e la KEY all'avvio.<\/em>L'ID nell'intestazione genera l'identificativo principale della chiave. Successivamente, ottiene la chiave principale necessaria dal keyring, decrittografa la chiave dello spazio di tabella e verifica il checksum. Ancora una volta, se il checksum corrisponde, tutto va bene; altrimenti, lo spazio di tabella viene contrassegnato come mancante.<\/p>\n<p>Se hai letto il precedente articolo di questa serie (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/522092\/\"><u>Crittografia in MySQL: archivio delle chiavi<\/u><\/a><\/noindex>), potresti ricordare che, quando si utilizza un server di memorizzazione chiavi, il server all'avvio riceve solo un elenco di identificatori chiave, pi\u00f9 precisamente, key id e user id, poich\u00e9 questa coppia identifica inequivocabilmente la chiave. E ora dico che il server all'avvio riceve tutte le chiavi necessarie per verificare la possibilit\u00e0 di decrittografare le chiavi degli spazi di tabella. Quindi, perch\u00e9 durante l'inizializzazione, nel caso di un'archiviazione di server, vengono caricati solo key<em>id e user<\/em>id, e non tutte le chiavi? Perch\u00e9 potresti non aver bisogno di tutte le chiavi. Questo \u00e8 principalmente legato alla rotazione della chiave principale. Quando la chiave principale viene ruotata, viene creata una nuova chiave principale nel vault, ma le chiavi esistenti non vengono eliminate. In questo modo, nel vault del server potrebbero esserci molte chiavi che non servono al server e quindi non vengono estratte all'avvio del server.<\/p>\n<p>\u00c8 tempo di parlare un po' dei vantaggi e degli svantaggi della crittografia utilizzando la chiave principale. Il principale vantaggio \u00e8 che hai bisogno solo di una chiave di crittografia (la chiave principale), che sar\u00e0 conservata separatamente dai tuoi dati crittografati. Questo rende l'avvio del server rapido e il vault di dimensioni contenute, facilitando la gestione. Inoltre, l'unica chiave principale \u00e8 facile da rigenerare.<\/p>\n<p>Tuttavia, la crittografia con la chiave principale ha un grande svantaggio: una volta che lo spazio di tabella \u00e8 crittografato con la tablespace_key, rimane sempre crittografato con la stessa chiave. La rotazione della chiave principale non aiuta in questo caso. Perch\u00e9 \u00e8 uno svantaggio? Sappiamo che in MySQL ci sono bug che possono portare a un arresto improvviso e alla creazione di un file core. Poich\u00e9 il file core contiene un dump della memoria del server, pu\u00f2 succedere che nel dump ci sia la chiave di spazio tabella decrittografata. Peggio ancora, le chiavi decrittografate dello spazio tabella vengono memorizzate in memoria, che pu\u00f2 essere scambiata su disco. Potresti dire che non \u00e8 uno svantaggio, in quanto sono necessari i diritti di root per accedere a questi file e alla partizione di swap. S\u00ec. Ma i diritti di root sono necessari solo per un certo periodo. Una volta che qualcuno riesce ad accedere alla chiave decrittografata dello spazio tabella, potr\u00e0 continuare a utilizzarla per decrittografare i dati, anche senza diritti di root. Inoltre, il disco pu\u00f2 essere rubato e la partizione di swap\/file core possono essere letti con strumenti di terze parti. L'obiettivo del TDE \u00e8 renderlo illeggibile, anche se il disco viene rubato. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.percona.com\/software\/mysql-database\/percona-server\"><u>Percona Server for MySQL<\/u><\/a><\/noindex> \u00e8 possibile rieseguire la crittografia dello spazio tabellare con nuove chiavi generate. Questa funzione \u00e8 chiamata thread di crittografia (encryption threads) ed \u00e8 ancora sperimentale al momento della scrittura di questo articolo.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/wMyj\/\"><strong>Scopri di pi\u00f9 sul corso<\/strong><\/a><\/noindex><\/p>\n<h3>Leggi di pi\u00f9:<\/h3>\n<ul>\n<li>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/522092\/\">Crittografia in MySQL: archivio delle chiavi<\/a><\/noindex><\/p>\n<\/li>\n<\/ul>\n<p>Fonte: <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 4.9.10 - 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 \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). \u0418\u0434\u0435\u044f \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u043e\u0432 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432\" \/>\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\/it\/blog\/administrirovanie\/shifrovanie-v-mysql-ispolzovanie-master-key\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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 \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). \u0418\u0434\u0435\u044f \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u043e\u0432 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/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\udd47Crittografia in MySQL: utilizzo della Master Key | ProHoster","description":"In vista dell'inizio di un nuovo ciclo per il corso \"Basi di dati\", continuiamo a pubblicare una serie di articoli sulla crittografia in MySQL. Nell'articolo precedente di questa serie (Crittografia in MySQL: repository delle chiavi) abbiamo discusso dei repository delle chiavi. In questo articolo analizzeremo come viene utilizzata la chiave principale (master key) e discuteremo i vantaggi e gli svantaggi della crittografia mediante envelope encryption. L'idea della crittografia a busta consiste nel","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/shifrovanie-v-mysql-ispolzovanie-master-key","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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 \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). \u0418\u0434\u0435\u044f \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u043e\u0432 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432","og:url":"https:\/\/prohoster.info\/it\/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"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/97667","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=97667"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/97667\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/97668"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=97667"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=97667"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=97667"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}