21
Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Saf iavi-Naini, Willy Susilo Presenter: 紀紀紀

Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Safiavi- Naini, Willy Susilo Presenter: 紀汶承

  • View
    224

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Safiavi- Naini, Willy Susilo Presenter: 紀汶承

Public Key Encryption with Keyword Search Revisited

Author:Joonsang, Reihaneh Safiavi-Naini, Willy SusiloPresenter: 紀汶承

Page 2: Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Safiavi- Naini, Willy Susilo Presenter: 紀汶承

Outline

目的 改進的方法 結論

Page 3: Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Safiavi- Naini, Willy Susilo Presenter: 紀汶承

目的

在於改進原始的 PEKS 方法的缺點,以下有三

1. Server 會記錄過往的 trapdoor 進而去推算未來 trapdoor 所對應的 e-mail 種類

2. 必須在安全的 ( 加密且授權 ) 通道下作溝通

3. 改進多關鍵字搜尋

Page 4: Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Safiavi- Naini, Willy Susilo Presenter: 紀汶承

改進的方法

解決記錄 trapdoor 的問題 更新 keyword. 在經常使用的 keyword 增加時戳欄位

例如 : urgent||01/07/04, Alice||5 hours 當時效過了就刪除 keyword, 避免 server 去計

算哪些 e-mail 跟某些 trapdoor 相關

Page 5: Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Safiavi- Naini, Willy Susilo Presenter: 紀汶承

不需在安全的 channel 下也能執行 改進原始的 PEKS 演算法包含如下

KeyGenParam(K) : 產生公用參數 cp KeyGenServer(cp) : 產生 server 的公密鑰對 (p

kS,skS) KeyGenReceiver(cp) : 產生 Receiver 的公密鑰

對 (pkR,skR) SCF-PEKS(cp,pkS,pkR,w)=S : 產生可搜尋加

密關鍵字

Page 6: Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Safiavi- Naini, Willy Susilo Presenter: 紀汶承

Trapdoor(cp,skR,w) : 產生 w 的 trapdoor Test(cp,Tw,skS,S) : 驗證 S= SCF-PEKS(cp,p

kS,pkR,w’) 與 Tw 中 , 假設 w=w’ 則正確 , 否則不正確

Page 7: Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Safiavi- Naini, Willy Susilo Presenter: 紀汶承

SENDER RECEVIER

SERVER

E(pkR,M)|| SCF-PEKS(cp,pkS,pkR,w)

Trapdoor(cp,skR,w)

Test(cp,Tw,skS,S) 正確 ?

假設正確回傳 E(pkR,M)

目的 sender 要送 e-mail 給 recevier

Recevier 收信

Page 8: Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Safiavi- Naini, Willy Susilo Presenter: 紀汶承

Proposed scheme

KeyGenParam(K) : 選擇兩個 groups g1

=<P> 與 g2 其中 order 為 , 建立一個 bilinear pairing : , 兩個 hash function 公用參數 cp=(q,g1,g2,e,P,H1,H2,dw)

KeyGenServer(cp) : 隨機選擇 並計算 X=xP, 隨機選擇 ,pkS=(cp,Q,X)和 skS=(cp,x) 為 server 的公密鑰對 .

kq 2

