蔣清紅,蘭鑫毅,林 東,2,莫宏培,2,寧湘媚,黃婷婷,陸章林,陳玉敏,黃芷錕,姚靜怡,陳長順,何東源
(1.廣西師范大學(xué),廣西 桂林 541004;2.桂林原動(dòng)力科技有限公司,廣西 桂林 541004)
物聯(lián)網(wǎng)的快速發(fā)展為人們的生活帶來了翻天覆地的變化,尤其是對(duì)用戶數(shù)據(jù)的采集及后續(xù)使用帶來了極大的便利,但同時(shí)也對(duì)用戶數(shù)據(jù)隱私帶來了極大困擾。目前,用戶數(shù)據(jù)在隱私方面存在的問題主要有:
數(shù)據(jù)的采集和掌控。許多用戶數(shù)據(jù)由企業(yè)開發(fā)的物聯(lián)網(wǎng)產(chǎn)品進(jìn)行采集,相應(yīng)企業(yè)可能會(huì)在用戶不知情的情況下對(duì)數(shù)據(jù)進(jìn)行分析,甚至用來與其他企業(yè)進(jìn)行資源互換、融資、出售。
數(shù)據(jù)的存儲(chǔ)。由于用戶數(shù)據(jù),包括敏感身份信息部分,都是存儲(chǔ)在企業(yè)自己的服務(wù)器中,數(shù)據(jù)安全完全依靠該企業(yè)在技術(shù)上對(duì)服務(wù)器的安全防范,如果遭到黑客攻破,容易造成用戶數(shù)據(jù)被一鍋端的情況。
數(shù)據(jù)的使用。用戶在電商平臺(tái)的訂單數(shù)據(jù)和商品搜索瀏覽記錄、網(wǎng)絡(luò)社交關(guān)系、在搜索引擎和音視頻內(nèi)容平臺(tái)上的使用記錄等,用戶不能對(duì)其加以二次使用,包括數(shù)據(jù)提取導(dǎo)出、進(jìn)行多源數(shù)據(jù)融合分析等。
針對(duì)個(gè)人數(shù)據(jù)隱私方面的問題,劉煒等人分析并總結(jié)了區(qū)塊鏈在隱私保護(hù)領(lǐng)域的研究發(fā)展現(xiàn)狀,指出區(qū)塊鏈作為去中心化、匿名、不可篡改的分布式賬本技術(shù)的優(yōu)點(diǎn),為解決醫(yī)療場(chǎng)景中的隱私保護(hù)問題提供了新的思路[1-3]。然而,目前區(qū)塊鏈存在的問題也顯而易見,其中共識(shí)機(jī)制是區(qū)塊鏈的核心技術(shù),傳統(tǒng)的共識(shí)機(jī)制需要進(jìn)行大量的計(jì)算,會(huì)造成時(shí)間、電力、物力等資源浪費(fèi)的現(xiàn)象,不完全適用于資源有限的物聯(lián)網(wǎng)設(shè)備[4-5]。此外,由于區(qū)塊鏈隨著轉(zhuǎn)賬交易的增加而容量增大,由此引來存儲(chǔ)壓力[6]。
(1)脫敏需求:用戶期望對(duì)某些敏感信息進(jìn)行脫敏處理,實(shí)現(xiàn)敏感隱私數(shù)據(jù)的可靠保護(hù)。(2)數(shù)據(jù)存儲(chǔ)安全:主要指數(shù)據(jù)不會(huì)出現(xiàn)竊取、丟失、冗余度過大等問題。提供存儲(chǔ)服務(wù)的服務(wù)提供商在內(nèi)部技術(shù)人員管理、設(shè)備故障、外部入侵防御方面應(yīng)具有堅(jiān)實(shí)的防護(hù)措施。(3)多源融合需求:大數(shù)據(jù)具有5V的特點(diǎn):Volume(大量)、Velocity(高速)、Variety(多樣)、Value(低價(jià)值密度)、Veracity(真實(shí)性),數(shù)據(jù)多源融合有助于消除數(shù)據(jù)孤島,是用戶對(duì)其自身數(shù)據(jù)進(jìn)行大數(shù)據(jù)分析的前提之一。(4)交付托管分析:用戶期望能夠方便地將數(shù)據(jù)進(jìn)行移交托管并分析。常見的數(shù)據(jù)分析場(chǎng)景包括偵查、風(fēng)險(xiǎn)控制、綜合應(yīng)用等,通常應(yīng)用知識(shí)圖譜技術(shù)實(shí)現(xiàn)知識(shí)抽取和業(yè)務(wù)建模,基于業(yè)務(wù)場(chǎng)景對(duì)數(shù)據(jù)進(jìn)行深度關(guān)聯(lián)分析。此通常會(huì)有相應(yīng)領(lǐng)域的第三方數(shù)據(jù)分析服務(wù)提供商專門提供相應(yīng)的專業(yè)服務(wù),如營銷領(lǐng)域的數(shù)據(jù)分析服務(wù)提供商有友盟、百度統(tǒng)計(jì)、Google Analytics等。
為了滿足上述需求,提出如下脫敏-溯源的數(shù)據(jù)處理方案,整體方案圖如圖1所示。
圖1 脫敏-溯源的整體方案圖
整體方案主要由采集器、脫敏器、溯源器、溯源服務(wù)、分布式云存儲(chǔ)、數(shù)據(jù)索引服務(wù)等構(gòu)成。通過數(shù)據(jù)采集器c1對(duì)用戶u1的數(shù)據(jù)進(jìn)行采集,得到數(shù)據(jù)u1_c1,然后交給脫敏器進(jìn)行脫敏處理得到數(shù)據(jù)t_u1_c1,再將脫敏后的數(shù)據(jù)交給溯源服務(wù)進(jìn)行處理得到數(shù)據(jù)d_z11,溯源服務(wù)為每個(gè)用戶的每個(gè)采集器生成并保存一個(gè)追蹤屑z11,接著將隱去來源的數(shù)據(jù)d_z11分散地存儲(chǔ)在分布式云存儲(chǔ)服務(wù)中,不同使用者可通過溯源服務(wù)向用戶申請(qǐng)全部或部分?jǐn)?shù)據(jù)的使用授權(quán),授權(quán)通過后,由溯源服務(wù)向數(shù)據(jù)索引服務(wù)發(fā)起數(shù)據(jù)關(guān)聯(lián)操作,并將關(guān)聯(lián)后的數(shù)據(jù)交給相應(yīng)的使用者,使用者可對(duì)數(shù)據(jù)進(jìn)行挖掘、分析后將結(jié)果通知到溯源服務(wù),溯源服務(wù)在一定合理范圍內(nèi)發(fā)起通知,由用戶主動(dòng)決定是否作出回應(yīng)。
數(shù)據(jù)采集器,是能夠?qū)τ脩暨M(jìn)行屬性信息或行為信息采集的物聯(lián)網(wǎng)設(shè)備,它可能是公共IOT設(shè)備(如小區(qū)公共監(jiān)控?cái)z像頭、高速公路ETC設(shè)備),也可能是用戶的私有人體IOT設(shè)備(如智能手環(huán)、智能電子體溫貼等),還有可能是為用戶提供服務(wù)的各個(gè)手機(jī)App、PC軟件及Web網(wǎng)站等。
用戶數(shù)據(jù)的脫敏處理,分為可逆和不可逆兩種需求場(chǎng)景。其中可逆的需求場(chǎng)景,一般采取數(shù)據(jù)加密或者字典替換。一般而言,數(shù)據(jù)脫敏處理通常是不可逆的,對(duì)于此類需求場(chǎng)景,常見的方法包括:
(1)部分遮掩法,即使用特殊字符(如*等)對(duì)敏感數(shù)據(jù)的文本進(jìn)行部分替換。例如各類社交軟件賬號(hào)將其中部分字符替換為“*”,最后變成諸如“z***i”的形式。
(2)數(shù)據(jù)模糊法,即對(duì)數(shù)據(jù)的精度進(jìn)行截?cái)?。例如大健康?chǎng)景下的年齡、身高、體重等數(shù)據(jù)可以對(duì)其進(jìn)行精度截?cái)嗖⒎侄螝w類處理,舉例如下:年齡21歲歸類到(20-25)歲,身高172cm歸類到(170-175)cm,體重62kg歸類到60kg級(jí)。
(3)非結(jié)構(gòu)化數(shù)據(jù)脫敏,一般需要根據(jù)數(shù)據(jù)的具體情況進(jìn)行逐一分析和脫敏處理。例如音頻文件可對(duì)人聲進(jìn)行伸縮與變調(diào)處理,視頻和圖像可對(duì)其中人臉及人體識(shí)別后進(jìn)行部分或整體馬賽克處理。
本文中,首先將用戶數(shù)據(jù)分為嚴(yán)格保密信息和可脫敏信息。其中嚴(yán)格保密信息需要進(jìn)行加密處理,并采用秘密共享技術(shù)對(duì)密鑰進(jìn)行保護(hù)。
數(shù)據(jù)的追蹤,由每一組流通的數(shù)據(jù)生成與數(shù)據(jù)擁有者相對(duì)應(yīng)的追蹤屑負(fù)責(zé)。追蹤屑z1由用戶名u1、采集器標(biāo)識(shí)c1、用戶秘鑰s1、隨機(jī)混淆椒鹽fusesalt共同生成。具體可以使用秘鑰s1對(duì)u1+c1+fusesalt的組合進(jìn)行加密之后再交給某一哈希散列函數(shù)生成一串碼值,該碼值作為數(shù)據(jù)的追蹤屑z1,以此隱藏真實(shí)用戶,同時(shí)又保留了用戶主動(dòng)追蹤認(rèn)領(lǐng)數(shù)據(jù)的能力。
分布式云存儲(chǔ)主要考慮的是將用戶的數(shù)據(jù)在數(shù)據(jù)結(jié)構(gòu)上拆分存儲(chǔ),不同來源的數(shù)據(jù)分散存儲(chǔ)在不同的虛擬服務(wù)器上,使得數(shù)據(jù)存儲(chǔ)服務(wù)的管理者不能夠單方面獲取某一用戶的數(shù)據(jù)。數(shù)據(jù)索引服務(wù)則在用戶授權(quán)后,通過數(shù)據(jù)攜帶的追蹤屑,協(xié)同溯源器一起,將分散的數(shù)據(jù)重新關(guān)聯(lián)起來。
為實(shí)現(xiàn)由用戶主動(dòng)溯源,溯源服務(wù)在通知用戶時(shí)不應(yīng)該能夠直接觸達(dá)用戶,而是構(gòu)建一個(gè)提供給用戶查詢的結(jié)果集。該服務(wù)在查詢效率上必須足夠高效,本文使用布隆過濾器來實(shí)現(xiàn)用戶主動(dòng)溯源的服務(wù)。布隆過濾器(Bloom Filter)是一種高效的概率型數(shù)據(jù)結(jié)構(gòu),可以快速檢索數(shù)據(jù)是否屬于某個(gè)集合,而不用直接與數(shù)據(jù)進(jìn)行匹配。布隆過濾器不需要存儲(chǔ)元素本身,非常適用于一些具有隱私保護(hù)需求、對(duì)保密要求非常嚴(yán)格的場(chǎng)合。
首先構(gòu)建一個(gè)具有M個(gè)比特位的數(shù)組BF[M],其中每一位的初始值都為0。過濾器的構(gòu)建過程,是將所有需要檢索的數(shù)據(jù),也即用戶的追蹤屑zi,在比特?cái)?shù)組中進(jìn)行哈希映射的過程。在進(jìn)行哈希映射時(shí),對(duì)于追蹤屑集合{z1,z2,…,zn}中的任意元素zi,使用k個(gè)相互獨(dú)立的哈希函數(shù){h1,h2,…,hk},將zi映射到M位布隆過濾器中,其中被映射到的位置標(biāo)記為1,其余保持為0,映射示意圖如圖2所示。
圖2 追蹤屑在布隆過濾器中的映射示意圖
當(dāng)進(jìn)行檢索時(shí),首先將檢索值z(mì)i進(jìn)行k次哈希映射,如果在布隆過濾器對(duì)應(yīng)的映射位置都是1,則說明檢索值z(mì)i有可能在集合中,否則有任一映射位置為0,則該檢索值不在集合中。當(dāng)用戶實(shí)際上不在集合中,但布隆過濾器的判別結(jié)果是存在,則為假陽性誤判。
假陽性誤判數(shù)的期望值計(jì)算方式為:
其中M為比特?cái)?shù)組的長度,k為hash函數(shù)的個(gè)數(shù),Z為追蹤屑數(shù)量,u為第u個(gè)插入的追蹤屑。
假陽性誤判率為:
為求得p(k)的極值,考慮到M和Z為給定值,則可在上式(3)上設(shè)化簡(jiǎn)為,進(jìn)一步地,兩邊取對(duì)數(shù)并對(duì)k求導(dǎo)可得:
因此,為維持一定的誤判率p,則可根據(jù)追蹤屑數(shù)量Z來控制比特?cái)?shù)組的長度M即可。
為方便分析探討,選取比特?cái)?shù)組長度M為33,也即以1GB內(nèi)存大小的布隆過濾器為例,現(xiàn)將假陽性誤判率fps隨hash函數(shù)個(gè)數(shù)k和用戶數(shù)量Z的變化以圖示形式呈現(xiàn)為如圖3所示。在應(yīng)用中,由發(fā)起通知的第三方應(yīng)用在溯源服務(wù)器上構(gòu)建與該通知對(duì)應(yīng)的布隆過濾器,根據(jù)追蹤屑的數(shù)量Z來控制fps維持在一定數(shù)值,使得用戶在進(jìn)行主動(dòng)溯源時(shí)可高效檢索并將自身隱藏在一定的誤判數(shù)內(nèi)。
圖3 fps誤判數(shù)隨hash函數(shù)個(gè)數(shù)和追蹤屑數(shù)量變化情況
由于布隆過濾器的存儲(chǔ)空間和插入/刪除操作時(shí)間都是常數(shù)O(k)級(jí)別的復(fù)雜度,因此具有較好的空間效率和時(shí)間效率。
本文探討通過以上數(shù)據(jù)的采集、存儲(chǔ)、使用、溯源相分離,使用戶在數(shù)據(jù)溯源上掌握主動(dòng)權(quán),同時(shí)又將數(shù)據(jù)以脫敏后的形式貢獻(xiàn)出來,以便對(duì)不同用戶的多源數(shù)據(jù)進(jìn)行大數(shù)據(jù)的挖掘和分析處理,為數(shù)據(jù)的多源融合以及隱私保護(hù)提供一種參考方案。