Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.