Instructions relatives à l’utilisation de SQL Server 2008 en mode compatible FIPS 140-2

Cet article décrit la norme FIPS 140-2 et comment utiliser SQL Server 2008 dans le mode compatible FIPS 140-2.

Version du produit d’origine :   SQL Server
Numéro de la base de connaissances initiale :   955720

Introduction

Cet article traite des instructions FIPS (Federal Information Processing Standard) 140-2 et explique comment utiliser Microsoft SQL Server 2008 en mode compatible FIPS 140-2.

Notes

Les termes « conformité certifiée FIPS 140-2 », « conformité FIPS 140-2 » et « mode compatible FIPS 140-2 » sont définis ici pour une utilisation et une clarté. Ces termes ne sont pas reconnus ou définis comme étant des termes gouvernementaux. Les gouvernements des États-Unis et du Canada reconnaissent la validation des modules cryptographiques par rapport à des normes telles que FIPS 140-2 et non pas leur utilisation de manière spécifiée ou conforme. Dans cet article, nous définissons « conformité à la norme FIPS 140-2, «conformité FIPS 140-2 » et « mode compatible FIPS 140-2 » pour signifier que SQL Server 2008 utilise uniquement les instances d’algorithmes et de fonctions de hachage validées par FIPS 140-2, dans toutes les instances dans lesquelles des données chiffrées ou hachées sont importées ou exportées vers SQL Server 2008. En outre, ces termes signifient que SQL Server 2008 gérera les clés de manière sécurisée, conformément aux exigences des modules de chiffrement validés par FIPS 140-2. Le processus de gestion des clés inclut également les fonctionnalités de génération de clés et de stockage clés.

Qu’est-ce que FIPS ?

FIPS désigne les normes de traitement des informations fédérales. FIPS sont des normes développées par deux organismes gouvernementaux. L’un d’entre eux est le National Institute of Standards and Technology aux États-Unis. L’autre est l’établissement de la sécurité des communications au Canada. FIPS sont des normes qui sont recommandées ou imposées pour une utilisation dans les systèmes informatiques fédéraux (États-Unis ou canadiens).

Qu’est-ce que FIPS 140-2

FIPS 140-2 est une déclaration des « exigences de sécurité pour les modules de chiffrement ». Il spécifie les algorithmes de chiffrement et les algorithmes de hachage qui peuvent être utilisés et la façon dont les clés de chiffrement doivent être générées et gérées. Certains matériels, logiciels et processus peuvent être certifiés FIPS 140-2 par un laboratoire de validation approuvé. Certains d’entre eux peuvent également être décrits comme conformes à la norme FIPS 140-2, car le terme est défini dans cet article.

Quelle est la différence entre une application conforme à la norme FIPS 140-2 et une application « FIPS 140-2 validée » ?

Vous pouvez configurer SQL Server 2008 pour qu’il s’exécute en tant qu’application compatible FIPS 140-2. Pour ce faire, vous devez exécuter SQL Server 2008 sur un système d’exploitation qui utilise un fournisseur de services de chiffrement FIPS 140-2 ou qui fournit un module de chiffrement qui a été validé. La différence entre la conformité et la validation n’est pas subtile. Les algorithmes peuvent être validés. Sachez qu’il n’est pas suffisant d’utiliser des algorithmes des listes approuvées dans la norme FIPS 140-2. Vous devez utiliser des instances d’algorithmes qui ont été validées par FIPS 140-2. La validation doit être testée et vérifiée par un laboratoire d’évaluation approuvé par le gouvernement. Windows Server 2008, Windows Server 2003 et Windows XP contiennent les modules de chiffrement approuvés, et les modules, y compris les instances spécifiques des algorithmes, ont été testés par les laboratoires et validés par le gouvernement.

Quelles applications peuvent être conformes à la norme FIPS 140-2

Toutes les applications qui effectuent le chiffrement ou le hachage et qui s’exécutent sur une version validée d’un fournisseur de services de chiffrement Windows peuvent être conformes si elles utilisent uniquement les instances validées des algorithmes approuvés. Ces applications doivent également respecter les exigences de génération de clés et de gestion des clés à l’aide d’une fonction de touche Windows ou en répondant aux exigences de génération de clés et de gestion de clés dans l’application. En outre, dans certains cas, les algorithmes non conformes ou les processus sont autorisés dans une application conforme à la norme FIPS 140-2. Par exemple, les données peuvent être chiffrées à l’aide d’un algorithme non conforme si, dans cette forme chiffrée, les données sont conservées dans l’application, c’est-à-dire si elles ne sont pas exportées dans ce formulaire ou si les données sont encore chiffrées (conditionnées) à l’aide d’un algorithme conforme à la norme FIPS.

Cela signifie-t-il que SQL Server 2008 est toujours conforme à la norme FIPS 140-2 ?

Non. Cela signifie que SQL Server 2008 peut être configuré pour s’exécuter en mode compatible FIPS 140-2.

Comment SQL Server 2008 peut-il être configuré pour utiliser un module de chiffrement certifié FIPS 140-2

  • Configuration requise pour le système d’exploitation

    Vous devez installer SQL Server 2008 sur un ordinateur Windows Server 2008, sur un ordinateur Windows Vista, sur un ordinateur Windows Server 2003 ou sur un ordinateur Windows XP.

  • Configuration requise pour l’administration du système Windows

    Vous devez activer le mode FIPS avant de démarrer SQL Server 2008. Cela est dû au fait que SQL Server 2008 lit le paramètre FIPS au démarrage. Pour activer FIPS, procédez comme suit.

    • Pour Windows Server 2008 et Windows Vista

      1. Utilisez des informations d’identification d’administration pour ouvrir une session sur l’ordinateur.
      2. Si vous utilisez Windows Server 2008, cliquez sur Démarrer, sur exécuter, tapez Gpedit. msc, puis appuyez sur entrée. L’éditeur de stratégie de groupe local s’ouvre. Si vous utilisez un ordinateur Windows Vista, cliquez sur Démarrer, tapez Gpedit. msc dans la zone Rechercher , puis appuyez sur entrée.
      3. Dans l’éditeur de stratégie de groupe local, double-cliquez sur Paramètres Windows sous le nœud Configuration de l' ordinateur , puis double-cliquez sur paramètres de sécurité.
      4. Sous le nœud paramètres de sécurité , double-cliquez sur stratégies locales, puis cliquez sur options de sécurité.
      5. Dans le volet d’informations, double-cliquez sur cryptographie système : utiliser des algorithmes conformes à FIPS pour le chiffrement, le hachage et la signature.
      6. Dans la boîte de dialogue cryptographie système : utiliser des algorithmes compatibles FIPS pour le chiffrement, le hachage et la signature , cliquez sur activé, puis cliquez sur OK pour fermer la boîte de dialogue.
      7. Fermez l' éditeur de stratégie de groupe local.
    • Pour Windows Server 2003 et Windows XP

      1. Utilisez des informations d’identification d’administration pour ouvrir une session sur l’ordinateur.
      2. Cliquez sur Démarrer, sur exécuter, tapez gpedit. msc, puis appuyez sur entrée.
      3. Dans la fenêtre stratégie de groupe , double-cliquez sur Paramètres Windows sous le nœud Configuration de l' ordinateur , puis double-cliquez sur paramètres de sécurité.
      4. Sous le nœud paramètres de sécurité , double-cliquez sur stratégies locales, puis cliquez sur options de sécurité.
      5. Dans le volet d’informations, double-cliquez sur cryptographie système : utiliser des algorithmes conformes à FIPS pour le chiffrement, le hachage et la signature.
      6. Dans la boîte de dialogue cryptographie système : utiliser des algorithmes compatibles FIPS pour le chiffrement, le hachage et la signature , cliquez sur activé, puis cliquez sur OK pour fermer la boîte de dialogue.
      7. Fermez la fenêtre stratégie de groupe .

