Administration système Documentation d'IBM HTTP Server

Activation de matériel de cryptographie pour Secure Sockets Layer

Concerne les utilisateurs AIX Concerne les utilisateurs Windows NT Concerne les utilisateurs Windows 2000

Cette section fournit des informations sur l'activation de matériel de cryptographie (unités de chiffrement) pour le protocole SSL (Secure Sockets Layer). La fin de cette section comprend des liens aux rubriques connexes.

 

La gestion et le stockage des clés de chiffrement dans un matériel de cryptographie dédié confère aux transactions en ligne un haut niveau de sécurisation. L'utilisation d'un tel matériel augmente à la fois les performances et le niveau de sécurité d'un serveur Web utilisant SSL.

Remarque : Pour cet exemple, les unités de stockage de clés sont celles où la clé est uniquement visible sur le dispositif matériel.

Les unités de chiffrement suivantes ont été testées avec IBM HTTP Server :

Unité Stockage de clés Accélération Remarques Remarques

Carte PCI Rainbow Cryptoswift avec interface BSAFE Non Oui A utiliser uniquement avec la directive SSLAcceleratorDisable. Supportée sous HP, Solaris et les systèmes d'exploitation Windows NT et Windows 2000.

Accélérateur nCipher nFast avec extension (plug-in) BHAPI sous BSAFE 4.0 Non Accélérateur pur Nécessite une unité nForce SCSI ou PCI. A utiliser uniquement avec la directive SSLAcceleratorDisable. Supporté sous Solaris et les systèmes d'exploitation Windows NT et Windows 2000.

Accélérateur nCipher nForce, mode accélérateur Non Oui Utilise les interfaces BHAPI et BSAFE. Supporté sous Solaris et les systèmes d'exploitation Windows NT et Windows 2000.

Accélérateur nCipher nForce, mode accélérateur avec stockage de clés Oui Oui Utilise l'interface PKCS#11. Nécessite une unité nForce SCSI ou PCI. Pour de meilleures performances, il est recommandé de passer à la version 4.0 ou ultérieure de l'accélérateur nCipher nForce. Supporté sous AIX, HP, Linux, Solaris et les systèmes d'exploitation Windows NT et Windows 2000.

IBM 4758 modèle 002/023 avec interface PKCS#11 Oui Non Utilise l'interface PKCS11. Supporté sous AIX et les systèmes d'exploitation Windows NT et Windows 2000.

 
Concerne les utilisateurs AIX

Le support des cartes suivantes a été testé avec les éditions 4.0.2 et suivantes de WebSphere Application Server :

Unité Stockage de clés Accélération Remarques Remarques

Carte PCI Rainbow Cryptoswift avec interface BSAFE modèles CS/200 et CS/600 Non Oui Supportée sous AIX.

IBM e-business Cryptographic Accelerator Non Oui Utilise l'interface PKCS11. La directive SSLAcceleratorDisable ne s'applique pas à cette unité, car elle utilise l'interface PKCS11. Supportée sous AIX.

Utilisez les unités Rainbow Cryptoswift, IBM e-business Cryptographic Accelerator, nCipher nFast Accelerator et nCipher nForce Accelerator pour les opérations à clés publiques ainsi que pour le déchiffrement de clés RSA. Ces unités stockent les clés sur votre disque dur. Elles servent à accélérer les fonctions cryptographiques à clés publiques de SSL. A ce titre, elles soulagent le processeur de la machine hébergeant le serveur, ce qui a pour effet d'améliorer le débit de traitement du serveur et d'écourter les temps d'attente. Les accélérateurs Rainbow Cryptoswift, IBM e-business Cryptographic Accelerator et nCipher augmentent les performances et permettent de traiter simultanément un plus grand nombre de transactions sécurisées.

Avec le protocole PKCS#11, les clés RSA sont soit stockées sur le matériel de cryptographie, soit chiffrées à l'aide de ce matériel pour assurer leur protection. L'accélérateur nCipher nForce peut soit fonctionner en mode accélération seule, soit assurer à la fois l'accélération et le stockage des clés avec support de l'interface PKCS#11. Le coprocesseur IBM 4758 et l'accélérateur nCipher nForce avec support PKCS#11 garantissent l'inaccessibilité des clés au monde extérieur. Les clés ne sont jamais révélées sous une forme non chiffrée, car elles sont soit chiffrées par le matériel, soit stockées directement sur celui-ci.

L'accélérateur nCipher nForce version versions 4.0 et ultérieures avec stockage des clés en mode PKCS11 dispose d'une option inamovible qui peut améliorer sensiblement les performances. Contactez le support technique nCipher pour savoir comment activer cette option.

Prise en main

L'IBM 4758 a besoin, pour fonctionner, du logiciel de support PKCS11 destiné à la machine hôte et du microcode interne (propre à la carte coprocesseur). Vous aurez également besoin du manuel expliquant comment installer le logiciel de support et charger le microcode de la carte coprocesseur. Ce manuel et le logiciel de support ne sont pas livrés avec la carte IBM 4758, mais vous pouvez les télécharger à partir du site Web http://www-3.ibm.com/security/cryptocards/index.shtml. Une fois sur ce site, téléchargez le logiciel de support PKCS#11 pour le modèle 002/003 ainsi que le manuel d'installation du logiciel PKCS#11.

Après avoir installé le logiciel de support sur la machine et chargé le microcode de la carte IBM 4758, initialisez cette dernière.

L'accès à la clé de l'unité PKCS11 exige que le module PKCS11 de cette unité, le label du jeton (token) et le label de la clé créée par l'unité, ainsi que le PIN utilisateur et le mot de passe d'accès au jeton, soient communiqués au GSKit (Global Security Kit). Pour cela, vous devez configurer IBM HTTP Server en modifiant son fichier de configuration. Le module PKCS11 est spécifique à chaque plateforme et à chaque type d'unité PKCS11. Dans le cas de la carte IBM 4758 (disponible pour AIX et Windows) et de l'accélérateur IBM e-business Cryptographic Accelerator, le module PKCS11 est livré avec le logiciel bos.pkcs11 si vous utilisez AIX comme plateforme.

Installez l'unité devices.pci.14109f00 pour le coprocesseur IBM 4758 et l'unité devices.pci.1410e601 pour l'accélérateur IBM e-business Cryptographic Accelerator. Le niveau de maintenance 09 d'AIX version 4.3.3 est recommandé pour l'IBM e-business Cryptographic Accelerator.

Dans le cas du coprocesseur IBM 4758 sous Windows, le module PKCS11 est livré avec le logiciel PKCS11, disponible par téléchargement à l'adresse : http://www.ibm.com/security/cryptocards/html/ordersoftware.shtml. Pour les accélérateurs nCipher, le module PKCS11 est livré avec le logiciel nCipher et se trouve dans le répertoire $NFAST_HOME/toolkits/pkcs11.

Voici l'emplacement par défaut des modules d'accès à chaque unité PKCS11 :

Concerne les utilisateurs AIX
Concerne les utilisateurs HP-UX
Concerne les utilisateurs Linux
Concerne les utilisateurs Solaris
Concerne les utilisateurs Windows NT
Concerne les utilisateurs Windows 2000
  • nCipher :
    • AIX - /opt/nfast/toolkits/pkcs11/libcknfast.so
    • HP-UX - /opt/nfast/toolkits/pkcs11/libcknfast.sl
    • Linux - /opt/nfast/toolkits/pkcs11/libcknfast.so
    • SUN - /opt/nfast//toolkits/pkcs11/libcknfast.so
    • Windows NT - C:\nfast\toolkits\pkcs11\cknfast.dll
  • IBM 4758 :
    • AIX - /usr/lib/pkcs11/PKCS11_API.so
    • Windows NT - $PKCS11_HOME\bin\nt\cryptoki.dll
  • IBM e-business Cryptographic Accelerator :
    • AIX - /usr/lib/pkcs11/PKCS11_API.so
Concerne les utilisateurs AIX

Initialisation des matériels de cryptographie IBM (IBM 4758 et IBM e-business Cryptographic Accelerator) sous AIX

