web service security

38
Web Service Security RÉALISÉ PAR : HAMZA BENDHIBA AYOUB BEN HAMMOU ENCADRÉ PAR : M. YOUNÈS EL BOUZEKRI EL IDRISSI

Upload: hamzab24

Post on 21-Nov-2015

27 views

Category:

Documents


1 download

DESCRIPTION

Ce document montre les fonctionnalite de WS-security

TRANSCRIPT

Web Service Security

Web Service SecurityRalis par :Hamza BendhibaAyoub Ben hammouEncadr par :M. Youns el bouzekri el idrissi 1Plan2INTRODUCTION33Les Services WebLa technologie des services Web est un moyen rapide de distribution de l'information entre clients, fournisseurs, partenaires commerciaux et leurs diffrentes plates-formes.

Les services Web sont bass sur le modle SOA (Service-Oriented Architecture) .

Un service Web est tout simplement un programme accessible au moyen d'Internet, qui utilise un systme de messagerie standard XML, etn'est li aucun systme d'exploitation ou langage de programmation

4Architecture d'un service Web5

Publication et DcouverteWS-Inspection, UDDIDescripteur du ServiceWSDL EchangeSOAP Protocole de transportHTTP, SMTP, FTP InternetTCP/IP 5Architecture d'un service Web67Le Web Service nest pas scuris78Le Web Service nest pas scurisLes messages XML circulent sur le rseau. Nimporte qui peut facilement sniffer et lire le texte.

WS est utilise SSL dans la couche de transport, mais ne garantit pas la scurit de bout en bout. SSL crypte galement tout ce qui nest pas obligatoire.

Il existe de nombreux moyens d'assurer la scurit des messages des Web Services, WS-Security est un moyen standard de scurisation WS.

8WEB SERVICE SECURITY9

910WS-Security : DfinitionPublie par Microsoft, IBM et Verisign

Le 19 avril 2004, la spcification WS-Security 1.0 a t lance par OASIS-Open.

Dfinit un modle qui permet d'appliquer la scurit aux messages SOAP.

Intgre les spcifications mises au point par le W3C autour du chiffrement et de la signature des documents XML - XML Encryption et XML Signature

Utilise des jetons de scurit combins des formats de certificat

Crer une interface universelle permettant des systmes de scurit bass sur des technologies htrognes de s'invoquer mutuellement.1011WS-Security : spcificationsSOAP FoundationWS-SecurityWS-PrivacyWS-PolicyWS-TrustWS-SecureConcersationWS-FederationWS-AuthorizaionWS-Policy, WS-Trust et WS-Privacydcrivent la procdure de scurit,

WS-Secure Conversation, WS-Federation et WS-Authorizationse chargent de dfinir comment est authentifi un message alors que les deux parties en prsence utilisent des technologies diffrentes .1112WS-Security : CaractristiquesWS-Security rpond trois problmatiques principales :

Comment signer les messages SOAP pour en assurer l'intgrit et en viter la transformation par un tiers.Comment chiffrer les messages SOAP pour en assurer la confidentialit.Comment attacher des jetons de scurit pour garantir l'identit de l'metteur et assurer la non-rpudiation.1213WS-Security : ImplmentationSOAP EnvelopeSOAP BodySecurity FeederSecurity TokenSOAP EnvelopeSOAP BodySignature1314WS-Security : CommunicationSOAPRequesterWeb ServiceWSS-moduleWSS-moduleSOAPSOAPSecure SOAP1415La spcification WS-Security dfinit un ensemble dextension SOAP. WS-Security sinspire des mcanismes existants permettant la mise en place dune infrastructure scuriseWS-Security propose quatre mcanismes constituant un socle flexible de protection des services Web : Signature des messagesChiffrement des messages Transmission de jeton de scuritTime-Stamp

WS-Security1516Signature des messagesSigner un message permet de garantir que le message na pas t altr au cours de lchange et que lmetteur du message en est bien lauteur en se fondant sur lidentit vhicule par le jeton de scurit.

