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

基于去中心化多方安全计算和多重签名的电子公证文书签署方法及系统与流程

2021-11-05 21:16:00 来源:中国专利 TAG:


1.本发明涉及对电子文件的电子签名服务领域,特别是通过在线的网络服务,实现可靠电子签名的功能,具体地说是一种基于去中心化多方安全计算和多重签名的电子公证文书签署方法及系统。


背景技术:

2.电子文件的在线电子签署服务,已经是电子商务环境下日益广泛的应用需求;为了适应数字化商务生产对电子签名服务的需要,越来越多的saas化平台的电子签名服务(电子合同服务)不断出现,但由于这种网络平台式的服务多采用中心化的技术架构,平台的中心服务器完全掌控电子签名的全部要素,使得在技术上平台可以具有伪造签名的能力,极大的提高了用户在选用平台服务时的信任成本,给在线电子文件签署服务的推动造成了障碍。


技术实现要素:

3.本发明的目的是针对网络平台式的服务多采用中心化的技术架构,安全性不高的问题,提出一种基于去中心化多方安全计算和多重签名的电子公证文书签署方法及系统,其显著特点是基于去中心化的设计,极大的弱化了服务端的中心化权力,从密码学原理上杜绝了服务端对电子签名的做假能力,保证了电子签名的不可否认性,实现电子文件电子签名过程的完整可信证明
4.本发明的技术方案是:
5.本发明提供一种基于去中心化多方安全计算和多重签名的电子公证文书签署方法,该方法由公证服务端节点ids、用户客户端节点和业务服务端节点bs之间进行通信;该方法包括以下步骤:
6.s1、系统初始化步骤:配置系统安全参数级别l,产生系统的公共参数setup(1
l
)

(e,p,g1,g2,g
t
,g1,g2,h0,h1,h2);其中:(e,p,g1,g2,g
t
)为素数阶p的双线性群,g1,g2分别是g1,g2的生成元,h0,h1,h2均为哈希函数,其中h0:{0,1}
*

g1,h1:{0,1}
*

z
p
,h2:{0,1}
*

z
p

7.s2、密钥生成步骤:
8.2.1、公证服务端节点ids调用公私钥生成算法生成ids公私钥对(sk
ny
,pk
ny
);
9.2.2、业务服务端节点bs调用公私钥生成算法生成bs的公私钥对(sk
bs
,pk
bs
);
10.2.3、用户端通过客户端输入pin码,调用公私钥生成算法生成用户的公私钥对(sk
u
,pk
u
);
11.2.4、公证服务端节点ids调用公钥聚合算法生成所有节点聚合后的完整公钥apk;
12.s3、用户身份认证步骤:
13.3.1、用户u通过客户端输入身份信息id
u
,并使用客户端摄像头采集用户u的面部识别特征f
u

的生成元,h0,h1,h2均为哈希函数,其中h0:{0,1}
*

g1,h1:{0,1}
*

z
p
,h2:{0,1}
*

z
p

33.密钥生成模块:
34.公证服务端节点ids调用公私钥生成算法生成ids公私钥对(sk
ny
,pk
ny
);
35.业务服务端节点bs调用公私钥生成算法生成bs的公私钥对(sk
bs
,pk
bs
);
36.客户端接收用户输入的pin码,调用公私钥生成算法生成用户的公私钥对(sk
u
,pk
u
);
37.公证服务端节点ids调用公钥聚合算法生成所有节点聚合后的完整公钥apk;
38.用户身份认证模块:
39.客户端接收用户u输入的身份信息id
u
,并使用客户端摄像头采集用户u的面部识别特征f
u

40.客户端调用哈希函数计算用户的哈希值m
idu
;采用签名算法获取用户的签名值σ
idu
;将用户身份信息id
u
、签名值σ
idu
和面部识别特征f
u
发送至公证服务端节点;
41.公证服务端节点ids将用户身份信息id
u
和面部识别特征f
u
与公安公民身份信息数据库进行比对,比对不通过的,身份认证失败,终止任务;比对通过则根据用户身份信息id
u
调用哈希函数计算用户的哈希值m
idu
,采用签名验证算法根据用户公钥pk
u
和哈希值m
idu
对签名值σ
idu
进行验签,如果验证签名失败,终止任务;如果验证签名成功,身份认证完成;
42.签名模块:用户id
u
、公证服务端节点ids和业务服务端节点bs分别对电子文件m进行签名;
43.用户客户端计算电子文件m的哈希值h0(m),根据用户私钥sk
u
和电子文件哈希值h0(m)对电子文件进行签名,产生用户签名值σ
u
,将σ
u
、m发送至业务服务端节点;
44.业务服务端计算电子文件m的哈希值h0(m),并且根据用户公钥pk
u
和h0(m),调用签名验证算法对用户签名值σ
u
进行验证,如果验证签名失败,终止任务;如果验证签名成功,则根据业务服务端私钥sk
bs
和电子文件哈希值h0(m)调用签名算法计算业务节点签名值σ
bs
;将σ
u
、σ
bs
和m发送至公证服务端;
45.公证服务端计算电子文件m的哈希值h0(m),根据用户公钥pk
u
和h0(m),调用签名验证算法对用户签名值σ
u
进行验证,如果验证签名失败,终止任务;如果验证签名成功,则公证服务端根据业务服务端公钥pk
bs
和电子文件哈希值h0(m),调用签名验证算法对业务节点签名值σ
bs
进行验证,如果验证签名失败,终止任务;如果验证签名成功,则公证服务端根据公证服务端私钥sk
ny
和电子文件哈希值h0(m)调用签名算法产生公证节点签名值σ
ny
;公证服务端根据用户签名值σ
u
、公证节点签名值σ
ny
和业务节点签名值σ
bs
调用签名合成算法产生所有节点完整的聚合签名值σ;
46.验证模块:公证服务端计算椭圆曲线的双线性映射函数值e(σ,g2)与e(h0(m),apk),比较如果等式不成立,则表明签名失败,如果等式成立,则表明用户u通过多节点协作,完成了对文件m的有效签名。
47.一种基于去中心化多方安全计算和多重签名系统的业务服务端,
48.业务服务端配置有系统参数;
49.业务服务端节点bs响应于密钥生成任务,调用公私钥生成算法生成bs的公私钥对(sk
bs
,pk
bs
),并且发送至公证服务端节点ids;
50.业务服务端节点bs响应于签名任务,业务服务端接收用户客户端发送的电子文件m和用户签名值σ
u
;计算电子文件m的哈希值h0(m),并且根据用户公钥pk
u
和h0(m),调用签名验证算法对用户签名值σ
u
进行验证,如果验证签名失败,终止任务;如果验证签名成功,则根据业务服务端私钥sk
bs
和电子文件哈希值h0(m)调用签名算法计算业务节点签名值σ
bs
;将σ
u
、σ
bs
和m发送至公证服务端。
51.一种基于去中心化多方安全计算和多重签名系统的用户客户端,
52.用户客户端配置有系统参数;
53.客户端响应于密钥生成任务,接收用户输入的pin码,调用公私钥生成算法生成用户的公私钥对(sk
u
,pk
u
),并且发送至公证服务端节点ids;
54.客户端响应于用户身份认证任务,接收用户u输入的身份信息id
u
,并使用客户端摄像头采集用户u的面部识别特征f
u
;调用哈希函数计算用户的哈希值m
idu
;采用签名算法获取用户的签名值σ
idu
;将用户身份信息id
u
、签名值σ
idu
和面部识别特征f
u
发送至公证服务端节点;
55.客户端响应于签名任务,用户客户端计算电子文件m的哈希值h0(m),根据用户私钥sk
u
和电子文件哈希值h0(m)对电子文件进行签名,产生用户签名值σ
u
,将σ
u
、m发送至业务服务端节点。
56.一种基于去中心化多方安全计算和多重签名系统的公证服务端,
57.公证服务端配置有系统参数;
58.公证服务端节点ids响应于密钥生成任务,调用公私钥生成算法生成ids公私钥对(sk
ny
,pk
ny
);接收业务服务端节点bs的公私钥对(sk
bs
,pk
bs
)和用户的公私钥对(sk
u
,pk
u
),调用公钥聚合算法生成所有节点聚合后的完整公钥apk;
59.公证服务端节点ids响应于用户身份认证任务,接收客户端发送的用户身份信息id
u
、签名值σ
idu
和面部识别特征f
u
;将用户身份信息id
u
和面部识别特征f
u
与公安公民身份信息数据库进行比对,比对不通过的,身份认证失败,终止任务;比对通过则根据用户身份信息id
u
调用哈希函数计算用户的哈希值m
idu
,采用签名验证算法根据用户公钥pk
u
和哈希值m
idu
对签名值σ
idu
进行验签,如果验证签名失败,终止任务;如果验证签名成功,身份认证完成;
60.公证服务端节点ids响应于签名任务,公证服务端节点ids接收业务服务端节点bs发送的用户签名值σ
u
、业务节点签名值σ
bs
和电子文件m,公证服务端计算电子文件m的哈希值h0(m),根据用户公钥pk
u
和h0(m),调用签名验证算法对用户签名值σ
u
进行验证,如果验证签名失败,终止任务;如果验证签名成功,则公证服务端根据业务服务端公钥pk
bs
和电子文件哈希值h0(m),调用签名验证算法对业务节点签名值σ
bs
进行验证,如果验证签名失败,终止任务;如果验证签名成功,则公证服务端根据公证服务端私钥sk
ny
和电子文件哈希值h0(m)调用签名算法产生公证节点签名值σ
ny
;公证服务端根据用户签名值σ
u
、公证节点签名值σ
ny
和业务节点签名值σ
bs
调用签名合成算法产生所有节点完整的聚合签名值σ;
61.公证服务端节点ids响应于验证任务,公证服务端计算椭圆曲线的双线性映射函数值e(σ,g2)与e(h0(m),apk),比较如果等式不成立,则表明签名失败,如果等式成立,则表明用户u通过多节点协作,完成了对文件m的有效签名。
62.本发明的有益效果:
63.本发明的多方安全计算方法,是一种去中心化的运算模式。在基于多重签名的多方安全计算模型中,一次完整的签名需要由配置的任意多个运算节点共同参与运算才能完成,而每个运算节点都分别有不同的实体进行控制管理,没有任何节点具有中心化的权力,从而杜绝了中心化做假的可能;由于用户(即需要进行电子签名的签名人)是所有节点中的必须节点之一,因此,如果缺少用户的参与,则无法完成一次完整的签名,反之,如果完成了一次完整的签名,则必然表示用户进行了签名,从而实现了对用户电子签名的不可否认,保证了签名的可靠性。
64.本发明的方法可将可信的第三方公证作为多方安全计算的节点之一,参与到节点运算之中,实现了对每一次用户签名的公证参与,从而为公证机构作为证明人,对用户电子签名的真实性提供证明服务提供了基础,更好的满足社会生产中对电子签名服务的实际需求。
65.本发明的其它特征和优点将在随后具体实施方式部分予以详细说明。
附图说明
66.通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中,在本发明示例性实施方式中,相同的参考标号通常代表相同部件。
67.图1示出了本发明的系统结构示意图。
具体实施方式
68.下面将参照附图更详细地描述本发明的优选实施方式。虽然附图中显示了本发明的优选实施方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。
69.本发明由公证服务端节点ids、业务服务端节点bs以及用户客户端节点构成,其中,公证服务端节点ids由可信的第三方公证机构控制使用,用户客户端节点由用户控制使用,业务服务端节点bs可以是1个或者多个。公证服务端节点、业务服务端节点、用户客户端节点中预置相同的算法及参数,具体如下:
70.1、算法说明
71.1.1、系统初始化算法setup(1
l
)

pp,生成系统所需的公共参数。
72.1.2、设h0,h1,h2为三个哈希函数。
73.1.3、公私钥生成算法,kg(1
l
)

(sk,pk),用于生成私钥以及公钥。
74.1.4、公钥聚合算法agg(pk1,pk2,

,pk
n
)

apk,用于生成聚合公钥。
75.1.5、签名算法sign(pp,sk
i
,m)

σ
i
,用于生成第i个签名者的签名。
76.1.6、签名合成算法agg

sign(pp,σ1,σ2,

,σ
n
)

σ,用于生成聚合签名。
77.1.7、签名验证算法verify(pp,σ,m,apk)

true/false,用于签名验证签名σ的有效性。
78.1.8、e为椭圆曲线的双线性映射函数。
79.2、系统初始化
80.系统调用setup(1
l
)

(e,p,g1,g2,g
t
,g1,g2,h0,h1,h2),其中(e,p,g1,g2,g
t
)为素数阶p的双线性群,g1,g2分别是g1,g2的生成元,h0,h1,h2为三个哈希函数,其中h0:{0,1}
*

g1,h1:{0,1}
*

z
p
,h2:(0,1}
*

z
p

81.3、密钥生成阶段
82.3.1、公证服务端节点ids调用kg(1
l
)

(sk
ny
,pk
ny
)生成ids的公私钥对,其中
83.3.2、业务服务端节点bs调用kg(1
l
)

(sk
bs
,pk
bs
)生成bs的公私钥对,其中
84.3.3、用户端通过客户端输入pin,调用kg(1
l
)

(sk
u
,pk
u
)生成用户的公私钥对,其中sk
u
=x
u
=h2(pin),
85.3.4、公证服务端节点ids调用agg(pk
u
,pk
ny
,pk
bs
)

apk,生成所有节点聚合后的完整公钥apk;
86.4、用户身份认证
87.4.1、用户u使用客户端节点输入相关身份信息id
u
(姓名、身份证),并使用客户端摄像头采集用户u的面部识别特征f
u

88.4.2、客户端调用h0(id
u
)

m
idu
,调用sign(pp,sk
u
,m
idu
)

σ
idu
,将id
u
、σ
idu
、f
u
,发送至公证服务端节点;
89.4.3、公证服务端节点ids将用户身份信息id
u
和面部识别特征f
u
与公安公民身份信息数据库进行比对,比对不通过的,身份认证失败,终止任务;比对通过进行4.4;
90.4.4、公证服务端节点调用h0(id
u
)

m
idu
,调用verify(pp,σ
idu
,m
idu
,pk
u
)

true/false进行验签,如果结果为false,表示验证签名失败,终止任务;如果结果为true,表示验证签名成功,身份认证完成;
91.5、签名
92.用户、业务服务端节点、公证服务端节点对电子文件m进行签名,步骤如下;
93.5.1、用户通过客户端节点调用sign(pp,sk
u
,h0(m))

σ
u
,产生用户签名值σ
u
,其中a
u
=h1(pk
u
,pk
ny
,pk
bs
,pk
u
),x
u
=sk
u
,将σ
u
、m发送至业务服务端节点;
94.5.2、业务服务端调用verify(pp,σ
u
,h0(m),pk
u
)

true/false对用户签名进行验证,如果结果为false,表示验证签名失败,终止任务;如果结果为true,表示验证签名成功,继续5.3;
95.5.3、业务服务端调用sign(pp,sk
bs
,h0(m))

σ
bs
,产生业务节点签名值σ
bs
,其中a
bs
=h1(pk
bs
,pk
u
,pk
ny
,pk
bs
),x
bs
=sk
bs
,;将σ
u
、σ
bs
、m发送至公证服务端;
96.5.4、公证服务端调用verify(pp,σ
u
,h0(m),pk
u
)

true/false对用户签名进行验证,如果结果为false,表示验证签名失败,终止任务;如果结果为true,表示验证签名成功,任务继续5.5;
97.5.5、公证服务端调用verify(pp,σ
bs
,h0(m),pk
bs
)

true/false对业务服务端签名
进行验证,如果结果为false,表示验证签名失败,终止任务;如果结果为true,表示验证签名成功,任务继续5.6;
98.5.6、公证服务端调用sign(pp,sk
ny
,h0(m))

σ
ny
,产生公证节点签名值σ
ny
,其中,a
ny
=h1(pk
ny
,pk
u
,pk
ny
,pk
bs
),x
ny
=sk
ny

99.5.7、公证端调用agg

sign(pp,σ
u
,σ
ny
,σ
bs
)

σ,产生所有节点完整的聚合签名值σ,其中
100.6、验证
101.计算函数e(σ,g2)与函数e(h0(m),apk)的值,比较如果等式不成立,则表明签名失败,如果等式成立,则表明用户u通过多节点协作,完成了对文件m的有效签名。
102.本发明的方法及系统打破中心化服务器的权力集中,消除服务端的做假能力;采用多方计算的节点数量可以根据需要灵活配置,更好的满足客户需要;基于可信第三方公证作为运算参与节点之一,可直接可视化的证明签名行为的真实性;通过构造一个去中心化的在线可靠电子签名系统,降低信任成本,让用户无需将信任无条件的委托给系统,即可安全的进行在线远程电子文件签署,并可以直接证明该签署行为真实性的方法。
103.以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。
再多了解一些

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

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

相关文献