Instructions pour l’utilisation de SQL Server 2014 en mode compatible FIPS 140-2
Cet article décrit les instructions relatives à la publication 140-2 (FIPS 140-2) et à l’utilisation de Microsoft SQL Server 2014 en mode conforme FIPS 140-2.
Version du produit d’origine : SQL Server 2014
Numéro de base de connaissances d’origine : 3141890
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 telles que FIPS 140-2, mais pas l’utilisation de 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 » dans le sens où SQL Server 2014 utilise 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 ou exportées à partir de SQL Server 2014. En outre, cela signifie que SQL Server 2014 gère les clés de manière sécurisée, selon les besoins 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 par FIPS 140-2 ou que le système d’exploitation contient des instances d’algorithmes validées par FIPS 140-2.
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. D’autres matériels, logiciels et processus qui appellent les algorithmes appropriés peuvent être conformes à FIPS 140-2.
Quelle est la différence entre la norme FIPS 140-2 et la certification FIPS 140-2 ?
SQL Server 2014 peut être configuré et exécuté de manière conforme à FIPS 140-2. Pour configurer SQL Server 2014 de cette façon, SQL Server 2014 doit s’exécuter sur un système d’exploitation certifié FIPS 140-2 ou sur un système d’exploitation 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 d’un tel 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 États-Unis ou approuvé par le gouvernement canadien. Windows Server 2012 et versions ultérieures, ainsi que Windows 8 et versions ultérieures contiennent l’instance certifiée de chaque algorithme autorisé. Plus important, un appel à chacun de ces algorithmes fournit uniquement l’instance certifiée.
Quels produits d’application 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. Pour ce faire, vous pouvez effectuer l’une des méthodes suivantes :
- En utilisant la fonction Windows pour la génération de clés et la gestion des clés
- En respectant les exigences de génération de clés et de gestion des clés au sein de l’application
N’oubliez pas qu’une application compatible FIPS peut contenir des zones dans lesquelles des algorithmes ou processus non conformes sont activés. Par exemple, certains processus internes qui restent dans le système et certaines données externes qui doivent être chiffrées par une instance d’algorithme certifiée sont autorisés.
SQL Server 2014 est-il toujours conforme à FIPS 140-2 ?
Non. SQL Server 2014 peut être conforme à FIPS 140-2, car il peut être configuré et exécuté de telle manière qu’il utilise uniquement les instances d’algorithme certifiées FIPS 140-2 appelées à l’aide de CryptoAPI pour le chiffrement ou par hachage dans chaque instance dans laquelle la conformité FIPS 140-2 est requise.
Comment SQL Server 2014 peut-il être configuré pour être conforme à FIPS 140-2 ?
Configuration requise du système d’exploitation
Installez SQL Server 2014 sur un serveur basé sur l’un des systèmes d’exploitation suivants :
- Windows Server 2012
- Windows Server 2012 R2
- Windows 8
- Windows 8.1
- Windows 10
Configuration requise pour l’administration du système Windows
Le mode FIPS doit être défini avant le démarrage de SQL Server 2014. SQL Server lit le paramètre au démarrage. Pour définir le mode FIPS, procédez comme suit :
- Connectez-vous à Windows en tant qu’administrateur système Windows.
- Cliquez sur Start.
- Cliquez sur Panneau de configuration.
- Cliquez sur Outils d'administration. (Vous devrez peut-être basculer vers les icônesLarge pour l’étape suivante.)
- Cliquez sur Stratégie de sécurité locale. La fenêtre Paramètres de sécurité locaux s’affiche.
- Dans le volet de navigation, cliquez surStratégies locales, puis sur Options de sécurité.
- Dans le volet droit, double-cliquez sur Chiffrement système : utilisez des algorithmes compatibles FIPS pour le chiffrement, le hachage et la signature.
- Dans la boîte de dialogue qui s’affiche, cliquez sur Activé, puis sur Appliquer.
- Cliquez sur OK.
- 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.
Pour la sécurité des dialogues (entre les services), le chiffrement utilise l’instance certifiée FIPS de Advanced Encryption Standard (AES) si le mode FIPS est activé. Si le mode FIPS est désactivé, le chiffrement utilise RC4.
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 2014 fonctionne-t-il en mode conforme FIPS 140-2 ?
Avec le mode FIPS dans Windows activé, dans toutes les zones dans lesquelles l’utilisateur n’a aucun choix quant au chiffrement ou au hachage et à la façon dont il sera effectué, SQL Server 2014 s’exécute en conformité avec FIPS 140-2. (SQL Server 2014 utilisera CryptoAPI dans Windows et utilisera uniquement les instances certifiées des algorithmes.)
Avec le mode FIPS dans Windows activé, dans toutes les zones dans lesquelles l’utilisateur a le choix entre utiliser le chiffrement, SQL Server 2014 active uniquement le chiffrement conforme à FIPS 140-2 ou n’active aucun chiffrement.
Informations importantes pour les développeurs de logiciels : dans toutes les zones 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 des algorithmes de chiffrement approuvés fiPS 140-2, accédez aux 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 2014 en mode compatible FIPS 140-2 ?
L’utilisation d’un chiffrement plus fort peut avoir un faible effet sur les performances de ces processus pour lesquels le chiffrement moins fort est autorisé lorsque le processus ne fonctionne pas comme conforme à FIPS 140-2.
La sélection du chiffrement pour SSIS (UseEncryption=True) génère un message d’erreur indiquant que le chiffrement disponible est incompatible avec la conformité FIPS et n’est pas autorisé. En d’autres termes, aucun chiffrement du processus de message n’est effectué.
L’utilisation du chiffrement avec DTS hérité n’est pas conforme à FIPS 140-2. Pour DTS, le mode FIPS dans Windows n’est pas activé. 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 SQL Server 2014 sont déjà conformes à FIPS 140-2, s’exécutant à la conformité complète (autrement dit, avec le mode FIPS dans Windows activé) n’aura aucun effet sur l’utilisation ou les performances du produit.
Où puis-je en savoir plus sur FIPS 140-2 ?
Pour plus d’informations sur la norme FIPS 140-2, consultez la publication NIST suivante :
Exigences de sécurité pour les modules de chiffrement
Exclusion de responsabilité de tiers
Les produits tiers mentionnés dans le présent article sont fabriqués par des sociétés indépendantes de Microsoft. Microsoft exclut toute garantie, implicite ou autre, concernant les performances ou la fiabilité de ces produits.