2. Windows Communication Foundation
• Framework pour créer des applications:
•Orientées services
•Interopérables
• Architecture modulaire et composable
• Support natif des protocoles des services Web
avancés WS-*
3. WCF : Mécanisme de communication
Client Service
A B C
Be C B A A B C Be
A B C
WSDL
Point de terminaison
« Behavior »
Adresse « Binding » Contrat Environnement
Où ? Comment ? Quoi ? d’exécution
7. Plan
• Sécurité dans WCF
• Sécurité mode message
o WS-Security
o Types d'informations d'identification client
• Sécurité mode transport
• Conclusion
8. Architecture WS-*
Realible
Security Transactions
Message
Metadata
Messaging
XML
10. Sécurité de transfert
Intégrité :
Assurer la complétude et l’exactitude des données
Signature des messages
Confidentialité:
Assurer la lecture des messages que par le récepteur prévu
Chiffrement des données à l'aide d'un schéma de clé publique/clé privée.
Authentification:
Vérifier l’identité d’une entitté déclarée
e.g: Utilisation des certificats, username/password.
11. Les trois fonctions de
sécurité sont
fournies par le
transport utilisé pour
transmettre des
messages entre le
client et le service.
Message Transport
Les modes
Les modes
de sécurité
Transport avec
information
d’identification
de message
13. WS-Security
• Publiée par Microsoft, IBM et Verisign
• Définit un modèle de sécurité de message qui permet d'appliquer la
sécurité aux messages SOAP.
• Intégre les spécifications 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 sécurité combinés au chiffrement et aux
signatures numériques
Créer une interface universelle permettant à des systèmes de
sécurité basés sur des technologies hétérogènes de s'invoquer
mutuellement.
15. Implémentation WS-Security dans WCF
• Sérialisation de jetons de sécurité vers et à partir de
messages SOAP. SOAP Envelope
Security Feeder
• Authentification de jetons de sécurité. Token
SOAP Envelope Security
SOAP Body
• Application et vérification de signatures de message.
Signature
SOAP Body
• Chiffrement et déchiffrement de messages SOAP.
16. Types d'informations d'identification
client
None Windows Username Certificate Issued Token (jeton émis)
•Permet les échanges dele service à exiger service à
• Le client n'a pas besoin de•Autorise •Autorise le •Type de jeton personnalisé
d'informationsque le client soit authentifié client soit fonction d'une
présenter messages SOAP dans le exiger que configuré en
le
d'identification(un client avec des informations
contexte de sécurité établi authentifiéstratégied'un
à l'aide de sécurité. Le type
anonyme). d'identification certificat X.509
avec des informations de nom de jeton par défaut est le
d'identificationd'utilisateur.
Windows. jeton SAML (Security
• WSS SOAP Message Security •WSS SOAPAssertions Markup Language).
Message
Le jeton est émis par un
X.509 Certificate Token •WSS SOAP Message
•WSS SOAP Message Security Security X.509 Certificate sécurisé.
Security UsernameToken service de jetons
Profile 1.1Kerberos Token Profile 1.1 Token Profile 1.1
Profile 1.1 Ou WSS SOAP
Message Security X.509 •WSS SAML Token Profile 1.1
Certificate Token Profile 1.1
18. Notion de ticket Kerberos
• Une structure de données constituée d’une partie
chiffrée et d’une partie claire.
Chiffrement
Chiffrement
• Sert à authentifier les requêtes des participants du
Clef de
système.
session
Clef du serveur
de ressource
Ticket Transmis
au client
Clef du
client
19. Scénario d’authentification Windows
Centre de
distribution de
Déchiffrement
clés (KDC)
Authentifiant Authentifiant
6 Valider le token
Reçu par 1 Demander un ticket de service 7 Décrypter le
Le serveur
De ressource 2 Récupérer le ticket de service message
3 Signer le Déchiffrement 8 Vérifier la signature
message
4 Crypter le
OUI NON
message Valide ?
5 Envoi Requête Message
Accès Refus
Clef du serveur
de ressource
9 Envoi Message Réponse
Client Service
22. Notion de Certificat X.509
• Un standard de cryptographie de l'Union
internationale des télécommunications pour les
infrastructures à clés publiques (PKI).
• Créé en 1988 dans le cadre du standard X.500.
• Repose sur un système hiérarchique d'autorités de
certification.
29. Scénario d’authentification Certificate
Côté Client
Certificate 4 Attacher le Certificat
Store Client au message
5 Signer le Message
S
C 1 Récupérer le Certificat du Service avec sa clé privée
6 Crypter le Message
2 Récupérer le Certificat du Client avec la clé publique du
3 Récupérer la Clé Privée service
7 Envoi Requête Message
Client Service
30. Scénario d’authentification Certificate
Côté Service
Certificate
Store
S
Récupérer le Certificat du Service 1
Récupérer la Clé Privée 2
4 Décrypter le
message
5 Vérifier la
7 Envoi Message Réponse
signature
Client Service
33. Notion de jeton SAML
• Security Assertions Markup Language.
• Des représentations XML de revendications.
• Par défaut, les jetons SAML qu'utilise WCF dans les
scénarios de sécurité fédérée sont des jetons émis
(issued token).
34. Scénario d’authentification Issued Token
Service de 2 Signer le jeton SAML
jetons avec le certificat
1 Demander un jeton SAML 7 Vérifier la signature
du jeton SAML
3 Récupérer le jeton SAML
8
5 Signer le Vérifier la signature
Message 4 Récupérer la Clé de revendication du message.
avec la clé.
C
6 Envoi Requête Message
9 Envoi Message Réponse
Client Service
36. Sécurité mode transport
• S’applique au message dans son ensemble
• Assure la confidentialité, intégrité et/ou
l’authentification
• Dépend du mécanisme utilisé par la liaison
sélectionnée: HTTPS, SSL
39. Message vs Transport
Sécurité Mode Message Sécurité Mode Transport
Sécurité de bout en bout Saut à saut uniquement
Prise en charge de plusieurs transports Dépendance vis-à-vis du transport
Prise en charge d'un large jeu Jeu d'informations d'identification
d'informations d'identification limité et non extensible
Performance Performance globale ameliorée
Impossible d'utiliser la diffusion en
continu de messages La diffusion en continu est possible
Requiert l'implémentation de Sécurité indépendante du niveau
mécanismes de sécurité au niveau du du XML.
XML et la prise en charge de la
spécification WS-Security.
41. Récapitulons
Binding
Security Mode
Credential Type
Custom Binding
42. Conclusion
• L'application directe de la sécurité au message en
modifiant son contenu permet au message sécurisé
d'être autonome en ce qui concerne les aspects de la
sécurité.
• Le choix de mode dépend de besoins de
l’architecture: Message ou Transport ou les deux,
chacun a des inconvénient et des avantages.