Presentation is loading. Please wait.

Presentation is loading. Please wait.

Certificateless Public Key Encryption without Paring Joonsang Baek, Reihaneh Safavi- Naunu, and Willy Susilo 報告者:陳國璋.

Similar presentations


Presentation on theme: "Certificateless Public Key Encryption without Paring Joonsang Baek, Reihaneh Safavi- Naunu, and Willy Susilo 報告者:陳國璋."— Presentation transcript:

1 Certificateless Public Key Encryption without Paring Joonsang Baek, Reihaneh Safavi- Naunu, and Willy Susilo 報告者:陳國璋

2 Outline 前言 動機 Model Security Notion Scheme 結論

3 前言 Certificateless Public Key Encryption (CLPKE) 特點  無須要求 public key certification  沒有 key escrow 問題 缺點:依賴 IBE (Identity-Based Encryption) 也就是使用 bilinear pairing 此 paper 改進:不依賴 bilinear pairing

4 前言 Security against  Public key replacement attack  Chosen ciphertext attack 此 scheme 架構在 standard computation Diffie-Hellman (CDH) problem

5 Outline 前言 動機 Model Security Notion Scheme 結論

6 動機 A 想寄秘密訊息給 B 使用 PKE A 需要 B 的公鑰才能對訊息加密 當運算過程中都是正確的,只有 B 擁有的密鑰才 會對應到訊息加密的公鑰,才能解回密文 一個直接的涵義,必須要保證 B 的公鑰是正確的

7 動機 在一般 PKE 中,要取得公鑰要透過 CA 驗證 準確的說, CA 在 B 的公鑰作 digital sign 與 digital certificate ,這包含了  Resulting signature  公鑰能防備 CA 中某些對公鑰有興趣的團體

8 動機 為了避免透過 CA 取得金鑰,改用 IBE ,但 是 IBE 有下列兩個缺點  Bilinear pairing  Key escrow 這篇論文的貢獻是不使用 bilinear pairing 來 架構 CLPKE

9 Outline 前言 動機 Model Security Notion Scheme 結論

10 Model 目的:允許 sender 傳送秘密訊息給 recipient 時, 不須透過 CA 來取得 recipient 的公鑰 根據上述結果, certificate checking 要被移除,且 能降低系統複雜度 此外, sender 必須保證只有誠實的 recipient 才能 完成適當驗證過程來取得正確的 ”partial private key”( 這必須要跟 key generation center(KGC) 取 得的 identity ID 有關聯 ) ,才有能力解密

11 Model 跟原本的 CLPKE 相同的 algorithm  Setup  SetSecretValue  SetPrivateKey  Encrypt  Decrypt

12 Model 跟原本的 CLPKE 不同的 algorithm  PartialKeyExtract  SetPublicKey

13 Model PartialKeyExtract algorithm 不同處  輸出要保持私密的 partial private key  輸出能被 user 的公鑰所產生的 partial public key

14 Model SetPublicKey algorithm 不同處  藉由 PartialKeyExtract 的輸出當 SetPublicKey 的輸入,這樣 uesr 沒有透過 KGC 來取得 partial public/private pair 來取得 public key 是不可能的

15 Model CLPKE 所包含的 algorithm – 1  Setup  由 KGC 執行  產生 common parameter params  產生 master key masterKey  注意一點的是, params 會回傳給所有對公鑰 有興趣的團體  (params,masterKey) = Setup()

16 Model CLPKE 所包含的 algorithm – 2  PartialKeyExtract  KGC 執行  把 params, masterKey 和接收到的 identity ID 當輸入  產生 private key D ID, public key P ID  (P ID,D ID ) = PartialKeyExtract(params,masterKey,ID)

17 Model CLPKE 所包含的 algorithm – 3  SetSecretValue  User 執行  產生 secret value s ID  s ID = SetSecretValue(params,ID)

18 Model CLPKE 所包含的 algorithm – 4  SetPrivateKey  User 執行  產生 private key SK ID  SK ID = SetPrivateKey(params,D ID,s ID )

19 Model CLPKE 所包含的 algorithm – 5  SetPublicKey  User 執行  產生 public key PK ID  PK ID = SetPublicKey(params,P ID,s ID,ID)

20 Model CLPKE 所包含的 algorithm – 6  Encrypt  Sender 執行  Plaintext M -> Cipertext C  C = Encrypt(params,ID,PK ID,M)

21 Model CLPKE 所包含的 algorithm – 7 Decrypt Recipient 執行 解密密文 δ ,不是原本明文就是 Reject 訊息 δ= Decrypt(params,SK ID,C)

22 Outline 前言 動機 Model Security Notion Scheme 結論

23 Security Notion Indistinguishability of CLPKE ciphertexts under chosen ciphertext attack 簡稱 IND-CLPKE-CCA 跟原本的 CLPKE 不同處在於 attacker 的 ”public key request” queries 必須執行 PartialKeyExtract algorithm 並得到回應才 行

24 Security Notion 如同原本的 CLPKE ,我們假設 2 種不同型態 的攻擊者 A I 與 A II A I 沒有透過 KGC 取得 master key A II 有透過 KGC 取得 master key

25 Security Notion Def: IND-CLPKE-CCA  A I : type I attacker (public key replacement attack)  A II : type II attacker (chosen ciphertext attack)  Π: CLPKE scheme

26 Security Notion 考慮用 2 個 games “Game I” 與 ”Game II” 分 別和 A I 與 A II 跟 challenger 互動 Challenger 必須保有當攻擊者查詢的紀錄結 果 (history of query-answer)

27 Security Notion Game I: 攻擊者 A I 與 challenger 互動 Phase I-1:  challenger 執行 setup()  產生 masterKey 與 params  challenger 把 params 給 A I ,而 masterKey 保持 私秘

28 Security Notion Phase I-2: A I 有下列行動 - 1  A I 要求 partial key extract queries i.e. (ID, ”partial key extract”)  challenger 計算 (P ID,D ID ) = PartialKeyExtract(params,masterKey,ID)  回傳 (P ID,D ID ) 給 A I

29 Security Notion Phase I-2: A I 有下列行動 – 2  A I 要求 private key extract queries i.e. (ID, ”private key extract”)  challenger 計算 (P ID,D ID ) = PartialKeyExtract(params,masterKey,ID) s ID = SetSecretValue(params,ID) SK ID = SetPrivateKey(params,D ID,s ID )  回傳 SK ID 給 A I

30 Security Notion Phase I-2: A I 有下列行動 – 3  A I 要求 public key request queries i.e. (ID, ”public key request”)  challenger 計算 (P ID,D ID ) = PartialKeyExtract(params,masterKey,ID) s ID = SetSecretValue(params,ID) PK ID = SetPublicKey(params,P ID,s ID,ID)  回傳 PK ID 給 A I

31 Security Notion Phase I-2: A I 有下列行動 – 4  A I 隨時可以取代 public key PK ID

32 Security Notion Phase I-2: A I 有下列行動 – 5  A I 要求 decryption queries i.e. (ID,PK ID,C,” decryption”)  如果 challenger 在 query-answer 中有找到 SK ID 計算 δ= Decrypt(params,SK ID,C) , δ 可能是明文或是 ”Reject” 訊息 回傳 δ 給 A I  如果 challenger 在 query-answer 中沒找到 SK ID 透過 ”knowledge extractor” 去解密文 δ 回傳 δ 給 A I

33 Security Notion 有關 ”knowledge extractor”  原本的 CLPKE 遇到公鑰被取代的情況時,解密 結果只會回傳 ”Reject” 訊息  新的 CLPKE 遇到上述情況時,可以透過 knowledge extractor 來對要求的密文解密  “Secure Integration of Asymmetric and Symmetric Encryption Scheme” 有更詳細的說 明

34 Security Notion Phase I-3:  A I 輸出 2 篇等長明文 (M 0,M 1 ) 跟 target identity ID*  ID* 的限制 沒有查詢過 PartialKeyExtract 與 SetPrivateKey 不等於 public key 被取代的 identity  challenger 接收到 (M 0,M 1 ) 和 ID* 後,隨機挑選 β {0,1} 並建立 C* = Encrypt(params,PK ID*,M β )  回傳 C* 給 A I

35 Security Notion Phase I-4:  A I 可作跟 Phase I-2 相同的 queries  ID* 的限制跟 Phase I-3 相同  限制不能查詢有關 C* 的 decryption query Phase I-5:  A I 輸出 β’ {0,1}

36 Security Notion Game II: 攻擊者 A II 與 challenger 互動 Phase II-1:  challenger 執行 Setup()  產生 masterKey 與 params  challenger 把 masterKey 與 params 給 A II

37 Security Notion Phase II-2: A II 有下列行動 – 1  計算 partial key 與 ID 的關連性, A II 計算 (P ID,D ID ) = PartialKeyExtract(params,masterKey,ID)

38 Security Notion Phase II-2: A II 有下列行動 – 2  A II 要求 private key extract queries i.e. (ID, ”private key extract”)  challenger 計算 (P ID,D ID ) = PartialKeyExtract(params,masterKey,ID) s ID = SetSecretValue(params,ID) SK ID = SetPrivateKey(params,D ID,s ID )  回傳 SK ID 給 A II

