55
Cardinal Key October 9, 2019 G OING P ASSWORDLESS @ S TANFORD Michael Duff, Chief Information Security Officer

Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Cardinal Key

October 9, 2019

GOING PASSWORDLESS @ STANFORD

Michael Duff, Chief Information Security Officer

Page 2: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Vision

Page 3: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Characteristics of Poor Authenticators• Secret is provided as part of authentication process

• Static passwords

• Credit card numbers, CSC, expiration date

• SSNs and DOBs

• Biometrics

• Same secret is provided to multiple services

• Reused passwords

• Credit card numbers, CSC, expiration date

• SSNs and DOBs

• Biometrics

• Secret is an identifier (vs. authenticator)

• Credit card numbers

• SSNs and DOBs

• Biometrics

Page 4: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Authenticator Value vs. Knowledge of Secret

Knowledge of Secret

Auth

Value

1 2

Page 5: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

passwordmanager.stanford.edu

Page 6: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Incidents as Catalysts

Page 7: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username
Page 8: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Two Factor Authentication (Since Fall 2013)

Page 9: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username
Page 10: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

encrypt.stanford.edu

Page 11: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

MyDevices

Compliance

Database

ExceptionsBigFix VLRE NetDBMDMAuth

Logs

Ad Hoc Reports:

bi.stanford.edu

Automated

Notifications

and

Enforcement

Enrollment

AppLDAP

MyDevices Portal:mydevices.stanford.edu

Page 12: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

mydevices.stanford.edu

Page 13: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Imagine not needing to enter

your username and password

anymore, all while being

dramatically more secure…

Page 14: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

cardinalkey.stanford.edu

Page 15: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username
Page 16: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Why are we doing this?

Page 17: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Integration Points

• VPN

• Web SSO

• Secure Wireless

Page 18: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

1

2 4

3

VPN Connections with Username + Password + Two-Step

Connected

Page 19: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

VPN Connections with a Cardinal Key

1

Connected

Page 20: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Logged In

Web Logins withUsername + Password +Two-Step

Page 21: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Web Logins with a Cardinal Key

Logged In

Page 22: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Rollout

Page 23: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

3 Years, 3 Phases

• Year 1: Infrastructure to support opt-in participation

• Year 2: UX improvements and broad adoption

• Year 3: Require for central services

Page 24: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Supported Platforms

Page 25: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username
Page 26: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Getting a Cardinal Key

in 60 Seconds

Client

cardinalkey.

stanford.

edu

Install

Two-

Step

Web

Login

1

2

34

Page 27: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username
Page 28: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username
Page 29: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Quid Pro Quo

Incentives

• Simplified logins

• Protection against credential phishing

Requirements

• Must have endpoint agent

• Must meet our cybersecurity standards

Page 30: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Opt-in Security Doesn’t Work

(even when the benefits are

overwhelmingly compelling)

Page 31: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Stanford Information Security Goals

No incidents attributable to a lack of best practices

Automated standards enforcement wherever possible

Uniform solutions across the University, Hospitals and SLAC

Balance security with usability and personal privacy

Stanford as a recognized leader in information security

Page 32: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Adoption

Page 33: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username
Page 34: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username
Page 35: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

“Life Changing”

Page 36: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

How It Works

Page 37: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

5 Year Lifetime

Identifies user

and device

Page 38: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

MyDevices

Mapping Cardinal Keys to Devices

Device x

Device x

Agent

Page 39: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username
Page 40: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Public Key CryptographySecret Key Public Key

Hi! Hi!

0011010

1101110

1001010

Bye! Bye!

1110000

0110101

1100011

Page 41: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Public Key

Page 42: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

AuthenticationClient Server

477dfa

54ede2

8e2f36

Generate random

challenge

Decrypt challenge

with secret key

Login request

Verify match

Encrypt with

public key

477dfa

54ede2

8e2f36

111000

001101

011101

477dfa

54ede2

8e2f36

477dfa

54ede2

8e2f36

Cardinal Key

=

477dfa

54ede2

