敏感数据脱敏系统及处理方法与流程

文档序号:18601779发布日期:2019-09-03 22:44阅读:1576来源:国知局
敏感数据脱敏系统及处理方法与流程

本发明属于数据脱敏技术领域,具体涉及敏感数据脱敏系统及处理方法。



背景技术:

随着大数据所蕴含着的巨大商业价值愈发受到各方关注,目前各行各业都在致力于大数据的挖掘和分析。然而,大数据往往包含用户大量的敏感信息,而未经处理直接发布或共享原始数据,将不可避免地泄露用户隐私信息。例如,运营商在外包项目工程时,需要提供测试数据,如果直接从数据库中导出,必然会泄露用户信息。不止如此,诸如为政府企业提供数据发布服务、为高校研究院提供分析数据的平台,如果不妥善处理隐私信息,也有泄露用户隐私的风险。

目前,个人隐私保护问题己经引起了公众的广泛关注,不仅在我国,在欧盟和美国也有新增立法保护个人信息。由此可见,如果不能解决由于大数据发布或共享导致的个人隐私泄露的问题,将给相关数据发布和使用方带来严重的法律风险,进而阻碍大数据技术的应用和发展。

针对隐私保护问题,samarati和sweeney于1998年首次提出了匿名化的概念,为了在数据共享过程中实现匿名化,最初使用传统脱敏算法通过对数据直接进行乱序、掩盖、统一泛化等操作达到保护用户隐私的目的,但是也难以满足大数据背景下的隐私保护需求。



技术实现要素:

针对现有技术中的缺陷,本发明提供一种基于spark并行计算框架设计实现的可灵活配置、支持多数据源、支持多种数据脱敏算法的敏感数据脱敏系统及处理方法。

第一方面,一种敏感数据脱敏系统,包括:

用户管理模块:用于接收用户的请求,并通过消息总线将该请求发送给所述访问控制模块;

消息总线:用于负责各个模块之间消息的转发;

访问控制模块:用于根据用户管理模块的请求查询数据库的数据,并返回给消息总线;

数据库:用于按照预设的数据格式存储数据;

脱敏管理模块:用于获取消息总线提交的数据脱敏请求,解析用户提交的脱敏规则,同时封装所述脱敏规则中的损失函数,将所述脱敏规则和损失函数发送给脱敏模块;

脱敏模块:执行在spark并行计算框架之上,用于执行由脱敏管理模块提供的脱敏规则和损失函数计算服务。

优选地,所述访问控制模块还用于:当所述请求中包含用户管理指令或数据上传指令时,向消息总线发放或回收令牌,执行消息总线与数据库之间的数据存储操作;

所述访问控制模块还用于:当所述请求中包含日志查询指令时,向消息总线发放或回收令牌,执行日志查询操作。

优选地,所述用户管理模块还用于:接收用户的请求,执行用户的注册和删除操作;还用于接收用户的调度请求,向预设的任务调度模块申请相应资源。

优选地,所述数据库包括:

数据库配置信息表:包括数据库名,数据拥有者名称和数据库访问方式;其中,该表的主键为数据库名称和数据拥有者名称;

数据表配置信息表:包括数据库名称,数据表名称和配置信息;其中,配置信息使用json格式存储;

数据拥有者信息表:包括数据拥有者的名字,信息,令牌和令牌解除使用时间;其中,该表的主键为数据拥有者的名字;

数据使用者信息表:包括数据使用者的名字,所属的数据拥有者,令牌和令牌解除时间;其中,该表的主键为数据使用者的名字和所属的数据拥有者;

数据使用者配置信息表:包括令牌和持有该令牌的数据使用者的权限信息;其中,所述权限信息包括数据库,数据表,权限解除时间和权限具体配置信息;所述权限具体配置信息与所述数据表配置信息相同。

第二方面,一种敏感数据脱敏系统的处理方法,包括以下步骤:

用户管理模块接收用户发起的请求,通过消息总线将该请求发送给访问控制模块;

访问控制模块根据该请求查询数据库中该用户的权限以及数据上传者设置的使用规则,访问控制模块将该用户的权限以及使用规则提交给消息总线;

消息总线根据该用户的权限以及使用规则生成数据脱敏请求,发送给所述脱敏管理模块;

脱敏管理模块根据数据脱敏请求返回脱敏数据范围给消息总线;

消息总线将脱敏数据范围、以及使用规则提交给脱敏模块;

脱敏模块根据脱敏数据范围、用户的权限以及使用规则完成数据脱敏后,得到脱敏数据,将脱敏数据发送至消息总线;

消息总线脱敏数据以及对应的数据使用者、使用权限存入数据库中,并将脱敏数据返回给用户管理模块。

优选地,所述脱敏模块根据脱敏数据范围、用户的权限以及使用规则完成数据脱敏后,得到脱敏数据具体包括:

脱敏模块依据信息类别对所述脱敏数据范围进行脱敏,得到初步脱敏数据;

脱敏模块根据所述使用规则、用户的权限对所述初步脱敏数据进行脱敏,得到所述脱敏数据。

优选地,该方法在所述用户管理模块接收用户发起的请求之前,还包括:

当用户管理模块接收到用户的请求包括用户管理指令时,通过消息总线将该请求发送给访问控制模块;

访问控制模块根据该请求查询数据库中该用户的权限,并将该用户的权限提交给消息总线;

消息总线根据请求中的请求数据修改数据库,执行用户的注册和删除操作,并将执行结果返回给用户管理模块。

优选地,该方法在所述用户管理模块接收用户发起的请求之前,还包括:

当用户管理模块接收到用户的请求包括数据上传指令时,通过消息总线将该请求发送给访问控制模块;

访问控制模块根据该请求查询数据库中该用户的权限,并将该用户的权限提交给消息总线;

消息总线根据用户的权限,将请求中的入库数据和使用要求发送给数据库进行存储,生成存储结果;

消息总线将存储结果返回给用户管理模块。

优选地,该方法在所述消息总线将脱敏数据返回给用户管理模块之后,还包括:

当用户管理模块接收到用户的请求包括日志查询指令时,通过消息总线将该请求发送给访问控制模块;

访问控制模块根据该请求查询数据库中该用户的权限,并将该用户的权限提交给消息总线;

消息总线根据用户的权限,查询数据库中的日志信息;所述日志信息包括时间、时间、脱敏数据范围和脱敏结果;

消息总线将所述日志信息返回给用户管理模块。

由上述技术方案可知,本发明提供的敏感数据脱敏系统及处理方法,具有以下优点:

该系统通过接口、配置等方式向用户(数据拥有者和数据使用者)提供角色权限管理、脱敏规则管理和脱敏数据计算服务。

对于数据拥有者而言,其可以通过不同的数据源向该系统的数据库存放数据。并且通过向其他主体发放令牌的方式决定何人能够使用这些数据。同时,数据拥有者可以配置数据使用者的脱敏等级、定制化地针对不同数据使用者配置不同的使用规则。

对于数据使用者而言,可以通过本系统请求其具有权限的数据,系统收到数据使用者的请求后,针对该数据拥有者的配置提供大数据脱敏运算服务并返回脱敏结果存储地址,另外数据使用者还可以通过本系统查看当前的访问权限,历史任务和历史任务信息等。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。

图1为本发明实施例一提供的敏感数据脱敏系统的框架图。

图2为本发明实施例一提供的数据库总体设计图。

图3为本发明实施例二提供的处理方法的流程图。

图4为本发明实施例二提供的脱敏模块脱敏的流程图。

图5为本发明实施例三提供的用户管理方法的流程图。

图6为本发明实施例三提供的数据入库流程的流程图。

图7为本发明实施例三提供的日志查询的流程图。

具体实施方式

下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

实施例一:

一种敏感数据脱敏系统,参见图1,包括:

用户管理模块:用于接收用户的请求,并通过消息总线将该请求发送给所述访问控制模块;用户管理模块还用于:接收用户的请求,执行用户的注册和删除操作;还用于接收用户的调度请求,向预设的任务调度模块申请相应资源。

具体地,用户管理模块可以实现用户注册、用户删除等操作。用户管理模块可以分为数据拥有者子模块和数据使用者子模块。同时,在系统运行过程中,用户管理模块也负责与访问控制模块一同协作,完成用户的权限范围管理工作,其中包括权限令牌的发放和收回。系统通过管理令牌的使用时间和适用范围,并向用户派发令牌来管理用户权限。

消息总线:用于负责各个模块之间消息的转发;同时还可以处理计算资源的分配。用户发起计算请求后,由消息总线向其他模块传递请求。

访问控制模块:用于根据用户管理模块的请求查询数据库的数据,并返回给消息总线;访问控制模块还用于:当所述请求中包含用户管理指令或数据上传指令时,向消息总线发放或回收令牌,执行消息总线与数据库之间的数据存储操作;所述访问控制模块还用于:当所述请求中包含日志查询指令时,向消息总线发放或回收令牌,执行日志查询操作。

具体地,访问控制模块,负责与用户管理模块协同完成令牌的发放和回收工作。同时,在系统运行过程中,数据使用者在使用数据时,需要向访问控制模块提供令牌。访问控制模块判定其能否访问,采用怎样的脱敏等级访问等内容,消息总线会将这些数据传递至脱敏管理模块。

数据库:用于按照预设的数据格式存储数据;优选地,所述数据库包括:

数据库配置信息表:包括数据库名,数据拥有者名称和数据库访问方式;其中,考虑到对于不同的数据拥有者所对应的数据库注册隔离性,该表的主键为数据库名称和数据拥有者名称;

数据表配置信息表:包括数据库名称,数据表名称和配置信息;其中,配置信息使用json格式存储,使用时则直接从数据库读取并解析;

数据拥有者信息表:包括数据拥有者的名字,信息,令牌和令牌解除使用时间;其中,该表的主键为数据拥有者的名字,与令牌一一对应。

数据使用者信息表:包括数据使用者的名字,所属的数据拥有者,令牌和令牌解除时间;其中,该表的主键为数据使用者的名字和所属的数据拥有者;

数据使用者配置信息表:包括令牌和持有该令牌的数据使用者的权限信息;其中,所述权限信息包括数据库,数据表,权限解除时间和权限具体配置信息;所述权限具体配置信息与所述数据表配置信息相同,在持有令牌的用户执行数据申请服务时,将由脱敏规则管理模块结合数据表配置信息和数据使用者配置信息执行解析合并,并返回最终的配置信息。

脱敏管理模块:用于获取消息总线提交的数据脱敏请求,解析用户提交的脱敏规则和配置文件,同时封装所述脱敏规则中的损失函数,将所述脱敏规则和损失函数发送给脱敏模块;

脱敏模块:执行在spark并行计算框架之上,用于执行由脱敏管理模块提供的脱敏规则和损失函数计算服务。

具体地,该系统这几个模块需要调用到系统的存储服务。该系统的存储服务包括两类:第一类为系统的dao层,使用关系型数据库存储用户提供的基本信息。第二类为由hdfs文件系统提供底层存储支持,上层支持sql向上层隐藏底层数据的读取过程,实现计算模块和底层存储的解耦的存储服务。数据库总体设计如附图2所示。

该系统通过接口、配置等方式向用户(数据拥有者和数据使用者)提供角色权限管理、脱敏规则管理和脱敏数据计算服务。

对于数据拥有者而言,其可以通过不同的数据源向该系统的数据库存放数据。并且通过向其他主体发放令牌的方式决定何人能够使用这些数据。同时,数据拥有者可以配置数据使用者的脱敏等级、定制化地针对不同数据使用者配置不同的使用规则。

对于数据使用者而言,可以通过本系统请求其具有权限的数据,系统收到数据使用者的请求后,针对该数据拥有者的配置提供大数据脱敏运算服务并返回脱敏结果存储地址,另外数据使用者还可以通过本系统查看当前的访问权限,历史任务和历史任务信息等。

实施例二:

一种敏感数据脱敏系统的处理方法,参见图3,包括以下步骤:

用户管理模块接收用户发起的请求,通过消息总线将该请求发送给访问控制模块;

访问控制模块根据该请求查询数据库中该用户的权限以及数据上传者设置的使用规则,访问控制模块将该用户的权限以及使用规则提交给消息总线;

消息总线根据该用户的权限以及使用规则生成数据脱敏请求,发送给所述脱敏管理模块;

脱敏管理模块根据数据脱敏请求返回脱敏数据范围给消息总线;

消息总线将脱敏数据范围、以及使用规则提交给脱敏模块;

脱敏模块根据脱敏数据范围、用户的权限以及使用规则完成数据脱敏后,得到脱敏数据,将脱敏数据发送至消息总线;

消息总线脱敏数据以及对应的数据使用者、使用权限存入数据库中,并将脱敏数据返回给用户管理模块。