Pour initialiser le matériel de cryptographie IBM (coprocesseur IBM 4758 ou accélérateur IBM e-business Cryptographic Accelerator) sous AIX, procurez-vous et installez le logiciel bos.pkcs11. Conseil : Procurez-vous la version la plus récente de bos.pkcs11 à l'adresse suivante : Download AIX fixes. Pour la version 4.3, cliquez sur AIX 4.3 OS, Java, compilers > Download selective fixes. Pour la version 5.1, cliquez sur AIX 5.1 OS, Java, compilers > Download selective fixes. Le logiciel téléchargé installera le module PKCS11 nécessaire à la directive SSLPKCSDriver décrite plus loin. Il vous faut également l'unité devices.pci.1410e601 pour l'IBM e-business Cryptographic Accelerator, et l'unité devices.pci.14109f00 pour l'IBM 4758.

Une fois le logiciel PKCS11 installé, initialisez votre unité de chiffrement. Pour cela, vous pouvez accéder au panneau Manage the PKCS11 subsystem à partir de Smitty. Pour initialiser votre jeton :

  1. Sélectionnez Initialize your token.
  2. Si ce n'est déjà fait, définissez un PIN de responsable de la sécurité.
  3. Initialisez votre PIN utilisateur. Pour des informations plus détaillées, consultez le chapitre 5 : Token Initialization du manuel PKCS11 (en anglais).
Concerne les utilisateurs Windows NT Concerne les utilisateurs Windows 2000

Initialisation de jetons IBM sous Windows

Pour initialiser la carte IBM 4758 sous Windows NT et Windows 2000, procurez-vous le logiciel de support PKCS11 pour ces systèmes d'exploitation à partir du site http://www-3.ibm.com/security/cryptocards/html/ordersoftware.shtml.

Vous pouvez utiliser l'utilitaire TOKUTIL.EXE qui s'installe avec le logiciel PKCS11 pour initialiser votre carte sous Windows.

Pour des informations plus détaillées, consultez le chapitre 5 : Token Initialization du manuel PKCS11 (en anglais).

Conseil : Assurez-vous que le module cryptoki.dll figure dans un répertoire déclaré par votre variable PATH.

Utilisation d'IKEYMAN pour stocker les clés sur une unité PKCS11

Concerne les utilisateurs AIX
Concerne les utilisateurs HP-UX
Concerne les utilisateurs Linux
Concerne les utilisateurs Solaris
Concerne les utilisateurs Windows NT
Concerne les utilisateurs Windows 2000

Pour créer des clés pour votre unité PKCS11, vous devez fournir un fichier ikmuser.properties à l'utilitaire IKEYMAN. Pour ce faire :

  1. Copiez le fichier ikmuser.sample livré avec IBM HTTP Server et GSKit, et qui se trouve généralement dans :
    • AIX = /usr/opt/ibm/gskkm/classes
    • HP = /opt/ibm/gsk5/classes
    • Linux = /usr/local/ibm/gsk5/classes
    • Solaris = /opt/ibm/gsk5/classes
    • Windows NT = C:\Program Files\ibm\gsk5\classes
    vers un fichier appelé ikmuser.properties, placé dans le répertoire classes. Conseil : Le jeton cryptographique risque de ne pas fonctionner si le fichier ikmuser.properties ne se trouve pas dans le répertoire classes.
  2. Editez le fichier ikmuser.properties et, pour la propriété DEFAULT_CRYPTOGRAPHIC_MODULE, indiquez le nom du module de gestion de votre unité PKCS11. Par exemple :
    DEFAULT_CRYPTOGRAPHIC_MODULE=C:\pkcs11\bin\NT\cryptoki.dll

    • nCipher :
      • AIX - /opt/nfast/toolkits/pkcs11/libcknfast.so
      • HP-UX - /opt/nfast/toolkits/pkcs11/libcknfast.sl
      • Linux - /opt/nfast/toolkits/pkcs11/libcknfast.so
      • SUN - /opt/nfast/toolkits/pkcs11/libcknfast.so
      • Windows NT - C:\nfast\toolkits\pkcs11\cknfast.dll
    • IBM 4758 :
      • AIX - /usr/lib/pkcs11/PKCS11_API.so
      • Windows NT - $PKCS11_HOME\bin\NT\cryptoki.dll
    • IBM e-business Cryptographic Accelerator :
      • AIX - /usr/lib/pkcs11/PKCS11_API.so

    Ce module est normalement installé sur votre système lors de l'installation du logiciel de support de votre unité PKCS11.

  3. Enregistrez le fichier ikmuser.properties.

