周 大 偉
(海軍工程大學(xué)信息安全系 湖北 武漢 430033)
基于廣播加密的P2P社交網(wǎng)絡(luò)方案的設(shè)計(jì)與實(shí)現(xiàn)
周 大 偉
(海軍工程大學(xué)信息安全系 湖北 武漢 430033)
針對(duì)當(dāng)前社交網(wǎng)絡(luò)個(gè)人隱私信息泄露的問題,面向P2P社交網(wǎng)絡(luò)提出一種匿名公鑰廣播加密方案,包括初始化公鑰,分發(fā)私鑰,加密和解密。并在Android平臺(tái)下設(shè)計(jì)實(shí)現(xiàn)了基于廣播加密的P2P社交網(wǎng)絡(luò)系統(tǒng),系統(tǒng)主要包括數(shù)據(jù)存儲(chǔ)模塊,移動(dòng)終端模塊,安全加密模塊以及PKG管理模塊。同時(shí)對(duì)Android平臺(tái)下的P2P社交網(wǎng)絡(luò)在惡意用戶截獲私聊攻擊,惡意下載攻擊,篡改攻擊和重放攻擊的安全性進(jìn)行了分析,分析結(jié)果表明該系統(tǒng)安全可靠。
P2P社交網(wǎng)絡(luò) 個(gè)人隱私 廣播加密
廣播加密是一種采用廣播信道來傳輸加密信息的方法[1]。在加密過程中,信息的發(fā)送者可以自由指定目標(biāo)接收者集合,并產(chǎn)生唯一的一組密文。當(dāng)且僅當(dāng)用戶屬于目標(biāo)集合時(shí),才能夠正確地解密出信息。廣播加密通常需要滿足公鑰特性(任何人都可以加密),無狀態(tài)的接受者(用戶不需要更新私鑰),足夠的抗共謀性等[2]。廣播加密可以看作一個(gè)密鑰封裝機(jī)制,首先對(duì)廣播內(nèi)容使用對(duì)稱加密算法進(jìn)行加密,然后將加密的密鑰作為會(huì)話密鑰進(jìn)行封裝。接收者在收到廣播消息后,首先將封裝結(jié)果進(jìn)行解密,得到會(huì)話密鑰后,再使用該會(huì)話密鑰對(duì)廣播內(nèi)容進(jìn)行解密。由此,廣播加密在衛(wèi)星廣播通信、無線傳感器網(wǎng)絡(luò)、付費(fèi)電視系統(tǒng)、群發(fā)電子郵件等這種在不安全的信道上向多個(gè)用戶發(fā)布廣播消息的加密系統(tǒng)得到越來越廣泛的應(yīng)用。
第一個(gè)廣播加密方案是由Naor等人[3]在2000年提出,該方案具備t-抗串謀攻擊安全性,隨后,一些方案被相繼提出。Hu等人[4]提出一種選擇密碼安全的廣播加密方案,但方案的安全性證明是在隨機(jī)預(yù)言模型下,而隨機(jī)預(yù)言模型的安全性一直飽含爭議;Waters[5]提出一個(gè)雙系統(tǒng)加密技術(shù),且在標(biāo)準(zhǔn)模型下證明其安全性,但方案的密文長度呈線性遞增;隨后Lewko等人[6]又改進(jìn)了其方案,提出一個(gè)短密文安全的廣播加密方案,但方案的安全性基于靜態(tài)假設(shè);Boneh等人[7]提出一個(gè)代價(jià)較低的方案,方案基于多線性映射的簡單假設(shè),且不依賴IO[8];Gentry等人[9]提出了一個(gè)官方較短并且適應(yīng)性安全的方案,但方案公鑰存儲(chǔ)代價(jià)大;為了保護(hù)用戶隱私,F(xiàn)azio等人[10]提出一個(gè)匿名廣播加密方案,方案基于一個(gè)弱匿名概念;Libert等人[11]提出一個(gè)自適應(yīng)安全的匿名廣播加密方案,但方案的效率不高。
本文結(jié)合匿名公鑰廣播加密模型,設(shè)計(jì)與實(shí)現(xiàn)一個(gè)安全可靠的P2P社交網(wǎng)絡(luò)系統(tǒng)。P2P社交網(wǎng)絡(luò)中的用戶既是客戶端又是服務(wù)器端,可保證個(gè)人隱私的安全。該系統(tǒng)為用戶提供了安全的即時(shí)聊天、動(dòng)態(tài)選擇接收者集合、發(fā)表日志及評(píng)論等功能。整個(gè)系統(tǒng)采用基于加密的訪問控制,同時(shí)采用廣播加密與對(duì)稱加密的結(jié)合,提供高性能的加密與解密,并且不受目標(biāo)集合大小的影響。
系統(tǒng)的參與者主要分為用戶和P2P社交網(wǎng)絡(luò)平臺(tái)兩個(gè)部分,用戶使用P2P社交網(wǎng)絡(luò)平臺(tái),同時(shí)每個(gè)用戶又在系統(tǒng)中充當(dāng)著廣播加密信任中心的角色,為自己創(chuàng)建的廣播加密系統(tǒng)中的用戶生成必要的文件。用戶在P2P社交網(wǎng)絡(luò)平臺(tái)上可以進(jìn)行的操作如圖1所示,用戶使用P2P社交網(wǎng)絡(luò)平臺(tái)來進(jìn)行用戶注冊、查看個(gè)人主頁、添加好友、與聯(lián)系人私聊、在發(fā)布及查看狀態(tài)、發(fā)布及看評(píng)論等操作。系統(tǒng)中的用戶既是廣播加密系統(tǒng)中的接收方又是發(fā)送方。
圖1 用戶使用P2P社交網(wǎng)絡(luò)平臺(tái)用例圖
用戶作為廣播加密系統(tǒng)中的信任中心可以進(jìn)行的操作如圖2所示,可以看出信任中心可以生成用戶私鑰和系統(tǒng)公鑰,接受用戶在其上的注冊等操作。
綜合采用匿名的公鑰廣播加密和對(duì)稱加密技術(shù),設(shè)計(jì)實(shí)現(xiàn)P2P社交網(wǎng)絡(luò)系統(tǒng)的具體目標(biāo)如下:① 滿足用戶權(quán)限設(shè)置的基本工作需求,即實(shí)現(xiàn)信息局部訪問,信息圖形化和信息加解密等功能;② 保障系統(tǒng)之間均以可靠的UDP通信為載體,實(shí)現(xiàn)信息的交互無障礙;③ 實(shí)現(xiàn)信息在不同用戶權(quán)限下透明的安全工作方式,安全模塊的添加是自動(dòng)加載的,而且加載時(shí)間短,基本上不影響用戶的操作;④ 界面設(shè)計(jì)友好,系統(tǒng)操作簡單,用戶使用方便。使用模塊化設(shè)計(jì),易于修改和后期升級(jí)。
1.1 系統(tǒng)設(shè)計(jì)
由于在P2P的系統(tǒng)中所有的用戶都是對(duì)等的,每個(gè)用戶即是資源提供者又是資源獲得者。因此在本系統(tǒng)中用戶所有的操作都是依靠自己完成的,每個(gè)用戶都維護(hù)一套屬于自己的廣播加密方案,方案體系結(jié)構(gòu)如圖3所示。
圖3 P2P社交網(wǎng)絡(luò)系統(tǒng)的體系結(jié)構(gòu)
為了更好地說明問題,我們定義更新者和接收者。更新者是指某用戶產(chǎn)生并更新了關(guān)于自己的一條狀態(tài),然后此狀態(tài)會(huì)被加密并發(fā)送出去;接收者是指可以接收到更新者產(chǎn)生的狀態(tài)的用戶,在接收到狀態(tài)之后在自己的網(wǎng)頁或者客戶端進(jìn)行更新,并且接收者可以對(duì)狀態(tài)進(jìn)行評(píng)論。圖3中以用戶A作為更新者來進(jìn)行說明,并且假定圖3中顯示的所有的用戶都已經(jīng)加入了系統(tǒng)。由此基于匿名廣播加密的P2P社交網(wǎng)絡(luò)系統(tǒng)的具體過程可以描述如下:
(1) 可以向系統(tǒng)中加入用戶,用戶的基本信息會(huì)存儲(chǔ)在自己的配置文件中,并且每個(gè)用戶會(huì)維護(hù)一個(gè)關(guān)于自己的廣播加密具體方案;
(2) 用戶A和用戶B、C、D、E已經(jīng)分別互相加為好友,此時(shí)A會(huì)頒發(fā)相對(duì)于自己的私鑰給B、C、D、E,并且B、C、D、E也會(huì)給A頒發(fā)對(duì)應(yīng)的私鑰;
(3) 用戶B和用戶C、D互相加為好友;
(4) 用戶A發(fā)布了一條狀態(tài),并選定用戶B、C、E可以閱讀此狀態(tài),然后此狀態(tài)經(jīng)過一些操作之后被廣播出去;
(5) 所有的用戶都可以獲取到此消息,但只有用戶B、C、E可以讀取此消息,他們會(huì)將此消息存儲(chǔ)在他們的用戶配置文件中,其余的用戶丟棄此消息;
(6) 用戶B、C、E可以選擇對(duì)用戶A的此條狀態(tài)進(jìn)行評(píng)論。假設(shè)此處B選擇評(píng)論,評(píng)論完成后,此評(píng)論只有在用戶A和用戶C的共同好友處才可以顯示。
上面過程都是在所有的用戶和聯(lián)系人都在線的前提下產(chǎn)生的,如果用戶發(fā)布狀態(tài)的聯(lián)系人不在線的話,在用戶上線時(shí)會(huì)提醒用戶有消息更新。
1.2 系統(tǒng)功能
基于廣播加密的P2P社交網(wǎng)絡(luò)系統(tǒng)根據(jù)功能層次分為四個(gè)模塊成。其中,數(shù)據(jù)存儲(chǔ)模塊主要為上層的模塊提供存儲(chǔ)空間,以及為上層模塊調(diào)用數(shù)據(jù)提供接口;安全加密模塊主要包含數(shù)據(jù)交互過程中的廣播加密、對(duì)稱加密等安全加密方案,以及密鑰協(xié)商的密鑰產(chǎn)生方式;PKG管理模塊主要包括初始化系統(tǒng)并生成系統(tǒng)公鑰、用戶申請(qǐng)加入廣播加密系統(tǒng)以及為用戶分配廣播加密私鑰等功能;移動(dòng)終端模塊主要由用戶注冊、查看個(gè)人主頁、添加好友、即時(shí)聊天、發(fā)布狀態(tài)和評(píng)論以及查看狀態(tài)評(píng)論等功能組成。系統(tǒng)主要實(shí)現(xiàn)以下功能:① 基本功能—主要實(shí)現(xiàn)用戶進(jìn)行私聊,用戶發(fā)布狀態(tài)和評(píng)論;② 安全功能—主要實(shí)現(xiàn)用戶信息的隱私保護(hù)、用戶聊天的安全通信和匿名的可選擇接收者功能;③ 管理功能—主要實(shí)現(xiàn)與隱私保護(hù)功能相配套的輔助管理功能,包括軟件登陸權(quán)限管理、對(duì)軟件密鑰進(jìn)行管理、對(duì)數(shù)據(jù)信息管理等功能。
2.1 匿名公鑰廣播加密方案
匿名公鑰廣播加密模型通常包括三個(gè)實(shí)體:信任中心,發(fā)送方和接收方。系統(tǒng)中的每一個(gè)成員都是同級(jí)節(jié)點(diǎn),每一個(gè)成員都可以作為接收方,也都可以作為發(fā)送方。當(dāng)系統(tǒng)中的某個(gè)成員要選定集合發(fā)送消息時(shí),該成員就作為發(fā)送方,而被選中的成員就作為接收方。
匿名公鑰廣播加密中的實(shí)體之間相互通信過程,形成了一個(gè)簡單的通信協(xié)議,為了便于描述和理解實(shí)體間的通信過程,本文將采用表1的符號(hào)進(jìn)行描述。通信過程如圖4所示。
表1 實(shí)體間通信的符號(hào)描述
協(xié)議的執(zhí)行過程包括以下部分:(1)初始化時(shí),信任中心根據(jù)系統(tǒng)中用戶的ID長度,運(yùn)行Setup算法生成系統(tǒng)公鑰PK;(2)發(fā)送方向信任中心發(fā)起請(qǐng)求Request,請(qǐng)求系統(tǒng)公鑰和用戶私鑰;(3)信任中心根據(jù)用戶的ID運(yùn)行g(shù)enerate算法生成該用戶的私鑰di;(4)系統(tǒng)公鑰和用戶的私鑰發(fā)送給發(fā)送方;(5)接收方向信任中心發(fā)起請(qǐng)求Request,請(qǐng)求系統(tǒng)公鑰和用戶私鑰;(6)信任中心根據(jù)用戶的ID運(yùn)行g(shù)enerate算法生成該用戶的私鑰di;(7)系統(tǒng)公鑰和用戶的私鑰發(fā)送給發(fā)送方;(8)發(fā)送方隨機(jī)選取一個(gè)參數(shù)t,運(yùn)行加密密鑰生成算法generateEncryptionKey,計(jì)算并生成加密密鑰K;(9) 發(fā)送方運(yùn)行密文頭部生成算法generateHdr,生成密文頭Hdr;(10) 發(fā)送方使用對(duì)稱加密算法對(duì)明文消息M加密,生成密文CM;(11) 發(fā)送方將密文CM,連同密文頭Hdr等信息一起發(fā)給接收方;(12) 接收方運(yùn)行解密密鑰生成算法generateDecryptionKey,計(jì)算并生成解密密鑰K′;(13) 接收方對(duì)密文CM解密,得到明文M。
圖4 實(shí)體之間的通信過程
2.2 通信協(xié)議與存儲(chǔ)結(jié)構(gòu)
2.2.1 網(wǎng)絡(luò)傳輸數(shù)據(jù)包消息格式
P2P社交網(wǎng)絡(luò)中要傳輸?shù)臄?shù)據(jù)都需要被分割并封裝在一個(gè)固定的數(shù)據(jù)消息格式中,用以區(qū)別其他網(wǎng)絡(luò)傳輸數(shù)據(jù)和P2P社交網(wǎng)絡(luò)的數(shù)據(jù)。同時(shí)整個(gè)系統(tǒng)統(tǒng)一使用AllPackage數(shù)據(jù)包進(jìn)行數(shù)據(jù)傳輸,保證每次固定傳輸長度為1 024 bits的數(shù)據(jù)。該網(wǎng)絡(luò)傳輸數(shù)據(jù)包消息格式如表2所示。
在網(wǎng)絡(luò)傳輸數(shù)據(jù)包消息格式AllPackage中前8個(gè)字節(jié)為特征數(shù)據(jù)“#P2PSON#”;第9個(gè)字節(jié)為數(shù)據(jù)分包標(biāo)識(shí)符flag,當(dāng)flag為0時(shí)代表數(shù)據(jù)包的第一個(gè)子包,flag為1時(shí)代表中間的子包;Size代表還有多少數(shù)據(jù)沒有發(fā)送;random為標(biāo)識(shí)該條數(shù)據(jù)包的隨機(jī)數(shù);data存儲(chǔ)的是每次發(fā)送的數(shù)據(jù),長度為1 008個(gè)字節(jié)。
表2 網(wǎng)絡(luò)傳輸數(shù)據(jù)包AllPackage消息格式
2.2.2 報(bào)頭消息格式
每個(gè)消息傳輸格式中都包含一個(gè)報(bào)頭格式,用以區(qū)分該傳輸格式的消息內(nèi)容是什么數(shù)據(jù)。該報(bào)頭格式如表3所示。報(bào)頭格式PackageHead的前4個(gè)字節(jié)存儲(chǔ)的是nPackageType,用來標(biāo)識(shí)消息格式中存儲(chǔ)的是什么類型的內(nèi)容;nIP存儲(chǔ)數(shù)據(jù)發(fā)送源的IP地址,占8個(gè)字節(jié)。
表3 報(bào)頭PackageHead消息格式
2.2.3 用戶私聊消息格式
用戶之間進(jìn)行即時(shí)聊天需要互相傳送私聊內(nèi)容,用戶私聊消息格式中存儲(chǔ)用戶ID和加密后的私聊內(nèi)容。該消息格式如表4所示。用戶私聊消息格式ChatInformation中前8個(gè)字節(jié)是報(bào)頭格式的對(duì)象;sUserId是用戶ID,占20個(gè)字節(jié);*data是指向私聊消息內(nèi)容的指針,占4個(gè)字節(jié)。
表4 用戶私聊ChatInformation消息格式
2.2.4 密鑰協(xié)商消息格式
用戶登陸到系統(tǒng)后就要與其他在線用戶進(jìn)行密鑰協(xié)商。其中type為0時(shí)表示數(shù)據(jù)是由第一方傳給第二方,type為1時(shí)表示數(shù)據(jù)是由第二方傳給第一方。密鑰協(xié)商消息格式如表5所示。
表5 密鑰協(xié)商KeyConsult消息格式
密鑰協(xié)商消息格式KeyConsult中前8個(gè)字節(jié)是報(bào)頭格式的對(duì)象;sUserId是用戶的ID,占20個(gè)字節(jié);agdata是D-H密鑰協(xié)商過程中的交換數(shù)據(jù),占64個(gè)字節(jié);type為0時(shí)表示數(shù)據(jù)是由第一方傳給第二方,type為1時(shí)表示數(shù)據(jù)是由第二方傳給第一方。
2.2.5 存儲(chǔ)結(jié)構(gòu)
由于P2P社交網(wǎng)絡(luò)沒有中央服務(wù)提供者,用戶可以對(duì)自己的信息和數(shù)據(jù)完全的控制。那么從用戶的創(chuàng)建開始,到添加好友以及發(fā)布評(píng)論等操作,用戶都要在自己的本地存儲(chǔ)個(gè)人信息以及好友的信息。因此,存儲(chǔ)結(jié)構(gòu)的設(shè)計(jì)就顯得格外重要。基于廣播加密的P2P社交網(wǎng)絡(luò)采用分層的存儲(chǔ)結(jié)構(gòu)。由于每個(gè)用戶可能同時(shí)擁有多個(gè)賬號(hào),那就需要為每個(gè)賬號(hào)非配一個(gè)存儲(chǔ)空間。對(duì)于每個(gè)用戶賬號(hào)存儲(chǔ)空間來說需要。
存儲(chǔ)密鑰管理文件,個(gè)人信息管理文件,狀態(tài)及評(píng)論管理文件,好友管理文件及消息通知文件。而每個(gè)用戶賬號(hào)都應(yīng)該為每一個(gè)好友創(chuàng)建一個(gè)存儲(chǔ)空間,存儲(chǔ)好友的密鑰管理文件,個(gè)人信息管理文件,日志及評(píng)論管理文件。
2.3 廣播加密模塊
2.3.1 初始化
初始化的目的是為廣播加密體系生成公鑰和主密鑰。在P2P社交網(wǎng)絡(luò)中,每一個(gè)用戶都可以創(chuàng)建一個(gè)廣播加密體系,該用戶即作為廣播加密體系中的信任中心,又做為體系中的一員。當(dāng)用戶創(chuàng)建一個(gè)廣播加密體系時(shí),他會(huì)為體系中的所有用戶生成廣播加密公鑰。Pbc和NTL都是開源的庫,其中提供了選取橢圓曲線的點(diǎn),計(jì)算橢圓曲線點(diǎn)的冪次方,計(jì)算雙線性配對(duì)以及計(jì)算多項(xiàng)式乘積等功能。如圖5所示為初始化流程圖。
圖5 初始化流程圖
2.3.2 添加用戶到廣播加密體系
添加一個(gè)好友時(shí),作為信任中心的用戶需要根據(jù)好友的身份ID為其生成對(duì)應(yīng)的私鑰。實(shí)現(xiàn)過程中,要求只有雙方都是在線情況才能添加對(duì)方為好友。當(dāng)?shù)玫胶糜训腎D后,將進(jìn)行g(shù)enerate操作,生成該好友的私鑰。使用be_generate方法,首先要使用binarystring函數(shù)將用戶的ID轉(zhuǎn)化為二進(jìn)制;之后選取隨機(jī)數(shù),分別計(jì)算di1、di2。通過判斷ID的二進(jìn)制表示中有哪些位數(shù)是1來選取相應(yīng)的ui。之后根據(jù)計(jì)算式得到di1、di2。
2.3.3 通過廣播加密體系進(jìn)行加密
當(dāng)用戶想要選擇集合S發(fā)布狀態(tài)時(shí),就需要使用廣播加密體系中的be_encrypt方法,計(jì)算得到對(duì)稱密鑰K和頭部Hdr。首先選取隨機(jī)數(shù),計(jì)算得到對(duì)稱加密密鑰。之后根據(jù)得到的接收者集合S,根據(jù)NTL庫提供的計(jì)算多項(xiàng)式相乘的方法計(jì)算fi(x)。之后通過NTL庫中的獲取多項(xiàng)式系數(shù)的方法得到所有aij,并計(jì)算得到Ti。繼而得到Hdr=
圖6 加密流程圖
2.3.4 通過廣播加密體系進(jìn)行解密
當(dāng)用戶想要查看他人通過廣播加密處理發(fā)送的消息時(shí),需要通過廣播加密之解密方法得到對(duì)稱加密的密鑰。首先得到對(duì)方傳過來的Hdr,PK以及自己的ID和私鑰,再將自己的ID轉(zhuǎn)化成二進(jìn)制形式,接下來計(jì)算得到δi,最終得到:
3.1 安全性分析
基于廣播加密的P2P社交網(wǎng)絡(luò)系統(tǒng)主要會(huì)受到惡意用戶截獲私聊攻擊,惡意下載攻擊,惡意登陸攻擊,篡改攻擊,重放攻擊,UDP通信惡意丟包攻擊等幾類攻擊形式,并提出相應(yīng)的解決方案。
3.1.1 惡意用戶截獲私聊攻擊
系統(tǒng)提供用戶進(jìn)行即時(shí)聊天功能,系統(tǒng)中的用戶之間在上線之后通過橢圓曲線上的D-H密鑰交換進(jìn)行密鑰協(xié)商。當(dāng)任意兩個(gè)用戶即時(shí)聊天時(shí),雙方使用協(xié)商后的對(duì)稱密鑰通過AES加密算法加密聊天內(nèi)容。如果有第三方惡意截獲發(fā)送的聊天內(nèi)容也不能得到聊天內(nèi)容得明文,杜絕了惡意用戶讀取他人聊天的可能性。惡意用戶截獲私聊流程如圖7所示。
圖7 惡意用戶截獲私聊
3.1.2 惡意查看狀態(tài)攻擊
用戶選擇接收者集合S后發(fā)布狀態(tài),通過使用廣播加密將接收者S隱藏并將狀態(tài)內(nèi)容加密。加密后狀態(tài)內(nèi)容被廣播發(fā)送出去,所有人都可能接收到,但匿名公鑰廣播加密機(jī)制提供了只有接收者集合里的用戶才能將狀態(tài)成功解密出來,從而杜絕了非接收者集合的用戶惡意查看狀態(tài)的可能性。惡意查看狀態(tài)流程如圖8所示。
圖8 惡意查看狀態(tài)
3.1.3 惡意登陸攻擊
由于終端設(shè)備存在遺失和被偷竊的風(fēng)險(xiǎn),因此在移動(dòng)終端上添加安全密碼解鎖機(jī)制能夠有效保證終端上信息的安全性,在用戶首次使用應(yīng)用時(shí),需要設(shè)置手勢密碼。
在移動(dòng)終端上,我們實(shí)現(xiàn)了圖案解鎖的機(jī)制,每當(dāng)用戶啟動(dòng)或恢復(fù)應(yīng)用時(shí),都需要輸入密碼使得終端應(yīng)用能夠正常工作。當(dāng)用戶不小心遺失設(shè)備且被他人拾獲時(shí),在拾獲者不知道密碼的情況下,被無法使用該用戶賬號(hào),且當(dāng)拾獲者在連續(xù)5次輸入錯(cuò)誤密碼后,系統(tǒng)會(huì)被鎖住。這樣就能有效防止賬號(hào)被人惡意登陸。
3.1.4 篡改攻擊
有惡意用戶在用戶發(fā)送出消息后,將消息截獲并進(jìn)行惡意的篡改,如在消息末尾添加數(shù)據(jù)等。系統(tǒng)采用了數(shù)字簽名這種完整性校驗(yàn)機(jī)制用來防止惡意篡改攻擊。利用數(shù)字簽名防御惡意篡改的中間人攻擊的流程如圖9所示。
圖9 利用數(shù)字簽名防御惡意篡改的中間人攻擊
3.1.5 重放攻擊
防御重放攻擊的方法主要有時(shí)間戳與挑戰(zhàn)應(yīng)答方式,我們綜合使用時(shí)間戳、數(shù)字簽名、隨機(jī)數(shù)等方法來防止重放攻擊。利用時(shí)間戳技術(shù)防御重放攻擊流程如10所示。
圖10 利用時(shí)間戳技術(shù)防御重放攻擊
3.2 性能分析
3.2.1 目標(biāo)集合大小對(duì)加密時(shí)間的影響
選取目標(biāo)接收者集合大小分別為10、20、30、40、50、60、70、80、90,測試AES加密和匿名公鑰廣播加密的加密運(yùn)算的用時(shí),結(jié)果如圖11所示。
圖11 不同大小的目標(biāo)集合對(duì)加密時(shí)間的影響
由圖11可以看出,在AES加密中,加密所耗費(fèi)的時(shí)間,都是隨著接收者集合的增大而增加的,因?yàn)樗惴ㄐ枰闅v接收者集合中的每一個(gè)成員。匿名公鑰廣播加密方案在接收者集合大小較小時(shí),效率表現(xiàn)與AES加密相仿;但隨著接收者集合大小的不斷變大,耗費(fèi)時(shí)間要比aes上升緩慢。
3.2.2 目標(biāo)集合大小對(duì)傳輸成本的影響
選取目標(biāo)接收者集合大小分別為10、20、30、40、50、60、70、80、90,測試AES加密和匿名公鑰廣播加密的傳輸成本,結(jié)果如圖12所示。
圖12 不同大小的目標(biāo)集合對(duì)傳輸成本的影響
由圖12可以看出,AES加密中傳輸所消耗的成本,是隨著接收者集合的增大而增加的,因?yàn)樗惴ㄐ枰l(fā)送每一個(gè)不同接收者的密文。而對(duì)于匿名公鑰廣播加密方案來說,不管接收者集合有多大它只需要發(fā)送一份數(shù)據(jù)即可,只是隨著接收者集合大小的增加,數(shù)據(jù)頭部Hdr會(huì)相應(yīng)的變大,因此整個(gè)趨勢趨于平穩(wěn)。
結(jié)合匿名廣播加密技術(shù)和信息加密技術(shù),設(shè)計(jì)實(shí)現(xiàn)了基于廣播加密的P2P社交網(wǎng)絡(luò)隱私保護(hù)方案。方案中包括:設(shè)計(jì)了適用于P2P社交網(wǎng)絡(luò)的匿名廣播加密系統(tǒng);實(shí)現(xiàn)了P2P社交網(wǎng)絡(luò)系統(tǒng),實(shí)現(xiàn)了用戶的注冊、用戶查看個(gè)人主頁、用戶即時(shí)聊天、用戶選擇接受者集合發(fā)表日志,以及用戶對(duì)日志進(jìn)行評(píng)論等功能;將基于廣播加密的P2P社交網(wǎng)絡(luò)系統(tǒng)移植到Andriod平臺(tái)上,實(shí)現(xiàn)移動(dòng)平臺(tái)的安全可信的社交網(wǎng)絡(luò)。所提出的基于廣播加密的P2P社交網(wǎng)絡(luò)隱私保護(hù)方案能夠較好地解決社交網(wǎng)絡(luò)個(gè)人信息隱私泄露問題,具有良好的應(yīng)用前景。
[1] 張逢喆, 陳進(jìn), 陳海波, 等. 云計(jì)算中的數(shù)據(jù)隱私性保護(hù)與自我銷毀[J]. 計(jì)算機(jī)研究與發(fā)展, 2011, 48(7):1155-1167.
[2] 孫瑾. 標(biāo)準(zhǔn)模型下可證明安全的公鑰廣播密碼研究[D]. 西安:西安電子科技大學(xué), 2012.
[3] Naor M, Pinkas B. Efficient trace and revoke schemes[C]//Proceedings of the 4th International Conference on Financial Cryptography. Springer, 2000:1-20.
[4] Hu L, Liu Z L, Cheng X C. A chosen-ciphertext secure identity-based broadcast encryption scheme[C]//2009 International Conference on Machine Learning and Cybernetics, 2009:3556-3560.
[5] Waters B. Dual system encryption: realizing fully secure IBE and HIBE under simple assumptions[C]//Proceedings of the 29th Annual International Cryptology Conference on Advances in Cryptology. Springer, 2009:619-636.
[6] Lewko A, Waters B. New techniques for dual system encryption and fully secure HIBE with short ciphertexts[C]//Proceedings of the 7th International Conference on Theory of Cryptography. Springer, 2010:445-479.
[7] Boneh D, Waters B, Zhandry M. Low overhead broadcast encryption from multilinear maps[C]//Proceedings of the 34th Annual International Cryptology Conference on Advances in Cryptology. Springer, 2014:206-223.
[8] Boneh D, Zhandry M. Multiparty key exchange, efficient traitor tracing, and more from indistinguishability obfuscation[C]//Proceedings of the 34th Annual International Cryptology Conference on Advances in Cryptology. Springer, 2014:480-449.
[9] Gentry C, Waters B. Adaptive security in broadcast encryption systems (with short ciphertexts)[C]//Proceedings of the 29th Annual International Cryptology Conference on Advances in Cryptology. Springer, 2009:171-188.
[10] Fazio N, Perera I M. Outsider-anonymous broadcast encryption with sublinear ciphertexts[C]//Proceedings of the 15th International Conference on Practice and Theory in Public Key Cryptography. Springer, 2012:225-242.
[11] Libert B, Paterson K G, Quaglia E A. Anonymous broadcast encryption: adaptive security and efficient constructions in the standard model[C]//Proceedings of the 15th International Conference on Practice and Theory in Public Key Cryptography. Springer, 2012:206-224.
DESIGN AND IMPLEMENTATION OF P2P SOCIAL NETWORK SCHEME BASED ON BROADCAST ENCRYPTION
Zhou Dawei
(DepartmentofInformationSecurity,NavalUniversityofEngineering,Wuhan430033,Hubei,China)
Aiming at the problem of personal privacy information disclosure in social network, an anonymous public key encryption scheme is proposed for P2P social network. The scheme includes public key initialization, private key dispensation, encryption and decryption. And the P2P social network system based on broadcast encryption is designed and implemented in the Android platform. The system mainly includes data storage module, mobile terminal module, security encryption module and PKG management module. At the same time, it analyzes the security of P2P social network in the Android platform in the malicious user intercepting the private chat attack, malicious download attack, tamper attack and replay attack, and the results show that the system is safe and reliable.
P2P social network Personal privacy Broadcast encryption
2016-03-29。博士后基金項(xiàng)目(2012M512132);總裝預(yù)研基金項(xiàng)目(9140A06040313JB11084);信息保障技術(shù)重點(diǎn)實(shí)驗(yàn)室開放基金項(xiàng)目(KJ-14-104)。周大偉,講師,主研領(lǐng)域:入侵檢測與不確定性推理。
TP393
A
10.3969/j.issn.1000-386x.2017.05.052