Sécurisation des applications de services web à l'aide des API WSS au niveau des messages

Les normes et les profils permettent d'assurer la protection des messages échangés dans un environnement de services web. La sécurité des services Web est une norme concernant les messages fondée sur la sécurisation des messages SOAP via la signature numérique XML, la confidentialité via le chiffrement XML et la propagation des données d'identification via les jetons de sécurité.

Avant de commencer

Pour sécuriser les services Web, vous devez tenir compte d'un large ensemble d'exigences de sécurité, notamment l'authentification, les droits d'accès, la confidentialité, la confiance, l'intégrité, les canaux de communication sécurisés, la délégation et l'audit, à travers un large éventail de topologies d'applications et d'organisation. L'une de ces exigences clé du modèle de sécurité dans l'environnement actuel est la capacité d'interagir avec des technologies de sécurité autrefois incompatibles dans des environnements hétérogènes. L'organigramme des technologies et la pile des protocoles de sécurité des services Web complète sont décrits dans l'organigramme des Services web.

Pourquoi et quand exécuter cette tâche

La spécification OASIS Web Services Security: SOAP Message Security Version 1.1 correspond au transport de messagerie de base pour tous les services Web. SOAP 1.2 ajoute des extensions aux extensions SOAP 1.1 existantes afin de pouvoir générer des services web sécurisés. Des pièces jointes peuvent être ajoutées aux messages SOAP en ayant recours à MTOM (Message Transmission Optimization Mechanism) et à XOP (XML-binary Optimized Packaging) à l'aide du profil SWA (SOAP with Attachments).

La spécification OASIS Web Services Security (WS-Security) Version 1.1 correspond au bloc de construction qui est utilisé conjointement avec les autres protocoles spécifiques aux services web et aux applications afin d'implémenter un large éventail de modèles de sécurité. La sécurité des services Web de WebSphere Application Server s'appuie sur des normes spécifiques figurant dans la spécification et les profils d'OASIS Web Services Security version 1.1.

La spécification Version 1.1 définit les fonctions supplémentaires de protection de l'intégrité et de la confidentialité d'un message. La spécification Version 1.1 inclut également les mécanismes d'association des réclamations de sécurité au message. Les normes de Web Services Security version 1.1 qui sont prises en charge par WebSphere Application Server incluent la confirmation de signature, les éléments d'en-tête chiffrés, le profil Username Token Profile et le profil X.509 Token . Le profil Username Token et le profil X.509 Token ont été mis à jour en tant que profils de la version 1.1. Pour le profil X.509 Certificate Token, le nouveau type de référence de jeton de sécurité, la référence Thumbprint, est spécifié dans la liaison.

XML Schema, Part 1 et Part 2 sont des spécifications qui expliquent comment les schémas sont organisés dans des documents XML. Les deux schémas WS-Security Version 1.0 ont été mis à jour selon les spécifications de la version 1.1 et un nouveau schéma de la version 1.1 a été ajouté. Notez que le schéma Version 1.1 ne remplace pas le schéma Version 1.0, mais il s'appuie sur ce dernier en définissant un ensemble supplémentaire de capacités intégrées à un espace de nom Version 1.1.