Tant que le fichier ikmuser.properties se trouvera dans le répertoire classes, son contenu sera lu et pris en compte chaque fois que vous lancerez l'utilitaire IKEYMAN. La fenêtre IBM Key Management affichée au lancement de cet utilitaire comportera un menu supplémentaire intitulé cryptographic token.

  1. Sélectionnez Cryptographic Token à partir de la fenêtre IBM Key Management.
  2. Cliquez sur Open.
  3. La fenêtre Open Cryptographic Token s'affiche. Sélectionnez le label de votre jeton cryptographique et entrez le PIN utilisateur et le mot de passe que vous avez spécifiés lors de l'initialisation du jeton avec l'utilitaire de configuration.
  4. Si vous souhaitez ouvrir une base de données de clés secondaire existante, sélectionnez l'option Open an existing secondary key database file et spécifiez un nom de fichier ainsi que l'emplacement. Sinon, désactivez cette fonction en désélectionnant la case à cocher. Si vous voulez créer une nouvelle base de données de clés secondaire, cochez la case Create new secondary key database, spécifiez CMS (Conversational Monitor System) comme type de base de données de clés et indiquez un nom de fichier ainsi que l'emplacement souhaité. Sinon, assurez-vous que cette option n'est pas cochée. Cliquez sur OK.
  5. Poursuivez comme si vous aviez ouvert une base de données de clés. Vous pouvez ainsi créer un certificat autosigné ou ajouter un nouveau certificat signé numériquement. La seule différence est qu'au lieu d'utiliser l'enchaînement Key Database >Open, vous devez sélectionner Cryptographic Token >Open.
  6. Conseil : Avec IBM HTTP Server, vous devez spécifier un fichier de clés pour effectuer le chiffrement. Si vous utilisez une unité PKCS11, ce fichier de clés doit contenir les certificats signataires de votre certificat personnel, lesquels sont créés à l'aide de l'unité PKCS11.

Configuration d'IBM HTTP Server en vue de l'utilisation des accélérateurs nCipher et Rainbow

Si une unité d'accélération nCipher ou Rainbow est détectée sur la machine, IBM HTTP Server l'active par défaut. Pour la désactiver, vous devez ajouter la directive SSLAcceleratorDisable à votre fichier de configuration.

Configuration d'IBM HTTP Server en vue de l'utilisation d'unités PKCS11

Remarque : En cas d'utilisation de l'accélérateur IBM e-business Cryptographic Accelerator ou du coprocesseur IBM 4758, l'ID utilisateur sous lequel s'exécute le serveur Web doit être membre du groupe PKCS11. Vous pouvez créer ce groupe en installant le logiciel bos.pkcs11 ou ses mises à jour. Dans le fichier de configuration, modifiez la directive Group pour qu'elle devienne : group pkcs11.

Si vous voulez qu'IBM HTTP Server utilise l'interface PKCS11, effectuez les opérations suivantes :

  1. Créez un fichier de dissimulation (stash) de votre mot de passe d'ouverture de l'unité PKCS11 :

    Syntaxe : sslstash [-c] <fichier> <fonction> <mot_de_passe>

  2. où :
    • -c : Crée un nouveau fichier de dissimulation. Si cette option n'est pas spécifiée, la commande modifie un fichier de dissimulation existant.
    • fichier : Représente le nom qualifié complet du fichier à créer ou à modifier.
    • fonction : Représente la fonction pour laquelle le serveur utilise le mot de passe. Les valeurs admises sont crl et crypto.
    • mot_de_passe : Représente le mot de passe à dissimuler dans le fichier.
  3. Placez les directives suivantes dans votre fichier de configuration :
    • SSLPKCSDriver <nom qualifié complet du pilote PKCS11 utilisé pour l'accès à l'unité PKCS11>

      Pour identifier l'emplacement par défaut du module d'accès à chaque type d'unité PKCS11, reportez-vous à la description de la directive SSLPKCSDriver.

    • SSLServerCert <label jeton:label clé du certificat sur l'unité PKCS11>
    • SSLStashfile <nom qualifié complet du fichier contenant le mot de passe de l'unité PKCS11>
    • Keyfile <nom qualifié complet du fichier de clés contenant les certificats signataires>
 
Informations connexes

     (Retour au début)