数据脱敏系统的制作方法

文档序号:14675638发布日期:2018-06-12 21:27阅读:415来源:国知局
数据脱敏系统的制作方法

本实用新型涉及信息安全技术领域,尤其涉及一种数据脱敏系统。



背景技术:

随着市场壮大和业务发展,企业数据库中存储的客户资料越来越多,一旦发生泄露,将会对企业带来巨大的信任危机及经济损失,对于敏感数据的脱敏处理是预防数据泄漏的积极、有效手段。数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。借助数据脱敏技术,屏蔽敏感信息,并使屏蔽的信息保留其原始数据格式和属性,以确保系统或应用程序可在使用脱敏数据的开发与测试过程中正常运行。政府、金融、电信、银行、事业单位、个体企业等各行业用户意识到数据已成为企业的核心资产,商业数据、人力资源数据、财务数据等敏感信息,将直接影响企业的生存和发展,对核心数据资产非常重视,对脱敏过程中数据落地的实现方式产生质疑,担心落地数据会有泄漏风险。

在现有技术中,通常的脱敏系统进行脱敏处理的流程如图1所示,根据测试、开发需求抽取核心数据到压缩格式的抽取文件中,将抽取中的敏感字段(客户信息相关字段)进行脱敏,利用脱敏抽取文件中保留的对象定义DDL,在开发环境中变更或创建初始数据环境,将脱敏后的数据插入目标环境,包括开发、测试环境。但是,现有脱敏系统在数据访问和传输过程中没有使用保密措施,数据在此过程中都存在泄密的可能性,并且基于文件的脱敏方法,在脱敏过程中必须生成临时文件,数据在此过程中也存在泄密的可能性。



技术实现要素:

有鉴于此,本实用新型实施例提供一种数据脱敏系统,可以进行“不落地数据脱敏”处理。

根据本实用新型实施例的一个方面,提供一种数据脱敏系统,包括:数据源服务器、目标服务器、脱敏执行服务器和客户端设备;所述数据源服务器用于存储原始数据,所述目标服务器用于存储脱敏数据;所述客户端设备与所述脱敏执行服务器连接,向所述脱敏执行服务器发送数据脱敏指令;所述脱敏执行服务器分别与所述数据源服务器和所述目标服务器连接,在内存中对原始数据执行脱敏操作并将生成的脱敏数据发送至所述目标服务器;所述客户端设备包括:指纹输入模块、认证请求模块;所述脱敏执行服务器包括:用户认证模块;所述指纹输入模块,与所述认证请求模块连接,用于采集用户的指纹,将指纹特征信息发送给所述认证请求模块;所述认证请求模块将所述指纹特征信息发送给所述用户认证模块;所述用户认证模块将存储的用户指纹特征信息与此指纹特征信息进行比对,确定此用户的身份并获取用户信息。

可选地,所述数据源服务器包括:源数据库服务器;所述目标服务器包括:目标数据库服务器。

可选地,所述客户端设备包括:声纹获取模块,与所述认证请求模块连接,用于采集用户的声音,并将声纹特征信息发送给所述认证请求模块;所述认证请求模块将所述声纹特征信息发送给所述用户认证模块;所述用户认证模块将存储的用户声纹特征信息与此声纹特征信息进行比对,确定此用户的身份并获取用户信息。

可选地,所述客户端设备包括:面部采集模块,与所述认证请求模块连接,用于获取待识别的人脸图像,将所述人脸特征发送给所述认证请求模块;所述认证请求模块将所述人脸特征发送给所述用户认证模块;所述用户认证模块将存储的用户人脸特征信息与此人脸特征进行比对,确定此用户的身份并获取用户信息。

可选地,所述客户端设备包括:GPS模块,与所述认证请求模块连接,用于获取客户端设备的GPS位置信息,将GPS位置信息发送给所述认证请求模块;所述认证请求模块将所述GPS位置信息发送给所述用户认证模块。

本实用新型的数据脱敏系统,脱敏执行服务器从数据源服务器中读取原始数据,将原始数据中的敏感信息替换为对应的替换信息生成脱敏数据并发送至目标服务器存储,采用JDBC、ODBC和管道流等方式获取原始数据以及存储目标数据,脱敏过程中不需要生成任何临时文件,并且脱敏执行服务器与客户端通信采用加密传输方式,并能够对用户进行认证,可以进行“不落地数据脱敏”,能够保障客户生产数据在非生产环境中安全使用,防止敏感信息泄露,保障数据安全,提升脱敏操作的效率。

本实用新型实施例附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本实用新型的实践了解到。

附图说明

为了更清楚地说明本实用新型实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本实用新型的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图:

图1为现有技术中脱敏系统进行脱敏处理的流程示意图;

图2为根据本实用新型的数据脱敏系统的一个实施例的示意图;