Vous pouvez utiliser les méthodes suivantes pour configurer la sécurité des Services Web et pour définir des types de règle afin de sécuriser les messages SOAP :
  • Utilisez la console d'administration pour configurer des ensembles de règles.

    Cette méthode utilise la règle d'amorçage définie dans l'ensemble de règles. Les ensembles de règles, ou les assertions sur le mode de définition des services, permettent de simplifier votre configuration de sécurité pour les services Web. Vous pouvez utiliser la console d'administration pour créer, modifier et supprimer des ensembles de règles personnalisés. Un jeu d'ensembles de règles par défaut est disponible.

    Par exemple, vous pouvez définir la règle d'amorçage dans l'ensemble de règles afin de sécuriser les messages SOAP WS-Trust.

    Vous pouvez également utiliser la console d'administration pour effectuer des tâches de gestion d'ensemble de règles et pour sécuriser les services web à l'aide du chiffrement, des informations de signature et des jetons de sécurité.

    Les étapes de haut niveau suivantes décrivent la manière de configurer WebSphere Application Server pour utiliser WS-Security et pour sécuriser les messages SOAP à l'aide de la console d'administration. Les tâches de destinataire et de générateur présentées dans la procédure suivante utilisent WS-Security Versions 1.0 et 1.1.
    • Créez et configurez les ensembles de règles de l'application ou les ensembles de règles système pour le service d'accréditation.
    • Définissez les types de règle à utiliser pour sécuriser les messages SOAP lors de la création et la configuration des ensembles de règles.
    • Configurez la liaison de l'ensemble de règles. Sélectionnez l'assertion de liaison symétrique ou asymétrique pour décrire le type de jeton et l'algorithme à utiliser pour la protection des messages.
    • Assemblez votre application configurée pour la sécurité des services Web à l'aide d'un outil d'assemblage.

  • Utilisez les API WSS (Web Services Security) pour configurer le contenu de message SOAP (uniquement pour le client)

    WebSphere Application Server utilise un nouveau modèle de programmation API. En plus du modèle de programmation JAX-RPC, un nouveau modèle, JAX-WS (Java™ API for XML Web Services), a été ajouté. La norme de programmation JAX-WS s'aligne sur le modèle de messagerie axée sur les documents et remplace le modèle de programmation d'appel de procédure éloignée défini par la spécification JAX-RPC (Java API for XML-based RPC).

    Par exemple, une application peut créer des ensembles de stratégie système avant d'utiliser l'API WSS de WebSphere Application Server pour obtenir le jeton contexte de sécurité pour la conversation sécurisée des services Web à base API programmatique (WS-SecureConversation).

    Vous pouvez également utiliser la console d'administration pour effectuer des tâches liées à la configuration de jeton, à la signature et au chiffrement exécutées par les API WSS pour sécuriser les services web.

    La procédure de niveau élevé suivante décrit comment configurer WebSphere Application Server pour utiliser WS-Security et pour sécuriser les messages SOAP à l'aide des API WSS. Les tâches de destinataire et de générateur présentées dans la procédure suivante utilisent WS-Security Versions 1.0 et 1.1.

    • Utilisez l'API WSSSignature pour configurer les informations de signature pour la liaison de générateur de demandes (côté client).

      Des parties de message différentes peuvent être spécifiées dans la protection de message pour une demande côté générateur. Les valeurs par défaut requises sont BODY, ADDRESSING_HEADERS et TIMESTAMP.

      L'API WSSSignature spécifie les différentes méthodes d'algorithme à utiliser avec la signature pour la protection des messages. La méthode de signature par défautest RSA_SHA1. La méthode de canonisation par défaut est EXC_C14N.

    • Utilisez l'API WSSSignPart si vous souhaitez changer la méthode de synthèse et la méthode de transformation.

      Les parties signées par défaut sont WSSSignature.BODY, WSSSignature.ADDRESSING_HEADERS et WSSSignature.TIMESTAMP.

      L'API WSSSignPart spécifie les différentes méthodes d'algorithme à utiliser si vous avez ajouté ou modifié des portions signées. La méthode de synthèse par défaut est SHA1. La méthode de transformation par défaut est TRANSFORM_EXC_C14N. Par exemple, utilisez l'API WSSSignPart si vous souhaitez générer la signature pour le message SOAP à l'aide de la méthode de synthèse SHA256 à la place de la valeur par défaut de SHA1.

    • Utilisez l'API WSSEncryption pour configurer les informations de chiffrement au niveau du générateur de demandes.

      Les informations de chiffrement côté générateur servent à chiffrer un message SOAP sortant pour les liaisons du générateur de la demande (côté client). Les cibles par défaut du chiffrement sont BODY_CONTENT et SIGNATURE.

      L'API WSSEncryption spécifie également les différentes méthodes d'algorithme à utiliser pour protéger la confidentialité des messages. La méthode de chiffrement des données par défaut est AES128. La méthode clé de chiffrement de données par défaut est KW_RSA_OAEP.

    • Utilisez l'API WSSEncryptPart si vous souhaitez spécifier la méthode de transformation uniquement.

      Par exemple, si vous souhaitez changer la méthode de chiffrement de données par défaut AES128 en TRIPLE_DES.

      Aucune méthode d'algorithme n'est requise pour les parties chiffrées.

    • Utilisez l'API WSS pour configurer le jeton côté générateur.

      Les exigences requises pour le jeton de sécurité dépendent du type de jeton. Le module de connexion JAAS et le gestionnaire CallbackHandler JAAS ont la charge de la création du jeton de sécurité côté générateur. Des jetons autonomes différents peuvent être envoyés dans la demande et la réponse. Le jeton par défaut est le jeton X509Token. L'autre jeton pouvant être utilisé pour la signature est DerivedKeyToken, qui peut être employé uniquement avec WS-SecureConversation (Web Services Secure Conversation).

    • Utilisez l'API WSSVerification pour vérifier la signature pour la liaison de destinataire de réponse (côté client).

      Des parties de message différentes peuvent être spécifiées dans la protection de message pour une réponse côté destinataire. Les cibles requises pour la vérification sont BODY, ADDRESSING_HEADERS et TIMESTAMP.

      L'API WSSVerification spécifie également les différentes méthodes d'algorithme à utiliser pour la vérification de la signature et pour la protection des messages. La méthode de signature par défaut est RSA_SHA1. La méthode de canonisation par défaut est EXC_C14N.

    • Utilisez l'API WSSVerifyPart pour changer la méthode de synthèse et la méthode de transformation. Les portions à vérifier requises sont WSSVerification.BODY, WSSVerification.ADDRESSING_HEADERS et WSSVerification.TIMESTAMP.

      L'API WSSVerifyPart indique également les diverses méthodes d'algorithme à utiliser si vous avez ajouté ou modifié les portions à vérifier. La méthode de synthèse par défaut est SHA1. La méthode de transformation par défaut est TRANSFORM_EXC_C14N.

    • Utilisez l'API WSSDecryption pour configurer les informations de déchiffrement pour la liaison de destinataire de réponse (côté client).

      Les informations de déchiffrement côté destinataire sont utilisées pour le déchiffrement d'un message SOAP entrant. Les cibles de déchiffrement sont BODY_CONTENT et SIGNATURE. La méthode clé de chiffrement de données par défaut est KW_RSA_OAEP.

      Aucune méthode d'algorithme n'est requise pour le déchiffrement.

    • Utilisez l'API WSSDecryptPart si vous souhaitez spécifier la méthode de transformation uniquement.

      Par exemple, si vous souhaitez changer la méthode de chiffrement de données par défaut AES128 en TRIPLE_DES.

      Aucune méthode d'algorithme n'est requise pour les parties déchiffrées.

    • Utilisez l'API WSS pour configurer le jeton côté destinataire.

      Les exigences requises pour le jeton de sécurité dépendent du type de jeton. Le module de connexion et le gestionnaire de rappels JAAS sont chargés de valider (authentifier) le jeton de sécurité côté destinataire. Des jetons autonomes différents peuvent être envoyés dans la demande ou la réponse.

      L'API WSS ajoute les informations pour le jeton candidat utilisé pour déchiffrement. Le jeton par défaut est X509Token.

  • Utilisez l'outil de scriptage d'administration wsadmin pour configurer les ensembles de règles.

    Cette méthode permet de créer, gérer et supprimer des ensembles de règles à l'aide de la ligne de commande ou de créer des scripts pour automatiser les tâches. Vous pouvez utiliser l'outil wsadmin et le groupe de commandes PolicySetManagement pour gérer des ensembles de règles par défaut, créer des ensembles de règles personnalisés, configurer des règles et gérer des pièces jointes et des liaisons. Pour plus d'informations, consultez les rubriques sur le scriptage de l'ensemble de règles dans le centre de documentation.

Pour sécuriser les services Web avec WebSphere Application Server, vous devez configurer les contraintes de sécurité du générateur et du destinataire. Vous devez définir plusieurs configurations. Bien que ces configurations n'aient pas à apparaître dans un ordre particulier, certaines d'entre elles font référence à d'autres configurations. Par exemple, les configurations de déchiffrement font référence à des configurations de chiffrement.

Résultats

Après avoir terminé ces étapes de haut niveau de WebSphere Application Server, vous avez sécurisé les services web en configurant les ensembles de stratégies et en utilisant l'API WSS pour la configuration du chiffrement et du déchiffrement, l'information sur la signature et sa vérification ainsi que les jetons du destinataire et du générateur.


Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_securev6wssjaxws
Nom du fichier : twbs_securev6wssjaxws.html