有不受信任的装置的安全密钥协议的制作方法

文档序号:21944786发布日期:2020-08-21 15:28阅读:323来源:国知局
有不受信任的装置的安全密钥协议的制作方法

本发明涉及在一种安全方法及系统,用于一噪声网络中产生一随机密钥。



背景技术:

密码学是一种代码制作的艺术。在密码学中一协密的安全性通常取决于一密钥的保密性。一密钥通常是一数字的随机字串。如果两参与者爱丽丝及鲍勃共享一个共同的机密密钥k,那么他们可以使用几种已知的加密程序来实现安全通信及身份验证(密码学的两个重要应用)。如何在两个参与者或更多个参与者之间产生及分配密钥是密码学中的一种主要挑战。这称为钥匙分配问题。用于解决钥匙分配问题的各种方法已经被提出。让我们在这里举几个示例。第一个示例是公钥密码学。在公钥密码学中,所述钥匙分配问题通过制作计算假设来解决。例如,有一对钥匙,一个用于加密而一用于解密。原则上,给予所述加密钥匙,可以获得所述解密钥匙的信息。但是,实际上,如果假定某些问题(例如分解大整数)对于一常规计算机来说是棘手的,那么对于所述常规计算机而言,找出所述解密钥匙将花费很长时间。一钥匙分配方法的第二个示例适量子密码学,更具体地说,是量子密钥分配(quantumkeydistribution,qkd)。有关qkd的评论,请参阅例如lo,h.-k.,curty,m.andtamaki,k.securequantumkeydistribution.nat.photon.8,595-604(2014)。在qkd中,通过使用量子力学中的不可克隆定理来解决所述钥匙分配问题。例如,在用于qkd的已知标准bennett-brassardbb84协议中(例如,bennett,c.h.andbrassard,g.quantumcryptography:publickeydistributionandcointossing.proc.ieeeint.conf.comp.systemssignalprocessing175-179(ieee,1984)),一参与者爱丽丝(alice)向另一参与者鲍勃(bob)发送了以不同偏振态准备的一系列光子,它们是从两个可能的共轭基础x及z中选择的。对于每一个光子,鲍勃随机地选择两个共轭基础中的一个并且执行测量。他记录了他的测量结果及基础选择。通过一个已认证通道,爱丽丝及鲍勃播送了他们的测量基础。他们丢弃了在不同基础中发送及接收的所有极化数据,并使用其余数据产生一移位钥匙。为了测试篡改,他们计算了一随机选择的数据子集的量子误码率(quantumbiterrorrate,qber),并且验证了qber低于一特定阈值。通过应用经典的后处理协议,例如错误校正及保密增强,他们产生了一安全钥匙。这样,在进行切窃听攻击时,没有所述基础信息的一窃听者夏娃(eve)会对所述信号引起不可避免的干扰,这样的干扰是可以被所述合法用户,爱丽丝及鲍勃,检测到的。第三个示例是maurer的公钥协商协议(参阅maureru.m.secretkeyagreementbypublicdiscussionfromcommoninformation.ieeetrans.oninf.theory39,733-742(1993))。例如,两参与者,爱丽丝及鲍勃,可能正在从在一遥远星系(galaxy)中的一公共源接收多个播放信号。如果假定两个参与者的接收装置所遭受的噪声与由一窃听者夏娃的接收装置遭受的噪声无关,一共享钥匙可以由两参与者,爱丽丝及鲍勃,所提取,这样一来可以确保共享钥匙避免夏娃的侵害。

多种秘密共享方案在密码学中经常地使用。在一种秘密共享方案中定义访问结构通常很重要。例如,在一种(n,r)个阀值秘密共享方案中,通过一分配者将一秘密字串,称为k,分成在n个参与者之间分配的多个份额,这样一来,r个参与者的任何子集聚集在一起就能够恢复所述字串k的数值,但是少于r个参与者的任何子集将绝对没有有关所述子串k的数值的任何信息。我们注意到,确实存在非阈值秘密共享方案,并且它们允许使用更通用的访问结构。为了解决所述分配者本人可能不诚实的可能性,并且为了确保在协议的不同步骤期间分配的份额是一致的,已提出了可验证秘密共享方案。关于应用程序,秘密共享可以用于拆分在一硬件安全模块(hardwaresecuremodule,hsm)中的一已产生钥匙。请注意,在这些情况下,通常假定通道是无噪声的,但是某些参与者可能是不受信任的。

相较之下,在qkd及maurer的钥匙协商模型中,都假定用于产生一钥匙的通道可能很噪声。例如,qkd通常使用弱相干光脉冲或纠缠光子对作为信号。这些信号可以通过远距离的露天或电信光纤来发送。例如,最近已通过与测量设备无关的量子密钥分配协议在404公里(km)的超低损耗光纤上执行了qkd,并且已通过1200公里(通过量子通信卫星链路)发送了纠缠。注意,一个窃听者可以自由的在qkd中窃听这样的量子通道(可以传输量子信息的一通信通道)。由于通道噪声及潜在的窃听攻击,在一量子通道中通常存在数量级为0.5%到13%的量子误码率(quantumbiterrorrate,qber)。为了能够在这种情况下产生秘密钥匙,qkd通常假定,除了一量子通道之外,在爱丽丝及鲍勃之间还有一已认证经典通道(或一公共通道)。这样的已认证经典通道可以用于一qkd协议的公开讨论阶段。例如,它允许爱丽丝及鲍勃比较量子信号的一子集,以估算在一量子传输中的所述qber。当所述qber太高时,爱丽丝及鲍勃可以简单地中止所述qkd协议。否则的话,爱丽丝及鲍勃通过应用一些经典的后处理协议来分发一安全钥匙,所述协议可以包含数个步骤就像,例如,数据的后选择、添加噪声、参数估计、信息协调(其通常包含一错误校正步骤及一错误验证步骤)及保密增强。之所以如此,是因为为了分发一安全可用钥匙,需要解决一些问题:第一,爱丽丝及鲍勃各自持有的所述钥匙(karaw及kbraw)可能彼此不同。对他们来说,执行一些处理以校正他们的原始钥匙中的潜在差异,这样的处理称为信息协调。执行信息协调的一种方法是让爱丽丝使用一些常规的纠错码,并且计算与公开地宣布所导致的错误综合症。鲍勃接收所述错误综合症后,可以与爱丽丝协调他的钥匙。最后,爱丽丝及鲍勃可能会执行一错误验证步骤,以确认他们持有彼此已协调的钥匙(karec及kbrec),它们彼此相同的可能性很高。第二,一窃听者或对手可能有在所述原始钥匙上的部分信息。保密增强的目标是为了删除极有可能的夏娃可能具有在所述原始钥匙上的任何剩余信息。保密增强是一种处理,其中部分安全数字的一长字串压缩成一较短字串,这样几乎可以对抗一对手夏娃。通过应用一个两通用哈希函数,参阅bennett,c.h.,brassard,g.,crepeau,c.andmaurer,u.m.generalizedprivacyamplification.ieeetrans.oninf.theory41,1915-1923(1995),来实现保密增强。例如,保密增强的一个特别简单的示例是使用随机哈希。更具体地,给定由一列向量x表示的一输入n比特字串,首先可能会产生随机选择的二进制条目的一随机mxn矩阵m(其中m小于n),然后,通过在模2代数中两个矩阵m与x之间执行矩阵乘法,来计算一输出m比特字串,y=mx。在qkd的情况下,爱丽丝可以选择m的条目,然后通过一已认证经典通道来播送他们的数值给鲍勃。

例如秘密共享方案qkd及maurer的钥匙协商方案之类方案,可以提供信息理论的安全性,其也称为无条件安全性。这是基于信息理论的安全性,并且不依赖于任何计算假定。

针对实用qkd系统的量子黑客攻击引起了很多兴趣。这些黑客攻击通常利用这样的一个事实,即实际的qkd装置的行为通常会偏离qkd的安全性证明中所考虑的行为。这会打开安全漏洞,窃听者可能会利用这些漏洞来攻击qkd实现。例如,已经提出的一种存储器攻击作为一种阻止甚至与装置无关的(device-independent,di)-qkd方案的方法。在一次存储器攻击中,夏娃在爱丽丝的系统中隐藏了一个存储器,以存储每次qkd运行中产生的所有钥匙材料。之后,存储器会通过将其隐藏在一后续qkd会话的中止决定或不中止的决定中,或在对后续qkd运行的公开讨论中,将钥匙材料泄漏给通道。这可以通过适当地修改原始钥匙和/或在所述回合中发送到执行qkd系统的经典后处理协议的经典后处理单元(classicalpost-processingunit,clpu)的协议信息来完成。存储器攻击构成了隐蔽通道的一个例子,隐蔽通道与特洛伊木马一起被公认为是传统加密系统安全性的主要挑战。请注意,在加密系统的硬件或软件修改中都可能隐藏特洛伊木马。



技术实现要素:

通过所公开的实施例,普遍地解决或避免了现有技术中发现的问题,并且总体上获得了技术优势,所述实施例提供了一种方法及系统,其中两个或多个加密站在一网络中存在一噪声信道以及加密站内部可能存在不受信任的组件的情况下,在一规定的访问结构内产生一共享钥匙安全。

考虑到将一加密站的功能分解成多个钥匙产生单元及多个经典后处理单元,本发明在存在不受信任的钥匙产生单元及不受信任的经典后处理单元的情况下提供了安全性。在一个实施例中,为了对抗不受信任的钥匙产生单元,经典后处理单元应用了保密增强,以确保安全性,防止所述加密站内部的所述不受信任的组件获得信息,并且为了对抗不受信任的经典后处理单元,将一原始密钥分成多个份额并且分配给多个经典后处理单元。本发明可用于阻止隐蔽通道并且击败硬件及软件特洛伊木马。它可以为已产生的钥匙提供信息理论上的安全性,其随后可以用来以无条件安全性来实现通信及身份验证。

在第一方面,本发明提出一种方法,用于在一加密系统中存在多个不受信任的单元情况下的多个安全密钥产生,所述加密系统包括一第一及一第二加密站(a、b),其中每一个加密站包括n个原始数据产生单元(kguai、kgubi,其中i=1、2、…、n,其中n大于1),及至少一个后处理单元(clpua、clpub),其特征在于,所述方法包括以下步骤:

每一对原始数据产生单元(kguai与kgubi,其中i=1、2、…、n),产生彼此相关联的一对(原始)数据串,并且通过所述kguai发送(通过安全通信通道)所述已产生数据串到所述第一加密站的所述至少一个后处理单元,并且通过kgubi发送所述已产生数据串到所述第二加密站的所述至少一个后处理单元。每对数据串(一个由所述第一加密站kguai的一原始数据产生单元产生并且一个由所述第二加密站kgubi的一始数据产生单元产生,其中i=1、2、…、n)通常在某种意义上是关联的,因为它们将使用一种机制(例如qkd,量子密钥分配)产生,所述机制允许所述第一及第二加密站的每对数据串相关联(也称为统计相关)。也就是说,每对数据串在统计上并不是彼此独立的,而是在统计上相关的,因此,如果已知一个数据串的值,则可以获得有关另一个数据串的值的信息。

所述第一及第二加密站的所述至少一个后处理单元(clpua、clpub):对每一个已接收数据串应用一后处理程序,用于对每一个原始数据产生单元产生一密钥(kai、kbi,其中i=1、2、…、n)或一错误符号(如果所述原始数据产生单元无法生成一密钥,则会产生一个错误符号),其中所述后处理程序包含通过一已认证通信通道在两个加密站的多个所述后处理单元之间进行的至少一个信息协调操作及一第一保密增强程序,以提取一较短钥匙;

串接多个所述已产生密钥以形成一第一串接密钥(ka’=[ka1、ka2,、…、kam])及一第二串接密钥(kb’=[kb1、kb2、…、kbm]),其中m是在所述两个加密站中与所述错误符号不同的多个所述已产生密钥对的数量;

对所述第一串接密钥及所述第二串接密钥应用一附加保密增强程序操作,以分别地提取一第一及一第二安全密钥(ka及kb)。

根据另一方面,它提出一种方法,用于在一加密系统中存在多个不受信任的单元情况下的多个安全密钥产生,所述加密系统包括一第一及一第二加密站(a、b),其中每一个加密站分别地包括至少一个原始数据产生单元(kgua、kgub)及多于一个后处理单元(clpual、clpubl’,其中l=1、2、…、s,l’=1、2、…、s’),其特征在于,所述方法包括以下步骤:

kgua产生s个数据串并且发送一个已产生数据串到每一个clpual,及kgub产生s’个数据串并且发送一个不同的已产生数据串到每一个clpubl’;每对数据串(一个由所述第一加密站kgua的所述原始数据产生单元产生,一个由所述第二加密站kgub的所述原始数据产生单元产生)在某种意义上相关联,即使用一种机制(例如qkd)产生,因此,所述第一及第二加密站的每对数据串都是相关联的(也称为统计相关)。也就是说,每对数据串在统计上都不是彼此独立的,因此,如果已知一个数据串的值,则可以获得有关另一个数据串的值的信息。

所述第一及第二加密站的每一个后处理单元:

对每一个已接收数据串应用一后处理程序,用于对每一个已接收数据串产生一密钥或一错误符号,其中所述后处理程序包含通过一已认证通信通道在两个加密站的多个所述后处理单元之间进行的至少一个信息协调操作及一第一保密增强程序,以提取一较短钥匙;

将多个所述已产生密钥分成两个或多个份额,并且将所述份额分别地分配到所述第一及第二加密站的其馀后处理单元;

通过对多个所述已接收密钥份额应用一错误验证程序及一附加保密增强程序操作来产生一安全密钥的一份额。

根据另一方面,它提出一种方法,用于在一加密系统中存在多个不受信任的单元情况下的多个安全密钥产生,所述加密系统包括一第一及一第二加密站(a、b),其中每一个加密站分别地包括至少一个原始数据产生单元(kgua、kgub)及多于一个后处理单元(clpuai、clpubi’,其中i=1、2、…、s,i’=1、2、…、s’),其特征在于,所述方法包括以下步骤:

在所述第一及第二加密站中的所述至少一个原始数据产生单元分别地产生一数据串(ra、rb),将多个所述已产生数据串分成两个或多个份额,并且将所述份额分别地分配到所述第一及第二加密站的所述后处理单元,其中k’aij是通过clpuai接收的第j个份额并且k’bi’j’是通过clpubi’接收的第j’个份额。每对数据串(一个由所述第一加密站kgua的所述原始数据产生单元产生,一个由所述第二加密站kgub的所述原始数据产生单元产生)在某种意义上相关联,即使用一种机制(例如qkd)产生,因此,所述第一及第二加密站的每对数据串都是相关联的(也称为统计相关)。也就是说,每对数据串在统计上都不是彼此独立的,因此,如果已知一个数据串的值,则可以获得有关另一个数据串的值的信息。

所述数据串分割的数量j、j’可以等于clpus的数量(因此每个clpu可以收到一个份额)或可以更低或更高(因此每个clpu可以收到一个以上的份额)。

所述第一及第二加密站的每一个后处理单元:

从多个所述数据串(ra、rb)的每一个已接收份额中获得一钥匙产生子串份额k’aij,key、k’bi’j’,key(这种子串可能只是所述数据串的所述已接收份额的一部分,也就是说,所述接收份额可以分成几个子串,这些子串之一将用于钥匙产生);从所述数据串的每一个已接收份额,还可以得到一参数估计子串份额(k’aij,est、k’bi’j’,est),并且所述数估计子串份额将会发送到所述加密单元的其馀后处理单元。

对多个所述钥匙产生子串份额应用一后处理程序,进而产生多个安全密钥份额,其中所述后处理程序包含通过一已认证通信通道在两个加密站的多个所述后处理单元之间进行的至少一个信息协调操作及一保密增强程序,以提取一较短钥匙。

在最后一个实施例中,所述信息协调操作可以包含一错误校正程序,所述错误校正程序包括:

对多个特定预定义矩阵(mec)应用多个所述钥匙产生子串份额,进而分别地获得多个数据串(saij=mec*k’aij,key、sbj’=mec*k’bi’j’,key);在每一个后处理单元中分别地获得一重建数据串(sa、sb,其定义为其中saj通过使用多数表决从saij获得,而sbj’通过使用多数表决从sbi’j’获得;

根据所述重建数据串(sa、sb)的实际值,修改多个所述钥匙产生子串的值(k’aij,key、k’bi’j’,key);

重复所述错误校正程序的三个步骤,直到所述错误低于一预定义阈值。

在最后一个实施例中,所述信息协调操作可以包含一错误验证程序,所述错误验证程序包括:

所述第一加密站的多个所述后处理单元随机地选择一两通用哈希函数(hash)并且对在所述错误校正程序(kaij,key)后获得的多个所述钥匙产生子串份额应用所述两通用哈希函数,从而获得haij=hash(kaij,key),并且所述第二加密站的每一个后处理单元获得hbi’j’=hash(kbi’j’,key),并且所述每一个后处理单元发送多个所述份额haij及hbi’j’到在自己的加密单元中的所有后处理单元及给在其它加密单元中的所有后处理单元;

在每一个后处理单元中分别地获得一重建数据串(ha、hb,分别为其中haj通过使用多数表决从haij获得,而hbj’通过使用多数表决从hbi’j’获得;

多个所述后处理单元中的每一个检查是否ha=hb,如果它们相等,进入所述保密增强程序,否则输出一中止符。

在最后一个实施例中,所述保密增强程序可以包括:

所述第一加密站的多个所述后处理单元随机地选择一两通用哈希函数(hashpa),然后以kaij=hashpa(kaij,key)获得一安全加密单元的多个份额,并且所述第二加密站的每一个处理单元以kbi’j’=hashpa(kbi’j’,key)获得一安全加密单元的多个份额。

根据另一方面,它提出一种方法,用于在一加密系统中存在多个不受信任的单元情况下的多个安全密钥产生,所述加密系统包括一第一及一第二加密站(a、b),其中每一个加密站包括多个原始数据产生单元(kguai、kgubi,其中i=1、2、…、n,其中n大于1)及多个后处理单元(clpual、clpubl’,其中l=1、2、…、s,l’=1、2、…、s’),其特征在于,所述方法包括以下步骤:

在所述第一及第二加密站中的每一个原始数据产生单元分别地产生多个数据串(rai、rbi,其中i=1、2、…、n),将多个所述已产生数据串分成两个或多个份额,并且将所述份额分别地分配到所述第一及第二加密站的所述后处理单元。每对数据串(rai、rbi,其中i=1、2、…、n)在某种意义上相关联,即使用一种机制(例如qkd)产生,因此,所述第一及第二加密站的每对数据串都是相关联的(也称为统计相关)。也就是说,每对数据串在统计上都不是彼此独立的,因此,如果已知一个数据串的值,则可以获得有关另一个数据串的值的信息。

每一个后处单元对每一个已接收数据串份额应用一后处理程序,进而对每一个已接收数据串份额产生一第一密钥份额(k’alij、k’bl’ij’)或一错误符号,其中所述后处理程序包含通过一已认证通信通道在两个加密站的多个所述后处理单元之间进行的至少一个信息协调操作及一第一保密增强程序,其中k’alij是通过clpual获得的用于rai的所述密钥的第j个份额并且k’bl’ij’是通过clpubl’获得的用于rbi的所述密钥的第j’个份额。

每一个后处理单元通过串接多个所述已获得第一密钥份额及对所述已串接字串应用一附加保密增强程序操作来获得一安全密钥的多个份额。这最后一个步骤可以包括:

连接子步骤:每一个clpual,其中l=1、2、…、s,获得多个比特串(k”alij=[01、…、0i-1、k’alij、0i+1、…、0m]),其中0i,i=1、…、m,代表一零向量,并且m是产生不同于一错误符号的多个数据串的原始数据产生单元对(每一个加密站中一个)的数量,并且每一个clpubl’,其中l’=1、2、…、s’,获得多个比特串(k”bl’ij’=[01、…、0i-1、k’bl’ij’、0i+1、…、0m]),其中i=1、…、m;

保密增强子步骤:每一个clpual,其中l=1、2、…、s,随机地选择一两通用哈希函数(hashpa),然后以kalij=hashpa(k”alij)获得一安全密钥的多个份额,并且每一个clpubl’,其中l’=1、2、…、s’,以kbl’ij’=hashpa(k”bl’ij’)获得一安全密钥的多个份额。

通过每一对原始数据产生单元(所述第一加密站中的一个及所述第二加密站中的一个)所产生的多对数据串是使用一量子密钥分配机制所产生的。

为了分成多个份额,可以采用秘密共享方案或可验证秘密共享方案。在所述方法的最后,可以将重建方案应用于所获得的所述安全加密份额,以便于分别地获得一第一及一第二最终密钥。

在其他方面,提出了用于安全密钥产生的多个系统。所述系统包括一第一及一第二加密站(a、b),其中每一个加密站包括至少一个原始数据产生单元及至少一个后处理单元(clpua、clpub),与用于实现上面提出的方法的手段。

在本发明的最后一个方面,公开了一种计算机程序,其包括适于执行所描述的方法的步骤的计算机程序编码装置,当所述程序在ofdm网络的网络实体的处理装置上运行时,所述处理装置例如是计算机、数字信号处理器、现场可编程门阵列(fpga)、专用集成电路(asic)、微处理器、微控制器或任何其他形式的可编程硬件。还提供了一种非暂时性数字数据存储介质,用于存储包括多个指令的一计算机程序,当所述程序在一计算机上运行时,促使执行所述程序的一计算机执行所公开的方法的所有步骤。

附图说明

根据其实际实施例的优选示例,以完成所进行的描述并以帮助更好地理解本发明的特征为目的,伴随着所述描述作为其整体部分的是一组附图,其中通过图示而非限制地表示了以下内容:

图1示出了现有技术加密设置的一示意性框图。

图2示出了一示意性框图,其说明了针对具有两个加密站a及b的一现有技术加密设置的一存储器攻击。

图3示出了在至少一个密钥产生单元kgu是不受信任的情况下,根据本发明的一实施例的一安全钥匙产生程序的一示意性框图。

图4示出了在至少一个密钥经典处理单元是不受信任的情况下,根据本发明的一实施例的一安全钥匙产生程序的一示意性框图。

图5示出了一示意框图,其说明了可验证秘密共享方案的一示例的共享及重建协议。

图6示出了在每个加密站包含一个以上的钥匙产生单元kgu及一个以上的经典后处理单元clpu的情况下,根据本发明一实施例的一安全钥匙产生程序的一示意框图。

具体实施方式

本发明总体上描述了用于在两个或多个加密站(一种站点能够产生多个密钥,例如用于两个电子装置之间的安全通信或身份验证)之间产生一安全共享钥匙的方法及系统。所述共享钥匙是在一通信网络(通信所述多个加密站)中存在有一噪声通道以及加密站中可能存在不受信任的组件的情况下产生的。

考虑一个通信网络,所述网络允许各种加密站与任何中间节点或辅助节点之间进行通信。每个加密站可以将例如一个电子节点表示为一个安全站点,例如一数据中心或一托管服务器、一服务提供商或一最终用户电子通信装置,例如一最终用户持有的智能电话或例如一移动电话、笔记本电脑、i-pad、平板电脑、个人电脑(pc)...或一般来讲,可能产生用于与另一参与者通信或身份验证的密钥的任何其他类型的电子装置。在敌对者或窃听者夏娃存在的情况下,在两个传统上称为a及b或爱丽丝及鲍勃(其中爱丽丝及鲍勃是分别地控制每个加密站的参与者或用户)的加密站之间实现无条件的安全通信或身份验证,对于爱丽丝及鲍勃来说,共享一个随机且秘密的一密钥k很重要。

一加密站同时包含钥匙产生单元(keygenerationunit,kgu)和经典后处理单元(classicalpost-processingunit,clpu)。钥匙产生单元(也称为原始数据产生单元)再遥远的参与者之间产生相关联的原始数据(也称为原数据,即直接从一数据源获取的数据),然后由所述clpu处理以获得所述密钥。例如,在maurer的方案中,钥匙产生单元可能是一天线,其从一遥远的的无线电星系中的一公共源接收信号。经典后处理单元(也称为后处理单元)可以是任何常规处理装置(例如,也称为处理单元或处理模块)。中央处理单元(cpu)、图形处理单元(gpu)及现场可编程门阵列(fpga)或任何其他具有计算功能的电子单元。分配在两个加密站a及b之间的一对kgu使用某种物理手段在所述加密站之间产生相关联的噪声(原始)数据。用于产生相关联数据的这种物理手段可以是例如qkd。在qkd的情况下,可以准备此类原始数据,也可以测量单一光子信号的偏振数据。每一个单一光子具有一偏振。例如,在直线基础z中,一垂直偏振光子可以表示“0”,而一水平偏振光子可以表示“1”。类似地,在对角线基础x中,一45度偏振光子可以表示“0”,而一135度偏振光子可以表示“1”。然后,每个kgu将相关联的噪声原始数据传递到要处理的经典后处理单元,以获得密钥k。虽然此讨论是一般性的,但为了便于说明,我们以qkd为例。在qkd中,爱丽丝及鲍勃通过两个通道(一个量子通道及一个经典通道)连接。所述量子通道用于传输量子信号,例如单一光子的偏振数据。此类量子信号可用于产生原始钥匙材料。夏娃可以自由篡改所述量子通道,所述量子通道可以是一光纤、自由空间或其他介质(例如水)。术语“经典”通道仅表示可以传输常规信息的一常规通信通道。所述经典通道可以采用任何形式,包括电话线、互联网、以太网、移动通信网络(gsm、umts、lte、3g、4g或任何其他形式)或wi_fi网络的已知通道,甚至是任何已知常规有线或无线通信网络的直接电缆或一般来讲的任何通信通道。所述经典信道也可以例如通过空间、时间或频率多路复用而与所述量子信道处于同一介质中。通常假定所述经典通道使用任何已知的身份验证机制来进行身份验证。clpu接收所述相关联的噪声原始钥匙数据,并且可能对其应用各种处理操作(其包括,例如,数据的后选择、添加噪声、参数估计、信息协调、通常包括一错误校正程序步骤以及一错误验证步骤,以及保密增强)。

a.现有技术的钥匙分配方法及其不安全性

图1示出了在存在窃听者夏娃的情况下具有两个加密站a及b的现有技术钥匙分配方法,其中每个加密站仅包含一个钥匙产生单元(kgu)及一个经典后处理单元(clpu)。换句话说,加密站a包含kgua及clpua,而加密站b包含kgub及clpub。在图中,上标指示所述装置及钥匙是对应于所述加密站a还是对应于所述加密站b。每个kgu生成一个原始钥匙r,每个clpu输出一个密钥k。clpua及clpub通过经过一已认证常规通信通道连接(图中的“a.c.通道”(英文为authenticatedclassicalchannel,“a.c.channel”;西班牙文为canalclásicoautenticado,"canalcl.a."),也称为已认证经典通道),并且,在每个加密站内,kgu及clpu通过一经典(常规)通道(图中的“c.通道”(英文为classicalchannel,“c.channel”;西班牙文为canalclásic,"canalcl."))连接。在qkd中,一量子通道(图中的“q.通道”(英文为quantumchannel,“q.channel”;西班牙文为canalcuántico,"canalc."))连接kgua及kgub。就maurer的公钥协议而言,所述kgu可以从一公共源接收播放的经典信号。例如,在一已知的qkd协议(标准的bennett-brassardbb84协议)中,两个遥远的参与者爱丽丝及鲍勃希望在他们之间建立一安全密钥。所述加密站a由一参与者爱丽丝(例如,所述加密站a所在的一第一电子通信装置的所述用户)控制,而所述加密站b由另一参与者鲍勃(例如,所述加密站b所在的一第二电子通信装置的所述用户)控制。现在,kgua准备并且通过一量子通道将在不同偏振态下制备的一系列光子发送到kgub,这些光子由kgua从两个可能的共轭基础x和z中选择。对于每个光子,kgub随机地选择两个共轭基础中的一个并且执行一测量。kgub记录所述测量结果及所述基础选择。然后,kgua将所述偏振数据ra及其他相关辅助信息(例如所述基础信息)传递给clpua,而而kgub将所述偏振数据rb及其他相关辅助信息(例如所述基础信息)传递给clpub

clpua及clpub通过一已认证通道(a.c.通道)播放了他们的准备及测量基础。它们丢弃在不同基础中发送及接收的所有偏振数据,并且使用其余数据产生一已筛选钥匙。为了测试篡改,clpua及clpub计算一随机选择的数据子集的所述量子误码率(quantumbiterrorrate,qber),并且验证所述qber低于一特定阈值。通过应用经典后处理协议,例如信息协调(其通常包含一错误校正步骤及一错误验证步骤)及保密增强,clpua及clpub产生一个安全钥匙ka及kb,其中a)ka=kb且b)ka针对一窃听者是安全的。

在这样的设置中,通常假定所有kgu(即kgua及kgub)和所有clpu(即clpua及clpub)都是受信任的。例如,qkd的装置无关及装置有关设置都包含的这个框架中。标准装置有关qkd假定qkd装置通过以下方式正常运行,例如根据一些理论协议准备正确的状态并且执行完美的测量。相反地,装置无关的qkd的优点是,只要没有从从加密站a及b到一窃听者的信息泄漏(例如有关最终钥匙),qkd装置就可以以任意方式工作。不幸的是,这样的现有技术设置极易受到软件和/或硬件中的恶意攻击。例如,如果所述窃听者夏娃在例如kgua中植入了一存储器,则这种现有技术钥匙分配方法的安全性可能受到损害。这在图2中说明。夏娃可以使用这个存储器来存储在一qkd会话中所产生的所述钥匙材料,然后在后续的qkd运行中将这个信息泄漏给所述通道。为此,夏娃可以利用例如以下事实:每个qkd运行通常与中止或不中止的决定相关,具体取决于观察到的qber。然后,所述存储器可以根据上一次qkd运行中产生的所述钥匙的一特定比特,决定是否使kgua输出具有高qber的一原始钥匙ra(然后强制协议中止)。或者,通过将其隐藏在后续qkd运行的公开讨论中,所述存储器也可能泄漏一特定qkd回合的所述钥匙材料。

