39
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)

Implementing MITREid - CIS 2014 Presentation

Embed Size (px)

DESCRIPTION

The story of MITREid, a corporate identity system implemented at MITRE built around OpenID 2.0 and, later, OpenID Connect.

Citation preview

Page 1: Implementing MITREid - CIS 2014 Presentation

The story of MITREid

Justin RicherThe MITRE Corporation

© 2014 The MITRE Corporation. All rights reserved.

Approved for Public Release: Distribution Unlimited (Case Number: 14-

1639)

Page 2: Implementing MITREid - CIS 2014 Presentation

The plight of a software developer• I build things that people use• I want to know who’s there

• What can I do?

Page 3: Implementing MITREid - CIS 2014 Presentation

1. Make local accounts

Page 4: Implementing MITREid - CIS 2014 Presentation

1. Make local accounts

Page 5: Implementing MITREid - CIS 2014 Presentation

1. Make local accounts

Page 6: Implementing MITREid - CIS 2014 Presentation

2. Use LDAP

Page 7: Implementing MITREid - CIS 2014 Presentation

2. Use LDAP

Page 8: Implementing MITREid - CIS 2014 Presentation

3. Use Enterprise SSO

Page 9: Implementing MITREid - CIS 2014 Presentation

3. Use Enterprise SSO

Page 10: Implementing MITREid - CIS 2014 Presentation

3. Use Enterprise SSO

Firew

all

Intranet

Internet

Page 11: Implementing MITREid - CIS 2014 Presentation

What to do?

Page 12: Implementing MITREid - CIS 2014 Presentation

Give people a digital identity

Page 13: Implementing MITREid - CIS 2014 Presentation

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”

Page 14: Implementing MITREid - CIS 2014 Presentation

Why OpenID?• Open standard protocol• Network-based federation• User-driven trust model• Simple to use and develop

Page 15: Implementing MITREid - CIS 2014 Presentation

Make it easy for developers:Platform support

• Libraries:– Java– PHP– Python– Javascript– Ruby– Perl– …

• Platforms & Plugins:– Spring Security– Elgg– Wordpress– Mediawiki– Omniauth– Drupal– …

Page 16: Implementing MITREid - CIS 2014 Presentation

Usage Profile: The prototype

Firew

all

Intranet

Internet

OpenID ServerSSO

Page 17: Implementing MITREid - CIS 2014 Presentation

Usage Profile: The external service

Firew

all

Intranet

Internet

OpenID Server

SSO

Page 18: Implementing MITREid - CIS 2014 Presentation

User Profiles: The mobile user

Firew

all

Intranet

Internet

OpenID Server 2FA

Page 19: Implementing MITREid - CIS 2014 Presentation

The architecture

Firew

allUser Profiles

SharedDatabase

Internal OP External OP

Intranet

Internet

Two-Factor AuthnCorporate SSO

Page 20: Implementing MITREid - CIS 2014 Presentation

Runtime security decisions

Page 21: Implementing MITREid - CIS 2014 Presentation

Adoption by the extended enterprise

Page 22: Implementing MITREid - CIS 2014 Presentation

The Long Tail

1

10

100

1000

10000

Page 23: Implementing MITREid - CIS 2014 Presentation

We didn’t even plan this

Page 24: Implementing MITREid - CIS 2014 Presentation

Multiple types of user

Page 25: Implementing MITREid - CIS 2014 Presentation

Moving on from OpenID 2.0

Page 26: Implementing MITREid - CIS 2014 Presentation

Let’s build it (again)!• OAuth 2.0 and OpenID Connect server• OpenID Connect client library• Enterprise-friendly features and platform• Flexible deployment

and...

Page 27: Implementing MITREid - CIS 2014 Presentation

Open Source

Page 28: Implementing MITREid - CIS 2014 Presentation
Page 29: Implementing MITREid - CIS 2014 Presentation

We’re running it ourselves

Page 30: Implementing MITREid - CIS 2014 Presentation

Building the specifications

Page 31: Implementing MITREid - CIS 2014 Presentation

Moving toward federation across the extended enterprise

Page 32: Implementing MITREid - CIS 2014 Presentation

Better security: Separation

OpenID Provider

Page 33: Implementing MITREid - CIS 2014 Presentation

Delegating services: OAuth

OpenID Provider

Page 34: Implementing MITREid - CIS 2014 Presentation

Better security: Revocation

Page 35: Implementing MITREid - CIS 2014 Presentation

Easier integration by developers

OpenID Provider• Standard

• Agile• Flexible• Distributed

• Proprietary• Fragile• Rigid• Centralized

Page 36: Implementing MITREid - CIS 2014 Presentation

Better administration: An abstraction layer

OpenID Provider

Page 37: Implementing MITREid - CIS 2014 Presentation

Scalable security decisionsWhitelist

Trusted partners, business contracts, customer organizations, trust frameworks

GraylistUser-based trust decisions

Follow Trust on First Use model, keep logs

BlacklistVery bad sites we don’t want to deal with, ever

Org

aniz

ation

s de

cide

thes

e End-users decide these

Page 38: Implementing MITREid - CIS 2014 Presentation

Conclusions• Use open standards• Give your people digital identities and let

them decide where to use them• Use federation where possible

Page 39: Implementing MITREid - CIS 2014 Presentation

Questions?

[email protected]