kgHgH }1,0{:}1,0{: 22*1

*1 以及

*qZx

*1gQ

211: ggge

Page 9: Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Safiavi- Naini, Willy Susilo Presenter: 紀汶承

KeyGenReceiver(cp) : 隨機選擇 並計算 Y=yP,pkR=(pkS,Y) 和 skR=(pkS,y) 為Receiver 的公密鑰對

SCF-PEKS(cp,pkS,pkR,w): 選擇 並計算 S=(U,V) 其中 (U,V)=(rP,H2(κ)), κ= .S 為一 PEKS 產生的密文

*qZy

*qZr

rYwHeXQe ))),((),(( 1

Page 10: Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Safiavi- Naini, Willy Susilo Presenter: 紀汶承

Trapdoor(cp,skR,w) : 計算 Test(cp,Tw,skS,S) : 如果

成立 , 則回傳正確反之則不正確

)(1 wyHTw

VrPTxQeH w )),((2

Page 11: Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Safiavi- Naini, Willy Susilo Presenter: 紀汶承

安全性分析

給定攻擊者 B(q,g1,g2,e,P,aP,bP,cP),

為一 BDH 問題 .B 的工作是再去計算 BDH key: 去模擬 IND-SCF-CKA attaacker A 分成 game1(A 是 server),以及 game2(A 是外部攻擊者 )

kq 2

abcPPe ),(

Page 12: Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Safiavi- Naini, Willy Susilo Presenter: 紀汶承

Game2(A 是外部攻擊者 )

Step1: B 設定 Q=bP,X=cP 以及兩個 random oracles H1,H2. 選擇 計算 Y=yP.(q,g1,g2,e,P,H1,H2) 為公用參數 ,(Q,X) 為 server 的公鑰 .Y,y 為 recevier 的公密鑰 . 當 A 送 wi 給 H1,B 隨機選擇 計算 Li=liP, 並回傳給 A. 當 A 送 κi 給 H2,B 隨機選擇 , 並回傳給 A. B 會記錄這些 query-answer list.

*qZy

*qi Zl

kiV }1,0{

Page 13: Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Safiavi- Naini, Willy Susilo Presenter: 紀汶承

Step2: 假設 A 送 wi 給 trapdoor generation oracle,B 計算 Twi=yH1(wi) 回傳給 A( 其中 B 不曉得 y)

Step3: B 收到 A 送來的 ,B 隨機選擇 並且產生 其中 Q,X,Y 為之

前定義 , 所以得到

*1

*0 ,ww

kR }1,0{ ),(),( *** RaPVUS

)))),((),((( *2

aYwHeXQeHR

yabcaaa aPlPePPeyPlPecPbPeYwHeXQe ),(),(),(),())),((),(( *

Page 14: Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Safiavi- Naini, Willy Susilo Presenter: 紀汶承

Step4: B 回答 A 的 query 給 random oracle以及 trapdoor oracle( 在 step2 中所作 )

Step5: 當 A 回答他的猜測 .B 從 query-answer list 中選擇 κ 並回傳

為一 BDH key. 分析 : 令 AskW 為 A 發生詢問 的事件 .

若 AskW 沒發生則 β’=β 的機率最多 1/2 因此得到

}1,0{' yaPlPe ),(/

*1

*0 or

Page 15: Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Safiavi- Naini, Willy Susilo Presenter: 紀汶承

根據定義推得

若 AskW 發生則表示 B 可以解決 BDH 的問題 , 藉由選擇

並計算 ,qH 為 H2 中的 query 總數

].Pr[2

1

2

1]Pr[

2

1]Pr[

]Pr[]|Pr[]Pr[]|Pr[]Pr[ '''

AskWAskWAskW

AskWAskWAskWAskW

]Pr[)(]Pr[2

1

2

1)(

2

1

2

1 22 AskWkSuccAskWkSucc GameA

GameA

yabca aPlPePPeYwHeXQe ),(),())),((),(( *01

* yaPiPe ),(/*

Page 16: Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Safiavi- Naini, Willy Susilo Presenter: 紀汶承

得到 )(1

]Pr[1

)( 2,

22

1kSucc

qAskW

qkSucc Game

AHH

BDHAg

Page 17: Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Safiavi- Naini, Willy Susilo Presenter: 紀汶承

改進多關鍵字搜尋 簡單的概念為在加密文件後接上多關鍵字

欄位 . 例如 : E(pkR,M)||PEKS(pkR,w1)||…||PEKS(pk

R,wn) 缺點 : 在執行 PEKS 加密時, rP 會被重複計

算多次 ( 當有 n 個關鍵字就計算 n 次 ) 以及密文長度會增長 .

Page 18: Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Safiavi- Naini, Willy Susilo Presenter: 紀汶承

Proposed scheme KeyGenReceiver(k): 選擇兩個群 g1=<P> 與

g2 其中 order 為 , 建立一個 bilinear pairing : , 兩個 hash function :

,pkR=(q,g1,g2,e,P,Y,H1,H2), skR=(q,g1,g2,e,P,y,H1,H2) 為 recevier 的公密鑰對 .

kq 2

kgHgH }1,0{:}1,0{: 22*1

*1 以及

211: ggge

Page 19: Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Safiavi- Naini, Willy Susilo Presenter: 紀汶承

MPEKS(pk,w) 其中 w=(w1,….wn) : 選擇 計算 S=(U,V1,….Vn) 其中 U=rP,

S 是一個 MPEKS 的密文 Trapdoor(sk,w): 計算 Test(Tw,(U,Vi)) ,i 為 {1,…,n} : 如果 成立 , 則正確反之不正確 .

*qZr

))),(((),...,)),((( 121121r

nnr YwHeHVYwHeHV

)(1 wyHTw

iw VUTeH )),((2

Page 20: Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Safiavi- Naini, Willy Susilo Presenter: 紀汶承

結果在執行 MPEKS 之後 , 縮短了 S 的長度變成 E(pkR,M)||MPEKS(pkR,w) 其中 w=(w1,….wn) . 也減少了重複計算 rP.

Page 21: Public Key Encryption with Keyword Search Revisited Author:Joonsang, Reihaneh Safiavi- Naini, Willy Susilo Presenter: 紀汶承

結論

這方法雖然改進了 PEKS 的三個缺點,使得可以再非安全的 channel 下通訊,但是可以看出 server 儲存 trapdoor 的動作會是 PEKS 的弱點,以及在更新經常使用的關鍵字方面還可以再去改進使其更有效率且方便 .