因此,当一些kgu或clpu不受信任时,执行安全钥匙分配的方式是对现有技术钥匙分配方案的一重要未解决的挑战。

b.场景1:一种钥匙分配方法,在一加密站内具有不受信任的多个钥匙产生单元。

本发明的关键目标是在存在多个不受信任的装置的情况下实现钥匙分配的安全性。这些不受信任的装置可以是,例如,kgu、clpu或两者都是。在这个节中,考虑了一些kgu可能不受信任但是假定clpu可信任的情况。

在这种情况下,我们考虑具有多个kgu的一种新钥匙分配协议,如图3所示。这个图示出了存在一窃听者(例如,在连接所述加密站a及b的通道以及一些爱丽丝及鲍勃的kgu中,使这些kgu成为不受信任的kgu)夏娃的情况下的两个加密站a及b。每个加密站包含n个(多个)钥匙产生单元kgu,以及至少一个经典后处理单元clpu。第i个kgu产生一原始钥匙ri。连接clpua及clpub的所述通道是一常规的已认证通信通道(图中的“a.c.通道”,也称为已认证经典通道)。对于所有i=1、2、…、n,连接kguai及clpua的所述通道以及连接kgubi及clpub的所述通道都是安全的经典(常规)通道(图中的“s.c.通道”(英文为secureclassicalchannel,“s.c.channel”;西班牙文为canalesclásicosseguros,"canalcl.s."))。同样,在qkd中,对于所有i=1、2、…、n,连接kguai及kgubi的所述通道是一量子通道(图中的“q.通道”)。

也就是说,在这个图中,所述加密站a具有n个单元(其中n>1)kgua1、kgua2、...、kguan,而所述加密站b具有n个单元kgub1、kgub2、...、kgubn。附带说明一下,由于基于芯片的qkd发射器的发展,存在低成本的kgu。我们的发明可以利用这样的装置。请注意,可以从不同的供应商处购买各种kgu对。我们的发明使我们能够增加信任,并以来自廉价的不受信任的供应商的组件来构建一安全钥匙产生系统。

当然,如果所有的kgu都遭到破坏,则不可能证明安全性,因此可以假设其中至少一个没有受到破坏(即,至少有一个受信任的kgu)。因此,它有助于定义访问结构或攻击结构。根据攻击结构,我们的意思是在不影响最终钥匙(一对单元kguai及kgubi是不诚实的,如果至少其中一个单元是不诚实的)的情况下,一对单元kguai及kgubi中的哪些子集具有i=1、2、…、n,是不诚实的(不受信任的)。在所述攻击结构的定义中,可以区分由夏娃被动控制的不诚实设装置及由夏娃主动控制的不诚实装置。例如,由夏娃被动控制的装置可能会将其信息泄漏给她,但否则,它将正确遵循协议的所有指示。另一方面,由夏娃主动控制的装置可以将其信息泄露给她,而且,它不一定必须遵循协议的规定,但是其行为完全由夏娃支配。攻击结构的一个示例可以是,在4对单元kguai及kgubi中,最多有3对可能是不诚实的,并且由夏娃主动控制。这意味着4对单元kguai及kgubi中至少有一个是诚实的。

在图3中,我们假定每个加密站a及b分别具有至少一个经典后处理单元clpua及clpub。在这种场景下,所有clpu都应该被信任。此外,每个kguai都通过一安全经典(常规)通道(在图3中表示为“s.c.通道ia”)连接到clpua,每个kgubi都通过一安全经典(常规)通道(在图3中表示为“s.c.通道ib”)连接到clpub。在本文中,它的意思是“安全经典的或常规的通道”,一种同时提供安全及身份验证的通道。例如,这可以通过使用一次性密码本(one-time-pad)以及wegman-carter身份验证方案或任何其他已知机制来实现。注意,实际上,也可以作为安全经典通道,例如,仅连接规定的装置的一物理性保护路径(例如,防止损坏及侵入的一物理电线)。我们觉察,所有安全经典通道均用于连接位于一加密站内部的装置。此外,还有一个连接clpua及clpub的一个已认证经典(常规)通道(在图3中表示为“a.c.通道”)。这可以通过使用任何已知的身份验证方案来实现。此外,在qkd中,所述单元kguai及kgubi,其中i=1、2、…、n,通过夏娃可以访问的一量子通道(在图3中表示为“q.通道i”)相互连接。应当注意,所有kguai及kgubi甚至可以通过各种复用技术(例如波长复用及空间复用)共享同一条物理量子通道(例如一条光纤)。

加密站a中的每个单元kguai通过如图3所示的“s.c.通道ia”发送所述已产生原始钥匙rai给clpua。如果所述加密站a具有多于一个的clpu,则每个kguai可以发送其原始钥匙rai到每个clpu,或发送其份额到加密站a中的一个或多个clpu。相似地,每个单元kgubi通过“s.c.通道ib”发送所述已产生原始钥匙rbi给clpub。如果所述加密站b具有多于一个的clpu,则每个kgubi可以发送其原始钥匙rbi或其份额到加密站b中的一个或多个clpu。如果假定这里所有的clpu都是受信任的,则所述原始钥匙(即,不将其拆分成多个份额)从不同的kgu到clpu(在每个加密站内)的直接传输不会损害安全性。

所述多个clpu可以应用多种经典后处理步骤于所述接收到的原始钥匙。由于环境干扰及夏娃潜在的窃听攻击,由kguai产生的所述原始钥匙rai可能不同于由kgubi产生的所述原始钥匙rbi。因此,这些经典后处理步骤通常应包括信息协调及保密增强功能,以确保在加密站a及b中产生的所述最终钥匙ka及kb是秘密的,并且可能是相同的。在一信息协调步骤中,加密站a及b中的一个或多个clpu首先可以交换错误校正信息,然后将错误校正信息用于校正它们的数据,使得ka及kb具有很高的概率相等。可以使用任何已知程序来完成(例如,参见,brassardg.andsalvail,l.secretkeyreconciliationbypublicdiscussion.universitédemontrealproc.ofadvancesincryptology(eurocrypt93),410-23(1993))。接下来,加密站a及b可以执行一错误验证步骤,以确认ka及kb有很高的概率相等。所述保密增强步骤用于确保所述最终钥匙ka及kb确实可能是秘密的(即,夏娃仅具有微不足道的信息)。为此,保密增强会删除夏娃可能已获取的关于例如所述原始原始钥匙rai,其中i=1、2、…、n的部分信息。夏娃可能通过窃听连接所有i单元kguai及kgubi的所述量子通道及通过侦听连接clpua及clpub的所述已认证经典通道的内容,来获得有关这些原始钥匙的信息。同样,所有不诚实的对kguai及kgubi都可以直接将rai泄漏给夏娃。如前所述,可以通过应用两个通用哈希函数(例如,通过将一字串与一二进制条目的随机矩阵相乘)对一原始钥匙进行散列来实现保密增强。

此外,所述经典后处理步骤还可以包括例如,数据的后选择、添加噪声、参数估计及错误验证。在每个经典后处理步骤中,加密站a及b中的一个或多个clpu都可以使用在它们之间的已认证经典通道来交换信息并且对它们的数据进行后处理。例如,在数据的后选择的步骤中,clpu将所述原始数据rai及rbi分成不同的数据集。仅作为一示例,clpu可以将所述原始数据分成三个主要数据集。所述第一数据集包含将要进行后处理的所述原始数据,以获得一安全钥匙ka及kb;所述第二数据集(也称为参数估计数据集)包含将用于参数估计的所述原始数据,以确定用于从所述第一数据集中的数据产生ka及kb的所述多个参数;并且所述第三数据集包含被丢弃的所述原始数据。例如,在标准的bennett-brassardbb84协议中,爱丽丝及鲍勃通常会丢弃与基础不匹配事件相关的所述原始数据。而且,所述多个clpu可以通过翻转它们的某些比特(例如,参阅,renner,r.,gisin,n.andkrausb.aninformation-theoreticsecurityproofforqkdprotocols.phys.rev.a72,012332(2005))或任何其它已知的机制来添加噪声,从而将噪声添加到所述原始数据中。另一方面,在所述参数估计步骤中,所述多个clpu使用来自所述参数估计数据集中的数据来确定产生一安全钥匙所需数量的界限。这些数量可以包括例如qber、相位误差率、爱丽丝发射的单一光子脉冲数量,这些数量有助于用于产生一安全钥匙的数据集等。最后,在所述错误验证步骤中,所述多个clpu会以一特定概率来确认ka及kb是相等的。一信息协调处理可能包含许多步骤,而错误验证可能是所述信息协调处理中的最后一步。错误验证的目的是确认所述信息协调处理是否成功。为此,他们可以使用例如一两通用哈希函数来计算ka及kb的散列,然后可以检查两个散列是否相等。

下面我们以一个示例为例,描述用于钥匙净化的一协议,所述协议可实现针对不诚实kgu的安全性。它可以分解为两个主要的概念步骤。特别是,假设在加密站a中的所有单元kguai已发送所述原始钥匙数据rai给clpua,还假设在加密站b中的所有单元kgubi已发送所述原始钥匙数据rbi给clpub。然后,在第一步中,所述单元clpua及clpub对所有i个数据rai及rbi进行后处理,以获得一秘密钥匙kai及kbi或所述中止符号⊥i。在使用qkd进行原始数据产生的情况下,当所述量子误码率高于某些规定值时,可能会产生一个中止符号(例如,对于bennett-brassardbb84协议,在shor-preskill证明的情况下为11%)。为此,clpua及clpub可以使用上述的一些经典后处理步骤。这些经典后处理步骤可以包含一保密增强步骤,以删除夏娃的有关kai及kbi的部分信息,由于夏娃窃听了连接kguai及kgubi的所述“q.通道i”(参见图3)及由于夏娃侦听了连接所述单元clpua及clpub的所述已认证经典通道的内容。接下来是本发明的这个实施例中的一关键步骤。特别是,在第二步中,clpua及clpub对ka’=[ka1、ka2,、…、kam]及kb’=[kb1、kb2、…、kbm]应用了一附加的保密增强步骤,其中m代表与所述中止符号⊥i不同的kai及kbi对的数量。这第二保密增强步骤的目的是删除所述不诚实的kgu对可能泄露给夏娃的所述信息,例如ka’。为了简化讨论,让我们考虑,例如,所有kai及kbi的长度均为n比特,其中所有i=1、2、…、m。同样,让我们考虑一攻击结构,其中最多t<n对单元,kguai及kgubi可能是不诚实的,并由夏娃主动控制。这意味着ka’的最多t*n比特可能会受到损害,并且为夏娃所知。然后,在ka’及kb’上应用一保密增强步骤,删除这些损害信息,并且产出大约(m-t)*n比特的一最终钥匙ka及kb。接下来,我们逐步描述这个特定示例的实施。目标是在密码学的标准可组合设置中产生一安全钥匙。更具体地说,要产生一个极小的安全钥匙ka及kb。也就是说,ka及kb必须均为极小正确(epsilon_cor-correct)及极小秘密(epsilon_sec-secret)。极小正确和极小秘密是用于所述钥匙产生系统的设计参数,其满足极小正确加上极小秘密(大致说来,钥匙是极小正确,如果ka等于kb,则除了最大极小正确(epsilon_cor)的可能性很小。而,钥匙是极小秘密,如果它是来自一窃听者夏娃的随机及秘密信息,则最大极小秘密(epsilon_sec)的故障概率很小)。