具体地,脱敏过程是系统的关键过程,首先由数据使用者请求数据的过程,也是数据脱敏实施的步骤。数据使用者向用户管理模块发出数据的请求。用户管理模块接收到请求后,会通过访问控制模块查询用户的权限、以及数据上传者设置的使用要求。这些信息会由访问控制模块提交至消息总线后,进入脱敏管理模块。脱敏管理模块会生成需要脱敏数据范围,并通过消息总线将数据脱敏的使用要求提交至脱敏模块。脱敏模块完成数据脱敏后,会将脱敏数据发送至消息总线,消息总线收到数据后,会将数据使用者、使用权限、脱敏数据存入数据库中,以备后续的审计过程。之后会将脱敏数据送至用户管理模块,最后由用户取得。

参见图4,所述脱敏模块根据脱敏数据范围、用户的权限以及使用规则完成数据脱敏后,得到脱敏数据具体包括:

脱敏模块依据信息类别对所述脱敏数据范围进行脱敏,得到初步脱敏数据;

脱敏模块根据所述使用规则、用户的权限对所述初步脱敏数据进行脱敏,得到所述脱敏数据。

具体地,脱敏模块在脱敏时,采取的是信息属性和信息内容综合脱敏的方式。首先,数据会依据属性进行脱敏,属性是信息类别(例如姓名、手机号码等),只要符合该类别的数据都会进行脱敏。在完成初步脱敏后,剩余的数据需要匹配数据拥有者的使用要求以及数据使用者的用户权限进行更加细致的脱敏。例如数据使用者拥有查看“信息”的权利,在第一步脱敏中,这些数据还会保持原文。但是数据拥有者事先设置了禁止出现“李老师”字样,那么在第二步脱敏过程中,拥有“李老师”的部分会命中脱敏规则。

本发明实施例所提供的方法,为简要描述,实施例部分未提及之处,可参考前述系统实施例中相应内容。

实施例三:

实施例三在实施例二的基础上,增加以下内容:

参见图5,该方法在所述用户管理模块接收用户发起的请求之前,还包括:

当用户管理模块接收到用户的请求包括用户管理指令时,通过消息总线将该请求发送给访问控制模块;

访问控制模块根据该请求查询数据库中该用户的权限,并将该用户的权限提交给消息总线;

消息总线根据请求中的请求数据修改数据库,执行用户的注册和删除操作,并将执行结果返回给用户管理模块。

具体地,该方法还包括用户(数据拥有者、使用者)通过用户管理模块进行用户的注册、删除等功能。用户只需将需要进行的操作发送给用户管理模块即可。

参见图6,该方法在所述用户管理模块接收用户发起的请求之前,还包括:

当用户管理模块接收到用户的请求包括数据上传指令时,通过消息总线将该请求发送给访问控制模块;

访问控制模块根据该请求查询数据库中该用户的权限,并将该用户的权限提交给消息总线;

消息总线根据用户的权限,将请求中的入库数据和使用要求发送给数据库进行存储,生成存储结果;

消息总线将存储结果返回给用户管理模块。

具体地,该部分实现数据入库流程,主要是数据拥有人将数据传送到数据库内的流程。用户需要通过用户管理模块将数据上传,同时设定使用要求。用户管理模块接收到数据后,首先匹配用户身份,之后通过消息总线将数据以及相关管理信息存放到系统数据库中。

参见图7,该方法在所述消息总线将脱敏数据返回给用户管理模块之后,还包括:

当用户管理模块接收到用户的请求包括日志查询指令时,通过消息总线将该请求发送给访问控制模块;

访问控制模块根据该请求查询数据库中该用户的权限,并将该用户的权限提交给消息总线;

消息总线根据用户的权限,查询数据库中的日志信息;所述日志信息包括时间、时间、脱敏数据范围和脱敏结果;

消息总线将所述日志信息返回给用户管理模块。

具体地,为了便于用户检测脱敏效果以及事后审计,该方法提供日志查询功能。日志查询由数据拥有者发起,请求由用户管理模块接收。用户管理模块接收后,首先通过消息总线查询相关操作权限,在有权限的情况下查询数据库,读取出当时的事件、时间、脱敏数据范围以及脱敏结果。

该方法还可以查询数据使用者的历史任务查询,将数据使用者发起的历史任务存放在数据请求记录信息表中,该表记录了每次访问的时间,提出请求的数据库,数据表,使用的令牌,系统返回的任务编号和当前任务的执行状态,其中执行状态用整型表示,0代表正在运行,1代表运行完成,-1代表运行失败。

本发明实施例所提供的方法,为简要描述,实施例部分未提及之处,可参考前述实施例中相应内容。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1