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

Public Key Encryption with Conjunctive Field Keyword Search

  • 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

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 問題上