Top Banner
CSE543 - Introduction to Computer and Network Security Page CSE543 - Introduction to Computer and Network Security Module: Authentication Professor Trent Jaeger 1 1
42

CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

Mar 16, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

CSE543 - Introduction to Computer and Network Security

Module: Authentication

Professor Trent Jaeger

1

1

Page 2: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Kerberos• History: from UNIX to Networks (late 80s)‣ Solves: password eavesdropping

• Also mutual authentication‣ Online authentication

• Variant of Needham-Schroeder protocol

‣ Easy application integration API‣ First single sign-on system (SSO)‣ Genesis: rsh, rcp

• authentication via assertion

• Most widely used (non-web) centralized password system in existence (and lately only one…)

• Now: Windows 2K/XP/Vista/etc network authentication‣ Old Windows authentication was a cruel joke.

2

2

Page 3: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

An aside …• Authentication‣ Assessing identity of users‣ By using credentials …

• Authorization‣ Determining if users have the right to perform requested

action (e.g., write a file, query a database, etc.)

• Kerberos authenticates users, but does not perform any authorization functions …‣ … beyond identify user as part of Realm‣ Typically done by application.

• Q: Do you use any “Kerberized” programs?‣ How do you know?

3

3

Page 4: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

The setup …• The players‣ Principal - person being authenticated‣ Service (verifier) - entity requiring authentication (e.g, AFS)‣ Key Distribution Center (KDC)

• Trusted third party for key distribution• Each principal and service has a Kerberos password known to

KDC, which is munged to make a password ke, e.g., kA

‣ Ticket granting server• Server granting transient authentication

• The objectives‣ Authenticate Alice (Principal) to Bob (Service)‣ Negotiate a symmetric (secret) session key kAB

4

4

Page 5: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

The protocol• A two-phase process

1. User authentication/obtain session key (and ticket granting ticket) key from Key Distribution Center

2. Authenticate Service/obtain session key for communication with service

• Setup‣ Every user and service get certified and assigns password

5

5

Page 6: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Ticket (KAB)

“Locked” by KA

A Kerberos Ticket• A kerberos ticket is a token that …‣ Alice is the only one that can open it‣ Contains a session key for Alice/Bob (KAB)‣ Contains inside it a token that can only be opened by Bob

• Bob’s Ticket contains‣ Alice’s identity‣ The session key (KAB)

• Q: What if issuing service is not trusted?

(KAB)Ticket

“Locked” by KB

6

6

Page 7: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Phase 1 (obtaining a TGT)• Timeexp - time of expiration

• n - nonce (random, one-use value: e.g., timestamp)

Alice KDC

[A,TGS,Timeexp,n]1

E(kA,[kA,TGS,TGS,Timeexp,n]),E(KTGS,[A, kA,TGS, Timeexp],)

2

TGT

7

7

Page 8: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Phase 2 (authentication/key dist.)

Alice

Bob

[B,Timeexp,n,E(kA,TGS,[B,Timeexp,n])], E(KTGS,[A,kA,TGS,Timeexp])]

1

[E(kA,TGS,[kA,B,B,Timeexp,n]), E(kB, TGS,[A,kA,B,Timeexp])]

2TGS

3

[E(kA,B,[A,Timeexp,n]),E(kB, TGS,[A,kA,B,Timeexp])]

8

Authenticator

Ticket (for Bob)

8

Page 9: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Kerberos Reality• V4 was supposed to be replaced by V5‣ But wasn’t because interface was ugly, complicated, and encoding was

infuriating

• Assumes trusted path between user and Kerberos• Widely used in UNIX domains• Robust and stable implementation

• Problem: trust ain’t transitive, so not so good for large collections of autonomous enterprises

9

9

Page 10: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Meeting Someone New• Anywhere in the Internet

10

10

Page 11: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

What is a certificate?• A certificate …‣ … makes an association between a user identity/job/attribute

and a private key‣ … contains public key information {e,n}‣ … has a validity period‣ … is signed by some certificate authority (CA)‣ ... identity may have been vetted by a registration authority (RA)

• Issued by CA for some purpose‣ Symantec is in the business of issuing certificates‣ People trust Symantec (formerly Verisign)

to vet identity

11

11-1

Page 12: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

What is a certificate?• A certificate …‣ … makes an association between a user identity/job/attribute

and a private key‣ … contains public key information {e,n}‣ … has a validity period‣ … is signed by some certificate authority (CA)‣ ... identity may have been vetted by a registration authority (RA)

• Issued by CA for some purpose‣ Symantec is in the business of issuing certificates‣ People trust Symantec (formerly Verisign)

to vet identity

11

11-2

Page 13: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Why do I trust the certificate?• A collections of “root” CA certificates‣ … baked into your browser‣ … vetted by the browser manufacturer‣ … supposedly closely guarded (yeah, right)

• Root certificates used to validate certificate‣ Vouches for certificate’s authenticity

CA(signs)

CertificateSignature

12

12

Page 14: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Public Key Infrastructure• System to “securely distribute public keys (certificates)”‣Q: Why is that hard?

• Terminology:‣ Alice signs a certificate for Bob’s name and key

• Alice is issuer, and Bob is subject

‣ Alice wants to find a path to Bob’s key• Alice is verifier, and Bob is target

‣ Anything that has a public key is a principal‣ Anything trusted to sign certificates is a trust anchor

• Its certificate is a root certificate

13

13

Page 15: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Possible PKI Constructions

14

14-1

Page 16: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Possible PKI Constructions• Monarchy‣ Single globally trusted third party

14

14-2

Page 17: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Possible PKI Constructions• Monarchy‣ Single globally trusted third party

14

14-3

Page 18: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Possible PKI Constructions• Monarchy‣ Single globally trusted third party

• Anarchy‣ No globally trusted third party

• e.g., Using MIT’s PGP keyserver

14

14-4

Page 19: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Possible PKI Constructions• Monarchy‣ Single globally trusted third party

• Anarchy‣ No globally trusted third party

• e.g., Using MIT’s PGP keyserver

14

14-5

Page 20: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Possible PKI Constructions• Monarchy‣ Single globally trusted third party

• Anarchy‣ No globally trusted third party

• e.g., Using MIT’s PGP keyserver

• Oligarchy‣ Multiple globally trusted third parties

• Model used in the Internet

14

14-6

Page 21: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Possible PKI Constructions• Monarchy‣ Single globally trusted third party

• Anarchy‣ No globally trusted third party

• e.g., Using MIT’s PGP keyserver

• Oligarchy‣ Multiple globally trusted third parties

• Model used in the Internet

14

14-7

Page 22: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

The Internet PKI?

• Rooted tree of CAs• Cascading issuance‣ Any CA can issue cert

‣ CAs issue certs for children

… … …

Root

CA1 CA2 CA3

CA11 CA12 CA21 CA22CA1n

Cert11a Cert11b Cert11c … … … …

15

15

Page 23: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Certificate Validation

… … …

Root

CA1 CA2 CA3

CA11 CA12 CA21 CA22CA1n

Cert11a Cert11b Cert11c … … … …

CertificateSignature

16

16-1

Page 24: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Certificate Validation

… … …

Root

CA1 CA2 CA3

CA11 CA12 CA21 CA22CA1n

Cert11a Cert11b Cert11c … … … …

CertificateSignature

16

16-2

Page 25: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Certificate Validation

… … …

Root

CA1 CA2 CA3

CA11 CA12 CA21 CA22CA1n

Cert11a Cert11b Cert11c … … … …

CertificateSignature

16

16-3

Page 26: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

PKI and Revocation• Certificate may be revoked before expiration‣ Lost private key‣ Compromised ‣ Owner no longer authorized

• Revocation is hard …‣ The “anti-matter” problem‣ Verifiers need to check revocation state

• Loses the advantage of off-line verification

‣ Revocation state must be authenticated

17

17

Page 27: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Revocation Mechanisms

18

18-1

Page 28: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

• Certificate revocation lists (CRL)‣ Periodically issued‣ Delta CRLs when CRLs get too large

Revocation Mechanisms

18

18-2

Page 29: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

• Certificate revocation lists (CRL)‣ Periodically issued‣ Delta CRLs when CRLs get too large

• Online certificate revocation server ‣ Answers revoked = yes/no for a particular certificate

• Implemented by OCSP protocol

‣ Disadvantages? ‣ OCSP-stapling

Revocation Mechanisms

18

18-3

Page 30: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Where’s my PKI?

19

19-1

Page 31: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Where’s my PKI?• Really talking about a full PKI (everyone has certs.)

19

19-2

Page 32: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Where’s my PKI?• Really talking about a full PKI (everyone has certs.) • Why is that not a reality?‣ PKI was, like many security technologies, claimed to be a

panacea ‣ It was intended to solve a very hard problem: build trust on a

global level‣ Running a CA -- “license to print money”

19

19-3

Page 33: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Where’s my PKI?• Really talking about a full PKI (everyone has certs.) • Why is that not a reality?‣ PKI was, like many security technologies, claimed to be a

panacea ‣ It was intended to solve a very hard problem: build trust on a

global level‣ Running a CA -- “license to print money”

• Basic premise:‣ Assertion #1 - e-commerce does not need PKI‣ Assertion #2 - PKI needs e-commerce

19

19-4

Page 34: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Where’s my PKI?• Really talking about a full PKI (everyone has certs.) • Why is that not a reality?‣ PKI was, like many security technologies, claimed to be a

panacea ‣ It was intended to solve a very hard problem: build trust on a

global level‣ Running a CA -- “license to print money”

• Basic premise:‣ Assertion #1 - e-commerce does not need PKI‣ Assertion #2 - PKI needs e-commerce

• What are the problems?19

19-5

Page 35: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Where’s my PKI?

20

20-1

Page 36: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Where’s my PKI?• Some of the problems with creating a per-user PKI?‣ Who has the private key? (Security of client hosts)‣ How do I manage my private key(s)? (Usability)‣ Which users is a CA an authority over? (Root of Trust)‣ How do users find a legit CA? (Trusted Path)

20

20-2

Page 37: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Where’s my PKI?• Some of the problems with creating a per-user PKI?‣ Who has the private key? (Security of client hosts)‣ How do I manage my private key(s)? (Usability)‣ Which users is a CA an authority over? (Root of Trust)‣ How do users find a legit CA? (Trusted Path)

• Argument: We are trying to solve a painful problem: authenticating users.‣ What technical expectations can we make about users?

20

20-3

Page 38: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Burning question ...• Can we solve the PKI problem with better crypto?

21

21

Page 39: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Identity Based Cryptography• What if your email address was your public key?‣ E.g., E([email protected], data) = ciphertext?‣ E.g., Verify( signature, [email protected] )

• 1984 - Shamir asked for such a system, but it (largely) remained out of reach until Boneh/Franklin 2001‣ The public key is any arbitrary key‣ Based on “Weil pairings” -- a new cryptographic device with

lots and lots of uses (IBE among them)‣ Interested readers should see: Identity based encryption from

the Weil pairing, SIAM J. of Computing, Vol. 32, No. 3, pp. 586-615, 2003.

• Advances from theory community, few systems22

22

Page 40: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

IBE System• Functionally, you receive your private key from a

trusted third party who is responsible for generating all keys in the system.

• Thereafter you (and others) can use the system as if you generated the private key yourself.

• Advantages‣ No public key distribution‣ No name binding problems (?)‣ Key space flexibility‣ Others?

23

TTP

User

User

1) [email protected]

2) key([email protected])

3) E([email protected],data)

23

Page 41: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

Basic IBE Construction• Setup (generate by TTP)

• Extract (by TTP for user, string “str”)

• Encrypt (for user)

• Decrypt (by user)

24

Global Parameters = G

Master Key = KG

Extract(G, KG, Str) = K�Str

E(G, Str, data) = ciphertext

D(G, K�Str, ciphertext) = data

24

Page 42: CSE543 - Introduction to Computer and Network Security ...trj1/cse543-f17/slides/cse543-authentication.pdf · CSE543 - Introduction to Computer and Network Security Page An aside

CSE543 - Introduction to Computer and Network Security Page

IBE Reality• Many thought that IBE would lead to a revolution in public key

system (solve PKI problems), it didn’t.• Why - IBE moves the problems around‣ Is there any TTP that everyone trusts?‣ String ambiguity is still a problem? (John Robinson?)

‣ Revocation is still a problem (potentially worse)

• Fundamentally‣ IBE really does not solve the CA problem, as the TTP is

fulfilling that role.‣ Having strings instead of obscure numbers does not get at

the problems with PKI ... ‣ Existence of certificates is not really the problem ...

25

25