1 / 44

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. Outline. Introduction Preliminary CFKS scheme Proposed scheme 1 Proposed scheme 2 Security proof. Introduction. 將文件預先存放在伺服器. 搜尋文件. Alice. 傳回 Alice 的文件.

aretha
Download Presentation

Public Key Encryption with Conjunctive Field Keyword Search

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Public Key Encryption with Conjunctive Field Keyword Search Dong Jin Park, Kihyun Kim, and Pil Joong LeePresenter: 陳昱圻 2008/10/8

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

  3. Introduction 將文件預先存放在伺服器 搜尋文件 Alice 傳回Alice的文件 誠實卻好奇的伺服器

  4. Introduction – 2000 Song • 首推2000年Song等人提出的方法。 • 採用對稱式加密法。 • 加密的文件跟欲搜尋的暗門有關。 • 優點: 非常節省空間(文件大小為m 則放入伺服器大小也是m) • 缺點: 很多…

  5. Introduction – 2004Goh • 繼Song等人的方法之後,Goh提出index的概念,加快了搜尋的效率。 • 使用了加密文件與可搜尋的密文分開儲存 • 優點: 搜尋效率較快(使用雜湊函數) • 缺點: 碰撞 搜尋錯誤 • 假設文件中總共有m的文字,訂定n個關鍵字。則上傳給伺服器的加密文件大小為m,可搜尋的密文為n,空間使用為m+n

  6. Introduction User1(Alice) User2(Bob) No interactive send receive Untrusted mail server

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

  8. Introduction • Golle等人提出的Secure Conjunctive Keyword Search Over Encrypted Data主要集中在多關鍵字的搜尋方式。 • 根據上述兩種方法,希望可以做到多關鍵字的公開金鑰加密搜尋系統。

  9. Outline • Introduction • PreliminaryBDHBDHI • CFKS scheme • Proposed scheme 1 • Proposed scheme 2 • Security proof

  10. Preliminary • 首先定義兩個困難的假設。BDH以及BDHI,基於這些安全假設上,可以證明提出的機制是安全的。 • 定義以下提到的G1為加法群,G2為乘法群。

  11. Preliminary-BDH • 給一組數 • 輸出 • 一個攻擊者A可解BDH的能力為ε • 即為給A 看其是否能解

  12. Preliminary-BDH • 在A隨機挑選 • 一個攻擊者B輸出 ,且有能力ε去解DBDH問題 • R為G2內隨機選擇的數 • 定義1:假如在沒有t-time的演算法有能力ε去解BDH,則(t,ε)BDH為困難的假設。

  13. Preliminary-BDHI • Bilinear Diffie-Hellman Inversion • 給一組數 • 計算 • 一個攻擊者A可解BDHI的能力為ε • 即為給A 看其是否能解 • 方法與BDH類似,攻擊者B亦類似

  14. Outline • Introduction • Preliminary • PECK scheme • Proposed scheme 1 • Proposed scheme 2 • Security proof

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

  16. m fields From To Date Status D1 D2 n docs Dn PECK scheme - Example The documents are the rows of the matrix Di = (Wi, 1, …, Wi, m)

  17. PECK scheme – Example 2 D1: Kevin-Wang Kevin-Wang Kevin-Wang Kevin-Wang Kevin-Wang PHD D2: Noodle is a fat pig D3: Kevin-Wang is not CM-Wang D4: I saw a saw, saw a saw D5: AI-lab 922B

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

  19. Outline • Introduction • Preliminary • PECK scheme • Proposed scheme 1 • Proposed scheme 2 • Security proof

  20. Proposed scheme 1 • 在大多數的機制中,只有Test步驟會用到一個pairing operation。 • 在scheme 1適用在email匝道上搜尋資料與路由上。 • 首先介紹此機制的一些參數雜湊函數 H: {0,1}*→G1size為小p的兩個群G1G2大P為G1之generator

  21. 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為欲搜尋的關鍵字之位置 size:2,3 size:mpr+2 size:2+欄位

  22. 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,驗證過程如下

  23. Outline • Introduction • Preliminary • PECK scheme • Proposed scheme 1 • Proposed scheme 2 • Security proof

  24. Proposed scheme 2 • 在scheme 1的Hfunction中使用了所謂admissible encoding scheme (MapToPoint),這是一個負擔極大的計算。 • Scheme2不使用此方法。在PECK步驟的計算負擔較低。需要兩個雜湊函數 參照Scheme 1的Hfunction

  25. 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

  26. Proposed scheme 2 - work • Trapdoor(Apriv,Q)→TQ=[T1,T2,T3,I1,…,It] • Test(Apub, S, TQ): S=(A1,.., Am, B1,…, Bm, C, D)驗證

  27. Outline • Introduction • Preliminary • PECK scheme • Proposed scheme 1 • Proposed scheme 2 • Security proof

  28. Security proof –game ICC Adversary Challenger A可以放資料或搜尋 Challenger給予回應 選定D0,D1 傳回一E(Db) A可以再放資料或搜尋 而challenger持續做回應 唯獨不能讓A去詢問D0,D1,最後A要猜b是0或1

  29. 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.

  30. 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

  31. Security Proof –scheme 1 • 定義scheme1的安全性是架構在ICLRgame中解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。

  32. Security Proof –scheme 1 • 證明的概念假設有攻擊者A可以破解scheme1所以存在解DBDH的對手B。因為DBDH是open problem,所以B解不得DBDH,故推得存在攻擊者A是假設錯誤。 • 在game ICLR,攻擊者B執行動作並持續與攻擊者A互動,其過程步驟如下:

  33. Security Proof – KeyGen. 攻擊者A 攻擊者B 從Zp內選一隨機數s 給Apub=[P, Y1= αP, Y2=sP] 符合的Apriv=[α,s] 其中α值攻擊者B並不知道

  34. Security Proof – Hash queries. 攻擊者A 攻擊者B 任何時候A可對RO的H做詢問 其根據B他手上的H-list < Wi, hi, ai, ci > 回應H quries H-list初始是空的,當A詢問Wi的H,B回應如下。

  35. Security Proof – Hash queries. 攻擊者A 攻擊者B 跟B詢問Wi的H 步驟1 B看H-list內是否有出現過Wi 如果有 <Wi, hi, ai, ci> 回傳H(Wi)=hi H-list 沒有在H-list內,則跳步驟2

  36. Security Proof – Hash queries. 攻擊者A 攻擊者B 跟B詢問Wi的H 步驟2 B產生一個隨機{0,1}的ci Pr[ci=0]=1/qt 步驟3 B選一Zp隨機ai,當 ci=0則B計算hi←ai(βP) ci=1則B計算hi←aiP H-list 步驟4 B增加<Wi, hi, ai, ci>到H-list中 並回應H(Wi)=hi 回傳H(Wi)=hi

  37. 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下是正確的暗門。 傳回[Fi,ui,Ii,1,…,Ii,t] Go back

  38. Security Proof – Challenge. 攻擊者A 攻擊者B 步驟1B取得H(W)=h且<W,h,a,c>符合H-list 如果c=1則B失敗 W,z 產生一關鍵字W以及位置z 希望來被challenge 步驟2 攻擊者B選多個隨機Wi,j i為0,1 j介於1~m除了W0,z=W B產生Di=(Wi,1,…,Wi,m) 兩隨機文件 限制先前的Trapdoor不能分辨此兩 給W0,j讓<W0,j,h0,j,a0,j,c0,j>為符合的H-list 步驟3B回應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

  39. Security Proof – Challenge. • 如果R為e(P,P)αβγ此challenge等於這會是D0可用的PECK

  40. Security Proof – More queries. 攻擊者A 攻擊者B 可以持續做詢問動作 唯獨不能詢問有關D0,D1 針對A的詢問作回應

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

  42. Security Proof • 以上完成描述了攻擊者B。而B可能失敗在Trapdoor queries以及準備challenge之時。 • 定義兩個事件E1: B回應所有A的Trapdoor queries不失敗E2:B準備挑戰給A時也不會失敗 • 假設qt足夠大 ,則E1的機率 而E2的機率,故B破解DBDH問題的能力為

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

  44. Conclusion • 利用bilinear map,在共節搜尋上提出了兩個更有效率的機制。 • 在scheme1中,在Test用了一個pairing operation,但這也是常受到質疑的一個步驟。此機制是用在搜尋已儲存的資料,其安全性架構在DBDH問題上

More Related