183 votes

Services Web sécurisés: REST sur HTTPS vs SOAP + WS-Security. Ce qui est mieux?

Je ne suis pas un expert en sécurité par tous les moyens, mais j'en faveur de la création de services de type REST.

Dans la création d'un nouveau service qui a besoin d'avoir les données qu'il transmet sécurisé. Nous sommes entrés dans un débat sur l'approche la plus sûre - RESTE avec HTTPS ou un SAVON WS avec WS-Security.

J'ai l'impression qu'on peut utiliser le protocole HTTPS pour tous les appels de service web et de cette approche serait en sécurité. La façon dont je regarde, il est, "si HTTPS est assez bon pour la banque et financière des sites web, il est assez bon pour moi". Encore une fois, je ne suis pas expert dans ce domaine, mais je pense que ces gens ont pensé considérablement dur sur ce problème et sont à l'aise avec le protocole HTTPS.

Un collègue n'est pas d'accord et dit SAVON et WS-Security est la seule façon d'aller.

Le web semble tout le conseil d'administration sur ce point.

Peut-être que la communauté ici pourrait peser sur les avantages et les inconvénients de chacun? Merci!

138voto

Bell Points 5881

HTTPS sécurise la transmission du message sur le réseau et fournit l'assurance pour le client sur l'identité du serveur. C'est ce qui est important pour votre banque ou en ligne, courtier en bourse. Leur intérêt pour authentifier le client n'est pas dans l'identité de l'ordinateur, mais dans votre identité. Donc, numéros de carte, les noms d'utilisateur, mots de passe, etc. sont utilisés pour vous authentifier. Quelques précautions sont alors généralement prises pour assurer que les présentations n'ont pas été altérées, mais sur l'ensemble de tout ce qui se passe au cours de la session est considérée comme ayant été initiée par vous.

WS-Security offre de confidentialité et de protection de l'intégrité de la création du message à la consommation. Ainsi, au lieu de s'assurer que le contenu de la communication ne peut être lu que par le serveur droit, il assure qu'il ne peut être lu que par le droit sur le serveur. Au lieu de supposer que toutes les communications en toute sécurité lancé session de l'utilisateur authentifié chacun doit être signé.

Il y a une drôle d'explication impliquant nu motocyclistes ici:

http://blogs.msdn.com/vbertocci/archive/2005/04/25/end-to-end-security-or-why-you-shouldn-t-drive-your-motorcycle-naked.aspx

Donc, WS-Security offre plus de protection que HTTPS, et de SAVON offre une riche API que le RESTE. Mon avis est que, à moins que vous vraiment besoin de fonctionnalités supplémentaires ou de protection, vous devriez ignorer la surcharge de SAVON et de WS-Security. Je sais que c'est un peu un cop-out, mais les décisions sur la façon dont beaucoup de protection est effectivement justifiée (et pas seulement, ce serait cool de construire) doivent être faites par des personnes qui connaissent le problème intimement.

69voto

Le REPOS de sécurité est le transport dépendant de tout le SAVON de sécurité ne l'est pas.

RESTE hérite les mesures de sécurité du transport sous-jacent tout en SOAP définit ses propres via WS-Security.

Lorsque nous parlons de REPOS, sur HTTP - toutes les mesures de sécurité appliquées HTTP sont héréditaires, et ceci est connu comme le transport au niveau de la sécurité.

Transport level security, sécurise votre message seulement quand il est sur le fil - dès qu'il quitte le fil, le message n'est plus assurée.

Mais, avec WS-Security, son message de sécurité au niveau - même si le message quitte le canal de transport, il sera toujours protégé. Aussi - avec le niveau de message de sécurité vous pouvez en partie chiffrer le message [pas le message en entier, mais seulement les parties que vous voulez] - mais avec le transport au niveau de la sécurité, vous ne pouvez pas le faire.

