Partager via


Utiliser SQL Server 2016 et versions ultérieures en mode compatible FIPS 140-2

Cet article présente les instructions FIPS 140-2 et explique comment utiliser SQL Server2016 en mode compatible FIPS 140-2.

Version du produit d’origine : numéro de base de connaissances d’origine SQL Server 2016 et versions ultérieures : 4014354

Note

  • Les termes « Conformité FIPS 140-2 », « Conformité FIPS 140-2 » et « Mode conforme FIPS 140-2 » sont définis ici pour une utilisation et une clarté. Ces termes ne sont pas reconnus ou définis par le gouvernement. Les États-Unis et les gouvernements canadiens reconnaissent la validation des modules de chiffrement par rapport aux normes comme FIPS 140-2 au lieu d’utiliser des modules de chiffrement de manière spécifiée ou conforme.

    Dans cet article, nous utilisons la conformité FIPS 140-2, la conformité FIPS 140-2 et le mode conforme à FIPS 140-2 pour signifier que SQL Server 2016 et versions ultérieures utilisent uniquement des instances validées FIPS 140-2 d’algorithmes et de hachage dans toutes les instances dans lesquelles les données chiffrées ou hachées sont importées vers ou exportées à partir de SQL Server 2016 et versions ultérieures. En outre, cela signifie que SQL Server 2016 et versions ultérieures géreront les clés de manière sécurisée, comme requis des modules de chiffrement validés par FIPS 140-2. Le processus de gestion des clés inclut également la génération de clés et le stockage de clés.

  • Nous utilisons « certifié » ici pour signifier que l’instance de l’algorithme est validée FIPS 140-2 ou que le système d’exploitation contient des instances validées FIPS140-2 d’algorithmes.

Qu’est-ce que FIPS ?

Federal Information Processing Standard (FIPS) est une norme développée par les deux organismes gouvernementaux suivants :

  • L’Institut national des normes et de la technologie (NIST) dans le États-Unis
  • Le Centre de sécurité des communications (CSE) au Canada

Les normes FIPS sont recommandées ou imposées pour une utilisation dans les systèmes informatiques gérés par le gouvernement fédéral dans les États-Unis et le Canada.

Qu’est-ce que FIPS 140-2 ?

FIPS 140-2 est une instruction intitulée « Exigences de sécurité pour les modules de chiffrement ». Il spécifie quels algorithmes de chiffrement et quels algorithmes de hachage peuvent être utilisés et comment les clés de chiffrement doivent être générées et gérées. Certains matériels, logiciels et processus qui contiennent les algorithmes peuvent être considérés comme certifiés FIPS 140-2, et d’autres matériels, logiciels et processus qui appellent les algorithmes corrects peuvent être considérés comme conformes à FIPS 140-2.

Quelle est la différence entre la conformité FIPS 140-2 et la certification FIPS 140-2 ?

SQL Server 2016 et versions ultérieures peuvent être configurés et exécutés de manière conforme à FIPS 140-2. Pour configurer SQL Server 2016 et versions ultérieures de cette façon, il doit s’exécuter sur un système d’exploitation certifié FIPS 140-2 ou qui fournit des modules de chiffrement certifiés. La différence entre la conformité et la certification n’est pas subtile. Les algorithmes peuvent être certifiés. Il est insuffisant d’utiliser un algorithme simplement parce qu’il est répertorié sur les listes approuvées dans FIPS 140-2. Au lieu de cela, vous devez utiliser une instance de cet algorithme certifié. Cela signifie que l’instance est validée par le gouvernement. La certification nécessite des tests et une vérification par un laboratoire d’évaluation approuvé par le gouvernement américain ou par le gouvernement canadien. Windows Server 2012 et versions ultérieures, et Windows 8 et versions ultérieures contiennent l’instance certifiée de chaque algorithme autorisé. Plus important encore, un appel à chacun de ces algorithmes fournit uniquement l’instance certifiée.

Quelles applications peuvent être conformes à FIPS 140-2 ?

Toutes les applications qui effectuent le chiffrement ou le hachage et qui s’exécutent sur une version certifiée de Windows peuvent être conformes à l’aide uniquement des instances certifiées des algorithmes approuvés et en respectant les exigences de génération de clés et de gestion des clés. Cela nécessite l’utilisation de la fonction Windows pour la génération de clés et la gestion des clés ou la conformité avec les exigences de génération de clés et de gestion des clés au sein de l’application. Les zones d’une application compatible FIPS peuvent exister où des algorithmes ou des processus non conformes sont activés. Par exemple, certains processus internes qui restent dans le système et certaines données externes qui sont prévues pour être également chiffrées par une instance d’algorithme certifiée sont autorisés.

SQL Server 2016 et versions ultérieures sont-ils toujours conformes à FIPS 140-2 ?

Non. SQL Server 2016 et versions ultérieures peuvent être conformes à FIPS 140-2, car il peut être configuré et exécuté afin qu’il utilise uniquement les instances d’algorithme certifiées FIPS 140-2. En outre, ces instances sont appelées à l’aide de CryptoAPI ou CGN pour le chiffrement ou par hachage dans chaque instance où FIPS 140-2compliance est requise.

Comment SQL Server 2016 et versions ultérieures peuvent-ils être configurés pour être conformes à FIPS 140-2 ?

Système d'exploitation requis

