certificateless public key encryption without paring joonsang baek, reihaneh safavi- naunu, and...
Post on 19-Dec-2015
228 views
TRANSCRIPT
Certificateless Public Key Encryption without Paring
Joonsang Baek, Reihaneh Safavi-Naunu, and Willy Susilo
報告者:陳國璋
Outline
前言 動機 Model Security Notion Scheme 結論
前言 Certificateless Public Key Encryption (CLP
KE) 特點無須要求 public key certification沒有 key escrow 問題
缺點:依賴 IBE (Identity-Based Encryption) 也就是使用 bilinear pairing
此 paper 改進:不依賴 bilinear pairing
前言 Security against
Public key replacement attackChosen ciphertext attack
此 scheme 架構在 standard computation Diffie-Hellman (CDH) problem
Outline
前言 動機 Model Security Notion Scheme 結論
動機 A 想寄秘密訊息給 B 使用 PKE A 需要 B 的公鑰才能對訊息加密 當運算過程中都是正確的,只有 B 擁有的密鑰才
會對應到訊息加密的公鑰,才能解回密文 一個直接的涵義,必須要保證 B 的公鑰是正確的
動機 在一般 PKE 中,要取得公鑰要透過 CA 驗
證 準確的說, CA 在 B 的公鑰作 digital sign
與 digital certificate ,這包含了Resulting signature公鑰能防備 CA 中某些對公鑰有興趣的團體
動機 為了避免透過 CA 取得金鑰,改用 IBE ,
但是 IBE 有下列兩個缺點Bilinear pairingKey escrow
這篇論文的貢獻是不使用 bilinear pairing來架構 CLPKE
Outline
前言 動機 Model Security Notion Scheme 結論
Model
目的:允許 sender 傳送秘密訊息給 recipient 時,不須透過 CA 來取得 recipient 的公鑰
根據上述結果, certificate checking 要被移除,且能降低系統複雜度
此外, sender 必須保證只有誠實的 recipient 才能完成適當驗證過程來取得正確的” partial private key”( 這必須要跟 key generation center(KGC)取得的 identity ID 有關聯 ) ,才有能力解密
Model
跟原本的 CLPKE 相同的 algorithmSetupSetSecretValueSetPrivateKeyEncryptDecrypt
Model
跟原本的 CLPKE 不同的 algorithmPartialKeyExtractSetPublicKey
Model
PartialKeyExtract algorithm 不同處輸出要保持私密的 partial private key輸出能被 user 的公鑰所產生的 partial public k
ey
Model
SetPublicKey algorithm 不同處藉由 PartialKeyExtract 的輸出當 SetPublicKey
的輸入,這樣 uesr 沒有透過 KGC 來取得 partial public/private pair 來取得 public key 是不可能的
Model
CLPKE 所包含的 algorithm – 1Setup由 KGC 執行產生 common parameter params產生 master key masterKey注意一點的是, params 會回傳給所有對公鑰
有興趣的團體(params,masterKey) = Setup()
Model
CLPKE 所包含的 algorithm – 2PartialKeyExtractKGC 執行把 params, masterKey 和接收到的 identity ID
當輸入產生 private key DID, public key PID
(PID,DID) = PartialKeyExtract(params,masterKey,ID)
Model
CLPKE 所包含的 algorithm – 3SetSecretValueUser 執行產生 secret value sID
sID = SetSecretValue(params,ID)
Model
CLPKE 所包含的 algorithm – 4SetPrivateKeyUser 執行產生 private key SKID
SKID = SetPrivateKey(params,DID,sID)
Model
CLPKE 所包含的 algorithm – 5SetPublicKeyUser 執行產生 public key PKID
PKID = SetPublicKey(params,PID,sID,ID)
Model
CLPKE 所包含的 algorithm – 6EncryptSender 執行Plaintext M -> Cipertext CC = Encrypt(params,ID,PKID,M)
Model
CLPKE 所包含的 algorithm – 7 Decrypt Recipient 執行 解密密文 δ ,不是原本明文就是 Reject 訊
息 δ= Decrypt(params,SKID,C)
Outline
前言 動機 Model Security Notion Scheme 結論
Security Notion
Indistinguishability of CLPKE ciphertexts under chosen ciphertext attack
簡稱 IND-CLPKE-CCA 跟原本的 CLPKE 不同處在於 attacker 的”
public key request” queries 必須執行 PartialKeyExtract algorithm 並得到回應才行
Security Notion
如同原本的 CLPKE ,我們假設 2 種不同型態的攻擊者 AI 與 AII
AI 沒有透過 KGC 取得 master key
AII 有透過 KGC 取得 master key
Security Notion
Def: IND-CLPKE-CCAAI: type I attacker (public key replacement atta
ck)AII: type II attacker (chosen ciphertext attack)
Π: CLPKE scheme
Security Notion
考慮用 2 個 games “Game I” 與” Game II”分別和 AI 與 AII 跟 challenger 互動
Challenger 必須保有當攻擊者查詢的紀錄結果 (history of query-answer)
Security Notion
Game I: 攻擊者 AI 與 challenger 互動 Phase I-1:
challenger 執行 setup()產生 masterKey 與 paramschallenger 把 params 給 AI ,而 masterKey
保持私秘
Security Notion
Phase I-2: AI 有下列行動 - 1AI 要求 partial key extract queries i.e. (ID, ”part
ial key extract”)challenger 計算 (PID,DID) = PartialKeyExtract
(params,masterKey,ID)回傳 (PID,DID) 給 AI
Security Notion
Phase I-2: AI 有下列行動 – 2AI 要求 private key extract queries i.e. (ID, ”privat
e key extract”)challenger 計算
(PID,DID) = PartialKeyExtract(params,masterKey,ID) sID = SetSecretValue(params,ID) SKID = SetPrivateKey(params,DID,sID)
回傳 SKID 給 AI
Security Notion
Phase I-2: AI 有下列行動 – 3AI 要求 public key request queries i.e. (ID, ”publi
c key request”)challenger 計算
(PID,DID) = PartialKeyExtract(params,masterKey,ID) sID = SetSecretValue(params,ID) PKID = SetPublicKey(params,PID,sID,ID)
回傳 PKID 給 AI
Security Notion
Phase I-2: AI 有下列行動 – 4AI 隨時可以取代 public key PKID
Security Notion
Phase I-2: AI 有下列行動 – 5 AI 要求 decryption queries i.e. (ID,PKID,
C,” decryption”) 如果 challenger 在 query-answer 中有找到 SKID
計算 δ= Decrypt(params,SKID,C) , δ 可能是明文或是” Reject” 訊息
回傳 δ 給 AI
如果 challenger 在 query-answer 中沒找到 SKID 透過” knowledge extractor” 去解密文 δ 回傳 δ 給 AI
Security Notion
有關” knowledge extractor”原本的 CLPKE 遇到公鑰被取代的情況時,解
密結果只會回傳” Reject” 訊息新的 CLPKE 遇到上述情況時,可以透過 knowl
edge extractor 來對要求的密文解密“Secure Integration of Asymmetric and Symm
etric Encryption Scheme” 有更詳細的說明
Security Notion
Phase I-3: AI 輸出 2 篇等長明文 (M0,M1) 跟 target identity ID*
ID* 的限制 沒有查詢過 PartialKeyExtract 與 SetPrivateKey 不等於 public key 被取代的 identity
challenger 接收到 (M0,M1) 和 ID* 後,隨機挑選 β {0,1} 並建立 C* = Encrypt(params,PKID*,Mβ)
回傳 C* 給 AI
Security Notion
Phase I-4: AI 可作跟 Phase I-2 相同的 queries
ID* 的限制跟 Phase I-3 相同 限制不能查詢有關 C* 的 decryption query
Phase I-5: AI 輸出 β’ {0,1}
Security Notion
Game II: 攻擊者 AII 與 challenger 互動 Phase II-1:
challenger 執行 Setup()產生 masterKey 與 paramschallenger 把 masterKey 與 params 給 AII
Security Notion
Phase II-2: AII 有下列行動 – 1計算 partial key 與 ID 的關連性, AII 計算 (PID,
DID) = PartialKeyExtract(params,masterKey,ID)
Security Notion
Phase II-2: AII 有下列行動 – 2AII 要求 private key extract queries i.e. (ID, ”priva
te key extract”)challenger 計算
(PID,DID) = PartialKeyExtract(params,masterKey,ID) sID = SetSecretValue(params,ID) SKID = SetPrivateKey(params,DID,sID)
回傳 SKID 給 AII
Security Notion
Phase II-2: AII 有下列行動 – 3AII 要求 public key request queries i.e. (ID, ”publi
c key request”)challenger 計算
(PID,DID) = PartialKeyExtract(params,masterKey,ID) sID = SetSecretValue(params,ID) PKID = SetPublicKey(params,PID,sID,ID)
回傳 PKID 給 AII
Security Notion
Phase II-2: AII 有下列行動 – 4AII 要求 decryption queries i.e. (I
D,PKID,C,” decryption”)
如果 challenger 在 query-answer 中有找到 SKI
D
計算 δ= Decrypt(params,SKID,C) , δ 可能是明文或是” Reject” 訊息
回傳 δ 給 AII
Security Notion
Phase II-3: AII 輸出 2 篇等長明文 (M0,M1) 跟 target identity ID*
ID* 的限制 沒有查詢過 SetPrivateKey
challenger 接收到 (M0,M1) 和 ID* 後,隨機挑選 β {0,1} 並建立 C* = Encrypt(params,PKID*,Mβ)
回傳 C* 給 AII
Security Notion
Phase II-4: AII 可作跟 Phase II-2 相同的 queries
ID* 的限制跟 Phase II-3 相同 限制不能查詢有關 C* 的 decryption query
Phase II-5: AII 輸出 β’ {0,1}
Security Notion
, ( )
1| Pr[ ' ] |, { , }
2
( , , , )
IND CLPKE CCAGame i i
i
paex prex
i paex
prex
Adv A
i I II
A breaks IND CLPKE CCA
of with t q q
advantage of A that make q
partial key extraction and
q private key extrac
.
tion queries
is greater then with
t running time
Security Notion
Def: standard “computation Diffie-Hellman (CDH)” problem
p, q are two primes s.t. q | p-1 g: generator of Zp* A: attacker, tries to solve that
Given (g,ga,gb), for uniform a,b Zq*, compute κ=gab
AdvZq*CDH=Pr[A(g,ga,gb)=gab]
Outline
前言 動機 Model Security Notion Scheme 結論
Scheme
此 CLPKE scheme 是根據 Schnorr signature
計算成本相當低,是因為Schnorr signature 帶來的效率有效的把 Schnorr signature 與 public key encr
yption 作結合
Scheme
Schnorr signature“Efficient identification and signatures for sma
rt cards” hashed ElGamal Encryption
“Secure Integration of Asymmetric and Symmetric Encryption Scheme”
Scheme
Setup() 產生 2 質數 p 和 q s.t. q | p-1 g 為 Zp* 的 generator Random value x Zp* ,並計算 y=gx
Hash functions H1:{0,1}*×Zq*→Zq* H2:{0,1} ×{0,1} →Zq* H3:Zp*×Zp*→{0,1} ,
Return params = (p,q,g,y,H1,H2,H3) and masterKey = (p,q,g,x,H1,H2,H3)
0l 1l
l0 1l l l
Scheme
PartialKeyExtract(params,masterKey,ID) Random value s Zq*
Compute w = gs and t = s+xH1(ID,w)
Return (PID,DID) = (w,t)
Scheme
SetSecretValue(params,ID) Random value z Zq*
Return z
Scheme
SetPrivateKey(params,DID,sID)Set SKID = (sID,DID) = (z,t)
Return SKID
Scheme
SetPublicKey(params,PID,sID,ID)Let PID = w and sID = z
Compute μ = gz
Set PKID = (w,μ)
Return PKID
Scheme
Encrypt(params,PKID,M) M 長度為 PKID = (w,μ) Compute γID = wyH1(ID,w)
Pick σ {0,1} at random Compute r = H2(M,σ) Compute C = (c1,c2) where
c1 = gr
c2 = H3(k1,k2) (M||σ) ⊕ where k1 = μr and k2 = (γID )r
Return C Encryption 時,在 hashed ElGamal Encryption 中會多出
2 次的指數比較
1l
0l
Scheme
Decrypt(params,SKID,C) C = (c1,c2)
SKID = (z,t)
Compute M||σ=H2( ) c⊕ 2
if gH2(M,σ) = c1 then return M, otherwise return “Reject”.
Decryption 時,只會多 1 次的指數比較
1 1,z tc c
Outline
前言 動機 Model Security Notion Scheme 結論
結論 無須認證的公開金鑰加密法,採用 IBE 的技術能
夠達成 IBE 最大成本在 bilinear paring 此 CLPKE 的架構能抵抗金鑰取代攻擊法與選擇
密文攻擊法 透過 Schnorr signature 與 ElGamal 兩者技術的
結合,能將 IBE 中的 bilinear paring 取代,因此架構在 CDH 上,而不採用 BDH