Choix d'un algorithme de chiffrement

Le chiffrement est l'une des mesures préventives à la disposition des administrateurs qui souhaitent sécuriser une instance de SQL Server.

Les algorithmes de chiffrement définissent les transformations de données qui ne peuvent pas être facilement inversées par les utilisateurs non autorisés. SQL Server permet aux administrateurs et aux développeurs de choisir entre plusieurs algorithmes, notamment DES, Triple DES, TRIPLE_DES_3KEY, RC2, RC4, RC4 128 bits, DESX, AES 128 bits, AES 196 bits et AES 256 bits.

Aucun algorithme unique ne convient pour toutes les situations et l'appréciation des avantages de chaque algorithme dépasse le cadre de la documentation en ligne de SQL Server. Cependant, les principes suivants s'appliquent :

  • Un chiffrement renforcé consomme en général davantage de ressources processeur qu'un chiffrement plus faible.

  • Les clés longues produisent en général un chiffrement plus fort que les clés courtes.

  • À longueur de clé égale, le chiffrement asymétrique est plus fort que le chiffrement symétrique, mais il est relativement lent.

  • Le chiffrement par blocs avec des clés longues est plus fort que le chiffrement par flux.

  • Les mots de passe longs et complexes sont plus forts que les mots de passe courts.

  • Si vous chiffrez de grandes quantités de données, vous devez utiliser pour cela une clé symétrique, puis chiffrer cette clé avec une clé asymétrique.

  • Les données chiffrées ne peuvent pas être compressées, mais les données compressées peuvent être chiffrées. Si vous utilisez la compression, vous devez compresser les données avant de les chiffrer.

Important

L'utilisation répétée du même RC4 ou RC4_128 KEY_GUID sur différents blocs de données entraîne la même clé RC4 car SQL Server ne fournit pas automatiquement de salt. L'utilisation répétée de la même clé RC4 est une erreur connue qui entraîne un chiffrement très faible. Par conséquent, les mots clés RC4 et RC4_128 sont désapprouvés. Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et modifiez dès que possible les applications qui utilisent actuellement cette fonctionnalité.

Pour plus d'informations sur les algorithmes et la technologie de chiffrement, consultez la rubrique Concepts fondamentaux sur la sécurité dans le Guide du développeur .NET Framework sur le site MSDN.

Précisions sur les algorithmes DES :

  • DESX a été nommé de façon impropre. Les clés symétriques créées avec ALGORITHM = DESX utilisent en fait le chiffrement TRIPLE DES avec une clé de 192 bits. L'algorithme DESX n'est pas fourni. Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.

  • Les clés symétriques créées avec ALGORITHM = TRIPLE_DES_3KEY utilisent TRIPLE DES avec une clé de 192 bits.

  • Les clés symétriques créées avec ALGORITHM = TRIPLE_DES utilisent TRIPLE DES avec une clé de 128 bits.