1. 引言
信息技术日新月异,密码学成为网络空间安全的重要技术之一;秘密共享作为密码学领域最重要的内容之一,受到广泛的关注和研究。1979年,Shamir [1] 和Blakley [2] 分别基于有限域上的多项式和超几何平面的射影定理构造了两种门限秘密共享方案,对于现代密码学的研究具有重要作用。一般地,秘密共享方案分为两个算法:分发算法和重构算法。在分发算法中,分发者将主秘密分成若干个份额,并通过安全信道分发给参与者。在重构算法中,若干参与者将各自份额发送给重构者即可恢复主秘密;这些参与者的集合称为授权集,所有授权集的集合称为访问结构。
秘密共享方案可分为多种类型,如门限秘密共享方案 [1] [2],多部秘密共享方案 [3] [4] [5] [6] 和门限可变秘密共享方案 [7] [8],等等。在多部秘密共享方案中,参与者被划分为几个不相交的分区,每个分区都有一个部分访问结构。若一个参与者集合满足所有的部分访问结构,则该参与者集合就可以恢复主秘密;但只要存在一个或多个分区不满足其相应的部分访问结构,则该参与者集合就不能获得正确的主秘密。多部访问结构在秘密共享方案的研究中备受关注,它是门限秘密共享的自然推广;它并不是对给定子集中的参与者数量设置一个门限条件,而是对每个分区子集中的参与者数量施加一个更小的门限条件 [9]。因为参与者众多且分在不同的分区,故多部秘密共享方案在主秘密分发过程需要较大的通信量。分层秘密共享方案是多部秘密共享方案的一种特殊情形。后者的每个访问结构都具备相同的权限和等级;前者的不同分区也是表示不同访问结构,但是它们之间的优先级不相同。
1988年,Simmons等 [10] 最先提出了多部访问结构,给出了相应访问结构和分层访问结构的定义,并分析两者定义的异同点。同年,Brickell等 [11] 提出了一种构建理想的多部秘密共享方案方法,实现了分层和多部的访问结构;因为需要指数运算得到非奇异矩阵,故该方案效率低下。2007年,Tassa等 [12] 基于Birkhoff插值设计了分层门限访问结构,其中插值矩阵必须满足Polya条件。然而,Polya条件只是一个必要条件,而不是一个充分条件;当分配身份和份额给参与者时,分发者必须执行指数级运算验证插值矩阵是否满足Polya条件,其效率较低。同年,Farras等 [9] 对理想的多部访问结构给出了全面描述,但他们没有设计一个理想的秘密共享方案来实现其多部访问结构。Farras等提出一个公开问题:是否存在有效的方法从多部拟阵表示中实现理想的多部秘密共享方案。2014年,Hsu等 [13] 基于中国剩余定理设计了一个多部访问结构方案,但是该方案不是理想的多部访问结构,且无法实现主秘密的更新。2016年,Harsha等 [14] 利用背包和问题中的超递增序列实现了可更新主秘密的多部门限秘密共享方案构造,但是由于该方案是基于整数规划求解问题,所以它仅是可计算安全。2019年,Chen等 [15] 构建了理想的线性多部秘密共享方案,利用文献 [9] 中提出的基于多拟阵的方法和Gabidulin编码实现多部访问结构。2021年,Chen等 [16] 利用线性代数技术提出了一种分区访问结构方案,但该方案需要检查较多矩阵的非奇异性,故其效率也较低。同年,Xu等 [17] 提出了具有分层访问结构的多阶段秘密共享方案,但该方案仅是可计算安全。Miao等 [3] 基于多项式插值和中国剩余定理提出了多部门限秘密共享方案,其缺点是无法实现主秘密的更新。上述这些方案,有的不满足理想的秘密共享方案特性或子秘密不具有重复使用的性质;有的更新主秘密导致分发算法的通信量较大。
本文基于多项式插值和短词排序技术提出了一类子秘密可重复使用的多部秘密共享方案,主要构造思路是将自由群中的有限表现集分发给对应的每一个层级参与者,利用既约字和短词排序将函数值转换成字集形式,再将字集进行公开;参与重构的参与者们使用持有的份额重构出自由群,并用自由群和短词排序恢复函数值,再用多项式插值公式重构出主秘密的值。
本文方案在不改变部分访问结构的参与者子秘密情况下实现在线更新主秘密,并且具有信息论意义下的安全性。每当分发者改变主秘密时,分发者会根据部分访问结构的份额更新新公开值,然后根据新公开值和部分访问结构重构新主秘密。对于每个主秘密的变化,每个部分访问结构需和当前的公开值一起参与重构秘密,因为之前的公开值不再有效。分发者可在有需要的情况下改变主秘密,避免分发算法的通信复杂度。
本文架构如下:第1节介绍本文研究背景以及相关研究工作;第2节简要说明一些预备知识;包含本文所需的数学理论基础;第3节描述本文方案具体构造;第4节给出方案详细分析;第5节对本文作出总结。
2. 预备知识
2.1. 秘密共享方案
秘密共享方案主要包括分发者D,参与者
,重构者C,共享的主秘密以及秘密分发算法和秘密重构算法。分发者D根据分发算法将主秘密值转换为多个份额,并将所对应产生的份额安全地分发给相应的参与者;秘密重构时,重构者C根据重构算法将多个参与者的份额转化为主秘密值。
为了方便阐述,本文将秘密共享方案分为3个过程:
· 参数选取:分发者D根据方案需要选取合适的参数。
· 秘密分发:分发者D根据方案分发算法将主秘密值分成多个份额,并通过安全信道分发给对应的参与者。
· 秘密重构:任意的访问结构中的参与者集根据重构算法进行主秘密重构。
2.2. Shamir
门限秘密共享方案
在
门限秘密共享方案中,分发者将主秘密分成n个份额,使得任意不少于t个参与者合作正确地重构出主秘密s,而小于门限值t个的参与者合作无法获得有关主秘密的任何信息。当门限秘密共享方案同时满足以下两个性质,可称该方案是完善的
门限秘密共享方案:1) 正确性:任意的大于或者等于t个参与者合作可以正确地恢复出主秘密;2) 安全性:任意的少于t个参与者合作无法得到主秘密的任何信息。
Shamir方案 [1] 是基于有限域上多项式插值方法构造的一类
门限秘密共享方案。分发者构造次数不大于
次多项式
,将主秘密
(p为大素数,
)作为多项式常数项,并且多项式系数为随机生成数值,将多项式在各个点处的函数值
安全地分发给n个参与者
作为各自的份额。该方案参数选取、分发过程和重构过程具体构造如下:
· 参数选取:
1) 分发者D选取整数n和大素数p,其中n为参与者人数且
;
2) 分发者再选取
,将所有
公开,其中
。
· 秘密分发:
1) 分发者D随机选取
并构造多项式
,其中常数项
为主秘密值;
2) 分发者D计算每个函数值
,作为第i个参与者
的份额;
3) 分发者D通过安全信道把这些份额分发给参与者
,其中
。
· 秘密重构:设有t个参与者
欲恢复主秘密,他们各自提供其持有的秘密份额,利用Lagrange多项式插值公式重构得到主秘密,具体计算方法如下:
2.3. 信息熵
Shannon [18] 提出信息熵刻画描述信息的不确定程度,通过随机变量的概率分布函数给出度量信息熵的数学表达式。为了便于本文描述,下文给出信息熵和条件熵的定义。
定义1 [18] 离散随机变量V由有限集合
和定义在
上的概率分布组成,设离散随机变量V的概率分布函数为
,则随机变量V的信息熵定义为
定义2 [18] 设随机变量
对应的有限集合分别为
,则联合分布为
的离散随机变量对的条件熵为
通过条件熵
,定义信息熵的链式法则为:
。
定义3 (完善的秘密共享方案 [19])当秘密共享方案同时满足如下两个条件,则称该方案为完善的秘密共享方案:
正确性:对于授权集A,A中参与者将持有的份额联合起来,可正确恢复主秘密s,即
,
表示集合A中参与者的份额集;
安全性:对于非授权集B,B中参与者将持有的份额联合起来,得不到关于主秘密s的任何信息,即
,
表示集合B中参与者的份额集。
利用信息熵的相关性质将证明了本文方案是完善安全的。
2.4. 自由群
设X是群G的一个生成元集,对于X中的任意元素
,如果
,并且
全不为0,则
,其中
为G中的单位元,那么称X是群G的一个自由生成元集。如果群G有一个自由生成元集,则称G是自由群。例整数加群
是自由群。因为
有一个自由生成元集
,所以
是由一个元素生成的自由群。本文把一个非空集合X称为字母表。
定义4 [20] 设X为字母表且
,
,称
为一个字。
定义5 [20] 如果
,并且所有
,称字
是既约的。特别地,把
也称为既约字。
每一个字都可按照下述规则化简成既约字:1) 如果相邻的两个字母相同,则可合并写成一个字母的方幂,将指数的和作为指数;2) 零次幂省略不写。因此字母表X形成的所有既约字组成的集合
构成一个群。容易看出,X是群
的一个自由生成元集。故
是自由群,称它是由X生成的自由群。
定义6 [20] 设X是非空集合,R是自由群
的非空子集,用N表示R生成的正规子群(即为
中包含R的正规子群的交),则商群
称为是由生成元集X和定义关系集R决定的群。如果群G同构于
,则
称为G的一个表现,记作
。特别地,若
,且
,那么就称G是有限表现的。
定理1 [20] 每一个字能化简成唯一的既约字。
定义7 [21] 设
是一个字母表,群G由X所生成,记为
,那么群
的一种短词排序定义如下;给定既约字
以及
,其中
,且
表示的是
的长度,
表示的是l的长度,如果满足以下条件之一:
1)
;
2) 若
,且
,其中
;
则称
和l为序关系,记为
。
例如,若
,且给定
的词序为
,可推断出一些词序为:
。
根据每一个短词的位置,相应可将词序转化为整数值:
可对应出词序位置为3;根据词序位置的整数值,可相应的对应出既约短词:词序位置为10,相应可对应出短词为
。
3. 本文方案
本节基于自由群中的短词排序与Shamir
门限秘密共享方案设计了子秘密可重复使用的多部门限秘密共享方案;其构造思路是:每个部分访问结构门限值是
,通过给每个部分访问结构分发不同自由群的定义关系集,根据定义关系集和函数值生成函数值对应的公开字集,将每个人的身份标识,以及公开字集作为公开信息。具体方案构造如下:
· 参数选取:
1) 分发者D选取
作为n个参与者的集合,然后将P又分成m个部分访问结构
,每个部分访问结构
中有
名参与者,每个参与者只属于其中一个部分访问结构中,即有
和
。
2) 分发者D随机选取
,将
对应地分发给层级
,作为层级
公开值。
· 秘密分发:
1) 分发者D为层级
,
选取一个有限表现群
,其中
为群
的生成元,
为群
的定义关系元,
。
2) 分发者D首先选定
为集合
中任意
个元素的子集,并确定
为
的
个子集,其中
当且仅当
;随后将字集
作为秘密份额对应地分发给参与者
。
3) 分发者D随机选取
,构造次数不大于
次多项式
,其中常数项
为主秘密值。
4) 分发者公开短词排序,根据短词与位置整数值的一一对应关系,
的值可对应短词排序中第
个位置的短词,利用函数值对应的短词和
中的定义关系集,可根据短词既约运算生成公开值
,使得
可以在
的定义关系集下既约对应于第
个词序位置。
· 秘密重构:
1) 每个层级
集合中任意
个及以上参与者合作可恢复定义关系集
,进而可恢复有限表现群
。
2) 根据群
的定义关系集,可将公开字集
既约为短词排序的第
个词序位置,m个部分访问结构共恢复m个函数值,然后根据利用Lagrange多项式插值公式计算得到主秘密:
。
上述方案流程图可如图1所示:
4. 方案分析
根据定义3,本节给出本文方案正确性和安全性分析。正确性分析主要是分析根据方案重构算法是否可以正确地恢复主秘密;安全性证明包括两个部分:一部分是层级
内小于门限
的参与者合作得不到主秘密的任何信息,另一部分是任意
个层级合作得不到主秘密的任何信息。
定理2 本文方案是完善的多部秘密共享方案。
证明:正确性:假设
中的
个参与者
需要恢复出份额
,这时参与者们利用持有的字集可以恢复出自由群
,那么根据自由群
的定义关系集,将公开字集
既约为词序中的第
个位置,得出
的函数值. 那么m个部分访问结构一共有m个
的值,因此可以根据Lagrange多项式插值公式求解出主秘密s。
安全性:1) 以下证明任意的
个参与者得不到第
个
的信息。根据信息熵相关定义证明,因为分发者分发给部分访问结构中的每个参与者的字集不同,所以
其中
为
的一个子集,故
个参与者得不到第
个参与者的信息。
以上证明式子第三步至第四步是因为分发者分发给每个参与者的字集
不同,因此对于
的任意子集,有
,其中
。最后可以得到
。
假设
个参与者
尝试直接恢复主秘密,那么每个参与者对应地拿出自己手中拥有的定义关系集的子集
去恢复自由群
。因为分发者给每个部分访问结构中的参与者分发自由群
中的定义关系集不一致,所以
个参与者只能得到部分但不是全部的
,这时参与重构的参与者们会就此生成一个自由群
,其中
。那么参与者们并没有恢复完整的群
的定义关系集合,所以
和
的单位元会有所不同,有
,根据
去既约公开字集
会得到错误的
,错误的
不能恢复正确的主秘密s。
2) 任意两个部分访问结构
和
的参与者互相得不到对方的子秘密值,这是因为分发给每个部分访问结构的参与者们是不同的自由群,即有
,自由群不同,通过自由群的定义关系集求解出的短词也是不同的,只有对应的访问结构的自由群才能正确求解出既约的短词,进而对应的求解出函数值。因此
个层级合作只能获取
个函数值,只能列出
个线性方程组,求解不出m个未知数,所以基于Shamir方案易知
个层级合作得不到主秘密的任何信息。 □
本文方案可以实现主秘密更新功能。分发者需要更新主秘密时,只需要更新多项式的函数值对应的公开字集
。当公开字集改变,部分访问结构中的参与者利用同一个自由群既约公开字集,既约出的短词对应不同的词序位置,即新的函数值位置,最后根据Lagrange多项式插值公式求解出更新之后的主秘密。
5. 方案比较
本文的多部门限秘密共享方案能够通过参与者子秘密的动态使用,进行主秘密的更新,避免更改主秘密时分发阶段中的通信需求。对于多部秘密共享方案中,因为访问结构较多,分发算法尤其繁杂,所以若主秘密能够实现动态更新,效率会得到了较大的提升。本文方案可动态实现主秘密更新,于分发算法效率上要优于文献 [3] [13]。与文献 [14] 相比较:因为文献 [14] 是基于整数规划的NP问题,所以该方案是可计算安全的;本文方案不基于任何困难问题假设,所以本文方案具有较高的安全性。本文方案与其他多部门限秘密共享方案的对比如表1所示。
Table 1. Performance comparison of multipartie threshold secret sharing schemes
表1. 多部门限秘密共享方案性能比较
注:信息率是指主秘密大小与子秘密大小的比值。
6. 总结
本文基于Shamir
门限秘密共享方案,以自由群的短词排序为工具构造了一个主秘密可以多次更新的多部门限秘密共享方案。该方案通过分发自由群中定义关系集的子集作为参与者的份额;参与者们通过恢复自由群的定义关系集,利用短词排序方法恢复函数值,Lagrange多项式插值公式重构主秘密。本文方案具有动态更新主秘密的优点,避免了主秘密更新时分发阶段的再次通信。未来的研究工作可经过扩展到构造子秘密可重复使用门限多秘密共享方案以及门限可变的多部秘密共享方案等。