Spécification de sécurité des Services Web - Chronologie

Le développement de la spécification de sécurité des services Web inclut des informations relatives à la spécification Web Services Security d'OASIS (Organization for the Advancement of Structured Information Standards). La spécification OASIS Web Services Security sert de base pour la sécurisation des Services web dans WebSphere Application Server.

Pratiques recommandées Pratiques recommandées: IBM® WebSphere Application Server prend en charge les modèles de programmation JAX-WS (Java™ API for XML-Based Web Services) et JAX-RPC (Java API for XML-based RPC). JAX-WS représente la future génération du modèle de programmation des services Web qui étend la base du modèle JAX-RPC. L'utilisation du modèle de programmation JAX-WS stratégique simplifie le développement des services et des clients Web par la prise en charge d'un modèle d'annotations normalisé. Bien que le modèle de programmation et les applications JAX-RPC soient toujours pris en charge, vous avez tout avantage à recourir au modèle de programmation JAX-WS, facile à mettre en oeuvre, pour développer de nouvelles applications et de nouveaux clients de services Web. best-practices
Les avantages de l'utilisation du modèle de programmation JAX-WS dans WebSphere Application Server incluent :
  • La configuration de qualités de service (QoS) est simplifiée lors de l'utilisation d'ensembles de règles. Les ensembles de règles combinent les paramètres de configuration, y compris ceux de la configuration au niveau du transport et des messages. Des ensembles de règles et des liaisons générales peuvent être réutilisés sur plusieurs applications, rendant les QoS de services Web plus consommables.
  • WS-Security for JAX-WS est pris en charge dans un environnement géré, tel qu'un conteneur Java EE et des environnements non gérés, tels que Java Platform, Standard Edition (Java SE 6). En outre, il existe une API pour l'activation de WS-Security sur le client JAX-WS.

Activités non OASIS

Les services Web sont de plus en plus reconnus comme technologie viable pour l'interopérabilité et l'intégration. La sécurisation des services Web est l'une des qualité de services les plus importantes qui permet à l'adoption de services Web d'être une solution commerciale et industrielle viable pour les entreprises. IBM et Microsoft ont publié conjointement un livre blanc de sécurité sur les services Web intitulé Security in a Web Services World: A Proposed Architecture and Roadmap. Il présente les spécifications d'origine et suivantes du plan de sécurité des Services Web proposé :
Web service security
Cette spécification définit le mode d'association d'une signature numérique, d'utilisation du chiffrement et d'utilisation des jetons de sécurité dans les messages SOAP (Simple Object Access Protocol).
WS-Policy
Cette spécification définit le langage utilisé pour décrire les contraintes de sécurité ainsi que les règles liées aux intermédiaires et aux points finaux.
WS-Trust
Cette spécification définit la structure des modèles fiables pour l'établissement d'une relation de confiance entre les services Web.
WS-Privacy
Cette spécification définit un modèle d'expression d'une règle privée pour un service Web et un demandeur.
WS-SecureConversation
Cette spécification définit l'échange et l'établissement d'un contexte sécurisé, qui dérive des clés de session entre des services Web.
WS-Authorization

Cette spécification définit la règle d'autorisation pour un service Web. Toutefois, la spécification des autorisations WS n'a pas été publiée. L'implémentation existante de la sécurité des Services Web est basée sur la spécification Java EE (Java Platform, Enterprise Edition) ou Java Specification Requirements (JSR) 109. L'implémentation de la sécurité des services Web exploite les vérifications d'autorisations basées sur les rôles Java EE. Pour obtenir des informations sur le concept, voir la rubrique relative à l'autorisation basée sur le rôle. Si vous développez un service Web qui nécessite des vérifications d'autorisations au niveau de la méthode, vous devez utiliser les beans de session dynamiques pour implémenter votre service Web. Pour plus d'informations, voir la rubrique relative à la sécurisation des applications de bean enterprise.

Si vous développez un service Web implémenté en tant que servlet, vous pouvez utiliser une autorisation à granularité grossière ou basée sur une URL dans le conteneur Web. Néanmoins, dans cette situation, vous ne pouvez pas utiliser l'identité issue de la sécurité des services Web pour les vérifications d'autorisations. Vous pouvez plutôt utiliser l'identité issue du transport. Si vous utilisez SOAP via HTTP, l'identité se trouve dans le transport HTTP.

La figure suivante illustre les relations entre ces spécifications :

Relations entre les différentes spécifications

En avril 2002, IBM, Microsoft et VeriSign ont proposé la spécification WS-Security (Web Services Security) sur leurs sites websites comme indiqué par le cadre vert dans la figure ci-dessus. Cette spécification incluait les idées de base d'un jeton de sécurité, de la signature numérique XML et du chiffrement XML. Elle définissait également le format des jetons de nom d'utilisateur et des jetons de sécurité binaires codés. Après quelques discussions et un test d'interopérabilité effectué en fonction de la spécification, nous souhaitons attirer votre attention sur les points ci-après.
  • La spécification requiert que les processeurs de sécurité des services Web maîtrisent le schéma correctement afin que le processeur effectue une distinction entre l'attribut d'ID pour la signature et le chiffrement XML.
  • L'ancienneté du message, qui indique si le message est compatible avec des contraintes horaires prédéfinies, ne peut pas être déterminée.
  • Les chaînes de mot de passe de synthèse ne renforcent pas la sécurité.
En août 2002, IBM, Microsoft, et VeriSign ont publié Web Services Security Addendum, un document qui visait à résoudre les problèmes déjà mentionnés. Les solutions suivantes figurent dans l'addenda :
  • un attribut d'ID global est requis pour le chiffrement et la signature XML,
  • utilisez les éléments d'en-tête d'horodatage qui indiquent la date et heure de création, réception ou expiration du message,
  • utilisez les chaînes de mot de passe dont la synthèse a été effectuée avec l'horodatage et l'élément nonce, jeton généré de manière aléatoire.

Les spécifications relatives aux cadres bleus de la figure précédente ont été proposées par divers fournisseurs industriels qui ont organisé plusieurs événements d'interopérabilité pour vérifier et préciser les spécifications proposées.

Activités OASIS

En juin 2002, OASIS a reçu une spécification de sécurité des services Web proposée par IBM, Microsoft et VeriSign. Le comité WSS TC (Web Services Security Technical Committee) a été organisé en fonction des activités OASIS peu après la soumission. Le comité technique incluait un grand nombre d'entreprises, notamment IBM, Microsoft, VeriSign, Sun Microsystems et BEA Systems.

En septembre 2002, WSS TC a publié sa première spécification, Web Services Security Core Specification, Working Draft 01. Cette spécification incluait le contenu de la spécification de la sécurité des services Web d'origine et de ses documents supplémentaires.

Les sujets traités par le comité technique devinrent de plus en plus importants au fil de la discussion. Etant donné que la spécification principale de la sécurité des services Web autorise des types arbitraires de jetons de sécurité, des propositions ont été publiées en tant que profils. Les profils décrivaient la méthode d'intégration des jetons, incluant les jetons SAML (Security Assertion Markup Language) et les jetons Kerberos intégrés dans les messages de sécurité des services Web. Ensuite, les définitions de la syntaxe des jetons de nom d'utilisateur et les jetons de sécurité X.509, qui ont été définis dans la spécification de sécurité des services Web d'origine, ont été répartis en profils.

WebSphere Application Server Versions 5.0.2, 5.1 et 5.1.1 sprennent en charge les spécifications suivantes :
  • Web Services Security : SOAP Message Security Draft 13 (anciennement spécification principale de la sécurité des services Web)
  • Web Services Security : Username Token Profile Draft 2
En avril 2004, la spécification Web Service Security (appelée officiellement Web Services Security: SOAP Message Security Version 1.0) est devenue la norme OASIS version 1.0. De plus, les profils de jeton de nom d'utilisateur et de jeton X.509 sont des spécifications de version 1.0. WebSphere Application Server 6 et les versions ultérieures prennent en charge les spécifications de sécurité des services Web OASIS suivantes :
En février 2006, la spécification WSS-Core (Core Web Services Security) a été mise à jour et est devenue la norme OASIS version 1.1. De plus, les profils de jeton Username, X.509 et Kerberos ont été mis à jour vers les spécifications version 1.1. Des parties des spécifications Web Services Security suivantes d'OASIS sont prises en charge dans WebSphere Application Server, notamment la confirmation par signature, l'en-tête chiffré et les références Thumbprint (empreinte digitale) :

La spécification suivante décrit l'utilisation des jetons Kerberos par rapport aux spécifications de sécurité des messages Web Services Security. Elle définit comment utiliser un jeton Kerberos pour la prise en charge de l'authentification et de la protection des messages : OASIS: Web Services Security Kerberos Token Profile 1.1 OASIS Standard Specification, 1 février 2006.

En 2007, le comité technique WS-SX (Web Services Secure Exchange Technical Comittee) d'OASIS a produit et approuvé les spécifications suivantes. Des parties de ces spécifications sont prises en charge par specifications are supported by WebSphere Application Server Version 7 et les versions suivantes.

La figure suivante affiche les spécifications liées à la sécurité des services Web.

Spécifications OASIS

WebSphere Application Server fournit également une fonction de plug-in pour permettre aux fournisseurs de sécurité d'étendre leur fonctionnalité d'exécution et d'implémenter certaines spécifications de haut niveau dans la pile de sécurité des services Web. Les points de connexion sont présentés sous forme de SPI (Service Provider Programming Interfaces). Pour plus d'informations sur ces SPI, voir Implémentations par défaut des interfaces de programmation du fournisseur de services de sécurité des services Web.

Développement de la spécification Web Services Security 1.0

La spécification OASIS Web Services Security repose sur les spécifications W3C (World Wide Web Consortium) ci-après. La plupart des spécifications W3C se trouve dans le statut conseillé de corps standard.

Ces spécifications sont prises en charge par WebSphere Application Server dans le contexte de sécurité des services Web. Par exemple, vous pouvez signer un message SOAP en spécifiant l'option d'intégrité dans les descripteurs de déploiement. Il existe une interface de programmation d'application (API) côté client qui peut être utilisée pour activer la sécurité des Services Web pour la sécurisation d'un message SOAP.

La spécification OASIS Web Services Security Version 1.0 définit les améliorations permettant la confidentialité et l'intégrité du message. Elle fournit également une structure générale pour l'association des jetons de sécurité à un message SOAP (Simple Object Access Protocol). La spécification est extensible afin de prendre en charge plusieurs formats de jeton de sécurité. La syntaxe d'un jeton de sécurité particulière est prise en compte avec le profil de jeton de sécurité.

Prise en charge des spécifications et des profils dans WebSphere Application Server

OASIS fonctionne sur divers profils. Pour plus d'informations, consultez la rubrique Organization for the Advancement of Structured Information Standards Committees.

La liste ci-après contient les propositions de profils publiées et le travail en cours du comité technique pour la sécurité des Services Web OASIS.

WebSphere Application Server ne prend pas en charge les profils suivants :

  • Web Services Security : SAML token profile 1.0
  • Web Services Security : Rights Expression Language (REL) token profile 1.0
  • Web Services Security : SOAP Messages with Attachments (SwA) profile 1.0
Remarque : La prise en charge des spécifications Web Services Security Draft 13 et Username Token Profile Draft 2 est obsolète dans les versions 5.0.2, 5.1.0 et 5.1.1 de WebSphere Application Server. Pour plus d'informations sur la migration, voir Migration d'applications JAX-RPC avec Web Services Security activé de Java EE Version 1.3 vers la Version 1.4.

Le format WF (wire format) du message SOAP avec sécurité des services Web dans la spécification Web Services Security Version 1.0 a changé et n'est pas compatible aves les propositions précédentes de spécification OASIS sur la sécurité des services Web. L'interopérabilité entre la spécification OASIS Web Services Security Version 1.0 et des propositions précédentes n'est pas prise en charge. Toutefois, vous pouvez exécuter une application basée sur la spécification Web Services Security draft 13 dans WebSphere Application Server Version 6 et les versions suivantes. L'application peut interagir avec une application basée sur la spécification Web Services Security draft 13 de la version 5.0.2, 5.1 ou 5.1.1 de WebSphere Application Server.

