隐私保护机器学习
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.4.1 定义

从上面的小故事中,我们不难发现密钥的安全关系着整个系统的安全,传统的密钥保存方法是把密钥交给一个人管理,这样做存在很多缺陷。首先,当密钥持有者不小心泄露了密钥,就会对整个系统带来危害;其次,密钥持有者丢失或损坏了密钥,整个系统中的信息就无法使用。因此,如何降低密钥泄露的可能性和降低密钥泄露的危害行为就成为密码学家的一项重要研究工作。以前对密钥的保护主要是通过硬件存储的方式实现的,对密钥的操作都在硬件中进行,这种方法的缺点是需要大量昂贵的硬件设备[55]

为了解决上述问题,我们可以把密钥分发给多个人共同持有,这就是人们提出秘密共享这项技术的动机。秘密共享是一种分发、保存密钥的方法,分发者将密钥分成多个相互关联的秘密信息(称为份额、影子或子密钥),然后再分发给小组中的所有成员,使得根据既定的方法,凑齐小组成员所持有特定数量的份额就可以重构出密钥。可见,即使某几个份额持有者(少于特定数量)泄露了自己的份额,由于攻击者不能得到特定数量的份额,他也不能重构出秘密。另外,当某几个份额持有者(少于特定数量)丢失或损坏了份额,其余人仍然可以恢复出秘密。在实际应用中,使用秘密共享方案可以防止密钥的丢失、损坏或攻击,能够很好地保证密钥的安全性与完整性。

为了实现秘密分享,人们引入了门限方案(Threshold Shceme)的概念[56]

假设秘密S被分割成N个子信息,每一个子信息称为份额(Share)(或者称为子密钥),由一个参与者持有,使得:①由K个或者大于K个参与者所持有的份额可重构S;②由少于K个参与者所持有的份额无法重构S。我们称这种方案为(K, N)-秘密分享门限方案,其中K称为方案的门限值[57]

秘密分享方案有两个阶段——份额分发阶段和秘密重构阶段。在份额分发阶段,秘密S被分割成若干份额,然后分发给各个用户;在秘密重构阶段,希望重构秘密的用户数量达到门限值以上时,便能够重建秘密S

门限方案的形式化定义如下[58]

S是需要被拆分的秘密,K是门限值,N是需要被拆分的数目,一个(KN)-秘密分享门限方案包含一对算法(Shr,Rec)满足:

1)正确性。如果,存在恢复函数Rec,当且仅当mK时,有Rec(S1,…,Sm)→S

2)完美隐私性。任意包含少于K个份额的集合都不会在信息论层面上泄露任何与秘密值相关的任何信息。

(5,3)-秘密分享门限方案如图3.7所示。

图3.7 (5,3)-秘密分享门限方案