CN107423632B - 可定制的敏感数据脱敏方法和系统 - Google Patents

可定制的敏感数据脱敏方法和系统 Download PDF

Info

Publication number
CN107423632B
CN107423632B CN201710262556.1A CN201710262556A CN107423632B CN 107423632 B CN107423632 B CN 107423632B CN 201710262556 A CN201710262556 A CN 201710262556A CN 107423632 B CN107423632 B CN 107423632B
Authority
CN
China
Prior art keywords
desensitization
name
document
data
application program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710262556.1A
Other languages
English (en)
Other versions
CN107423632A (zh
Inventor
张宏达
郑斌
胡若云
李熊
丁麒
付海涛
赵小录
芦效峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Zhejiang Electric Power Co Ltd
Marketing Service Center of State Grid Zhejiang Electric Power Co Ltd
Original Assignee
State Grid Zhejiang Electric Power Co Ltd
Marketing Service Center of State Grid Zhejiang Electric Power Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by State Grid Zhejiang Electric Power Co Ltd, Marketing Service Center of State Grid Zhejiang Electric Power Co Ltd filed Critical State Grid Zhejiang Electric Power Co Ltd
Priority to CN201710262556.1A priority Critical patent/CN107423632B/zh
Publication of CN107423632A publication Critical patent/CN107423632A/zh
Application granted granted Critical
Publication of CN107423632B publication Critical patent/CN107423632B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • G06F16/24565Triggers; Constraints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明属于信息安全领域,提供了一种可定制的敏感数据脱敏方法和系统,其中系统包括:敏感信息设置单元,用于系统管理员进行系统和应用程序的初始化设置,验证文档完整性;敏感信息存储单元,用于存储脱敏设置文档、脱敏规则验证文档和脱敏方法对应文档;数据处理单元,用于存储脱敏函数,验证脱敏设置文档完整性,根据脱敏设置文档中保存的规则修改查询结果集。同时本发明公开了一种方法,数据处理单元得到查询结果集,并根据脱敏设置文档中的规则在生成脱敏文件时修改其中的敏感数据。本发明将查询结果集生成脱敏文件,实现了对数据库实时查询结果的保护;同时对不同的应用程序设置不同脱敏方法和参数,实现了数据保护的多样性。

Description

可定制的敏感数据脱敏方法和系统
技术领域
本发明属于信息安全领域,涉及一种对数据库查询结果集的敏感信息保护技术,具体地说是一种可定制的敏感数据脱敏方法和系统。
背景技术
随着数据库技术、网络技术和计算机处理能力的飞速发展,信息的存储和数字化处理能力得到了极大的提高,大量含有个人隐私信息的数据被广泛的收集和分析,由此可能造成个人隐私的泄露。例如,假设数据操作人员将从数据库中取出的数据查询结果直接展现给用户,其中如果数据拥有者不采取适当的数据保护措施,将可能造成敏感数据的泄露;同时假设数据操作人员将从数据库中取出的查询结果直接作为发布或共享给第三方的数据,其中如果数据操作人员不对发布或共享的数据进行仔细甄别,就会给商业上的竞争者以可乘之机。
为了防止在数据发布和共享时泄露隐私信息,目前为止已经提出了采用匿名化的方式对数据进行保护。据不完全统计,目前关于数据发布和共享时的数据安全的发明文献有以下几个。
1.一种基于对称加密的实时大数据隐私保护方法:此发明提出利用实时数据不断被定点采样,得到变化增量的隐私保护,用户端对当前数据示数值和实时变化增量处理后,将数据交由服务器乱序存放;当需要数据时,恢复原先数据的时间序并调整数据变化增量,最终获得原始数据,从而抵抗恶意的无背景知识的攻击。
2.一种数据周期性发布的隐私保护方法:此发明充分考虑了医疗数据中一个个体可能对应多条记录,且同一个体可能由于年龄等属性的变化而具有不同的准标识符属性的特点,在发布处理时利用个体关联(k,l)-匿名约束模型尽可能地考虑个体的隐私而非记录层次上的隐私,同时在后续发布时利用ε-分组不变性规则充分考虑前后两次发布数据之间的个体关联性,保证了个体的隐私信息,抵制了表间的链接攻击。
3.隐私数据发布系统:此发明提出了一种隐私数据发布系统,其中系统中的发布终端既作为数据处理单元又作为嵌入式Web服务器单元,实现用户通过浏览器对终端进行远程配置、任务执行和结果输出等操作,保护发布数据中的隐私信息不被攻击者恶意攻击,提高发布数据的安全性。
以上发明中,发明一使用加密的方式,数据库中存储着加密后的数据,不能满足在不泄露用户敏感信息的同时还能进行统计的需求;发明二采用(k,l)匿名约束和ε-分组不变性规则在周期性数据发布中保护个体的隐私信息,不能满足数据量不能达到k个时的数据安全,同时采用匿名的方式,在一些实时查询真实数据时,降低了数据的真实性;发明三将数据处理单元作为嵌入式Web服务器单元,实现用户通过浏览器对终端进行远程配置,任务执行和结果输出等操作,未设置用户的行为权限,不能避免恶意用户错误设置得到未经过脱敏处理的数据。以上发明中均未对系统管理员的权限进行限制,不能避免因系统管理员滥用权力或错误的脱敏设置造成隐私信息泄露的问题发生。
发明内容
本发明的技术任务是针对上述现有技术的不足,为了实现保证客户端实时向数据库请求的敏感数据不被泄露,同时实现对不同的应用程序进行不同的脱敏设置并保证系统管理员的操作行为的合理性,提供了一种可定制的敏感数据脱敏方法和系统。
为实现上述目标,本发明采取如下技术方案:
1.可定制的敏感数据脱敏系统,其特征在于:包含敏感信息设置单元(1),敏感信息存储单元(2),数据处理单元(3)。
敏感信息设置单元(1):用于与应用程序服务端进行通信,应用程序服务端管理员(简称:系统管理员)通过敏感信息设置单元进行系统初始化设置和应用程序初始化设置,同时用于验证脱敏规则验证文档和脱敏方法对应文档的完整性。
敏感信息存储单元(2):用于存储脱敏设置文档,脱敏规则验证文档,脱敏方法对应文档,其中脱敏设置文档中存储着各个应用程序识别码和系统管理员设置的针对该应用程序的表名、字段名以及相应的脱敏方法名和参数。
数据处理单元(3):用于存储脱敏函数,验证脱敏设置文档的完整性,并根据脱敏设置文档中保存的规则修改从数据库中取出的结果集,生成脱敏后数据。
2.所述敏感信息设置单元,用于系统管理员进行系统初始化设置,即系统管理员设置脱敏系统的脱敏规则验证文档和脱敏方法对应文档,其中脱敏规则验证文档中包含脱敏方法名和参数要求(注:这里的参数要求可以使用自己的方法自行实现),脱敏方法对应文档中包含数据类型和脱敏方法名,然后将脱敏规则验证文档和脱敏方法对应文档中内容分别序列化为字符串后按照设定的散列算法进行计算,得到散列值,并使用脱敏系统的公钥分别加密散列值,得到加密值,将文档的名字和加密值保存在数据库中的散列值表中。
3.所述敏感信息设置单元,用于系统管理员进行应用程序初始化设置,即设置对一个应用程序需要保护的表名、字段名以及相应的脱敏方法名和参数,其中系统管理员设置表名和字段名后,敏感信息设置单元根据表名和字段名获得此字段的数据类型,根据字段的数据类型在脱敏方法对应文档中查找可用的脱敏方法名并显示,系统管理员从所选字段的可以使用的脱敏方法名中选择一个脱敏方法名并设置参数。
4.所述敏感信息设置单元,系统管理员从所选字段的可以使用的脱敏方法中选择一个脱敏方法名并设置参数,敏感信息设置单元根据选择的脱敏方法名查找脱敏规则验证文档,查看系统管理员的参数设置是否满足参数要求,如果满足要求,验证通过;否则,提示管理员重新设置。
5.所述敏感信息存储单元用于存储脱敏设置文档,其中脱敏设置文档可以是保存在数据库中的脱敏设置表,也可以是保存在本地的脱敏设置文档。
6.所述敏感信息设置单元在系统管理员对一个应用程序进行脱敏信息设置后,将设置信息保存在脱敏设置文档中,同时将脱敏设置文档内容序列化后按照设定的散列算法进行计算,得到散列值,并使用脱敏系统的公钥加密该散列值,得到加密值,将文件名和加密值保存在数据库中的散列值表中。
7.所述敏感信息存储单元用于存储脱敏设置文档,脱敏规则验证文档,脱敏方法对应文档。脱敏设置文档中包含应用程序识别码、表名、字段名、脱敏方法名和参数,其中脱敏方法是预定义的,存储在数据处理单元中;脱敏规则验证文档和脱敏方法对应文档是系统管理员在系统初始化时定义的。
8.所述数据处理单元在操作时假设脱敏文件为XML文件格式,本发明不限制脱敏文件为XML文件格式,也可以选择其他文件格式作为脱敏文件格式(如,json等)。
9.可定制的敏感数据脱敏系统,包括敏感信息设置单元(1),敏感信息存储单元(2),数据处理单元(3);(1)与(2)相连,(2)与(3)相连。(1)和(3)可与应用程序通信;(1)与(3)可与数据库通信。
10.可定制的敏感数据脱敏方法,其特征在于方法包括两个阶段:
(1)系统初始化设置阶段:系统管理员通过敏感信息设置单元设置脱敏方法对应文档和脱敏规则验证文档。
步骤1:系统管理员使用敏感信息设置单元选择需要保护的数据类型,敏感信息设置单元显示脱敏系统中可用的脱敏方法名,系统管理员选择针对此数据类型的脱敏方法名,敏感信息设置单元将以上设置保存在脱敏方法对应文档中。
步骤2:系统管理员为选择的脱敏方法名分别设置参数要求,敏感信息设置单元将以上设置保存在脱敏规则验证文档中。
步骤3:敏感信息设置单元分别将脱敏方法对应文档和脱敏规则验证文档中的内容序列化为字符串后按照设定的散列算法进行计算,得到散列值,并使用脱敏系统的公钥分别加密散列值,得到加密值,将文档名和该文档的加密值分别保存在数据库中的散列值表中。
(2)应用程序初始化阶段:
步骤201:应用程序申请访问此应用程序服务器,应用程序服务器为该应用程序分配识别码(本发明称为:应用程序识别码),应用程序服务器将应用程序识别码提交给敏感信息设置单元。
步骤202:敏感信息设置单元读取脱敏方法对应文档,将脱敏方法对应文档中内容序列化为字符串后,将字符串按设定散列算法进行散列计算,设为M,然后从数据库的散列值表中读取脱敏方法对应文档名对应的内容,使用脱敏系统的私钥对散列值表中内容进行解密得到散列值,设为m,将M和m进行比较,验证完整性,如果二者不相同则验证不通过,提示错误;否则验证通过,转至步骤203继续执行。
步骤203:敏感信息设置单元读取脱敏规则验证文档,将脱敏规则验证文档中内容序列化为字符串后,将字符串按设定散列算法进行散列计算,设为N,然后从数据库的散列值表中读取脱敏规则验证文档名对应的内容,使用脱敏系统的私钥对散列值表中内容进行解密得到散列值,设为n,将N和n进行比较,验证完整性,如果二者不相同则验证不通过,提示错误;否则验证通过,转至步骤204继续执行。
步骤204:系统管理员通过敏感信息设置单元设置该应用程序需要保护的表名和字段名,敏感信息设置单元根据表名和字段名获取字段的数据类型,然后在脱敏方法对应文档中根据数据类型查找该字段可用的脱敏方法名并显示,系统管理员从所选字段的可以使用的脱敏方法中选择一个脱敏方法名并设置参数。
步骤205:敏感信息设置单元在脱敏规则验证文档中查找此脱敏方法名对应的参数要求,查看系统管理员设置的参数是否满足参数要求,如果满足要求,验证通过;否则,验证不通过提示系统管理员重新设置。
步骤206:敏感信息设置单元将完成的脱敏设置的(应用程序识别码、表名、字段名、脱敏方法名、参数)保存在脱敏设置文档中。
步骤207:敏感信息设置单元将脱敏设置文档中内容序列化为字符串后,按照设定的散列算法进行计算,得到散列值,并使用脱敏系统的公钥加密该散列值,得到加密值,将文档名和该文档的加密值保存在数据库中的散列值表中。
(3)数据获取阶段:
应用程序服务端接收应用程序客户端的数据库查询请求,解析查询请求的select语句,从from关键字后获得此查询请求的表名,设为T,然后判断select关键字后是否为*,如果为*,则根据表名T获得表T的字段名;否则直接从select关键字后获得字段名。然后应用程序服务端根据查询请求语句查询数据库,得到查询结果集,将应用程序识别码、表名、字段名和查询结果集提交给数据处理单元。
(4)规则验证和数据操作阶段
数据处理单元读取脱敏设置文档,将脱敏设置文档中内容序列化为字符串后,将字符串按设定散列算法进行散列计算,设为A,然后从数据库中读取散列值表中脱敏设置文档名对应的内容,使用脱敏系统的私钥对该内容进行解密得到散列值,设为B,将A和B进行比较,验证完整性,如果二者不相同则验证不通过,提示错误;如果二者相同则验证通过。
数据处理单元得到应用程序识别码、表名、字段名和查询结果集,并将应用程序识别码、表名、字段名保存在数组X中。本发明以XML文件格式为例解释数据处理单元的具体操作:
步骤401:将数组X中的应用程序识别码、表名及字段名与脱敏设置文档进行匹配,得到脱敏设置文档中对应的(字段名,脱敏方法名,参数)存储在数组H中。
步骤402:创建XML文件的文档对象(即document对象),同时创建XML文件的根节点对象,并将该根节点对象插入XML文件的文档对象中。
步骤403:判断查询结果集中是否还有下一行数据,如果存在下一行数据,转至步骤404;如果不存在,转至步骤408。
步骤404:获得数组X中的表名,设为T,创建以T为元素名的父节点对象。
步骤405:判断数组X中是否还有下一个字段名,如果存在,设为第i个字段名,从查询结果集中取出该行中第i个数据值,定义为y,转至步骤406继续执行;如果不存在下一个字段名,将父节点对象插入根节点对象中,转至步骤403继续执行。
步骤406:创建以该字段名为元素名的子节点对象;并将该字段名与数组H中第一列的数据进行比对,如果数组H的第一列数据中没有与该字段名相匹配的数据,则以y作为子节点的文本值,插入子节点对象中;否则数组H的第一列数据中存在相匹配的数据,转至步骤407继续执行。
步骤407:设数组H中第一列的第j个数据值与该字段名相匹配,取得数组H中第j行的第二列和第三列数据值,即该字段名对应的敏感方法名F和参数C,然后使用脱敏方法F对y进行脱敏,得到脱敏后的数据值,定义为Y,即Y=F(C,y),以Y作为子节点的文本值,插入子节点对象中。最后将创建的子节点对象插入父节点对象中,转至步骤405继续执行。
步骤408:得到最终脱敏后的XML文件,将XML文件返回给应用程序服务端。
本发明是一种可对定制的敏感数据脱敏方法和系统。与现有技术相比具有以下突出的优点。
1.本发明通过将查询结果集生成XML文件,并在生成的过程中直接对数据进行脱敏,此过程提高了通过遍历XML文件的方式进行数据脱敏处理的效率。
2.本发明可以将通过查询结果集生成的脱敏文件提供给客户端应用程序,保证了数据的安全性。
3.本发明对访问数据的不同应用程序设置不同的脱敏方法和参数,实现了数据保护的多样性。
4.本发明为系统管理员提供可选的脱敏方法名,同时系统管理员可以根据所选数据的保护级别选择不同的脱敏方法名并设置参数,然后,本发明检查系统管理员的参数设置是否符合满足参数要求,保证了数据的安全性,同时防止了系统管理员滥用权利。
5.对于用户和开发人员来说,对业务数据操作时不需要考虑对数据的脱敏处理,所有的脱敏操作对应用层开发人员和用户是透明的。
附图说明
图1是本发明可定制的敏感数据脱敏系统的结构图。
图2是本发明数据处理接收到数据库查询结果集的工作流程图。
图3是本发明数据处理单元以XML文件格式为例,对查询结果集中的每条记录创建XML子节点的工作流程图。
图4是本发明中脱敏设置文档的示例图。
图5是本发明中脱敏规则验证文档的示例图。
图6是本发明中脱敏方法对应文档的示例图。
图7是本发明中散列值表的示例图。
具体实施方式
下面将结合附图对本发明做进一步的详细说明。图1是系统的结构图,主要包括数据处理单元,敏感信息存储单元和敏感信息设置单元,其中敏感信息存储单元中保存着脱敏设置文档,脱敏规则验证文档和脱敏方法对应文档。图2是数据处理单元接收到数据库查询结果集的工作流程图,具体步骤包括以下规则验证和数据操作阶段的第一步至第七步以及第十二步和第十三步;图3是数据处理单元以XML文件格式为例,对查询结果集中的每条记录创建XML子节点的工作流程图,包括以下规则验证和数据操作阶段的第八步至第十一步;图4是脱敏设置文档的示例图,用于判断数据库查询结果集中的数据是否是敏感数据以及用何种脱敏方法进行脱敏;图5是脱敏规则验证文档的示例图,用于判断系统管理员对所选字段设置的脱敏方法名的参数是否符合满足要求;图6是脱敏方法对应文档的示例图,用于敏感信息设置单元根据系统管理员所选字段在脱敏方法对应文档中选择可用的脱敏方法名并显示;图7是散列值表的示例图,用于存储脱敏规则文档、脱敏方法对应文档和脱敏设置文档的加密值。
(1)系统初始化设置阶段:系统管理员通过敏感信息设置单元设置脱敏方法对应文档和脱敏规则验证文档。
第一步:系统管理员通过敏感信息设置单元选择需要保护的数据类型,敏感信息设置单元显示脱敏系统中可用的脱敏方法名,系统管理员选择针对此数据类型的脱敏方法名,敏感信息设置单元将以上设置保存在脱敏方法对应文档中。
第二步:系统管理员为选择的脱敏方法名分别设置参数要求,敏感信息设置单元将此信息保存在脱敏规则验证文档中。
第三步:敏感信息设置单元将脱敏方法对应文档中内容序列化为字符串后按照设定的散列算法进行计算,得到散列值,并使用脱敏系统的公钥进行加密,得到加密值,将脱敏方法对应文档名和该加密值保存在数据库中的散列值表中。
第四步:敏感信息设置单元将脱敏规则验证文档中内容序列化为字符串后按照设定散列算法进行计算,得到散列值,并使用脱敏系统的公钥进行加密,得到加密值,将脱敏规则验证文档名和该加密值保存在数据库中的散列值表中。
(2)应用程序初始化阶段:
第一步:应用程序申请访问此应用程序服务器,应用程序服务器为该应用程序分配识别码(本发明称为:应用程序识别码),应用程序服务器将应用程序识别码提交给敏感信息设置单元。
例1:某应用程序申请访问此应用程序服务器,假设为其分配识别码为asd23er8。
例2:另一应用程序申请访问此应用程序服务器,假设为其分配识别码为56gks45v。
第二步:敏感信息设置单元读取脱敏方法对应文档,将脱敏方法对应文档中内容序列化为字符串后,将字符串按设定散列算法进行散列计算,设为M,然后从数据库的散列值表中读取脱敏方法对应文档名对应的内容,使用脱敏系统的私钥对散列值表中内容进行解密得到散列值,设为m,将M和m进行比较,验证完整性,如果二者不相同则验证不通过,提示错误;否则验证通过,转至第三步继续执行。
第三步:敏感信息设置单元读取脱敏规则验证文档,将脱敏规则验证文档中内容序列化为字符串后,将字符串按设定散列算法进行散列计算,设为N,然后从数据库的散列值表中读取脱敏规则验证文档名对应的内容,使用脱敏系统的私钥对散列值表中内容进行解密得到散列值,设为n,将N和n进行比较,验证完整性,如果二者不相同则验证不通过,提示错误;否则验证通过,转至第四步继续执行。
第四步:系统管理员通过敏感信息设置单元设置该应用程序需要保护的表名和字段名,敏感信息设置单元根据表名和字段名获取字段的数据类型,然后在脱敏方法对应文档中根据数据类型查找该字段可用的脱敏方法名并显示,系统管理员从所选字段的可以使用的脱敏方法中选择一个脱敏方法名并设置参数。
例1:系统管理员为识别码为asd23er8的应用程序设置表名customer中字段名为telephone的字段选择脱敏方法名为Shield,并设置参数为6。
例2:系统管理员为识别码为56gks45v的应用程序设置表名customer中的字段名为telephone的字段选择脱敏方法名为Random,并设置参数为4。
第五步:敏感信息设置单元在脱敏规则验证文档中查找此脱敏方法名对应的参数要求,查看系统管理员设置的参数是否满足参数要求,如果满足要求,验证通过;否则,验证不通过提示系统管理员重新设置。
例1:敏感信息设置单元在脱敏规则验证文档中查找Shield方法名对应的参数要求,为最小为4,系统管理员设置的参数为6,满足要求,设置成功。
例2:敏感信息设置单元在脱敏规则验证文档中查找Random方法名对应的参数要求,为最小为3,系统管理员设置的参数为4,满足要求,设置成功。
第六步:敏感信息设置单元将完成的脱敏设置的(应用程序识别码、表名、字段名、脱敏方法名、参数)保存在脱敏设置文档中。
第七步:敏感信息设置单元将脱敏设置文档中内容序列化为字符串后,按照设定的散列算法进行计算,得到散列值,并使用脱敏系统的公钥加密该散列值,得到加密值,将文档名和该文档的加密值保存在数据库中的散列值表中。
(3)数据获取阶段:
第一步:应用程序服务端接收应用程序客户端的数据库查询请求,解析查询请求的select语句,从from关键字后获得此查询请求的表名,设为T,然后判断select关键字后是否为*,如果为*,则根据表名T获得表T的字段名,转至第二步继续执行;否则直接从select关键字后获得字段名,转至第二步继续执行。
第二步:应用程序服务端根据查询请求语句查询数据库,得到查询结果集。
第三步:应用程序服务端将该应用程序识别码、表名、字段名和查询结果集提交给数据处理单元。
(4)规则验证和数据操作阶段
第一步:数据处理单元读取脱敏设置表,将脱敏设置文档中内容序列化为字符串后,将字符串按设定散列算法进行散列计算,设为A。
第二步:数据处理单元从数据库中读取散列值表中内容,使用系统的私钥对散列值表中内容进行解密得到散列值,设为B,将A和B进行比较,验证完整性,如果二者不相同则验证不通过,提示错误;如果二者相同则验证通过。
第三步:数据处理单元得到应用程序识别码、表名、字段名和查询结果集,并将应用程序识别码、表名、字段名保存在数组X中。假设脱敏文件为XML文件格式。
第四步:将数组X中的应用程序识别码、表名及字段名与脱敏设置文档进行匹配,得到脱敏设置文档中对应的(字段名,脱敏方法名,参数)存储在数组H中,并初始化i为0,计算数组X中字段的数量,定义为len。
第五步:创建XML文件的文档对象(即document对象),同时创建XML文件的根节点对象,并将该根节点对象插入XML文件的文档对象中。
第六步:判断查询结果集中是否还有下一行数据,如果存在下一行数据,转至第七步;如果不存在,转至第十三步继续执行。
第七步:从数组X中获取表名,设为T,创建以T为元素名的父节点对象。
第八步:判断i是否小于len,如果i小于len,则获得数组X中第i个字段名,设为x,并使用x作为子节点的标签名,创建子节点,从查询结果集的该行中取出第i个值,定义为y;否则i大于等于len,转至第十二步继续执行。
第九步:将x与数组中的第一列进行匹配,如果数组H中存在数据与x相匹配,设为第j个数据,转至第十步继续执行;否则直接将y作为子节点的文本值,插入子节点对象中,并转至第十一步继续执行。
第十步:取得数组H中第j行的第二列和第三列的数据值,及该字段名对应的脱敏方法名F和参数C,使用脱敏函数F对y进行脱敏处理后得到脱敏后数据,设为Y,即Y=F(C,y),以Y作为子节点的文本值,插入子节点对象中。
第十一步:将子节点添加到父节点中,i++,并转至第八步继续执行。
第十二步:将创建的父节点插入根节点中,设置i=0,并转至第六步继续执行。
第十三步:得到脱敏后的XML文件,将XML文件返回给应用程序服务端。

Claims (1)

1.可定制的敏感数据脱敏方法,其特征在于方法包括两个阶段:
(1)系统初始化设置阶段:系统管理员通过敏感信息设置单元设置脱敏方法对应文档和脱敏规则验证文档:
步骤1:系统管理员与敏感信息设置单元进行通信,选择需要保护的数据类型,敏感信息设置单元显示脱敏系统中可用的脱敏方法名,系统管理员选择针对此数据类型的脱敏方法名,敏感信息设置单元将以上设置保存在脱敏方法对应文档中;
步骤2:系统管理员为选择的脱敏方法名分别设置参数要求,敏感信息设置单元将以上设置保存在脱敏规则验证文档中;
步骤3:敏感信息设置单元分别将脱敏方法对应文档和脱敏规则验证文档中的内容序列化为字符串后按照设定的散列算法进行计算,得到散列值,并使用脱敏系统的公钥分别加密散列值,得到加密值,将文档名和该文档的加密值分别保存在数据库中的散列值表中;
(2)应用程序初始化阶段:
步骤201:应用程序申请访问此应用程序服务器,应用程序服务器为该应用程序分配应用程序识别码,应用程序服务器将应用程序识别码提交给敏感信息设置单元;
步骤202:敏感信息设置单元读取脱敏方法对应文档,将脱敏方法对应文档中内容序列化为字符串后,将字符串按设定散列算法进行散列计算,设为M,然后从数据库的散列值表中读取脱敏方法对应文档名对应的内容,使用脱敏系统的私钥对散列值表中内容进行解密得到散列值,设为m,将M和m进行比较,验证完整性,如果二者不相同则验证不通过,提示错误;否则验证通过,转至步骤203继续执行;
步骤203:敏感信息设置单元读取脱敏规则验证文档,将脱敏规则验证文档中内容序列化为字符串后,将字符串按设定散列算法进行散列计算,设为N,然后从数据库的散列值表中读取脱敏规则验证文档名对应的内容,使用脱敏系统的私钥对散列值表中内容进行解密得到散列值,设为n,将N和n进行比较,验证完整性,如果二者不相同则验证不通过,提示错误;否则验证通过,转至步骤204继续执行;
步骤204:系统管理员通过敏感信息设置单元设置该应用程序需要保护的表名和字段名,敏感信息设置单元根据表名和字段名获取字段的数据类型,然后在脱敏方法对应文档中根据数据类型查找该字段可用的脱敏方法名并显示,系统管理员从所选字段的可以使用的脱敏方法中选择一个脱敏方法名并设置参数;
步骤205:敏感信息设置单元在脱敏规则验证文档中查找此脱敏方法名对应的参数要求,查看系统管理员设置的参数是否满足参数要求,如果满足要求,验证通过;否则,验证不通过提示系统管理员重新设置;
步骤206:敏感信息设置单元将完成的脱敏设置的应用程序识别码、表名、字段名、脱敏方法名、参数保存在脱敏设置文档中;
步骤207:敏感信息设置单元将脱敏设置文档中内容序列化为字符串后,按照设定的散列算法进行计算,得到散列值,并使用脱敏系统的公钥加密该散列值,得到加密值,将文档名和该文档的加密值保存在数据库中的散列值表中;
(3)数据获取阶段:
应用程序服务端接收应用程序客户端的数据库查询请求,解析查询请求的select语句,从from关键字后获得此查询请求的表名,设为T,然后判断select关键字后是否为*,如果为*,则根据表名T获得表T的字段名;否则直接从select关键字后获得字段名;
然后应用程序服务端根据查询请求语句查询数据库,得到查询结果集,将应用程序识别码、表名、字段名和查询结果集提交给数据处理单元;
(4)规则验证和数据操作阶段
数据处理单元读取脱敏设置文档,将脱敏设置文档中内容序列化为字符串后,将字符串按设定散列算法进行散列计算,设为A,然后从数据库中读取散列值表中脱敏设置文档名对应的内容,使用脱敏系统的私钥对该内容进行解密得到散列值,设为B,将A和B进行比较,验证完整性,如果二者不相同则验证不通过,提示错误;如果二者相同则验证通过;
数据处理单元得到应用程序识别码、表名、字段名和查询结果集,并将应用程序识别码、表名、字段名保存在数组X中;本发明以XML文件格式为例解释数据处理单元的具体操作:
步骤401:将数组X中的应用程序识别码、表名及字段名与脱敏设置文档进行匹配,得到脱敏设置文档中对应的字段名,脱敏方法名,参数存储在数组H中;
步骤402:创建XML文件的文档对象,同时创建XML文件的根节点对象,并将该根节点对象插入XML文件的文档对象中;
步骤403:判断查询结果集中是否还有下一行数据,如果存在下一行数据,转至步骤404;如果不存在,转至步骤408;
步骤404:获得数组X中的表名,设为T,创建以T为元素名的父节点对象;
步骤405:判断数组X中是否还有下一个字段名,如果存在,设为第i个字段名,从查询结果集中取出该行中第i个数据值,定义为y,转至步骤406继续执行;如果不存在下一个字段名,将父节点对象插入根节点对象中,转至步骤403继续执行;
步骤406:创建以该字段名为元素名的子节点对象;并将该字段名与数组H中第一列的数据进行比对,如果数组H的第一列数据中没有与该字段名相匹配的数据,则以y作为子节点的文本值,插入子节点对象中;否则数组H的第一列数据中存在相匹配的数据,转至步骤407继续执行;
步骤407:设数组H中第一列的第j个数据值与该字段名相匹配,取得数组H中第j行的第二列和第三列数据值,即该字段名对应的敏感方法名F和参数C,然后使用脱敏方法F对y进行脱敏,得到脱敏后的数据值,定义为Y,即Y=F(C,y),以Y作为子节点的文本值,插入子节点对象中;最后将创建的子节点对象插入父节点对象中,转至步骤405继续执行;
步骤408:得到最终脱敏后的XML文件,将XML文件返回给应用程序服务端。
CN201710262556.1A 2017-04-20 2017-04-20 可定制的敏感数据脱敏方法和系统 Active CN107423632B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710262556.1A CN107423632B (zh) 2017-04-20 2017-04-20 可定制的敏感数据脱敏方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710262556.1A CN107423632B (zh) 2017-04-20 2017-04-20 可定制的敏感数据脱敏方法和系统

Publications (2)

Publication Number Publication Date
CN107423632A CN107423632A (zh) 2017-12-01
CN107423632B true CN107423632B (zh) 2020-09-15

Family

ID=60424212

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710262556.1A Active CN107423632B (zh) 2017-04-20 2017-04-20 可定制的敏感数据脱敏方法和系统

Country Status (1)

Country Link
CN (1) CN107423632B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108256350A (zh) * 2017-12-29 2018-07-06 上海上讯信息技术股份有限公司 一种基于敏感信息类型关联的信息复合脱敏方法
CN108537062B (zh) * 2018-04-24 2022-03-22 山东华软金盾软件股份有限公司 一种数据库数据动态加密的方法
CN110443058A (zh) * 2018-05-02 2019-11-12 中兴通讯股份有限公司 一种xml文档脱敏的方法及装置
CN110580556B (zh) * 2018-06-08 2023-04-07 阿里巴巴集团控股有限公司 数据处理方法及系统、处理器
CN109344370A (zh) * 2018-08-23 2019-02-15 阿里巴巴集团控股有限公司 敏感内容脱敏、还原方法、装置及设备
CN109740363B (zh) * 2019-01-04 2023-03-14 贵州大学 文档分级脱敏加密方法
CN110457934A (zh) * 2019-04-19 2019-11-15 南京大学 一种基于哈希算法的高仿真数据脱敏算法
CN110618999A (zh) * 2019-08-01 2019-12-27 平安科技(深圳)有限公司 数据的查询方法及装置、计算机存储介质、电子设备
CN110598451B (zh) * 2019-09-19 2022-02-25 中国银行股份有限公司 数据脱敏方法及装置
CN110866281A (zh) * 2019-11-20 2020-03-06 满江(上海)软件科技有限公司 一种用于敏感数据的安全合规处理系统及方法
CN114025358B (zh) * 2020-07-15 2024-02-13 成都鼎桥通信技术有限公司 数据脱敏方法、装置、设备及存储介质
CN113987590A (zh) * 2021-12-28 2022-01-28 北京安华金和科技有限公司 一种基于码表映射的数据脱敏处理方法和系统
CN115688151B (zh) * 2023-01-05 2023-04-07 恒丰银行股份有限公司 一种针对敏感信息的脱敏复敏方法、系统及终端机
CN116561795B (zh) * 2023-04-26 2024-04-16 合芯科技(苏州)有限公司 一种数据并行脱敏处理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106203170A (zh) * 2016-07-19 2016-12-07 北京同余科技有限公司 基于角色的数据库动态脱敏服务方法和系统
CN106233315A (zh) * 2014-04-30 2016-12-14 维萨国际服务协会 用于数据脱敏的系统和方法
CN106407843A (zh) * 2016-10-17 2017-02-15 深圳中兴网信科技有限公司 数据脱敏方法和数据脱敏装置
CN106529329A (zh) * 2016-10-11 2017-03-22 中国电子科技网络信息安全有限公司 一种用于大数据的脱敏系统及脱敏方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106233315A (zh) * 2014-04-30 2016-12-14 维萨国际服务协会 用于数据脱敏的系统和方法
CN106203170A (zh) * 2016-07-19 2016-12-07 北京同余科技有限公司 基于角色的数据库动态脱敏服务方法和系统
CN106529329A (zh) * 2016-10-11 2017-03-22 中国电子科技网络信息安全有限公司 一种用于大数据的脱敏系统及脱敏方法
CN106407843A (zh) * 2016-10-17 2017-02-15 深圳中兴网信科技有限公司 数据脱敏方法和数据脱敏装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于XML的电子病历隐私数据脱敏技术的研究与设计;臧昊 等;《信息技术与信息化》;20170331;第111-114页 *

Also Published As

Publication number Publication date
CN107423632A (zh) 2017-12-01

Similar Documents

Publication Publication Date Title
CN107423632B (zh) 可定制的敏感数据脱敏方法和系统
US11743041B2 (en) Technologies for private key recovery in distributed ledger systems
KR102514325B1 (ko) 모델 훈련 시스템 및 방법과, 저장 매체
EP3275115B1 (en) Database server and client for query processing on encrypted data
Volety et al. Cracking Bitcoin wallets: I want what you have in the wallets
US10122706B2 (en) Authenticating identity for password changes
CN104541475B (zh) 用户认证方法、用户认证设备和安全性系统
US8918849B2 (en) Secure user credential control
US10122830B2 (en) Validation associated with a form
CN110110163A (zh) 安全子字符串搜索以过滤加密数据
CN105743905B (zh) 一种实现安全登录的方法、设备、装置及系统
CN108965222B (zh) 身份认证方法、系统及计算机可读存储介质
US20120260108A1 (en) Font encryption and decryption system and method
CN108075888B (zh) 动态url生成方法及装置、存储介质、电子设备
CN111597424A (zh) 爬虫识别方法、装置、计算机设备和存储介质
EP4111636A1 (en) Story assisted mnemonic phrase
CN111711521B (zh) 一种区块链账号私钥重置方法及系统
US11362806B2 (en) System and methods for recording codes in a distributed environment
CN114238273A (zh) 数据库管理方法、装置、设备及存储介质
CN112307449B (zh) 权限分级管理方法、装置、电子设备和可读存储介质
CN111143399B (zh) 数据处理方法、装置、存储介质和计算机设备
CN115859247B (zh) 密码安全验证方法和装置、电子设备、可读存储介质
Dai et al. A verifiable single keyword top-k search scheme against insider attacks over cloud data
KR20240051480A (ko) 인공신경망을 사용하는 텍스트기반 암호의 복잡도 및 보안성 개선을 위한 시스템 및 방법
WO2022238948A1 (en) Method and system for transforming personally identifiable information

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Zhang Hongda

Inventor after: Zheng Bin

Inventor after: Hu Ruoyun

Inventor after: Li Xiong

Inventor after: Ding Qi

Inventor after: Fu Haitao

Inventor after: Zhao Xiaolu

Inventor after: Lu Yifeng

Inventor before: Fu Haitao

Inventor before: Zhao Xiaolu

Inventor before: Lu Yifeng

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200819

Address after: Building 5, No.138 Yunlian Road, Cangqian street, Yuhang District, Hangzhou City, Zhejiang Province

Applicant after: Marketing service center of State Grid Zhejiang Electric Power Co., Ltd

Applicant after: STATE GRID ZHEJIANG ELECTRIC POWER Co.,Ltd.

Address before: 100044 Beijing City, Haidian District Xizhimen North Street No. 41 days trillion homes 3-B-1902

Applicant before: BEIJING SECSMARTS TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant