一种实现数据脱敏的系统及方法与流程

文档序号:11287188阅读:4212来源:国知局
本发明涉及数据安全领域,具体涉及一种对敏感数据进行脱敏的系统及方法。
背景技术
:随着互联网的普及与信息化技术的快速发展,数据已经成为企业内部的核心资产,数据安全问题或者说是信息安全问题也随着数据价值的凸显变得越来越重要。为了保护数据安全,出台了一系列的法律法规。如,国际上出台了联邦信息管理法案、塞班斯法案、健康保险流通与责任法案等法规以保护信息数据安全,国内也通过《信息系统安全等级保护》、《gbt22240-2008信息安全技术信息系统安全等级保护定级指南》、《信息安全技术公共及商用服务信息系统个人信息保护指南》等规范来保护信息数据的安全。然而,仅仅从法律层面上进行数据保护规则的制定,并不能完全解决数据安全问题。因此,很多企业采用技术手段来对敏感数据进行数据脱敏。数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反系统规则条件下,对真实数据进行改造并提供测试使用,如身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏。目前的一般数据脱敏做法是对敏感数据进行变形处理,保存到一个新的数据库中,需要访问这些数据的用户通过访问新的存储脱敏数据的数据库来进行操作。这样的方法确保了在一定程度上未被授权的用户只能访问脱敏数据,从而保证源系统数据的安全。不过这样的做法也存在一定的弊端,就是数据需要预处理,准备性工作量大,需要定期更新数据,而且是对所有的数据进行脱敏,可能有些用户对部分敏感数据有访问权限,因此这样的脱敏方式并不能满足灵活多变的需求。针对这个缺陷,有必要设计一种能够随着用户访问内容的变更而进行更有针对性的脱敏系统。技术实现要素:本发明意在提供一种能够根据用户需求进行针对性数据脱敏的通过变更sql语句实现数据脱敏的系统。方案一:本方案中的一种实现数据脱敏的系统,包括数据库以及依次连接的设置规则模块、识别需变更脚本模块、变更脚本模块和执行脚本模块;所述设置规则模块,用于根据业务需求设定用户对数据的访问权限以及对敏感字段设置sql改写规则并存储至数据库中;所述识别需变更脚本模块,从数据库中获取用户访问包括用户信息、sql脚本在内的系统数据信息,判断用户对数据的访问权限,对未授权用户的sql脚本进行识别,确定需要变更的脚本;所述变更脚本模块针对识别需变更脚本模块识别出的未授权用户的sql脚本进行改写变更;所述执行脚本模块执行从变更脚本模块传递来的变更后的sql脚本并生成脱敏数据,并将脱敏数据传递至用户访问的访问端。工作原理:工作时,预先通过设置规则模块将用户对数据的访问你权限以及对敏感字段的sql改写规则进行设置,并将设置信息保存至数据库中。在用户通过访问端访问系统的时候,识别需变更脚本模块从系统中获取包括用户信息和sql脚本在内的系统数据信息,判断用户数据的访问权限,并对未授权用户的sql脚本进行识别,确定需要变更的脚本。变更脚本模块接收接收到从识别需变更脚本模块传递来的需要变更的脚本并对齐进行变更。执行脚本模块接收从变更脚本模块传递来的变更后的sql脚本,运行并生成了脱敏数据,将脱敏数据传递回用户访问的访问端。当用户是未授权用户时,其访问端上显现的就是按照变更后的脚本进行脱敏后的脱敏数据。而根据设置规则模块中设置的用户对数据访问权限的不同,识别需变更脚本模块确定的需要变更的脚本不同,最后在进行数据脱敏后得到的脱敏数据自然也不同。简言之,根据用户访问权限的,其呈现在访问端上的内容不同。而每次进行数据脱敏都只是针对访问数据进行的,并不需要将所有数据都进行数据脱敏。有益效果:1.本发明只是针对被访问的数据进行数据脱敏,而不需要对所有数据进行数据脱敏,不仅弥补了目前数据脱敏需要所有数据一起数据脱敏而导致成本高的问题,还节省了大量原本用来对非访问数据进行数据脱敏的时间和人力。2.本发明正是因为只是针对访问数据进行数据脱敏,脱敏工作量小,脱敏速度快,实现了数据实时脱敏,而且还减少了脱敏数据空间占用。3.通过设置规则模块预先设置的访问权限和对应的对敏感字段的sql改写规则,使不同访问权限的用户能够得到不同脱敏程度的脱敏数据。访问权限越高,其脱敏程度越低。不仅实现了不同权限的分级访问,还有效降低了整体访问量的数据脱敏工作量。方案二:在方案一的基础上进一步,所述设置规则模块包括用来建立用户数据权限表的设置用户数据权限单元以及用来建立变更规则表的设置变更规则单元。通过设置用户数据权限单元建立用户数据权限表,来规定不同的用户对特定数据的访问权限。通过设置变更规则单元建立变更规则表,来规定不同敏感字段被访问时的变更规则。方案三:在方案一的基础上进一步,所述识别需变更脚本模块包括依次连接的获取用户权限单元、获取访问数据信息单元、识别用户权限单元和识别需变更脚本单元;所述获取访问数据信息单元从系统中获取包括用户信息和访问数据的sql脚本在内的系统上所有用户对所有数据资源的访问信息;所述获取用户权限单元从数据库中获取提前设定好的用户权限信息;所述识别用户权限单元根据获取用户权限单元中获取的用户权限信息,匹配当前用户及用户访问数据的信息,判断该用户是否对该数据有访问权限;所述识别需变更脚本单元对用户访问数据中的字段进行识别,划分出敏感字段。工作时,通过获取用户权限单元获取用户权限信息,然后通过获取访问数据信息单元获取用户需要访问的具体信息,然后通过识别用户权限单元判断该用户是否有访问这些信息的权限,并对照用户权限将获取的用户权限转换成具体的存储在数据库中由设置规则模块设定的该用户权限对应的sql改写规则,然后识别需变更脚本单元获取识别用户权限单元得到的改写规则,并根据这个改写规则对获取的访问数据信息进行敏感字段划分。方案四:在方案一的基础上进一步,所述变更脚本模块包括依次连接的获取变更规则单元和变更脚本单元;所述获取变更规则单元从数据库中获取设置变更规则单元中预先设置的变更规则;所述变更脚本单元对识别需变更脚本单元划分出的敏感字段,匹配相应的变更规则,变更敏感字段的访问脚本。工作时,在识别需变更脚本模块划分出敏感字段后,变更脚本模块通过获取变更规则单元获取事先设定的具体的变更规则,变更脚本单元按照该规则对敏感字段的访问脚本进行变更。方案五:在方案一的基础上进一步,所述执行脚本模块包括依次连接的执行变更脚本单元和返回脱敏数据单元;所述执行变更脚本单元从数据库中获取源数据并对源数据执行从变更脚本单元传递来的变更后的脚本,生成脱敏数据;所述返回脱敏数据单元接收脱敏数据并将脱敏数据传递至至访问用户的访问端。工作时,经过变更脚本模块将具体客户的访问信息的访问脚本更改后,执行脚本模块中的执行变更脚本单元按照变更后的访问脚本进行信息访问,使返回脱敏数据单元返回到客户访问端上的访问信息仅为进行脱敏后的数据信息。使用户仅能访问到与其用户权限相匹配的信息。本发明的另一目的是提供一种实现数据脱敏的系统的脱敏方法,包括以下步骤:步骤一:通过设置规则模块的设置用户数据权限单元,根据实际的业务需求,对用户的数据访问权限进行设置,形成存储至数据库中的用户数据权限表;步骤二:通过设置规则模块的设置变更规则单元,根据实际的业务需求,设置包括生产数据中的敏感字段以及敏感字段的sql改写规则在内的变更规则表,并存储至数据库中;步骤三:通过识别需变更脚本模块中的获取访问数据信息单元对用户在系统中访问数据的信息进行记录提取;步骤四:通过识别需变更脚本模块中的获取用户权限单元读取数据库中的用户数据权限表;步骤五:通过识别需变更脚本模块中的识别用户权限单元将获取访问数据信息单元中获取的用户信息与获取用户权限单元中获取的用户数据权限表进行对比,确定用户的权限;步骤六:通过识别需变更脚本模块中的识别需变更脚本单元,确定用户对具体访问信息中的字段访问权限;步骤七:通过变更脚本模块中的获取变更规则单元,从数据库中获取设置变更规则单元中建立的变更规则表;步骤八:通过变更脚本模块中变更脚本单元,对识别需变更脚本单元中未授权的敏感字段的访问脚本按照获取变更规则单元获取的变更规则进行改写,得到变更后的访问脚本;步骤九:通过执行脚本模块中的执行变更脚本单元按照步骤八得到的变更后的访问脚本进行信息访问,并得到访问结果;步骤十:通过执行脚本模块中的返回脱敏数据单元将步骤九中得到的访问结果返回给客户访问端。本发明通过用户权限进行分级数据脱敏,并且每次只针对访问信息进行数据脱敏,有效降低了非访问信息的脱敏工作量,而且大大降低了对数据库的占用空间。每次需要脱敏的只是访问信息,大大缩短了数据脱敏的处理时间。附图说明图1是本发明实施例的结构示意图。具体实施方式下面通过具体实施方式对本发明作进一步详细的说明:说明书附图中的附图标记包括:设置规则模块10、设置用户数据权限单元11、设置变更规则单元12、识别需变更脚本模块20、获取访问数据信息单元21、获取用户权限单元22、识别用户权限单元23、识别需变更脚本单元24、变更脚本模块30、获取变更规则单元31、变更脚本单元32、执行脚本模块40、执行变更脚本单元41、返回脱敏数据单元42。如图1所示,一种实现数据脱敏的系统,由设置规则模块10、识别需变更脚本模块20、变更脚本模块30和执行脚本模块40组成。设置规则模块10负责提前根据业务需求设定用户对数据的访问权限,对敏感字段设置sql的改写规则,一旦未授权的用户访问敏感字段,则系统自动将用户的访问语句改为该写规则,由设置用户数据权限单元11、设置变更规则单元12组成。设置用户数据权限单元11负责为用户授予对特定数据的访问权限,建立用户数据权限表。设置变更规则单元12负责设置敏感字段访问的变更规则,建立变更规则表。识别需变更脚本模块20负责获取用户访问系统数据信息,包括用户信息、sql脚本,判断用户对数据的访问权限,对未授权用户的sql脚本进行识别,确定需要变更的脚本,由获取访问数据信息单元21、获取用户权限单元22、识别用户权限单元23、识别需变更脚本单元24组成。获取访问数据信息单元21负责获取系统上所有用户对所有数据资源的访问信息,包括用户信息和访问数据的sql脚本。获取用户权限单元22负责从数据库中获取提前设定好的用户权限信息。识别用户权限单元23利用提前设定好的用户权限信息,匹配当前用户及用户访问数据的信息,以确定该用户是否对该数据有访问权限。识别需变更脚本单元24对用户访问数据中的字段进行识别,确定哪些是敏感字段。变更脚本模块30负责对未授权用户的数据访问脚本进行改写变更,由获取变更规则单元31、变更脚本单元32组成。获取变更规则单元31从数据库中获取设置变更规则单元12中配置的变更规则。变更脚本单元32对识别需变更脚本单元24中确定的敏感字段,匹配相应的变更规则,确定敏感字段的访问脚本如何变更。执行脚本模块40负责执行变更后的sql脚本并生成脱敏数据返回给用户,由执行变更脚本单元41、返回脱敏数据单元42组成。执行变更脚本单元41负责获取源数据并对源数据执行变更后的脚本,生成脱敏数据。返回脱敏数据单元42负责将脱敏数据返回至访问用户。该实例待脱敏源数据dim_cust如表1所示,敏感字段为id,用户数据权限表如表2所示,系统将根据用户数据权限表判断用户对源数据表的访问权限,对无访问权限的字段即敏感字段将根据变更规则表如表3进行脚本变更,然后执行得出脱敏后的数据dim_cust如表4所示,并返回给用户。表1表2no用户名数据对象表数据对象字段访问权限1tomdim_custnamey2tomdim_custidn3tomdim_custaddressy……………表3表4本实施例中实现数据脱敏的系统的脱敏方法,包括以下步骤:s1:设置规则模块10的设置用户数据权限单元11,根据实际的业务需求,对用户的数据访问权限进行设置,并存入用户数据权限表中,主要内容如表2,由系统管理人员对表进行维护修改。s2:设置规则模块10的设置变更规则单元12,根据实际的业务需求,确定生产数据中的敏感字段,确定敏感字段的脱敏规则,写入变更规则表中,主要包括内容如表3所示。s3:识别需变更脚本模块20中的获取访问数据信息单元21是对用户在系统中访问数据的信息进行记录,并提取,如在本优选实例中,用户tom访问数据表dim_cust,访问信息脚本如下:selectname,id,addressfromdim_cust。s4:识别需变更脚本模块20中的获取用户权限单元22是在数据库中读取用户数据权限表,此表是在用户数据权限单元11中建立的,如表2所示。s5:识别需变更脚本模块20中的识别用户权限单元23是对获取访问数据信息单元21中的用户信息,对比获取用户权限单元22中用户数据权限表,确定用户的权限。在本优选实例中,用户tom对dim_cust有访问权限。s6:识别需变更脚本模块20中的识别需变更脚本单元24,任务是确定用户对表中的字段权限,本优选实例中用户tom对字段name和address都有访问权限,对敏感字段id没有访问权限,参照表2所示。s7:变更脚本模块30中获取变更规则单元31,从数据库中获取设置变更规则单元12中建立的表变更规则表即表3。s8:变更脚本模块30中变更脚本单元32,是对识别需变更脚本单元24中未授权的敏感字段的访问脚本进行改写,在本实例中按照表3的规则是对字段id进行改写,改写后的访问sql脚本为selectname,left(id,14),addressfromdim_cust。s9:执行变更脚本单元41是在系统中执行变更脚本单元32中改写后的访问sql脚本,在本实例中执行selectname,left(id,14),addressfromdim_cust,执行后的结果如表4所示,表4即是脱敏后的数据。s10:返回脱敏数据单元42是将执行变更脚本单元41中的结果,即脱敏数据如表4,返回给用户,至此实现了通过变更sql语句实现数据脱敏。以上所述的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属
技术领域
所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本申请给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本申请的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1