基于数据模糊化处理的数据脱敏研究

2019-12-06 08:48罗长银陈学斌
软件 2019年10期

罗长银 陈学斌

摘  要: 随着大数据产业的飞速发展,数据泄露和信息泄露事件也越来越多,基于这种情况下,如何对数据有力的保护成为我们研究的重点内容,本文利用简单替换加密和维吉尼亚两种传统的算法对数据进行加密,利用模糊集里面的隶属函数的方法,对数据进行简单的模糊化处理,并且运用匹配度公式和模糊量词的方法,对数据信息进行进一步的泛化处理,对单数据源的信息的保护起到了预期的效果。

关键词: 数据泄露;简单替换算法;维吉尼亚算法;模糊量词

中图分类号: TP391    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2019.10.002

本文著录格式:罗长银,陈学斌. 基于数据模糊化处理的数据脱敏研究[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  引言

随着大数据在快速发展,也给人们带来了许多方面的挑战,首当其冲的就是信息安全的问题。比如今年刚结束的两会,人大委员张业遂就说:通过立法加强个人信息保护成为必然要求[1];360集团董事长兼CEO就说:安全应该成为发展人工智能的基础和前提[2]。甚至李克强总理在中国大数据产业峰会上就明确指出信息网络和数据安全是全球性的挑战,中国也不例外。由此可见,数据保护已经成为我们全球范围性的急需要解决的事情之一。

1  预备的知识

模糊量词[3]是一个跨学科的研究对象,涉及数学、逻辑学、语言学、计算机科学、智能科学等广泛领域。模糊量词(也被成为语言量词)是指大多数、少数、大约十个、不多几个等表示不确切数量的语言成分。

模糊集[4]:设区域,U到闭区间[0,1]的任一映射为:

(1)

(2)

确定了U的一个模糊子集,简称模糊集,记作A。称为模糊集A的隶属函数,的大小反映了x对模糊集合A的隶属程度,简称为隶属度。就是说,论域U={x}上的模糊集合是指x中具有某种性质的元素全体,这些元素具有某个不分明的界限。对于U中任一元素,都能根据这种性质,用一个[0,1]上的函数来表征该元素属于A的程度。论域元素总是分明的,只有x的模糊子集A,B等才是模糊的,所以模糊集通常是模糊子集。的值接近于1,表示x属于A的程度高;接近于0,表示x属于A的程度低。

数据脱敏[5]是指对某些敏感信息通过脱敏规则来进行数据的变形,实现对敏感数据甚至于隐私数据进行保护。在不违反系统规则的前提下,以及客户允许的情况下对客户提供的真实的数据进行改造并且提供测试使用,比如身份證号码、出生日期、学生在校时所填的信息等等都需要我们进行脱敏。或许你在不经意间就有可能把你的隐私数据泄露出去,比如出生证明里面的东西可能成为你个人或者一个家庭的银行卡或者其他情况的密码。由此可见,个人的信息泄露已经成为信息社会日益凸显的问题。

2  敏感数据的分类[6]

首先,我们应该对敏感数据的规则进行分类:分为可恢复与不可恢复两类。可恢复类指脱敏后的数据可以通过一定的方式,恢复成原来的敏感数据,此类脱敏规则主要指各类加解密算法规则。不可恢复类指脱敏后的数据被脱敏的部分使用任何方式都不能恢复,般可分为替换算法和生成算法两类。

数据脱敏方案分为静态数据脱敏和动态数据脱敏。静态数据脱敏是对原始数据进行一次脱敏后,脱敏后的结果数据可以多次使用,适合于使用场景比较单一的场合。动态数据脱敏是在敏感数据显示时,针对不同用户需求,对显示数据进行屏蔽处理的数据脱敏方式,要求系统有安全措施确保用户不能够绕过数据脱敏层次直接接触敏感数据。

3  数据脱敏技术[8]

传统的数据脱敏技术方式主要包含了替代、混洗、数值变换、加密、遮挡、空值插入、删除等。数据脱敏技术类型一般采用泛化技术、抑制技术、扰乱技术和有损技术。泛化是指在保留原始数据局部特征的前提下使用一般值替代原始数据,泛化后

的数据具有不可逆性。抑制是指通过隐藏数据中部分信息的方式来对原始数据的值进行转换,又称为隐藏技术。扰乱是指通过加入噪声的方式对原始数据进行干扰,以实现对原始数据的扭曲、改变,扰乱后的数据仍保留着原始数据的分布特征。有损是指通过损失部分数据的方式来保护整个敏感数据集,适用于数据集汇总后才构成敏感信息的场景。

4  数据的预处理

随着大数据产业的兴起,数据的脱敏问题成为我们要解决的首要问题,本文将泛化技术与加密技术相结合,对数据的脱敏进行一定程度上的分析。对于泛化技术,我们将采用模糊量词的概念和匹配度公式对其进行操作,而加密技术我们将采用简单替代加密法和维吉尼亚加密法的联合对其加密。我们将把生活中所有的信息用26个英文字母的大小写来表示,再对其进行泛化。

首先,我们将敏感信息中非数字、字符、符号的信息进行字母化处理,即先把中文汉字转换成字母的形式。接着把数字转换成英文字母的形式。我们可以人为的随机的规定字母表的大写部分代表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()这个随机函数,随机的用一些字母来表示这些数字。

5  数据的加密处理

我们采用简单替换加密算法对其加密以及RSA加密算法对其加密。简单替换加密我们采用:VJZBGNFEPLITMXDWKQUCRYAHSOvjzbgnfeplitmxdwkqucryahso作为密匙来进行加密,可以得到的加密的消息,这里的采用大小写可以互相转化的方式,以此来增加其加密的复杂程度。维吉尼亚加密法的密匙是一系列的字母,可以是我们所有随机产生的52个字母的随机组合。比如下例就是用的是PIZZA来进行加密的。比如:

最后,我们可以采用模糊量词的概念对加密后所得到的信息进行泛化处理。例如上面最后一个文本框中的敏感信息我们可以这样描述,我们定义大写字母为小,小写字母为大,因此我们可以这样说,大约有一大半的信息属于小,少数的信息属于大,如果当一个属性中都存在大小写字母的时候,以隶属度函数得到的结果为准。

6  数据的模糊化处理

对加密后的信息进行数据模糊化处理,主要是利用其隶属函数对其操作,对于那些加密前后所得到的信息有着很明显的规律的信息,隶属函数的个数应该多选些。而对于那些加密前后的信息不明显的可以少选些。对于这些加密后的信息,采用多个三角形分布或者梯形分布的模糊数来表达其选取的特征的空间分布,特征空间选择为平均分割形式,以便我们根据隶属度是否为0来判断该特征是否属于一个模糊子集。因此,对于我们所得到的加密信息就可能得到多个输入特征的模糊隶属函数[9]。应用模糊数学来解决实际问题,基本步骤是寻找一个或几个隶属函数。这个问题解决了,其他问题就迎刃而解。最简单的隶属函数是三角形,它是用直线形梯形隶属函数实际上是由三角形截顶所得的。它们的形状见图(1)和图(2)所示。

对于三角形的隶属函数,其表达式可以表示为:

对于梯形的隶属函数,其表达式可以表示为:

其中。

利用隶属函数的表达式就可以取得相应的隶属度。这两种直线形隶属函数都具有简单的优势,因而经常被人们利用,本文分别采用这两种隶属函数对加密后的信息进行模糊化处理。例如:针对我们所加密后的信息,其属性分别为:姓名、性别、年龄、身份证号码、出生日期,因为在前面我们规定了小写字母为大,用隶属区间中的1来表示,相反,大写字母就为小,就用隶属区间中的0来表示。因此我们对于多数人的姓名信息来说,就有以下的模糊数据表。

同理,我们将对其他的信息进行处理分别得到性别、年龄、身份证号码、出生日期的模糊化处理表。

从上述的表中很清楚的知道每个信息里面所包含的隶属度,根据此隶属度再结合模糊量词以及匹配度公式,可以计算出每个信息中的匹配度,看是否能够达到预期的效果。例如:我们依次得到了5个信息里面的每个字母的隶属度,采用除去最大值和最小值之外的所有字母的隶属度的平均值的方法来表达其每个信息的整体的隶属度。我们通过调研的方式和询问相关专家的意见,他们分别给出了其重要程度,用A表示:A(姓名)=0.4,A(性别)=0.3,A(年龄)=0.45,A(出生日期)=0.7,A(身份证号码)=0.85。

参考了相关的匹配度公式的文章,我们定义了本文的匹配度公式:

(i=1,2,3,4,...,n)

表示其权值(重要性程度),n代表属性的个数。

(j表示每个属性中每个字母所得的隶属度)我们就依次得到了每種信息的匹配度,依次就能看出哪些信息对于我们来说比较重要,也就是我们的隐私数据。哪些数据为一般数据。

处理后的模糊化数据如下属性信息表所示。

属性名称 姓名 性别 年龄 出生日期 身份证号码

匹配度(pi) 0.4122 0.3 0.35 0.6 0.8

从表中我们可以看到年龄的重要性和姓名相差不多,就表明其实年龄也是我们应该注意的信息,但是被很多人给忽视掉了。

利用模糊量词再一次模糊化处理,如下表所示。

相比较传统的模糊数据集的处理方法,我们采用的是多个三角形分布或者梯形分布的模糊数来表达信息的模糊度,可以使模糊程度在原有的基础上得到加强。而且匹配度公式的创新,使我们得出日常生活中需要被注意的数据而让我们忽视的数据。得出这些数据之后,我们用模糊量词的方法对处理后的数据再一次进行模糊化处理。传统技术中简单的运用模糊集的方法对数据进行模糊化操作后得到的数据,造成的信息泄露的几率明显的高于本文所用方法的几率。