SimpleSAMLphp EuroCAMP 2010 Olav Morken
- lav.morken@uninett.no
SimpleSAMLphp EuroCAMP 2010 Olav Morken olav.morken@uninett.no - - PowerPoint PPT Presentation
SimpleSAMLphp EuroCAMP 2010 Olav Morken olav.morken@uninett.no SimpleSAMLphp Mainly a SAML 2.0 Service Provider and Identity Provider 2 Targets the SP lite and IdP lite profiles (with some limitations) Written entirely in PHP
2
Mainly a SAML 2.0 Service Provider
Targets the SP lite and IdP lite profiles
Written entirely in PHP Support for several other protocols Support for multiple authentication
3
Started out as a SAML 2.0 IdP and SP
Later extended with partial support
Shibboleth 1.3 compatibility Support for several other protocols
Module support added fall 2008
4
Generic SSO platform Targets multiple use-cases Service Provider Identity Provider Bridge / proxy
Also between different protocols, e.g.
Federation tools, e.g. metadata aggregator
5
SSO platform Easy to get started Flexible Extensible
6
Supports extensions through modules Somewhat stable API Mainly two types of extensions Authentication sources
E.g. LDAP, SQL, OpenID
Authentication processing filters
E.g. attribute release consent,
7
consent - asks the user for permission before releasing
ldap - authenticating against LDAP servers sql – authentication against SQL database aggregator – a metadata aggregator openidProvider – An OpenID provider statistics – Statistics viewer, e.g. logins, logouts,
8
SAML 2.0 & SAML 1.1 OpenID CAS WS-Federation (ADFS)
9
LDAP SQL Radius X509 certificates Various other protocols: Facebook Twitter ...
10
Should arrive in December Few user-visible changes Mostly changes to the internals: Session handling Lots of fixes to conform more to the
11
Problem: Current solution was inflexible Only one “authentication session” for each
Limited us to one SP or IdP per hostname Now supports multiple separate
Log in and out of various authentication
12
Makes it possible to support advanced
Support for complex authentication,
Different authentication contexts
Allows the SP to specify the method
13
Three session handlers: PHP built in session handler Memcache SQL (new in version 1.7)
Supports SQLite, MySQL, PostgreSQL Generic SQL – may work with other DBs
Can add new handlers through modules SAML 2 SP supports SOAP logout when
14
In preparation for Kantara Initiative
Partially driven by Andreas' automated
Most fixes were for rarely used
Could become important in the future
15
16
Simpler IdP configuration Better support for working directly
Better login UI SAML 2 MDX metadata support Extending the SAML 2 library
17
The various protocols must currently
Little interaction between the
Cross-protocol logout difficult The IdP is directly tied to the current
18
Create a single configuration file for
Enable or disable protocols as part of
19
XML metadata is the standard format
SimpleSAMLphp currently uses its
We want to move to XML format as
Simplifies deployment
20
Not everything that can be configured in SimpleSAMLphp can
Want to allow configuration both directly in XML metadata
Allows automated downloading of metadata while keeping local
configuration
Possibly local configuration based on EntityAttributes in
downloaded metadata
User experience when adding and editing metadata
21
22
Current user-interface experience
It takes too many steps to log in: Select to log in Select protocol Select federation Select identity provider Enter username & password
23
Should at least be possible to reduce
Select to log in Select identity provider Enter username & password
24
Possibly new UI based on result from
25
Federations are growing, forming federations
Can end up with several thousand SAML 2
Most of which will rarely, if ever, speak to
Full metadata updates waste bandwidth,
Better to download the metadata only for
26
MDX is a protocol for downloading
Primarily want support for consuming
May also want to support serving
27
Currently tied to SimpleSAMLphp Any application that wants to become
Conflict between application session
28
Want to make it easier to embed the SP directly
Reuse application framework Templates, error handling, session storage Application must take on many responsibilities: Metadata generation, attribute extraction, +++ SAML 2 library handles message generation,
29