可连续查询的数据脱敏方法和系统技术方案

技术编号:16270386 阅读:53 留言:0更新日期:2017-09-22 22:01
本发明专利技术属于信息安全领域,提供了一种可连续查询的数据脱敏方法和系统,其中系统包括:客户端管理器,用于提交用户的会话ID,监听会话的销毁;脱敏规则设置单元,用于系统管理员设置需保护数据服从的脱敏规则,并根据会话ID删除会话数据;敏感信息处理单元,用于存储脱敏函数;查询语句修改模块,用于验证脱敏规则记录完整性,修改查询语句;结果集修改模块,用于对查询结果集进行脱敏处理;同时本发明专利技术公开了一种方法,脱敏系统根据会话ID、脱敏规则记录中的脱敏规则和脱敏数据记录中的记录修改查询请求语句和查询结果集中的敏感数据。本发明专利技术实现了对数据库的实时查询结果集的保护,同时满足了用户根据已获取数据进行连续查询的需求。

【技术实现步骤摘要】
可连续查询的数据脱敏方法和系统
本专利技术属于信息安全领域,涉及一种敏感数据连续查询时的动态脱敏技术,具体地说是一种可连续查询的数据脱敏方法和系统。
技术介绍
随着计算机技术的发展,各行各业都开始采用计算机及相应的信息技术进行管理和运营,这使得企业生成、收集、存储和处理数据的能力大大提高,数据量与日剧增,如何保证隐私数据的安全性与数据的高可用性逐渐成为企业的主要关注点。为了防止在数据发布和数据共享过程中泄露隐私信息,目前为止已经提出了许多对数据库中记录的数据进行加密的方法。据不完全统计,目前关于数据库保护的专利技术文献有以下几个:1.数据库加密系统、方法和程序:此专利技术根据提出的数据库加密系统对数据库进行加密保护;2.一种应用层透明的数据库加密方法:此专利技术涉及一种数据库驱动的代理解析SQL语句,同时记录需要加密的表名和别名,并根据加密的表名和别名的记录对请求的数据进行解密;3.一种字段级数据库加密装置:此专利技术涉及一种数据库加密装置,能使用户根据不同加密强度的需要选择数据库系统支持的不同的对称加密算法;4.一种嵌入式数据库加密存储方式:此专利技术使用户可以指定数据库的加密存储模式,分为不加密模式、自定义加密模式和默认加密模式。以上专利技术,用户向数据库提出查询请求,数据库根据用户的查询请求返回查询结果,其中采用了加密的方法对数据进行处理,需要对密钥进行特殊存储,同时在不解密的情况下,数据无法正常使用,其次,虽然数据在保存时被加密保护,但是在使用时是解密后的敏感数据,不能满足脱敏后给其他人使用的要求。同时使用加密的方式存在密钥被窃取的威胁。专利技术内容本专利技术的技术任务是针对上述现有技术的不足,为了实现向客户端提供脱敏后的查询结果数据集,同时使用户可以根据已获取的脱敏后数据进行连续查询,提供了一种可连续查询的数据脱敏方法和系统。为了实现上述目标,本专利技术采取如下技术方案:1、可连续查询的数据脱敏系统,其特征在于:包含客户端管理器(1),脱敏规则设置单元(2),查询语句修改模块(3),结果集修改模块(4),敏感信息处理单元(5)。客户端管理器(1):用于接收客户端查询请求,将查询结果返回给客户端,监听会话的销毁;同时用于将客户端查询请求时的会话ID提交给查询语句修改模块(3)和结果集修改模块(4)。脱敏规则设置单元(2):用于系统管理员设置数据表中需要保护数据的(数据长度,数据内容,数据起始位置,脱敏函数名),其中(数据长度,数据内容,数据起始位置,脱敏函数名)称为一条脱敏规则,并将脱敏规则保存在脱敏规则记录中,同时用于根据会话ID删除脱敏数据记录中的会话数据。查询语句修改模块(3):用于验证脱敏规则记录完整性,并根据会话ID、脱敏规则记录中的脱敏规则和脱敏数据记录中的数据将查询请求语句中所有在脱敏数据记录中找到匹配值的谓词值替换为相应的真实数据。结果集修改模块(4):用于根据会话ID、脱敏规则记录中的脱敏规则和脱敏数据记录中的数据对结果集数据进行脱敏处理;敏感信息处理单元(5):用于存储脱敏函数;2、所述客户端管理器用于监听会话的销毁,客户端管理器定期向客户端(注:客户端为应用服务器)轮询每个会话的当前状态,如果客户端返回某会话已经销毁,则通知脱敏规则设置单元,脱敏规则设置单元将脱敏数据记录中此会话ID对应的数据删除。3、所述脱敏规则设置单元在系统管理员设置脱敏规则后,将设置的脱敏规则保存在脱敏规则记录中,同时将脱敏规则记录中内容序列化为字符串后按照设定的散列算法进行计算得到散列值,并将该数据表名和散列值保存在数据库中的散列值表中。4、所述查询语句修改模块根据会话ID、脱敏规则记录中的脱敏规则和脱敏数据记录中的数据修改查询语句,其中的脱敏规则记录和脱敏数据记录,也可以是脱敏规则表和脱敏数据表。5、所述查询语句修改模块根据会话ID、脱敏规则记录中的脱敏规则和脱敏数据记录中的数据修改查询语句,其中脱敏规则记录格式是(数据长度,数据内容,数据起始位置,脱敏函数名),其中脱敏函数是预定义的,存储在敏感信息处理单元中。6、所述查询语句修改模块根据会话ID、脱敏规则记录中的脱敏规则和脱敏数据记录中的数据修改查询语句,其中脱敏数据记录的格式为(会话ID,真实数据,脱敏后数据)。7、所述查询语句修改模块和结果集修改模块判断脱敏规则记录中是否有脱敏规则与数据相匹配,本专利技术中脱敏规则为(数据长度,数据内容,数据起始位置,脱敏函数名),数据与脱敏规则匹配的定义是:设数据为t,t的长度=数据长度,并且t中从“数据起始位置”包含有“数据内容”。也可以在脱敏规则中增加其他对数据的要求。8、可连续查询的数据脱敏系统,包括客户端管理器(1)、脱敏规则设置单元(2)、查询语句修改模块(3)、结果集修改模块(4)、敏感信息处理单元(5);(1)与(2)相连,(1)与(3)相连,(1)与(4)相连,(2)与(5)相连,(3)与(5)相连,(4)与(5)相连,(1)可与客户端通信,(2)、(3)、(4)可与数据库通信。9、可连续查询的数据脱敏方法,其特征在于方法包括三个阶段:(1)初始化设置阶段:第一步:系统管理员通过脱敏规则设置单元设置数据库中每个数据表中需保护的数据的(数据长度,数据内容,数据起始位置,脱敏函数名),其中(数据长度,数据内容,数据起始位置,脱敏函数名)称为一条脱敏规则;第二步:脱敏规则设置单元将此脱敏规则保存在脱敏规则记录中;第三步:脱敏规则设置单元将此脱敏规则记录中的内容序列化为字符串后,将字符串按设定散列算法进行散列计算得到散列值,并将该数据表名和散列值保存在数据库中的散列值表中;(2)查询语句处理阶段第一步:客户端程序向可连续查询的数据脱敏系统发起查询请求,并提交会话ID。第二步:客户端管理器接收客户端的查询请求,并获取当前会话ID,并将此会话ID提交给查询语句修改模块和结果集修改模块,同时将查询请求语句转交给查询语句修改模块。查询语句修改模块做出以下操作:步骤2-1:查询语句修改模块获得查询请求语句中的数据表名,并按照该数据表名查找并读取对应的脱敏规则记录,并将此脱敏规则记录中的内容序列化为字符串,将字符串按设定散列算法进行散列计算,计算结果为A;步骤2-2:查询语句修改模块读取数据库散列值表中该数据表名对应的内容,设为B,将A和B进行比较,验证完整性,如果二者不相同则验证不通过,提示错误;如果二者相同则验证通过。步骤2-3:查询语句修改模块解析查询请求语句,获得查询请求语句中的所有谓词;步骤2-4:判断是否存在未处理的谓词,如果存在,设为W并转至步骤2-5继续执行;否则,将处理后的查询请求语句提交给数据库;步骤2-5:判断该谓词W是否存在未处理的谓词值,如果存在未处理的谓词值,设该值为x,并转至步骤2-6继续执行;否则转至步骤2-4继续执行;步骤2-6:查看脱敏数据记录中,此会话ID对应行中的脱敏后数据列中是否存在谓词值x,如果存在x,则表明本查询语句中的谓词值x是之前查询请求的脱敏后数据,即本次查询为连续查询,获得此谓词值x对应的真实数据值,设为y,并使用数据值y替换查询请求语句中的谓词值x,转至步骤2-5继续执行;如果不存在,转至步骤2-7继续执行;步骤2-7:查询语句修改模块将此谓词值x与脱敏规则记录中的脱敏规则进行本文档来自技高网...
可连续查询的数据脱敏方法和系统

