数据库技术
Database Technology
电子技术与软件工程
Electronic Technology & Software Engineering
基于语义分析等技术的数据敏感度自动识别
王媛媛陈昱翰
(中国电信股份有限公司上海企业信息化运营中心上海市200120 )
摘要:本文通过语义分析、关键字识别、正则表达式匹配及组合识别等多种技术,对数据敏感度进行了分类分级的自动识别。并应 用在实际生产中,对1777个数据库实例进行了识别。通过线程控制解决了海量数据库同时识别问题,通过语义分析解决了姓名、地址等 无特征内容的识别问题。
关键词:P y h a n l p ;语义分析;关键字识别;正则表达式匹配;数据分级分类
1引言
数据保护是当今企业、政府和个人关心的基本问题。数据库安 全中的敏感数据梳理技术是一种数据资产自动发现及对数据进行分 级分类的敏感数据梳理技术。《中华人民共和国数据安全法(草案)》 (以下简称《数据安全法(草案)》)中首次对数据的分级分类保护 作出明确要求,这对于指导和落实数据安全保护工作具有重要意义, 数据的分级分类管理是实施数据全生命周期安全保护的重要基础, 只有在科学、规范的分级分类管理基础上,才能够有效地平衡数据 的安全要求与使用需求,才能够较好地实现数据的风险管理成本与 利用效益的平衡,从而为数据产业的快速健康、可持续发展奠定坚 实基础.数据分级分类不仅需要遵循相关规范和标准,还要结合业 务特征和需求,釆取科学的分级分类方法.对于大型和复杂系统而 言,专业团队和技术工具有助于此项工作的顺利开展,数据分级分 类管理应当是一项持续性工作,可纳入数据及数据资产运营管理的
范畴m 。
目前中国电信常用的数据库包括中国电信自研数据库T e l e D B 、 O r a c l e 数据库、M y s q l 数据库、H i v e 数据库、P g S q l 数据库等。电 信行业使用的敏感数据梳理检查方式一般是关键字和正则表达式匹 配方式。关键字方式是通过读取数据库的字段内容和列名称内容, 匹配固定关键字以梳理数据库内容的敏感数据。正则表达式是一种 文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。 正则表达式匹配方式是通过读取数据库的字段内容和列名称内容匹 配指定正则表达式以梳理数据库内容的敏感数据。以上关键字和正 则表达式匹配的两种常规方式都无法匹配无固定格式的信息。例如 姓名、地址、公司名称等。在传统的敏感数据检查技术上,本文新 增了语义识别判定方法。通过语义识别判定方法解决了无固定格式 的数据识别问题。2敏感数据自动识别技术
可以被不同角多次重复使用。环境(E n v i r o n m e n t s )包括所有类 型的学习对象(L O )或在活动中角所使用的服务以及活动中角 产生的结果。4.2云中教学模型的优点
我们的所设计的教学模型对于云中的不同角都大有益处。对于学习者来说,通过教育云使用I M S -L D 就可以获取更多利 益。学习者可以从自己的大学选取网络课程,他们也可以从其它的 大学选取类似的网络课程,从而,丰富他们的知识。
对于教师来说,通过教育云也能得到很多益处。当他们与其他 教师进行合作时,就可以互换资源并能为学生创建更为优质的内容 资源;当然,他们也完全可以从云中借用其他教师的课程资源。
在学习环境中,通过云计算使用I M S  L D
规范进行E -learning ,
对于各种角都会有三个方面的优点:
(1) 各大高校教师可以循环使用云中的学习资源(Learning
O b jects ),从而可以节省很多的精力和时间;
(2) 学习者之间共享学习资源,就可提高他们学习经验的满
意度,促进他们对主题内容的积极态度;教师能够了解云中的其它
课程资源,从而提高方案设计的质量;
(3) 根据学生的学习情况,教师就能够为下一步的工作目标
制定学习内容。
5结束语
综上所述,云计算能够为E -learning 系统提供几大优势,不论 学习者还是教师都能够从中受益。在分布式体系结构中,用户使用
I M S -L D
规范能保证异构平台之间的互通性,从而有利于任务的识
别、循环利用、共享以及适应云环境下教学和学习资源。同时,我
们应该看到,I M S -L D 规范比较适合我国高等教育现状,参照这一规范设计的教学模式和方法,对改善我国高等教育水平,形成中国特的教育技术都会有极大的帮助。
正则匹配关键词
参考文献
[1] 王俐.I M S -L D 标准在E -l e a r n i n g 中的应用[J ].价值工程,2012,
12: 184.
[2] G u p t a  B .C l o u d  c o m p u t i n g [J ]. I n t e r n a t i o n a l
J o u r n a l  of
A d v a n c e d  C o m p u t e r  T e c h n o l o g y , 2012, 1, (2).
[3] S u l t a n ,N.C l o u d  c o m p u t i n g
for  e d u c a t i o n :A  n e w  d a w n ? [J ]
I n t e r n a t i o n a l  J o u r n a l  o f  I n f o r m a t i o n  M a n a g e m e n t ,
2010, 30: 109-116.[4] R o s m a l e n , P  V ,e t
a l.A u t h o r i n g  a  full  life  c y c l e  m o d e l
in  s t a n d a r d s -b a s e d , a d a p t i v e  e -l e a r n i n g.E d u c a t i o n a l
T e c h n o l o g y  & S o c i e t y ,2006,9:72-83.
[5] P a r k  0,L e e  J . A d a p t i v e  i n s t r u c t i o n a l  s y s t e m s  [J ].
E d u c a t i o n a l  T e c h n o l o g y  R e s e a r c h  a n d
D e v e l o p m e n t ,2003,25:651-684.
[6] L a m a  M , et  a l.S e m a n t i c  l i n k i n g  o f  l e a r n i n g  o b j e c t
r e p o s i t o r i e s  to  d b p e d i a  [J ].J o u r n a 1 o f  e d u c a t i o n a l
t e c h n o l o g y  & s o c i e t y , 2012, 15 (4): 47-61.
作者简介陈军( 1972-),女,大学本科学历,高级实验师。研究方向为计算机教学。
202
电子技术与软件工程
Electronic Technology & Software Engineering
数据库技术Database Technology
图1:语义分析模块说明图程
传统的敏感数据读取方法主要为关键字匹配和正则表达式匹 配。对于不具备特征值的姓名、地址无法有效匹配。针对该技术难 点,本文引入了语义识别技术。将语义识别应用在姓名、地址、公司名称的中文信息识别上。同时文中使用了多种正则表达式匹配方 式识别电话、邮件、I P地址、身份证号等信息。在实际系统中,灵活组合语义分析、正则表达式、传统的关键字等多种方式进行敏感 数据自动识别,达到最佳识别效果。
2. 1语义识别技术的应用
中文语义识别使用P Y H A N L P实现。H A N L P是一个第三方 开发包,用途是语言分析。P Y H A N L P是基于它的p y t h o n包。p y h a n l p是H a n L P的P y t h o n接口 [2]。使用它的分词方法可以将:广 东省深圳市城市假日花园分词为:广东省(名词)深圳市(名词)城市(名词)假日(名词)花园(名词)。系统根据分词结果和特定 姓名、地址字典确认地址和人名等信息。H A N L P自然语言处理包 支持中文分词(N-最短路分词、C R F分词、索引分词、用户自定 义词典、词性标注),命名实体识别(中国人名、音译人名、曰本 人名、地名、实体机构名识别),关键词提取,自动摘要,短语提 取,拼音转换,简繁转换,文本推荐,依存句法分析(M a x E n t依 存句法分析、C R F依存句法分析)[2]。
本文将p y h a n l p的语义分析方法应用于数据库敏感数据的语义 分析判定中。首先,判定字段值内容是否含有中文字符,对于含有 中文字符的字段值获取C R F分词器。然后,C R F分词器将字段值 分解为子单词和单词属性(名词、动词)。针对分解后的名词在地 址特征词字典、姓名特征词字典中进行匹配。最后判定出字段值是 否为中文地址、中文姓名、中文公司名称等。
C R F分词器使用条件随机场模型。条件随机场模型是一条件序 列无向图模型,C R F实在给定观察序列的条件下,计算整个观察系 列对应的标记序列的联合概率分布[3]。
如中文地址分析代码为:
#匹配出中文地址
# (A1-5)用户私密资料:揭示个人种族、家属信息、居住地址、宗教信仰、基因、个人健康、私人生活等有关的用户私密信息等《征 信业管理条例》等法律、行政法规规定禁止公开的用户其他信息。
def check—c h i n e s e a d d r essrecognition(value):
C R F n e w S e g m e n t= H a n L P.n e w S e g m e n t("crf')
addresslist= C R F n e w S e g m e n t.seg(v alue)
dict= {}
for i in address list:
dict[str(i.w o r d)]= [str(i.n ature)]
Ad d r e s s= r'(n s|nsf)'
for k e y,value in diet.i tems():
value= str(value)
if re.search(A d d r e s s,value):
print('地址:%s,%k e y+,,风险等级:,+ s3)
该代码的模块说明图见图1语义分析模块说明图。
2.2正则表达式识别方式的应用
正则表达式是对字符串(包括普通字符(例如,a到z之间的 字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,
就是 用事先定义好的一些特定字符、及这些特定字符的组合,组成一个 “规则字符串”,这个“规则字符串”用来表达对字符串的一种过 滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要 匹配的一个或多个字符串。8位电话号码、11位电话号码、身份证号、
银行账号、邮箱地址、即时通信账号都符合一定的正则表达式。
本文识别了多种正则表达式,并应用在实际系统中[4]。其中:
设备I P正则表达式为
r,A(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4] [0-9]|[01]?[0-9][0-9]?)S';
非中文的字符正则表达式为
r,A(?![A-Za-zO-9]+$)(?![a-zO-9\\W]+$)(?![A-Za-z\\W]+$)(?![A-ZO-
9\\W]+$)A.{8,}$';
日期正则表达式为
r,A([\d]{4 }((((0[ 13 578] |1[02])((0[1-9])|([ 12] [0- 9])|(3[〇1])))|(((〇[469])|11)((0[1-9])|([12][0-9])|30))|(02((0[1-9])|(1[0-
9])|(2[0-8]);
电话号码正则表达式为产((0\d{2,3})-)(\d{7,8})|(\d{7,8})$’;
个人手机号码正则表达式为
r,A[l](([3][0-9])|([4][5-9])|([5][0-3,5-9])|([6][5,6])|([7][0-8])|([8][0-9])|([9][1,8,9]))[0-9]{8}$';
身份证号正则表达式为
r^[l-9]\d{5}(18|19|20)\d{2}((0[l-9])|(l[0-2]))(([0-2][l-9])|10|20|30|31)\d{3}[0-9X x]$f;
驾照正则表达式为r’A[l-8]\d{ll}$’;
q q号码正则表达式为
r,A[l-9]\d{5}(18|19|20)\d{2}((0[l-9])|(l[0-2]))(([0-2][l-9])|10|20|30|31)\d{3} [0-9X x]$';
邮箱正则表达式为 email_pattem= r'[\w-]+@[\w-]+(.[\w-]+)+';
2. 3关键字识别方式的应用
关键字识别是查看列名称和字段内容中是否含有特定的关键 字。该方法是一种传统的识别方式。这种方法和正则表达式识别方 法、语义识别方法结合使用可达到更好的识别效果。
2.4多种识别方式的组合应用
敏感数据检查和分级分类模块对每个采样的字段值、列名称
进行分析。首先对字段值进行检查,通过正则表达式匹配电话、E m a i l、手机号、驾照、身份证。然后通过关键字匹配是否为套餐、合同、业务订购关系、公开业务运营服务数据等。接下来通过列名 称的关键字补充确认该列是否为电话、E m a i l、联系人信息、银行 账号、费用、订购关系等。最后通过语义分析判断是否为用户名称、用户地址。
在实际生产中,为了便于随时增加配置新的正则表达式和新的 关键词。建立本地的sqlite数据库,将匹配规则对应的各类正则表 达式和关键词存储在数据库中。
存储表如表1所示。
203
数据库技术Database Technology
电子技术与软件工程
Electronic Technology & Software Engineering 表1:匹配规则存储表
类别 rule[0]匹配方法rule[l]列名关键词m l e[2]内容关键词rule[3]正则表达式rule[4]实际的类别A1-1内容正则Null Null具体的正则表达式实际的类别A1-2列名关键字列名具体关键词N U L L N U L L
实际的类别A1-3内容关键字N U L L内容具体关键词N U L L
图2:M D5加盐值说明图
根据字段内容content、列名c o l u m n n a m e对照规则r u l e判定是否为对应类别。代码和存储表结合,通5种情况可解决多类数 据的识别问题。对于新增的数据识别项目,只要在表格中根据实际 情况添加对应的识别方法、识别关键字或正则表达式,即可在不更 改代码的情况下进行识别。该方法避免了每类数据都要新增代码的问题。
3多线程和加密技术
因为敏感数据识别应用需要访问海量数据库,同时需要记录访 问数据库的用户和密码信息。所以在实际应用中需要解决的一个重 要问题即性能问题。另一个重要问题是安全问题。本文通过多线程 和信号量控制手段解决海量数据库读取的性能问题。通过自定义的 加密算法加密数据库用户访问密码解决存储密码的安全问题。
3. 1加密技术的应用
本文实现的软件程序首先读取己经预先加密的数据库配置文 件,对数据库配置文件进行解密,解密后获得数据库连接信息。
采用M D5加盐值(Salt)的加密方式,将数据库配置文件加密。在加密时混入一段“随机”字符串(盐值),可放在原始数据前或 原始数据后,再进行哈希加密。即使原文相同,如果盐值不同,那 么哈希值也是不一样的。
M D5加盐(Salt)的加密算法的代码为:
# encoding= utf-8
f r o m r a n d o m import R a n d o m
f r o m hashlib import m d5
d e f create_salt(l ength= 4):
salt=”
chars= 'A a B b C c D d E e F f G g H h l i J j K k L l M m N n O o P p Q q R r S s T t U u V v W w X x Y y Z z O123456789'
len chars= len(chars)- 1
r a n d o m= R a n d o m()
for i in xrange(length):
salt+= chars[r a n d o m.randint(0,len chars)]
return salt
d e f create_m d5(p w d,s alt):
m d5_obj= m d5()
m d5_obj.u p d a t e(p w d+ salt)
return m d5_obj.hexdigest()
示例:
#原始密码
p w d= 70141124'
#随机生成4位salt
salt= create_salt()
#加密后的密码
m d5 = create_m d5(p w d,salt)
print'[p w d]\n’,p w d
p rin t'[salt]\n'}salt
print'[m d5]\n',m d5
该代码的模块说明图见图2 M D5加盐值说明图。
3.2多线程技术的应用
软件程序的每一个独立线程根据数据库连接信息,针对不同数 据库类型:teleDb、m y s q l、oracle、pgsql、h i v e数据库分别调用不 同的驱动接口进行检查。对于每个数据库类型,程序编写针对性的 驱动接口。每个独立线程使用驱动接口连接一个具体的数据库,读取该库中所有表信息。对于每个表获取所有列信息。对于每个列信 息,记录列名称并采样一个或几个字段值进行数据分级分类和敏感 数据识别。
4结语
本文在实现了正则表达式、关键词识别的基础上推出了语义分 析识别。可以通过p y h a n l p的语义识别技术进行姓名、地址、公司 名称的无特征值中文信息识别。本文通过配置表的方法实现了正则 表达式、关键字匹配的识别方式动态增加。同时本文采用多线程技 术,解决了大量数据库检査的并行问题。在32G内存、2C〇r e C P U
的一台W i n d o w s主机。可以在一周内完成上千数据库实例的检査。在数据库配置信息存储方面,本文使用了自研加密技术。
参考文献
[1] 陈兴跃.数据分级分类正式入法具有重大实践指导意义[J].
信息安全研究,2020, 10: 949
[2] 何晗.自然语言处理入门P y t h o n/J a v a双代码实现[M].北京:
人民邮电出版社,2019.
[3] 何炎祥;罗楚威;胡彬尧.基于C R F和规则相结合的地理命名
实体识别方法[J].计算机应用与软件,2015.1. P181.
[4]B r o w s e r-h o t.大数据安全一敏感数据识别和分级打
#.h t t p s://b l o g.c s d n.n e t/u014779378/a r t i c l e/d e t a i l s/
作者简介
王媛媛,硕士学位,工程师.研究方向为电信信息安全。
陈昱翰,学士学位。研究方向为电信信息安全.
204

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。