用于安全钥匙产生的所述协议可以包括以下步骤(这仅仅是可能的实施例,并且并非所有引用的步骤在本发明的所有实施例中都是必不可少的和强制性的):

协议1:

1.分配所述原始数据:每个kguai发送所述原始钥匙rai或所述中止符号⊥i给clpua。同样,每个kgubi发送所述原始钥匙rbi或所述中止符号⊥i给clpub

2.产生一极小正确钥匙ka’及kb’:clpua及clpub使用一钥匙后处理协议从rai及rbi产生一(极小正确/m)正确及(极小秘密/m)秘密钥匙(带有极小正确+极小秘密小于等于极小)ka’及kb’,或它们产生符号⊥i以表示中止(即,表示所述后处理程序未成功,并且无法从所述原始数据产生一有效钥匙),其中所有i=1、2、…、n。然后clpua串接不同于⊥i的m个钥匙kai以形成ka’=[ka1、ka2,、…、kam]。同样地,clpub串接不同于⊥i的所述钥匙kbi以形成kb’=[kb1、kb2、…、kbm]。

3.产生一极小的钥匙ka及kb:clpua和clpub应用一保密增强步骤,从在ka’及kb’中提取长度约为(m-t)*n比特的钥匙ka及kb。这可以通过使用如前所述的带有一随机矩阵的一随机哈希或使用任何其他已知的保密增强机制来完成。

我们注释了协议1仅仅是本发明实施例的非限制性示例。例如,请注意,用于实施应用于ka’的所述附加保密增强步骤的简单方法只是让爱丽丝对各种钥匙kai进行所述按比特异或(xor)(鲍勃也是如此)。同样,通常不需要在两个不同的步骤中应用保密增强(即用于产生第一ka’及kb’,然后用于从ka’及kb’产生ka及kb),但是可以在一个步骤中进行应用。也就是说,一个步骤就可以从所有原始钥匙rai及rbi直接产生一极小的安全钥匙ka及kb。重要的是,协议1说明了在存在带有一规定访问结构的不诚实kgu的情况下,可以使用保密增强来确保所述最终钥匙ka及kb的保密性。

c.场景2:在一加密站内有不受信任的经典后处理单元的一钥匙分配方法。

在本节中,考虑以下情况:一加密站中的一些clpu可能不受信任,但所述kgu受到信任。再次,为了提高安全性,考虑在一加密站中使用多个clpu,如图4所示。这个图示出了存在一窃听者(例如,在连接所述加密站a及b的通道中,以及在一些爱丽丝及鲍勃的clpu中,使这些clpu成为不受信任的clpu)夏娃的情况下的两个加密站a及b。每个加密站包含多于一个的处理单元(称为经典后处理单元,clpu)。每个clpu均产生一个密钥k的份额。

尽管本发明的范围是一般性的,并且应用于具有不诚实的clpu的一般攻击结构,出于说明目的,它可以由夏娃被动或主动控制,我们将在此描述由夏娃主动控制的、一固定数量的不诚实clpu的简单阈值情况(然而,本发明可以应用于其他更复杂的情况)。更具体地说,考虑所述情况,其中所述加密站a及b各自具有一个受信任的kgu,并且此外,所述加密站a具有“s”个经典后处理单元clpua1、clpua2、…、clpuas,而所述加密站b具有“s’”个经典后处理单元clpub1、clpub2、…、clpubs’。同样,假定直到t<s/3时,clpuai及t'<s'/3时clpubj都可能是不诚实的,并且由夏娃主动控制,其中i=1、2、…、s,j=1、2、…、s’。应当注意,可以从不同的供应商处购买各种clpu。本发明允许使用来自不受信任的供应商的组件来构造一安全钥匙产生系统。

由于一些clpu是不诚实的(不受信任的),因此本发明不允许它们具有所述最终钥匙ka及kb,相反,它们仅被允许产生所述最终钥匙ka及kb的一些份额。例如,在图4中,我们将由clpuai产生的ka的份额(对于i=1、2、…、s)表示为kaixy,并且相似地,我们将由clpubj产生的kb的份额(对于j=1、2、…、s’)表示为kbjxy,对于特定索引x及y。

kgua通过一安全经典(常规)通道(在图4中表示为“s.c.通道ia”)连接到每个clpuai,kgub通过一安全经典通道(在图4中表示为“s.c.通道jb”)连接到每个clpubj(常规)。此外,每对单元clpuai及clpuai’,其中i与i’=1、2、…、s,通过一安全经典(常规)通道(在图4中表示为“s.c.通道ii’a”)相互连接,并且每对单元clpubj及clpubj’,其中,j与j’=1、2、…、s’,通过一安全经典通道(在图4中表示为“s.c.通道jj’b”)相互连接。此外,每对单元clpuai及clpubj均通过一已认证经典(常规)通道(在图4中表示为“a.c.通道ijab”)相互连接。此外,在qkd中,kgua及kgub通过夏娃可以访问的一量子通道(在图4中表示为“q.通道”)相互连接。

在这种情况下,它被认为是一种新的钥匙分配协议,其中kgua发送以产生的原始钥匙ra的份额给一个或多个clpuai。同样地,kgub发送所述原始钥匙rb的份额给一个或多个clpubj。在图4中,sai表示kgua发送给clpuai的ra的所述份额,而sbj是kgub发送给clpubj的rb的所述份额。接下来,所述单元clpuai及clpubj通过处理所述已接收的份额sai及sbj以一种分配设置后处理所述对原始钥匙ra及rb,并且它们产生所述最终钥匙ka及kb的份额kai,1、kai,2、…、kai,n_i及kbj,1、kbj,2、…、kbj,m_j。这里,n_i表示由所述单元clpuai产生的ka的份额的总数,而m_j表示由所述单元clpubj产生的kb的份额的总数。同样,这样经典数据后处理可以包含多个步骤,例如,数据的后选择、添加噪声、参数估计、信息协调及保密增强。

为了将所述原始钥匙ra及rb拆分多个份额,kgu可以使用任何已知方法,例如,秘密共享方案或可验证秘密共享方案。在一种秘密共享方案中,拆分所述秘密的人员/装置称为分配者。在一分配者可能不诚实的情况下,重要的是验证分配者发送的份额值是否彼此一致。另外,在存在不诚实的参与者的情况下,重要的是能够保证所有诚实的参与者都可以从已接收的份额中重建相同的秘密,并且,此外,如果所述分配者是诚实的,则所述重建的秘密应该等于所述分配者原始分配的秘密。这种验证可以通过一可验证秘密共享方案来完成。在一可验证秘密共享方案中,一分配者进一步将每个份额拆分“份额的份额”,并且将这些份额发送给各个参与者。然后,那些参与者可以验证这些份额值的一致性。

在存在不诚实的clpu的情况下,使用一可验证秘密共享方案可以保证已分配的份额的一致性。因此,使用一信息协调步骤(可能包括一错误验证步骤)可以保证所述最终钥匙ka及kb的正确性。

下面,我们逐步提供了来自maurer,u.securemulti-partycomputationmadesimple.discreteappl.math.154,370-381(2006)的一种可验证秘密共享方案示例的逐步实现。它使用一(q,q)阈值秘密共享方案,分配一消息给n个参与者。例如,可以通过将要分配的消息x拆分为q个份额xi的一随机总和,其中i=1、...、q,来实现最后一种方案。例如,可以通过随机地选择x的第一个q-1份额xi,并且通过选定来完成,其中符号表示模数2的相加。一种可验证秘密共享方案通常可以分解为两个协议:所述共享及所述重建协议。以下提供的可验证秘密共享方案的示例,其允许在n个参与者之间拆分一消息x,并且针对具有最多t<n/3个的不诚实参与者的一阈值主动攻击结构提供信息理论安全性。同样,通过(一般)攻击结构,我们指的是标识了哪些参与者的组合可能被被动破坏的一组子集,以及标识了哪些参与者的组合可能被主动破坏的一组子集。应注意,还存在针对一般攻击结构安全的多种可验证秘密共享方案。为了简化说明,这里假定一阈值主动攻击结构,其中最多t个参与者可能被主动破坏(但是,本发明可以应用于其他更复杂的情况)。因此,上面描述的可验证秘密共享方案的示例以及下面给出的共享和重建协议示例,对于这种阈值主动攻击结构是安全的,但是它并不总是能抵抗一般攻击结构。但是,如果有人愿意,可以对其进行修改,以使其免受一般攻击结构的攻击。实际上,这种修改是在之前引用的文档maurer,u.securemulti-partycomputationmadesimple.discreteappl.math.154,370-381(2006)中引入的。

共享协议:

1.所述分配者使用一(q,q)阈值秘密共享方案将所述消息x拆分为q=n!/[((n-t)!t!]个份额xi,其中i=1、2、…、q。

2.让{σ1、...、σq}表示为n个参与者的所述组的所有(n-t)组合。然后,对于每个i=1、2、…、q,所述分配者通过一安全通道发送xi到所述组σi中的每个参与者。如果一参与者没有收到他的份额,则他将其所有组成部分均等于零的一比特串作为默认份额。

3.σ1中的所有参与者对都通过一安全通道互相发送他们的份额xi,以检查他们的份额确实相等。如果发现不一致,则他们使用一播放通道进行投诉。

4.如果在σ1中提出投诉,则所述分配者将xi播放给所有参与者,并且他们接受所接收的份额。如果在σ1中有投诉,则所述分配者拒绝(或他无法)向所有参与者播放xi,则所述协议中止。

重建协议:

1.所有参与者对通过一已认证经典通道发送他们的份额给彼此。

2.每个参与者使用多数表决以重建所述份额然后他们获得

图5提供所述份额一图形表示及针对一阈值攻击结构的情况所解释的所述重建协议,其中最多4个参与者中的1个可能是不诚实的(即,n=4及t=1)。在图5所示的可验证秘密共享方案中,所述消息x在四个参与者pi之间拆分,其中i=1、…、4,并且并针对具有最多t=1个不诚实参与者的一阈值主动攻击结构提供一信息理论安全性。在所述图中,xi={x,y,z}表示x的份额xx、xy及xz。在所述共享协议中,所有通道都是安全经典(常规)通道,而在所述重建协议中,所述通道是已认证经典(常规)通道。

在图中所示的情况下,所述组定义为σ1={p2、p3、p4}、σ2={p1、p3、p4}、σ3={p1、p2、p4}及σ4={p1、p2、p3}。当q=n!/[((n-t)!t!=4)时,所述消息x已拆分为4个份额x1、x2、x3及x4。然后,所述分配者通过一安全通道发送xi到σi中的所有参与者。例如,他将x1发送给p2、p3及p4,其他份额也是如此。

我们注意到执行上述共享协议的步骤3及4所需的播放通道不必是一物理通道,而可以是一模拟频道。

上面提出的可验证秘密共享方案只是一个非限制性示例,可以使用任何其他已知的或尚未开发的可验证秘密共享机制。例如,如果参与者的数量n大,存在其他有效的可验证秘密共享方案,或者如果实际有一物理播放通道可用,则存在多个可验证秘密共享方案,鉴于存在多数诚实参与者,这些方案可以保证安全性(例如,参见,rabin,t.andben-or,m.verifiablesecretsharingandmultipartyprotocolswithhonestmajority.proc.21thannualacmsymposiumontheoryofcomputing(stoc’89)73-85(acm,newyork,ny,usa,1989))。

为了实施分发一安全钥匙所需的几个经典后处理步骤,clpu可能需要在互不信任的各参与者之间产生随机数。接下来,我们将逐步介绍可用于解决此任务的方案示例。它直接来自可验证秘密共享方案,当n个参与者中最多t<n/3个不诚实并且由夏娃主动控制时,它可以在n个参与者之间产生一个公共的、完全无偏的随机l比特串r。为了方便起见,我们将其表示为随机比特串(randombitstring,rbs)协议。

随机比特串(rbs)协议:

1.假定每个前t+1个参与者在本地产生一个随机的l比特串ri,然后使用一可验证秘密共享方案的所述共享协议将它发送给所有其他参与者。

2.每个参与者使用一播放通道来确认它已经从前t+1个参与者接收到所述份额。否则,所述协议中止。

3.所有参与者使用一可验证秘密共享方案的所述重建协议来获得ri,其中i=1、...、t+1。然后,它们每个都局部计算

像上面一样,我们注意到rbs协议的步骤2所需的所述播放通道可以用一模拟播放通道实现。另外,请注意,为了在相互不受信任的各参与者之间生成随机数,其是安全抵抗一般攻击结构,一个参与者可以简单地在rbs协议中使用上述共享协议(在步骤1)及共享协议(在步骤3中),这样对于抵抗一般攻击结构是安全的,例如在之前引用的文档maurer,u.securemulti-partycomputationmadesimple.discreteappl.math.154,370-381(2006)中引入的。

为了说明这种情况下的本发明,接下来,我们描述两个协议(请参阅下面的协议2及3),可用于通过不受信任的clpu实现安全钥匙分配。它们是本发明实施例的两个示例。为了便于说明,我们在这两个示例中考虑加密站a中的clpu数量等于加密站b中的数量,即s=s’,但是当然这不是必需条件,每个加密站中的clpu数量可以不同。

第一个示例(请参见下面的协议2)可以拆分为两个主要的概念步骤。在第一步骤中,kgua及kgub执行s个独立的钥匙产生会话,它们中的每一个都由不同单元对clpuai及clpubj执行,其中i=1、2、…、s。每个会话的目标是产生一声称极小的(epsilon/s)安全钥匙kai及kbi或中止符号⊥i。为了便于说明,考虑所有i的每个kai及kbi的长度为n比特。如果clpuai及clpubj对是不诚实的,那么我们就有可能让kai及kbi受到损害并且为夏娃所知。如果一clpuai及clpubj对中的至少一个是不诚实的,则它们是不诚实的。然后,在第二步骤中,将所述钥匙kai及kbi串接起来以形成ka’=[ka1、ka2,、…、kam]及kb’=[kb1、kb2、…、kbm],其中m代表与所述中止符号不同的钥匙kai及kbi的数量,并且所述clpu对ka’及kb’应用一错误验证步骤及一保密增强步骤。这是本发明的这个实施例的一关键贡献:第二步骤在通过仅作用于ka’及kb’的份额的一分配设置中执行。我们评论说这是可能的,因为所有这些后处理技术通常本质上都是“线性的”(即,它们通常涉及线性代数中的简单函数,例如按位xor和矩阵乘法),因此,只需对ka’及kb’的份额进行操作即可轻松实现。在特定步骤中,clpu可能需要其他clpu手中的份额的信息。为了获得此类信息,他们可以使用例如可验证秘密共享方案的重建协议。也就是说,所有拥有所述信息的单元都将其简单地发送到需要它的单元,并且使用多数表使所述单元能够辨别所述信息是正确的。接下来,我们将更详细地描述所述协议:协议2(这仅是可能的实施例,并且并非所有引用的步骤在本发明的所有实施例中都是必不可少的及强制性的):

1.产生kai及kbi:kgua及kgub执行s个独立的钥匙产生会话,每个会话都有一对不同的单元clpuai及clpubi,其中i=1、2、…、s。为此,如图4所示,他们使用了“q.通道”、“s.c.通道ia”、“s.c.通道ib”及“a.c.通道ii’ab”。每个钥匙产生会话的结果将是两个比特串kai及kbi,其应该是(极小正确/s)正确及(极小秘密/s)秘密(带有极小正确+极小秘密小于极小)或表示中止的符号⊥i。

2.分配kai及kbi的份额:每个clpuai将kai拆分为多个份额,然后发送它们到加密站a中的其它clpu,例如一可验证秘密共享方案的共享协议,并且使用所述安全经典通道“s.c.通道ila”,如图4所示,并且所有的clpual,其中l=1、…、s,l≠i,彼此确认他们已经接收了他们的份额。令k’alij为clpual接收的kai的第j个份额。同样,所述单元clpubi对kbi采取同样行动。令k’blij为clpubl接收的kai的第j个份额。

3.产生k”alij及k”bl’ij:每个clpual,其中l=1、…、s,在本地定义了所述比特串k”alij=[01、…、0i-1、k’alij、0i+1、…、0m]),其中0i,i=1、…、m,代表n比特零向量,并且m是不输出所述中止符号⊥i的clpuai及clpubi对的数量。同样,所述单元clpubl的类似地行动,并且他们获得了k”bl’ij。

4.错误验证:所述clpual,其中l=1、…、s,使用例如所述rbs方案来选择一个随机比特串,并且使用它从一两通用哈希函数的一预先确定集中随机地选定一两通用哈希函数。然后,它们每一个都在本地为其比特串k”alij计算声称长度为的一哈希函数kalij=hashpa(k”alij),并且声称前2t+1个clpual通过所述已认证经典通道“a.c.通道ll’ab”如图4所示,其中l’=1、…、s。每个clpubl’都使用多数表决在本地重建所述哈希函数,并且为其所有比特串k’bl’ij获得kbl’ij=hashpa(k”bl’ij)。接下来,所有clpual及clpubl’都使用所述重建协议来获得其中q=s!/[(s-t)!t!]是每个kai及kbi的份额的数量。为此,他们通过如图4所示的通道“a.c.通道ll’ab”、“s.c.通道ll’a”及“s.c.通道ll’b”,发送给彼此比特串halij及hbl’ij,并且他们每个使用多数表决以从halij及hbl’ij获得haij及hbij。最后,每个clpual及clpubl’在本地检查ha=hb。如果它们不相等,则输出所述中止符号。如果它们相等,则继续执行步骤5。这样的错误验证步骤确保相等,除了最多极小正确的概率,其中,k”aij表示通过多数投票从k’alij获得的所述比特串,而k”bij的定义与此类似。

5.保密增强:clpual使用所述rbs方案从它们的一预先确定集中随机地选择一两通用哈希函数hashpa。他们计算kalij=hashpa(k”alij),然后声称前2t+1个clpual通过所述已认证经典通道“a.c.通道ll’ab”发送hashpa给所有clpubl’,如图4所示,其中l’=1、…、s。接下来,clpubl’使用多数表决从接收到的信息中确定hashpa并且计算kbl’ij=hashpa(k”bl’ij)。所述hashpa函数将(m*n)比特串k”alij及k”bl’ij映射到两个较短的比特串kalij及kbl’ij,其大小大约为(m-2*t)*n-[log2(4/极小正确)比特。减去2*t*n比特的原因是,在最坏的情况下,在t个不诚实参与者clpual及t个独立不诚实方clpubl的存在可能会导致2*t个不诚实对clpual及clpubl,其中l=1、…、s,因此,来自k’a的2*t*n比特可能会受到威胁。

假定t<mai/3及t<mbi/3,其中i=1、...、m,其中mai表示不产生所述中止符号而是从kai产生后处理份额kalij的clpual的数量,以及mbi表示不产生所述中止符号而是从kbi产生后处理份额kbl’ij的clpubl的数量,然后协议2的步骤5中由clpual及clpubl’单元产生的比特串kalij及kbl’ij是一最终极小的安全钥匙ka及kb的份额。如上所述,在这种情况下,单元clpual及clpubi仅被允许产生ka及kb的份额。加密站a中的一安全实验室可以使用多数表决从kalij获得kaij。同样地,加密站b中的一安全实验室可以使用多数表决从kbl’ij获取kbij。然后,以获得所述最终钥匙。

接下来,我们介绍一协议的第二示例,所述协议可以以不受信任的经典后处理单元提供安全钥匙分配(请参阅下面的协议3)。与协议2相比,所述协议有两个主要优点。首先,它不需要运行独立的钥匙产生会话,但是它可以从一单一钥匙产生运行中提取出一极小安全钥匙。其次,就秘密钥匙率而言,它更有效率,因为它提供的秘密钥匙率可能比协议2所提供的秘密钥匙率高s/(s-2*t)倍。尽管本发明的应用范围是一般性的,但是为了便于在下面说明,我们考虑所述钥匙提取过程不使用来自所述原始钥匙(然而,本发明可以应用于其他更复杂的情况,其中从所述原始钥匙执行随机数据的后选择)的随机数据的后选择。另外,为便于说明,假定所述经典后处理协议没有估计实际的qber,但是它会在对在一错误验证步骤之后的所述错误校正步骤使用一预先确定qber值。以下的协议3可以分解为两个主要的概念步骤。在第一步骤中,kgua及kgub分别地产生一原始钥匙ra及rb。接下来是本发明实施例中的一关键步骤。kgua通过使用,例如,一可验证秘密共享方案的共享协议将ra拆分成多个份额,然后将这些份额发送到所述单元clpuai。此步骤如图4所示,其中sai代表ra的份额,其通过所述安全通道“s.c.通道ia”发送给clpuai。同样地,rb被发送到分成多个份额的所述单元clpubi。然后,在第二步骤中,每个clpuai及clpubi,其中i与i’=1、2、…、s,将所述经典后处理协议应用到已接收的份额。也就是说,每个clpu可以通过直接作用于已接收的份额,在一分配设置中应用数据的后选择、添加噪声、参数估计、信息协调及保密增强。与协议2中的步骤4及5一样,这是有可能的,因为所有这些后处理技术都涉及线性代数中的简单函数,因此仅通过作用于份额即可轻松实现。接下来,我们将更详细地描述协议3的步骤:

协议3(这仅是可能的实施例,并且并非所有引用的步骤在本发明的所有实施例中都是必不可少的和强制性的):

1.分配ra及rb:首先,kgua及kgub产生一原始钥匙ra及rb。接下来,kgua使用一可验证秘密共享方案的共享协议创建ra的q=s!/[(s-t)!t!]个份额,然后,通过使用安全经典频道“s.c.通道ia”,如图4所示,将它们分配给clpuai,其中i=1、…、s。例如,对此,kgua可以使用前述的共享协议。同样,kgub对rb也是如此,并且所述单元clpuabi,其中i=1、…、s。令k’aij为clpuai收到的ra的第j个份额,并且令k’bij为clpubj(j=1、....、q)收到的ra的第j个份额。clpuai接收的份额集k’aij及clpubi接收的份额k’bij在图4中分别表示为sai及sbi。

2.数据的后选择:每个clpuai,对所有i,从已接收的k’aij份额提取两个比特串k’aij,key及k’aij,est。所述第一比特串将用于钥匙产生(经所述后处理,可以转换成一安全钥匙),并且所述第二比特串将用于参数估计。同样,所有clpubi,对于所有i,对k’bij采取同样行动,以获得k’aij,key及k’bij,est。

3.参数估计:所有clpuai及clpubi,其中i与i’=1、…、s,使用可验证秘密共享方案的重建协议来获取kaest及kbest,其是用于参数估计的k’a及k’b的一部分。为此,他们通过,如图4所示的所述通道“s.c.通道ia”、“s.c.通道i’b”及“a.c.通道ii’ab”,发送他们的份额k’aij,est及k’bi’j,est给彼此。也就是说,每个单元clpuai接收到所有其它clpu手中的份额k’ai’j,est及kbi’j,est。同样地,每个单元clpubi接收到所有其他clpu手中的份额k’ai’j,est及kbi’j,est。同样,他们每个使用多数表决以从k’aij,est及k’bij,est中获得kaj,est及kbj,est,其中j=1、...、q。然后,他们计算有了这些信息,每个clpuai及clpubi’会在本地执行所述协议的所述参数估计步骤(例如,他们估计相位误差率)。如果所述相位误差太大,则输出一中止符号。

4.错误校正:所述clpuai及clpubi对用于钥匙提提取k’akey及k’bkey的k’a及k’b的部分执行了错误校正。所述过程分别地通过对他们的份额k’aij,key及k’bij,key进行操作来完成。为此,每个clpuai应用特定矩阵mec于k’aij,key以获得saij=mec*k’aij,key。同样,每个clpubi应用mec于k’bij,key,以获得sbij=mec*k’bij,key。随后,clpuai及clpubi使用可验证秘密共享方案的重建方案来确保所有clpubi都可以获得sa=mec*k’akey及sb=mec*k’bkey。为此,所有clpuai通过所述已认证经典通道“a.c.通道ii’ab”发送所述比特串saij给所有clpubi’,如图4所示。此外,加密站b中的所有clpubi均通过“s.c.通道ii’b”发送所述比特串sbij给彼此,如图4所示。然后,每个clpubi使用多数表决对所有j从saij及sbij以本地重建saj及sbj。最后,他们获得接下来,加密站b中的clpu校正k’bkey。为此,例如,所有具有k’bkey的第j个份额k’bij,key的clpubi,其中一预先确定索引j=1、....、q,取决于sa及sb的值来翻转这个份额的特定比特。重复整个过程,直到所述错误校正程序结束。所述错误校正程序的结束由实施的所述特定错误校正协议以及所述qber的值来确定。令kaij,key及kbij,key表示为错误校正之后的份额k’aij,key及k’bij,key,并且令leakec比特作为综合症信息。这里的综合症信息是指所述信息,在这样的错误校正过程中,一个加密站的clpu发送到另一加密站的clpu的信息。例如,在每次错误校正的迭代中,加密站a上的clpu发送|sa|比特综合症信息给加密站b上的clpu。

5.错误验证:所述clpuai,其中i=1、…、s,使用所述rbs方案随机地选择一两通用哈希函数。然后,他们每个都在本地计算一哈希haij=hash(kaij,key),其长度为[log2(4/极小正确)]比特,并且前2t+1个clpuai通过所述已认证经典通道“a.c.通道ii’ab”,如图4所示。每个clpubi通过使用多数表决在本地重建所述哈希函数,并且获得hbij=hash(kbij,key)。接下来,所有clpuai及clpubi均使用一可验证秘密共享方案的所述重建协议,以同时从haij及hbij获得为此,如图4所示,他们通过所述通道“a.c.通道ii’ab”、“s.c.通道ii’a”及“s.c.通道ii’b”,其中i与i’=1、2、…、s,发送haij及hbij给彼此。也就是说,每个单元clpuai’都接收了所有其它clpu手中的所述份额haij及hbij。同样,每个单元clpubi’都接收了所有其它clpu手中的所述份额股份haij及hbij。然后,他们每个都使用多数表决来确定来自haij及hbij的所有j的haj及hbj。最后,他们每个都在本地检查是否ha=hb。如果他们不相等,则他们输出所述中止符号。如果他们相等,则他们继续执行步骤6。这个错误验证步骤确保相等,除了最多极小正确的概率,其中kaj,key及kbj,key分别地表示为所述比特串,其通过使用多数表决从kaij,key及kbij,key所获得。

6.保密增强:clpuai使用例如所述rbs协议随机地选择一两通用哈希函数hashpa。接下来,他们计算kaij=hashpa(kaij,key),然后声称通过所述已认证经典通道“a.c.通道ii’ab”,如图4所示,其中i’=1、…、s,前2t+1个clpuai将hashpa发送给所有clpubi’。接下来,clpubi使用多数表决从接收到的信息中确定hashpa并且计算kbij=hashpa(kbij,key)。所述hashpa函数删除夏娃在所述最终钥匙ka及kb上的部分信息,其包括在所述信息协调步骤中公开的所述综合症信息leakec,在所述错误验证步骤中公开的所述哈希值,以及夏娃有关密钥的信息,这些信息可以根据相位误差率进行估算。

我们注意到,如果不诚实单元clpuai的数量满足t<ma/3,不诚实单元clpubi的数量满足t<mb/3,其中ma是不中止的单元clpuai的数量,mb是不中止的单元clpubi的数量,然后根据协议3的步骤6中产生的比特串kaij及kbij,可以重建一个极小安全钥匙ka及kb。为此,一加密站a中的一安全实验室可以使用多数表决以从kaij中获得kaj,其中j=1、…、q。类似地,一加密站b中的一安全实验室可以使用多数表决以从kbij中获得kbj,其中j=1、…、q。然后,

我们备注协议2及3仅仅是本发明实施例的非限制性示例。请注意,可以对这些协议进行修改,以保证针对一般攻击结构的安全性。为此,基本上可以用另一种已知的针对一般攻击结构的鲁棒性来替换上面可针对阈值主动攻击结构进行保护的可验证秘密共享方案(例如,参见,maurer,u.securemulti-partycomputationmadesimple.discreteappl.math.154,370-381(2006)),并且,其中,宣布所述哈希函数hash及hashpa的方法可能取决于所述攻击结构。重要的是,协议2及协议3强调了本发明的关键贡献,即秘密共享方案的使用可以保证在存在不诚实clpu的情况下钥匙分配的安全性。

d.场景3:一种钥匙产生方法,在一加密站中具有不受信任的钥匙产生单元及不受信任的经典后处理单元。

在此,考虑了更一般的情况(本发明的优选实施例),其中一加密站中的kgu及clpu可能都不受信任。同样,为了保证安全性,每个加密站中使用了多个clpu及kgu,如图6所示,其中有两个加密站a及b,并且有一个窃听者夏娃,并且每个加密站都包含多于一个的钥匙产生单元kgu及多于一个的经典后处理单元clpu。像在以前的场景中一样,出于说明目的,我们将描述具有固定数量的不诚实kgu及clpu(均由夏娃主动控制)的一阈值主动攻击结构的简单情况。更确切地说,考虑情况,其中所述加密站a具有n个单元kgua1、kgua2、…、kguan,以及s个单元clpua1、clpua2、…、clpuas,并且所述加密站b具有n个单元kgub1、kgub2、…、kgubn及s'个单元clpub1、clpub2、…、clpubs’(这里假设站点a及b具有相同数量的kgu,但这仅是出于说明目的的示例,它们可能具有不同数量的kgu)。同样,考虑最多t<s/3个单元clpual,最多t'<s'/3个单元clpubj,并且最多有t”<n对钥匙产生单元kguai及kgubi,其中i=1、…、n,可能是不诚实的(不受信任的),并且由夏娃主动控制。一对单元kguai及kgubi中至少有一个是不诚实的,则他们是不诚实的。这仅是非限制性示例,并且当然,本发明可以应用于任何一般攻击结构。

再一次,由于一些clpu是不诚实的,因此不允许他们其中的任何一个具有所述最终钥匙ka及kb,但它们仅能产生所述最终钥匙的份额。例如,在图6中,对于某些索引x及y,由clpual产生的ka的份额(其中l=1、2、...、s)用kalxy表示,并且同样地,由clpubj产生的kb的份额(其中j=1、2、...、s')用kbjxy表示。另外,像以前的情况一样,我们考虑每个kguai通过一安全经典(常规)通信通道(在图6中表示为“s.c.通道ila”)连接到每个clpual,其中i=1、…、n,并且l=1、...、s,每个kgubi通过一安全经典(常规)通信通道(在图6中表示为“s.c.通道ilb”)连接到每个clpubj,其中j=1、…、s’。每对单元clpual及clpual’,其中l与l’=1、…、s,通过一安全经典(常规)通信通道(在图6中表示为“s.c.通道ll’a’”)彼此连接,每对单元clpubl及clpubl’,其中l与l’=1、…、s’,通过一安全经典(常规)通信通道(在图6中表示为“s.c.通道jj’b’”)彼此连接,每对单元clpual及clpubj,通过一已认证经典(常规)通信通道(在图6中表示为“a.c.通道ljab”)彼此连接,并且在qkd中,每对单元kguai及kgubi通过一个量子通道(图6中表示为“q.通道i”其中i=1、…、n)彼此连接,其对夏娃来说是可以访问的。

为了说明本发明,下面描述了协议的示例(参见协议4),在根据本发明的这种情况下,所述协议可用于实现安全钥匙分配。为了便于说明,在此示例中,我们认为加密站a中的clpu数量等于b的数量,即s=s'(这仅是示例,它们可能具有不同数量的clpu)。协议4可以分为两个主要的概念步骤。在第一步骤中,每对单元kguai及kgubi产生一原始钥匙,然后它们与经典后处理单元clpual及clpubl一起实现上述协议3。结果,所述单元clpua1和clpub1,其中l=1、…、s,获得一(极小/n)安全钥匙kai及kbi(i=1、....、n)的份额或中止符号⊥i。特别是,令k’alij为clpual接收的kai的第j个份额,同样,令k’blij为clpubl接收的kbi的第j个份额。此外,为了简化讨论(但不是出于限制性目的),让我们考虑例如,对于所有i,所有kai及kbi的长度为n比特。接下来,所述clpu与协议2相似地进行。也就是说,所述钥匙kai及kbi被串接以形成ka’=[ka1、ka2、...、kam]及kb’=[kb1、kb2、...、kbm],其中m表示不同于所述中止符号的钥匙kai及kai的数目,并且clpu对ka’及kb’应用了一保密增强步骤。这个保密增强步骤删除了关于不诚实的kgu对可能泄露给夏娃的有关ka’的信息。通过仅对份额k’alij及k’blij进行操作,可以在一分配设置中执行第二步骤。协议4(这仅是可能的实施例,并且并非所有引用的步骤在本发明的所有实施例中都是必不可少的和强制性的):

1.产生与分配kai及kbi:的份额:每对kguai及kgubi,其中i=1、…、n,产生一个原始钥匙,然后将它们与经典后处理单元clpual及clpubl一起实现上述协议3的所有步骤。结果,所述单元clpual及clpubl,其中l=1、…、s,获得一极小的安全钥匙kai及kbi,或所述符号⊥i以指示中止。令k’alij为clpual接收的kai的第j个份额,同样,令k’blij为clpubl接收的kbi的第j个份额。

2.产生k”alij及k”blij:每个clpual,其中l=1、...、s,本地地定义所述比特串k”alij=[01、…、0i-1,k’alij,0i+1、…、0m],其中0i,其中i=1、…、m,代表n比特零向量,并且m是与所述中止符号⊥i不同的钥匙kai及kbi的数量。同样,单元clpubl的行为类似,他们获得了k”blij。

3.保密增强:clpual使用rbs方案随机地选择一两通用哈希函数hashpa。他们计算kalij=hashpa(k”alij),并且声称前2t+1个clpual通过所述已认证经典通道“a.c.通道ll’ab”,如图6所示,其中l’=1、...、s。接下来,clpubl使用多数表决以从接收到的信息中确定hashpa,并且计算kbl’ij=hashpa(k”bl’ij)。所述函数hashpa将(m*n)比特串k”alij及k”bl’ij映射到大小分别约为(m-t”)*n比特的两个较短的比特串kalij及kbl’ij。

假设t<mai/3及t’<mbi/3,其中对于所有i=1、…、m,其中mai表示不产生中止符号而是从kai产生后处理份额kalij的clpual的数量,且mbi表示不产生中止符号而是从kbi产生后处理份额kbl’ij的clpubl’的数量,然后可以按照协议2中重建最终钥匙的相同过程,从份额kalij及kbl’ij中重建一最终极小的安全钥匙ka及kb。我们备注协议4仅仅是本发明实施例的一示例。依照相似的想法,可以定义替代协议,其也允许在这种场景下安全分配钥匙。例如,可以用以下步骤代替协议4的第一步骤,其中每组单元kguai、kgubi、clpuai及clpubi,其中i=1、2、…、n,首先执行钥匙产生会话以产生极小的安全钥匙kai及kbi或中止符号⊥i,接着通过使用一可验证秘密共享方案的共享协议,在所有clpual之间分配kai,在所有clpubl’之间分配kbi。在后一种情况下,为了保证最终结果的正确性,可以包括一错误验证步骤,其通过对份额采取行动而在一分配设置中实施。另外,我们备注可以通过遵循针对前两种情况说明的技术来修改协议4及类似协议,以保证针对一般攻击结构的安全性。重要的是,协议4给出的示例说明了本发明的一个关键贡献,也就是说,秘密共享方案及保密增强技术的结合可以保证以不诚实的kgu和clpu进行安全钥匙分配。

综上所述,可以说本发明的主要目的是获得一种安全钥匙产生系统,其具有由各种不受信任的供应商购买/制造的组件。本发明可以用于防御不受信任的钥匙产生单元(kgu)及不受信任的经典后处理单元(clpu)。此外,本发明的优点在于对于一拒绝服务攻击是强健的,因为信任分配在可能使用完全不同通道的多个kgu中。

为了简单起见,到目前为止,已经针对只有两个用户的特定示例讨论了本发明。应该注意的是,它可以应用于有多个用户(因此有多个加密站)的网络设置。此外,它还可以应用于多个用户通过多条路径相互连接的网络设置,并且它允许用户将从多个路径产生的多个钥匙组合为最终钥匙,以防止不受信任的装置的安全,并且还可以防止包含窃听者控制的节点的受损路径的安全。此外,为简单起见,我们假设每个用户实际上仅位于一个本地加密站中。应当注意,我们在图3、4及6中绘制为单一个加密站的内容可能是物理节点的集合,这些物理节点分布在通信网络中的远处。

本发明可以与受信任的中继及不受系信任中继两者结合。而且,本发明可以应用于与测量装置无关的qkd设置,其中不受信任的中间人查尔斯对由爱丽丝及鲍勃的加密站发送的量子态执行一些测量(例如,贝尔状态测量)。此外,本发明可以与量子中继器结合。

本发明可以与各种经典后处理协议相结合,包括后选择协议、或者如前所述,增加噪声协议。

本发明与各种qkd协议兼容,包括例如诱饵状态qkd、cow协议、rr-dpsqkd协议和及基于纠缠的qkd。它也适用于各种编码方案以及用于钥匙产生的离散变量和连续变量方案。

即使我们已经在可组合的安全框架(一个协议可以与其他协议任意组合的方式)中讨论了我们的发明,本发明也适用于其他安全框架,包括涉及计算假设的安全框架。

尽管已经参照本发明的优选实施例和替代实施例描述了本发明,但是应当理解,在不脱离本发明的精神和范围的情况下,可以对构成本发明的部件和方法进行各种修改。

本领域技术人员将容易认识到,各种上述方法的步骤可以由编程的计算机执行。在本文中,一些实施例还旨在覆盖程序存储设备,例如数字数据存储介质,其是机器或计算机可读的,并且对指令的机器可执行或计算机可执行程序进行编码,其中,所述指令执行所述方法的一些或全部步骤。程序存储设备可以是例如数字存储器、诸如磁盘和磁带的磁存储介质、硬盘驱动器或光学可读数字数据存储介质。实施例还旨在覆盖被编程为执行上述方法的所述步骤的计算机。

说明书和附图仅示出了本发明的原理。尽管已经参考特定实施例描述了本发明,本领域技术人员应该理解,在不脱离由所附权利要求限定的本发明的范围的情况下,可以在形式和细节上进行前述和各种其他改变、省略和添加。

此外,本文中列举的所有示例原则上都明确地旨在仅用于教学目的,以帮助读者理解本发明的原理以及发明人为促进本领域技术而做出的构思,并且应被解释为不限于这样具体列举的示例和条件。此外,本文中引用本发明的原理、方面和实施例及其特定示例的所有陈述旨在涵盖其等同形式。

本领域技术人员应理解,本文的任何框图表示体现本发明原理的说明性电路的概念图。类似地,将意识到,任何流程图、作业图、状态转变图、伪代码等都代表各种过程,不论是否明确示出了这种计算机或处理器,其可以基本上在计算机可读介质中表示并且因此由计算机或处理器执行。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1