Översikt över Azure-kryptering
Den här artikeln innehåller en översikt över hur kryptering används i Microsoft Azure. Den omfattar de viktigaste områdena kryptering, inklusive kryptering i vila, kryptering under flygning och nyckelhantering med Azure Key Vault. Varje avsnitt innehåller länkar till mer detaljerad information.
Data i paus och kryptering
Vilande data innehåller information som finns i beständig lagring på fysiska medier, i valfritt digitalt format. Mediet kan innehålla filer på magnetiska eller optiska medier, arkiverade data och säkerhetskopiering av data. Microsoft Azure erbjuder en mängd olika datalagringslösningar för att uppfylla olika behov, inklusive fil-, disk-, blob- och tabelllagring. Microsoft tillhandahåller även kryptering för att skydda Azure SQL Database, Azure Cosmos DB och Azure Data Lake.
Datakryptering i vila med hjälp av AES 256-datakryptering är tillgängligt för tjänster i molnmodellerna programvara som en tjänst (SaaS), plattform som en tjänst (PaaS) och infrastruktur som en tjänst (IaaS). Den här artikeln sammanfattar och innehåller resurser som hjälper dig att använda Azure-krypteringsalternativen.
En mer detaljerad beskrivning av hur vilande data krypteras i Azure finns i Azure Data Encryption-at-Rest.
Azure-krypteringsmodeller
Azure Support olika krypteringsmodeller, inklusive kryptering på serversidan som använder tjänsthanterade nycklar, kundhanterade nycklar i Key Vault eller kundhanterade nycklar på kundkontrollerad maskinvara. Med kryptering på klientsidan kan du hantera och lagra nycklar lokalt eller på en annan säker plats.
Kryptering på klientsidan
Kryptering på klientsidan utförs utanför Azure. Den innehåller:
- Data krypterade av ett program som körs i kundens datacenter eller av ett tjänstprogram.
- Data som redan är krypterade när de tas emot av Azure.
Med kryptering på klientsidan har molntjänstleverantörer inte åtkomst till krypteringsnycklarna och kan inte dekryptera dessa data. Du har fullständig kontroll över nycklarna.
Kryptering på serversidan
De tre krypteringsmodellerna på serversidan har olika egenskaper för nyckelhantering som du kan välja enligt dina krav:
Tjänsthanterade nycklar: Ger en kombination av kontroll och bekvämlighet med låga omkostnader.
Kundhanterade nycklar: Ger dig kontroll över nycklarna, inklusive BYOK-stöd (Bring Your Own Keys) eller låter dig generera nya.
Tjänsthanterade nycklar i kundkontrollerad maskinvara: Gör att du kan hantera nycklar på din egen lagringsplats, utanför Microsofts kontroll. Den här egenskapen kallas HYOK (Host Your Own Key). Konfigurationen är dock komplex och de flesta Azure-tjänster stöder inte den här modellen.
Azure-diskkryptering
Alla hanterade diskar, ögonblicksbilder och avbildningar krypteras med hjälp av kryptering av lagringstjänst med hjälp av en tjänsthanterad nyckel. Azure erbjuder även alternativ för att skydda temporära diskar, cacheminnen och hantera nycklar i Azure Key Vault. Mer information finns i Översikt över krypteringsalternativ för hanterade diskar.
Kryptering av Azure-lagringstjänst
Vilande data i Azure Blob Storage och Azure-filresurser kan krypteras i både scenarier på serversidan och på klientsidan.
Azure Storage Service Encryption (SSE) kan automatiskt kryptera data innan de lagras och dekrypterar automatiskt data när du hämtar dem. Processen är helt transparent för användarna. Kryptering av lagringstjänst använder 256-bitars AES-kryptering (Advanced Encryption Standard), vilket är en av de starkaste blockkrypteringarna som är tillgängliga. AES hanterar kryptering, dekryptering och nyckelhantering transparent.
Kryptering på klientsidan av Azure-blobar
Du kan utföra kryptering på klientsidan av Azure-blobar på olika sätt.
Du kan använda Azure Storage-klientbiblioteket för .NET NuGet-paketet för att kryptera data i dina klientprogram innan du laddar upp dem till Azure Storage.
Mer information om och nedladdning av Azure Storage-klientbiblioteket för .NET NuGet-paketet finns i Windows Azure Storage 8.3.0.
När du använder kryptering på klientsidan med Key Vault krypteras dina data med hjälp av en engångskrypteringsnyckel för symmetrisk innehållskryptering (CEK) som genereras av Azure Storage-klient-SDK:t. CEK krypteras med hjälp av en nyckelkrypteringsnyckel (KEK), som antingen kan vara en symmetrisk nyckel eller ett asymmetriskt nyckelpar. Du kan hantera den lokalt eller lagra den i Key Vault. Krypterade data laddas sedan upp till Azure Storage.
Mer information om kryptering på klientsidan med Key Vault och komma igång med instruktioner finns i Självstudie: Kryptera och dekryptera blobar i Azure Storage med hjälp av Key Vault.
Slutligen kan du också använda Azure Storage-klientbiblioteket för Java för att utföra kryptering på klientsidan innan du laddar upp data till Azure Storage och dekryptera data när du laddar ned dem till klienten. Det här biblioteket stöder även integrering med Key Vault för hantering av lagringskontonycklar.
Kryptering av vilande data med Azure SQL Database
Azure SQL Database är en relationsdatabastjänst för generell användning i Azure som stöder strukturer som relationsdata, JSON, spatial och XML. SQL Database stöder både kryptering på serversidan via funktionen transparent datakryptering (TDE) och kryptering på klientsidan via funktionen Always Encrypted.
Transparent datakryptering
TDE används för att kryptera SQL Server-, Azure SQL Database- och Azure Synapse Analytics-datafiler i realtid med hjälp av en databaskrypteringsnyckel (DEK), som lagras i databasens startpost för tillgänglighet under återställningen.
TDE skyddar data och loggfiler med hjälp av AES- och 3DES-krypteringsalgoritmer (Triple Data Encryption Standard). Kryptering av databasfilen utförs på sidnivå. Sidorna i en krypterad databas krypteras innan de skrivs till disken och dekrypteras när de läss in i minnet. TDE är nu aktiverat som standard på nyligen skapade Azure SQL-databaser.
Always Encrypted-funktion
Med funktionen Always Encrypted i Azure SQL kan du kryptera data i klientprogram innan du lagrar dem i Azure SQL Database. Du kan också aktivera delegering av lokal databasadministration till tredje part och upprätthålla separation mellan dem som äger och kan visa data och de som hanterar dem men inte bör ha åtkomst till dem.
Kryptering på cellnivå eller kolumnnivå
Med Azure SQL Database kan du tillämpa symmetrisk kryptering på en datakolumn med hjälp av Transact-SQL. Den här metoden kallas kryptering på cellnivå eller kryptering på kolumnnivå (CLE) eftersom du kan använda den för att kryptera specifika kolumner eller till och med specifika dataceller med olika krypteringsnycklar. Detta ger dig mer detaljerad krypteringskapacitet än TDE, som krypterar data på sidor.
CLE har inbyggda funktioner som du kan använda för att kryptera data med hjälp av antingen symmetriska eller asymmetriska nycklar, den offentliga nyckeln för ett certifikat eller en lösenfras med 3DES.
Azure Cosmos DB-databaskryptering
Azure Cosmos DB är Microsofts globalt distribuerade databas med flera modeller. Användardata som lagras i Azure Cosmos DB i icke-flyktig lagring (solid state-enheter) krypteras som standard. Det finns inga kontroller att aktivera eller inaktivera. Kryptering i vila implementeras med hjälp av ett antal säkerhetstekniker, inklusive säkra nyckellagringssystem, krypterade nätverk och kryptografiska API:er. Krypteringsnycklar hanteras av Microsoft och roteras enligt Microsofts interna riktlinjer. Du kan också välja att lägga till ett andra krypteringslager med nycklar som du hanterar med hjälp av kundhanterade nycklar eller CMK-funktionen .
Vilande kryptering i Data Lake
Azure Data Lake är en företagsomfattande lagringsplats för alla typer av data som samlas in på en enda plats innan någon formell definition av krav eller schema. Data Lake Store stöder "på som standard", transparent kryptering av vilande data, som konfigureras när ditt konto skapas. Som standard hanterar Azure Data Lake Store nycklarna åt dig, men du har möjlighet att hantera dem själv.
Tre typer av nycklar används för att kryptera och dekryptera data: MEK (Master Encryption Key), Data Encryption Key (DEK) och Block Encryption Key (BEK). MEK används för att kryptera DEK, som lagras på beständiga medier, och BEK härleds från DEK och datablocket. Om du hanterar dina egna nycklar kan du rotera MEK:n.
Kryptering av data internt
Azure erbjuder många mekanismer för att hålla data privata när de flyttas från en plats till en annan.
Datalänk Layer-kryptering i Azure
När Azure-kundtrafik flyttas mellan datacenter – utanför fysiska gränser som inte styrs av Microsoft (eller på uppdrag av Microsoft) – tillämpas en krypteringsmetod för datalänkskikt med IEEE 802.1AE MAC Security Standards (även kallat MACsec) från punkt till punkt i den underliggande nätverksmaskinvaran. Paketen krypteras på enheterna innan de skickas, vilket förhindrar fysiska "man-in-the-middle" eller snokande/avlyssningsattacker. Eftersom den här tekniken är integrerad i själva nätverksmaskinvaran ger den kryptering med linjefrekvens på nätverksmaskinvaran utan någon mätbar länkfördröjningsökning. Den här MACsec-krypteringen är aktiverad som standard för all Azure-trafik som färdas inom en region eller mellan regioner, och ingen åtgärd krävs från kundernas sida för att aktivera.
TLS-kryptering i Azure
Microsoft ger kunderna möjlighet att använda TLS-protokollet (Transport Layer Security) för att skydda data när de reser mellan molntjänsterna och kunderna. Microsofts datacenter förhandlar om en TLS-anslutning med klientsystem som ansluter till Azure-tjänster. TLS ger stark autentisering, meddelandesekretess och integritet (möjliggör identifiering av manipulering, avlyssning och förfalskning), samverkan, algoritmflexibilitet och enkel distribution och användning.
Perfect Forward Secrecy (PFS) skyddar anslutningar mellan kundernas klientsystem och Microsofts molntjänster med unika nycklar. Anslutningar stöder också RSA-baserade 2 048-bitars nyckellängder, ECC 256-bitars nyckellängder, SHA-384-meddelandeautentisering och AES-256-datakryptering. Den här kombinationen gör det svårt för någon att fånga upp och komma åt data som är under överföring.
Azure Storage-transaktioner
När du interagerar med Azure Storage via Azure Portal sker alla transaktioner via HTTPS. Du kan också använda STORAGE REST API via HTTPS för att interagera med Azure Storage. Du kan framtvinga användningen av HTTPS när du anropar REST-API:er för att komma åt objekt i lagringskonton genom att aktivera den säkra överföring som krävs för lagringskontot.
Signaturer för delad åtkomst (SAS), som kan användas för att delegera åtkomst till Azure Storage-objekt, innehåller ett alternativ för att ange att endast HTTPS-protokollet kan användas när du använder signaturer för delad åtkomst. Den här metoden säkerställer att alla som skickar länkar till SAS-token använder rätt protokoll.
SMB 3.0, som används för att komma åt Azure Files-resurser, stöder kryptering och är tillgängligt i Windows Server 2012 R2, Windows 8, Windows 8.1 och Windows 10. Det ger åtkomst mellan regioner och till och med åtkomst på skrivbordet.
Kryptering på klientsidan krypterar data innan de skickas till din Azure Storage-instans, så att de krypteras när de färdas över nätverket.
SMB-kryptering över virtuella Azure-nätverk
Genom att använda SMB 3.0 på virtuella datorer som kör Windows Server 2012 eller senare kan du skydda dataöverföringar genom att kryptera data under överföring över virtuella Azure-nätverk. Genom att kryptera data hjälper du till att skydda mot manipulerings- och avlyssningsattacker. Administratörer kan aktivera SMB-kryptering för hela servern eller bara specifika resurser.
När SMB-kryptering har aktiverats för en resurs eller server tillåts som standard endast SMB 3.0-klienter att komma åt de krypterade resurserna.
Kryptering under överföring på virtuella datorer
Data under överföring till, från och mellan virtuella datorer som kör Windows kan krypteras på flera olika sätt, beroende på anslutningens natur.
RDP-sessioner
Du kan ansluta och logga in på en virtuell dator med hjälp av Remote Desktop Protocol (RDP) från en Windows-klientdator eller från en Mac med en RDP-klient installerad. Data under överföring över nätverket i RDP-sessioner kan skyddas av TLS.
Du kan också använda Fjärrskrivbord för att ansluta till en virtuell Linux-dator i Azure.
Säker åtkomst till virtuella Linux-datorer med SSH
För fjärrhantering kan du använda Secure Shell (SSH) för att ansluta till virtuella Linux-datorer som körs i Azure. SSH är ett krypterat anslutningsprotokoll som tillåter säkra inloggningar över oskyddade anslutningar. Det är standardanslutningsprotokollet för virtuella Linux-datorer som finns i Azure. Genom att använda SSH-nycklar för autentisering eliminerar du behovet av lösenord för att logga in. SSH använder ett offentligt/privat nyckelpar (asymmetrisk kryptering) för autentisering.
Azure VPN-kryptering
Du kan ansluta till Azure via ett virtuellt privat nätverk som skapar en säker tunnel för att skydda sekretessen för data som skickas över nätverket.
Azure VPN Gateway
Du kan använda en Azure VPN-gateway för att skicka krypterad trafik mellan ditt virtuella nätverk och din lokala plats över en offentlig anslutning, eller för att skicka trafik mellan virtuella nätverk.
Plats-till-plats-VPN använder IPsec för transportkryptering. Azure VPN-gatewayer använder en uppsättning standardförslag. Du kan konfigurera Azure VPN-gatewayer så att de använder en anpassad IPsec/IKE-princip med specifika kryptografiska algoritmer och viktiga styrkor i stället för Azures standardprincipuppsättningar.
Punkt-till-plats-VPN
Punkt-till-plats-VPN tillåter enskilda klientdatorer åtkomst till ett virtuellt Azure-nätverk. SSTP (Secure Socket Tunneling Protocol) används för att skapa VPN-tunneln. Den kan passera brandväggar (tunneln visas som en HTTPS-anslutning). Du kan använda din egen interna rotcertifikatutfärdare för offentlig nyckel (PKI) för punkt-till-plats-anslutning.
Du kan konfigurera en punkt-till-plats-VPN-anslutning till ett virtuellt nätverk med hjälp av Azure Portal med certifikatautentisering eller PowerShell.
Mer information om punkt-till-plats-VPN-anslutningar till virtuella Azure-nätverk finns i:
Plats-till-plats-VPN:er
Du kan använda en vpn-gatewayanslutning från plats till plats för att ansluta ditt lokala nätverk till ett virtuellt Azure-nätverk via en IPsec/IKE-tunnel (IKEv1 eller IKEv2). Den här typen av anslutning kräver en lokal VPN-enhet som har en extern offentlig IP-adress tilldelad till sig.
Du kan konfigurera en VPN-anslutning från plats till plats till ett virtuellt nätverk med hjälp av Azure Portal, PowerShell eller Azure CLI.
Mer information finns i:
Skapa en plats-till-plats-anslutning i Azure Portal
Skapa en plats-till-plats-anslutning i PowerShell
Skapa ett virtuellt nätverk med en PLATS-till-plats-VPN-anslutning med hjälp av CLI
Kryptering under överföring i Data Lake
Data under överföring (även kallat data i rörelse) krypteras också alltid i Data Lake Store. Förutom att kryptera data innan de lagras i beständiga medier skyddas även data alltid under överföring med hjälp av HTTPS. HTTPS är det enda protokoll som stöds för Data Lake Store REST-gränssnitt.
Mer information om kryptering av data under överföring i Data Lake finns i Kryptering av data i Data Lake Store.
Nyckelhantering med Key Vault
Utan korrekt skydd och hantering av nycklarna blir krypteringen oanvändbar. Key Vault är den Microsoft-rekommenderade lösningen för att hantera och kontrollera åtkomsten till krypteringsnycklar som används av molntjänster. Behörigheter för åtkomstnycklar kan tilldelas till tjänster eller till användare via Microsoft Entra-konton.
Med Key Vault slipper organisationer konfigurera, korrigera och underhålla maskinvarumoduler för säkerhet (HSM, Hardware Security Modules) och programvara för nyckelhantering. När du använder Key Vault behåller du kontrollen. Microsoft ser aldrig dina nycklar och program har inte direkt åtkomst till dem. Du kan också importera eller generera nycklar i HSM:er.