一種基于同態加密的社會化推薦方法
【技術領域】
[0001] 本發明涉及安全多方計算領域,特別是涉及一種基于同態加密的社會化推薦方 法。
【背景技術】
[0002] 基于鄰域的算法是推薦系統中最基本的算法,該算法不僅在學術界得到了深入研 宄,而且在業界也得到了廣泛應用。基于鄰域的算法分為兩大類:一類是基于用戶的協同過 濾算法,另一類是基于物品的協同過濾算法。
[0003] 協同過濾方法主要根據用戶的歷史行為和興趣來預測用戶未來的行為,因此大量 的用戶歷史行為數據成為推薦系統的重要組成成分和先決條件。對于許多在初始階段的網 站而言,沒有大量用戶數據的積累,協同過濾方法不能夠很好的發揮出效果。
[0004] 基于鄰域的社會化推薦算法,通常默認用戶的社交網絡拓撲圖來自完全安全可信 的提供商,RBS可以完全不受拘束的使用社交網絡拓撲數據進行社會化推薦。但更多情況 下,RBS僅持有用戶歷史行為數據信息,社交網絡拓撲信息需要通過第三方的API獲取(比 如Facebook's Open Graph, Twitter API, etc)。而在現實生活中,完全可信賴的第三方 這一假設通常是不成立的。由此可見,一個安全可靠的多方合作的社會化推薦方案十分必 要。
[0005] Yao 在文獻"How to generate and exchange secrets" 中首次提出了安全兩方 計算的概念,并且設計出了第一個安全兩方比較協議-百萬富翁協議。該協議使得兩個參 與方能夠在不泄露個人輸入的情況下,比較出兩方所持有數據的大小關系。他同時在該 文獻中指出,任何安全兩方的計算協議,均可以通過電路門實現。到目前為止,基于Yao的 Garbled Circuits原理,學者們已經設計出包括:安全多方求和,安全多方求差,安全多方 求積以及安全多方比較等一系列基本操作模塊。
【發明內容】
[0006] 本發明主要解決的技術問題是提供一種基于同態加密的社會化推薦方法,通過在 不泄露任一參與方私有數據的前提下,同態加密、合作完成個性化的社會化推薦,基于好友 關系的推薦可以增加推薦的信任度,利用社交網絡可以有效解決傳統推薦方法的冷啟動問 題,安全性高、適應性強,在基于同態加密的社會化推薦方法的普及上有著廣泛的市場前 景。
[0007] 為解決上述技術問題,本發明提供一種基于同態加密的社會化推薦方法,包括:社 交網絡服務提供商和電子商務提供商作為參與方,其中所述社交網絡服務提供商記為SN、 所述電子商務提供商記為RBS,SN端持有所有用戶的社交網絡拓撲圖記為Social Graph, RBS持有所有用戶的歷史行為數據,即用戶購買物品歷史記錄,記為History Records,以保 證雙方私有數據不泄露, 包括如下步驟: (1) 所述SN端利用同態加密密鑰加密數據: 所述社交網絡拓撲圖Social Graph包括個性化網頁級別記為PersonalizedPageRank, 基于所述社交網絡拓撲圖Social Graph,所述SN端通過迭代計算Personalized PageRank 得到針對當前目標用戶的Personalized PageRank值向量·Ρ,同時,所述SN端以同態加密 方式生成密鑰對(瓦·〇),其中E為公鑰、D為私鑰,并對向量P的每一個元素加密獲得向量 鞏乃,并將加密后得到的向量珂乃和公鑰£發送到所述RBS端; (2) RBS端計算所有物品的推薦得分: 所述RBS端接收到來自所述SN端的加密向量和公鑰5后,先利用公鑰5將 所有物品預測得分初始化為5(乃,對于所有目標用戶《未曾訪問過的物品i,利用公式
【主權項】
1. 一種基于同態加密的社會化推薦方法,其特征在于,包括:社交網絡服務提供商和 電子商務提供商作為參與方,其中所述社交網絡服務提供商記為SN、所述電子商務提供商 記為RBS,SN端持有所有用戶的社交網絡拓撲圖記為SocialGraph,RBS持有所有用戶的歷 史行為數據,即用戶購買物品歷史記錄,記為化storyRecords,W保證雙方私有數據不泄 露, 包括如下步驟: (1) 所述SN端利用同態加密密鑰加密數據: 所述社交網絡拓撲圖SocialGraph包括個性化網頁級別記為化rsonalized化geRank,基于所述社交網絡拓撲圖SocialGraph,所述SN端通過迭代計算 Personalized化geRank得到針對當前目標用戶的化rsonalized化geRank值向量 P,同時,所述SN端W同態加密方式生成密鑰對巧,巧,其中E為公鑰、D為私鑰,并對向 量P的每一個元素加密獲得向量S(巧,并將加密后得到的向量S(巧和公鑰玄發送到所述RBS端; (2) RBS端計算所有物品的推薦得分: 所述RBS端接收到來自所述SN端的加密向量巧和公鑰忍后,先利用公鑰及將 所有物品預測得分初始化為5(巧,對于所有目標用戶未曾訪問過的物品i,利用公式
重新計算推薦得分,最終得到所有物品的推薦得分向量5(巧; (3) 所述RBS端共享所有物品的推薦得分: 所述RBS端將向量玄(巧隨機重排列后得到盈狂),產生與物品同等個數的隨機數,構 成隨機數向量公2,利用化illier加密機制的加乘法同態性質計算玄(公巧32)-1,得到 巧公-S2),并將結果發送給所述SN,所述SN端在接收到來自所述RBS端的數據巧公-5'2) 后,借助私鑰D解密D巧把-S2)),得到向量別,即為明文形式的s'-,?2 ; (4) 比較獲得推薦結果: W所述SN端的向量巧和所述RBS端的向量忍2為輸入,所述SN端和所述RBS端利用GarbledCircuits合作實現安全的比較,最終所述RBS端得到針對當前推薦用戶而言的前 k個得分最高的推薦結果,即得到了k個對推薦用戶而言最佳的推薦結果。
2. 根據權利要求1所述的基于同態加密的社會化推薦方法,其特征在于,步驟(1) 中的所述同態加密方法通過加法同態加密系統生成加法同態加密密鑰對巧,〇),且滿足 忍(稱)*巧詩=巧傑+W)W及忍(巧拍)=巧的%則巧玄如)*巧巧=陽+ ?W及公(巧崎,)=。
3. 根據權利要求1所述的基于同態加密的社會化推薦方法,其特征在于,步驟(2)中的 所述T根據輸入數據隨機選擇。
4. 根據權利要求1所述的基于同態加密的社會化推薦方法,其特征在于,步驟(3)中的 所述隨機數向量5^2的元素均小于T。
【專利摘要】本發明公開了一種基于同態加密的社會化推薦方法,包括如下步驟:(1)所述SN端利用同態加密密鑰加密數據;(2)RBS端計算所有物品的推薦得分;(3)所述RBS端共享所有物品的推薦得分;(4)比較獲得推薦結果。通過上述方式,本發明基于同態加密的社會化推薦方法具有安全性極高、適應性極強等優點,在基于同態加密的社會化推薦方法的普及上有著廣泛的市場前景。
【IPC分類】H04L29-06, H04L29-08
【公開號】CN104796475
【申請號】CN201510197609
【發明人】劉安, 劉曙曙, 劉冠峰, 李直旭, 周曉方
【申請人】蘇州大學
【公開日】2015年7月22日
【申請日】2015年4月24日