logo资料库

SHamir分发密钥机制.pdf

第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
资料共10页,剩余部分请下载后查看
2015083
第 36 卷第 3 期 2015 年 3 月 doi:10.11959/j.issn.1000-436x.2015083 通 信 学 报 Journal on Communications Vol.36 No.3 March 2015 基于 Shamir 秘密共享的密钥分发与恢复算法 1 1 1 2 荣辉桂 ,莫进侠 ,常炳国 ,孙光 ,龙飞 3 (1. 湖南大学 信息科学与工程学院,湖南 长沙 410082; 2. 湖南财政经济学院 信息管理系,湖南 长沙 410205;3. 长沙大学 经济管理系,湖南 长沙 410003) 摘 要:在经典的 Shamir 秘密共享方案中,秘密分发者把秘密 s 分为 n 个影子秘密并分发给持有者;其中任意不 少于 t 个影子秘密均能恢复秘密 s,少于 t 个影子秘密则得不到秘密 s 的任何信息。现实的秘密恢复过程中可能存 在超过 t 个参与者的情形。因此,在 Shamir 的秘密共享方案基础上讨论此种情形下秘密共享问题,通过引入影子 秘密的线性组合——拉格朗日因子来恢复秘密,并进一步将其扩展为一个多秘密共享方案。理论分析与仿真实验 表明:改进算法在同样复杂度条件下既保证影子秘密的安全,又能阻止欺骗者得到秘密,提高了整体安全性。 关键词:秘密共享;密钥分发;拉格朗日因子;密钥恢复 中图分类号:TP393 文献标识码:A Key distribution and recovery algorithm based on Shamir's secret sharing RONG Hui-gui1, MO Jin-xia1, CHANG Bing-guo1, SUN Guang2, LONG Fei3 (1. College of Computer Science and Engineering, Hunan University, Changsha 410082, China; 2. Department of Information Management, Hunan University of Finance and Economics, Changsha 410205, China; 3. Department of Economics and Management, Changsha University, Changsha 410003, China) Abstract: In Shamir's secret sharing scheme, the dealer divided the secret s into n shadows and distributed it to share- holders in such a way that any t or more than t shadows can recover this secret, while fewer than t shadows cannot obtain any information about the secret s. During the actual secret recovery process, there exist other cases with more than t par- ticipants. The case of secret sharing problem was discussed based on Shamir's secret sharing scheme and reconstructs the secret by introducing a linear combination of shadows—Lagrange factor. Then, the improved algorithm of key distribu- tion and recovery was proposed and extended to a multi-secret sharing scheme. Theoretical analysis and simulation show that the improved scheme improves its security under the same conditions of complexity. Key words: secret sharing; key distribution; Lagrange factor; key recovery 1 引言 影子秘密并分发给持有者,其中任意不少于 t 个影 子秘密均能恢复秘密,少于 t 个影子秘密则得不到 秘密共享技术是密码学和信息安全的一个重 主秘密的任何信息。它的出现解决了密钥安全保管 要研究内容,被广泛应用于密钥管理及数字签名领 的基本问题,既能保证秘密的安全性、完整性,又 域。它最早由 Shamir[1] 基于 Lagrange 插值多项式和矢量方法提出。其基 在 1979 年分别 和 Blackly[2] 能防止秘密过于集中而带来的风险。由于秘密共享 在数据保密及信息安全中扮演重要角色,对信息保 本思想是分发者通过秘密多项式将秘密 s 分为 n 个 存、传输及使用过程起着非常关键作用,在现实应 收稿日期:2014-09-14;修回日期:2015-02-10 基金项目:国家自然科学基金资助项目(61304184);国家科技支撑计划基金资助项目(2013BAH45F02);科技部创新基金资助 项目(13C26214304053);湖南重点建设学科基金资助项目;湖南大学“青年教师成长计划”基金资助项目(531107021115) Foundation Items: The National Natural Science Foundation of China (61304184); The National Key Technology Support Program (2013BAH45F02); The Innovation Foundation of Science and Technology Ministry (13C26214304053); The Construct Program of the Key Discipline in Hunan; The Young Teachers Development Plan of Hunan University (531107021115) 2015083-1
第 3 期 荣辉桂等:基于 Shamir 秘密共享的密钥分发与恢复算法 用中应严格保证其安全性能。 早期的秘密共享是基于分发者和参与者的诚 实性建立的,但在实际应用中经常会存在以下 2 类 安全隐患 :外部攻击和内部欺骗。外部攻击是指 [3] 具有可验证性,可防止分发者和参与者欺骗;是一 个理想的秘密共享方案,即信息率 1 r = ;方案不需 要安全通道,降低通信开销;通过更新访问结构即 可更新参与者或秘密。Hu C 等 [10] 提出 2 个安全有 授权子集外的人伪装成授权子集的成员去骗取他 效的可验证秘密共享方案,方案Ⅰ使用拉格朗日 们的影子秘密,从而恢复出秘密。内部欺骗分为 2 插值多项式把秘密分成影子秘密并通过基于 LFSR 种情况:授权子集中的某个参与者提供假的影子秘 的公开密码系统验证数据的有效性;方案Ⅱ通过 密,从而使秘密恢复失败;秘密分发者欺骗,即分 LFSR 序列和基于 LFSR 的公开密码系统实现。这 2 发者在下发影子秘密时可能会给参与者无效的影 个方案具有更好性能和更低的计算复杂度,能有效 子秘密。为了解决上述问题,已经有许多学者做了 地检测出各类型欺骗行为,保证秘密恢复的安全性 诸多探索与研究,主要可分为如下 2 种类型:可验 和可靠性,在实际应用中更易于实现,但它们不能 证秘密共享和动态秘密共享。 动态地增加或者减少秘密个数。 Chor 于 1985 年首次提出可验证秘密共享的概 预防欺骗的另一种方法是 Laih 等 [11] 在 1990 年 [4] 念 ,通过在秘密共享过程中添加一个认证过程, 提出的动态秘密共享方案,该方案中参与者所拥有 实现了秘密恢复过程中对子秘密的验证以防止欺 的影子秘密始终保持不变,而秘密可以任意更新。 骗。但是该方案需要秘密分发者与参与者进行多次 假如欺骗者获得有效个数影子秘密恢复出秘密,由 交互,造成通信带宽的浪费;且在验证过程中参与 于秘密是任意更新的,他得到的秘密不一定是有效 者仅能验证或收到影子秘密的正确性,仅能检测秘 的,这在一定程度上保证了秘密安全。但是该方案 密分发者诚实性而无法抵抗参与者欺骗。针对 Chor 的安全性会因秘密更新次数的增加而降低。李大伟 等提出方案的欺骗问题,很多学者对其进行了深入 等 基于单向散列链特征构造更新多项式,从而避 [12] 研究并取得丰硕成果。其中,Kamer Kaya 等 [5] 以中 免计算开销;秘密共享过程基于 IBE 公钥体制,具 国剩余定理为基础提出了一个可验证秘密共享方 有较好的安全性;在影子秘密的验证过程中基于有 案,该方案能够阻止秘密分发者以及参与者之间相 限域上离散对数难解问题有效避免了参与者欺骗。 互欺骗的行为,但采用的范围证明技术导致其验证 文献[13]基于单向散列函数及异或逻辑运算提出了 过程繁琐,运算量较大。文献[6]提出一个密钥分发 一个动态多秘密共享方案,影子秘密能重复用于多 存储方案,该方案以中国剩余定理、可验证秘密共 个秘密恢复;使用动态更新秘密可防止欺骗者的攻 享和可信计算为基础,解决可验证秘密共享方案中 击,并且有较好的复杂度。Qu J 等 在文献[13]的 [14] 存在的欺骗问题及 Shamir 方案中的指数运算;基于 基础上通过增加离散对数难解性使每个参与者能 中国剩余定理和可验证秘密共享提出分布式椭圆 自主选择影子秘密,这样可以杜绝分发者欺骗问 数字曲线签名标准认证方案,可以消除传统 DoS 攻 击及故障攻击可能性,并证明了其安全性。Kaya K [7] 题;方案可避免使用安全通道传送影子秘密,降低 通信开销。但 MH Tadayon 等 证明了文献[13]方 [15] 等 分析已有可验证秘密共享方案中不能保证分发 案需要安全通道及验证过程,并对其改进提出一个 者欺骗情况,基于中国剩余定理提出一个新的可验 无需安全通道的秘密共享方案,方案基于椭圆曲线 证秘密共享方案,它能保证秘密分发过程中分发者 和 双线 性映射 的离 散对数 难解 性假设 并比 文献 和参与者欺骗;应用上述方案构建第一个联合随机 [11,13]更具实用性。贾秀芹等 [16] 针对圆性质的动态 秘密共享协议,协议可使一组参与者在无可信分发 门限秘密共享方案中分发者和参与者欺骗、秘密传 者时共同生成并共享一个秘密。在文献[8]中,Harn 输需要安全通道等问题,基于 RSA 和离散对数密 L 等基于中国剩余定理提出了无任何计算假设且无 条件安全的 VSS 方案,它是 Azimuth- Bloom rU 秘 码体制、单向双变量函数和圆性质,提出一种抗欺 诈的动态秘密共享方案,用于检测并识别秘密分发 密共享方案的一个简单延伸,在验证阶段中使用秘 者对参与者的欺骗以及参与者之间的欺骗,并能减 密和验证秘密的一个线性组合来保护秘密及影子 少重构步骤,提高重构秘密的成功率。由于在整个 秘密的安全性。文献[9]基于 LUC 密码体制提出一 动态过程中,圆心和秘密份额始终不变,从而减小 个可验证的多秘密共享方案,在分发和恢复阶段均 该方案的实施代价,使其具有更高的安全性和实用 2015083-2
通 信 学 报 第 36 卷 性。文献[17]基于双线性映射提出一种无需安全通 改善秘密共享过程的安全性提供新的方案。 道的动态门限多秘密共享方案,该方案中秘密可以 改变且门限值更具灵活性,通过双线性映射检测欺 骗者。 2 Shamir 秘密共享机制 2.1 秘密共享同态 除了上述动态秘密共享方案外,目前还存在一 Benaloh[25] 提出了秘密共享同态的概念,下面 种与其相类似的方案——主动秘密共享方案 [18] ,通 过在一个秘密共享方案周期内更新影子秘密而不 改变原有秘密,欺骗者在一个周期内获得的信息在 对其进行论述。 S 为主秘密空间(secret domain), T 为对应主秘密的影子秘密空间,函数 :lF T 是 ( , ) t n 秘密共享的诱导函数(induced function)。 S 刷新之后变得毫无用处。Sun H 等在文献[19]中基 该函数把基于任意包含 t 个影子秘密 于椭圆和双线性对的离散对数问题提出了一个有 效的主动秘密共享方案,通过周期性地刷新影子秘 密提高了其安全性,并能验证影子秘密的真实性, 可应用于现实中秘密及数据库的长期保护。Wang X [20] 等 基于离散对数难解性假设提出一种无可信方 的可适应主动秘密共享方案,参与者数及门限值在 2 个相邻时间间隔内可变保证了方案安全性,但该 方案的复杂度为 )O n 。文献[21]基于曲线密码体制 3( 提出一种主动秘密共享方案,每个成员既作分发者 又作验证者,由秘密生命期的变化和成员间相互验 证来实现动态性和不需第三可信方,并解决了秘密 更新和影子密钥复用问题;方案在安全性上有所提 2.2 Shamir 的(t,n)秘密共享方案 高,具有较高实践工程价值。 Shamir 提 出 的 ( , ) t n 秘 密 共 享 方 案 是 基 于 { , s i 1 s i 2 , s⋯ i t , } ⋯ , 其 中 , s i t ) 子 集 的 秘 密 s 定 义 为 = I { , s i 1 s i 2 , ⋯ 。 s , } i t = s F s ( i 1 I , s i 2 , 定义 1 秘密共享同态 [25] :假设 ¯ 和 ˜ 分别是 在集合 S 和 T 元素上的 2 个函数,如果对于任意子 集 I 和 = s s , = s F s ( i 1 I , s i 2 , F s ( i 1 I , s i 1 , s i 2 , ) s i t ⋯ , ˜⋯ , s i 2 , , , s s i t , ( F s i 1 I , , s i 2 , ⋯ 有 ) , , s i t , s i t ) ,就可认为一 = 个 ( , ) t n 秘密共享方案具有 ( , ) 同态性。 由定义 1 可知,Shamir 的 ( , ) 足 同 态 ( , )+ + 性 , 即 有 s + = , , ( F s i 1 I , , s i 2 , ⋯ , , s i t ) = ( F s i 1 I + , s i 1 , s i 2 t n 秘密共享方案满 tis + ) 成立。 F s s i 2 + ⋯ ⋯ , ( ) , , , , i 1 I , s i t s i t , s i 2 s + Lagrange 插值公式构造的,它可以描述如下 。 [1] 域 ( ) 1) 初始化阶段:秘密分发者 D 随机地从有限 xL 标 2, x x GF p 中选取 n 个不同的非零元素 1 { , U U 1 = L ,公开 rx 及其对应的 rU 。 1, 2, 2) 秘密分发阶段: D 要分发的秘密为 , n , U L , ) n = U , , 2 r } n 识 每 一 个 影 子 秘 密 持 有 者 s Z˛ t - 个元素 1) q 1) +∑ 1 = 1 t i = i i p a 0 ( ) f x a x mod s> ,秘密 s 其中,p 是一个大素数且 p D 为所有的 rU U˛ 生成 n 个影子秘密 = = = + t mod ( p r f x r ( ) i a x r i ∑ 1 = 1 i a 0 s r = f (0) = 。 a 0 1, 2, L , ) n 然后把 rs 安全地发送给相应的 rU 。 3) 秘密恢复过程:任何 t 个影子秘密持有者 UL 发送他们的影子秘密并使用拉格朗 , , }t { , U U 1 2 性假设。该类方法在验证欺骗时由于需要进行数字 签名和信息交互,增加了通信量和公开参数。第二 ( ia i = -L , t 1, 2, 1) ( q 为大素数),在 ( ) GF p 内任意选择 ( t - 阶多项式 构成 ( 此外,防止欺骗的秘密共享方案还可以依据解决 方法分为以下 3 类:公钥体制加密方案、纠错编码方 案、方案本身特点。对于第一类,分发者使用公钥体 制将影子秘密进行加密后分发给参与者,参与者在收 到影子秘密后可利用私钥进行验证或解密,可检测影 子秘密的真实性,如文献[12,14,16,19,20],影子秘密 ( r 的验证基于离散对数的难解性,大整数分解的困难 类是参与者收到分发者分发的一个编码后利用纠 错码将其自动恢复,如文献[22]中方案,但若参与 恢复过程中欺骗者过多时会增大通信量且验证方 式有限制,一般适合于欺骗者较少的情况。另外还 有一种就是使用方案本身特点防止欺骗,比如文献 [23,24]中方案利用线性集合特点、散列函数、差集 等数学工具来降低欺骗的概率。 显然,对于秘密共享过程中的欺诈问题,目前 仍然缺乏保证高安全性、高扩展性、低复杂度的方 案。本文在 Shamir 的秘密共享基础上,考虑多于 t 日插值公式 个参与者时所出现的安全问题,改进其影子秘密生 成方案;在保证复杂度的前提下提高其安全性,为 = s f (0) = ∑ t i = 1 ( f x l ) t = 1, v v l x v x v x l mod p 2015083-3 fi ¯ ˜ ˜ ¯ ˜ - - „ - -
第 3 期 荣辉桂等:基于 Shamir 秘密共享的密钥分发与恢复算法 便可以恢复出秘密 s 。 话说,传统的用户身份认证方案或可验证秘密共享 Shamir 的方案满足秘密共享方案的安全需求, 方案需要在秘密恢复之前确保所有参与者的影子 即:①任意不少于 t 个影子秘密能恢复出主秘密; 秘密是有效的。由于 2 种方案一次分别仅能验证一 ②少于 t 个影子秘密不能得到主秘密的任何信息。 个用户和一个影子秘密,增加了额外复杂度。此外, 3 基于 Shamir 的秘密共享改进算法 在 Shamir 的秘密共享方案中,秘密分发者把秘 密 s 分为 n 个影子秘密并分发给持有者,其中任意 不少于 t 个影子秘密均能恢复秘密 s ,少于 t 个影子 秘密则得不到秘密 s 的任何信息。现实的秘密恢复 过程中可能存在超过 t 个参与者的情形,在 Shamir 的秘密共享方案基础上,通过引入影子秘密的线性 组合——拉格朗日因子(Lagrange factor)来恢复秘 密,并进一步扩展为一个多秘密共享方案,增强其 安全性及可靠性。 3.1 秘密共享模型 秘密恢复成功与否与仅与影子秘密有关。 在秘密恢复过程中,欺骗者通过提供无效影子 欺骗诚实的 rU 。内部欺骗者能唯一地恢复秘密,而 诚实的 rU 得到无效秘密。 3.2 安全性需求 在 Shamir 的秘密共享方案基础上,为满足当前 的实际安全要求,提出新的安全属性需求如下。 1) 对于秘密 s :每个秘密仅能通过任意不少于 t 个拥有有效影子秘密参与者恢复,而不能被攻击 者恢复。 2) 对于影子秘密:多秘密共享方案中, rU 的 影子秘密能重复用于恢复多个秘密。因此,在秘密 本节对秘密共享过程中包含欺骗者模型成员 恢复过程中要保证其安全,否则不能重复使用。在 与过程进行描述。 3.1.1 秘密共享成员 1) 秘密分发者 D :把秘密 s 分为 n 个影子秘 密,并分发给影子秘密持有者 rU 。 2) 影子秘密持有者 rU :拥有分发者分发有效 影子秘密的成员。 3) 敌手 A :秘密恢复过程中的敌手可以分为 2 类:内部敌手和外部敌手,外部敌手指秘密恢复时 没有分发者分发有效影子秘密的攻击者,简称攻击 者。内部敌手指参加秘密恢复时影子秘密持有者 rU 中的共谋成员,简称欺骗者。 4) 参与者 jP :参与秘密恢复过程成员,包括 部分影子秘密持有者 rU 和敌手 A 。 3.1.2 模型描述 进行安全分析时,应检测在攻击者能得到最多信息 用于恢复秘密情形的安全性,即攻击者试图获取在 恢复最后一个秘密过程的影子秘密,攻击者是最后 一个发送拉格朗日因子给其他参与者的成员,并可 获取所有另外的拉格朗日因子。因此假设秘密恢复 阶段均有 n 个影子秘密参与。 3) 对于门限值:恢复的秘密不应该妥协任何 未恢复秘密的隐秘性。因为每个恢复的秘密是影子 秘密的一个函数, rU 依据每个恢复的秘密建立影 子秘密方程。这些方程不应该妥协影子秘密和未恢 复秘密的隐秘性,否则未恢复秘密的门限值将减 少。在门限安全分析阶段,将检测在敌手得到最多 信息情形下门限值安全性,应假设有 1t - 个欺骗者 试图在其余秘密已恢复情形下去恢复最后一个秘 密,即恢复最后一个秘密时欺骗者最后发送他们的 文中讨论在外部敌手参与秘密恢复过程并试 拉格朗日因子。 图获取秘密的安全性。当有多于 t 个参与者参与秘 3.3 改进算法流程 密恢复过程时,外部敌手仍可获取秘密。下面提出 文中提出的改进算法主要分为初始化。秘密分 一个安全秘密恢复方案的概念。 发和秘密恢复 3 个阶段,每个阶段既有它独立的过 定义 2 安全秘密恢复方案。方案保证秘密仅 程,又有相互联系的方面。流程图可以简要地表述 能通过拥有有效影子秘密的参与者恢复,即外部敌 整个秘密共享算法执行过程,如图 1 所示。 手参与秘密恢复过程得不到秘密。 改进算法具体过程如下。 秘密恢复过程中超过 t 个参与者时,大部分论 文仅讨论 t 个参与者情形。这可能存在一个安全问 题:攻击者伪装成影子秘密持有者但提供无效影子 1) 初始化 秘密分发者 D 随机地从有限域 ( ) GF p 中选择 = L 个非零常数 rx 并对 rU 进行标记,公 1, 2, n , ) r r ( 秘密,得到 t 个影子秘密后即可恢复出秘密。换句 开 rx 及其对应的 rU 。 2015083-4
通 信 学 报 第 36 卷 rU ,并广播整数 ld 和 lw 。 3) 秘密恢复 需 要 恢 复 秘 密 s 的 参 与 者 rP 向 参 与 者 成 员 发送恢复秘密请求,通过接 j , , j ) n L ≤ ≤ P t }( P P { , 1 2 收 1j - 个参与者发送的拉格朗日因子 rC f 密。拉格朗日因子 rC = ∑ 为秘密 s f k = 1 l 来恢复秘 d f w l ( l l ) 的一 个线性组合,在秘密共享过程中的敌手得到其余参 与者发送的拉格朗日因子也恢复不了真正有效的 影子秘密,从而恢复出秘密 s ,可提高影子秘密和 秘密的安全性;此外,秘密恢复时拉格朗日因子可 以直接防止欺骗问题,从而不需要对各参与者影子 秘密进行逐个验证,提高了秘密恢复效率。设 rU 中 j 个参与者组成的授权子集为f ,其执行操作如下。 f x ,参与 l Step1 通过由 D 发送的影子秘密 ( ) r 者 rP 使 用 式 (4) 得 到 其 唯 一 的 拉 格 朗 日 因 子 f rC ≤ ≤ (1 r ) j f r C = ∑ k = 1 l ( d f x r ( l l ) j = 1, v v r w w v l x r x v (4) f 其中,{ 1, 2, L f n , },| | ≥ t 。 Step2 参与者 rP 在收到成员发送的秘密恢复 f 申请后,将其拉格朗日因子 rC 其余 1j - 个参与者。 通过秘密通道发送给 Step3 rP 通过收到的 1j - 个拉格朗日因子 rC f 使用式(5)计算出需恢复的秘密 s 。 = ∑ s f r C j = 1 r (5) 3.4 多秘密共享扩展算法 在上述改进算法描述基础上,将其扩展为多秘 密共享。需要满足如下 2 个安全要求:1)每个有效 的影子秘密可重复用于恢复另外的秘密;2)为了保 证门限值安全,每个恢复的秘密不能妥协未恢复秘 密的隐秘性。下面就扩展为 h 个秘密的算法进行描 述并在 4.2.2 节证明其安全性。 1) 秘密分发 D 选择 k (其中 k 为常数且) { < k { kt - + n t 1)( 1) 2} t - 阶随机多项式 h ( = L ,并对每个对应标记 rx 的 rU 生成 1, 2, = L 。 对 任 何 一 个 秘 密 1, 2, t 2)} ( 个 ( h n , ) k , ) k )( l 1) 1) ( lf x l ( )( 影 子 秘 密 ( + - > f x l r , ) h = L , D 在有限域 ( ) 1, 2, ∑ ( w l d f w w w w i = L 1,2, x x { , 1 2 , 且 ,1 ( d d i , , L k = 1 , ) k )( d ( i l , ,2 , , l i l l i j l , , i k 、 GF p 内能找到满足 L , }) x n i = )( 1,2, 的整数 , )hL 即有 f x l r ( ) = ∑ ( t m 1 = 0 m a x 1 m r , ∑ t 1 = m 0 m a x m r 2 , ∑L , t 1 = m 0 m a x km r ) (2) Step3 对任意秘密 s , D 在有限域 ( ) GF p 内总 能找到整数 ld 和 lw (其中, 1, 2, l = L , k w ; i w ; j w i { , x x 1 2 , L )满足 , } x n = s ∑ k = 1 l d f w l ( l l = ) d f w 1 1 1 ( + ) + L d f w k ( k k ) (3) ( is i = s i Step4 通过私有安全信道发送 ( f x 给对应的 l ) r d , i l 2015083-5 图 1 改进算法流程 2) 秘密分发 分发过程由可信的秘密分发者 D 执行,主要用 于生成分发给每个 rU 的影子秘密。秘密分发者执行 影子秘密生成算法生成 n 个影子秘密并将其分发给 对应的 rU 。 1) n> - 个 非 零 系 数 m t 0} 1; 构 a lm Step1 随 机 选 择 ( kt kt { a lm | a lm GF p ( );1 l k ,0 ≤ ≤ ≤ ≤ 造 k ( k 为常数)个 ( ( ) f x l = ∑ t m 1 = 0 t - 阶多项式 + 1) = + a x l 1 a l 0 a lm + a L Step2 计算 rU 的影子秘密 ( )( f x l l r t 1 ( 1) l t x (1) = L 。 1,2, , ) k ˛ - „ - - - - - - „ ˇ „ - - ˛ ˙ - - „ ˛
第 3 期 荣辉桂等:基于 Shamir 秘密共享的密钥分发与恢复算法 是线性独立矢量。之后 D 公开整数 ,i ld 、 lw 及 rx 。 2) 秘密恢复 j t 在 秘 密 恢 复 阶 段 有 ( n≤ ≤ 个 参 与 者 ) j P P { , 1 2 , PL 来恢复秘密 is ,每个参与者使用他的影 }j , 子秘密 ( f x 计算并秘密发送一个拉格朗日因子 l ) r w x v l x r x v f ≥ t | f r C = ∑ k = 1 l d f x r ( i l , l ) j = 1, v v r = L ; {1, 2, 1, 2, f ˛ , r 给所 有的 参与 者, 每个 参与 者在 知道 另外 1j - L , | , }n j f 个 rC 后均 可使 用 = ∑ k = 1 r f r ( C i = s i 1, 2, L 来恢复 , ) h 秘密。 4 算法分析与仿真 4.1 改进算法复杂度 计算影子秘密 ( f x ; l ) r } } //执行 ③找到整数 ld 和 lw 计算秘密 s //执行 k 次 2nk 次 //秘密恢复 ①计算拉格朗日因子 for(l=1; l
法是正确的。 通 信 学 报 第 36 卷 证明 要证明命题 1 只需证明式(3)和式(5)右 边相等即可。由式(1)知,秘密共享过程中第 r 个参 与为 rx 的 k 个秘密多项式如下 + = = + + ⋯ t 1 m t ( ) f x 1 = ( ) f x 2 ∑ ∑ 1 = m 0 a x 1 m a 10 t m 1 = 0 a x 2 m m = a 20 a x 11 + a x 21 x a 1(t 1) + a 2(t 1) + ⋯ t 1 x (6) ⋮ ⋯ ⋯ ⋯ ⋯ ⋯ ⋮ + = = + + ⋯ m t a k 0 a x k 1 ∑ 1 = m 0 a x km ( ) f x k a t 1 x k (t 1)         则 D 发送给他的影子秘密为 f x l r ( ) = ∑ ( t m 1 = 0 m a x 1 m r , ∑ t m 1 = 0 m a x m r 2 ∑⋯ , , t m 1 = 0 m a x km r ) 将式(4)代入式(5)可得 = s ∑ f C r k = 1 r = j ∑ ∑ = 1 r k = 1 l d f x r ( l l ) j = 1, v v r w x v l x r x v = ∑ j = 1 r ( d f x r 1 1 ( ) j = 1, v v r + w x v l x r x v d f x r 2 2 ( j = 1, v v r w 2 x r x v x v + + ⋯ d f x r 1 1 ( ) j = 1, v v r w k x r ) x v x v ) (7) 拉格朗日插值多项式 ( ) f x l = ∑ k = 1 r f x l r ( ) j = 1, v v r x x r x v x v (8) 由式(7)和(8)可知,式(3)与式(7)相等。因此等 式(3)和(5)右边相等,即命题 1 正确。 2) 安全性 本方案在秘密发送的过程中采用安全的信道 进行,以避免内外部敌手。 ① 有攻击者的安全性 秘密恢复过程中,如果参与者中包含持有无效 密 s 的一个线性关系或者完全得不到 s 的任何信 息,即得不到秘密多项式 ( ) lf x ,恢复秘密失败。 因此,即使攻击者在获得 1n - 个 rC 密,算法安全。 也恢复不了秘 f ② 有欺骗者的安全性 接下来分析有任意 1t - 个欺骗者时该算法的安 全 性 。 欺 骗 者 试 图 从 他 们 自 己 的 影 子 秘 密 = ∑ ( t 1 = ) ( m a x f x ) l r km r lf x l = 复 秘 密 。 由 于 在 k 个 1t - 阶 多 项 式 ( )( m a x m r m a x m r 1 , , m m m 2 0 0 0 ∑⋯ , t 1 = t ∑ 1 = 恢 1, 2, , )k⋯ 上秘密 = ∑ k = l 1 者使用他们持有的 ( s d f w l ( l l ) 是一个线性组合。欺骗 k t - 个影子秘密可构造 ( k t - n> - ( kt 是每个 ( 1) t - 阶多项式 = ⋯ 未知系数个数),欺骗者解不出秘 1) 1) kt 1 个方程。因为 , ) k 1, 2, lf x l ( )( 密多项式 ( ) 能通过 1t - 个影子秘密恢复出秘密。 lf x ,秘密恢复失败。因此内部欺骗者不 此外,对于任意秘密 s ,针对每对 i 和 j ,秘密 l l l ) ( s k = 1 w w„ 时 D 需 要 选 择 i d f w l = ,对于每对 i 和 j ,敌手在知道 t 个 rC = ∑ = w w w 仍能恢复出秘密。这是因为秘密 s 是一个由 1t - 阶 叠加而成的,每个参与者 rP 需要 ( ) d f x =∑ 。 如 果 多项式 后 f k j i j l l l 1 使用他自己的影子秘密计算并发送拉格朗日因子 f rC 给每个参与者。敌手可通过每个发送的拉格朗日 f 因子 rC 中恢复出影子秘密叠加 k =∑ l 1 d f x r ( l l ) 。因 而,在知道 t 个影子秘密的叠加后,敌手就能恢复 k =∑ l 1 ( ) d f x l l ,从而得到秘密。相反, 出多项式的叠加 w w„ 时,敌手得不到秘密 s 。 当 i j 4.2.2 扩展算法 1) 正确性 影子秘密人员,导致最后恢复的秘密无效。为了验 由命题 1 知,改进算法中秘密 s 的计算方法是 证该方案安全性,假设攻击者在参与秘密恢复过程 正确的,即可通过 = ∑ f C r k = 1 l s 得到秘密。而在扩展 f , , 后 }n 中能获得最多信息,即恢复阶段中有 n 个参与者 P⋯ 且攻击者是最后一个发送其拉格朗日 { , P P 1 2 因子的人,只需验证攻击者在获取了 1n - 个 rC 能否恢复出秘密即可。由式(6)可知,k 个 1t - 阶多 = ⋯ 包含 kt 个系数,它的系数构 , ) k 项式 ( )( lf x l 1, 2, · 矩 阵 成 一 个 k 0,1, t t -⋯ f ,且每个 rC , lf x 的线性函数,攻击者 得 到 1n - 个 rC 后 可 构 建 1n - 个 方 程 。 因 为 n> - ,由线性方程组解的条件可知,攻击者通 kt 过解这 1n - 个方程得不到唯一解,他只能得到秘 是 ( ) k m 1, 2, lma ]( l ⋯ = = = 1) A 1 [ ; , f 算法中共有 h 个秘密,每个秘密均采用相同的方法 计算,则可以恢复出 h 个秘密。 2) 安全性 ① 影子秘密安全性 因 为 每 个 rU 发 送 的 拉 格 朗 日 因 子 = ∑ k = 1 = ⋯ 的一个线性组合,因此每个参与 是 k 个影子秘密 d f x r w x v x v x r = 1, v r ( ( ) ) v l j l l l 1, 2, , ) k f C r f x l r ( )( l 者发送的拉格朗日因子可以保证影子秘密的安全 性。下面考虑给予外部攻击者最多的信息来恢复影 2015083-7 - - - - - - - - - - - - „ - - „ - - „ „ - - - - „ - - - - - „ - -
第 3 期 荣辉桂等:基于 Shamir 秘密共享的密钥分发与恢复算法 子秘密的情形。首先假设在秘密恢复阶段中敌手是 f j 个参与者中最后一个发送 rC 复最后一个秘密 hs 的影子秘密(前面 1h - 个秘密 已经恢复了)。假设用 n 个拉格朗 ( is i -⋯ h 的人并试图得到恢 1, 2, = 1) , MyEclipse 8.6 实现并部署文中算法,在局域网下 计算机配置 4 GB 内存及 Win7 操作系统;因局域 网下计算机使用不同主频 CPU,因此仿真过程中 以 CPU 时间作为衡量指标。实验整体环境贴近真 日因子恢复每个秘密(包括当前正在恢复的秘密 实随机的秘密共享过程,以反映算法在真实环境 hs )。由于每个发送的拉格朗日因子和每个秘密是 kt 个系数的 1t - 阶多项式 ( ) lf x 的线性函数,敌手 从拉格朗日因子和已恢复秘密的 1n - 个方程中最 多能构建 ( 个方程。总地来说,敌手 + n 1) 1) h ( 最多可以得到 ( > kt ( h 1) 1) h - + n 1) ( + n ( - + 1) n > 1) ( h ( h 1) + - ( h n kt n + n 中的有效性。 文中提出的改进算法在时间复杂度上与传统 经典算法相比较处于同一个数量级上,可假定它们 的执行效率基本一致。 4.3.2 实验结果及分析 个方程。由于 1) 2 ,不能 在实验中,可依据秘密恢复过程中影子秘密数 量 n 、秘密多项式的个数 k 、门限 t 这 3 个值来验证 算法有效性。 图 2 给出秘密分发执行时间随影子秘密数量 n 变化情况,随着影子秘密数目增加,执行时间呈线 性增长。 图 2 秘密分发计算量随影子秘密 n 变化曲线 图 3 给出不同的门限值 t 对计算性能影响情况, 结果表明门限值对计算性能影响较小。 得出秘密多项式 ( )( lf x l = ⋯ 唯一解。因此, 1, 2, , ) k 敌手不能恢复影子秘密。 ② 门限值安全性 接下来分析多个欺骗者获取最多信息时门限 值的安全性。假设有 1t - 个欺骗者,他们在 1h - 个 秘密 ( is i -⋯ h 已经恢复前提下试图恢复最 1, 2, = 1) , 后一个秘密 hs 。首先,分析是否可以从预先恢复的 秘密 is 的一个线性组合恢复出 hs 。对于每对 i 和 j , 每 个 秘 密 为 s i ( d i ,1 , d i ,2 ⋯ , , d )( i i k , = = ∑ 1, 2, l k = 1 d f w w w )( ( i l , l l i ) j , 由 于 ⋯ 是独立线性矢量,他们 , ) h 不可能从预先恢复秘密的线性组合中得到 ks 。其 次,再检验是否能从欺骗者自己影子秘密的组合内 1) 及另 容、预先恢复的 1h - 个秘密 ( is i = -⋯ h , 1, 2, 外 1 - + 个 rU 发送的拉格朗日因子中恢复 hs 。假 n t 设有 s 个拉格朗日因子用于恢复每个秘密 is 。因为 每个发送的拉格朗日因子和每个秘密是 1t - 阶,且 = ⋯ 的线性函 lf x l 含有 kt 个系数多项式 ( )( - + ( t 1)( h t - 个方程来自于另外 rU 发送 ( (其中 ( 的拉格朗日因子, 1h - 个方程来自于已恢复的秘 数,欺骗者能构建 ( 1, 2, , ) k 1)( 1)) 1)) 个方程 1) n h h n ( 1) 密)。此外,这些欺骗者可以使用他们自己拥有的 k t - 个方程。总地来说, h t - 个影子秘密构建 ( ( - + 他们能构 造 ( ( 1) 1) t h > + ( h + - + ( + ( k t 1)( 1)) 1) n h 个 方 程 。 1) - + ( h h ( ( kt > 1) k t - ( 出秘密多项式 ( )( lf x l 1)( h k ( t ( h 1) 1)) 1)( n - + n t = ⋯ 而得到最后的秘 ,这能防止欺骗者解 2) 1) 1, 2, , ) k 密 hs 。因此,未恢复秘密的门限值依然与原有值 相同。 4.3 仿真实验 图 3 秘密分发计算量随 t 值变化曲线 4.3.1 实验环境设置及指标获取 图 4 给出秘密分发阶段计算量随影子秘密数量 实 验 采 用 和 文 献 [12] 相 似 环 境 , 使 用 变化情况。当秘密多项式个数一定时,其计算性能 2015083-8 - - - - - - fi „ - - - - - - - - - - - - - fi -
分享到:
收藏