8e2f36

Page 43: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Cardinal Key-Based Logins

Client w/

Cardinal

Key

O365

Shib

IdP

MyDevices

6) Require two-step

once every 90 days.

8) Device x is

fully compliant.

1) Client authenticates to IdP

via HTTPS handshake.

2) Is key valid? Verify and check validity period.

Check against CRL.

3) Extract key components of Cardinal Key

user ID and device ID

4) Confirm user account is

valid and active.

LDAP9) Authentication successful.

Redirect to O365 with login

assertion.

10) O365 login

assertion.

Duo

7) What is compliance

status of device x?

CRL

Page 44: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Client w/

Cardinal

Key

O365

Shib

IdP

MyDevices

4) Require two-step

every 90 days.

1) Client authenticates to IdP

via HTTPS handshake.

LDAP

3) User account

status check.

5) Auth successful. Redirect to

O365 with SAML login assertion.

6) O365 SAML login assertion.

Duo

Cloud

PathCert Cache

2) Device posture check +

Cardinal Key status check.

Device posture

updates.

Cardinal Key

Status updates.

AWS

SQS

SU AWS

On-Prem

3rd Party

Page 45: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Resources

• cardinalkey.stanford.edu

• uit.stanford.edu/service/mydevices

• twostep.stanford.edu

• encrypt.stanford.edu

• riskclass.stanford.edu

• minsec.stanford.edu

Page 47: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

CA Key Ceremony

• Undisclosed location

• Recording (via Zoom)

• Raspberry Pi (instead of HSM) – no networking

• Standard keyboard & monitor

• Keys generated with OpenSSL RAM disk

• No other computing devices permitted

• 10 pages of rehearsed step-by-step instructions

• 7 people x 10 hours

Page 48: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Key Ceremony

Private Key

Wrapped key

8 chars 8 chars 8 chars 8 chars 8 chars 8 chars

A, C B, D B, CA, DC, DA, B

A, C B, D B, CA, DC, DA, B

Key Wrapping Password

Key Masters: A, B, C, D

Use Shamir Secret Sharing instead

Page 49: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Cert Cache

• Transactional, HA MySQL database

• Feature of Shibboleth IdP

• Maps cert CN device and cert status

• REST API written in node.js

• Invoked by Shibboleth IdP, MyDevices,

and CloudPath

Page 50: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Certificate Hierarchy

• Root CA (20 yrs): cn=Stanford University MyDevices Root

CA, o=Stanford University, c=US

• Intermediate CA (10 yrs): cn=Stanford University MyDevices

Intermediate CA, o=Stanford University, c=US

• User/device (5 yrs): cn=userID/deviceID, title=Device

Name, ou=MyDevices, o=Stanford University, c=US

– Subject Alternative Name: rfc822Name = emailAddress

Page 51: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username
Page 52: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username
Page 53: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

SaaS Certificate Issuing Service

CloudPathIntermediate private key:

Stored in CloudPath and

used to generate certs

privpriv

Root CA private key:

Never online and requires

3 people to reassemble

User/device

certs

Page 54: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Key Design Decision Summary• Campus-wide 2FA

• Building MyDevices

• Device-specific user certs

• Certs do not convey device posture status ID only

• 5-year user/device cert lifetimes

• Cert hierarchy, fields, and 4K key sizes

• CA key ceremony

• Requiring 2FA for cert fetch and web SSO (periodically)

• SaaS cert issuing service

• Cert cache infrastructure

• Mapping certs to devices in MyDevices

Page 55: Cardinal Key - Cardinal Key - 09...VPN Connections with Username + Password + Two-Step Connected. VPN Connections with a Cardinal Key 1 Connected. Logged In Web Logins with Username

Lessons Learned• Most calendar time consumed by design decisions

• MyDevices wildly successful, yet resource-intensive

to build

• Open source platforms now available: Netflix

Stethoscope

• Similar: Google’s BeyondCorp, Duo Beyond

• UX improvements have a powerful impact

• Importance of branding

• Opt-in security doesn’t work