authentication for paranoids: multi-party secret handshakes stanistlaw jarecki, jihye kim, and gene...
Post on 21-Dec-2015
225 views
TRANSCRIPT
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 與 CRL
G執行 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 adversar
y A 只有可忽略的機率在 game 中獲勝: 執行 GSH.Setup 與 GSH.CreateGroup 後,將 param 與 PK
G給 A 。 A 執行 GSH.AddMember 。 A 獲得 GA 給的 membership ce
rt 。 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∈R Zq
滿足 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
AGKA(Δ) Round 1
Ui廣播 (idi, wi) 如果 id 發生碰撞,放棄執行協定。 如果接收到 CRL 清單上的 id ,廣播亂數 Xi並在 Roumd
2 輸出 REJECT 如果上述情況都沒有, Ui排序收到的 id ,計算時, (U
1, …, Un) 為環狀排列, i.e. Un+1 = U1
1 1 1
1 1 1
,1 1
,1 1
1 1/ mod
i i i
i i i
i i
H w id ti i
H w id ti i
t ti i i
z w y g
z w y g
X F z F z p
1
2
3
4
Proposed scheme
AGKA(Δ) Round 2
Ui廣播 Xi
Ui獲得 (Ki, IDSet), IDSet = {id1, …, idn}.
1 21 1 2 modi
nt n ni i i i iK F z X X X p
1
2
3
4
Outline
Introduction Definition Proposed scheme Analysis Conclusion
Correctness
Protocol AGKA 為一個正確的 group key agreement scheme ,如果所有參與成員皆計算出相同的 key 2 3 11 2 modnt t t tt tK F g F g F g p
Performance
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 / zti
i-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., 攻擊者對 zti
i+1進行 F queries 如果攻擊者有不可忽略的機率對任何值進行 F q
ueries ,則存在一個 index i {1,…,∈ n} s.t. 攻擊者有不可忽略的機率得知特定 index i 的值。
攻擊者進行多項式次的 F queries ,會有 index j且不可忽略的機率 ε s.t. zti
i+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 的管理