细粒度合同数据隐私保护和验证方法、系统及存储介质与流程

文档序号:37022007发布日期:2024-02-09 13:16阅读:23来源:国知局
细粒度合同数据隐私保护和验证方法、系统及存储介质与流程

本发明属于信息安全,特别是涉及细粒度合同数据隐私保护和验证方法、系统及存储介质。


背景技术:

1、随着移动互联网、大数据、云计算、人工智能产业的飞速发展,越来越多的个人数据与企业数据随之产生,而由于各个应用与平台的数据安全操作不够规范,相关的数据隐私泄露案例、所造成的经济损失也越来越多。企业或个人之间签订的合同保密性要求越来越高。

2、主流的加密技术手段是使用aes等对称加密算法、基于矩阵运算的可搜索加密算法、同态加密算法等。aes等对称加密算法无法对密文进行再次计算操作,在一定程度上削弱了加密的功能性;基于矩阵运算的可搜索加密算法是对于合同所有内容进行加密,加密效率偏低;同态加密算法目前在区块链领域的智能合约中有所应用,但仅是对合同金额、交易金额、账户余额等部分的整数金额值进行同态加密,加密合同一旦签订,公众用户无法对加密合同中的金额进行有效验证,合同的有效性难以保证,而且支持同态加密合同的类型有限,不能支持合同法中所有合同类型的隐私保护。

3、为了解决现有合同加密技术的加密粒度粗、加密效率低、不能检验加密合同的有效性及支持合同类型少的问题,提出一种细粒度合同数据隐私保护和验证方法、系统及存储介质。


技术实现思路

1、本发明实施例提出一种细粒度合同数据隐私保护和验证方法、系统及存储介质,以至少解决相关技术中加密粒度粗、加密效率低、不能检验加密合同的有效性和支持合同类型少的问题。

2、根据本发明的一个实施例,提出一种细粒度合同数据隐私保护和验证方法,包括:

3、合同双方识别合同的同态类型及对应的基础隐私字段和高级隐私字段,生成明文合同;

4、合同双方生成同态加密公私钥对;

5、使用同态加密公钥加密基础隐私字段和高级隐私字段得到加密合同;

6、合同双方确认加密合同并将加密合同和同态加密公钥公开;

7、公众识别合同的同态类型并根据对应的同态算法和公钥验证合同的有效性。

8、在一个示例性实施例中,所述合同双方识别合同的同态类型及对应的基础隐私字段和高级隐私字段,生成明文合同,包括步骤:

9、合同双方根据所签合同的具体类型确定合同所涉金额的计算方式,所述合同的具体类型包括借款合同、租赁合同、仓储合同、行纪合同、融资租赁合同、买卖合同、运输合同、承揽合同、赠与合同、建设工程合同、技术合同、保管合同、委托合同、居间合同、供用电/水/气/热力合同;所述合同所涉金额包括单价、总价、借款额、利息额、各类费用的任一项或多项组合;所述计算方式包括数乘、加法、数乘与加法结合、无计算的一项或多项组合;

10、根据合同所涉金额的计算方式将合同进行密文同态分类;所述密文同态分类包括数乘同态合同、加法同态合同、数乘与加法同态合同、无同态合同、无加密合同;

11、根据合同的密文同态类型所对应的合同金额计算方式得到基础隐私字段和高级隐私字段;所述高级隐私字段的数值是通过基础隐私字段的数值计算得到;

12、合同双方确定合同类型及对应的基础隐私字段和高级隐私字段数值后生成明文合同。

13、在一个示例性实施例中,所述合同双方生成同态加密公私钥对,包括步骤:

14、选取随机的1024-bit的素数p和q,计算模数n=p·q,g=n+1,λ=(p-1)·(q-1);

15、计算μ=λ-1mod n;

16、生成的同态加密公钥为pk=(n,g),同态加密私钥为sk=(λ,μ);

17、合同双方保存私钥sk=(λ,μ)。

18、在一个示例性实施例中,所述使用同态加密公钥加密基础隐私字段和高级隐私字段得到加密合同,包括步骤:

19、基础隐私字段的数值明文记为ep1,…,epn,其中n表示基础隐私字段的数值数量;

20、根据同态加密公钥pk=(n,g),在(0,n)中选取随机数r,满足r与n互素,对于i=1,2,…,n,计算基础隐私字段的密文

21、高级隐私字段的数值明文记为ap1,…,apm,其中m表示高级隐私字段的数值数量;

22、根据同态加密公钥pk=(n,g),在(0,m)中选取随机数u,满足u与n互素,对于j=1,2,…,m,计算高级隐私字段的密

23、将基础隐私字段和高级隐私字段的数值分别用相应密文代替,得到加密合同。

