◆游永興
(湖北警官學(xué)院 湖北 430034)
隨著技術(shù)的進(jìn)步和網(wǎng)絡(luò)的普及,人們的隱私保護(hù)變得越來越困難,人們?cè)噲D得到信息時(shí)自己的隱私通常也泄露了出去,如何保護(hù)網(wǎng)購時(shí)信用卡號(hào)、消費(fèi)習(xí)慣等信息不泄露是一個(gè)值得研究的問題,尤其是網(wǎng)絡(luò)攻擊的成本越來越低。網(wǎng)絡(luò)面臨著外部攻擊和內(nèi)部攻擊的雙重威脅,面對(duì)外部攻擊的研究較多,內(nèi)部攻擊往往意味著合法用戶的非法得利,特別是詐騙團(tuán)伙往往要在內(nèi)部人的協(xié)助下才能得到非法的利益,另外合法用戶的權(quán)利濫用也是值得警惕的。
在對(duì)網(wǎng)絡(luò)的使用中,網(wǎng)上信息比對(duì)是一個(gè)經(jīng)常需要進(jìn)行的活動(dòng),常見的比如身份證號(hào)碼、銀行卡號(hào)、QQ賬號(hào)等都需要在網(wǎng)上利用信息比對(duì)才能完成特定的活動(dòng),特別是密碼和驗(yàn)證碼的比對(duì)風(fēng)險(xiǎn)相當(dāng)高,如何在網(wǎng)上信息比對(duì)中完成信息的比對(duì)時(shí)比對(duì)雙方和第三方都不能夠知道除了結(jié)果外多余的信息,首先要確保如果比對(duì)不一致的話,雙方不能知道對(duì)方的原始信息。
1976年W.Diffel和M.Hellman在文[1]中提出了公鑰密碼的新概念,為密碼學(xué)的研究開創(chuàng)了一個(gè)新的時(shí)代;1982年姚期智在文[2]中利用公鑰密碼設(shè)計(jì)出了可以實(shí)現(xiàn)安全兩方計(jì)算的協(xié)議,其中提到了有名的百萬富翁問題:
Alice和Bob是兩個(gè)百萬富翁,Alice有i百萬美元,Bob有j百萬美元,1
步驟1.Bob選擇一個(gè)任意的N比特的整數(shù)x,并且保密的計(jì)算Ea(x)=k;
步驟2.Bob給Alice發(fā)送數(shù)值k-j+1;
步驟3.Alice保密的計(jì)算yu=Da(k-j+u),其中u=1,2,…10;
步驟4.Alice生成一個(gè)N/2比特長(zhǎng)的素?cái)?shù)p,計(jì)算Zu=yu(modp)對(duì)于所有的u(如果有兩個(gè)Zu模p之差小于等于2就重新生成新的p直到滿足條件);
步驟5.Alice將這個(gè)素?cái)?shù)p和下面的10個(gè)數(shù)發(fā)給Bob:Z1,Z2,…Zi,Zi+1,…,Z10+1,這些數(shù)都是模p的結(jié)果;
步驟6.Bob找其中的第j個(gè)數(shù),如果它等于x模p的話i大于等于j,不然的i小于j;
步驟7.Bob告訴Alice他的結(jié)論。
通過協(xié)議的過程,Alice和Bob知道了兩個(gè)人誰更富有,但是不知道對(duì)方到底有多少美元,這樣就在比較的同時(shí)保護(hù)了雙方的隱私。
可以看出,安全雙方計(jì)算就是甲乙雙方有兩個(gè)輸入信息x和y,通過協(xié)議雙方計(jì)算f(x,y)的值(百萬富翁問題就是f(x,y)等于x和 y之間的大小關(guān)系),并且甲乙雙方都沒有辦法知道另外一方的輸入信息x和y,這樣就可以很好的保護(hù)雙方輸入信息的隱私。
1981年Radin提出了不經(jīng)意傳輸(Oblivious Transfer,下文中簡(jiǎn)稱為OT協(xié)議):Alice有個(gè)信息,Bob通過一定的概率獲得這個(gè)信息,但是Alice不知道Bob是否得到這個(gè)信息。將OT協(xié)議與門電路結(jié)合在一起可以得到加門和乘門的安全協(xié)同計(jì)算:
加門的安全協(xié)同計(jì)算步驟如下:
步驟 1:Alice 對(duì)她的輸入比特信息 a,找 SA和 SB,使得SA⊕SB=a,將SB發(fā)送給Bob。Bob做同樣的操作,對(duì)它的輸入信息比特b,找tA和tB,使得TA⊕tB=b,將tA發(fā)送給 Alice;
步驟 2:Alice 計(jì)算 SA⊕TA=uA,Bob 計(jì)算 SB⊕tB=uB;
步驟 3:Alice 和 Bob 將第二步中計(jì)算出的結(jié)果發(fā)送給第三方。
輸出:第三方計(jì)算出 a⊕b=uA⊕UB,也可以將結(jié)果告訴 Alice和Bob。
乘門的安全協(xié)同計(jì)算步驟如下:
步驟 1:Alice 對(duì)她的輸入比特信息 a,找 SA和 SB,使得SA⊕SB=a,將SB發(fā)送給Bob。Bob 做同樣的操作,對(duì)它的輸入信息比特b,找tA和tB,使得tA⊕tB=b,將tA發(fā)送給Alice;
步驟2:Alice和Bob利用OT協(xié)議,Alice作為發(fā)送者擁有信息ρ0和ρ0⊕SA,Bob有一個(gè)選擇SB,協(xié)議輸入為Bob得到ρ0⊕SBtA;
步驟3:Alice和Bob利用OT協(xié)議,Alice作為發(fā)送者擁有信息ρ1和ρ1⊕SA,Bob有一個(gè)選擇SB,協(xié)議輸入為Bob得到ρ1⊕SBtA;
步驟 4:Alice計(jì)算 UA=SAtA⊕ρ0⊕ρ1,Bob 計(jì)算 UB=SBtB⊕SBtA⊕ρ0⊕ρ1,將UA和UB發(fā)送給第三方。
輸出:第三方計(jì)算出ab=UA⊕UB,也可以將結(jié)果告訴Alice和Bob。
非門同樣可以進(jìn)行安全協(xié)同計(jì)算,但由于非門從輸出可以看出輸入的特點(diǎn),沒有辦法保護(hù)原始信息的隱私,而且非門通常在門電路中使用很少,對(duì)于隱私保護(hù)沒有明顯的影響。
對(duì)于網(wǎng)上信息比對(duì)而言,有三種情形可以利用上面的方法解決隱私保護(hù):
第一種是兩個(gè)信息只需比對(duì)前面一位或者少數(shù)幾個(gè)位置比特值的大小,利用百萬富翁協(xié)議就行了,比如比對(duì)五個(gè)比特位的大小只需將前面的百萬富翁協(xié)議中計(jì)算10個(gè)數(shù)字改為計(jì)算32個(gè)數(shù)字,然后執(zhí)行協(xié)議就夠了。
第二種是兩個(gè)信息需要知道是否完全一致,比如Alice有個(gè)信息m1,Bob有個(gè)信息m2,雙方想知道對(duì)方的信息是否和自己一致,可以利用Hash函數(shù)的單向性進(jìn)行設(shè)計(jì)。
設(shè)Alice有公開的公鑰加密函數(shù)Ea(x)和對(duì)應(yīng)的私鑰解密函數(shù)Da(x),Bob有公開的公鑰加密函數(shù)Eb(x)和對(duì)應(yīng)的私鑰解密函數(shù)Db(x),雙方通過公開渠道協(xié)商了Hash函數(shù)H(x)。Alice有信息m1,Bob有信息m2,協(xié)議如下:
1.Alice計(jì)算Eb(H(m1));
2.Alice將k1發(fā)送給Bob;
3. Bob計(jì)算D(k1)與自己的H(m2)比較,將相等或者不相等的結(jié)論發(fā)送給Alice。
協(xié)議完成之后,如果m1與m2相等則協(xié)議完成了它的任務(wù);如果 m1與m2不相等,由于Hash的單向性,對(duì)方也無法知道自己的信息,從而在完成比較的同時(shí)沒有泄露更多的信息。
第三種雙方知道信息想知道是否只是相差很少幾個(gè)比特,可以利用門電路的安全協(xié)同計(jì)算進(jìn)行比較。如果Alice擁有信息m1,Bob擁有信息 m2,Alice和 Bob利用門電路的安全協(xié)同計(jì)算H(m1-m2)的值。雙方將只有幾個(gè)比特位為非0的Hash值列表后和H(m1-m2)的值進(jìn)行比較,就可以知道雙方信息是否相差幾個(gè)比特甚至是那幾個(gè)比特,但是如果H(m1-m2)的值不在預(yù)先計(jì)算的表中,雙方也無法知道對(duì)方的信息,從而保護(hù)了信息的隱私。
由于安全協(xié)同計(jì)算的特點(diǎn),協(xié)議執(zhí)行后可以很好的保護(hù)信息比對(duì)參與方的隱私,隨著社會(huì)的發(fā)展,信息比對(duì)的形式和要求越來越新,比如信息比對(duì)中需要知道兩個(gè)信息相似程度時(shí)的隱私保護(hù)、網(wǎng)上信息比對(duì)對(duì)參與方的主動(dòng)參與程度等等都是未來值得進(jìn)一步研究的方向。
[1]W.Diffle and M.Hellman.New Directions in Cryptograghy[J],.IEEE Trans Inform Theory,1976.
[2]Yao A C,Protocols for Secure Computations[C],In Proceedings of 23th Annual IEEE Symposium on Foundations of Computer Science,1982.
[3]M.O.Radin.How to Exchange Secrets by Oblivious Transfer[R].Tech Memo TR-81Aiken Computation Laboratory,
網(wǎng)絡(luò)安全技術(shù)與應(yīng)用2018年1期