Getting web authentication right Joseph Bonneau jcb82@cl.cam.ac.uk - - PowerPoint PPT Presentation

getting web authentication right
SMART_READER_LITE
LIVE PREVIEW

Getting web authentication right Joseph Bonneau jcb82@cl.cam.ac.uk - - PowerPoint PPT Presentation

Getting web authentication right Joseph Bonneau jcb82@cl.cam.ac.uk Security Protocols Workshop March 28, 2011 J. Bonneau (U. of Cambridge) Getting web authentication right March 28, 2011 1 / 14 A parable of obsolescent technology Credit:


slide-1
SLIDE 1

Getting web authentication right

Joseph Bonneau jcb82@cl.cam.ac.uk Security Protocols Workshop March 28, 2011

  • J. Bonneau (U. of Cambridge)

Getting web authentication right March 28, 2011 1 / 14

slide-2
SLIDE 2

A parable of obsolescent technology

Credit: freeyellow.com

  • J. Bonneau (U. of Cambridge)

Getting web authentication right March 28, 2011 2 / 14

slide-3
SLIDE 3

Web authentication has evolved very little...

Wall Street Journal, 1996 Wall Street Journal, 2010

  • J. Bonneau (U. of Cambridge)

Getting web authentication right March 28, 2011 3 / 14

slide-4
SLIDE 4

Goals for this talk

An outline for how secure web-based password authentication can be

As secure as possible As simple as possible

No new software1 No change to user experience

How secure is this? Why aren’t implementations any where close?

1But a healthy dose of HTML 5 and other modern tricks

  • J. Bonneau (U. of Cambridge)

Getting web authentication right March 28, 2011 4 / 14

slide-5
SLIDE 5

Goals for this talk

An outline for how secure web-based password authentication can be

As secure as possible As simple as possible

No new software1 No change to user experience

How secure is this? Why aren’t implementations any where close?

1But a healthy dose of HTML 5 and other modern tricks

  • J. Bonneau (U. of Cambridge)

Getting web authentication right March 28, 2011 4 / 14

slide-6
SLIDE 6

Goals for this talk

An outline for how secure web-based password authentication can be

As secure as possible As simple as possible

No new software1 No change to user experience

How secure is this? Why aren’t implementations any where close?

1But a healthy dose of HTML 5 and other modern tricks

  • J. Bonneau (U. of Cambridge)

Getting web authentication right March 28, 2011 4 / 14

slide-7
SLIDE 7

How password authentication goes wrong

Keyloggers Phishing Persistent login cookies . . . Password recovery questions Password re-use Password database compromise . . . Cookie stealing Password guessing

  • J. Bonneau (U. of Cambridge)

Getting web authentication right March 28, 2011 5 / 14

slide-8
SLIDE 8

Registration (TLS)

Transmitted: y = HY

ℓ2(u||s),

x = HX

ℓ1(u||p||s)

Stored: y = HY

ℓ2(u||s),

z = HZ(u||x) s: site identifier u: username p: password x: “authenticator”

  • J. Bonneau (U. of Cambridge)

Getting web authentication right March 28, 2011 6 / 14

slide-9
SLIDE 9

Login (TLS)

Transmitted: u, x = HX

ℓ1(u||p||s)

Verified to exist in-database: HZ(u||x) Returned: Ku, a = AEKs(Ku, u, x, t, d) s: site identifier u: username p: password x: “authenticator” KS: Server master key a: session cookie Ku: session key t: expiration date d: additional data

  • J. Bonneau (U. of Cambridge)

Getting web authentication right March 28, 2011 7 / 14

slide-10
SLIDE 10

Site interaction (Plain HTTP)

Transmitted as a cookie: a = AEKs(Ku, u, x, t, d) Appended to requests: AEKu(data) s: site identifier u: username p: password x: “authenticator” KS: Server master key a: session cookie Ku: session key t: expiration date d: additional data

  • J. Bonneau (U. of Cambridge)

Getting web authentication right March 28, 2011 8 / 14

slide-11
SLIDE 11

Site interaction (Plain HTTP)

Transmitted as a cookie: HTTP-only a = AEKs(Ku, u, x, t, d) Appended to requests: AEKu(data) s: site identifier u: username p: password x: “authenticator” KS: Server master key a: session cookie Ku: session key t: expiration date d: additional data

  • J. Bonneau (U. of Cambridge)

Getting web authentication right March 28, 2011 8 / 14

slide-12
SLIDE 12

Site interaction (Plain HTTP)

Transmitted as a cookie: HTTP-only a = AEKs(Ku, u, x, t, d) Appended to requests: JavaScript & HTML5 localStorage AEKu(data) s: site identifier u: username p: password x: “authenticator” KS: Server master key a: session cookie Ku: session key t: expiration date d: additional data

  • J. Bonneau (U. of Cambridge)

Getting web authentication right March 28, 2011 8 / 14

slide-13
SLIDE 13

Site interaction (Plain HTTP)

Transmitted as a cookie: HTTP-only a = AEKs(Ku, u, x, t, d) Optional cookie: HTTP-only, SECURE asecure = AEKs(Ku, u, x, t2 > t, d) Appended to requests: JavaScript & HTML5 localStorage AEKu(data) s: site identifier u: username p: password x: “authenticator” KS: Server master key a: session cookie Ku: session key t: expiration date d: additional data

  • J. Bonneau (U. of Cambridge)

Getting web authentication right March 28, 2011 8 / 14

slide-14
SLIDE 14

Server verification

Verify & decrypt a = AEKs(Ku, u, x, t, d) Verify & decrypt AEKu(data) Verify that z = HZ(u||x) is stored (optional) Check timestamp t ≥ now Check ACL for u, d, data s: site identifier u: username p: password x: “authenticator” KS: Server master key a: session cookie Ku: session key t: expiration date d: additional data

  • J. Bonneau (U. of Cambridge)

Getting web authentication right March 28, 2011 9 / 14

slide-15
SLIDE 15

Server verification

Verify & decrypt a = AEKs(Ku, u, x, t, d) Verify & decrypt AEKu(data) Verify that z = HZ(u||x) is stored (optional) Check timestamp t ≥ now Check ACL for u, d, data s: site identifier u: username p: password x: “authenticator” KS: Server master key a: session cookie Ku: session key t: expiration date d: additional data

  • J. Bonneau (U. of Cambridge)

Getting web authentication right March 28, 2011 9 / 14

slide-16
SLIDE 16

Performance analysis

Login

Server

1 hash 1 DB lookup 1 AE + 1 RNG

Browser

1 iterated hash (≤ 0.1 s, PC; ∼ 1 s, mobile)

Interaction

Server

2 AE 1 DB lookup (optional)

Browser

2 AE (≤ 10 ms, PC; ≤ 0.1 s, mobile)

  • J. Bonneau (U. of Cambridge)

Getting web authentication right March 28, 2011 10 / 14

slide-17
SLIDE 17

Security analysis-many attacks prevented

rainbow tables

  • nline password guessing

cookie modification . . . session key theft (XSS) session cookie theft (sidejacking) read-only DB access user probing . . . XSS + sidejacking DB access + cookie theft malware in browser password theft phishing persistent log-in

  • J. Bonneau (U. of Cambridge)

Getting web authentication right March 28, 2011 11 / 14

slide-18
SLIDE 18

Security analysis-many attacks prevented

rainbow tables

  • nline password guessing

cookie modification . . . session key theft (XSS) session cookie theft (sidejacking) read-only DB access user probing . . . XSS + sidejacking DB access + cookie theft malware in browser password theft phishing persistent log-in

  • J. Bonneau (U. of Cambridge)

Getting web authentication right March 28, 2011 11 / 14

slide-19
SLIDE 19

Security analysis-many attacks prevented

rainbow tables

  • nline password guessing

cookie modification . . . session key theft (XSS) session cookie theft (sidejacking) read-only DB access user probing . . . XSS + sidejacking DB access + cookie theft malware in browser password theft phishing persistent log-in

  • J. Bonneau (U. of Cambridge)

Getting web authentication right March 28, 2011 11 / 14

slide-20
SLIDE 20

Some sobering facts

Over 90% of the top 500 websites collect passwords 29-50% store them in the clear 84% do not prevent brute force attacks at all 40% implement TLS correctly (20% incorrectly, 40% not at all) hashing in browser, HTTP-only cookies extremely rare...

  • J. Bonneau (U. of Cambridge)

Getting web authentication right March 28, 2011 12 / 14

slide-21
SLIDE 21

Even the frameworks get it wrong!

  • J. Bonneau (U. of Cambridge)

Getting web authentication right March 28, 2011 13 / 14

slide-22
SLIDE 22

Is it worthwhile to fix password authentication?

jcb82@cl.cam.ac.uk

  • J. Bonneau (U. of Cambridge)

Getting web authentication right March 28, 2011 14 / 14