Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Windows Communication Foundation (WCF) a deux modes principaux pour fournir la sécurité (Transport
et Message
) et un troisième mode (TransportWithMessageCredential
) qui combine les deux. Cette rubrique traite de la sécurité des messages et des raisons de l’utiliser.
Qu’est-ce que la sécurité des messages ?
La sécurité des messages utilise la spécification WS-Security pour sécuriser les messages. La spécification WS-Security décrit les améliorations apportées à la messagerie SOAP pour garantir la confidentialité, l’intégrité et l’authentification au niveau du message SOAP (au lieu du niveau de transport).
En bref, la sécurité des messages diffère de la sécurité du transport en encapsulant les informations d’identification de sécurité et les revendications avec chaque message, ainsi que toute protection des messages (signature ou chiffrement). L’application de la sécurité directement au message en modifiant son contenu permet au message sécurisé d’être autonome en ce qui concerne les aspects de sécurité. Cela active certains scénarios qui ne sont pas possibles lorsque la sécurité du transport est utilisée.
Raisons d’utiliser la sécurité des messages
Dans la sécurité au niveau du message, toutes les informations de sécurité sont encapsulées dans le message. La sécurisation du message avec la sécurité au niveau du message au lieu de la sécurité au niveau du transport présente les avantages suivants :
Sécurité de bout en bout. La sécurité du transport, telle que SSL (Secure Sockets Layer) sécurise uniquement les messages lorsque la communication est point à point. Si le message est acheminé vers un ou plusieurs intermédiaires SOAP (par exemple un routeur) avant d’atteindre le récepteur final, le message lui-même n’est pas protégé une fois qu’un intermédiaire l’a lu à partir du câble. En outre, les informations d’authentification du client sont disponibles uniquement pour le premier intermédiaire et doivent être retransmises au récepteur final de manière hors bande, si nécessaire. Cela s’applique même si l’itinéraire entier utilise la sécurité SSL entre des tronçons individuels. Étant donné que la sécurité des messages fonctionne directement avec le message et sécurise le code XML dans celui-ci, la sécurité reste avec le message, quel que soit le nombre d’intermédiaires impliqués avant qu’il atteigne le récepteur final. Cela permet un véritable scénario de sécurité de bout en bout.
Flexibilité accrue. Les parties du message, au lieu de l’intégralité du message, peuvent être signées ou chiffrées. Cela signifie que les intermédiaires peuvent afficher les parties du message destinées à eux. Si l’expéditeur doit faire partie des informations contenues dans le message visible par les intermédiaires, mais qu’il souhaite s’assurer qu’il n’est pas falsifié, il peut simplement le signer, mais le laisser non chiffré. Étant donné que la signature fait partie du message, le destinataire final peut vérifier que les informations contenues dans le message ont été reçues intactes. Un scénario peut avoir un service intermédiaire SOAP qui achemine le message en fonction de la valeur d’en-tête d’action. Par défaut, WCF ne chiffre pas la valeur d’action, mais la signe si la sécurité des messages est utilisée. Par conséquent, ces informations sont disponibles pour tous les intermédiaires, mais personne ne peut le modifier.
Prise en charge de plusieurs transports. Vous pouvez envoyer des messages sécurisés sur de nombreux transports différents, tels que les canaux nommés et TCP, sans avoir à compter sur le protocole pour la sécurité. Avec la sécurité au niveau du transport, toutes les informations de sécurité sont limitées à une connexion de transport particulière et ne sont pas disponibles à partir du contenu du message lui-même. La sécurité des messages sécurise le message, quel que soit le transport que vous utilisez pour transmettre le message, et le contexte de sécurité est directement incorporé dans le message.
Prise en charge d’un large ensemble d’informations d’identification et de revendications. La sécurité des messages est basée sur la spécification WS-Security, qui fournit un framework extensible capable de transmettre n’importe quel type de revendication à l’intérieur du message SOAP. Contrairement à la sécurité du transport, l’ensemble de mécanismes d’authentification ou de revendications que vous pouvez utiliser n’est pas limité par les fonctionnalités de transport. La sécurité des messages WCF inclut plusieurs types d’authentification et de transmission de revendication et peut être étendue pour prendre en charge des types supplémentaires si nécessaire. Pour ces raisons, par exemple, un scénario d’informations d’identification fédérées n’est pas possible sans sécurité des messages. Pour plus d’informations sur les scénarios de fédération pris en charge par WCF, consultez Fédération et Jetons émis.
Comparaison des messages et des transports
Avantages et inconvénients de la sécurité Transport-Level
La sécurité du transport présente les avantages suivants :
Ne nécessite pas que les parties communiquantes comprennent les concepts de sécurité au niveau XML. Cela peut améliorer l’interopérabilité, par exemple, lorsque HTTPS est utilisé pour sécuriser la communication.
Amélioration générale des performances.
Les accélérateurs matériels sont disponibles.
La diffusion en continu est possible.
La sécurité du transport présente les inconvénients suivants :
Tronçon à tronçon uniquement.
Ensemble limité et inextensible d’informations d’identification.
Dépendant du transport.
Inconvénients de la sécurité Message-Level
La sécurité des messages présente les inconvénients suivants :
Performances
Impossible d’utiliser le streaming de messages.
Nécessite l’implémentation de mécanismes de sécurité au niveau XML et la prise en charge de WS-Security spécification. Cela peut affecter l’interopérabilité.