onsdag 7 oktober 2009

SAML 2.0 -- nu interoperabelt

Det är som bekant alltid en lång resa från standard till kommersiella produkter som kan kommunicera med varann. Ta bara web service-resan med WS-I Basic Profile och det faktum att det fortfarande närmast är raketforskning att få .Net och Java att prata SOAP med varann om man vill applicera WS-security och WS-policy. För ett par dagar sedan togs ett viktigt steg när det gäller att få SAML att fungera interoperabelt.

Vad är SAML?
SAML (security assertion markup language) 2.0 har funnits sen 2004 och används typiskt för single sign-on (SSO) i webbappliktioner och webbtjänster. En så kallad Identity Provider kan med hjälp av SAML utfärda säkerhetspåståenden (security assertions) som ett antal Service Providers kan välja att lita på. Såna säkerhetspåståenden kan vara vem du är, när du autentiserade dig, vilket system du använder med mera.


Två tjänsteleverantörer litar på en identitetsleverantör mha SAML.

Varför SAML?
Man kan vilja använda SAML av flera orsaker:
  • Cross-Domain SSO. SSO löses traditionellt med cookies vilket kräver att alla applikationer och tjänster publiceras under den domän kakan gäller för. För att lösa SSO till olika domäner (cross-domain SSO, CDSSO) så behövs SAML.
  • Interoperabilitet. Olika SSO-tekniker och -produkter fungerar dåligt ihop eftersom de har olika sätt att hantera autentisering och sessioner. SAML är ett standardiserat sätt att lösa det på.
  • Auktorisering och spårbarhet i web services. De säkerhetstekniker man ser i WS-security och WS-policy handlar om skydd av information med hjälp av kryptering och elektroniska signaturer. SAML löser problemet med behörighetskontroll och spårbarhet i web services.
  • Federering. Att hantera identiteter över organisationsgränser är svårt. SAML klarar att samla lokala identiteter till en (eller några) federerade identiteter.
Något nytt under solen?
Så varför skriver jag om en fem år gammal teknik? Jo, för bara ett par dagar sen blev interoperabilitetstesterna av ett antal faktiska SAML-produkter klara!

Liberty Alliance har under sommaren samordnat interoperabilitetstesterna i den nya SAML 2.0 v1.5 eGovernment Profile. Myndigheter i Danmark, Nya Zeeland och USA har arbetat fram testkriterierna. Några exempel på detaljnivån:
  • Service Provider Authentication Request MUST be communicated using HTTP Redirect binding
  • Identity Provider Authentication Response MUST be communicated using HTTP POST binding or SOAP Artifact binding
  • Assertion MUST be signed
Och så var det testresultatet då. Följande produkter deltog i och klarade testerna:
  • Entrust IdentityGuard Federation Module 9.2 och Entrust GetAccess 8.0
  • IBM Tivoli Federated Identity Manager (TFIM) 6.2
  • Microsoft Active Directory Federation Services (AD FS) 2.0
  • Novell Access Manager 3.1
  • PingFederate v6.1
  • SAP NetWeaver Identity Management 7.2
  • Siemens DirX Access V8.1

1 kommentar:

Anonym sa...

Ingen av produkterna som testades var fri programvara?