Application Security Forum - 2012 Western Switzerland 7-8 novembre 2012 - Y-Parc / Yverdon-les-Bains https://www.appsec-forum.ch Initiation à la sécurité des Web Services (SOAP vs REST) Sylvain MARET Principal Consultant / MARET Consulting OpenID Switzerland & OWASP Switzerland 08.11.2012, Version 1.1 @smaret
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Application Security Forum - 2012 Western Switzerland
7-8 novembre 2012 - Y-Parc / Yverdon-les-Bains https://www.appsec-forum.ch
Initiation à la sécurité des Web Services (SOAP vs REST)
Sylvain MARET Principal Consultant / MARET Consulting OpenID Switzerland & OWASP Switzerland
1992 : CORBA – Common Object Request Broker Architecture
1990-1993 : Microsoft’s DCOM -- Distributed Component Object Model
1995: RMI – Monde Java
Pour arriver à une standardisation (toujours en cours) des protocoles, outils, langages et interfaces
– SOAP
– REST
– Etc.
7
Web Service
Agenda
Qu’est-ce qu’un Web Service ?
SOAP
REST
Threat Modeling / ACME SA
Réduction des risques
Conclusion
Questions
8
SOAP vs REST ?
9
SOAP: Les ingrédients
10
SOAP: Démystification des technologies
Langages – XML
– WSDL : Descripteur du service
– UDDI: Annuaire des services
Protocoles – Transport: HTTP, HTTPS, SMTP, FTP, SMS, TFTP, SSH, etc. (TCP or UDP)
– Message: Enveloppe SOAP
Sécurité – WS-Security (Signature & Chiffrement)
Autres éléments – AuthN: SAML, X509, Username & Password, Kerberos, HTTP Digest, etc.
11
Enveloppe SOAP
12
- SOAP : Simple Object Access Protocol - Permet l’envoi de messages XML
- Agnostique au moyen de transport - HTTP - HTTPS - FTP - etc.
Source= wikipédia
13
SOAP request
SOAP response
UDDI
Universal Description Discovery and Integration, connu aussi sous l'acronyme UDDI, est un annuaire de services fondé sur XML et plus particulièrement destiné aux services Web.
14
WSDL
WSDL est une grammaire XML permettant de décrire un Service Web.
Le WSDL sert à décrire :
– le format de messages requis pour communiquer avec ce service
– les méthodes que le client peut invoquer
– la localisation du service
– le protocole de communication (SOAP RPC ou SOAP orienté message)