一种电子合同数据安全共享方法与流程

文档序号:36975300发布日期:2024-02-07 13:27阅读:18来源:国知局
一种电子合同数据安全共享方法与流程

本发明涉及数据安全共享的,尤其涉及一种电子合同数据安全共享方法。


背景技术:

1、目前,在项目合作过程中,公司主体每年合同数量数以万计,当前采用纸质快递或人工拿取的方式无法满足企业发展要求。随着互联网的发展,电子合同在线签订具有很大的方便性,同时电子合同数字化签名的不可篡改性和不可否认性使得电子合同有效推广的必要条件。电子合同是将传统纸质合同以数据电文的形式代替,同时实现与公司内部系统的集成、不仅可以实现业务数据共享与贯通,而且可以将审价、合同、采购入库、付款等一整套物资主线全部进行信息化管理。电子合同在带来极大便利的同时,也引发了一系列问题:一是电子合同存储在第三方,拥有者不能掌握合同主导权,无法知晓合同能被哪些人访问查看,二是共享的合同若要验证真伪,会增加大量的时间和人力成本。

2、为解决电子合同在存储、共享过程中出现的数据被篡改或泄露等问题,本发明提出了一种电子合同数据安全共享方法,保证电子合同共享全生命周期的安全性。


技术实现思路

1、有鉴于此,本发明提供一种电子合同数据安全共享方法,目的在于:1)采用对称加密和椭圆曲线加密结合的方式,利用椭圆曲线加密方法生成系统公私钥对,并以系统公私钥对为基础,生成区块链网络中每个电子合同主体的对称密钥,并进一步采用椭圆加密的方式,结合制定的访问策略,得到表征对称密钥以及访问策略的共享秘密值,实现线性秘密共享,且根据访问策略映射结果的线性重构特征,对合同访问主体提供的访问策略进行验证,从而对若干维度的用户属性进行细粒度验证,实现电子合同数据细粒度的安全共享方案,并结合区块链共识机制有效缓解网络中恶意节点造成的数据损坏,并提供属性布隆过滤器的跨域访问验证方法,实现对访问策略属性的保护,攻击者无法分析合同访问主体所获取数据的访问策略,无法推断访问者拥有的属性,基于属性布隆过滤器的跨域访问验证方法避免电子合同数据跨域共享不可控的问题;2)电子合同数据的提供方通过设置数据访问策略,并对电子合同数据进行加密处理,将加密后的电子合同数据添加到区块链中,需要访问电子合同数据的合同访问主体通过生成访问策略构成电子合同数据跨域访问请求,区块链通过对合同访问主体的用户信息以及访问策略进行验证,验证通过后则将对应的电子合同信息发送到合同访问主体,合同访问主体根据共享秘密值、自身用户信息以及访问策略解密得到电子合同数据,实现基于区块链验证以及多轮数据加密场景下的电子合同数据共享处理。

2、实现上述目的,本发明提供的一种电子合同数据安全共享方法,包括以下步骤:

3、s1:初始化区块链网络和系统公私钥对,生成每个电子合同主体的对称密钥;

4、s2:电子合同主体使用对称密钥对电子合同数据进行对称加密得到电子合同数据密文,并制定访问策略,使用加密算法对对称密钥进行加密,使用属性布隆过滤器对访问策略中的映射进行隐藏,将电子合同信息上传至区块链;

5、s3:合同访问主体向区块链网络发送电子合同数据跨域访问请求,区块链网络对电子合同数据跨域访问请求进行解析验证;

6、s4:若验证通过,区块链生成转换密钥,利用转换密钥对电子合同数据密文进行转换得到轻量密文,并将转换密钥、轻量密文以及对称密钥的加密结果发送至合同访问主体;

7、s5:合同访问主体对对称密钥的加密结果进行解密得到对称密钥,利用对称密钥对轻量密文进行解密得到电子合同数据。

8、作为本发明的进一步改进方法:

9、可选地,所述s1步骤中初始化区块链网络和系统公私钥对,包括:

10、初始化区块链网络,其中区块链网络中具有n个区块,对应n个电子合同主体,每个区块中包含区块头和区块体,区块头中包括区块所对应电子合同主体的id信息、区块生成的时间戳信息以及前一个区块的哈希值,区块体用于存储对应电子合同主体所生成电子合同数据的共享记录,按照区块头中区块生成的时间戳信息将n个区块进行链接,构成区块链网络;

11、所述电子合同主体为电子合同数据的提供方,电子合同主体与电子合同数据的对应关系为:

12、{(ln,xn)|n∈[1,n]}

13、其中:

14、ln表示第n位电子合同主体,xn表示电子合同主体ln所提供的电子合同数据;

15、初始化生成系统公私钥对,其中系统公私钥对的生成流程为:

16、s11:生成质数p,构建长度为p的有限域gp,其中有限域gp中具有集合zp:

17、zp={0,1,...,p-1}

18、s12:基于所生成的有限域,构建得到椭圆曲线e(gp):

19、

20、其中:

21、mod表示取模符号;

22、e,g为椭圆曲线的参数;

23、≡表示同余符号;

24、(x,y)表示椭圆曲线e(gp)中的坐标点,其中(x,y)∈(gp)2表示x∈zp,y∈zp;

25、s13:确定质数q,其中参数q<p,在椭圆曲线e(gp)中选取q个坐标点构成循环乘法群q,选取使得循环乘法群q与q0的abelian群相同的坐标点q0作为循环乘法群q的生成元;

26、s14:随机选取a∈zp,生成系统公私钥对:

27、pk=q0[q0×q0]a

28、sk=(q0)a

29、其中:

30、pk表示系统公钥,sk表示系统私钥。

31、可选地,所述s1步骤中生成每个电子合同主体的对称密钥,包括:

32、根据所生成系统公私钥对,生成区块链网络中每个区块所对应电子合同主体的对称密钥,其中第n位电子合同主体的对称密钥生成流程为:

33、生成两个不同的大素数pn,qn,并计算得到tn=(pn-1)(qn-1),遍历得到pn-1,qn-1之间的最小公倍数λn,生成第n位电子合同主体的对称密钥:

34、pkn=(en,sk)

35、skn=(dn,sk)

36、所述en,dn满足下式:

37、gcd(en,λn)=1

38、endnmod tn=1

39、其中:

40、(pkn,skn)表示第n位电子合同主体的对称密钥,pkn表示对称密钥中的公钥,skn表示表示对称密钥中的私钥;

41、gcd(·)表示计算最大公约数;

42、mod表示取模;

43、en,dn表示对称密钥(pkn,skn)生成过程中的密钥参数。

44、可选地,所述s2步骤中电子合同主体使用对称密钥对电子合同数据进行对称加密得到电子合同数据密文,并制定访问策略,包括:

45、电子合同主体使用对称密钥对电子合同数据进行对称加密得到电子合同数据密文,并制定访问策略,其中第n位电子合同主体利用对称密钥对电子合同数据进行对称加密的公式为:

46、

47、其中:

48、表示电子合同数据xn的对称加密结果;

49、电子合同主体为所生成电子合同数据制定访问策略,其中第n位电子合同主体对电子合同数据xn所制定的访问策略形式为:

50、wn=(wn(1),wn(2),...,wn(numn))

51、其中:

52、wn表示第n位电子合同主体对电子合同数据xn所制定的访问策略;

53、wn(numn)表示访问策略中对合同访问主体用户第numn个用户属性的访问要求;

54、基于循环乘法群q建立访问策略wn的映射:

55、hn=(hn(1),hn(2),...,hn(numn))

56、hn(numn)=h0(wn(numn),rn)

57、rn=h1(rn)

58、h0:{0,1}*×q→{0,1}q

59、h1:{0,1}*→{0,1}q×q

60、其中:

61、h0,hi表示hash函数,×q表示乘以循环乘法群q中的任意一个坐标点,{0,1}*表示输入hash函数的任意长的比特串,→{0,1}q表示映射为长度为q的比特串;

62、rn∈zp,rn作为访问策略wn的秘密值;

63、hn表示访问策略wn的映射结果;

64、hn(numn)表示wn(numn)的映射结果。

65、可选地,所述s2步骤中使用加密算法对对称密钥进行加密,使用属性布隆过滤器对访问策略中的映射进行隐藏,将电子合同信息上传至区块链,包括:

66、使用加密算法对电子合同主体所生成的对称密钥进行加密,并使用属性布隆过滤器对访问策略中的映射进行隐藏,其中第n位电子合同主体的对称密钥加密以及访问策略映射隐藏流程为:

67、s21:生成第n位电子合同主体的共享秘密值sn:

68、sn=h2(rn,pkn,skn)

69、h2:{0,1}*→{0,1}q

70、其中:

71、h2表示hash函数;

72、s22:根据访问策略wn的秘密值以及对称密钥(pkn,skn),生成共享秘密值对应的密文结果:

73、

74、其中:

75、表示逐元素相加;

76、cn表示共享秘密值sn对应的密文结果,并将cn作为第n位电子合同主体的对称密钥加密结果;

77、s23:构建属性布隆过滤器,利用numn个哈希函数对访问策略wn的映射结果hn进行地址映射,得到hn中任意用户属性的访问要求的映射地址,并按照映射地址进行映射结果hn的过滤存储,其中hn(numn)的映射地址为locn(numn);

78、将电子合同信息上传到区块链网络的对应区块,其中电子合同信息包括共享秘密值、共享秘密值对应的密文结果、电子合同数据的对称加密结果、访问策略的映射结果及映射地址。

79、可选地,所述s3步骤中合同访问主体向区块链网络发送电子合同数据跨域访问请求,由区块链网络进行解析验证,包括:

80、合同访问主体向区块链网络发送电子合同数据跨域访问请求,其中合同访问主体为区块链网络中非电子合同数据提供方的区块所对应的电子合同主体,电子合同数据跨域访问请求包括请求构建的时间戳信息、合同访问主体id信息以及访问策略信息,其中第i位电子合同主体向第n位电子合同主体发送的电子合同数据跨域访问请求为:

81、

82、其中:

83、表示第j位电子合同主体向第n位电子合同主体发送的电子合同数据跨域访问请求;

84、timej表示构建电子合同数据跨域访问请求的时间戳信息;

85、idj表示第j位电子合同主体lj的id信息;

86、wj(xn)表示第j位电子合同主体lj对电子合同数据xn的访问策略信息,包括第j位电子合同主体lj的numn个用户属性;

87、区块链网络对的解析验证流程为:

88、s31:第n位电子合同主体对应的区块验证时间戳信息timej是否合法,若timej与当前时间戳的差值在预设范围内则合法;

89、并验证合同访问主体id信息idj是否合法,若合同访问主体id信息idj存在于区块链网络中则合法;

90、s32:第n位电子合同主体对应的区块从hn对应的映射地址位置提取得到访问策略wn的映射结果hn;

91、s33:计算||wj(xn)hn-wn||,若||wj(xn)hn-wn||小于预设的访问阈值,则验证通过电子合同数据跨域访问请求其中||·||表示l1范数。

92、可选地,所述s4步骤中若电子合同数据跨域访问请求验证通过,区块链网络利用转换密钥对电子合同数据密文进行转换得到轻量密文,将转换密钥、轻量密文以及对称密钥的加密结果发送至合同访问主体,包括:

93、若电子合同数据跨域访问请求验证通过,区块链网络根据电子合同数据跨域访问请求生成转换密钥,并利用转换密钥对电子合同数据密文进行转换得到轻量密文,其中转换密钥的生成以及轻量密文转换流程为:

94、s41:根据电子合同数据跨域访问请求生成转换密钥:

95、

96、其中:

97、为区块链网络生成的关于电子合同数据跨域访问请求的转换密钥;

98、s42:基于转换密钥的轻量密文生成公式为:

99、

100、其中:

101、表示对应的轻量密文;

102、表示电子合同数据xn的对称加密结果;

103、s43:将转换密钥轻量密文以及对称密钥的加密结果cn发送至合同访问主体lj。

104、可选地,所述s5步骤中合同访问主体对对称密钥的加密结果进行解密得到对称密钥,并利用对称密钥对轻量密文进行解密得到电子合同数据,包括:

105、合同访问主体lj对对称密钥的加密结果cn进行解密处理,其中解密公式为:

106、

107、其中解密处理结果即为对称密钥,并利用id信息以及访问策略信息wj(xn)解密得到系统私钥sk,并利用转换密钥轻量密文以及系统公钥pk,对电子合同数据xn的对称加密结果进行计算:

108、

109、根据对称密钥以及系统私钥sk对对称加密结果进行解密,得到电子合同数据xn,其中解密公式为:

110、

111、合同访问主体接收电子合同数据xn,完成第n位电子合同主体向合同访问主体的电子合同数据xn的共享处理,并将完成共享处理的电子合同数据共享记录添加到第n位电子合同主体对应的区块中。

112、在本发明实施例中,电子合同数据的提供方通过设置数据访问策略,并对电子合同数据进行加密处理,将加密后的电子合同数据添加到区块链中,需要访问电子合同数据的合同访问主体通过生成访问策略构成电子合同数据跨域访问请求,区块链通过对合同访问主体的用户信息以及访问策略进行验证,验证通过后则将对应的电子合同信息发送到合同访问主体,合同访问主体根据自身用户信息以及访问策略解密得到电子合同数据,实现基于区块链验证以及多轮数据加密场景下的电子合同数据共享处理。

113、为了解决上述问题,本发明提供一种电子设备,所述电子设备包括:

114、存储器,存储至少一个指令;

115、通信接口,实现电子设备通信;及

116、处理器,执行所述存储器中存储的指令以实现上述所述的电子合同数据安全共享方法。

117、为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的电子合同数据安全共享方法。

118、相对于现有技术,本发明提出一种电子合同数据安全共享方法,该技术具有以下优势:

119、首先,本方案提出一种结合区块链的链上数据安全保护方法,使用加密算法对电子合同主体所生成的对称密钥进行加密,并使用属性布隆过滤器对访问策略中的映射进行隐藏,其中第n位电子合同主体的对称密钥加密以及访问策略映射隐藏流程为:生成第n位电子合同主体的共享秘密值sn:

120、sn=h2(rn,pkn,skn)

121、h2:{0,1}*→{0,1}q

122、其中:h2表示hash函数;根据访问策略wn的秘密值以及对称密钥(pkn,skn),生成共享秘密值对应的密文结果:

123、

124、其中:表示逐元素相加;cn表示共享秘密值sn对应的密文结果,并将cn作为第n位电子合同主体的对称密钥加密结果;构建属性布隆过滤器,利用numn个哈希函数对访问策略wn的映射结果hn进行地址映射,得到hn中任意用户属性的访问要求的映射地址,并按照映射地址进行映射结果hn的过滤存储,其中hn(numn)的映射地址为locn(numn);将电子合同信息上传到区块链网络的对应区块,其中电子合同信息包括共享秘密值、共享秘密值对应的密文结果、电子合同数据的对称加密结果、访问策略的映射结果及映射地址。合同访问主体向区块链网络发送电子合同数据跨域访问请求,其中合同访问主体为区块链网络中非电子合同数据提供方的区块所对应的电子合同主体,电子合同数据跨域访问请求包括请求构建的时间戳信息、合同访问主体id信息以及访问策略信息,其中第j位电子合同主体向第n位电子合同主体发送的电子合同数据跨域访问请求为:

125、

126、其中:表示第j位电子合同主体向第n位电子合同主体发送的电子合同数据跨域访问请求;timej表示构建电子合同数据跨域访问请求的时间戳信息;idj表示第j位电子合同主体lj的id信息;wj(xn)表示第j位电子合同主体lj对电子合同数据xn的访问策略信息,包括第j位电子合同主体lj的numn个用户属性;区块链网络对的解析验证流程为:第n位电子合同主体对应的区块验证时间戳信息timej是否合法,若timej与当前时间戳的差值在预设范围内则合法;并验证合同访问主体id信息idj是否合法,若合同访问主体id信息idj存在于区块链网络中则合法;第n位电子合同主体对应的区块从hn对应的映射地址位置提取得到访问策略wn的映射结果hn;计算||wj(xn)hn-wn||,若||wj(xn)hn-wn||小于预设的访问阈值,则验证通过电子合同数据跨域访问请求其中||·||表示l1范数。本方案采用对称加密和椭圆曲线加密结合的方式,利用椭圆曲线加密方法生成系统公私钥对,并以系统公私钥对为基础,生成区块链网络中每个电子合同主体的对称密钥,并进一步采用椭圆加密的方式,结合制定的访问策略,得到表征对称密钥以及访问策略的共享秘密值,实现线性秘密共享,且根据访问策略映射结果的线性重构特征,对合同访问主体提供的访问策略进行验证,从而对若干维度的用户属性进行细粒度验证,实现电子合同数据细粒度的安全共享方案,并结合区块链共识机制有效缓解网络中恶意节点造成的数据损坏,并提供属性布隆过滤器的跨域访问验证方法,实现对访问策略属性的保护,攻击者无法分析合同访问主体所获取数据的访问策略,无法推断访问者拥有的属性,基于属性布隆过滤器的跨域访问验证方法避免电子合同数据跨域共享不可控的问题。

127、同时,本方案提出一种电子合同数据安全共享方式,电子合同数据的提供方通过设置数据访问策略,并对电子合同数据进行加密处理,将加密后的电子合同数据添加到区块链中,需要访问电子合同数据的合同访问主体通过生成访问策略构成电子合同数据跨域访问请求,区块链通过对合同访问主体的用户信息以及访问策略进行验证,验证通过后则将对应的电子合同信息发送到合同访问主体,合同访问主体根据共享秘密值、自身用户信息以及访问策略解密得到电子合同数据,实现基于区块链验证以及多轮数据加密场景下的电子合同数据共享处理。

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