<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Security &amp; Architecture : Interoperabilità</title><link>http://blogs.msdn.com/mariofontana/archive/tags/Interoperabilit_E000_/default.aspx</link><description>Tags: Interoperabilità</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Le basi per un Common Identity Framework</title><link>http://blogs.msdn.com/mariofontana/archive/2009/06/09/le-basi-per-un-common-identity-framework.aspx</link><pubDate>Tue, 09 Jun 2009 12:41:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9714541</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9714541.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9714541</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/LebasiperunCommonIdentityFramework_85DB/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/LebasiperunCommonIdentityFramework_85DB/image_thumb.png" width="117" height="121" /&gt;&lt;/a&gt; Per chi come me sta lavorando assiduamente sull’inserimento del modello &lt;strong&gt;claims-based &lt;/strong&gt;nelle attuali architetture dei clienti non può perdere il &lt;a href="http://www.identityblog.com/?p=1048" target="_blank"&gt;post&lt;/a&gt; e relativo documento di &lt;strong&gt;Kim Cameron &lt;/strong&gt;dal titolo :&lt;strong&gt;&lt;em&gt;“Proposal fo a Common Identity Framework: A User-Centric Identity Metasystem”&lt;/em&gt;&lt;/strong&gt; scritto da &lt;strong&gt;Kim Cameron&lt;/strong&gt;, &lt;strong&gt;Reinhard Posch &lt;/strong&gt;e &lt;strong&gt;Kai Rannenberg &lt;/strong&gt;tutti nomi molto conosciuti nell’ambito dell’Identity Management (come potrete leggere dal post di Kim). (download : &lt;a href="http://www.identityblog.com/wp-content/images/2009/06/UserCentricIdentityMetasystem.pdf" target="_blank"&gt;PDF&lt;/a&gt; o &lt;a href="http://www.identityblog.com/wp-content/images/2009/06/UserCentricIdentityMetasystem.doc" target="_blank"&gt;DOC&lt;/a&gt;)!!! &lt;/p&gt;  &lt;p&gt;In questo documento vengono esplicitati &lt;strong&gt;i principi base &lt;/strong&gt;su cui si può fondare un &lt;strong&gt;Identity Metasystem &lt;/strong&gt;capace di integrare e razionalizzare la gestione delle identità indipendentemente dagli stack tecnologici utilizzati. Il tutto, ovviamente, in conformità delle principali leggi sulla sicurezza e sorpattutto sulla privacy. Vi assicuro che questo documento è di estrema utilità perchè evidenzia con chiarezza i principali “blocchi” architetturali e relative dipendenze. &lt;/p&gt;  &lt;p&gt;Tra l’altro questo documento è stato inserito nel libro &lt;a href="http://www.amazon.com/Future-Identity-Information-Society-Opportunities/dp/3540884807/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1243988071&amp;amp;sr=1-1"&gt;The Future of Identity in the Information Society&lt;/a&gt; un trattato che raccoglie ricerche effettuate in vari stati europei sull’identificazione dei cittadini, le ID cards, gli impatti delle leggi sulla privacy e tutti gli aspetti di computer forensics legate ai crimini informatici basati sul furto di identità.&lt;/p&gt;  &lt;p&gt;Tre sono gli aspetti di questo whitepaper che mi hanno aiutato (più di tutto) a formalizzare meglio alcuni aspetti del lavoro che sto facendo in questo periodo sulla claims-based security: la suddivisione architetturale fatta tramite gli &lt;strong&gt;abstract services, &lt;/strong&gt;la &lt;strong&gt;tassonomia dei claims &lt;/strong&gt;e il concetto di &lt;strong&gt;Data Minimization&lt;/strong&gt;. Con la definizione degli abstract services si riesce ad avere una visione olistica dell’architettura di un Identity Metasystem senza entrare nei tecnicismi che inevitabilmente vengono introdotti quando si lavora con un determinato vendor/prodotto. Nel documento questi servizi vengono presentati come astratti perchè &lt;strong&gt;rappresentano le funzioni di base dell’architettura &lt;/strong&gt;e successivamente i vendor potranno realizzare i propri sistemi reali calando questa visione astratta nei propri modelli.&lt;/p&gt;  &lt;p&gt;Stiamo quindi parlando di abstract services come il &lt;strong&gt;Primordial Claim Abstract Service&lt;/strong&gt;, &lt;strong&gt;Registration Abstract Service&lt;/strong&gt;, &lt;strong&gt;Claims Provider Abstract Service&lt;/strong&gt;, &lt;strong&gt;Claims Selector Abstract Service&lt;/strong&gt;, &lt;strong&gt;Claims Approver Abstract Service&lt;/strong&gt;, &lt;strong&gt;Resource Matching Abstract Service&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;La &lt;strong&gt;tassonomia dei claims &lt;/strong&gt;invece diventa utilissima quando si lavora a livello architetturale alla definizione dei claims gestibili in azienda e relativa suddivisione per applicazione:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="142"&gt;         &lt;p&gt;Type of Claim&lt;/p&gt;       &lt;/td&gt;        &lt;td width="218"&gt;         &lt;p&gt;Comment&lt;/p&gt;       &lt;/td&gt;        &lt;td width="274"&gt;         &lt;p&gt;Examples&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="142"&gt;         &lt;p&gt;Static&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="218"&gt;         &lt;p&gt;What we have traditionally called “properties” and “attributes” of the subject – static within &lt;i&gt;some window&lt;/i&gt; of time&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="274"&gt;         &lt;p&gt;National identifiers and employee numbers &lt;/p&gt;          &lt;p&gt;Date of Birth&lt;/p&gt;          &lt;p&gt;Name&lt;/p&gt;          &lt;p&gt;Address&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="142"&gt;         &lt;p&gt;Relationship&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="218"&gt;         &lt;p&gt;Subject is in some relationship with another subject (and open-ended model with multiple sources and viewpoints)&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="274"&gt;         &lt;p&gt;Member of arbitrary group&lt;/p&gt;          &lt;p&gt;Member of assigned role&lt;/p&gt;          &lt;p&gt;Relationship to another subject (e.g. Personal Assistant or Parent)&lt;/p&gt;          &lt;p&gt;Mandate (e.g. trustee)&lt;/p&gt;          &lt;p&gt;Acting-as / On-behalf-of relationships&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="142"&gt;         &lt;p&gt;Derived&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="218"&gt;         &lt;p&gt;Claims that convey minimum necessary information by deriving it from facts but not releasing the facts&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="274"&gt;         &lt;p&gt;Over 21 or Under 16&lt;/p&gt;          &lt;p&gt;University Student&lt;/p&gt;          &lt;p&gt;Person in Drug Trial&lt;/p&gt;          &lt;p&gt;Unmarried Female in 20’s&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="142"&gt;         &lt;p&gt;Capability&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="218"&gt;         &lt;p&gt;Authentication and authorization both based on claims transformation. Capabilities are determined by relying party within a defined scope&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="274"&gt;         &lt;p&gt;Can-read-calendar&lt;/p&gt;          &lt;p&gt;Can-access-write-operation&lt;/p&gt;          &lt;p&gt;Denied-update-in-given-scope&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="142"&gt;         &lt;p&gt;Contextual Claims&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="218"&gt;         &lt;p&gt;Factors useful in evaluating the security presentation.&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="274"&gt;         &lt;p&gt;Authentication technology, location, time&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Infine gli aspetti di &lt;strong&gt;Data Minimization&lt;/strong&gt; ci permettono di focalizzare quali sono gli ambiti in cui è necessario garantire il minor numero di informazioni personali degi utenti come le collezioni, aggregazioni, storage, retention,replication, distribution,linkage…&lt;/p&gt;  &lt;p&gt;Un documento quindi che &lt;strong&gt;NON si piò NON leggere &lt;/strong&gt;se si lavora nel campo dell’ Identity Management !!!&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9714541" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Sicurezza/default.aspx">Sicurezza</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/IDentity+Metasystem/default.aspx">IDentity Metasystem</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/ADFS/default.aspx">ADFS</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Geneva/default.aspx">Geneva</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Interoperabilit_E000_/default.aspx">Interoperabilità</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Claims-Based+Security/default.aspx">Claims-Based Security</category></item><item><title>Microsoft, Apache… un ossimoro??</title><link>http://blogs.msdn.com/mariofontana/archive/2009/06/07/microsoft-apache-un-ossimoro.aspx</link><pubDate>Sun, 07 Jun 2009 11:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9702640</guid><dc:creator>mfontana</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9702640.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9702640</wfw:commentRss><description>&lt;p&gt;Innanzitutto prima di generare uno sciopone a qualcuno vi prego di notare la punteggiatura nel titolo di questo post !!! Microsoft &lt;strong&gt;VIRGOLA &lt;/strong&gt;Apache e non &lt;strong&gt;Microsoft Apache &lt;/strong&gt;:-) Nessuna paura quindi , non abbiamo acquistato Apache !!!! Però c’è da dire che questa notizia, come architetto, mi ha reso proprio contento. Alzi la mano (tanto vi vedo) chi di voi si è trovato almeno una volta nella situazione di far parlare del codice .NET con quello JAVA e/o PHP o viceversa? E tenga su la mano chi ha incontrato qualche “piccolissima” difficoltà nella configurazione e settaggi vari nei rispettivi ambienti !!!! Nessuno ?? ok allora questo post non fa per voi :-)&lt;/p&gt;  &lt;p&gt;Diciamo che c’è stato un evento epocale…&lt;strong&gt; Microsoft partecipa alla keynote della conferenza JavaOne!! &lt;/strong&gt;Infatti durante la conferenza JavaOne &lt;strong&gt;Steven Martin&lt;/strong&gt; - Senior Director, Developer Platform Product Management – e &lt;strong&gt;Aisling MacRunnels &lt;/strong&gt;- Sun Vice President- hanno annunciato durante la keynote che &lt;strong&gt;Sun &lt;/strong&gt;parteciperà attivamente al progetto open-source &lt;strong&gt;Stonehenge &lt;/strong&gt;inizialmente creato da &lt;strong&gt;Microsoft&lt;/strong&gt;, &lt;strong&gt;WS02&lt;/strong&gt;, &lt;strong&gt;University of Moratuwa&lt;/strong&gt;, &lt;strong&gt;Progress Software&lt;/strong&gt;, &lt;strong&gt;Red Hat &lt;/strong&gt;e &lt;strong&gt;Eviware&lt;/strong&gt;. In particolare Sun si occuperà della realizzazione Java/Metro della soluzione &lt;a href="http://www.interoperabilitybridges.com/Project.aspx/Stonehenge_-_StockTrader_community_project" target="_blank"&gt;StockTrader&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Microsoft (anche se molti non lo sanno) ha partecipato e sta partecipando a &lt;a href="http://port25.technet.com/archive/2008/11/07/open-source-interoperability-projects-at-microsoft.aspx" target="_blank"&gt;molti progetti open source&lt;/a&gt; ma questa è la prima volta che Microsoft partecipa come &lt;strong&gt;code contributor &lt;/strong&gt;in un progetto Apache!!&lt;/p&gt;  &lt;p&gt;Lo scopo di questo progetto è nobile : realizzare &lt;strong&gt;&lt;u&gt;in concreto &lt;/u&gt;&lt;/strong&gt;degli scenari di interoperabilità e di best practices tra applicazioni e web services sviluppati su stack tecnologici diveri. &lt;a href="http://blogs.msdn.com/mariofontana/archive/2009/05/20/microsoft-e-saml-2-0-protocol.aspx" target="_blank"&gt;Come dissi in questo mio post&lt;/a&gt;&amp;#160; &lt;em&gt;“non basta avere delle specifiche standardizzate per realizzare veramente degli scenari di interoperabilità” (sintetizzato)&lt;/em&gt; !!! I motivi sono molteplici : non tutti i vendor implementano le medesime specifiche anche se standardizzate, non sempre è chiaro come configurare i vari ambienti e prodotti, spesso ci sono delle piccole differenze in termini di serializzazione, encoding che se non gestite possono rendere difficile la realizzazione del progetto… &lt;/p&gt;  &lt;p&gt;Per questo motivo il progetto Stonehenge &lt;strong&gt;&lt;u&gt;realizza &lt;/u&gt;&lt;/strong&gt;delle applicazioni di esempio basate su stack &lt;strong&gt;Java&lt;/strong&gt;, &lt;strong&gt;.NET, &lt;/strong&gt;&amp;#160;&lt;strong&gt;PHP ma anche Python e Ruby&amp;#160; &lt;/strong&gt;in grado di interoperare utilizzando un set comune di specifiche standard definte dal &lt;strong&gt;W3C &lt;/strong&gt;e &lt;strong&gt;OASIS&lt;/strong&gt;. Stiamo parlando in prevalenza di comunicazioni basate sugli standard WS-*. I vari sorgenti li potete trovare &lt;a href="https://svn.apache.org/repos/asf/incubator/stonehenge/contrib/stocktrader/" target="_blank"&gt;nel repository di stocktrader&lt;/a&gt; : &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/e9279e09cf76_8B2A/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/e9279e09cf76_8B2A/image_thumb.png" width="361" height="287" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9702640" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Sicurezza/default.aspx">Sicurezza</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/WS-_2A00_/default.aspx">WS-*</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/XML/default.aspx">XML</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Specifiche+di+Base/default.aspx">Specifiche di Base</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/SOA/default.aspx">SOA</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Interoperabilit_E000_/default.aspx">Interoperabilità</category></item><item><title>Microsoft e SAML 2.0 Protocol</title><link>http://blogs.msdn.com/mariofontana/archive/2009/05/20/microsoft-e-saml-2-0-protocol.aspx</link><pubDate>Wed, 20 May 2009 13:15:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9631997</guid><dc:creator>mfontana</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9631997.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9631997</wfw:commentRss><description>&lt;p&gt;Forse non è ancora noto a tutti che Microsoft sta lavorando per integrare parte del protocollo &lt;strong&gt;SAML 2.0 &lt;/strong&gt;all’interno dei servizi di Active Directory. &lt;/p&gt;  &lt;p&gt;Come presentato durante l’ultimo PDC (Professional Developers Conference) da &lt;a href="http://www.identityblog.com/" target="_blank"&gt;Kim Cameron&lt;/a&gt; la nuova versione di &lt;strong&gt;ADFS &lt;/strong&gt;(Active Directory Federation Services) che per adesso ha il code name &lt;strong&gt;&lt;a href="http://blogs.msdn.com/mariofontana/archive/2009/05/12/cosa-geneva-in-due-parole.aspx" target="_blank"&gt;Geneva&lt;/a&gt;, &lt;/strong&gt;oltre ad estendere il supporto alle specifiche &lt;strong&gt;WS-* (WS-Security, WS-Trust, WS-Federation, ecc.…) &lt;/strong&gt;sarà in grado di “parlare” SAML 2.0 creando una vera e propria infrastruttura sistemistica ed applicativa capace di semplificare gli aspetti di autenticazione e di Single Sign On. Geneva inoltre è definita una “open platform” perchè permette di realizzare una architettura claims-based basata sui principali protocolli standard (WS-* e SAML 2.0). I componenti della specifica SAML 2.0 implementati sono i seguenti :&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Web SSO AuthnRequest : HTTP redirect &lt;/li&gt;    &lt;li&gt;Web SSO Response : HTTP POST &lt;/li&gt;    &lt;li&gt;Identity Provider Discovery : Cookie &lt;/li&gt;    &lt;li&gt;Web SSO Response : HTTP Artifact &lt;/li&gt;    &lt;li&gt;Artifact Resolution : SOAP &lt;/li&gt;    &lt;li&gt;Single Logout (IdP-initiated) : HTTP redirect &lt;/li&gt;    &lt;li&gt;Single Logout (SP-initiated) : HTTP redirect &lt;/li&gt;    &lt;li&gt;Enhanced Client/Proxy SSO : PAOS &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Infine Geneva per automatizzare al massimo l’amministrazione degli aspetti di federazione utilizzerà il nuovo &lt;a href="http://identity-des.com/2008/10/28/harmonized-federation-metadata-for-ws-federation-and-saml/"&gt;harmonized federation metadata format &lt;/a&gt;basato sui metadata SAML 2.0. (&lt;a href="http://identity-des.com/2008/10/28/microsoft-geneva-server-supports-saml-20/" target="_blank"&gt;leggete qui la notizia da Don Schmidt&lt;/a&gt;) &lt;/p&gt;  &lt;h3&gt;E questo cosa significa?&lt;/h3&gt;  &lt;p&gt;&lt;strong&gt;Interoperabilità&lt;/strong&gt; e &lt;strong&gt;Single Sign On&lt;/strong&gt;! Infatti SAML 2.0 è il protocollo di riferimento per le principali architetture &lt;strong&gt;Open-Source&lt;/strong&gt; per lo scambio di informazioni di autenticazione ed autorizzazione tra security domains mentre lo stack di specifiche WS-* (e nello specifico WS-Federation) è lo standard di riferimento utilizzato nei principali prodotti commerciali sempre con l’obiettivo di scambiare informazioni di autenticazione ed autorizzazione. &lt;/p&gt;  &lt;p&gt;Queste specifiche hanno molti vantaggi per noi architetti ma anche un grosso svantaggio : mantenere i due mondi nettamente separati!! Questo significa che noi poveri architetti spesso siamo costretti a creare componenti di architetture più o meno custom per poter superare queste diversità. E’ il colmo ! Dover disegnare/scrivere delle soluzioni custom per integrare gli standard !!! (questo è il tipico caso in cui la presenza di standard non sempre aiuta!!).    &lt;br /&gt;Con Geneva questa realtà finalmente può cambiare!! Oggi siamo in grado di far interoperare questi due mondi permettendoci di disegnare &lt;strong&gt;scenari di Single Sign On &lt;/strong&gt;per i nostri utenti &lt;strong&gt;indipendentemente dallo stack applicativo e sistemistico utilizzato&lt;/strong&gt;. Finalmente possiamo iniziare a parlare di Interoperabilità con la I maiuscola anche in ambito Identity dove normalmente le varie architetture storicamente erano chiuse, blindate dalla propria tecnologia! &lt;/p&gt;  &lt;h3&gt;WS-* e SAML 2.0 Protocol. Perchè due stack di specifiche?&lt;/h3&gt;  &lt;p&gt;Ma allora la domanda nasce spontanea … perchè due stack ? &lt;/p&gt;  &lt;p&gt;Cominciamo col dire che le specifiche WS-Trust/Ws-Federation (dello stack WS-*) e il protocollo SAML 2.0 &lt;u&gt;&lt;strong&gt;hanno alcune parti in comune ma obiettivi differenti !&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;WS-Trust/Ws-Federation come tutte le specifiche di WS-* sono pensate prevalentemente per Web Services ovvero scenari “attivi” capaci di “parlare SOAP”. Infatti anche il nome lo dice : WS-* significa Web Services-*, e quindi WS-Trust = Web Services Trust, WS-Federation = Web Services Federation. Quindi lo stack WS-* fin dagli albori (siamo alla fine del 2000 circa) ha lo scopo di fornire un’infrastruttura &lt;strong&gt;per il mondo a servizi &lt;/strong&gt;(da SOA a SaaS, S+S, ecc…). WS-Federation in quello che era chiamato “profilo attivo” rappresenta la naturale evoluzione di WS-Trust e descrive i meccanismi di trust tra Security Domains differenti (Federazioni) con una predilezione e un punto di vista a servizi. &lt;/p&gt;  &lt;p&gt;Una architettura di questo tipo che pone tra i propri obiettivi anche il Single Sign-On tra applicazioni e Web Services sarebbe stata monca se non avesse aggiunto anche il supporto ai client Web che non sono in grado di gestire il protocollo SOAP (ovvero i Browser). E’ per questo motivo che WS-Federation ha anche il &lt;u&gt;profilo passivo&lt;/u&gt;, ovvero una serie di regole che permettono ai browser di utilizzare i protocolli WS-Trust e WS-Federation tramite HTTP 1.1 e quindi di integrare le anche le Web Applications nel processo di Single Sign On. In questo caso (passivo) &lt;u&gt;&lt;strong&gt;abbiamo una sovrapposizione con una parte delle funzionalità espresse da SAML 2.0 protocol &lt;/strong&gt;&lt;/u&gt;!!! &lt;/p&gt;  &lt;p&gt;Quindi per rispondere alla domanda “perchè due specifiche” posso dire che WS-Federation nasce come &lt;strong&gt;evoluzione &lt;/strong&gt;di un particolare modello ormai consolidato di sicurezza e di gestione delle identità capace di gestire &lt;strong&gt;sia i Web Services che per le Web Application &lt;/strong&gt;mentre questo doppio supporto non era previsto (almeno inizialmente) dal protocollo SAML 2.0 (nato prevalentemente per gli scenari Web Apps). Infatti, SAML 2.0 nasce dalla convergenza di &lt;a href="http://en.wikipedia.org/wiki/SAML_1.1"&gt;SAML 1.1&lt;/a&gt;, &lt;a href="http://www.projectliberty.org/resource_center/specifications/liberty_alliance_id_ff_1_2_specifications"&gt;Liberty ID-FF 1.2&lt;/a&gt;, e &lt;a href="http://shibboleth.internet2.edu/docs/internet2-mace-shibboleth-arch-protocols-200509.pdf"&gt;Shibboleth 1.3&lt;/a&gt; con il primario obiettivo di definire uno standard per il &lt;strong&gt;Web Single Sign On&lt;/strong&gt;. Successivamente SAML 2.0 ha aggiunto anche il&amp;#160; SAML ECP (Enhanced Client Profile) per l’integrazione di client attivi.&lt;/p&gt;  &lt;p&gt;WS-Federation quindi permette a tutti quelli che hanno investito sullo stack WS-* di &lt;strong&gt;continuare gli investimenti adottando un unico modello di sviluppo &lt;/strong&gt;indipendentemente dai sistemi utilizzati - Windows/Linux – e dai&amp;#160; linguaggi .NET/Java o altro. Dal canto suo, seguendo anche le innumerevoli (e a mio avviso, giustissime) richieste da parte di clienti da tutto il mondo, parte del protocollo SAML 2.0 è stato integrato in Geneva ponendo il primo tassello verso la realizzazione di un Identity MetaSystem capace di gestire ambienti multi piattaforma e multi player. Per ulteriori informazioni leggete &lt;a href="http://identity-des.com/2007/05/02/ws-fed-and-saml/" target="_blank"&gt;questo post di Don&lt;/a&gt; sullo stesso tema!!&lt;/p&gt;  &lt;p&gt;Con questo post spero di rispondere a tutti quelli che sostengono che WS-Federation è nato esclusivamente con la volontà di fare una guerra al mondo Open Source e al protocollo SAML 2.0. Personalmente , come Software Architect trovo molto frustrante quando esistono stack di infrastruttura applicativa difficilmente integrabili tra loro perchè non ci permettono di svolgere il nostro lavoro al meglio e accolgo sempre in modo positivo quando questi ostacoli vengono superati dalle infrastrutture di base siano esse Microsoft o altro.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9631997" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/WS-_2A00_/default.aspx">WS-*</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/IDentity+Metasystem/default.aspx">IDentity Metasystem</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/ADFS/default.aspx">ADFS</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Geneva/default.aspx">Geneva</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Interoperabilit_E000_/default.aspx">Interoperabilità</category></item></channel></rss>