【正文】
igA {ga, gb, B}} B ? A: gb, EK {sigB {ga, gb, A}} ? Shared secret: gab ? Authenticated ? Identity Protection ? DoS Protection (Here B must store b in step 2, but we’ll fix this later…) Cookie transformation ?Typical protocol ? Client sends request to server ? Server sets up connection, responds ? Client may plete session or not (DOS) ?Cookie version ? Client sends request to server ? Server sends hashed data back – Send message 2 later after client confirms ? Client confirms by returning hashed data ? Need extra step to send postponed message Cookie in JFK ?Protocol susceptible to DOS A ? B: ga, A B ? A: gb, EK {sigB {ga, gb, A}} A ? B: EK {sigA {ga, gb, B}} ?Use cookie: JFK core protocol A ? B: ga, A B ? A: gb, hashKB {gb, ga} A ? B: ga, gb, hashKB {gb, ga}, eh2 B ? A: gb, eh1 eh1 eh2 Efficiency: Reuse DH key ?Costly to pute ga, gb, gab ?Solution ? Keep mediumterm ga, gb (change ~10 min) ? Replace ga by pair ga, nonce ?JFKi, JFKr protocols (except cert or grpinfo, …) A ? B: Na, ga, A B ? A: Nb, gb, hashKB {Nb, Na, gb, ga} A ? B: Na, Nb, ga, gb, hashKB {Nb, Na, gb, ga}, EK {sigA {Na, Nb, ga, gb, B}} B ? A: gb, EK {sigB {Na, Nb, ga, gb, A}} Note: B does not need to store any shortterm data in step 2 Conclusion ?Many protocol properties ? Authentication Secrecy ? Prevent replay Forward secrecy ? Denial of service Identity protection ?Systematic understanding is possible ? But be careful。 easy to make mistakes ? State of the art – need to analyze plete protocol – research will produce positional methods