【技术保护点】
可连续查询的数据脱敏系统,其特征在于:包含客户端管理器(1),脱敏规则设置单元(2),查询语句修改模块(3),结果集修改模块(4),敏感信息处理单元(5);客户端管理器(1):用于接收客户端查询请求,将查询结果返回给客户端,监听会话的销毁;同时用于将客户端查询请求时的会话ID提交给查询语句修改模块(3)和结果集修改模块(4);脱敏规则设置单元(2):用于系统管理员设置数据表中需要保护数据的(数据长度,数据内容,数据起始位置,脱敏函数名),其中(数据长度,数据内容,数据起始位置,脱敏函数名)称为一条脱敏规则,并将脱敏规则保存在脱敏规则记录中,同时用于根据会话ID删除脱敏数据记录中的会话数据;查询语句修改模块(3):用于验证脱敏规则记录完整性,并根据会话ID、脱敏规则记录中的脱敏规则和脱敏数据记录中的数据将查询请求语句中所有在脱敏数据记录中找到匹配值的谓词值替换为相应的真实数据;结果集修改模块(4):用于根据会话ID、脱敏规则记录中的脱敏规则和脱敏数据记录中的数据对结果集数据进行脱敏处理;敏感信息处理单元(5):用于存储脱敏函数。

【技术特征摘要】
1.可连续查询的数据脱敏系统,其特征在于:包含客户端管理器(1),脱敏规则设置单元(2),查询语句修改模块(3),结果集修改模块(4),敏感信息处理单元(5);客户端管理器(1):用于接收客户端查询请求,将查询结果返回给客户端,监听会话的销毁;同时用于将客户端查询请求时的会话ID提交给查询语句修改模块(3)和结果集修改模块(4);脱敏规则设置单元(2):用于系统管理员设置数据表中需要保护数据的(数据长度,数据内容,数据起始位置,脱敏函数名),其中(数据长度,数据内容,数据起始位置,脱敏函数名)称为一条脱敏规则,并将脱敏规则保存在脱敏规则记录中,同时用于根据会话ID删除脱敏数据记录中的会话数据;查询语句修改模块(3):用于验证脱敏规则记录完整性,并根据会话ID、脱敏规则记录中的脱敏规则和脱敏数据记录中的数据将查询请求语句中所有在脱敏数据记录中找到匹配值的谓词值替换为相应的真实数据;结果集修改模块(4):用于根据会话ID、脱敏规则记录中的脱敏规则和脱敏数据记录中的数据对结果集数据进行脱敏处理;敏感信息处理单元(5):用于存储脱敏函数。2.如权利要求1所述的可连续查询的数据脱敏系统,其特征在于:所述客户端管理器用于监听会话的销毁,客户端管理器定期向客户端(注:客户端为应用服务器)轮询每个会话的当前状态,如果客户端返回某会话已经销毁,则通知脱敏规则设置单元,脱敏规则设置单元将脱敏数据记录中此会话ID对应的数据删除。3.如权利要求1所述的可连续查询的数据脱敏系统,其特征在于:所述脱敏规则设置单元在系统管理员设置脱敏规则后,将设置的脱敏规则保存在脱敏规则记录中,同时将脱敏规则记录中内容序列化为字符串后按照设定的散列算法进行计算得到散列值,并将该数据表名和散列值保存在数据库中的散列值表中。4.如权利要求1所述的可连续查询的数据脱敏系统,其特征在于:所述查询语句修改模块根据会话ID、脱敏规则记录中的脱敏规则和脱敏数据记录中的数据修改查询语句,其中的脱敏规则记录和脱敏数据记录,也可以是脱敏规则表和脱敏数据表。5.如权利要求1所述的可连续查询的数据脱敏系统,其特征在于:所述查询语句修改模块根据会话ID、脱敏规则记录中的脱敏规则和脱敏数据记录中的数据修改查询语句,其中脱敏规则记录格式是(数据长度,数据内容,数据起始位置,脱敏函数名),其中脱敏函数是预定义的,存储在敏感信息处理单元中。6.如权利要求1所述的可连续查询的数据脱敏系统,其特征在于:所述查询语句修改模块根据会话ID、脱敏规则记录中的脱敏规则和脱敏数据记录中的数据修改查询语句,其中脱敏数据记录的格式为(会话ID,真实数据,脱敏后数据)。7.如权利要求1所述的可连续查询的数据脱敏系统,其特征在于:所述查询语句修改模块和结果集修改模块判断脱敏规则记录中是否有脱敏规则与数据相匹配,本发明中脱敏规则为(数据长度,数据内容,数据起始位置,脱敏函数名),数据与脱敏规则匹配的定义是:设数据为t,t的长度=数据长度,并且t中从“数据起始位置”包含有“数据内容”,也可以在脱敏规则中增加其他对数据的要求。8.如权利要求1所述的可连续查询的数据脱敏系统,其特征在于:可连续查询的数据脱敏系统,包括客户端管理器(1)、脱敏规则设置单元(2)、查询语句修改模块(3)、结果集修改模块(4)、敏感信息处理单元(5);(1)与(2)相连,(1)与(3)相连,(1)与(4)相连,(2)与(5)相连,(3)与(5)相连,(4)与(5)相连,(1)可与客户端通信,(2)、(3)、(4)可与数据库通信。9.可连续查询的数据脱敏方法,其特征在于方法包括三个阶段:(1)初始化设置阶段:第一步:系统管理员通过脱敏规则设置单元设置数据库中每个数据表中需保护的数据的(数据长度,数据内容,数据起始位置,脱敏函数名),其中(数据长度,数据内容,数据起始位置,脱敏函数名)称为一条脱敏规则;第二...

【专利技术属性】
技术研发人员:付海涛赵小录芦效峰
申请(专利权)人:北京同余科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1