文/王玉平 吳慧韞
?
高校數(shù)據(jù)隱私保護(hù)技術(shù)
文/王玉平吳慧韞
隨著高校信息化的發(fā)展,以及大數(shù)據(jù)、物聯(lián)網(wǎng)和云計(jì)算技術(shù)的發(fā)展,越來(lái)越多高校或主動(dòng)或被動(dòng)地進(jìn)入了大數(shù)據(jù)時(shí)代。從校園一卡通、網(wǎng)絡(luò)訪問(wèn)行為到教學(xué)、科研等各類業(yè)務(wù)系統(tǒng),都產(chǎn)生積聚了大量數(shù)據(jù),而這些數(shù)據(jù)的價(jià)值毋庸置疑,對(duì)于學(xué)校來(lái)說(shuō)是很寶貴的,而且里面有大量的用戶隱私信息,一但泄露,用戶的隱私將被侵犯。在實(shí)際使用中,一部分?jǐn)?shù)據(jù)用于校內(nèi)信息化部門或各系統(tǒng)自主分析,或者共享給校內(nèi)科研團(tuán)隊(duì)進(jìn)行科研分析,或者共享給外部技術(shù)公司來(lái)進(jìn)行分析。而這些不可避免地涉及到用戶的隱私問(wèn)題。尤其是常見(jiàn)的姓名、工號(hào)、郵箱地址、身份證號(hào)等與人員標(biāo)示相關(guān)的數(shù)據(jù)。
20世紀(jì)最著名的用戶隱私泄露事件發(fā)生在美國(guó)馬薩諸塞州。為了推動(dòng)公共醫(yī)學(xué)研究,該州保險(xiǎn)委員會(huì)發(fā)布政府雇員的醫(yī)療數(shù)據(jù),并且對(duì)數(shù)據(jù)進(jìn)行了初步的匿名化處理,刪除了所有的敏感信息。然而,來(lái)自麻省理工大學(xué)的Sweeney還是根據(jù)另外一份公開(kāi)的投票人名單,進(jìn)行數(shù)據(jù)匹配,成功破解了這份醫(yī)療數(shù)據(jù),確定了具體某一個(gè)人的醫(yī)療記錄。2006年,美國(guó)在線公司(AOL)公布了超過(guò)65萬(wàn)用戶三個(gè)月內(nèi)的搜索記錄,以推動(dòng)搜索技術(shù)的研究。AOL用一個(gè)隨機(jī)數(shù)代替用戶的賬號(hào)進(jìn)行匿名化處理,但《紐約時(shí)報(bào)》成功將部分?jǐn)?shù)據(jù)去匿名化,并公開(kāi)了其中一位用戶的真實(shí)身份。美國(guó)網(wǎng)飛公司(Netflix)曾舉辦了一個(gè)推薦系統(tǒng)算法競(jìng)賽,發(fā)布了一些“經(jīng)過(guò)匿名化處理的”用戶影評(píng)數(shù)據(jù)供參賽者測(cè)試,僅僅保留了每個(gè)用戶對(duì)電影的評(píng)分和評(píng)分的時(shí)間戳。然而,來(lái)自德州大學(xué)奧斯汀分校的兩位研究人員借助公開(kāi)的互聯(lián)網(wǎng)電影數(shù)據(jù)庫(kù)(IMDB)的用戶影評(píng)數(shù)據(jù),獲得了IMDB用戶。為此,2009年Netflix遭到了4位用戶的起訴,也不得不取消了該競(jìng)賽。
此外,政府主導(dǎo)的公共數(shù)據(jù)的開(kāi)放,也面臨著和醫(yī)療數(shù)據(jù)同樣的隱私保護(hù)問(wèn)題。以上各方面都促進(jìn)了數(shù)據(jù)隱私保護(hù)技術(shù)的發(fā)展。
圖1 數(shù)據(jù)匿名化處理
通過(guò)數(shù)據(jù)匿名化,機(jī)密數(shù)據(jù)的關(guān)鍵部分將被模糊化,從而保護(hù)了數(shù)據(jù)隱私。但是該部分?jǐn)?shù)據(jù)仍然可以被處理分析以獲得一些有用信息。也就是說(shuō),數(shù)據(jù)匿名化不能影響數(shù)據(jù)的可分析部分的結(jié)果,否則數(shù)據(jù)匿名化就失去了它的價(jià)值。
譬如上海海事大學(xué)員工的乘車數(shù)據(jù),校內(nèi)一位老師提出申請(qǐng),希望獲得班車數(shù)據(jù)進(jìn)行分析,對(duì)學(xué)校的管理提出改進(jìn)建議。若不進(jìn)行匿名化,則該老師獲取了非授權(quán)內(nèi)的信息,而且也是其他老師不愿意被共享的信息,其次,姓名等信息與該老師的預(yù)期分析結(jié)果無(wú)關(guān),所以可以對(duì)班車數(shù)據(jù)進(jìn)行數(shù)據(jù)匿名化處理。如圖1所示。
圖1展示了使用數(shù)據(jù)匿名化保護(hù)數(shù)據(jù)隱私的一個(gè)簡(jiǎn)單示例,除了簡(jiǎn)單替換學(xué)工號(hào),還可以通過(guò)添加一些虛構(gòu)數(shù)據(jù),從而避免被獲取內(nèi)部師生的真實(shí)數(shù)量信息。若對(duì)方形成了有效的分析方法,我們可以將該方法應(yīng)用于我們內(nèi)部的真實(shí)數(shù)據(jù),從而得到真實(shí)的結(jié)果為管理層決策提供數(shù)據(jù)分析支撐。然而實(shí)際案例不是如此簡(jiǎn)單,如果僅僅替換學(xué)工號(hào),如同AOL的案例一樣,安全研究人員還可以通過(guò)分析其他數(shù)據(jù),進(jìn)行關(guān)聯(lián)性分析,推斷出代號(hào)對(duì)應(yīng)的實(shí)際學(xué)工號(hào)。
目前數(shù)據(jù)隱私保護(hù)的方法可以分成以下幾類:
1.擾動(dòng)(Suppression)和泛化(Generalization)的方法。擾動(dòng)是對(duì)原數(shù)據(jù)中正確的數(shù)值做一些變換,比如加上一個(gè)隨機(jī)量,而且當(dāng)擾動(dòng)做完后,要保證分析擾動(dòng)數(shù)據(jù)的結(jié)果和原數(shù)據(jù)的結(jié)果一致。泛化是指從一個(gè)合適的范圍內(nèi)將原值替換為一個(gè)新值,例如將日期隨機(jī)替換為一年內(nèi)的某一天。許多未經(jīng)過(guò)處理的數(shù)據(jù)都包括用戶的姓名、身份證號(hào)等身份信息,這些屬性在公開(kāi)前可以直接刪除或者替換為某個(gè)值,也可以看作泛化的一種形式。
2.k-匿名化(k-anonymity)和l-多樣性(l-diversity)的方法。
6.講究讀書方法。讀書“最好使學(xué)生自學(xué)”。讀書不只是學(xué)生課堂上被動(dòng)聽(tīng)老師“灌”,須有預(yù)習(xí)與復(fù)習(xí)兩個(gè)自學(xué)環(huán)節(jié)?!肮φn應(yīng)該自己先去溫習(xí),或說(shuō)是預(yù)備,將未曾教過(guò)的書,自己先去研究一下,后來(lái)先生教起來(lái),容易明了?!盵2]卷5,61對(duì)于老師教過(guò)的知識(shí),要做到“課后再去復(fù)習(xí)一次,那就不容易忘卻了”。聯(lián)系到英語(yǔ)學(xué)習(xí),遇一字多解不能判定時(shí),經(jīng)過(guò)“一番自修”,就會(huì)有自己的思考和判斷。其他如礦物、植物、物理、化學(xué)等科,非機(jī)械地記牢不可。概言之,也就是蔡元培為發(fā)揮學(xué)生的主體作用,所提倡的自動(dòng)、自學(xué)、自助、自研“四自”讀書方法。
數(shù)據(jù)集上的個(gè)體識(shí)別字段有可能需要一個(gè)或多個(gè)字段構(gòu)成,這些屬性的集合稱為準(zhǔn)標(biāo)識(shí)符(Quasi-Identifier, QI)。通過(guò)準(zhǔn)標(biāo)識(shí)符可以充分識(shí)別唯一一個(gè)個(gè)體,例如姓名和學(xué)工號(hào)。k匿名化通過(guò)擾動(dòng)和泛化的方法使得每一個(gè)準(zhǔn)標(biāo)識(shí)符都至少對(duì)應(yīng)k個(gè)實(shí)例,這樣就不能惟一識(shí)別,從而保護(hù)了用戶的隱私。k-匿名由Samarati和Sweeney(也就是前文提及的馬塞諸塞州用戶泄露案例的攻擊者)提出,可以保證任意一條記錄與另外的k-1條記錄不可區(qū)分。
3.分布式(Distribution)隱私保護(hù)。大型的數(shù)據(jù)集可以在被分割后發(fā)布。劃分可以“縱向”地進(jìn)行,例如將數(shù)據(jù)分成不同的子集分別在不同的地方公開(kāi);也可以“橫向”地進(jìn)行,例如按照屬性劃分成不同的數(shù)據(jù)集再公開(kāi),或者兩者結(jié)合起來(lái)。例如班車數(shù)據(jù),可以根據(jù)不同的需要只提供代號(hào)和刷卡時(shí)間,不提供地點(diǎn);或者只提供某年某月的班車數(shù)據(jù)。
4.降低數(shù)據(jù)挖掘結(jié)果的效果。在很多情況下,即便數(shù)據(jù)無(wú)法被獲取,數(shù)據(jù)挖掘的結(jié)果(比如關(guān)聯(lián)規(guī)則或者分類模型)仍然有可能泄露隱私。為此可以隱藏某些關(guān)聯(lián)規(guī)則或輕微改變分類模型來(lái)保護(hù)隱私。
5.差分隱私(Differential Privacy)保護(hù)的方法。它是Microsoft研究人員在2006年提出的,基本思路是通過(guò)添加噪聲的方法,確保刪除或者添加一個(gè)數(shù)據(jù)集中的記錄并不會(huì)影響分析的結(jié)果;差分隱私保護(hù)定義了一個(gè)極為嚴(yán)格的攻擊模型,并對(duì)隱私泄露風(fēng)險(xiǎn)給出了嚴(yán)謹(jǐn)、定量化的表示和證明。差分隱私保護(hù)在大大降低隱私泄露風(fēng)險(xiǎn)的同時(shí),極大地保證了數(shù)據(jù)的可用性。差分隱私保護(hù)方法的最大優(yōu)點(diǎn)是,雖然基于數(shù)據(jù)失真技術(shù),但所加入的噪聲量與數(shù)據(jù)集大小無(wú)關(guān),因此對(duì)于大型數(shù)據(jù)集,僅通過(guò)添加極少量的噪聲就能達(dá)到高級(jí)別的隱私保護(hù)。因此,即使攻擊者得到了兩個(gè)僅相差一條記錄的數(shù)據(jù)集,通過(guò)分析兩者產(chǎn)生的結(jié)果都是相同的,也無(wú)法推斷出隱藏的那一條記錄的信息。
k-匿名化和l-多樣化雖然因其模型不夠穩(wěn)固而受詬病,但是其操作方便簡(jiǎn)易,在數(shù)據(jù)共享范圍受限的情況下,依然可以采用該方法進(jìn)行數(shù)據(jù)隱私的保護(hù)。下面就兩個(gè)隱私保護(hù)方式進(jìn)行簡(jiǎn)單介紹。
如果將一組數(shù)據(jù)k-匿名化,并且每項(xiàng)數(shù)據(jù)記錄中都有一組預(yù)先設(shè)定的屬性,那么至少有k-1個(gè)其他記錄與這些屬性匹配。例如,假定班車數(shù)據(jù)集包含一個(gè)屬性——刷卡時(shí)間,如果對(duì)該數(shù)據(jù)集執(zhí)行k-匿名化操作,則對(duì)于每個(gè)刷卡時(shí)間,都有k-1條其他記錄與其擁有相同的刷卡時(shí)間。一般來(lái)說(shuō),k的值越大,隱私保護(hù)越有效。見(jiàn)表1。
表1 班車刷卡數(shù)據(jù)集
表2 職工體檢數(shù)據(jù)集
相對(duì)于班車記錄屬性較少的情況,數(shù)據(jù)匿名技術(shù)最早應(yīng)用于醫(yī)療信息的共享。譬如學(xué)校體檢信息,里面可能會(huì)出現(xiàn)比較敏感的病癥,也屬于個(gè)人極不愿意公開(kāi)的信息,這時(shí)候,字段會(huì)較多,出現(xiàn)見(jiàn)表2的記錄。
在這份表格中,學(xué)工號(hào)和姓名字段進(jìn)行隱藏處理,而年齡進(jìn)行了泛化處理,代表年齡段,對(duì)于準(zhǔn)標(biāo)識(shí)符,提供了兩個(gè)冗余樣本(k=2),實(shí)現(xiàn)了匿名化,但不影響判斷哪個(gè)年齡段出現(xiàn)病癥的分布判斷。盡管k-匿名化可以保證無(wú)法從k個(gè)數(shù)據(jù)集中識(shí)別個(gè)體,但是依然會(huì)受到很多攻擊。
基于同質(zhì)的攻擊。如果攻擊者知道某個(gè)教師年齡段,譬如為40多歲,那么可以根據(jù)表中記錄推斷出他有可能有心臟病,見(jiàn)表3。
背景知識(shí)攻擊。如果攻擊者知道某個(gè)教師在早晨有課,且在出發(fā)站上車,那么很容易推斷出他有可能是在7:01或7:02刷卡上車,進(jìn)而推斷出其他信息。
針對(duì)以上兩種攻擊,有必要引入另外一種隱私保護(hù)技術(shù)l-多樣化。l-多樣化主要是指在k-匿名化的基礎(chǔ)上,對(duì)每個(gè)準(zhǔn)標(biāo)識(shí)符組合添加l個(gè)不同的關(guān)鍵值。對(duì)表4添加l-多樣化后,可以得到表3,其中l(wèi)=1。通過(guò)多樣化后,你無(wú)法猜測(cè)40多歲的人是否患有疾病或者患有什么疾病。
但是這樣一來(lái),虛構(gòu)的關(guān)鍵字段信息為分析工作帶來(lái)了麻煩,而且從概率上推斷,依然可以得出40歲年齡段的某位教師得的疾病。如果需要解決類似問(wèn)題,則需要用到差分隱私保護(hù)技術(shù)。
表3 多樣化處理后的數(shù)據(jù)集
表4 數(shù)據(jù)隱私處理方式
由于高校隱私保護(hù)需求和數(shù)據(jù)的公開(kāi)范圍的受限,對(duì)于數(shù)據(jù)隱私保護(hù)的要求沒(méi)有政府公開(kāi)數(shù)據(jù)、醫(yī)療數(shù)據(jù)等面向全社會(huì)公開(kāi)的數(shù)據(jù)的要求那么高。因此在實(shí)際使用中,可以結(jié)合k-匿名化和l-多樣化進(jìn)行匿名化處理,對(duì)某些屬性進(jìn)行處理,建議方式如表4所示。
在實(shí)際使用中,我們根據(jù)Intel《利用數(shù)據(jù)匿名化技術(shù)增強(qiáng)云的信息安全》一文,對(duì)基本的常用隱私保護(hù)操作方式進(jìn)行了總結(jié),并在實(shí)際使用中取得了較好的隱私保護(hù)效果。
實(shí)踐操作中常用的模糊方法有:
隱藏
把關(guān)鍵字段的值替換為一個(gè)常數(shù)值。譬如對(duì)月薪統(tǒng)一替換為0,或者身份證號(hào)統(tǒng)一替換為18個(gè)X。該方法適用于隱藏?zé)o需處理或者不必要的信息。
散列
將一個(gè)或多個(gè)字段的值(尤其是準(zhǔn)標(biāo)識(shí)符)通過(guò)散列函數(shù)映射到一個(gè)新的值。譬如對(duì)姓名、學(xué)工號(hào)合并進(jìn)行運(yùn)算,得到一個(gè)新的散列值,可以代表兩個(gè)值的唯一性。
置換
置換也是映射的一種方法,但需通過(guò)額外的映射表來(lái)進(jìn)行轉(zhuǎn)換,也可以進(jìn)行逆運(yùn)算推斷出源信息。
位移
對(duì)數(shù)值進(jìn)行函數(shù)運(yùn)算得出新的數(shù)值。該方法不需要額外的映射表,只需要特定的一個(gè)函數(shù)計(jì)算方法即可。
枚舉
枚舉也是映射的一種處理方式。但是它主要用于可排序的字段,新的數(shù)值必須保留原先的排序順序。
截?cái)?/p>
截?cái)嗍亲址S玫囊环N處理方式,譬如對(duì)于電話號(hào)碼,可以只取前幾位和后幾位,或者只取前幾位,用以區(qū)分運(yùn)營(yíng)商和地理位置。
通過(guò)以上簡(jiǎn)單的處理,再加以縱向減少數(shù)據(jù)量,可以顯著地降低隱私暴露風(fēng)險(xiǎn)。在對(duì)外提供數(shù)據(jù)時(shí),如校內(nèi)搞用餐大數(shù)據(jù)分析活動(dòng)、WIFI訪問(wèn)分析以及班車數(shù)據(jù)分析等活動(dòng)時(shí),都可以避免隱私泄露。
在大數(shù)據(jù)的場(chǎng)景下,單純靠一種隱私保護(hù)技術(shù)已經(jīng)很難避免安全攻擊,許多隱私保護(hù)方法融合了多種技術(shù)。k-匿名和l-多樣化是基于限制發(fā)布的泛化技術(shù)的比較有代表性的兩種隱私保護(hù)方法。但是k-匿名易受到一致性攻擊(homogeneity attack)和背景知識(shí)攻擊(background knwledge attack)。而Machanavajjhala等人提出了l-多樣化原則,雖然避免了一個(gè)等價(jià)類中敏感屬性取值單一的情況,并確保隱私泄露風(fēng)險(xiǎn)不超過(guò)1/l,但依然容易受到相似性攻擊(similarity attack)。
數(shù)據(jù)匿名化技術(shù)不是萬(wàn)能的,在Schneier Bruce的《為什么“匿名”數(shù)據(jù)有時(shí)沒(méi)有匿名》一文中提到,在大數(shù)據(jù)前提下,統(tǒng)計(jì)學(xué)理論的支撐下,通過(guò)多屬性關(guān)聯(lián)分析,依然可以分析出被匿名化的信息。但這不是說(shuō)匿名化技術(shù)不需要研究或者放棄使用匿名化,而是要有針對(duì)性地進(jìn)行合適合理有效的匿名化技術(shù)??梢杂嗅槍?duì)性的對(duì)數(shù)據(jù)進(jìn)行橫向或者縱向分割,減少數(shù)據(jù)量或者屬性的共享,減少攻擊者進(jìn)行反匿名化需要的信息。
(作者單位為上海海事大學(xué))