一种用于数据共享的同态加密系统和方法与流程

文档序号:36488382发布日期:2023-12-26 10:20阅读:35来源:国知局
一种用于数据共享的同态加密系统和方法与流程

本发明属于同态加密,尤其涉及一种用于数据共享的同态加密系统和方法。


背景技术:

1、数据交换共享是我国数字经济当中的一个重要组成部分,数据如何安全的共享以及如何在共享的过程当中保障数据价值不被稀释,又是数据共享的前提。在电力系统中,各部门之间,以及电力系统与其他系统如超计算中心、银行系统等之间存在数据互通需求,但是由于数据跨部门或跨系统互通会涉及到数据的所属权问题和数据隐私问题,因此需要一种能够保障数据安全和数据所属权的技术,并且能够保障数据的实用能力,从而打通数据流通的链路。

2、同态加密技术是一种公钥加密技术,和经典的公钥加密技术不同的是同态加密输出的密文支持密文运算。两个同态加密的密文可以进行加法或者乘法运算,运算后的密文解密后的结果,和明文直接运算的结果相同。由于这个特性的存在,同态加密技术特别适用在数据共享场景中,保护共享的数据,实现全密文的数据共享与运算环境,保障数据的安全。

3、在实际的业务场景中,同态加密算法本身时间复杂度较高,在实际应用的过程中存在一定的效率问题。工程上常用的优化方法为fpga实现(硬件),使用lut查表方法进行提速,或者使用预计算方法,对加密算法中可预测的部分提前进行计算。其中,基于fpga实现性价比低且在嵌入式场景中无法使用,不具有实用性。而传统的预计算方案采用提前计算一部分同态加密当中可以预测的部分,并将结果存储在内存或者硬盘当中,当系统接收到加密请求时,读取预计算结果,并进行后续的计算,得到最终的密文;在这种模式下,敌手可以通过窃取预计算结果,从而还原出参与计算的密钥等敏感信息,从而使得安全体系失效;还可以通过注入伪造的预计算结果,来直接获取明文信息;因此可见传统预计算方案安全保密性不好。

4、另一方面,由于在数据共享业务开展的过程中不同的业务往往会使用不同的密钥,并且不同的业务具有不同的特征,例如共享时间段不同、共享的数据量不同,传统的预计算方法无法根据业务的情况进行动态调整,使得预计算策略在实际的应用中无法对计算进行提速,同时还造成了计算资源和存储资源的浪费。


技术实现思路

1、鉴于上述的分析,本发明旨在提供一种用于数据共享的同态加密系统,包括:

2、密钥存储模块,用于存储多个同态密钥和密钥使用信息;其中,不同同态密钥用于对不同业务种类的共享数据进行同态加密;

3、预计算模块,用于调取密钥存储模块中的部分同态密钥预计算各同态密钥的随机数部分,得到同态加密的预计算结果;

4、安全计算模块,用于对所述预计算结果进行一次一密加密得到密文cp,以及用于对加密模块的密文cf进行一次一密解密得到同态密文ch;

5、加密模块,用于基于密文cp和共享数据的明文进行同态加密得到密文cf。

6、进一步的,还包括管理控制模块、内存缓冲区和硬盘缓冲区;所述密文cp存储在所述内存缓冲区或硬盘缓冲区;

7、所述管理控制模块基于密钥使用信息管理内存缓冲区和硬盘缓冲区,包括:

8、基于上一周期的密钥使用信息预测当前周期加密共享数据所使用的多个同态密钥,以及各同态密钥相应的缓冲空间大小;

9、基于预测结果重新分配内存缓冲区和硬盘缓冲区,并将所述密文cp存储在内存缓冲区或硬盘缓冲区;其中,若原各缓冲区中存在所述多个同态密钥中的一个或几个密钥,则将该一个或几个密钥在原各缓冲区的相应数据迁移到重新分配的相应缓冲区中。

10、进一步的,所述基于上一运行周期的密钥使用信息预测当前周期加密共享数据所使用的多个同态密钥,以及各同态密钥相应的缓冲空间大小包括:

11、基于上一运行周期的密钥使用信息聚类得到当前加密共享数据所使用的多个同态密钥;

12、基于所述密钥使用信息,使用svm预测得到所述多个同态密钥相应的缓冲空间大小。

13、进一步的,所述密钥使用信息包括密钥id、密钥的使用次数、密钥的加密数据量、密钥相应的缓冲空间大小;

14、所述基于上一运行周期的密钥使用信息聚类得到当前加密共享数据所使用的多个同态密钥包括:

15、将每个同态密钥在上一运行周期的使用次数和加密数据量作为样本组成样本集;

16、使用聚类算法将样本集聚为两类,两类结果中密钥的使用次数和加密数据量较另一类多的类别中的密钥作为当前加密共享数据的备选同态密钥;

17、在所述备选同态密钥中,按使用次数多少排序前三位的同态密钥和按加密数据量多少排序前三位的同态密钥作为当前加密共享数据所使用的多个同态密钥。