39 Security Notion Phase II-2: A II 有下列行動 – 3  A II 要求 public key request queries i.e. (ID, ”public key request”)  challenger 計算 (P ID,D ID ) = PartialKeyExtract(params,masterKey,ID) s ID = SetSecretValue(params,ID) PK ID = SetPublicKey(params,P ID,s ID,ID)  回傳 PK ID 給 A II

40 Security Notion Phase II-2: A II 有下列行動 – 4  A II 要求 decryption queries i.e. (ID,PK ID,C,” decryption”)  如果 challenger 在 query-answer 中有找到 SK ID 計算 δ= Decrypt(params,SK ID,C) , δ 可能是明文或 是 ”Reject” 訊息 回傳 δ 給 A II

41 Security Notion Phase II-3:  A II 輸出 2 篇等長明文 (M 0,M 1 ) 跟 target identity ID*  ID* 的限制 沒有查詢過 SetPrivateKey  challenger 接收到 (M 0,M 1 ) 和 ID* 後,隨機挑選 β {0,1} 並建立 C* = Encrypt(params,PK ID*,M β )  回傳 C* 給 A II

42 Security Notion Phase II-4:  A II 可作跟 Phase II-2 相同的 queries  ID* 的限制跟 Phase II-3 相同  限制不能查詢有關 C* 的 decryption query Phase II-5:  A II 輸出 β’ {0,1}

43 Security Notion

44 Def: standard “computation Diffie-Hellman (CDH)” problem p, q are two primes s.t. q | p-1 g: generator of Z p * A: attacker, tries to solve that  Given (g,g a,g b ), for uniform a,b Z q *, compute κ=g ab  Adv Zq* CDH =Pr[A(g,g a,g b )=g ab ]

45 Outline 前言 動機 Model Security Notion Scheme 結論

46 Scheme 此 CLPKE scheme 是根據 Schnorr signature 計算成本相當低,是因為  Schnorr signature 帶來的效率  有效的把 Schnorr signature 與 public key encryption 作結合

47 Scheme Schnorr signature  “Efficient identification and signatures for smart cards” hashed ElGamal Encryption  “Secure Integration of Asymmetric and Symmetric Encryption Scheme”

48 Scheme Setup()  產生 2 質數 p 和 q s.t. q | p-1  g 為 Z p * 的 generator  Random value x Z p * ,並計算 y=g x  Hash functions H 1 :{0,1}*×Z q *→Z q * H 2 :{0,1} ×{0,1} →Z q * H 3 :Z p *×Z p *→{0,1},  Return params = (p,q,g,y,H 1,H 2,H 3 ) and masterKey = (p,q,g,x,H 1,H 2,H 3 )

49 Scheme PartialKeyExtract(params,masterKey,ID)  Random value s Z q *  Compute w = g s and t = s+xH 1 (ID,w)  Return (P ID,D ID ) = (w,t)

50 Scheme SetSecretValue(params,ID)  Random value z Z q *  Return z

51 Scheme SetPrivateKey(params,D ID,s ID )  Set SK ID = (s ID,D ID ) = (z,t)  Return SK ID

52 Scheme SetPublicKey(params,P ID,s ID,ID)  Let P ID = w and s ID = z  Compute μ = g z  Set PK ID = (w,μ)  Return PK ID

53 Scheme Encrypt(params,PK ID,M)  M 長度為  PK ID = (w,μ)  Compute γ ID = wy H 1 (ID,w)  Pick σ {0,1} at random  Compute r = H 2 (M,σ)  Compute C = (c 1,c 2 ) where c 1 = g r c 2 = H 3 (k 1,k 2 ) ⊕ (M||σ) where k 1 = μ r and k 2 = (γ ID ) r  Return C Encryption 時,在 hashed ElGamal Encryption 中會多出 2 次的指數比較

54 Scheme Decrypt(params,SK ID,C)  C = (c 1,c 2 )  SK ID = (z,t)  Compute M||σ=H 2 ( ) ⊕ c 2  if g H 2 (M,σ) = c 1 then return M, otherwise return “Reject”. Decryption 時,只會多 1 次的指數比較

55 Outline 前言 動機 Model Security Notion Scheme 結論

56 無須認證的公開金鑰加密法,採用 IBE 的技術能夠 達成 IBE 最大成本在 bilinear paring 此 CLPKE 的架構能抵抗金鑰取代攻擊法與選擇密 文攻擊法 透過 Schnorr signature 與 ElGamal 兩者技術的結 合,能將 IBE 中的 bilinear paring 取代,因此架構 在 CDH 上,而不採用 BDH


Download ppt "Certificateless Public Key Encryption without Paring Joonsang Baek, Reihaneh Safavi- Naunu, and Willy Susilo 報告者:陳國璋."

Similar presentations


Ads by Google