Computer Science CSC 774Dr. Peng Ning CSC 774 Advanced Network Security Topic 2.5 Secret Handshake Slides by Tong Zhou
Computer Science CSC 774Dr. Peng Ning Goals Authenticate without revealing credentials –Consider two groups G 1 and G 2, two parties A G 1 and B G 2. A and B wants to authenticate each other. –If G 1 ≠ G 2 : A and B only know they are not in the same group. –If G 1 = G 2 : A and B can authenticate to each other. –A third party learns nothing by observing conversations between A and B.
Computer Science CSC 774Dr. Peng Ning Preliminaries: Pairing-based Cryptography Bilinear Maps: –Two cyclic groups of large prime order q: G 1 and G 2 – 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
Computer Science CSC 774Dr. Peng Ning Protocol Sketch Equipped with bilinear map ê and one-way hash function H 1 CA has a master key t. Assume a drivers and cops scenario.
Computer Science CSC 774Dr. Peng Ning Protocol Sketch Driver’s Licence: “p a”,T A T A = tH 1 (“p a-driver”) Traffic cop credential: “xy d”,T B T B = tH 1 (“xy d-cop”) Driver’s licence, please. Please show me your pseudonym. xy d p a
Computer Science CSC 774Dr. Peng Ning Protocol Sketch – Attacker Igor Driver’s Licence: “p a”,T A T A = tH 1 (“p a-driver”) Obtains Bob’s pseudonym “xy d” I am a cop. Driver’s licence, please. Please show me your pseudonym. xy d p a ??? This guy is not a cop.
Computer Science CSC 774Dr. Peng Ning Secret-Handshake Scheme (SHS) SHS.CreateGroup(G): executed by an administrator, generates the group secret GroupSecret G for G. SHS.AddUser(U,G,GroupSecret G ): creates user secret UserSecret U,G for new user U. SHS.HandShake(A,B): Users A and B authenticates each other. B discovers A G if and only if A discovers B G. SHS.TraceUser: Administrator tells the user from a transcript T generated during conversation between A and B. SHS.RemoveUser: Administrator revokes user U
Computer Science CSC 774Dr. Peng Ning Pairing-Based Handshake (PBH) PBH.CreateGroup: Administrator sets GroupSecret G as a random number PBH.AddUser: Administrator generates pseudonyms for users: and then generates the corresponding secret points: where H 1 is a one-way hash function.
Computer Science CSC 774Dr. Peng Ning Pairing-Based Handshake (PBH) PBH.Handshake: AB AB AB
Computer Science CSC 774Dr. 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.
Computer Science CSC 774Dr. 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 in of order q. Also, picks up a private key x, and computes the public key y=g x mod p AddUser: For user U, administrator generates id U, then generates a pair so that id U, w, t will be given to the user.
Computer Science CSC 774Dr. Peng Ning Computational Diffie-Hellman Instead of Bilinear Diffie-Hellman AddUser: For user U, administrator generates id U, then generates a pair so that id U, w, t will be given to the user. –How to generate the pair (w,t)? Randomly pick r, compute
Computer Science CSC 774Dr. Peng Ning Computational Diffie-Hellman Instead of Bilinear Diffie-Hellman Handshake: Assume user A has (id A, w A, t A ) and user B has (id B, w B, t B ). Define several marks (ElGamal Encryption): –
Computer Science CSC 774Dr. Peng Ning Computational Diffie-Hellman Instead of Bilinear Diffie-Hellman AB Handshake: AB randomly picks computes AB randomly picks computes verifies resp b AB verifies resp a