SlideShare a Scribd company logo
The story of MITREid
Justin Richer
The MITRE Corporation
© 2014 The MITRE Corporation. All rights reserved.
Approved for Public Release: Distribution Unlimited (Case Number: 14-1639)
The plight of a software developer
• I build things that people use
• I want to know who’s there
• What can I do?
1. Make local accounts
1. Make local accounts
1. Make local accounts
2. Use LDAP
2. Use LDAP
3. Use Enterprise SSO
3. Use Enterprise SSO
3. Use Enterprise SSO
Firewall
Intranet
Internet
What to do?
Give people a digital identity
Let’s build something
• OpenID 2.0 Server
• Running on corporate IT hardware in
corporate IT environment
• Backed by corporate SSO and user profile
information
• “We do SSO so you don’t have to”
Why OpenID?
• Open standard protocol
• Network-based federation
• User-driven trust model
• Simple to use and develop
Make it easy for developers:
Platform support
• Libraries:
– Java
– PHP
– Python
– Javascript
– Ruby
– Perl
– …
• Platforms & Plugins:
– Spring Security
– Elgg
– Wordpress
– Mediawiki
– Omniauth
– Drupal
– …
Usage Profile: The prototype
Firewall
Intranet
Internet
OpenID Server
SSO
Usage Profile: The external service
Firewall
Intranet
Internet
OpenID Server
SSO
User Profiles: The mobile user
Firewall
Intranet
Internet
OpenID Server
2FA
The architecture
Firewall
User Profiles
Shared
Database
Internal OP External OP
Intranet
Internet
Two-Factor AuthnCorporate SSO
Runtime security decisions
Adoption by the extended enterprise
The Long Tail
1
10
100
1000
10000
We didn’t even plan this
Multiple types of user
Moving on from OpenID 2.0
Let’s build it (again)!
• OAuth 2.0 and OpenID Connect server
• OpenID Connect client library
• Enterprise-friendly features and platform
• Flexible deployment
and...
Open Source
Implementing MITREid - CIS 2014 Presentation
We’re running it ourselves
Building the specifications
Moving toward federation across
the extended enterprise
Better security: Separation
OpenID
Provider
Delegating services: OAuth
OpenID
Provider
Better security: Revocation
Easier integration by developers
OpenID
Provider• Standard
• Agile
• Flexible
• Distributed
• Proprietary
• Fragile
• Rigid
• Centralized
Better administration:
An abstraction layer
OpenID
Provider
Scalable security decisions
Whitelist
Trusted partners, business contracts, customer
organizations, trust frameworks
Graylist
User-based trust decisions
Follow Trust on First Use model, keep logs
Blacklist
Very bad sites we don’t
want to deal with, ever
Organizations
decidethese
End-users
decidethese
Conclusions
• Use open standards
• Give your people digital identities and let
them decide where to use them
• Use federation where possible
Questions?
jricher@mitre.org

More Related Content

PPTX
Mit 2014 introduction to open id connect and o-auth 2
PDF
OpenID Connect: The new standard for connecting to your Customers, Partners, ...
PPTX
OpenID Connect 1.0 Explained
PDF
CIS14: Consolidating Authorization for API and Web SSO using OpenID Connect
PPTX
OpenID Connect and Single Sign-On for Beginners
PDF
Full stack security
PPTX
The Client is not always right! How to secure OAuth authentication from your...
PPTX
OpenID Connect: An Overview
Mit 2014 introduction to open id connect and o-auth 2
OpenID Connect: The new standard for connecting to your Customers, Partners, ...
OpenID Connect 1.0 Explained
CIS14: Consolidating Authorization for API and Web SSO using OpenID Connect
OpenID Connect and Single Sign-On for Beginners
Full stack security
The Client is not always right! How to secure OAuth authentication from your...
OpenID Connect: An Overview

What's hot (20)

PDF
OAuth 2.0 & OpenID Connect @ OpenSource Conference 2011 Tokyo #osc11tk
PDF
FIDO2 Specifications Overview
PPTX
LASCON 2017: SAML v. OpenID v. Oauth
PPTX
Securing your APIs with OAuth, OpenID, and OpenID Connect
PPTX
OpenId Connect Protocol
PDF
Single Sign On with OAuth and OpenID
PPTX
An Authentication and Authorization Architecture for a Microservices World
PDF
CIS 2015 OpenID Connect and Mobile Applications - David Chase
PDF
Troubleshooting Novell Access Manager 3.1
PDF
Stateless authentication with OAuth 2 and JWT - JavaZone 2015
PDF
FIDO2 Specifications Overview
PDF
Protecting web APIs with OAuth 2.0
PPTX
Why Assertion-based Access Token is preferred to Handle-based one?
PPT
OAuth 2.0 and OpenId Connect
PPTX
RSA Conference 2016: Don't Use Two-Factor Authentication... Unless You Need It!
PDF
Authorization and Authentication in Microservice Environments
PDF
Stateless authentication for microservices - Spring I/O 2015
PDF
muCon 2016: Authentication in Microservice Systems By David Borsos
PDF
Certification Authority - Sergio Lietti
PDF
Using Federation to Simplify Access to SharePoint, SaaS and Partner Applications
OAuth 2.0 & OpenID Connect @ OpenSource Conference 2011 Tokyo #osc11tk
FIDO2 Specifications Overview
LASCON 2017: SAML v. OpenID v. Oauth
Securing your APIs with OAuth, OpenID, and OpenID Connect
OpenId Connect Protocol
Single Sign On with OAuth and OpenID
An Authentication and Authorization Architecture for a Microservices World
CIS 2015 OpenID Connect and Mobile Applications - David Chase
Troubleshooting Novell Access Manager 3.1
Stateless authentication with OAuth 2 and JWT - JavaZone 2015
FIDO2 Specifications Overview
Protecting web APIs with OAuth 2.0
Why Assertion-based Access Token is preferred to Handle-based one?
OAuth 2.0 and OpenId Connect
RSA Conference 2016: Don't Use Two-Factor Authentication... Unless You Need It!
Authorization and Authentication in Microservice Environments
Stateless authentication for microservices - Spring I/O 2015
muCon 2016: Authentication in Microservice Systems By David Borsos
Certification Authority - Sergio Lietti
Using Federation to Simplify Access to SharePoint, SaaS and Partner Applications
Ad

Viewers also liked (20)

PDF
Auth in the extended enterprise - Keynote for MIT Legal Hack A Thon 2013
PDF
Aus cert event_2010
PPTX
Future makers
PDF
Priority moments digital
PPTX
Jamaica
PPT
здоров'я – найвища цінність життя людини
PPTX
Blackboard Mobile: Best Practices from the Field (Pre-Session Workshop)
PDF
iPad Pilot Projects at Framingham State University: Three Use Cases
DOC
Apuntes
PDF
Connected.
PDF
Be the Hero
PPT
ззт ехнологии царинная зош№1г.Харцызск
PPTX
ош № 2 отчет презентация о недели обж,нвп и мсп
PPTX
Bb w ppt_content_conferencesession-ittakesa_village_final
DOC
في الفصل
PPTX
Future makers
PPTX
Palo Alto Networks Application Usage and Risk Report - Key Findings for Korea
PPT
организация и методика выполнения проектов в физ ре
DOC
Apuntes
PPT
Auth in the extended enterprise - Keynote for MIT Legal Hack A Thon 2013
Aus cert event_2010
Future makers
Priority moments digital
Jamaica
здоров'я – найвища цінність життя людини
Blackboard Mobile: Best Practices from the Field (Pre-Session Workshop)
iPad Pilot Projects at Framingham State University: Three Use Cases
Apuntes
Connected.
Be the Hero
ззт ехнологии царинная зош№1г.Харцызск
ош № 2 отчет презентация о недели обж,нвп и мсп
Bb w ppt_content_conferencesession-ittakesa_village_final
في الفصل
Future makers
Palo Alto Networks Application Usage and Risk Report - Key Findings for Korea
организация и методика выполнения проектов в физ ре
Apuntes
Ad

Similar to Implementing MITREid - CIS 2014 Presentation (20)

PDF
CIS14: Implementing MITREid
PDF
WSO2Con ASIA 2016: Case Study: Identity in the WSO2 Ecosystem
PDF
Geneva Application Security Forum: Vers une authentification plus forte dans ...
PDF
2010 - Fédération des identités et OpenID
PPTX
Introduction to the FAPI Read & Write OAuth Profile
PPTX
Keeping Secrets on the Internet of Things - Mobile Web Application Security
PPT
OpenID Progress EEMA Conference
PDF
Identity 2.0 - OpenID And User Centric Identity
PDF
Open Source Identity Integration with OpenSSO
ODP
Building open source identity infrastructures
PPT
Identity Federation on JBossAS
PPTX
Open Source Insight: Amazon Servers Exposed Open Source & the Public Sector...
PDF
Identity mediation for enterprise identity bus
PPT
Web-services
PDF
Building the Social Web with OpenID
PDF
Real World Identity Managment
PPTX
Identity Management: Using OIDC to Empower the Next-Generation Apps
PPTX
Packt publishing book proposal api and mobile access management
PDF
Openid+Opensocial
PDF
Open Standards in Identity Management
CIS14: Implementing MITREid
WSO2Con ASIA 2016: Case Study: Identity in the WSO2 Ecosystem
Geneva Application Security Forum: Vers une authentification plus forte dans ...
2010 - Fédération des identités et OpenID
Introduction to the FAPI Read & Write OAuth Profile
Keeping Secrets on the Internet of Things - Mobile Web Application Security
OpenID Progress EEMA Conference
Identity 2.0 - OpenID And User Centric Identity
Open Source Identity Integration with OpenSSO
Building open source identity infrastructures
Identity Federation on JBossAS
Open Source Insight: Amazon Servers Exposed Open Source & the Public Sector...
Identity mediation for enterprise identity bus
Web-services
Building the Social Web with OpenID
Real World Identity Managment
Identity Management: Using OIDC to Empower the Next-Generation Apps
Packt publishing book proposal api and mobile access management
Openid+Opensocial
Open Standards in Identity Management

Recently uploaded (20)

PPT
Teaching material agriculture food technology
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Getting Started with Data Integration: FME Form 101
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Electronic commerce courselecture one. Pdf
PPTX
Tartificialntelligence_presentation.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Encapsulation theory and applications.pdf
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Teaching material agriculture food technology
Diabetes mellitus diagnosis method based random forest with bat algorithm
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Getting Started with Data Integration: FME Form 101
Digital-Transformation-Roadmap-for-Companies.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Assigned Numbers - 2025 - Bluetooth® Document
Unlocking AI with Model Context Protocol (MCP)
Electronic commerce courselecture one. Pdf
Tartificialntelligence_presentation.pptx
MYSQL Presentation for SQL database connectivity
Encapsulation_ Review paper, used for researhc scholars
Dropbox Q2 2025 Financial Results & Investor Presentation
Per capita expenditure prediction using model stacking based on satellite ima...
Encapsulation theory and applications.pdf
Group 1 Presentation -Planning and Decision Making .pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11

Implementing MITREid - CIS 2014 Presentation

