2 NoSQL Typologie et Panorama 08/02/2011 Pierre Couzy – Microsoft.
Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.
-
Upload
eliane-maurin -
Category
Documents
-
view
116 -
download
8
Transcript of Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.
![Page 1: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/1.jpg)
Sécurisation des services Web avec WSE 3.0 et WCF
Sécurisation des services Web avec WSE 3.0 et WCF
Pierre COUZYWinwise
Stéphane GOUDEAUMicrosoft
![Page 2: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/2.jpg)
Introduction
Les Web Services sont un modèle à deux vitessesLes Web Services sont un modèle à deux vitessesUne galerie de normes quasi-exhaustiveUne galerie de normes quasi-exhaustive
Multiples consortiums, multiples normes, multiples utilisationsMultiples consortiums, multiples normes, multiples utilisations
Des implémentations très disparatesDes implémentations très disparatesLe plus petit dénominateur commun entre tous les éditeursLe plus petit dénominateur commun entre tous les éditeurs
L’utilisation en entreprise pêche souventL’utilisation en entreprise pêche souventPar le manque de connaissances des standards disponiblesPar le manque de connaissances des standards disponiblesPar un manque d’implémentations simples de ces standardsPar un manque d’implémentations simples de ces standards
Des scénarios catastrophe se montent peu à peuDes scénarios catastrophe se montent peu à peuImplémentation manuelle d’un standardImplémentation manuelle d’un standardRéinvention de la roue Réinvention de la roue Confiance quasi-absolue dans le comportement des Confiance quasi-absolue dans le comportement des appelantsappelantsAdaptation du service aux besoins d’un client spécifiqueAdaptation du service aux besoins d’un client spécifique
![Page 3: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/3.jpg)
Notre agenda
Rappeler brièvement les concepts Rappeler brièvement les concepts associés à la sécurité des échanges de associés à la sécurité des échanges de messagesmessagesPrésenter les normes associéesPrésenter les normes associéesMontrer comment les implémenter dans Montrer comment les implémenter dans le monde Microsoftle monde Microsoft
Identifier les patterns de sécurité des Identifier les patterns de sécurité des messagesmessagesAppliquer et composer ces patternsAppliquer et composer ces patterns
Mettre WCF (ex-Indigo) en perspectiveMettre WCF (ex-Indigo) en perspective… … et vous donner les pointeurs et vous donner les pointeurs permettant d’aller plus loinpermettant d’aller plus loin
![Page 4: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/4.jpg)
La sécurité des échanges de message
AuthentificationAuthentificationL’émetteur est identifié sans ambiguïtéL’émetteur est identifié sans ambiguïté
IntégritéIntégritéLes messages n’ont pas été modifiésLes messages n’ont pas été modifiés
ConfidentialitéConfidentialitéLes messages n’ont pas été interceptésLes messages n’ont pas été interceptés
Non-répudiationNon-répudiationL’émetteur ne peut pas renier ses messagesL’émetteur ne peut pas renier ses messages
DisponibilitéDisponibilitéLes messages sont traitésLes messages sont traités
RoutageRoutageLe lien avec la sécurité est indirect, mais nous en Le lien avec la sécurité est indirect, mais nous en aurons besoin pour définir des périmètres de aurons besoin pour définir des périmètres de confianceconfiance
![Page 5: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/5.jpg)
Evolve and Extend
Secure, Reliable, Transacted
Fundamentals
Carte des standards WS-*
20032000 2001 2002 2004 2005
WS-ReliableMessagingWS-ReliableMessaging
Relia
bility
Relia
bility
WS-I formedWS-I formed
Inte
rop
éra
bilité
Inte
rop
éra
bilité
WS-I BP 1.0WS-I BP 1.0
Security RoadmapSecurity Roadmap
Wh
itep
ap
ers
Wh
itep
ap
ers
Reliable Messaging RoadmapReliable Messaging RoadmapSRT Web Services WhitepaperSRT Web Services Whitepaper
WS-SecurityWS-Security
WS-TrustWS-Trust
Secu
rityS
ecu
rity
WS-Security AddendumWS-Security Profile for Tokens
WS-Security AddendumWS-Security Profile for Tokens
WS-FederationWS-Federation Active Requestor Profile
WS-FederationWS-Federation Active Requestor Profile
WS-Security SOAP Message SecurityWS-Security Username Token ProfileWS-Security X.509 Certificate Token Profile
WS-Security SOAP Message SecurityWS-Security Username Token ProfileWS-Security X.509 Certificate Token Profile
WS-Security Kerberos BindingWS-Security Kerberos Binding
WS-CoordinationWS-Transaction
WS-CoordinationWS-Transaction
Tra
nsa
ction
sTra
nsa
ction
s
WS-AtomicTransactionWS-AtomicTransaction
WS-BusinessActivityWS-BusinessActivity
SOAP 1.1SOAP 1.1
Messa
gin
gM
essa
gin
g
SOAP Messages with Attachments
SOAP Messages with Attachments
WS-ReferralWS-Routing
WS-ReferralWS-Routing
DIMEDIME WS-AttachmentsWS-Attachments
WS-AddressingWS-AddressingSOAP 1.2SOAP 1.2
MTOMMTOMWS-EventingWS-Eventing
WS-Policy 1.1WS-PolicyAttachments 1.1WS-PolicyAssertions 1.1
WS-Policy 1.1WS-PolicyAttachments 1.1WS-PolicyAssertions 1.1
WS-PolicyWS-PolicyAttachmentsWS-PolicyAssertionsWS-SecurityPolicy
WS-PolicyWS-PolicyAttachmentsWS-PolicyAssertionsWS-SecurityPolicy
Meta
data
Meta
data
UDDI 1.0UDDI 1.0
WSDLWSDLUDDI 2.0UDDI 2.0
WS-InspectionWS-InspectionUDDI 3.0UDDI 3.0
WS-DiscoveryWS-MetadataExchange
WS-DiscoveryWS-MetadataExchange
As of 2/2004
![Page 6: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/6.jpg)
WS-SECURITY
![Page 7: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/7.jpg)
Les standards nous concernant
WS-SecurityWS-SecurityIntégrité, confidentialité, et inclusion d’un jeton de Intégrité, confidentialité, et inclusion d’un jeton de sécuritésécurité
WS-TrustWS-TrustEtablissement de jetons de sécurité Etablissement de jetons de sécurité
WS-FederationWS-FederationFédération de la gestion d’identitéFédération de la gestion d’identité
WS-SecureConversationWS-SecureConversationEtablir un contexte de sécurité et échanger des Etablir un contexte de sécurité et échanger des clés de session permettant d’échanger N clés de session permettant d’échanger N messages dans un même contextemessages dans un même contexte
WS-SecurityPolicyWS-SecurityPolicyDécrit les assertions spécifiques à la sécurité, Décrit les assertions spécifiques à la sécurité, utilisées dans WS-Security, WS-Trust, et WS-utilisées dans WS-Security, WS-Trust, et WS-SecureConversationSecureConversation
![Page 8: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/8.jpg)
Web Services Architecture
Chacun de ces blocs a son propre espace sur MSDNChacun de ces blocs a son propre espace sur MSDN
http://msdn.microsoft.com/library/default.asp?url=/lihttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnglobspec/html/wsspecsover.aspbrary/en-us/dnglobspec/html/wsspecsover.asp
![Page 9: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/9.jpg)
Comment aborder ces standards ?
Chaque scénario comporte des contraintes Chaque scénario comporte des contraintes spécifiques qui demandent une combinaison spécifiques qui demandent une combinaison intelligente de différents standardsintelligente de différents standardsPour appréhender cette complexité, on Pour appréhender cette complexité, on définit des patternsdéfinit des patterns
Patterns d’authentificationPatterns d’authentificationPatterns de confidentialitéPatterns de confidentialitéPatterns d’intégritéPatterns d’intégritéetc.etc.
Votre rôle est de connaître et composer ces Votre rôle est de connaître et composer ces patterns et d’identifier les forces et faiblesses patterns et d’identifier les forces et faiblesses de la solution retenuede la solution retenueLe rôle de Microsoft est de fournir des outils Le rôle de Microsoft est de fournir des outils simplifiant la mise en œuvre de votre simplifiant la mise en œuvre de votre solution.solution.
![Page 10: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/10.jpg)
SOAP SOAP Tool Tool KitKit
.NET .NET FrameworkFramework
Web Web ServicesServices
EnhancemenEnhancementsts
Windows Windows CommunicatiCommunicati
on on FoundationFoundation
Beta 1Beta 1
Beta 2Beta 2(? Go Live)(? Go Live)
V1.0V1.0LonghornLonghorn
V1.0V1.0
V2.0V2.0
V3.0V3.0
V1.0V1.0
V1.1V1.1
V2.0V2.0
SDKSDK
V1.0V1.0
V2.0V2.0
V3.0V3.0
Outils Microsoft pour les Services WebOutils Microsoft pour les Services Web
![Page 11: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/11.jpg)
PATTERNS DE SECURITE
![Page 12: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/12.jpg)
Patterns d’authentification
L’identité peut circulerL’identité peut circulerDans le messageDans le message
Dans la couche de transport du messageDans la couche de transport du message
L’authentification peut être L’authentification peut être Directe (point à point)Directe (point à point)
Mutualisée (déléguée à un serveur tiers)Mutualisée (déléguée à un serveur tiers)
Facteurs importantsFacteurs importantsPrésence d’intermédiaires dans la communicationPrésence d’intermédiaires dans la communication
Confiance en ces intermédiairesConfiance en ces intermédiaires
Contraintes réseau spécifiques (firewalls)Contraintes réseau spécifiques (firewalls)
![Page 13: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/13.jpg)
Patterns d’authentification
![Page 14: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/14.jpg)
Jetons d’authentification
Secret KeySecret Key
PasswordPassword
Proof ofProof ofPossessionPossession
SignedSigned
……X.509X.509
KerberosKerberos
XrMLXrMLSAMLSAML
UnsignedUnsigned
……UsernameUsername
Valid ToValid To
Serial NumberSerial Number
VersionVersion
SubjectSubject
Public KeyPublic Key
Issuer’s Digital Issuer’s Digital SignatureSignature
Valid FromValid FromIssuerIssuer
Other FieldsOther Fields
Signature Signature AlgorithmAlgorithm
Déclaration d’un droit privilège ou attribut spécifiqueDéclaration d’un droit privilège ou attribut spécifique
Les messages véhiculent des jetons de sécurité qui Les messages véhiculent des jetons de sécurité qui l’expression de ces déclarationsl’expression de ces déclarations
Déclaration d’un droit privilège ou attribut spécifiqueDéclaration d’un droit privilège ou attribut spécifique
Les messages véhiculent des jetons de sécurité qui Les messages véhiculent des jetons de sécurité qui l’expression de ces déclarationsl’expression de ces déclarations
![Page 15: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/15.jpg)
WS-Security: « UsernameToken »
<UsernameToken Id="..."><UsernameToken Id="..."> <Username>...</Username><Username>...</Username> <Password Type="...">...</Password><Password Type="...">...</Password></UsernameToken> </UsernameToken>
Username (le mot de passe Username (le mot de passe est facultatif)est facultatif)
PasswordText : mot de passe completPasswordText : mot de passe completPasswordDigest: hash du mot de passePasswordDigest: hash du mot de passe
![Page 16: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/16.jpg)
Patterns de protection du message
Le message peut êtreLe message peut êtreChiffré Chiffré
AuthentifiéAuthentifié
SignéSigné
La combinaison de ces facteurs assureLa combinaison de ces facteurs assureLa confidentialitéLa confidentialité
La non-répudiationLa non-répudiation
L’intégritéL’intégrité
![Page 17: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/17.jpg)
Patterns de protection des messages
![Page 18: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/18.jpg)
XML Signature - intégrité
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo><SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />c14n#" />
<SignatureMethod<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1" />Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1" />
<Reference URI="#Id-e7a3d692-3e96-452a-8a36-a5c346f69c95"><Reference URI="#Id-e7a3d692-3e96-452a-8a36-a5c346f69c95"> <Transforms><Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-
c14n#" />c14n#" /> </Transforms></Transforms> <DigestMethod <DigestMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /><DigestValue>VKTFU9Zc3vFvmjvYJn6cV1y+e38=</DigestValue><DigestValue>VKTFU9Zc3vFvmjvYJn6cV1y+e38=</DigestValue>
</Reference> </Reference> </SignatureMethod></SignatureMethod> </CanonicalizationMethod></CanonicalizationMethod> </SignedInfo></SignedInfo></Signature></Signature>
Norme de canonisation Norme de canonisation retenueretenue
Algorithme retenu pour créer Algorithme retenu pour créer la signaturela signature
Identification des données Identification des données signéessignées
Données de signatureDonnées de signature
![Page 19: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/19.jpg)
XML-Encryption : confidentialité<S:Envelope<S:Envelope
xmlns:S="http://www.w3.org/2001/12/soap-envelope" xmlns:S="http://www.w3.org/2001/12/soap-envelope" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext" xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"> <S:Header><S:Header> <wsse:Security><wsse:Security> <xenc:ReferenceList><xenc:ReferenceList> <xenc:DataReference URI="#bodyID"/><xenc:DataReference URI="#bodyID"/> </xenc:ReferenceList></xenc:ReferenceList> </wsse:Security></wsse:Security> </S:Header></S:Header> <S:Body><S:Body> <xenc:EncryptedData Id="bodyID"> <xenc:EncryptedData Id="bodyID"> <ds:KeyInfo><ds:KeyInfo> <ds:KeyName>CN=Hiroshi Maruyama, C=JP</ds:KeyName><ds:KeyName>CN=Hiroshi Maruyama, C=JP</ds:KeyName> </ds:KeyInfo></ds:KeyInfo> <xenc:CipherData><xenc:CipherData> <xenc:CipherValue>...</xenc:CipherValue><xenc:CipherValue>...</xenc:CipherValue> </xenc:CipherData></xenc:CipherData> </xenc:EncryptedData></xenc:EncryptedData> </S:Body></S:Body></S:Envelope></S:Envelope>
Données chiffréesDonnées chiffrées
![Page 20: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/20.jpg)
Authentification directe : Patterns et références
![Page 21: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/21.jpg)
Authentification via broker : Patterns et références
![Page 22: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/22.jpg)
WSE
![Page 23: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/23.jpg)
ALLERALLERDESERIALIZE (XML DESERIALIZE (XML natif) natif)Interception (avant et après) !Interception (avant et après) !
ALLERALLERDESERIALIZE (XML DESERIALIZE (XML natif) natif)Interception (avant et après) !Interception (avant et après) !
RETOURRETOURSERIALIZE (natifSERIALIZE (natif XML) XML)
Interception (avant et Interception (avant et après) !après) !
RETOURRETOURSERIALIZE (natifSERIALIZE (natif XML) XML)
Interception (avant et Interception (avant et après) !après) !
ALLERALLERSERIALIZE (natifSERIALIZE (natif XML) XML)
Interception (avant et Interception (avant et après) !après) !
ALLERALLERSERIALIZE (natifSERIALIZE (natif XML) XML)
Interception (avant et Interception (avant et après) !après) !
RETOURRETOURDESERIALIZE (XML DESERIALIZE (XML natif) natif)
Interception (avant et après) !Interception (avant et après) !
RETOURRETOURDESERIALIZE (XML DESERIALIZE (XML natif) natif)
Interception (avant et après) !Interception (avant et après) !
Fournisseur WSFournisseur WSClient WSClient WS<FlightInfo><FlightInfo> <flightNo/><flightNo/> <departTime/><departTime/> <.../><.../></FlightInfo></FlightInfo>
<FlightInfo><FlightInfo> <flightNo/><flightNo/> <departTime/><departTime/> <.../><.../></FlightInfo></FlightInfo>
“SOAP Extensions”
““serialize”serialize”““serialize”serialize”
““deserialize”deserialize”““deserialize”deserialize”
FlightInfo FlightInfo
““deserialize”deserialize”““deserialize”deserialize”
““serialize”serialize”““serialize”serialize”
Utilisée pour des fonctionnalités plus avancéesUtilisée pour des fonctionnalités plus avancées
Intercepte les appels destinés à un service WebIntercepte les appels destinés à un service Web
Prétraitement et post-traitementPrétraitement et post-traitement
![Page 24: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/24.jpg)
Web Service Enhancements (WSE)
Extension à Visual Studio.NET et au framework .NET Extension à Visual Studio.NET et au framework .NET pour supporter les dernières spécifications WS-*: WS-pour supporter les dernières spécifications WS-*: WS-Security, WS-Addressing, WS-Policy, messaging Security, WS-Addressing, WS-Policy, messaging (MTOM)(MTOM)Un jeu de filtres hébergés par ASP.NET interceptant Un jeu de filtres hébergés par ASP.NET interceptant les messages SOAP entrants et sortants (injections les messages SOAP entrants et sortants (injections des en-têtes SOAP dans les messages, notion de des en-têtes SOAP dans les messages, notion de pipeline) pipeline) Soap Extension Soap Extension
Possibilité d’insérer ses propres filtres dans le pipelinePossibilité d’insérer ses propres filtres dans le pipeline
![Page 25: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/25.jpg)
Configuration depuis Visual Studio
<configuration><configuration> <system.web><system.web> <webServices><webServices> <soapExtensionTypes><soapExtensionTypes> <add <add type="Microsoft.Web.Services3.WebStype="Microsoft.Web.Services3.WebServicesExtension, ervicesExtension, Microsoft.Web.Services3,Version=3.0.Microsoft.Web.Services3,Version=3.0.0.0, Culture=neutral, 0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"PublicKeyToken=31bf3856ad364e35" priority="1" priority="1" group="0"/>group="0"/> </soapExtensionTypes></soapExtensionTypes> </webServices></webServices> </system.web></system.web></configuration></configuration>
![Page 26: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/26.jpg)
Mais aussi depuis un outil externe
![Page 27: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/27.jpg)
Sécurité : la couverture de WSEAuthentificationAuthentification
Jetons de sécurité : Jetons de sécurité : Microsoft.Web.Services3.Security.SecurityTokenMicrosoft.Web.Services3.Security.SecurityTokenCouple utilisateur/mot de passe : UsernameTokenCouple utilisateur/mot de passe : UsernameTokenJetons binaires : BinarySecurityToken Jetons binaires : BinarySecurityToken
Certificat X509 : X509SecurityTokenCertificat X509 : X509SecurityTokenJeton Kerberos : KerbersoSecurityTokenJeton Kerberos : KerbersoSecurityToken
SAML : Microsoft.Web.Services3.Security.SAMLSAML : Microsoft.Web.Services3.Security.SAMLSignature des messagesSignature des messages
XML Signature : XML Signature : Microsoft.Web.Services3.Security.MessageSignatureMicrosoft.Web.Services3.Security.MessageSignature
Chiffrement des messagesChiffrement des messagesXML Encryption : XML Encryption : Microsoft.Web.Services3.Security.CryptographyMicrosoft.Web.Services3.Security.Cryptography
Gestion et définition de relation de confiance entre Gestion et définition de relation de confiance entre entitésentités
WS-Trust : Microsoft.Web.Services3.SecurityWS-Trust : Microsoft.Web.Services3.SecurityContexte de sécurité entre deux services pour des Contexte de sécurité entre deux services pour des échanges de plusieurs messages dans ce même échanges de plusieurs messages dans ce même contextecontexte
WS-SecureConversation : Microsoft.Web.Services3.SecurityWS-SecureConversation : Microsoft.Web.Services3.Security
![Page 28: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/28.jpg)
SCENARIO 1
Approche programmatiqueApproche programmatique
![Page 29: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/29.jpg)
Démonstration
Démonstration
Scenario 1
![Page 30: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/30.jpg)
SCENARIO 2
Approche déclarativeApproche déclarative
![Page 31: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/31.jpg)
WS-SecurityPolicy« « Web Services Security Policy LanguageWeb Services Security Policy Language » »
IBM, Microsoft, RSA, IBM, Microsoft, RSA, VeriSignVeriSign, Décembre 2002, Décembre 2002
http://msdn.microsoft.com/ws/2002/12/ws-security-policyhttp://msdn.microsoft.com/ws/2002/12/ws-security-policy
Définit un ensemble d'assertions de politique lié aux Définit un ensemble d'assertions de politique lié aux concepts définis par les autres spécifications de concepts définis par les autres spécifications de sécuritésécurité
Permet aux participants de spécifierPermet aux participants de spécifierTypes de jeton, émetteurs, etc.Types de jeton, émetteurs, etc.
Exigences d’intégrité et de confidentialitéExigences d’intégrité et de confidentialité
Algorithmes supportéesAlgorithmes supportées
ExemplesExemplesPolitique des applications et servicesPolitique des applications et services
Quels sont les jetons/assertions nécessaires pour la requête ?Quels sont les jetons/assertions nécessaires pour la requête ?Où les clients peuvent-ils obtenir ces jetons/assertions ?Où les clients peuvent-ils obtenir ces jetons/assertions ?
Politique de services de jetons de sécuritéPolitique de services de jetons de sécuritéQuels sont les jetons/assertions acceptés ?Quels sont les jetons/assertions acceptés ?Quels sont les jetons/assertions fournis ?Quels sont les jetons/assertions fournis ?
Politique
![Page 32: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/32.jpg)
Capitaliser sur des scénarios de sécurité “clé en main”
Meilleures pratiques : 5 Meilleures pratiques : 5 scénariosscénarios
1 scenario = 1 assertion 1 scenario = 1 assertion (« Policy »)(« Policy »)
UsernameOverCertificateUsernameOverCertificate
AnnonymousOverCertificateAnnonymousOverCertificate
UsernameOverTransportUsernameOverTransport
KerberosKerberos
MutualX509MutualX509
![Page 33: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/33.jpg)
Démonstration
Démonstration
Scenario 2
![Page 34: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/34.jpg)
Windows Communication Foundation
![Page 35: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/35.jpg)
Unification des technologies middlewareUnification des technologies middlewareArchitecture modulaire et composableArchitecture modulaire et composable
“Framework unifié pour créer des applications orientées services sur la plate-forme Windows”
Interopérabilité avec les autres Interopérabilité avec les autres plateformesplateformesInteropérabilité avec les technologies Interopérabilité avec les technologies courantescourantes
Model de programmation orienté serviceModel de programmation orienté serviceSupport natif des protocoles WS-*Support natif des protocoles WS-*
Windows Communication Foundation
![Page 36: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/36.jpg)
Architecture « composable »
Modèle de service
Influence et étend le modèle de programmation fondé sur les messages entrants
Messaging
Echange les messages et permet l’extension des canaux
qui assurent le transfert des messages
Code duCode duServiceService
Transaction Behavior
CLR Type Integration
Instancing Behavior
SecurityChannel
TCP Transport
SecurityChannel
TCP Transport
Transaction Behavior
CLR Type Integration
![Page 37: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/37.jpg)
Service
CBA
CBA
Client
Address, Binding, Contract
ABC
AddressOù?
ContractQuoi?
BindingComment?
EndpointEndpoint
CBA
Message
BvBv
![Page 38: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/38.jpg)
Demo Service
![Page 39: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/39.jpg)
Demo Client
![Page 40: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/40.jpg)
Mode de sécurité par défaut
Binding Mode de sécurité par défaut
basicHttpBinding None
wsHttpBinding Message
wsDualHttpBinding Message
wsFederationBinding Message
netTcpBinding Transport
netNamedPipeBinding Transport
netMsmqBinding Message
netPeerTcpBinding Transport
msmqIntegrationBinding Transport
![Page 41: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/41.jpg)
Paramétrage du mode de sécurité
Par code :Par code :BasicHttpBinding b = new BasicHttpBinding(); BasicHttpBinding b = new BasicHttpBinding();
b.Security.Mode = BasicHttpSecurityMode.Transport; b.Security.Mode = BasicHttpSecurityMode.Transport;
b.Security.Transport.ClientCredentialType = b.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic; HttpClientCredentialType.Basic;
host.AddServiceEndpoint(typeof(IEchoService), b, "svc"); host.AddServiceEndpoint(typeof(IEchoService), b, "svc");
Par configuration :Par configuration :<basicHttpBinding><basicHttpBinding>
<binding name="TransportSecurity"><binding name="TransportSecurity">
<security mode="Transport" /><security mode="Transport" />
</binding></binding>
</basicHttpBinding></basicHttpBinding>
![Page 42: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/42.jpg)
Niveau de protection des messages
3 niveaux de protection :3 niveaux de protection :NoneNoneSignSignEncryptAndSignEncryptAndSign
Configuration du niveau de protection :Configuration du niveau de protection :<bindings> <bindings> <netTcpBinding> <netTcpBinding> <binding name="protectionSecurity" <binding name="protectionSecurity" <security mode="Transport" ><security mode="Transport" > <transport clientCredentialType="Windows" <transport clientCredentialType="Windows"
protectionLevel="EncryptAndSign"protectionLevel="EncryptAndSign"/>/> </security> </security> </binding> </binding> </netTcpBinding> </netTcpBinding> </bindings> </bindings>
![Page 43: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/43.jpg)
Modes d’authentificationWCF supporte plusieurs modes d’authentification :WCF supporte plusieurs modes d’authentification :
AnonymeAnonymeWindows : Scénarios IntranetWindows : Scénarios IntranetJetons Utilisateur (avec/sans fournisseur ASP.NET) : Scénarios B2C d’hierJetons Utilisateur (avec/sans fournisseur ASP.NET) : Scénarios B2C d’hierInfoCard : Scénarios B2C de demainInfoCard : Scénarios B2C de demainCertificats : Scénarios B2BCertificats : Scénarios B2BJetons délivrés par un Security Token Service : Jetons délivrés par un Security Token Service : Scénarios B2B de demainScénarios B2B de demain
Encapsulation dans la couche transport Encapsulation dans la couche transport ou au sein de messagesou au sein de messagesConfiguration du mode d’authentification :Configuration du mode d’authentification :
<bindings><bindings><wsHttpBinding> <wsHttpBinding> <binding name = "authentificationModeSecurity" <binding name = "authentificationModeSecurity" securityMode = "Message"> securityMode = "Message"> <wsSecurity authenticationMode="certificate"/> <wsSecurity authenticationMode="certificate"/> </binding></binding></wsHttpBinding> </wsHttpBinding> </bindings> </bindings>
![Page 44: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/44.jpg)
Spécification des paramètres d’identité
Spécification du mode d’authentification par codeSpécification du mode d’authentification par code« SetUserNamePassword »« SetUserNamePassword »
Spécification du mode d’authentification par Spécification du mode d’authentification par configuration :configuration :
Client :Client :<behaviors> <behaviors> <behavior name="credentialConfig"><behavior name="credentialConfig"><clientCredentials><clientCredentials><clientCertificate storeLocation="CurrentUser" storeName="My" <clientCertificate storeLocation="CurrentUser" storeName="My"
x509FindType="FindBySubjectName" findValue="client.com"/>x509FindType="FindBySubjectName" findValue="client.com"/></clientCredentials></clientCredentials></behavior></behavior></behaviors></behaviors>
Service :Service :<behavior name="credentialConfig" <behavior name="credentialConfig"
returnUnknownExceptionsAsFaults="true" >returnUnknownExceptionsAsFaults="true" ><serviceSecurityCredentials <serviceSecurityCredentials
x509AuthenticationMapToWindows="false">x509AuthenticationMapToWindows="false"><serviceX509Certificate findValue="localhost" <serviceX509Certificate findValue="localhost"
storeLocation="LocalMachine" storeName="My" storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectName" />x509FindType="FindBySubjectName" />
</serviceSecurityCredentials></serviceSecurityCredentials></behavior></behavior>
![Page 45: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/45.jpg)
Gestion des autorisations
Attributs dans le code pour identifier les Attributs dans le code pour identifier les RôlesRôles
[PrincipalPermission(SecurityAction.Demand, Role = Administrator")]string IResourceAccessContract.AccessDiamond()
Assignation d’utilisateurs à des rôles avec l’outil Assignation d’utilisateurs à des rôles avec l’outil d’administration (Authorization Manager)d’administration (Authorization Manager)
Fournisseur de rôles Fournisseur de rôles Spécifié dans le fichier de Configuration Spécifié dans le fichier de Configuration
Relier les rôles dans le code aux rôles de l’outil Relier les rôles dans le code aux rôles de l’outil d’administrationd’administration
Mécanisme extensibleMécanisme extensible
![Page 46: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/46.jpg)
Démonstration
Démonstration
WCF
![Page 47: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/47.jpg)
Patterns
![Page 48: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/48.jpg)
Patterns…
![Page 49: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/49.jpg)
Conclusion
WS-Security permet aux services Web de bénéficier WS-Security permet aux services Web de bénéficier des technologies de sécurité existantesdes technologies de sécurité existantes
AuthentificationAuthentificationJetons de sécuritéJetons de sécuritéSignature des messages : XML SignatureSignature des messages : XML SignatureChiffrement des messages : XML EncryptionChiffrement des messages : XML Encryption
Microsoft fournit aujourd’hui deux implémentations Microsoft fournit aujourd’hui deux implémentations de WS-Security : WSE 3.0 et Windows de WS-Security : WSE 3.0 et Windows Communication Foundation (Beta 2)Communication Foundation (Beta 2)
WSE 3.0 est interopérable avec WCFWSE 3.0 est interopérable avec WCFLes assertions de scénarios de sécurité « clé en main » WSE Les assertions de scénarios de sécurité « clé en main » WSE sont équivalentes aux éléments « binding » de sécurité de sont équivalentes aux éléments « binding » de sécurité de WCFWCFCes deux briques technologiques permettent de Ces deux briques technologiques permettent de programmer ou configurer :programmer ou configurer :
Authentification, autorisations, confidentialité, et traçabilitéAuthentification, autorisations, confidentialité, et traçabilitéEn proposant des scénarios de sécurisation par défautEn proposant des scénarios de sécurisation par défautEn capitalisant sur l’infrastructure Windows pour les scénarios En capitalisant sur l’infrastructure Windows pour les scénarios intranetintranet
![Page 50: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/50.jpg)
20072007“Longhorn” Server
20062006WinFX Beta 2 (Janvier 2006)Biztalk 2006 (mars 2006)Vista (fin 2006)WinFX (fin 2006)Office “12” septembre 200620052005
Visual Studio 2005 (depuis le 8 Novembre)SQL Server 2005 (depuis le 8 Novembre)Windows Server 2003 R2 (ADFS)Biztalk 2006 Beta 2Office “12” Beta 1
Roadmap Plateforme
![Page 51: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/51.jpg)
Resources
Portail des architectes MS France http://www.microsoft.com/france/msdn/architects/default.mspx
WSE http://msdn.microsoft.com/webservices/building/wse/default.aspx
WCF http://msdn.microsoft.com/webservices/indigo/default.aspx
![Page 52: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/52.jpg)
Les dates
Visual Studio Team System vu par le développeur Visual Studio Team System vu par le développeur
Architecture orientée service avec Windows Architecture orientée service avec Windows Communication Foundation Communication Foundation
Intégrer un workflow dans vos applications avec Intégrer un workflow dans vos applications avec Windows Workflow Foundation Windows Workflow Foundation
Office 12 vu par le développeur Office 12 vu par le développeur
Vers le Web 2 Vers le Web 2
Vers une nouvelle expérience utilisateurVers une nouvelle expérience utilisateur
![Page 53: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/53.jpg)
7 Mars : Nantes7 Mars : Nantes
9 Mars : Lille9 Mars : Lille
14 Mars : Strasbourg14 Mars : Strasbourg
23 Mars : Paris23 Mars : Paris
28 Mars : Marseille28 Mars : Marseille
30 Mars : Toulouse30 Mars : Toulouse
4 Avril : Lyon4 Avril : Lyon
![Page 54: Sécurisation des services Web avec WSE 3.0 et WCF Pierre COUZY Winwise Stéphane GOUDEAU Microsoft.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9da7497959293b8d8a47/html5/thumbnails/54.jpg)
Microsoft FranceMicrosoft France18, avenue du Québec18, avenue du Québec
91 957 Courtaboeuf Cedex91 957 Courtaboeuf Cedex
www.microsoft.com/france
0 825 827 8290 825 827 829
[email protected]@microsoft.com