SQL Server-certifikat och asymmetriska nycklar

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-databas i Microsoft Fabric

Kryptering med offentlig nyckel är en form av meddelandesekretess där en användare skapar en offentlig nyckel och en privat nyckel. Den privata nyckeln hålls hemlig, medan den offentliga nyckeln kan distribueras till andra. Även om nycklarna är matematiskt relaterade kan den privata nyckeln inte enkelt härledas med hjälp av den offentliga nyckeln. Den offentliga nyckeln kan användas för att kryptera data som endast motsvarande privata nyckel kan dekryptera. Detta kan användas för att kryptera meddelanden till ägaren av den privata nyckeln. På samma sätt kan ägaren till en privat nyckel kryptera data som bara kan dekrypteras med den offentliga nyckeln. Den här användningen utgör grunden för digitala certifikat där information som finns i certifikatet krypteras av ägaren av en privat nyckel, vilket försäkrar upphovsmannen till innehållet. Eftersom krypterings- och dekrypteringsnycklarna är olika kallas de asymmetriska nycklar.

Certifikat och asymmetriska nycklar är båda sätten att använda asymmetrisk kryptering. Certifikat används ofta som containrar för asymmetriska nycklar eftersom de kan innehålla mer information, till exempel förfallodatum och utfärdare. Det finns ingen skillnad mellan de två mekanismerna för den kryptografiska algoritmen och ingen skillnad i styrka med tanke på samma nyckellängd. Vanligtvis använder du ett certifikat för att kryptera andra typer av krypteringsnycklar i en databas eller för att signera kodmoduler.

Certifikat och asymmetriska nycklar kan dekryptera data som den andra krypterar. I allmänhet använder du asymmetrisk kryptering för att kryptera en symmetrisk nyckel för lagring i en databas.

En offentlig nyckel har inte ett visst format som ett certifikat skulle ha och du kan inte exportera den till en fil.

Note

SQL Server innehåller funktioner som gör att du kan skapa och hantera certifikat och nycklar för användning med servern och databasen. SQL Server kan inte användas för att skapa och hantera certifikat och nycklar med andra program eller i operativsystemet.

Certificates

Ett certifikat är ett digitalt signerat säkerhetsobjekt som innehåller en offentlig (och eventuellt en privat) nyckel för SQL Server. Du kan använda externt genererade certifikat eller så kan SQL Server generera certifikat.

Note

SQL Server-certifikat följer IETF X.509v3-certifikatstandarden.

Certifikat är användbara på grund av alternativet att både exportera och importera nycklar till X.509-certifikatfiler. Syntaxen för att skapa certifikat gör det möjligt att skapa alternativ för certifikat, till exempel ett förfallodatum.

Använda ett certifikat i SQL Server

Certifikat kan användas för att skydda anslutningar, i databasspegling, för att signera paket och andra objekt eller för att kryptera data eller anslutningar. I följande tabell visas ytterligare resurser för certifikat i SQL Server.

Topic Description
SKAPA CERTIFIKAT (Transact-SQL) Förklarar kommandot för att skapa certifikat.
Identifiera paketkällan med digitala signaturer Visar information om hur du använder certifikat för att signera programvarupaket.
Använda certifikat för en databasspeglingsslutpunkt (Transact-SQL) Omfattar information om hur du använder certifikat med databasspegling.

Asymmetriska nycklar

Asymmetriska nycklar används för att skydda symmetriska nycklar. De kan också användas för begränsad datakryptering och för att signera databasobjekt digitalt. En asymmetrisk nyckel består av en privat nyckel och en motsvarande offentlig nyckel. Mer information om asymmetriska nycklar finns i CREATE ASYMMETRIC KEY (Transact-SQL).

Asymmetriska nycklar kan importeras från starka namnnyckelfiler, men de kan inte exporteras. De har inte heller alternativ för förfallodatum. Asymmetriska nycklar kan inte kryptera anslutningar.

Använda en asymmetrisk nyckel i SQL Server

Asymmetriska nycklar kan användas för att skydda data eller signera klartext. I följande tabell visas ytterligare resurser för asymmetriska nycklar i SQL Server.

Topic Description
SKAPA ASYMMETRISK NYCKEL (Transact-SQL) Förklarar kommandot för att skapa asymmetriska nycklar.
SIGNBYASYMKEY (Transact-SQL) Visar alternativen för signeringsobjekt.

Tools

Microsoft tillhandahåller verktyg och verktyg som genererar certifikat och starka namnnyckelfiler. Dessa verktyg ger en större flexibilitet i nyckelgenereringsprocessen än SQL Server-syntaxen. Du kan använda dessa verktyg för att skapa RSA-nycklar med mer komplexa nyckellängder och sedan importera dem till SQL Server. I följande tabell visas var du hittar dessa verktyg.

Tool Purpose
New-SelfSignedCertificate Skapar självsignerade certifikat.
makecert Skapar certifikat. Inaktuell till förmån för New-SelfSignedCertificate.
sn Skapar starka namn för symmetriska nycklar.

Välj en krypteringsalgoritm

SKAPA SYMMETRISK NYCKEL (Transact-SQL)

SKAPA CERTIFIKAT (Transact-SQL)

Se även

sys.certificates (Transact-SQL)
Transparent datakryptering (TDE)