Editor's Notes

  • #3: It’s 2009. I’m not part of corporate IT, but I build interesting stuff that people want to use.
  • #4: Make everybody sign up for accounts
  • #5: But now I have to do key management And I’ll probably get it wrong
  • #6: But mine isn’t the only application that people use Bad UX Password management Extra credentials floating around And I probably got something wrong Besides, the user already has an account, let’s use that…
  • #7: Use same password across many sites, all backed by the same user store
  • #8: Benevolent MITM: user sends me their credentials directly, I replay those credentials against another service to make sure they’re good. Site could easily replay user credentials somewhere else, and users still need to enter UN/PW I never want to see your passwords! Plus, it’s not an HTTP protocol
  • #9: Why not use traditional enterprise SSO? Users get a cookie that represents them, it’s easy to integrate, it’s how we’ve always done it…
  • #10: HAHA: No. SSO domains are closely guarded and protected, centrally controlled I’m not an official IT app developer, I don’t have permission (and often can’t get permission) Many implementations suffer from the same MITM problems via domain-wide cookies (this has been used as a “feature” to proxy content for users)
  • #11: Additionally, the traditional SSO approach can’t extend to sites outside the firewall.
  • #13: “Welcome to your first day, now go get a gmail account so we can get started.” We give employees a phone, we give them an email address, why not an identity?
  • #14: OpenID 2.0 server backed by corporate SSO “We do SSO so you don’t have to” Running on corporate hardware in corporate environment Funded by a (tiny) corporate research initiative
  • #15: Automatically cross-platform
  • #16: Libraries available for OpenID 2.0 in a wide array of languages and platforms. One discussion with identity vendor: “We support *both* platforms!” … ?
  • #17: User is inside, the site they’re accessing is also inside. Typical development prototype system, driving much of my original use case.
  • #18: User is inside, site is on the outside. This bridges corporate SSO credentials to an outside site, like Stack Overflow. MITRE now has a nearly-SSO user experience for a site that we have no contract or other special relationship with. Think about the implications of that.
  • #19: User outside, site outside. We want more factors (especially with personal devices) but want to allow access to any external sites. We do *not* allow people to tunnel into the firewall.
  • #20: We have deployed both OpenID 2.0 and OpenID Connect using this architecture Shared DNS between servers (both look like “id.mitre.org”)
  • #21: Screenshot of MITREid OpenID 2.0 server Security decisions for users If you don’t know the answer to a trust question, ask the end user. Remember the decision. Log the event. TOFU: Trust On First Use.
  • #22: MITRE’s Handshake system (at the time another research prototype, now a well-used production service) is hosted outside of MITRE’s firewall to allow external user access. Handshake needed a mechanism that allowed MITRE people to log in using SSO credentials. They used the OpenID prototype to great success. Handshake is whitelisted by the OpenID server, meaning most users have an SSO-experience and don’t realize they’re using OpenID at all.
  • #23: Each bar is one site that was used, at least once, at the OpenID 2.0 server Logarithmic scale, number of users per site. Traditional IT likes to take care of the top couple sites (the “80%” rule) But what about all the sites with 5 users? 50 users? Most of the top ten aren’t whitelisted – some of the top sites aren’t even run by MITRE! There are 416 total sites There are 7896 total users There are 12611 total site approvals.
  • #24: Somebody had set up a Gitorious instance inside the firewall. Gitorious already had built-in OpenID 2.0 support. I typed in my identifier and it just worked.
  • #25: id.mitre.org: current MITRE users partnerid.mitre.org: extneral-to-MITRE username/password accounts cacproxy.mitre.org: DoD CAC holders We can separate classes of users foremost based on their IdP of origin In the future we hope to have other IdPs not run by MITRE
  • #26: We tried to make our OpenID 2.0 system as compatible and capable as possible (PAPE, SREG, AX, directed identities), but the world was starting to look into future capabilities of OAuth2 and OpenID Connect
  • #27: MITREid Connect MITREid was built on a shoestring budget with duct tape and bailing wire, MITREid Connect was engineered much more deliberately and released as open source (before any code was developed
  • #28: Apache 2.0 license Transitioned to MIT KIT in fall 2013 (co-owned by MITRE) MITRE continues to contribute through the OSS process
  • #29: Server and client in Java / Spring / Spring Security Related projects: JWK generator, JS account chooser, example custom server, example custom client All major development, bugs, documentation done on GitHub (small adaptor layers for
  • #31: Track and help build the specifications in IETF and OIDF Bring our use cases to the table and participate in the discussions, make sure the general solution is robust and powerful for all
  • #33: No need for domain-wide cookies to get SSO-like behavior (like “classic” enterprise SSO uses) Primary and global-secondary credentials aren’t leaked through sites, pairwise authentication only
  • #34: (incidentally, that back-end connection is where OAuth comes in, and we’re also using that extensively)
  • #35: We can revoke access to specific sites autonomously at the IdP Different sites get different parts of my identity
  • #36: Don’t need to ask a sysadmin’s permission (!!) Support across a wide variety of platforms and use cases
  • #37: Avoid mass upgrades to all the sites that are connected to your infrastructure (as long as the protocol doesn’t change) When we switched from CA SiteMinder to Oracle Access Manager, the hundreds of sites (MITRE and not) that were using the OpenID system never even knew the change happened.
  • #38: End users know what they’re trying to do – ask them to make the decisions (in the right circumstances)