Top Banner
Public Key Encryption with Conjunctive Field Keyword Search Dong Jin Park, Kihyun Kim, and Pil Joong Lee Presenter: 陳陳陳 2008/10/8
44

Public Key Encryption with Conjunctive Field Keyword Search

Feb 02, 2016

Download

Documents

aretha

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
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Public Key Encryption with Conjunctive Field Keyword Search

Public Key Encryption with Conjunctive Field Keyword Search

Dong Jin Park, Kihyun Kim, and Pil Joong Lee

Presenter: 陳昱圻2008/10/8

Page 2: Public Key Encryption with Conjunctive Field Keyword Search

Outline

• Introduction• Preliminary• CFKS scheme• Proposed scheme 1• Proposed scheme 2• Security proof

Page 3: Public Key Encryption with Conjunctive Field Keyword Search

Introduction

Alice

誠實卻好奇的伺服器

將文件預先存放在伺服器

搜尋文件

傳回 Alice 的文件

Page 4: Public Key Encryption with Conjunctive Field Keyword Search

Introduction – 2000 Song

• 首推 2000年 Song 等人提出的方法。• 採用對稱式加密法。• 加密的文件跟欲搜尋的暗門有關。• 優點 : 非常節省空間 ( 文件大小為 m 則放

入伺服器大小也是 m)• 缺點 : 很多…

Page 5: Public Key Encryption with Conjunctive Field Keyword Search

Introduction – 2004 Goh

• 繼 Song 等人的方法之後, Goh 提出 index的概念,加快了搜尋的效率。

• 使用了加密文件與可搜尋的密文分開儲存• 優點 : 搜尋效率較快 ( 使用雜湊函數 )• 缺點 : 碰撞 搜尋錯誤• 假設文件中總共有 m 的文字,訂定 n 個關

鍵字。則上傳給伺服器的加密文件大小為m ,可搜尋的密文為 n ,空間使用為 m+n

Page 6: Public Key Encryption with Conjunctive Field Keyword Search

IntroductionUser1(Alice)

User2(Bob)

receive

send

Untrusted mail server

No interactive

Page 7: Public Key Encryption with Conjunctive Field Keyword Search

Introduction

• Boneh 等人提出的 public key encryption with keyword search scheme 即為使用公開金鑰的搜尋機制,主要利用在 email 系統上。[EApub[M], PEKS(Apub, W1),…,PEKS(Apub, Wm)]M 為整篇 eamilW1…Wm 為關鍵字

Page 8: Public Key Encryption with Conjunctive Field Keyword Search

Introduction

• Golle 等人提出的 Secure Conjunctive Keyword Search Over Encrypted Data主要集中在多關鍵字的搜尋方式。

• 根據上述兩種方法,希望可以做到多關鍵字的公開金鑰加密搜尋系統。

Page 9: Public Key Encryption with Conjunctive Field Keyword Search

Outline

• Introduction• Preliminary

BDHBDHI

• CFKS scheme• Proposed scheme 1• Proposed scheme 2• Security proof

Page 10: Public Key Encryption with Conjunctive Field Keyword Search

Preliminary

• 首先定義兩個困難的假設。 BDH 以及 BDHI ,基於這些安全假設上,可以證明提出的機制是安全的。

• 定義以下提到的 G1 為加法群, G2 為乘法群。

Page 11: Public Key Encryption with Conjunctive Field Keyword Search

Preliminary-BDH

• 給一組數• 輸出• 一個攻擊者 A 可解 BDH 的能力為 ε

• 即為給 A看其是否能解

1,,, GPPPP 2),( GPPe

]),(),,,(Pr[ PPePPPPA

1,,, GPPPP 2),( GPPe

Page 12: Public Key Encryption with Conjunctive Field Keyword Search

Preliminary-BDH

• 在 A 隨機挑選 • 一個攻擊者 B 輸出 ,且有能力 ε 去解 DBDH 問題

• R為 G2 內隨機選擇的數• 定義 1: 假如在沒有 t-time 的演算法有能力

ε 去解 BDH ,則 (t,ε)BDH 為困難的假設。

*,, PZ1,0b

|]0),,,,(Pr[]0)),(,,,,(Pr[| RPPPPBPPePPPPB

Page 13: Public Key Encryption with Conjunctive Field Keyword Search

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

Page 14: Public Key Encryption with Conjunctive Field Keyword Search

Outline

• Introduction• Preliminary• PECK scheme• Proposed scheme 1• Proposed scheme 2• Security proof

Page 15: Public Key Encryption with Conjunctive Field Keyword Search

PECK scheme

• Email 訊息的格式

• 並具有以下特色1. 在同一文件相同的 keyword 不會出現在兩個不同的 field 裡面。2. 對於每個文件,每個 keyword field 都被定義。

))],...,(,(],[[ 1 mpubA WWAPECKMEpub

Page 16: Public Key Encryption with Conjunctive Field Keyword Search

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)

Page 17: Public Key Encryption with Conjunctive Field Keyword Search

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

Page 18: Public Key Encryption with Conjunctive Field Keyword Search

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) 伺服器利用暗門與密文以及工要做比對之動作

Page 19: Public Key Encryption with Conjunctive Field Keyword Search

Outline

• Introduction• Preliminary• PECK scheme• Proposed scheme 1• Proposed scheme 2• Security proof

Page 20: Public Key Encryption with Conjunctive Field Keyword Search

Proposed scheme 1

• 在大多數的機制中,只有 Test 步驟會用到一個 pairing operation 。

• 在 scheme 1 適用在 email 匝道上搜尋資料與路由上。

• 首先介紹此機制的一些參數雜湊函數 H: 0,1*→G1

size 為小 p 的兩個群 G1 G2

大 P為 G1之 generator

Page 21: Public Key Encryption with Conjunctive Field Keyword Search

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

Page 22: Public Key Encryption with Conjunctive Field Keyword Search

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

Page 23: Public Key Encryption with Conjunctive Field Keyword Search

Outline

• Introduction• Preliminary• PECK scheme• Proposed scheme 1• Proposed scheme 2• Security proof

Page 24: Public Key Encryption with Conjunctive Field Keyword Search

Proposed scheme 2

• 在 scheme 1的 H function 中使用了所謂admissible encoding scheme (MapToPoint) ,這是一個負擔極大的計算。

• Scheme 2 不使用此方法。在 PECK 步驟的計算負擔較低。需要兩個雜湊函數

pHH 2log21 1,0*1,0:,

參照 Scheme 1的 H function

Page 25: Public Key Encryption with Conjunctive Field Keyword Search

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

Page 26: Public Key Encryption with Conjunctive Field Keyword Search

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

Page 27: Public Key Encryption with Conjunctive Field Keyword Search

Outline

• Introduction• Preliminary• PECK scheme• Proposed scheme 1• Proposed scheme 2• Security proof

Page 28: Public Key Encryption with Conjunctive Field Keyword Search

Security proof –game ICC

Adversary Challenger

選定 D0,D1

A 可以放資料或搜尋

Challenger 給予回應

A 可以再放資料或搜尋 而 challenger 持續做回應唯獨不能讓 A 去詢問 D0,D1 ,最後 A 要猜 b是 0或 1

傳回一 E(Db)

Page 29: Public Key Encryption with Conjunctive Field Keyword Search

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.

Page 30: Public Key Encryption with Conjunctive Field Keyword Search

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

Page 31: Public Key Encryption with Conjunctive Field Keyword Search

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 。

Page 32: Public Key Encryption with Conjunctive Field Keyword Search

Security Proof –scheme 1

• 證明的概念假設有攻擊者 A 可以破解scheme1 所以存在解 DBDH 的對手 B。因為 DBDH是 open problem ,所以 B 解不得 DBDH ,故推得存在攻擊者 A 是假設錯誤。

• 在 game ICLR ,攻擊者 B執行動作並持續與攻擊者 A互動,其過程步驟如下 :

Page 33: Public Key Encryption with Conjunctive Field Keyword Search

Security Proof – KeyGen.

攻擊者 A 攻擊者 B

從 Zp 內選一隨機數 s

給 Apub=[P, Y1= αP, Y2=sP]

符合的 Apriv=[α,s]其中 α 值攻擊者 B 並不知道

Page 34: Public Key Encryption with Conjunctive Field Keyword Search

Security Proof – Hash queries.

攻擊者 A 攻擊者 B

任何時候 A 可對 RO的 H 做詢問

其根據 B他手上的 H-list < Wi, hi, ai, ci >回應 H quries

H-list初始是空的,當 A 詢問 Wi的 H, B 回應如下。

Page 35: Public Key Encryption with Conjunctive Field Keyword Search

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

Page 36: Public Key Encryption with Conjunctive Field Keyword Search

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

Page 37: Public Key Encryption with Conjunctive Field Keyword Search

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

Page 38: Public Key Encryption with Conjunctive Field Keyword Search

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

Page 39: Public Key Encryption with Conjunctive Field Keyword Search

Security Proof – Challenge.

• 如果 R為 e(P,P)αβγ 此 challenge 等於

這會是 D0 可用的 PECK],),),((),...,),(([ 21,011,0 PYYWHeYWHe m

Page 40: Public Key Encryption with Conjunctive Field Keyword Search

Security Proof – More queries.

攻擊者 A 攻擊者 B

可以持續做詢問動作唯獨不能詢問有關 D0,D1

針對 A 的詢問作回應

Page 41: Public Key Encryption with Conjunctive Field Keyword Search

Security Proof – Output.

• 最後 A 要輸出 b’為 0或 1 去分辨 challenge是 D0還是 D1 。如果 b’=0則 B 輸出 yes 表示R=e(P,P)αβγ ,否則輸出 no 。

Page 42: Public Key Encryption with Conjunctive Field Keyword Search

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/'

Page 43: Public Key Encryption with Conjunctive Field Keyword Search

Security Proof

• 假設 DBDH 問題是棘手的, Scheme 1 在抵擋 adaptive chosen keyword attack 符合semantically secure 。

Page 44: Public Key Encryption with Conjunctive Field Keyword Search

Conclusion

• 利用 bilinear map ,在共節搜尋上提出了兩個更有效率的機制。

• 在 scheme1 中,在 Test 用了一個 pairing operation ,但這也是常受到質疑的一個步驟。此機制是用在搜尋已儲存的資料,其安全性架構在 DBDH 問題上