52
Sécuriser une application avec le Framework Geneva et la plate-forme Azure Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Embed Size (px)

Citation preview

Page 1: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Sécuriser une application avec le Framework Geneva et la plate-forme Azure

Jérôme DUCLOSArchitecte

Winwise

Rochdi CHAKROUNLead Technique

Winwise

Page 2: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Winwise

Société d’expertise spécialisée sur les nouvelles technologies Microsoft

90 consultants experts certifiés sur les dernières technologies Microsoft dont 7MVP et 1 RD

4 centres de compétences pour réaliser vos projets à forte valeur ajoutée :Travail collaboratif Business Intelligence & Data ManagementGénie logiciel et Cycle de vie des applications Interfaces Utilisateurs et « Smart Clients »

1er centre de formation en France sur les technologies .Net et la BI

Pour tout renseignement rendez-vous sur notre stand partenaire

e-mail : [email protected]

Site web : www.winwise.ch

Page 3: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise
Page 4: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Sécuriser une application avec le Framework Geneva et la plate-forme Azure

Page 5: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Sommaire

L’identité, nouveau modèleEtude de cas

Microsoft Services Connector« Geneva » Server« Geneva » Framework« Geneva » CardSpaceAccess Control Service

Feuille de route

Page 6: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Identité

Identité numérique : ensemble de revendications (claims) émis par un sujet, se rapportant soit à lui-même soit à un autre sujet.

1

Page 7: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

IdentitéClaims

Claim (revendication)Etablit un fait se rapportant à une chose ou une personne.

Exemple :Majeur : OuiN° police d’assurance : 2571771

Page 8: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

IdentitéJeton de sécurité

NomClaim1: Valeur1

NomClaimn: Valeurn

Signature de l’émetteur

matériel de clé [facultatif]

Collection de ClaimsChiffrement pour le

public concerné

E

S

Page 9: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Software + Service

Combiner applications existantes et services hébergés sur Internet

2

Page 10: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Software + Service

Vos applications

Page 11: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Software + Service

“Geneva” Framework

Live Framework

Windows CardSpace “Geneva”

Active Directory

“Geneva” Server

Microsoft Services

Connector

Log

icie

lsS

erv

ices

Mod

èle

d’a

ccès su

r les

claim

s

Basé sur les standardsAmélioration de la

productivitéLiberté de choix

Live Identity Services

Microsoft Federation Gateway

.NET Access Control Service

Page 12: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Le méta-système d’identités

Architecture ouverte et reposant sur des standards afin d’assurer l’échange des claims, sous contrôle de l’utilisateur.

3

Page 13: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Le méta-système d’identité

RelationLe médecin

fournit le certificat

2. Obtention de claims 3. Envoi

de claims

1. Demande de claims

Coureur

Le réglement exige un certificat médical

Page 14: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Le méta-système d’identité

STS

S

RP

WS-Trust

Page 15: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Le méta-système d’identité

Externalisation de l’authentification (ou pas)IP-STS associé à un magasin d’identitésR-STS transforme simplement les claims (indirection, format)

STSSecurity Token

Service

Fournit les claims

Page 16: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Le méta-système d’identité

Une application, un fournisseur de ressources, un STS

RPRelying Party

Consomme les claims

Page 17: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Le méta-système d’identités

« passif » = non SOAP

SSubject

Obtient contrôle et transmetles claims

Page 18: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Fédération

Pour une application b2b ou utilisant des services hébergés il est essentiel de ne pas multiplier les comptes et de pouvoir proposer le SSO aux utilisateurs.

4

Page 19: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Fédération

STS

S

RP

STS

Page 20: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Scénarios

Deux ministères fusionnent pour donner le ministère de la Santé et des Sports :

les agents des directions régionales doivent partager des ressources

une application qui recense les associations et équipements sportifs

Page 21: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Scénarios

1er défi : Partage de répertoires et de calendriers

2ème défi :Accéder à une application depuis l’extérieur, depuis un autre domaine

3ème défiPermettre aux clubs d’accéder à l’application

4ème défiIntégrer des partenaires et des services extérieurs

Page 22: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Scénarios

Microsoft Service

Connector

« Geneva »Server

« Geneva »Framework

Access Control Service

Page 23: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Microsoft Services Connector

Page 24: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Microsoft Service Connector

Nom de domaineCertificat SSLURL publique

Page 25: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Microsoft Service Connector

Ajout des utilisateurs3 claims

Page 26: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Microsoft Service Connector

Gestion automatique des mises à jour

Installation possibleen mode proxy ou fermesur une forêt ou plus

Protocoles WS-*, SAMLJetons SAML

Page 27: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Scénarios

Microsoft Service

Connector

« Geneva »Server

« Geneva »Framework

Access Control Service

Page 28: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

« Geneva » Server

Page 29: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

"Geneva" Server

Intégrer les claims

démo

Page 30: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Geneva ServerFedutil

Ce qui changeCréation et échange des méta-données pour établir la relationMode d’authentification (anonyme)Redirection de l’utilisateur qui s’authentifie ailleur et retourne des claims

Ce que l’on gagneSans modification du code : la sécurité par rôle fonctionneSouplesse : l’administrateur du définit le mode d’authentification et les rôles des utilisateurs

Page 31: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Geneva Server

Page 32: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

