authentication key distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · key distribution...

33
Lecture 9 1 Authentication & Key Distribution

Upload: others

Post on 04-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

Lecture 9

1

Authentication&

KeyDistribution

Page 2: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

Wherearewenow?

• We“know”abitofthefollowing:• Conventional(symmetric)cryptography• HashfunctionsandMACs• Publickey(asymmetric)cryptography• Encryption• Signatures• Identification(Fiat-Shamir)+ZeroKnowledge

• Andnowwhat?• Protocols(more“complicated”beasts)• Authentication/Identification• KeyDistribution

2

Page 3: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

SecureProtocols

• A protocol isasetofrulesforexchangingmessages between2ormoreentities/parties

• Aprotocolhasanumberofrounds (>1)andanumberofmessages (>1)

3

1.HelloBob!

2.Goodday,Alice!

3.Howareyou?

Page 4: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

SecureProtocols• Amessage isaunitofinformation/datasentfrom

oneentity/partytoanotheraspartofaprotocol

• Around isabasicunitofprotocoltime:1. Wakeupbecauseof:

a) Alarmclockb) Initialstartorc) Receivemessage(s)fromother(s)

2. Computesomething3. Sendmessage(s)toothers4. Repeatsteps2-3,ifneeded5. Waitformessage(s)orsleepuntilalarmclock

4

Page 5: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

What’saSecureProtocol?

• Whenactinghonestly,entities/parties(participants)achievethestatedgoal oftheprotocol,e.g.,:• AsuccessfullyauthenticatestoB,orBtoA• AandBmutuallyauthenticateeachother• AandBexchangeafreshsessionkey

• Adversarycandefeatthisgoal• e.g.,bysuccessfullyimpersonatingAinanauthenticationprotocolwithB

5

Page 6: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

TheEntities(2-PartySetting)

• Alice andBob•wanttomutuallyauthenticateand/orshareakey

• Eve,theadversary•passiveoractive

• MorecomplexprotocolsmayinvolveaTrustedThirdParty(TTP)•3rd partytrustedbybothAliceandBob

6

Page 7: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

• Entity Authentication:• corroborationthatanentityistheoneclaimed

• Unilateral Authentication:• entityauthentication:providingoneentitywithassuranceoftheother’sidentity,butnotviceversa

•MutualAuthentication:• entityauthenticationwhichprovidesbothentitieswithassuranceofeachother’sidentity

7

Definitions

Page 8: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

8

Examples:• Banktransactions,e.g.,cashwithdrawals• Remotelogin• Fileaccess• P2Ptransaction Hasuser’s

secrets

Doesn’t

Sendsecretorproveknowingit?

TTP

PeerOrServer

Purpose

Page 9: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

BasisforAuthentication

• Somethingyouknow (aPIN,orpassword)• Somethingyouhave:• Asecuretoken,e.g.,thatgeneratesaone-timepassword• Keyembeddedina“securearea” onacomputer,inbrowsersoftware,etc.• Asmartcard(whichmaycontainkeysandcanperformcryptographicoperationsonbehalfofauser).

• Somethingyouare(abiometric)

9

Page 10: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

10

• PIN-,PW-,Biometric-basedschemes

• Kerberos

• SecureID tokens

• Iris/retinascanners

• Thumbprint&hand/palmprint

• Handwritingacceleration&pressure

• PublicKeyIdentificationSchemes:

• Fiat-Shamir,etc.

• Authenticationprotocols

• Conventional- andpublickey-based(coveredlater)

ConcreteScenarios

Page 11: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

11

• Humansarenotoriouslyunreliable• Humanmemoryisveryvolatilestorage

• Whatahumancanremember:• PIN(nomorethan6-8digits)• Password(awordorashortphrase)

• Canahumandosingle-digitsums?Forgetit…

HumanFailings

Page 12: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

Biometrics

• Accuracy:• FalseAcceptanceRate(FalsePositive)• FalseRejectionRate(FalseNegative)

• Retinalscanner,fingerprintreader,handprintreader,voiceprint,keystroketiming,signature(shapeorpressure),etc.

12

Page 13: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

Fingerprints

• Vulnerability:• Dummyfingersanddeadfingers• Lostfingers

• Suitabilityandstability:• Notforpeoplewithhighprobabilityofdamagedfingerprints(e.g.,exema)• Notfor kids whoarestillgrowing• Othernoisesources:thermalandopticalnoise,temperatureaffectingskincondition…

13

Page 14: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

VoiceRecognition

• Singlephrase:• Canusetaperecordertofake

• Stability:• Backgroundnoise• Colds,vocalcorddamage/strain,laughinggasJ• Usewithpublicphones

14

Page 15: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

KeystrokeTiming

• Eachpersonhasadistincttypingtimingandstyle•Hand/fingermovements

• Suitability:•Bestdonefor“local”authentication• Avoidnetworktrafficdelay

15

Page 16: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

(Non-digital)Signatures

• Machinescannot(yet)matchhumanexpertsinrecognizingshapesofsignatures

• Addinformationonaccelerationand/orpressure• Signingonaspecialelectronictablet

16

Page 17: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

SecureID/SecureToken

17

89458920 display

power

Id-basedkey(inside)

895980390409982

Serial#

TTP/Server:secure&knowsallsecrets!

Page 18: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

SecureID/SecureToken

18

TTP/Server:secure&knowsallsecrets!

Page 19: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

Authentication(Protocols)

19

Protocolap1.0: Alicesays“IamAlice”

inanopennetwork,Bobcannot“see”Alice,so

EvesimplydeclaresherselftobeAlice

Page 20: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

Authentication:AnotherTry

20

Protocolap2.0: Alicesays“IamAlice”inanIPpacketcontaininghersourceIPaddress

Evecancreateapacket“spoofing”

Alice’saddress

Page 21: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

21

Protocolap3.0: Alicesays“IamAlice”andsendshersecretpasswordto“prove”it.

playbackattack: EverecordsAlice’spacket

andlaterplaysitbacktoBob

“I’mAlice”Alice’sIPaddr

Alice’spassword

OKAlice’sIPaddr

“I’mAlice”Alice’sIPaddr

Alice’spassword

Authentication:AnotherTry

Page 22: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

22

Protocolap3.1: Alicesays“IamAlice”andsendsherencrypted secretpasswordto“prove”it.

recordand

playbackstillworks!

“I’mAlice”Alice’sIPaddr

encryptedpassword

OKAlice’sIPaddr

“I’mAlice”Alice’sIPaddr

encryptedpassword

Authentication:AnotherTry

Page 23: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

23

Goal: avoidplaybackattack

Nonce: numberusedonce(R)ap4.0: toproveAlice“live”,BobsendsAlicenonce,R.Alice

mustreturnR,encryptedwithsharedsecretkey

“IamAlice”

R

E(K,R) Aliceislive,andonlyAliceknowskeytoencryptnonce,soit

mustbeAlice!• KmaybederivedfromAlice’spassword…• ThisprotocolworksifBobneverauthenticatestoAliceusingK

Authentication:YetAnotherTry

Page 24: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

Authentication:ap5.0

ap4.0requiressharedsymmetrickey• canweauthenticateusingpublickey?ap5.0: noncesandpublickeycryptography

msg2=R

UsingPKA,BobverifiesAlice’ssignatureofRinmsg3.SinceRisfreshandonlyAlicecancomputesignaturesusingSKA,BobconcludesthatAliceisreallythere.

msg3=SIGN(SKA,R)

Page 25: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

TheProtocol(Nonces)

1. Aà B: ”HiBob,it’s,me,Alice”

2. Bà A: R (challenge)

3. Aà B: E(K,R||B) (response)

25

WhynotsimplysendE(K,R)inlastmessage?

Page 26: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

TheProtocol(whatif?)

1.Bà A(Eve):“HiAlice,it’smeBob”

1.Eveà B: ”HiBob,it’s,me,Alice“

2.Bà A(Eve):R (challenge)

2.Eveà B:R

3.Bà Eve:E(K,R)

3.Eveà B:E(K,R) (response)26

Page 27: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

1. Aà B: ”HiBob,it’s,me,Alice”

2. Bà A: R

3. Aà B: E(Kab,R)orE(K,R||B)

27

• KabisonlyusedinAàBdirectionandadifferentkey(Kba)isusedinBàAdirection• Alternatively,canusethesameKinbothdirectionsbutincludeexplicitdirection

identifierinmsg

TheProtocol(Nonces)

Page 28: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

1. Aà B: ”HiBob,it’s,me,Alice”

2. Bà A: Sb (challenge)incrementSb

3. Aà B: E(K,Sb||B) (response)

■ NoPRNGneeded■ BothAandBmustrememberSb

28

TheProtocol(Seq.#s)

Page 29: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

Time-Stamps

Inclusionofdate/time-stampinmessageallowsrecipienttocheckforfreshness(aslongastime-stampisprotectedbycryptographicmeans).

1.Aà B:E(K,TIMEA ||B)

resultsinfewermessagesinprotocol

Butrequiressynchronizedclocks…(SimilartotheSecureIDscenario)

29

Page 30: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

KeyDistributionandManagement

• Conventional(Secret)keydistribution

• Publickeydistribution

30

Page 31: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

TrustedIntermediaries

SymmetricKeyProblem:•Howdotwoentitiesestablishsharedsecretkeyoveradistance(i.e.,overanetwork)?

Solution:•Mutuallytrustedon-linekeydistributioncenter(KDC)actsasintermediarybetweenentities

PublicKeyProblem:•WhenAlicegetsBob’spublickey(fromawebsite,email,disk,bboard),howdoessheknowitisreallyBob’s?

Solution:•Trustedoff-line certificationauthority(CA)

31

Page 32: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

KeyDistributionCenter(KDC)

• Responsiblefordistributingkeystopairsofusers(hosts,processes,applications)

• EachusermustshareauniquemasterkeywiththeKDC• UsethiskeytocommunicatewithKDCtogetatemporarysession keyforestablishingasecure“session”withanotheruser/program/host/entity• Eachmasterkeyisdistributed(agreedupon)insomeoff-linefashion(inperson,bysnail-mail,etc.)

32

Page 33: Authentication Key Distributionkeldefra/teaching/fall2016/uci... · 2016-10-27 · Key Distribution Center (KDC) • Responsible for distributing keys to pairs of users (hosts, processes,

KeyDistributionCenter(KDC)• AliceandBobneedtoshareakey• KDCsharesdifferentmasterkeywitheachregistereduser(manyusers)• AliceandBobknowtheirownmasterkeys:

KA andKBforcommunicatingwithKDC

33

KB KX

KY

KZ

KPKB

KA

KAKE

KDC