Windows Identity Foundation Quale impatto per I sistemisti Mario Fontana Senior Software Architect - Security Developer & Platform Group - Microsoft http://blogs.msdn.com/mariofontana International Association of Software Architects IASA Chapter Italy : Founder & CEO Claims-Based Security Normalmente una applicazione ottiene le informazione di identità di base Es: username e password Successivamente l’applicazione deve fare un ulteriore query: DB Locale o Remoto. LDAP La claims-based security permette di estrapolare l’autenticazione dalle singole applicazioni Prevede dei protocolli affinchè ogni applicazione possa richiere esattamente i claims che necessita E’ l’IDP che si preoccupa di ricavare gli attributi e creare i claims. Le applicazioni non dovranno più accedere agli LDAP o a DB degli utenti. Claims Based Access Identity Provider (IP-IDP) I claims vengono usate dalla applicazioni per: •Autorizzazione. •Personalizzazione. Security Token Service Relying Party (RP) Sessione Application Logic Read Policy Send Token (claims) Claims Processing Read Authenticate GetPolicy Token La famiglia «Geneva» Active Directory Federation Services (ADFS) 2.0 Evoluzione di ADFS presente in Windows Server 2003 R2 e successivi. Cardspace 2.0 Windows Identity Foundation (WIF) Queste 3 tecnologie erano conosciute con il code-name “Geneva” Cosa è Windows Identity Foundation E’ un assembly .NET Permette alle applicazioni .NET di integrarsi con il modello claims-based. Completamente integrato con ASP.NET & WCF Unico programming model per on-premises & cloud Config driven Configurazione tramite Tools WIF ASP.NET Modules HTTPModule(s) nella ASP.NET pipeline dell’applicazione WSFederationAuthenticationModule Implementa il protocollo (redirect) di WS-Federation SessionAuthenticationModule Si occupano di esporre policy, gestire protocolli, redirects, stabilire sessioni… Gestisce le sessioni (indipendentemente dal protocollo di sign-in) ClaimsPrincipalHttpModule E’ un “hook” per iniettare I claims nel current principal Processing Pipeline 01100010101101000 WSFAM SecurityTokenHandler ClaimsAuthenticationManager SessionAuthenticationModule ClaimsAuthorizationManager Applicati on Logic C Metodi di utilizzo Sistemista: FedUtil.exe Utility per la configurazione della relazione di TRUST tra le appplicazioni e un STS Programmatore: Intergato nella IDE di Visual Studio Templates per Visual Studio Fedutil.exe Permette di creare una relazione di trust tra una applicazione (RP) e un Security Token Service (STS) Funzionalità: Registra un STS esistente come trusted issuer per una RP Aiuta lo sviluppo di applicazioni claims-aware offrendo un STS locale di test Trasforma una applicazione .NET in claims aware Aggiorna i federation metadata per le applicazioni Schedula gli aggiornamenti automatici dei federation metadata per le applicazioni Security Token Services Produzione https://Productionserver/sts Test https://testserver/CloudBuddiesSTS Locale http://localhost/projectname_sts Claims => Windows Token Service (c2WTS) E’ un Windows Service Gira come local account Crea un impersonation-level Windows Access Token da un generico token (SAML, X509,...) Impersona l’utente indicato dal UPN claim http://schemas.xmlsoap.org/ws/2 005/05/identity/claims/upn Uso di c2WTS Claims-Based Security Windows Security Security Token Service (STS) Client PrintIdentityService AccessService1 c2WTS Attivazione automatica <securityTokenHandlers> <add type="Microsoft.IdentityModel.Tokens.Saml11.Saml11SecurityTokenHandler, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"> <samlSecurityTokenRequirement mapToWindows="true" useWindowsTokenService="true" /> </add> </securityTokenHandlers> Concludendo... Per gli Architetti infrastrutturali Facilitare le attività di Identity Management. Gestione degli IDP nei vari ambienti. I meccanismi di autenticazione possono essere governati dalla parte infrastrutturale (*) Le applicazioni non vengono modificate al cambio delle policy di autenticazione. Maggiore controllo degli accessi agli asset aziendali. Policy Enforcement. Risk assessment dei meccanismi di autenticazione semplificato. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.