CN117955636A - 一种高安全性的敏感数据存取方法和系统 - Google Patents
一种高安全性的敏感数据存取方法和系统 Download PDFInfo
- Publication number
- CN117955636A CN117955636A CN202410111999.0A CN202410111999A CN117955636A CN 117955636 A CN117955636 A CN 117955636A CN 202410111999 A CN202410111999 A CN 202410111999A CN 117955636 A CN117955636 A CN 117955636A
- Authority
- CN
- China
- Prior art keywords
- key
- sensitive data
- data
- dev
- ordered
- 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 47
- 238000004422 calculation algorithm Methods 0.000 claims description 42
- 239000012634 fragment Substances 0.000 claims description 26
- 230000006870 function Effects 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 15
- 238000003491 array Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000011161 development Methods 0.000 abstract description 16
- 238000012545 processing Methods 0.000 abstract description 14
- 238000004590 computer program Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及一种高安全性的敏感数据存取方法和系统,包括:在用户客户端随机创建根密钥DMK,并派生出相应的功能密钥,包括DPK密钥、DSK密钥和DEK密钥;基于各功能密钥对敏感数据DV及其DID进行加密并转换为乱序的<K,V>集合后,通过数据存取SDK存储至企业服务端;基于指定的DID对企业服务端的<K,V>集合数据进行提取,并利用相应的功能密钥对提取的<K,V>集合数据进行解密,得到敏感数据DV。本发明可以广泛应用于勘探开发数据处理领域。
Description
技术领域
本发明涉及一种高安全性的敏感数据存取方法和系统,属于勘探开发数据处理领域。
背景技术
勘探开发数据湖平台持有很多敏感的数据,传统的敏感数据存取技术,一般使用端到端加密,先将数据在本地进行加密,再存储到服务器。当需要数据时,则从服务器下载加密数据,在本地解密后使用。
在一般场景下,端到端加密可以保证很高的安全性。但对于勘探开发数据湖平台的敏感数据,则需要更高的安全性,那么上述方案有一些潜在的风险:在服务器执行存储和读取操作时,那么加密数据与存取操作的对应关系就暴露了。例如,在文件存取中,一旦写入或读取了某文件,那么文件路径与文件内容的对应关系就暴露了。对于高度机密的文件,暴露对应关系等同于暴露敏感数据的位置,即使做了加密处理,对安全性也有非常大的影响:黑客可以利用这种对应关系发起推理攻击,窃取秘密数据,也可以先下载加密数据,再尝试离线暴力破解,考虑到量子计算的快速发展,这种离线攻击不容小视。
勘探开发数据湖平台尝试使用前沿的隐私计算技术来解决敏感数据的存取。例如使用混淆电路技术,与服务端进行多次交互和安全计算,每次取回敏感数据的一小部分,最终拼凑成完整的数据。但这种方案每次取回的数据较少,需要大量频繁的数据交互,并且每次交互的数据带宽都很大,存取效率非常低。再比如使用同态加密技术,在服务器的存取操作完全使用密文计算,则存取过程不会泄漏任何信息。但目前的同态加密技术性能较差,较难实现复杂的存取操作,无法在生产环境中使用。
发明内容
针对上述问题,本发明的目的是提供一种高安全性的敏感数据存取方法和系统,在存取操作中不会暴露存取操作与加密数据的对应关系,也不会暴露加密数据。
为实现上述目的,本发明采取以下技术方案:
第一方面,本发明提供一种高安全性的敏感数据存取方法,包括:
在用户客户端随机创建根密钥DMK,并派生出相应的功能密钥,包括DPK密钥、DSK密钥和DEK密钥;
基于各功能密钥对敏感数据DV及其DID进行加密并转换为乱序的<K,V>集合后,通过数据存取SDK存储至企业服务端;
基于指定的DID对企业服务端的<K,V>集合数据进行提取,并利用相应的功能密钥对提取的<K,V>集合数据进行解密,得到敏感数据DV。
进一步,所述在用户客户端随机创建根密钥DMK,是指随机创建一个256位长度的随机数作为根密钥DMK。
进一步,所述基于各功能密钥对敏感数据DV及其DID进行加密并转换为乱序的<K,V>集合后,通过数据存取SDK存储至企业服务端,包括:
基于根密钥DMK派生出的功能密钥,对敏感数据DV及其DID进行转换,得到一组DID有序集合和一组DEV有序集合;
基于下标将DID有序集合和DEV有序集合的数据进行一一对应,转换为一组<K,V>集合;
将得到的<K,V>集合充分打乱顺序,得到乱序的<K,V>集合;
在用户客户端通过数据存取SDK,将乱序的<K,V>集合存储至企业服务端。
进一步,所述基于根密钥DMK派生出的功能密钥,对敏感数据DV及其DID进行转换,得到一组DID有序集合和一组DEV有序集合,包括:
基于DPK密钥,使用DID置换算法,利用hmac操作将DID转换为唯一顺序的DID有序集合;
基于DEK密钥,使用对称加密算法,对敏感数据DV进行加密得到密文数据DEV;
基于DSK密钥,使用秘密分享算法,利用hmac和xor操作将密文数据DEV加密为一个唯一顺序的DEV有序集合。
进一步,所述DID置换算法,包括:
①以DID为种子,使用随机数算法生成随机数;
②根据安全需求确定私密分片数n;
③将当前迭代次数设置为m=1;
④使用hmac算法基于随机数r和DPK密钥来计算DID分片;
⑤基于计算得到的DID分片在结果集中进行查重,如果有重复的DID分片值则重新返回步骤④进行计算,以确保输出的结果集中DID分片的唯一性;
⑥判断当前迭代次数m是否大于n,若是则输出结果集,否则,令m加1后返回步骤④。
进一步,所述秘密分享算法,包括:
①以密文数据DEV为种子,使用随机数算法生成随机数r;
②将密文集合个数为私密分片数n;
③将当前迭代次数设置为m=1;
④基于随机数r和DSK密钥,使用hmac算法计算本轮迭代的DEV分片,并将本轮迭代的DEV分片与密文数据DEV进行异或运算,作为密文数据DEV的更新值;
⑤判断当前迭代次数m是否大于n,若是则输出结果集,否则,令m加1后返回步骤④。
进一步,所述基于指定的DID对企业服务端的<K,V>集合数据进行提取,并利用相应的功能密钥对提取的<K,V>集合数据进行解密,得到敏感数据DV,包括:
基于根密钥DMK派生出的DPK密钥,使用DID置换算法,利用hmac操作将DID转换为唯一顺序的DID有序集合;
将DID有序集合打乱顺序,得到一个数组Array<K>,其中K为DID有序集合中的元素;
将Array<K>发送到企业服务端进行查询,得到一个数组Array<V>,其中V为DEV有序集合中的DEV分片;
将Array<K>与Array<V>基于下标进行一一对应,转换为一组有序<K,V>集合;
基于DSK密钥对DEV有序集合解密,得到密文数据DEV;
基于DEK密钥将密文数据DEV解密为敏感数据DV,得到敏感数据DV的明文。
第二方面,本发明提供一种高安全性的敏感数据存取系统,包括:
用户客户端,包括密钥创建模块、加密模块和解密模块,其中,密钥创建模块用于随机创建根密钥DMK,并派生出相应的功能密钥,包括DPK密钥、DSK密钥和DEK密钥等;加密模块用于基于各功能密钥对敏感数据DV及其DID进行加密并转换为乱序的<K,V>集合;解密模块,用于基于指定的DID对企业服务端的<K,V>集合数据进行提取,并利用相应的功能密钥对提取的<K,V>集合数据进行解密,得到敏感数据DV;
企业服务端,用于存储用户客户端发送的乱序<K,V>集合数据,或基于指定的DID提取相应的<K,V>集合发送到用户客户端。
第三方面,本发明提供一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行所述方法中的任一方法。
第四方面,本发明提供一种计算设备,包括:一个或多个处理器及存储器,所述存储器中存储有一个或多个程序,并被配置为所述一个或多个处理器执行,所述一个或多个程序包括用于执行所述方法中的任一方法的指令。
本发明由于采取以上技术方案,其具有以下优点:
1、本发明在数据存取过程中,不会暴露存取操作与密文的关系,使推理攻击无法获得信息;
2、本发明在数据存取过程中,不会暴露数据的密文本身,使离线攻击无效;
3、本发明数据存取操作不依赖复杂密码学操作,性能较好,可在生产环境中使用。
因此,本发明可以广泛应用于勘探开发数据处理领域。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。在整个附图中,用相同的附图标记表示相同的部件。在附图中:
图1是本发明实施例提供的高安全性的敏感数据存取系统架构图;
图2是本发明实施例提供的客户端密钥算法描述图;
图3是本发明实施例提供的DID置换操作算法;
图4是本发明实施例提供的秘密分享的加密算法;
图5是本发明实施例提供的秘密分享的解密算法。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
为便于理解本发明,对本发明涉及到的数据结构和算法定义介绍如下:
DataId(DID):作为查询敏感数据的ID,可以理解为敏感数据的编号或位置,一个DataId对应唯一的敏感数据。在本发明中,DataId与敏感数据的对应关系需要被保护。
DataValue(DV):勘探开发数据湖平台敏感数据的明文形态,与DataId是唯一对应的。在本发明中,DataValue需要被严格保护。
MasterKey(MK):由系统使用者生成,作为本系统的根密钥,可派生出其他密钥,所有的安全性都依赖于MasterKey,本发明保证在MasterKey不泄漏的情况下,攻击者无法获得任何机密信息。
DataEncryptKey(DEK):由MK派生得来,用于直接加密被保护的敏感数据DataValue,DEK是一个对称密钥,至少256位长,例如AES-256。
DataPermutationKey(DPK):由MK派生得来,用于作为随机种子,派生出一系列随机数,用于查询数据。
DataShareKey(DSK):由MK派生得来,用于作为随机种子,派生出一系列随机数,用于保护加密后的密文。
DataEncryptValue(DEV):勘探开发数据湖平台敏感数据DataValue的加密形态,由DEK加密DataValue后得到。在本发明中,DataId与DEV的对应关系需要被保护,DEV密文本身也需要被保护。
Map<K,V>:唯一映射数据结构,由唯一的K可存取唯一的V,但存取过程会暴露对应关系和存取数据。
Array<T>:数组数据结构,由一系列的T类型元素组成,支持基于下标序号的存取,但存取过程会暴露对应关系和存取数据。
Rand<Seed>:可表示任意长度的随机数,由Seed作为随机种子生成,可通过多次生成扩展到任意长度。
XOR:扩展异或操作,先将两个数据用自身循环补齐到相同长度,然后进行异或操作。
HMAC<Key,Digest>:表示用HMAC类算法,基于Key来处理Digest,生成256位的数据。
基于上述数据结构和算法定义,可以将本发明要解决的问题做以下表达:勘探开发数据湖平台持有敏感数据DV,需要将敏感数据安全DV的保存,并使用DID来存取,在存取过程中,不暴露DID与DV的对应关系,且不暴露DV和其密文DEV。
因此,本发明的一些实施例中,提供一种高安全性的敏感数据存取方法,旨在保护勘探开发数据湖平台敏感数据免受未经授权的访问和泄露。用户客户端与勘探开发数据湖平台服务端交互,使用指定的DID来存取对应的敏感数据DV。在存取过程中,数据存取SDK使用对称加密技术将敏感数据DV加密为DEV,并把DID和DEV通过秘密分享转换为多个K、V数据集合,只有在密钥DMK存在时,此转换才可逆。勘探开发数据湖平台服务端由一组Map<K,V>构成,用户客户端将K、V数据集合存放在这组Map<K,V>中,用于后续的存取,虽然单个Map<K,V>会暴露K与V的关联关系,但由于还原DID和DEV需要DMK参与,只能在用户客户端完成,因此即使所有的K、V数据集合被窃取,攻击者依然无法拿到DEV,符合安全设计要求。
与之相对应地,本发明的另一些实施例中,提供一种高安全性的敏感数据存取系统、设备和介质。
实施例1
如图1所示,本发明包括用户客户端和勘探开发数据湖平台服务端(以下简称企业服务端)两部分。其中,用户客户端运行在安全可信的环境,其所包含的所有数据不存在泄漏风险。勘探开发数据湖平台服务端可以运行在任意环境,使用本发明的方案,即使勘探开发数据湖平台服务端完全失去控制,敏感数据也不会被窃取。
具体地,本实施例提供一种高安全性的敏感数据存取方法,其包括以下步骤:
1)在用户客户端随机创建根密钥DMK,并派生出相应的功能密钥,包括DPK密钥、DSK密钥和DEK密钥等;
2)基于各功能密钥对敏感数据DV及其DID进行加密并转换为乱序的<K,V>集合后,通过数据存取SDK存储至企业服务端;
3)基于指定的DID对企业服务端的<K,V>集合数据进行提取,并利用相应的功能密钥对提取的<K,V>集合数据进行解密,得到敏感数据DV。
优选地,上述步骤1)中,本实施例在用户客户端,随机创建一个256位长度的随机数,作为根密钥DMK。后续所有的存储和提取操作,都需要根密钥DMK参与运算。
更为优选地,本实施例中,根密钥DMK主要派生出三个功能密钥:DPK密钥、DSK密钥和DEK密钥。其中,DPK密钥用于实现DID置换操作,将DID转为一组唯一序列且不重复的有序集合,此转换不可逆;DSK密钥用于秘密分享算法,将DEV转为一组唯一序列且不重复的有序集合,仅当集合顺序未改变且DSK存在时,此转换可逆;DEK密钥为对称密钥,用于敏感数据即明文DV和密文DEV的加解密操作。
优选地,上述步骤2)中,包括以下步骤:
2.1)基于根密钥DMK派生出的功能密钥,对敏感数据DV及其DID进行转换,得到一组DID有序集合和一组DEV有序集合。
2.2)基于下标将DID有序集合和DEV有序集合的数据进行一一对应,转换为一组<K,V>集合。
2.3)将得到的<K,V>集合充分打乱顺序,得到乱序的<K,V>集合。
其中,对<K,V>集合打乱顺序时,可以采用重插入的方法,例如每次随机从<K,V>集合中选取一对<K,V>,重新插入新集合,重复若干次后得到的新集合顺序完全打乱,也可以采用其他方法打乱顺序,本发明对此不做限制。
2.4)在用户客户端通过数据存取SDK,将乱序的<K,V>集合存储至企业服务端。
优选地,上述步骤2.1)中,包括以下步骤:
2.1.1)基于DPK密钥,使用DID置换算法,利用hmac操作将DID转换为唯一顺序的DID有序集合;
2.1.2)基于DEK密钥,使用对称加密算法,对敏感数据DV进行加密得到密文数据DEV;
2.1.3)基于DSK密钥,使用秘密分享算法,利用hmac和xor操作将密文数据DEV加密为一个唯一顺序的DEV有序集合,且保证当且仅当顺序一致时,才可以进行解密。
优选地,上述步骤2.1.1)中,如图3所示,DID置换算法包括以下步骤:
①以DID为种子,使用随机数算法生成随机数;
②根据安全需求确定私密分片数n,其中,私密分片数n越大,代表的安全级别越高;
③将当前迭代次数设置为m=1;
④使用hmac算法基于随机数r和DPK密钥来计算DID分片;
⑤基于计算得到的DID分片在结果集中进行查重,如果有重复的DID分片值则重新返回步骤④进行计算,以确保输出的结果集中DID分片的唯一性;
⑥判断当前迭代次数m是否大于n,若是则输出结果集,否则,令m加1后返回步骤④。
优选地,上述步骤2.1.2)中,对称加密算法可以采用国密SM4或AES高级加密标准算法,本发明对此不做限制。
优选地,上述步骤2.1.3)中,如图4所示,秘密分享算法的加密过程包括:
①以密文数据DEV为种子,使用随机数算法生成随机数r;
②将密文集合个数为私密分片数n;
③将当前迭代次数设置为m=1;
④基于随机数r和DSK密钥,使用hmac算法计算本轮迭代的DEV分片,并将本轮迭代的DEV分片与密文数据DEV进行异或运算,作为密文数据DEV的更新值;
⑤判断当前迭代次数m是否大于n,若是则输出结果集,否则,令m加1后返回步骤④。
优选地,上述步骤3)中,包括以下步骤:
3.1)基于根密钥DMK派生出的DPK密钥,使用DID置换算法,利用hmac操作将DID转换为唯一顺序的DID有序集合;
3.2)将DID有序集合打乱顺序,得到一个数组Array<K>,其中K为DID有序集合中的元素;
3.3)将Array<K>发送到企业服务端进行查询,得到一个数组Array<V>,其中V为DEV有序集合中的DEV分片。
3.4)将Array<K>与Array<V>基于下标进行一一对应,转换为一组有序<K,V>集合。
3.5)如图5所示,调用秘密分享解密算法,基于DSK密钥对DEV有序集合解密,得到密文数据DEV;
3.6)调用对称解密算法,基于DEK密钥将密文数据DEV解密为敏感数据DV,得到敏感数据的明文。
优选地,上述步骤3.4)中,将Array<K>与Array<V>基于下标进行一一对应,也即将K按照DID有序集合的顺序进行重新排列,并提取对应的V得到一组有序的集合,其中,元素即为秘密分享的DEV分片,且排列顺序与加密后顺序相同。
通过安全分析得知,企业服务端只进行了乱序<K,V>集合的存储和提取工作,并且乱序的<K,V>集合是无法还原出密文DEV或明文DV的。在实际工程实现中,也可以通过增加随机因子的方式,在存取中增加一些随机生成的<K,V>集合以增强安全性格,也可以通过合并多个存取指令,使<K,V>集合的随机性更强,从而提升安全性。
实施例2
上述实施例1提供了高安全性的敏感数据存取方法,与之相对应地,本实施例提供一种高安全性的敏感数据存取系统。本实施例提供的系统可以实施实施例1的高安全性的敏感数据存取方法,该系统可以通过软件、硬件或软硬结合的方式来实现。例如,该系统可以包括集成的或分开的功能模块或功能单元来执行实施例1各方法中的对应步骤。由于本实施例的系统基本相似于方法实施例,所以本实施例描述过程比较简单,相关之处可以参见实施例1的部分说明即可,本实施例提供的系统的实施例仅仅是示意性的。
本实施例提供的高安全性的敏感数据存取系统,包括:
用户客户端,包括密钥创建模块、加密模块和解密模块,其中,密钥创建模块用于随机创建根密钥DMK,并派生出相应的功能密钥,包括DPK密钥、DSK密钥和DEK密钥等;加密模块用于基于各功能密钥对敏感数据DV及其DID进行加密并转换为乱序的<K,V>集合;解密模块,用于基于指定的DID对企业服务端的<K,V>集合数据进行提取,并利用相应的功能密钥对提取的<K,V>集合数据进行解密,得到敏感数据DV;
企业服务端,用于存储用户客户端发送的乱序<K,V>集合数据,或基于指定的DID提取相应的<K,V>集合发送到用户客户端。
实施例3
本实施例提供一种与本实施例1所提供的高安全性的敏感数据存取方法对应的处理设备,处理设备可以是用于客户端的处理设备,例如手机、笔记本电脑、平板电脑、台式机电脑等,以执行实施例1的方法。
所述处理设备包括处理器、存储器、通信接口和总线,处理器、存储器和通信接口通过总线连接,以完成相互间的通信。存储器中存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行本实施例1所提供的高安全性的敏感数据存取方法。
优选地,存储器可以是高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
优选地,处理器可以为中央处理器(CPU)、数字信号处理器(DSP)等各种类型通用处理器,在此不做限定。
实施例4
本实施例1的高安全性的敏感数据存取方法可被具体实现为一种计算机程序产品,计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本实施例1所述的高安全性的敏感数据存取方法的计算机可读程序指令。
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意组合。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (10)
1.一种高安全性的敏感数据存取方法,其特征在于包括:
在用户客户端随机创建根密钥DMK,并派生出相应的功能密钥,包括DPK密钥、DSK密钥和DEK密钥;
基于各功能密钥对敏感数据DV及其DID进行加密并转换为乱序的<K,V>集合后,通过数据存取SDK存储至企业服务端;
基于指定的DID对企业服务端的<K,V>集合数据进行提取,并利用相应的功能密钥对提取的<K,V>集合数据进行解密,得到敏感数据DV。
2.如权利要求1所述的一种高安全性的敏感数据存取方法,其特征在于:所述在用户客户端随机创建根密钥DMK,是指随机创建一个256位长度的随机数作为根密钥DMK。
3.如权利要求1所述的一种高安全性的敏感数据存取方法,其特征在于:所述基于各功能密钥对敏感数据DV及其DID进行加密并转换为乱序的<K,V>集合后,通过数据存取SDK存储至企业服务端,包括:
基于根密钥DMK派生出的功能密钥,对敏感数据DV及其DID进行转换,得到一组DID有序集合和一组DEV有序集合;
基于下标将DID有序集合和DEV有序集合的数据进行一一对应,转换为一组<K,V>集合;
将得到的<K,V>集合充分打乱顺序,得到乱序的<K,V>集合;
在用户客户端通过数据存取SDK,将乱序的<K,V>集合存储至企业服务端。
4.如权利要求3所述的一种高安全性的敏感数据存取方法,其特征在于:所述基于根密钥DMK派生出的功能密钥,对敏感数据DV及其DID进行转换,得到一组DID有序集合和一组DEV有序集合,包括:
基于DPK密钥,使用DID置换算法,利用hmac操作将DID转换为唯一顺序的DID有序集合;
基于DEK密钥,使用对称加密算法,对敏感数据DV进行加密得到密文数据DEV;
基于DSK密钥,使用秘密分享算法,利用hmac和xor操作将密文数据DEV加密为一个唯一顺序的DEV有序集合。
5.如权利要求4所述的一种高安全性的敏感数据存取方法,其特征在于:所述DID置换算法,包括:
①以DID为种子,使用随机数算法生成随机数;
②根据安全需求确定私密分片数n;
③将当前迭代次数设置为m=1;
④使用hmac算法基于随机数r和DPK密钥来计算DID分片;
⑤基于计算得到的DID分片在结果集中进行查重,如果有重复的DID分片值则重新返回步骤④进行计算,以确保输出的结果集中DID分片的唯一性;
⑥判断当前迭代次数m是否大于n,若是则输出结果集,否则,令m加1后返回步骤④。
6.如权利要求4所述的一种高安全性的敏感数据存取方法,其特征在于:所述秘密分享算法,包括:
①以密文数据DEV为种子,使用随机数算法生成随机数r;
②将密文集合个数为私密分片数n;
③将当前迭代次数设置为m=1;
④基于随机数r和DSK密钥,使用hmac算法计算本轮迭代的DEV分片,并将本轮迭代的DEV分片与密文数据DEV进行异或运算,作为密文数据DEV的更新值;
⑤判断当前迭代次数m是否大于n,若是则输出结果集,否则,令m加1后返回步骤④。
7.如权利要求4所述的一种高安全性的敏感数据存取方法,其特征在于:所述基于指定的DID对企业服务端的<K,V>集合数据进行提取,并利用相应的功能密钥对提取的<K,V>集合数据进行解密,得到敏感数据DV,包括:
基于根密钥DMK派生出的DPK密钥,使用DID置换算法,利用hmac操作将DID转换为唯一顺序的DID有序集合;
将DID有序集合打乱顺序,得到一个数组Array<K>,其中K为DID有序集合中的元素;
将Array<K>发送到企业服务端进行查询,得到一个数组Array<V>,其中V为DEV有序集合中的DEV分片;
将Array<K>与Array<V>基于下标进行一一对应,转换为一组有序<K,V>集合;
基于DSK密钥对DEV有序集合解密,得到密文数据DEV;
基于DEK密钥将密文数据DEV解密为敏感数据DV,得到敏感数据DV的明文。
8.一种高安全性的敏感数据存取系统,其特征在于包括:
用户客户端,包括密钥创建模块、加密模块和解密模块,其中,密钥创建模块用于随机创建根密钥DMK,并派生出相应的功能密钥,包括DPK密钥、DSK密钥和DEK密钥等;加密模块用于基于各功能密钥对敏感数据DV及其DID进行加密并转换为乱序的<K,V>集合;解密模块,用于基于指定的DID对企业服务端的<K,V>集合数据进行提取,并利用相应的功能密钥对提取的<K,V>集合数据进行解密,得到敏感数据DV;
企业服务端,用于存储用户客户端发送的乱序<K,V>集合数据,或基于指定的DID提取相应的<K,V>集合发送到用户客户端。
9.一种存储一个或多个程序的计算机可读存储介质,其特征在于,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行如权利要求1至7所述方法中的任一方法。
10.一种计算设备,其特征在于,包括:一个或多个处理器及存储器,所述存储器中存储有一个或多个程序,并被配置为所述一个或多个处理器执行,所述一个或多个程序包括用于执行如权利要求1至7所述方法中的任一方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410111999.0A CN117955636A (zh) | 2024-01-26 | 2024-01-26 | 一种高安全性的敏感数据存取方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410111999.0A CN117955636A (zh) | 2024-01-26 | 2024-01-26 | 一种高安全性的敏感数据存取方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117955636A true CN117955636A (zh) | 2024-04-30 |
Family
ID=90799539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410111999.0A Pending CN117955636A (zh) | 2024-01-26 | 2024-01-26 | 一种高安全性的敏感数据存取方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117955636A (zh) |
-
2024
- 2024-01-26 CN CN202410111999.0A patent/CN117955636A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8121294B2 (en) | System and method for a derivation function for key per page | |
US8681975B2 (en) | Encryption method and apparatus using composition of ciphers | |
EP3552338A1 (en) | Method of rsa signature or decryption protected using a homomorphic encryption | |
CN105100115A (zh) | 一种基于加密口令及数据拆分的隐私保护的数据存储方法 | |
WO2017000726A1 (zh) | 一种密钥变换方法、装置及终端 | |
CN111010266B (zh) | 消息的加解密、读写方法、装置、计算机设备和存储介质 | |
CN102170350A (zh) | 具有误导功能的多重不确定加密系统 | |
CN108111295A (zh) | 一种基于类模运算的同态加密算法 | |
CN114175572A (zh) | 利用拟群运算对加密数据实行相等和小于运算的系统和方法 | |
CN112469036A (zh) | 一种消息加解密方法、装置、移动终端和存储介质 | |
Yang | Application of hybrid encryption algorithm in hardware encryption interface card | |
CN111798236B (zh) | 交易数据加、解密方法、装置及设备 | |
CN113098675B (zh) | 基于多项式完全同态的二进制数据加密系统及方法 | |
Shabbir et al. | Ensuring the confidentiality of nuclear information at cloud using modular encryption standard | |
Vennela et al. | Performance analysis of cryptographic algorithms for cloud security | |
CN117955636A (zh) | 一种高安全性的敏感数据存取方法和系统 | |
CN111314051B (zh) | 一种加解密方法和装置 | |
Chaloop et al. | Enhancing Hybrid Security Approach Using AES And RSA Algorithms | |
Al-Attab et al. | Lightweight effective encryption algorithm for securing data in cloud computing | |
Neforawati et al. | Message Digest 5 (MD-5) Decryption Application using Python-Based Dictionary Attack Technique | |
Sri et al. | Concealing the Data using Cryptography | |
CN116866029B (zh) | 随机数加密数据传输方法、装置、计算机设备及存储介质 | |
JP2015082077A (ja) | 暗号化装置、制御方法、及びプログラム | |
CN114254372B (zh) | 数据加密处理方法、系统及电子设备 | |
Kaur et al. | Cryptography in cloud computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |