[0062] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0063] 现有技术中,不满足密钥协商的公平属性:现有基于量子技术的两方密钥协商协议,普遍存在不公平的问题,即参与密钥协商的一方可以全权决定最终的会话密钥,这种协议应该是密钥分发协议,而不是密钥协商协议。密钥协商注重的是双方共同、平等的协商一个安全的密钥。
[0064] 本发明实施例提供的基于半量子技术的两方密钥协商方法,包括:
[0065] 有三个用户参与本协议的执行,两个协商密钥的用户第一协商密钥用户和第二协商密钥用户,一个半可信的第三方半可信第三方。其中第一协商密钥用户和第二协商密钥用户只需具备两个基本的量子功能,1)测量(Measure):使用经典基{|0>,|1>}测量量子,生成一个新的量子|0>或|1>,并发送出去;2)反射(Reflect):收到的量子后,不做任何修改,直接发回给发送者。而半可信第三方具有高级的量子功能,它可以制备贝尔纠缠态量子(Bell states)和三粒子纠缠态(GHZ states)、可执行贝尔联合测量(Bell Measurement)和GHZ态测量(GHZ Measurement)、具有量子存储功能等。而且半可信第三方是一个半可信的第三方,即半可信第三方要遵从协议的执行,制备和发布量子、检测攻击者,但半可信第三方还设法在协议执行过程中,获得第一协商密钥用户和第二协商密钥用户协商的密钥。另外半可信第三方不能与其他人发起合谋攻击。
[0066] 具体方案描述如下:
[0067] 步骤一,半可信第三方制备Bell states,用于生成会话密钥;制备GHZ states作为检测粒子,用于检测外部窃听者。
[0068] 半可信第三方制备n个Bell states,每个Bell states处在 或态;提取Bell states中所有第一个粒子和第二个粒子,按照顺序排列,
分别形成量子序列S′1和S′2,用于生成会话密钥;半可信第三方准备m个GHZ states将所有第一个粒子形成序列A,第二粒子形成序列B,第三个粒子形成
序列C;半可信第三方将B和C序列中的粒子随机的插入到S′1和S′2序列中的相同位置,若B的粒子插入到S′1的第二位,C中粒子也放在S′2中的第二位,则形成两个长度为m+n的新量子序列S1和S2;其中GHZ states粒子用于检测外部攻击者。
[0069] 半可信第三方保存A粒子序列,将S1和S2分别发送给第一协商密钥用户和第二协商密钥用户。
[0070] 步骤二,第一协商密钥用户和第二协商密钥用户对收到量子进行随机操作。
[0071] 第一协商密钥用户和第二协商密钥用户收到粒子后,随机的选择Measure和Reflect两个操作中的一个执行;
[0072] 步骤三,半可信第三方检测是否存在窃听者。
[0073] 当半可信第三方将第一协商密钥用户和第二协商密钥用户反射的粒子存储后,半可信第三方对外公布S1和S2中哪些位置的粒子是用于检测窃听;随后,第一协商密钥用户和第二协商密钥用户对外宣布对S1和S2中每个粒子所做的相应操作,若第一协商密钥用户和第二协商密钥用户对检测粒子执行Measure操作,则第一协商密钥用户和第二协商密钥用户宣布对应粒子的测量结果;
[0074] 基于上述公布的内容,半可信第三方开始检测窃听,如果第一协商密钥用户和第二协商密钥用户都对检测粒子执行Reflect操作,半可信第三方将对第一协商密钥用户和第二协商密钥用户反射的粒子和半可信第三方手中对应位置粒子执行GHZ Measurement;如果第一协商密钥用户和第二协商密钥用户其中一方对检测粒子执行Reflect操作,则该反射粒子和半可信第三方手中对应位置的粒子会共同形成一个Bell states;半可信第三方将对这两个粒子执行Bell Measurement;若第一协商密钥用户和第二协商密钥用户都对检测粒子执行Measure操作,半可信第三方则使用经典基{|0>,|1>}测量半可信第三方手上相应位置的粒子;半可信第三方根据所有测量结果,判断对应的错误率是否在错误阈值内,如果超过阈值,则存在窃听者,协议中止执行,否则协议继续执行下一步。
[0075] 步骤四,第一协商密钥用户和第二协商密钥用户协商共享的会话密钥。
[0076] 半可信第三方在确定没有窃听者后,公布半可信第三方在步骤一中发送的Bell states粒子的所有状态;第一协商密钥用户和第二协商密钥用户先将S1和S2中的检测粒子去掉;对于剩下的Bell states粒子,如果第一协商密钥用户和第二协商密钥用户在相同位置上都执行Measure操作,则第一协商密钥用户和第二协商密钥用户根据各自的测量结果和半可信第三方公布的Bell states粒子的状态,推测出对方相应粒子的测量结果,形成最终的共享会话密钥。
[0077] 综上所述,该方案的主要工作过程是半可信第三方制备Bell states,用于生成会话密钥;制备GHZ states作为检测粒子,用于检测外部窃听者。半可信第三方将生成的粒子序列S1和S2分别发送给第一协商密钥用户和第二协商密钥用户。第一协商密钥用户和第二协商密钥用户对收到量子随机选择执行Measure或Reflect操作。半可信第三方根据第一协商密钥用户和第二协商密钥用户对检测粒子的操作,检测是否存在窃听者。第一协商密钥用户和第二协商密钥用户根据半可信第三方公布的Bell states和对方采用的操作,协商共享的会话密钥。
[0078] 下面用一个例子说明协议执行的过程:
[0079] 1)半可信第三方准备两个Bell states粒子|φ+>、|ψ+>和两个GHZ states形成状态序列 和 其中 中的2和3代表GHZ states中的第二个和第三个粒子;半可信第三方将状态序列 和 中的第一、第二个粒
子按顺序分别发送给第一协商密钥用户和第二协商密钥用户;
[0080] 2)若第一协商密钥用户对收到粒子所做的操作是Measure、Measure、Reflect和Reflect,第二协商密钥用户所做的操作是Measure、Reflect、Measure和Reflect;
[0081] 3)半可信第三方公布第二个、第四个粒子是检测粒子,第一协商密钥用户和第二协商密钥用户公布对所有粒子所做的操作,并且第一协商密钥用户公布对第二个粒子所做测量的测量结果;若测量结果为|0>;半可信第三方对第二协商密钥用户反射的第二个粒子和半可信第三方手上的第二个粒子做Bell Measurement;若测量结果是|φ+>,没有监听者;半可信第三方对第一协商密钥用户和第二协商密钥用户反射的第四个粒子和半可信第三方手中的第四个粒子做GHZ Measurement;若测量结果是 没有监听者;
[0082] 4)监听检测通过后,半可信第三方公布发送的所有Bell states的状态;第一协商密钥用户和第二协商密钥用户去掉第二、第四个监听粒子;由于对于第一个粒子第一协商密钥用户和第二协商密钥用户都做测量,所以可用于生成共享密钥;若第一协商密钥用户对第一个粒子的测量结果为ra=0,根据半可信第三方公布的最初Bell states的状态,第一协商密钥用户可获知第二协商密钥用户对第一个粒子的测量结果是rb=0;同理,第二协商密钥用户也可获知第一协商密钥用户对第一个粒子的测量结果;最终,第一协商密钥用户和第二协商密钥用户都生成相同的会话密钥ra||rb=00。
[0083] 由此,第一协商密钥用户和第二协商密钥用户完成了共享会话密钥的协商。该密钥由粒子的最初状态和第一协商密钥用户、第二协商密钥用户所执行的操作决定,对于协议的任意一方都无法提前获知或决定,因此满足密钥协商协议的公平属性。对于攻击者来说,只要其对传输的量子进行测量,半可信第三方就会发现,因此攻击者无法修改、获得粒子的测量结果,也就无法获得最终密钥。对于半可信第三方,由于最终的共享密钥是由半可信第三方发送的Bell states的状态决定的,而每个Bell states中两个粒子被第一协商密钥用户和第二协商密钥用户分别测量后,可能得到两个状态,而且获得每个状态的概率都是0.5。因此,半可信第三方无法预知第一协商密钥用户和第二协商密钥用户的最终测量结果是哪一个,对密钥中的每一位,他都只有一半的概率猜中,当密钥足够长时,半可信第三方是无法获得共享密钥信息的。
[0084] 本发明另一目的在于提供一种基于半量子技术的两方密钥协商系统,包括:
[0085] 半可信第三方处理模块,用于半可信第三方制备n个Bell states,每个Bell states处在 或 态;提取Bell states中所有第一个粒子和第二个粒子,按照顺序排列,分别形成量子序列S′1和S′2,这部分用于生成会话密钥;
半可信第三方准备m个GHZ states 将所有第一个粒子形成序列A,第
二粒子形成序列B,第三个粒子形成序列C;半可信第三方将B和C序列中的粒子随机的插入到S′1和S′2序列中的相同位置,即如果B的粒子插入到S′1的第二位,那么C中粒子也放在S′2中的第二位,由此形成两个长度为m+n的新量子序列S1和S2,其中GHZ states粒子主要用于检测外部攻击者;最后,半可信第三方保存C粒子序列,将S1和S2分别发送给第一协商密钥用户和第二协商密钥用户;
[0086] 密钥协商模块,用于第一协商密钥用户和第二协商密钥用户收到粒子后,随机的选择Measure和Reflect两个操作中的一个执行;
[0087] 半可信第三方窃听检测模块,用于当半可信第三方将第一协商密钥用户和第二协商密钥用户反射的粒子存储后,半可信第三方对外公布S1和S2中哪些位置的粒子是用于检测窃听;随后,第一协商密钥用户和第二协商密钥用户对外宣布他们对S1和S2中每个粒子所做的相应操作,而且如果第一协商密钥用户和第二协商密钥用户对检测粒子执行了Measure操作,第一协商密钥用户和第二协商密钥用户宣布对应粒子的测量结果;
[0088] 共享会话密钥生成模块,半可信第三方在确定没有窃听者后,公布他第一步发送的Bell states粒子的所有状态;第一协商密钥用户和第二协商密钥用户先将S1和S2中的检测粒子去掉,对于剩下的Bell states粒子,如果第一协商密钥用户和第二协商密钥用户在相同位置上都执行了Measure操作,第一协商密钥用户和第二协商密钥用户根据各自的测量结果和半可信第三方公布的Bell states粒子的状态,推测出对方相应粒子的测量结果,形成最终的共享会话密钥。
[0089] 下面结合具体实施例对本发明作进一步描述。
[0090] 有三个用户参与本协议的执行,两个协商密钥的用户第一协商密钥用户和第二协商密钥用户,一个半可信的第三方半可信第三方。其中第一协商密钥用户和第二协商密钥用户只具备基本的量子功能,测量(Measure)和反射(Refl ect)。而半可信第三方具有高级的量子功能。
[0091] 步骤一,半可信第三方制备Bell states,用于生成会话密钥;制备GHZ states作为检测粒子,用于检测外部窃听者。
[0092] 半可信第三方制备n个Bell states,每个Bell states处在 或态;提取Bell states中所有第一个粒子和第二个粒子,按照顺序排列,
分别形成量子序列S′1和S′2,用于生成会话密钥;半可信第三方准备m个GHZ states将所有第一个粒子形成序列A,第二粒子形成序列B,第三个粒子形成
序列C;半可信第三方将B和C序列中的粒子随机的插入到S′1和S′2序列中的相同位置,若B的粒子插入到S′1的第二位,C中粒子也放在S′2中的第二位,则形成两个长度为m+n的新量子序列S1和S2;其中GHZ states粒子用于检测外部攻击者。
[0093] 半可信第三方保存A粒子序列,将S1和S2分别发送给第一协商密钥用户和第二协商密钥用户。
[0094] 步骤二,第一协商密钥用户和第二协商密钥用户对收到量子进行随机操作。
[0095] 第一协商密钥用户和第二协商密钥用户收到粒子后,随机的选择Measure和Reflect两个操作中的一个执行;
[0096] 步骤三,半可信第三方检测是否存在窃听者。
[0097] 当半可信第三方将第一协商密钥用户和第二协商密钥用户反射的粒子存储后,半可信第三方对外公布S1和S2中哪些位置的粒子是用于检测窃听;随后,第一协商密钥用户和第二协商密钥用户对外宣布对S1和S2中每个粒子所做的相应操作,若第一协商密钥用户和第二协商密钥用户对检测粒子执行Measure操作,则第一协商密钥用户和第二协商密钥用户宣布对应粒子的测量结果;基于上述公布的内容,半可信第三方开始检测窃听,如果第一协商密钥用户和第二协商密钥用户都对检测粒子执行Reflect操作,半可信第三方将对第一协商密钥用户和第二协商密钥用户反射的粒子和半可信第三方手中对应位置粒子执行GHZ Measurement;如果第一协商密钥用户和第二协商密钥用户其中一方对检测粒子执行Reflect操作,则该反射粒子和半可信第三方手中对应位置的粒子会共同形成一个Bell states;半可信第三方将对这两个粒子执行Bell Measurement;若第一协商密钥用户和第二协商密钥用户都对检测粒子执行Measure操作,半可信第三方则使用经典基{|0>,|1>}测量半可信第三方手上相应位置的粒子;半可信第三方根据所有测量结果,判断对应的错误率是否在错误阈值内,如果超过阈值,则存在窃听者,协议中止执行,否则协议继续执行下一步。
[0098] 步骤四,第一协商密钥用户和第二协商密钥用户协商共享的会话密钥。
[0099] 半可信第三方在确定没有窃听者后,公布半可信第三方在步骤一中发送的Bell states粒子的所有状态;第一协商密钥用户和第二协商密钥用户先将S1和S2中的检测粒子去掉;对于剩下的Bell states粒子,如果第一协商密钥用户和第二协商密钥用户在相同位置上都执行Measure操作,则第一协商密钥用户和第二协商密钥用户根据各自的测量结果和半可信第三方公布的Bell states粒子的状态,推测出对方相应粒子的测量结果,形成最终的共享会话密钥。
[0100] 下面结合具体实施例对本发明作进一步描述。
[0101] 实施例1
[0102] 见图1,本实施例包括协商密钥的双方第一协商密钥用户和第二协商密钥用户,还有一个半可信的第三方半可信第三方。
[0103] 半可信第三方将粒子序列分别发送给第一协商密钥用户和第二协商密钥用户,第一协商密钥用户和第二协商密钥用户随机的选择Measure和Reflect两个操作中的一个执行。
[0104] 实施例2
[0105] 见图2,实施例1的使用方法,包括以下步骤:
[0106] 1)如果是监听检测粒子。
[0107] 第一协商密钥用户和第二协商密钥用户都执行Measure,则半可信第三方也执行单粒子测量,并根据三人的测量结果发现监听者。
[0108] 第一协商密钥用户和第二协商密钥用户都执行Reflect,则半可信第三方将收到的两个粒子和自己手中相应位置的粒子进行GHZ联合测量,根据测量结果发现监听者。
[0109] 第一协商密钥用户和第二协商密钥用户分别执行了Measure和Reflect,则半可信第三方将反射粒子和自己手中相应位置的粒子进行贝尔基联合测量,根据测量结果发现监听者
[0110] 2)如果不是监听粒子,当第一协商密钥用户和第二协商密钥用户都执行Measure时,第一协商密钥用户和第二协商密钥用户根据半可信第三方公布的贝尔态和自己的测量结果,推断出对方的测量结果,并生成最终的共享密钥。
[0111] 实施例3
[0112] 见图3,实施例1、2的使用方法,如果监听者想获得完整的信息,其被检测的概率为0.75%。
[0113] 本发明需要具有在量子通信网络环境中执行,因此需参与的计算机具有量子功能,传输时需要量子网络。
[0114] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机需配置量子装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过量子通信网络和有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)相结合的方式向另一个网站站点、计算机、服务器或数据中心进行传输。
[0115] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。