Azure szyfrowanie danych w spoczynku

Microsoft Azure zawiera narzędzia do ochrony danych zgodnie z potrzebami firmy w zakresie zabezpieczeń i zgodności. Ten artykuł koncentruje się na:

  • Jak chronione są dane w spoczynku w Microsoft Azure.
  • Różne składniki, które biorą udział w implementacji ochrony danych.
  • Korzyści i kompromisy różnych podejść do ochrony kluczowych narzędzi do zarządzania.

Szyfrowanie danych w stanie spoczynku jest typowym wymaganiem dotyczącym zabezpieczeń. Azure domyślnie szyfruje dane w spoczynku za pomocą kluczy zarządzanych przez platformę. Takie podejście zapewnia organizacjom automatyczne szyfrowanie bez ryzyka lub kosztu niestandardowego rozwiązania do zarządzania kluczami. Organizacje mogą polegać na Azure do zarządzania szyfrowaniem w spoczynku, korzystając z kluczy zarządzanych przez platformę, lub mogą korzystać z kluczy zarządzanych przez klienta, gdy potrzebują dodatkowej kontroli nad kluczami szyfrowania i politykami zarządzania kluczami.

Co to jest szyfrowanie danych w spoczynku?

Szyfrowanie to bezpieczne kodowanie danych używanych do ochrony poufności danych. Projekty szyfrowania danych w spoczynku w Azure używają szyfrowania symetrycznego do szybkiego szyfrowania i odszyfrowywania dużych ilości danych zgodnie z prostym modelem koncepcyjnym.

  • Symetryczny klucz szyfrowania szyfruje dane podczas ich zapisywania na pamięci masowej.
  • Ten sam klucz szyfrujący odszyfrowuje te dane, tak jak są przygotowywane do użycia w pamięci.
  • Różne partycje mogą używać różnych kluczy.
  • Przechowuj klucze w bezpiecznym miejscu z politykami kontroli dostępu i audytu opartymi na tożsamości. Jeśli klucze szyfrowania danych są przechowywane poza bezpiecznymi lokalizacjami, należy je zaszyfrować za pomocą klucza szyfrującego klucze, który jest przechowywany w bezpiecznej lokalizacji.

W praktyce scenariusze zarządzania i kontroli kluczy, a także zapewnienia skali i dostępności, wymagają dodatkowych konstrukcji. W poniższych sekcjach opisano koncepcje i składniki szyfrowania danych w stanie spoczynku w Microsoft Azure.

Cel szyfrowania danych w spoczynku

Szyfrowanie w spoczynku chroni przechowywane dane. Ataki na dane spoczynkowe obejmują próby uzyskania fizycznego dostępu do sprzętu przechowywającego dane, a następnie naruszenia zawartych danych. W takim ataku dysk twardy serwera może zostać błędnie obsłużony podczas konserwacji, co umożliwia atakującemu usunięcie dysku twardego. Osoba atakująca później umieści dysk twardy na komputerze pod kontrolą, aby spróbować uzyskać dostęp do danych.

Szyfrowanie w spoczynku pomaga zapobiegać atakującemu dostępu do niezaszyfrowanych danych, zapewniając, że dane są szyfrowane na dysku. Jeśli osoba atakująca uzyska dysk twardy z zaszyfrowanymi danymi, ale nie kluczami szyfrowania, osoba atakująca musi pokonać szyfrowanie, aby odczytać dane. Ten atak jest znacznie bardziej złożony i pochłania zasoby niż dostęp do niezaszyfrowanych danych na dysku twardym. Z tego powodu wiele organizacji traktuje szyfrowanie danych w spoczynku za wymóg o wysokim priorytecie.

Działania organizacji na rzecz zarządzania danymi i zgodności mogą również wymagać szyfrowania w trybie spoczynku. Regulacje branżowe i rządowe, takie jak HIPAA, PCI i FedRAMP, określają konkretne zabezpieczenia dotyczące ochrony danych i szyfrowania. Niektóre z tych regulacji wymagają szyfrowania w spoczynku. Więcej informacji o podejściu Microsoft do walidacji FIPS 140 można znaleźć w Federal Information Processing Standard (FIPS) 140.

Oprócz spełniania wymagań dotyczących zgodności i przepisów, szyfrowanie danych w spoczynku zapewnia ochronę warstwową. Microsoft Azure zapewnia zgodną platformę usług, aplikacji i danych. Platforma zapewnia również kompleksowe bezpieczeństwo obiektów i fizycznych, kontrolę dostępu do danych oraz audyt. Jednak ważne jest, aby zapewnić dodatkowe "nakładające się" środki bezpieczeństwa na wypadek, gdyby któreś z pozostałych zabezpieczeń zawiedzie. Szyfrowanie danych w spoczynku zapewnia taką miarę zabezpieczeń.