Notes de l’administrateur SQL Server 2008

  • Lorsque le service SQL Server 2008 détecte que le mode FIPS est activé au démarrage, SQL Server 2008 enregistre le message suivant dans le journal des erreurs SQL Server :

    Le transport Service Broker est exécuté en mode de conformité FIPS

    De plus, le message suivant peut être enregistré dans le journal des applications :

    Le transport de mise en miroir de bases de données est exécuté en mode de conformité FIPS

    Pour vérifier que le serveur est exécuté en mode FIPS, localisez ces messages.

  • Pour obtenir la sécurité de la boîte de dialogue entre les services, le processus de chiffrement utilise l’instance certifiée FIPS de la norme AES (Advanced Encryption Standard) si le mode FIPS est activé. Si le mode FIPS est désactivé, le processus de chiffrement utilise RC4.

  • Lorsque vous configurez un point de terminaison Service Broker en mode FIPS, vous devez spécifier AES pour 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 2008 fonctionne-t-il en mode compatible FIPS 140-2

  • Si le mode FIPS dans Windows est activé et que l’utilisateur n’a pas le choix de chiffrer ou de hacher les données, ainsi que la façon dont il sera effectué, SQL Server 2008 fonctionne en mode compatible FIPS 140-2. SQL Server 2008 utilisera l’CryptoAPI et utilisera uniquement les instances validées des algorithmes.

  • Si le mode FIPS est activé et que l’utilisateur a le choix d’utiliser le chiffrement, SQL Server 2008 autorisera uniquement le chiffrement compatible FIPS 140-2 ou ne permettra pas de chiffrer.

  • Informations importantes pour les développeurs

    Si vous écrivez votre propre code pour le chiffrement ou le hachage, vous devez utiliser uniquement CryptoAPI. Vous devez spécifier uniquement les algorithmes autorisés par FIPS 140-2. En particulier, utilisez uniquement la norme 3DES (Triple Data Encryption Standard) ou AES pour le chiffrement et uniquement SHA-1 pour le hachage. Vous pouvez utiliser les mots clés suivants dans SQL Server 2008 pour les algorithmes validés FIPS 140-2 suivants :

    • DESX (Triple DES)
    • Triple-DES (Triple DES à deux touches)
    • TRIPLE_DES_3KEY (Triple DES trois touches)
    • TRIPLE_DES_2KEY (Triple DES à deux touches)

    Notes

    La sélection de DESX ne fournit pas d’algorithme DESX dans SQL Server 2005 ou dans SQL Server 2008. Dans les deux cas, la sélection de DESX fournit une instance validée de triple DES trois clés.

  • Informations importantes pour les développeurs

    SQL Server 2008 prend en charge une fonctionnalité de gestion des clés d’entreprise (EKM) qui permet la gestion des clés de chiffrement sur un module de stockage matériel tiers distinct. Pour fonctionner en mode conforme à la norme FIPS 140-2 et utiliser EKM, l’une des deux conditions suivantes doit être remplie :

    • Le module de chiffrement externe doit être validé FIPS 140-2.
    • Certains des algorithmes utilisés par le module de chiffrement doivent être validés par FIPS 140-2. Utilisez uniquement les instances des algorithmes validés lorsque le chiffrement ou le déchiffrement FIPS 140-2 est requis pour l’importation ou l’exportation de données vers ou à partir de SQL Server.

    En outre, les données qui seront chiffrées ou déchiffrées par le module de chiffrement externe doivent être transmises sous forme chiffrée à l’aide d’une instance validée par FIPS 140-2.

Conséquences de l’exécution de SQL Server 2008 en mode compatible FIPS 140-2

  • L’utilisation d’un chiffrement plus fort peut avoir un impact minime sur les performances pour les processus où un chiffrement plus faible est autorisé lorsque le processus ne fonctionne pas comme compatible FIPS 140-2.

  • La sélection de 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 les services DTS hérités n’est pas conforme à la norme FIPS 140-2. Pour les services DTS, le mode FIPS dans Windows n’est pas activé. Pour rester conforme, vous ne devez pas sélectionner le chiffrement.

  • La plupart des processus de hachage et de chiffrement SQL Server 2008 utilisent déjà un module de chiffrement validé FIPS 140-2. Par conséquent, si vous exécutez une application en mode conforme à la norme FIPS 140-2 lorsque le mode FIPS est activé dans Windows, l’utilisation ou les performances de l’application ne sont pas très limitées.

Clause d’exclusion de responsabilité tierce

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.