{"id":98088,"date":"2020-10-24T02:42:34","date_gmt":"2020-10-24T00:42:34","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/shifrovanie-v-mysql-rotacziya-master-key"},"modified":"2020-11-18T00:58:48","modified_gmt":"2020-11-17T22:58:48","slug":"shifrovanie-v-mysql-rotacziya-master-key","status":"publish","type":"post","link":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/shifrovanie-v-mysql-rotacziya-master-key","title":{"rendered":"Kryptering i MySQL: Rotation af Master Key","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<\/p>\n<p><strong><em>I forklaringen af den nye optagelse til kurset&nbsp;<\/em><\/strong><noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/dADq\/\"><strong><em>\u00abDatabaser\u00bb<\/em><\/strong><\/a><\/noindex><strong><em>&nbsp;forts\u00e6tter vi med at offentligg\u00f8re en serie artikler om kryptering i MySQL.<\/em><\/strong><\/p>\n<p>I den forrige artikel i denne serie diskuterede vi, <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/524050\/\"><u>hvordan kryptering med hovedn\u00f8glen (Master Key) fungerer.<\/u><\/a><\/noindex>I dag, baseret p\u00e5 de tidligere indh\u00f8stede viden, vil vi se p\u00e5 rotationen af hovedn\u00f8gler.<\/p>\n<p>Rotation af hovedn\u00f8gler indeb\u00e6rer, at der genereres en ny hovedn\u00f8gle, og denne nye n\u00f8gle bruges til at kryptere tabellerummets n\u00f8gler (som opbevares i tabellerummets overskrifter) igen.<\/p>\n<p>Lad os genkalde os, hvordan overskriften for det krypterede tabellerum ser ud:<\/p>\n<p><img decoding=\"async\" alt=\"Kryptering i MySQL: Rotation af Master Key\" src=\"\/wp-content\/uploads\/2020\/10\/24057c50b96236c5ee2647aeca4b575f.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Fra den tidligere artikel ved vi, at serveren ved opstart l\u00e6ser overskrifterne for alle krypterede tabellerum og husker den st\u00f8rste KEY ID. For eksempel, hvis vi har tre tabeller med KEY<em>ID = 3 og \u00e9n tabel med KEY<\/em>ID = 4, s\u00e5 den maksimale n\u00f8gleidentifikation vil v\u00e6re 4. Lad os kalde denne KEY ID - MAX KEY ID.<\/p>\n<h3>Hvordan fungerer rotationen af hovedn\u00f8glen<\/h3>\n<p>1. Brugeren udf\u00f8rer ALTER INNODB MASTER KEY.<\/p>\n<p>2. Serveren beder om, at der i n\u00f8glelageret (keyring) genereres en ny hovedn\u00f8gle med serverens UUID og KEY<em>ID, lig med den for\u00f8gede MAX<\/em>KEY<em>ID. P\u00e5 den m\u00e5de f\u00e5r vi en hovedn\u00f8gleidentifikation lig med INNODB<\/em>KEY-UUID- (MAX<em>KEY<\/em>ID + 1). Ved en vellykket generering af hovedn\u00f8glen \u00f8ges MAX KEY ID med \u00e9n (dvs. MAX<em>KEY<\/em>ID = MAX<em>KEY<\/em>ID + 1).<\/p>\n<p>3. Serveren gennemg\u00e5r alle tabellerum, der er krypteret med hovedn\u00f8glen, og for hvert tabellerum:<\/p>\n<ul>\n<li>\n<p>krypterer tabellerummets n\u00f8gle med den nye hovedn\u00f8gle;<\/p>\n<\/li>\n<li>\n<p>opdaterer n\u00f8gleidentifikatoren til ny MAX<em>KEY<\/em>ID;<\/p>\n<\/li>\n<li>\n<p>hvis UUID'en adskiller sig fra serverens UUID, opdateres serverens UUID.<\/p>\n<\/li>\n<\/ul>\n<p>Som vi ved, best\u00e5r hovedn\u00f8gleidentifikatoren (Master Key ID), der bruges til at dekryptere tabellen, af UUID og KEY ID, der er l\u00e6st fra tabellerummets overskrift. Hvad vi g\u00f8r nu, er at opdatere disse informationer i overskriften for krypteringen af tabellerummet, s\u00e5 serveren f\u00e5r den korrekte hovedn\u00f8gle.<\/p>\n<p>Hvis vi har tabelrum, der er hentet fra forskellige kilder, for eksempel fra forskellige sikkerhedskopier, kan de have forskellige master-n\u00f8gler. Alle disse master-n\u00f8gler skal hentes fra lageret, n\u00e5r serveren startes. Dette kan forsinke opstarten af serveren, is\u00e6r hvis der bruges en serveralgningsn\u00f8gleh\u00e5ndtering. Ved hj\u00e6lp af rotation af master-n\u00f8glen genkrypterer vi n\u00f8glerne i tabelrummene med \u00e9n master-n\u00f8gle, der er den samme for alle tabelrum. Nu skal serveren kun hente \u00e9n master-n\u00f8gle under opstart.<\/p>\n<p>Dette er selvf\u00f8lgelig kun en behagelig bivirkning. Hovedform\u00e5let med rotationen af master-n\u00f8glerne er at g\u00f8re vores server mere sikker. Hvis master-n\u00f8glen p\u00e5 nogen m\u00e5de er blevet stj\u00e5let fra lageret (for eksempel fra Vault Server), kan der genereres en ny master-n\u00f8gle, og n\u00f8glerne i tabelrummene kan genkrypteres, hvilket g\u00f8r den stj\u00e5lne n\u00f8gle ugyldig. Vi er sikre... n\u00e6sten.<\/p>\n<p>I den tidligere artikel n\u00e6vnte jeg, at efter tyveriet af n\u00f8gleordet for tabelomr\u00e5det kan en tredje part bruge det til at dekryptere data, forudsat at der er adgang til vores disk. I tilf\u00e6lde af tyveri af hovedn\u00f8gle og adgang til de krypterede data kan den stj\u00e5lne hovedn\u00f8gle bruges til at dekryptere n\u00f8gleordet for tabelomr\u00e5det og f\u00e5 dekrypterede data. Som vi kan se, hj\u00e6lper rotationen af hovedn\u00f8glen i dette tilf\u00e6lde ikke. Vi krypterer p\u00e5 ny n\u00f8gleordet for tabelomr\u00e5det med den nye hovedn\u00f8gle, men den faktiske n\u00f8gle, der anvendes til kryptering \/ dekryptering af data, forbliver den samme. Derfor kan 'hacker' forts\u00e6tte med at bruge den til at dekryptere data. Tidligere n\u00e6vnte jeg, at <noindex><a rel=\"nofollow\" href=\"https:\/\/www.percona.com\/software\/mysql-database\/percona-server\"><u>Percona Server for MySQL<\/u><\/a><\/noindex> kan udf\u00f8re \u00e6gte genkryptering af tabelrum, og ikke bare simpel genkryptering af tabelrumsn\u00f8glen. Denne funktion kaldes krypteringsstr\u00f8mme (encryption threads). Men p\u00e5 nuv\u00e6rende tidspunkt er denne funktionalitet stadig eksperimentel.<\/p>\n<p>Rotation af master-n\u00f8glen er nyttig, n\u00e5r master-n\u00f8glen er blevet stj\u00e5let, men angriberen ikke har mulighed for at bruge den og dekryptere tabelrumn\u00f8glerne.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/dADq\/\"><strong>Tilmeld dig en gratis demo-lektion.<\/strong><\/a><\/noindex><\/p>\n<h4>L\u00e6s mere:<\/h4>\n<ul>\n<li>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/522092\/\">Kryptering i MySQL: n\u00f8glelagring<\/a><\/noindex><\/p>\n<\/li>\n<li>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/524050\/\">Kryptering i MySQL: brug af Master-n\u00f8gle<\/a><\/noindex><\/p>\n<\/li>\n<\/ul>\n<p>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/524624\/\">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 \u043c\u044b \u043e\u0431\u0441\u0443\u0434\u0438\u043b\u0438, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 \u0433\u043b\u0430\u0432\u043d\u044b\u043c \u043a\u043b\u044e\u0447\u043e\u043c (Master Key). \u0421\u0435\u0433\u043e\u0434\u043d\u044f, \u043e\u0441\u043d\u043e\u0432\u044b\u0432\u0430\u044f\u0441\u044c \u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u0440\u0430\u043d\u0435\u0435 \u0437\u043d\u0430\u043d\u0438\u044f\u0445, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0440\u043e\u0442\u0430\u0446\u0438\u044e \u0433\u043b\u0430\u0432\u043d\u044b\u0445 \u043a\u043b\u044e\u0447\u0435\u0439. \u0420\u043e\u0442\u0430\u0446\u0438\u044f \u0433\u043b\u0430\u0432\u043d\u044b\u0445 \u043a\u043b\u044e\u0447\u0435\u0439 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043d\u043e\u0432\u044b\u0439 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0438 \u044d\u0442\u0438\u043c \u043d\u043e\u0432\u044b\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":98089,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-98088","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.3 - 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\/da\/blog\/administrirovanie\/shifrovanie-v-mysql-rotacziya-master-key\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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: \u0440\u043e\u0442\u0430\u0446\u0438\u044f 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\/da\/blog\/administrirovanie\/shifrovanie-v-mysql-rotacziya-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-24T00:42:34+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-11-17T22:58:48+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\udd47Kryptering i MySQL: Rotation af Master Key | ProHoster","description":"I takt med, at vi n\u00e6rmer os starten af et nyt hold p\u00e5 kurset \"Databaser\", forts\u00e6tter vi.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/shifrovanie-v-mysql-rotacziya-master-key","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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: \u0440\u043e\u0442\u0430\u0446\u0438\u044f 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\/da\/blog\/administrirovanie\/shifrovanie-v-mysql-rotacziya-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-24T00:42:34+00:00","article:modified_time":"2020-11-17T22:58:48+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"98088","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:05:50","updated":"2022-10-03 07:13:53","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/98088","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=98088"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/98088\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/98089"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=98088"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=98088"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=98088"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}