• No results found

A Modular Framework for Multi-Factor Authentication & Key Exchange

N/A
N/A
Protected

Academic year: 2021

Share "A Modular Framework for Multi-Factor Authentication & Key Exchange"

Copied!
21
0
0

Loading.... (view fulltext now)

Full text

(1)

A Modular Framework for

Multi-Factor Authentication & Key Exchange

Nils Fleischhacker, Mark Manulis, Amir Azodi

(2)

Multi-Factor Authentication

IDENTITY KNOWLEDGE low-entropy passwords (static, one-time) POSSESSION PRESENCE biometric features (fingerprints, face, iris

behavior, etc..)

high-entropy secrets

(symmetric, asymmetric crypto) stored in software/hardware

e.g. USB tokens, smartcards

ENVIRONMENT

existence of social links (plays an increasing role within social networks and co) something the user knows something the user is

something the user has someone the user knows

MFA (client) authentication by combination of 2+ authentication factors

(3)

MFA standards and products

MFA patents and standards

• PCI Data Security Standard, Ver. 2, 2010 (payment card industry) • NIST Special Publication 800-63, 2011

• HMAC-based One-Time Password (HOTP, RFC 4226) • Time-based One-Time Password (TOTP, RFC 6238)

• FIDO Alliance Universal Authentication Framework (UAF), Oct 2014

MFA(KE) products

• 2FA websites: https://twofactorauth.org/ • OATH HOTP/TOTP

• RSA SecureID

(4)

MFA research highlights

• various MFA(KE) protocols

− e.g. [HAD06, A07, BSS+09, D09, FL09]

− mostly loose security definitions and partially missing analysis • first MFAKE model by Pointcheval and Zimmer [PZ08]

− three factors (1 password, 1 private key, 1 biometric) − liveness assumption (for biometrics) for the client − optional pk-based server authentication

− impersonation attacks found by Hao and Clarke [HC12]

• provably secure MFAKE protocol by Stebila, Udupi, and Chang [SUC10] − n factors as a mix of (one-time) passwords and symmetric keys

(5)

Example MFAKE protocol [PZ08]

gbvpw {gtigri}i , gaupw {H(K, pw, Ki, ...)}i WC = (w1, ..., wn) sk pw {gri, pkri gwi}i pk = gsk pw K = (gaupw / upw)b = gab K = (gbvpw / vpw)a = gab {Ki = (gtigri)sk gwi} i {Ki = pkti pkri gwi}i accept C if at least τ hash values match: {H(K, pw, Ki, ...)}i

Three factors biometric template WC = (w1, ..., wn), each wi is a bit private/public key (sk, pk = gsk)

(6)

Example MFAKE protocol [PZ08]

gbvpw

{gsi}i , gaupw

{H(K, pw, Ki, ...)}i

• attack in [HC12] shows that knowledge of pw can be used to reveal WC

• this shows that it is dangerous to mix authentication factors

WC = (w1, ..., wn) sk pw pk pw K = (gaupw / upw)b = gab K = (gbvpw / vpw)a = gab {Ki = (gsi)sk gwi} i

find wi by comparing hashes with H(K, pw, K0,i ...)} or

H(K, pw, K1,i ...) {K0,i = pksig0}

(7)

Aiming at Modular MFA Framework

Advantage through modularity

• cleaner design

− each factor is processed independently of any other factor − helps to avoid problems with “mixing” factors

• more flexible

− backwards compatibility with single-factor solutions − easier to replace factors, easier to add new factors

− flexibility in the adoption of multiple communication channels • simpler

− simpler security analysis

− simpler development and maintenance of MFA standards

Eventual drawbacks

• in general less efficient than customized solutions but − optimisation potential (comms, comps)

(8)

Aiming at Generalised MFA

(α,β,γ)-MFAKE framework

• support for arbitrary combinations of authentication factors

• initially three factor types: passwords, private/public keys, biometrics • each type may occur multiple times or not occur at all

− α passwords pwC = [pwC,1, ..., pwC,α] with pwC[i] ∊ 𝒟pw − β private keys skC = [skC,1, ..., skC,β] (and corresp. pkC) − γ biometrics WC = [WC,1, ..., WC,γ] with WC[i] ∊ DistC,i

• independent of channels/devices being used

Examples (2,0,0)-MFAKE pw one-time pw (1,1,0)-MFAKE (one-time) pw sk (1,0,1)-MFAKE pw fingerprint (1,1,1)-MFAKE pw sk fingerprint

(9)

Generalised MFA through Modularity

Build on existing single-factor protocols

• view existing single-factor solutions as instances of (α,β,γ)-MFA

− (1,0,0)-MFA = (one-time) password authentication − (0,1,0)-MFA = public-key authentication

− (0,1,0)-MFA = biometric authentication

construct General MFA as a product of single-factor authentication protocols

(α,β,γ)-MFA = α × (1,0,0)-MFA + β × (0,1,0)-MFA + γ × (0,0,1)-MFA

with some extra work

• this would allow for backward compatibility and simple addition of new factors − simply by increasing/decreasing α, β, γ

(10)

Use single-factor protocols offering at least unilateral authentication.

First Attempt: Template for (α,β,γ)-MFA

password authentication public key authentication

biometric authentication α β γ pwC[i] pwC[i] skC[i] accept WC[i] WC[i] WC skC pwC W C pkC pwC pkC[i] accept accept

If all factors accepted then accept C

possibly

encrypted hashed

This construction is not secure!

(11)

Massive Flexibility through Isolation

arbitrary order multiple channels

addition/removal of factors backward compatibility ±

(12)

MFA security model must allow active attacks for up to n – 1 compromised factors. An active adversary has typically full control over the network.

Impersonation Attack on Isolated Factors

f1 f1 fn–1 accept fn fn–1 accept accept

Server should not be allowed to accept based on completely isolated factors. fn

fn

f1, ... , fn

(13)

If S accepts there must exist an instance of C with the „same view“ as S. Same view is typically defined through matching protocol transcripts.

Designing secure (α,β,γ)-MFA: Step 1

password authentication public key authentication

biometric authentication α β γ pwC[i] pwC[i] skC[i] accept, tran[i] WC[i] WC[i] pkC[i] accept, tran[i] accept, tran[i]

If all factors accepted and tranC = tranS then accept C tran[i] tran[i] tran[i] authenticated matching of tranC = tranS

This needs to be realized without additional factors.

(14)

Tag-based Authentication

• authentication protocols that also ensures matching of input tags

Unauthenticated Key Exchange

• (forward-)secure key exchange in presence of passive adversary

− adversary sees (tran, key) pairs and should not be able to tell if key is real or random

• e.g. standard Diffie-Hellman KE protocol with ephemeral private keys

Designing secure (α,β,γ)-MFA: Step 2

tag-based password

authentication tag-based public key authentication tag-based biometric authentication pw, tag pw, tag accept sk, tag pk, tag accept W, tag W, tag accept UKE tran, K tran, K

(15)

Final (α,β,γ)-MFA Framework

tag-based

password authentication tag-based

public key authentication tag-based

biometric authentication α

β γ

tagC, pwC[i] tagS, pwC[i]

tagC, skC[i]

tagC, WC[i] tagS, WC[i]

tagS, pkC[i] accept, tran[i] accept, tran[i] accept, tran[i] tran[i] tran[i] tran[i] UKE

tran, key tran, key

tagC = H1(C, S, tran, key) tagS = H1(C, S, tran, key)

μC = H2(C, S, tranC, key) μS = H2(C, S, tranS, key)

If all factors accepted and μC = μS then accept C

(16)

Final (α,β,γ)-MFA Framework with KE

tag-based

password authentication tag-based

public key authentication tag-based

biometric authentication α

β γ

tagC, pwC[i] tagS, pwC[i]

tagC, skC[i]

tagC, WC[i] tagS, WC[i]

tagS, pkC[i] accept, tran[i] accept, tran[i] accept, tran[i] tran[i] tran[i] tran[i] UKE

tran, key tran, key

tagC = H1(C, S, tran, key) tagS = H1(C, S, tran, key)

