羅長銀 陳學(xué)斌
摘? 要: 隨著大數(shù)據(jù)產(chǎn)業(yè)的飛速發(fā)展,數(shù)據(jù)泄露和信息泄露事件也越來越多,基于這種情況下,如何對數(shù)據(jù)有力的保護成為我們研究的重點內(nèi)容,本文利用簡單替換加密和維吉尼亞兩種傳統(tǒng)的算法對數(shù)據(jù)進行加密,利用模糊集里面的隸屬函數(shù)的方法,對數(shù)據(jù)進行簡單的模糊化處理,并且運用匹配度公式和模糊量詞的方法,對數(shù)據(jù)信息進行進一步的泛化處理,對單數(shù)據(jù)源的信息的保護起到了預(yù)期的效果。
關(guān)鍵詞: 數(shù)據(jù)泄露;簡單替換算法;維吉尼亞算法;模糊量詞
中圖分類號: TP391? ? 文獻標(biāo)識碼: A? ? DOI:10.3969/j.issn.1003-6970.2019.10.002
本文著錄格式:羅長銀,陳學(xué)斌. 基于數(shù)據(jù)模糊化處理的數(shù)據(jù)脫敏研究[J]. 軟件,2019,40(10):0610
Research on Data Desensitization Based on Data Fuzzy Processing
LUO Chang-yin, CHEN Xue-bin*
(North China University of Science and Technology,Key Laboratory of Data Science and Application of Hebei
Province Tangshan Data Science Key Laboratory, Hebei Tangshan 06300 china)
【Abstract】: With the rapid development of the big data industry, data leakage and information leakage have become our familiar terms. In this case, how to effectively protect data has become the focus of our research. In this paper, two traditional algorithms, simple replacement encryption and Virginia, are used to encrypt data, and the membership function in the fuzzy set is used to encrypt data. Simple fuzzification processing, and the use of matching degree formula and fuzzy quantifier method, further generalization of data information processing, The protection of single data source information has achieved the desired results.
【Key words】: Data leakage; Simple replacement; Virginia; Fuzzy quantifiers
0? 引言
隨著大數(shù)據(jù)在快速發(fā)展,也給人們帶來了許多方面的挑戰(zhàn),首當(dāng)其沖的就是信息安全的問題。比如今年剛結(jié)束的兩會,人大委員張業(yè)遂就說:通過立法加強個人信息保護成為必然要求[1];360集團董事長兼CEO就說:安全應(yīng)該成為發(fā)展人工智能的基礎(chǔ)和前提[2]。甚至李克強總理在中國大數(shù)據(jù)產(chǎn)業(yè)峰會上就明確指出信息網(wǎng)絡(luò)和數(shù)據(jù)安全是全球性的挑戰(zhàn),中國也不例外。由此可見,數(shù)據(jù)保護已經(jīng)成為我們?nèi)蚍秶缘募毙枰鉀Q的事情之一。
1? 預(yù)備的知識
模糊量詞[3]是一個跨學(xué)科的研究對象,涉及數(shù)學(xué)、邏輯學(xué)、語言學(xué)、計算機科學(xué)、智能科學(xué)等廣泛領(lǐng)域。模糊量詞(也被成為語言量詞)是指大多數(shù)、少數(shù)、大約十個、不多幾個等表示不確切數(shù)量的語言成分。
模糊集[4]:設(shè)區(qū)域,U到閉區(qū)間[0,1]的任一映射為:
(1)
(2)
確定了U的一個模糊子集,簡稱模糊集,記作A。稱為模糊集A的隸屬函數(shù),的大小反映了x對模糊集合A的隸屬程度,簡稱為隸屬度。就是說,論域U={x}上的模糊集合是指x中具有某種性質(zhì)的元素全體,這些元素具有某個不分明的界限。對于U中任一元素,都能根據(jù)這種性質(zhì),用一個[0,1]上的函數(shù)來表征該元素屬于A的程度。論域元素總是分明的,只有x的模糊子集A,B等才是模糊的,所以模糊集通常是模糊子集。的值接近于1,表示x屬于A的程度高;接近于0,表示x屬于A的程度低。
數(shù)據(jù)脫敏[5]是指對某些敏感信息通過脫敏規(guī)則來進行數(shù)據(jù)的變形,實現(xiàn)對敏感數(shù)據(jù)甚至于隱私數(shù)據(jù)進行保護。在不違反系統(tǒng)規(guī)則的前提下,以及客戶允許的情況下對客戶提供的真實的數(shù)據(jù)進行改造并且提供測試使用,比如身份證號碼、出生日期、學(xué)生在校時所填的信息等等都需要我們進行脫敏?;蛟S你在不經(jīng)意間就有可能把你的隱私數(shù)據(jù)泄露出去,比如出生證明里面的東西可能成為你個人或者一個家庭的銀行卡或者其他情況的密碼。由此可見,個人的信息泄露已經(jīng)成為信息社會日益凸顯的問題。
2? 敏感數(shù)據(jù)的分類[6]
首先,我們應(yīng)該對敏感數(shù)據(jù)的規(guī)則進行分類:分為可恢復(fù)與不可恢復(fù)兩類??苫謴?fù)類指脫敏后的數(shù)據(jù)可以通過一定的方式,恢復(fù)成原來的敏感數(shù)據(jù),此類脫敏規(guī)則主要指各類加解密算法規(guī)則。不可恢復(fù)類指脫敏后的數(shù)據(jù)被脫敏的部分使用任何方式都不能恢復(fù),般可分為替換算法和生成算法兩類。
數(shù)據(jù)脫敏方案分為靜態(tài)數(shù)據(jù)脫敏和動態(tài)數(shù)據(jù)脫敏。靜態(tài)數(shù)據(jù)脫敏是對原始數(shù)據(jù)進行一次脫敏后,脫敏后的結(jié)果數(shù)據(jù)可以多次使用,適合于使用場景比較單一的場合。動態(tài)數(shù)據(jù)脫敏是在敏感數(shù)據(jù)顯示時,針對不同用戶需求,對顯示數(shù)據(jù)進行屏蔽處理的數(shù)據(jù)脫敏方式,要求系統(tǒng)有安全措施確保用戶不能夠繞過數(shù)據(jù)脫敏層次直接接觸敏感數(shù)據(jù)。
3? 數(shù)據(jù)脫敏技術(shù)[8]
傳統(tǒng)的數(shù)據(jù)脫敏技術(shù)方式主要包含了替代、混洗、數(shù)值變換、加密、遮擋、空值插入、刪除等。數(shù)據(jù)脫敏技術(shù)類型一般采用泛化技術(shù)、抑制技術(shù)、擾亂技術(shù)和有損技術(shù)。泛化是指在保留原始數(shù)據(jù)局部特征的前提下使用一般值替代原始數(shù)據(jù),泛化后
的數(shù)據(jù)具有不可逆性。抑制是指通過隱藏數(shù)據(jù)中部分信息的方式來對原始數(shù)據(jù)的值進行轉(zhuǎn)換,又稱為隱藏技術(shù)。擾亂是指通過加入噪聲的方式對原始數(shù)據(jù)進行干擾,以實現(xiàn)對原始數(shù)據(jù)的扭曲、改變,擾亂后的數(shù)據(jù)仍保留著原始數(shù)據(jù)的分布特征。有損是指通過損失部分數(shù)據(jù)的方式來保護整個敏感數(shù)據(jù)集,適用于數(shù)據(jù)集匯總后才構(gòu)成敏感信息的場景。
4? 數(shù)據(jù)的預(yù)處理
隨著大數(shù)據(jù)產(chǎn)業(yè)的興起,數(shù)據(jù)的脫敏問題成為我們要解決的首要問題,本文將泛化技術(shù)與加密技術(shù)相結(jié)合,對數(shù)據(jù)的脫敏進行一定程度上的分析。對于泛化技術(shù),我們將采用模糊量詞的概念和匹配度公式對其進行操作,而加密技術(shù)我們將采用簡單替代加密法和維吉尼亞加密法的聯(lián)合對其加密。我們將把生活中所有的信息用26個英文字母的大小寫來表示,再對其進行泛化。
首先,我們將敏感信息中非數(shù)字、字符、符號的信息進行字母化處理,即先把中文漢字轉(zhuǎn)換成字母的形式。接著把數(shù)字轉(zhuǎn)換成英文字母的形式。我們可以人為的隨機的規(guī)定字母表的大寫部分代表0-4,而小寫部分代表5-9,我們可以隨機的分配一定的比例來表示0-4分別代表著什么字母,比如:我們用A-G代表0,H-N代表1,O-T代表2,U-W代表3,X-Z代表著4,依次類推,我們可以隨機的用a-z來表示5-9,本文我們將采用random.randint()這個隨機函數(shù),隨機的用一些字母來表示這些數(shù)字。
5? 數(shù)據(jù)的加密處理
我們采用簡單替換加密算法對其加密以及RSA加密算法對其加密。簡單替換加密我們采用:VJZBGNFEPLITMXDWKQUCRYAHSOvjzbgnfeplitmxdwkqucryahso作為密匙來進行加密,可以得到的加密的消息,這里的采用大小寫可以互相轉(zhuǎn)化的方式,以此來增加其加密的復(fù)雜程度。維吉尼亞加密法的密匙是一系列的字母,可以是我們所有隨機產(chǎn)生的52個字母的隨機組合。比如下例就是用的是PIZZA來進行加密的。比如:
最后,我們可以采用模糊量詞的概念對加密后所得到的信息進行泛化處理。例如上面最后一個文本框中的敏感信息我們可以這樣描述,我們定義大寫字母為小,小寫字母為大,因此我們可以這樣說,大約有一大半的信息屬于小,少數(shù)的信息屬于大,如果當(dāng)一個屬性中都存在大小寫字母的時候,以隸屬度函數(shù)得到的結(jié)果為準。
6? 數(shù)據(jù)的模糊化處理
對加密后的信息進行數(shù)據(jù)模糊化處理,主要是利用其隸屬函數(shù)對其操作,對于那些加密前后所得到的信息有著很明顯的規(guī)律的信息,隸屬函數(shù)的個數(shù)應(yīng)該多選些。而對于那些加密前后的信息不明顯的可以少選些。對于這些加密后的信息,采用多個三角形分布或者梯形分布的模糊數(shù)來表達其選取的特征的空間分布,特征空間選擇為平均分割形式,以便我們根據(jù)隸屬度是否為0來判斷該特征是否屬于一個模糊子集。因此,對于我們所得到的加密信息就可能得到多個輸入特征的模糊隸屬函數(shù)[9]。應(yīng)用模糊數(shù)學(xué)來解決實際問題,基本步驟是尋找一個或幾個隸屬函數(shù)。這個問題解決了,其他問題就迎刃而解。最簡單的隸屬函數(shù)是三角形,它是用直線形梯形隸屬函數(shù)實際上是由三角形截頂所得的。它們的形狀見圖(1)和圖(2)所示。
對于三角形的隸屬函數(shù),其表達式可以表示為:
對于梯形的隸屬函數(shù),其表達式可以表示為:
其中。
利用隸屬函數(shù)的表達式就可以取得相應(yīng)的隸屬度。這兩種直線形隸屬函數(shù)都具有簡單的優(yōu)勢,因而經(jīng)常被人們利用,本文分別采用這兩種隸屬函數(shù)對加密后的信息進行模糊化處理。例如:針對我們所加密后的信息,其屬性分別為:姓名、性別、年齡、身份證號碼、出生日期,因為在前面我們規(guī)定了小寫字母為大,用隸屬區(qū)間中的1來表示,相反,大寫字母就為小,就用隸屬區(qū)間中的0來表示。因此我們對于多數(shù)人的姓名信息來說,就有以下的模糊數(shù)據(jù)表。
同理,我們將對其他的信息進行處理分別得到性別、年齡、身份證號碼、出生日期的模糊化處理表。
從上述的表中很清楚的知道每個信息里面所包含的隸屬度,根據(jù)此隸屬度再結(jié)合模糊量詞以及匹配度公式,可以計算出每個信息中的匹配度,看是否能夠達到預(yù)期的效果。例如:我們依次得到了5個信息里面的每個字母的隸屬度,采用除去最大值和最小值之外的所有字母的隸屬度的平均值的方法來表達其每個信息的整體的隸屬度。我們通過調(diào)研的方式和詢問相關(guān)專家的意見,他們分別給出了其重要程度,用A表示:A(姓名)=0.4,A(性別)=0.3,A(年齡)=0.45,A(出生日期)=0.7,A(身份證號碼)=0.85。
參考了相關(guān)的匹配度公式的文章,我們定義了本文的匹配度公式:
(i=1,2,3,4,...,n)
表示其權(quán)值(重要性程度),n代表屬性的個數(shù)。
(j表示每個屬性中每個字母所得的隸屬度)我們就依次得到了每種信息的匹配度,依次就能看出哪些信息對于我們來說比較重要,也就是我們的隱私數(shù)據(jù)。哪些數(shù)據(jù)為一般數(shù)據(jù)。
處理后的模糊化數(shù)據(jù)如下屬性信息表所示。
屬性名稱 姓名 性別 年齡 出生日期 身份證號碼
匹配度(pi) 0.4122 0.3 0.35 0.6 0.8
從表中我們可以看到年齡的重要性和姓名相差不多,就表明其實年齡也是我們應(yīng)該注意的信息,但是被很多人給忽視掉了。
利用模糊量詞再一次模糊化處理,如下表所示。
相比較傳統(tǒng)的模糊數(shù)據(jù)集的處理方法,我們采用的是多個三角形分布或者梯形分布的模糊數(shù)來表達信息的模糊度,可以使模糊程度在原有的基礎(chǔ)上得到加強。而且匹配度公式的創(chuàng)新,使我們得出日常生活中需要被注意的數(shù)據(jù)而讓我們忽視的數(shù)據(jù)。得出這些數(shù)據(jù)之后,我們用模糊量詞的方法對處理后的數(shù)據(jù)再一次進行模糊化處理。傳統(tǒng)技術(shù)中簡單的運用模糊集的方法對數(shù)據(jù)進行模糊化操作后得到的數(shù)據(jù),造成的信息泄露的幾率明顯的高于本文所用方法的幾率。