Upload
aretha
View
57
Download
0
Embed Size (px)
DESCRIPTION
Public Key Encryption with Conjunctive Field Keyword Search. Dong Jin Park, Kihyun Kim, and Pil Joong Lee Presenter: 陳昱圻 2008/10/8. Outline. Introduction Preliminary CFKS scheme Proposed scheme 1 Proposed scheme 2 Security proof. Introduction. 將文件預先存放在伺服器. 搜尋文件. Alice. 傳回 Alice 的文件. - PowerPoint PPT Presentation
Citation preview
Public Key Encryption with Conjunctive Field Keyword Search
Dong Jin Park, Kihyun Kim, and Pil Joong Lee
Presenter: 陳昱圻2008/10/8
Outline
• Introduction• Preliminary• CFKS scheme• Proposed scheme 1• Proposed scheme 2• Security proof
Introduction
Alice
誠實卻好奇的伺服器
將文件預先存放在伺服器
搜尋文件
傳回 Alice 的文件
Introduction – 2000 Song
• 首推 2000年 Song 等人提出的方法。• 採用對稱式加密法。• 加密的文件跟欲搜尋的暗門有關。• 優點 : 非常節省空間 ( 文件大小為 m 則放
入伺服器大小也是 m)• 缺點 : 很多…
Introduction – 2004 Goh
• 繼 Song 等人的方法之後, Goh 提出 index的概念,加快了搜尋的效率。
• 使用了加密文件與可搜尋的密文分開儲存• 優點 : 搜尋效率較快 ( 使用雜湊函數 )• 缺點 : 碰撞 搜尋錯誤• 假設文件中總共有 m 的文字,訂定 n 個關
鍵字。則上傳給伺服器的加密文件大小為m ,可搜尋的密文為 n ,空間使用為 m+n
IntroductionUser1(Alice)
User2(Bob)
receive
send
Untrusted mail server
No interactive
Introduction
• Boneh 等人提出的 public key encryption with keyword search scheme 即為使用公開金鑰的搜尋機制,主要利用在 email 系統上。[EApub[M], PEKS(Apub, W1),…,PEKS(Apub, Wm)]M 為整篇 eamilW1…Wm 為關鍵字
Introduction
• Golle 等人提出的 Secure Conjunctive Keyword Search Over Encrypted Data主要集中在多關鍵字的搜尋方式。
• 根據上述兩種方法,希望可以做到多關鍵字的公開金鑰加密搜尋系統。
Outline
• Introduction• Preliminary
BDHBDHI
• CFKS scheme• Proposed scheme 1• Proposed scheme 2• Security proof
Preliminary
• 首先定義兩個困難的假設。 BDH 以及 BDHI ,基於這些安全假設上,可以證明提出的機制是安全的。
• 定義以下提到的 G1 為加法群, G2 為乘法群。
Preliminary-BDH
• 給一組數• 輸出• 一個攻擊者 A 可解 BDH 的能力為 ε
• 即為給 A看其是否能解
1,,, GPPPP 2),( GPPe
]),(),,,(Pr[ PPePPPPA
1,,, GPPPP 2),( GPPe
Preliminary-BDH
• 在 A 隨機挑選 • 一個攻擊者 B 輸出 ,且有能力 ε 去解 DBDH 問題
• R為 G2 內隨機選擇的數• 定義 1: 假如在沒有 t-time 的演算法有能力
ε 去解 BDH ,則 (t,ε)BDH 為困難的假設。
*,, PZ1,0b
|]0),,,,(Pr[]0)),(,,,,(Pr[| RPPPPBPPePPPPB
Preliminary-BDHI
• Bilinear Diffie-Hellman Inversion• 給一組數• 計算• 一個攻擊者 A 可解 BDHI 的能力為 ε
• 即為給 A 看其是否能解
• 方法與 BDH 類似,攻擊者 B 亦類似
1*1
2 )(,...,,, qq GPxPxxPP*2
/1),( GPPe x
]),(),...,,,(Pr[ /12 xq PPePxPxxPPA1*
12 )(,...,,, qq GPxPxxPP
*2
/1),( GPPe x
Outline
• Introduction• Preliminary• PECK scheme• Proposed scheme 1• Proposed scheme 2• Security proof
PECK scheme
• Email 訊息的格式
• 並具有以下特色1. 在同一文件相同的 keyword 不會出現在兩個不同的 field 裡面。2. 對於每個文件,每個 keyword field 都被定義。
))],...,(,(],[[ 1 mpubA WWAPECKMEpub
PECK scheme - Example
From To Date Status
m fields
Alice Bob 06/01/2004 Urgent
Alice Charlie 05/28/2004 Secret
… … … …
Dave Alice 06/04/2004 Non-urgent
n docs
D1
D2
Dn
The documents are the rows of the matrix Di = (Wi, 1, …, Wi, m)
Model 1 2 3 4 5 …
D1 Kevin-Wang
PHD NULL NULL NULL …
D2 Noodle is a fat pig …
D3 Kevin-Wang
is not CM-Wang NULL …
D4 I saw a NULL NULL …
D5 AI-lab 922B NULL NULL NULL …
PECK scheme – Example 2D1: Kevin-Wang Kevin-Wang Kevin-Wang Kevin-Wang Kevin-Wang PHDD2: Noodle is a fat pigD3: Kevin-Wang is not CM-WangD4: I saw a saw, saw a sawD5: AI-lab 922B
PECK scheme - Definition
• PECK 機制由以下幾個 polynomial time randomized algorithm 所組成。
• 1. KeyGen(1k) 得到公鑰私鑰對• 2. PECK(Apub, D) 產生 D 的可共節搜尋的密文 S
• 3. Trapdoor(Apriv, Q) 利用欲搜尋的內容與私鑰產生暗門 TQ
• 4. Test(Apub, S, TQ) 伺服器利用暗門與密文以及工要做比對之動作
Outline
• Introduction• Preliminary• PECK scheme• Proposed scheme 1• Proposed scheme 2• Security proof
Proposed scheme 1
• 在大多數的機制中,只有 Test 步驟會用到一個 pairing operation 。
• 在 scheme 1 適用在 email 匝道上搜尋資料與路由上。
• 首先介紹此機制的一些參數雜湊函數 H: 0,1*→G1
size 為小 p 的兩個群 G1 G2
大 P為 G1之 generator
Proposed scheme 1 - work
• KeyGen(1k)→Apub=[P, Y1=s1P, Y2=s2P]Apriv=[s1, s2]其中 s1,s2為 Zp 中隨機選的兩個數
• PECK(Apub, D)→r 為屬於 Zp 隨機值 ,D=W1,W2,…,Wm
• Trapdoor(Apriv, Q)→TQ=[T1,T2,I1,…,It]I1,…,It 為欲搜尋的關鍵字之位置
],),),((),...,),(([ 2111 rPrYYWrHeYWrHe m
且隨機挑選
)(...)( mod
2
12
11
p
t
ZuT
HHpus
sT
size:mpr+2
size:2+ 欄位
size:2,3
Proposed scheme 1 - work
• Test(Apub, D, TQ): S=[A1, A2,…, Am, B=rY2, C=rP]驗證等式 AI1*AI2*…*AIt=e(T1,B+T2C)如果 WIi=Ωi(1≤i ≤t) 則輸出 yes 唯有搜尋到符合的 keyword ,驗證過程如下
),(
))),(...)(((
))),(...)(((
...
21
11
11
21
CTBTe
rPHHse
YWHWHre
AAA
t
II
III
t
t
Outline
• Introduction• Preliminary• PECK scheme• Proposed scheme 1• Proposed scheme 2• Security proof
Proposed scheme 2
• 在 scheme 1的 H function 中使用了所謂admissible encoding scheme (MapToPoint) ,這是一個負擔極大的計算。
• Scheme 2 不使用此方法。在 PECK 步驟的計算負擔較低。需要兩個雜湊函數
pHH 2log21 1,0*1,0:,
參照 Scheme 1的 H function
Proposed scheme 2 - work
• KeyGen(1k)→ Apub=[P, Y1=s1P,…, Ym+2=sm+2P, g=e(P,P)]Apriv=[s1,…,sm+2] P為 G1 生成元, sn為 Zp 中挑選的隨機數
• PECK(Apub,D)→ [r0(Y1+H1(W1)P)+r1P,…, r0(Ym+H1(Wm)P)+rmP,r1Ym+1,…, rmYm+1, r0Ym+2,H2(gr0) ]rn為 Zp 中挑選的隨機數
size:(m+2)+1+pr , m+2
size:2m+2
Proposed scheme 2 - work
• Trapdoor(Apriv,Q)→TQ=[T1,T2,T3,I1,…,It]
• Test(Apub, S, TQ): S=(A1,.., Am, B1,…, Bm, C, D)驗證
中的隨機數為 p3
11
2
21111
Z
1
)(...)(...
1
1
uT
Ts
T
PusHHss
T
m
mtII t
DTBBe
TCTAAeH
t
t
II
II
)
),...(
),...((
2
132
1
1
Outline
• Introduction• Preliminary• PECK scheme• Proposed scheme 1• Proposed scheme 2• Security proof
Security proof –game ICC
Adversary Challenger
選定 D0,D1
A 可以放資料或搜尋
Challenger 給予回應
A 可以再放資料或搜尋 而 challenger 持續做回應唯獨不能讓 A 去詢問 D0,D1 ,最後 A 要猜 b是 0或 1
傳回一 E(Db)
Security proof –game ICR
• 類似於 ICC• 唯有 D1=Rand(D0,T) T 為所有關鍵字的集合• A 目標也是分辨 D0&D1
• Proposition 1.If there is an adversary A that wins Game ICC with advantage ε, then there exists an adversary A’ that wins Game ICR with advantage ε/2.
Security proof –game ICLR
• 類似於 ICR• 唯有 D0=Rand(D,T) D1=Rand(D,T-t)
t 為關鍵字集合中的一個關鍵字• A 目標也是分辨 D0&D1
• Proposition 2.(Golle’s)If there is an adversary A that wins Game ICR with advantage ε, then there exists an adversary A’ that wins Game ICLR with advantage ε/m2
Security Proof –scheme 1
• 定義 scheme1 的安全性是架構在 ICLR game 中解 DBDH 問題是困難的假設上。
• 假設攻擊者 A在 game ICLR 擁有能力 ε 去破解scheme1 ,而 A 最多可做 qT 次詢問 Trapdoor 。
• 另外建立攻擊者 B有 ε’=ε/emqT 的能力解在 G1
的 DBDH 問題。 (執行時間與 A差不多 )• 當輸入 (P,αP,βP,γP,R) 攻擊者 B 的目標是如果
R=e(P,P)αβγ 輸出 1 ,若不是則輸出 0 。
Security Proof –scheme 1
• 證明的概念假設有攻擊者 A 可以破解scheme1 所以存在解 DBDH 的對手 B。因為 DBDH是 open problem ,所以 B 解不得 DBDH ,故推得存在攻擊者 A 是假設錯誤。
• 在 game ICLR ,攻擊者 B執行動作並持續與攻擊者 A互動,其過程步驟如下 :
Security Proof – KeyGen.
攻擊者 A 攻擊者 B
從 Zp 內選一隨機數 s
給 Apub=[P, Y1= αP, Y2=sP]
符合的 Apriv=[α,s]其中 α 值攻擊者 B 並不知道
Security Proof – Hash queries.
攻擊者 A 攻擊者 B
任何時候 A 可對 RO的 H 做詢問
其根據 B他手上的 H-list < Wi, hi, ai, ci >回應 H quries
H-list初始是空的,當 A 詢問 Wi的 H, B 回應如下。
Security Proof – Hash queries.攻擊者 A 攻擊者 B
跟 B 詢問 Wi的 H
步驟 1B看 H-list 內是否有出現過 Wi
如果有 <Wi, hi, ai, ci>
回傳 H(Wi)=hi
沒有在 H-list 內,則跳步驟 2
H-list
Security Proof – Hash queries.攻擊者 A 攻擊者 B
跟 B 詢問 Wi的 H
步驟 2B 產生一個隨機 0,1的 ci
Pr[ci=0]=1/qt
步驟 3B 選一 Zp 隨機 ai ,當ci=0則 B 計算 hi←ai(βP)ci=1則 B 計算 hi←aiP
步驟 4B增加 <Wi, hi, ai, ci>到 H-list 中並回應 H(Wi)=hi
回傳 H(Wi)=hi
H-list
Security Proof – Trapdoor queries.攻擊者 A 攻擊者 B
當 A 要做一個多關鍵字搜尋Qi=(Ii,1,…Ii,t,Ωi,1,… Ωi,t)
步驟 1 攻擊者 B執行上述演算法對於回應 H queries去取得 hi,j H(Ωi,j)=hi,j 且讓 <Ωi,j, hi,j, ai,j, ci,j> 為對應的 H-list如果 ci,j 沒有全部都是 1 ,則 B 會失敗。
步驟 2 我們知道 ci,j=1則 hi,j=ai,jP 定義 Ei=(ai,1+…+ai,t)Y1 Fi=(1/(s+ui)mod p)Ei 其中 ui是 Zp 隨機數Fi 對於欲查詢的 Q在 Apub 下是正確的暗門。
)(...)( ,1, tiii
i HHus
F
傳回 [Fi,ui,Ii,1,…,Ii,t]
Go back
Security Proof – Challenge.攻擊者 A 攻擊者 B
產生一關鍵字 W 以及位置 z希望來被 challenge
W,z步驟 1 B取得 H(W)=h且 <W,h,a,c> 符合 H-list如果 c=1則 B失敗
步驟 2 攻擊者 B 選多個隨機 Wi,j i為 0,1 j 介於 1~m除了 W0,z=WB 產生 Di=(Wi,1,…,Wi,m) 兩隨機文件限制先前的 Trapdoor 不能分辨此兩給W0,j讓 <W0,j,h0,j,a0,j,c0,j> 為符合的 H-list
步驟 3 B 回應 challenge[A1,…Am,B,C] 以及D0,D1 計算 challenge value 如下如果 c0,j=0, Aj=Ra0,j 否則 Aj=e(a0,j(γP),αP)- B=s(γP). C=γP.
回應 challenge 以及 D0,D1
Go back
Security Proof – Challenge.
• 如果 R為 e(P,P)αβγ 此 challenge 等於
這會是 D0 可用的 PECK],),),((),...,),(([ 21,011,0 PYYWHeYWHe m
Security Proof – More queries.
攻擊者 A 攻擊者 B
可以持續做詢問動作唯獨不能詢問有關 D0,D1
針對 A 的詢問作回應
Security Proof – Output.
• 最後 A 要輸出 b’為 0或 1 去分辨 challenge是 D0還是 D1 。如果 b’=0則 B 輸出 yes 表示R=e(P,P)αβγ ,否則輸出 no 。
Security Proof
• 以上完成描述了攻擊者 B 。而 B 可能失敗在 Trapdoor queries 以及準備 challenge 之時。
• 定義兩個事件E1: B 回應所有 A的 Trapdoor queries 不失敗E2: B準備挑戰給 A時也不會失敗
• 假設 qt足夠大 ,則 E1 的機率 而 E2 的機率 ,故 B
破解 DBDH 問題的能力為
eq tqt /1/11
meE /1]Pr[ 1 tqE /1]Pr[ 2 t
mqe/'
Security Proof
• 假設 DBDH 問題是棘手的, Scheme 1 在抵擋 adaptive chosen keyword attack 符合semantically secure 。
Conclusion
• 利用 bilinear map ,在共節搜尋上提出了兩個更有效率的機制。
• 在 scheme1 中,在 Test 用了一個 pairing operation ,但這也是常受到質疑的一個步驟。此機制是用在搜尋已儲存的資料,其安全性架構在 DBDH 問題上