[go: up one dir, main page]

CN107086907B - 用于量子密钥分发过程的密钥同步、封装传递方法及装置 - Google Patents

用于量子密钥分发过程的密钥同步、封装传递方法及装置 Download PDF

Info

Publication number
CN107086907B
CN107086907B CN201610086096.7A CN201610086096A CN107086907B CN 107086907 B CN107086907 B CN 107086907B CN 201610086096 A CN201610086096 A CN 201610086096A CN 107086907 B CN107086907 B CN 107086907B
Authority
CN
China
Prior art keywords
key
available
parties
synchronization
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610086096.7A
Other languages
English (en)
Other versions
CN107086907A (zh
Inventor
原鹏
王志强
刘拴林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610086096.7A priority Critical patent/CN107086907B/zh
Priority to TW105129839A priority patent/TWI735464B/zh
Priority to US15/402,030 priority patent/US10326591B2/en
Priority to PCT/US2017/012868 priority patent/WO2017142647A1/en
Publication of CN107086907A publication Critical patent/CN107086907A/zh
Application granted granted Critical
Publication of CN107086907B publication Critical patent/CN107086907B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请公开了一种用于量子密钥分发过程的密钥同步方法及装置,同时公开了一种量子密钥同步分发方法及装置,以及一种用于量子密钥分发过程的密钥封装传递方法及装置。所述用于量子密钥分发过程的密钥同步方法在向应用程序分发量子密钥的一对密钥管理程序中实施,包括:比对双方密钥池中的首个可用密钥块的时序同步标识是否一致;若不一致,则双方采用从首个可用密钥块开始、弃用在对方密钥池中无相应时序同步标识的可用密钥块的方式,使得双方密钥池中的首个可用密钥块的时序同步标识一致。采用本方法,双方可快速地重新恢复密钥池的时序同步状态,而不需要清空整个密钥池,从而大大提高了密钥管理程序的可用性,有效地避免了对量子密钥资源的浪费。

Description

用于量子密钥分发过程的密钥同步、封装传递方法及装置
技术领域
本申请涉及量子密钥技术领域,具体涉及一种用于量子密钥分发过程的密钥同步方法及装置。本申请同时涉及一种量子密钥同步分发方法及装置,以及一种用于量子密钥分发过程的密钥封装传递方法及装置。
背景技术
量子力学的发展是人类在过去的一百多年里最伟大的科学发现和进步。随着对量子力学认识的深入,量子力学相关技术开始逐渐应用到了人类生活中的方方面面。其中量子力学在密码学领域的应用取得了较大的发展与突破,很多机构实现了完整的量子密钥分发系统。
一个完整的量子密钥分发系统由三个部分组成:量子引擎(Quantum Engine)、密钥管理(Key Management)和有加密需求的应用程序(Cryptographic App),三个部分之间相对独立,同时在功能上构成一个从上至下的分层调用结构。量子密钥分发系统的架构如图1所示,其中,Quantum Engine实现了单光子的收发、随机数生成、初始密钥筛选、误码纠错、隐私放大以及安全认证等功能,完成密钥的协商生成过程,然后将生成的密钥序列传递到对应的密钥管理程序并存储在密钥池中。密钥管理程序则负责管理密钥,以及响应应用程序的请求:根据其请求的长度从密钥池的待分发密钥序列中截取相应长度的密钥序列、并将其返回给所述应用程序。
在量子密钥分发过程中,需要加解密的双方应用程序(一方利用密钥加密,另一方使用相同的密钥解密)会共享一个标示,并分别拿这个标示去和对应的密钥管理程序发起请求;而双方的密钥管理程序根据应用程序请求中携带的标示信息来确认一次完整的请求,并在响应请求前,执行一次同步操作,即:双方的密钥管理程序确认有符合请求长度的密钥、并且可以通过经典信道确认这段密钥的内容也是完全一样的,然后才向应用程序返回其所需的密钥序列。
理想情况下,上述同步操作都可以顺利完成,但是在实际应用中,在量子引擎将生成的密钥序列传递给相应的密钥管理程序的过程中、以及在密钥管理程序存储密钥序列的过程中,都有可能出现错误,导致双方的密钥管理程序在密钥池中存储的密钥序列出现不同步的情况,特别是可能由于其中一方丢失了某一段密钥序列(例如:可能因为网络传输线路故障或者设备重启等原因),导致双方密钥池中的密钥序列处于时序未对齐状态,即:出现时序不同步的状况。
在这种情况下,双方密钥管理程序每次在响应应用程序请求之前执行的同步操作通常都无法成功,密钥管理程序自然无法向应用程序提供其所需的密钥,导致整个密钥管理系统无法正常工作。通常只能由双方的密钥管理程序把各自的密钥池清空,等待量子引擎生成新的密钥后再重新进行同步并响应应用程序的请求。由此可见,目前的密钥同步方法在出现时序不同步的情况下,不仅会导致密钥管理程序的可用性降低,而且浪费通过协商过程生成的量子密钥资源。
发明内容
本申请实施例提供一种用于量子密钥分发过程的密钥同步方法和装置,可以解决现有的密钥同步方法在时序不同步的情况下导致密钥管理程序可用性降低、以及浪费量子密钥资源的问题。本申请实施例还提供一种量子密钥同步分发方法和装置,以及一种用于量子密钥分发过程的密钥封装传递方法及装置。
本申请提供一种用于量子密钥分发过程的密钥同步方法,所述方法在向应用程序分发量子密钥的一对密钥管理程序中实施,包括:
比对双方密钥池中的首个可用密钥块的时序同步标识是否一致;
若不一致,则双方采用从首个可用密钥块开始、弃用在对方密钥池中无相应时序同步标识的可用密钥块的方式,使得双方密钥池中的首个可用密钥块的时序同步标识一致;
其中,任一方密钥池中的可用密钥块是指,按照从相对应的量子引擎程序接收的顺序存储在密钥池中的、待分发给应用程序的密钥块;所述可用密钥块的时序同步标识,用于表征与所述双方分别相对应的量子引擎程序同步生成所述密钥块的时序信息。
可选的,所述任一方密钥池中的可用密钥块是由相对应的量子引擎程序通过如下方式提供的:
当通过量子密钥协商过程获取的密钥序列的长度大于或等于预设阈值时,执行下述操作:
按照所述预设阈值将所述密钥序列分割成相应长度的密钥块;
获取时序同步标识,并通过在预设位置添加所述时序同步标识的方式对所述密钥块进行封装;
将封装后的密钥块传递给相对应的密钥管理程序,以供其存储在密钥池中。
可选的,在所述按照所述预设阈值将所述密钥序列分割成相应长度的密钥块之后,还包括:
与对方量子引擎程序比对双方分割的密钥块的内容是否一致;
若一致,则执行所述获取时序同步标识,并通过在预设位置添加所述时序同步标识的方式对所述密钥块进行封装的步骤。
可选的,当所述与对方量子引擎程序比对双方分割的密钥块的内容是否一致的结果为一致时,还包括:
与对方量子引擎程序比对双方的时序同步标识是否一致;
若一致,则执行所述获取时序同步标识,并通过在预设位置添加所述时序同步标识的方式对所述密钥块进行封装的步骤;
否则,用其中表征时序较晚的时序同步标识更新自己的时序同步标识,并执行所述获取时须同步标识,并通过在预设位置添加所述时序同步标识的方式对所述密钥块进行封装的步骤。
可选的,所述比对双方密钥池中的首个可用密钥块的时序同步标识是否一致,包括:
其中一方向对方发送时序同步请求,所述时序同步请求中至少包含请求方密钥池中首个可用密钥块的时序同步标识;
所述时序同步请求的接收方,判断接收到的所述时序同步请求中携带的时序同步标识与自己密钥池中的首个可用密钥块的时序同步标识是否一致;
所述时序同步请求的接收方至少将比对结果返回给所述请求方。
可选的,所述双方采用从首个可用密钥块开始、弃用在对方密钥池中无相应时序同步标识的可用密钥块的方式,使得双方密钥池中的首个可用密钥块的时序同步标识一致,包括:
由在比对中时序同步标识表征时序较早的一方弃用相应的可用密钥块;
比对双方密钥池中的首个可用密钥块的时序同步标识是否一致,并在不一致时转到所述由在比对中时序同步标识表征时序较早的一方弃用相应的可用密钥块的步骤执行。
可选的,当双方密钥池中的首个可用密钥块的时序同步标识一致时,还包括:
比对双方密钥池中的首个可用密钥块的内容是否一致;
若不一致,则双方各自弃用所述内容不一致的首个可用密钥块,并转到所述比对双方密钥池中的首个可用密钥块的时序同步标识是否一致的步骤执行。
可选的,所述比对双方密钥池中的首个可用密钥块的内容是否一致,包括:
双方按照预设的摘要算法、各自计算密钥池中首个可用密钥块的摘要值;
双方比对各自计算得到的所述摘要值是否一致,若一致则判定双方密钥池中的首个可用密钥块的内容一致,否则不一致。
可选的,在所述比对双方密钥池中的首个可用密钥块的时序同步标识是否一致之前,包括:
其中一方接收来自应用程序的密钥获取请求;
当双方密钥池中的首个可用密钥块的时序同步标识一致时,还包括:
所述密钥获取请求的接收方,将密钥池中首个可用密钥块中的密钥序列返回给所述应用程序。
相应的,本申请还提供一种用于量子密钥分发过程的密钥同步装置,包括:
时序同步标识比对单元,用于比对双方密钥池中的首个可用密钥块的时序同步标识是否一致;
密钥块时序同步单元,用于当所述时序同步标识比对单元的输出结果为不一致时,双方采用从首个可用密钥块开始、弃用在对方密钥池中无相应时序同步标识的可用密钥块的方式,使得双方密钥池中的首个可用密钥块的时序同步标识一致。
可选的,所述时序同步标识比对单元进行比对的双方密钥池中的可用密钥块是由量子引擎单元提供的;所述量子引擎单元包括:
长度判断子单元,用于判断通过量子密钥协商过程获取的密钥序列的长度是否大于或等于预设阈值;
密钥块分割子单元,用于当所述长度判断子单元的输出结果为是时,按照所述预设阈值将所述密钥序列分割成相应长度的密钥块;
时序封装子单元,用于获取时序同步标识,并通过在预设位置添加所述时序同步标识的方式对所述密钥块进行封装;
密钥块传递子单元,用于将封装后的密钥块传递给相对应的密钥管理程序,以供其存储在密钥池中。
可选的,所述时序同步标识比对单元包括:
请求发送子单元,用于其中一方向对方发送时序同步请求,所述时序同步请求中至少包含请求方密钥池中首个可用密钥块的时序同步标识;
标识比对子单元,用于所述时序同步请求的接收方,判断接收到的所述同步请求中携带的时序同步标识与自己密钥池中的首个可用密钥块的时序同步标识是否一致;
结果返回子单元,用于所述时序同步请求的接收方至少将比对结果返回给所述请求方。
可选的,所述密钥块时序同步单元包括:
密钥块弃用子单元,用于由在比对中时序同步标识表征时序较早的一方弃用相应的可用密钥块;
同步比对子单元,用于比对双方密钥池中的首个可用密钥块的时序同步标识是否一致,并在不一致时触发所述密钥块弃用子单元工作。
可选的,所述装置还包括:
密钥块内容同步单元,用于当所述时序同步标识比对单元的输出结果为一致时,比对双方密钥池中的首个可用密钥块的时序同步标识是否一致;所述密钥块内容同步单元,还用于当所述密钥块时序同步单元工作完毕后,比对双方密钥池中的首个可用密钥块的时序同步标识是否一致;
双方弃用单元,用于当所述密钥块内容同步单元的输出为不一致时,双方各自弃用所述内容不一致的首个可用密钥块,并触发所述时序同步标识比对单元工作。
可选的,所述密钥块内容同步单元,包括:
摘要值计算子单元,用于双方按照预设的摘要算法、各自计算密钥池中首个可用密钥块的摘要值;
摘要值比对子单元,用于双方比对各自计算得到的所述摘要值是否一致,若一致则判定双方密钥池中的首个可用密钥块的内容一致,否则不一致。
可选的,所述装置还包括:
密钥获取请求接收单元,用于其中一方接收来自应用程序的密钥获取请求,并触发所述时序同步标识比对单元工作;
所述装置还包括:
密钥序列发送单元,用于当所述时序同步标识比对单元的输出结果为一致时,以及当所述密钥块时序同步单元工作完毕后,所述密钥获取请求的接收方,将密钥池中首个可用密钥块中的密钥序列返回给所述应用程序。
此外,本申请还提供一种量子密钥同步分发方法,所述方法在向应用程序分发量子密钥的一对密钥管理程序中实施,包括:
其中一方接收来自应用程序的密钥获取请求;
比对双方密钥池中的首个可用密钥块的时序同步标识是否一致;
若一致,双方根据各自接收到的密钥获取请求、向相应的应用程序返回密钥池中首个可用密钥块中的密钥序列。
可选的,当所述比对双方密钥池中的首个可用密钥块的时序同步标识是否一致的结果为不一致时,还包括:
双方采用从首个可用密钥块开始、弃用在对方密钥池中无相应时序同步标识的可用密钥块的方式,使得双方首个可用密钥块的时序同步标识一致;
并转到所述双方根据各自接收到的密钥获取请求、向相应的应用程序返回密钥池中首个可用密钥块中的密钥序列的步骤执行。
可选的,所述双方采用从首个可用密钥块开始、弃用在对方密钥池中无相应时序同步标识的可用密钥块的方式,使得双方首个可用密钥块的时序同步标识一致,包括:
由在比对中时序同步标识表征时序较早的一方弃用相应的可用密钥块;
比对双方密钥池中的首个可用密钥块的时序同步标识是否一致,并在不一致时转到所述由在比对中时序同步标识表征时序较早的一方弃用相应的可用密钥块的步骤执行。
可选的,在执行所述双方根据各自接收到的密钥获取请求、向相应的应用程序返回密钥池中的首个可用密钥块中的密钥序列之前,还包括:
比对双方密钥池中的、时序同步标识一致的首个可用密钥块的内容是否一致;
并在一致时,执行所述双方根据各自接收到的密钥获取请求、向相应的应用程序返回密钥池中的首个可用密钥块中的密钥序列的步骤。
可选的,当所述比对双方密钥池中的、时序同步标识一致的首个可用密钥块的内容是否一致的结果为不一致时,包括:
双方各自弃用所述内容不一致的首个可用密钥块,并转到所述比对双方密钥池中的首个可用密钥块的时序同步标识是否一致的步骤执行。
相应的,本申请还提供一种量子密钥同步分发装置,包括:
密钥获取请求接收单元,用于其中一方接收来自应用程序的密钥获取请求;
时序同步标识比对单元,用于比对双方密钥池中的首个可用密钥块的时序同步标识是否一致;
密钥序列返回单元,用于当所述时序同步标识比对单元的输出结果为一致时,双方根据各自接收到的密钥获取请求、向相应的应用程序返回密钥池中首个可用密钥块中的密钥序列。
可选的,所述装置还包括:
密钥块时序同步处理单元,用于当所述时序同步标识比对单元的输出结果为不一致时,双方采用从首个可用密钥块开始、弃用在对方密钥池中无相应时序同步标识的可用密钥块的方式,使得双方密钥池中的首个可用密钥块的时序同步标识一致,并触发所述密钥序列返回单元工作。
可选的,所述装置还包括:
密钥块内容同步处理单元,用于在触发所述密钥序列返回单元工作之前,比对双方密钥池中的、时序同步标识一致的首个可用密钥块的内容是否一致,并在一致时,触发所述密钥序列返回单元工作。
可选的,所述装置还包括:
双方密钥块弃用单元,用于当所述密钥块内容同步处理单元的输出为不一致时,双方各自弃用所述内容不一致的首个可用密钥块,并触发所述时序同步标识比对单元工作。
此外,本申请还提供一种用于量子密钥分发过程的密钥封装传递方法,所述方法在参与量子密钥协商的一对量子引擎程序中分别实施,包括:
当通过量子密钥协商过程获取的密钥序列的长度大于或等于预设阈值时,执行下述操作:
按照所述预设阈值将所述密钥序列分割成相应长度的密钥块;
获取时序同步标识,并通过在预设位置添加所述时序同步标识的方式对所述密钥块进行封装;
将封装后的密钥块传递给相对应的密钥管理程序,以供其存储在密钥池中;
其中,为所述密钥块添加的时序同步标识,用于表征参与量子密钥协商的双方量子引擎程序同步生成所述密钥块的时序信息。
可选的,所述时序同步标识包括:计数器存储的数值;所述计数器的初始值与对方量子引擎程序维护的计数器的初始值相同;
所述获取时序同步标识包括:读取所述计数器的数值;
当通过量子密钥协商过程获取的密钥序列的长度大于或等于预设阈值时,还包括:采用与对方量子引擎程序相同的方式,将所述计数器的数值加一。
可选的,在所述通过在预设位置添加所述时序同步标识的方式对所述密钥块进行封装之后,执行所述采用与对方量子引擎程序相同的方式,将所述计数器的数值加一的步骤。
可选的,所述密钥块的预设位置包括:所述密钥块的第一个密钥比特之前。
可选的,在所述按照所述预设阈值将所述密钥序列分割成相应长度的密钥块之后,还包括:
与对方量子引擎程序比对双方分割的密钥块的内容是否一致;
若一致,则执行所述获取时序同步标识,并通过在预设位置添加所述时序同步标识的方式对所述密钥块进行封装的步骤;
否则,丢弃所述分割的密钥块,并结束本方法的执行。
可选的,所述与对方量子引擎程序比对双方分割的密钥块的内容是否一致,包括:
采用与对方量子引擎程序相同的摘要算法,计算所述分割的密钥块的摘要值;
与对方量子引擎程序比对双方计算得到的所述摘要值是否一致,若一致则判定双方分割的密钥块的内容一致,否则不一致。
可选的,当所述与对方量子引擎程序比对双方分割的密钥块的内容是否一致的结果为一致时,还包括:
与对方量子引擎程序比对双方的时序同步标识是否一致;
若一致,则执行所述获取时序同步标识,并通过在预设位置添加所述时序同步标识的方式对所述密钥块进行封装的步骤;
否则,用其中表征时序较晚的时序同步标识更新自己的时序同步标识,并执行所述获取时序同步标识,并通过在预设位置添加所述时序同步标识的方式对所述密钥块进行封装的步骤。
相应的,本申请还提供一种用于量子密钥分发过程的密钥封装传递装置,包括:
密钥长度判断单元,用于当通过量子密钥协商过程获取的密钥序列的长度大于或等于预设阈值时,触发下述单元工作;
密钥块分割单元,用于按照所述预设阈值将所述密钥序列分割成相应长度的密钥块;
时序封装单元,用于获取时序同步标识,并通过在预设位置添加所述时序同步标识的方式对所述密钥块进行封装;
密钥块传递单元,用于将封装后的密钥块传递给相对应的密钥管理程序,以供其存储在密钥池中。
可选的,所述时序封装单元,具体用于读取计数器的数值,并通过在预设位置添加所述数值的方式对所述密钥块进行封装;
所述装置还包括:
时序同步标识更新单元,具体用于当所述密钥长度监测单元的输出为是之后,采用与对方量子引擎程序相同的方式,将所述计数器的数值加一。
可选的,所述时序封装单元完成封装操作后,触发所述时序同步标识更新单元工作。
可选的,所述装置还包括:
密钥块内容比对单元,用于在所述密钥块分割单元完成分割操作后,与对方量子引擎程序比对双方分割的密钥块的内容是否一致,并在一致时触发所述时序封装单元工作,否则触发密钥块丢弃单元工作;
密钥块丢弃单元,用于丢弃所述分割的密钥块,并结束本方法的执行。
可选的,所述密钥块内容比对单元,具体用于采用与对方量子引擎程序相同的摘要算法,计算所述分割的密钥块的摘要值,与对方量子引擎程序比对双方计算得到的所述摘要值是否一致,若一致则触发所述时序封装单元工作,否则触发密钥块丢弃单元工作。
可选的,所述装置还包括:
同步标识比对单元,用于当所述密钥块内容比对单元的比对结果为一致时,与对方量子引擎程序比对双方的时序同步标识是否一致,并在一致时,触发所述时序封装单元工作,否则触发时序同步标识强制更新单元工作;
时序同步标识强制更新单元,用于用其中表征时序较晚的时序同步标识更新自己的时序同步标识,并触发所述时序封装单元工作。
与现有技术相比,本申请具有以下优点:
本申请提供的用于量子密钥分发过程的密钥同步方法,在向应用程序分发量子密钥的一对密钥管理程序中实施,所述方法包括:比对双方密钥池中的首个可用密钥块的时序同步标识是否一致;若不一致,则双方采用从首个可用密钥块开始、弃用在对方密钥池中无相应时序同步标识的可用密钥块的方式,使得双方密钥池中的首个可用密钥块的时序同步标识一致。
本申请提供的上述密钥同步方法,由于在双方量子密钥管理程序的密钥池中存储的可用密钥块,具有表征双方量子引擎程序同步生成所述可用密钥块的时序信息,因此可以通过双方的比对判断出双方密钥池中的首个可用密钥块是否满足时序同步的要求,并且在不满足时,双方可以从首个可用密钥块开始、弃用在对方密钥池中无相应时序同步标识的可用密钥块,使得双方密钥池中的首个可用密钥块的时序同步标识一致,也即,双方仅需要丢弃时序不同步的少数几个可用密钥块,即可快速地重新恢复密钥池的时序同步状态,而不需要清空整个密钥池,为快速、有效地响应应用程序的密钥获取请求提供了保障,从而大大提高了密钥管理程序的可用性,有效地避免了对量子密钥资源的浪费。
附图说明
图1是量子密钥分发系统的架构示意图;
图2是本申请的一种用于量子密钥分发过程的密钥封装传递方法的实施例的流程图;
图3是本申请实施例提供的对分割的密钥块内容以及时序同步标识进行同步验证的处理流程图;
图4是本申请实施例提供的封装后的密钥块的数据结构示意图;
图5是本申请的一种用于量子密钥分发过程的密钥封装传递装置的实施例的示意图;
图6是本申请的一种用于量子密钥分发过程的密钥同步方法的实施例的流程图;
图7是本申请的一种用于量子密钥分发过程的密钥同步装置的实施例的示意图;
图8是本申请的一种量子密钥同步分发方法的实施例的流程图;
图9是本申请的一种量子密钥同步分发装置的实施例的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是,本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此,本申请不受下面公开的具体实施的限制。
在本申请中,分别提供了一种用于量子密钥分发过程的密钥同步方法及装置,一种量子密钥同步分发方法及装置,以及一种用于量子密钥分发过程的密钥封装传递方法及装置。在下面的实施例中逐一进行详细说明。
对于一次量子密钥分发过程来说,执行加解密操作的一对应用程序,通常会向各自的密钥管理程序发起密钥获取请求,而密钥管理程序则从各自的密钥池中选择密钥块返回给应用程序,其中,密钥池中的密钥块是由与密钥管理程序相对应的量子引擎程序提供的。在本文实施例中,将与执行加解密操作的应用程序分别对应的一对密钥管理程序称作双方的密钥管理程序,将与密钥管理程序分别对应的一对量子引擎程序称作双方的量子引擎程序。在具体实施时,处于同一方(例如:加密方或者解密方)的应用程序、密钥管理程序、以及量子引擎程序可以由同一个物理设备承载,也可以由不同的物理设备承载,例如:应用程序运行于个人电脑上,密钥管理程序和量子引擎程序由同一个量子密钥分发设备承载、或者分别由密钥管理设备和量子密钥分发设备承载,都是可以的。
本申请提供的用于量子密钥分发过程的密钥同步方法,其核心在于:在双方量子密钥管理程序的密钥池中存储的可用密钥块,具有表征双方量子引擎程序同步生成所述可用密钥块的时序信息,因此可以通过双方的比对判断出双方密钥池中的首个可用密钥块是否满足时序同步的要求,并且在不满足时,双方仅需要丢弃时序不同步的少数几个可用密钥块,即可快速地、重新恢复密钥池的时序同步状态,而不需要清空整个密钥池,为快速、有效地响应应用程序的密钥获取请求提供了保障,从而大大提高了密钥管理程序的可用性,有效地避免了对量子密钥资源的浪费。
所述密钥管理程序的密钥池,是指用于存储量子引擎程序提供的密钥块的存储空间,其中的密钥块是按照从量子引擎程序接收的顺序进行存储的;所述可用密钥块,是指待分发给应用程序的密钥块,首个可用密钥块则是指按照接收顺序依次存储的可用密钥块中的第一个。
在具体实施时,所述密钥池可以采用环形队列的数据结构实现,队列中包含用于存储可用密钥块的若干个单元,队列的读指针通常指向首个可用密钥块,队列的写指针通常指向最后一个可用密钥块之后的单元。密钥管理程序通过维护读指针和写指针实现对密钥池中可用密钥块的管理,当接收到来自量子引擎程序的密钥块时,可以将所述密钥块添加到写指针指向的单元中,并将写指针向后移动一个单元,当接收到来自应用程序的密钥获取请求时,可以将读指针指向的首个可用密钥块中的密钥序列返回给应用程序,并将读指针向后移动一个单元。此处给出了密钥管理程序采用环形队列管理密钥池的一种具体实施方式,在具体应用中,可以采用其他实施方式,本申请对此不作具体限定。
在将首个可用密钥块中的密钥序列返回给应用程序之前,双方密钥管理程序判断双方的首个可用密钥块是否满足时序同步的要求,并且在时序不同步的情况下快速地重新恢复同步,为了实现这一功能,本申请的技术方案提供了一种新的密钥封装传递方法,即:量子引擎程序在传递给密钥管理程序的密钥块中封装了时序同步标识,在此基础上双方的密钥管理程序就可以快速地实现上述同步功能。为了便于理解,首先描述本申请提供的用于量子密钥分发过程的密钥封装传递方法的实施例。
参考图2,其为本申请的一种用于量子密钥分发过程的密钥封装传递方法的实施例的流程图,所述方法通常在参与量子密钥协商的一对量子引擎程序中分别实施,其核心在于:在传递给密钥管理程序的密钥块中封装了时序同步标识,所述时序同步标识,用于表征参与量子密钥协商的双方量子引擎程序同步生成所述密钥块的时序信息。
在具体实施时,可以采用多种方式获取所述时序同步标识,并用获取的时序同步标识对密钥块进行封装。例如:所述时序同步标识可以由统一的控制中心维护,实施本方法的量子引擎程序(即:宿主程序)与对方量子引擎程序同步生成某一密钥块后,可以向所述控制中心获取时序同步标识,控制中心可以在向双方提供时序同步标识后,对时序同步标识进行更新;如果承载宿主程序的设备以及承载对方量子引擎程序的设备,能够利用物理机制或者其它机制提供满足精度要求的时间戳信息,那么也可以用获取的时间戳信息作为时序同步标识对密钥块进行封装。
优选地,本实施例提供一种由宿主程序采用计数器维护时序同步标识的优选实施方式,这种实施方式简便易行,而且无需依赖额外的控制中心、或者满足精度要求的物理同步机制。在优选实施方式中,宿主程序采用与对方量子引擎程序相同的方式在本地维护一个计数器,其初始值为0,在与对方量子引擎程序同步生成密钥块的过程中,所述计数器的数值也会相应更新,例如:生成第一个密钥块时,双方计数器的数值都为0,生成第二个密钥块时,双方计数器的数值都更新为1......,依次类推,从而所述计数器的数值能够表征参与量子密钥协商的双方量子引擎程序同步生成密钥块的时序信息。
下面,在上述以采用计数器维护时序同步标识的优选实施方式的基础上,对本实施例提供的一种用于量子密钥分发过程的密钥封装传递方法的实施方式进行描述。本实施例的一种用于量子密钥分发过程的密钥封装传递方法包括如下步骤:
步骤201、判断通过量子密钥协商过程获取的密钥序列的长度是否大于或等于预设阈值,若是,则执行步骤202。
与对方量子引擎程序遵循量子密钥分发协议(QKD协议)协商生成的密钥序列通常存储在宿主程序的缓存(buffer)中,本步骤判断缓存中的密钥序列的长度是否大于或等于预设阈值,并在大于或等于预设阈值时执行步骤202。
在具体实施时,可以根据具体需要设置预设阈值N,例如:可以设置N为1024字节(byte),相当于以1024字节为粒度向密钥序列中添加时序同步标识,从而在密钥管理程序中也以1024字节为基本单位进行密钥池的快速同步。
步骤202、按照所述预设阈值将所述密钥序列分割成相应长度的密钥块。
本步骤按照所述预设阈值、将缓存中存储的密钥系列分割成相应长度的密钥块。例如:预设阈值N为1024字节,缓存中存储的密钥序列的长度为1500字节,那么就可以将密钥序列中的第1至第1024字节分割成一个密钥块。而当剩余的476字节与后续生成的密钥序列的累计长度再次超过1024字节后,再进行分割。
本步骤分割密钥块之后,为了保证传递给密钥管理程序的密钥块与对方相同,本实施例还提供与对方量子引擎程序对分割的密钥块内容以及时序同步标识进行同步验证的优选实施方式。同步验证过程包括如下所述的步骤202-1至202-3,下面结合图3进行说明。
步骤202-1、与对方量子引擎程序比对双方分割的密钥块的内容是否一致,若一致,执行步骤202-2,否则丢弃所述分割的密钥块,并结束本方法的执行。
优选地,宿主程序存储在缓存中的密钥序列与对方量子引擎程序通常是相同的,为了进一步确保传递给密钥管理程序的密钥块,与对方传递给其密钥管理程序的密钥块内容相同,可以与对方量子引擎程序比对双方分割的密钥块的内容是否一致,若不一致,可以丢弃所述分割的密钥块,并结束本方法的执行;若一致,可以直接执行步骤203进行密钥块的封装,作为本实施例给出的优选实施方式,还可以在封装前执行步骤202-2,与对方量子引擎程序验证时序同步标识的一致性。
所述与对方量子引擎程序比对各自分割的密钥块的内容是否一致,包括:采用与对方量子引擎程序相同的摘要算法,计算所述分割的密钥块的摘要值;与对方量子引擎程序比对双方计算得到的所述摘要值是否一致,若一致则判定双方分割的密钥块的内容一致。所述摘要算法也称哈希(hash)算法或者散列算法,包括但不局限于:MD5算法、SHA1算法、SHA256算法等,在具体实施时,只要宿主程序和对方量子引擎程序采用相同的摘要算法即可,本实施例并不对具体算法进行限定。
在具体实施时,可以由宿主程序或者是对方量子引擎程序发起比对过程,如果宿主程序发起比对过程,宿主程序采用预设摘要算法计算已分割的密钥块的摘要值,随后可以通过经典信道向对方量子引擎程序发起内容同步请求,所述请求中携带所述摘要值,并接收对方量子引擎程序返回的同步成功应答或者同步失败应答;如果对方量子引擎程序发起比对过程,那么宿主设备接收对方发送的内容同步请求后,可以将自己计算的摘要值与所述请求中携带的摘要值进行比对,若两者一致,向对方返回同步成功应答,否则返回同步失败应答。
步骤202-2、与对方量子引擎程序比对双方的时序同步标识是否一致,若一致,执行步骤203进行密钥块的封装,若不一致,则执行步骤202-3。
宿主程序与对方量子引擎程序用于封装密钥块的时序同步标识,在通常情况下是一致的,但是实际应用环境是复杂的,在某些个别情况下可能出现两者不一致的情况,为了避免出现这种情况,本实施例提供在封装密钥块之前对时序同步标识进行同步验证的优选实施方式:与对方量子引擎程序比对双方的时序同步标识是否一致,若一致,执行步骤203进行密钥块的封装,否则执行步骤202-3进行时序同步标识的强制同步。
在本实施例中的时序同步标识是采用计数器维护的,因此比对的过程就是将本地计数器的数值与对方计数器的数值进行比较的过程,与上面描述的对密钥块内容进行同步验证的实施方式类似,对时序同步标识的验证过程也可以由宿主程序发起或者由对方量子引擎程序发起,此处不再赘述。
步骤202-3、用其中表征时序较晚的时序同步标识更新自己的时序同步标识,然后转到步骤203进行密钥块的封装。
执行到本步骤,说明宿主程序与对方量子引擎程序用于封装密钥块的时序同步标识不一致,此时,为了避免与之前已经传递给密钥管理程序的密钥块所携带的时序同步标识冲突,宿主程序可以用其中表征时序较晚的时序同步标识更新自己的时序同步标识。本实施例中的时序同步标识是采用计数器维护的,并且约定数值越大表征的时序越晚,因此宿主程序可以用参与比对的较大的计数器数值更新自己的时序同步标识,由于对方量子引擎程序也同样实施本方法,因此也执行了上述更新操作,从而双方的时序同步标识,即:计数器数值重新恢复了同步。
在具体实施时,以宿主设备发起时序同步标识的同步请求为例,对方量子引擎设备可以在比对后用较大的计数器数值更新自己的计数器数值,并在返回的比对结果中携带较大的计数器数值(相当于双方的新的时序同步基),从而宿主设备也可以执行相应的更新操作。
需要说明的是,在具体实施时如果同时采用上述两种优选实施方式(对密钥块内容的同步验证,以及对时序同步标识的同步验证),那么在步骤202-1中发起请求的一方可以一并携带密钥块的摘要值和本地计数器的数值,接收方可以一次性接收上述信息,从而可以简化交互过程。
步骤203、获取时序同步标识,并通过在预设位置添加所述时序同步标识的方式对所述密钥块进行封装。
本步骤首先获取时序同步标识,由于本实施例中的时序同步标识是采用计数器维护的,因此可以读取所述计数器的数值,即得到所述时序同步标识。
然后用所述时序同步标识对已分割好的密钥块进行封装,即:在密钥块的预设位置添加时序同步标识,使得传递给密钥管理程序的密钥块携带时序同步标识。具体实施时,所述预设位置可以是密钥块中的任意位置,只要与相对应的密钥管理程序约定好即可。
考虑到便于操作与管理,本实施例采用在所述密钥块的第一个密钥比特之前添加时序同步标识的实施方式,即:将时序同步标识(计数器数值)添加到所述密钥块的头部。在本实施例的一个具体例子中,在每个密钥块头部添加长度为8个字节的计数器数值,请参见图4,其为所述具体例子中封装后的密钥块的数据结构示意图。
步骤204、将封装后的密钥块传递给相对应的密钥管理程序,以供其存储在密钥池中。
在具体实施时,可以根据具体情况采用不同的方式将所述封装后的密钥块传递给相对应的密钥管理程序,从而密钥管理程序按照接收的顺序在其密钥池中存储所述密钥块。如果宿主程序和相对应的密钥管理程序分别运行在不同的设备上,那么宿主程序可以通过两个设备之间的网络连接将所述密钥块传输给相对应的密钥管理程序,如果宿主程序和相对应的密钥管理程序运行在同一个设备上,那么宿主设备可以通过进程间通讯机制,将所述封装后的密钥块传递给相对应的密钥管理程序。
执行完本步骤,宿主程序完成了本次的封装及传递操作。但是作为本实施例来说,由于采用了由宿主程序采用计数器维护时序同步标识的优选实施方式,因此宿主程序还需要执行对时序同步标识的维护操作:采用与对方量子引擎程序相同的方式,将所述计数器的数值加一,从而为下一次的封装及传递操作做好准备。具体实施时,可以在步骤203执行完毕或者在本步骤204执行完毕,执行上述维护操作。
例如:步骤203在封装密钥块时读取的计数器数值为1,那么该密钥块携带的时序同步标识为1,在将所述密钥块传递给相对应的密钥管理程序后,可以将所述计数器的数值加1,即:将计数器的数值更新为2,那么下一次封装传递的密钥块携带的时序同步标识为2。
至此,通过步骤201-204,对本实施例提供的用于量子密钥分发过程的密钥封装传递方法的实施方式进行了详细描述。由于双方的量子引擎程序分别实施上述方法,从而保证了向各自密钥管理程序传递的密钥块都携带了时序同步标识,从而为双方的密钥管理程序判断密钥池中的首个可用密钥块是否满足时序同步的要求、以及在不满足时进行相应的处理以快速恢复同步状态,提供了有力的参考依据。
在上述的实施例中,提供了一种用于量子密钥分发过程的密钥封装传递方法,与之相对应的,本申请还提供一种用于量子密钥分发过程的密钥封装传递装置。请参看图5,其为本申请的一种用于量子密钥分发过程的密钥封装传递装置的实施例示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种用于量子密钥分发过程的密钥封装传递装置,包括:密钥长度判断单元501,用于当通过量子密钥协商过程获取的密钥序列的长度大于或等于预设阈值时,触发下述单元工作;密钥块分割单元502,用于按照所述预设阈值将所述密钥序列分割成相应长度的密钥块;时序封装单元503,用于获取时序同步标识,并通过在预设位置添加所述时序同步标识的方式对所述密钥块进行封装;密钥块传递单元504,用于将封装后的密钥块传递给相对应的密钥管理程序,以供其存储在密钥池中。
可选的,所述时序封装单元,具体用于读取计数器的数值,并通过在预设位置添加所述数值的方式对所述密钥块进行封装;
所述装置还包括:
时序同步标识更新单元,具体用于当所述密钥长度监测单元的输出为是之后,采用与对方量子引擎程序相同的方式,将所述计数器的数值加一。
可选的,所述时序封装单元完成封装操作后,触发所述时序同步标识更新单元工作。
可选的,所述装置还包括:
密钥块内容比对单元,用于在所述密钥块分割单元完成分割操作后,与对方量子引擎程序比对双方分割的密钥块的内容是否一致,并在一致时触发所述时序封装单元工作,否则触发密钥块丢弃单元工作;
密钥块丢弃单元,用于丢弃所述分割的密钥块,并结束本方法的执行。
可选的,所述密钥块内容比对单元,具体用于采用与对方量子引擎程序相同的摘要算法,计算所述分割的密钥块的摘要值,与对方量子引擎程序比对双方计算得到的所述摘要值是否一致,若一致则触发所述时序封装单元工作,否则触发密钥块丢弃单元工作。
可选的,所述装置还包括:
同步标识比对单元,用于当所述密钥块内容比对单元的比对结果为一致时,与对方量子引擎程序比对双方的时序同步标识是否一致,并在一致时,触发所述时序封装单元工作,否则触发时序同步标识强制更新单元工作;
时序同步标识强制更新单元,用于用其中表征时序较晚的时序同步标识更新自己的时序同步标识,并触发所述时序封装单元工作。
此外,本申请还提供一种用于量子密钥分发过程的密钥同步方法,所述方法通常在向应用程序分发量子密钥的一对密钥管理程序中实施。双方密钥管理程序从各自对应的量子引擎程序接收待分发给应用程序的可用密钥块,并按照接收的顺序将可用密钥块存储在各自的密钥池中,此后,双方的密钥管理程序可以通过本申请提供的密钥同步方法,判断双方密钥池中的首个可用密钥块是否满足时序同步的要求,并在不满足的时候快速地使双方密钥池恢复时序同步。所述方法可以在接收到来自应用程序的密钥获取请求后触发实施,也可以在未接收密钥获取时作为一种常规的同步方法实施、以便为随后接收到的密钥获取请求提供快速响应。
请参考图6,其为本申请提供的一种用于量子密钥分发过程的密钥同步方法的实施例的流程图,本实施例与上述方法实施例步骤相同的部分不再赘述,下面重点描述不同之处。为了便于描述,将双方的密钥管理程序分别称为Alice和Bob,本实施例的一种用于量子密钥分发过程的密钥同步方法包括如下步骤:
步骤601、比对双方密钥池中的首个可用密钥块的时序同步标识是否一致,若不一致,则执行步骤602。
具体实施时,可以由Alice和Bob中的任意一方发起比对过程,对于由密钥获取请求触发的实施方式,通常由先接收密钥获取请求的一方发起比对过程。本实施例以Alice先接收密钥获取请求为例进行说明,Alice向Bob发送时序同步请求,所述时序同步请求中至少携带Alice的密钥池中首个可用密钥块的时序同步标识,例如,对于采用环形队列的实施方式,读指针所指向的密钥块即为首个可用密钥块,因此Alice可以将读指针所指向的可用密钥块的时序同步标识提取出来,将其封装在时序同步请求中发送给Bob。Bob接收所述时序同步请求后,判断所述时序同步请求携带的时序同步标识与自己密钥池中的首个可用密钥块的时序同步标识是否一致,若一致,则说明双方首个可用密钥块满足时序同步的要求,否则说明出现了双方密钥池时序不同步的情况,这时可以执行步骤602。
步骤602、双方采用从首个可用密钥块开始、弃用在对方密钥池中无相应时序同步标识的可用密钥块的方式,使得双方密钥池中的首个可用密钥块的时序同步标识一致。
本步骤的主要目的在于,Alice和Bob采用识别并弃用不同步密钥块的方式,快速使得双方密钥池恢复到同步状态。其核心在于,双方从各自密钥池的首个可用密钥块开始,找到时序同步标识与对方相同的可用密钥块,并将在其之前接收到的可用密钥块丢弃。
在具体实施时,可以采用多种方式。例如:Alice和Bob可以分别将自己密钥池中的前N个(N可以预先设定)可用密钥块的时序同步标识发送给对方,双方可以根据接收到的时序同步标识以及本地密钥池中各可用密钥块的时序同步标识进行比对,找到双方共同具有的表征时序最早的时序同步标识,并将携带该标识的可用密钥块之前的各可用密钥块弃用(即:丢弃),从而使得双方密钥池中的首个可用密钥块的时序同步标识一致。
例如:Alice的密钥池中的前5个可用密钥块的时序同步标识为{1、3、4、5、6},Bob的密钥池中的前5个可用密钥块的时序同步标识为{2、3、4、5、6},双方通过比对,可以找到双方共同具有的表征时序最早的时序同步标识为3,那么Alice可以弃用时序同步标识为1的首个可用密钥块,从而使得时序同步标识为3的可用密钥块成为首个可用密钥块,同样的道理Bob可以弃用时序同步标识为2的首个可用密钥块,从而也使得时序同步标识为3的可用密钥块成为首个可用密钥块,从而实现了双方密钥池的快速同步。在具体实施时,以采用环形队列为例,弃用可用密钥块的操作可以通过移动读指针实现,例如:将读指针从指向时序同步标识为1的首个可用密钥块、调整为指向同步标识为3的可用密钥块,那么时序同步标识为1的可用密钥块被丢弃,时序同步标识为3的可用密钥块成为首个可用密钥块。
采用上述实施方式,由于时序不同步的情况通常无法预测,因此难以设置恰当的N值,特别是设置N值过大可能浪费网络带宽,针对这种情况本实施例提供一种逐次比对的优选实施方式,即:当步骤101判断出时序不同步的情况后,可以由在比对中时序同步标识表征时序较早的一方弃用相应的可用密钥块;然后再比对双方密钥池的首个可用密钥块的时序同步标识是否一致,一致则结束本步骤的执行,否则转到所述由比对中时序同步标识表征时序较早的一方弃用相应的可用密钥块的步骤执行。
仍沿用上面给出的具体例子进行说明,Alice的密钥池中的前5个可用密钥块的时序同步标识为{1、3、4、5、6},Bob的密钥池中的前5个可用密钥块的时序同步标识为{2、3、4、5、6},在步骤601的比对中,Alice是时序同步标识表征时序较早的一方,因此Bob可以通知Alice执行弃用操作,Alice丢弃时序同步标识为1的首个可用密钥块,随后Alice再次发起时序同步请求,将其首个可用密钥块的时序同步标识3发送给Bob,Bob用接收到的时序同步标识3与自己的首个可用密钥块的时序同步标识2进行比对,判断出自己需要执行弃用操作,Bob可以将该结果通知Alice,同时自己丢弃时序同步标识为2的首个可用密钥块,依次类推,Alice再发起时序同步请求,Bob经过比对判断出双方的首个可用密钥块的时序同步标识一致,都是3,因此可以结束本步骤的执行,Alice和Bob密钥池中的首个可用密钥块已经满足时序同步的要求。
通过上述描述可以看出,本实施例在发生时序不同步的情况下,仅需要根据时序同步标识丢弃若干个可用密钥块,即可恢复双方密钥池的时序同步状态,与现有技术需要清空整个密钥池相比,不仅大大提高了密钥管理程序的可用性,而且避免浪费量子密钥资源。
由于在时序同步的情况下,密钥块的内容不匹配的可能性通常比较小,因此可以认为此时完成了双方的密钥同步操作。此后,就可以根据接收到的密钥获取请求,将密钥池中的首个可用密钥块中的密钥序列返回给发起所述请求的应用程序。
优选地,为了保证双方密钥管理程序向应用程序提供的密钥完全相同,本实施例还提供对密钥块的内容进行同步验证的优选实施方式,即:当双方密钥池中的首个可用密钥块的时序同步标识一致时,包括步骤601比对结果为一致的情况,也包括通过步骤602的处理使得双方首个可用密钥块的时序同步标识一致的情况,都可以进一步执行步骤603比对双方首个可用密钥块的内容是否一致,具体描述请参见下面的描述。
步骤603、比对双方密钥池中的首个可用密钥块的内容是否一致;若不一致,转到步骤604执行。
所述比对双方密钥池中的首个可用密钥块的内容是否一致,包括:双方按照预设的摘要算法、各自计算密钥池中首个可用密钥块的摘要值;双方比对各自计算得到的所述摘要值是否一致,若一致则说明双方密钥池中的首个可用密钥块的内容一致,否则不一致。
具体实施时,可以由Alice和Bob中的任意一方发起内容比对过程,以Alice发起为例,Alice采用预设摘要算法计算自己的首个可用密钥块中的密钥序列的摘要值,随后Alice向Bob发送内容同步请求,所述内容同步请求中携带Alice计算得到的摘要值,Bob接收所述内容同步请求后,判断所述请求携带的摘要值与自己计算得到的、首个可用密钥块中的密钥序列的摘要值是否一致,若一致,则说明双方首个可用密钥块的内容是一致的,可以向Alice返回代表比对结果一致的成功应答,否则返回失败应答。
如果本步骤的比对结果为一致,同步过程结束,否则双方执行步骤604。
步骤604:双方各自弃用所述内容不一致的首个可用密钥块,并转到步骤601执行。
由于双方首个可用密钥块虽然满足时序同步的要求,但是内容并不一致,在这种情况下,双方可以各自弃用所述内容不一致的首个可用密钥块。在具体实施时,以环形队列为例,可以将环形队列的读指针向后移动一个单元,即完成丢弃所述内容不一致的首个可用密钥块的操作,而当前读指针指向的、位于被丢弃的可用密钥块之后的可用密钥块成为首个可用密钥块。
双方各自完成上述弃用操作后,需要重新验证当前的首个可用密钥块的同步状况,因此可以转到步骤601继续执行。通过重复上面描述的时序同步操作、以及内容同步操作,最终使得双方密钥池中的首个可用密钥块的时序同步标识一致,而且内容也一致,从而完成了双方的密钥同步操作。此后就可以根据接收到的密钥获取请求,将密钥池中的首个可用密钥块中的密钥序列返回给发起所述请求的应用程序。
综上所述,本实施例提供的用于量子密钥分发过程的密钥同步方法,由于在双方量子密钥管理程序的密钥池中存储的可用密钥块,具有表征双方量子引擎程序同步生成所述可用密钥块的时序信息,因此可以通过双方的比对判断出双方密钥池中的首个可用密钥块是否满足时序同步的要求,并且在不满足时,双方可以从首个可用密钥块开始、弃用在对方密钥池中无相应时序同步标识的可用密钥块,使得双方密钥池中的首个可用密钥块的时序同步标识一致,也即,双方仅需要丢弃时序不同步的少数几个密钥块即可重新恢复密钥池的时序同步状态,而不需要清空整个密钥池,为快速、有效地响应应用程序的密钥获取请求提供了保障,从而大大提高了密钥管理程序的可用性,有效地避免了对量子密钥资源的浪费。
在上述的实施例中,提供了一种用于量子密钥分发过程的密钥同步方法,与之相对应的,本申请还提供一种用于量子密钥分发过程的密钥同步装置。请参看图7,其为本申请的一种用于量子密钥分发过程的密钥同步装置的实施例示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种用于量子密钥分发过程的密钥同步装置,包括:时序同步标识比对单元701,用于比对双方密钥池中的首个可用密钥块的时序同步标识是否一致;密钥块时序同步单元702,用于当所述时序同步标识比对单元的输出结果为不一致时,双方采用从首个可用密钥块开始、弃用在对方密钥池中无相应时序同步标识的可用密钥块的方式,使得双方密钥池中的首个可用密钥块的时序同步标识一致;密钥块内容同步单元703,用于当所述时序同步标识比对单元的输出结果为一致时,比对双方密钥池中的首个可用密钥块的时序同步标识是否一致;还用于当所述密钥块时序同步单元工作完毕后,比对双方密钥池中的首个可用密钥块的时序同步标识是否一致;双方弃用单元704,用于当所述密钥块内容同步单元的输出为不一致时,双方各自弃用所述内容不一致的首个可用密钥块,并触发所述时序同步标识比对单元工作。
可选的,所述时序同步标识比对单元进行比对的双方密钥池中的可用密钥块是由量子引擎单元提供的;所述量子引擎单元包括:
长度判断子单元,用于判断通过量子密钥协商过程获取的密钥序列的长度是否大于或等于预设阈值;
密钥块分割子单元,用于当所述长度判断子单元的输出结果为是时,按照所述预设阈值将所述密钥序列分割成相应长度的密钥块;
时序封装子单元,用于获取时序同步标识,并通过在预设位置添加所述时序同步标识的方式对所述密钥块进行封装;
密钥块传递子单元,用于将封装后的密钥块传递给相对应的密钥管理程序,以供其存储在密钥池中。
可选的,所述时序同步标识比对单元包括:
请求发送子单元,用于其中一方向对方发送时序同步请求,所述时序同步请求中至少包含请求方密钥池中首个可用密钥块的时序同步标识;
标识比对子单元,用于所述时序同步请求的接收方,判断接收到的所述同步请求中携带的时序同步标识与自己密钥池中的首个可用密钥块的时序同步标识是否一致;
结果返回子单元,用于所述时序同步请求的接收方至少将比对结果返回给所述请求方。
可选的,所述密钥块时序同步单元包括:
密钥块弃用子单元,用于由在比对中时序同步标识表征时序较早的一方弃用相应的可用密钥块;
同步比对子单元,用于比对双方密钥池中的首个可用密钥块的时序同步标识是否一致,并在不一致时触发所述密钥块弃用子单元工作。
可选的,所述密钥块内容同步单元,包括:
摘要值计算子单元,用于双方按照预设的摘要算法、各自计算密钥池中首个可用密钥块的摘要值;
摘要值比对子单元,用于双方比对各自计算得到的所述摘要值是否一致,若一致则判定双方密钥池中的首个可用密钥块的内容一致,否则不一致。
可选的,所述装置还包括:
密钥获取请求接收单元,用于其中一方接收来自应用程序的密钥获取请求,并触发所述时序同步标识比对单元工作;
所述装置还包括:
密钥序列发送单元,用于当所述时序同步标识比对单元的输出结果为一致时,以及当所述密钥块时序同步单元工作完毕后,所述密钥获取请求的接收方,将密钥池中首个可用密钥块中的密钥序列返回给所述应用程序。
此外,本申请还提供一种量子密钥同步分发方法,所述方法通常在向应用程序分发量子密钥的一对密钥管理程序中实施。请参考图8,其为本申请提供的一种量子密钥同步分发方法的实施例的流程图,本实施例与上述方法实施例步骤相同的部分不再赘述,下面重点描述不同之处。本实施例的一种量子密钥同步分发方法包括如下步骤:
步骤801、其中一方接收来自应用程序的密钥获取请求。
需要执行加解密操作的双方应用程序,会各自向相对应的密钥管理程序发送密钥获取请求,所述请求中通常携带获取密钥序列的长度信息以及供密钥管理程序建立双方密钥请求对应关系的标示信息。其中一方密钥管理程序接收到所述密钥获取请求后,可以触发双方执行步骤802。
步骤802、比对双方密钥池中的首个可用密钥块的时序同步标识是否一致,若一致,则执行步骤803。
如果比对结果为一致,说明双方密钥池中首个可用密钥块满足时序同步的要求,因此可以执行步骤803。
具体实施时,也可能出现比对结果不一致的情况,此时可以执行以下操作:双方采用从首个可用密钥块开始、弃用在对方密钥池中无相应时序同步标识的可用密钥块的方式,使得双方首个可用密钥块的时序同步标识一致,随后再执行步骤803。
例如:当本步骤的比对结果为不一致时,可以由在比对中时序同步标识表征时序较早的一方弃用相应的可用密钥块,然后比对双方密钥池中的首个可用密钥块的时序同步标识是否一致,并在不一致时转到所述由在比对中时序同步标识表征时序较早的一方弃用相应的可用密钥块的步骤执行,最终使得双方首个可用密钥块的时序同步标识一致。
步骤803、双方根据各自接收到的密钥获取请求、向相应的应用程序返回密钥池中首个可用密钥块中的密钥序列。
执行到本步骤说明双方密钥池中的首个可用密钥块已经满足时序同步的要求,此时双方可以各自向发出密钥获取请求的应用程序返回首个可用密钥块中的密钥序列。
优选地,为了保证返回给双方应用程序的密钥序列一致,可以在执行本步骤之前,比对双方密钥池中的、时序同步标识一致的首个可用密钥块的内容是否一致,并在一致时,向各自的应用程序返回首个可用密钥块中的密钥序列。
在具体实施时,在上述比对过程中也可能出现双方首个可用密钥块的内容不一致的情况,此时,双方可以各自弃用所述内容不一致的首个可用密钥块,并再次转到步骤802执行,直至双方首个可用密钥块的时序同步标识以及内容都一致。
下面对双方各自向相应的应用程序返回密钥池中首个可用密钥块中的密钥序列的处理过程作进一步说明,为了便于描述将双方密钥管理程序分别称为Alice和Bob,以在步骤801中Alice收到密钥获取请求为例,Alice在与Bob比对首个可用密钥块的时序同步标识是否一致的过程中,可以将自己收到的密钥获取请求中的标示信息一并发送给Bob,从而Bob就可以将与Alice取得同步的首个可用密钥块与所述标示信息关联起来,当Alice根据密钥获取请求中携带的长度信息,将同步好的首个可用密钥块中的相应长度的密钥序列返回给向其发送请求的应用程序后,所述应用程序会将所述标示信息发送给对方应用程序,所述对方应用程序在向Bob发送的密钥获取请求中携带所述标示信息以及密钥序列长度信息,Bob接收该请求后,采用与Alice相同的方式、从与所述标示信息相关联的可用密钥块中截取相应长度的密钥序列,并将该密钥序列返回给向其发送密钥获取请求的应用程序。
至此,通过步骤801-步骤803对本实施例的量子密钥同步分发方法的实施方式进行了描述。本实施例提供的量子密钥同步分发方法,在执行分发前的同步操作时,采用了与现有技术不同的判断方式,以双方密钥池中的首个可用密钥块的时序是否同步作为最基础的判断标准,并可以在此基础上执行内容同步等扩展操作,并最终完成向应用程序的密钥分发操作。
在上述的实施例中,提供了一种量子密钥同步分发方法,与之相对应的,本申请还提供一种量子密钥同步分发装置。请参看图9,其为本申请的一种量子密钥同步分发装置的实施例示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种量子密钥同步分发装置,包括:密钥获取请求接收单元901,用于其中一方接收来自应用程序的密钥获取请求;时序同步标识比对单元902,用于比对双方密钥池中的首个可用密钥块的时序同步标识是否一致;密钥序列返回单元903,用于当所述时序同步标识比对单元的输出结果为一致时,双方根据各自接收到的密钥获取请求、向相应的应用程序返回密钥池中首个可用密钥块中的密钥序列。
可选的,所述装置还包括:
密钥块时序同步处理单元,用于当所述时序同步标识比对单元的输出结果为不一致时,双方采用从首个可用密钥块开始、弃用在对方密钥池中无相应时序同步标识的可用密钥块的方式,使得双方密钥池中的首个可用密钥块的时序同步标识一致,并触发所述密钥序列返回单元工作。
可选的,所述装置还包括:
密钥块内容同步处理单元,用于在触发所述密钥序列返回单元工作之前,比对双方密钥池中的、时序同步标识一致的首个可用密钥块的内容是否一致,并在一致时,触发所述密钥序列返回单元工作。
可选的,所述装置还包括:
双方密钥块弃用单元,用于当所述密钥块内容同步处理单元的输出为不一致时,双方各自弃用所述内容不一致的首个可用密钥块,并触发所述时序同步标识比对单元工作。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (24)

1.一种用于量子密钥分发过程的密钥同步方法,其特征在于,所述方法在向应用程序分发量子密钥的一对密钥管理程序中实施,包括:
比对双方密钥池中的首个可用密钥块的时序同步标识是否一致;
若不一致,则双方采用从首个可用密钥块开始、弃用在对方密钥池中无相应时序同步标识的可用密钥块的方式,使得双方密钥池中的首个可用密钥块的时序同步标识一致;
其中,任一方密钥池中的可用密钥块是指,按照从相对应的量子引擎程序接收的顺序存储在密钥池中的、待分发给应用程序的密钥块;所述可用密钥块的时序同步标识,用于表征与所述双方分别相对应的量子引擎程序同步生成所述密钥块的时序信息。
2.根据权利要求1所述的用于量子密钥分发过程的密钥同步方法,其特征在于,所述任一方密钥池中的可用密钥块是由相对应的量子引擎程序通过如下方式提供的:
当通过量子密钥协商过程获取的密钥序列的长度大于或等于预设阈值时,执行下述操作:
按照所述预设阈值将所述密钥序列分割成相应长度的密钥块;
获取时序同步标识,并通过在预设位置添加所述时序同步标识的方式对所述密钥块进行封装;
将封装后的密钥块传递给相对应的密钥管理程序,以供其存储在密钥池中。
3.根据权利要求2所述的用于量子密钥分发过程的密钥同步方法,其特征在于,在所述按照所述预设阈值将所述密钥序列分割成相应长度的密钥块之后,还包括:
与对方量子引擎程序比对双方分割的密钥块的内容是否一致;
若一致,则执行所述获取时序同步标识,并通过在预设位置添加所述时序同步标识的方式对所述密钥块进行封装的步骤。
4.根据权利要求3所述的用于量子密钥分发过程的密钥同步方法,其特征在于,当所述与对方量子引擎程序比对双方分割的密钥块的内容是否一致的结果为一致时,还包括:
与对方量子引擎程序比对双方的时序同步标识是否一致;
若一致,则执行所述获取时序同步标识,并通过在预设位置添加所述时序同步标识的方式对所述密钥块进行封装的步骤;
否则,用其中表征时序较晚的时序同步标识更新自己的时序同步标识,并执行所述获取时序 同步标识,并通过在预设位置添加所述时序同步标识的方式对所述密钥块进行封装的步骤。
5.根据权利要求1所述的用于量子密钥分发过程的密钥同步方法,其特征在于,所述比对双方密钥池中的首个可用密钥块的时序同步标识是否一致,包括:
其中一方向对方发送时序同步请求,所述时序同步请求中至少包含请求方密钥池中首个可用密钥块的时序同步标识;
所述时序同步请求的接收方,判断接收到的所述时序同步请求中携带的时序同步标识与自己密钥池中的首个可用密钥块的时序同步标识是否一致;
所述时序同步请求的接收方至少将比对结果返回给所述请求方。
6.根据权利要求1所述的用于量子密钥分发过程的密钥同步方法,其特征在于,所述双方采用从首个可用密钥块开始、弃用在对方密钥池中无相应时序同步标识的可用密钥块的方式,使得双方密钥池中的首个可用密钥块的时序同步标识一致,包括:
由在比对中时序同步标识表征时序较早的一方弃用相应的可用密钥块;
比对双方密钥池中的首个可用密钥块的时序同步标识是否一致,并在不一致时转到所述由在比对中时序同步标识表征时序较早的一方弃用相应的可用密钥块的步骤执行。
7.根据权利要求1所述的用于量子密钥分发过程的密钥同步方法,其特征在于,当双方密钥池中的首个可用密钥块的时序同步标识一致时,还包括:
比对双方密钥池中的首个可用密钥块的内容是否一致;
若不一致,则双方各自弃用所述内容不一致的首个可用密钥块,并转到所述比对双方密钥池中的首个可用密钥块的时序同步标识是否一致的步骤执行。
8.根据权利要求7所述的用于量子密钥分发过程的密钥同步方法,其特征在于,所述比对双方密钥池中的首个可用密钥块的内容是否一致,包括:
双方按照预设的摘要算法、各自计算密钥池中首个可用密钥块的摘要值;
双方比对各自计算得到的所述摘要值是否一致,若一致则判定双方密钥池中的首个可用密钥块的内容一致,否则不一致。
9.根据权利要求1所述的用于量子密钥分发过程的密钥同步方法,其特征在于,在所述比对双方密钥池中的首个可用密钥块的时序同步标识是否一致之前,包括:
其中一方接收来自应用程序的密钥获取请求;
当双方密钥池中的首个可用密钥块的时序同步标识一致时,还包括:
所述密钥获取请求的接收方,将密钥池中首个可用密钥块中的密钥序列返回给所述应用程序。
10.一种用于量子密钥分发过程的密钥同步装置,其特征在于,包括:
时序同步标识比对单元,用于比对双方密钥池中的首个可用密钥块的时序同步标识是否一致;
密钥块时序同步单元,用于当所述时序同步标识比对单元的输出结果为不一致时,双方采用从首个可用密钥块开始、弃用在对方密钥池中无相应时序同步标识的可用密钥块的方式,使得双方密钥池中的首个可用密钥块的时序同步标识一致。
11.根据权利要求10所述的用于量子密钥分发过程的密钥同步装置,其特征在于,所述时序同步标识比对单元进行比对的双方密钥池中的可用密钥块是由量子引擎单元提供的;所述量子引擎单元包括:
长度判断子单元,用于判断通过量子密钥协商过程获取的密钥序列的长度是否大于或等于预设阈值;
密钥块分割子单元,用于当所述长度判断子单元的输出结果为是时,按照所述预设阈值将所述密钥序列分割成相应长度的密钥块;
时序封装子单元,用于获取时序同步标识,并通过在预设位置添加所述时序同步标识的方式对所述密钥块进行封装;
密钥块传递子单元,用于将封装后的密钥块传递给相对应的密钥管理程序,以供其存储在密钥池中。
12.根据权利要求10所述的用于量子密钥分发过程的密钥同步装置,其特征在于,所述时序同步标识比对单元包括:
请求发送子单元,用于其中一方向对方发送时序同步请求,所述时序同步请求中至少包含请求方密钥池中首个可用密钥块的时序同步标识;
标识比对子单元,用于所述时序同步请求的接收方,判断接收到的所述同步请求中携带的时序同步标识与自己密钥池中的首个可用密钥块的时序同步标识是否一致;
结果返回子单元,用于所述时序同步请求的接收方至少将比对结果返回给所述请求方。
13.根据权利要求10所述的用于量子密钥分发过程的密钥同步装置,其特征在于,所述密钥块时序同步单元包括:
密钥块弃用子单元,用于由在比对中时序同步标识表征时序较早的一方弃用相应的可用密钥块;
同步比对子单元,用于比对双方密钥池中的首个可用密钥块的时序同步标识是否一致,并在不一致时触发所述密钥块弃用子单元工作。
14.根据权利要求10所述的用于量子密钥分发过程的密钥同步装置,其特征在于,还包括:
密钥块内容同步单元,用于当所述时序同步标识比对单元的输出结果为一致时,比对双方密钥池中的首个可用密钥块的时序同步标识是否一致;所述密钥块内容同步单元,还用于当所述密钥块时序同步单元工作完毕后,比对双方密钥池中的首个可用密钥块的时序同步标识是否一致;
双方弃用单元,用于当所述密钥块内容同步单元的输出为不一致时,双方各自弃用所述内容不一致的首个可用密钥块,并触发所述时序同步标识比对单元工作。
15.根据权利要求14所述的用于量子密钥分发过程的密钥同步装置,其特征在于,所述密钥块内容同步单元,包括:
摘要值计算子单元,用于双方按照预设的摘要算法、各自计算密钥池中首个可用密钥块的摘要值;
摘要值比对子单元,用于双方比对各自计算得到的所述摘要值是否一致,若一致则判定双方密钥池中的首个可用密钥块的内容一致,否则不一致。
16.根据权利要求10所述的用于量子密钥分发过程的密钥同步装置,其特征在于,还包括:
密钥获取请求接收单元,用于其中一方接收来自应用程序的密钥获取请求,并触发所述时序同步标识比对单元工作;
所述装置还包括:
密钥序列发送单元,用于当所述时序同步标识比对单元的输出结果为一致时,以及当所述密钥块时序同步单元工作完毕后,所述密钥获取请求的接收方,将密钥池中首个可用密钥块中的密钥序列返回给所述应用程序。
17.一种量子密钥同步分发方法,其特征在于,所述方法在向应用程序分发量子密钥的一对密钥管理程序中实施,包括:
其中一方接收来自应用程序的密钥获取请求;
比对双方密钥池中的首个可用密钥块的时序同步标识是否一致;
若一致,双方根据各自接收到的密钥获取请求、向相应的应用程序返回密钥池中首个可用密钥块中的密钥序列;
若不一致,双方采用从首个可用密钥块开始、弃用在对方密钥池中无相应时序同步标识的可用密钥块的方式,使得双方首个可用密钥块的时序同步标识一致。
18.根据权利要求17所述的量子密钥同步分发方法,其特征在于,所述双方采用从首个可用密钥块开始、弃用在对方密钥池中无相应时序同步标识的可用密钥块的方式,使得双方首个可用密钥块的时序同步标识一致的同时还包括:转到所述双方根据各自接收到的密钥获取请求、向相应的应用程序返回密钥池中首个可用密钥块中的密钥序列的步骤执行。
19.根据权利要求18所述的量子密钥同步分发方法,其特征在于,所述双方采用从首个可用密钥块开始、弃用在对方密钥池中无相应时序同步标识的可用密钥块的方式,使得双方首个可用密钥块的时序同步标识一致,包括:
由在比对中时序同步标识表征时序较早的一方弃用相应的可用密钥块;
比对双方密钥池中的首个可用密钥块的时序同步标识是否一致,并在不一致时转到所述由在比对中时序同步标识表征时序较早的一方弃用相应的可用密钥块的步骤执行。
20.根据权利要求17-19任一项所述的量子密钥同步分发方法,其特征在于,在执行所述双方根据各自接收到的密钥获取请求、向相应的应用程序返回密钥池中的首个可用密钥块中的密钥序列之前,还包括:
比对双方密钥池中的、时序同步标识一致的首个可用密钥块的内容是否一致;
并在一致时,执行所述双方根据各自接收到的密钥获取请求、向相应的应用程序返回密钥池中的首个可用密钥块中的密钥序列的步骤。
21.根据权利要求20所述的量子密钥同步分发方法,其特征在于,当所述比对双方密钥池中的、时序同步标识一致的首个可用密钥块的内容是否一致的结果为不一致时,包括:
双方各自弃用所述内容不一致的首个可用密钥块,并转到所述比对双方密钥池中的首个可用密钥块的时序同步标识是否一致的步骤执行。
22.一种量子密钥同步分发装置,其特征在于,包括:
密钥获取请求接收单元,用于其中一方接收来自应用程序的密钥获取请求;
时序同步标识比对单元,用于比对双方密钥池中的首个可用密钥块的时序同步标识是否一致;
密钥序列返回单元,用于当所述时序同步标识比对单元的输出结果为一致时,双方根据各自接收到的密钥获取请求、向相应的应用程序返回密钥池中首个可用密钥块中的密钥序列;
密钥块时序同步处理单元,用于当所述时序同步标识比对单元的输出结果为不一致时,双方采用从首个可用密钥块开始、弃用在对方密钥池中无相应时序同步标识的可用密钥块的方式,使得双方密钥池中的首个可用密钥块的时序同步标识一致,并触发所述密钥序列返回单元工作。
23.根据权利要求22所述的量子密钥同步分发装置,其特征在于,还包括:
密钥块内容同步处理单元,用于在触发所述密钥序列返回单元工作之前,比对双方密钥池中的、时序同步标识一致的首个可用密钥块的内容是否一致,并在一致时,触发所述密钥序列返回单元工作。
24.根据权利要求23所述的量子密钥同步分发装置,其特征在于,还包括:
双方密钥块弃用单元,用于当所述密钥块内容同步处理单元的输出为不一致时,双方各自弃用所述内容不一致的首个可用密钥块,并触发所述时序同步标识比对单元工作。
CN201610086096.7A 2016-02-15 2016-02-15 用于量子密钥分发过程的密钥同步、封装传递方法及装置 Active CN107086907B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201610086096.7A CN107086907B (zh) 2016-02-15 2016-02-15 用于量子密钥分发过程的密钥同步、封装传递方法及装置
TW105129839A TWI735464B (zh) 2016-02-15 2016-09-13 用於量子密鑰分發過程的密鑰同步方法及裝置
US15/402,030 US10326591B2 (en) 2016-02-15 2017-01-09 Efficient quantum key management
PCT/US2017/012868 WO2017142647A1 (en) 2016-02-15 2017-01-10 Efficient quantum key management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610086096.7A CN107086907B (zh) 2016-02-15 2016-02-15 用于量子密钥分发过程的密钥同步、封装传递方法及装置

Publications (2)

Publication Number Publication Date
CN107086907A CN107086907A (zh) 2017-08-22
CN107086907B true CN107086907B (zh) 2020-07-07

Family

ID=59561817

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610086096.7A Active CN107086907B (zh) 2016-02-15 2016-02-15 用于量子密钥分发过程的密钥同步、封装传递方法及装置

Country Status (4)

Country Link
US (1) US10326591B2 (zh)
CN (1) CN107086907B (zh)
TW (1) TWI735464B (zh)
WO (1) WO2017142647A1 (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107347058B (zh) 2016-05-06 2021-07-23 阿里巴巴集团控股有限公司 数据加密方法、数据解密方法、装置及系统
CN107483196B (zh) * 2017-09-08 2020-02-18 中南大学 基于连续变量量子密钥分发的数据流加密系统及其实现方法
CN107483197B (zh) * 2017-09-14 2020-02-11 杭州迪普科技股份有限公司 一种vpn网络终端密钥分发方法及装置
CN109787751A (zh) * 2017-11-14 2019-05-21 阿里巴巴集团控股有限公司 量子密钥的分发系统及其分发方法和数据处理方法
CN108599926B (zh) * 2018-03-20 2021-07-27 如般量子科技有限公司 一种基于对称密钥池的HTTP-Digest改进型AKA身份认证系统和方法
CN108616357A (zh) * 2018-05-04 2018-10-02 北京邮电大学 一种适用于量子密钥分发系统的密钥管理和快速同步的方法
US11115199B2 (en) * 2018-07-18 2021-09-07 Kabushiki Kaisha Toshiba Information processing method, and computer program product
CN109194471B (zh) * 2018-09-14 2021-09-07 北京信息科技大学 一种面向量子密钥分发网络的量子组密钥协商方法
CN109495244A (zh) * 2018-10-16 2019-03-19 如般量子科技有限公司 基于对称密钥池的抗量子计算密钥协商方法
CN109660339B (zh) * 2018-11-20 2021-12-31 山西大学 连续变量量子密钥分发数据协调fpga异构加速方法
CN109660340B (zh) * 2018-12-11 2021-11-26 北京安御道合科技有限公司 一种基于量子密钥的应用系统及其使用方法
CN111385033B (zh) * 2018-12-29 2021-04-13 国科量子通信网络有限公司 一种用于量子密钥分发系统的时间同步系统及方法
CN110113160A (zh) * 2019-05-07 2019-08-09 山东渔翁信息技术股份有限公司 一种数据通信方法、装置、设备及介质
US11228431B2 (en) 2019-09-20 2022-01-18 General Electric Company Communication systems and methods for authenticating data packets within network flow
KR102592873B1 (ko) 2020-07-03 2023-10-25 한국전자통신연구원 양자 키 분배 노드 장치 및 그 장치에서의 양자키 분배 방법
US12495042B2 (en) * 2021-08-16 2025-12-09 Capital One Services, Llc Systems and methods for resetting an authentication counter
CN114024670B (zh) * 2021-11-03 2023-08-18 中科问天量子科技(天津)有限公司 一种双向密钥池的量子可信中继密钥同步方法及系统
CN115189865B (zh) * 2022-06-14 2024-10-08 中国电信股份有限公司 一种有效量子密钥获得方法及装置
FR3145664B1 (fr) * 2023-02-02 2025-09-26 Airbus Defence & Space Sas Procede ameliore de transmission d’un contenu a l’aide d’un reseau de distribution quantique de cles.
KR20240150966A (ko) 2023-04-10 2024-10-17 한국과학기술정보연구원 양자키 관리 장치 및 양자키 관리 방법
CN117335987B (zh) * 2023-11-27 2024-02-23 中国科学技术大学 一种量子密钥分发网络节点间的密钥同步方法
US20250350450A1 (en) * 2024-05-10 2025-11-13 Bank Of America Corporation Decision Engine Consistency Verification System
CN119561687B (zh) * 2025-02-06 2025-05-23 国开启科量子技术(北京)有限公司 用于同步量子密钥的方法、装置、介质和设备
CN119834977A (zh) * 2025-02-21 2025-04-15 中国电信股份有限公司技术创新中心 基于量子密钥的通信方法、装置、设备、介质及程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030849A (zh) * 2006-03-01 2007-09-05 华为技术有限公司 多基站间实现组播密钥同步的方法及系统
CN101645770A (zh) * 2008-08-05 2010-02-10 中国科学院物理研究所 一种安全即时通信系统
CN103081397A (zh) * 2010-08-24 2013-05-01 三菱电机株式会社 加密装置、加密系统、加密方法以及加密程序
CN104780040A (zh) * 2015-04-06 2015-07-15 安徽问天量子科技股份有限公司 基于量子密码的手持设备加密方法及系统

Family Cites Families (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0676110B1 (en) 1992-12-24 1997-04-02 BRITISH TELECOMMUNICATIONS public limited company System and method for key distribution using quantum cryptography
US5307410A (en) 1993-05-25 1994-04-26 International Business Machines Corporation Interferometric quantum cryptographic key distribution system
US6151676A (en) 1997-12-24 2000-11-21 Philips Electronics North America Corporation Administration and utilization of secret fresh random numbers in a networked environment
US6505247B1 (en) 1998-08-21 2003-01-07 National Instruments Corporation Industrial automation system and method for efficiently transferring time-sensitive and quality-sensitive data
US8677505B2 (en) 2000-11-13 2014-03-18 Digital Doors, Inc. Security system with extraction, reconstruction and secure recovery and storage of data
AU2002232187A1 (en) 2002-02-14 2003-09-04 Shimada, Kennichi Authenticating method
US8850179B2 (en) 2003-09-15 2014-09-30 Telecommunication Systems, Inc. Encapsulation of secure encrypted data in a deployable, secure communication system allowing benign, secure commercial transport
US7299354B2 (en) 2003-09-30 2007-11-20 Intel Corporation Method to authenticate clients and hosts to provide secure network boot
US7644278B2 (en) 2003-12-31 2010-01-05 International Business Machines Corporation Method for securely creating an endorsement certificate in an insecure environment
US7181011B2 (en) 2004-05-24 2007-02-20 Magiq Technologies, Inc. Key bank systems and methods for QKD
US7484099B2 (en) 2004-07-29 2009-01-27 International Business Machines Corporation Method, apparatus, and product for asserting physical presence with a trusted platform module in a hypervisor environment
US20060056630A1 (en) 2004-09-13 2006-03-16 Zimmer Vincent J Method to support secure network booting using quantum cryptography and quantum key distribution
US9191198B2 (en) 2005-06-16 2015-11-17 Hewlett-Packard Development Company, L.P. Method and device using one-time pad data
US7885412B2 (en) 2005-09-29 2011-02-08 International Business Machines Corporation Pre-generation of generic session keys for use in communicating within communications environments
ES2327428T3 (es) 2005-12-23 2009-10-29 Alcatel Lucent Control de admision de recursos para peticiones de reserva activadas por cliente y activadas por red.
US8082443B2 (en) * 2006-01-09 2011-12-20 Bbnt Solutions Llc. Pedigrees for quantum cryptography
WO2007121587A1 (en) 2006-04-25 2007-11-01 Stephen Laurence Boren Dynamic distributed key system and method for identity management, authentication servers, data security and preventing man-in-the-middle attacks
US20130227286A1 (en) 2006-04-25 2013-08-29 Andre Jacques Brisson Dynamic Identity Verification and Authentication, Dynamic Distributed Key Infrastructures, Dynamic Distributed Key Systems and Method for Identity Management, Authentication Servers, Data Security and Preventing Man-in-the-Middle Attacks, Side Channel Attacks, Botnet Attacks, and Credit Card and Financial Transaction Fraud, Mitigating Biometric False Positives and False Negatives, and Controlling Life of Accessible Data in the Cloud
US8418235B2 (en) 2006-11-15 2013-04-09 Research In Motion Limited Client credential based secure session authentication method and apparatus
US8213602B2 (en) 2006-11-27 2012-07-03 Broadcom Corporation Method and system for encrypting and decrypting a transport stream using multiple algorithms
US20080165973A1 (en) 2007-01-09 2008-07-10 Miranda Gavillan Jose G Retrieval and Display of Encryption Labels From an Encryption Key Manager
EP2122900A4 (en) 2007-01-22 2014-07-23 Spyrus Inc PORTABLE DATA ENCRYPTION DEVICE WITH CONFIGURABLE SAFETY FUNCTIONS AND METHOD FOR FILING ENCRYPTION
US20080219449A1 (en) * 2007-03-09 2008-09-11 Ball Matthew V Cryptographic key management for stored data
CA2684229A1 (en) 2007-04-12 2008-10-23 Ncipher Corporation Ltd. Method and system for identifying and managing keys
US8111828B2 (en) 2007-07-31 2012-02-07 Hewlett-Packard Development Company, L.P. Management of cryptographic keys for securing stored data
CN101106455B (zh) 2007-08-20 2010-10-13 北京飞天诚信科技有限公司 身份认证的方法和智能密钥装置
US9323901B1 (en) 2007-09-28 2016-04-26 Emc Corporation Data classification for digital rights management
US20090204812A1 (en) 2008-02-13 2009-08-13 Baker Todd M Media processing
US8838990B2 (en) 2008-04-25 2014-09-16 University Of Colorado Board Of Regents Bio-cryptography: secure cryptographic protocols with bipartite biotokens
GB0809044D0 (en) 2008-05-19 2008-06-25 Qinetiq Ltd Multiplexed QKD
US8351408B2 (en) 2008-08-20 2013-01-08 Daigle Mark R Data packet generator for generating passcodes
GB0819665D0 (en) 2008-10-27 2008-12-03 Qinetiq Ltd Quantum key dsitribution
US9438574B2 (en) 2008-12-30 2016-09-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Client/server authentication over Fibre channel
JP6061122B2 (ja) 2009-02-04 2017-01-18 データ セキュリティー システムズ ソリューションズ プライヴェート リミテッド 静的パスワードシステムの2ファクタ認証になる変換
US8194858B2 (en) 2009-02-19 2012-06-05 Physical Optics Corporation Chaotic cipher system and method for secure communication
US8077047B2 (en) 2009-04-16 2011-12-13 Ut-Battelle, Llc Tampering detection system using quantum-mechanical systems
GB0917060D0 (en) 2009-09-29 2009-11-11 Qinetiq Ltd Methods and apparatus for use in quantum key distribution
US8700893B2 (en) 2009-10-28 2014-04-15 Microsoft Corporation Key certification in one round trip
US8789166B2 (en) 2009-10-30 2014-07-22 Feitian Technologies Co., Ltd. Verification method and system thereof
WO2011068784A1 (en) 2009-12-01 2011-06-09 Azuki Systems, Inc. Method and system for secure and reliable video streaming with rate adaptation
US8850554B2 (en) 2010-02-17 2014-09-30 Nokia Corporation Method and apparatus for providing an authentication context-based session
US8984588B2 (en) 2010-02-19 2015-03-17 Nokia Corporation Method and apparatus for identity federation gateway
US8892820B2 (en) 2010-03-19 2014-11-18 Netapp, Inc. Method and system for local caching of remote storage data
US9002009B2 (en) 2010-06-15 2015-04-07 Los Alamos National Security, Llc Quantum key distribution using card, base station and trusted authority
US8917631B2 (en) 2010-08-23 2014-12-23 Ortsbo Inc. System and method for sharing information between two or more devices
GB201020424D0 (en) 2010-12-02 2011-01-19 Qinetiq Ltd Quantum key distribution
US8839134B2 (en) 2010-12-24 2014-09-16 Intel Corporation Projection interface techniques
CN103608829A (zh) 2011-01-18 2014-02-26 舍德Ip有限责任公司 用于基于编码完整性进行计算机化协商的系统和方法
US9531758B2 (en) 2011-03-18 2016-12-27 Zscaler, Inc. Dynamic user identification and policy enforcement in cloud-based secure web gateways
US9698979B2 (en) 2011-04-15 2017-07-04 Quintessencelabs Pty Ltd. QKD key management system
WO2013019584A1 (en) 2011-07-29 2013-02-07 3M Innovative Properties Company Wireless presentation system allowing automatic association and connection
EP2745212B1 (en) 2011-08-19 2020-12-30 Quintessencelabs Pty Ltd Virtual zeroisation system and method
US9509506B2 (en) * 2011-09-30 2016-11-29 Los Alamos National Security, Llc Quantum key management
US9088805B2 (en) 2012-02-08 2015-07-21 Vixs Systems, Inc. Encrypted memory device and methods for use therewith
EP2817941A4 (en) 2012-02-24 2015-10-21 Nokia Technologies Oy METHOD AND APPARATUS FOR CONNECTIVITY CONTROL LOGIC SERVER / DYNAMIC CLIENT
US10171454B2 (en) 2012-08-23 2019-01-01 Alejandro V. Natividad Method for producing dynamic data structures for authentication and/or password identification
CA2883313C (en) 2012-08-30 2020-06-16 Los Alamos National Security, Llc Multi-factor authentication using quantum communication
CN102801530B (zh) 2012-09-04 2015-08-26 飞天诚信科技股份有限公司 一种基于声音传输的认证方法
US9294267B2 (en) 2012-11-16 2016-03-22 Deepak Kamath Method, system and program product for secure storage of content
US8869303B2 (en) 2013-02-16 2014-10-21 Mikhail Fleysher Method and system for generation of dynamic password
US9374376B2 (en) 2013-02-27 2016-06-21 The Boeing Company Anti-hacking system for quantum communication
CN104036780B (zh) 2013-03-05 2017-05-24 阿里巴巴集团控股有限公司 一种人机识别方法及系统
US9747456B2 (en) 2013-03-15 2017-08-29 Microsoft Technology Licensing, Llc Secure query processing over encrypted data
WO2014174657A1 (ja) 2013-04-26 2014-10-30 日立マクセル株式会社 投写型映像表示装置
US9282093B2 (en) 2013-04-30 2016-03-08 Microsoft Technology Licensing, Llc Synchronizing credential hashes between directory services
US20150095987A1 (en) 2013-10-01 2015-04-02 Certify Global LLC Systems and methods of verifying an authentication using dynamic scoring
US9684780B2 (en) 2013-11-25 2017-06-20 Yingjie Liu Dynamic interactive identity authentication method and system
CA3189251A1 (en) 2014-01-31 2015-08-06 Cryptometry Canada Inc. System and method for performing secure communications
JP6359285B2 (ja) 2014-02-17 2018-07-18 株式会社東芝 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法
US9331875B2 (en) 2014-04-04 2016-05-03 Nxgen Partners Ip, Llc System and method for communication using orbital angular momentum with multiple layer overlay modulation
US20150288517A1 (en) 2014-04-04 2015-10-08 Ut-Battelle, Llc System and method for secured communication
US9083739B1 (en) 2014-05-29 2015-07-14 Shape Security, Inc. Client/server authentication using dynamic credentials
CN105553648B (zh) 2014-10-30 2019-10-29 阿里巴巴集团控股有限公司 量子密钥分发、隐私放大及数据传输方法、装置及系统
CN105827397B (zh) 2015-01-08 2019-10-18 阿里巴巴集团控股有限公司 基于可信中继的量子密钥分发系统、方法及装置
CN104657099B (zh) 2015-01-15 2019-04-12 小米科技有限责任公司 屏幕投射方法、装置及系统
CN105871538B (zh) 2015-01-22 2019-04-12 阿里巴巴集团控股有限公司 量子密钥分发系统、量子密钥分发方法及装置
CN105991285B (zh) 2015-02-16 2019-06-11 阿里巴巴集团控股有限公司 用于量子密钥分发过程的身份认证方法、装置及系统
US9667600B2 (en) 2015-04-06 2017-05-30 At&T Intellectual Property I, L.P. Decentralized and distributed secure home subscriber server device
US10348704B2 (en) 2015-07-30 2019-07-09 Helder Silvestre Paiva Figueira Method for a dynamic perpetual encryption cryptosystem

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030849A (zh) * 2006-03-01 2007-09-05 华为技术有限公司 多基站间实现组播密钥同步的方法及系统
CN101645770A (zh) * 2008-08-05 2010-02-10 中国科学院物理研究所 一种安全即时通信系统
CN103081397A (zh) * 2010-08-24 2013-05-01 三菱电机株式会社 加密装置、加密系统、加密方法以及加密程序
CN104780040A (zh) * 2015-04-06 2015-07-15 安徽问天量子科技股份有限公司 基于量子密码的手持设备加密方法及系统

Also Published As

Publication number Publication date
TW201731252A (zh) 2017-09-01
US20170237559A1 (en) 2017-08-17
CN107086907A (zh) 2017-08-22
TWI735464B (zh) 2021-08-11
US10326591B2 (en) 2019-06-18
WO2017142647A1 (en) 2017-08-24

Similar Documents

Publication Publication Date Title
CN107086907B (zh) 用于量子密钥分发过程的密钥同步、封装传递方法及装置
US11115200B2 (en) System, method, and apparatus for quantum key output, storage, and consistency verification
TWI706659B (zh) 量子金鑰分發方法及裝置
US9083684B2 (en) Communication node, key synchronization method, and key synchronization system
US20230273912A1 (en) Data processing method and apparatus for blockchain network, computer device, and computer-readable storage medium
CN110781140B (zh) 区块链中数据签名的方法、装置、计算机设备及存储介质
WO2006018680A1 (en) A method of supporting ssl/tls protocols in a resource constrained device
US10419212B2 (en) Methods, systems, apparatuses, and devices for securing network communications using multiple security protocols
US20200169389A1 (en) Creating a blockchain account and verifying blockchain transactions
CN109951546B (zh) 基于智能合约的事务请求处理方法、装置、设备和介质
CN105516139A (zh) 一种网络数据的传输方法、装置及系统
WO2018019029A1 (zh) 一种数据同步方法及设备
US11606193B2 (en) Distributed session resumption
WO2023078123A1 (zh) 区块链中继通信网络的中立性验证
CN106649600A (zh) 一种迁移文件权限的方法、装置以及系统
Kirichek et al. Decentralized System for Run Services.
CN107516048B (zh) 一种控制分布式文件系统中文件访问的方法与设备
CN107967265A (zh) 文件的访问方法、数据服务器和文件访问系统
CN107395772A (zh) 一种重复数据的管理方法及管理系统
WO2023116292A1 (en) Methods, systems, and computer-readable storage media for organizing an online meeting
CN118802123A (zh) 密钥更新方法、装置、相关设备及可读存储介质
CN116633583A (zh) 一种数据安全管理系统、方法、设备及介质
CN120010792B (zh) 数据写入方法和系统、存储介质、电子设备及计算机程序产品
JP2014007514A (ja) 暗号化通信システム、鍵センタ装置、クライアント装置、暗号化方法およびプログラム
CN119544708B (zh) 数据传输方法、装置、设备以及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant