140 likes | 254 Views
This presentation explores advanced techniques in network security focused on secret handshake protocols. It details the objectives of authenticating two parties without revealing their credentials and outlines scenarios involving distinct user groups. The session covers the use of pairing-based cryptography, bilinear maps, and one-way hash functions to ensure secure communications. Key protocols, such as the Secret-Handshake Scheme (SHS) and Pairing-Based Handshake (PBH), are discussed, along with their implementation, user management, and robustness against attacks while maintaining user privacy.
E N D
CSC 774 Advanced Network Security Topic 2.5 Secret Handshake Slides by Tong Zhou Dr. Peng Ning
Goals • Authenticate without revealing credentials • Consider two groups G1 and G2, two parties AG1 and B G2. A and B wants to authenticate each other. • If G1 ≠ G2: A and B only know they are not in the same group. • If G1 = G2: A and B can authenticate to each other. • A third party learns nothing by observing conversations between A and B. Dr. Peng Ning
Preliminaries: Pairing-based Cryptography • Bilinear Maps: • Two cyclic groups of large prime order q: G1 and G2 • is a bilinear map if • ê should be computable, non-degenerate and satisfies Bilinear Diffie-Hellman assumption, i.e., given P, aP, bP, cP, it is hard to compute Dr. Peng Ning
Protocol Sketch • Equipped with bilinear map ê and one-way hash function H1 • CA has a master key t. • Assume a drivers and cops scenario. Dr. Peng Ning
xy6542678d p65748392a Protocol Sketch Please show me your pseudonym. Driver’s licence, please. Driver’s Licence: “p65748392a”,TA Traffic cop credential: “xy6542678d”,TB TB = tH1(“xy6542678d-cop”) TA = tH1(“p65748392a-driver”) Dr. Peng Ning
This guy is not a cop. xy6542678d p65748392a Protocol Sketch – Attacker Igor ??? Please show me your pseudonym. I am a cop. Driver’s licence, please. Driver’s Licence: “p65748392a”,TA Obtains Bob’s pseudonym “xy6542678d” TA = tH1(“p65748392a-driver”) Dr. Peng Ning
Secret-Handshake Scheme (SHS) • SHS.CreateGroup(G): executed by an administrator, generates the group secret GroupSecretG for G. • SHS.AddUser(U,G,GroupSecretG): creates user secret UserSecretU,G for new user U. • SHS.HandShake(A,B): Users A and B authenticates each other. B discovers A G if and only if Adiscovers BG. • SHS.TraceUser:Administrator tells the user from a transcript T generated during conversation between A and B. • SHS.RemoveUser: Administrator revokes user U Dr. Peng Ning
Pairing-Based Handshake (PBH) • PBH.CreateGroup: Administrator sets GroupSecretG as a random number • PBH.AddUser: Administrator generates a pseudonyms for user U: and then generates the corresponding secret points: where H1 is a one-way hash function. Dr. Peng Ning
A A A B B B Pairing-Based Handshake (PBH) • PBH.Handshake: Dr. Peng Ning
Pairing-Based Handshake (PBH) • PBH.TraceUser: Since the conversations of handshaking include the pseudonyms, administrator can easily figure out the users. • PBH.RemoveUser: Administrator removes user U by broadcasting its pseudonyms to all the other users, so that other users won’t accept pseudonyms of U. Dr. Peng Ning
Computational Diffie-Hellman Instead of Bilinear Diffie-Hellman • CreateGroup: Administrator picks (p,q,g). p and q are primes, g is a generator of a subgroup inof order q. Also, picks up a private key x, and computes the public key y=gx mod p • AddUser: For user U, administrator generates idU, then generates a pair so that idU, w, t will be given to the user. Dr. Peng Ning
Computational Diffie-Hellman Instead of Bilinear Diffie-Hellman • How to generate the pair (w,t)? Randomly pick r, compute Dr. Peng Ning
Computational Diffie-Hellman Instead of Bilinear Diffie-Hellman • Handshake: Assume user A has (idA, wA, tA) and user B has (idB, wB, tB). Define several marks (ElGamal Encryption): Dr. Peng Ning
A A A A B B B B randomly picks computes randomly picks computes Computational Diffie-Hellman Instead of Bilinear Diffie-Hellman • Handshake: verifies respb verifies respa Dr. Peng Ning