Sécurité des services Web (sécurité ws)

Définition - Que signifie la sécurité des services Web (WS Security)?

Web Services Security (WS Security) est une spécification qui définit la manière dont les mesures de sécurité sont implémentées dans les services Web pour les protéger des attaques externes. Il s'agit d'un ensemble de protocoles qui garantissent la sécurité des messages SOAP en mettant en œuvre les principes de confidentialité, d'intégrité et d'authentification.

Les services Web étant indépendants de toute implémentation matérielle et logicielle, les protocoles WS-Security doivent être suffisamment flexibles pour s'adapter à de nouveaux mécanismes de sécurité et fournir des mécanismes alternatifs si une approche ne convient pas. Étant donné que les messages SOAP traversent plusieurs intermédiaires, les protocoles de sécurité doivent être en mesure d'identifier les faux nœuds et d'empêcher l'interprétation des données à tous les nœuds. WS-Security combine les meilleures approches pour résoudre différents problèmes de sécurité en permettant au développeur de personnaliser une solution de sécurité particulière pour une partie du problème. Par exemple, le développeur peut sélectionner des signatures numériques pour la non-répudiation et Kerberos pour l'authentification.

Definir Tech explique la sécurité des services Web (WS Security)

L'objectif de WS-Security est de garantir que la communication entre deux parties n'est pas interrompue ou interprétée par un tiers non autorisé. Le destinataire doit être assuré que le message a bien été envoyé par l'expéditeur, et l'expéditeur doit être assuré que le destinataire ne peut pas refuser de recevoir le message. Enfin, les données envoyées lors de la communication ne doivent pas être modifiées par une source non autorisée. Toutes les données liées à la sécurité sont ajoutées dans le cadre de l'en-tête SOAP. Par conséquent, une surcharge considérable est imposée à la formation du message SOAP lorsque les mécanismes de sécurité sont activés.

En-tête SOAP WS-Security:
Le développeur est libre de choisir n'importe quel mécanisme de sécurité sous-jacent ou ensemble de protocoles pour atteindre son objectif. La sécurité est mise en œuvre à l'aide d'un en-tête qui consiste en un ensemble de paires clé-valeur où la valeur change de manière appropriée avec les modifications du mécanisme de sécurité sous-jacent utilisé. Ce mécanisme permet d'identifier l'identité de l'appelant. Si une signature numérique est utilisée, l'en-tête contient des informations sur la façon dont le contenu a été signé et l'emplacement de la clé utilisée pour signer le message.

Les informations relatives au cryptage sont également stockées dans l'en-tête SOAP. L'attribut ID est stocké dans le cadre de l'en-tête SOAP, ce qui simplifie le traitement. L'horodatage est utilisé comme niveau supplémentaire de protection contre les attaques contre l'intégrité du message. Lorsqu'un message est créé, un horodatage est associé au message indiquant quand il a été créé. Des horodatages supplémentaires sont utilisés pour l'expiration du message et pour indiquer quand le message a été reçu au nœud de destination.

Mécanismes d'authentification WS-Security

  • Approche nom d'utilisateur / mot de passe: la combinaison nom d'utilisateur et mot de passe est l'un des mécanismes d'authentification de base utilisés et est analogue aux méthodes d'authentification HTTP Digest et Basic. L'élément de jeton de nom d'utilisateur est utilisé pour transmettre les informations d'identification de l'utilisateur pour l'authentification. Le mot de passe peut être transporté sous forme de texte brut ou au format de résumé. Lorsque l'approche digest est utilisée, le mot de passe est chiffré à l'aide de la technique de hachage SHA1.
  • Approche X.509: cette approche identifie l'utilisateur par une infrastructure à clé publique qui mappe le certificat X.509 à un utilisateur particulier. Plus de sécurité peut être ajoutée en utilisant une clé publique et une clé privée pour crypter et décrypter le certificat X.509. Pour garantir que les messages ne sont pas rejoués, une limite de temps peut être définie pour refuser les messages qui arrivent après une certaine durée écoulée.
  • Kerberos: Le concept de ticket forme le mécanisme sous-jacent de Kerberos. Le client doit s'authentifier auprès d'un centre de distribution de clés (KDC) à l'aide d'une combinaison nom d'utilisateur / mot de passe ou d'un certificat X.509. En cas d'authentification réussie, l'utilisateur reçoit un ticket d'octroi de ticket (TGT). À l'aide du TGT, le client tente d'accéder à un service d'octroi de tickets (TGS). À cette étape, les deux premiers rôles d'identification et d'autorisation sont terminés. Le client demande alors un ticket de service (ST) pour acquérir une ressource particulière du TGS et obtient le ST. Le client utilise le ST pour accéder au service.
  • Signature numérique: les signatures XML sont utilisées pour protéger le message contre la modification et l'interprétation. La signature doit être effectuée par une partie fiable ou par l'expéditeur réel.
  • Cryptage: le cryptage XML est utilisé pour protéger les données de l'interprétation en les rendant illisibles pour un tiers non autorisé. Des approches symétriques et asymétriques peuvent être utilisées.

WS-Security permet aux mécanismes de sécurité existants d'être exploités de manière appropriée pour éviter toute surcharge liée à l'intégration de nouveaux mécanismes.