Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
SQL Server använder krypteringsnycklar för att skydda data, autentiseringsuppgifter och anslutningsinformation som lagras i en serverdatabas. SQL Server har två typer av nycklar: symmetrisk och asymmetrisk. Symmetriska nycklar använder samma lösenord för att kryptera och dekryptera data. Asymmetriska nycklar använder ett lösenord för att kryptera data (kallas den offentliga nyckeln) och ett annat för att dekryptera data (kallas den privata nyckeln).
I SQL Server innehåller krypteringsnycklar en kombination av offentliga, privata och symmetriska nycklar som används för att skydda känsliga data. Den symmetriska nyckeln skapas under SQL Server-initieringen när du först startar SQL Server-instansen. Nyckeln används av SQL Server för att kryptera känsliga data som lagras i SQL Server. Offentliga och privata nycklar skapas av operativsystemet och de används för att skydda den symmetriska nyckeln. Ett offentligt och privat nyckelpar skapas för varje SQL Server-instans som lagrar känsliga data i en databas.
Program för SQL Server och databasnycklar
SQL Server har två primära program för nycklar: en tjänsthuvudnyckel (SMK) som genereras på och för en SQL Server-instans och en databashuvudnyckel (DMK) som används för en databas.
Tjänsthuvudnyckel
Tjänstens huvudnyckel är roten i SQL Server-krypteringshierarkin. SMK genereras automatiskt första gången SQL Server-instansen startas och används för att kryptera ett länkat serverlösenord, autentiseringsuppgifter och databashuvudnyckeln i varje databas. SMK:n krypteras med hjälp av den lokala datornyckeln med hjälp av Windows Data Protection API (DPAPI). DPAPI använder en nyckel som härleds från Windows-autentiseringsuppgifterna för SQL Server-tjänstkontot och datorns autentiseringsuppgifter. Tjänstens huvudnyckel kan bara dekrypteras av tjänstkontot under vilket den skapades eller av ett huvudnamn som har åtkomst till datorns autentiseringsuppgifter.
Tjänstens huvudnyckel kan bara öppnas av Det Windows-tjänstkonto under vilket den skapades eller av ett huvudnamn med åtkomst till både tjänstkontots namn och dess lösenord.
SQL Server använder AES-krypteringsalgoritmen för att skydda tjänstens huvudnyckel (SMK) och databasens huvudnyckel (DMK). AES är en nyare krypteringsalgoritm än 3DES som används i tidigare versioner. När du har uppgraderat en instans av databasmotorn till SQL Server ska SMK och DMK återskapas för att uppgradera huvudnycklarna till AES. Mer information om hur du återskapar SMK finns i ALTER SERVICE MASTER KEY (Transact-SQL) och ALTER MASTER KEY (Transact-SQL).
Huvudnyckel för databas
Huvudnyckeln för databasen är en symmetrisk nyckel som används för att skydda de privata nycklarna för certifikat och asymmetriska nycklar som finns i databasen. Det kan också användas för att kryptera data, men det har längdbegränsningar som gör det mindre praktiskt för data än att använda en asymmetrisk nyckel. För att aktivera automatisk dekryptering av databashuvudnyckeln krypteras en kopia av nyckeln med hjälp av SMK. Den lagras i både databasen där den används och i huvudsystemdatabasen.
Kopian av DMK:t som lagras i huvudsystemdatabasen uppdateras tyst när DMK ändras. Den här standardinställningen kan dock ändras med hjälp av alternativet DROP ENCRYPTION BY SERVICE MASTER KEY i ALTER MASTER KEY-instruktionen . En DMK som inte krypteras av tjänstens huvudnyckel måste öppnas med hjälp av OPEN MASTER KEY-instruktionen och ett lösenord.
Hantera SQL Server- och databasnycklar
Hantering av krypteringsnycklar består av att skapa nya databasnycklar, skapa en säkerhetskopia av server- och databasnycklarna och veta när och hur du återställer, tar bort eller ändrar nycklarna.
Om du vill hantera symmetriska nycklar kan du använda de verktyg som ingår i SQL Server för att göra följande:
Säkerhetskopiera en kopia av server- och databasnycklarna så att du kan använda dem för att återställa en serverinstallation eller som en del av en planerad migrering.
Återställ en tidigare sparad nyckel till en databas. Detta gör det möjligt för en ny serverinstans att komma åt befintliga data som den ursprungligen inte krypterade.
Ta bort krypterade data i en databas i den osannolika händelsen att du inte längre kan komma åt krypterade data.
Återskapa nycklar och kryptera om data i den osannolika händelsen att nyckeln komprometteras. Som bästa säkerhet bör du återskapa nycklarna regelbundet (till exempel med några månaders mellanrum) för att skydda servern från attacker som försöker dechiffrera nycklarna.
Lägg till eller ta bort en serverinstans från en distribution av serverskalning där flera servrar delar både en enskild databas och nyckeln som tillhandahåller reversibel kryptering för databasen.
Viktig säkerhetsinformation
Åtkomst till objekt som skyddas av tjänstens huvudnyckel kräver antingen det SQL Server Service-konto som användes för att skapa nyckeln eller datorkontot (datorn). Det vill: det datorkonto som är kopplat till systemet där nyckeln skapades. Du kan ändra SQL Server-tjänstkontot eller datorkontot utan att förlora åtkomsten till nyckeln. Men om du ändrar båda förlorar du åtkomsten till tjänstens huvudnyckel. Om du förlorar åtkomsten till tjänstens huvudnyckel utan något av dessa två element kan du inte dekryptera data och objekt som krypterats med hjälp av den ursprungliga nyckeln.
Anslutningar som skyddas med tjänstens huvudnyckel kan inte återställas utan tjänstens huvudnyckel.
Åtkomst till objekt och data som skyddas med databashuvudnyckeln kräver endast det lösenord som används för att skydda nyckeln.
Försiktighet
Om du förlorar all åtkomst till nycklarna som beskrevs tidigare förlorar du åtkomsten till objekt, anslutningar och data som skyddas av dessa nycklar. Du kan återställa tjänstens huvudnyckel enligt beskrivningen i länkarna som visas här, eller gå tillbaka till det ursprungliga krypteringssystemet för att återställa åtkomsten. Det finns ingen "bakdörr" för att återställa åtkomsten.
I det här avsnittet
Utökningsbar nyckelhantering (EKM)
Förklarar hur du använder nyckelhanteringssystem från tredje part med SQL Server.
Relaterade uppgifter
Säkerhetskopiera tjänstens huvudnyckel
Återställa tjänstens huvudnyckel
Säkerhetskopiera en databashuvudnyckel
Återställa en databashuvudnyckel
Skapa identiska symmetriska nycklar på två servrar
Aktivera TDE på SQL Server med HJÄLP av EKM
Utökningsbar nyckelhantering med Hjälp av Azure Key Vault (SQL Server)
Relaterat innehåll
SKAPA HUVUDNYCKEL (Transact-SQL)
ÄNDRA TJÄNSTHUVUDNYCKEL (Transact-SQL)
Återställa en databashuvudnyckel
Se även
Säkerhetskopiera och återställa Reporting Services-krypteringsnycklar
Ta bort och återskapa krypteringsnycklar (SSRS Configuration Manager)
Lägga till och ta bort krypteringsnycklar för Scale-Out distribution (SSRS Configuration Manager)
Transparent datakryptering (TDE)