Omówienie szyfrowania na platformie Azure
Ten artykuł zawiera omówienie sposobu użycia szyfrowania na platformie Microsoft Azure. Obejmuje ona główne obszary szyfrowania, w tym szyfrowanie magazynowane, szyfrowanie w locie i zarządzanie kluczami za pomocą usługi Azure Key Vault. Każda sekcja zawiera linki do bardziej szczegółowych informacji.
Szyfrowanie danych w stanie spoczynku
Dane magazynowane zawierają informacje przechowywane w magazynie trwałym na nośnikach fizycznych w dowolnym formacie cyfrowym. Nośnik może zawierać pliki na nośnikach magnetycznych lub optycznych, zarchiwizowanych danych i kopiach zapasowych danych. Platforma Microsoft Azure oferuje różne rozwiązania do magazynowania danych, które spełniają różne potrzeby, w tym pliki, dysk, obiekt blob i magazyn tabel. Firma Microsoft zapewnia również szyfrowanie w celu ochrony usług Azure SQL Database, Azure Cosmos DB i Azure Data Lake.
Szyfrowanie danych magazynowanych przy użyciu szyfrowania danych AES 256 jest dostępne dla usług w modelach chmury oprogramowania jako usługi (SaaS), platformy jako usługi (PaaS) i infrastruktury jako usługi (IaaS). Ten artykuł zawiera podsumowanie i zasoby ułatwiające korzystanie z opcji szyfrowania platformy Azure.
Aby uzyskać bardziej szczegółowe omówienie sposobu szyfrowania danych magazynowanych na platformie Azure, zobacz Azure Data Encryption-at-Rest.
Modele szyfrowania platformy Azure
pomoc techniczna platformy Azure różne modele szyfrowania, w tym szyfrowanie po stronie serwera, które używa kluczy zarządzanych przez usługę, kluczy zarządzanych przez klienta w usłudze Key Vault lub kluczy zarządzanych przez klienta na sprzęcie kontrolowanym przez klienta. W przypadku szyfrowania po stronie klienta można zarządzać kluczami i przechowywać je lokalnie lub w innej bezpiecznej lokalizacji.
Szyfrowanie po stronie klienta
Szyfrowanie po stronie klienta odbywa się poza platformą Azure. Zawartość:
- Dane zaszyfrowane przez aplikację działającą w centrum danych klienta lub przez aplikację usługi.
- Dane, które są już szyfrowane, gdy są odbierane przez platformę Azure.
W przypadku szyfrowania po stronie klienta dostawcy usług w chmurze nie mają dostępu do kluczy szyfrowania i nie mogą odszyfrować tych danych. Zachowasz pełną kontrolę nad kluczami.
Szyfrowanie po stronie serwera
Trzy modele szyfrowania po stronie serwera oferują różne cechy zarządzania kluczami, które można wybrać zgodnie z wymaganiami:
Klucze zarządzane przez usługę: zapewnia kombinację kontroli i wygody z niskim obciążeniem.
Klucze zarządzane przez klienta: zapewnia kontrolę nad kluczami, w tym obsługę byOK (Bring Your Own Keys) lub umożliwia generowanie nowych.
Klucze zarządzane przez usługę w kontrolowanym przez klienta sprzęcie: umożliwia zarządzanie kluczami w własnym repozytorium poza kontrolą firmy Microsoft. Ta cecha nosi nazwę Host Your Own Key (HYOK). Jednak konfiguracja jest złożona, a większość usług platformy Azure nie obsługuje tego modelu.
Szyfrowanie dysków platformy Azure
Wszystkie Dyski zarządzane, migawki i obrazy są szyfrowane przy użyciu szyfrowania usługi Storage przy użyciu klucza zarządzanego przez usługę. Platforma Azure oferuje również opcje ochrony dysków tymczasowych, pamięci podręcznych i zarządzania kluczami w usłudze Azure Key Vault. Aby uzyskać więcej informacji, zobacz Omówienie opcji szyfrowania dysków zarządzanych.
Szyfrowanie usługi Azure Storage
Dane magazynowane w usłudze Azure Blob Storage i udziałach plików platformy Azure można szyfrować zarówno w scenariuszach po stronie serwera, jak i po stronie klienta.
Szyfrowanie usługi Azure Storage (SSE) może automatycznie szyfrować dane przed ich zapisaniem i automatycznie odszyfrowywać dane podczas ich pobierania. Proces jest całkowicie niewidoczny dla użytkowników. Szyfrowanie usługi Storage używa 256-bitowego szyfrowania Advanced Encryption Standard (AES), które jest jednym z najsilniejszych dostępnych szyfrów blokowych. Usługa AES obsługuje szyfrowanie, odszyfrowywanie i zarządzanie kluczami w sposób niewidoczny.
Szyfrowanie obiektów blob platformy Azure po stronie klienta
Szyfrowanie obiektów blob platformy Azure po stronie klienta można wykonywać na różne sposoby.
Możesz użyć biblioteki klienta usługi Azure Storage dla pakietu NuGet platformy .NET do szyfrowania danych w aplikacjach klienckich przed przekazaniem ich do usługi Azure Storage.
Aby dowiedzieć się więcej na temat pakietu NuGet dla platformy .NET i pobrać bibliotekę klienta usługi Azure Storage dla platformy .NET, zobacz Windows Azure Storage 8.3.0.
W przypadku korzystania z szyfrowania po stronie klienta z usługą Key Vault dane są szyfrowane przy użyciu jednorazowego symetrycznego klucza szyfrowania zawartości (CEK), który jest generowany przez zestaw SDK klienta usługi Azure Storage. Klucz CEK jest szyfrowany przy użyciu klucza szyfrowania kluczy (KEK), który może być kluczem symetrycznym lub asymetryczną parą kluczy. Możesz zarządzać nim lokalnie lub przechowywać je w usłudze Key Vault. Zaszyfrowane dane są następnie przekazywane do usługi Azure Storage.
Aby dowiedzieć się więcej na temat szyfrowania po stronie klienta za pomocą usługi Key Vault i rozpocząć pracę z instrukcjami, zobacz Samouczek: szyfrowanie i odszyfrowywanie obiektów blob w usłudze Azure Storage przy użyciu usługi Key Vault.
Na koniec możesz również użyć biblioteki klienta usługi Azure Storage dla języka Java do wykonania szyfrowania po stronie klienta przed przekazaniem danych do usługi Azure Storage i odszyfrować dane podczas pobierania ich do klienta. Ta biblioteka obsługuje również integrację z usługą Key Vault na potrzeby zarządzania kluczami konta magazynu.
Szyfrowanie danych magazynowanych za pomocą usługi Azure SQL Database
Azure SQL Database to usługa relacyjnej bazy danych ogólnego przeznaczenia na platformie Azure, która obsługuje struktury, takie jak dane relacyjne, JSON, przestrzenne i XML. Usługa SQL Database obsługuje szyfrowanie po stronie serwera za pośrednictwem funkcji Transparent Data Encryption (TDE) i szyfrowania po stronie klienta za pośrednictwem funkcji Always Encrypted.
Niewidoczne szyfrowanie danych
Funkcja TDE służy do szyfrowania plików danych programu SQL Server, usługi Azure SQL Database i usługi Azure Synapse Analytics w czasie rzeczywistym przy użyciu klucza szyfrowania bazy danych (DEK), który jest przechowywany w rekordzie rozruchowym bazy danych w celu zapewnienia dostępności podczas odzyskiwania.
Technologia TDE chroni pliki danych i dzienników przy użyciu algorytmów szyfrowania AES i Triple Data Encryption Standard (3DES). Szyfrowanie pliku bazy danych jest wykonywane na poziomie strony. Strony w zaszyfrowanej bazie danych są szyfrowane przed zapisem na dysku i są odszyfrowywane podczas odczytu do pamięci. Funkcja TDE jest teraz domyślnie włączona w nowo utworzonych bazach danych Azure SQL Database.
Funkcja Always Encrypted
Funkcja Always Encrypted w usłudze Azure SQL umożliwia szyfrowanie danych w aplikacjach klienckich przed ich zapisaniem w usłudze Azure SQL Database. Możesz również włączyć delegowanie administracji lokalnej bazy danych do innych firm i zachować separację między tymi, którzy są właścicielami i mogą wyświetlać dane oraz tych, którzy zarządzają nimi, ale nie powinni mieć do nich dostępu.
Szyfrowanie na poziomie komórki lub na poziomie kolumny
Usługa Azure SQL Database umożliwia zastosowanie szyfrowania symetrycznego do kolumny danych przy użyciu języka Transact-SQL. Takie podejście jest nazywane szyfrowaniem na poziomie komórki lub szyfrowaniem na poziomie kolumny, ponieważ można go użyć do szyfrowania określonych kolumn, a nawet określonych komórek danych przy użyciu różnych kluczy szyfrowania. Zapewnia to bardziej szczegółową funkcję szyfrowania niż funkcja TDE, która szyfruje dane na stronach.
Funkcja CLE ma wbudowane funkcje, których można użyć do szyfrowania danych przy użyciu kluczy symetrycznych lub asymetrycznych, klucza publicznego certyfikatu lub hasła przy użyciu 3DES.
Szyfrowanie bazy danych usługi Azure Cosmos DB
Azure Cosmos DB to globalnie rozproszona, wielomodelowa baza danych firmy Microsoft. Dane użytkownika przechowywane w usłudze Azure Cosmos DB w magazynie nietrwałym (dyskach półprzewodnikowych) są domyślnie szyfrowane. Nie ma żadnych kontrolek, które należy włączyć lub wyłączyć. Szyfrowanie magazynowane jest implementowane przy użyciu wielu technologii zabezpieczeń, w tym bezpiecznych systemów magazynu kluczy, zaszyfrowanych sieci i kryptograficznych interfejsów API. Klucze szyfrowania są zarządzane przez firmę Microsoft i są obracane zgodnie z wewnętrznymi wytycznymi firmy Microsoft. Opcjonalnie możesz dodać drugą warstwę szyfrowania z kluczami zarządzanymi przy użyciu kluczy zarządzanych przez klienta lub funkcji CMK .
Szyfrowanie magazynowane w usłudze Data Lake
Usługa Azure Data Lake to repozytorium dla całego przedsiębiorstwa każdego typu danych zebranych w jednym miejscu przed formalną definicją wymagań lub schematu. Usługa Data Lake Store obsługuje "domyślnie włączone", przezroczyste szyfrowanie danych magazynowanych, które jest konfigurowane podczas tworzenia konta. Domyślnie usługa Azure Data Lake Store zarządza kluczami, ale masz możliwość samodzielnego zarządzania nimi.
Trzy typy kluczy są używane do szyfrowania i odszyfrowywania danych: głównego klucza szyfrowania (MEK), klucza szyfrowania danych (DEK) i klucza szyfrowania blokowego (BEK). Klucz szyfrowania wieloskładnikowego służy do szyfrowania klucza szyfrowania danych, który jest przechowywany na nośniku trwałym, a klucz szyfrowania szyfrowania danych pochodzi z klucza szyfrowania danych i bloku danych. Jeśli zarządzasz własnymi kluczami, możesz obrócić klucz wieloskładnikowy.
Szyfrowanie danych w tranzycie
Platforma Azure oferuje wiele mechanizmów utrzymywania prywatności danych w miarę przemieszczania się z jednej lokalizacji do innej.
Szyfrowanie warstwy łącza danych na platformie Azure
Za każdym razem, gdy ruch klienta platformy Azure między centrami danych — poza granicami fizycznymi, które nie są kontrolowane przez firmę Microsoft (lub w imieniu firmy Microsoft) — metoda szyfrowania warstwy łącza danych przy użyciu standardów zabezpieczeń IEEE 802.1AE MAC (znanych również jako MACsec) jest stosowana od punktu do punktu w podstawowym sprzęcie sieciowym. Pakiety są szyfrowane na urządzeniach przed wysłaniem, uniemożliwiając fizyczne ataki "man-in-the-middle" lub snooping/wiretapping. Ponieważ ta technologia jest zintegrowana z samym sprzętem sieciowym, zapewnia szyfrowanie szybkości wierszy na sprzęcie sieciowym bez mierzalnego opóźnienia łącza. To szyfrowanie MACsec jest domyślnie włączone dla całego ruchu platformy Azure podróżującego w regionie lub między regionami, a w części klienta nie jest wymagana żadna akcja.
Szyfrowanie TLS na platformie Azure
Firma Microsoft umożliwia klientom korzystanie z protokołu Transport Layer Security (TLS) w celu ochrony danych podczas podróży między usługami w chmurze a klientami. Centra danych firmy Microsoft negocjują połączenie TLS z systemami klienckimi, które łączą się z usługami platformy Azure. Protokół TLS zapewnia silne uwierzytelnianie, prywatność wiadomości i integralność (umożliwia wykrywanie naruszenia, przechwytywania i fałszowania komunikatów), współdziałanie, elastyczność algorytmu oraz łatwość wdrażania i używania.
Perfect Forward Secrecy (PFS) chroni połączenia między systemami klienckimi klientów i usługami firmy Microsoft w chmurze za pomocą unikatowych kluczy. Połączenia obsługują również 2048-bitowe długości kluczy oparte na protokole RSA, długości 256-bitowych kluczy ECC, uwierzytelnianie komunikatów SHA-384 i szyfrowanie danych AES-256. Ta kombinacja utrudnia komuś przechwytywanie i uzyskiwanie dostępu do danych przesyłanych.
Transakcje usługi Azure Storage
W przypadku interakcji z usługą Azure Storage za pośrednictwem witryny Azure Portal wszystkie transakcje odbywają się za pośrednictwem protokołu HTTPS. Do interakcji z usługą Azure Storage można również użyć interfejsu API REST usługi Storage za pośrednictwem protokołu HTTPS. Użycie protokołu HTTPS można wymusić podczas wywoływania interfejsów API REST w celu uzyskania dostępu do obiektów na kontach magazynu, włączając bezpieczny transfer wymagany dla konta magazynu.
Sygnatury dostępu współdzielonego (SAS), które mogą służyć do delegowania dostępu do obiektów usługi Azure Storage, zawierają opcję określania, że można używać tylko protokołu HTTPS podczas korzystania z sygnatur dostępu współdzielonego. Takie podejście gwarantuje, że każda osoba wysyłająca linki za pomocą tokenów SAS korzysta z odpowiedniego protokołu.
Protokół SMB 3.0 używany do uzyskiwania dostępu do udziałów usługi Azure Files, obsługuje szyfrowanie i jest dostępny w systemach Windows Server 2012 R2, Windows 8, Windows 8.1 i Windows 10. Umożliwia dostęp między regionami, a nawet dostęp na pulpicie.
Szyfrowanie po stronie klienta szyfruje dane przed wysłaniem ich do wystąpienia usługi Azure Storage, dzięki czemu są szyfrowane podczas podróży przez sieć.
Szyfrowanie SMB za pośrednictwem sieci wirtualnych platformy Azure
Korzystając z protokołu SMB 3.0 na maszynach wirtualnych z systemem Windows Server 2012 lub nowszym, można zabezpieczyć transfery danych, szyfrując dane przesyłane za pośrednictwem sieci wirtualnych platformy Azure. Szyfrując dane, możesz chronić przed atakami polegającymi na manipulowaniu i podsłuchiwaniu. Administratorzy mogą włączyć szyfrowanie SMB dla całego serwera lub tylko określone udziały.
Domyślnie po włączeniu szyfrowania SMB dla udziału lub serwera tylko klienci SMB 3.0 mogą uzyskiwać dostęp do zaszyfrowanych udziałów.
Szyfrowanie podczas przesyłania na maszynach wirtualnych
Dane przesyłane do, z i między maszynami wirtualnymi z systemem Windows mogą być szyfrowane na wiele sposobów, w zależności od charakteru połączenia.
Sesje protokołu RDP
Możesz nawiązać połączenie z maszyną wirtualną i zalogować się przy użyciu protokołu RDP (Remote Desktop Protocol) z komputera klienckiego z systemem Windows lub z komputera Mac z zainstalowanym klientem RDP. Dane przesyłane przez sieć w sesjach protokołu RDP mogą być chronione przez protokół TLS.
Pulpit zdalny umożliwia również nawiązywanie połączenia z maszyną wirtualną z systemem Linux na platformie Azure.
Bezpieczny dostęp do maszyn wirtualnych z systemem Linux przy użyciu protokołu SSH
W przypadku zdalnego zarządzania można użyć protokołu Secure Shell (SSH) do nawiązywania połączenia z maszynami wirtualnymi z systemem Linux działającymi na platformie Azure. SSH to szyfrowany protokół połączenia, który umożliwia bezpieczne logowanie za pośrednictwem niezabezpieczonych połączeń. Jest to domyślny protokół połączenia dla maszyn wirtualnych z systemem Linux hostowanych na platformie Azure. Korzystając z kluczy SSH na potrzeby uwierzytelniania, eliminujesz konieczność logowania się przy użyciu haseł. Protokół SSH używa pary kluczy publicznych/prywatnych (szyfrowanie asymetryczne) do uwierzytelniania.
Szyfrowanie sieci VPN platformy Azure
Połączenie z platformą Azure można nawiązać za pośrednictwem wirtualnej sieci prywatnej, która tworzy bezpieczny tunel w celu ochrony prywatności przesyłanych danych w sieci.
Bramy sieci VPN platformy Azure
Brama sieci VPN platformy Azure umożliwia wysyłanie zaszyfrowanego ruchu między siecią wirtualną a lokalizacją lokalną za pośrednictwem połączenia publicznego lub wysyłanie ruchu między sieciami wirtualnymi.
Sieci VPN typu lokacja-lokacja używają protokołu IPsec do szyfrowania transportu. Bramy sieci VPN platformy Azure używają zestawu domyślnych propozycji. Bramy sieci VPN platformy Azure można skonfigurować tak, aby używały niestandardowych zasad protokołu IPsec/IKE z określonymi algorytmami kryptograficznymi i mocnymi kluczami, a nie domyślnymi zestawami zasad platformy Azure.
Sieci VPN typu punkt-lokacja
Sieci VPN typu punkt-lokacja umożliwiają poszczególnym komputerom klienckim dostęp do sieci wirtualnej platformy Azure. Protokół SSTP (Secure Socket Tunneling Protocol) służy do tworzenia tunelu SIECI VPN. Może przechodzić przez zapory (tunel jest wyświetlany jako połączenie HTTPS). Możesz użyć własnego wewnętrznego głównego urzędu certyfikacji (PKI) infrastruktury kluczy publicznych (CA) na potrzeby łączności punkt-lokacja.
Połączenie sieci VPN typu punkt-lokacja z siecią wirtualną można skonfigurować przy użyciu witryny Azure Portal z uwierzytelnianiem certyfikatu lub programem PowerShell.
Aby dowiedzieć się więcej o połączeniach sieci VPN typu punkt-lokacja z sieciami wirtualnymi platformy Azure, zobacz:
Sieci VPN typu lokacja-lokacja
Połączenie bramy sieci VPN typu lokacja-lokacja umożliwia połączenie sieci lokalnej z siecią wirtualną platformy Azure za pośrednictwem tunelu sieci VPN IPsec/IKE (IKEv1 lub IKEv2). Ten typ połączenia wymaga lokalnego urządzenia sieci VPN z przypisanym do niego publicznym adresem IP dostępnym na zewnątrz.
Połączenie sieci VPN typu lokacja-lokacja można skonfigurować z siecią wirtualną przy użyciu witryny Azure Portal, programu PowerShell lub interfejsu wiersza polecenia platformy Azure.
Aby uzyskać więcej informacji, zobacz:
Tworzenie połączenia lokacja-lokacja w witrynie Azure Portal
Tworzenie połączenia lokacja-lokacja w programie PowerShell
Szyfrowanie podczas przesyłania w usłudze Data Lake
Dane przesyłane (inaczej dane w ruchu) również są zawsze szyfrowane w usłudze Data Lake Store. Oprócz szyfrowania danych przed zapisaniem ich na nośniku trwałym dane są również zawsze zabezpieczone podczas przesyłania przy użyciu protokołu HTTPS. Protokół HTTPS jest jedynym protokołem obsługiwanym przez interfejsy REST usługi Data Lake Store.
Aby dowiedzieć się więcej na temat szyfrowania danych przesyłanych w usłudze Data Lake, zobacz Szyfrowanie danych w usłudze Data Lake Store.
Zarządzanie kluczami za pomocą usługi Key Vault
Bez odpowiedniej ochrony i zarządzania kluczami szyfrowanie jest renderowane bez użycia. Usługa Key Vault to zalecane przez firmę Microsoft rozwiązanie do zarządzania i kontrolowania dostępu do kluczy szyfrowania używanych przez usługi w chmurze. Uprawnienia do kluczy dostępu można przypisać do usług lub do użytkowników za pośrednictwem kont Microsoft Entra.
Usługa Key Vault pozwala organizacjom zrezygnować z konfigurowania, poprawiania oraz utrzymywania modułów HSM i oprogramowania do zarządzania kluczami. W przypadku korzystania z usługi Key Vault zachowasz kontrolę. Firma Microsoft nigdy nie widzi kluczy, a aplikacje nie mają bezpośredniego dostępu do nich. Możesz również zaimportować lub wygenerować klucze w modułach HSM.