System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种高安全性的敏感数据存取方法和系统,属于勘探开发数据处理领域。
技术介绍
1、勘探开发数据湖平台持有很多敏感的数据,传统的敏感数据存取技术,一般使用端到端加密,先将数据在本地进行加密,再存储到服务器。当需要数据时,则从服务器下载加密数据,在本地解密后使用。
2、在一般场景下,端到端加密可以保证很高的安全性。但对于勘探开发数据湖平台的敏感数据,则需要更高的安全性,那么上述方案有一些潜在的风险:在服务器执行存储和读取操作时,那么加密数据与存取操作的对应关系就暴露了。例如,在文件存取中,一旦写入或读取了某文件,那么文件路径与文件内容的对应关系就暴露了。对于高度机密的文件,暴露对应关系等同于暴露敏感数据的位置,即使做了加密处理,对安全性也有非常大的影响:黑客可以利用这种对应关系发起推理攻击,窃取秘密数据,也可以先下载加密数据,再尝试离线暴力破解,考虑到量子计算的快速发展,这种离线攻击不容小视。
3、勘探开发数据湖平台尝试使用前沿的隐私计算技术来解决敏感数据的存取。例如使用混淆电路技术,与服务端进行多次交互和安全计算,每次取回敏感数据的一小部分,最终拼凑成完整的数据。但这种方案每次取回的数据较少,需要大量频繁的数据交互,并且每次交互的数据带宽都很大,存取效率非常低。再比如使用同态加密技术,在服务器的存取操作完全使用密文计算,则存取过程不会泄漏任何信息。但目前的同态加密技术性能较差,较难实现复杂的存取操作,无法在生产环境中使用。
技术实现思路
1、针对上
2、为实现上述目的,本专利技术采取以下技术方案:
3、第一方面,本专利技术提供一种高安全性的敏感数据存取方法,包括:
4、在用户客户端随机创建根密钥dmk,并派生出相应的功能密钥,包括dpk密钥、dsk密钥和dek密钥;
5、基于各功能密钥对敏感数据dv及其did进行加密并转换为乱序的<k,v>集合后,通过数据存取sdk存储至企业服务端;
6、基于指定的did对企业服务端的<k,v>集合数据进行提取,并利用相应的功能密钥对提取的<k,v>集合数据进行解密,得到敏感数据dv。
7、进一步,所述在用户客户端随机创建根密钥dmk,是指随机创建一个256位长度的随机数作为根密钥dmk。
8、进一步,所述基于各功能密钥对敏感数据dv及其did进行加密并转换为乱序的<k,v>集合后,通过数据存取sdk存储至企业服务端,包括:
9、基于根密钥dmk派生出的功能密钥,对敏感数据dv及其did进行转换,得到一组did有序集合和一组dev有序集合;
10、基于下标将did有序集合和dev有序集合的数据进行一一对应,转换为一组<k,v>集合;
11、将得到的<k,v>集合充分打乱顺序,得到乱序的<k,v>集合;
12、在用户客户端通过数据存取sdk,将乱序的<k,v>集合存储至企业服务端。
13、进一步,所述基于根密钥dmk派生出的功能密钥,对敏感数据dv及其did进行转换,得到一组did有序集合和一组dev有序集合,包括:
14、基于dpk密钥,使用did置换算法,利用hmac操作将did转换为唯一顺序的did有序集合;
15、基于dek密钥,使用对称加密算法,对敏感数据dv进行加密得到密文数据dev;
16、基于dsk密钥,使用秘密分享算法,利用hmac和xor操作将密文数据dev加密为一个唯一顺序的dev有序集合。
17、进一步,所述did置换算法,包括:
18、①以did为种子,使用随机数算法生成随机数;
19、②根据安全需求确定私密分片数n;
20、③将当前迭代次数设置为m=1;
21、④使用hmac算法基于随机数r和dpk密钥来计算did分片;
22、⑤基于计算得到的did分片在结果集中进行查重,如果有重复的did分片值则重新返回步骤④进行计算,以确保输出的结果集中did分片的唯一性;
23、⑥判断当前迭代次数m是否大于n,若是则输出结果集,否则,令m加1后返回步骤④。
24、进一步,所述秘密分享算法,包括:
25、①以密文数据dev为种子,使用随机数算法生成随机数r;
26、②将密文集合个数为私密分片数n;
27、③将当前迭代次数设置为m=1;
28、④基于随机数r和dsk密钥,使用hmac算法计算本轮迭代的dev分片,并将本轮迭代的dev分片与密文数据dev进行异或运算,作为密文数据dev的更新值;
29、⑤判断当前迭代次数m是否大于n,若是则输出结果集,否则,令m加1后返回步骤④。
30、进一步,所述基于指定的did对企业服务端的<k,v>集合数据进行提取,并利用相应的功能密钥对提取的<k,v>集合数据进行解密,得到敏感数据dv,包括:
31、基于根密钥dmk派生出的dpk密钥,使用did置换算法,利用hmac操作将did转换为唯一顺序的did有序集合;
32、将did有序集合打乱顺序,得到一个数组array<k>,其中k为did有序集合中的元素;
33、将array<k>发送到企业服务端进行查询,得到一个数组array<v>,其中v为dev有序集合中的dev分片;
34、将array<k>与array<v>基于下标进行一一对应,转换为一组有序<k,v>集合;
35、基于dsk密钥对dev有序集合解密,得到密文数据dev;
36、基于dek密钥将密文数据dev解密为敏感数据dv,得到敏感数据dv的明文。
37、第二方面,本专利技术提供一种高安全性的敏感数据存取系统,包括:
38、用户客户端,包括密钥创建模块、加密模块和解密模块,其中,密钥创建模块用于随机创建根密钥dmk,并派生出相应的功能密钥,包括dpk密钥、dsk密钥和dek密钥等;加密模块用于基于各功能密钥对敏感数据dv及其did进行加密并转换为乱序的<k,v>集合;解密模块,用于基于指定的did对企业服务端的<k,v>集合数据进行提取,并利用相应的功能密钥对提取的<k,v>集合数据进行解密,得到敏感数据dv;
39、企业服务端,用于存储用户客户端发送的乱序<k,v>集合数据,或基于指定的did提取相应的<k,v>集合发送到用户客户端。
40、第三方面,本发本文档来自技高网...
【技术保护点】
1.一种高安全性的敏感数据存取方法,其特征在于包括:
2.如权利要求1所述的一种高安全性的敏感数据存取方法,其特征在于:所述在用户客户端随机创建根密钥DMK,是指随机创建一个256位长度的随机数作为根密钥DMK。
3.如权利要求1所述的一种高安全性的敏感数据存取方法,其特征在于:所述基于各功能密钥对敏感数据DV及其DID进行加密并转换为乱序的<K,V>集合后,通过数据存取SDK存储至企业服务端,包括:
4.如权利要求3所述的一种高安全性的敏感数据存取方法,其特征在于:所述基于根密钥DMK派生出的功能密钥,对敏感数据DV及其DID进行转换,得到一组DID有序集合和一组DEV有序集合,包括:
5.如权利要求4所述的一种高安全性的敏感数据存取方法,其特征在于:所述DID置换算法,包括:
6.如权利要求4所述的一种高安全性的敏感数据存取方法,其特征在于:所述秘密分享算法,包括:
7.如权利要求4所述的一种高安全性的敏感数据存取方法,其特征在于:所述基于指定的DID对企业服务端的<K,V>集合数
8.一种高安全性的敏感数据存取系统,其特征在于包括:
9.一种存储一个或多个程序的计算机可读存储介质,其特征在于,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行如权利要求1至7所述方法中的任一方法。
10.一种计算设备,其特征在于,包括:一个或多个处理器及存储器,所述存储器中存储有一个或多个程序,并被配置为所述一个或多个处理器执行,所述一个或多个程序包括用于执行如权利要求1至7所述方法中的任一方法的指令。
...【技术特征摘要】
1.一种高安全性的敏感数据存取方法,其特征在于包括:
2.如权利要求1所述的一种高安全性的敏感数据存取方法,其特征在于:所述在用户客户端随机创建根密钥dmk,是指随机创建一个256位长度的随机数作为根密钥dmk。
3.如权利要求1所述的一种高安全性的敏感数据存取方法,其特征在于:所述基于各功能密钥对敏感数据dv及其did进行加密并转换为乱序的<k,v>集合后,通过数据存取sdk存储至企业服务端,包括:
4.如权利要求3所述的一种高安全性的敏感数据存取方法,其特征在于:所述基于根密钥dmk派生出的功能密钥,对敏感数据dv及其did进行转换,得到一组did有序集合和一组dev有序集合,包括:
5.如权利要求4所述的一种高安全性的敏感数据存取方法,其特征在于:所述did置换算法,包括:
6.如权利要求4所述的一种...
【专利技术属性】
技术研发人员:苏彦春,高博,孙超,张金波,张垚,袁帅,岳翔,常莉,仲原,游涌,
申请(专利权)人:中海石油中国有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。