Microsoft oferuje opcje szyfrowania w trybie spoczynku w usługach chmurowych oraz kontrolę nad kluczami szyfrowania i logami użycia kluczy. Microsoft pracuje również nad domyślnym szyfrowaniem wszystkich danych klientów w spoczynku.

Opcje zarządzania kluczami

Azure zapewnia dwa podstawowe podejścia do zarządzania kluczami szyfrowania:

Klucze zarządzane przez platformę (domyślne) (czasem nazywane także kluczami zarządzanymi przez usługi): Azure automatycznie obsługuje wszystkie aspekty zarządzania kluczami szyfrowania, w tym generowanie, przechowywanie, rotację i kopię zapasową. To podejście zapewnia szyfrowanie w spoczynku bez żadnej konfiguracji, a Azure domyślnie umożliwia je we wszystkich usługach Azure. Klucze zarządzane platformą oferują najwyższy poziom wygody i nie wymagają dodatkowych kosztów ani narzutu zarządczego.

Klucze zarządzane przez klienta (opcjonalne): Organizacje, które potrzebują większej kontroli nad swoimi kluczami szyfrowania, mogą zdecydować się na własne zarządzanie kluczami, korzystając z Azure Key Vault lub Azure Key Vault Managed HSM. Takie podejście pozwala kontrolować cykle życia kluczy, polityki dostępu oraz operacje kryptograficzne. Klucze zarządzane przez klienta zapewniają dodatkową kontrolę, kosztem zwiększonej odpowiedzialności zarządczej i złożoności. Dla organizacji z wymaganiami regulacyjnymi lub kontraktowymi, które nakazują, aby materiały klucza fizycznie znajdowały się poza infrastrukturą Microsoft, Azure Key Vault Managed HSM obsługuje również zewnętrzne zarządzanie kluczami (preview), co pozwala przechowywać klucz szyfrowania klucza (KEK) w modułu bezpieczeństwa sprzętu obsługiwanym przez klienta (HSM) całkowicie poza Azure.

Wybór między tymi podejściami zależy od wymagań dotyczących zabezpieczeń organizacji, potrzeb dotyczących zgodności i preferencji operacyjnych. Większość organizacji może polegać na kluczach zarządzanych przez platformę jako silnej ochronie szyfrowania, podczas gdy organizacje o określonych wymaganiach regulacyjnych lub bezpieczeństwa mogą wybierać klucze zarządzane przez klienta.

Komponenty szyfrowania danych spoczynkowych w Azure

Jak opisano wcześniej, szyfrowanie w spoczynku utrzymuje dane na dysku zaszyfrowane za pomocą tajnego klucza szyfrującego. Aby osiągnąć ten cel, usługi Azure potrzebują bezpiecznego tworzenia kluczy, przechowywania danych, kontroli dostępu oraz zarządzania kluczami szyfrowanymi. Choć szczegóły mogą się różnić, implementacje szyfrowania w spoczynku usług Azure używają terminów przedstawionych na poniższym diagramie.

Diagram przedstawiający składniki szyfrowania danych magazynowanych na platformie Azure oraz hierarchię kluczy.

Azure Key Vault

Lokalizacja magazynu kluczy szyfrowania i kontroli dostępu do tych kluczy jest kluczowa dla szyfrowania w modelu spoczynku. Należy zabezpieczyć klucze, ale udostępnić je określonym użytkownikom i udostępnić je określonym usługom. Dla usług Azure zalecanym rozwiązaniem do przechowywania kluczy jest Azure Key Vault (poziom premium) lub Azure Key Vault Managed HSM, które zapewnia wspólne zarządzanie między usługami. Klucze można przechowywać w magazynach kluczy i zarządzać nimi, a użytkownicy lub usługi mogą uzyskiwać dostęp do magazynu kluczy. Azure Key Vault obsługuje klucze tworzone przez klientów oraz importowane klucze klientów do użycia w scenariuszach kluczy szyfrowania zarządzanych przez klienta.

Microsoft Entra ID

Możesz przyznać kontom Microsoft Entra uprawnienia do korzystania z kluczy przechowywanych w Azure Key Vault, zarówno do ich zarządzania, jak i do dostępu do operacji szyfrowania i deszyfrowania.

Szyfrowanie kopert z hierarchią kluczy

W implementacji szyfrowania danych w spoczynku używasz więcej niż jednego klucza szyfrowania. Przechowywanie klucza szyfrującego w Azure Key Vault zapewnia bezpieczny dostęp do klucza i centralne zarządzanie kluczami. Jednak dostęp lokalny do kluczy szyfrowania jest bardziej efektywny dla szyfrowania masowego i deszyfrowania niż interakcja z Key Vault przy każdej operacji danych. Takie podejście pozwala na silniejsze szyfrowanie i lepszą wydajność. Ograniczenie użycia pojedynczego klucza szyfrowania zmniejsza ryzyko naruszenia zabezpieczeń klucza i koszt ponownego szyfrowania po zastąpieniu klucza. Modele szyfrowania Azure w spoczynku wykorzystują szyfrowanie obwiedniowe, gdzie KEK szyfruje klucz szyfrujący dane (DEK). Model ten tworzy hierarchię kluczy, która lepiej odpowiada na wymagania dotyczące wydajności i bezpieczeństwa:

  • Klucz szyfrowania danych (DEK) – Symetryczny klucz AES-256, który szyfruje partycję lub blok danych, czasem nazywany także kluczem danych. Pojedynczy zasób może mieć wiele partycji i wiele DEK-ów. Szyfrowanie każdego bloku danych innym kluczem utrudnia ataki kryptanalityczne. Utrzymywanie DEK-ów lokalnych dla usługi szyfrującej i deszyfrującej dane maksymalizuje wydajność.
  • Klucz szyfrowania klucza (KEK) – Klucz szyfrujący DEK-y za pomocą szyfrowania koperty, zwanego również wrappingiem. Używając KEK, który nigdy nie opuszcza Key Vault, możesz szyfrować i kontrolować DEK-y. Podmiot, który ma dostęp do KEK, może różnić się od podmiotu potrzebującego DEK. Jednostka może brokerować dostęp do klucza szyfrowania danych, aby ograniczyć dostęp każdego klucza szyfrowania danych do określonej partycji. Ponieważ odszyfrowanie DEK-ów wymaga KEK, można kryptograficznie usunąć DEK i dane, wyłączając KEK. Wyłączenie KEK sprawia, że wszystkie zależne usługi stają się niedostępne, takie jak bazy danych Azure SQL Transparent Data Encryption (TDE), konta Azure Storage z kluczami zarządzanymi przez klienta oraz maszyny wirtualne chronione Azure Disk Encryption. Wyłączenie dotyczy także tylko skarbca, w którym znajduje się ten klucz. Jeśli klucz został zbackupowany i przywrócony do innego sejfu, odtworzona kopia pozostaje w pełni funkcjonalna i operacja wyłączania nie ma na nią wpływu. Więcej informacji można znaleźć w artykule Aspekty bezpieczeństwa kopii zapasowych.

Dostawcy zasobów i instancje aplikacji przechowują zaszyfrowane DEK-y jako metadane. Tylko jednostka z dostępem do klucza KEK może odszyfrować te klucze DEK. Azure obsługuje różne modele przechowywania kluczy. Aby uzyskać więcej informacji, zobacz Modele szyfrowania danych.

Gdy usługi lokalnie cache'ują DEK do aktywnych operacji kryptograficznych, zabezpieczenia platformy Azure chronią klucze buforowane, w tym izolację obliczeń na poziomie hosta oraz ochronę na poziomie procesu. Buforowane klucze operacyjne są mechanizmem zapewniającym dostępność i wydajność — KEK w Key Vault pozostaje głównym źródłem zaufania, a unieważnienie klucza reguluje dostęp do zaszyfrowanych danych.

Szyfrowanie danych w spoczynku w usługach chmury Microsoft

Korzystasz z usług chmurowych Microsoft we wszystkich trzech modelach chmurowych: infrastruktura jako usługa (IaaS), platforma jako usługa (PaaS) oraz oprogramowanie jako usługa (SaaS). W poniższych przykładach pokazano, jak pasują one do każdego modelu:

  • Usługi programistyczne, czyli SaaS, oferują aplikacje hostowane w chmurze, takie jak Microsoft 365.
  • Usługi platformowe, czyli PaaS, oferują możliwości chmurowe, takie jak przechowywanie, analityka i funkcjonalność magistrali usług dla aplikacji dla klientów.
  • Usługi infrastrukturalne, czyli IaaS, hostują systemy operacyjne i aplikacje wdrożone przez klientów, które mogą również korzystać z innych usług chmurowych.

Szyfrowanie w spoczynku dla organizacji SaaS

Organizacje związane z oprogramowaniem jako usługą (SaaS) zazwyczaj umożliwiają szyfrowanie w spoczynku lub udostępniają je w każdej usłudze. Microsoft 365 oferuje kilka opcji weryfikacji lub włączenia szyfrowania w spoczynku. Aby uzyskać informacje o usługach Microsoft 365, zobacz Encryption w Microsoft 365.

Szyfrowanie w spoczynku dla organizacji PaaS

Organizacje oparte na platformie jako usłudze (PaaS) zazwyczaj przechowują swoje dane w usłudze przechowywania danych, takiej jak Blob Storage. Jednak dane mogą być również buforowane lub przechowywane w środowisku wykonywania aplikacji, takim jak maszyna wirtualna. Aby wyświetlić dostępne opcje szyfrowania danych magazynowanych, przeanalizuj modele szyfrowania danych dla platform magazynu i aplikacji, z których korzystasz.

Szyfrowanie w spoczynku dla organizacji IaaS

Organizacje oparte na infrastrukturze jako usłudze (IaaS) mogą korzystać z różnorodnych usług i aplikacji. Usługi IaaS mogą umożliwić szyfrowanie w spoczynku w swoich wirtualnych maszynach hostowanych w Azure, stosując szyfrowanie na hostze.

Zaszyfrowany magazyn

Podobnie jak PaaS, rozwiązania IaaS mogą używać innych usług platformy Azure, które przechowują dane zaszyfrowane w spoczynku. W takich przypadkach możesz włączyć wsparcie szyfrowania w spoczynku, które zapewnia każda zużywana usługa Azure. Modele szyfrowania danych wymieniają główne platformy przechowywania danych, usługi i aplikacje oraz model szyfrowania w spoczynku obsługiwany.

Zaszyfrowane obliczenia

Dyski, migawki i obrazy zarządzane przez Azure są domyślnie szyfrowane za pomocą szyfrowania usług Azure Storage oraz kluczy zarządzanych przez platformę. To domyślne szyfrowanie nie wymaga żadnej konfiguracji klienta ani dodatkowych kosztów. Bardziej kompleksowe rozwiązanie szyfrowania zapewnia, że host VM nie przechowuje danych w formie nieszyfrowanej. Podczas przetwarzania danych na maszynie wirtualnej system może utrzymywać dane w pliku strony Windows lub pliku wymiany Linuksa, zrzut awarii lub dziennik aplikacji. Aby zapewnić, że te dane są również szyfrowane w spoczynku, aplikacje IaaS mogą stosować szyfrowanie na hostze na maszynie wirtualnej Azure IaaS. Domyślnie szyfrowanie na hostze korzysta z kluczy zarządzanych przez platformę, ale opcjonalnie można skonfigurować klucze zarządzane przez klienta, aby uzyskać większą kontrolę.

Szyfrowanie niestandardowe w stanie spoczynku

Kiedy to możliwe, aplikacje IaaS powinny korzystać z szyfrowania na hostze oraz szyfrowania w spoczynku oferowanych przez wszystkie używane usługi Azure. W niektórych przypadkach, takich jak nieregularne wymagania dotyczące szyfrowania lub przechowywanie nieoparte na Azure, twórca aplikacji IaaS może potrzebować wdrożyć szyfrowanie w spoczynku. Deweloperzy rozwiązań IaaS mogą lepiej zintegrować się z oczekiwaniami klientów i zarządzania platformą Azure przy użyciu niektórych składników platformy Azure. Konkretnie, deweloperzy powinni korzystać z Azure Key Vault, aby zapewnić bezpieczne przechowywanie kluczy i zapewnić użytkownikom opcje zarządzania kluczami zgodne z usługami platformy Azure. Rozwiązania niestandardowe powinny również wykorzystywać zarządzane tożsamości Azure, aby umożliwić kontom usługowym dostęp do kluczy szyfrujących. Informacje dla deweloperów można znaleźć w przewodniku deweloperskim Azure Key Vault oraz zarządzanych tożsamościach dla zasobów Azure.

obsługa modelu szyfrowania dostawców zasobów Azure

Usługi Microsoft Azure obsługują jeden lub więcej modeli szyfrowania w spoczynku. W przypadku niektórych usług jednak jeden lub więcej modeli szyfrowania mogą nie mieć zastosowania. Usługi obsługujące scenariusze użycia kluczy zarządzanych przez klienta mogą obsługiwać tylko podzbiór typów kluczy obsługiwanych przez usługę Azure Key Vault na potrzeby kluczy szyfrowania kluczy. Usługi mogą również udostępniać wsparcie dla tych scenariuszy i typów kluczy w różnych harmonogramach. Ta sekcja opisuje obecne wsparcie szyfrowania w spoczynku dla każdej głównej usługi przechowywania danych Azure.

Azure szyfrowanie dysków maszyny wirtualnej

Organizacje korzystające z funkcji infrastruktury Azure jako usługi (IaaS) mogą szyfrować swoje dyski VM IaaS w spoczynku poprzez szyfrowanie na hostze. Aby uzyskać więcej informacji, zobacz Szyfrowanie na hoście — kompleksowe szyfrowanie maszyny wirtualnej.

Azure Storage

Wszystkie usługi Azure Storage (Blob Storage, Queue Storage, Table Storage i Azure Files) wspierają szyfrowanie po stronie serwera w spoczynku. Blob Storage i Queue Storage również obsługują obecne szyfrowanie po stronie klienta.

  • Serwerowe (domyślne): Wszystkie usługi Azure Storage automatycznie domyślnie włączają szyfrowanie po stronie serwera, używając kluczy zarządzanych przez platformę. To szyfrowanie jest niewidoczne dla aplikacji i nie wymaga żadnej konfiguracji. Aby uzyskać więcej informacji, zobacz szyfrowanie danych spoczywających w Azure Storage. Możesz opcjonalnie wybrać klucze zarządzane przez klienta w Azure Key Vault, aby mieć dodatkową kontrolę. Aby uzyskać więcej informacji, zobacz Klucze zarządzane przez klienta na potrzeby szyfrowania usługi Azure Storage.
  • Klient (opcjonalnie): Biblioteki klienckie Blob Storage i Queue Storage wspierają szyfrowanie po stronie klienta dla organizacji, które muszą zaszyfrować dane przed ich dotarciem do Azure. Używając szyfrowania po stronie klienta, szyfrujesz dane i przesyłasz je jako zaszyfrowane dane. Ty zarządzasz kluczami. Więcej informacji można znaleźć w artykule Szyfrowanie po stronie klienta dla blobów oraz Szyfrowanie po stronie klienta dla kolejek.

Azure SQL Database

Azure SQL Database obsługuje szyfrowanie w spoczynku dla szyfrowania po stronie usługi, wykorzystując klucze zarządzane przez platformę oraz w scenariuszach szyfrowania po stronie klienta.

Azure SQL zapewnia szyfrowanie po stronie serwera poprzez Transparent Data Encryption (TDE). W przypadku TDE zarządzanego usługami Azure automatycznie tworzy i zarządza kluczami. Można włączyć szyfrowanie danych w stanie spoczynku na poziomie bazy danych i serwera. Transparent Data Encryption (TDE) jest domyślnie włączony w nowo utworzonych bazach danych. Azure SQL obsługuje asymetryczne protektory TDE zarządzane przez klienta, typu RSA lub RSA-HSM, o długości 2048 i 3072 bitów, przechowywane w usłudze Azure Key Vault lub Azure Key Vault Managed HSM. Aby uzyskać więcej informacji, zobacz Usługa Azure SQL Transparent Data Encryption z kluczem zarządzanym przez klienta.

Azure SQL Database obsługuje szyfrowanie po stronie klienta dzięki funkcji Always Encrypted (Zawsze szyfrowane). Funkcja Always Encrypted używa klucza tworzonego i przechowywanego przez klienta. Klucz główny możesz przechowywać w magazynie certyfikatów Windows, Azure Key Vault lub lokalnym HSM. Użytkownicy SQL mogą użyć SQL Server Management Studio, aby wybrać klucz szyfrujący każdą kolumnę.

Podsumowanie

Ochrona danych klientów przechowywanych w usługach Azure jest dla Microsoftu ważna. Usługi hostowane w Azure oferują opcje szyfrowania w spoczynku. Usługi Azure obsługują klucze zarządzane przez platformę, klucze zarządzane przez klienta lub szyfrowanie po stronie klienta. Usługi Azure nadal zwiększają dostępność szyfrowania w stanie spoczynku.

Następne kroki

  • Zobacz modele szyfrowania danych , aby dowiedzieć się więcej na temat kluczy zarządzanych przez platformę i kluczy zarządzanych przez klienta.
  • Dowiedz się, w jaki sposób Azure używa double encryption aby wyeliminować zagrożenia związane z szyfrowaniem danych.
  • Dowiedz się, co Microsoft robi, aby zapewnić integralność i bezpieczeństwo platformy hostów przechodzących przez budowę sprzętu i oprogramowania układowego, integrację, wdrożenie oraz proces naprawy.