18、进一步的,所述基于所述密钥使用信息,使用svm预测得到所述多个同态密钥相应的缓冲空间大小包括:

19、将各密钥的密钥id、使用次数、加密数据量作为样本输入、将密钥相应的缓冲空间大小作为样本输出训练svm模型,得到训练好的svm模型;

20、使用训练好的svm模型,预测使用次数的所述排序前三位的同态密钥相应的缓冲空间大小,基于预测结果分配内存缓冲区和相应的三个内存存储队列;预测加密数据量的所述排序前三位的同态密钥相应的缓冲空间大小,基于预测结果分配硬盘缓冲区和相应的三个硬盘缓冲文件。

21、进一步的,所述预计算模块基于所述当前加密共享数据所使用的多个同态密钥进行预计算,所述预计算的过程包括:

22、对每个同态密钥生成多个随机数;

23、对每个同态密钥基于所述多个随机数执行随机数计算得到多个随机数计算结果即多个预计算结果。

24、进一步的,所述管理控制模块还用于:

25、将当前加密共享数据所使用的多个同态密钥id发送给所述预计算模块,以便所述预计算模块基于所述同态密钥id从密钥存储模块获取同态密钥进行预计算,并接收所述预计算模块回传的预计算结果;

26、将所述预计算结果发送给安全计算模块,并接收安全计算模块回传的密文cp;

27、将密文cp发送给加密模块,并接收加密模块回传的密文cf;

28、将密文cf发送给安全计算模块,并接收安全计算模块回传的同态密文ch。

29、进一步的,所述加密模块还用于:当用户请求加密的共享数据所使用的同态密钥不是所述多个同态密钥中的密钥时,加密模块基于该同态密钥id从密钥存储模块获取该同态密钥,对共享数据直接进行完整的同态加密,得到相应的同态密文ch。

30、另一方面,本发明还提供了一种用于数据共享的同态加密方法,包括如下步骤:

31、基于数据共享业务的历史密钥使用信息预测当前可能使用的同态密钥;

32、对所述当前可能使用的同态密钥进行同态加密算法的预计算,所述预计算指计算同态加密算法中同态密钥相应的随机数部分,得到该同态密钥的多个预计算结果;

33、对所述预计算结果一次一密的加密得到密文cp;

34、基于密文cp和共享数据的明文和进行同态加密得到密文cf;

35、对密文cf进行一次一密的解密得到同态密文ch。

36、进一步的,所述密钥使用信息包括密钥id、密钥的使用次数、密钥的加密数据量、密钥相应的缓冲空间大小;

37、所述基于数据共享业务的历史密钥使用信息预测当前可能使用的同态密钥包括:

38、将每个同态密钥在历史上一运行周期的使用次数和加密数据量作为样本组成样本集;

39、使用聚类算法将样本集聚为两类,两类结果中密钥的使用次数和加密数据量较另一类多的类别中的密钥作为当前加密共享数据的备选同态密钥;

40、在所述备选同态密钥中,按使用次数多少排序前三位的同态密钥和按加密数据量多少排序前三位的同态密钥作为当前加密共享数据所使用的多个同态密钥。

41、本发明至少可以实现下述之一的有益效果:

42、通过设计一种用于数据共享的同态加密系统和方法,可以解决数据共享业务中保护数据隐私和所述权的问题,解决电力系统与其他系统或电力系统内部各部门之间的数据互通问题。

43、通过多方位的安全措施,保证数据共享过程中的安全性,包括:对预计算结果进行加密后再保存到缓冲池,避免了缓冲池数据隐私泄露和被篡改的风险,保证了预计算数据的安全性;密钥管理模块对同态密钥进行加密存储,保护同态密钥本身的安全。

44、由于不同的数据共享业务采用不同的同态加密密钥,本发明的方案可以数据共享业务的实时动态调整计算方案,提升对共享数据的同态加密计算的效率。具体的,根据共享数据加密过程中密钥的使用情况,包括密钥在历史指定周期内的使用次数、加密数据量,预测出下一运行周期可能使用频次较高的同态密钥或加密数据量较大的同态密钥,对预测出的同态密钥进行预计算,将预计算结果存储在内存或硬盘缓冲池中,当有共享加密数据请求时,直接调用预计算结果进行计算,极大的提升了同态加密的运算效率,保证了数据共享的实时性。

45、通过周期性的对预测模型进行训练和更新,可以根据数据共享的阶段性业务特点,预测出当前运行周期可能使用的同态密钥,即做到了根据数据共享业务进行动态调整进行预计算。在预计算时使用多线程机制进行计算,以及由管理控制模块监控缓冲池数据大小,有效提升预计算的效率进而提升共享数据同态加密计算的效率。因此本发明方案能够应对在实际生产中的多业务需求变化,保障系统在业务情况变化时能够始终以最大吞吐量提供服务。

46、本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书、权利要求书以及附图中所特别指出的内容中来实现和获得。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1