FÉDÉRATION D’IDENTITÉ
Implémentation
et
miseenproduction d’unearchitecturecomplète
YannDesmarest
InnovationCenterManager
tel. +41 227270555
yann.desmarest@e-xpertsolutions.com
www.e-xpertsolutions.com
YoannLeCorvic
SeniorSecurityEngineer/ISO27001 LeadAuditor
tel. +41 227270555
yoann.lecorvic@e-xpertsolutions.com
www.e-xpertsolutions.com
AGENDA
1. Retoursurles conceptsdefédération
2. FédérationSAML2.0 avecBIG-IP
3. Améliorations
4. Architectures
5. e-Xpert
6. Démos
RETOUR SUR
LES CONCEPTS
FÉDÉRATION D’IDENTITÉ
► Fédérerles identités
o Unehistoire de «Confiance»
► Plusieurs technologies(Listenonexhaustive)
o WS-Federation et composants associés (WS-*)
o SAML 1.1, 2.0
o Oauth 2.0 + OpenID Connect
o OpenID 2.0
WS-FEDERATION
► Spécificationsécrites en 2007parun consortiumd’éditeursincluantentreautreIBM, Microsoft,
Novell
► Maintenantsousl’égide deOASIS
► Reposesurdes“assertions”,etun réseaudeconfianceentrepartenairesbusiness
SAML
► SouslaresponsabilitédeOASIS
o Mai 2005
o Basé sur l’échange demessages XML
► Service Provider
o Protège l’accès aux services
o Redirige les requêtes vers IDP si nonauthentifiées
► IdentityProvider
o Authentifie l’utilisateur
o Récupèreles informations relatives
► DiscoveryService
o Présentation de la liste les domaines disponibles à l’utilisateur
o Uniquementdans le cadre d’unefédération inter domaines
SAML V2 - PROFILES
► WebBrowserSSOProfile(décriten détailensuite)
o Le plus utilisé
o Authentification à des applications Web
o Single Sign On
► EnhancedClient andProxyProfile - ECP
o Des composants logiciels compatibles SAML présents sur les équipements
o Réalisé directement avec des messages SOAP entrele client et l’IdP etentre le client etle SP
o Utile dans le cas où le client ne supporte pas les redirections (e.g. unclient qui n’estpas unnavigateur)
► SingleLogout(décrit en détail ensuite)
o Déconnexion rapide en unefois detous les participants
SAML 2.0 PROFILE «WEB BROWER SSO» - POST - NORMAL
► Connexion àunressourceprotégéeparunService Provider
o 1. Tentative d’accès à la ressource
o 2.Si nonauthentifiée, envoi d’uneredirection vers IdP
o 3. Requête IdP
o 4.Demanded’authentification par IdP
o 5. Authentificationvers IdP
o 6.Si OK, IdP répond avec une«assertion» SAML etredirige l’utilisateur vers la
ressource demandée
o 7.L’utilisateur accèdeà la ressource
SAML 2.0 PROFILE «SINGLE LOGOUT»
► Situationinitiale: L’utilisateurestauthentifiéetaaccès auxressourcesprotégées
parleService ProviderA et B
o 1.Demandede logout global au SP A
o 2.Redirection vers IdP
o 3.Redirection vers IdP
o 4.Logout Request au SP B
o 5.Logout Response vers IdP
o 6.Logout Response via redirection
o 7.Logout Response via redirection
o 8.Logged out
SÉCURITÉ SAML
► XMLEnc
o Garantie deconfidentialité des messages entreSP, IDP et utilisateur
o Utilise le certificat dechiffrement du destinataire
o Indépendant de la sécuritédu canal
► XMLSig
o Garantie d’origine, d’intégritédes messages entre SP et IDP
o Avec la clé privéede signature de l’émetteur
o Indépendant de la sécuritédu canal
► HTTP(s) / SOAP
o Transport
o Web Services
FÉDÉRATION SAML 2.0
AVEC BIG-IP
12
GAMME F5 NETWORKS
FONCTIONS CLÉS
13
BIG-IP DANS UNE ARCHITECTURE FÉDÉRÉE
14
IMPLÉMENTER UN SERVICE PROVIDER AVEC BIG-IP (1/2)
► PHASE1 :Créationdu Service Provider
o Entity ID
o RelayState (Optionnel)
o Paramètres desécurité
• Signaturedes SAMLRequest etAssertion
• Chiffrement des Assertion
o Exporter les Metadata du SP
• Etles donner à l’IDP
15
<?xml version="1.0" encoding="UTF-8" ?>
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" ID="I3987ce695a1ad
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ds="http://www.w3.org/20
xpertsolutions.com">
<SPSSODescriptor AuthnRequestsSigned="true" WantAssertionsSi
protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<KeyDescriptor>
<ds:KeyInfo>
ozSFVSZ+XlI=</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</KeyDescriptor>
<NameIDFormat>urn:oasis:names:tc:SAML:
<AssertionConsumerService Binding="urn:o
Location="https://demo-saml2.e-xpertsolutions.com/saml/sp/profile/post/acs" index="
</AssertionConsumerService>
<SingleLogoutService Binding="urn:oasis:na
Location="https://demo-saml2.e-xpertsolutions.com/saml/sp/profile/post/sls" Respons
xpertsolutions.com/saml/sp/profile/post/slr" isDefault="true">
</SingleLogoutService>
</SPSSODescriptor>
</EntityDescriptor>
IMPLÉMENTER UN SERVICE PROVIDER AVEC BIG-IP (2/2)
► PHASE2 : DéfinitiondeconnecteursIDP
o Importdes metadata de l’IDP
o Ou création manuelle
o Création des Bindings
► IDPAutomation
o Création auto des connecteurs IDP
o Get Metadata via HTTP(s)
16
IDP AUTOMATION : EXEMPLE D’IMPLÉMENTATION
► Automatise
o ConnecteursIDP
o Bindings
► Crawler
o Authmutuelle(option)
o Basic / Client Certificate
o http/https
17
BIG-IP ASM+APM
ldap
Metadata crawler
http
Import metadata file
Updatemetadata file
Business
partner
connect
IDP INITIATED SINGLE SIGN ON
18
19
SAML REQUEST AVEC SIGNATURE
PHNhbWxwOkF1dGhuUmVxdWVzdCB4bWxuczpzYW1scD0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnByb3RvY29sIiBBc3NlcnRpb25Db25zdW1lclNlcnZpY2VVUkw9Imh0dHBzOi8vZGVtbzEtc3AuZS14cGVydHNvbHV0aW9ucy5jb20vc2
FtbC9zcC9wcm9maWxlL3Bvc3QvYWNzIiBEZXN0aW5hdGlvbj0iaHR0cHM6Ly9kZW1vMS1pZHAuZS14cGVydHNvbHV0aW9ucy5jb20vc2FtbC9pZHAvcHJvZmlsZS9yZWRpcmVjdG9ycG9zdC9zc28iIElEPSJfYWVhNDVkZTk0M2NmNmE5MDY5Yzdk
ODMwMTdjOTU3NWZjZjA5ODMiIElzc3VlSW5zdGFudD0iMjAxNC0xMS0yNlQxMjo0NTozMi4wMDJaIiBQcm90b2NvbEJpbmRpbmc9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpiaW5kaW5nczpIVFRQLVBPU1QiIFZlcnNpb249IjIuMCI+PHN
hbWw6SXNzdWVyIHhtbG5zOnNhbWw9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDphc3NlcnRpb24iPmh0dHBzOi8vZGVtbzEtc3AuZS14cGVydHNvbHV0aW9ucy5jb208L3NhbWw6SXNzdWVyPjxkczpTaWduYXR1cmUgeG1sbnM6ZHM9Im
h0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiPjxkczpTaWduZWRJbmZvIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48ZHM6Q2Fub25pY2FsaXphdGlvbk1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly
93d3cudzMub3JnLzIwMDEvMTAveG1sLWV4Yy1jMTRuIyIvPjxkczpTaWduYXR1cmVNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjcnNhLXNoYTEiLz48ZHM6UmVmZXJlbmNlIFVSST0iI19hZWE0NWRlO
TQzY2Y2YTkwNjljN2Q4MzAxN2M5NTc1ZmNmMDk4MyI+PGRzOlRyYW5zZm9ybXM+PGRzOlRyYW5zZm9ybSBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNlbnZlbG9wZWQtc2lnbmF0dXJlIi8+PGRzOlRyYW5z
Zm9ybSBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMTAveG1sLWV4Yy1jMTRuIyI+PGVjOkluY2x1c2l2ZU5hbWVzcGFjZXMgeG1sbnM6ZWM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMTAveG1sLWV4Yy1jMTRuIyIgUHJlZml4TGlz
dD0ieHMiLz48L2RzOlRyYW5zZm9ybT48L2RzOlRyYW5zZm9ybXM+PGRzOkRpZ2VzdE1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNzaGExIi8+PGRzOkRpZ2VzdFZhbHVlPjVOdUk2QmhuV1djRmliYT
FuUDlYRTQrZmIvbz08L2RzOkRpZ2VzdFZhbHVlPjwvZHM6UmVmZXJlbmNlPjwvZHM6U2lnbmVkSW5mbz48ZHM6U2lnbmF0dXJlVmFsdWU+SEg5MG01WUpyREh0QmNwY3dyVjNFQm5VMkNGSnlMRWs4R1FPTnZEc0lVMDh2Wk5ha1ZvczJKQ
WtlNmtkb2YvM0hDelVaclV1c1BPdHk5MlY4L0RaRlh1KzVUTmhlWk5OZUdpcjM5MHBFMVlEMzlhYzFtWko5dy9TZXpwSCtSaDQ2YUJhQlRQZjBuZTRINTk4NFBuU3R3emxld3pGSERUSkxrMjRBMGZFRnlSUjdPcFh2RjZCcFU1RTdJMElmMHAwTGJz
VEJFWlNJQlR1ZytjZDZlVnJJbG1OYmtJeGFZYkJQRmtRYS9zdHFNRWRYY3BQV0p1ZmJhalRhRTlYMzRWNkJhbGUwY2dvajBRNUs5bzEwcVgxL0MxcXRCUGhnZlY0RzhxVXc0T25Nc2g4TUxBNnhoSDdxYnNGWTBIZTFIZ1diaVlyZzB6MnA3TkozblNZT
GducFhBPT08L2RzOlNpZ25hdHVyZVZhbHVlPjxkczpLZXlJbmZvPjxkczpYNTA5RGF0YT48ZHM6WDUwOUNlcnRpZmljYXRlPk1JSURyRENDQXBTZ0F3SUJBZ0lDQlc0d0RRWUpLb1pJaHZjTkFRRUZCUUF3Z1pneEN6QUpCZ05WQkFZVEFsVlQKTVF
zd0NRWURWUVFJRXdKWFFURVFNQTRHQTFVRUJ4TUhVMlZoZEhSc1pURVNNQkFHQTFVRUNoTUpUWGxEYjIxdwpZVzU1TVFzd0NRWURWUVFMRXdKSlZERWVNQndHQTFVRUF4TVZiRzlqWVd4b2IzTjBMbXh2WTJGc1pHOXRZV2x1Ck1Ta3d
Kd1lKS29aSWh2Y05BUWtCRmhweWIyOTBRR3h2WTJGc2FHOXpkQzVzYjJOaGJHUnZiV0ZwYmpBZUZ3MHgKTXpFd01qSXhOREkwTURSYUZ3MHlNekV3TWpBeE5ESTBNRFJhTUlHWU1Rc3dDUVlEVlFRR0V3SlZVekVMTUFrRwpBMVVFQ0JNQ1Y
wRXhFREFPQmdOVkJBY1RCMU5sWVhSMGJHVXhFakFRQmdOVkJBb1RDVTE1UTI5dGNHRnVlVEVMCk1Ba0dBMVVFQ3hNQ1NWUXhIakFjQmdOVkJBTVRGV3h2WTJGc2FHOXpkQzVzYjJOaGJHUnZiV0ZwYmpFcE1DY0cKQ1NxR1NJYjNEUUVKQ
VJZYWNtOXZkRUJzYjJOaGJHaHZjM1F1Ykc5allXeGtiMjFoYVc0d2dnRWlNQTBHQ1NxRwpTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDNHVXL1RRWmIrTFk5d2Iwekx6Z0RQakxkNC81UlN2Wk1BCk5UYzFINi93SDUrWW1hcVJYcEdhTHJU
K2tOR01KSi94dkk0UThiSmtULzFOdmx4NEcrS2J4cVd5eEpLT3N2bzAKc21SNEs0ZU5NQy9vcG1TdXowWVdYSFpud2VUZE1kWXNvSEJLN1A3VFdPY1RSd2VnTDNmNWR3OG5CTk5rQVdhOQpSbnVFa3FJUnZDeERDRU5tZGQzdi9RL0duQmR4N3p
3ZFcxRWQ4bHVTZGVLM3NJR3RpWitOWmtTWVN0UDR4QnlqCjl3S3NEU1FrMUFRak9CL01Tc3c2djRKSTBkTTQ1Q2tSYk95QnpLODQyS1crWXBLa1ArZzJpYzFCYWdOMVFqT20KQkUxUHIrbVlYY20zT2c0RFVLUmtqVXpZam5wQzVKY1dXWDRmR
FhlYTVYeENYemk5Y2NyVEFnTUJBQUV3RFFZSgpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFFa0FSTCt3VjRSRTRvWkVzNDdhUTFoZEVxWmxMckUycnh4eVN5c2hHSW1QCmpGbmloYThYb1lDSXZsWGNWTys0enFuQ0dTOS9USFQ1Q29tK3U3UGtIejNFV
3FuNUwzZk9JRFVhV0dnNXI1Yk4KckRoWGV2MjRyWHlMNjlKY2xTQjNnc0VwMVpHbHVkOFZ0RlNFOWFySFhnaHVIOWYreHlwQndjZlpYenRFa3RGcwovak5HWG55Zmh2d3NKRzdtdXhxR200dzY0azBDNVZmWmJONnNvVitCeExWR1BMSnkzYit
TVnZLcFBqd3I5UDNJCldMWkNTNFdQemxidFdqYW1ZUXFtY2ZNSmNGMGc3NEV1R0svMmk1RGVHTGlVUHY3bUlXV2lqejZLUnpiUFBpWmYKaHFQbXdQUlg3NG5qaE1BRGFXaUdLZ3lETzF3WVRUTWdvelNGVlNaK1hsST0KPC9kczpYNTA5Q2Vy
dGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L2RzOktleUluZm8+PC9kczpTaWduYXR1cmU+PHNhbWxwOk5hbWVJRFBvbGljeSBBbGxvd0NyZWF0ZT0idHJ1ZSIvPjwvc2FtbHA6QXV0aG5SZXF1ZXN0Pg==
20
SAML REQUEST AVEC SIGNATURE
<samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
AssertionConsumerServiceURL="https://demo1-sp.e-xpertsolutions.com/saml/sp/profile/post/acs"
Destination="https://demo1-idp.e-xpertsolutions.com/saml/idp/profile/redirectorpost/sso"
ID="_aea45de943cf6a9069c7d83017c9575fcf0983"
IssueInstant="2014-11-26T12:45:32.002Z"
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Version="2.0">
<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">https://demo1-sp.e-xpertsolutions.com</saml:Issuer>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<ds:Reference URI="#_aea45de943cf6a9069c7d83017c9575fcf0983">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"
PrefixList="xs" />
</ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<ds:DigestValue>5NuI6BhnWWcFiba1nP9XE4+fb/o=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>HH90m5YJrDHtBcpcwrV3EBnU2CFJyLEk8GQONvDsIU08vZNakVos2JAke6kdof/3HCzUZrUusPOty92V8/DZFXu+5TNheZNNeGir390pE1YD39ac1mZJ9
w/SezpH+Rh46aBaBTPf0ne4H5984PnStwzlewzFHDTJLk24A0fEFyRR7OpXvF6BpU5E7I0If0p0LbsTBEZSIBTug+cd6eVrIlmNbkIxaYbBPFkQa/stqMEdXcpPWJufbajTaE9X34V
6Bale0cgoj0Q5K9o10qX1/C1qtBPhgfV4G8qUw4OnMsh8MLA6xhH7qbsFY0He1HgWbiYrg0z2p7NJ3nSYLgnpXA==</ds:SignatureValue>
Signaturede la requête
21
SAML ASSERTION
<saml2:Subject>
<saml2:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">ydesmarest</saml2:NameID>
<saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml2:SubjectConfirmationData NotOnOrAfter="2014-11-26T13:29:59Z"
InResponseTo="_95f05d3113b5392654f025acde63c50a78c978"
Recipient="https://demo1-sp.e-xpertsolutions.com/saml/sp/profile/post/acs"/>
</saml2:SubjectConfirmation>
</saml2:Subject>
<saml2:Conditions NotBefore="2014-11-26T13:16:59Z"
NotOnOrAfter="2014-11-26T13:29:59Z">
<saml2:AudienceRestriction>
<saml2:Audience>https://demo1-sp.e-xpertsolutions.com</saml2:Audience>
</saml2:AudienceRestriction>
</saml2:Conditions>
<saml2:AuthnStatement AuthnInstant="2014-11-26T13:19:59Z"
SessionIndex="_a814856aefecbdb32f76eb38c06cc6345e4e72">
<saml2:AuthnContext>
<saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef>
</saml2:AuthnContext>
</saml2:AuthnStatement>
<saml2:AttributeStatement>
<saml2:Attribute Name=“password"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml2:AttributeValue>mon_super_password</saml2:AttributeValue>
</saml2:Attribute>
</saml2:AttributeStatement>
</saml2:Assertion>
</saml2p:Response>
22
SAML ASSERTION AVEC CHIFFREMENT DES ATTRIBUTS (AES256)
<saml2:AttributeStatement>
<saml2:EncryptedAttribute>
--- TRUNCATED ---
<xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
<xenc:CipherValue>BjH1ntSlZvljxp0zrLSd1aQBDghUzSBEWmBOIEJbP8+1tGlpJ6Oaizs4zEupznDVGFakYdZHRUPwUk/ZCIjaxLjtfWUbE+H0dn+KS+UCythx8LH0EvFt1TvU8y
aCa8mH+TZ2z2gAkoeTt1WXh2AZwnf843gDY9+4So0EDV1wQ35vTXDuF3jc7QuqGtoeZXZmC2W2wro/Q7j94Vjp+5y8dEuFkN8oVPla83zijbL0KNoZ1rhhX3bFDEUDs5/VTR
MJP0GwhDoP4q4MdB6dKvaptUTfuYYhaN202M/xUd/q1JmQ1BvYqXDryW7fZdHPP0tO4mGhakA7HQnoTDdMjicgfA==</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedKey>
</ds:KeyInfo>
<xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
<xenc:CipherValue>JGVZdsCDEtotJXShcegyJ0XxM3wMFVGPcDeJXFL0hHXv/FwozC0bFBT8vVxRsbM4XvnM4pWBwBgELIFHvoQwzN+HOkRm4W470q5JG9G29MfY0cJolY
C9J29KMJ+uCcbFszWBg6//TTiNeCBjsYvJ0CRp7QAR2WDfCwQiDwqOTZa1iQoaGTZ/cNVOXmRxUpdJifsVipIvoYFmFYEGfLIIXEdU7zpcFXUV4A6DcYXewYCPifISaYhQJBFFeT
x0OW1D</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
</saml2:EncryptedAttribute>
<saml2:Attribute Name=“group"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml2:AttributeValue>administrators</saml2:AttributeValue>
</saml2:Attribute>
</saml2:AttributeStatement>
Attribut non chiffré
Attribut chiffré
Cléde chiffrement
23
SAML ASSERTION AVEC CHIFFREMENT DU SUBJECT (AES256)
<saml2:Subject>
--- TRUNCATED ---
<xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
<xenc:CipherValue>SgtNORNgWu8FBBs4GVa06wx2TgyRmJz04FUOm9lRPKMmIUDzNGmI1b5nBgegT7a3iA/YvQzKvLwCgQzzA9wC0hgDAuYHwhjMc9P0h1UM9DjuZ7QK
69I3ao2emnvJWpXYVYNw99Yxw1lW9iQJ1Py6cUKmDn7CLDps5gH7WIRbU2TCioMDXkSd0EKqjC4eRq6wHEdDVZUceqrRXmB3LrpvGSzkGVDgYHGcDa0g1eVx7UGVx0hG
wJCswkQEs2Gp5ChN4/cu+XkNuAl/voTMglujp5XDnNt6GTRqEB4LuemCF38oHQ5+FiejLAW3qxaCh3YDrPCl58YBI3FHF3NmQHd/uw==</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedKey>
</ds:KeyInfo>
<xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
<xenc:CipherValue>/ls/nr5v0/kCqygDWWAclUMBRHFG6TgRN6N/OQZO8Hv4fzR/D1Tml2S3sxgbNOCGymhsJXywH7S7skp96dIypLVZdWc+HNCAnjcATmpOo1kATD3s8lq
mSj8R/sbxZDSiWnew4OTFgbVsLXJ/bo94e1DFhH2en3G9GCpz5/YYuM6O1TmAG4ZeaLKBr8mU58rI95+fzatBflW5K9+c0QW7YQ==</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
</saml2:EncryptedID>
<saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml2:SubjectConfirmationData NotOnOrAfter="2014-11-26T13:21:51Z"
InResponseTo="_86efc5d55d4f210a6f132c1aae2cdbb7c58e6a"
Recipient="https://demo1-sp.e-xpertsolutions.com/saml/sp/profile/post/acs"/>
</saml2:SubjectConfirmation>
</saml2:Subject>
Subject chiffré
Cléde chiffrement AES256
24
SAML ASSERTION CHIFFRÉE (AES256)
…
<xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
<xenc:CipherValue>Zfj0E/F/nggOc053F1SmeQ5ofjPTBIBOTpotgDldeUwQKvVJfvngmizMj0wul1uYUpAWFk6cQ6lP1XmmjYtAp64yvw4Fkz96Ty+iaa1PVh3d//er9
HUsmhH/zP8weiBAWBYvxocHCW36crOV4k/hSWHTJQfiH9iXwReXbOOlO8MTkTZ5h64X5s9Xz/3pKqgBgUjmjvuOBxlqq87Fy76pAsa4Y8AsPSzsISjbaK4QUhu0AM
dmR/XowT71mMWvjL62biHW9mXNK7VYkoLDOvZBh3DmjoHZj/HwhwlO4neWVVjjKGpM33VHOo149Q/qdVdnVAzB4MDdPe0wq3rjIMeDHw==</xenc:CipherV
alue>
</xenc:CipherData>
</xenc:EncryptedKey>
</ds:KeyInfo>
<xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
<xenc:CipherValue>W4QPSfNNuTlPu2h0i4FC5txCPmQAzoGeL943F9GZunHOHZ+bJMXYtJYo4jpkDR5DeU/tFPArsin4BYixPdcxswRetfQpxhueNaLY0PHYQFV9DON
vhsWhBMF+l0pxhVNp30UgSdDPN7A7Cfp8C3Dg2loHhJuaTvyCRd3fPkEkiXQ8fIy/MtGbvPv1did
--- TRUNCATED ---
UuL9LRhGhpejLWaGJ1DYaOiKhlbDkdqfHx4iIJCiDXIf9Y2tY45fE6cTCcUIaFfwS0D2cjv98JwqcO3ZyottxgMpZJ3cx94eM9NBtK4qIKfLu44HDk7fnXlB665LWoSSEL4/+y
JCXXSrpOHIyrFHnvRiyBuqmTSMXI4+bH4iKpgsQLe3hmYlMW3BYRrnrU4/ueBHwhz7XVOrBzqFMx2PRh0C2mjas+4krevDjD8RCSag7Ui4N6Vzoo452bVoImIWKjz6a
mr0I7pyG9KN/z8pSTRKc3VkSTPhnK/Tn3vjX7KSxrdQCx9UUyQJVMw==</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
</saml2:EncryptedAssertion>
</saml2p:Response>
Clésymétrique AES256
Données chiffrées
AMÉLIORATIONS
IDP CHAINING
► Creationd’IDPbroker
► Creationdeworkflowd’authentification
► Un pointunique pouretablirles trusts
SP IDP
SP IDP
SP
user@dummy.ch
app.demo.com idp.demo.com
idp.dummy.ch
IDP
SP
idp.acme.it
user@acme.it
STEP-UP AUTHENTICATION (1/2)
27
app1
app2
app1.demo.com
1. Connect
idp.demo.com
2. SAML Request / 3. SAML Assertion
4. resourceaccess
STEP-UP AUTHENTICATION (2/2)
28
app1
app2
app2.demo.com
1. Connect
idp-strong.demo.com
2. SAML Request / 6. SAML Assertion
7. resourceaccess
idp.demo.com
3. SAML Request / 4. SAML Assertion
5.
8. resourceaccess
29
SOCIAL LOGIN (FACEBOOK, GOOGLE, ...)
PROCESSUS D’AUTHENTIFICATION AMELIORE
► Transformationdeprotocoles(SAML 2.0 ->Oauth2.0)
► IDPDiscovery automatique(basesur lecontexte–ex:addripsource)
► Transformationdulogin (addremail ->user PrincipalName/ CommonName
► Prisededecision baseesurle client, unerequeteldap,etc.
30
ARCHITECTURES
INTÉGRATION IDP SUISSEID
► F5 APM as Service Provider
► IDP SuisseID de la Poste
► SSO Kerberos (Constraint
Delegation/Protocol Transition)
Customer site
BIG-IP LTM
BIG-IP ASM+APM
Kerberos
Service Provider
IDP SuisseID
INTÉGRATION IDP SUISSEID
INTÉGRATION IDP SUISSEID
INTÉGRATION ELCARD : IDP SAML 2.0 (1/2)
35
Customer site
BIG-IP ASM+APM
Kerberos
SP
Serveur Elcard
IDP
SP
36
INTÉGRATION ELCARD : SAML PROXY (2/2)
Service
Provider X
Identity
Provider
Service
Provider X
SAMLRequest SAML Assertion RessourceSingle Sign On
Authentification
Elcard
Autorisation
Service
Provider X
SAML Proxy
Identity
Provider Y
SAMLRequest SAMLRequest SAML ProxySAML Assertion
Authentification
Service
Provider X
Authentification
Elcard
SAML Assertion
E-XPERT
VALEUR AJOUTÉE E-XPERT
► Compétences techniques pointues sur les solutions F5
► Fortes Connaissances dans le domaine de la Fédération
d’identité
► Capable d’avoir la vision d’ensemble et de comprendre les
besoins
► Nombreuses compétences et connaissances connexes
► Forte aptitude au Troubleshooting
38
LA COLLABORATION ELCA / E-XPERT
► Excellent niveau d’expertise et de connaissances de chaque coté
► Bonne Complémentarité des profils d’ingénieurs
► Capacité de fournir une offre complète allant :
DU DESIGN A L’IMPLEMENTATION
39
MERCIDE VOTRE ATTENTION
Yann Desmarest
Innovation Center Manager
tel. +41 22 727 05 55
yann.desmarest@e-xpertsolutions.com
www.e-xpertsolutions.com
Yoann Le Corvic
Senior Security Engineer / ISO 27001 Lead Auditor
tel. +41 22 727 05 55
yoann.lecorvic@e-xpertsolutions.com
www.e-xpertsolutions.com

Fédération d'identité, séminaire du 27 novembre 2014

  • 1.
    FÉDÉRATION D’IDENTITÉ Implémentation et miseenproduction d’unearchitecturecomplète YannDesmarest InnovationCenterManager tel.+41 227270555 yann.desmarest@e-xpertsolutions.com www.e-xpertsolutions.com YoannLeCorvic SeniorSecurityEngineer/ISO27001 LeadAuditor tel. +41 227270555 yoann.lecorvic@e-xpertsolutions.com www.e-xpertsolutions.com
  • 2.
    AGENDA 1. Retoursurles conceptsdefédération 2.FédérationSAML2.0 avecBIG-IP 3. Améliorations 4. Architectures 5. e-Xpert 6. Démos
  • 3.
  • 4.
    FÉDÉRATION D’IDENTITÉ ► Fédérerlesidentités o Unehistoire de «Confiance» ► Plusieurs technologies(Listenonexhaustive) o WS-Federation et composants associés (WS-*) o SAML 1.1, 2.0 o Oauth 2.0 + OpenID Connect o OpenID 2.0
  • 5.
    WS-FEDERATION ► Spécificationsécrites en2007parun consortiumd’éditeursincluantentreautreIBM, Microsoft, Novell ► Maintenantsousl’égide deOASIS ► Reposesurdes“assertions”,etun réseaudeconfianceentrepartenairesbusiness
  • 6.
    SAML ► SouslaresponsabilitédeOASIS o Mai2005 o Basé sur l’échange demessages XML ► Service Provider o Protège l’accès aux services o Redirige les requêtes vers IDP si nonauthentifiées ► IdentityProvider o Authentifie l’utilisateur o Récupèreles informations relatives ► DiscoveryService o Présentation de la liste les domaines disponibles à l’utilisateur o Uniquementdans le cadre d’unefédération inter domaines
  • 7.
    SAML V2 -PROFILES ► WebBrowserSSOProfile(décriten détailensuite) o Le plus utilisé o Authentification à des applications Web o Single Sign On ► EnhancedClient andProxyProfile - ECP o Des composants logiciels compatibles SAML présents sur les équipements o Réalisé directement avec des messages SOAP entrele client et l’IdP etentre le client etle SP o Utile dans le cas où le client ne supporte pas les redirections (e.g. unclient qui n’estpas unnavigateur) ► SingleLogout(décrit en détail ensuite) o Déconnexion rapide en unefois detous les participants
  • 8.
    SAML 2.0 PROFILE«WEB BROWER SSO» - POST - NORMAL ► Connexion àunressourceprotégéeparunService Provider o 1. Tentative d’accès à la ressource o 2.Si nonauthentifiée, envoi d’uneredirection vers IdP o 3. Requête IdP o 4.Demanded’authentification par IdP o 5. Authentificationvers IdP o 6.Si OK, IdP répond avec une«assertion» SAML etredirige l’utilisateur vers la ressource demandée o 7.L’utilisateur accèdeà la ressource
  • 9.
    SAML 2.0 PROFILE«SINGLE LOGOUT» ► Situationinitiale: L’utilisateurestauthentifiéetaaccès auxressourcesprotégées parleService ProviderA et B o 1.Demandede logout global au SP A o 2.Redirection vers IdP o 3.Redirection vers IdP o 4.Logout Request au SP B o 5.Logout Response vers IdP o 6.Logout Response via redirection o 7.Logout Response via redirection o 8.Logged out
  • 10.
    SÉCURITÉ SAML ► XMLEnc oGarantie deconfidentialité des messages entreSP, IDP et utilisateur o Utilise le certificat dechiffrement du destinataire o Indépendant de la sécuritédu canal ► XMLSig o Garantie d’origine, d’intégritédes messages entre SP et IDP o Avec la clé privéede signature de l’émetteur o Indépendant de la sécuritédu canal ► HTTP(s) / SOAP o Transport o Web Services
  • 11.
  • 12.
  • 13.
  • 14.
    BIG-IP DANS UNEARCHITECTURE FÉDÉRÉE 14
  • 15.
    IMPLÉMENTER UN SERVICEPROVIDER AVEC BIG-IP (1/2) ► PHASE1 :Créationdu Service Provider o Entity ID o RelayState (Optionnel) o Paramètres desécurité • Signaturedes SAMLRequest etAssertion • Chiffrement des Assertion o Exporter les Metadata du SP • Etles donner à l’IDP 15 <?xml version="1.0" encoding="UTF-8" ?> <EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" ID="I3987ce695a1ad xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ds="http://www.w3.org/20 xpertsolutions.com"> <SPSSODescriptor AuthnRequestsSigned="true" WantAssertionsSi protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"> <KeyDescriptor> <ds:KeyInfo> ozSFVSZ+XlI=</ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </KeyDescriptor> <NameIDFormat>urn:oasis:names:tc:SAML: <AssertionConsumerService Binding="urn:o Location="https://demo-saml2.e-xpertsolutions.com/saml/sp/profile/post/acs" index=" </AssertionConsumerService> <SingleLogoutService Binding="urn:oasis:na Location="https://demo-saml2.e-xpertsolutions.com/saml/sp/profile/post/sls" Respons xpertsolutions.com/saml/sp/profile/post/slr" isDefault="true"> </SingleLogoutService> </SPSSODescriptor> </EntityDescriptor>
  • 16.
    IMPLÉMENTER UN SERVICEPROVIDER AVEC BIG-IP (2/2) ► PHASE2 : DéfinitiondeconnecteursIDP o Importdes metadata de l’IDP o Ou création manuelle o Création des Bindings ► IDPAutomation o Création auto des connecteurs IDP o Get Metadata via HTTP(s) 16
  • 17.
    IDP AUTOMATION :EXEMPLE D’IMPLÉMENTATION ► Automatise o ConnecteursIDP o Bindings ► Crawler o Authmutuelle(option) o Basic / Client Certificate o http/https 17 BIG-IP ASM+APM ldap Metadata crawler http Import metadata file Updatemetadata file Business partner connect
  • 18.
  • 19.
    19 SAML REQUEST AVECSIGNATURE PHNhbWxwOkF1dGhuUmVxdWVzdCB4bWxuczpzYW1scD0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnByb3RvY29sIiBBc3NlcnRpb25Db25zdW1lclNlcnZpY2VVUkw9Imh0dHBzOi8vZGVtbzEtc3AuZS14cGVydHNvbHV0aW9ucy5jb20vc2 FtbC9zcC9wcm9maWxlL3Bvc3QvYWNzIiBEZXN0aW5hdGlvbj0iaHR0cHM6Ly9kZW1vMS1pZHAuZS14cGVydHNvbHV0aW9ucy5jb20vc2FtbC9pZHAvcHJvZmlsZS9yZWRpcmVjdG9ycG9zdC9zc28iIElEPSJfYWVhNDVkZTk0M2NmNmE5MDY5Yzdk ODMwMTdjOTU3NWZjZjA5ODMiIElzc3VlSW5zdGFudD0iMjAxNC0xMS0yNlQxMjo0NTozMi4wMDJaIiBQcm90b2NvbEJpbmRpbmc9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpiaW5kaW5nczpIVFRQLVBPU1QiIFZlcnNpb249IjIuMCI+PHN hbWw6SXNzdWVyIHhtbG5zOnNhbWw9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDphc3NlcnRpb24iPmh0dHBzOi8vZGVtbzEtc3AuZS14cGVydHNvbHV0aW9ucy5jb208L3NhbWw6SXNzdWVyPjxkczpTaWduYXR1cmUgeG1sbnM6ZHM9Im h0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiPjxkczpTaWduZWRJbmZvIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48ZHM6Q2Fub25pY2FsaXphdGlvbk1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly 93d3cudzMub3JnLzIwMDEvMTAveG1sLWV4Yy1jMTRuIyIvPjxkczpTaWduYXR1cmVNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjcnNhLXNoYTEiLz48ZHM6UmVmZXJlbmNlIFVSST0iI19hZWE0NWRlO TQzY2Y2YTkwNjljN2Q4MzAxN2M5NTc1ZmNmMDk4MyI+PGRzOlRyYW5zZm9ybXM+PGRzOlRyYW5zZm9ybSBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNlbnZlbG9wZWQtc2lnbmF0dXJlIi8+PGRzOlRyYW5z Zm9ybSBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMTAveG1sLWV4Yy1jMTRuIyI+PGVjOkluY2x1c2l2ZU5hbWVzcGFjZXMgeG1sbnM6ZWM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMTAveG1sLWV4Yy1jMTRuIyIgUHJlZml4TGlz dD0ieHMiLz48L2RzOlRyYW5zZm9ybT48L2RzOlRyYW5zZm9ybXM+PGRzOkRpZ2VzdE1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNzaGExIi8+PGRzOkRpZ2VzdFZhbHVlPjVOdUk2QmhuV1djRmliYT FuUDlYRTQrZmIvbz08L2RzOkRpZ2VzdFZhbHVlPjwvZHM6UmVmZXJlbmNlPjwvZHM6U2lnbmVkSW5mbz48ZHM6U2lnbmF0dXJlVmFsdWU+SEg5MG01WUpyREh0QmNwY3dyVjNFQm5VMkNGSnlMRWs4R1FPTnZEc0lVMDh2Wk5ha1ZvczJKQ WtlNmtkb2YvM0hDelVaclV1c1BPdHk5MlY4L0RaRlh1KzVUTmhlWk5OZUdpcjM5MHBFMVlEMzlhYzFtWko5dy9TZXpwSCtSaDQ2YUJhQlRQZjBuZTRINTk4NFBuU3R3emxld3pGSERUSkxrMjRBMGZFRnlSUjdPcFh2RjZCcFU1RTdJMElmMHAwTGJz VEJFWlNJQlR1ZytjZDZlVnJJbG1OYmtJeGFZYkJQRmtRYS9zdHFNRWRYY3BQV0p1ZmJhalRhRTlYMzRWNkJhbGUwY2dvajBRNUs5bzEwcVgxL0MxcXRCUGhnZlY0RzhxVXc0T25Nc2g4TUxBNnhoSDdxYnNGWTBIZTFIZ1diaVlyZzB6MnA3TkozblNZT GducFhBPT08L2RzOlNpZ25hdHVyZVZhbHVlPjxkczpLZXlJbmZvPjxkczpYNTA5RGF0YT48ZHM6WDUwOUNlcnRpZmljYXRlPk1JSURyRENDQXBTZ0F3SUJBZ0lDQlc0d0RRWUpLb1pJaHZjTkFRRUZCUUF3Z1pneEN6QUpCZ05WQkFZVEFsVlQKTVF zd0NRWURWUVFJRXdKWFFURVFNQTRHQTFVRUJ4TUhVMlZoZEhSc1pURVNNQkFHQTFVRUNoTUpUWGxEYjIxdwpZVzU1TVFzd0NRWURWUVFMRXdKSlZERWVNQndHQTFVRUF4TVZiRzlqWVd4b2IzTjBMbXh2WTJGc1pHOXRZV2x1Ck1Ta3d Kd1lKS29aSWh2Y05BUWtCRmhweWIyOTBRR3h2WTJGc2FHOXpkQzVzYjJOaGJHUnZiV0ZwYmpBZUZ3MHgKTXpFd01qSXhOREkwTURSYUZ3MHlNekV3TWpBeE5ESTBNRFJhTUlHWU1Rc3dDUVlEVlFRR0V3SlZVekVMTUFrRwpBMVVFQ0JNQ1Y wRXhFREFPQmdOVkJBY1RCMU5sWVhSMGJHVXhFakFRQmdOVkJBb1RDVTE1UTI5dGNHRnVlVEVMCk1Ba0dBMVVFQ3hNQ1NWUXhIakFjQmdOVkJBTVRGV3h2WTJGc2FHOXpkQzVzYjJOaGJHUnZiV0ZwYmpFcE1DY0cKQ1NxR1NJYjNEUUVKQ VJZYWNtOXZkRUJzYjJOaGJHaHZjM1F1Ykc5allXeGtiMjFoYVc0d2dnRWlNQTBHQ1NxRwpTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDNHVXL1RRWmIrTFk5d2Iwekx6Z0RQakxkNC81UlN2Wk1BCk5UYzFINi93SDUrWW1hcVJYcEdhTHJU K2tOR01KSi94dkk0UThiSmtULzFOdmx4NEcrS2J4cVd5eEpLT3N2bzAKc21SNEs0ZU5NQy9vcG1TdXowWVdYSFpud2VUZE1kWXNvSEJLN1A3VFdPY1RSd2VnTDNmNWR3OG5CTk5rQVdhOQpSbnVFa3FJUnZDeERDRU5tZGQzdi9RL0duQmR4N3p 3ZFcxRWQ4bHVTZGVLM3NJR3RpWitOWmtTWVN0UDR4QnlqCjl3S3NEU1FrMUFRak9CL01Tc3c2djRKSTBkTTQ1Q2tSYk95QnpLODQyS1crWXBLa1ArZzJpYzFCYWdOMVFqT20KQkUxUHIrbVlYY20zT2c0RFVLUmtqVXpZam5wQzVKY1dXWDRmR FhlYTVYeENYemk5Y2NyVEFnTUJBQUV3RFFZSgpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFFa0FSTCt3VjRSRTRvWkVzNDdhUTFoZEVxWmxMckUycnh4eVN5c2hHSW1QCmpGbmloYThYb1lDSXZsWGNWTys0enFuQ0dTOS9USFQ1Q29tK3U3UGtIejNFV 3FuNUwzZk9JRFVhV0dnNXI1Yk4KckRoWGV2MjRyWHlMNjlKY2xTQjNnc0VwMVpHbHVkOFZ0RlNFOWFySFhnaHVIOWYreHlwQndjZlpYenRFa3RGcwovak5HWG55Zmh2d3NKRzdtdXhxR200dzY0azBDNVZmWmJONnNvVitCeExWR1BMSnkzYit TVnZLcFBqd3I5UDNJCldMWkNTNFdQemxidFdqYW1ZUXFtY2ZNSmNGMGc3NEV1R0svMmk1RGVHTGlVUHY3bUlXV2lqejZLUnpiUFBpWmYKaHFQbXdQUlg3NG5qaE1BRGFXaUdLZ3lETzF3WVRUTWdvelNGVlNaK1hsST0KPC9kczpYNTA5Q2Vy dGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L2RzOktleUluZm8+PC9kczpTaWduYXR1cmU+PHNhbWxwOk5hbWVJRFBvbGljeSBBbGxvd0NyZWF0ZT0idHJ1ZSIvPjwvc2FtbHA6QXV0aG5SZXF1ZXN0Pg==
  • 20.
    20 SAML REQUEST AVECSIGNATURE <samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" AssertionConsumerServiceURL="https://demo1-sp.e-xpertsolutions.com/saml/sp/profile/post/acs" Destination="https://demo1-idp.e-xpertsolutions.com/saml/idp/profile/redirectorpost/sso" ID="_aea45de943cf6a9069c7d83017c9575fcf0983" IssueInstant="2014-11-26T12:45:32.002Z" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Version="2.0"> <saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">https://demo1-sp.e-xpertsolutions.com</saml:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /> <ds:Reference URI="#_aea45de943cf6a9069c7d83017c9575fcf0983"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> <ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="xs" /> </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <ds:DigestValue>5NuI6BhnWWcFiba1nP9XE4+fb/o=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue>HH90m5YJrDHtBcpcwrV3EBnU2CFJyLEk8GQONvDsIU08vZNakVos2JAke6kdof/3HCzUZrUusPOty92V8/DZFXu+5TNheZNNeGir390pE1YD39ac1mZJ9 w/SezpH+Rh46aBaBTPf0ne4H5984PnStwzlewzFHDTJLk24A0fEFyRR7OpXvF6BpU5E7I0If0p0LbsTBEZSIBTug+cd6eVrIlmNbkIxaYbBPFkQa/stqMEdXcpPWJufbajTaE9X34V 6Bale0cgoj0Q5K9o10qX1/C1qtBPhgfV4G8qUw4OnMsh8MLA6xhH7qbsFY0He1HgWbiYrg0z2p7NJ3nSYLgnpXA==</ds:SignatureValue> Signaturede la requête
  • 21.
    21 SAML ASSERTION <saml2:Subject> <saml2:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">ydesmarest</saml2:NameID> <saml2:SubjectConfirmationMethod="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <saml2:SubjectConfirmationData NotOnOrAfter="2014-11-26T13:29:59Z" InResponseTo="_95f05d3113b5392654f025acde63c50a78c978" Recipient="https://demo1-sp.e-xpertsolutions.com/saml/sp/profile/post/acs"/> </saml2:SubjectConfirmation> </saml2:Subject> <saml2:Conditions NotBefore="2014-11-26T13:16:59Z" NotOnOrAfter="2014-11-26T13:29:59Z"> <saml2:AudienceRestriction> <saml2:Audience>https://demo1-sp.e-xpertsolutions.com</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> <saml2:AuthnStatement AuthnInstant="2014-11-26T13:19:59Z" SessionIndex="_a814856aefecbdb32f76eb38c06cc6345e4e72"> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> </saml2:AuthnContext> </saml2:AuthnStatement> <saml2:AttributeStatement> <saml2:Attribute Name=“password" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue>mon_super_password</saml2:AttributeValue> </saml2:Attribute> </saml2:AttributeStatement> </saml2:Assertion> </saml2p:Response>
  • 22.
    22 SAML ASSERTION AVECCHIFFREMENT DES ATTRIBUTS (AES256) <saml2:AttributeStatement> <saml2:EncryptedAttribute> --- TRUNCATED --- <xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"> <xenc:CipherValue>BjH1ntSlZvljxp0zrLSd1aQBDghUzSBEWmBOIEJbP8+1tGlpJ6Oaizs4zEupznDVGFakYdZHRUPwUk/ZCIjaxLjtfWUbE+H0dn+KS+UCythx8LH0EvFt1TvU8y aCa8mH+TZ2z2gAkoeTt1WXh2AZwnf843gDY9+4So0EDV1wQ35vTXDuF3jc7QuqGtoeZXZmC2W2wro/Q7j94Vjp+5y8dEuFkN8oVPla83zijbL0KNoZ1rhhX3bFDEUDs5/VTR MJP0GwhDoP4q4MdB6dKvaptUTfuYYhaN202M/xUd/q1JmQ1BvYqXDryW7fZdHPP0tO4mGhakA7HQnoTDdMjicgfA==</xenc:CipherValue> </xenc:CipherData> </xenc:EncryptedKey> </ds:KeyInfo> <xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"> <xenc:CipherValue>JGVZdsCDEtotJXShcegyJ0XxM3wMFVGPcDeJXFL0hHXv/FwozC0bFBT8vVxRsbM4XvnM4pWBwBgELIFHvoQwzN+HOkRm4W470q5JG9G29MfY0cJolY C9J29KMJ+uCcbFszWBg6//TTiNeCBjsYvJ0CRp7QAR2WDfCwQiDwqOTZa1iQoaGTZ/cNVOXmRxUpdJifsVipIvoYFmFYEGfLIIXEdU7zpcFXUV4A6DcYXewYCPifISaYhQJBFFeT x0OW1D</xenc:CipherValue> </xenc:CipherData> </xenc:EncryptedData> </saml2:EncryptedAttribute> <saml2:Attribute Name=“group" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue>administrators</saml2:AttributeValue> </saml2:Attribute> </saml2:AttributeStatement> Attribut non chiffré Attribut chiffré Cléde chiffrement
  • 23.
    23 SAML ASSERTION AVECCHIFFREMENT DU SUBJECT (AES256) <saml2:Subject> --- TRUNCATED --- <xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"> <xenc:CipherValue>SgtNORNgWu8FBBs4GVa06wx2TgyRmJz04FUOm9lRPKMmIUDzNGmI1b5nBgegT7a3iA/YvQzKvLwCgQzzA9wC0hgDAuYHwhjMc9P0h1UM9DjuZ7QK 69I3ao2emnvJWpXYVYNw99Yxw1lW9iQJ1Py6cUKmDn7CLDps5gH7WIRbU2TCioMDXkSd0EKqjC4eRq6wHEdDVZUceqrRXmB3LrpvGSzkGVDgYHGcDa0g1eVx7UGVx0hG wJCswkQEs2Gp5ChN4/cu+XkNuAl/voTMglujp5XDnNt6GTRqEB4LuemCF38oHQ5+FiejLAW3qxaCh3YDrPCl58YBI3FHF3NmQHd/uw==</xenc:CipherValue> </xenc:CipherData> </xenc:EncryptedKey> </ds:KeyInfo> <xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"> <xenc:CipherValue>/ls/nr5v0/kCqygDWWAclUMBRHFG6TgRN6N/OQZO8Hv4fzR/D1Tml2S3sxgbNOCGymhsJXywH7S7skp96dIypLVZdWc+HNCAnjcATmpOo1kATD3s8lq mSj8R/sbxZDSiWnew4OTFgbVsLXJ/bo94e1DFhH2en3G9GCpz5/YYuM6O1TmAG4ZeaLKBr8mU58rI95+fzatBflW5K9+c0QW7YQ==</xenc:CipherValue> </xenc:CipherData> </xenc:EncryptedData> </saml2:EncryptedID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <saml2:SubjectConfirmationData NotOnOrAfter="2014-11-26T13:21:51Z" InResponseTo="_86efc5d55d4f210a6f132c1aae2cdbb7c58e6a" Recipient="https://demo1-sp.e-xpertsolutions.com/saml/sp/profile/post/acs"/> </saml2:SubjectConfirmation> </saml2:Subject> Subject chiffré Cléde chiffrement AES256
  • 24.
    24 SAML ASSERTION CHIFFRÉE(AES256) … <xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"> <xenc:CipherValue>Zfj0E/F/nggOc053F1SmeQ5ofjPTBIBOTpotgDldeUwQKvVJfvngmizMj0wul1uYUpAWFk6cQ6lP1XmmjYtAp64yvw4Fkz96Ty+iaa1PVh3d//er9 HUsmhH/zP8weiBAWBYvxocHCW36crOV4k/hSWHTJQfiH9iXwReXbOOlO8MTkTZ5h64X5s9Xz/3pKqgBgUjmjvuOBxlqq87Fy76pAsa4Y8AsPSzsISjbaK4QUhu0AM dmR/XowT71mMWvjL62biHW9mXNK7VYkoLDOvZBh3DmjoHZj/HwhwlO4neWVVjjKGpM33VHOo149Q/qdVdnVAzB4MDdPe0wq3rjIMeDHw==</xenc:CipherV alue> </xenc:CipherData> </xenc:EncryptedKey> </ds:KeyInfo> <xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"> <xenc:CipherValue>W4QPSfNNuTlPu2h0i4FC5txCPmQAzoGeL943F9GZunHOHZ+bJMXYtJYo4jpkDR5DeU/tFPArsin4BYixPdcxswRetfQpxhueNaLY0PHYQFV9DON vhsWhBMF+l0pxhVNp30UgSdDPN7A7Cfp8C3Dg2loHhJuaTvyCRd3fPkEkiXQ8fIy/MtGbvPv1did --- TRUNCATED --- UuL9LRhGhpejLWaGJ1DYaOiKhlbDkdqfHx4iIJCiDXIf9Y2tY45fE6cTCcUIaFfwS0D2cjv98JwqcO3ZyottxgMpZJ3cx94eM9NBtK4qIKfLu44HDk7fnXlB665LWoSSEL4/+y JCXXSrpOHIyrFHnvRiyBuqmTSMXI4+bH4iKpgsQLe3hmYlMW3BYRrnrU4/ueBHwhz7XVOrBzqFMx2PRh0C2mjas+4krevDjD8RCSag7Ui4N6Vzoo452bVoImIWKjz6a mr0I7pyG9KN/z8pSTRKc3VkSTPhnK/Tn3vjX7KSxrdQCx9UUyQJVMw==</xenc:CipherValue> </xenc:CipherData> </xenc:EncryptedData> </saml2:EncryptedAssertion> </saml2p:Response> Clésymétrique AES256 Données chiffrées
  • 25.
  • 26.
    IDP CHAINING ► Creationd’IDPbroker ►Creationdeworkflowd’authentification ► Un pointunique pouretablirles trusts SP IDP SP IDP SP user@dummy.ch app.demo.com idp.demo.com idp.dummy.ch IDP SP idp.acme.it user@acme.it
  • 27.
    STEP-UP AUTHENTICATION (1/2) 27 app1 app2 app1.demo.com 1.Connect idp.demo.com 2. SAML Request / 3. SAML Assertion 4. resourceaccess
  • 28.
    STEP-UP AUTHENTICATION (2/2) 28 app1 app2 app2.demo.com 1.Connect idp-strong.demo.com 2. SAML Request / 6. SAML Assertion 7. resourceaccess idp.demo.com 3. SAML Request / 4. SAML Assertion 5. 8. resourceaccess
  • 29.
  • 30.
    PROCESSUS D’AUTHENTIFICATION AMELIORE ►Transformationdeprotocoles(SAML 2.0 ->Oauth2.0) ► IDPDiscovery automatique(basesur lecontexte–ex:addripsource) ► Transformationdulogin (addremail ->user PrincipalName/ CommonName ► Prisededecision baseesurle client, unerequeteldap,etc. 30
  • 31.
  • 32.
    INTÉGRATION IDP SUISSEID ►F5 APM as Service Provider ► IDP SuisseID de la Poste ► SSO Kerberos (Constraint Delegation/Protocol Transition) Customer site BIG-IP LTM BIG-IP ASM+APM Kerberos Service Provider IDP SuisseID
  • 33.
  • 34.
  • 35.
    INTÉGRATION ELCARD :IDP SAML 2.0 (1/2) 35 Customer site BIG-IP ASM+APM Kerberos SP Serveur Elcard IDP SP
  • 36.
    36 INTÉGRATION ELCARD :SAML PROXY (2/2) Service Provider X Identity Provider Service Provider X SAMLRequest SAML Assertion RessourceSingle Sign On Authentification Elcard Autorisation Service Provider X SAML Proxy Identity Provider Y SAMLRequest SAMLRequest SAML ProxySAML Assertion Authentification Service Provider X Authentification Elcard SAML Assertion
  • 37.
  • 38.
    VALEUR AJOUTÉE E-XPERT ►Compétences techniques pointues sur les solutions F5 ► Fortes Connaissances dans le domaine de la Fédération d’identité ► Capable d’avoir la vision d’ensemble et de comprendre les besoins ► Nombreuses compétences et connaissances connexes ► Forte aptitude au Troubleshooting 38
  • 39.
    LA COLLABORATION ELCA/ E-XPERT ► Excellent niveau d’expertise et de connaissances de chaque coté ► Bonne Complémentarité des profils d’ingénieurs ► Capacité de fournir une offre complète allant : DU DESIGN A L’IMPLEMENTATION 39
  • 40.
    MERCIDE VOTRE ATTENTION YannDesmarest Innovation Center Manager tel. +41 22 727 05 55 yann.desmarest@e-xpertsolutions.com www.e-xpertsolutions.com Yoann Le Corvic Senior Security Engineer / ISO 27001 Lead Auditor tel. +41 22 727 05 55 yoann.lecorvic@e-xpertsolutions.com www.e-xpertsolutions.com

Editor's Notes

  • #9 SP-Initiated – Redirect GET ou POST
  • #14 Support saml 2.0 Module APM Irules pour customisation
  • #20 Base64 encoded