基于對(duì)稱加密的保護(hù)隱私的屬性匹配方法
【專利摘要】本發(fā)明涉及一種基于對(duì)稱加密的保護(hù)隱私的屬性匹配方法,其利用匹配用戶之間天然共享的公共屬性來生成密鑰,用該密鑰加密連接建立請(qǐng)求和安全信道密鑰,在只有匹配用戶才能生成相同的密鑰并方便地解密信息,并獲得信道密鑰,通過一輪通信即同步地完成了保護(hù)隱私的屬性匹配和安全信道構(gòu)建,能夠支持精確和模糊的匹配/查找,在相似度低于該閾值的參與者無法獲得任何隱私信息,實(shí)現(xiàn)的安全信道建立能夠抵御中間人攻擊,同時(shí)屬性匹配機(jī)制是可驗(yàn)證的,能夠抵御匹配結(jié)果欺騙的攻擊。本發(fā)明和大部分依賴非對(duì)稱加密系統(tǒng)和可信第三方的現(xiàn)有工作相比顯著節(jié)省了計(jì)算和通信開銷,具有計(jì)算量小,實(shí)用、靈活以及輕量的優(yōu)勢(shì)。
【專利說明】基于對(duì)稱加密的保護(hù)隱私的屬性匹配方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種匹配方法,尤其是一種基于對(duì)稱加密的保護(hù)隱私的屬性匹配方 法,屬于隱私保護(hù)以的【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002] 信息系統(tǒng)中常常使用屬性來標(biāo)注和搜索系統(tǒng)中的數(shù)據(jù)對(duì)象或?qū)嶓w。基于屬性的匹 配被用在各種網(wǎng)絡(luò)系統(tǒng)中,如內(nèi)容分發(fā)系統(tǒng),信息共享系統(tǒng),醫(yī)療系統(tǒng)和社交網(wǎng)絡(luò)系統(tǒng)。其 基本模式為由發(fā)起方給出目標(biāo)對(duì)象的屬性描述,通過系統(tǒng)的匹配/搜索功能,為發(fā)起方返 回與其描述對(duì)象屬性相似度超過一定閾值的對(duì)象。在很多系統(tǒng)中,屬性是數(shù)據(jù)擁有方的隱 私,如醫(yī)療系統(tǒng)中的用戶的病癥和病史,社交網(wǎng)絡(luò)中的個(gè)人信息等。近來,更是涌現(xiàn)了大量 移動(dòng)社交網(wǎng)絡(luò)應(yīng)用,通過屬性匹配來幫助人們尋找滿足一定條件的用戶。在這些應(yīng)用中,我 們面臨著一個(gè)很大的挑戰(zhàn)是如何高效地實(shí)現(xiàn)基于屬性的匹配任務(wù),同時(shí)有效地保護(hù)屬性的 隱私不會(huì)泄漏給不匹配的用戶。
[0003] 基于隱私屬性匹配的服務(wù)允許兩個(gè)用戶在不公開自己屬性給對(duì)方的情況下完成 屬性的匹配過程。目前解決該問題的方法多基于安全多方計(jì)算的思想,其相關(guān)工作分為兩 個(gè)主要類別。第一類提供基于PSI和PCSI的隱私屬性匹配。第二類利用隱私向量的點(diǎn)積 來度量用戶屬性的距離。這些方法依賴公鑰加密系統(tǒng)和同態(tài)加密,導(dǎo)致了高的計(jì)算開銷,并 且它們往往需要一個(gè)可信的第三方。其預(yù)設(shè)過程(例如交換公鑰)和每對(duì)用戶之間保護(hù)隱 私的匹配都需要進(jìn)行多輪交互,造成較大的通信開銷。此外,大多數(shù)現(xiàn)有協(xié)議都缺乏有效的 方法來對(duì)匹配結(jié)果進(jìn)行驗(yàn)證。最后,在這些方法中,匹配上的用戶和未匹配的用戶都需要付 出高昂的運(yùn)算代價(jià)并且均獲知了與發(fā)起者匹配的結(jié)果(例如檔案屬性的交集)。以上這些 局限性限制了安全多方計(jì)算相關(guān)的保護(hù)隱私的匹配方法在實(shí)際系統(tǒng)中的應(yīng)用。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的是克服現(xiàn)有技術(shù)中存在的不足,提供一種基于對(duì)稱加密的保護(hù)隱私 的屬性匹配方法,其不需要任何可信第三方,能夠抵御中間人攻擊以及匹配結(jié)果欺騙的攻 擊,能有效節(jié)省計(jì)算和通信開銷,實(shí)用可靠。
[0005] 按照本發(fā)明提供的技術(shù)方案,一種基于對(duì)稱加密的保護(hù)隱私的屬性匹配方法,所 述屬性匹配方法包括如下步驟:
[0006] 步驟1、在社交網(wǎng)絡(luò)中的每個(gè)用戶vk均建立一個(gè)屬性集合的檔案Ak,所述檔案A k包 含mk個(gè)屬性,4 = …,ap },其中,表示檔案Ak中第i維的屬性;
[0007] 步驟2、發(fā)起者Vi創(chuàng)建一個(gè)描述目標(biāo)匹配用戶特征的請(qǐng)求檔案和一條秘密信息,其 中,請(qǐng)求檔案為經(jīng)過排序的屬性集合A t,請(qǐng)求檔案At包含m t個(gè)屬性來描述發(fā)起者v ,所希望 搜索到的用戶,4= k1';2,…,<1,秘密信息包含了給目標(biāo)匹配用戶的信道密鑰X和確認(rèn) 信息ACK ;
[0008] 步驟3、將上述發(fā)起者v$j建的請(qǐng)求檔案A t生成請(qǐng)求檔案向量H t,并基于請(qǐng)求檔 案向量Ht生成檔案密鑰Kt,且發(fā)起者使用檔案密鑰K t作為對(duì)稱加密算法的密鑰來對(duì)秘密信 息進(jìn)行加密;
[0009] 步驟4、根據(jù)上述請(qǐng)求檔案向量Ht生成所述請(qǐng)求檔案向量的余數(shù)向量,且發(fā)起者 Vi 確定目標(biāo)匹配用戶的必要屬性、可選屬性和相似度閾值,并根據(jù)相似度閾值從請(qǐng)求檔案向 量構(gòu)建線索矩陣,以使得目標(biāo)匹配用戶能恢復(fù)得到檔案密鑰K t;
[0010] 步驟5、發(fā)起者Vi將加密后的秘密信息、余數(shù)向量和線索矩陣打包成一個(gè)請(qǐng)求數(shù)據(jù) 包并發(fā)送至社交網(wǎng)絡(luò)中的用戶;
[0011] 步驟6、發(fā)起者\(yùn)發(fā)送的請(qǐng)求數(shù)據(jù)包被社交網(wǎng)絡(luò)中的用戶接收,用戶能將接收到的 請(qǐng)求數(shù)據(jù)包轉(zhuǎn)發(fā)至社交網(wǎng)絡(luò)中的其他用戶;在社交網(wǎng)絡(luò)中的用戶接收請(qǐng)求數(shù)據(jù)包后,利用 余數(shù)向量對(duì)自身的檔案向量進(jìn)行快速排查,當(dāng)且僅當(dāng)轉(zhuǎn)發(fā)用戶的檔案向量中有與余數(shù)向量 符合的子向量時(shí),則將所述用戶標(biāo)定為待匹配用戶并跳轉(zhuǎn)步驟7,否則,所述用戶將接收到 的請(qǐng)求數(shù)據(jù)包轉(zhuǎn)發(fā)至社交網(wǎng)絡(luò)中的其他用戶;
[0012] 步驟7、待匹配用戶通過自身的檔案和線索矩陣生成一個(gè)候選檔案向量集合,并根 據(jù)候選檔案向量集合生成一個(gè)候選檔案密鑰集合;
[0013] 步驟8、若上述候選檔案密鑰集合中的任何一個(gè)候選密鑰均能正確的對(duì)加密后的 秘密信息進(jìn)行解密,則所述待匹配用戶即為目標(biāo)匹配用戶,查詢和信道密鑰X交換過程即 同時(shí)完成,否則,待匹配用戶將請(qǐng)求數(shù)據(jù)包轉(zhuǎn)發(fā)至社交網(wǎng)絡(luò)中的其他用戶,并使得其他用戶 在接收到請(qǐng)求數(shù)據(jù)包后跳轉(zhuǎn)至步驟6 ;
[0014] 步驟9、目標(biāo)匹配用戶使用解密得到的信號(hào)密鑰X加密預(yù)定義的確認(rèn)信息ACK和一 個(gè)隨機(jī)數(shù)Y,以形成加密數(shù)據(jù)包;目標(biāo)匹配用戶將加密數(shù)據(jù)包發(fā)回至發(fā)起者 Vi。
[0015] 所述步驟3中,利用密碼哈希函數(shù)H對(duì)請(qǐng)求檔案中的屬性進(jìn)行逐個(gè)哈希生成,以得 到請(qǐng)求檔案向量Ht,其中,請(qǐng)求檔案向量//,=以,/7,2,…,其中,/?/=//?),./e ; 在得到請(qǐng)求檔案向量Ht后利用公開哈希函數(shù)生成檔案密鑰K t。
[0016] 步驟4中,根據(jù)請(qǐng)求檔案向量Ht生成余數(shù)向量Rt為:取一個(gè)不大于m t的質(zhì)數(shù)p,則 余數(shù)向量i?, = [/7,1 mod/;, Af2 modp,…,1 mod/?]1 〇
[0017] 步驟4中,將請(qǐng)求檔案At表示為At= {Nt,0t},其中,隊(duì)由A個(gè)必要屬性組成,目 標(biāo)匹配用戶必須包含所有的A個(gè)必須屬性,〇 t為由mt-A個(gè)可選屬性組成,目標(biāo)匹配用戶 必須至少包含其中的0個(gè)屬性,則相似度閾值0為0 = (A + 0)/mt,則根據(jù)相似度閾值 9得到線索矩陣的步驟為:
[0018] 步驟4-1、生成約束矩陣,其中,約束矩陣的行數(shù)為Y =mt-A-0,約束矩陣的列 數(shù)mt_A,得到 C{rX(r+爲(wèi))} - [I {yXy},R{Y + P}],矩陣I為Y維的單元矩陣,R為Y X 0維的 隨機(jī)矩陣,隨機(jī)矩陣R中的每個(gè)元素為非零的隨機(jī)整數(shù);
[0019] 步驟4-2、將約束矩陣與請(qǐng)求檔案相連中的可選屬性相乘,得到 B = Cx[h(/+1),h(tA+2),-,hl m')]r
[0020] 步驟4-3、線索矩陣M由約束矩陣C和矩陣B組合而成,即M = [C,B]。
[0021] 步驟6中,用戶接收請(qǐng)求數(shù)據(jù)包后進(jìn)行排查的步驟為:
[0022] 步驟6-1、接收到請(qǐng)求數(shù)據(jù)包的用戶的屬性向量為Hk,在基于余數(shù)向 量R t用戶在利用自身的屬性向量Hk為每個(gè)余數(shù)r/計(jì)算候選屬性集合,滿足 V/?i' e ,,k<r:):hk modp-r;;
[0023] 步驟6-2、用戶從每個(gè)候選屬性集合中任取出一個(gè)屬性值,即構(gòu)成一個(gè)檔案向量, 從每候選屬性集合中挑選不同的屬性值,可組合成不同的檔案向量;若候選屬性相連集合 為空集,則所述接收到請(qǐng)求數(shù)據(jù)包的用戶不滿足請(qǐng)求檔案中的屬性4,即所得到的檔 案向量中對(duì)應(yīng)的屬性值為未知;
[0024] 步驟6-3、若接收到請(qǐng)求數(shù)據(jù)包的用戶至少能使用自身屬性構(gòu)建出一個(gè)檔案向量 H。且檔案向量H。滿足下述條件,則所述用戶為待匹配用戶:
[0025] 條件1、檔案向量H。中A個(gè)必要屬性都可知;
[0026] 條件2、檔案向量H。中未知屬性個(gè)數(shù)不超過Y ;
[0027] 條件3、由于檔案向量H。和用戶自身的屬性向量Hk均有序,則檔案向量H。的組成 元素與屬性向量H k保持一致的排序。
[0028] 所述步驟7中,每個(gè)檔案向量H??砂怀^y個(gè)的未知屬性,并且對(duì)其中的任 一未知項(xiàng)Y (檔案向量H。內(nèi)的第i個(gè)元素)都有i> A,則檔案向量H。中未知屬性的數(shù)量 可以通過下述線性方程組解得
【權(quán)利要求】
1. 一種基于對(duì)稱加密的保護(hù)隱私的屬性匹配方法,其特征是,所述屬性匹配方法包括 如下步驟: 步驟1、在社交網(wǎng)絡(luò)中的每個(gè)用戶Vk均建立一個(gè)屬性集合的檔案Ak,所述檔案Ak包含 mk個(gè)屬性,4 ···,<*},其中,4表示檔案Ak中第i維的屬性; 步驟2、發(fā)起者Vi創(chuàng)建一個(gè)描述目標(biāo)匹配用戶特征的請(qǐng)求檔案和一條秘密信息,其中, 請(qǐng)求檔案為經(jīng)過排序的屬性集合At,請(qǐng)求檔案At包含mt個(gè)屬性來描述發(fā)起者V 希望搜 索到的用戶,4 ={^,七2,…,<1,秘密信息包含了給目標(biāo)匹配用戶的信道密鑰X和確認(rèn)信 息ACK; 步驟3、將上述發(fā)起者建的請(qǐng)求檔案At生成請(qǐng)求檔案向量Ht,并基于請(qǐng)求檔案向 量Ht生成檔案密鑰Kt,且發(fā)起者使用檔案密鑰Kt作為對(duì)稱加密算法的密鑰來對(duì)秘密信息進(jìn) 行加密; 步驟4、根據(jù)上述請(qǐng)求檔案向量Ht生成所述請(qǐng)求檔案向量的余數(shù)向量,且發(fā)起者V#角 定目標(biāo)匹配用戶的必要屬性、可選屬性和相似度閾值,并根據(jù)相似度閾值從請(qǐng)求檔案向量 構(gòu)建線索矩陣,以使得目標(biāo)匹配用戶能恢復(fù)得到檔案密鑰Kt; 步驟5、發(fā)起者Vi將加密后的秘密信息、余數(shù)向量和線索矩陣打包成一個(gè)請(qǐng)求數(shù)據(jù)包并 發(fā)送至社交網(wǎng)絡(luò)中的用戶; 步驟6、發(fā)起者\(yùn)發(fā)送的請(qǐng)求數(shù)據(jù)包被社交網(wǎng)絡(luò)中的用戶接收,用戶能將接收到的請(qǐng)求 數(shù)據(jù)包轉(zhuǎn)發(fā)至社交網(wǎng)絡(luò)中的其他用戶;在社交網(wǎng)絡(luò)中的用戶接收請(qǐng)求數(shù)據(jù)包后,利用余數(shù) 向量對(duì)自身的檔案向量進(jìn)行快速排查,當(dāng)且僅當(dāng)轉(zhuǎn)發(fā)用戶的檔案向量中有與余數(shù)向量符合 的子向量時(shí),則將所述用戶標(biāo)定為待匹配用戶并跳轉(zhuǎn)步驟7,否則,所述用戶將接收到的請(qǐng) 求數(shù)據(jù)包轉(zhuǎn)發(fā)至社交網(wǎng)絡(luò)中的其他用戶; 步驟7、待匹配用戶通過自身的檔案和線索矩陣生成一個(gè)候選檔案向量集合,并根據(jù)候 選檔案向量集合生成一個(gè)候選檔案密鑰集合; 步驟8、若上述候選檔案密鑰集合中的任何一個(gè)候選密鑰均能正確的對(duì)加密后的秘密 信息進(jìn)行解密,則所述待匹配用戶即為目標(biāo)匹配用戶,查詢和信道密鑰X交換過程即同時(shí) 完成,否則,待匹配用戶將請(qǐng)求數(shù)據(jù)包轉(zhuǎn)發(fā)至社交網(wǎng)絡(luò)中的其他用戶,并使得其他用戶在接 收到請(qǐng)求數(shù)據(jù)包后跳轉(zhuǎn)至步驟6 ; 步驟9、目標(biāo)匹配用戶使用解密得到的信號(hào)密鑰X加密預(yù)定義的確認(rèn)信息ACK和一個(gè)隨 機(jī)數(shù)Y,以形成加密數(shù)據(jù)包;目標(biāo)匹配用戶將加密數(shù)據(jù)包發(fā)回至發(fā)起者Vi。
2. 根據(jù)權(quán)利要求1所述的基于對(duì)稱加密的保護(hù)隱私的屬性匹配方法,其特征是:所述 步驟3中,利用密碼哈希函數(shù)H對(duì)請(qǐng)求檔案中的屬性進(jìn)行逐個(gè)哈希生成,以得到請(qǐng)求檔案向 量1,其中,請(qǐng)求檔案向量/^={^1,/2;2,...,^,其中,<=丑(〇/),7£[1,%];在得到請(qǐng)求檔 案向量Ht后利用公開哈希函數(shù)生成檔案密鑰Kt。
3. 根據(jù)權(quán)利要求1所述的基于對(duì)稱加密的保護(hù)隱私的屬性匹配方法,其特征是,步 驟4中,根據(jù)請(qǐng)求檔案向量Ht生成余數(shù)向量Rt為:取一個(gè)不大于mt的質(zhì)數(shù)p,則余數(shù)向量 i?,= modj3,/j,2 mod/v. ·,A廣mod/?]r。
4. 根據(jù)權(quán)利要求3所述的基于對(duì)稱加密的保護(hù)隱私的屬性匹配方法,其特征是,步驟4 中,將請(qǐng)求檔案At表示為At= {Nt,Ot},其中,隊(duì)由λ個(gè)必要屬性組成,目標(biāo)匹配用戶必須 包含所有的λ個(gè)必須屬性,Ot為由mt-λ個(gè)可選屬性組成,目標(biāo)匹配用戶必須至少包含其 中的β個(gè)屬性,則相似度閾值Θ為θ=(λ+β)/^,則根據(jù)相似度閾值Θ得到線索矩陣 的步驟為: 步驟4-1、生成約束矩陣,其中,約束矩陣的行數(shù)為γ=πι,-λ-β,約束矩陣的列數(shù)mt-A,得到 ^{rX (r+β)} -[I{γΧγ},Κ{γ+Ρ}],矩陣I為γ維的單元矩陣,R為γXβ維的隨 機(jī)矩陣,隨機(jī)矩陣R中的每個(gè)元素為非零的隨機(jī)整數(shù); 步驟4-2、將約束矩陣與請(qǐng)求檔案相連中的可選屬性相乘,得到
步驟4-3、線索矩陣M由約束矩陣C和矩陣B組合而成,即M= [C,Β]。
5. 根據(jù)權(quán)利要求4所述的基于對(duì)稱加密的保護(hù)隱私的屬性匹配方法,其特征是,步驟6 中,用戶接收請(qǐng)求數(shù)據(jù)包后進(jìn)行排查的步驟為: 步驟6-1、接收到請(qǐng)求數(shù)據(jù)包的用戶的屬性向量為Hk,在基于余數(shù)向量Rt用戶在利用自 身的屬性向量Hk為每個(gè)余數(shù)計(jì)算候選屬性集合&(心,滿足: <modp=τ/; 步驟6-2、用戶從每個(gè)候選屬性集合中任取出一個(gè)屬性值,即構(gòu)成一個(gè)檔案向量,從每 候選屬性集合中挑選不同的屬性值,可組合成不同的檔案向量;若候選屬性相連集合 為空集,則所述接收到請(qǐng)求數(shù)據(jù)包的用戶不滿足請(qǐng)求檔案中的屬性4,即所得到的檔案向 量中對(duì)應(yīng)的屬性值為未知; 步驟6-3、若接收到請(qǐng)求數(shù)據(jù)包的用戶至少能使用自身屬性構(gòu)建出一個(gè)檔案向量H。且 檔案向量H。滿足下述條件,則所述用戶為待匹配用戶: 條件1、檔案向量H。中λ個(gè)必要屬性都可知; 條件2、檔案向量Η。中未知屬性個(gè)數(shù)不超過γ; 條件3、由于檔案向量Η。和用戶自身的屬性向量Hk均有序,則檔案向量H。的組成元素 與屬性向量Hk保持一致的排序。
6. 根據(jù)權(quán)利要求5所述的基于對(duì)稱加密的保護(hù)隱私的屬性匹配方法,其特征是,所述 步驟7中,每個(gè)檔案向量H??砂怀^γ個(gè)的未知屬性,并且對(duì)其中的任一未知項(xiàng)< (檔案向量Η。內(nèi)的第i個(gè)元素)都有i>λ,則檔案向量H。中未知屬性的數(shù)量可以通過下述 線性方程組解得
解出檔案向量Η。中未知屬性的個(gè)數(shù)后,用戶可以恢復(fù)出完整的候選檔案向量H'。;將 恢復(fù)出的候選檔案向量H'c利用公開的哈希函數(shù)得到候選檔案集合。
【文檔編號(hào)】H04L29/06GK104468612SQ201410817974
【公開日】2015年3月25日 申請(qǐng)日期:2014年12月24日 優(yōu)先權(quán)日:2014年12月24日
【發(fā)明者】張?zhí)m, 李向陽, 劉克彬 申請(qǐng)人:無錫儒安科技有限公司