24、在一个示例性实施例中,所述合同双方确认加密合同并将加密合同和同态加密公钥公开,包括步骤:

25、合同双方将加密合同进行签字确认;

26、将签字确认后的加密合同与同态加密公钥进行绑定;所述绑定是将同态加密公钥添加至加密合同的顶部或末尾或加密位置的任一项或多项组合;

27、将绑定同态加密公钥的加密合同公开发布。

28、在一个示例性实施例中,所述公众识别合同的同态类型并根据对应的同态算法和公钥验证合同的有效性,包括步骤:

29、公众获取绑定同态加密公钥的加密合同并识别合同的同态类型;

30、根据合同同态类型所对应的合同金额计算方式得到基础隐私字段密文与高级隐私字段密文之间的同态计算式,即合同类型对应的同态算法;若计算方式为数乘,则同态算法表示为ac=eckmod n2,其中k是乘数项;若计算方式为加法,则同态算法表示为ac=ec1*…*ectmod n2;若计算方式为数乘与加法结合,则同态算法表示为其中k1,k2,…,kt是加权项:

31、将加密合同中基础隐私字段密文和高级隐私字段密文代入同态算法中判断等式是否成立,若是则判定合同有效,否则判定合同无效。

32、在一个示例性实施例中,还包括步骤:合同双方对加密合同进行同态解密后验证合同隐私数据的正确性,包括:

33、合同双方使用同态加密私钥sk=(λ,μ)对加密合同的基础隐私字段密文ec1,…,ecn和高级隐私字段密文ac1,…,acm执行解密,即对于i=1,2,…,n,计算得到解密后的基础隐私字段数值ep′1,…,ep′n,对于j=1,2,…,m,计算得到高级隐私字段数值ap′1,…,ap′m;

34、根据解密后的基础隐私字段数值和高级隐私字段数值得到解密后的合同;

35、合同双方判断解密后的基础隐私字段数值ep′1,…,ep′n和高级隐私字段数值ap′1,…,ap′m与原始数值是否吻合,若是则判定合同隐私数据正确,否则判定合同隐私数据有误。

36、在一个示例性实施例中,当基础隐私字段和/或高级隐私字段的数值为非整数时,合同双方根据预设的精度参数将基础隐私字段和/或高级隐私字段的数值转化为整数后进行合同加密和验证,包括:

37、合同双方设置精度参数w,即合同中金额和乘数项保留w位小数;

38、将基础隐私字段的数值和乘数项乘以10w,即数值转化为整数,扩大阶数记为s;

39、根据合同金额计算方式计算出相应的高级隐私字段的整数数值;

40、根据基础隐私字段的整数数值和高级隐私字段的整数数值生成明文合同并执行同态加密得到加密合同;

41、合同双方根据合同的同态加密类型解密合同并验证合同的正确性;若合同的同态加密类型为加法同态,则将解密后的隐私字段数值除以10w后再判断其与原始数据是否吻合;若合同的同态加密类型为数乘同态或数乘与加法同态,则将解密后的高级隐私字段数值ap′1,…,ap′m除以10w*s,并将所有扩大过的基础隐私字段数值与乘数项除以10w,再判断其与原始数据是否吻合。

42、根据本发明的另一个实施例,提供了一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序执行上述方法。

43、根据本发明的另一个实施例,提供了一种细粒度合同数据隐私保护和验证系统,包括:

44、处理器;

45、存储器;

46、以及

47、一个或多个程序,其中所述一个或多个程序被存储在存储器中,并且被配置成由所述处理器执行,所述程序使计算机执行上述方法。

48、本发明的细粒度合同数据隐私保护和验证方法、系统及存储介质具有的优点是:

49、(1)根据合同的不同类型及所涉金额的不同计算方式将合同的隐私内容分为基础隐私字段和高级隐私字段并分别进行同态加密,相比传统的加密技术,不仅可以有效提供合同金额数据的细粒度隐私保护,而且避免加密合同全部文本,提高合同加密效率。

50、(2)当基础隐私字段和/或高级隐私字段的数值为非整数时,合同双方根据预设的精度参数将基础隐私字段和/或高级隐私字段的数值转化为整数后生成明文合同,相比传统的仅能对整数金额进行同态加密的技术方案,可以有效提高同态加密算法的加密功能性和适用性。

51、(3)公众使用加密合同绑定的同态加密公钥对加密合同中多项密文金额之间的关系进行有效性验证,相比传统的公众无法验证加密合同有效性的技术方案,可以有效保证加密合同公开流通版本的有效性。

52、(4)设计合同法中的各类合同的同态加密方法,相比传统的仅支持部分合同类型的隐私保护方案,可以有效提高合同数据隐私保护的适用范围。

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