μC = H2(C, S, tranC, key)

K = H3(C, S, tranC, key)

μC μ

S = H2(C, S, tranS, key)

If all factors accepted and μC = μS then compute

(17)

(α,β,γ)-MFA(KE) with Server Authentication

tag-based

password authentication tag-based

public key authentication tag-based

biometric authentication UKE

tran, key tran, key

tagC = H1(C, S, tran, key) tagS = H1(C, S, tran, key)

μC = H2(C, S, tranC, key) νC = H2(S, C, tranS, key) If accept and νS = νC then compute K = H3(C, S, tranC, key) μS = H2(C, S, tranS, key) νS = H2(S, C, tranS, key)

If all factors accepted and μC = μS then compute K = H3(C, S, tranC, key) μC

νS

tag-based

public key authentication

tagC, pkS tagS, skS

tran accept, tran

(18)

Client MFA(KE) Security Goals

Client Multi-Factor Authentication

• A is given access to Invoke, Send, BioComp, RevealSK, and CorruptC oracles • A wins if S accepts without an existing instance of C with a matching transcript

AKE security

• A has further access to Testb oracle in „real-or-random“ model [AFP05] • A wins if it outputs b* = b such that

Pr

[S accepts]

q

×

| 𝒟pw | α

falsepos i i = 1 γ

+

≤ negl

Pr

[b* = b]

q

×

1 2 | 𝒟pw | α

falsepos i i = 1 γ

+

≤ negl

(19)

Tag-based Single-Factor Authentication

with passwords

• PAKE protocols in the model from [BPR00] with client confirm

• applicable to Ω-method from [GMR06]

• non-invasive with public keys

• introduced in [JKSS10] • challenge-response

protocols: signature-based and 3-move ZK • invasive

tag-based

password authentication

password authentication with client confirmation

pw* = H(tag, pw)

accept pw* pw*

tag-based

public key authentication

challenge-response public key authentication

use c* = H(tag, c) to

compute and check response accept pk

(20)

Tag-based Single-Factor Authentication

with biometric templates

• e.g. using robust fuzzy extractors (Ext, Rec) from [BDK+05]

• (K, pub) ⟵ Ext(Wc) stored on server side after registration

• K‘ = K if δ(W‘C, WC) ≤ τ (e.g. matching based on Hamming distance) • invasive on client side

tag-based biometric authentication measure W‘C K‘ ⟵ Rec(W‘c, pub) K‘ = H(C, S, K‘, tag, pub) pub K, pub

challenge-response private key authentication

accept K K‘

(21)

Summary and Relations

General MFA(KE) framework

•single UKE session plus

•(parallelizable) single-factor authentication sessions

− α tag-based password authentication sessions − β tag-based public key authentication sessions − γ tag-based biometric authentication sessions

•optional server authentication without security risks (in contrast to [PZ08]) •has a lot of flexibiity and optimization potential

Proven relations

•symmetric PAKE model in [BPR00] is equivalent to (1,0,0)-MFAKE •public-key AKE model in [BJM97] is equivalent to (0,1,0)-MFAKE •(α,0,0)-MFAKE implies multi-password setting in [SUC10]

References

Related documents

Pain-blocking medication administered into the spinal space (fluid-filled area surrounding spinal cord and spinal nerves) with retention of con- sciousness and loss of

per- fringens strain by sera from calves immunized with the native alpha toxin (rCpa) or the non-toxic C-terminal fragment of the alpha toxin (Cpa 247–370 ).. perfringens

strategies that will market expanded deployment and expanded use of the technology tools and practices available to improve construction project management with the goal of

These studies allow to formulate challenging resource allocation problem in large-scale MIMO systems: antenna se- lection, user scheduling, power allocation, determination of the

The road accident characteristics studied in this study include their total number, cause of accidents, nature of accidents and type of injury, type of vehicles involved and time

While the expected benefits of formal schooling in terms of political leadership and access to high-level deci- sion making are clear, the tangible value of education for

Note that to maintain the angle of turn (bank), you may need to hold or move the stick back in the opposite direction just a bit. c) Before the turn is complete start moving