Binary State of Authentication by Parul Jain

34
More than just being signed-in or signed-out Parul Jain, Architect, Intuit @ParulJainTweety

Transcript of Binary State of Authentication by Parul Jain

Page 1: Binary State of Authentication by Parul Jain

More than just being

signed-in or signed-out

Parul Jain, Architect, Intuit

@ParulJainTweety

Page 2: Binary State of Authentication by Parul Jain

Why do we care?

TRUST &

SECURITY

EASE OF

ACCESS

Can’t eliminate friction? Delay it

Authentication Levels to

balance security and usability

Delightful product

experience

Page 3: Binary State of Authentication by Parul Jain

Authentication

Username

Password

Sign In

Signed In

Not Signed In

Page 4: Binary State of Authentication by Parul Jain

Authentication – Signed In or Not –

Example1

Sell an item

Place Ad

Username

Password

Signed In

Not Signed

In

Sign In

Browse OLX for used products

Page 5: Binary State of Authentication by Parul Jain

Authentication – Signed In or Not –

Example2

Browse apps on App Store

Install App

New App on Device

Username

Password

Signed In

Not Signed

In

Install App

Sign In

Page 6: Binary State of Authentication by Parul Jain

Why Authenticate?

Authentication is required to establish trust

Is trust binary - Trust you fully or Not at all

Degrees of trust - Factor of time and situation

Trust you for this but not for that

Didn’t trust you earlier but trust you now

Page 7: Binary State of Authentication by Parul Jain

Authentication Levels

Authentication is not binary

Authentication Assurance Levels (AAL)

Adaptive - Change with time and situation

Page 8: Binary State of Authentication by Parul Jain

Authentication Assurance Levels (AAL)

Less Trust

Submit

Enter OTP

Authentication Level 1

Authentication Level 2 More Trust

Page 9: Binary State of Authentication by Parul Jain

AAL – Example1

Authentication Level 1

Authentication Level 2

My bank account

Transfer Money

Payment

Authentication Level 0

Usernam

ePasswor

dSign In

My bank portal

Sign In

Page 10: Binary State of Authentication by Parul Jain

AAL – Example2

Authentication Level 1

Authentication Level 2

Transfer Money

New Payment Instrument

Authentication Level 0

Usernam

ePasswor

dSign In

Mint application

Sign In

Enter OTP

Submit

Access my personal finances

Page 11: Binary State of Authentication by Parul Jain

AAL – Example3

Authentication Level 1

Authentication Level 2

Browse products on Amazon

Track Order

Or

Checkout

View/Place Order

Username

Password

Sign In

Page 12: Binary State of Authentication by Parul Jain

MFA and AAL Relationship

AAL is the outcome.

MFA is the mechanism

MFA provides layered defense

Binary Authentication

Multiple Authentication Assurance Levels

Page 13: Binary State of Authentication by Parul Jain

LIC: Binary without MFA

Page 14: Binary State of Authentication by Parul Jain

Google: Binary with MFA

Page 15: Binary State of Authentication by Parul Jain

Amazon: Multiple Levels with MFA

Page 16: Binary State of Authentication by Parul Jain

Intuit: Multiple Levels with MFA

Page 17: Binary State of Authentication by Parul Jain

How to determine the AALs?

REQUIRE

Based on

sensitivity of

the APIs

ADAPT

Based on

trust in the

user with

time

ASSIGN

Based on

factors of

authentication

Page 18: Binary State of Authentication by Parul Jain

ASSIGN an AAL

ASSIGN REQUIRE

ADAPT

• What I know

• password

• What I have

• OTP

• What I am

• fingerprint

• Other

• Federated

Based on factors of authentication

Page 19: Binary State of Authentication by Parul Jain

ADAPT to an AAL

ADAPT

Based on trust in user with time

REQUIRE

Change in

• Device

• Geolocation

• IP address

• Velocity of use

• Behavioral Biometrics

• Anomalous behavior

ASSIGN

Page 20: Binary State of Authentication by Parul Jain

REQUIRE an AAL

REQUIRE

ADAPT

Based on sensitivity of the APIs

• Secret

• OAuth Client Secret

• Highly Sensitive

• Money movement

• Financial data

• Sensitive

• Personal

information

• Other

• Public information

ASSIGN

Page 21: Binary State of Authentication by Parul Jain

AAL Determination

Good

Step-up

Step-up

Good

Good

Step-up

Good

Good

Good

Trust in user

authentication

Sensitivity

of the APIs

Low High

Low

High

Page 22: Binary State of Authentication by Parul Jain

Component Interaction

Identity

Service

s

APIs

Client

1. Sign in

2. Session with an

AAL

4. Verify

3. Access

Resource

5. Step-up URL

6. Redirect for Step-

up

7. Step-up

8. Higher AAL

Determine

AAL

Remembe

r the state

Check

expected

AAL

Page 23: Binary State of Authentication by Parul Jain

Client

Widget

Configuration

Page 24: Binary State of Authentication by Parul Jain

APIs

Create the verify request

Verify with expected AAL

Page 25: Binary State of Authentication by Parul Jain

Identity Services

Authn Service

Risk Engine

Sign-in

Verify

Device,

IP, geo,

time, …

Get Risk

Score

Feedbac

k

ML Model

Real time Risk Score

Page 26: Binary State of Authentication by Parul Jain

UNIVERSAL STRONGAUTHENTICATION –

FIDO AS A STANDARD

Page 27: Binary State of Authentication by Parul Jain

Fast Identity Online (FIDO)

Page 28: Binary State of Authentication by Parul Jain

FIDO Protocols

Public Key cryptography

UAF – Universal Authentication Framework

• Password less UX

• Local device with UAF stack installed

• User presents a local authentication

U2F – Universal Second Factor

• Standalone U2F device - USB/NFC/Bluetooth

• Physical keychain with multiple keys – one for each origin

• Built-in support in web browsers

Page 29: Binary State of Authentication by Parul Jain

UAF

Src: https://fidoalliance.org/specifications/overview/

Page 30: Binary State of Authentication by Parul Jain

UAF - Registration

User Device

FIDO Client

Win, Mac,

iOS,

Android, …

FIDO Authenticators

User

Agent

Browser

, App,

Identity Provider

Web

App

FIDO

Server

1. Legacy Auth +

Initiate Registration

2. Registration

request

+ Policy

3. Enroll user

+ New Key Pair

4. Registration

response +

Attestation

+ User’s public key

5.

Validate Response +

Attestation

Store user’s Public Key

Page 31: Binary State of Authentication by Parul Jain

UAF - Authentication

User Device

FIDO Client

Win, Mac,

iOS,

Android, …

FIDO Authenticators

User

Agent

Browser

, App,

Identity Provider

Web

App

FIDO

Server

1. Initiate Authn

2. Authn request

+ Challenge +

Policy

3. Verify User and

unlock private key

4. Authn response

signed by user’s

private key

5.

Validate Response using

user’s Public Key

Page 32: Binary State of Authentication by Parul Jain

U2F

Src: https://fidoalliance.org/specifications/overview/

Page 33: Binary State of Authentication by Parul Jain

Summary

As developers we have thought of

authentication as a binary switch

We need to start thinking about the degree and levels of trust

Incorporate AAL into the design

thinking

AAL will help us in balancing security vs usability

Deliver delightful experience to

customers

Page 34: Binary State of Authentication by Parul Jain

Thank you