龍 琦
(云南國防工業(yè)職業(yè)技術(shù)學(xué)院傳媒與信息工程學(xué)院,云南昆明650223)
基于k-匿名技術(shù)的學(xué)生成績(jī)數(shù)據(jù)發(fā)布研究
龍 琦
(云南國防工業(yè)職業(yè)技術(shù)學(xué)院傳媒與信息工程學(xué)院,云南昆明650223)
采用k-匿名模式對(duì)學(xué)生成績(jī)的發(fā)布進(jìn)行控制,在學(xué)籍管理系統(tǒng)中實(shí)現(xiàn)了對(duì)學(xué)生成績(jī)的隱私保護(hù).
數(shù)據(jù)挖掘;隱私保護(hù);k-匿名;學(xué)生成績(jī)數(shù)據(jù)發(fā)布
現(xiàn)在數(shù)據(jù)挖掘技術(shù)已成功地應(yīng)用于教學(xué)領(lǐng)域,利用這項(xiàng)技術(shù)可以對(duì)學(xué)生來源,在校學(xué)習(xí)狀況,進(jìn)行分析、并預(yù)測(cè)學(xué)生畢業(yè)后的發(fā)展方向,更重要的是能對(duì)學(xué)校的辦學(xué)模式、招生計(jì)劃、專業(yè)設(shè)置、教學(xué)方法改進(jìn)等方面起到積極的指導(dǎo)作用[1].由于在對(duì)學(xué)生的成績(jī)分析時(shí)涉及到學(xué)生的個(gè)人隱私,而學(xué)校對(duì)學(xué)生進(jìn)行管理的專業(yè)人員對(duì)數(shù)據(jù)進(jìn)行分析和處理的能力有限,有時(shí)數(shù)據(jù)只能送給數(shù)據(jù)分析方面的專業(yè)人員分析處理以便發(fā)現(xiàn)其中寶貴的教育、教學(xué)規(guī)律[2-3].因而學(xué)校、科研機(jī)構(gòu)在將數(shù)據(jù)交給數(shù)據(jù)分析人員時(shí)必須考慮對(duì)數(shù)據(jù)進(jìn)行必要的處理,保護(hù)學(xué)生的個(gè)人隱私.
基于k-匿名的隱私保護(hù)技術(shù)作為一種新興的信息安全技術(shù),與傳統(tǒng)的訪問控制和加密技術(shù)有著本質(zhì)的區(qū)別.訪問控制技術(shù)和加密技術(shù)的核心思想是保護(hù)數(shù)據(jù)的隱秘性,保證它不被非授權(quán)的第3方訪問.一般通過切斷從攻擊者到隱秘?cái)?shù)據(jù)的道路(訪問控制)或者使得攻擊者獲得的數(shù)據(jù)變得不可使用(加密技術(shù))來實(shí)現(xiàn).攻擊者則以獲得可用的隱秘?cái)?shù)據(jù)為最終目標(biāo).而隱私保護(hù)技術(shù)并不保障數(shù)據(jù)的隱秘性,隱私數(shù)據(jù)完全是對(duì)外公開的,甚至任何人都可以訪問,其核心是要保護(hù)隱私數(shù)據(jù)與個(gè)人之間的對(duì)應(yīng)關(guān)系,換句話說就是隱私數(shù)據(jù)可以被任何人得到,但是卻不能把該數(shù)據(jù)對(duì)應(yīng)到某個(gè)特定的人身上.從攻擊者的角度看,攻擊的目標(biāo)是隱私數(shù)據(jù)與個(gè)人之間的對(duì)應(yīng)關(guān)系[4].
k-匿名模式將數(shù)據(jù)表中的屬性分為4類:
1)標(biāo)識(shí)符.它們直接標(biāo)識(shí)個(gè)人身份,如學(xué)號(hào)、姓名、身份證號(hào)碼等;
2)準(zhǔn)標(biāo)識(shí)符.間接(可以與其他數(shù)據(jù)表進(jìn)行鏈接)標(biāo)識(shí)個(gè)人身份,如郵政編碼、家庭住址、出生日期等;
3)敏感屬性.包含敏感信息的屬性,如病史,信用記錄等;
4)其他屬性.非準(zhǔn)標(biāo)識(shí)符和敏感屬性的標(biāo)識(shí)符,如專業(yè)名稱.
為了保護(hù)個(gè)人隱私,在數(shù)據(jù)發(fā)布的時(shí)候,必須從數(shù)據(jù)表中刪除標(biāo)識(shí)符,但是采用這種的處理方式并不能保護(hù)數(shù)據(jù)中的個(gè)人隱私,見表1所示.
表1 原始的學(xué)生成績(jī)數(shù)據(jù)集
在表1中盡管標(biāo)識(shí)符,例如學(xué)號(hào)、姓名已經(jīng)從數(shù)據(jù)集中刪除,但是一些屬性,如性別、生日和籍貫依然存在于表1中,這些屬性集可以間接的用于分辨?zhèn)€人的信息.這種屬性集被稱為準(zhǔn)標(biāo)識(shí)符.Samarati和Sweeney提出一種隱私保護(hù)模式:k-匿名模式[5-7].如果數(shù)據(jù)集中的每一個(gè)記錄都與至少k-1個(gè)關(guān)于這個(gè)數(shù)據(jù)集中的準(zhǔn)標(biāo)識(shí)符屬性記錄相同,那么這個(gè)數(shù)據(jù)集滿足k-匿名,這個(gè)數(shù)據(jù)集就被稱為k-匿名數(shù)據(jù)集.這樣在k-匿名數(shù)據(jù)集中,個(gè)人就無法從最少k-1個(gè)人群中被分辨出來.
例如,表1中性別、出生日期、籍貫這3個(gè)屬性組中,第1個(gè)記錄是獨(dú)一無二的,因此學(xué)生的身份可以被間接的發(fā)現(xiàn).通過這種獨(dú)特的組合,學(xué)生的個(gè)人成績(jī)信息就可能被泄漏.為了避免侵犯隱私,表1可以修改為表2.
表2 表1的k-匿名表
在表2中,出生日期被以年的形式分組,籍貫被集束到廣大地區(qū),“*”代表一個(gè)任意數(shù)字.一項(xiàng)準(zhǔn)標(biāo)識(shí)符中的記錄至少與其他3個(gè)記錄相同,因此,沒有任何個(gè)人可以被識(shí)別.
由于k-匿名模式的簡(jiǎn)潔性和適用于多種算法的特性,k-匿名模式在數(shù)據(jù)發(fā)布中變得非常流行.
現(xiàn)在已有很多學(xué)校意識(shí)到學(xué)生成績(jī)屬于學(xué)生個(gè)人隱私,學(xué)生個(gè)人的隱私應(yīng)得到保護(hù)和尊重,在對(duì)學(xué)生成績(jī)進(jìn)行發(fā)布時(shí),主要采用了以下的一些保護(hù)措施:
1)采用用戶認(rèn)證方法.分配給學(xué)生與教師不同的用戶權(quán)限,學(xué)生只能查詢個(gè)人成績(jī)信息,教師可以輸入或查詢所授班級(jí)學(xué)生的成績(jī)信息.在查詢學(xué)生成績(jī)時(shí),需輸入個(gè)人學(xué)號(hào)、考號(hào)、身份證號(hào)、密碼等個(gè)人身份認(rèn)證信息,這種以對(duì)訪問者授權(quán)為前提的用戶認(rèn)證方法,有效地保證了只有合法的用戶才能存取數(shù)據(jù)庫系統(tǒng)中的資源.學(xué)校利用這種方法在對(duì)學(xué)生成績(jī)隱私進(jìn)行保護(hù)時(shí),存在下列問題,學(xué)生只能查詢自己的成績(jī),不清楚自己的學(xué)習(xí)水平,將會(huì)失去學(xué)習(xí)的動(dòng)力,學(xué)號(hào)對(duì)同班同學(xué)是公開的,同一考場(chǎng)的同學(xué)根據(jù)座次,很容易推算出同學(xué)之間的考號(hào),好友之間可能造成個(gè)人的身份證號(hào)以及個(gè)人密碼泄漏,不能控制教師在獲得學(xué)生成績(jī)信息后,在不經(jīng)過學(xué)生同意的情況下對(duì)學(xué)生成績(jī)數(shù)據(jù)進(jìn)行分析、發(fā)布;
2)采用隱藏敏感屬性的方法.在發(fā)布學(xué)生成績(jī)時(shí)將學(xué)號(hào)、姓名屬性隱藏,如表1所示,學(xué)生從表1中能知道自己學(xué)習(xí)所處的水平,而不知道其他同學(xué)的學(xué)習(xí)水平.學(xué)校利用這種方法在對(duì)學(xué)生成績(jī)隱私進(jìn)行保護(hù)時(shí),存在下列問題,在表1中,第1個(gè)記錄是獨(dú)一無二的,因此學(xué)生的身份可能被間接的發(fā)現(xiàn).結(jié)果,通過這種獨(dú)特的組合,學(xué)生的個(gè)人成績(jī)信息就可以被泄漏.
為解決上述方法中存在的隱私泄漏問題,本文擬采用k-匿名技術(shù)對(duì)學(xué)生成績(jī)的發(fā)布進(jìn)行控制.在實(shí)現(xiàn)k-匿名的眾多方法中,泛化因其容易實(shí)現(xiàn),被廣泛使用,因此本文采用了泛化的方法對(duì)學(xué)生成績(jī)數(shù)據(jù)的發(fā)布進(jìn)行控制,以達(dá)到保護(hù)學(xué)生個(gè)人隱私的目的.
泛化是用1個(gè)一般化的屬性值替代1個(gè)具體的屬性值.例如,出生日期的“日/月/年”格式用“月/年”格式代替.所有的屬性域都在層次化的結(jié)構(gòu)中.對(duì)于屬性來說,擁有較少值的域比擁有較多值的域更加普遍一般.最一般的域只包含了1個(gè)值.在典型的關(guān)系型數(shù)據(jù)庫系統(tǒng)中,經(jīng)常用域來描述屬性值的集合,比如出生日期域、數(shù)值域、時(shí)間域等[8].
k-匿名中泛化的方法分為全局泛化與局部泛化,實(shí)驗(yàn)中將采用這2種方法.
1)全局泛化.將表中某一列內(nèi)所有值全部進(jìn)行泛化;
2)局部泛化.不泛化一列內(nèi)所有值.只泛化相關(guān)行中獨(dú)特(或重復(fù)數(shù)小于k)的值.例如,如果沒有必要,出生日期不泛化.如果需要,出生日可查采用最近組合,例如,1980和1981組合成[1980,1981].在局部泛化中,同一個(gè)值可以被泛化為不同的組合.比如,1980可能被泛化為[1980,1981]或[1979,1980].泛化值被界定于最近的可組合值.希望泛化后的區(qū)間小,信息精確.
對(duì)數(shù)值屬性,可以按照上面的方法做.因?yàn)樗鼈冇写涡蜿P(guān)系.對(duì)沒有次序關(guān)系的分類數(shù)據(jù)屬性,比如籍貫,論文采用樹型結(jié)構(gòu)規(guī)定他們的泛化次序.
1)數(shù)據(jù)標(biāo)識(shí).確定原始數(shù)據(jù)中的直接或間接標(biāo)識(shí)個(gè)人身份的標(biāo)識(shí)符、準(zhǔn)標(biāo)識(shí)符,數(shù)據(jù)發(fā)布中需要保護(hù)的對(duì)象敏感屬性和其他屬性;
2)全局泛化.采用全局泛化的方法對(duì)敏感屬性進(jìn)行保護(hù),將學(xué)生的出生日期的“日/月/年”格式用“月/年”格式代替,將學(xué)生的出生日期的“日/月/年”格式用“年”格式代替.分析對(duì)出生日期全局泛化后,對(duì)敏感屬性保護(hù)的效果;
3)局部泛化.采用局部泛化的方法對(duì)敏感屬性進(jìn)行保護(hù),將k值設(shè)分別設(shè)為2,5,10分別實(shí)驗(yàn),分析經(jīng)過局部泛化后,對(duì)敏感屬性保護(hù)的效果;
4)生成XML數(shù)據(jù)文件.Mondrian_Distrib軟件包的k-匿名算法(Anonymizer)處理的數(shù)據(jù)文件為XML,因此,需將泛化后的數(shù)據(jù)轉(zhuǎn)換為XML數(shù)據(jù)文件;
5)k-匿名處理.用Mondrian_Distrib的Anonymizer算法對(duì)第4步生成的XML數(shù)據(jù)文件進(jìn)行k-匿名處理.
數(shù)據(jù)來源于學(xué)校學(xué)籍管理軟件的數(shù)據(jù)庫系統(tǒng),硬件環(huán)境為Intel 3GHz CPU,4GB內(nèi)存;軟件環(huán)境為Linux操作系統(tǒng);本文用到的k-匿名軟件包為Mondrian_Distrib[9].
在數(shù)據(jù)集中分別取50,150個(gè)記錄作為本文的初始表.選擇k=2,5,10時(shí),應(yīng)用k-匿名算法得到泛化后的表,進(jìn)行比較,分析結(jié)果見表3.
表3 k-匿名處理后信息表
表3給出了泛化后數(shù)據(jù)精確度和敏感屬性泄漏情況.從表3中可以看出,當(dāng)記錄數(shù)和k增加時(shí),敏感屬性被識(shí)別機(jī)率降低.
當(dāng)給定k值時(shí),不同記錄數(shù)對(duì)應(yīng)的數(shù)據(jù)精確度,數(shù)據(jù)精確度隨記錄數(shù)的增加而增加(見圖1).
k-匿名處理后,當(dāng)記錄數(shù)相同時(shí),k值增大,數(shù)據(jù)精確度降低(見圖2).
當(dāng)記錄數(shù)相同,k值增大,敏感屬性最大識(shí)別率降低,保密性增大(見圖3).
泛化表中用數(shù)據(jù)精確度作為衡量數(shù)據(jù)泛化表質(zhì)量的一個(gè)標(biāo)準(zhǔn).以上分析結(jié)果說明,k=10表的質(zhì)量比k=2的質(zhì)量差.但k=10表的保密性比k=2的質(zhì)量好.質(zhì)量和保密性的要求是矛盾的,在應(yīng)用中,這2個(gè)要求需要平衡.質(zhì)量同數(shù)據(jù)表的大小也有關(guān),給定同樣的k值,用同樣的泛化方法,大數(shù)據(jù)表的質(zhì)量好,小數(shù)據(jù)表的質(zhì)量差.在應(yīng)用中,如何選取k,需要從實(shí)際情況出發(fā),平衡數(shù)據(jù)精確度和保密性這2個(gè)相互矛盾的需求,選取一個(gè)適合的k值.
記錄數(shù)經(jīng)重復(fù)抽樣到5 000,10 000,15 000,20 000,然后再隨機(jī)行間交換.
1)時(shí)間與數(shù)據(jù)大小的關(guān)系.參數(shù)設(shè)置:準(zhǔn)標(biāo)識(shí)符=5,k=10,記錄數(shù)和執(zhí)行時(shí)間實(shí)驗(yàn)結(jié)果,如表4.
表4 記錄數(shù)不同時(shí)對(duì)應(yīng)的執(zhí)行時(shí)間(準(zhǔn)標(biāo)識(shí)符=5,k=10)
當(dāng)準(zhǔn)標(biāo)識(shí)符,k值取值不變時(shí),記錄數(shù)增大,相應(yīng)的執(zhí)行時(shí)間增長(見圖4).
2)時(shí)間與準(zhǔn)標(biāo)識(shí)符大小的關(guān)系.參數(shù)設(shè)置:記錄數(shù)=10 000,k=10,準(zhǔn)標(biāo)識(shí)符數(shù)目和執(zhí)行時(shí)間實(shí)驗(yàn)結(jié)果,如表5.
表5 不同準(zhǔn)標(biāo)識(shí)符數(shù)對(duì)應(yīng)的執(zhí)行時(shí)間(記錄數(shù)=10 000,k=10)
準(zhǔn)標(biāo)識(shí)符數(shù)目增大,相應(yīng)的執(zhí)行時(shí)間增長(見圖5).
3)時(shí)間與 k的關(guān)系.參數(shù)設(shè)置:記錄數(shù)=10000,準(zhǔn)標(biāo)識(shí)符=5,k和執(zhí)行時(shí)間,實(shí)驗(yàn)結(jié)果見表6所示.
表6 不同k值對(duì)應(yīng)的執(zhí)行時(shí)間(記錄數(shù)=10 000,準(zhǔn)標(biāo)識(shí)符=5)
當(dāng)數(shù)據(jù)量相同時(shí),k值取值增大,相應(yīng)的執(zhí)行時(shí)間增長(見圖6).
1)數(shù)據(jù)量少的表,k-匿名處理后會(huì)失去一定信息,比如,籍貫失去.要保住籍貫信息.同一個(gè)地方的學(xué)生數(shù)要至少大于k.因此最好發(fā)布數(shù)據(jù)量大的表,可以保證保護(hù)個(gè)人隱私的數(shù)據(jù)的有用.
2)k-匿名處理后表的精確度質(zhì)量和敏感屬性保護(hù)質(zhì)量是相互矛盾的.在應(yīng)用中,這2個(gè)要求需要平衡.
3)精確度質(zhì)量與k的取值有關(guān),相同的記錄數(shù),用相同的泛化方法,k值小的質(zhì)量高,k值大的質(zhì)量低.
4)精確度質(zhì)量同數(shù)據(jù)表的大小也有關(guān).給定同樣的k,用同樣的泛化方法,大數(shù)據(jù)表的質(zhì)量好,小數(shù)據(jù)表的質(zhì)量差.
5)k-匿名執(zhí)行時(shí)間與記錄數(shù)、準(zhǔn)標(biāo)識(shí)符數(shù)、k的大小有關(guān),記錄數(shù)、準(zhǔn)標(biāo)識(shí)符數(shù),和k的取值增大,都會(huì)使執(zhí)行的時(shí)間增長.
[1]張翎.概率統(tǒng)計(jì)方法在教學(xué)研究中的應(yīng)用[J].云南民族大學(xué)學(xué)報(bào):自然科學(xué)版,2007,16(4):368-369.
[2]張寒云,段鵬,丁欽華.基于關(guān)聯(lián)規(guī)則的課程拓?fù)渑判蜓芯浚跩].云南民族大學(xué)學(xué)報(bào):自然科學(xué)版,2009,18(2):177-179.
[3]楊春華,楊玲.高校畢業(yè)生就業(yè)競(jìng)爭(zhēng)力分析[J].云南師范大學(xué)學(xué)報(bào):自然科學(xué)版,2009,29(5):39 -45.
[4]劉喻,呂大鶴,馮建華,等.數(shù)據(jù)發(fā)布中的匿名化技術(shù)研究綜述[J].計(jì)算機(jī)應(yīng)用,2007,27(10):2 361-2 364.
[5]SWEENEY L.k-anonymity:a model for protecting privacy[J].International journal on uncertainty,F(xiàn)uzziness and knowledge based systems,2002,10(5):557 -570.
[6]SAMARATIP,SWEENEY L.Generalizing data to provide anonymity when disclosing information(Abstract)[C]//Proc.of the 17th ACM SIGACTSIGMOD - SIGART Symposium on the Principles of Database Systems.W A,USA,1998:188.
[7]SAMARATI P.Protecting respondents identities in microdata release[J].IEEE Transactions on Knowledge and Data Engineering,2001,13(6):1 010 -1 027.
[8]岑婷婷,韓建民,王基一,等.隱私保護(hù)中k-匿名模型的綜述[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(4):130-134.
[9]LEFEVRE K,DEWITT D,RAMAKRISHNAN R.Incognito:Efficient full-domain k -anonymity[C]//Proc of the SIGMOD 05 on Management of Data.New York:ACM,2005:49-60.
(責(zé)任編輯莊紅林)
A k-anonymity Study of the Student-Score Publishing
LONG Qi
(School of Media and information Engineering,Yunnan Vocational College of National Defense Technoeogy,Kunming 650223,China)
Data publishing provides support for better decision making,but it might also deprive the people of their privacy.This research adopts the k-anonymity model to control the process of the student-score publishing and uses the k-anonymity technology in the school management system to protect the students’privacy in the student-score publishing.
data mining;privacy protection;k-anonymity;student-score publishing
TP 311
A
1672-8513(2011)02-0144-05
10.3969/j.issn.1672 -8513.2011.02.017
2010-03-06.
龍琦(1974-),女,碩士,講師.主要研究方向:計(jì)算機(jī)應(yīng)用與數(shù)據(jù)庫技術(shù).