一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于无欺骗非阻塞信道的计算量非对称的存证方法与流程

2021-10-24 04:37:00 来源:中国专利 TAG:区块 信道 阻塞 欺骗 非对称


1.本发明涉及区块链技术领域,特别是涉及一种基于无欺骗非阻塞信道的计算量非对称的存证方法。


背景技术:

2.如今电子数据存在广泛,在司法程序中也作为法定证据而存在。但电子数据由于其本身的特性,在司法流程中鉴定真实性和完整性较为困难。广泛应用在信息领域的区块链技术具有去中心化和不易篡改的特点,将区块链技术与电子数据存证相结合很好地解决了以上提到的难题。
3.但目前的基于区块链的存证方案,大多需要公钥基础设施或密钥分发中心的支持,维护成本较高;没有考虑到客户端设备的算力情况,大多数存证场景中的客户端算力要比服务器端低得多,耗时的存证算法会降低存证的效率。


技术实现要素:

4.本发明主要解决的技术问题是提供一种基于无欺骗非阻塞信道的计算量非对称的存证方法,具有可靠性能高、维护成本低、计算能力强等优点。
5.为解决上述技术问题,本发明采用的一个技术方案是:提供一种基于无欺骗非阻塞信道的计算量非对称的存证方法,其步骤包括:(1)客户端生成两个随机数r
c
和n
c
;(2)客户端计算得到u
c = r
c sk
c
,其中,sk
c
是客户端的私钥;(3)客户端根据n
c
、客户端标识id
c
、客户端公钥pk
c
和u
c
,得到消息认证码w
c
1;(4)客户端通过加密信道把id
c
、pk
c
,u
c
和w
c
1发送给服务器端;(5)服务器端接收由加密信道发来的id
c
、pk
c
、u
c
和w
c
1,并生成两个随机数,r
s
和n
s
;(6)服务器端计算得到u
s = r
s sk
s
,其中,sk
s
是服务器端的私钥;(7)服务器端计算椭圆曲线离散点t
s = u
s
ꢀ×ꢀ
g,其中,g是椭圆曲线的基点;(8)服务器端根据n
s
、服务器端标识id
s
、服务器端公钥pk
s
和t
s
,得到消息认证码w
s
1;(9)服务器端用加密信道把id
s
、pk
s
、t
s
和w
s
1发送给客户端;(10)客户端收到来自加密信道发来的服务器端标识id
s
、服务器端公钥pk
s
、椭圆曲线离散点t
s
和w
s
1;(11)服务器端收到客户端用加密信道发来的id
c
和n
c
;(12)服务器端根据n
c
、id
c
、pk
c
和u
c
,得到消息认证码w
c
2;(13)服务器端比较w
c
2和w
c
1是否相等,如果不等,服务器端输出验证失败并中止算法;如果相等,则继续执行步骤(14);(14)服务器端用加密信道把id
s
和n
s
发送给客户端;(15)客户端收到来自加密信道发来的id
s
和随机数n
s
,并根据n
s
、id
s
、pk
s
和t
s
,得到
消息认证码w
s
2;(16)客户端比较w
s
2和w
s
1是否相等,如果不等,客户端输出验证失败并中止算法;如果相等,则继续执行步骤(17);(17)客户端根据n
c
、n
s
、id
c
、pk
c
、u
c
、id
s
、pk
s
和t
s
,得到消息认证码d1;(18)服务器端收到客户端用无欺骗非阻塞信道发送来的id
c
和d1;(19)服务器端根据n
c
、n
s
、id
c
、pk
c
、u
c
、id
s
、pk
s
和t
s
,得到消息认证码d2;(20)服务器端比较d2和d1是否相等,如果不等,服务器端用无欺骗非阻塞信道发送验证结果信息“失败”给客户端并中止算法;如果相等,服务器端用无欺骗非阻塞信道发送验证结果信息“成功”给客户端,并继续执行步骤(21);(21)客户端计算diffie

hellman密钥k
c = r
c
ꢀ×ꢀ
(t
s
ꢀ‑ꢀ
pk
s
);(22)客户端根据k
c
、id
c
、id
s
、pk
c
和pk
s
,得到消息认证码shk
c
,并将shk
c
作为对称加密使用的密钥;(23)客户端采用对称加密算法,将作为密钥的shk
c
、待认证的数据ed1作为输入,得到加密后的数据eed1;(24)客户端根据shk、id
c
和ed1,得到消息认证码mac1;(25)服务器端收到客户端用加密信道发来的id
c
、加密后的数据eed1和mac1;(26)服务器端计算diffie

hellman密钥k
s = r
s
ꢀ×ꢀ
(u
c
ꢀ×ꢀ
g
ꢀ–ꢀ
pk
c
);(27)服务器端根据k
s
、id
c
、id
s
、pk
c
和pk
s
,得到消息认证码shk
s
,将其作为对称加密使用的密钥;(28)服务器端采用对称解密算法,将作为密钥的shk
s
、加密后的数据eed1作为输入,得到ed1;(29)服务器端根据shk
s
、id
c
和ed1,得到消息认证码mac2;(30)服务器端比较mac2和mac1是否相等,如果不等,服务器端中止算法;如果相等,服务器端继续执行步骤(31);(31)服务器端获取时间戳,服务器端生成失效时间、存证标识em;(32)服务器端根据k
s
、id
c
、id
s
和ed1,得到消息认证码h1,且服务器端把存证标识em、id
c
、id
s
、时间戳、失效时间、k
s
、h1写入区块链;(33)服务器端用加密信道把id
s
和em发送给客户端;(34)客户端收到由加密信道发来的id
s
和em。
6.在本发明一个较佳实施例中,消息认证码是基于哈希摘要码函数或分组密码算法得到的。
7.在本发明一个较佳实施例中,加密信道为ssl、tls或https。
8.在本发明一个较佳实施例中,在步骤(34)存证成功后,进行验证。
9.在本发明一个较佳实施例中,所述验证的步骤包括:(35)验证端从客户端获取存证标识em以及待验证的数据ed2;其中,验证端的标识为v;(36) 验证端用加密信道把存证标识em和ed2发送给服务器端;(37)服务器端根据存证标识在区块链上查找到存证标识1、idc、ids、时间戳、失效时间、k
s
、h1;
(38)服务器端检验当前时间是否在失效时间之前,若是,执行步骤(39);如果否,输出验证失败;(39)服务器端验证时间戳是否正确,若正确,执行步骤(40);如果不正确,输出验证失败;(40)服务器端根据k
s
、id
c
、id
s
和ed2,得到消息认证码h2;(41)服务器端比较h2和h1是否相等,如果不等,输出验证失败;如果相等,输出验证成功;(42)服务器端把验证结果发送给验证端。
10.本发明的有益效果是:用无欺骗非阻塞信道进行数据传输,服务器端和客户端不用预先共享秘密,并且不需要公钥基础设施和密钥分发中心,节省了大量的开发和维护资源;而且可以将耗时的椭圆曲线标量乘法从客户端转移到服务器端,在不降低安全性的情况下提高了计算效率。
附图说明
11.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:图1是本发明的一种基于无欺骗非阻塞信道的计算量非对称的存证方法一较佳实施例的流程示意图;图2是本发明的一种基于无欺骗非阻塞信道的计算量非对称的存证方法中验证步骤的流程示意图。
具体实施方式
12.下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
13.请参阅图1

2,本发明实施例包括:一种基于无欺骗非阻塞信道的计算量非对称的存证方法,其步骤包括:(1)在客户端:步骤c1 客户端生成两个随机数r
c
和n
c

14.步骤c2 客户端计算得到u
c = r
c sk
c
。其中,sk
c
是客户端的私钥。
15.步骤c3 客户端采用128位哈希摘要码函数,把n
c
、客户端标识id
c
、客户端公钥pk
c
和u
c
作为输入,产生的输出为128位哈希摘要码w
c
1。其中,哈希摘要码可以是基于哈希运算得到的消息认证码,或者是基于分组密码算法获得的消息认证码。
16.步骤c4 客户端通过加密信道把id
c
、pk
c
,u
c
和w
c
1发送给服务器端。其中,加密信道可以为ssl、tls或https。
17.步骤c5 客户端收到来自加密信道发来的服务器端标识id
s
、服务器端公钥pk
s
、椭
圆曲线离散点t
s
和128位哈希摘要码w
s
1。
18.步骤c6 客户端用加密信道把id
c
和n
c
发送给服务器端。
19.步骤c7 客户端收到来自加密信道发来的id
s
和随机数n
s

20.步骤c8 客户端采用128位哈希摘要码函数,把n
s
、id
s
、pk
s
和t
s
作为输入,产生的输出为128位哈希摘要码w
s
2。
21.步骤c9 客户端比较w
s
2和w
s
1是否相等。如果不等,输出验证失败并中止算法;如果相等,则继续执行步骤c10。
22.步骤c10 客户端采用16位哈希摘要码函数,把n
c
、n
s
、id
c
、pk
c
、u
c
、id
s
、pk
s
和t
s
作为输入,产生的输出为16位哈希摘要码d1。
23.步骤c11 客户端用无欺骗非阻塞信道把id
c
和d1发送给服务器端。无欺骗非阻塞信道保证了消息的完整性和认证性,但可能会被窃听。
24.步骤c12 客户端收到来自无欺骗非阻塞信道发来的验证结果信息。如果验证结果为“失败”,则中止算法;如果验证结果为“成功”,则继续执行步骤c13。
25.步骤c13 客户端计算diffie

hellman密钥k
c = r
c
ꢀ×ꢀ
(t
s
ꢀ‑ꢀ
pk
s
)。
26.步骤c14 客户端采用256位哈希摘要码函数,将k
c
、id
c
、id
s
、pk
c
和pk
s
作为输入,产生的输出为256为哈希摘要码shk
c
,并将shk
c
作为对称加密使用的密钥。
27.步骤c15 客户端采用对称加密算法,将作为密钥的shk
c
、待认证的数据ed1作为输入,产生的输出为加密后的数据eed1。
28.步骤c16 客户端采用256位哈希摘要码函数,将shk、id
c
和ed1作为输入,产生的输出为256位哈希摘要码mac1。
29.步骤c17 客户端用加密信道把id
c
, eed1和mac1发送给服务器端。
30.步骤c18 客户端收到由加密信道发来的id
s
和em,即存证成功了。
31.(2)在服务器端:步骤s1 服务器端收到由加密信道发来的id
c
、pk
c
、u
c
和w
c
1。
32.步骤s2 服务器端生成两个随机数,r
s
和n
s

33.步骤s3 服务器端计算得到u
s = r
s sk
s
。其中,sk
s
是服务器端的私钥。
34.步骤s4 服务器端计算椭圆曲线离散点t
s = u
s
ꢀ×ꢀ
g。其中,g是椭圆曲线的基点。
35.步骤s5 服务器端采用128位哈希摘要码函数,将n
s
、服务器端标识id
s
、服务器端公钥pk
s
和t
s
作为输入,产生的输出为128位哈希摘要码w
s
1。
36.步骤s6 服务器端用加密信道把id
s
,pk
s
,t
s
和w
s
1发送给客户端。
37.步骤s7 服务器端收到由加密信道发来id
c
和n
c

38.步骤s8 服务器端采用128位哈希摘要码函数,把n
c
、id
c
、pk
c
和u
c
作为输入,产生的输出为128位哈希摘要码w
c
2。
39.步骤s9 服务器端比较w
c
2和w
c
1是否相等。如果不等,输出验证失败并中止算法;如果相等,则继续执行步骤s10。
40.步骤s10 服务器端用加密信道把id
s
和n
s
发送给客户端。
41.步骤s11 服务器端收到来自无欺骗非阻塞信道发来的id
c
和d1。
42.步骤s12 服务器端采用16位哈希摘要码函数,把n
c
、n
s
、id
c
、pk
c
、u
c
、id
s
、pk
s
和t
s
作为输入,产生的输出为16位哈希摘要码d2。
43.步骤s13 服务器端比较d2和d1是否相等。如果不等,服务器端用无欺骗非阻塞信道发送验证结果信息“失败”给客户端并中止算法;如果相等,服务器端用无欺骗非阻塞信道发送验证结果信息“成功”给客户端,并继续执行步骤s14。
44.步骤s14 服务器端收到来自加密信道发来的id
c
、加密后的数据和mac1。
45.步骤s15 服务器端计算diffie

hellman密钥k
s = r
s
ꢀ×ꢀ
(u
c
ꢀ×ꢀ
g
ꢀ–ꢀ
pk
c
)。
46.步骤s16 服务器端采用256位哈希摘要码函数,把k
s
、id
c
、id
s
、pk
c
和pk
s
作为输入,产生的输出为256位哈希摘要码shk
s
,将其作为对称加密使用的密钥。
47.步骤s17 服务器端采用对称解密算法,将作为密钥的shk
s
、eed1作为输入,产生的输出为ed1。
48.步骤s18 服务器端采用256位哈希摘要码函数,把shk
s
、id
c
和ed1作为输入,产生的输出为mac2。
49.步骤s19 服务器端比较mac2和mac1是否相等。如果不等,服务器端中止算法;如果相等,服务器端继续执行步骤s20。
50.步骤s20 服务器端获取时间戳t。
51.步骤s21 服务器端生成失效时间et。
52.步骤s22 服务器端生成一个存证标识em。
53.步骤s23 服务器端采用256位哈希摘要码函数,把k
s
、id
c
、id
s
和ed1作为输入,产生的输出为256位哈希摘要码h1。
54.步骤s24 服务器端用加密信道把id
s
和em发送给客户端。
55.步骤s25 服务器端把存证标识em、id
c
、id
s
、t、et、k
s
、h1一起写入区块链。(3)在验证端:步骤v1 验证端(设验证端的标识为v)从客户端获取存证标识以及待验证的数据ed2。其中,ed2有可能是真实的数据(相等) 有可能是伪造的数据(不等)。
56.步骤v2 验证端用加密信道把存证标识和ed2发送给服务器端。
57.步骤v3 服务器端根据存证标识在区块链上查找到与存证标识对应的id
c
、id
s
、时间戳、失效时间、k
s
、h1。
58.步骤v4 服务器端检验当前时间是否在失效时间之前。若是,执行步骤v5;如果否,输出验证失败。
59.步骤v5 服务器端通过国家权威授时中心验证时间戳是否正确。若正确,执行步骤v6;如果不正确,输出验证失败。
60.步骤v6 服务器端采用256位哈希摘要码函数,把k
s
、id
c
、id
s
和ed2作为输入,产生的输出为256位哈希摘要码h2。
61.步骤v7 服务器端比较h2和h1是否相等。如果不等,输出验证失败;如果相等,输出验证成功。
62.步骤v8 服务器端把验证结果发送给验证端。
63.本发明一种基于无欺骗非阻塞信道的计算量非对称的存证方法的有益效果是:第一,本方案利用无欺骗非阻塞信道,服务器端和客户端不用预先共享秘密,并且不需要公钥基础设施和密钥分发中心,节省了大量的开发和维护资源。
64.第二,本方案将耗时的椭圆曲线标量乘法从客户端转移到了服务器端,在不降低
安全性的情况下提高了计算和工作效率。
65.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