崔煒榮,杜承烈
在移動社交網絡中,屬性匹配往往是用戶之間建立正式社交關系的第一步。其中,屬性指的是用戶基于特定的交友目的對自身以及交友目標的一組描述,比如性別、職業、興趣愛好等。匹配指的是判定用戶之間的屬性是否滿足一定條件的過程。在實際應用中,用戶屬性可以被表示為集合或者向量,屬性匹配可以依據集合或者向量的相似程度進行判定。
考慮以下典型的屬性匹配場景,用戶A和用戶B進行匹配運算。假定用戶A的自身屬性集合為Sa,他期望尋找到包含集合Pa中所有屬性的其他用戶。而用戶B的自身屬性集合為Sb,他期望尋找到包含集合Pb中所有屬性的其他用戶。為了判定A和B是否匹配,服務器需要獲知Sa、Sb、Pa和Pb,并判定條件Pb?Sa∧Pa?Sb是否滿足。然而,無論是用戶的自身屬性集合S,還是其交友偏好屬性集合P,都蘊含著較為重要的用戶個人特征信息,若將其不加保護地暴露給服務器,會造成用戶隱私泄露,從而帶來一定的安全風險[1]。在上述場景中,如何在不向服務器暴露用戶屬性信息的條件下實現屬性匹配是極具挑戰性的問題,也是本文的研究目標。
當前,如何在屬性匹配過程中保護用戶隱私是社交網絡安全領域內的研究熱點。本質上,隱私保護屬性匹配可歸結為安全多方計算(Secure Multi-party Computation,SMC)問題。也就是說,使得互不信任的兩個或多個用戶在不暴露屬性信息的情況下完成屬性匹配判定。現有的研究文獻主要通過兩種思路解決該問題。第一類方法將用戶屬性表達為向量,以向量相似度作為匹配判定的依據。由于向量相似度計算中的基本原語為點積運算,因此,此類方法運用安全點積運算實現了匹配過程中的隱私保護[2-4]。第二類方法將用戶屬性表達為有限集合,以集合交集大小作為匹配判定的依據。此類方法廣泛使用了私密交集運算(Private Set Intersection, PSI)和私密交集基運算(Private Cardinality of Set Intersection,PSCI)來實現交集運算過程中的集合信息隱藏[5-7],從而有效保護了用戶隱私。
然而,上述方法并不適用于本文的研究場景,原因在于:1)上述方法主要針對分布式屬性匹配場景。也就是說,屬性匹配完全由用戶端進行,服務器僅起到數據轉發作用。而在本文的研究場景中,第三方服務器承擔匹配計算。2)現有方法的隱私保護目的在于使得匹配雙方盡可能少地獲知彼此的屬性信息。而在本文的場景中,由于用戶通過第三方服務器進行匹配,因此隱私保護的目的在于使得第三方服務器盡可能少地獲知用戶屬性信息。3)在本文的場景中,匹配判定的本質是私密子集包含問題。在現有的隱私保護屬性匹配方案中,涉及私密集合運算主要基于同態加密技術實現。這些方法需要匹配雙方進行多輪通信,計算和通信開銷較大。除了上述方法外,部分學者嘗試在密碼學框架外,通過諸如布隆過濾器之類的非密碼學方案,建立輕量級隱私保護用戶屬性匹配方案[8]。但布隆過濾器只適用于熵值較大的屬性類型,當屬性空間較小時,此類方法抵御暴力猜解攻擊的能力非常差。
為了在所述場景中實現隱私保護用戶屬性匹配,本文提出了一種基于匿名密文策略屬性加密(Ciphertext-Policy Attribute-Based Encryption, CP-ABE)的用戶屬性匹配方法。使用該方法,用戶將表示其自身特征的屬性集合S隱藏至屬性密鑰CS中,將表示其交友偏好的屬性集合P作為訪問控制策略隱藏至密文CP中。在服務器端,子集包含判定被轉化為屬性解密判定。也就是說,若屬性密鑰CS能夠正確地解密密文CP,則P?S。與現有的基于安全多方計算的方法不同,本文方法不僅可以應用于分布式屬性匹配場景,也可以應用于集中式屬性匹配場景。此外,分析和實驗評估表明,本文方法能夠實現較好的安全-效率權衡,因而具備較強的實用價值。
屬性加密體制或基于屬性的加密體制(Attribute-Based Encryption, ABE)是對模糊身份加密體制(Fuzzy Identity-Based Encryption, FIBE)的推廣,由Sahai和Waters在文獻[9]中首次提出。概括而言,ABE用所需的屬性集合作為公鑰進行數據加密,要求只有具有某種屬性集合(即滿足特定的訪問控制策略)的用戶才能夠正確解密。根據訪問控制策略所處的位置不同,ABE可分為兩種類型[10],即密鑰策略屬性加密(Key-Policy ABE,KP-ABE)和密文策略屬性加密(CP-ABE)。在KP-ABE中,訪問控制策略被嵌入到解密密鑰中,而在CP-ABE中,訪問控制策略被嵌入到密文中。傳統的CP-ABE結構中,訪問控制策略往往以明文的形式附加在密文后,但在一些特殊的應用場景中,由于訪問控制策略本身也蘊含著敏感信息,因而也需要受到保護。由此,匿名CP-ABE方案[11-14]相繼被提出。本文選擇并改進了文獻[14]所提出的匿名CP-ABE。該方案基于非對稱判決雙線性迪菲郝爾曼(Decisional Bilinear Diffie-Hellman, DBDH)假設,在標準模型下是完全安全的。與其他匿名CP-ABE 方案相比,該方案用戶私鑰、密文長度及解密過程中的雙線性對計算次數均為常數。
一個CP-ABE方案中一般包含三種角色,即屬性權威、加密方和解密方。屬性權威作為可信第三方,主要功能在于生成公共參數并依據用戶提交的屬性生成密鑰。加密方根據訪問控制策略生成密文,解密方使用自身的屬性密鑰對密文進行解密。除了三種角色外,每個CP-ABE方案還包括以下四種基本操作原語:
Setup(1k)→PK,MK:初始化操作,由屬性權威執行。以輸入k為安全參數,輸出公共參數PK和主密鑰MK。
KeyGeneration(MK,L)→SK:密鑰生成算法,由屬性權威執行。算法輸入主密鑰MK和屬性列表L,輸出L對應的屬性密鑰SK。
Encryption(PK,M,W)→CT:加密算法,由加密方執行。算法輸入公參PK,消息M和訪問控制策W,輸出密文CT。
Decryption(PK,CT,SK) →M:解密算法,由解密方執行。算法輸入公參PK,密文CT和屬性密鑰SK。若SK中所蘊含的屬性滿足CT的訪問控制策略,則輸出CT對應的明文M。
對于本文所采用的匿名CP-ABE方案,上述四種操作原語的具體實現將在第3章中詳細描述。
DBDH假設是ABE的安全基石[15]。本文使用的CP-ABE方案的語義安全性依賴于DBDH假設在非對稱雙線性映射群中的擴展[16-17]。

由于非對稱DBDH是一個NP問題,這意味著對于敵手B來說當前沒有概率多項式時間算法能夠以不可忽略的優勢贏得該游戲。

在對非對稱DBDH假設定義的基礎上,給出本文所使用的CP-ABE方案針對被動攻擊者的語義安全性定義[12]。考慮如下的挑戰者-敵手游戲。
初始化 挑戰者A執行CP-ABE中的算法Setup,生成公參PK和主密鑰MK,之后將PK交給敵手B。
階段1 敵手B被允許自適應地向挑戰者提交一系列私鑰生成詢問,即B向A提交屬性列表L1,L2,…,Li(1≤i 挑戰:B提交兩個長度相等的消息M0、M1以及兩個訪問控制策略W0和W1,要求W0和W1不能被階段1中所提交的任何Li所滿足。之后,A隨機選取r,e∈{0,1},生成密文CT=Encryption(PK,Mr,We)并將其作為挑戰密文發送給B。 階段2 重復階段1,但要求Li+1,Li+2,…,Lq不能滿足W0和W1。 猜測 B輸出對r的猜測r′, 對e的猜測e′。當r=r′并且e=e′時B贏得該游戲。 定義2 令ε為敵手B贏得上述游戲的優勢,則ε=Pr[r=r′∧e′=e]-1/4。對于一個匿名CP-ABE構造,如果敵手以花費時間t,提交最多q次私鑰生成詢問的代價贏得該游戲的優勢為ε,則稱該CP-ABE構造為(t,q,ε)語義安全的。 本文的系統模型如圖1所示,總共包含4種角色。其中,發布者在匹配服務器上注冊并發布自己的匹配參考信息。查詢者向匹配服務器提交匹配查詢請求;作為匹配服務的提供者,匹配服務器存儲發布者的匹配參考信息,并根據查詢者的請求為其匹配滿足條件的發布者,并最終幫助匹配雙方建立聯系;屬性服務器為第三方可信權威,主要為用戶提供密鑰生成及屬性加密相關服務。 圖1 系統模型 在本文的系統模型中,每條發布者的匹配參考信息以及查詢者的查詢請求中都包含三個域,即用戶ID、自我描述和交友偏好。其中ID為用戶在匹配服務器中的唯一標識,而自我描述S和交友偏好P分別描述了用戶的自身特征和交友目標。換句話說,參考信息表達了“我是誰(S),我希望朋友是誰(P)”的交友意愿。無論是S還是P,其本質都是用戶所定義的一組屬性及其屬性值的集合,本文稱之為屬性列表。具體而言,令A為屬性空間,其中包含n個屬性類目,即A={A1,A2,…,An}。每一個Ai∈A具有mi個候選值,即Ai={ai1,ai2,…,aimi}。在本文中,屬性列表的生成要經過兩個步驟:1)從A中選取屬性類目;2)為每個屬性類目選擇特定的屬性值(從候選值中選取)。令生成的屬性列表為L={l1,l2,…,lr},從中任意選取兩個元素li和lj,若li∈Ak1且lj∈Ak2,當i≠j時,k1≠k2。也就是說,本文所述的屬性列表中每一個元素都來自不同的屬性類目。此外,在本文的系統模型中,用戶屬性列表的長度不必相同,但需要注意的是每一個屬性列表中的屬性值需要按照其所屬的屬性類目在屬性空間A中出現的次序進行排列。 假設發布者ua的自我描述和交友偏好分別為Sa和Pa,查詢者ub的自我描述和交友偏好分別為Sb和Pb。在本文中,若Pa?Sb,則稱ub符合ua的交友偏好。例如,ua的交友偏好Pa={男,音樂},而ub的自我描述Sb={男,教師,音樂,籃球},顯然ub符合ua的交友偏好。同理,若Pb?Sa,則稱ua符合ub的交友偏好。在本文中,令函數Matching(ua,ub)表示兩個用戶之間的匹配運算,則 也就是說,只有當ub符合ua的交友偏好且ua符合ub的交友偏好,匹配才能夠成功;否則匹配失敗。 在本文的系統模型中,匹配服務器執行Matching(ua,ub)運算。對于匹配成功的發布者-查詢者對,匹配服務器將雙方的ID發送給彼此,幫助其建立聯系。在此過程中,為了確保用戶的隱私安全及匹配的可信性,協議的設計需要滿足如下安全需求: 1)發布者和查詢者的自我描述和交友偏好都必須經過加密。除了匹配結果外,匹配服務器在匹配計算過程中無法獲知匹配雙方的自我描述和交友偏好的具體內容。 2)對于匹配成功的用戶而言,能夠確認匹配結果是真實可信的。 在本文中,假定所有的角色均為半誠實(Honest-But-Curious, HBC)的,即所有參與者都嚴格遵循協議的步驟,但匹配服務器試圖利用從協議執行過程中所獲得的信息推導用戶的隱私信息。 基于第2章所述的系統模型和安全目標,本文基于文獻[14]中提出的匿名CP-ABE方案設計了一種可保護隱私的用戶屬性匹配協議。該協議能夠依據用戶的自我描述和交友偏好進行精確匹配,同時在匹配過程中有效保護用戶隱私。本協議的基本原理在于利用匿名CP-ABE算法隱藏用戶的自我描述和交友偏好信息,并依據屬性解密結果進行匹配判定。例如,若要判斷ua的自我描述Sb是否滿足ua的交友偏好Pa,則ua可利用屬性加密算法以Pa為訪問控制策略生成加密信息CPa。同時,ub將Sb提交屬性服務器生成對應的屬性密鑰CSb。服務器嘗試用CSb解密CPa,若解密正確,則說明Sb滿足Pa。判斷ua的自我描述Sa是否滿足ub的交友偏好Pb與此同理。在匹配過程中,基于所采用的CP-ABE的匿名安全特性,匹配服務器無法從CPa和CPb中推斷出ua和ub的交友偏好信息,也無法從CSa和CSb中推斷出ua和ub的自我描述信息。 圖2描述了本協議的主要流程。協議可分兩個主要階段,即信息隱藏階段和隱私保護匹配階段。各階段的運算描述如下: 1)信息隱藏階段:在該階段,發布者和查詢者利用匿名CP-ABE算法,對各自的自我描述和交友偏好實施安全變換。為了便于理解,以發布者ua為例說明該變換過程。為了隱藏Pa,ua執行Encryption(PK,Pa,Na) 生成密文CPa。其中,PK為屬性服務器生成的公共參數,Pa在此作為屬性加密訪問控制策略,Na為ua生成的隨機數。為了隱藏Sa,ua將其提交至屬性服務器,屬性服務器執行KeyGeneration(MK,Sa)生成加密屬性CSa。其中,MK為屬性服務器的主密鑰(私鑰),CSa本質上是Sa對應的屬性私鑰。此外,為了加快匹配過程及實現屬性包含匹配,ua分別依據Sa和Pa生成提示向量RSa和RPa。提示向量蘊含著Sa和Pa中的屬性數量和特征信息。查詢者ub在信息隱藏階段的運算與ua相同。 2)隱私保護匹配階段:在此階段,服務器依據發布者和查詢者提交的信息進行匹配計算。首先,匹配服務器分別對RSa和RPb,RSb和RPb進行預匹配計算。預匹配通過后,服務器分別利用CSb和CSa解密CPa和CPb。若解密全部正確,則匹配成功。當匹配成功后,匹配服務器可進一步幫助用戶建立聯系。 圖2 協議流程示意 在初始化階段,屬性服務器執行Setup(1k)操作生成用于屬性加密的主密鑰和公參,具體如下。 主密鑰MK為: 如圖2所示,提示向量用于提高匹配效率,其中蘊含了屬性列表S和P中屬性的數量和特征。令L={l1,l2,…,lq}表示屬性列表,令λ為一個遠大于q的素數,假設Hash為一個輸出為n比特定長值的安全哈希函數,則提示向量RL由L中所有屬性值的哈希值被λ除的余數組成。對于lk∈L,令rk≡Hash(lk) modλ,則RL=(r1,r2,…,rq)。顯然,對于兩個屬性li和lj,令ri≡Hash(li) modλ,rj≡Hash(lj) modλ,如果ri≠rj,則li≠lj。 依據上述的提示向量生成辦法,在信息隱藏階段,發布者ua生成Sa對應的提示向量RSa以及Pa對應的提示向量RPa,查詢者ub生成Sb對應的提示向量RSb以及Pb對應的提示向量RPb。 為了滿足隱私保護目標,在匹配進行前,用戶需要對自我描述和交友偏好信息進行安全變換。在本系統中,屬性信息的隱藏基于文獻[14]中提出的匿名CP-ABE構造實現,具體如下。 1)自我描述隱藏。 如圖2所示,為了隱藏自我描述S,用戶將其提交給屬性服務器,由屬性服務器生成其對應的屬性密鑰CS。CS蘊含著S的所有信息,但CS本身由隨機化算法生成,因而不會暴露S的內容。具體而言,屬性服務器執行算法KeyGenS(MK,S)。其中,MK為屬性服務器在初始化階段生成的主密鑰,S為用戶的自我描述。該算法的具體內容描述如下: 在信息隱藏階段,屬性服務器執行KeyGenS(MK,Sa)為ua生成CSa,執行KeyGenS(MK,Sb)為ub生成CSb。 2)交友偏好隱藏。 如圖2所示,為了隱藏交友偏好P,用戶可將其作為訪問控制策略加密一段信息生成密文CP。基于所采用的匿名CP-ABE構造的安全性特點,CP蘊含P但不會暴露P的具體內容,從而實現了交友偏好的隱藏。具體而言,用戶通過執行屬性加密算法Encryption(PK,N,P)生稱密文CP。其中:PK為屬性服務器在初始階段生成的公參;N是用戶生成的隨機數,是被加密的消息;P為用戶的交友偏好。該算法的具體內容描述如下。 在信息隱藏階段,ua調用Encryption(PK,Na,Pa)生成CPa,ub調用Encryption(PK,Nb,Pb)生成CPb。 匹配服務器在屬性解密匹配之前,首先要根據發布者和查詢者提交的提示向量進行預匹配運算。預匹配計算可以快速排除大部分無法匹配的發布者-查詢者對,從而極大地提高匹配效率。對于有可能匹配成功的發布者-查詢者對,預匹配計算能夠生成相應的匹配輔助信息。用PreMatch(RS1,RP2)表示預匹配計算,其中RS1為用戶u1的自我描述提示向量,RP2為用戶u2的交友偏好提示向量。則在預匹配階段,匹配服務器分別執行PreMatch(RSb,RPa)和PreMatch(RSa,RPb),只有預匹配全部通過,才能進入到下一步匹配。下面以PreMatch(RSb,RPa)為例說明預匹配過程。 匹配服務器按照上述方法生成所有滿足要求的向量,最終生成向量集合。按照相同的方法,匹配服務器執行PreMatch(RSa,RPb)生成向量集合Ja→b。 1)解密屬性密鑰生成。 2)屬性解密匹配。 (1) 當匹配成功后,匹配服務器幫助ua和ub建立聯系。具體而言,匹配服務器將IDa和Na傳給ub并將IDb和Nb傳給ua。 根據2.4節所述,本協議的主要安全目標在于使得匹配服務器在無法獲知Sa、Pa、Sb和Pb的條件下判定Pb?Sa∧Pa?Sb是否滿足。本文所采用的匿名CP-ABE的語義安全性是保障該目標的基石。為了提高匹配效率,本文設計了提示向量和相應的預匹配算法。然而,提示向量揭示了S和P的部分信息,因此這種效率上的提升帶來了隱私安全性的下降。理論上,匹配服務器有可能利用提示向量進行字典攻擊,從而破解S和P中的內容。本章首先分析CP-ABE構造的語義安全性,然后通過定量和定性的分析說明本協議能夠抵抗字典攻擊,最后將分析本協議的可驗證性。 本文所采用的CP-ABE構造能夠提供選擇明文攻擊下的匿名不可區分(ANONymous INDistinguishability under Chosen Plaintext Attack, ANON-IND-CPA)安全性。也就是說,攻擊者無法從密文中推導出有關消息M和訪問控制策略W的任何信息。 定理1 如果(t+O(ε-2ln(ε-1)λ-1ln(λ-1)),ε/[32(n+1)q])非對稱DBDH假設成立,則本協議中的匿名CP-ABE構造是(t,q,ε)安全的,其中λ=1/[8(n+1)q]。 盡管本協議中的CP-ABE能夠提供ANON-IND-CPA安全性,但提示向量的引入泄露了有關用戶自我描述和交友偏好的部分信息,因此可被攻擊者(匹配服務器)用來進行字典攻擊。以破解CPa為例,首先,攻擊者需要從屬性空間A中選取屬性類目及屬性值構建備選的Sb。與Sb對應的提示向量RSb應該與給定的提示向量RPa相等。之后,攻擊者需要與屬性服務器進行通信以便為Sb申請屬性密鑰。最后,攻擊者用所有的備選屬性密鑰嘗試解密。下面將通過分析說明,本協議能夠有效地抵抗此種字典分析攻擊:首先,與現有的方案不同,本文方案中的用戶屬性無法在本地自由修改,這是本文方案抗字典分析攻擊的關鍵機制。假設A中屬性類目的數量為n,每一個數屬性類目平均有m個可選值。給定具有長度q的模λ提示向量RPa,攻擊者可生成的備選屬性列表的數量將為: 顯然,在當A比較大并且λ設置適當的條件下,該數量將會很大。為了防止攻擊者為所有的備選屬性列表申請到對應的屬性私鑰,在屬性服務器端,可以限制針對同一用戶的私鑰生成頻率,從而有效地防止攻擊者進行字典分析攻擊。 在本協議中,匹配成功的用戶ua和ub能夠對匹配的結果進行驗證。如3.7節所述,當匹配成功后,ua會收到匹配服務器發來的IDb和Nb,ub會收到匹配服務器發來的IDa和Na。在隨后的交互中,ua和ub可通過互相出示Nb和Na進行驗證。顯然,如果ub能夠正確出示Na,則說明Sb滿足Pa的要求;同理,若ua能夠正確出示Nb,則說明Sa滿足Pb的要求。 為了直觀地評估協議的性能,本文實現了協議原型并進行了仿真測試。仿真測試運行在一臺筆記本上,其軟硬件配置為:Intel CORE i5 2.30 GHz 處理器;2 GB RAM;Ubuntu 14.04 OS;Python 3.4.3。在編寫協議原型的過程中,本文使用了CHARM庫[18]實現CP-ABE結構。仿真測試包括三個方面:首先測試CP-ABE算法的執行效率;之后,測試預匹配算法在不同參數下的執行效率;最后,測試協議的整體性能。 測試本文所使用的CP-ABE的核心算法KeyGeneration、Encrytption和Decryption的運行時間隨著屬性數量增加的變化情況如圖3所示。由圖3可知,密鑰生成時間和加密時間隨著屬性數目增多呈線性增長,而解密時間保持為常數。 在本文提出的預匹配算法中,提示向量的生成參數為λ。理論上,λ越小,則提示向量越模糊;λ越大,則提示向量越精確。為了測試在不同的λ取值下預匹配算法的計算效率,設計并進行了如下實驗。假定用戶的自我描述屬性列表長度固定為10,令q表示交友偏好屬性列表長度,選取不同的λ值和q值組合。對于每一組(λ,q)取值,隨機生成2 000組(Sa,Pb)取值,對每組(SaPb)值調用PreMatch(RSa,RPb)并記錄其運行時間。其中,RSa和RPb是以λ為參數計算的Sa和Pb對應的提示向量。實驗結果如圖4所示。從圖4可看出,λ越大預匹配所花費的時間越少。但需要注意的是,隨著λ的增加,提示向量趨于精確,從而會降低系統的安全性。因此,在實際應用中需要基于安全-效率權衡來確定λ的取值。 圖3 CP-ABE效率與屬性數量的關系 圖4 預匹配算法效率與λ的關系 如3.5節所述,以RSa和RPb為例,預匹配PreMatch(RSa,RPb)的輸出為Ja→b。Ja→b中包含了Sa中能夠匹配Pb的所有可能屬性組合,其大小決定了屬性解密匹配的時間開銷。為了考察不同的λ取值對預匹配輸出的備選屬性組合數量的影響,基于5.2節所設計的實驗方法,也記錄了在不同的λ取值條件下,隨著交友偏好屬性列表長度的增加,預匹配輸出的變化。實驗結果如圖5所示。 圖5 平均備選解密屬性組長度與交友偏好長度的關系 為評估屬性解密匹配的效率,本文測試了相互匹配的用戶依據其預匹配結果進行屬性解密匹配所花費的時間。實驗的輸入參數為(lenS,lenP,λ)。其中:lenS表示S的長度,固定為10;lenP表示P的長度,取值分別為2、4、6、8、10。針對每一組輸入參數取值,生成2 000組能夠成功匹配的用戶對,對其進行匹配運算,并記錄時間開銷。實驗結果如表1所示。 針對社交網絡中用戶屬性匹配的隱私保護問題,本文提出了一種可應用于集中式屬性匹配場景的隱私保護屬性匹配方法。該方法基于匿名CP-ABE方案構建,匹配雙方通過將屬性分別編碼為密文訪問控制策略和屬性密鑰實現了隱私信息隱藏,服務器通過屬性解密實現了匹配判定。此外,該方法通過提示向量和預匹配算法,能夠快速地對大部分不滿足條件的匹配作出判定,同時也可以大幅地減少解密嘗試的次數,從而保障了匹配的效率。然而,當匹配服務器中用戶信息表中的記錄較多時,進行逐一的匹配判定仍然會面臨較大的時間開銷。今后,將在本文的研究基礎上對算法作進一步的優化調整,同時尋找更為高效的CP-ABE方案,使其能夠更加滿足實際應用的需求。 參考文獻(References) [1] LIANG X, ZHANG K, SHEN X, et al. Security and privacy in mobile social networks: challenges and solutions[J]. IEEE Wireless Communications, 2014, 21(1): 33-41. [2] HU C, LI R, LI W, et al. Efficient privacy-preserving schemes for dot-product computation in mobile computing[C]// PAMCO 2016: Proceedings of the 1st ACM Workshop on Privacy-Aware Mobile Computing. New York: ACM, 2016: 51-59. [3] SHENG G, WEN T, GUO Q, et al. Privacy preserving inner product of vectors in cloud computing[J]. International Journal of Distributed Sensor Networks, 2014, 10(5): 537252. [4] ZHANG R, ZHANG J, ZHANG Y, et al. Privacy-preserving profile matching for proximity-based mobile social networking[J]. IEEE Journal on Selected Areas in Communications, 2013, 31(9): 656-668. [5] LI M, YU S, CAO N, et al. Privacy-preserving distributed profile matching in proximity-based mobile social networks[J]. IEEE Transactions on Wireless Communications, 2013, 12(5): 2024-2033. [6] ISHIKURO Y, OMOTE K. Privacy-preserving profile matching protocol considering conditions[C]// Proceedings of the 10th International Conference on Network and System Security, LNSC 9955. Berlin: Springer, 2016: 171-183. [7] HE D, CAO Z, DONG X, et al. User self-controllable profile matching for privacy-preserving mobile social networks[C]// Proceedings of the 2014 IEEE International Conference on Communication Systems. Piscataway, NJ: IEEE, 2014: 248-252. [8] XIE K, WANG X, LI W, et al. Bloom-filter-based profile matching for proximity-based mobile social networking[C]// Proceedings of the 13th Annual IEEE International Conference on Sensing, Communication, and Networking. Piscataway, NJ: IEEE, 2016: 1-9. [9] SAHAI A, WATERS B. Fuzzy identity-based encryption [C]// EUROCRYPT 2005: Proceedings of the 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques, LNCS 3494. Berlin: Springer, 2005: 457-473. [10] GOYAL V, PANDEY O, SAHAI A, et al. Attribute-based encryption for fine-grained access control of encrypted data[C]// Proceedings of the 13th ACM Conference on Computer and Communications Security. New York: ACM, 2006: 89-98. [11] NISHIDE T, YONEYAMA K, OHTA K. Attribute-based encryption with partially hidden encryptor-specified access structures[C]// ACNS 2008: Proceedings of the 6th International Conference on Applied Cryptography and Network Security, LNCS 5037. Berlin: Springer, 2008: 111-129. [12] ZHANG Y, CHEN X, LI J, et al. Anonymous attribute-based encryption supporting efficient decryption test[C]// Proceedings of the 8th ACM SIGSAC Symposium on Information, Computer and Communications Security. New York: ACM, 2013: 511-516. [13] JUNG T, LI X Y, WAN Z, et al. Control cloud data access privilege and anonymity with fully anonymous attribute-based encryption[J]. IEEE Transactions on Information Forensics and Security, 2015, 10(1): 190-199. [14] 解理, 任艷麗. 隱藏訪問結構的高效基于屬性加密方案[J]. 西安電子科技大學學報(自然科學版), 2015, 42(3): 97-102.(XIE L, REN Y L. Efficient attribute-based encryption with hidden access structures[J]. Journal of Xidian University, 2015, 42(3): 97-102.) [15] BONEH D, FRANKLIN M. Identity-based encryption from the Weil pairing[C]// CRYPTO 2001: Proceedings of the 21st Annual International Cryptology Conference, LNCS 2139. Berlin: Springer, 2001: 213-229. [16] DUCAS L. Anonymity from asymmetry: new constructions for anonymous HIBE[C]// CT-RSA 2010: Proceedings of the Cryptographers’ Track at the RSA Conference 2010, LNCS 5985. Berlin: Springer, 2010: 148-164. [17] CHEN Z, LI S, WANG C, et al. Two constructions of multireceiver encryption supporting constant keys, short ciphertexts, and identity privacy[J]. International Journal of Network Security, 2012, 14(5): 270-279. [18] AKINYELE J A, GARMAN C, MIERS I, et al. Charm: a framework for rapidly prototyping cryptosystems[J]. Journal of Cryptographic Engineering, 2013, 3(2): 111-128.2 系統模型及問題定義
2.1 系統模型

2.2 自我描述與交友偏好
2.3 匹配條件
2.4 問題定義及安全性假設
3 協議設計
3.1 協議概述

3.2 初始化

3.3 提示向量生成
3.4 屬性信息隱藏





3.5 預匹配

3.6 屬性解密匹配








3.7 聯系建立
4 安全性分析
4.1 匿名CP-ABE安全性

4.2 隱私保護

4.3 抗字典攻擊

4.4 可驗證性
5 性能評估
5.1 CP-ABE效率
5.2 預匹配算法效率


5.3 備選解密屬性組數量

5.4 解密匹配效率
6 結語