Instructions pour l’utilisation de SQL Server 2008 en mode conforme FIPS 140-2

Cet article décrit FIPS 140-2 et comment utiliser SQL Server 2008 en mode compatible FIPS 140-2.

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

Introduction

Cet article décrit les instructions 140-2 de la norme FIPS (Federal Information Processing Standard) et comment utiliser Microsoft SQL Server 2008 en mode conforme FIPS 140-2.

Remarque

Les termes « conformité FIPS 140-2 », « conformité FIPS 140-2 » et « mode conforme FIPS 140-2 » sont définis ici à des fins d’utilisation et de 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 à des normes comme FIPS 140-2 et non leur utilisation d’une manière spécifiée ou conforme. Dans cet article, Nous définissons « conforme FIPS 140-2 », « conformité FIPS 140-2 » et « mode conforme FIPS 140-2 » pour signifier que SQL Server 2008 utilise uniquement des instances d’algorithmes et de fonctions de hachage validées 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 de clés.

Qu’est-ce que FIPS ?

FIPS désigne les normes fédérales de traitement de l’information. Les normes FIPS sont des normes qui sont élaborées par deux organismes gouvernementaux. L’un d’eux est le National Institute of Standards and Technology dans le États-Unis. L’autre est le Centre de la sécurité des télécommunications au Canada. Les normes FIPS sont recommandées ou obligatoires pour une utilisation dans les systèmes informatiques fédéraux (États-Unis ou canadiens) gérés par le gouvernement.

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, ainsi que 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 validé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 FIPS 140-2 » et une application « FIPS 140-2-validated »

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 validé 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 les algorithmes des listes approuvées dans FIPS 140-2. Vous devez utiliser des instances d’algorithmes qui ont été validés FIPS 140-2. La validation nécessite un test et une vérification 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 en laboratoire 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 et de gestion des clés, soit à l’aide d’une fonction de clé Windows, soit en répondant aux exigences de génération et de gestion des clés dans l’application. En outre, dans certains cas, les algorithmes ou processus non conformes sont autorisés dans une application compatible FIPS 140-2. Par exemple, les données peuvent être chiffrées à l’aide d’un algorithme non conforme si, sous cette forme chiffrée, les données restent dans l’application, c’est-à-dire que les données ne sont pas exportées dans ce formulaire, ou si les données sont chiffrées (encapsulées) à l’aide d’un algorithme compatible 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 configurer SQL Server 2008 pour utiliser un module de chiffrement fiPS 140-2 validé

  • Configuration requise pour le système d’exploitation

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

  • Configuration requise pour l’administration système Windows

    Vous devez activer le mode FIPS avant de commencer 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 les informations d’identification d’administration pour vous connecter à l’ordinateur.
      2. Si vous utilisez Windows Server 2008, cliquez sur Démarrer, sur Exécuter, tapez gpedit.msc, puis appuyez sur Entrée. Le stratégie de groupe Rédacteur local s’ouvre. Si vous utilisez un ordinateur Windows Vista, cliquez sur Démarrer, tapez gpedit.msc dans la zone Démarrer la recherche , puis appuyez sur Entrée.
      3. Dans le stratégie de groupe Rédacteur 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 Chiffrement système : utiliser des algorithmes compatibles FIPS pour le chiffrement, le hachage et la signature.
      6. Dans la boîte de dialogue Chiffrement système : Utiliser des algorithmes conformes FIPS pour le chiffrement, le hachage et la signature , cliquez sur Activé, puis sur OK pour fermer la boîte de dialogue.
      7. Fermez le stratégie de groupe Rédacteur local.
    • Pour Windows Server 2003 et Windows XP

      1. Utilisez les informations d’identification d’administration pour vous connecter à 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 Chiffrement système : utiliser des algorithmes compatibles FIPS pour le chiffrement, le hachage et la signature.
      6. Dans la boîte de dialogue Chiffrement système : Utiliser des algorithmes conformes FIPS pour le chiffrement, le hachage et la signature , cliquez sur Activé, puis 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 s’exécute en mode de conformité FIPS

    En outre, le message suivant peut être enregistré dans le journal des applications :

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

    Pour vérifier que le serveur s’exécute en mode FIPS, recherchez ces messages.

  • Pour obtenir la sécurité du dialogue entre les services, le processus de chiffrement utilise la 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 fonctionne SQL Server 2008 en mode conforme FIPS 140-2

  • Si le mode FIPS dans Windows est activé et si l’utilisateur n’a pas le choix de chiffrer ou de hacher les données et de savoir comment le faire, SQL Server 2008 fonctionne en mode compatible FIPS 140-2. SQL Server 2008 utilisera l’API de chiffrement et utilisera uniquement les instances validées des algorithmes.

  • Si le mode FIPS est activé et si l’utilisateur a le choix d’utiliser ou non le chiffrement, SQL Server 2008 autorise uniquement le chiffrement compatible FIPS 140-2 ou n’autorise aucun chiffrement.

  • 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. Plus précisément, utilisez uniquement triple data encryption standard (3DES) 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 respectifs :

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

    Remarque

    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 (HSM) tiers distinct. Pour fonctionner en mode compatible 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 algorithmes utilisés par le module de chiffrement doivent être validés FIPS 140-2. Utilisez uniquement ces instances d’algorithmes validés lorsque le chiffrement ou le déchiffrement basé sur FIPS 140-2 est requis pour importer ou exporter des données vers ou depuis SQL Server.

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

Quel est l’effet de l’exécution de SQL Server 2008 en mode conforme FIPS 140-2

  • L’utilisation d’un chiffrement plus fort peut avoir un petit effet sur les performances des processus pour lesquels un chiffrement moins fort est autorisé lorsque le processus ne fonctionne pas comme conforme à la norme 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 (Data Transformation Services) hérité n’est pas conforme à la norme FIPS 140-2. Pour 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 chiffrement et de hachage 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 compatible FIPS 140-2 lorsque le mode FIPS est activé dans Windows, il y a peu ou pas d’effet sur l’utilisation ou les performances de l’application.

Exclusion de responsabilité de tiers

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.