Confirmation par signature
La confirmation par signature de la sécurité des services Web est une signature numérique XML améliorée et est incluse dans la norme Web Services Security. La signature numérique XML est utilisée pour la signature des éléments de l'enveloppe SOAP.
En tant qu'une des extensions de la spécification de sécurité de message SOAP d'OASIS, l'élément de confirmation par signature incorpore les éléments qui sont requis dans le message de réponse pour confirmer la signature qui est contenue dans un message de demande. La signature numérique XML et la confirmation par signature aident à fournir une meilleure sécurité au niveau des messages.
Web Services Security Version 1.0 pour la sécurité des messages SOAP ne fournissait aucun conseil sur la procédure de confirmation de l'entente mutuelle de la demande à l'origine de cette réponse. L'élément SignatureConfirmation ou <wsse11:SignatureConfirmation> a été ajouté à la spécification Web Services Security version 1.1. L'élément <wsse11:SignatureConfirmation> garantit que la signature est traitée par le destinataire prévu et indique que le répondeur a traité la signature dans la demande. L'élément de confirmation par signature fait partie de la norme Web Services Security mise à jour et permet l'interopérabilité avec d'autres fournisseurs qui prennent en charge les normes version 1.1, comme Microsoft .NET et DataPower.
- L'affinité de session est activée si un cluster est activé pour les clients en cours d'exécution dans WebSphere Application Server. Lorsque l'affinité de session est activée, la réponse est renvoyée au client initiateur du serveur.
- WS-Addressing est activé pour les modèles d'échange de message asynchrone. Lorsque WS-Addressing est activé, il permet au module d'exécution d'associer de nouveau la réponse à la demande. Une réponse asynchrone est renvoyée à l'application du serveur WebSphere Application Server initiateur.
Syntaxe
L'élément SignatureConfirmation indique que le répondeur a traité la signature dans la demande. Lorsque cet élément n'est pas présent dans une réponse, l'initiateur considère que le répondeur n'est pas conforme.
Le format de l'élément de confirmation par signature est le suivant :
<wsse11:SignatureConfirmation wsu:Id="…" Value="…" />
- wsu:Id
- Identificateur utilisé lors du référencement de cet élément dans la liste de référence <ds:SignedInfo> de la signature du message de réponse associé. Cet attribut est obligatoire pour que des références sans ambiguïté soient faites à cet élément <wsse11:SignatureConfirmation>.
- valeur
- Cet attribut est facultatif et contient l'intégralité d'un élément <ds:SignatureValue> copié depuis la demande associée. Si la demande est non signée, cet attribut ne doit pas être présent. Si cet attribut est défini sans aucune valeur (vide), l'initiateur considère qu'il s'agit d'un comportement incorrect et le traite en conséquence. Lorsque cet attribut n'est pas présent, l'initiateur considère que la réponse est basée sur une demande non signée.
Configuration
Pour configurer une confirmation par signature, configurez le fichier de règles à l'aide de la console d'administration, puis sélectionnez Demander confirmation de la signature. Pour traiter correctement la confirmation par signature, l'initiateur de la demande doit conserver les signatures pendant le traitement du générateur de demande et doit ultérieurement extraire les signatures pour les contrôles de confirmation.
Règles de génération de réponse
D'autres éléments de sécurité SOAP pour le répondeur SOAP permettent de confirmer que la réponse est en relation avec une demande particulière. Le répondeur doit inclure le contenu de l'élément <ds:SignatureValue> de la signature de demande comme valeur de l'attribut @Value de l'élément <wsse11:SignatureConfirmation>.
- Si la demande ne contient aucune signature, la réponse contient un élément SignatureConfirmation sans valeur. Pour les MEP contenant plusieurs demandes (toutes sans signature) et une seule réponse, cette dernière contient un élément SignatureConfirmation sans valeur.
- Si la demande contient des signatures, la réponse contient un élément SignatureConfirmation pour chaque signature et comporte une valeur correspondant à la valeur de la signature de la demande. Pour les MEP qui contiennent une seule réponse et plusieurs demandes dont au moins une contient une signature, la réponse contient un élément SignatureConfirmation pour chaque signature détectée dans les demandes et comporte une valeur correspondant à la valeur de la signature de la demande.
- Pour les MEP contenant une seule demande et plusieurs réponses, chaque réponse contient les éléments SignatureConfirmation appropriés, comme indiqué dans la première et la seconde puce.
- Si la demande SOAP contient plusieurs signatures, le demandeur trouve tous les éléments de confirmation par signature contenus dans la réponse et compare les valeurs des zones de valeur des éléments de confirmation par signature aux valeurs des signatures de la demande SOAP d'origine.