Vous devez installer SQL Server 2016 et versions ultérieures sur un hôte exécutant l’un des clients et serveurs Windows suivants.

Configuration requise pour l’administration système Windows

Le mode FIPS doit être défini avant que SQL Server 2016 ou une version ultérieure soit démarrée. SQL Server lit le paramètre au démarrage. Pour définir le mode FIPS, procédez comme suit :

  1. Connectez-vous à Windows en tant qu’administrateur système Windows.
  2. Sélectionnez Démarrer.
  3. Sélectionnez un Panneau de configuration.
  4. Sélectionnez Outils d’administration. (Vous devrez peut-être basculer vers des icônes volumineuses pour l’étape suivante.)
  5. Sélectionnez Stratégie de sécurité locale. La fenêtre Paramètres de sécurité locaux s’affiche.
  6. Dans le volet de navigation, sélectionnez Options de sécurité des stratégies>locales.
  7. Dans le volet de droite, double-cliquez sur Chiffrement système : utilisez des algorithmes conformes FIPS pour le chiffrement, le hachage et la signature.
  8. Dans la boîte de dialogue qui s’affiche, sélectionnez Activer>Appliquer.
  9. Cliquez sur OK.
  10. Fermez la fenêtre Paramètres de sécurité locaux.

Configuration requise pour l’administrateur SQL Server

Lorsque le service SQL Server (lorsqu’un point de terminaison est configuré pour Service Broker ou la mise en miroir de bases de données) détecte que le mode FIPS est activé au démarrage, SQL Server enregistre le message suivant dans le journal des erreurs SQL Server :

Le transport Service Broker s’exécute en mode de conformité FIPS.

En outre, vous trouverez peut-être le message suivant enregistré dans le journal des événements Windows :

Le transport de mise en miroir de bases de données s’exécute en mode de conformité FIPS.

Vous pouvez vérifier que le serveur s’exécute en mode FIPS en recherchant ces messages.

Note

  • Pour la sécurité des dialogues (entre les services), le processus de chiffrement utilise l’instance certifiée FIPS d’AES si le mode FIPS est activé. Si le mode FIPS est désactivé, le processus de chiffrement utilise toujours AES.
  • Lorsque vous configurez un point de terminaison Service Broker en mode FIPS, l’administrateur doit spécifier « AES » pour le service Broker. Si le point de terminaison est configuré sur RC4, SQL Server génère une erreur. Par conséquent, la couche de transport ne démarre pas.

Comment SQL Server 2016 et versions ultérieures fonctionnent-ils en mode compatible FIPS 140-2 ?

  • Avec le mode FIPS dans Windows activé, dans toutes les zones où l’utilisateur n’a pas le choix entre le chiffrement ou le hachage et la façon dont il sera effectué, SQL Server 2016 et versions ultérieures s’exécuteront en conformité avec FIPS 140-2. (SQL Server 2016 et versions ultérieures utiliseront CryptoAPI dans Windows et utiliseront uniquement les instances certifiées des algorithmes.)

  • Avec le mode FIPS dans Windows activé, dans toutes les zones où l’utilisateur a le choix entre utiliser le chiffrement, SQL Server 2016 et versions ultérieures activent uniquement le chiffrement conforme FIPS 140-2 ou n’activent aucun chiffrement.

  • Informations importantes pour les développeurs de logiciels : dans tous les domaines où le développeur ou l’utilisateur écrit son propre code pour le chiffrement ou le hachage, il doit être invité à utiliser uniquement CryptoAPI (et donc uniquement les instances certifiées) et à spécifier uniquement les algorithmes autorisés par FIPS 140-2.Pour la liste officielle NIST des algorithmes de chiffrement approuvés FIPS 140-2, consultez les annexes A, C et D dans le programme de validation de module de chiffrement.

Quel est l’effet de l’exécution de SQL Server 2016 ou d’une version ultérieure en mode compatible FIPS 140-2 ?

  • Lorsque vous utilisez un chiffrement plus fort, il peut avoir un faible effet sur les performances de ces processus pour lesquels le chiffrement moins robuste est autorisé lorsque le processus ne fonctionne pas en tant que conforme FIPS 140-2.

  • La sélection du chiffrement pour SSIS (UseEncryption=True) génère une erreur indiquant que le chiffrement disponible n’est pas compatible avec la conformité FIPS et n’est pas autorisé. En d’autres termes, aucun chiffrement du processus de message n’est effectué.

  • Lorsque vous utilisez le chiffrement avec DTS hérité, le chiffrement n’est pas conforme à FIPS 140-2. Pour DTS, le mode FIPS dans Windows n’est pas vérifié. Par conséquent, il incombe à l’utilisateur de sélectionner aucun chiffrement pour rester conforme.

  • Étant donné que la plupart des processus de chiffrement et de hachage de SQL Server 2016 et versions ultérieures sont déjà conformes à FIPS 140-2, l’exécution en conformité complète (c’est-à-dire, avec le mode FIPS dans Windows activé) aura peu ou pas d’effet sur l’utilisation ou sur les performances de l’application.

Où puis-je en savoir plus sur FIPS 140-2 ?

Pour plus d’informations sur les normes et documents FIPS 140-2, consultez CMVP FIPS 140-2 Standards et documents.

Microsoft fournit les informations de contacts tiers pour vous aider à trouver un support technique. Ces informations de contact peuvent changer sans préavis. Microsoft ne garantit pas la précision de ces informations de contact tierces.