380 likes | 517 Views
Authentication for Paranoids: Multi-Party Secret Handshakes. Stanistlaw Jarecki, Jihye Kim, and Gene Tsudik Applied Cryptography and Network Security, 2006. Outline. Introduction Definition Proposed scheme Analysis Conclusion. Introduction. 皇軍司令部. 城隍廟佈告欄. 老鬼. 中將. Introduction.
E N D
Authentication for Paranoids:Multi-Party Secret Handshakes Stanistlaw Jarecki, Jihye Kim, and Gene Tsudik Applied Cryptography and Network Security, 2006
Outline • Introduction • Definition • Proposed scheme • Analysis • Conclusion
Introduction 皇軍司令部 城隍廟佈告欄 老鬼 中將
Introduction 找出自己人,並且把取消行動的訊息傳出去。 裘莊 找出老鬼與其同夥,並找出主謀。
Introduction • 2-party secret handshake protocol • A隸屬於G1部門,B隸屬G2部門 • A跟B能夠互相驗證,若且為若,兩人隸屬同部門。 • 如果兩人不同部門,只能知道A跟B兩人不同部門。 • 2-party SH特性 • Unobservability (不可觀察性) • 非部門成員無法得知A跟B隸屬某些特定部門,也無法得知A跟B隸屬同一部門。 • Unlinkability (不可連結性) • 無法連結同一部門內相同兩人多次進行協定,只有管理人知道。 • Privacy against eavesdropping insider (避免內部竊聽隱私) • 這包括其他部門的竊聽。
Introduction • 2002 – 2004 • Balfanz et al., Sakai et al., Castelluccia et al. • Bilinear Diffie-Hellman (BDH) • Computational Diffie-Hellman (CDH) • 不可觀察性與避免內部竊聽 – random oracle • 不可連結性 – one-time certificates
Introduction • Group secret handshake protocol 找出自己人,並且把取消行動的訊息傳出去。 裘莊 找出老鬼與其同夥,並找出主謀。
Introduction • Group authentication • Authenticated key agreement protocol • Authenticated group key agreement scheme • Group secret handshake (GSH) • Two-round group key agreement protocol • Burmester-Desmedt prorocol (BD) • One-time certificates for each group member
Introduction • The proposed scheme • BD group key agreement protocol • Affiliation-hiding authentication • The certificate for member of a group G is a Schnorr signature • One-time certificates
Outline • Introduction • Definition • Proposed scheme • Analysis • Conclusion
Construction • Entities • A set of players, Ui • A set of administrators, GA
Construction • Algorithms • Setup • 產生共同參數param • CreateGroup • 由GA(負責group G)執行,產生PKG、SKG與certificate revocation list CRLG。 • AddPlayer • 由player U與GA共同執行,進行幾回合後GA給U一組cert,包括假名、簽章等等資訊。
Construction • Algorithm • Handshake • 在group G中,有一群成員Δ = {U1, …, Un}要進行協定。每個成員Ui根據PKG、GA給的cert與CRLG執行handshake。在協定最後,Ui可以獲得session key K以及所有同部門的id。 • RemovePlayer • 由GA執行。撤銷cert,更新CRLG。
Construction • Communication • Anonymous broadcast channels (匿名廣播) • 外在攻擊者無法得知GA,成員與人數。 • 內部惡意者無法得知其他部門成員人數。 • Adversary Model • Inject / Delay / Erase / Modify the message
Construction • Requirement – Correctness • GA管group G,集合Δ為group G裡面的一部份誠實成員。 • 如果攻擊者傳送訊息給所有參與Handshake(Δ)的成員,則所有集合Δ的成員輸出(K, IDSet),其中IDSet有|Δ|個元素,每個參與成員都有GA給的唯一id。
Construction • Requirement – Authenticity • 任一誠實成員得到Handshake的session key,若其中有未受GA驗證的攻擊者參與,則攻擊者無法得知session key。
Construction • GSH.Handshake有authenticity,如果PPT adversary A只有可忽略的機率在game中獲勝: • 執行GSH.Setup與GSH.CreateGroup後,將param與PKG給A。 • A執行GSH.AddMember。A獲得GA給的membership cert。A得到的cert將寄給所有group G中所有成員。 • A在group G中挑選成員Δ = {V1, …, Vl},A參與並執行GSH.Handshake(Δ)。 • 如果有任何成員接受了攻擊者A的握手並產生(K, IDSet)。A如果可以區分下列兩種情況,A獲勝: • A得到session key K。 • A得到相同長度的隨機字串。
Construction • Requirement – Affiliation-hiding • 進行協定的所有成員之訊息沒有洩漏任何GA認證的成員id。 • GSH.Handshake有Affiliation-hiding,如果存在多項式時間演算法SIM與PPT攻擊者A有不可忽略的機率區分下列兩種情況,A獲勝: • A選擇一組成員Δ = {V1, …, Vl},不一定屬於同一部門。 • A與Δ進行GSH.Handshake。 • A執行SIM。
Construction • Requirement • Counting • Affiliation-hiding against eavesdropping insiders
Outline • Introduction • Definition • Proposed scheme • Analysis • Conclusion
Proposed scheme • Setup • 產生standard discrete logarithm參數(p, q, g) • Prime p, q of size polynomial in k • g is a generator of a subgroup in Zp* • H: {0, 1}* → Zq • F: {0, 1}* → Zp
Proposed scheme • CreateGroup • GA產生secret key與public key • SKG = x ∈ Zq • PKG = y = gx mod p
Proposed scheme • AddMember • Player U想加入group G。GA進行下列動作: • 產生一連串的假名(Pseudonyms) id1, …, idf∈{0,1}160 • f大於the number of handshake U will execute before receiving new player secrets. • 計算一連串Schnorr signature • (w1, t1), …, (wf, tf)∈(Zp*, Zq) • wk = grk mod p, tk = rk + xH(wk, idk) mod q, rk∈RZq • 滿足gtk = wkyH(wk, idk) mod p • U取得一組cert {(t1, id1, w1), …, (tf, idf, wf)}
Proposed scheme • RemoveMember • 從group G裡面移除成員U • GA先查看U的cert,並把這些假名增加並更新CRL列表上。
Proposed scheme • AGKA(Δ) authenticated group key agreement • Δ = {U1, …, Un},對於每個誠實成員Ui,從自己清單中移除一筆cert (t1, idi, wi),無論協定有沒有成功,都要移除。協定分2回合。
Proposed scheme 1 4 • AGKA(Δ) • Round 1 • Ui廣播(idi, wi) • 如果id發生碰撞,放棄執行協定。 • 如果接收到CRL清單上的id,廣播亂數Xi並在Roumd 2輸出REJECT • 如果上述情況都沒有,Ui排序收到的id,計算時,(U1, …, Un)為環狀排列,i.e. Un+1 = U1 2 3
Proposed scheme 1 4 • AGKA(Δ) • Round 2 • Ui廣播Xi • Ui獲得(Ki, IDSet), IDSet = {id1, …, idn}. 2 3
Outline • Introduction • Definition • Proposed scheme • Analysis • Conclusion
Correctness • Protocol AGKA 為一個正確的group key agreement scheme,如果所有參與成員皆計算出相同的key
Performance • Communication • 相同,都是2 rounds • Computation • BD需要兩次modular exponentiations • GSH要兩次modular multi-exponentiations
Affiliation-hiding • The GSH scheme is affiliation-hiding under the CDH assumption in the Random Oracle model. • Computational Diffie-Hellman assumption • Input pair (y, c), output cx s.t. y = gx mod p • 攻擊者必須區分 • 與honest players進行握手 • 執行simulator
Affiliation-hiding • The GSH is AH under the CDH in the RO • Simulator • 用亂數代表honest players (V1, …, Vl) • 隨機產生idi、wi與Xi • idi跟wi都是可以從GA獲得的資訊 • Xi才有可能洩漏成員資訊 • 攻擊者對兩者之一ztii+1 / ztii-1進行F queries,並利用這些值幫助計算Xi • CDH的y就是GA的public key
Affiliation-hiding • The GSH is AH under the CDH in the RO • w.l.o.g., 攻擊者對ztii+1進行F queries • 如果攻擊者有不可忽略的機率對任何值進行F queries,則存在一個index i∈{1,…,n} s.t. 攻擊者有不可忽略的機率得知特定index i的值。 • 攻擊者進行多項式次的F queries,會有index j且不可忽略的機率ε s.t. ztii+1出現在第j次F queries。
Affiliation-hiding • The GSH is AH under the CDH in the RO • 對於index i,simulator進行的動作 • 亂數ei in the range of F • wi = cy-ei,並將H(wi, idi)設為ei • 所以zi = wiyH(wi, idi) = wiyei = c • 攻擊者querying F的某個值會等於cti+1 • 假設index i+1代表一個惡意player Ai+1 • ti+1滿足gti+1 = wi+1yei, ei = H(wi+1, idi+1)
Affiliation-hiding • The GSH is AH under the CDH in the RO • 這表示攻擊者執行H(wi+1, idi+1)時,e(1)i+1與e(2)i+1為不同值。 • 根據forking lemma,有O(qH/ε)機率可以獲得cx
Outline • Introduction • Definition • Proposed scheme • Analysis • Conclusion
Conclusion • 2-party HS => GHS • Requirement and Model • Forking lemma • CRL的管理