图3为根据本实用新型的数据脱敏系统的一个实施例中的客户端设备的模块示意图;

图4为根据本实用新型的数据脱敏系统的一个实施例中的脱敏执行服务器的模块示意图;

图5为根据本实用新型的数据脱敏系统的一个实施例进行脱敏处理的流程示意图;

图6为根据本实用新型的数据脱敏系统的一个实施例中的用于进行用户认证的模块示意图。

具体实施方式

现在将参照附图来详细描述本实用新型的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本实用新型的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本实用新型及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本实用新型实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令 (诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

本实用新型提供一种数据脱敏系统,如图2所示,数据脱敏系统包括:脱敏执行服务器1、数据源服务器2、目标服务器3和客户端设备4。客户端设备4可以为PC、移动终端等。数据源服务器2存储原始数据,目标服务器3存储脱敏数据。

脱敏执行服务器1接收客户端设备4发送的数据脱敏指令,根据数据脱敏指令从数据源服务器2中读取原始数据放入内存中,在内存中执行脱敏操作生成脱敏数据,并将脱敏数据发送至目标服务器2存储。

脱敏执行服务器1执行的脱敏操作有多种,例如:基于预设的数据脱敏规则对原始数据中的敏感信息进行定位并生成与敏感信息对应的替换信息、将原始数据中的敏感信息替换为对应的替换信息生成脱敏数据等。

脱敏执行服务器1在内存中执行脱敏操作,在脱敏过程中并不生成任何临时文件,将脱敏数据直接发送到目标服务器3中存储,实现脱敏过程中的数据不落地,提高对数据的安全保护。

本实用新型中的“不落地数据脱敏”是指生产环境中的涉及个人隐私或者其它需要保护的敏感业务数据在需要进入非生产环境或者测试环境时,脱敏过程中不需要生成任何临时文件,脱敏后的目标数据直接进入非生产环境或者测试环境。

敏感数据通常包含客户个人隐私数据以及某些关键的敏感业务数据,例如,姓名:客户姓名、客户名等;地址:家庭地址、公司地址等;邮箱:公司邮箱、常用邮箱等;电话:手机、固定电话等;证件:身份证、护照、军官证等;帐号:银行卡、客户号、税务登记号、组织机构代码、营业执照号等;邮编:公司邮编、家庭住址邮编等;日期:生日等。

如图3所示,客户端设备4包括:连接建立模块41、第一加解密模块41 和指令发送模块42。如图4所示,脱敏执行服务器1包括:证书管理模块 11、第二加解密模块12、脱敏规则建立模块13、脱敏数据处理模块14、源数据获取模块15和目标数据存储模块16。

连接建立模块41与脱敏执行服务器1建立HTTPs连接,通过https协议来加密信息,以免敏感信息被第三方获取。客户端设备4可以设置浏览器,通过在浏览器里输入脱敏执行服务器1的https网址,连接到脱敏执行服务器1的443端口。

第一加解密模块42向脱敏执行服务器1发送数字证书请求。证书管理模块11将与客户端设备4相对应的数字证书通过HTTPs连接发送给客户端设备4,数字证书包含加密公钥。采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请。自己制作证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面。数字证书对应于一对加密公钥和加密私钥,将包含有加密公钥的数字证书发送给客户端设备4。

第一加解密模块42基于TLS协议解析数字证书并验证加密公钥是否有效,比如颁发机构,过期时间等。如果确定加密公钥有效,第一加解密模块 42生成一组随机数,使用加密公钥加密随机数,并将随机数的加密结果发送给脱敏执行服务器。如果第一加解密模块42验证加密公钥发现异常,则会弹出一个警告框,提示证书存在问题。

第二加解密模块12使用加密私钥对加密结果进行解密,获得随机数。客户端设备4和脱敏执行服务器1使用随机数作为共享密钥进行加密通信。例如,第一加解密模块42使用随机数作为密钥,基于预设的对称加密算法对数据脱敏指令进行对称加密,并将加密后的数据脱敏指令发送给脱敏执行服务器1。第二加解密模块12使用随机数并基于对称加密算法对加密后的数据脱敏指令进行解密,获取数据脱敏指令。进行对称加密、解密采用的方法包括:DES算法、3DES算法等,进行非对称加密、解密采用的方法包括:RSA算法、背包算法等。

在一个实施例中,数据脱敏指令中携带的信息有多种,例如敏感数据类型、与敏感数据类型对应的脱敏算法等。脱敏规则建立模块13基于数据脱敏规则信息配置与数据源服务器对应的数据脱敏规则模板,数据脱敏规则模板中的数据脱敏规则包括:敏感数据类型以及对其进行脱敏采用的脱敏算法等。例如,数据脱敏规则模板中的一条数据脱敏规则是如何确定敏感数据为身份证号码,以及确定敏感数据类型为身份证号码时对于身份证号码进行脱敏采用的脱敏算法。

脱敏数据处理模块14在执行脱敏任务时,获取数据脱敏规则模板中的数据脱敏规则对原始数据进行分析,定位原始数据中的敏感信息,确定此敏感信息的敏感数据类型以及对应的脱敏算法,调用确定的脱敏算法生成与此敏感信息对应的替换信息并进行替换。

可以通过数据库保存数据脱敏规则模板,在进行脱敏时,将数据脱敏规则模板以及脱敏算法包加载在内存中,可以通过客户端设备4对数据脱敏规则模板进行动态的修改和设置,确定对某类型的脱敏数据进行脱敏采用的脱敏算法等。可以通过反射方式动态调用脱敏算法,调用脱敏算法实际上是调用与脱敏算法相对应的程序函数,例如jar包中的相关类中的与脱敏算法对应的方法。

JAVA反射机制是在运行状态中,对于任意一个类都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意方法和属性,这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。客户端设备4将脱敏算法更新包上传到脱敏执行服务器。脱敏数据处理模块14 根据预设的脱敏算法包名获取脱敏算法更新包,并在脱敏算法更新包中查找与脱敏算法对应的目标类。脱敏数据处理模块14利用java反射机制,在目标类中获取与脱敏算法对应的新脱敏计算目标方法以及属性,调用新脱敏计算目标方法以及属性生成与此敏感信息对应的替换信息并进行替换。

数据源服务器包括:源数据库服务器。目标服务器包括:目标数据库服务器。数据脱敏指令携带的信息包括:源数据库的连接信息和鉴权信息、目标数据库的连接信息和鉴权信息等。连接信息是数据库的IP地址和端口信息,鉴权信息可以是用户名、密码。源数据获取模块15根据源数据库的连接信息和鉴权信息与源数据库服务器建立源数据库连接。

可以使用sql查询语句,通过源数据库连接获取源数据库中待读取的数据记录的总条数,基于总条数设置分页,生成分页查询语句,分页查询语句中包含有待读取的起始数据的主键值、读取数据的数量。源数据获取模块 15依次向源数据库发送分页查询语句,分页提取源数据库中的数据,得到分页数据。

脱敏数据处理模块14基于数据脱敏规则对分页数据执行脱敏操作并生成分页脱敏数据。脱敏数据存储模块16根据目标数据库的连接信息和鉴权信息与目标数据库服务器建立目标数据库连接,通过目标数据库连接将分页脱敏数据发送至目标数据库进行存储。源数据库连接和目标数据库连接包括:jdbc连接、ODBC连接等。

如图5所示,脱敏执行服务器可以从数据源服务器中的源数据库或者源数据文件获取原始数据,将脱敏数据发送至目标服务器中的目标数据库或者目标数据文件中存储,执行“不落地脱敏”。源数据库和目标数据库可以支持多种数据库,例如Oracle、IBM DB2、MS SQl SERVER、Mysql、Informix、 Teradata、Sybase等,也可以支持其他的关系形数据库。源数据文件和目标数据文件都为格式化文件。

源数据获取模块15通过JDBC、ODBC等从关系型数据库取出源数据,可以按照不同数据库相应的批量读取方式。源数据获取模块15根据不同的数据库以及表的大小行数去设置分页、分块方式,可以按照系统默认的最优的方式进行分页或者分块从数据库得到数据,同时也可以根据具体实施环境,根据提供的服务接口去修改默认的分页或分块方式,灵活方便。脱敏数据存储模块16将目标数据通过JDBC、ODBC等,并根据不同的数据库以及表的大小进行相应的批量提交方式,放入目标数据库,数据直接从数据库接收数据脱敏请求后,放入目标数据库,此过程不落地。

在一个实施例中,源数据获取模块15与源数据库服务器建立源数据流管道,数据流管道可以为输入输出流,源数据库可以为数据仓库、分布式数据库。源数据获取模块15会根据相应的数据库读取命令建立源数据流管道,快速得到数据库的源数据流,省去了频繁查询数据的过程,有效的提升了数据库读取的效率。

根据源数据获取模块15向源数据库发送的数据库命令,源数据库从源数据文件中提取原始数据,基于预设的管道数据格式将此原始数据封装为原数据对象,将原数据对象写入源数据流管道。源数据获取模块15从源数据流管道中读取原数据对象。脱敏数据处理模块14基于数据脱敏规则对原数据对象执行脱敏操作并生成脱敏数据。

脱敏数据存储模块16与目标数据库服务器建立目标数据流管道,数据流管道可以为输入输出流,目标数据库为数据仓库、分布式数据库等。脱敏数据存储模块16会根据相应的数据库读取命令建立目标数据流管道,能够快速向数据库发送数据流。脱敏数据存储模块16将此脱敏数据根据管道数据格式封装为脱敏数据对象,将脱敏数据对象写入目标数据流管道。根据源数据获取模块15向源数据库发送的数据库命令,目标数据库从目标数据流管道中获取脱敏数据对象,并将脱敏数据对象中的脱敏数据存储在目标数据文件中。

将源数据库从源数据文件中提取的源数据流封装为原数据对象,将脱敏数据处理过程封装为脱敏数据对象。原数据对象可以向管道中写入数据,脱敏数据对象以管道流方式不落地存入目标数据库,此管道流方式是不消耗内存的,所以节省了内存空间,并且实现了数据不落地,连续的处理。此过程是以批量的方式,不需要反复的查询插入的过程,这个过程中没有写磁盘。

在一个实施例中,当用户需要对数据源服务器2中的原始数据进行脱敏处理时,需要对用户的身份进行验证。脱敏执行服务器1预先建立用户账号,设置权限等相关信息,以及用于对用户进行认证的用户验证信息。权限包括可以对哪些数据源服务器2中的原始数据进行脱敏处理等。

客户端设备4将采集的用户输入的验证信息发送到脱敏执行服务器1进行用户认证,以使脱敏执行服务器1确定此用户的信息以及相关的权限。客户端设备4接收脱敏执行服务器1发送的验证结果,基于验证结果确定用户是否能够进行相应的脱敏操作等。验证信息包括:用户名、密码、声纹、指纹、面部特征等。对于用户进行认证的方式可以为密码认证、指纹认证、面部识别、声纹识别等。

如图6所示,客户端设备4包括:认证请求模块43;脱敏执行服务器1 包括:用户认证模块17。认证请求模块43获取用户在认证页面中输入的用户名、密码并发送给用户认证模块17;用户认证模块17将存储的用户名、密码与此用户名、密码进行比对,确定此用户的身份并获取用户信息。

客户端设备4包括:指纹输入模块44、声纹获取模块45、面部采集模块 46和GPS模块46。指纹输入模块44与认证请求模块43连接,指纹输入模块 44采集用户的指纹,将采集的指纹按预设的指纹算法进行数值化处理获取指纹特征信息,并将指纹特征信息发送给认证请求模块43;认证请求模块43 将指纹特征信息发送给用户认证模块17;用户认证模块17将存储的用户指纹特征信息与此指纹特征信息进行比对,确定此用户的身份并获取用户信息。

声纹获取模块45认证请求模块43连接,声纹获取模块45采集用户的声音,将采集的声音按预设的声纹算法进行数值化处理获取声纹特征信息,并将声纹特征信息发送给认证请求模块43;认证请求模块43将声纹特征信息发送给用户认证模块17;用户认证模块17将存储的用户声纹特征信息与此声纹特征信息进行比对,确定此用户的身份并获取用户信息。

面部采集模块46与认证请求模块43连接,面部采集模块46获取待识别的人脸图像,提取待识别的人脸图像中的人脸特征,将人脸特征发送给认证请求模块43;认证请求模块43将人脸特征发送给用户认证模块17;用户认证模块17将存储的用户人脸特征信息与此人脸特征进行比对,确定此用户的身份并获取用户信息。

GPS模块47与认证请求模块43连接,GPS模块47获取客户端设备4的 GPS位置信息,将GPS位置信息发送给认证请求模块43;认证请求模块43 将GPS位置信息发送给用户认证模块17。可以根据GPS位置信息确定客户端设备4是否处于许可区域中。许可区域可以是预设的能够进行脱敏操作的区域,例如是客户的办公地点等。如果判断客户端设备4GPS位置信息在允许的区域外,则不允许用户进行脱敏操作。

上述实施例中的数据脱敏系统,脱敏执行服务器从数据源服务器中读取原始数据,将原始数据中的敏感信息替换为对应的替换信息生成脱敏数据并发送至目标服务器存储,采用JDBC、ODBC和管道流等方式获取原始数据以及存储目标数据,脱敏过程中不需要生成任何临时文件,并且脱敏执行服务器与客户端通信采用加密传输方式,并能够对用户进行认证,可以进行“不落地数据脱敏”,能够保障客户生产数据在非生产环境中安全使用,防止敏感信息泄露,保障数据安全,提升脱敏操作的效率,满足企业对于信息安全的要求。

可能以许多方式来实现本实用新型的方法和装置、设备。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本实用新型的方法和装置、设备。用于方法的步骤的上述顺序仅是为了进行说明,本实用新型的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本实用新型实施为记录在记录介质中的程序,这些程序包括用于实现根据本实用新型的方法的机器可读指令。因而,本实用新型还覆盖存储用于执行根据本实用新型的方法的程序的记录介质。

本实用新型的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本实用新型限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本实用新型的原理和实际应用,并且使本领域的普通技术人员能够理解本实用新型从而设计适于特定用途的带有各种修改的各种实施例。

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