WS-Security a des mesures d'authentification, d'intégrité, de confidentialité et de non-répudiation tandis que SSL ne supporte pas non répudiation [avec 2 pattes OAuth il n'].

En terme de performance SSL est beaucoup plus rapide que WS-Security.

Merci...

30voto

Anshu Points 7149

REST vs SOAP a été un long de la non-fin du débat. Il y a eu les amateurs de SAVON, mais dernièrement, le RESTE est sûrement rattraper. Il convient de mentionner que Yahoo utilise de REPOS pour l'ensemble de leurs services, y compris Flickr et del.ici.les unités d'organisation. Amazon et Ebay fournir à la fois si Amazon est à usage interne est presque tout le RESTE de la source. Google utilisé pour fournir seulement du SAVON pour tous leurs services, mais en 2006, ils ont déprécié en faveur de REPOS de la source.

REST

Repose sweet spot est quand vous exposer une API publique sur l'internet pour gérer les opérations CRUD sur les données. Le REPOS est axé sur l'accès aux ressources nommées par le biais d'une seule interface cohérente.

Why REST ?

Le REPOS permet à beaucoup de différents formats de données, où que le SAVON ne permet XML. Tandis que ceci peut sembler comme cela ajoute à la complexité de REPOS parce que vous avez besoin de gérer de multiples formats, dans mon expérience, il a effectivement été très bénéfique. JSON est généralement un meilleur ajustement pour les données et l'analyse beaucoup plus rapide. Le REPOS permet un meilleur support pour les clients de navigateur à cause du support de JSON.

REST a de meilleures performances et d'évolutivité. RESTE lit peut être mis en cache, SAVON a base de lit ne peuvent pas être mis en cache.

SOAP

SOAP apporte son propre protocole et met l'accent sur l'exposition des pièces de la logique de l'application (pas de données) comme des services. SAVON expose des opérations. Le SAVON est axé sur l'accès à l'nommé, chacun de mettre en œuvre une logique métier grâce à différentes interfaces.

Why SOAP?

WS-Security

Alors que le SAVON prend en charge le protocole SSL (tout comme le RESTE), il prend également en charge la norme WS-Security, qui ajoute de l'entreprise des fonctions de sécurité. Prend en charge l'identité par le biais d'intermédiaires, pas seulement le point à point (SSL). Il fournit également une implémentation standard de l'intégrité des données et la confidentialité des données. En l'appelant "Entreprise" n'est pas à dire que c'est plus sûr, plus simplement, il prend en charge certains outils de sécurité typique de services internet n'en ai pas besoin, en fait, ils sont vraiment seulement besoin de quelques "entreprise" des scénarios.

WS-AtomicTransaction

Besoin de l'ACIDE Transactions de plus d'un service, vous allez avoir besoin de SAVON. Tandis que le RESTE prend en charge les transactions, il n'est pas complet et n'est pas de l'ACIDE conforme. Heureusement transactions ACID presque jamais à faire sens sur internet. Le REPOS est limitée par HTTP lui-même qui ne peut pas fournir de validation à deux phases à travers distribué transactionnelle de ressources, mais le SAVON peut. Internet apps n'ont généralement pas besoin de ce niveau de transactionnelle, la fiabilité, les applications de l'entreprise, parfois, ne.

WS-ReliableMessaging

Le repos n'est pas une norme de système de messagerie et attend les clients à composer avec l'échec de la communication par une nouvelle tentative. SAVON a réussi/logique de nouvelle tentative construit et fournit de bout en bout la fiabilité même à travers des intermédiaires SOAP.

22voto

Kevin Points 57797

Techniquement, la façon dont vous l'avez rédigé, ce n'est pas correct, parce que le SAVON de la méthode de communication n'est pas bloqué, et le RESTE de la méthode n'a pas dit rien sur l'authentification des utilisateurs légitimes.

HTTPS empêche les pirates de l'écoute clandestine sur la communication entre les deux systèmes. Il vérifie également que le système hôte (serveur) est en fait le système hôte, l'utilisateur a accès.

WS-Security empêche les applications non autorisées (les utilisateurs) d'accéder au système.

Si un Réparateur système a un moyen de l'authentification des utilisateurs et l'application du SAVON avec WS-Security est en HTTPS, alors, vraiment, les deux sont en sécurité. C'est juste une façon différente de présenter et d'accéder à des données.

20voto

toolkit Points 27248

Voir le wiki de l'article:

En point-à-point des situations de la confidentialité et de l'intégrité des données peut également être appliquée sur les services Web grâce à l'utilisation de TLS (Transport Layer Security), par exemple, par l'envoi de messages via le protocole https.

WS-Security cependant les adresses de l'ensemble du problème de maintenir l'intégrité et la confidentialité des messages jusqu'à ce que après qu'un message a été envoyé depuis le nœud d'origine, offrant ainsi appelé à la fin de la sécurité.

C'est:

  • HTTPS est une couche de transport (point-to-point), le mécanisme de sécurité
  • WS-Security est une application de la couche (end-to-end), le mécanisme de sécurité.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X