WebSphere Application Server prend en charge la spécification OASIS Web Services Security draft 13 et la spécification OASIS Web Services Security 1.0. Mais dans WebSphere Application Server Version 6 et les versions suivantes, la prise en charge d'OASIS Web Services Security draft 13 est obsolète. Toutefois, les applications développées selon la spécification OASIS Web Services Security draft 13 dans WebSphere Application Server 5.0.2, 5.1.0 et 5.1.1 peuvent être exécutées dans WebSphere Application Server Version 6 et les versions suivantes. La prise en charge d'OASIS Web Services Security Version 1.0 est disponible uniquement pour les applications Java EE (Java Platform, Enterprise Edition) version 1.4 et suivantes. Le format de configuration pour le descripteur de déploiement et pour la liaison est différent de celui des versions précédentes de WebSphere Application Server. Vous devez procéder à la migration des applications existantes vers Java EE 1.4 et de la configuration de sécurité des services Web vers le format de la version 6 de WebSphere Application Server Version 6.

Développement d'autres spécifications de sécurité des services Web

Les versions les plus récentes des spécifications OASIS Web Services Security suivantes sont prises en charge dans WebSphere Application Server dans le contexte de sécurité des services Web :
  • WS-Trust Version 1.3

    WS-Trust (Web Services Trust Language) utilise les mécanismes de messagerie sécurisés de la sécurité des services Web pour définir des primitives et extensions supplémentaires pour l'émission, l'échange et la validation des jetons de sécurité. WS-Trust permet l'émission et la dissémination des données d'identification au sein de domaines de confiance différents. Cette spécification définit les méthodes permettant d'établir et de négocier des relations d'accréditation et d'évaluer la présence de ces dernières.

  • WS-SecureConversation Version 1.3

    WS-SecureConversation (Web Services Secure Conversation Language) est constitué à partir des modèles WS-Security et WS-Policy pour fournir une communication sécurisée entre les services. La spécification WS-Security porte essentiellement sur le modèle d'authentification de message et non dans un contexte de sécurité ; ainsi, elle fait l'objet de plusieurs formes d'attaques de sécurité. Cette spécification définit des mécanismes permettant d'établir et de partager des contextes de sécurité et de dériver des clés à partir de contextes de sécurité, afin de permettre une conversation sécurisée. Grâce au modèle d'extensibilité SOAP, les spécifications SOAP modulaires sont conçues pour s'associer les unes aux autres afin de fournir un environnement de messagerie complet.

  • WS-SecurityPolicy Version 1.2

    WS-Policy (Web Services Security Policy) fournit un modèle et une syntaxe à but général pour décrire et communiquer les règles d'un service Web. Les assertions WS-Policy expriment les fonctionnalités et les contraintes d'un service Web particulier. WS-PolicyAttachments définit plusieurs méthodes permettant d'associer les expressions WS-Policy à des services Web (par exemple, WSDL). Les spécifications web Services Security ont été mises à jour suivant la re-publication de la règle WS-Security en juillet 2005, de manière à refléter les contraintes et les fonctionnalités des services utilisant WS-Security, WSTrust et WS-SecureConversation. La règle WS-ReliableMessaging a également été re-publiée en 2005 pour exprimer les fonctionnalités et les contraintes des services Web implémentant WS-ReliableMessaging.

Activités WS-I (Web Services Interoperability Organization)

WS-I (Web Services Interoperability Organization) est né d'un effort industriel ouvert de promotion de l'interopérabilité des services Web entre différents fournisseurs, plateformes, langages de programmation et applications. L'organisation est un consortium de sociétés couvrant de nombreux secteurs, comprenant notamment IBM, Microsoft, Oracle, Sun, Novell, VeriSign et Daimler Chrysler. WS-I a développé Basic Security Profile (BSP) versions 1.0 et 1.1. Il s'agit d'un ensemble de spécifications de services Web non propriétaires qui clarifie et développe les spécifications pour promouvoir l'interopérabilité de la sécurité des services Web sur différentes implémentations de fournisseur.

WebSphere Application Server JAX-WS WS-Security prend en charge les spécifications suivantes :

Icône indiquant le type de rubrique Rubrique de concept



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=cwbs_wssv6chron
Nom du fichier : cwbs_wssv6chron.html