Delen via


Een versleutelingsalgoritmen kiezen

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Versleuteling is een van de verschillende verdedigingsmechanismen die beschikbaar zijn voor de beheerder die een exemplaar van SQL Server wil beveiligen.

Met versleutelingsalgoritmen worden gegevenstransformaties gedefinieerd die niet eenvoudig kunnen worden omgekeerd door onbevoegde gebruikers. Beheerders en ontwikkelaars kunnen kiezen uit verschillende algoritmen in SQL Server, waaronder DES, Triple DES, TRIPLE_DES_3KEY, RC2, RC4, 128-bits RC4, DESX, 128-bits AES, 192-bits AES en 256-bits AES.

Vanaf SQL Server 2016 (13.x) worden alle algoritmen anders dan AES_128, AES_192en AES_256 afgeschaft. Als u oudere algoritmen wilt gebruiken (niet aanbevolen), moet u de database instellen op databasecompatibiliteitsniveau 120 of lager.

Het juiste algoritme kiezen

Er is geen enkel algoritme ideaal voor alle situaties en richtlijnen voor de voordelen van elk algoritme valt buiten het bereik van dit artikel. De volgende algemene principes zijn echter van toepassing:

  • Sterke versleuteling verbruikt over het algemeen meer CPU-resources dan zwakke versleuteling.

  • Lange sleutels leveren over het algemeen sterkere versleuteling op dan korte sleutels.

  • Asymmetrische versleuteling is langzamer dan symmetrische versleuteling.

  • Lange, complexe wachtwoorden zijn sterker dan korte wachtwoorden.

  • Symmetrische versleuteling wordt aanbevolen wanneer de sleutel alleen lokaal wordt opgeslagen. Asymmetrische versleuteling wordt aanbevolen wanneer sleutels via de kabel moeten worden gedeeld.

  • Als u veel gegevens versleutelt, moet u de gegevens versleutelen met behulp van een symmetrische sleutel en de symmetrische sleutel versleutelen met een asymmetrische sleutel.

  • Versleutelde gegevens kunnen niet worden gecomprimeerd, maar gecomprimeerde gegevens kunnen worden versleuteld. Als u compressie gebruikt, moet u gegevens comprimeren voordat u deze versleutelt.

Zie Belangrijke beveiligingsconcepten voor meer informatie over versleutelingsalgoritmen en versleutelingstechnologie.

Verouderd RC4-algoritme

Het RC4-algoritme wordt alleen ondersteund voor achterwaartse compatibiliteit. Nieuw materiaal kan alleen worden versleuteld met of RC4RC4_128 wanneer de database zich in compatibiliteitsniveau 90 of 100 bevindt (niet aanbevolen). Gebruik in plaats daarvan een nieuwer algoritme, zoals een van de AES-algoritmen. In SQL Server 2012 (11.x) en latere versies kan materiaal versleuteld worden met RC4 of RC4_128 op elk compatibiliteitsniveau worden ontsleuteld.

Herhaald gebruik van hetzelfde RC4 of RC4_128KEY_GUID op verschillende gegevensblokken resulteert in dezelfde RC4-sleutel omdat SQL Server geen zout automatisch biedt. Het herhaaldelijk gebruiken van dezelfde RC4-sleutel is een bekende fout die resulteert in zwakke versleuteling. Daarom hebben we de RC4 en RC4_128 trefwoorden afgeschaft. Deze functie wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie.

Verduidelijking met betrekking tot DES-algoritmen

DESX heeft een onjuiste naam gekregen. Symmetrische sleutels die met ALGORITHM = DESX zijn gemaakt, maken daadwerkelijk gebruik van de Triple DES-codering met een 192-bits sleutel. Het DESX-algoritme is niet opgegeven. Deze functie wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie.

Symmetrische sleutels die zijn gemaakt met ALGORITHM = TRIPLE_DES_3KEY gebruiken Triple DES met een 192-bits sleutel.

Symmetrische sleutels die zijn gemaakt met ALGORITHM = TRIPLE_DES gebruik van Triple DES met een 128-bits sleutel.