Utilisation de la prise en charge SSL (Secure Sockets Layer)

Pour utiliser SSL, le client (adaptateur de ressources IMS TM) et le serveur (IMS Connect) doivent être configurés.
Le tableau suivant fournit une description détaillée de la procédure à suivre pour configurer l'adaptateur de ressources IMS TM, IMS Connector for Java et IMS Connect for SSL.
Client SSL (IMS Connector for Java) Serveur SSL (IMS Connect)
  1. Déterminez si l'authentification client est obligatoire. Si elle n'est pas obligatoire, passez à l'étape 5.
Remarque : Il est fortement recommandé d'utiliser l'authentification client pour éviter tout accès non autorisé à IMS Connect.
2. Si l'authentification client est obligatoire, procurez-vous des certificats signés et une clé privée.  
3. Si l'authentification client est obligatoire, créez un fichier de clés et insérez la clé privée et le certificat du client. Pour plus d'informations, reportez-vous à la description ci-dessous.  
  4. Si l'authentification client est obligatoire, insérez le certificat de clé publique du client dans le fichier de clés. Pour plus d'informations, reportez-vous au guide d'utilisation d'IMS Connect (SC27-0946-03).
5. Créez un fichier de clés certifiées (un autre fichier de clés facultatif) et insérez le certificat de clé publique du serveur. Vous pouvez également insérer le certificat de clé publique du serveur dans le fichier de clés du client si des certificats sécurisés et non sécurisés sont stockés dans le même fichier de clés.  
  6. Déterminez quel port SSL IMS Connect doit être utilisé. Configurez les membres de configuration IMS Connect et SSL avec des valeurs appropriées. Pour plus d'informations sur la définition de ces membres de configuration, reportez-vous au guide d'utilisation d'IMS Connect (SC27-0946).
7. Définissez la fabrique de connexions à l'aide des paramètres SSL appropriés, tels que le numéro de port défini à l'étape 6. Pour plus d'informations, reportez-vous à la description ci-dessous.  
8. Reliez l'application à la fabrique de connexions SSL.  

Création du fichier de clés ou du fichier de clés certifiées pour le client

Pour que le client et le serveur puissent s'authentifier mutuellement, vous devez fournir un fichier de clés JKS ou RACF avec des certificats X.509 valides côté client et côté serveur. Si l'authentification client par le serveur n'est pas obligatoire, il n'est pas nécessaire de créer de certificat client et de l'ajouter au fichier de clés du serveur. Il existe plusieurs outils de gestion des fichiers de clés. Pour fournir un fichier de clés JKS côté client et côté serveur, vous devez suivre les étapes suivantes :
  • Pour configurer le client, IMS Connector for Java, créez un certificat et faites le signer par une autorité de certification (VeriSign par exemple) ou créez votre propre autorité de certification à l'aide d'un logiciel, OpenSSL par exemple, pour signer vous-même votre certificat (auto signé).
  • Pour créer un fichier de clés, utilisez un outil de gestion des clés tel que Ikeyman ou Keytool. Une fois le fichier de clés créé, importez le certificat client (si disponible) dans le fichier de clés.
  • Pour créer un fichier de clés certifiées, créez un autre fichier de clés et importez le certificat du serveur (IMS Connect). Remarque : si vous souhaitez créer un seul fichier de clés, importez le certificat du serveur dans le même fichier de clés que celui utilisé pour stocker les certificats du client. Consultez votre documentation RACF pour vous guider dans la création d'un fichier de clés RACF qui servira de fichier de clés ou de fichier de clés certifiées.

Configuration SSL

Une connexion SSL sécurisée entre une application client Java et IMS Connect est créée en vérifiant que la fabrique de connexions utilisée par l'application client Java comporte les valeurs appropriées pour ses propriétés SSL. Voir Propriétés de connexion pour obtenir une description des valeurs de propriété SSL.

Les produits WebSphere et Rational d'IBM permettent, par exemple, de configurer les propriétés SSL de différentes façons :

Remarque : vous pouvez rencontrer des messages d'information et des avertissements dans le fichier trace.log généré par WebSphere Application Server. Voir Consignation et traçabilité avec l'adaptateur de ressources du gestionnaire de transactions IMS pour des informations sur la consignation et la traçabilité d'IMS Connector for Java.

Au cours de l'exécution, lorsque l'application client Java exécute une interaction avec IMS, l'interaction a lieu sur une connexion (SSL) sécurisée entre le client SSL, IMS Connector for Java, et le serveur SSL, IMS Connect. Un processus d'établissement de liaison SSL est exécuté pour ouvrir une connexion SSL entre le client et le serveur. Cet établissement de liaison SSL, transparent pour l'application client Java est exécuté de la manière suivante :
  • Le client SSL, IMS Connector for Java initie une connexion en envoyant un message client "hello". Le serveur, IMS Connect, répond en envoyant un message "hello" et son certificat contenant sa clé publique.
  • Si ce certificat est authentifié par le serveur, une clé de session est établie des deux côtés et une spécification de code de chiffrement est négociée pour déterminer le type de chiffrement à utiliser sur la connexion. Le code de chiffrement peut être STRONG, WEAK ou ENULL. L'établissement de liaison SSL est alors terminé.
  • Si le serveur requiert une authentification client, le client authentifie le certificat des serveurs avec la clé publique des serveurs de son certificat. Si cette authentification a réussi, un certificat client est envoyé à partir du fichier de clés du client. Si ce certificat est authentifié par le serveur, une clé de session est établie des deux côtés et une spécification de code de chiffrement est négociée pour déterminer le type de chiffrement à utiliser sur la connexion. L'établissement de liaison SSL est alors terminé.
  • Le client et le serveur sont alors prêts à envoyer et recevoir des données chiffrées.
Il est important de noter que, lors de l'exécution d'applications dans un environnement géré (ce qui est vivement conseillé en cas d'utilisation des connexions SSL en raison de la surcharge imposée par le processus d'établissement de liaison SSL), l'adaptateur de ressources IMS TM utilise uniquement des connexions socket persistantes pour communiquer avec IMS Connect. En fait, l'adaptateur de ressources IMS TM utilise toujours des connexions socket persistantes, mais, dans un environnement non géré, ces connexions persistantes sont déconnectées par l'application après chaque utilisation au lieu d'être rendues disponibles pour être réutilisées par une autre application. Lorsque le gestionnaire de connexions de WebSphere Application Server est utilisé, les connexions peuvent être réutilisées en série par d'autres applications client. Le gestionnaire de connexions crée des connexions, si nécessaire, et les fournit aux applications. Lorsqu'une application a fini d'utiliser une connexion, le gestionnaire de connexion renvoie cette connexion vers le pool des connexions libres, la rendant ainsi disponible pour être réutilisée par une autre application nécessitant ce type de connexion. Cependant, l'authentification client et serveur ne se produit qu'une seule fois pour chaque socket pendant l'établissement de liaison qui a lieu lorsque ce socket est créé puis initialisé en tant que socket SSL. Lorsqu'un socket est réutilisé, le client SSL, l'adaptateur de ressources IMS TM, et le serveur, IMS Connect, ne changent pas. Par conséquent, il n'est pas nécessaire de ré-authentifier le client et le serveur (en exécutant de nouveau le processus d'établissement de liaison) lorsqu'un socket est réutilisé. Cela est dû au fait que l'ID client qui identifie un socket reste le même à chaque fois qu'un socket est réutilisé.

Si la valeur du paramètre SSLEncryption est ENULL (authentification SSL mais sans chiffrement des messages), les performances devraient être meilleures qu'avec des connexions SSL utilisant un chiffrement STRONG ou WEAK. Le gain obtenu dépendra de plusieurs facteurs, en particulier de la technique habituellement utilisée pour le chiffrement (matériel ou logiciel). Il sera moins notable si votre environnement utilise un chiffrement matériel, car celui-ci est plus rapide que le chiffrement logiciel.


Vos commentaires