拓撲圖記為Social Graph,RBS持有所有用戶的歷史行為數(shù)據(jù),即 用戶購買物品歷史記錄,記為Hi story Records,以保證雙方私有數(shù)據(jù)不泄露。
[0014] -種基于不經(jīng)意傳輸?shù)纳鐣扑]方法包括如下步驟: (1)所述SN端和RBS端將用戶歷史行為記錄矩陣的數(shù)據(jù)分布情況共享給對方: 所述社交網(wǎng)絡(luò)拓撲圖Social Graph包括個性化網(wǎng)頁級別記為Personalized PageRank,基于所述社交網(wǎng)絡(luò)拓撲圖Social Graph,由于使用0T乘法直接算出所有用戶和 物品之間的乘積所需要的開銷太大,因此所述RBS只是將用戶的歷史行為記錄矩陣的數(shù)據(jù) 分布情況(為〇,用戶未曾夠買過物品;為1,用戶購買過物品)共享給SN,同樣SN也需要將自 己數(shù)據(jù)分布情況共享給RBS,兩端僅需計算simfivu^)在0和胃在0的項,從而減少 不必要的計算開銷,極大的提高了運行效率。
[0015] (2)利用0T乘法協(xié)議安全包裝自己的數(shù)據(jù): 首先,RBS端隨機生成P = l〇g|A| (a,beR )個環(huán)元素 SQ,"_,Sw,a表示s〇cial Graph中的某個用戶u與另一個用戶之間相似度值,b表示Hi story Records中物品I的一個 用戶評分,并根據(jù)鏐=?,彳分別計算二元組(?°,# )(0 < i〈p)。接下來,SN端根據(jù) a的二進制表利用0T從RBS端中得到If。最后,SN端計算ι = ,RBS端計算 ?-θ Q y=-&,以此將自己的數(shù)據(jù)完成安全的封裝。
[0016] (3)所述兩端以加法和形式秘密共享數(shù)據(jù),并完成物品的推薦得分計算: SN端和RBS端分別持有向量X和向量Y,其中' ,表示客戶Uj相對于用戶u m 對物品Ii的評分,以此類推,我們可以計算出物品Ii的評分總和為民=£\ + 1^,并且我 J=0 們將所有的評分的總和以這種加法和的形式秘密共享;所述不經(jīng)意傳輸方法通過οτ乘法系 統(tǒng)SN和RBS端各自生成物品得分X和y,SN端和RBS端僅憑所有的X或y是不能推測出對方的詳 細數(shù)據(jù)的。
[0017] (4)比較獲得推薦結(jié)果: 以所述SN端的向量X和所述RBS端的向量Y為輸入,所述SN端和所述RBS端利用Garbl ed Circuits合作實現(xiàn)安全的比較,最終所述RBS端得到針對當前推薦用戶而言的前k個得分最 高的推薦結(jié)果,即得到了 k個對推薦用戶而言最佳的推薦結(jié)果。
[0018] 本發(fā)明技術(shù)方案將兩個參與方分別稱為SN和RBS。問題的形式化定義如下:SN持有 所有用戶之間的社交關(guān)系網(wǎng)絡(luò)拓撲無向圖是所有的用戶節(jié)點集合,」心是 用戶好友關(guān)系的邊集合;RBS持有用戶歷史行為數(shù)據(jù),J是物品id集合備 是用戶與物品之間的關(guān)系集合(如購買關(guān)系),%是邊爲的權(quán)重(如購買次數(shù))。兩方將基于 前面所闡述的算法,通過合作計算,給目標用戶《進行合理的推薦,設(shè)置推薦物品個數(shù)為k。 推薦過程中,保證雙方的私有信息不會泄露。
[0019] 本發(fā)明采用不經(jīng)意傳輸協(xié)議(0T)系統(tǒng)和Garbled Circuits技術(shù),設(shè)計出在不泄露 任何參與方私有數(shù)據(jù)信息的前提下,兩參與方合作進行個性化的社會化推薦。方法具體包 括了三個階段: 第一階段,如圖1所示,利用不經(jīng)意傳輸算法,SN和RBS合作計算出每個物品的預(yù)測得 分,計算過程中不會泄漏與兩參與方輸入數(shù)據(jù)相關(guān)的任何信息。在這一階段中,SN與RBS先 互相交換數(shù)據(jù)的分布情況(并不是數(shù)據(jù)的值),兩端僅需計算sim(u,辛0和 %('%,〗)#〇的項,以減少不必要的計算。接著,RBS端隨機生成Ρ=Ιι?|Λ| (a,bER )個 環(huán)元素 SQ,_",S*1,a表示Social Graph中的某個用戶u與另一個用戶之間相似度值,b表示 History Records中物品I的一個用戶評分,并根據(jù)<=令,4 = 23+?分別計算二元組( <,碌)(0 < i〈P)。接下來,SN端根據(jù)a的二進制表示…利用0T從RBS端中得到If。最 后,SN端計算χ = ?碌,RBS端計算,以此將自己的數(shù)據(jù)完成安全的封裝,得到關(guān) i-O i-0 于相似度值得分χ,以及關(guān)于評分記錄得分y; 第二階段,如圖2所示,SN端和RBS端分別持有向量Χ={*ι,*2,…,和向量Υ=!Λ, )?,…,},其中勺+ -Vj = % * 6i,表示客戶%相對于用戶u對物品的評分,以此類 m 推,我們可以計算出物品^?的評分總和為民=+達,并且我們將所有的評分的總和以 j=〇 這種加法和的形式秘密共享; 第三階段,如圖3所示,RBS和SN利用Garbled Circuits合作執(zhí)行安全的比較過程,最 終RBS得到對當前目標用戶《而言的個推薦結(jié)果,為了盡量減少比較次數(shù),提高效率, 我們使用快排思想作為比較機制。在這一階段,任意挑選用戶《未曾訪問過的物品?作為初 始值,RBS和SN合作執(zhí)行安全比較電路Garbled Circuits,將爲與所有得分進行比較,保證 比較過程不泄露雙方的任何私有信息,兩方根據(jù)大小比較結(jié)果交換相應(yīng)位置的得分S,最 終保證所有比馮小的物品都排在馬后面,比馮大的物品都排在馮前面,每一輪比較結(jié)束 后,記錄物品?當前位置iaakt。如果當前位置iwfcx等于t,則返回當前位置前的物品相應(yīng) fc-:〇,并將其推薦給用戶;如果當前位置大于t,則從開始位置到當前 位置重復(fù)執(zhí)行以上步驟,直到當前位置等于Jt ;如果當前位置小于i,則從當前位置 到最后位置重復(fù)執(zhí)行以上步驟,直到當前位置等于t。
[0020] 安全方面:從本發(fā)明技術(shù)方案可以看出,只需分析兩參與方能否通過接收到的另 一方所發(fā)送的信息來推斷出其私有數(shù)據(jù)信息,若不能,則可說明方法是安全的。
[0021] 首先分析參與方RBS端的私有信息是否會泄漏。RBS可以得到SN的數(shù)據(jù)分布情況, 并不是數(shù)據(jù)值(步驟1中),而根據(jù)數(shù)據(jù)的分布情況并無法確定具體的數(shù)值。通過0T乘法,RBS 和SN無法由χ以及y得到a,b的任何信息。步驟5中,RBS和SN利用Garbled Circuits實現(xiàn)安全 的比較,從所有物品得分中挑選出轉(zhuǎn)A個最高預(yù)測得分,基于電路的安全性,我們認為該比 較過程不會泄露任何的私有信息。在本發(fā)明的算法執(zhí)行過程的其他各個步驟中,SN除了最 初的數(shù)據(jù)分布情況,沒有向RBS發(fā)送任何數(shù)據(jù)具體值,綜合以上分析可知,在本發(fā)明的算法 執(zhí)行過程中,SN的私有數(shù)據(jù)沒有任何泄露。
[0022] 另一方面,在本發(fā)明的執(zhí)行過程中,除了步驟1的數(shù)據(jù)分布情況交互和步驟5的安 全比較協(xié)議的交互之外,RBS只向SN發(fā)送數(shù)據(jù),顯然,SN只能通過a的二進制表示七… 和= 得到x,由于隨機數(shù)的干擾,并無法得到RBS的任何私有數(shù)據(jù)信息,因此,本 H-0 發(fā)明的執(zhí)行過程保證了RBS私有信息不會泄露。所以,基于不經(jīng)意傳輸系統(tǒng)和安全比較電路 的安全性,本發(fā)明檢測過程是安全的,任何參與方的私有數(shù)據(jù)都不會發(fā)生泄露。
[0023]假設(shè)RBS是擁有4個用戶8個物品的電子商務(wù)服務(wù)提供商,用戶歷史行為數(shù)據(jù)(購買 關(guān)系記錄)如圖4所示,此處用<?,=(£/3人盡31^)表示J是物品id集合,馬是用戶與物品之 間的關(guān)系集合(如購買關(guān)系),W是邊焉的權(quán)重(如購買次數(shù)XSN持有RBS所有用戶之間的 社交關(guān)系網(wǎng)絡(luò)拓撲圖6=(仏盡)(無向圖),如下圖5所示,其中,P是所有的用戶節(jié)點集 合,」Er是用戶好友關(guān)系的邊集合。
[0024] 兩方將通過合作計算,給目標用戶%進行合理的推薦,設(shè)置推薦物品個數(shù)為fc = 2 。推薦過程中,保證雙方的私有數(shù)據(jù)信息不會泄露。
[0025] 本實施例的具體實施步驟如下: 預(yù)處理:SN根據(jù)社交網(wǎng)絡(luò)拓撲圖每得到用戶關(guān)系矩陣,(B是用戶數(shù) 目4);根據(jù)珥=(遼HIT,),RBS得到物品與用戶關(guān)系倒排表/ = (_?*?),物是物品 標識i(物品id),μΛι?是由構(gòu)成的二元組,_*f是訪問過物品i的用戶 標識a,是用戶《對物品i的購買次數(shù)。P是目標用戶未曾購買過的所有物品集 合,廠= 01^6,7,均。
[0026] (1)利用不經(jīng)意傳輸算法,RBS和SN合作計算出每個物品的預(yù)測得分,計算過程中 不會泄露與兩參與方輸入數(shù)據(jù)相關(guān)的任何信息。具體實施步驟如下: 步驟一:根據(jù)關(guān)系矩陣通過迭代計算Personal ized PageRank得到針對目標 用戶 1? 的一維Personalized PageRank值向量= 。
[0027] 步驟二