Delen via


SQL Server-certificaten en asymmetrische sleutels

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform Systeem (PDW)SQL-database in Microsoft Fabric

Public Key Cryptography is een vorm van berichtgeheim waarin een gebruiker een openbare sleutel en een persoonlijke sleutel maakt. De persoonlijke sleutel wordt geheim gehouden, terwijl de openbare sleutel kan worden gedistribueerd naar anderen. Hoewel de sleutels wiskundig gerelateerd zijn, kan de persoonlijke sleutel niet eenvoudig worden afgeleid met behulp van de openbare sleutel. De openbare sleutel kan worden gebruikt om gegevens te versleutelen die alleen de bijbehorende persoonlijke sleutel kunnen ontsleutelen. Dit kan worden gebruikt voor het versleutelen van berichten naar de eigenaar van de persoonlijke sleutel. Op dezelfde manier kan de eigenaar van een persoonlijke sleutel gegevens versleutelen die alleen kunnen worden ontsleuteld met de openbare sleutel. Dit gebruik vormt de basis van digitale certificaten waarin gegevens in het certificaat worden versleuteld door de eigenaar van een persoonlijke sleutel, waarbij de auteur van de inhoud wordt beveiligd. Omdat de versleutelings- en ontsleutelingssleutels verschillend zijn, worden ze asymmetrische sleutels genoemd.

Certificaten en asymmetrische sleutels zijn beide manieren om asymmetrische versleuteling te gebruiken. Certificaten worden vaak gebruikt als containers voor asymmetrische sleutels, omdat ze meer informatie kunnen bevatten, zoals vervaldatums en verleners. Er is geen verschil tussen de twee mechanismen voor het cryptografische algoritme en geen verschil in sterkte gezien dezelfde sleutellengte. Over het algemeen gebruikt u een certificaat om andere typen versleutelingssleutels in een database te versleutelen of om codemodules te ondertekenen.

Certificaten en asymmetrische sleutels kunnen gegevens ontsleutelen die de andere versleutelt. Over het algemeen gebruikt u asymmetrische versleuteling om een symmetrische sleutel voor opslag in een database te versleutelen.

Een openbare sleutel heeft geen bepaalde indeling zoals een certificaat zou hebben en u kunt deze niet exporteren naar een bestand.

Note

SQL Server bevat functies waarmee u certificaten en sleutels kunt maken en beheren voor gebruik met de server en database. SQL Server kan niet worden gebruikt voor het maken en beheren van certificaten en sleutels met andere toepassingen of in het besturingssysteem.

Certificates

Een certificaat is een digitaal ondertekend beveiligingsobject dat een openbare (en desgewenst een persoonlijke) sleutel voor SQL Server bevat. U kunt extern gegenereerde certificaten gebruiken of SQL Server kan certificaten genereren.

Note

SQL Server-certificaten voldoen aan de IETF X.509v3-certificaatstandaard.

Certificaten zijn handig vanwege de optie voor het exporteren en importeren van sleutels naar X.509-certificaatbestanden. Met de syntaxis voor het maken van certificaten kunt u opties maken voor certificaten zoals een vervaldatum.

Een certificaat gebruiken in SQL Server

Certificaten kunnen worden gebruikt om verbindingen te beveiligen, in databasespiegeling, pakketten en andere objecten te ondertekenen of om gegevens of verbindingen te versleutelen. De volgende tabel bevat aanvullende resources voor certificaten in SQL Server.

Topic Description
CERTIFICAAT MAKEN (Transact-SQL) Hierin wordt de opdracht voor het maken van certificaten uitgelegd.
De bron van pakketten met digitale handtekeningen identificeren Toont informatie over het gebruik van certificaten voor het ondertekenen van softwarepakketten.
Certificaten gebruiken voor een eindpunt voor databasespiegeling (Transact-SQL) Behandelt informatie over het gebruik van certificaten met databasespiegeling.

Asymmetrische sleutels

Asymmetrische sleutels worden gebruikt voor het beveiligen van symmetrische sleutels. Ze kunnen ook worden gebruikt voor beperkte gegevensversleuteling en voor het digitaal ondertekenen van databaseobjecten. Een asymmetrische sleutel bestaat uit een persoonlijke sleutel en een bijbehorende openbare sleutel. Zie CREATE ASYMMETRIC KEY (Transact-SQL) voor meer informatie over asymmetrische sleutels.

Asymmetrische sleutels kunnen worden geïmporteerd uit bestanden met sterke naamsleutels, maar ze kunnen niet worden geëxporteerd. Ze hebben ook geen verloopopties. Asymmetrische sleutels kunnen geen verbindingen versleutelen.

Een asymmetrische sleutel gebruiken in SQL Server

Asymmetrische sleutels kunnen worden gebruikt om gegevens te beveiligen of tekst zonder opmaak te ondertekenen. De volgende tabel bevat aanvullende resources voor asymmetrische sleutels in SQL Server.

Topic Description
ASYMMETRISCHE SLEUTEL (Transact-SQL) maken Hierin wordt de opdracht voor het maken van asymmetrische sleutels uitgelegd.
SIGNBYASYMKEY (Transact-SQL) Hiermee worden de opties voor ondertekeningsobjecten weergegeven.

Tools

Microsoft biedt tools en hulpprogramma's waarmee certificaten en strong-name sleutelbestanden worden gegenereerd. Deze hulpprogramma's bieden een uitgebreidere mate van flexibiliteit in het proces voor het genereren van sleutels dan de SQL Server-syntaxis. U kunt deze hulpprogramma's gebruiken om RSA-sleutels te maken met complexere sleutellengten en deze vervolgens te importeren in SQL Server. In de volgende tabel ziet u waar u deze hulpprogramma's kunt vinden.

Tool Purpose
New-SelfSignedCertificate Hiermee maakt u zelfondertekende certificaten.
makecert Hiermee maakt u certificaten. Verouderd ten gunste van New-SelfSignedCertificate.
sn Hiermee maakt u sterke namen voor symmetrische sleutels.

Een versleutelingsalgoritmen kiezen

SYMMETRISCHE SLEUTEL (Transact-SQL) maken

CERTIFICAAT MAKEN (Transact-SQL)

Zie ook

sys.certificates (Transact-SQL)
TDE (Transparent Data Encryption)