CN116933317A - 一种数据脱敏方法以及相关装置 - Google Patents
一种数据脱敏方法以及相关装置 Download PDFInfo
- Publication number
- CN116933317A CN116933317A CN202310930322.5A CN202310930322A CN116933317A CN 116933317 A CN116933317 A CN 116933317A CN 202310930322 A CN202310930322 A CN 202310930322A CN 116933317 A CN116933317 A CN 116933317A
- Authority
- CN
- China
- Prior art keywords
- data
- desensitization
- node
- symmetric key
- target
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000000586 desensitisation Methods 0.000 claims abstract description 237
- 239000011159 matrix material Substances 0.000 claims abstract description 126
- 230000008602 contraction Effects 0.000 claims abstract description 60
- 238000012795 verification Methods 0.000 claims description 23
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 4
- 238000007405 data analysis Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 235000015243 ice cream Nutrition 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Abstract
本申请公开了一种数据脱敏方法以及相关装置,可应用于金融领域或其他领域。第一节点将脱敏时间掩码、初始对称密钥以及脱敏数据发送至第二节点,第二节点计算当前时间点与基础时间点的时间差,得到待验证时间差;将待验证时间差的二进制字符串和脱敏时间掩码的二进制字符串做与或运算,得到目标二进制字符串;对初始对称密钥使用目标收缩矩阵得到待验证对称密钥;使用待验证对称密钥解密脱敏数据,确定是否解密成功;若解密成功,获取使用待验证对称密钥解密脱敏数据得到的解密数据;若解密不成功,获取脱敏数据。本方法可以实现在脱敏绝限时间点后自动解除数据的脱敏状态,在对数据脱敏以提高数据安全性的同时满足数据脱敏的时效性要求。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据脱敏方法以及相关装置。
背景技术
在如今信息化时代,数据通常蕴含有巨大的社会价值与经济价值,成为宝贵的资源。随着网络数据共享和数据交换需求的不断增多,如果不采取有效的安全控制和保护措施,常常会给攻击者以可乘之机。目前通常通过对数据进行脱敏后进行存储和传输,一定程度上可以保障数据的安全性,但是现有的脱敏方法无法适用于有时效性要求的脱敏场景。
发明内容
本申请提供了一种数据脱敏方法以及相关装置,如下:
一种数据脱敏方法,其特征在于,应用于第一节点,包括:
获取原始数据;
计算脱敏绝限时间点与基础时间点的时间差,得到脱敏时间掩码,所述脱敏时间掩码的二进制字符串的后n位均为0,其中,所述n为所述基础时间点的二进制字符串的位数;
对初始对称密钥使用目标扩展矩阵得到目标对称密钥,所述目标扩展矩阵为以所述脱敏时间掩码的二进制字符串为参数的扩展矩阵;
使用所述目标对称密钥加密所述原始数据,得到脱敏数据;
发送所述脱敏时间掩码、所述初始对称密钥以及所述脱敏数据至第二节点,以使所述第二节点计算当前时间点与所述基础时间点的时间差,得到待验证时间差;将所述待验证时间差的二进制字符串和所述脱敏时间掩码的二进制字符串做与或运算,得到目标二进制字符串;对所述初始对称密钥使用目标收缩矩阵得到待验证对称密钥,所述目标收缩矩阵为与所述扩展矩阵对应的、且以所述目标二进制字符串为参数的收缩矩阵;使用所述待验证对称密钥解密所述脱敏数据,若解密成功,获取使用所述待验证对称密钥解密所述脱敏数据得到的解密数据;若解密不成功,获取所述脱敏数据。
可选地,发送所述脱敏时间掩码和所述初始对称密钥至所述第二节点,包括:
使用所述初始对称密钥加密所述脱敏时间掩码,得到时间掩码密文;使用所述第一节点的私钥加密所述初始对称密钥,得到密钥密文;获取数字信封,所述数字信封包括所述时间掩码密文和所述密钥密文;
发送所述数字信封至所述第二节点。
可选地,发送所述脱敏数据至所述第二节点包括:
使用所述第一节点的私钥对所述脱敏数据签名,得到校验信息;
对所述脱敏数据添加所述校验信息得到脱敏校验数据;
发送所述脱敏校验数据至所述第二节点。
一种数据脱敏方法,应用于第二节点,包括:
获取脱敏时间掩码、初始对称密钥以及脱敏数据;
其中,所述脱敏时间掩码由第一节点计算脱敏绝限时间点与基础时间点的时间差得到,且所述脱敏时间掩码的二进制字符串的后n位均为0,其中,所述n为所述基础时间点的二进制字符串的位数;所述脱敏数据由所述第一节点使用目标对称密钥加密原始数据得到,所述目标对称密钥由所述第一节点对所述初始对称密钥使用目标扩展矩阵得到,所述目标扩展矩阵为以所述脱敏时间掩码为参数的扩展矩阵;
计算当前时间点与所述基础时间点的时间差,得到待验证时间差;
将所述待验证时间差的二进制字符串和所述脱敏时间掩码的二进制字符串做与或运算,得到目标二进制字符串;
对所述初始对称密钥使用目标收缩矩阵得到待验证对称密钥,所述目标收缩矩阵为与所述扩展矩阵对应的、且以所述目标二进制字符串为参数的收缩矩阵;
使用所述待验证对称密钥解密所述脱敏数据,确定是否解密成功;
若解密成功,获取使用所述待验证对称密钥解密所述脱敏数据得到的解密数据;
若解密不成功,获取所述脱敏数据。
可选地,获取所述脱敏时间掩码和初始对称密钥包括:
接收所述第一节点发送的数字信封,所述数字信封包括由所述第一节点使用所述初始对称密钥加密所述脱敏时间掩码得到的时间掩码密文,以及使用所述第一节点的私钥加密所述初始对称密钥得到的密钥密文;
使用所述第一节点的公钥解密所述密钥密文,若解密成功,得到所述初始对称密钥;
使用所述初始对称密钥解密所述时间掩码密文,若解密成功,得到所述脱敏时间掩码。
可选地,获取所述脱敏数据包括:
接收所述第一节点发送的脱敏校验数据,所述脱敏校验数据由所述第一节点对所述脱敏数据添加校验信息得到,所述校验信息通过使用所述第一节点的私钥对所述脱敏数据签名得到的校验信息得到;
使用所述第一节点的公钥对所述脱敏校验数据验签,若验签成功,得到所述脱敏数据。
可选地,本装置还包括风险提示单元,用于执行下述至少一项:
若使用所述第一节点的公钥解密所述密钥密文失败,发送预设的第一风险提示;
若使用所述初始对称密钥解密所述时间掩码密文失败,发送预设的第二风险提示;
若使用所述第一节点的公钥对所述脱敏校验数据验签失败,发送预设的第三风险提示。
一种数据脱敏装置,应用于第一节点,所述装置包括:
原始数据获取单元,用于获取原始数据;
时间掩码获取单元,用于计算脱敏绝限时间点与基础时间点的时间差,得到脱敏时间掩码;
密钥扩展单元,用于对初始对称密钥使用目标扩展矩阵得到目标对称密钥,所述目标扩展矩阵为以所述脱敏时间掩码的二进制字符串为参数的扩展矩阵;
数据脱敏单元,用于使用所述目标对称密钥加密所述原始数据,得到脱敏数据;
数据发送单元,用于发送所述脱敏时间掩码、所述初始对称密钥以及所述脱敏数据至第二节点;以使所述第二节点计算当前时间点与所述基础时间点的时间差,得到待验证时间差;将所述待验证时间差的二进制字符串和所述脱敏时间掩码的二进制字符串做与或运算,得到目标二进制字符串;对所述初始对称密钥使用目标收缩矩阵得到待验证对称密钥,所述目标收缩矩阵为与所述扩展矩阵对应的、且以所述目标二进制字符串为参数的收缩矩阵;使用所述待验证对称密钥解密所述脱敏数据,若解密成功,获取使用所述待验证对称密钥解密所述脱敏数据得到的解密数据;若解密不成功,获取所述脱敏数据。
一种数据脱敏装置,其特征在于,应用于第二节点,所述装置包括:
数据解析单元,用于获取脱敏时间掩码、初始对称密钥以及脱敏数据;
其中,所述脱敏时间掩码由第一节点计算脱敏绝限时间点与基础时间点的时间差得到;所述脱敏数据由所述第一节点使用目标对称密钥加密原始数据得到,所述目标对称密钥由所述第一节点对所述初始对称密钥使用目标扩展矩阵得到,所述目标扩展矩阵为以所述脱敏时间掩码为参数的扩展矩阵;
时间差获取单元,用于计算当前时间点与所述基础时间点的时间差,得到待验证时间差;
时间验证参数获取单元,用于将所述待验证时间差的二进制字符串和所述脱敏时间掩码的二进制字符串做与或运算,得到目标二进制字符串;
密钥收缩单元,用于对所述初始对称密钥使用目标收缩矩阵得到待验证对称密钥,所述目标收缩矩阵为与所述扩展矩阵对应的、且以所述目标二进制字符串为参数的收缩矩阵;
数据解密单元,用于使用所述待验证对称密钥解密所述脱敏数据,确定是否解密成功;
第一数据获取单元,用于若解密成功,获取使用所述待验证对称密钥解密所述脱敏数据得到的解密数据;
第二数据获取单元,用于若解密不成功,获取所述脱敏数据。
一种数据脱敏系统,包括:如上所述的第一节点以及如上所述的第二节点。
一种数据脱敏设备,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现数据脱敏方法的各个步骤。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现数据脱敏方法的各个步骤。
由上述技术方案可以看出,本申请实施例提供的数据脱敏方法以及相关装置,第一节点将脱敏时间掩码、初始对称密钥以及脱敏数据发送至第二节点,第二节点获取脱敏时间掩码、初始对称密钥以及脱敏数据后,计算当前时间点与基础时间点的时间差,得到待验证时间差。将待验证时间差的二进制字符串和脱敏时间掩码的二进制字符串做与或运算,得到目标二进制字符串。对初始对称密钥使用目标收缩矩阵得到待验证对称密钥。使用待验证对称密钥解密脱敏数据,确定是否解密成功。若解密成功,获取使用待验证对称密钥解密脱敏数据得到的解密数据。若解密不成功,获取脱敏数据。
由于,脱敏时间掩码由第一节点计算脱敏绝限时间点与基础时间点的时间差得到,且脱敏时间掩码的二进制字符串的后n位均为0,其中,n为基础时间点的二进制字符串的位数。脱敏数据由第一节点使用目标对称密钥加密原始数据得到,目标对称密钥由第一节点对初始对称密钥使用目标扩展矩阵得到,目标扩展矩阵为以脱敏时间掩码为参数的扩展矩阵,又由于,目标收缩矩阵为与扩展矩阵对应的、且以目标二进制字符串为参数的收缩矩阵,则,当当前时间点达到脱敏绝限时间点,目标二进制字符串大于0,则以目标二进制字符串为参数的目标收缩矩阵不为全0矩阵,收缩得到的待验证对称密钥等于目标对称密钥。那么使用待验证对称密钥解密脱敏数据成功,本方法获取解密脱敏数据成后的原始数据。当当前时间点t没有达到脱敏绝限时间点,目标二进制字符串等于0,则以目标二进制字符串为参数的目标收缩矩阵为全0矩阵,收缩得到的待验证对称密钥不等于目标对称密钥。那么使用待验证对称密钥解密脱敏数据不成功,本方法获取脱敏数据。综上,本方法可以实现在脱敏绝限时间点后自动解除数据的脱敏状态,在对数据脱敏以提高数据安全性的同时满足数据脱敏的时效性要求。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据脱敏系统的结构示意图;
图2为本申请实施例提供的一种数据脱敏方法的流程示意图;
图3为本申请实施例提供的一种数据发送方法的流程示意图;
图4为本申请实施例提供的一种数据获取方法的流程示意图;
图5为本申请实施例提供的一种数据信封生成方法的流程示意图;
图6为本申请实施例提供的一种数据脱敏装置的结构示意图;
图7为本申请实施例提供的一种数据脱敏装置的结构示意图;
图8为本申请实施例提供的一种数据脱敏设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供的数据脱敏系统包括多个节点,多个节点包括客户端节点和/或服务端节点。图1示例了一种数据脱敏系统的结构示意图,如图1所示,数据脱敏系统包括服务端节点以及多个客户端节点(例如图1所示的客户端节点1~客户端节点n)。
其中,服务端节点具体用于:
1、预先实现每个客户端节点的安全验证并为每个客户端节点配置公私钥对(包括对应的私钥和公钥),下发客户端节点的公私钥对至客户端节点,实现客户端节点的注册。
2、预先配置统一的基础时间点,并将基础时间点下发至各个客户端节点,实现为各个客户端节点配置统一的基准时间,下发方法包括将基础时间点使用服务端私钥加密后发送。
3、下发每个客户端节点的公钥至其它客户端节点。
需要说明的是,本申请实施例提供的一种数据脱敏方法可以应用于数据脱敏系统中第一客户端节点向第二客户端节点传输数据的场景(第一客户端节点和第二客户端节点为任意两个客户端节点)或者任意一个客户端节点向服务端节点传输数据的场景。
接下来,结合附图2对本申请提供的一种数据脱敏方法的进行介绍,图1示例了一种数据脱敏方法的具体实现方法的流程示意图,如图2所示该方法详细包括:
S201、第一节点获取原始数据。
本实施例中,原始数据包括待脱敏的数据,具体地,原始数据包括待脱敏字段。可选地,首先确定至少一个待脱敏数据项,然后提取待脱敏数据项的字段,得到待脱敏字段。
例如,原始文件中包括多个数据项(数据项A~数据项G)以及每个数据项的多个字段,将其中的数据项C和数据项G确定为待脱敏数据项后,提取数据项C的多个字段和数据项G的多个字段,由此得到原始数据。
S202、第一节点计算脱敏绝限时间点与基础时间点的时间差,得到脱敏时间掩码。
本实施例中,脱敏时间掩码的二进制字符串的后n位均为0,其中,所述n为所述基础时间点的二进制字符串的位数。
本实施例中,可选的一种脱敏绝限时间点的获取方法为从预设的候选绝限时间点集合中选择得到,其中,候选绝限时间点集合包括多个候选时间点,每一个候选时间点满足脱敏绝限条件,脱敏绝限条件包括与基础时间点的时间差的二进制字符串的后n位均为0,其中,n为基础时间点的二进制字符串的位数。
具体地,记脱敏绝限时间点为T,T转化为二进制后得到的二进制字符串有m位,基础时间点位T0,T0转化为二进制后得到的二进制字符串有n位,则脱敏时间掩码Mask=T-T0。由于T满足脱敏绝限条件,Mask转化为二进制后得到的二进制字符串的后n位均为0。
S203、第一节点对初始对称密钥使用目标扩展矩阵得到目标对称密钥。
本实施例中,初始对称密钥由第一节点随机生成,目标扩展矩阵为以脱敏时间掩码的二进制字符串为参数的扩展矩阵。
需要说明的是,扩展算法是一种线性可逆算法,例如Fiestel密码结构中的扩展矩阵,扩展矩阵与收缩矩阵相对应,信息经过扩展矩阵扩展,再经过对应的收缩矩阵收缩,可以复原。
可选地,可以预先配置任意两个节点间使用的扩展矩阵F和对应的收缩矩阵F’,本步骤中第一节点可以选择与第二节点预先约定好的扩展矩阵。
例如,记初始对称密钥位K1,第一节点获取扩展矩阵F,将Mask作为扩展矩阵F的参数得到目标扩展矩阵F1,使用目标扩展矩阵F1对K1进行扩展得到目标对称密钥K1’。具体的扩展方法可以参见现有技术。
S204、第一节点使用目标对称密钥加密原始数据,得到脱敏数据。
本实施例中,使用目标对称密钥分别加密各个待脱敏字段,得到脱敏数据。
S205、第一节点发送脱敏时间掩码、初始对称密钥以及脱敏数据至第二节点。
本步骤的具体实现方法参见下述实施例。
S206、第二节点获取脱敏时间掩码、初始对称密钥以及脱敏数据。
本实施例中,第二节点接收第一节点发送的数据后,基于第一节点发送的数据获取脱敏时间掩码、初始对称密钥以及脱敏数据。
本步骤的具体实现方法参见下述实施例。
S207、第二节点计算当前时间点与基础时间点的时间差,得到待验证时间差。
接上例,记当前时间点为t,则待验证时间差TN=t-T0。
S208、第二节点将待验证时间差的二进制字符串和脱敏时间掩码的二进制字符串做与或运算,得到目标二进制字符串。
接上例,将TN的二进制字符串与Mask的二进制字符串做与或运算后得到目标二进制字符串M2,需要说明的是,二进制字符串通过二进制转换得到,具体转换方法参见现有技术。
可以理解的是,由于脱敏时间掩码的二进制字符串的后n位均为0,其中,n为基础时间点的二进制字符串的位数,因此,当前时间点t没有达到脱敏绝限时间点T,则目标二进制字符串M2等于0。当前时间点t达到脱敏绝限时间点T,则目标二进制字符串M2大于0。
S209、第二节点对初始对称密钥使用目标收缩矩阵得到待验证对称密钥。
本实施例中,目标收缩矩阵为与扩展矩阵对应的、且以目标二进制字符串为参数的收缩矩阵。
接上例,第二节点获取和扩展矩阵F对应的收缩矩阵F’,并以M2为F’的参数得到目标收缩矩阵F1’,使用目标收缩矩阵F1’收缩初始对称密钥得到待验证对称密钥Y。
S210、第二节点使用待验证对称密钥解密脱敏数据,确定是否解密成功。
S211、若解密成功,第二节点获取使用待验证对称密钥解密脱敏数据得到的解密数据。
S212、若解密不成功,第二节点获取脱敏数据。
由上述技术方案可以看出,本申请实施例提供的一种脱敏方法,当当前时间点t达到脱敏绝限时间点T,目标二进制字符串M2大于0,则以M2为参数的目标收缩矩阵不为全0矩阵,收缩得到的待验证对称密钥等于目标对称密钥。那么使用待验证对称密钥解密脱敏数据成功,本步骤获取解密脱敏数据成后的原始数据。当当前时间点t没有达到脱敏绝限时间点T,目标二进制字符串M2等于0,则以M2为参数的目标收缩矩阵为全0矩阵,收缩得到的待验证对称密钥不等于目标对称密钥。那么使用待验证对称密钥解密脱敏数据不成功,本步骤获取脱敏数据。综上,本方法可以实现在脱敏绝限时间点后自动解除数据的脱敏状态,在对数据脱敏以提高数据安全性的同时满足数据脱敏的时效性要求。
图3示例了一种可选的第一节点发送脱敏时间掩码、初始对称密钥以及脱敏数据至第二节点的具体方法,如图3所示,发送方法具体包括:
S301、第一节点使用初始对称密钥加密脱敏时间掩码,得到时间掩码密文。
S302、第一节点使用第一节点的私钥加密初始对称密钥,得到密钥密文。
S303、第一节点获取数字信封,数字信封包括时间掩码密文和密钥密文。
S304、第一节点使用第一节点的私钥对脱敏数据签名,得到校验信息。
S305、第一节点对脱敏数据添加校验信息得到脱敏校验数据。
S306、第一节点发送数字信封和脱敏校验数据至第二节点。
需要说明的是,由于数字信封由使用第一节点的私钥加密初始对称密钥得到的密钥密文和使用初始对称密钥加密脱敏时间掩码得到的时间掩码密文组成,因此以发送数字信封的方式发送初始对称密钥和脱敏时间掩码,能够使第二节点基于第一节点的公钥验签成功后得到初始对称密钥,实现对第一节点的验证,且使用初始对称密钥解密成功后得到时间掩码密文,降低时间掩码密文在传输过程中被篡改的风险,由此,通过结合对称加密和非对称加密保证脱敏时间掩码的安全性。又由于,脱敏校验数据通过对脱敏数据添加使用第一节点的私钥对脱敏数据签名得到校验信息生成,使得第二节点基于第一节点的公钥验签成功后才能得到脱敏数据,提高脱敏数据的安全性。可见,本步骤通过图3所示的流程,能够实现数据的合法性以及完整性验证,避免出现数据泄露,提高数据传输的安全性。
需要说明的是,本步骤还可以通过其他具体实现方式实现,例如,在一种可选的实施例中,第一节点将脱敏时间掩码、初始对称密钥以及脱敏数据直接打包发送至第二节点,又例如,在另一种可选的实施例中,第一节点将数字信封和脱敏数据打包发送至第二节点。对此,本实施例不做限定。
图4示例了一种可选的第二节点获取脱敏时间掩码、初始对称密钥以及脱敏数据的具体方法,如图4所示,获取方法具体包括:
S401、第二节点接收第一节点发送的数字信封和脱敏校验数据。
S402、第二节点使用第一节点的公钥解密密钥密文.
S403、若解密成功,得到初始对称密钥。
S404、若使用第一节点的公钥解密密钥密文失败,发送预设的第一风险提示。
S405、第二节点使用初始对称密钥解密时间掩码密文。
S406、若解密成功,得到脱敏时间掩码。
S407、若使用初始对称密钥解密时间掩码密文失败,发送预设的第二风险提示。
S408、第二节点使用第一节点的公钥对脱敏校验数据验签。
S409、若验签成功,得到脱敏数据。
S410、若使用第一节点的公钥对脱敏校验数据验签失败,发送预设的第三风险提示。
需要说明的是,由于数字信封由使用第一节点的私钥加密初始对称密钥得到的密钥密文和使用初始对称密钥加密脱敏时间掩码得到的时间掩码密文组成,第二节点基于第一节点的公钥验签成功才可以得到初始对称密钥,由此实现对第一节点的身份验证,且第二节点使用初始对称密钥解密得到时间掩码密文,由此降低时间掩码密文在传输过程中被篡改的风险,可见,通过结合对称加密和非对称加密保证脱敏时间掩码的安全性。又由于,脱敏校验数据通过对脱敏数据添加使用第一节点的私钥对脱敏数据签名得到校验信息生成,第二节点基于第一节点的公钥验签成功后才能得到脱敏数据,由此,提高脱敏数据的安全性。综上,本步骤通过图4所示的流程,能够实现数据的合法性以及完整性验证,避免出现数据泄露,提高数据传输的安全性。
需要说明的是,本步骤还可以通过其他具体实现方式实现:
例如,在一种可选的实施例中,第二节点接收到由脱敏时间掩码、初始对称密钥以及脱敏数据的直接打包得到的数据包后,直接从数据包中提取脱敏时间掩码、初始对称密钥以及脱敏数据。
又例如,在另一种可选的实施例中,第二节点接收到将数字信封和脱敏数据打包得到的数据包后,直接提取脱敏数据并且通过S402~S406得到脱敏时间掩码和初始对称密钥。对此,本实施例不做限定。
又例如,S404、S407、和S410均为可选的步骤,本申请通过在验签或解密失败后发出响应的风险提示,能够实现数据安全风险预警。
综上,本申请提供的数据脱敏方法可以克服现有数据脱敏技术问题,现有的数据脱敏方法中,仅利用简单数据水印技术对数据进行脱敏,无法防止数据被篡改或者数据泄露,并且,无法实现有时效性要求的数据脱敏。例如,数据需要在时间节点前保持脱敏状态、在时间节点之后解除脱敏,在现有技术中,必须在时间节点前发送一次脱敏数据,并在时间节点后发送未脱敏数据,流程复杂且数据安全性差。
基于本申请提供的数据脱敏方法,实现在不破坏原始数据结构的前提下,现有时效性要求的数据脱敏。接收方在收到数据后,在时间节点前使用则为脱敏数据,在时间节点后自动转为非脱敏数据,可见,数据无需发送两次。对于数据接收方来说,脱敏数据犹如冰激凌,在时间节点前是冷冻状态(脱敏状态),随着时间推移达到时间节点将会融化(非脱敏状态)。
具体地,本申请通过上述实施例提供的一种数据脱敏方法,可以实现终端C1(第一节点)向终端C2(第二节点)发送数据,终端C2接收数据并在脱敏绝限时间点前后获取并获取不同状态的数据的全过程,具体可以包括:
一、准备阶段
1、处理脱敏数据的终端(终端C1)安装脱敏客户端,启动并向服务器端注册。
2、服务器端向终端C1发放服务器端证书和终端C1自身证书(包括终端C1的公钥和私钥)、用服务器公钥加密的基础时间点T0以及服务器端管理证书等信息。
二、数据脱敏阶段
终端C1拥有待脱敏数据,并要求脱敏后的数据需要在脱敏绝限时间点T之前保持脱敏状态,脱敏绝限时间点T之后解除脱敏状态。
具体的脱敏方法包括:
1、数据准备:
终端C1准备待脱敏数据,待脱敏数据包括待脱敏数据项的字段。表1示出了一种原始数据表,其中列名为数据项A~数据项G,且待脱敏数据项包括数据项C和数据项G。
表1原始数据表
2、终端C1计算脱敏时间掩码:
本实施例中,脱敏时间掩码Mask=T-T0
需要说明的是,本申请对时间点T有要求,不可任意选取。要求如下:假设T转化为二进制后有m位,T0转化为二进制后有n位,则必须保证Mask转化为二进制后最后n位为0】。
3、终端C1生成数字信封:
图5示例了一种数字信封生成框图,如图5所示,终端C1随机生成对称密钥K1,使用K1加密Mask,得到消息密文(也即时间掩码密文),同时将对称密钥K1用终端C1的私钥PR1加密,得到密钥密文;将消息密文和密钥密文组成数字信封E1。
4、终端C1生成水印信息:
终端C1对对称密钥K1使用扩展矩阵后得K1’,用K1’加密待脱敏字段生成水印信息。
其中,扩展是一种线性可逆算法(参考Fiestel结构中扩展矩阵),扩展矩阵与收缩矩阵相对应,一段信息经过扩展矩阵扩展,再经过收缩矩阵收缩,可以复原。
这里,扩展矩阵、收缩矩阵以Mask为参数。
5、终端C1进行水印脱敏:
终端C1脱敏字段对应的单元格内(表1所示的填充区域)填充水印信息,得到脱敏后的数据。
6、终端C1增加校验:
终端C1基于脱敏后的数据生成脱敏文件,对脱敏文件增加用C1私钥签名得到的校验码H。
7、终端C1发送数据:
终端C1发送数字信封E、校验码H、以及脱敏文件至终端C2。
三、终端C2进行脱敏数据的使用
终端C2进行脱敏数据的使用过程包括:
1、终端C2进行数据准备:
终端C2使用终端C1的公钥PU1解密数字信封E,获得Mask。
2、终端C2通过冰淇淋算法使用脱敏数据:
终端C2计算当前时间信息TN=t-T0(t为当前时间),将TN与MASK转换为二进制字符串并做与或运算得M2。
3、终端C2进行水印脱敏:
对对称密钥K1使用收缩矩阵后得K1’,用K1’解密水印信息获得字段。
这里,扩展矩阵和收缩矩阵以M2为参数。
根据冰淇淋算法可知:
(1)在当前时间未到T时,TN与MASK与或所得M2值为0,作为扩展矩阵、收缩矩阵参数后,扩展矩阵、收缩矩阵为全0矩阵,无法解密出原始数据,相当于获得的是脱敏后数据。
(2)在当前时间到T之后,TN与MASK与或所得M2值大于0,作为扩展矩阵、收缩矩阵参数后,扩展矩阵、收缩矩阵不为全0矩阵,可以解密出原始数据,相当于时间点T之后数据解除了脱敏状态。
综上,本发明提出了一种冰淇淋算法带时效性的脱敏方案,通过冰淇淋算法与数据信封、数据脱敏、数字水印等技术进行结合,实现节点之间流通共享数据的防篡改以及带时效性的脱敏,在完成数据脱敏的同时大大提升数据流通和共享的安全性,并且在脱敏时效性到期后自动消除数据脱敏。
与一般简单的水印或脱敏技术相比,本发明提出的方法具有以下优点:
脱敏操作与添加水印一起完成,且不破坏原数据结构。
应用系统仅需要部署服务器端,再在需要使用脱敏数据的模块部上客户端,改造量小,适配多种架构系统。
实现有时效性要求的数据脱敏。用户在收到数据后,在时间节点前使用则为脱敏数据,在时间节点后自动转为非脱敏数据。数据无需多次发送。
图6示出了本申请实施例提供的一种数据脱敏装置的结构示意图,如图3所示,该装置可以应用于第一节点,该装置具体包括:
原始数据获取单元601,用于获取原始数据;
时间掩码获取单元602,用于计算脱敏绝限时间点与基础时间点的时间差,得到脱敏时间掩码;
密钥扩展单元603,用于对初始对称密钥使用目标扩展矩阵得到目标对称密钥,所述目标扩展矩阵为以所述脱敏时间掩码的二进制字符串为参数的扩展矩阵;
数据脱敏单元604,用于使用所述目标对称密钥加密所述原始数据,得到脱敏数据;
数据发送单元605,用于发送所述脱敏时间掩码、所述初始对称密钥以及所述脱敏数据至第二节点。
图7示出了本申请实施例提供的一种数据脱敏装置的结构示意图,如图3所示,该装置可以应用于第二节点,该装置具体包括:
数据解析单元701,用于获取脱敏时间掩码、初始对称密钥以及脱敏数据;
其中,所述脱敏时间掩码由第一节点计算脱敏绝限时间点与基础时间点的时间差得到;所述脱敏数据由所述第一节点使用目标对称密钥加密原始数据得到,所述目标对称密钥由所述第一节点对所述初始对称密钥使用目标扩展矩阵得到,所述目标扩展矩阵为以所述脱敏时间掩码为参数的扩展矩阵;
时间差获取单元702,用于计算当前时间点与所述基础时间点的时间差,得到待验证时间差;
时间验证参数获取单元703,用于将所述待验证时间差的二进制字符串和所述脱敏时间掩码的二进制字符串做与或运算,得到目标二进制字符串;
密钥收缩单元704,用于对所述初始对称密钥使用目标收缩矩阵得到待验证对称密钥,所述目标收缩矩阵为与所述扩展矩阵对应的、且以所述目标二进制字符串为参数的收缩矩阵;
数据解密单元705,用于使用所述待验证对称密钥解密所述脱敏数据,确定是否解密成功;
第一数据获取单元706,用于若解密成功,获取使用所述待验证对称密钥解密所述脱敏数据得到的解密数据;
第二数据获取单元707,用于若解密不成功,获取所述脱敏数据。
图8示出了该数据脱敏设备的结构示意图,该设备可以包括:至少一个处理器801,至少一个通信接口802,至少一个存储器803和至少一个通信总线804;
在本申请实施例中,处理器801、通信接口802、存储器803、通信总线804的数量为至少一个,且处理器801、通信接口802、存储器803通过通信总线804完成相互间的通信;
处理器801可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecificIntegratedCircuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器803可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可执行存储器存储的程序,实现本申请实施例提供的一种数据脱敏方法的各个步骤。
本申请实施例还提供一种可读存储介质,该可读存储介质可存储有适于处理器执行的计算机程序,计算机程序被处理器执行时,实现本申请实施例提供的一种数据脱敏方法的各个步骤。
需要说明的是,本发明提供的一种数据脱敏方法以及相关装置可用于金融领域或其他领域。例如,可用于金融领域中的数据脱敏应用场景。其他领域为除金融领域之外的任意领域,例如,分布式数据传输领域。上述仅为示例,并不对本发明提供的一种数据脱敏方法以及相关装置的应用领域进行限定。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种数据脱敏方法,其特征在于,应用于第一节点,包括:
获取原始数据;
计算脱敏绝限时间点与基础时间点的时间差,得到脱敏时间掩码,所述脱敏时间掩码的二进制字符串的后n位均为0,其中,所述n为所述基础时间点的二进制字符串的位数;
对初始对称密钥使用目标扩展矩阵得到目标对称密钥,所述目标扩展矩阵为以所述脱敏时间掩码的二进制字符串为参数的扩展矩阵;
使用所述目标对称密钥加密所述原始数据,得到脱敏数据;
发送所述脱敏时间掩码、所述初始对称密钥以及所述脱敏数据至第二节点,以使所述第二节点计算当前时间点与所述基础时间点的时间差,得到待验证时间差;将所述待验证时间差的二进制字符串和所述脱敏时间掩码的二进制字符串做与或运算,得到目标二进制字符串;对所述初始对称密钥使用目标收缩矩阵得到待验证对称密钥,所述目标收缩矩阵为与所述扩展矩阵对应的、且以所述目标二进制字符串为参数的收缩矩阵;使用所述待验证对称密钥解密所述脱敏数据,若解密成功,获取使用所述待验证对称密钥解密所述脱敏数据得到的解密数据;若解密不成功,获取所述脱敏数据。
2.根据权利要求1所述的方法,其特征在于,发送所述脱敏时间掩码和所述初始对称密钥至所述第二节点,包括:
使用所述初始对称密钥加密所述脱敏时间掩码,得到时间掩码密文;使用所述第一节点的私钥加密所述初始对称密钥,得到密钥密文;获取数字信封,所述数字信封包括所述时间掩码密文和所述密钥密文;
发送所述数字信封至所述第二节点。
3.根据权利要求1或2所述的方法,其特征在于,发送所述脱敏数据至所述第二节点包括:
使用所述第一节点的私钥对所述脱敏数据签名,得到校验信息;
对所述脱敏数据添加所述校验信息得到脱敏校验数据;
发送所述脱敏校验数据至所述第二节点。
4.一种数据脱敏方法,其特征在于,应用于第二节点,包括:
获取脱敏时间掩码、初始对称密钥以及脱敏数据;
其中,所述脱敏时间掩码由第一节点计算脱敏绝限时间点与基础时间点的时间差得到,且所述脱敏时间掩码的二进制字符串的后n位均为0,其中,所述n为所述基础时间点的二进制字符串的位数;所述脱敏数据由所述第一节点使用目标对称密钥加密原始数据得到,所述目标对称密钥由所述第一节点对所述初始对称密钥使用目标扩展矩阵得到,所述目标扩展矩阵为以所述脱敏时间掩码为参数的扩展矩阵;
计算当前时间点与所述基础时间点的时间差,得到待验证时间差;
将所述待验证时间差的二进制字符串和所述脱敏时间掩码的二进制字符串做与或运算,得到目标二进制字符串;
对所述初始对称密钥使用目标收缩矩阵得到待验证对称密钥,所述目标收缩矩阵为与所述扩展矩阵对应的、且以所述目标二进制字符串为参数的收缩矩阵;
使用所述待验证对称密钥解密所述脱敏数据,确定是否解密成功;
若解密成功,获取使用所述待验证对称密钥解密所述脱敏数据得到的解密数据;
若解密不成功,获取所述脱敏数据。
5.根据权利要求4所述的方法,其特征在于,获取所述脱敏时间掩码和初始对称密钥包括:
接收所述第一节点发送的数字信封,所述数字信封包括由所述第一节点使用所述初始对称密钥加密所述脱敏时间掩码得到的时间掩码密文,以及使用所述第一节点的私钥加密所述初始对称密钥得到的密钥密文;
使用所述第一节点的公钥解密所述密钥密文,若解密成功,得到所述初始对称密钥;
使用所述初始对称密钥解密所述时间掩码密文,若解密成功,得到所述脱敏时间掩码。
6.根据权利要求5所述的方法,其特征在于,获取所述脱敏数据包括:
接收所述第一节点发送的脱敏校验数据,所述脱敏校验数据由所述第一节点对所述脱敏数据添加校验信息得到,所述校验信息通过使用所述第一节点的私钥对所述脱敏数据签名得到的校验信息得到;
使用所述第一节点的公钥对所述脱敏校验数据验签,若验签成功,得到所述脱敏数据。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括下述至少一项:
若使用所述第一节点的公钥解密所述密钥密文失败,发送预设的第一风险提示;
若使用所述初始对称密钥解密所述时间掩码密文失败,发送预设的第二风险提示;
若使用所述第一节点的公钥对所述脱敏校验数据验签失败,发送预设的第三风险提示。
8.一种数据脱敏装置,其特征在于,应用于第一节点,所述装置包括:
原始数据获取单元,用于获取原始数据;
时间掩码获取单元,用于计算脱敏绝限时间点与基础时间点的时间差,得到脱敏时间掩码;
密钥扩展单元,用于对初始对称密钥使用目标扩展矩阵得到目标对称密钥,所述目标扩展矩阵为以所述脱敏时间掩码的二进制字符串为参数的扩展矩阵;
数据脱敏单元,用于使用所述目标对称密钥加密所述原始数据,得到脱敏数据;
数据发送单元,用于发送所述脱敏时间掩码、所述初始对称密钥以及所述脱敏数据至第二节点;以使所述第二节点计算当前时间点与所述基础时间点的时间差,得到待验证时间差;将所述待验证时间差的二进制字符串和所述脱敏时间掩码的二进制字符串做与或运算,得到目标二进制字符串;对所述初始对称密钥使用目标收缩矩阵得到待验证对称密钥,所述目标收缩矩阵为与所述扩展矩阵对应的、且以所述目标二进制字符串为参数的收缩矩阵;使用所述待验证对称密钥解密所述脱敏数据,若解密成功,获取使用所述待验证对称密钥解密所述脱敏数据得到的解密数据;若解密不成功,获取所述脱敏数据。
9.一种数据脱敏装置,其特征在于,应用于第二节点,所述装置包括:
数据解析单元,用于获取脱敏时间掩码、初始对称密钥以及脱敏数据;
其中,所述脱敏时间掩码由第一节点计算脱敏绝限时间点与基础时间点的时间差得到;所述脱敏数据由所述第一节点使用目标对称密钥加密原始数据得到,所述目标对称密钥由所述第一节点对所述初始对称密钥使用目标扩展矩阵得到,所述目标扩展矩阵为以所述脱敏时间掩码为参数的扩展矩阵;
时间差获取单元,用于计算当前时间点与所述基础时间点的时间差,得到待验证时间差;
时间验证参数获取单元,用于将所述待验证时间差的二进制字符串和所述脱敏时间掩码的二进制字符串做与或运算,得到目标二进制字符串;
密钥收缩单元,用于对所述初始对称密钥使用目标收缩矩阵得到待验证对称密钥,所述目标收缩矩阵为与所述扩展矩阵对应的、且以所述目标二进制字符串为参数的收缩矩阵;
数据解密单元,用于使用所述待验证对称密钥解密所述脱敏数据,确定是否解密成功;
第一数据获取单元,用于若解密成功,获取使用所述待验证对称密钥解密所述脱敏数据得到的解密数据;
第二数据获取单元,用于若解密不成功,获取所述脱敏数据。
10.一种数据脱敏系统,其特征在于,包括:第一节点以及第二节点;
所述第一节点用于执行如权利要求1~3中任一项所述的数据脱敏方法的各个步骤;
所述第二节点用于执行如权利要求4~5中任一项所述的数据脱敏方法的各个步骤。
11.一种数据脱敏设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1~3或4~5中任一项所述的数据脱敏方法的各个步骤。
12.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1~3或4~5中任一项所述的数据脱敏方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310930322.5A CN116933317A (zh) | 2023-07-27 | 2023-07-27 | 一种数据脱敏方法以及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310930322.5A CN116933317A (zh) | 2023-07-27 | 2023-07-27 | 一种数据脱敏方法以及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116933317A true CN116933317A (zh) | 2023-10-24 |
Family
ID=88376872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310930322.5A Pending CN116933317A (zh) | 2023-07-27 | 2023-07-27 | 一种数据脱敏方法以及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116933317A (zh) |
-
2023
- 2023-07-27 CN CN202310930322.5A patent/CN116933317A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5757913A (en) | Method and apparatus for data authentication in a data communication environment | |
CN111555872B (zh) | 一种通信数据处理方法、装置、计算机系统及存储介质 | |
US11546348B2 (en) | Data service system | |
CN105009507A (zh) | 借助于物理不可克隆函数创建从加密密钥中推导的密钥 | |
US20190140819A1 (en) | System and method for mekle puzzles symeteric key establishment and generation of lamport merkle signatures | |
CN113691502B (zh) | 通信方法、装置、网关服务器、客户端及存储介质 | |
KR101082917B1 (ko) | 원격 컴퓨팅 환경에서 사용자 데이터의 무결성 검증 방법 및 그 시스템 | |
CN114157415A (zh) | 数据处理方法、计算节点、系统、计算机设备和存储介质 | |
CN112118245B (zh) | 密钥管理方法、系统和设备 | |
CN112115461B (zh) | 设备认证方法、装置、计算机设备和存储介质 | |
CN111404892B (zh) | 数据监管方法、装置和服务器 | |
CN113114654A (zh) | 一种终端设备接入安全认证方法、装置及系统 | |
CN112382376A (zh) | 基于区块链的医疗器械管理追溯系统 | |
CN110719167A (zh) | 一种基于区块链的带时效性的签密方法 | |
EP2892206B1 (en) | System and method for push framework security | |
CN116455572B (zh) | 数据加密方法、装置及设备 | |
CN117155549A (zh) | 密钥分发方法、装置、计算机设备和存储介质 | |
US20220216999A1 (en) | Blockchain system for supporting change of plain text data included in transaction | |
CN114398651B (zh) | 秘密数据共享方法及分布式系统 | |
CN113472734B (zh) | 一种身份认证方法及装置 | |
CN115022042A (zh) | 一种保护数据隐私的合规码验证方法和计算机可读介质 | |
CN116933317A (zh) | 一种数据脱敏方法以及相关装置 | |
CN114553557A (zh) | 密钥调用方法、装置、计算机设备和存储介质 | |
CN114091072A (zh) | 一种数据处理方法及装置 | |
CN112954388A (zh) | 一种数据文件的获取方法、装置、终端设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |