一种改进的多秘密共享方案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Βιβλιοθήκη Baidu
文献 [6]秘密共享方案的安全性分析
而且,由原秘密共享方案可知,对此参与者来说,
作者简介: 作者简介:顾 洋(1989-),女,硕士,主研方向:密码学,网络安 全;刘嘉勇,教授 收稿日期: 收稿日期:2011-05-10 E-mail:icestream1988@163.com
112
1 2
计 算 机
第 37 卷 第 21 期 Vol.37 No.21 ·安全技术· 安全技术·
计 算 机 工 程 Computer Engineering
文章编号: 文章编号:1000—3428(2011)21—0111—03 文献标识码: 文献标识码:A
2011 年 11 月 November 2011
中图分类号: 中图分类号:TP319
1
秘密共享是信息安全和数据保密中的一项重要技术,它 在重要信息和秘密数据的安全保存、传输及合法利用中起着 非常关键的作用。 秘密共享的概念最早是由 Shamir 和 Blakley 提出。 当前对于秘密共享的研究主要集中在可验证秘密共享、 多秘密共享、秘密份额的有效分发、秘密共享的信息率等方 面。除此之外,基于新的设计思想和数学模型设计秘密共享 方案也是一个研究热点。目前,已经提出的门限秘密共享方 案有多种 [1-5],其中包括: Shamir 的 Lagrange 内插多项式方 案,Blakley 的矢量方案,Asmuth 等人的同余类方案,Karnin 等人的矩阵法方案,基于几何性质的方案等。 椭圆曲线密码体制与其他密码体制相比,具有计算代价 小、密钥长度短等优点,因此, Liu Duo 等人于 2008 年提出 了一个基于椭圆曲线的秘密共享方案 [6] ,本文对该方案进行 了研究,发现了该方案在有效性及安全性方面存在的问题, 在此基础上提出一个改进的秘密共享方案。
概述
2 个方面: (1)多个秘密同时共享的安全脆弱性:在重构 2 个 或 2 个以上的秘密后,便可通过较小的计算代价得出其他所 有秘密;(2)不能有效抵抗各种攻击,具体包括:在秘密分发 阶段不能抵抗参与者或非参与者的窃听攻击;在秘密重构阶 段不能抵抗参与者的欺骗攻击,在秘密重构阶段不能抵抗参 与者或非参与者的窃听攻击。 多个秘密同时共享时的安全性 对于多秘密共享方案的一个基本要求是:当一个参与者 重构出任意 m−1 个秘密时,必须通过其他 t−1 个或 t−1 个以 上的参与者才能得出第 m 个秘密。对于文献 [6]秘密共享方 案,考虑以下问题: 对于接入结构中的一个参与者 Uj,如果已经重构出秘密 M1 和 M2 ,因为 ci、 di 是公开的,所以可以得出: 3.1
一种改进的多秘密共享方案
顾 洋,刘嘉勇
(四川大学信息安全研究所,成都 610064) 摘 要:研究基于椭圆曲线的多秘密共享方案,发现其在多秘密共享时无法保证安全性,而且不能抵抗窃听和欺骗攻击。为此,给出一种 改进的多秘密共享方案,该方案对于不同的秘密,采用随机的加密参数,以保证多个秘密同时共享时的安全性,通过加密发送的信息对抗 窃听攻击,对参与者进行身份认证,从而有效抵御抗欺骗攻击。分析结果表明,与原方案相比,该方案具有更高的安全性。 关键词: 关键词:密码学;椭圆曲线;秘密共享;自双线性配对
(
)
T
(4) D 与每个用户 Uj 分别进行密钥交换,步骤如下: 1)D 产生随机数 rDj 并计算 YDj = rD G ;
j
2)D 将 YDj 发送给用户 Uj; 3)用户 Uj 产生一个随机数 rUj,并计算 YUj = rUj G ; 4)用户 Uj 将 YUj 发送给分发者 D; 5)D 计算 K j = rDj ⋅ YUj ; 6)用户 Uj 计算 K j = rUj ⋅ YDj 。 (5)计算 A j=aj+ Kjx , B j=bj + Kjy,其中, Kjx 为密钥 Kj 的 x 坐 标, Kjy 为密钥 Kj 的 y 坐标。 (6) D 将 j 以及 { A j, B j} 分发给参与者 Uj。 至此,秘密份额的产生及分发完成,显然,上面所分发 的份额不含有与秘密相关的任何信息,所以,为了秘密重构 的进行,分发者必须构造一些公用变量: (1)对每个用户 Uj 计算 C j = H (a j || b j ) 。 (2) D 为每个秘密 Mi 选取一对随机数 (ci , di ), ci , di ∈ [0, l − 1] 。 (3) D 计算 Qi=ci G +di H。 (4) D 选择一对随机整数 α i, β i∈ [1, l −1], α i, β i 保密。 (5) D 计算 X i = α i G + βi H 。
Improved Multi-secret Sharing Scheme
GU Yang, LIU Jia-yong
(Information Security Institute, Sichuan University, Chengdu 610064, China) 【Abstract】This paper studies a multi-secret sharing scheme based on elliptic curve, and finds that it is not safe when multiple secrets are shared and the scheme can not resist the interception and cheat. So an advanced scheme is proposed, in the advanced scheme, the encryption parameters for each secret are different, the distribute information is encrypted, and the participants are authenticated, it can resist the interception and cheat effectively. Analysis results show that the scheme has good security compared with old scheme. 【Key words】cryptography; elliptic curve; secret sharing; self-bilinear paring DOI: 10.3969/j.issn.1000-3428.2011.21.038
10 0 2 A = 30 M n0
%j ∈ [0, l − 1] 。 %j , b a
(3) D 计算以下向量:
( a1 , a2 ,L , an )
T
%1 , a % 2 ,L , a %t ) = A⋅(a
T
( b1, b2 ,L , bn )
T
% ,b % % = A⋅ b 1 2 ,L , bt
1 2 ( t −1) 1 1 L 1 1 2 ( t −1) 2 2 L 2 1 2 ( t −1) 3 3 L 3 M M M 1 2 ( t −1) n n L n n×t %j} % j, b (2) D 选取 2t 个随机数 {a 1≤ j≤t ,对于任何 1≤ j≤ t,
ci = c1 xi + c2 yi di = d1 xi + d 2 yi
(1)
秘密分发算法和秘密重构算法两部分。它采用椭圆曲线密码 体制来实现多秘密共享,在该方案中,只需进行一次密钥的 分发,就可以对多个秘密进行共享,对秘密信息的更新,不 需重新进行密钥分发。具体方案描述及安全性论证见参考文 献 [6]。
工 程 4.2
2011 年 11 月 5 日
% ) 和 Lα , β (Q , P % ) 都是已知的,因此,由自双线性配对 Lα , β (Q , P t t
的性质
[6-8]
可得:
i 1 2
% ) = Lα , β (( x Q + y Q ), P %)= Lα , β (Q , P t i i t % ) + Lα , β ( y Q , P %)= Lα , β ( x Q , P
i
1
t
i
2
t
% ) + y Lα , β (Q , P %) xi Lα , β (Q , P t i t
1 2
(3)
i
秘密分发算法 分发者 D 按照以下步骤将秘密分配成 n 个子份额,保证 t 个或 t 个以上的参与者可通过其持有的子份额来恢复秘密, 而 t 个以下的人不能得到有关秘密的信息。 (1) D 给出矩阵:
如果 Q1 ≠ kQ2 (0 ≤ k ≤ l ) ,则解此方程可得:
−1 xi = (ci d 2 − c2 di )(c1d 2 − c2 d1 ) −1 yi = (c1di − ci d1 )(c1d 2 − c2 d1 )
(2)
3
文献 [6] 中证明的秘密共享方案在共享一个秘密时是安 全的,即对于人数少于 t 的参与者的集合,不能重构出任何 一个秘密。 通过研究发现,文献 [6] 方案的脆弱性主要体现在以下
% ) ,因为对于 由原秘密共享方案可知, M i = Ri − Lα , β (Q , P t
任何一个秘密,R i 都是公开的,而由式 (1)和式 (2)可以计算出
% ) ,所以可以得出秘密 Mi。 Lα , β (Q , P t
i
由以上步骤可以看出:在文献 [6]秘密共享方案中,任何 一个参与者在已重构出 2 个或 2 个以上的秘密时,不需要其 他的参与者便可以通过较小的计算代价得到其他所有的秘 密,所以,该方案不符合多秘密共享方案的基本要求。 对抗各种攻击时的安全性 假设秘密分发者 D 是可信任的, 即 D 分发的各秘密份额 和公开的参数都是真实的,在上述研究的基础之上,考虑以 下问题: (1)在秘密份额分发阶段,如果采取的不是安全信道,则 每个用户应该获得的秘密份额 {aj, bj} 可能被其他参与者或非 参与者窃听到,如果一个非参与者窃听到 t 个这样的秘密份 额,就可以通过重构算法和公告板上的值重构所有秘密。 (2)在秘密重构阶段,如果一个参与者向其他所有参与者 发送了假的 Qij, 则其他所有的参与者都不能重构出正确的秘 密,而该参与者可以重构出秘密,而且系统无法得知造假的 参与者究竟是哪一个。 (3)在秘密重构阶段,如果一个窃听者监听其中一个参与 者的主机,则可以获得此次秘密重构的所有参与者的 Qij,该 攻击者就可以重构出秘密 Mi。 3.2
% % % ) = (c b % % (6)计算 Lα ,β (Qi , P t i t + di at )(α i G + β i H ) = (ci bt + d i at ) X i 。
i i
4
文献 [6]方案的改进
根据前面对文献 [6]秘密共享方案的安全性分析,针对文
献 [6]秘密共享方案不能安全地共享多个秘密的问题,在改进 方案中,对于每个秘密,采用了不同的参数 α 和 β ,这样就 保证了得到 m−1 个秘密后不能得到第 m 个秘密的相关信息; 针对文献 [6] 秘密共享方案在秘密分发阶段不能抵抗窃听攻 击的问题,通过密钥交换以及密钥与秘密份额相加后再发送 的办法来解决;针对文献 [6]秘密共享方案在秘密重构阶段不 能抵抗窃听攻击的问题,采用加密的方法来解决;针对文 献 [6] 秘密共享方案在秘密重构阶段不能抵抗参与者的欺骗 的问题,在改进方案中,秘密重构阶段通过信任中心来验证 各参与者所发送信息的真实性。 4.1 相关变量的定义及初始化 首先假设存在一个可信任的秘密分发者,定义它为 D, 假设有 n 个参与者,定义为: {U 1,U 2,L,Un} ,需要共享的秘 密 {M 1, M 2,L , Mm} 共享一个秘密空间。 然后分发者进行以下步骤: (1)选择一个有限域 GF (q)上的椭圆曲线 E ,其中,q 是一 个大素数 p 的 r 次方,素数 p 必须足够大,以保证计算有限 域 GF (q)及椭圆曲线 E (GF (q)) 上的离散对数的困难性。 (2)选择一个大素数 l,使得对于某个较小的整数 k 来说,
Q1 = c1G + d1 H Q2 = c2G + d 2 H Q = c G + d H i i i
2
文献 [6]秘密共享方案
文献 [6]秘密共享方案是一个 (t, n)多秘密共享方案,包括
假设存在整数对 (xi, yi) 使 Qi=xi Q1 + yi Q2 ,则可以得出方 程组:
文献 [6]秘密共享方案的安全性分析
而且,由原秘密共享方案可知,对此参与者来说,
作者简介: 作者简介:顾 洋(1989-),女,硕士,主研方向:密码学,网络安 全;刘嘉勇,教授 收稿日期: 收稿日期:2011-05-10 E-mail:icestream1988@163.com
112
1 2
计 算 机
第 37 卷 第 21 期 Vol.37 No.21 ·安全技术· 安全技术·
计 算 机 工 程 Computer Engineering
文章编号: 文章编号:1000—3428(2011)21—0111—03 文献标识码: 文献标识码:A
2011 年 11 月 November 2011
中图分类号: 中图分类号:TP319
1
秘密共享是信息安全和数据保密中的一项重要技术,它 在重要信息和秘密数据的安全保存、传输及合法利用中起着 非常关键的作用。 秘密共享的概念最早是由 Shamir 和 Blakley 提出。 当前对于秘密共享的研究主要集中在可验证秘密共享、 多秘密共享、秘密份额的有效分发、秘密共享的信息率等方 面。除此之外,基于新的设计思想和数学模型设计秘密共享 方案也是一个研究热点。目前,已经提出的门限秘密共享方 案有多种 [1-5],其中包括: Shamir 的 Lagrange 内插多项式方 案,Blakley 的矢量方案,Asmuth 等人的同余类方案,Karnin 等人的矩阵法方案,基于几何性质的方案等。 椭圆曲线密码体制与其他密码体制相比,具有计算代价 小、密钥长度短等优点,因此, Liu Duo 等人于 2008 年提出 了一个基于椭圆曲线的秘密共享方案 [6] ,本文对该方案进行 了研究,发现了该方案在有效性及安全性方面存在的问题, 在此基础上提出一个改进的秘密共享方案。
概述
2 个方面: (1)多个秘密同时共享的安全脆弱性:在重构 2 个 或 2 个以上的秘密后,便可通过较小的计算代价得出其他所 有秘密;(2)不能有效抵抗各种攻击,具体包括:在秘密分发 阶段不能抵抗参与者或非参与者的窃听攻击;在秘密重构阶 段不能抵抗参与者的欺骗攻击,在秘密重构阶段不能抵抗参 与者或非参与者的窃听攻击。 多个秘密同时共享时的安全性 对于多秘密共享方案的一个基本要求是:当一个参与者 重构出任意 m−1 个秘密时,必须通过其他 t−1 个或 t−1 个以 上的参与者才能得出第 m 个秘密。对于文献 [6]秘密共享方 案,考虑以下问题: 对于接入结构中的一个参与者 Uj,如果已经重构出秘密 M1 和 M2 ,因为 ci、 di 是公开的,所以可以得出: 3.1
一种改进的多秘密共享方案
顾 洋,刘嘉勇
(四川大学信息安全研究所,成都 610064) 摘 要:研究基于椭圆曲线的多秘密共享方案,发现其在多秘密共享时无法保证安全性,而且不能抵抗窃听和欺骗攻击。为此,给出一种 改进的多秘密共享方案,该方案对于不同的秘密,采用随机的加密参数,以保证多个秘密同时共享时的安全性,通过加密发送的信息对抗 窃听攻击,对参与者进行身份认证,从而有效抵御抗欺骗攻击。分析结果表明,与原方案相比,该方案具有更高的安全性。 关键词: 关键词:密码学;椭圆曲线;秘密共享;自双线性配对
(
)
T
(4) D 与每个用户 Uj 分别进行密钥交换,步骤如下: 1)D 产生随机数 rDj 并计算 YDj = rD G ;
j
2)D 将 YDj 发送给用户 Uj; 3)用户 Uj 产生一个随机数 rUj,并计算 YUj = rUj G ; 4)用户 Uj 将 YUj 发送给分发者 D; 5)D 计算 K j = rDj ⋅ YUj ; 6)用户 Uj 计算 K j = rUj ⋅ YDj 。 (5)计算 A j=aj+ Kjx , B j=bj + Kjy,其中, Kjx 为密钥 Kj 的 x 坐 标, Kjy 为密钥 Kj 的 y 坐标。 (6) D 将 j 以及 { A j, B j} 分发给参与者 Uj。 至此,秘密份额的产生及分发完成,显然,上面所分发 的份额不含有与秘密相关的任何信息,所以,为了秘密重构 的进行,分发者必须构造一些公用变量: (1)对每个用户 Uj 计算 C j = H (a j || b j ) 。 (2) D 为每个秘密 Mi 选取一对随机数 (ci , di ), ci , di ∈ [0, l − 1] 。 (3) D 计算 Qi=ci G +di H。 (4) D 选择一对随机整数 α i, β i∈ [1, l −1], α i, β i 保密。 (5) D 计算 X i = α i G + βi H 。
Improved Multi-secret Sharing Scheme
GU Yang, LIU Jia-yong
(Information Security Institute, Sichuan University, Chengdu 610064, China) 【Abstract】This paper studies a multi-secret sharing scheme based on elliptic curve, and finds that it is not safe when multiple secrets are shared and the scheme can not resist the interception and cheat. So an advanced scheme is proposed, in the advanced scheme, the encryption parameters for each secret are different, the distribute information is encrypted, and the participants are authenticated, it can resist the interception and cheat effectively. Analysis results show that the scheme has good security compared with old scheme. 【Key words】cryptography; elliptic curve; secret sharing; self-bilinear paring DOI: 10.3969/j.issn.1000-3428.2011.21.038
10 0 2 A = 30 M n0
%j ∈ [0, l − 1] 。 %j , b a
(3) D 计算以下向量:
( a1 , a2 ,L , an )
T
%1 , a % 2 ,L , a %t ) = A⋅(a
T
( b1, b2 ,L , bn )
T
% ,b % % = A⋅ b 1 2 ,L , bt
1 2 ( t −1) 1 1 L 1 1 2 ( t −1) 2 2 L 2 1 2 ( t −1) 3 3 L 3 M M M 1 2 ( t −1) n n L n n×t %j} % j, b (2) D 选取 2t 个随机数 {a 1≤ j≤t ,对于任何 1≤ j≤ t,
ci = c1 xi + c2 yi di = d1 xi + d 2 yi
(1)
秘密分发算法和秘密重构算法两部分。它采用椭圆曲线密码 体制来实现多秘密共享,在该方案中,只需进行一次密钥的 分发,就可以对多个秘密进行共享,对秘密信息的更新,不 需重新进行密钥分发。具体方案描述及安全性论证见参考文 献 [6]。
工 程 4.2
2011 年 11 月 5 日
% ) 和 Lα , β (Q , P % ) 都是已知的,因此,由自双线性配对 Lα , β (Q , P t t
的性质
[6-8]
可得:
i 1 2
% ) = Lα , β (( x Q + y Q ), P %)= Lα , β (Q , P t i i t % ) + Lα , β ( y Q , P %)= Lα , β ( x Q , P
i
1
t
i
2
t
% ) + y Lα , β (Q , P %) xi Lα , β (Q , P t i t
1 2
(3)
i
秘密分发算法 分发者 D 按照以下步骤将秘密分配成 n 个子份额,保证 t 个或 t 个以上的参与者可通过其持有的子份额来恢复秘密, 而 t 个以下的人不能得到有关秘密的信息。 (1) D 给出矩阵:
如果 Q1 ≠ kQ2 (0 ≤ k ≤ l ) ,则解此方程可得:
−1 xi = (ci d 2 − c2 di )(c1d 2 − c2 d1 ) −1 yi = (c1di − ci d1 )(c1d 2 − c2 d1 )
(2)
3
文献 [6] 中证明的秘密共享方案在共享一个秘密时是安 全的,即对于人数少于 t 的参与者的集合,不能重构出任何 一个秘密。 通过研究发现,文献 [6] 方案的脆弱性主要体现在以下
% ) ,因为对于 由原秘密共享方案可知, M i = Ri − Lα , β (Q , P t
任何一个秘密,R i 都是公开的,而由式 (1)和式 (2)可以计算出
% ) ,所以可以得出秘密 Mi。 Lα , β (Q , P t
i
由以上步骤可以看出:在文献 [6]秘密共享方案中,任何 一个参与者在已重构出 2 个或 2 个以上的秘密时,不需要其 他的参与者便可以通过较小的计算代价得到其他所有的秘 密,所以,该方案不符合多秘密共享方案的基本要求。 对抗各种攻击时的安全性 假设秘密分发者 D 是可信任的, 即 D 分发的各秘密份额 和公开的参数都是真实的,在上述研究的基础之上,考虑以 下问题: (1)在秘密份额分发阶段,如果采取的不是安全信道,则 每个用户应该获得的秘密份额 {aj, bj} 可能被其他参与者或非 参与者窃听到,如果一个非参与者窃听到 t 个这样的秘密份 额,就可以通过重构算法和公告板上的值重构所有秘密。 (2)在秘密重构阶段,如果一个参与者向其他所有参与者 发送了假的 Qij, 则其他所有的参与者都不能重构出正确的秘 密,而该参与者可以重构出秘密,而且系统无法得知造假的 参与者究竟是哪一个。 (3)在秘密重构阶段,如果一个窃听者监听其中一个参与 者的主机,则可以获得此次秘密重构的所有参与者的 Qij,该 攻击者就可以重构出秘密 Mi。 3.2
% % % ) = (c b % % (6)计算 Lα ,β (Qi , P t i t + di at )(α i G + β i H ) = (ci bt + d i at ) X i 。
i i
4
文献 [6]方案的改进
根据前面对文献 [6]秘密共享方案的安全性分析,针对文
献 [6]秘密共享方案不能安全地共享多个秘密的问题,在改进 方案中,对于每个秘密,采用了不同的参数 α 和 β ,这样就 保证了得到 m−1 个秘密后不能得到第 m 个秘密的相关信息; 针对文献 [6] 秘密共享方案在秘密分发阶段不能抵抗窃听攻 击的问题,通过密钥交换以及密钥与秘密份额相加后再发送 的办法来解决;针对文献 [6]秘密共享方案在秘密重构阶段不 能抵抗窃听攻击的问题,采用加密的方法来解决;针对文 献 [6] 秘密共享方案在秘密重构阶段不能抵抗参与者的欺骗 的问题,在改进方案中,秘密重构阶段通过信任中心来验证 各参与者所发送信息的真实性。 4.1 相关变量的定义及初始化 首先假设存在一个可信任的秘密分发者,定义它为 D, 假设有 n 个参与者,定义为: {U 1,U 2,L,Un} ,需要共享的秘 密 {M 1, M 2,L , Mm} 共享一个秘密空间。 然后分发者进行以下步骤: (1)选择一个有限域 GF (q)上的椭圆曲线 E ,其中,q 是一 个大素数 p 的 r 次方,素数 p 必须足够大,以保证计算有限 域 GF (q)及椭圆曲线 E (GF (q)) 上的离散对数的困难性。 (2)选择一个大素数 l,使得对于某个较小的整数 k 来说,
Q1 = c1G + d1 H Q2 = c2G + d 2 H Q = c G + d H i i i
2
文献 [6]秘密共享方案
文献 [6]秘密共享方案是一个 (t, n)多秘密共享方案,包括
假设存在整数对 (xi, yi) 使 Qi=xi Q1 + yi Q2 ,则可以得出方 程组: