于金霞,趙翠平,張 靜,湯永利
(河南理工大學 計算機科學與技術(shù)學院,河南 焦作 454000)
網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展為多方協(xié)作計算創(chuàng)造了大量的應(yīng)用前景,但這些計算很可能發(fā)生在沒有信任關(guān)系的參與者之間,個人隱私數(shù)據(jù)會被泄露或者篡改.安全多方計算[1](SMC)是信息社會隱私數(shù)據(jù)保護的核心技術(shù),它是指兩個或多個參與者能夠在不泄露各自輸入的隱私數(shù)據(jù),并利用這些隱私數(shù)據(jù)參加保密計算,共同完成某項計算任務(wù).安全多方計算在大數(shù)據(jù)安全與隱私保護、基因序列、數(shù)據(jù)挖掘、密鑰分配、科學計算等方面應(yīng)用廣泛.
計算幾何問題的保密計算(Privacy-Preserving Computional Geometry,PPCG)是安全多方計算的一個重要研究領(lǐng)域,最初是由Atallah等[2]提出.具體地說,PPCG問題的研究就是根據(jù)特殊應(yīng)用設(shè)計出具體協(xié)議,在執(zhí)行協(xié)議的過程中,參與方雖然可以使用對方的隱私數(shù)據(jù),但不能知道對方的隱私數(shù)據(jù).隱私保護的計算幾何問題在實際應(yīng)用中具有重要意義,已成為國際眾多學者關(guān)注的熱點問題之一.Du等[3]主要從線段相交、點包含、凸包以及多邊形相交等方面研究了隱私保護的計算幾何問題.Du[4]首次提出了二維空間上兩條直線問題和凸包問題,不僅基于置換協(xié)議和安全兩方點積協(xié)議給出了解決方案,而且給出了解決此類問題有用的知識模塊,但是函數(shù)求值時可能產(chǎn)生信息泄露.文獻[5]針對Du的算法進行了修改,但當用戶輸入的隱私數(shù)據(jù)需要得到保護時,對傳統(tǒng)算法做簡單改進也不能滿足要求,對此提出半誠實模型下計算幾何中關(guān)于線段最核心的算法—叉積協(xié)議.文獻[6]針對Du的凸包問題,基于Paillier同態(tài)加密方案設(shè)計了安全兩方線段求交協(xié)議,此協(xié)議通過求交點的坐標來判斷兩條線段是否相交,并給出惡意模型下的協(xié)議,保護隱私的凸包求交集協(xié)議首次實現(xiàn)了求解凸包并集時的隱私保護,并用Goldreich證明法證明了該協(xié)議是安全的.文獻[7]針對Du的兩線段相交計算復雜性高的問題提出一種高效的不經(jīng)意傳輸協(xié)議,并將高效不經(jīng)意傳輸協(xié)議擴展到判定兩個任意多邊形和兩個任意幾何圖形相交問題.文獻[2,8-11]研究了點包含問題,文獻[2]中Atallah的協(xié)議只適用于一些簡單多邊形域,文獻[8]研究的是點與圓域,文獻[9]研究的是點與橢圓域,文獻[10]研究的是點與凸多邊形域.文獻[11]針對協(xié)議本身的局限性和算法復雜度高的問題,提出了保護私有信息的點包含協(xié)議,該協(xié)議在效率上優(yōu)于現(xiàn)有方案,并具有可擴展性,但還不能判斷點和任意多邊形的位置關(guān)系.由于文獻[2,8-11]都具有特殊性,文獻[12]利用角旋轉(zhuǎn)法提出了保護隱私的任意多邊形點包含兩方計算協(xié)議并給出正確性和安全性證明,但此協(xié)議計算效率低.文獻[13]所提協(xié)議不僅可以判定點與任意多邊形的包含問題而且比現(xiàn)有協(xié)議更加高效和安全.文獻[2,8-11]研究的都是點包含問題,但在實際應(yīng)用中具有局限性.文獻[14]研究了點與曲線關(guān)系的隱私保護協(xié)議,解決了在不泄露任何信息的情況下和在不同情形下判定點與曲線位置關(guān)系的問題.文獻[15] 基于保密點積協(xié)議,研究了空間線與面的夾角問題和兩線間的距離問題,有效降低了計算復雜性.文獻[16]基于拉格朗日乘數(shù)法,研究了幾何圖形的相交問題并給出此類問題的解決方案.文獻[17]根據(jù)幾何方法提出了保護私有信息的直線與橢圓和直線與雙曲線位置關(guān)系判定協(xié)議,但所提協(xié)議只能單一地判定直線與橢圓或者直線與雙曲線的位置關(guān)系.
本文針對直線與橢圓、雙曲線和拋物線的位置關(guān)系判定問題提出了直線與二次曲線位置關(guān)系的安全判定協(xié)議.首先,需要利用Paillier同態(tài)加密算法,保密點積協(xié)議通過構(gòu)造輔助數(shù)據(jù)來分別隱藏自己的具體數(shù)據(jù);然后,利用社會主義百萬富翁協(xié)議通過比較輔助數(shù)據(jù)的大小來判斷函數(shù)值;最后,根據(jù)相關(guān)函數(shù)值安全判定直線與二次曲線的具體位置關(guān)系,并對該協(xié)議的正確性和安全性分別進行證明.
百萬富翁協(xié)議由姚期智教授[1]于1982年首次提出,問題:有兩個百萬富翁,他們想知道對方是否比自己更富有,但又不想讓對方知道自己的財富值,所以需要保密地進行比較.具體原理如下:
輸入:Alice擁有保密數(shù)據(jù)i,Bob擁有保密數(shù)據(jù)j.
輸出:Alice和Bob安全地計算函數(shù)GT,GT(i,j)=[i>j](GT(i,j)).當GT(i,j)=1(GT(i,j)=1)時,i>j成立;否則GT(i,j)=0(GT(i,j)=0),i≤j.
輸入:Alice擁有保密數(shù)a,Bob擁有保密數(shù)b.
輸出:P(a,b)
1)Alice計算EK1(a),Bob計算EK2(b).
2)Alice和Bob交換EK1(a),EK2(b).
3)Alice計算EK1(EK2(b)),Bob計算EK2(EK1(a)).
4)Alice和Bob交換EK1(EK2(b)),EK2(EK1(a)),若EK1(EK2(b))=EK2(EK1(a)),輸出0;否則,輸出1.
Paillier加密方案[19]由密鑰生成、加密算法和解密算法三部分組成:
密鑰產(chǎn)生:
隨機的選取兩個素數(shù)p和q,且滿足gcd(pq,(p-1)(q-1))=1.計算n=pq和λ=lcm(p-1,q-1).
解密:m=L(cλmodn2)umodn.
本文運用的是Paillier加密方案的加法同態(tài)性質(zhì)Ek(x)·Ek(y)=Ek(x+y),由加法同態(tài)性的性質(zhì)可以推算出E(x)m=E(mx).
定義1.(半誠實參與者的保密性[20]) 對于一個函數(shù)F,如果存在概率多項式時間算法S1與S2(也稱這樣的多項式時間算法為模擬器)使得
(1)
(2)
圖1 直線與二次曲線的位置關(guān)系Fig.1 Line and quadratic curve position relationship
文獻[17]解決了直線與橢圓、雙曲線的位置判定問題,但具有特殊性.本文提出了一種安全高效的方案,并具有可擴展性.方案的主要思想是把直線方程代入到二次曲線方程,整理得關(guān)于t的方程:
(a11X2+a12XY+a22Y2)t2+[(2a11x0+a12y0+a13)X+
(a12x0+2a22y0+a23)Y]t+
即
φ(X,Y)t2+[XF1(x0,y0)+YF2(x0,y0)]t+F(x0,y0)=0
(1)
1)當φ(X,Y)≠0時,方程(1)是關(guān)于t的二次方程,其判別式為:
Δ=[XF1(x0,y0)+YF2(x0,y0)]2-4φ(X,Y)F(x0,y0)
①Δ>0時,方程(1)有兩個不等的實根t1,t2,直線與曲線相交,即P(C,L)=-1.
②Δ<0時,方程(1)無解,直線與曲線相離,即P(C,L)=0.
③Δ=0時,方程(1)有兩個相等的實根t1,t2,直線與曲線相切,即P(C,L)=1.
2)當φ(X,Y)=0時,方程(1)為:
[XF1(x0,y0)+YF2(x0,y0)]t+F(x0,y0)=0
(2)
①當XF1(x0,y0)+YF2(x0,y0)≠0時,方程(2)有唯一解,直線與曲線有唯一實交點,即P(C,L)=2.
②當XF1(x0,y0)+YF2(x0,y0)=0,F(x0,y0)≠0時,方程(2)無解,直線與曲線沒有交點,即P(C,L)=3.
③當XF1(x0,y0)+YF2(x0,y0)=0,F(x0,y0)=0時,方程(2)有無窮多解,直線與曲線有無數(shù)個交點(此時二次曲線為退化的兩相交直線,直線L必為其中的一條),即P(C,L)=4.
要安全判定直線與二次曲線的位置關(guān)系:
1)利用Paillier同態(tài)加密算法將自己二次曲線方程的系數(shù)隱藏,并構(gòu)造輔助數(shù)據(jù)M1,N1(M1=φ(X,Y)+N1,N1是Bob在協(xié)議3步驟1中所選隨機數(shù)的總和),通過社會主義百萬富翁協(xié)議比較M1是否等于N1來判斷函數(shù)φ(X,Y)是否等于0.若φ(X,Y)≠0,則判斷判別式Δ的大小;若φ(X,Y)=0,則判斷函數(shù)XF1(x0,y0)+YF2(x0,y0)的值.
2)利用Paillier同態(tài)加密算法和百萬富翁協(xié)議來安全判斷判別式Δ與0的大小關(guān)系.
3)利用保密點積協(xié)議將雙方生成的私有向量進行乘積,并構(gòu)造輔助數(shù)據(jù)UA,UB(UA=XF1(x0,y0)+YF2(x0,y0)+UB,其中UB是Bob選擇的隨機數(shù).)來隱藏自己的具體數(shù)據(jù),通過社會主義百萬富翁協(xié)議比較的UA,UB大小關(guān)系來判斷函數(shù)XF1(x0,y0)+YF2(x0,y0)是否等于0,若函數(shù)XF1(x0,y0)+YF2(x0,y0)=0,則判斷函數(shù)F(x0,y0)的值.
4)利用Paillier同態(tài)加密算法和社會主義百萬富翁協(xié)議來安全判斷函數(shù)F(x0,y0)是否等于0.
5)根據(jù)相關(guān)函數(shù)值及方案的主要思想安全判定直線與二次曲線的具體位置關(guān)系.
協(xié)議:直線與二次曲線位置關(guān)系的安全判定協(xié)議(記為協(xié)議P0)
輸出:P(C,L)
協(xié)議3的執(zhí)行過程:
步驟1.
①設(shè)Paillier同態(tài)加密方案是(G,E,D),安全參數(shù)是k,Alice運行G(k)生成同態(tài)加密的公鑰和私鑰,Alice將生成的公鑰發(fā)送給Bob.
②Alice用公鑰將E(C)={E(a11),E(a12),E(a22)}加密,并發(fā)送給Bob.
③Bob選取隨機數(shù)R1,R2,R3,并計算.
T1=E(a11)X2·E(R1)=E(a11X2+R1)
T2=E(a12)XY·E(R2)=E(a12XY+R2)
T3=E(a22)Y2·E(R3)=E(a22Y2+R3)
N1=R1+R2+R3
并發(fā)送給Alice.
⑤Alice與Bob通過社會主義百萬富翁協(xié)議比較M1是否等于N1.若M1≠N1,則φ(X,Y)≠0,執(zhí)行步驟2;若M1=N1,則φ(X,Y)=0,執(zhí)行步驟3.
步驟2.
①Alice計算
I9=4a13a22-2a12a23,I10=2a13a23-4a12a33
對Ii(i=1,2,…,10)用公鑰進行加密,并將E(Ii)發(fā)送給Bob.
②Bob選取隨機數(shù)R4,R5,R6,R7,R8,R9,R10,R11,R12,R13,并計算
T5=E(2a12a13-4a11a23)X2y0·E(R5)=E[(2a12a13-4a11a23)X2y0+R5]
T8=E(2a12a23-4a13a22)Y2x0·E(R8)=E[(2a12a23-4a13a22)Y2x0+R8]
T11=E(4a11a23-2a12a13)XYx0·E(R11)=E[(4a11a23-2a12a13)XYx0+R11]
T12=E(4a13a22-2a12a23)XYy0·E(R12)=E[(4a13a22-2a12a23)XYy0+R12]
T13=E(2a13a23-4a12a33)XY·E(R12)=E[(2a13a23-4a12a33)XY+R13]
并發(fā)送給Alice.
④Alice與Bob通過百萬富翁協(xié)議比較M2,N2的大小,若M2>N2,則Δ>0,輸出P(C,L)=-1;若M2 步驟3. ③Alice與Bob利用社會主義百萬富翁協(xié)議比較UA與UB的大小,若UA≠UB,則XF1(x0,y0)+YF2(x0,y0)≠0,輸出P(C,L)=2;若UA=UB,則XF1(x0,y0)+YF2(x0,y0)=0,執(zhí)行步驟4. 步驟4. ①Alice用公鑰加密E(C)={E(a11),E(2a12), E(a22),E(2a13),E(2a23),E(a33)}并發(fā)送給Bob. ②Bob選取隨機數(shù)r1,r2,r3,r4,r5,r6,并計算 t2=E(a12)x0y0·E(r2)=E(a12x0y0+r2) t4=E(a13)x0·E(r4)=E(a13x0+r4) t5=E(a23)y0·E(r5)=E(a23y0+r5) t6=E(a33)·E(r6)=E(a33+r6) 并發(fā)送給Alice. ④Alice與Bob協(xié)同調(diào)用社會主義百萬富翁協(xié)議比較M3是否等于N3.若M3≠N3,則F(x0,y0)≠0,輸出P(C,L)=3;若M3=N3,則F(x0,y0)=0,輸出P(C,L)=4. 定理1.協(xié)議P0是正確的. 證明: 2)當M2>N2時,由步驟2中的①②③可知:[XF1(x0,y0)+YF2(x0,y0)]2>4φ(X,Y)·F(x0,y0);根據(jù)前面3.2可知Δ>0. 3)由1)2)可知,當M1≠N1且M2>N2時,即φ(X,Y)≠0且Δ>0時,根據(jù)前面3.2可知直線L與曲線C有兩個不同的實交點,故協(xié)議P0是正確的.同理可證其它5種情況. 定理2.協(xié)議P0是安全的. 證明通過構(gòu)造出使(1)和(2)成立的模擬器S1和S2來證明其安全性. 1)構(gòu)造模擬器S1. 在本方案中 S1的模擬過程如下: 因為 令 2)構(gòu)造模擬器S2. 在本方案中 S2的模擬過程如下: 因為 令 根據(jù)預備知識2.6的安全性證明可知協(xié)議P0是安全的. 計算復雜性:文獻[17]協(xié)議二共調(diào)用一次點線關(guān)系判定協(xié)議和一次點積協(xié)議.文獻[17]協(xié)議三共調(diào)用三次點積協(xié)議.本文協(xié)議P0共執(zhí)行19次Pailler加密運算,19次Pailler解密運算和一次點積協(xié)議.假設(shè)安全參數(shù)為m,一次點積協(xié)議至少需要2mlgk次模指數(shù)運算;一次點線關(guān)系判定協(xié)議共需要3次Pailler加密運算、3次Pailler解密運算;Pailler一次加密需要2次模指數(shù)運算,一次解密需要1次模指數(shù)運算.一般情況下當m>5,k>8時才能達到基本的安全級別,文獻[17]協(xié)議二共需2mlgk+3×2+3次模指數(shù)運算,故至少需要39次模指數(shù)運算;協(xié)議三共需6mlgk次模指數(shù)運算,故至少需要90次模指數(shù)運算;本文協(xié)議P0共需2mlgk+19×2+19次模指數(shù)運算,故至少需要87次模指數(shù)運算. 通信復雜性:在安全多方計算研究中通常用通信輪數(shù)來衡量通信復雜性,文獻[17]協(xié)議二通信輪數(shù)為m+3次,協(xié)議三通信輪數(shù)為3m次,本文協(xié)議P0通信輪數(shù)為m+7次.各方案復雜性比較如下頁表1所示,功能性比較如下頁表2所示. 表1 各方案復雜性比較 協(xié) 議計算復雜性通信復雜性文獻[17]協(xié)議22mlgk+9m+3文獻[17]協(xié)議36mlgk3m本文協(xié)議P02mlgk+57m+7 貢獻總結(jié):本文利用判別式法提出直線與二次曲線位置關(guān)系的安全判定協(xié)議,該協(xié)議首先通過Paillier同態(tài)加密算法和百萬富翁協(xié)議判斷函數(shù)φ(X,Y)是否等于0.①若φ(X,Y)≠0,則利用Paillier同態(tài)加密算法和百萬富翁協(xié)議判斷判別式Δ的大小.若Δ>0,輸出P(C,L)=-1,直線與曲線相交; 表2 各方案功能性比較 方 法判定直線與橢圓關(guān)系判定直線與雙曲線關(guān)系判定直線與拋物線關(guān)系文獻[17]協(xié)議2能不能不能文獻[17]協(xié)議3不能能不能本文協(xié)議P0能能能 若Δ<0,輸出P(C,L)=0,直線與曲線相離;若Δ=0,輸出P(C,L)=1,直線與曲線相切.②若φ(X,Y)=0,則利用保密點積協(xié)議和社會主義百萬富翁協(xié)議判斷函數(shù)XF1(x0,y0)+YF2(x0,y0)是否等于0.若函數(shù)XF1(x0,y0)+YF2(x0,y0)≠0,輸出P(C,L)=2,直線與曲線有唯一實交點;若函數(shù)XF1(x0,y0)+YF2(x0,y0)=0,則利用Paillier同態(tài)加密算法和社會主義百萬富翁協(xié)議判斷函數(shù)F(x0,y0)的值是否等于0.若函數(shù)F(x0,y0)≠0,輸出P(C,L)=3,直線與曲線沒有交點;若函數(shù)F(x0,y0)=0,輸出P(C,L)=4,直線與曲線有無數(shù)個交點(此時二次曲線為退化的兩相交直線,直線L必為其中的一條). 方案比較:本文協(xié)議P0在計算復雜性和通信復雜性上比文獻[17]協(xié)議二略高,但在功能上具有明顯優(yōu)勢.文獻[17]協(xié)議二只能判斷直線與橢圓的位置關(guān)系,而協(xié)議P0不僅可以判斷直線與橢圓的位置關(guān)系而且可以判定直線與雙曲線和拋物線的位置關(guān)系.此外,協(xié)議P0不僅在計算復雜性和通信復雜性上比文獻[17]協(xié)議三的解決方案降低了3倍,而且在功能上也有很大改善.文獻[17]協(xié)議三只能判斷直線與雙曲線的位置關(guān)系,而協(xié)議P0既可以判定直線與雙曲線的位置關(guān)系也可以判定直線與橢圓和拋物線的位置關(guān)系.總之,協(xié)議P0計算效率和通信效率更高,應(yīng)用范圍更廣. 在半誠實模型下,本文將保密點積協(xié)議和Paillier同態(tài)加密方案的巧妙結(jié)合提出了判定直線與二次曲線位置關(guān)系的解決方案,安全判定了兩者之間的位置關(guān)系,并且對協(xié)議P0的正確性和安全性分別給出證明.因為協(xié)議P0是基于半誠實模型的,還有不足之處,在惡意模型下對直線與二次曲線位置關(guān)系的保密判定協(xié)議進行研究和分析會比較困難,未來我們將繼續(xù)對此進行探討. [1] Yao A C.Protocols for secure computations[C].Proceedings of the 23rd Annual IEEE Symposium on Foundations of Computer Science(FOCS 1982),Chicago,USA,Nov 3-5,1982,Los Alamitors,CA:IEEE Computer Society,1982:160-164. [2] Atallah M J,Du W L.Secure multi-party computational geometry[C].Lecture Notes in Computer Science 2125(LNCS 2001),RI,USA,Aug 8-10,2001,Berlin:Springer,2001:165-179. [3] Du W L,Atallah M J.Secure multi-party computation problems and their applications:a review and open problems[C].Proceedings of the New Security Paradigms Workshop 2001(NSPW2001),Cloudcroft,New Mexico,USA,September 10-13,2001,Berlin:Springer,2001:11-20. [4] Du W L,Atallah M J.Privacy-preserving cooperative scientific computations[C].IEEE Workshop on Computer Security Foundations,Washington(CSFW 2001),DC,USA,June 11-13,2001,Los Alamitors,CA:IEEE Computer Society,2001:273-282. [5] Luo Yong-long,Huang Liu-sheng,Jing Wei-wei,et al.Privacy-preserving cross product protocol and its applications[J].Chinese Journal of Computers(CJE),2007,30(2):248-254. [6] Sun Mao-hua,Luo Shou-shan,Xin Yang,et al.Secure two-party line segments intersection scheme and ItsApplication in privacy-preserving convex hull intersection[J].Journal on Communications(JCM),2013,34(1):30-42. [7] Li Shun-dong,Dai Yi-qi,Wang Dao-shun,et al.Secure multi-party computations of geometric intersections[J].Journal of Tsinghua University(Science and Technology)(JTU),2007,47(10):1692-1695. [8] Li Shun-dong,Dai Yi-qi.Secure Two-party computational geometry[J].Journal of Computer and Technology(JCT),2005,20(2):258-263. [9] Luo Yong-long,Huang Liu-sheng,Zhong Hong.Secure Two-party point-circle inclusion problem[J].Journal of Computer and Technology(JCT),2007,22(1):88-91. [10] Luo Yong-long,Huang Liu-sheng.A secure protocol for determining whether a point is insider a convex polygon[J].Chinese Journal of Electronics(CJE),2006,15(4):578-582. [11] Zhang Jing,Luo Shou-shan,Yang Yi-xian,et al.Research on theprivacy-preserving point-in-polygon protocol[J].Journal on Communications(JCM),2016,37(4):87-95. [12] Chen L,Lin B.Privacy-preserving point-inclusion two-party computation protocol[C].2013 International Conference on Computational and Information Sciences(CAIS 2013),Shiyang,China,June 21-23,2013,Los Alamitors,CA:IEEE Computer Society,2013:257-260. [13] Daoshurr W.Efficient secure multiparty computational geometry[J].Chinese Journal of Electronics(CJE),2010,19(2):324-328. [14] Liu L,Wu C,Li S.TWO privacy-preserving protocols for point-curve relation[J].Journal of Electronics(CJE),2012,29(5):422-430. [15] Zhong Hong,Sun Yan-fei,Yan Fei-fei,et al.Privacy-preserving relative position calculation protocols for spatial geometric objects [J].Journal of Harbin Engineering University(JHEU),2011,32(4):458-463. [16] Qin J,Duan H,Zhao H,et al.A new lagrange solution to the privacy-preserving general geometric intersection problem[J].Journal of Network and Computer Applications(JNCA),2014,46(C):94-99. [17] Zhang Di.Privately determining protocol of line and ellipseor hyperbola position relationship[D].Kunming:Yunnan University,2015. [18] Zhang X H,Miao Y Q,Jie S U,et al.Privacy preserving association rules mining in vertically partitioned data[J].Computer Engineering &Design(CED),2012,33(5):1867-1870. [19] Jie Hong W U,Zhang P,Shi X B.Research of MA protection based on addition-multiplication homomorphism and composite function technology[J].Journal of Chinese Computer Systems(JCCS),2012,33(10):2223-2226. [20] Reimer B,Fried R,Mehler B,et al.Brief report:examining driving behavior in young adults with high functioning autism spectrum disorders:a pilot study using a driving simulation paradigm[J].Journal of Autism & Developmental Disorders(JADD),2013,43(9):2211-2217. 附中文參考文獻: [6] 孫茂華,羅守山,辛 陽.安全兩方線段求交協(xié)議及其在保護隱私凸包交集中的應(yīng)用[J].通信學報,2013,34(1):30-42. [11] 張 靜,羅守山,楊義先,等.保護私有信息的點包含協(xié)議研究[J].通信學報,2016,37(4):87-95. [15] 仲 紅,孫彥飛,燕飛飛,等.保護私有信息幾何對象的相對位置計算[J].哈爾濱工程大學學報,2011,32(4):458-463. [17] 張 迪.直線與橢圓、直線與雙曲線位置關(guān)系的安全判定協(xié)議[D].昆明:云南大學,2015.4 協(xié)議正確性與安全性證明
5 性能分析
Table 1 Complexity comparing of schemes
Table 2 Function comparing of schemes6 結(jié)束語