Avec WS-Security, lintgrit du message se fonde sur lutilisation conjointe de jetons de scurit et du protocole XML Signature qui dfinit des mcanismes de signature chiffre dun message XML. 1617Chiffrement des messagesPour garantir la confidentialit des changes, WS-Security offre des mcanismes de chiffrement et dchiffrement des messages qui se fondent sur lutilisation conjointe de jetons de scurit et du protocole XML Encryption pour chiffrer des parties du message SOAP.

WS-Security permet de chiffrer toutes composantes dun message (corps, entte,pices jointes) soit par le partage dune cl symtrique entre metteur et rcepteur,soit par la transmission chiffre de la cl dans le message.

1718Transmission de jetonWS-Security permet de transmettre des jetons de scurit via des systmes htrognes par l'inclusion de jetons de scurit fonde sur des mcanismes standards indpendants des mcanismes de transport spcifiques.Jeton bas sur le couple utilisateur/mot de passe

Jetons binaires : ticket Kerberos, certificat X.509

Jetons XML : SAML 1819Transmission de jetonMcanismesAvantages Inconvnients Utilisateur/mot de passe Indpendant de l'environnement, de latechnologie.Simple mettre en uvre.Moins scuris.

Kerberos Trs scuris.Ne fonctionne qu'au sein d'un domaine Kerberos.

X.509 Trs scuris.Interoprabilit. Ncessite une PKI.

SAMLMcanismes d'change d'informationd'authentification et d'autorisation.SingleSignOn scuris. Peu d'implmentationsexistant aujourd'hui.

1920Transmission de jetonJeton couple utilisateur/mot de passe

Envoi Requte Message1

Envoi Rponse Message3Validation Username/Password2

ClientServiceBien quelle soit la technique qui offre le moins de garantie en termes de scurit,cette approche est la plus utilise. Elle est notamment mise en uvre sur http dansle mode dauthentification basic ou digest .20Un certificat numrique X.509 version 3 permet dindiquer prcisment qui est lutilisateur en lui associant une cl publique.

On lutilise des fins dauthentification, de signature, de confidentialit, et dintgrit.Transmission de jetonCertificat numrique X.509 22Transmission de jetonCertificat numrique X.509 Certificate Store

Client

ServiceRcuprer le Certificat du Service 1Rcuprer le Certificat du Client 2Envoi Requte Message76Attacher le Certificat Client au message4Signer le Message avec sa cl prive5CS

Rcuprer la Cl Prive3

Crypter le Message avec la cl publique du serviceUn certificat numrique X.509 version 3 permet donc dindiquer prcisment qui est lutilisateur en lui associant une cl publique. On lutilise des fins dauthentification, de signature, de confidentialit, et dintgrit.

Processus:1:le client rcupre le certificat X509 du service.2: le client rcupre son propre certificat et sa cl prive.3:le client attache son certificat x509 un message 4:le client signe le message avec sa cl priv 5:le client encrypte le message en utilisant la cl publique du service 6:le client envoi le message au service.

2223Transmission de jeton

Certificate Store

Client

ServiceRcuprer le Certificat du Service 1Envoi Message Rponse7SRcuprer la Cl Prive2

4Dcrypter le message 5Vrifier la signatureCertificat numrique X.509 2324Transmission de jetonJeton binaire : Kerberos Kerberos est un protocole standard dauthentification au sein du domaine, se basant sur une double authentification (aussi appele authentification mutuelle ) de lidentit de lutilisateur et des services rseaux.

lautorit approuve

Client

Service2425Transmission de jetonTransmisau clientTicketClef desessionClef de serviceClef duclientChiffrement

Chiffrement

Jeton binaire : Kerberos 2526WS-Security : Transmission de jetonScnario dauthentification WindowsCentre de distribution de cls

Client

ServiceDemander un ticket de service1Rcuprer le ticket de service2Crypter le message4Signer le message3

Jeton binaire : Kerberos 4. Le message est sign avec le jeton de scurit rcupre l'tape prcdente.On peut choisir de signer une ou plusieurs parties du message, comme l'en-tte d'adresse ou le corps du message

