促成對等覆蓋網(wǎng)絡(luò)中的訪問控制的制作方法
【專利摘要】提供了用于促成對存儲(chǔ)在對等覆蓋網(wǎng)絡(luò)內(nèi)的數(shù)字對象的訪問控制的方法和裝置。提供了用于在對等網(wǎng)絡(luò)中的第一對等節(jié)點(diǎn)和第二對等節(jié)點(diǎn)之間匹配身份的隱私保留方法。此種身份匹配可被用于例如查明第一對等節(jié)點(diǎn)是否應(yīng)該提供對存儲(chǔ)在對等覆蓋網(wǎng)絡(luò)中的某些數(shù)字對象的訪問。第二對等體可以并非以不受保護(hù)的格式提供其身份,而是按隱藏表示向第一對等節(jié)點(diǎn)提供其身份從而防止第一對等體獲悉非匹配的身份。此種隱藏表示可以是一種數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)通過密碼學(xué)方式在該數(shù)據(jù)結(jié)構(gòu)的共享數(shù)據(jù)空間內(nèi)隱藏第二對等節(jié)點(diǎn)的或第二對等節(jié)點(diǎn)的用戶的一個(gè)或多個(gè)身份。
【專利說明】促成對等覆蓋網(wǎng)絡(luò)中的訪問控制
[0001]背景
[0002]領(lǐng)域
[0003]本文公開的各特征一般涉及對等覆蓋網(wǎng)絡(luò),并且至少一些特征涉及促成對等覆蓋網(wǎng)絡(luò)中的訪問控制而同時(shí)維持用戶隱私。
[0004]背景
[0005]對等(P2P)覆蓋網(wǎng)絡(luò)是為低成本可伸縮性和易于部署應(yīng)用而設(shè)計(jì)的。在P2P網(wǎng)絡(luò)中,每個(gè)用戶經(jīng)由對等體集合連接到網(wǎng)絡(luò)的其余部分。此外,每個(gè)用戶可具有形成離散集的身份集(例如,成員信息、電子郵件地址、群成員資格、賬戶標(biāo)識符、和/或其它形式的成員/賬戶標(biāo)識符)。此身份集可被認(rèn)為是數(shù)學(xué)意義上的離散集,即指具有相同特性的元素的集合。問題出現(xiàn)在兩個(gè)對等體(A和B)希望發(fā)現(xiàn)其身份集的交集時(shí)。例如,對等體A可包括身份(1&11004”、‘411^14”、“作4”、“吐&74”等),并且對等體B可包括身份(“gmail-B”、“Linkedln-B”、“bank(銀行)-B”等)。身份匹配可發(fā)生在A和B正嘗試發(fā)現(xiàn)它們是否屬于同一群(因此具有相同的群憑證)時(shí);或者當(dāng)一方正對一對象執(zhí)行訪問控制(這需要來自準(zhǔn)予身份集的身份),并且另一方正嘗試訪問該對象時(shí)。例如,僅那些具有eBay?賬戶(“ebay-n”)的對等體可被準(zhǔn)予訪問特定對象。
[0006]在對等網(wǎng)絡(luò)中,這兩個(gè)身份集必須被傳輸給同一對等體以執(zhí)行操作(例如,對等體A將他的身份發(fā)送給對等體B)。一種非安全解決方案是P2P網(wǎng)絡(luò)上的一個(gè)對等體將存儲(chǔ)在其機(jī)器上的整個(gè) 集發(fā)送到另一對等體(例如,對等體A向?qū)Φ润wB發(fā)送其所有身份一“Yah00-A”、“gmail-A”、“fb-A”、“ebay-A”等)。接收方對等體能隨后執(zhí)行集合運(yùn)算,并發(fā)送回運(yùn)算結(jié)果。即,集合運(yùn)算可確定對等體是否包括給予其對特定數(shù)字對象(例如,數(shù)據(jù)、密鑰、口令、可執(zhí)行件、應(yīng)用等)的訪問的身份。當(dāng)操作中涉及的集合較大時(shí),此種解決方案在消息接發(fā)和計(jì)算方面導(dǎo)致顯著的開銷。此外,此種操作可向?qū)Φ润wB以及潛在地向路由路徑中的所有節(jié)點(diǎn)泄露對等體A所有的身份或成員資格,這可能侵犯對等體A的隱私。例如,如果對等體要發(fā)送具有其身份的身份集,則這可能允許接收方對等體和/或中間對等體查明其中一些或所有身份或相關(guān)信息,由此潛在地泄露私密信息(例如,對等體A可發(fā)送身份集,該身份集可能泄露指示對等體A患有罕見疾病的該疾病醫(yī)療組織成員資格)。
[0007]因此,需要一種方式來保留對等體的隱私(例如,身份、成員資格等)而同時(shí)仍能夠執(zhí)行對等網(wǎng)絡(luò)中的訪問控制。
[0008]概述
[0009]提供了一種在請求方對等節(jié)點(diǎn)中操作的用于獲得對數(shù)字對象的訪問而同時(shí)保護(hù)請求方的隱私的方法。生成一種數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)通過密碼學(xué)方式將請求方對等節(jié)點(diǎn)的或請求方對等節(jié)點(diǎn)用戶的一個(gè)或多個(gè)身份隱藏在該數(shù)據(jù)結(jié)構(gòu)的共享數(shù)據(jù)空間內(nèi)。這一個(gè)或多個(gè)身份的每一個(gè)的表示可以沿共享數(shù)據(jù)空間均勻并隨機(jī)地分布。該數(shù)據(jù)結(jié)構(gòu)可隨后作為訪問數(shù)字對象的請求的一部分被發(fā)送至驗(yàn)證方對等節(jié)點(diǎn)。作為響應(yīng),請求方對等節(jié)點(diǎn)可從驗(yàn)證方對等節(jié)點(diǎn)接收信息,該信息指示這一個(gè)或多個(gè)身份中是否有任一個(gè)是用于訪問所請求的數(shù)字對象的匹配。[0010]根據(jù)所收到的信息,請求方對等節(jié)點(diǎn)可將第一身份標(biāo)識為匹配并選擇與第一身份對應(yīng)的認(rèn)證數(shù)據(jù)。所選擇的認(rèn)證數(shù)據(jù)隨后被發(fā)送至驗(yàn)證方對等節(jié)點(diǎn)以認(rèn)證對數(shù)字對象的訪問。如果所選擇的認(rèn)證數(shù)據(jù)被驗(yàn)證方對等節(jié)點(diǎn)成功認(rèn)證,則請求方對等節(jié)點(diǎn)可獲得對該數(shù)字對象的訪問。
[0011]這一個(gè)或多個(gè)身份可以是群身份且數(shù)字對象是僅特定群的成員可用的數(shù)據(jù)。請求方對等節(jié)點(diǎn)和驗(yàn)證方對等節(jié)點(diǎn)可通過覆蓋對等網(wǎng)絡(luò)無線通信。該數(shù)據(jù)結(jié)構(gòu)可以是二進(jìn)制矢量,其中這一個(gè)或多個(gè)身份的每一個(gè)由沿該二進(jìn)制矢量均勻且隨機(jī)分布的多個(gè)位來表示。
[0012]在一個(gè)示例中,該二進(jìn)制矢量可如下生成:(a)向第一身份應(yīng)用密碼散列函數(shù)以生成二進(jìn)制串;(b)將該二進(jìn)制串劃分成二進(jìn)制段;(c)將每個(gè)二進(jìn)制段轉(zhuǎn)換為該二進(jìn)制矢量內(nèi)的位置索引;和/或(d)將該二進(jìn)制矢量在所指示的位置索引處的矢量值設(shè)置為非默認(rèn)值。多個(gè)附加身份可被轉(zhuǎn)換為在該二進(jìn)制矢量中被設(shè)為非默認(rèn)值的位置索引。該數(shù)據(jù)結(jié)構(gòu)可以是布隆過濾器矢量,其中每個(gè)身份由沿該布隆過濾器矢量均勻且隨機(jī)分布的多個(gè)位來表示。在此意義上,該數(shù)據(jù)結(jié)構(gòu)是其中假陽性身份匹配是可能的概率性數(shù)據(jù)結(jié)構(gòu)。
[0013]提供了一種在驗(yàn)證方對等節(jié)點(diǎn)中操作的用于促成對數(shù)字對象的訪問而同時(shí)保護(hù)請求方的隱私的方法??蓮恼埱蠓綄Φ裙?jié)點(diǎn)接收作為訪問數(shù)字對象的請求的一部分的數(shù)據(jù)結(jié)構(gòu),其中所收到的數(shù)據(jù)結(jié)構(gòu)通過密碼學(xué)方式將請求方對等節(jié)點(diǎn)的或請求方對等節(jié)點(diǎn)用戶的一個(gè)或多個(gè)身份隱藏在該數(shù)據(jù)結(jié)構(gòu)的共享數(shù)據(jù)空間內(nèi)。這一個(gè)或多個(gè)身份的每一個(gè)的表示可以沿共享數(shù)據(jù)空間均勻并隨機(jī)地分布。獲得被允許訪問該數(shù)字對象的一個(gè)或多個(gè)訪問身份。針對這些訪問身份中的每一個(gè)生成第二數(shù)據(jù)結(jié)構(gòu),其中第二數(shù)據(jù)結(jié)構(gòu)通過密碼學(xué)方式隱藏該數(shù)字對象的訪問身份。隨后在收到的數(shù)據(jù)結(jié)構(gòu)和第二數(shù)據(jù)結(jié)構(gòu)之間執(zhí)行比較以查明是否存在指示潛在匹配的身份交集。該信息隨后被發(fā)送至請求方對等節(jié)點(diǎn),該信息指示該請求方對等節(jié)點(diǎn)的這一個(gè)或多個(gè)身份中是否有任一個(gè)是用于訪問所請求的數(shù)字對象的匹配。
[0014]作為響應(yīng),驗(yàn)證方對等節(jié)點(diǎn)可接收與由該驗(yàn)證方對等設(shè)備標(biāo)識出的匹配身份相關(guān)聯(lián)的認(rèn)證數(shù)據(jù)。如果收到的認(rèn)證數(shù)據(jù)被成功認(rèn)證,則驗(yàn)證方對等節(jié)點(diǎn)可隨后準(zhǔn)予請求方對等節(jié)點(diǎn)訪問所請求的數(shù)字對象。認(rèn)證數(shù)據(jù)被認(rèn)證以驗(yàn)證請求方對等節(jié)點(diǎn)是由匹配身份所標(biāo)識的群的成員。由驗(yàn)證方對等節(jié)點(diǎn)發(fā)送以指示匹配的信息可以是匹配身份。由驗(yàn)證方對等節(jié)點(diǎn)發(fā)送以指示匹配的信息可以是匹配身份的隱藏版本。在各種實(shí)現(xiàn)中,所請求的數(shù)字對象可由驗(yàn)證方對等節(jié)點(diǎn)或由存儲(chǔ)方對等節(jié)點(diǎn)存儲(chǔ)。
[0015]在一個(gè)示例中,收到的數(shù)據(jù)結(jié)構(gòu)可以是二進(jìn)制矢量,其中該請求方對等節(jié)點(diǎn)的這一個(gè)或多個(gè)身份中的每一個(gè)由沿該二進(jìn)制矢量均勻且隨機(jī)地分布的多個(gè)位來表示。例如,該數(shù)據(jù)結(jié)構(gòu)可以是布隆過濾器矢量,其中每個(gè)身份由沿二進(jìn)制矢量均勻且隨機(jī)地分布的多個(gè)位來表示。
[0016]第二數(shù)據(jù)結(jié)構(gòu)是如下生成的二進(jìn)制矢量:(a)向第一身份應(yīng)用密碼散列函數(shù)以生成二進(jìn)制串;(b)將該二進(jìn)制串劃分成二進(jìn)制段;(c)將每個(gè)二進(jìn)制段轉(zhuǎn)換為二進(jìn)制矢量內(nèi)的位置索引;和/或(d)將二進(jìn)制矢量在所指示的位置索引處的矢量值設(shè)置為非默認(rèn)值。
[0017]附圖簡要說明
[0018]圖1是解說包括對等覆蓋網(wǎng)絡(luò)和多個(gè)對等節(jié)點(diǎn)的網(wǎng)絡(luò)的框圖。
[0019]圖2是解說請求方對等節(jié)點(diǎn)和存儲(chǔ)方和/或驗(yàn)證方對等節(jié)點(diǎn)之間用以處理訪問請求而同時(shí)保護(hù)請求方對等節(jié)點(diǎn)的身份的隱私的交換的流圖。
[0020]圖3解說了生成隱藏請求方對等節(jié)點(diǎn)的多個(gè)身份的布隆過濾器矢量的一個(gè)示例。
[0021]圖4解說了生成隱藏請求方對等節(jié)點(diǎn)的多個(gè)身份的布隆過濾器矢量而同時(shí)降低假陽性概率的示例。
[0022]圖5解說了生成隱藏請求方對等節(jié)點(diǎn)的多個(gè)身份的布隆過濾器矢量而同時(shí)降低假陽性概率的另一示例。
[0023]圖6解說了可針對被允許訪問數(shù)字對象的訪問身份生成的一個(gè)或多個(gè)布隆過濾器矢量的示例。
[0024]圖7解說了可針對被允許訪問數(shù)字對象的一個(gè)或多個(gè)身份生成的一個(gè)或多個(gè)布隆過濾器矢量的示例。
[0025]圖8是解說根據(jù)一個(gè)示例的請求方對等節(jié)點(diǎn)的框圖。
[0026]圖9解說了一種在請求方對等節(jié)點(diǎn)中操作的用于在訪問控制期間保護(hù)其身份的隱私的方法。
[0027]圖10解說了一種在請求方對等節(jié)點(diǎn)中操作的用于將身份隱藏在布隆過濾器矢量中的方法。
[0028]圖11是解說根據(jù)一個(gè)示例的驗(yàn)證方/存儲(chǔ)方對等節(jié)點(diǎn)的框圖。
[0029]圖12解說了一種在驗(yàn)證方對等節(jié)點(diǎn)中操作的用于保護(hù)請求方對等節(jié)點(diǎn)身份的隱私而同時(shí)執(zhí)行訪問控制的方法。
[0030]詳細(xì)描述
[0031]在以下描述中,給出了具體細(xì)節(jié)以提供對所描述的實(shí)現(xiàn)的透徹理解。然而,本領(lǐng)域普通技術(shù)人員將理解,沒有這些具體細(xì)節(jié)也可實(shí)踐各種實(shí)現(xiàn)。例如,電路可能以框圖形式示出,以免使這些實(shí)現(xiàn)湮沒在不必要的細(xì)節(jié)中。在其他實(shí)例中,公知的電路、結(jié)構(gòu)和技術(shù)可能被詳細(xì)示出以免湮沒所描述的實(shí)現(xiàn)。
[0032]措辭“示例性”在本文中用于表示“用作示例、實(shí)例或解說”。本文中描述為“示例性”的任何實(shí)現(xiàn)或?qū)嵤├槐乇唤忉尀閮?yōu)于或勝過其他實(shí)施例或?qū)崿F(xiàn)。同樣,術(shù)語“實(shí)施例”并不要求所有實(shí)施例都包括所討論的特征、優(yōu)點(diǎn)、或工作模式。本文中使用的術(shù)語“對等覆蓋網(wǎng)絡(luò)”和“對等節(jié)點(diǎn)”旨在被寬泛地解釋。例如,“對等覆蓋網(wǎng)絡(luò)”可以指不由服務(wù)器或穩(wěn)定主機(jī)集中式地協(xié)調(diào)的、且包括在各對等方之間劃分任務(wù)或工作負(fù)載的分布式應(yīng)用架構(gòu)的覆蓋網(wǎng)絡(luò)。此外,“對等節(jié)點(diǎn)”可以指促成對等覆蓋網(wǎng)絡(luò)上的通信的設(shè)備?!皩Φ裙?jié)點(diǎn)”的示例可包括打印機(jī)、平板計(jì)算機(jī)、電視機(jī)、移動(dòng)電話、個(gè)人數(shù)字助理、個(gè)人媒體播放器、膝上型計(jì)算機(jī)、筆記本計(jì)算機(jī)、臺式計(jì)算機(jī)等。
[0033]綜覽
[0034]一個(gè)特征促成對存儲(chǔ)在對等覆蓋網(wǎng)絡(luò)中的數(shù)字對象的訪問控制。提供了一種用于在對等網(wǎng)絡(luò)中的第一對等體和第二對等體之間匹配身份的隱私保留方法,并且該方法可被擴(kuò)展至多個(gè)附加對等體。此種身份匹配可被用于例如查明第一對等體是否應(yīng)向第二對等體提供對某些數(shù)字對象(例如,數(shù)據(jù)、應(yīng)用、可執(zhí)行件、密鑰等)的訪問(例如,讀訪問、寫訪問、刪除訪問、執(zhí)行訪問等)。例如,第二對等體可向第一對等體提供第二對等體的身份列表從而可執(zhí)行身份匹配。然而,第二對等體可以并非以不受保護(hù)的格式提供其身份,而是按隱藏表示提供其身份從而防止第一對等體獲悉非匹配身份。即,通過隱藏身份,僅第二對等體的匹配身份被揭示給第一對等體,而第二對等體的其它身份則保持私密。
[0035]在一個(gè)示例中,由第一對等體向第二對等體提供的身份可以是群身份。例如,此類群身份可標(biāo)識第一對等體的用戶可以是其成員或具有其賬戶/訂閱的各種類型的群,諸如俱樂部、學(xué)校、聯(lián)盟、公司等。即,第一對等體可提供一個(gè)或多個(gè)群身份(按隱藏格式),而第二對等體可用其查明是否準(zhǔn)予第一對等體訪問(例如,訪問數(shù)據(jù)對象、可執(zhí)行代碼、密鑰等)。即,如果第一對等體的特定群身份與被允許訪問數(shù)字對象的群身份匹配,則第二對等體可準(zhǔn)予此種訪問。在一些實(shí)現(xiàn)中,為了驗(yàn)證第一對等體所作的是特定群的成員的聲明,可執(zhí)行后續(xù)認(rèn)證過程以認(rèn)證第一對等體的特定群成員資格。例如,這可以通過由第一對等體出示由該特定群的群管理員簽名的某些憑證(例如,用戶身份)(例如,通過用屬于該特定群的私鑰簽名以及可通過相應(yīng)的公鑰驗(yàn)證)來達(dá)成。
[0036]根據(jù)一方面,身份的隱藏可通過散列一個(gè)或多個(gè)身份并在二進(jìn)制矢量內(nèi)表不這些散列值來達(dá)成。例如,此種二進(jìn)制矢量可被實(shí)現(xiàn)為布隆過濾器,即一種由長度為m且散列函數(shù)數(shù)目為k的二進(jìn)制矢量構(gòu)成的數(shù)據(jù)結(jié)構(gòu)。在這些操作之前,發(fā)送方對等體和接收方對等體商定一系列散列函數(shù),由來表示,其中散列函數(shù)的數(shù)目可以是任意大的。這些散列函數(shù)中的一個(gè)或多個(gè)隨后可被用于生成可代表第一對等體的多個(gè)身份的復(fù)合二進(jìn)制矢量中的一個(gè)或多個(gè)偏移或位置索引值。該復(fù)合二進(jìn)制矢量可由第一對等體發(fā)送至第二對等體。第二對等體可隨后以類似方式針對它希望比較的每個(gè)身份(例如,被允許訪問所請求的數(shù)字對象的身份)生成本地二進(jìn)制矢量。本地二進(jìn)制矢量可隨后與復(fù)合二進(jìn)制矢量比較以確定是否發(fā)現(xiàn)匹配。
[0037]示例性操作網(wǎng)絡(luò)
[0038]圖1是解說包括對等覆蓋網(wǎng)絡(luò)102和多個(gè)對等節(jié)點(diǎn)104A-104F的網(wǎng)絡(luò)的框圖。對等覆蓋網(wǎng)絡(luò)102可以是分散式的和/或分布式的,從而其不由服務(wù)器或穩(wěn)定的主機(jī)集中地協(xié)調(diào)。數(shù)字對象可被存儲(chǔ)在網(wǎng)絡(luò)的對等節(jié)點(diǎn)104A-104F中。本文使用的術(shù)語“數(shù)字對象”指各種類型的信息,包括數(shù)據(jù)對象、可執(zhí)行代碼、程序、密鑰、證書等。對等覆蓋網(wǎng)絡(luò)102可在現(xiàn)有的網(wǎng)絡(luò)結(jié)構(gòu)(例如,無線網(wǎng)絡(luò))上實(shí)現(xiàn)。例如,對等覆蓋網(wǎng)絡(luò)102可被實(shí)現(xiàn)為在通信協(xié)議棧的最高層(例如,應(yīng)用層)處操作。此種對等覆蓋網(wǎng)絡(luò)102可利用任何類型的底下的網(wǎng)絡(luò)(諸如網(wǎng)際協(xié)議網(wǎng)絡(luò))以允許覆蓋網(wǎng)絡(luò)102上的多個(gè)對等節(jié)點(diǎn)104A-104F彼此通信。底下的網(wǎng)絡(luò)可包括任何數(shù)量的網(wǎng)絡(luò)類型,諸如廣域網(wǎng)(WAN)、局域網(wǎng)(LAN)、無線網(wǎng)絡(luò)(例如,WffAN,WLAN)和/或任何其他類型的網(wǎng)絡(luò)。
[0039]對等節(jié)點(diǎn)104A-104F可包括適于經(jīng)由對等覆蓋網(wǎng)絡(luò)102通信的設(shè)備。此類設(shè)備可包括適于促成經(jīng)由對等覆蓋網(wǎng)絡(luò)102的通信的中間件層。作為示例而非限定,對等節(jié)點(diǎn)可包括諸如打印機(jī)104A、平板計(jì)算機(jī)104B、電視機(jī)104C、移動(dòng)電話、個(gè)人數(shù)字助理、以及個(gè)人媒體播放器104D、膝上型和筆記本計(jì)算機(jī)104E、和/或臺式計(jì)算機(jī)104F之類的設(shè)備。
[0040]采用對等覆蓋網(wǎng)絡(luò)102,對等節(jié)點(diǎn)104A-104F中的每一個(gè)能夠與其他對等節(jié)點(diǎn)104A-104F進(jìn)行通信,而無需服務(wù)器或穩(wěn)定主機(jī)的集中協(xié)調(diào)。例如,每個(gè)對等節(jié)點(diǎn)104A-104F可使其資源(例如,處理能力、盤存儲(chǔ)、網(wǎng)絡(luò)帶寬)的一部分可供另一對等節(jié)點(diǎn)使用,并且可利用另一對等節(jié)點(diǎn)的資源的一部分,而無需服務(wù)器或穩(wěn)定主機(jī)進(jìn)行集中協(xié)調(diào)。一個(gè)或多個(gè)對等節(jié)點(diǎn)104A-104F可存儲(chǔ)可由對等覆蓋網(wǎng)絡(luò)102內(nèi)的其它對等節(jié)點(diǎn)訪問的數(shù)字對象。術(shù)語“訪問”可指各種類型的訪問,包括讀、寫、刪除、修改、執(zhí)行和存儲(chǔ)訪問。每個(gè)此種數(shù)字對象可具有可被用于定位對等網(wǎng)絡(luò)102內(nèi)的數(shù)字對象的相關(guān)聯(lián)的標(biāo)識符。在一個(gè)示例中,對對等網(wǎng)絡(luò)內(nèi)的數(shù)字對象的訪問可被限制于能出示對訪問此種數(shù)字對象的權(quán)限的用戶或?qū)Φ裙?jié)點(diǎn)。例如,此種訪問權(quán)限可被限制于一個(gè)或多個(gè)群的成員。訪問權(quán)限可通過例如證明群內(nèi)成員資格(例如,具有與特定群相關(guān)聯(lián)的賬戶,其中該賬戶可通過該群的私鑰簽名并可使用相應(yīng)的公鑰驗(yàn)證)來驗(yàn)證。
[0041]希望獲取對數(shù)字對象的訪問的請求方對等節(jié)點(diǎn)可向另一對等節(jié)點(diǎn)(例如,存儲(chǔ)方對等節(jié)點(diǎn)或驗(yàn)證方對等節(jié)點(diǎn))請求此種訪問(或數(shù)字對象本身)。尋求此種訪問的一種高效方式是請求方對等節(jié)點(diǎn)一次提供所有其身份(例如,賬戶或成員資格信息),而非對每一個(gè)進(jìn)行個(gè)別核查。從請求方對等節(jié)點(diǎn)向存儲(chǔ)/驗(yàn)證方對等節(jié)點(diǎn)提供此類身份可允許存儲(chǔ)方/驗(yàn)證方對等節(jié)點(diǎn)查明請求方對等節(jié)點(diǎn)是否屬于具有對所請求的數(shù)字對象的訪問的群。然而,為了防止對等節(jié)點(diǎn)身份的不期望或不想要的泄露,對等覆蓋網(wǎng)絡(luò)可提供定義訪問請求的中間件格式。例如,訪問請求可被構(gòu)造成以隱藏格式包括請求方對等節(jié)點(diǎn)的所有或多個(gè)身份。
[0042]圖2是解說請求方對等節(jié)點(diǎn)和存儲(chǔ)方和/或驗(yàn)證方對等節(jié)點(diǎn)之間用以處理訪問請求而同時(shí)保護(hù)請求方對等節(jié)點(diǎn)的身份的隱私的交換的流圖。請求方對等節(jié)點(diǎn)202可包括多個(gè)身份206 (例如,群_身份4、群_身份-B、……群_身份-N)。此類身份可能先前已被獲得和/或建立。每個(gè)身份可例如與請求方對等節(jié)點(diǎn)的用戶是其成員的群(例如,學(xué)校、公司、支持群體、俱樂部、聯(lián)盟等)相關(guān)聯(lián)。另外,對于每個(gè)群身份,請求方對等節(jié)點(diǎn)(或用戶)可具有可用于將請求方對等節(jié)點(diǎn)的用戶標(biāo)識和/或認(rèn)證為群成員(例如,投資俱樂部的成員、公司成員、大學(xué)成員等)的認(rèn)證數(shù)據(jù)(例如,用戶身份、證書和/或數(shù)字簽名)。
[0043]存儲(chǔ)方和/或驗(yàn)證方對等節(jié)點(diǎn)204可存儲(chǔ)數(shù)字對象-x208和/或被允許訪問數(shù)字對象-X的身份210。在一些實(shí)現(xiàn)中,存儲(chǔ)方對等節(jié)點(diǎn)可存儲(chǔ)數(shù)字對象-X并可驗(yàn)證對數(shù)字對象-X的訪問。在其它實(shí)現(xiàn)中,驗(yàn)證方對等節(jié)點(diǎn)可簡單地查明請求方對等節(jié)點(diǎn)是否應(yīng)被準(zhǔn)予訪問存儲(chǔ)在另一對等節(jié)點(diǎn)(即,存儲(chǔ)方對等節(jié)點(diǎn))中的數(shù)字對象-X。
[0044]為了獲得或獲取對數(shù)字對象-X的訪問,請求方對等節(jié)點(diǎn)202可生成其身份(例如,群身份)的隱藏表示212。它隨后向數(shù)字對象-X發(fā)送可包括這些隱藏身份的訪問請求214。一旦收到訪問請求214,存儲(chǔ)方/驗(yàn)證方對等節(jié)點(diǎn)204就可確定這些隱藏身份中是否有一個(gè)匹配允許訪問數(shù)字對象-X的身份。在一個(gè)實(shí)現(xiàn)中,身份可以是請求方對等節(jié)點(diǎn)或請求方對等節(jié)點(diǎn)用戶所屬的群名稱(例如,公司、聯(lián)盟、學(xué)校等)。隱藏的身份可與存儲(chǔ)的身份210 (例如,允許訪問數(shù)字對象-X的身份)比較(例如,使用集合運(yùn)算)以確定是否存在匹配。存儲(chǔ)方/驗(yàn)證方對等節(jié)點(diǎn)204可隨后發(fā)送匹配身份或無匹配身份的指示218。如果發(fā)現(xiàn)匹配身份,則指示218可提供足夠的數(shù)據(jù)來允許請求方對等節(jié)點(diǎn)202標(biāo)識該匹配身份。一旦收到此種信息,請求方對等節(jié)點(diǎn)202就可使用所標(biāo)識的/匹配身份來執(zhí)行與存儲(chǔ)方/驗(yàn)證方對等節(jié)點(diǎn)204的認(rèn)證交換222。例如,匹配身份可被請求方對等節(jié)點(diǎn)202用于選擇與匹配身份相關(guān)聯(lián)的對應(yīng)的認(rèn)證數(shù)據(jù)(例如,證書、簽名和/或用戶身份)。對應(yīng)的認(rèn)證數(shù)據(jù)可被請求方對等節(jié)點(diǎn)用于向存儲(chǔ)方/驗(yàn)證方對等節(jié)點(diǎn)204認(rèn)證其自身(例如,通過發(fā)送對應(yīng)的證書或用戶身份,或通過一些質(zhì)詢/響應(yīng)交換)。如果此種認(rèn)證成功224,則對數(shù)字對象-X的訪問可被準(zhǔn)予給請求方對等節(jié)點(diǎn)202。例如,存儲(chǔ)方/驗(yàn)證方對等節(jié)點(diǎn)204可向請求方對等節(jié)點(diǎn)202發(fā)送數(shù)字對象-X或準(zhǔn)予訪問的指示。注意,可以使用各種認(rèn)證協(xié)議,包括質(zhì)詢-響應(yīng)協(xié)議,其中驗(yàn)證方對等節(jié)點(diǎn)204向請求方對等節(jié)點(diǎn)202發(fā)送隨機(jī)質(zhì)詢并接收可由驗(yàn)證方對等節(jié)點(diǎn)驗(yàn)證的該隨機(jī)質(zhì)詢的經(jīng)簽名版本(例如,隨機(jī)質(zhì)詢由請求方對等節(jié)點(diǎn)使用其私鑰簽名并可由驗(yàn)證方對等節(jié)點(diǎn)使用相應(yīng)的公鑰驗(yàn)證)。
[0045]根據(jù)一個(gè)示例,群身份206可以是請求方對等節(jié)點(diǎn)202(或該請求方對等節(jié)點(diǎn)的用戶)聲稱是其成員的群的名稱(例如,“美國_工程_協(xié)會(huì)”、“科幻_小說_發(fā)燒友”、“高通_雇員”、“ucla_學(xué)生會(huì)”等)。這些群身份可通過將其散列和/或組合成二進(jìn)制矢量來隱藏,該二進(jìn)制矢量被傳送給存儲(chǔ)方/驗(yàn)證方對等節(jié)點(diǎn)204。存儲(chǔ)方/驗(yàn)證方對等節(jié)點(diǎn)204可隨后查明其中是否有任何群身份被允許訪問所請求的數(shù)字對象-X。由于群身份的隱藏(例如,通過散列或映射為二進(jìn)制矢量),除了匹配群身份以外,實(shí)際的群身份不被泄露給存儲(chǔ)方/驗(yàn)證方對等節(jié)點(diǎn)。如果發(fā)現(xiàn)匹配群身份(例如,“高通_雇員”),則該匹配被傳達(dá)給請求方對等節(jié)點(diǎn)202。在后續(xù)步驟中,可要求請求方對等節(jié)點(diǎn)202證明在由匹配群身份所標(biāo)識的群中的實(shí)際成員資格。此種證明可通過例如由請求方對等節(jié)點(diǎn)202提供由匹配群身份的群管理員簽名的證書或用戶身份來進(jìn)行。在一個(gè)示例中,此種證書或用戶身份可通過與該群相關(guān)聯(lián)的私鑰(例如,Cert (用戶身份))來簽名。相應(yīng)的公鑰可被用于認(rèn)證所簽名的證書或用戶身份。如果所提供的證書或用戶身份被成功認(rèn)證,則可準(zhǔn)予請求對等體202對數(shù)字對象-X的訪問。
[0046]使用二進(jìn)制矢量的身份隱藏的示例性實(shí)現(xiàn)
[0047]在一個(gè)實(shí)現(xiàn)中,請求方對等節(jié)點(diǎn)的身份(例如,群身份)可使用二進(jìn)制矢量數(shù)據(jù)結(jié)構(gòu)(諸如布隆過濾器矢量)來隱藏。布隆過濾器是用于測試元素是否為集合成員的空間高效概率性數(shù)據(jù)結(jié)構(gòu)(即,位陣列)。假陽性是可能的,但假陰性是不可能的。元素可被添加至陣列,但不能被移除。被添加至位陣列的元素越多,假陽性的概率就越大。
[0048]在一個(gè)示例中,身份(例如,群身份)可通過某種轉(zhuǎn)換函數(shù)(例如,散列函數(shù))被轉(zhuǎn)換為位序列。例如,可定義k個(gè)不同的散列函數(shù)以轉(zhuǎn)換/變換不同的身份。每個(gè)散列函數(shù)可將身份(即,集合中的元素)映射或散列為具有均勻隨機(jī)分布的位陣列的m個(gè)陣列位置中的一個(gè)。布隆過濾器數(shù)據(jù)結(jié)構(gòu)藉由在映射(索引)至該布隆過濾器數(shù)據(jù)結(jié)構(gòu)(例如,矢量)之前對身份進(jìn)行散列來隱藏或混淆這些身份。即,除非接收方對等節(jié)點(diǎn)具有特定身份,否則它將不能標(biāo)識收到的布隆過濾器數(shù)據(jù)結(jié)構(gòu)內(nèi)的該身份(或任何其它身份)。
[0049]圖3解說了生成隱藏針對請求方對等節(jié)點(diǎn)的多個(gè)身份的布隆過濾器矢量的一個(gè)示例??盏牟悸∵^濾器矢量(BFV)是都被設(shè)置為默認(rèn)值(例如,零(O))的m個(gè)位的位陣列。本文中的BFV被定義為具有位置O到m-Ι。多個(gè)散列函數(shù)H1、H2、H3、……、Hk可被請求方對等節(jié)點(diǎn)和驗(yàn)證方/存儲(chǔ)方對等節(jié)點(diǎn)知曉或商定。注意,盡管本示例解說了針對每個(gè)身份使用不同的散列函數(shù),但其它實(shí)現(xiàn)可對所有身份使用相同(例如,單個(gè))散列函數(shù)。
[0050]在該示例中,請求方對等節(jié)點(diǎn)(例如,對等體A)可具有構(gòu)成對等節(jié)點(diǎn)A的身份集(Sa)的多個(gè)身份或群身份(例如,yahoo-A、gmail-A、facebook-A、amazon-A、ebay-A、公司-A、學(xué)校-A等)。集Sa中的每個(gè)身份可以被散列的以獲得散列值。在此示例中,散列值中的僅3位被用于生成位置或偏移索引。隨后在BFV上設(shè)置該位置或偏移索引。如可見的,第一身份(yahoo-A)被散列(使用第一散列函數(shù)HI)以獲得偏移或位置索引“2”,從而導(dǎo)致BFV的第二位置被設(shè)置為一(I)。對于每個(gè)身份,針對每個(gè)此種偏移或位置索引的結(jié)果產(chǎn)生的布隆過濾器表示被標(biāo)示為fA1、fA2> fA3> fA4> fA5和fA6。針對每個(gè)其它身份重復(fù)該過程以獲得結(jié)果所得的BFV,其中從對身份的散列所獲得的每個(gè)位置或偏移位被設(shè)置為非默認(rèn)值(例如,一(I))。注意,在此方案中,假陽性是可能的。例如,身份yahoo-A和amazon-A兩者都導(dǎo)致相同的BLV位置或偏移索引(例如,2)。
[0051]為了降低假陽性的概率,可對每個(gè)身份使用較大數(shù)目的散列位。另外,為了進(jìn)一步降低這種假陽性概率,可在BFV中針對每個(gè)身份設(shè)置較大數(shù)目的位。
[0052]圖4解說了生成隱藏請求方對等節(jié)點(diǎn)的多個(gè)身份的布隆過濾器矢量而同時(shí)降低假陽性概率的示例。在此示例中,布隆過濾器矢量(BFV)是m=4096位的位陣列,該位陣列被初始化為默認(rèn)值(例如,零(O))。本文中的BFV被定義為具有位置O到m-1,且多個(gè)散列函數(shù)H1、H2、H3、……Hk可被請求方對等節(jié)點(diǎn)和驗(yàn)證方/存儲(chǔ)方對等節(jié)點(diǎn)知曉或商定。
[0053]在此示例中,請求方對等節(jié)點(diǎn)(例如,對等體A)可具有構(gòu)成對等節(jié)點(diǎn)A的身份集(Sa)的多個(gè)身份或群身份(例如,yahoo-A、gmail-A、facebook-A、amazon-A> ebay-A、公司-A、學(xué)校-A等)。集合Sa中的每個(gè)身份可通過多個(gè)散列函數(shù)來散列以獲得用作BFV中的位置或偏移索引的多個(gè)散列值。在此示例中,12位的散列值被用于生成每個(gè)位置或偏移索引。因此,在此示例中,散列函數(shù)的數(shù)目k還對應(yīng)于相等數(shù)目的(k個(gè))索引。隨后在BFV上設(shè)置這些位置或偏移索引。如可見的,第一身份(yahoo-A)被散列(使用多個(gè)散列函數(shù)H1、H2、H3、……、Hk)以獲得第一多個(gè)偏移或位置索引。該第一多個(gè)偏移或位置索引隨后被用于將BFV的相應(yīng)位設(shè)置為非默認(rèn)值(例如,一(I))。對于特定的身份i,針對每個(gè)此種偏移或位置索引的結(jié)果所得的布隆過濾器表示被標(biāo)示為……、fAi_k。隨后針對每個(gè)其余身份重復(fù)該過程,從而針對每個(gè)身份生成多個(gè)偏移或位置索引。
[0054]盡管圖4中解說的辦法因?yàn)獒槍γ總€(gè)身份生成多個(gè)偏移或位置索引而降低了假陽性的概率,但針對每個(gè)身份計(jì)算多個(gè)不同散列可能是資源密集的。
[0055]圖5解說了生成隱藏請求方對等節(jié)點(diǎn)的多個(gè)身份的布隆過濾器矢量而同時(shí)降低假陽性概率的另一示例。與圖4的實(shí)現(xiàn)相反,本方法使用單個(gè)散列函數(shù)(例如,SHA-1函數(shù))來針對每個(gè)身份生成多個(gè)偏移或位置索引。對于每個(gè)身份(例如,身份i),單個(gè)散列函數(shù)被應(yīng)用于該身份以生成足夠長的位串,該位串能被劃分成多個(gè)段,其中每個(gè)段H1、H2……H13、H14、H15、……Hk可被認(rèn)為是不同散列函數(shù)的結(jié)果并用作布隆過濾器矢量(BFV)中的偏移或位置索引。即,這k段中的每一段對應(yīng)于一偏移或位置索引。對于特定的身份i,結(jié)果所得的布隆過濾器表示可由偏移或位置索引fAi的集合定義,其中此種偏移或位置索引fAi的集合可包括由 f*Ai—1、f*Ai—2、f*Ai—3、.……、fAi_k標(biāo)示的多個(gè)偏移或位置索引。
[0056]注意,在此示例中,所選擇的散列函數(shù)是生成160位輸出的SHA-1函數(shù)。因?yàn)樵诖耸纠邢M總€(gè)身份有k=20個(gè)不同的索引且每個(gè)索引是十二(12)位長,故總共需要兩百四十(240)位。因此,通過使用從最初的散列操作中產(chǎn)生的160位來生成附加位作為第二散列操作的輸入。在此示例中,來自第二散列操作的八十(80)位被用于補(bǔ)足這240位(SP,來自第一散列操作的160位與來自第二散列操作的80位級聯(lián))。也應(yīng)注意,散列段H14可橫跨在第一和第二散列之間(即,來自第一散列操作的4位和來自第二散列操作的8位)。在BFV中為每個(gè)生成的索引設(shè)置非默認(rèn)值(例如,一(I))。隨后為對等節(jié)點(diǎn)的用戶的每個(gè)身份重復(fù)該過程。
[0057]—旦生成了 BFV以隱藏一個(gè)或多個(gè)身份,該BFV就由請求方對等節(jié)點(diǎn)傳送給存儲(chǔ)方或驗(yàn)證方對等節(jié)點(diǎn)。如果先前并未商定,則請求方對等節(jié)點(diǎn)還可提供或發(fā)送BFV的長度m、所使用的偏移或位置索引的數(shù)量k、和/或每個(gè)索引段的位長度。存儲(chǔ)方或驗(yàn)證方對等節(jié)點(diǎn)接收BFV(以及可能接收所使用的散列函數(shù)的指示、BFV長度m、所使用的偏移或位置索引的數(shù)目k、和/或索引位長度),并且可執(zhí)行集合運(yùn)算以查明是否發(fā)現(xiàn)準(zhǔn)予訪問所請求的數(shù)字對象的匹配。
[0058]圖6和7解說了使用布隆過濾器矢量在請求方對等節(jié)點(diǎn)和存儲(chǔ)方或驗(yàn)證方對等節(jié)點(diǎn)之間匹配身份而同時(shí)隱藏此類身份的示例。存儲(chǔ)方或驗(yàn)證方節(jié)點(diǎn)可執(zhí)行與由請求方對等節(jié)點(diǎn)生成BFV所使用的那些操作類似的操作。在一些實(shí)現(xiàn)中,針對對象-X的布隆過濾器矢量(BFV-對象-X)可能已用與請求方對等節(jié)點(diǎn)所使用的相同的散列函數(shù)、BFV長度m、偏移或位置索引的數(shù)目k、和/或每個(gè)索引段的位長度來預(yù)先生成。在其它實(shí)現(xiàn)中,BFV-對象-X可在從請求方對等節(jié)點(diǎn)收到數(shù)字對象請求之際生成。在一個(gè)實(shí)現(xiàn)中,每個(gè)BFV-對象-X可表示允許訪問數(shù)字對象-X的單個(gè)身份。如果數(shù)字對象-X具有多個(gè)訪問身份,則可針對每個(gè)訪問身份計(jì)算單獨(dú)的BFV-對象-X矢量。
[0059]BFV-A可能已作為訪問 數(shù)字對象-X的請求的一部分從請求方對等節(jié)點(diǎn)A接收。在此示例中,收到的BFV-A可以代表由多個(gè)偏移或位置索引集fA1、fA2、fA3、……、fAn定義的多個(gè)身份。偏移或位置索引集fA1、fA2、fA3、……、fAn的每一個(gè)可代表布隆過濾器矢量BFV-A中的一個(gè)或多個(gè)偏移或位置索引。
[0060]在圖6中解說的第一示例中,可針對允許訪問數(shù)字對象-X的訪問身份生成一個(gè)或多個(gè)BFV-對象-X矢量。允許訪問數(shù)字對象-X的這一個(gè)或多個(gè)身份可被稱為集合Sx,其中此種集合由偏移或位置索引集fxl、fx2、fx3、……、‘來定義。在此示例中,收到的偏移或位置索引集(集合fA1、fA2、fA3、……、fA?)沒有任何一個(gè)與針對數(shù)字對象-X的偏移或位置索引
集(集合fx1、fx2、fX3、......、fxg)相交或匹配;這意味著請求方對等節(jié)點(diǎn)身份和數(shù)字對象-X
的訪問身份之間沒有任何匹配。
[0061]在圖7中解說的第二示例中,可針對允許訪問數(shù)字對象-X的一個(gè)或多個(gè)身份生成BFV-對象-X。允許訪問數(shù)字對象-X的這一個(gè)或多個(gè)身份可被稱為集合Sx,其中此種集合由偏移或位置索引集fxl、fx2、fx3、……、匕£來定義。在此示例中,收到的偏移或位置索引集(集合fA1、fA2、fA3、……、fto)中的一者與針對數(shù)字對象-X的偏移或位置索引集(集合fxl、fx2、fffAf)中的一者相交或匹配(例如,fx2中的所有I都在BFV-A中找到)。因此,請求方對等節(jié)點(diǎn)身份和數(shù)字對象-X的身份之間存在匹配,并且對數(shù)字對象-X的訪問可被準(zhǔn)予給請求方對等節(jié)點(diǎn)。
[0062]身份的匹配可使用針對請求方對等節(jié)點(diǎn)的布隆過濾器矢量BFV-A和針對所請求的數(shù)字對象的布隆過濾器矢量BFV-對象-X之間的集合運(yùn)算來執(zhí)行。由布隆過濾器提供的最簡單的集合運(yùn)算是通過使用布隆過濾器矢量來測試一身份(元素)是否在(請求方對等節(jié)點(diǎn)的)身份集Sa中。設(shè)想存儲(chǔ)方或驗(yàn)證方對等節(jié)點(diǎn)B接收代表對等節(jié)點(diǎn)A的身份集Sa的布隆過濾器矢量BFV-A。數(shù)字對象-X可具有允許訪問該數(shù)字對象-X的一個(gè)或多個(gè)訪問身份(身份集\)。因此,存儲(chǔ)方或驗(yàn)證方對等節(jié)點(diǎn)B還可針對與數(shù)字對象-X相關(guān)聯(lián)的這些訪問身份(元素)中的每一個(gè)計(jì)算一個(gè)或多個(gè)布隆過濾器矢量BFV-對象-X。即,每個(gè)訪問身
份可由單獨(dú)的BFV-對象-X (B卩,BFV-Object-xl、BFV-對象_x2、......、BFV對象_xg)來
表示。如果(集合Sx中的)一訪問身份在集合Sa中找到,則對于BFV-對象-X中的每個(gè)位“1”,BFV-A中相應(yīng)的位位置也必須是一。例如,在圖6中,可以看到每個(gè)訪問身份(由矢量BFV-對象-xl、BFV-對象-x2、......、BFV_對象_xg來表示)都具有在BFV-A的相應(yīng)偏移或
位置中未找到的“I”。相反,在圖7中,可以看到BFV-對象-x2 (或即fx2)中的每個(gè)“I”都在BFV-A中被找到。因此,對等節(jié)點(diǎn)B可容易地測試集合Sx中的一個(gè)或多個(gè)訪問身份(元
素)是否屬于集合Sa。
[0063]根據(jù)一個(gè)示例,身份匹配可通過執(zhí)行求交集操作Sa H Sb來查明,即存儲(chǔ)方或驗(yàn)證方對等節(jié)點(diǎn)B對矢量BFV-A和BFV-對象_xi執(zhí)行逐位“與(AND)”操作以獲得代表交集BFV-1Nt=BFV-A “AND” BFV-對象-xi 的新矢量。
[0064]有若干方式可將匹配的身份從存儲(chǔ)方或驗(yàn)證方對等節(jié)點(diǎn)B返回至請求方對等節(jié)點(diǎn)A。
[0065]在第一方法中,存儲(chǔ)方或驗(yàn)證方對等節(jié)點(diǎn)B可將所有或部分匹配的身份按其身份形式(例如,實(shí)際電子郵件地址、群名稱、域名等)發(fā)送給請求方對等節(jié)點(diǎn)A。一旦請求方對等節(jié)點(diǎn)A收到響應(yīng),它就確切地知曉哪些是匹配身份,因?yàn)檫@些匹配身份在響應(yīng)中被明確標(biāo)識。也可能在布隆過濾器匹配中發(fā)現(xiàn)任何假陽性,因?yàn)檎埱蠓綄Φ裙?jié)點(diǎn)A能夠查明它是否擁有響應(yīng)中所標(biāo)識的任何身份。本方法中的缺陷在于它可能向中間路由節(jié)點(diǎn)泄露匹配的身份。同樣,如果匹配身份的數(shù)目較大,則發(fā)送所有匹配的身份可能招致大的消息開銷。
[0066]根據(jù)第二方法,存儲(chǔ)方或驗(yàn)證方對等節(jié)點(diǎn)B可向請求方對等節(jié)點(diǎn)A發(fā)送結(jié)果所得的布隆過濾器矢量(例如,從BFV-A和BFV-對象-X中間的逐位“與”操作獲得),而非集合表示。即,對等節(jié)點(diǎn)B不是用集合求交集結(jié)果(S卩,具體的匹配身份)向請求方對等節(jié)點(diǎn)A作出響應(yīng),而是簡單地用表示此交集的矢量BFV-1NT來答復(fù)請求方對等節(jié)點(diǎn)A。請求方對等節(jié)點(diǎn)A隨后使用收到的BFV-1NT執(zhí)行集合元素測試以找出其哪些身份在匹配結(jié)果中。本方法可防止路由路徑上的中間節(jié)點(diǎn)標(biāo)識對等節(jié)點(diǎn)A和對等節(jié)點(diǎn)B之間的匹配身份集。它也將消息開銷限制至所使用的布隆過濾器矢量的大小(通常較小,例如4096位長)。然而,如果匹配結(jié)果中存在假陽性,則對等節(jié)點(diǎn)A將不能發(fā)現(xiàn)此假陽性,直至使用了匹配身份(例如,用于訪問控制)或者通過實(shí)現(xiàn)了附加的認(rèn)證步驟。
[0067]在一些實(shí)現(xiàn)中,小幾率的假陽性可通過協(xié)議設(shè)計(jì)來校正。例如,即使在發(fā)現(xiàn)身份匹配后,也可提供對匹配身份的附加認(rèn)證。例如,身份匹配可涉及匹配兩個(gè)域名。例如,請求方對等節(jié)點(diǎn)可包括“大學(xué).com”的第一身份(S卩,群身份),而數(shù)字對象-X可由具有“大學(xué).com”下的賬戶的任何人訪問。因此,使用布隆過濾器矢量的最初身份匹配是在域“大學(xué).com”之間。如果發(fā)現(xiàn)此種最初匹配,可發(fā)生后續(xù)交換以認(rèn)證請求方對等節(jié)點(diǎn)(或用戶)在此種群中的成員資格。
[0068]在一個(gè)示例中,在已經(jīng)發(fā)現(xiàn)初始身份匹配后,請求方對等節(jié)點(diǎn)可提供附加信息以證明其訪問數(shù)字對象-X的權(quán)限。例如,請求方對等節(jié)點(diǎn)可具有先前從群管理員(例如,“大學(xué).com”的管理員)獲得的經(jīng)簽名的證書或用戶標(biāo)識符。例如,一旦成為該群的成員,群管理員就可能已經(jīng)準(zhǔn)予請求方對等節(jié)點(diǎn)通過該群的私鑰簽名的證書。在一個(gè)示例中,此種證書可以是通過該群的私鑰簽名的用戶身份。
[0069]示例性的請求方對等節(jié)點(diǎn)和其中的操作
[0070]圖8是解說根據(jù)一個(gè)示例的請求方對等節(jié)點(diǎn)的框圖。請求方對等節(jié)點(diǎn)800可包括耦合至通信接口 804和存儲(chǔ)設(shè)備或介質(zhì)806的處理電路802。通信接口 804可包括或?qū)崿F(xiàn)發(fā)射機(jī)808 (例如,無線發(fā)射電路或模塊)和/或接收機(jī)810 (例如,無線接收機(jī)電路或模塊),其可被配置成便于去往和/或來自網(wǎng)絡(luò)(例如,無線網(wǎng)絡(luò))和/或與覆蓋網(wǎng)絡(luò)的一個(gè)或多個(gè)對等節(jié)點(diǎn)的傳輸。
[0071]存儲(chǔ)設(shè)備或介質(zhì)806可以是例如存儲(chǔ)器設(shè)備、數(shù)據(jù)存儲(chǔ)設(shè)備、處理器可讀或計(jì)算機(jī)可讀介質(zhì),其可適用于存儲(chǔ)(臨時(shí)或永久)一個(gè)或多個(gè)指令,當(dāng)執(zhí)行這些指令時(shí)執(zhí)行請求方對等節(jié)點(diǎn)的一個(gè)或多個(gè)功能,包括與其它對等節(jié)點(diǎn)通信,請求訪問存儲(chǔ)在覆蓋網(wǎng)絡(luò)的其它節(jié)點(diǎn)中的數(shù)字對象,和/或在訪問控制操作期間隱藏其一個(gè)或多個(gè)身份。存儲(chǔ)設(shè)備或介質(zhì)806還可存儲(chǔ)與請求方對等節(jié)點(diǎn)800的用戶相關(guān)聯(lián)或與請求方對等節(jié)點(diǎn)800本身相關(guān)聯(lián)的一個(gè)或多個(gè)身份(例如,群名稱、公司名稱、學(xué)校名稱、聯(lián)盟名稱等)。存儲(chǔ)設(shè)備或介質(zhì)806還可用于存儲(chǔ)可以用于在覆蓋網(wǎng)絡(luò)上的訪問控制操作期間隱藏或混淆一個(gè)或多個(gè)身份812的一個(gè)或多個(gè)散列函數(shù)814。
[0072]身份隱藏模塊816可由處理電路實(shí)現(xiàn)以生成通過密碼學(xué)方法隱藏一個(gè)或多個(gè)身份812 (例如,隱藏在數(shù)據(jù)結(jié)構(gòu)的共享數(shù)據(jù)空間內(nèi))的數(shù)據(jù)結(jié)構(gòu)。此種數(shù)據(jù)結(jié)構(gòu)可作為訪問數(shù)字對象的請求的一部分經(jīng)由通信接口 804被發(fā)送至驗(yàn)證方對等節(jié)點(diǎn)。作為響應(yīng),請求方對等節(jié)點(diǎn)800可從驗(yàn)證方對等節(jié)點(diǎn)接收信息,該信息指示這一個(gè)或多個(gè)身份中是否有任何身份是用于訪問所請求的數(shù)字對象的匹配。此種信息可以是驗(yàn)證方對等節(jié)點(diǎn)發(fā)現(xiàn)了匹配的身份。身份匹配模塊818可根據(jù)收到信息將第一身份標(biāo)識為匹配,選擇與第一身份對應(yīng)的證書,和/或向驗(yàn)證方對等節(jié)點(diǎn)發(fā)送所選的證書以認(rèn)證對數(shù)字對象的訪問。
[0073]圖9解說了一種在請求方對等節(jié)點(diǎn)中操作的用于在訪問控制期間保護(hù)其身份的隱私的方法。請求方對等節(jié)點(diǎn)可獲得一個(gè)或多個(gè)身份(例如,群身份或群名稱)。此類身份可指示請求方對等節(jié)點(diǎn)或其用戶是其成員的群。例如,這一個(gè)或多個(gè)身份可以是群身份且針對所述群的數(shù)字對象可以是僅對所述群的成員可用的(或可訪問的)。
[0074]連同這一個(gè)或多個(gè)身份,請求方對等節(jié)點(diǎn)可包括相應(yīng)的證書,所述證書允許請求方對等節(jié)點(diǎn)(或其用戶)證明它是與每個(gè)身份相關(guān)聯(lián)的每個(gè)群的成員。
[0075]請求方對等節(jié)點(diǎn)可生成一數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)通過密碼學(xué)方式將請求方對等節(jié)點(diǎn)的或請求方對等節(jié)點(diǎn)用戶的一個(gè)或多個(gè)身份隱藏在該數(shù)據(jù)結(jié)構(gòu)的共享數(shù)據(jù)空間內(nèi)902。即,共享數(shù)據(jù)空間可將這一個(gè)或多個(gè)身份中的每一個(gè)的表示沿該共享數(shù)據(jù)空間均勻和/或隨機(jī)地分布。
[0076]該數(shù)據(jù)結(jié)構(gòu)可隨后作為訪問數(shù)字對象的請求的一部分被發(fā)送至驗(yàn)證方對等節(jié)點(diǎn)904。這一個(gè)或多個(gè)身份可以沿共享數(shù)據(jù)空間均勻和/或隨機(jī)地分布。例如,各身份可被轉(zhuǎn)換為橫跨共享數(shù)據(jù)空間的二進(jìn)制表示。例如,在圖5中,每個(gè)身份的非默認(rèn)值(為一的位(O)集被沿共享數(shù)據(jù)空間隨機(jī)和/或均勻地放置。在一個(gè)示例中,請求方對等節(jié)點(diǎn)和驗(yàn)證方對等節(jié)點(diǎn)可在覆蓋對等網(wǎng)絡(luò)上無線通信?!敖y(tǒng)一”分布是指將每個(gè)身份的非默認(rèn)值(位一)的位置以相等似然性設(shè)置在共享數(shù)據(jù)空間的每個(gè)位位置處?!半S機(jī)”分布是指非默認(rèn)值(位一)在共享數(shù)據(jù)空間的給定位位置處的出現(xiàn)是由概率性過程(例如,隨機(jī)或偽隨機(jī)位置選擇過程)來確定的。
[0077]響應(yīng)于發(fā)送該數(shù)據(jù)結(jié)構(gòu),請求方對等節(jié)點(diǎn)可從驗(yàn)證方對等節(jié)點(diǎn)接收信息,該信息指示這一個(gè)或多個(gè)身份中是否有任何身份是用于訪問所請求的數(shù)字對象的匹配906。
[0078]請求方對等節(jié)點(diǎn)可隨后尋求證明其與所匹配的身份的關(guān)聯(lián)性。第一身份可根據(jù)收到信息被標(biāo)識為匹配908。對應(yīng)于第一身份的證書可隨后被請求方對等節(jié)點(diǎn)選擇910。所選擇的證書隨后由請求方對等節(jié)點(diǎn)發(fā)送至驗(yàn)證方對等節(jié)點(diǎn)以認(rèn)證對數(shù)字對象的訪問912。如果所選擇的證書被驗(yàn)證方對等節(jié)點(diǎn)成功認(rèn)證,則請求方對等節(jié)點(diǎn)可獲得對數(shù)字對象的訪問 914。
[0079]根據(jù)一個(gè)示例,該數(shù)據(jù)結(jié)構(gòu)可以是二進(jìn)制矢量,其中這一個(gè)或多個(gè)身份中的每一個(gè)由沿該二進(jìn)制矢量均勻和隨機(jī)分布的多個(gè)位來表示。該二進(jìn)制矢量可如下來生成:(a)向第一身份應(yīng)用密碼散列函數(shù)以生成二進(jìn)制串;(b)將該二進(jìn)制串劃分成二進(jìn)制段;(c)將每個(gè)二進(jìn)制段轉(zhuǎn)換為在二進(jìn)制矢量內(nèi)的位置索引;和/或(d)將該二進(jìn)制矢量在所指示的位置索引處的矢量值設(shè)置為一。以類似方式,多個(gè)附加身份可被轉(zhuǎn)換為在二進(jìn)制矢量中被設(shè)為一的位置索引。
[0080]在一個(gè)示例中,此種數(shù)據(jù)結(jié)構(gòu)是布隆過濾器矢量,其中每個(gè)身份由沿二進(jìn)制矢量均勻且隨機(jī)分布的多個(gè)位來表示。在此意義上,該數(shù)據(jù)結(jié)構(gòu)可以是假陽性身份匹配是可能的概率性數(shù)據(jù)結(jié)構(gòu)。即,布隆過濾器矢量將不能產(chǎn)生假陰性但是可能產(chǎn)生假陽性。
[0081]圖10解說了一種在請求方對等節(jié)點(diǎn)中操作的用于將身份隱藏在布隆過濾器矢量中的方法。獲得與請求方對等節(jié)點(diǎn)和/或請求方對等節(jié)點(diǎn)用戶相關(guān)聯(lián)的多個(gè)身份1002。例如,此類身份可以是可以用于驗(yàn)證群成員資格的電子郵件地址、成員資格、賬戶信息。每個(gè)身份可隨后被散列以獲得m位長的二進(jìn)制序列1004。該二進(jìn)制序列可被劃分為多(k)個(gè)w位散列段,其中w〈m。例如,對于m=240位長的二進(jìn)制序列和w=12位長的段,段的數(shù)目為k=20。每個(gè)段的值可以用作偏移或位置索引1008。對于每個(gè)偏移或位置索引,設(shè)置布隆過濾器矢量的相應(yīng)位(例如,將該位設(shè)置為“I”)1010。針對身份的每個(gè)偏移或位置索引重復(fù)該過程1012并且針對正使用或選擇的所有身份重復(fù)該過程1014。以此方式,布隆過濾器矢量可表示多個(gè)身份,其中每個(gè)身份由布隆過濾器矢量中的多個(gè)設(shè)置位來表示。
[0082]示例性的存儲(chǔ)方/驗(yàn)證方對等節(jié)點(diǎn)和其中的操作
[0083]圖11是解說根據(jù)一個(gè)示例的驗(yàn)證方/存儲(chǔ)方對等節(jié)點(diǎn)的框圖。驗(yàn)證方/存儲(chǔ)方對等節(jié)點(diǎn)1100可包括耦合至通信接口 1104和存儲(chǔ)設(shè)備或介質(zhì)1106的處理電路1102。通信接口 1104可包括或?qū)崿F(xiàn)發(fā)射機(jī)1108 (例如,無線發(fā)射電路或模塊)和/或接收機(jī)1110 (例如,無線接收機(jī)電路或模塊),其可被配置成便于去往和/或來自網(wǎng)絡(luò)(例如,無線網(wǎng)絡(luò))和/或與覆蓋網(wǎng)絡(luò)的一個(gè)或多個(gè)對等節(jié)點(diǎn)的傳輸。
[0084]存儲(chǔ)設(shè)備或介質(zhì)1106可以是例如存儲(chǔ)器設(shè)備、數(shù)據(jù)存儲(chǔ)設(shè)備、處理器可讀或計(jì)算機(jī)可讀介質(zhì),其可適用于存儲(chǔ)(臨時(shí)或永久)一個(gè)或多個(gè)指令,當(dāng)執(zhí)行這些指令時(shí)執(zhí)行驗(yàn)證方/存儲(chǔ)方對等節(jié)點(diǎn)的一個(gè)或多個(gè)功能,包括與其它對等節(jié)點(diǎn)通信,驗(yàn)證對存儲(chǔ)在覆蓋網(wǎng)絡(luò)的其它節(jié)點(diǎn)中的數(shù)字對象的訪問,和/或在訪問控制操作期間執(zhí)行身份匹配。存儲(chǔ)設(shè)備或介質(zhì)1106還可存儲(chǔ)與特定的數(shù)字對象相關(guān)聯(lián)的一個(gè)或多個(gè)身份(例如,群名稱、公司名稱、學(xué)校名稱、聯(lián)盟名稱等)。存儲(chǔ)設(shè)備或介質(zhì)1106還可用于存儲(chǔ)可以用于在覆蓋網(wǎng)絡(luò)上的訪問控制操作期間隱藏或混淆一個(gè)或多個(gè)身份1112的一個(gè)或多個(gè)散列函數(shù)1114。
[0085]身份匹配模塊1118可從請求方對等節(jié)點(diǎn)接收作為訪問數(shù)字對象的請求的一部分的數(shù)據(jù)結(jié)構(gòu)(經(jīng)由通信接口 1104),其中所收到的數(shù)據(jù)結(jié)構(gòu)通過密碼學(xué)方式將請求方對等節(jié)點(diǎn)的或請求方對等節(jié)點(diǎn)用戶的一個(gè)或多個(gè)身份隱藏在該數(shù)據(jù)結(jié)構(gòu)的共享數(shù)據(jù)空間內(nèi)。身份匹配模塊1118可獲得被允許訪問數(shù)字對象的一個(gè)或多個(gè)訪問身份。身份隱藏模塊1116可針對這些訪問身份中的每一個(gè)生成第二數(shù)據(jù)結(jié)構(gòu),其中第二數(shù)據(jù)結(jié)構(gòu)通過密碼學(xué)方式隱藏?cái)?shù)字對象的訪問身份。身份匹配模塊1118隨后在收到的數(shù)據(jù)結(jié)構(gòu)和第二數(shù)據(jù)結(jié)構(gòu)之間執(zhí)行比較以查明是否存在指示潛在匹配的身份交集。身份匹配模塊1118可隨后向請求方對等節(jié)點(diǎn)發(fā)送信息,該信息指示請求方對等節(jié)點(diǎn)的這一個(gè)或多個(gè)身份中是否有任何身份是用于訪問所請求的數(shù)字對象的匹配。作為響應(yīng),訪問驗(yàn)證模塊1120可接收與由驗(yàn)證方對等節(jié)點(diǎn)標(biāo)識的匹配身份相關(guān)聯(lián)的證書。訪問認(rèn)證模塊1120可隨后認(rèn)證該證書以驗(yàn)證請求方對等節(jié)點(diǎn)是由匹配身份所標(biāo)識的群的成員。
[0086]如果收到的證書被成功認(rèn)證,則準(zhǔn)予請求方對等節(jié)點(diǎn)對所請求的數(shù)字對象的訪問。
[0087]圖12解說了一種在驗(yàn)證方對等節(jié)點(diǎn)中操作的用于保護(hù)請求方對等節(jié)點(diǎn)身份的隱私而同時(shí)執(zhí)行訪問控制的方法。可從請求方對等節(jié)點(diǎn)接收作為訪問數(shù)字對象的請求的一部分的數(shù)據(jù)結(jié)構(gòu),其中所收到的數(shù)據(jù)結(jié)構(gòu)以密碼學(xué)方式將請求方對等節(jié)點(diǎn)的或請求方對等節(jié)點(diǎn)用戶的一個(gè)或多個(gè)身份隱藏在該數(shù)據(jù)結(jié)構(gòu)的共享數(shù)據(jù)空間內(nèi)1202。例如,這一個(gè)或多個(gè)身份的每一個(gè)的表示可以沿該共享數(shù)據(jù)空間均勻和/或隨機(jī)地分布。在各種實(shí)現(xiàn)中,所請求的數(shù)字對象可由不同存儲(chǔ)方對等節(jié)點(diǎn)或由驗(yàn)證方對等節(jié)點(diǎn)本身存儲(chǔ)。在一個(gè)示例中,收到的數(shù)據(jù)結(jié)構(gòu)可以是二進(jìn)制矢量,其中請求方對等節(jié)點(diǎn)的這一個(gè)或多個(gè)身份中的每一個(gè)由沿該二進(jìn)制矢量均勻且隨機(jī)分布的多個(gè)位來表示。例如,該數(shù)據(jù)結(jié)構(gòu)可以是布隆過濾器矢量,其中每個(gè)身份由沿二進(jìn)制矢量均勻且隨機(jī)分布的多個(gè)位來表示。
[0088]驗(yàn)證方對等節(jié)點(diǎn)可隨后獲得被允許訪問數(shù)字對象的一個(gè)或多個(gè)訪問身份1204,并為每個(gè)訪問身份生成第二數(shù)據(jù)結(jié)構(gòu),其中第二數(shù)據(jù)結(jié)構(gòu)通過密碼學(xué)方式隱藏?cái)?shù)字對象的訪問身份1206。隨后在收到的數(shù)據(jù)結(jié)構(gòu)和第二數(shù)據(jù)結(jié)構(gòu)之間執(zhí)行比較以查明是否存在指示潛在匹配的身份交集1208。驗(yàn)證方對等節(jié)點(diǎn)可隨后向請求方對等節(jié)點(diǎn)發(fā)送信息,該信息指示請求方對等節(jié)點(diǎn)的這一個(gè)或多個(gè)身份中是否有任何身份是用于訪問所請求的數(shù)字對象的匹配1210。在各個(gè)示例中,由驗(yàn)證方對等節(jié)點(diǎn)發(fā)送以指示匹配的信息可以是(a)匹配身份或(b)匹配身份的隱藏版本。
[0089]作為響應(yīng),驗(yàn)證方對等節(jié)點(diǎn)可接收與由驗(yàn)證方對等體設(shè)備所標(biāo)識的匹配身份相關(guān)聯(lián)的證書1212。收到的證書可被認(rèn)證以驗(yàn)證請求方對等節(jié)點(diǎn)是由匹配身份所標(biāo)識的群的成員1214。如果收到的證書被成功認(rèn)證,則準(zhǔn)予請求方對等節(jié)點(diǎn)對所請求的數(shù)字對象的訪問1216。
[0090]在一個(gè)實(shí)現(xiàn)中,第二數(shù)據(jù)結(jié)構(gòu)可以是如下生成的二進(jìn)制矢量:(a)向第一身份應(yīng)用密碼散列函數(shù)以生成二進(jìn)制串;(b)將該二進(jìn)制串劃分成二進(jìn)制段;(c)將每個(gè)二進(jìn)制段轉(zhuǎn)換為二進(jìn)制矢量內(nèi)的位置索引;和/或(d)將二進(jìn)制矢量在所指示的位置索引處的矢量值設(shè)置為一。注意,可為被允許訪問數(shù)字對象的每個(gè)身份生成不同的第二數(shù)據(jù)結(jié)構(gòu)。這樣,每個(gè)第二數(shù)據(jù)結(jié)構(gòu)可與收到的數(shù)據(jù)結(jié)構(gòu)進(jìn)行個(gè)別比較以標(biāo)識任何潛在的匹配身份。
[0091]圖1、2、3、4、5、6、7、8、9、10、11和/或12中解說的組件、步驟、特征和/或功能中的一個(gè)或多個(gè)可以被重新安排和/或組合成單個(gè)組件、步驟、特征或功能,或可以實(shí)施在數(shù)個(gè)組件、步驟、或功能中。還可添加更多的元件、組件、步驟、和/或功能而不會(huì)脫離本公開的范圍。在圖1、8和/或11中解說的裝置、設(shè)備、組件和/或傳輸幀可被配置成執(zhí)行在圖2-7,9-10和/或12中描述的方法、特征、或步驟中的一個(gè)或多個(gè)。本文中描述的新穎算法還可以高效地實(shí)現(xiàn)在軟件中和/或嵌入在硬件中。[0092]另外,注意到至少一些實(shí)現(xiàn)是作為被描繪為流圖、流程圖、結(jié)構(gòu)圖、或框圖的過程來描述的。盡管流程圖可能會(huì)把諸操作描述為順序過程,但是這些操作中有許多能夠并行或并發(fā)地執(zhí)行。另外,這些操作的次序可以被重新安排。過程在其操作完成時(shí)終止。過程可對應(yīng)于方法、函數(shù)、規(guī)程、子例程、子程序等。當(dāng)過程對應(yīng)于函數(shù)時(shí),它的終止對應(yīng)于該函數(shù)返回調(diào)用方函數(shù)或主函數(shù)。
[0093]此外,各實(shí)施例可由硬件、軟件、固件、中間件、微代碼、或其任何組合來實(shí)現(xiàn)。當(dāng)在軟件、固件、中間件或微碼中實(shí)現(xiàn)時(shí),執(zhí)行必要任務(wù)的程序代碼或代碼段可被存儲(chǔ)在諸如存儲(chǔ)介質(zhì)之類的機(jī)器可讀介質(zhì)或其它存儲(chǔ)中。處理器可以執(zhí)行這些必要的任務(wù)。代碼段可表示規(guī)程、函數(shù)、子程序、程序、例程、子例程、模塊、軟件包、類,或是指令、數(shù)據(jù)結(jié)構(gòu)、或程序語句的任何組合。通過傳遞和/或接收信息、數(shù)據(jù)、自變量、參數(shù)、或存儲(chǔ)器內(nèi)容,一代碼段可被耦合到另一代碼段或硬件電路。信息、自變量、參數(shù)、數(shù)據(jù)等可以經(jīng)由包括存儲(chǔ)器共享、消息傳遞、令牌傳遞、網(wǎng)絡(luò)傳輸?shù)鹊娜魏魏线m的手段被傳遞、轉(zhuǎn)發(fā)、或傳輸。
[0094]術(shù)語“機(jī)器可讀介質(zhì)”、“計(jì)算機(jī)可讀介質(zhì)”、和/或“處理器可讀介質(zhì)”可包括,但不限于,便攜或固定的存儲(chǔ)設(shè)備、光學(xué)存儲(chǔ)設(shè)備、以及能夠存儲(chǔ)、包含或攜帶指令和/或數(shù)據(jù)的各種其他非瞬態(tài)介質(zhì)。因此,本文中描述的各種方法可部分或全部地由可存儲(chǔ)在“機(jī)器可讀介質(zhì)”、“計(jì)算機(jī)可讀介質(zhì)”和/或“處理器可讀介質(zhì)”中并由一個(gè)或多個(gè)處理器、機(jī)器和/或設(shè)備執(zhí)行的指令和/或數(shù)據(jù)來實(shí)現(xiàn)。
[0095]結(jié)合本文中公開的示例描述的方法或算法可直接在硬件中、在能由處理器執(zhí)行的軟件模塊中、或在這兩者的組合中以處理單元、編程指令、或其他指示的形式實(shí)施,并且可包含在單個(gè)設(shè)備中或跨多個(gè)設(shè)備分布。軟件模塊可駐留在RAM存儲(chǔ)器、閃存、ROM存儲(chǔ)器、EPROM存儲(chǔ)器、EEPROM存儲(chǔ)器、寄存器、硬盤、可移動(dòng)盤、CD-ROM、或本領(lǐng)域中所知的任何其他形式的存儲(chǔ)介質(zhì)中。存儲(chǔ)介質(zhì)可耦合到處理器以使得該處理器能從/向該存儲(chǔ)介質(zhì)讀寫信息。替換地,存儲(chǔ)介質(zhì)可以被整合到處理器。
[0096]本領(lǐng)域技術(shù)人員將可進(jìn)一步領(lǐng)會(huì),結(jié)合本文中公開的實(shí)施例描述的各種解說性邏輯塊、模塊、電路、和算法步驟可被實(shí)現(xiàn)為電子硬件、計(jì)算機(jī)軟件、或兩者的組合。為清楚地解說硬件與軟件的這一可互換性,各種解說性組件、框、模塊、電路、和步驟在上面是以其功能性的形式作一般化描述的。此類功能性是被實(shí)現(xiàn)為硬件還是軟件取決于具體應(yīng)用和施加于整體系統(tǒng)的設(shè)計(jì)約束。
[0097]本文中所描述的實(shí)施例的各種特征可實(shí)現(xiàn)于不同系統(tǒng)中而不會(huì)脫離本公開的范圍。應(yīng)注意,以上實(shí)施例僅是示例,且并不應(yīng)被解釋成限定本公開。這些實(shí)施例的描述旨在解說,而并非旨在限定權(quán)利要求的范圍。由此,本發(fā)明的教導(dǎo)可以現(xiàn)成地應(yīng)用于其他類型的裝置,并且許多替換、修改、和變形對于本領(lǐng)域技術(shù)人員將是顯而易見的。
【權(quán)利要求】
1.一種在請求方對等節(jié)點(diǎn)中操作的方法,包括: 生成數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)通過密碼學(xué)方式將所述請求方對等節(jié)點(diǎn)或所述請求方對等節(jié)點(diǎn)的用戶的一個(gè)或多個(gè)身份隱藏在所述數(shù)據(jù)結(jié)構(gòu)的共享數(shù)據(jù)空間內(nèi),其中所述一個(gè)或多個(gè)身份中的每一個(gè)身份的表示沿所述共享數(shù)據(jù)空間均勻且隨機(jī)地分布;以及將所述數(shù)據(jù)結(jié)構(gòu)作為訪問數(shù)字對象的請求的一部分發(fā)送至驗(yàn)證方對等節(jié)點(diǎn)。
2.如權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括: 從所述驗(yàn)證方對等節(jié)點(diǎn)接收信息,所述信息指示所述一個(gè)或多個(gè)身份中是否有任何身份是用于訪問所請求的數(shù)字對象的匹配。
3.如權(quán)利要求2所述的方法,其特征在于,進(jìn)一步包括: 根據(jù)收到信息將第一身份標(biāo)識為匹配; 選擇對應(yīng)于所述第一身份的認(rèn)證數(shù)據(jù);以及 將所選擇的認(rèn)證數(shù)據(jù)發(fā)送給所述驗(yàn)證方對等節(jié)點(diǎn)以認(rèn)證對所述數(shù)字對象的訪問。
4.如權(quán)利要求3所述的方法,其特征在于,進(jìn)一步包括: 如果所選擇的認(rèn)證數(shù)據(jù)被所述驗(yàn)證方對等節(jié)點(diǎn)成功認(rèn)證,則獲得對所述數(shù)字對象的訪問。
5.如權(quán)利要求1所述的方法,其特征在于,所述一個(gè)或多個(gè)身份是群身份并且所述數(shù)字對象是僅對特定群的成員可用的數(shù)據(jù)。
6.如權(quán)利要求1所述的方法,其特征在于,所述請求方對等節(jié)點(diǎn)和所述驗(yàn)證方對等節(jié)點(diǎn)通過覆蓋對等網(wǎng)絡(luò)無線通信。
7.如權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)結(jié)構(gòu)是二進(jìn)制矢量,其中所述一個(gè)或多個(gè)身份中的每一個(gè)身份由沿所述二進(jìn)制矢量均勻且隨機(jī)分布的多個(gè)位來表示。
8.如權(quán)利要求7所述的方法,其特征在于,所述二進(jìn)制矢量通過以下來生成: 向第一身份應(yīng)用密碼散列函數(shù)以生成二進(jìn)制串; 將所述二進(jìn)制串劃分為二進(jìn)制段; 將每個(gè)二進(jìn)制段轉(zhuǎn)換為所述二進(jìn)制矢量內(nèi)的位置索引;以及 將所述二進(jìn)制矢量的在所指示的位置索引處的矢量值設(shè)置為非默認(rèn)值。
9.如權(quán)利要求8所述的方法,其特征在于,多個(gè)附加身份被轉(zhuǎn)換為在所述二進(jìn)制矢量中被設(shè)置為所述非默認(rèn)值的位置索引。
10.如權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)結(jié)構(gòu)是布隆過濾器矢量,其中每個(gè)身份由沿所述布隆過濾器矢量均勻且隨機(jī)分布的多個(gè)位來表示。
11.如權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)結(jié)構(gòu)是其中假陽性身份匹配是可能的概率性數(shù)據(jù)結(jié)構(gòu)。
12.—種請求方對等節(jié)點(diǎn),包括: 通信接口,用于在覆蓋網(wǎng)絡(luò)上與其它對等節(jié)點(diǎn)通信; 耦合至所述通信接口的處理電路,所述處理電路被適配成: 生成數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)通過密碼學(xué)方式將所述請求方對等節(jié)點(diǎn)或所述請求方對等節(jié)點(diǎn)的用戶的一個(gè)或多個(gè)身份隱藏在所述數(shù)據(jù)結(jié)構(gòu)的共享數(shù)據(jù)空間內(nèi),其中所述一個(gè)或多個(gè)身份中的每一個(gè)身份的表示是沿所述共享數(shù)據(jù)空間均勻且隨機(jī)地分布的;以及將所述數(shù)據(jù)結(jié)構(gòu)作為訪問數(shù)字對象的請求的一部分發(fā)送至驗(yàn)證方對等節(jié)點(diǎn)。
13.如權(quán)利要求12所述的請求方對等節(jié)點(diǎn),其特征在于,所述處理電路被進(jìn)一步適配成: 從所述驗(yàn)證方對等節(jié)點(diǎn)接收信息,所述信息指示所述一個(gè)或多個(gè)身份中是否有任何身份是用于訪問所請求的數(shù)字對象的匹配。
14.如權(quán)利要求13所述的請求方對等節(jié)點(diǎn),其特征在于,所述處理電路被進(jìn)一步適配成: 根據(jù)收到信息將第一身份標(biāo)識為匹配; 選擇對應(yīng)于所述第一身份的認(rèn)證數(shù)據(jù);以及 將所選擇的認(rèn)證數(shù)據(jù)發(fā)送給所述驗(yàn)證方對等節(jié)點(diǎn)以認(rèn)證對所述數(shù)字對象的訪問。
15.如權(quán)利要求14所述的請求方對等節(jié)點(diǎn),其特征在于,所述處理電路被進(jìn)一步適配成: 如果所選擇的認(rèn)證數(shù)據(jù)被所述驗(yàn)證方對等節(jié)點(diǎn)成功認(rèn)證,則獲得對所述數(shù)字對象的訪問。
16.如權(quán)利要 求12所述的請求方對等節(jié)點(diǎn),其特征在于,所述數(shù)據(jù)結(jié)構(gòu)是二進(jìn)制矢量,其中所述一個(gè)或多個(gè)身份中的每一個(gè)身份由沿所述二進(jìn)制矢量均勻且隨機(jī)分布的多個(gè)位來表示。
17.如權(quán)利要求14所述的請求方對等節(jié)點(diǎn),其特征在于,所述二進(jìn)制矢量如下來生成: 向第一身份應(yīng)用密碼散列函數(shù)以生成二進(jìn)制串; 將所述二進(jìn)制串劃分為二進(jìn)制段; 將每個(gè)二進(jìn)制段轉(zhuǎn)換為所述二進(jìn)制矢量內(nèi)的位置索引;以及 將所述二進(jìn)制矢量的在所指示的位置索引處的矢量值設(shè)置為非默認(rèn)值。
18.—種請求方對等節(jié)點(diǎn),包括:用于生成數(shù)據(jù)結(jié)構(gòu)的裝置,所述數(shù)據(jù)結(jié)構(gòu)通過密碼學(xué)方式將所述請求方對等節(jié)點(diǎn)或所述請求方對等節(jié)點(diǎn)的用戶的一個(gè)或多個(gè)身份隱藏在所述數(shù)據(jù)結(jié)構(gòu)的共享數(shù)據(jù)空間內(nèi),其中所述一個(gè)或多個(gè)身份中的每一個(gè)身份的表示沿所述共享數(shù)據(jù)空間均勻且隨機(jī)地分布;以及用于將所述數(shù)據(jù)結(jié)構(gòu)作為訪問數(shù)字對象的請求的一部分發(fā)送至驗(yàn)證方對等節(jié)點(diǎn)的裝置。
19.如權(quán)利要求18所述的請求方對等節(jié)點(diǎn),其特征在于,進(jìn)一步包括: 用于從所述驗(yàn)證方對等節(jié)點(diǎn)接收信息的裝置,所述信息指示所述一個(gè)或多個(gè)身份中是否有任何身份是用于訪問所請求的數(shù)字對象的匹配。
20.如權(quán)利要求19所述的請求方對等節(jié)點(diǎn),其特征在于,進(jìn)一步包括: 用于根據(jù)收到信息將第一身份標(biāo)識為匹配的裝置; 用于選擇對應(yīng)于所述第一身份的認(rèn)證數(shù)據(jù)的裝置;以及 用于將所選擇的認(rèn)證數(shù)據(jù)發(fā)送給所述驗(yàn)證方對等節(jié)點(diǎn)以認(rèn)證對所述數(shù)字對象的訪問的裝置。
21.如權(quán)利要求20所述的請求方對等節(jié)點(diǎn),其特征在于,進(jìn)一步包括: 用于在所選擇的認(rèn)證數(shù)據(jù)被所述驗(yàn)證方對等節(jié)點(diǎn)成功認(rèn)證時(shí)獲得對所述數(shù)字對象的訪問的裝置。
22.一種包括在對等節(jié)點(diǎn)上操作的指令的處理器可讀介質(zhì),所述指令在由處理器執(zhí)行時(shí)使所述處理器: 生成數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)通過密碼學(xué)方式將所述請求方對等節(jié)點(diǎn)或所述請求方對等節(jié)點(diǎn)的用戶的一個(gè)或多個(gè)身份隱藏在所述數(shù)據(jù)結(jié)構(gòu)的共享數(shù)據(jù)空間內(nèi),其中所述一個(gè)或多個(gè)身份中的每一個(gè)身份的表示沿所述共享數(shù)據(jù)空間均勻且隨機(jī)地分布;以及 將所述數(shù)據(jù)結(jié)構(gòu)作為訪問數(shù)字對象的請求的一部分發(fā)送至驗(yàn)證方對等節(jié)點(diǎn)。
23.一種在驗(yàn)證方對等節(jié)點(diǎn)中操作的方法,包括: 從請求方對等節(jié)點(diǎn)接收作為訪問數(shù)字對象的請求的一部分的數(shù)據(jù)結(jié)構(gòu),其中所收到的數(shù)據(jù)結(jié)構(gòu)通過密碼學(xué)方式將所述請求方對等節(jié)點(diǎn)或所述請求方對等節(jié)點(diǎn)的用戶的一個(gè)或多個(gè)身份隱藏在所述數(shù)據(jù)結(jié)構(gòu)的共享數(shù)據(jù)空間內(nèi),其中所述一個(gè)或多個(gè)身份中的每一個(gè)身份的表示沿所述共享數(shù)據(jù)空間均勻且隨機(jī)地分布; 獲得被允許訪問所述數(shù)字對象的一個(gè)或多個(gè)訪問身份; 針對所述訪問身份中的每一個(gè)生成第二數(shù)據(jù)結(jié)構(gòu),其中所述第二數(shù)據(jù)結(jié)構(gòu)通過密碼學(xué)方式隱藏所述 數(shù)字對象的訪問身份;以及 在收到的數(shù)據(jù)結(jié)構(gòu)和所述第二數(shù)據(jù)結(jié)構(gòu)之間執(zhí)行比較以查明是否存在指示潛在匹配的身份交集。
24.如權(quán)利要求23所述的方法,其特征在于,進(jìn)一步包括: 向所述請求方對等節(jié)點(diǎn)發(fā)送信息,所述信息指示所述請求方對等節(jié)點(diǎn)的所述一個(gè)或多個(gè)身份中是否有任何身份是用于訪問所請求的數(shù)字對象的匹配。
25.如權(quán)利要求24所述的方法,其特征在于,進(jìn)一步包括: 接收與由所述驗(yàn)證方對等節(jié)點(diǎn)標(biāo)識的匹配身份相關(guān)聯(lián)的認(rèn)證數(shù)據(jù);以及 如果收到的認(rèn)證數(shù)據(jù)被成功認(rèn)證,則準(zhǔn)予所述請求方對等節(jié)點(diǎn)訪問所請求的數(shù)字對象。
26.如權(quán)利要求25所述的方法,其特征在于,進(jìn)一步包括: 認(rèn)證所述認(rèn)證數(shù)據(jù)以驗(yàn)證所述請求方對等節(jié)點(diǎn)是由所述匹配身份所標(biāo)識的群的成員。
27.如權(quán)利要求24所述的方法,其特征在于,由所述驗(yàn)證方對等節(jié)點(diǎn)發(fā)送以指示匹配的所述信息是匹配身份。
28.如權(quán)利要求24所述的方法,其特征在于,由所述驗(yàn)證方對等節(jié)點(diǎn)發(fā)送以指示匹配的所述信息是所述匹配身份的隱藏版本。
29.如權(quán)利要求23所述的方法,其特征在于,所收到的數(shù)據(jù)結(jié)構(gòu)是二進(jìn)制矢量,其中所述請求方對等節(jié)點(diǎn)的所述一個(gè)或多個(gè)身份的每一個(gè)身份由沿所述二進(jìn)制矢量均勻且沿隨機(jī)分布的多個(gè)位來表不。
30.如權(quán)利要求29所述的方法,其特征在于,所述數(shù)據(jù)結(jié)構(gòu)是布隆過濾器矢量,其中每個(gè)身份由沿所述二進(jìn)制矢量均勻且隨機(jī)分布的多個(gè)位來表示。
31.如權(quán)利要求23所述的方法,其特征在于,所述第二數(shù)據(jù)結(jié)構(gòu)是如下生成的二進(jìn)制矢量: 向第一身份應(yīng)用密碼散列函數(shù)以生成二進(jìn)制串; 將所述二進(jìn)制串劃分為二進(jìn)制段; 將每個(gè)二進(jìn)制段轉(zhuǎn)換為所述二進(jìn)制矢量內(nèi)的位置索引;以及 將所述二進(jìn)制矢量的在所指示的位置索引處的矢量值設(shè)置為非默認(rèn)值。
32.如權(quán)利要求23所述的方法,其特征在于,所請求的數(shù)字對象由所述驗(yàn)證方對等節(jié)點(diǎn)存儲(chǔ)。
33.如權(quán)利要求23所述的方法,其特征在于,所請求的數(shù)字對象由存儲(chǔ)方對等節(jié)點(diǎn)存儲(chǔ)。
34.一種驗(yàn)證方對等節(jié)點(diǎn),包括: 通信接口,用于在覆蓋網(wǎng)絡(luò)上與其它對等節(jié)點(diǎn)通信; 耦合至所述通信接口的處理電路,所述處理電路被適配成: 從請求方對等節(jié)點(diǎn)接收作為訪問數(shù)字對象的請求的一部分的數(shù)據(jù)結(jié)構(gòu),其中所收到的數(shù)據(jù)結(jié)構(gòu)通過密碼學(xué)方式將所述請求方對等節(jié)點(diǎn)或所述請求方對等節(jié)點(diǎn)的用戶的一個(gè)或多個(gè)身份隱藏在所述數(shù)據(jù)結(jié)構(gòu)的共享數(shù)據(jù)空間內(nèi),其中所述一個(gè)或多個(gè)身份的每一個(gè)身份的表示沿所述共享數(shù)據(jù)空間均勻且隨機(jī)地分布; 獲得被允許訪問所述數(shù)字對象的一個(gè)或多個(gè)訪問身份; 針對所述訪問身份的每一個(gè)生成第二數(shù)據(jù)結(jié)構(gòu),其中所述第二數(shù)據(jù)結(jié)構(gòu)通過密碼學(xué)方式隱藏所述數(shù)字對象的訪問身份;以及 在收到的數(shù)據(jù)結(jié)構(gòu)和所述第二數(shù)據(jù)結(jié)構(gòu)之間執(zhí)行比較以查明是否存在指示潛在匹配的身份交集。
35.如權(quán)利要求34所述的驗(yàn)證方對等節(jié)點(diǎn),其特征在于,所述處理電路被進(jìn)一步適配成: 向所述請求方對等節(jié)點(diǎn)發(fā)送信息,所述信息指示所述請求方對等節(jié)點(diǎn)的所述一個(gè)或多個(gè)身份中是否有任何身份是用于訪問所請求的數(shù)字對象的匹配。
36.如權(quán)利要求35所述的驗(yàn)證方對等節(jié)點(diǎn),其特征在于,所述處理電路被進(jìn)一步適配成: 接收與由所述驗(yàn)證方對等節(jié)點(diǎn)標(biāo)識的匹配身份相關(guān)聯(lián)的認(rèn)證數(shù)據(jù);以及 如果收到的認(rèn)證數(shù)據(jù)被成功認(rèn)證,則準(zhǔn)予所述請求方對等節(jié)點(diǎn)訪問所請求的數(shù)字對象。
37.如權(quán)利要求36所述的驗(yàn)證方對等節(jié)點(diǎn),其特征在于,所述處理電路被進(jìn)一步適配成: 認(rèn)證所述認(rèn)證數(shù)據(jù)以驗(yàn)證所述請求方對等節(jié)點(diǎn)是由所述匹配身份所標(biāo)識的群的成員。
38.一種驗(yàn)證方對等節(jié)點(diǎn),包括: 用于從請求方對等節(jié)點(diǎn)接收作為訪問數(shù)字對象的請求的一部分的數(shù)據(jù)結(jié)構(gòu)的裝置,其中所收到的數(shù)據(jù)結(jié)構(gòu)通過密碼學(xué)方式將所述請求方對等節(jié)點(diǎn)或所述請求方對等節(jié)點(diǎn)的用戶的一個(gè)或多個(gè)身份隱藏在所述數(shù)據(jù)結(jié)構(gòu)的共享數(shù)據(jù)空間內(nèi),其中所述一個(gè)或多個(gè)身份的每一個(gè)身份的表示沿所述共享數(shù)據(jù)空間均勻且隨機(jī)地分布; 用于獲得被允許訪問所述數(shù)字對象的一個(gè)或多個(gè)訪問身份的裝置; 用于針對所述訪問身份的每一個(gè)生成第二數(shù)據(jù)結(jié)構(gòu)的裝置,其中所述第二數(shù)據(jù)結(jié)構(gòu)通過密碼學(xué)方式隱藏所述數(shù)字對象的訪問身份;以及 用于在收到的數(shù)據(jù)結(jié)構(gòu)和所述第二數(shù)據(jù)結(jié)構(gòu)之間執(zhí)行比較以查明是否存在指示潛在匹配的身份交集的裝置。
39.如權(quán)利要求38所述的方法,其特征在于,進(jìn)一步包括:用于向所述請求方對等節(jié)點(diǎn)發(fā)送信息的裝置,所述信息指示所述請求方對等節(jié)點(diǎn)的所述一個(gè)或多個(gè)身份中是否有任何身份是用于訪問所請求的數(shù)字對象的匹配。
40.如權(quán)利要求39所述的方法,其特征在于,進(jìn)一步包括: 用于接收與由所述驗(yàn)證方對等節(jié)點(diǎn)標(biāo)識的匹配身份相關(guān)聯(lián)的認(rèn)證數(shù)據(jù)的裝置;以及用于在收到的認(rèn)證數(shù)據(jù)被成功認(rèn)證時(shí)準(zhǔn)予所述請求方對等節(jié)點(diǎn)訪問所請求的數(shù)字對象的裝置。
41.一種包括在驗(yàn)證方對等節(jié)點(diǎn)上操作的指令的處理器可讀介質(zhì),所述指令在由處理器執(zhí)行時(shí)使所述處理器: 從請求方對等節(jié)點(diǎn)接收作為訪問數(shù)字對象的請求的一部分的數(shù)據(jù)結(jié)構(gòu),其中所收到的數(shù)據(jù)結(jié)構(gòu)通過密碼學(xué)方式將所述請求方對等節(jié)點(diǎn)或所述請求方對等節(jié)點(diǎn)的用戶的一個(gè)或多個(gè)身份隱藏在所述數(shù)據(jù)結(jié)構(gòu)的共享數(shù)據(jù)空間內(nèi),其中所述一個(gè)或多個(gè)身份的每一個(gè)身份的表示沿所述共享數(shù)據(jù)空間均勻且隨機(jī)地分布; 獲得被允許訪問所述數(shù)字對象的一個(gè)或多個(gè)訪問身份; 針對所述訪問身份的每一個(gè)生成第二數(shù)據(jù)結(jié)構(gòu),其中所述第二數(shù)據(jù)結(jié)構(gòu)通過密碼學(xué)方式隱藏所述數(shù)字對象的訪問身份;以及 在收到的數(shù)據(jù)結(jié)構(gòu)和所述第二數(shù)據(jù)結(jié)構(gòu)之間執(zhí)行比較以查明是否存在指示潛在匹配的身份交集。
42.如權(quán)利要求41所述的處理器可讀介質(zhì),其特征在于,進(jìn)一步包括在由處理器執(zhí)行時(shí)使所述處理器執(zhí)行以下操作的指令: 向所述請求方對等節(jié)點(diǎn)發(fā)送信息,所述信息指示所述請求方對等節(jié)點(diǎn)的所述一個(gè)或多個(gè)身份中是否有任何身份是用于訪問所請求的數(shù)字對象的匹配。
43.如權(quán)利要求42所述的處理器可讀介質(zhì),其特征在于,進(jìn)一步包括在由處理器執(zhí)行時(shí)使所述處理器執(zhí)行以下操作的指令: 接收與由所述驗(yàn)證方對等節(jié)點(diǎn)標(biāo)識的匹配身份相關(guān)聯(lián)的認(rèn)證數(shù)據(jù);以及 如果收到的認(rèn)證數(shù)據(jù)被成功認(rèn)證,則準(zhǔn)予所述請求方對等節(jié)點(diǎn)訪問所請求的數(shù)字對象。
【文檔編號】H04L29/06GK103843299SQ201280048162
【公開日】2014年6月4日 申請日期:2012年7月30日 優(yōu)先權(quán)日:2011年7月29日
【發(fā)明者】Y·毛, D·W·克雷格 申請人:高通股份有限公司