"Geneva" Server

Extranet Web SSO

démo

Page 33: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Geneva server

STS sur l’ADFournisseur d’identité et de fédérationFournisseur de cartes gérées sur l’ADSélecteurs d’identité CardSpace et InfoCardGestionnaire de confiance pour fédérationAutomatisation de la maintenance par

échange de meta-données Standards et interoperabilitéProtocoles WS-* & SAML 2.0 “Web SSO

profile”Jetons SAML 1.1 & 2.0

Page 34: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Geneva Server

Page 35: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

"Geneva" Server

Fédération

démo

Page 36: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Geneva ServerFederation

Ce qui changeEchange de métadonnées pour établir la relationTransformation des claims pour adapter ce qui arrive en entrée aux claims attendus par l’applicationL’utilisateur précise son domaine

Ce que l’on gagneInstallation facile, il suffit de connaître l’URL du STS du partenairePas de réécriture de l’application : impédance par la transformation des claimsSSO pour les utilisateurs (par choix)Fédération possible avec tout STS conforme aux standard WS-Federation et SAML 2.0

Page 37: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Geneva Server« Geneva» CardSpace

Sélecteur d’identité

Carte d’information ou i-card contient des

métadonnées : types de jeton émistypes de claim émisidentifiant de l’émetteurtype d’authentification exigépoints de terminaison du STS

Page 38: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

« Geneva » ServerADFS 2

AD FS 1 “Geneva” (Server)

WS-Federation 1.0 1.0, 2.0

WS-Trust 1.3 n/a Oui

WS-SecurityPolicy 1.2 n/a Oui

Protocoles Web SSO SAML 1.0/1.1 Oui Oui

Protocoles Web SSO SAML 2.0 n/a Oui

Jetons SAML 1.1 Oui Oui

Jetons SAML 2.0 n/a Oui

Magasin de comptes AD Oui Oui

Magasin d’attributs AD Oui Oui

Magasin de policy Fichier plat SQL

Information Card Non Oui

Page 39: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Scénarios

Microsoft Service

Connector

« Geneva »Server

« Geneva »Framework

Access Control Service

Page 40: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

« Geneva » FrameworkSTS sur mesure et génération de carte

Page 41: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Geneva Framework

STS sur mesure et génération de carte

démo

Page 42: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Geneva FrameworkModèle de claims

IClaimsPrincipal

IClaimsIdentity

IClaimsIdentity

Sample FillSample FillClaim

ClaimType = “Name”

Value = “Bob”Issuer = “WLID”

Subject

Page 43: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Geneva FrameworkHomeRealm

DiscoveryService

Client

CardSpace

MMC:Policy UX

Relying Party

Geneva Server Runtime

Policy Manageme

ntService

WMI Provider

Config File

Geneva FX API

Information Card IssuanceService

Protocol Hosting (WS-Trust, Metadata, WS-Federation)

Issuance Engine

MMC:Service UX

{FileIO}{SQL}{LDAP}

AD/ADAMUser AttributeAuthN Store

SQLPolicy Store

{WS-FedPassive }

{WS-TrustWS-MEX}

{InformationCard Issuance}

{WS-Fed Metadata}{PolicyManagement}

{WMI}

Identity Store Interface

Policy Store Interface

LDAP Store

Geneva FX API

{WS-FedPassive }

{WS-Fed Metadata}

Geneva FX API

SQL Store

Page 44: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Scénarios

Microsoft Service

Connector

« Geneva »Server

« Geneva »Framework

Access Control Service

Page 45: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Acces Control Service

Page 46: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Access Control Service

démo

Page 47: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Quatre services :STS délivrant les jetons, service de gestion des règles, moteur de règles, portailAPI publique pour le STS et le service de gestion des règles

Access Control Service Architecture

Stockage

Modèle Donnée

s

Moteur de règles

STSPortail

Gestion règles

Page 48: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Access Control ServiceSTS

Security Token Service

Custom Handlers, Authenticators, Policies …

IDFX

SOAP Client HTTP Client

Internet

WS-Trust WS-Federation(Passive)

Security Token Service

Custom Handlers, Authenticators, Policies …

IDFX

STSCustom Handlers, Authenticators,

Policies …

“Geneva” Framework

WCF Front-End

Page 49: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

.Net Access Control Service

Microsoft Federation Gateway

Microsoft Service Connector

Feuille de routeSoftware

Services

“Geneva” Server

Live Identity Services

Aujourd’hui S1 2009 S2 2009

Beta 1 Beta 2 RTM

CTPBeta

RTM

OpenID Beta

In Production

Beta 1CTP

“Geneva” Fx, CardSpace Beta 1 Beta 2 RTM

Live Framework In Production

OpenID RTM

Page 50: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

“Geneva” sur Microsoft Connecthttp://go.microsoft.com/fwlink/?LinkId=122266

Microsoft Services Connectorwww.microsoft.com/servicesconnector

Microsoft Federation GatewayWhitepaper

Access Control Service www.microsoft.com/azure/accesscontrol.mspx

Références

Page 51: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Save the date for tech·days next year!

14 – 15 avril 2010, CICG

Page 52: Jérôme DUCLOS Architecte Winwise Rochdi CHAKROUN Lead Technique Winwise

Classic Sponsoring Partners

Premium Sponsoring Partners