5. On peut chiffrer le corps du message en utilisant un jeton de scurit qui est drive de la cl de session dans le jeton de scurit

7.A laide du cl de session

2627Jeton binaire : Kerberos Traitement par le clientClef duclientAuthentifiantTransmisAu serviceReu parLe clientDchiffrement

ChiffrementAuthentifiant

Plutt que de proposer un nouveau Framework de scurit,

2728Transmission de jetonCentre de distribution de cls

Client

ServiceDemander un ticket de service1Rcuprer le ticket de service2Envoi Requte Message5Crypter le message4Valider le jeton6Signer le message3

Jeton binaire : Kerberos 4. Le message est sign avec le jeton de scurit rcupre l'tape prcdente.On peut choisir de signer une ou plusieurs parties du message, comme l'en-tte d'adresse ou le corps du message

5. On peut chiffrer le corps du message en utilisant un jeton de scurit qui est drive de la cl de session dans le jeton de scurit

7.A laide du cl de session

2829Transmission de jetonClef de serviceValide ?OUIAccsNONRefusAuthentifiantReu parLe serveurDe ressourceDchiffrement

DchiffrementAuthentifiant

Jeton binaire : Kerberos 2930Transmission de jetonCentre de distribution de cls

Client

ServiceDemander un ticket de service1Rcuprer le ticket de service2Envoi Requte Message57Crypter le message4Valider le jeton6Signer le message3

Dcrypter le messageVrifier la signature89Envoi Message Rponse

Jeton binaire : Kerberos 4. Le message est sign avec le jeton de scurit rcupre l'tape prcdente.On peut choisir de signer une ou plusieurs parties du message, comme l'en-tte d'adresse ou le corps du message

5. On peut chiffrer le corps du message en utilisant un jeton de scurit qui est drive de la cl de session dans le jeton de scurit

7.A laide du cl de session

3031Transmission de jetonJeton XML : SAML Le protocole SAML dfinit un langage qui permet dchanger des donnes scurit au niveau des utilisateurs et tente de rpondre la problmatique dauthentification unique.3132Transmission de jetonSigner le Message avec la cl.

Service de jetons

Client

ServiceDemander un jeton SAML 1Rcuprer le jeton SAML 3Envoi Requte Message67C

Rcuprer la Cl de revendication4

Signer le jeton SAMLavec le certificat2

5

Vrifier la signature du jeton SAML 8Vrifier la signature du message.9Envoi Message Rponse

Jeton XML : SAML Un client demande un jetonSAML un service de jeton de scurit en s'authentifiant auprs de ce service l'aide des informations d'identificationWindows.

Le service de jeton de scurit met un jeton SAML pour le client. Le jeton SAML est sign avec un certificat associ au service de jeton de scurit et contient une cl de vrification chiffre pour le service cible.

Le client reoit galement une copie de lacl de vrification. Le client prsente alors le jeton SAML au service d'application (partie de confiance) et signe le message avec cette cl de vrification.

La signature sur le jeton SAML indique la partie de confiance que le service de jeton de scurit a mis le jeton. La signature de message cre avec la cl de vrification indique la partie de confiance que le jeton a t mis pour le client.

3233WS-Security : Timestamp

Cest important de vrifier la fracheur du message avant de commencer son traitement.Timestamp est mis dans chaque message SOAP afin que vous pouvez rduire le risque d'attaques par rejeu. 2015-01-14T12:11:41.331Z 2015-01-14T12:16:41.331Z

3334WS-Security : Timestamp

Client

ServiceEnvoi Requte Message1

Pirate3435WS-Security : TimestampPirate

ServiceBombarder avec les mme paquets1

2Vrifier le timestamp

3Refus des paquets3536Conclusion3637HTTPXML, SOAP, WSDL, Schema, WS-Addressing, etc.XML Digital SignaturesXML EncryptionSAMLKerberosX.509Security Token ProfilesWS-TrustWS-FederationWS-SecureConversationWS-Privacy

WS-SecurityPolicyWS-Security.Net TCP Channel, Fast InfoSet, etc.Cot serveur WEB-serviceSSL3738Merci Pour Votre Attention38