itcampro @ itcamp12 # Premium conference on Microsoft technologies
Tackling the
Single Sign-On Challenge
Mihai Nadăș
Windows Azure MVP
Yonder CTO
@mihainadas
mihainadas.com
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud ITCamp 2012 sponsors
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
• mihainadas.com
• @mihainadas
• Passionate about technology, background in
the .NET World
• Windows Azure MVP
• Driving Yonder’s appetite for innovation
About myself
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
• As the world becomes more interconnected, security becomes a more important topic
• Holland, 2012 – VCD’s SaaS solution exposed publically information about its user’s medical history
We spend our time searching for security and hate it when we get it.
-John Steinbeck
On security and the future
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud Passwords and implementations
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
1. Injection
2. Cross Site Scripting (XSS)
3. Broken Authentication and Session
Management
4. Insecure Direct Object References
5. Cross Site Request Forgery
OWASP’s Top 5
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
1. Injection
2. Cross Site Scripting (XSS)
3. Broken Authentication and Session
Management
4. Insecure Direct Object References
5. Cross Site Request Forgery
OWASP’s Top 5
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
• Claims-Based Identity and Access Control
• The Single Sign-On Challenge and Benefits
• Windows Azure Access Control Service
• Q&A
Agenda
itcampro @ itcamp12 # Premium conference on Microsoft technologies
ENOUGH TALKING,
LET’S DEMO!
The problem with Identity and Access Control in the Enterprise
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
• A fictious case study of an enterprise called
Adatum
• The whiteboard diagram showing the
situation of the auth/auth problem pre-
claims
• DEMO
What you’ll see?
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud Adatum Infrastructure Pre-Claims
itcampro @ itcamp12 # Premium conference on Microsoft technologies
DEMO
The problem with Identity and Access Control in the Enterprise
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
• Users of a-Expense need user/password
• The IT staff have to sync roles between
authentication systems
• a-Order can’t be accessed from the Internet
• No Single Sign-On aka „Credentials Hell”
What’s the problem?
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud What’s the problem?
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
• Adatum’s requirements
– Single Sign-On (SSO) Capabilities
– Enable Adatum employees to access corporate
applications from the Internet (no VPN)
– Plan for the future (cloud, new apps)
• What is your solution?
Be the consultant and please Adatum!
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
• Control the digital experience based on
things that are said about one party by the
other
• A party can be – web site, web service,
person, government, organization
Introducing Claims-Based Identiy
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
• Mainframes asked about user/password and passed „claims” about them to applications
– uid, gid
– sudo su
• As systems became interconnected we needed ways to identify parties across multiple computers
• Specialized services appeared
– NTML, Kerberos (Windows Integrated Authentication)
– Public Key Infrastructure (PKI)
– Security Assertion Markup Lanaguage (SAML)
Claims are not new!
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
• Two major components
1. A single, general notion of claims
2. Concept of issuer / authority
• Terminology
1. Application (Relying Party, Service Provider)
2. User (Subject, Principal)
3. Issuer (Security Token Service, Identity Provider)
4. Rich Client (Active Client)
5. Browser (Passive Client)
The Claims-Based ID Framework
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud Claim-Based ID in Real World Traveler Check-In Counter Airport Agents
1 Show ID or Passport
2 Give Boarding Card
3 Show Boarding Card to Gain
Access
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud Claim-Based ID in Real World Traveler Check-In Counter Airport Agents
1 Show ID or Passport
2 Give Boarding Card
3 Show Boarding Card to Gain
Access
Authentication Credentials
User
Claims
Issuer
Application
Authorization
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
• Simplified authentication logic
• Decoupled authentication from authorization
• Eliminate redundancy
What are the benefits?
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
• What you need?
– An App (Web Service, Web Site, Mobile App, etc.)
– An Issuer
– Claims-Based Identity Magic
• What are the steps?
1. Setup an Issuer
2. Configure the Issuer to know abou the App
3. Add logic to the App to support claims
4. Configure the App to trust the Issuer
Implementing Claims-Based Identity
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud Claims-Based Identity Lifecycle
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
• Windows Identity Foundation
• Framework for building identity-aware applications
• Provides APIs for building ASP.NET or WCF based security token services
• Tools for building claims-aware and federation capable applications
• Now part of .NET Framework 4.5
What’s WIF?
itcampro @ itcamp12 # Premium conference on Microsoft technologies
ENOUGH TALKING,
LET’S DEMO!
Solving Adatum’s problem using Claims-Based Identity
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud Adatum Infrastructure Post-Claims
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
• Windows Identity Foundation
• Active Directory Federation Services
Technologies at work
itcampro @ itcamp12 # Premium conference on Microsoft technologies
DEMO
Solving Adatum’s problem using Claims-Based Identity
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud What about Smart Clients?
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
• Welcome Federated Providers!
• Powerful way to provide SSO cross-domains
Going beyond Identity Providers
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud Adatum meets Litware
itcampro @ itcamp12 # Premium conference on Microsoft technologies
ACCESS CONTROL SERVICE
Windows Azure
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
• A feature of Windows Azure Active Directory
• Outsourcing Authentication (no need to write code)
• Works with .NET, PHP, Python, Java and Ruby
• Out-of-the-box support for a variety of identify providers
• Integrates with on-premises Active Directory
Shortly
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
• Open industry standards
– Protocols: OAuth 2.0, WS-Trust, WS-Federation
– Token formats: SAML 1.1/2.0 and Simple Web
Token
• $1,99 / 100.000 transactions
Benefits
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
• Built-in support for
– Windows Live ID
– Yahoo!
– WS-Federation Identity Providers
• Programatic configuration for
– WS-Trust based (AD FS 2.0)
– OpenID based
Identity Providers
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
• An application that relies on claims
• Implements federated authentication using ACS
• Trusts the ACS namespace
• Can be configured manually or programatically through ACS Management Service
Relying Party Applications
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud ACS Architecture
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
• ACS does heavy lifting for handling protocols
– WS-Federation
– WS-Trust
– OpenID
– OAuth 2.0, OAuth WRAP
– Facebook Graph
• ACS issues normalized tokens
– SAML
– SWT
ACS - Protocol Handling
itcampro @ itcamp12 # Premium conference on Microsoft technologies
ENOUGH TALKING,
LET’S DEMO!
Windows Azure ACS
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
1. Configure your application to outsource authentication to ACS
2. Configure ACS to include the identity providers you want to leverage
3. Configure ACS to process incoming identities and add new claims
4. Modify your application to consume claims from ACS and drive authorization decisions
5. Customize the default authentication user experience provided by ACS
Goals
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
• Windows Vista SP2, Windows Server 2008
SP2, Windows Server 2008 R2, or Windows 7
(32-bits or 64-bits)
• Internet Information Services (IIS) 7.0
• .NET Framework 4
• Visual Studio 2010
• Windows Identity Foundation Runtime
• Windows Identity Foundation SDK
Requirements
itcampro @ itcamp12 # Premium conference on Microsoft technologies
DEMO
Windows Azure ACS
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
• A feature of Windows Azure Active Directory
• Outsourcing Auth and Auth (no need to write code)
• Works with .NET, PHP, Python, Java and Ruby
• Out-of-the-box support for identify providers like Windows Live ID, Google, Yahoo! and Facebook
• Integrates with on-premises Active Directory
Summary
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud
• Windows Azure
Training Kit
• claimsid.codeplex.com
References
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Private &
Public Cloud Check Out AzureWorks.ro
www.azureworks.ro
itcampro @ itcamp12 # Premium conference on Microsoft technologies
meetwindowsazure.com
itcampro @ itcamp12 # Premium conference on Microsoft technologies
Q & A