CN107508672B - 一种基于对称密钥池的密钥同步方法和密钥同步装置、密钥同步系统 - Google Patents
一种基于对称密钥池的密钥同步方法和密钥同步装置、密钥同步系统 Download PDFInfo
- Publication number
- CN107508672B CN107508672B CN201710800682.8A CN201710800682A CN107508672B CN 107508672 B CN107508672 B CN 107508672B CN 201710800682 A CN201710800682 A CN 201710800682A CN 107508672 B CN107508672 B CN 107508672B
- Authority
- CN
- China
- Prior art keywords
- synchronization
- key
- synchronous
- party
- message authentication
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 230000001360 synchronised effect Effects 0.000 claims description 238
- 230000004044 response Effects 0.000 claims description 57
- 230000008569 process Effects 0.000 claims description 38
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 abstract description 7
- 230000001960 triggered effect Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 13
- 230000008859 change Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000009469 supplementation Effects 0.000 description 2
- 101150099000 EXPA1 gene Proteins 0.000 description 1
- 101150093545 EXPA3 gene Proteins 0.000 description 1
- 102100029095 Exportin-1 Human genes 0.000 description 1
- 102100029091 Exportin-2 Human genes 0.000 description 1
- 101710147878 Exportin-2 Proteins 0.000 description 1
- NVHKBSKYGPFWOE-YADHBBJMSA-N PS-PS Chemical compound CCCCCCCCCCCCCCCC(=O)OC[C@H](COP(O)(=O)OC[C@H](N)C(O)=O)OC(=O)CCC(O)=O NVHKBSKYGPFWOE-YADHBBJMSA-N 0.000 description 1
- 101100119348 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) EXP1 gene Proteins 0.000 description 1
- 101100269618 Streptococcus pneumoniae serotype 4 (strain ATCC BAA-334 / TIGR4) aliA gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 108700002148 exportin 1 Proteins 0.000 description 1
- 101150109310 msrAB1 gene Proteins 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0852—Quantum cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Theoretical Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于对称密钥池的密钥同步方法和密钥同步装置、密钥同步系统,在具有对称密钥池的同步双方之间,同步双方相互发送消息时均以密文方式,且消息中带有供对方进行认证的认证信息。本发明可改进目前的密钥池更新机制,安全性大大提高,更进一步的还提高了异常处理能力和便利性。
Description
技术领域
本发明涉及安全通信技术领域,具体涉及一种基于对称密钥池的密钥同步方法和密钥同步系统,即通信双方如何从对称密钥池中取出相同密钥的机制。
背景技术
由于量子计算机的发展,经典非对称加密算法将不再安全,无论是认证还是加解密领域,对称密钥算法将大行其道。因此对称密钥池的方式将是一种保证密钥安全的重要方案乃至主流方案。
作为安全性升级的方案,可以对对称密钥池中的全部或部分内容进行加密存储,加密密钥可以存储到对称密钥池宿主的安全隔离装置中。后续对对称密钥池进行密钥操作时,需要由安全隔离装置解密后使用。有关对称密钥池可参见公开号为CN105337726A,发明名称为“基于量子密码的端对端手持设备加密方法及系统”的发明专利文献,公开了一种基于量子密码的端对端手持设备加密方法,其量子通信的两台密钥分发设备之间,通过QKD形成了一对对称密钥池,用于QKD双方的用户进行量子加密通信。
又例如公开号为CN106452740A,发明名称为“一种量子通信服务站、量子密钥管理装置以及密钥配置网络和方法”的发明专利文献,公开了一种量子通信服务站、量子密钥管理装置,两者之间共享同样的量子随机数密钥数据块,该数据块对也可以理解为一对对称密钥池,用于双方的用户进行量子随机数密钥的加密通信。
对称密钥池有分配、同步、补充、监控、取密钥等操作。分配指对称密钥池的形成和填充;同步指在对称密钥池中选取一段密钥,用于身份认证、消息认证或成为会话密钥,以备业务层使用;补充指双方同时删除已使用过的密钥区域的数据,并填充新密钥;监控指记录当前密钥池的各类使用情况,如剩余密钥量,状态机切换,工作负荷,报警信息等;取密钥即从已同步的密钥池中取出密钥进行业务层使用,如果密钥池处于同步中则不能取密钥,需等待同步完成才可进行。
有关对称密钥池的密钥同步可参见公开号为CN105337726A,发明名称为“基于量子密码的端对端手持设备加密方法及系统”的发明专利文献,对称密钥池的同步依靠的是量子通信密钥的同步信息。量子通信密钥的同步信息包括量子通信密钥的编号、起始地址,量子通信密钥的长度和生存周期等。
又例如公开号为CN105337726A,发明名称为“基于量子密码的端对端手持设备加密方法及系统”的发明专利文献中,密钥管理中心KMC管理着整个通信网络中任意一对对称密钥池的密钥同步和密钥更新,并监控密钥池的状态。
现有技术存在的问题:
1.对称密钥池同步传输时,密钥的编号、起始地址、长度和生存周期等,均是明文,造成系统安全性降低。
2.对称密钥池同步有可能发生一方或两方未同步的问题,该问题会导致后续的密钥对无法继续匹配,继而导致密钥池作废。目前文献尚未提及对称密钥池同步中发生该异常情况时的处理方式。
3.KMC集中控制整个网络中每一对对称密钥池的密钥同步,KMC的安全性如果受到影响,则整个网络的安全性均受到影响。
发明内容
本发明提供一种密钥同步方法,可改进目前的密钥池更新机制,安全性大大提高,更进一步的还提高了异常处理能力和便利性。
一种基于对称密钥池的密钥同步方法,实施在主动同步方,该主动同步方与被动同步方之间收发的消息均以密文方式,且消息中带有供对方进行认证的认证信息。
所述密钥同步方法具体包括:
向被动同步方发送同步请求;
接收被动同步方处理同步请求后返回的同步响应,并进行同步判断,还依照判断结果向被动同步方发送同步反馈,以及在己方相应同步。
相应的,本发明还提供一种作为主动同步方的基于对称密钥池的密钥同步装置,包括处理器和存储器,该存储器用于存储如下指令并由处理器加载和执行:
向被动同步方发送同步请求;
接收被动同步方处理同步请求后返回的同步响应,并进行同步判断,还依照判断结果向被动同步方发送同步反馈,以及在己方相应同步;
该主动同步方与被动同步方之间收发的消息均以密文方式,且消息中带有供对方进行认证的认证信息。
一种基于对称密钥池的密钥同步方法,实施在被动同步方,该被动同步方与主动同步方之间收发的消息均以密文方式,且消息中带有供对方进行认证的认证信息。
所述密钥同步方法具体包括:
接收来自主动同步方的同步请求,进行是否预同步的判断,并依照判断结果向主动同步方发送同步响应,该同步响应用于主动同步方进行同步判断;
接收主动同步方根据同步判断而返回的同步反馈,以及在己方相应同步。
相应的,本发明还提供一种作为被动同步方的基于对称密钥池的密钥同步装置,包括处理器和存储器,该存储器用于存储如下指令并由处理器加载和执行:
接收来自主动同步方的同步请求,进行是否预同步的判断,并依照判断结果向主动同步方发送同步响应,该同步响应用于主动同步方进行同步判断;
接收主动同步方根据同步判断而返回的同步反馈,以及在己方相应同步;
该被动同步方与主动同步方之间收发的消息均以密文方式,且消息中带有供对方进行认证的认证信息。
一种基于对称密钥池的密钥同步方法,实施在具有对称密钥池的同步双方之间,同步双方相互发送消息时均以密文方式,且消息中带有供对方进行认证的认证信息。
所述密钥同步方法具体包括:
主动同步方向被动同步方发送同步请求;
被动同步方收到同步请求后进行是否预同步的判断,并依照判断结果向主动同步方发送相应的同步响应;
主动同步方接收同步响应,并进行同步判断,还依照判断结果向被动同步方发送同步反馈,以及在己方相应同步;
被动同步方接收同步反馈,以及在己方相应同步。
相应的,本发明还提供一种密钥同步系统,包括本发明所述的作为主动同步方的基于对称密钥池的密钥同步装置以及作为被动同步方的基于对称密钥池的密钥同步装置。
本发明中同步双方即主动同步方和被动同步方之间的密钥同步不需要第三方的接入和控制,即使出现异常情况,网络的其他成员也不受影响。
同步双方相互发送的消息,例如所述同步请求、同步响应、同步反馈均是以密文方式,由于双方具有对称密钥池因此可以相应的加、解密,不仅如此同步双方相互发送的消息均采用认证机制,即利用消息中携带的认证信息进行认证,关于消息认证算法本身而言可采用现有技术,例如可以是一种带密钥的哈希算法,如经典密码学中的MAC算法(如HMAC算法)。消息认证算法可以识别出篡改和伪装,既可以确认消息的完整性,也可以实现对发送方的身份认证。
所述主动同步方依据应用层所需密钥的相关信息向被动同步方发送相应的同步请求。
应用层的密钥需求可以是来自主动同步方自身或者是其他设备发出的请求。
所述同步请求包括身份标识、密钥同步信息和消息认证码,其中密钥同步信息和消息认证码为密文形式。
身份标识是为了让对方识别以及定位相应的密钥池,消息认证码即所述认证信息,用于供对方进行认证。
主动同步方预计算同步后的密钥控制条目,并将该密钥控制条目以及相应的时间戳组装为所述密钥同步信息。
所述密钥控制条目包含密钥地址和长度,分别对应密钥池中的:
应用层密钥,用于产生应用层所需密钥;
消息认证密钥,用于结合密钥同步信息生成消息认证码;
消息加密密钥,用于加密所述密钥同步信息以及消息认证码获得相应的密文。
在密钥池中,同步前、后的各条密钥控制条目中,密钥地址为顺序或乱序分配。
密钥同步方式为同步刷新或同步更换,并记载在密钥控制条目中,主动同步方判断本次密钥同步方式,并相应的预计算同步后的密钥控制条目。
需要进行密钥同步时,主动同步方判断本次密钥同步方式的过程为:
同步前的密钥控制条目中,对应的应用层密钥在可用生命周期外;或对应的应用层密钥在可用生命周期内但与应用层所需密钥长度不同,则密钥同步方式为同步更换;
同步前的密钥控制条目中,对应的应用层密钥在可用生命周期内,且对应的应用层密钥与应用层所需密钥长度相同,则密钥同步方式为同步刷新。
若密钥同步方式为同步刷新,主动同步方预计算同步后的密钥控制条目时,所述应用层密钥、消息认证密钥和消息加密密钥均采用同步前(即上一次同步后的)的相关信息赋值;
若密钥同步方式为同步更换,主动同步方预计算同步后的密钥控制条目时,所述应用层密钥、消息认证密钥和消息加密密钥均依照应用层所需密钥的相关信息赋值。
应用层发起密钥需要,但并不表明一定需要进行密钥同步,因此在某些条件下并不需要进行密钥同步,例如对应的应用层密钥在可用生命周期内,且对应的应用层密钥与应用层所需密钥长度相同,且密钥控制可选信息(例如密钥使用方法等)在同步前后也相同;则无需同步,直接取用所需密钥即可。
所述同步请求中包括身份标识,被动同步方收到同步请求后首先验证同步请求中的身份标识,若不合法则丢弃该同步请求的数据包,若合法则根据定位至与该身份标识相应的密钥池。
由于同步请求是主动同步方发起的,因此身份标识是主动同步方的身份标识,被动同步方可以根据该身份标识找到与主动同步方相应的密钥池。
被动同步方收到同步请求后进行是否预同步的判断,所述预同步即被动同步方也预计算同步后的密钥控制条目,计算过程与主动同步方类似,这里首先要判断是否需要预同步,而判断过程根据同步方式的不同又分为两个层次。
被动同步方进行是否预同步的判断时,包括:
a、判断是否进行同步刷新,若成立则进行,则依照同步刷新的方式预计算同步后的密钥控制条目;若不成立进入步骤b;
b、判断是否进行同步更换,若成立则进行,则依照同步更换的方式预计算同步后的密钥控制条目;若不成立视为失败。
被动同步方还依照判断结果向主动同步方发送相应的同步响应,无论是进行同步刷新还是进行同步更换,都可视为预同步成功,即发送成功的同步响应,视为失败时则发送失败的同步响应。
无论何种同步响应,也均携带认证信息以及采用密文方式。
步骤a中,所述判断是否进行同步刷新包括:
a1、被动同步方依据同步请求中的身份标识在相应的密钥池中获得同步前的消息加密密钥,以解密同步请求得到明文形式的密钥同步信息和消息认证码;
a2、在相应的密钥池中获得同步前的消息认证密钥,对步骤a1得到的消息认证码进行消息认证;若认证通过则进入步骤a3,否则进入步骤b;
a3、针对步骤a1得到密钥同步信息进行变量比对;若比对通过则预计算同步后的密钥控制条目,否则进入步骤b。
若为同步刷新,主动同步方预计算时,应用层密钥、消息认证密钥和消息加密密钥均采用同步前的相关信息;因此步骤a中,被动同步方采用同步前的相关信息进行计算以及相应判断若可以通过,也恰好说明为同步刷新,否则就要转入同步更换的判断。
若为同步更换,主动同步方预计算时,涉及的密钥信息都是采用预计算后的,也恰对应被动同步方预同步后的相关信息。
对称密钥池的应用过程中,双方会协商下一次使用的密钥,因此被动同步方可以先用同步前的密钥来判断是否为同步刷新,失败后再用协商的下一次密钥用来判断是否为同步更换。
步骤b中,所述判断是否进行同步更换包括:
b1、被动同步方依据同步请求中的身份标识在相应的密钥池中获得下一次的消息加密密钥(这里同步还没有发生,仅仅是相对于上一次同步完成后的状态而言,只有真正的同步完成后,所述下一次的消息加密密钥即成为同步后的消息加密密钥,以下有关下一次的消息认证密钥、下一次的密钥同步信息同理),以解密同步请求得到明文形式的密钥同步信息和消息认证码;
b2、在相应的密钥池中获得下一次的消息认证密钥,对步骤b1得到的消息认证码进行消息认证;若认证通过则进入步骤b3,否则视为失败;
b3、针对步骤b1得到密钥同步信息进行变量比对;若比对通过则预计算同步后的密钥控制条目,否则视为失败。
步骤a3中以及b3中所述的变量比对,即为判断密钥同步信息中密钥控制条目每个字段的正确性或是否符合相应的值域。
失败的同步响应生成过程为:
将时间戳和失败标识组装为失败信息,并采用同步前的消息认证密钥计算所述失败信息的消息认证码;
采用同步前的消息加密密钥对失败信息以及消息认证码加密得到密文;
将身份标识与所述密文组装得到失败的同步响应。
成功的同步响应生成过程为:
将时间戳和预计算获得的同步后的密钥控制条目组装为成功信息,并采用下一次的消息认证密钥计算所述成功信息的消息认证码;
采用下一次的消息加密密钥对成功信息以及消息认证码加密得到密文;
将身份标识与所述密文组装得到成功的同步响应。
预同步失败、成功的同步响应中,携带的主要信息不同,一者为失败标识,另一者为预计算获得的同步后的密钥控制条目;
另外消息认证密钥、消息加密密钥分别采用上一次(同步前)和下一次(相当于同步后)的。
主动同步方接收同步响应后进行同步判断,即己方是否需要进行同步,与被动同步方生成同步响应的方式相应,生成失败的同步响应时,采用的是同步前的密钥,而生成成功的同步响应时,采用的是下一次的密钥,因此主动同步方接收同步响应后也是采用同步前的密钥经解密、解析后判断时候能够获得失败标识,若没有获得失败标识,再采用下一次的密钥经解密、解析、变量比对后得到被动同步方预同步成功与否的结论,并将依照该结论生成同步反馈,若被动同步方预同步成功,则主动同步方开始进入己方的同步。
主动同步方与被动同步方在加、解密以及认证过程中均可能使用到消息认证密钥以及消息加密密钥,在没有特殊说明下,各方使用的密钥均为己方密钥池中的密钥。
主动同步方接收同步响应后进行同步判断的过程包括:
分别采用同步前的消息加密密钥以及消息认证密钥对同步响应进行相应的解密和认证,如可以成功读取失败信息,则流程结束;
否则,分别采用下一次的消息加密密钥以及消息认证密钥对同步响应进行相应的解密和认证,若可以读取被动同步方预计算获得的密钥控制条目、且完成变量比对,则表明被动同步方预同步成功,否则表明被动同步方预同步失败。
主动同步方同步判断结果向被动同步方发送同步反馈,即:
判断结果为被动同步方预同步成功时,发送成功的同步反馈;
判断结果为被动同步方预同步失败时,发送失败的同步反馈。
成功的同步反馈生成过程为:
将时间戳和判断成功标识组装为成功信息,并采用下一次的消息认证密钥计算所述成功信息的消息认证码;
采用下一次的消息加密密钥对成功信息以及消息认证码加密得到密文;
将身份标识与所述密文组装得到判断成功的同步反馈。
同理,失败的同步反馈生成过程为:
将时间戳和判断失败标识组装为失败信息,并采用同步前的消息认证密钥计算所述失败信息的消息认证码;
采用同步前的消息加密密钥对失败信息以及消息认证码加密得到密文;
将身份标识与所述密文组装得到失败的同步反馈。
判断结果为被动同步方预同步成功时,主动同步方在己方相应同步,即利用下一次的密钥控制条目对同步前密钥控制条目赋值,即实现了密钥同步,判断结果为被动同步方预同步失败时,主动同步方则放弃对同步前密钥控制条目的重新赋值,即放弃同步。
被动同步方接收同步反馈,分别采用下一次的消息加密密钥以及消息认证密钥对同步反馈进行相应的解密和认证,若可以成功读取出判断成功标识或判断失败标识,则相应处理,否则流程结束。
被动同步方成功读取出判断成功标识时,在己方相应同步,即利用下一次的密钥控制条目对同步前密钥控制条目赋值,完成密钥同步。
被动同步方成功读取出判断失败标识时,放弃对同步前密钥控制条目的重新赋值,即放弃密钥同步。
本发明的有益效果:
对称密钥池同步传输时,对密钥的同步信息加入了消息认证机制,同时密钥的同步信息均被加密为密文,系统安全性大大提高。
对称密钥池的同步机制仅发生于会话双方,并不受控于KMC那样的集中密钥控制单元,不会发生KMC安全性受影响导致整个网络安全性受影响的情况,当发生安全问题如信息被盗的情况,受影响的仅仅是对称密钥池的双方,仅需对双方进行补救即可,网络的其他成员不受影响。
附图说明
图1为顺序存储的密钥池结构示意图;
图2为乱序存储的密钥池结构示意图;
图3为密钥同步信息生成步骤示意图;
图4为密钥同步正常流程示意图。
具体实施方式
1.对称密钥池的分配
用户USER1和USER2使用QKD或者拷贝分发的方式,形成一对对称密钥池,名字标识符分别为PN=U1和PN=U2,其大小PS=PS1=PS2。USER1和USER2的身份识别码分别为ID=ID1和ID=ID2,在U1和U2中分别记录了对方的身份识别码PID,即:U1中PID=ID2;U2中PID=ID1。随着密钥不断被使用,密钥池的密钥量RPS会逐渐减少。PN、PS、PID、RPS等,都属于密钥池基本信息。当对称密钥池不足时,可以用QKD或者拷贝分发的方式,对对称密钥池进行密钥补充。
2.对称密钥池的同步原理
对称密钥池由密钥池控制信息来控制、获取密钥正文。密钥池控制信息由密钥控制条目C所组成,每个C对应一段密钥正文条目K,不同的C可以指向同一段K。
对称密钥池的同步是指,通信双方从一对对称密钥池中,通过互相交换密钥同步信息M,确定当前应用层密钥的过程。由于对称密钥不可以在网络上传输,因此通过传输C的方式,来同步密钥。时间戳TS与C一起组成了M。加入TS的目的是防止重放攻击。
参见图1,K可以从逻辑上分为消息加密密钥KE、消息认证密钥KA和应用层密钥KU,三者连续存放,其长度分别为LE、LA和LU,可令LE、LA为固定值,LU的具体长度以实际使用时应用层的需求而定。该段K总长度为L=LE+LA+LU。为了防止传输的信息被篡改以及保证信息发送者身份的正确性,需附带上该信息的认证码,具体可以由一种带密钥的哈希算法,如经典密码学中的MAC算法(如HMAC算法)所生成,其密钥使用K中的KA。KA对M计算消息认证码,形成消息认证码MD。M和MD的整体称为MS。由于明文传输MS的信息会造成系统安全性降低,因此对MS进行对称加密形成加密后的密钥同步消息ME,对称加密的密钥为K中的KE,加密方法可以是一种对称加密算法,如AES。双方消息传输成功、消息认证成功并且C比对成功后,就重新确定各自的密钥,密钥就同步成功了,其具体值来自K中的KU。KU是提供给应用层的原始密钥,用密钥使用方法FU进行处理后生成KUA输出给应用层,用于各类加解密、认证,KUA即对称密钥池提供给密钥使用者用于实际工作的密钥。有KUA=FU(KU);特例是,如果FU不存在,有KUA=KU。
C的内容包括密钥控制角色信息CR、密钥控制地址信息CA和密钥控制可选信息CI。
CA包括密钥地址P、密钥长度L(含LE、LA和LU)。
CI包括密钥同步最大生存周期TM、密钥使用方法FU等信息。由于这些都是可选项,称为密钥控制可选信息。TM可以是最大时间段,也可以是密钥最大使用次数,或者两者结合并取先达到的一个;当TM不存在时,即默认一个K使用一次。FU可以是组合密钥算法及其参数,或者类似的从一个原始密钥生成新密钥的算法及其参数;当FU不存在时,即默认KUA=KU。关于组合密钥算法,可见《电子科技大学学报》于2009年公开的“基于组合对称密钥带加密数字签名方法的研究”。
CR包括密钥同步角色标识RS、密钥同步方式SM、密钥同步生存值T。RS表示本方为同步的主动方或者被动方,主动方表示为RSA,被动方表示为RSB。密钥同步分为同步更换和同步刷新:同步更换是指,放弃当前的K,更换为下一条K,体现在C中就是更改CA;同步刷新是指,继续使用当前的K,体现在C中就是保持CA不变,仅更改CI。SM表示本方为同步更换或者同步刷新,同步更换表示为SMA,同步刷新表示为SMB。TM是最大时间段时,则T记载了当前时间距离前次同步成功时间之间的时间段;如果TM是密钥最大使用次数,则T记载了当前密钥的使用次数;如果TM是最大时间段和密钥最大使用次数两者的结合,则T是当前时间距离前次同步成功时间之间的时间段和当前密钥的使用次数两者的结合;如果TM不存在,则T无意义。
对称密钥池的同步更换由于需要知道下一个密钥的地址,还规定了P的同步更换规则FA,对称密钥池的双方均遵守这一规则。FA规定了密钥区域使用的先后顺序。参见图1和图2,最简单的同步更换规则是顺序存储密钥正文条目,即下一个密钥的地址P+1等于当前密钥的地址加上当前密钥的长度:P+1=P+L。更一般的同步更换规则是乱序存储密钥正文条目,即下一个密钥的地址等于当前密钥的地址根据C、K、PS等进行某种计算,其地址可能是密钥池的任意位置。例如:P+1=(P+KU)%PS;其中%为整数取模运算。根据FA得到P+1后,就确定了下一段K的位置。
对称密钥池两次同步更换之间,可以进行任意次同步刷新。例如,对当前KU执行任意次不同的FU可以得到任意个不同的密钥,每次不同的FU都传入C并刷新C内的FU信息;经过同步刷新的步骤后,C’内的FU’信息也得到了刷新。
3.对称密钥池的同步流程
设密钥的主动同步方和被动同步方分别为USER1和USER2,其密钥池分别为U1和U2。在本文中,主动同步方的本次已同步的各个变量不带下标,且不带上标;下一次同步的各个变量都带“+1”下标,且不带上标。被动同步方的本次已同步的各个变量不带下标,且带“’”上标;下一次同步的各个变量都带“+1”下标,且带“’”上标。
同步前,双方分别有C和C’相对应,既是前一次同步成功的结果,又是下一次同步的基础。C={CR={RS,SM,T},CA={P,L},CI};C’中,除了由于角色不同导致RS’≠RS,其余均与C相同。C+1=空;C+1’=空。也就是说,同步前同步密钥的控制信息仅仅存在于C和C’中,C+1和C+1’均为空。如果是密钥分配后的第一次同步,则C和C’也为空;第一次同步将执行同步更换。
同步进行中时,C+1和C+1’至少有一个不为空。可以用C+1是否为空来判断U1是否在同步进行中;用C+1’是否为空来判断U2是否在同步进行中。双方分别使用C+1和C+1’进行同步,同步成功后,分别用C+1和C+1’替换C和C’。
结合图3与图4,本实施例中对称密钥池的同步流程包括U1发送请求消息INVITE(即同步请求),U2发送响应消息RESP,U1发送确认消息ACK。U1在发出ACK后同步密钥;U2在收到ACK后同步密钥。其正常流程命名为PC,如下:
(1)U1发送INVITE
3.1 U1同步需求的提出:U1的同步需求可以记为SR={LUnew,CInew},表示U1的应用层需要使用一个长度为LUnew的密钥(即应用层原始密钥),附带CInew信息。
3.2U1判断同步操作种类,具体为比对C内的信息。如果发生以下情况,启动同步更换流程,进入3.3.1:C内的T已到期;C内的T未到期,但LU≠LUnew。
如果发生以下情况,启动同步刷新流程,进入3.3.2:C内的T未到期,且LU=LUnew,且CI≠CInew。其余情况,表明C内的T未到期,且LU=LUnew,且CI=CInew,无需同步。可直接取出KUA=FU(KU)。流程结束。
3.3生成(即预计算同步后的密钥控制条目)C+1:
3.3.1令C+1={CR+1={RS+1=RSA,SM+1=SMA,T+1},CA+1={P+1,L+1=LE+LA+LUnew},CI+1=CInew}。T+1为初始值,可以是当时的同步时间(代表这个密钥第1次使用的时间)或者使用次数1(代表这是这个密钥的第1次使用)或者同时记录两者。P+1用FA计算得到。进入3.4。
3.3.2令C+1={CR+1={RS+1=RSA,SM+1=SMB,T+1},CA+1={P+1=P,L+1=L},CI+1=CInew}。T+1根据T的递增规则得到,可以是当时的同步时间或者使用次数或者同时记录两者。进入3.4。
3.4生成ME+1:
3.4.1生成M+1:由当时的时间戳TS+1和C+1组成。
3.4.2生成MD+1:取出KA+1,对M+1计算消息认证码,得到MD+1。
3.4.3生成ME+1:取出KE+1,对M+1和MD+1拼装后的消息进行对称加密,生成ME+1。
3.5 U1将ID1和ME+1组装后发送给USER2,即INVITE。
(2)U2发送RESP(即同步响应)
3.6找到U2:USER2收到INVITE后分解出ID1invite和ME+1 invite。由于ID1和ME+1经过网络传输,到达时可能被修改过,因此用ID1invite和ME+1 invite表示。下文其余从INVITE中解析出的变量均用“invite”上标标出。如果ID1invite不被USER2的所有密钥池所识别,则说明ID1invite对USER2来说不是合法ID,此异常记为EXP1。此时USER2直接丢弃此数据包,流程结束。否则,USER2找到PID=ID1invite的本地密钥池U2,进入下一步。
3.7U2判断是否同步刷新。
3.7.1消息解密:U2根据P’取出KE’,解密出同步消息M+1 invite(含时间戳TS+1 invite、密钥控制条目C+1 invite)和同步消息的认证信息MD+1 invite。
3.7.2消息认证:U2根据P’取出KA’,对M+1 invite进行消息认证操作,得到认证信息MD+1’。对比MD+1’和MD+1 invite,如果不一致,则说明本次同步操作不满足同步刷新的条件,进入3.8。否则进入下一步。
3.7.3变量比对:即判断C+1 invite中每一个字段的正确性,判断方式是跟C’中的信息比对,不能比对的检查字段的值是否符合字段的值域。例如,必须满足SM+1 invite=SMB,CA+1 invite=CA’等。如果变量比对失败,则说明本次同步操作不满足同步刷新的条件,进入3.8。否则进入下一步。
3.7.4判断为同步刷新成功,对C+1’进行赋值(即预同步),除了RS+1’=RSB,其余都与C+1 invite保持一致。进入3.9。
3.8 U2判断是否同步更换。如果C+1’=空,则分配空间,并计算出其中的P+1’。
3.8.1消息解密:U2根据P+1’取出KE+1’,解密出同步消息M+1 invite(含时间戳TS+1 invite、密钥控制条目C+1 invite)和同步消息的认证信息MD+1 invite。
3.8.2消息认证:U2根据P+1’取出KA+1’,对M+1 invite进行消息认证操作,得到认证信息MD+1’。对比MD+1’和MD+1 invite,如果不一致,则说明本次同步操作不满足同步刷新的条件,也不满足同步更换的条件。此时U2返回失败的RESP(即失败的同步响应),进入3.11。否则进入下一步。
其中,失败的RESP的构造方式:
(a)生成M+1’:由当时的时间戳TS+1’和RESPERR组成。RESPERR为约定好的表明同步失败的RESP字符串或标识符,可以有多种可能。
(b)生成MD+1’:取出KA’,对M+1’计算消息认证码,得到MD+1’。
(c)生成ME+1’:取出KE’,对M+1’和MD+1’拼装后的消息进行对称加密,生成ME+1’。
(d)将ID2和ME+1’组装起来,完成。
3.8.3变量比对:即判断C+1 invite中每一个字段的正确性,判断方式是跟C’中的信息比对,不能比对的检查字段的值是否符合字段的值域。例如,必须满足SM+1 invite=SMA,P+1 invite=P+1’等。如果变量比对失败,则说明本次同步操作不满足同步刷新的条件,也不满足同步更换的条件。此时U2返回失败的RESP(即失败的同步响应),进入3.11。否则进入下一步。
3.8.4判断为同步更换成功,对C+1’进行赋值(即预同步),除了RS+1’=RSB,其余都与C+1 invite保持一致。
3.9生成ME+1’:
3.9.1生成M+1’:M+1’由当时的时间戳TS+1’和C+1’组成。
3.9.2生成MD+1’:取出KA+1’,对M+1’计算消息认证码,得到MD+1’。
3.9.3生成ME+1’:取出KE+1’,对M+1’和MD+1’拼装后的消息进行对称加密,生成ME+1’。
3.10 U2将ID2和ME+1’组装后发送给USER1,即同步成功的RESP(即成功的同步响应)。
(3)U1发送ACK
3.11 U1处理RESP
3.11.1找到U1:USER1收到RESP后分解出ID2resp和ME+1 resp。由于ID2和ME+1’经过网络传输,到达时可能被修改过,因此用ID2resp和ME+1 resp表示。下文其余从RESP中解析出的变量均用“resp”上标标出。如果ID2resp不被USER1的所有密钥池所识别,则说明ID2resp对USER1来说不是合法ID,此异常记为EXP2。此时USER1直接丢弃此数据包,流程结束。否则,USER1找到PID=ID2resp的本地密钥池U1,进入下一步。
3.11.2 U1使用C的信息对RESP进行解密、解析,并对是否失败进行判断。如果可以直接读出错误码RESPERR且消息认证成功,则为失败,U1设置C+1为空,上报应用层同步失败,流程结束。否则表明U1收到了并非同步失败的RESP,进入下一步。
3.11.3查看U1是否收到了同步成功的RESP。利用C+1的信息对RESP进行解密、解析和变量比对。按照U1的预期,解析出来的C+1’的信息,除了RS+1’=RSB,其余都与C+1保持一致。如果对RESP的处理结果不符合U1的预期,则表明同步失败。否则表明同步成功。
3.12 U1发送ACK(即同步反馈)
U1根据3.11.3同步成功或同步失败的结果,执行类似步骤3.4的步骤,并把其中的C+1替换为ACK结果,生成MEACK,其中MEACK是加密后的密钥同步ACK消息。ACK结果可以是ACKOK或ACKERR;ACKOK为约定好的表明同步成功的ACK字符串或标识符;ACKERR为约定好的表明同步失败的ACK字符串或标识符,可以有多种可能。将ID1和MEACK组装后发送给U2,即ACK。
如果同步成功,U1中执行C的更新,即:令C=C+1,C+1=空。上报应用层同步成功。
如果同步失败,U1中放弃执行C的更新,即:令C不变,C+1=空。上报应用层同步失败。
3.13 U2接收ACK
3.13.1找到U2:类似3.6,USER2收到ACK后分解出ID1ack和MEACKack。由于ID1和MEACK经过网络传输,到达时可能被修改过,因此用ID1ack和MEACKack表示。如果ID1ack不被USER2的所有密钥池所识别,则说明ID1ack对USER2来说不是合法ID,此异常记为EXP3。此时USER2直接丢弃此数据包,流程结束。否则,USER2找到PID=ID1ack的本地密钥池U2,进入下一步。
3.13.2 U2利用C+1’的信息对ACK进行解密、解析。按照U2的预期,应该能解析出ACKOK或ACKERR,并且消息验证通过。如果对ACK的处理结果不符合U2的预期,则表明确认该ACK失败,U2上报应用层同步失败,流程结束。否则表明确认该ACK同步成功或同步失败。
如果是ACKOK,表明同步成功,U2中执行C’的更新,即:令C’=C+1’,C+1’=空。上报应用层同步成功。
如果是ACKERR,表明同步失败,U2中放弃执行C’的更新,即:令C’不变,C+1’=空。上报应用层同步失败。
至此PC结束。
4、同步异常的处理
主动同步方与被动同步方之间收发的消息可能是同步请求、同步响应或同步反馈,如果同步过程中发生U1和U2之间轻度丢包,由于各自都有信令重发机制,一般情况下不影响同步成功。例如,U1发送INVITE后收不到RESP,会对INVITE进行重发,直到达到INVITE的最大发送次数后放弃尝试;U2发送同步成功的RESP后收不到ACK,会对RESP进行重发,直到达到RESP的最大发送次数后放弃尝试。一般情况下在达到最大发送次数前就可以成功。
如果同步过程中发生U1和U2之间重度丢包乃至断网的情况,则引起同步异常,该情况称为EC。
当U1和U2处于EC中时,密钥同步已经暂停,C+1和C+1’至少有一个不为空;应用层的密码学应用也不能正常工作:未同步完成的一方不能进行取密钥操作,即使已同步完成的一方可以取到密钥,使用密钥的应用也不能将认证或者加密包发送到对方,也不能收到对方的任何响应。当EC恢复正常后,双方的密钥池并不能直接检测到这一变化,而是通过应用层的再一次请求来触发密钥同步的继续进行。
例如,U1处于同步中状态,其应用层需要取密钥,经U1检查,必须等到同步完成才可以取密钥,于是触发了U1继续完成前次失败的密钥同步。
又例如,U1处于同步完成状态,其应用层需要取密钥,于是利用C的信息成功取到了密钥KUA,然后应用层向U2发送认证或者加密业务的数据,U2的应用层必然需要向U2取密钥以应对,如果此时U2处于同步中状态,便触发了U2继续完成前次失败的密钥同步。
总之,当U1和U2处于EC中时,总是可以通过被应用层触发而继续完成前次失败的密钥同步:要么是U1被触发,要么是U2被触发。
在EC中作为主动方的情况命名为ECA。在EC中作为被动方的情况命名为ECB。EC的各种情况及其具体流程如下:
(1)INVITE(同步请求)丢失
表现为U1一直收不到RESP。此时U1处于ECA;U2处于同步完成。即:C+1不为空;C+1’为空。EXP1中,有一种情况是INVITE的ID被篡改了,也类似本情况,可用下面的方法解决。
(1-1)U1被触发
主动同步方与被动同步方发生由同步请求丢失引起的同步异常,主动同步方被触发下一次同步时,利用未完成的上次同步流程中预计算得到的同步后的密钥控制条目重新生成同步请求以继续未完成的上次同步流程。
U1执行PE:从3.4开始执行PC。
(1-2)U2被触发
主动同步方与被动同步方发生由同步请求丢失引起的同步异常,被动同步方被触发下一次同步时(作为同步异常的被动同步方,在被触发下一次同步时其实变换角色为主动同步方),可收到来自对方的同步异常的同步响应,对方利用未完成的上次同步流程中预计算得到的同步后的密钥控制条目重新生成同步请求以继续未完成的上次同步流程。
U2拿到SR执行PC,发送完INVITE后,U1使用C和C+1均无法对应成功,因此回复失败的RESP,将ECA放在RESPERR中,并被触发准备解决ECA。两个密钥控制条目的对应成功是指,CA相等且CI相等。与正常情况下的区别是,ECA的情况下,失败的RESP使用的消息加密和消息认证密钥来自U1的C+1。收到U1的失败的RESP后,U2用C’解析出对方处于ECA(U2开始是用C+1’尝试解密,然后失败;再用C’尝试解密成功),于是U2的PC被回退,即U2的C+1被置空,U2的SR被暂时记录。U1此时(U1在发出失败的RESP后,随即发起PE流程)执行PE。PE流程正常结束,即U1和U2同步成功后,U2根据SR启动PC。
(2)ACK(同步反馈)丢失
表现为U2一直收不到ACK。此时U1处于同步完成;U2处于ECB。即:C+1为空;C+1’不为空。EXP3中,有一种情况是ACK的ID被篡改了,也类似本情况,可用下面的方法解决。
(2-1)U2被触发
主动同步方与被动同步方发生由同步反馈丢失引起的同步异常,被动同步方被触发下一次同步时,向对方发送同步异常的同步响应,对方收到该同步响应后,利用未完成的上次同步流程中预计算得到的同步后的密钥控制条目重新生成同步请求以继续未完成的上次同步流程。
U2发送失败的RESP,将ECB放在RESPERR中。与正常情况下的区别是,ECB的情况下,失败的RESP使用的加密和认证密钥来自U2的C+1’。U1用C解析出对方处于ECB,于是U1令C+1=C,并执行PE。
(2-2)U1被触发
主动同步方与被动同步方发生由同步反馈丢失引起的同步异常,主动同步方被触发下一次同步时,可收到来自对方的同步异常的同步响应,主动同步方利用未完成的上次同步流程中预计算得到的同步后的密钥控制条目重新生成同步请求以继续未完成的上次同步流程。
U1拿到SR执行PC,发送完INVITE后,U2使用C’和C+1’均无法对应成功,因此回复失败的RESP,将ECB放在RESPERR中。与正常情况下的区别是,ECB的情况下,失败的RESP使用的加密和认证密钥来自U2的C+1’。收到U2的失败的RESP后,U1用C解析出对方处于ECB,于是U1的PC被回退,即U1的C+1被置空,U1的SR被暂时记录。U1的C+1被置为C,执行PE。PE流程正常结束,即U1和U2同步成功后,U1根据SR启动PC。
(3)RESP(同步响应)丢失
表现为U1一直收不到RESP,且U2一直收不到ACK。此时U1处于ECA;U2处于ECB。即:C+1不为空;C+1’不为空。EXP2中,有一种情况是RESP的ID被篡改了,也类似本情况,可用下面的方法解决。
(3-1)U1被触发
主动同步方与被动同步方发生由同步响应丢失引起的同步异常,主动同步方被触发下一次同步时,利用未完成的上次同步流程中预计算得到的同步后的密钥控制条目重新生成同步请求以继续未完成的上次同步流程。
U1执行PE。
(3-2)U2被触发
主动同步方与被动同步方发生由同步响应丢失引起的同步异常,被动同步方被触发下一次同步时,向对方发送同步异常的同步响应,对方收到该同步响应后,利用未完成的上次同步流程中预计算得到的同步后的密钥控制条目重新生成同步请求以继续未完成的上次同步流程。
U2发送失败的RESP,将ECB放在RESPERR中。与正常情况下的区别是,ECB的情况下,失败的RESP使用的加密和认证密钥来自U2的C+1’。U1用C+1解析出对方处于ECB,于是U1执行PE。
对称密钥池同步有可能发生一方或两方未同步的问题,该问题会导致后续的密钥对无法继续匹配,继而导致密钥池作废。本发明处理了这一异常情况,能保证对称密钥池在出现异常后仍能工作正常,并且不造成密钥浪费。
以上公开的仅为本发明的实施例,但是本发明并非局限于此,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。显然这些改动和变型均应属于本发明要求的保护范围保护内。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何特殊限制。
Claims (18)
1.一种基于对称密钥池的密钥同步方法,实施在主动同步方,其特征在于,该主动同步方与被动同步方之间收发的消息均以密文方式,且消息中带有供对方进行认证的认证信息;
所述密钥同步方法具体包括:
向被动同步方发送包括身份标识、密文形式的密钥同步信息和密文形式的消息认证码的同步请求;
接收被动同步方处理同步请求后返回的同步响应,并进行同步判断,还依照判断结果向被动同步方发送同步反馈,以及在己方相应同步;
其中,主动同步方依照判断结果向被动同步方发送同步反馈,即:
判断结果为被动同步方预同步成功时,发送成功的同步反馈;
判断结果为被动同步方预同步失败时,发送失败的同步反馈;
成功的同步反馈生成过程为:
将时间戳和判断成功标识组装为成功信息,并采用下一次的消息认证密钥计算所述成功信息的消息认证码;
采用下一次的消息加密密钥对成功信息以及消息认证码加密得到密文;
将身份标识与所述密文组装得到判断成功的同步反馈;
失败的同步反馈生成过程为:
将时间戳和判断失败标识组装为失败信息,并采用同步前的消息认证密钥计算所述失败信息的消息认证码;
采用同步前的消息加密密钥对失败信息以及消息认证码加密得到密文;
将身份标识与所述密文组装得到失败的同步反馈。
2.一种基于对称密钥池的密钥同步方法,实施在被动同步方,其特征在于,该被动同步方与主动同步方之间收发的消息均以密文方式,且消息中带有供对方进行认证的认证信息;
所述密钥同步方法具体包括:
接收来自主动同步方的包括身份标识、密文形式的密钥同步信息和密文形式的消息认证码的同步请求,进行是否预同步的判断,并依照判断结果向主动同步方发送同步响应,该同步响应用于主动同步方进行同步判断;
接收主动同步方根据同步判断而返回的同步反馈,以及在己方相应同步;
其中,主动同步方依照判断结果向被动同步方发送同步反馈,即:
判断结果为被动同步方预同步成功时,发送成功的同步反馈;
判断结果为被动同步方预同步失败时,发送失败的同步反馈;
成功的同步反馈生成过程为:
将时间戳和判断成功标识组装为成功信息,并采用下一次的消息认证密钥计算所述成功信息的消息认证码;
采用下一次的消息加密密钥对成功信息以及消息认证码加密得到密文;
将身份标识与所述密文组装得到判断成功的同步反馈;
失败的同步反馈生成过程为:
将时间戳和判断失败标识组装为失败信息,并采用同步前的消息认证密钥计算所述失败信息的消息认证码;
采用同步前的消息加密密钥对失败信息以及消息认证码加密得到密文;
将身份标识与所述密文组装得到失败的同步反馈。
3.一种基于对称密钥池的密钥同步方法,实施在具有对称密钥池的同步双方之间,其特征在于,同步双方相互发送消息时均以密文方式,且消息中带有供对方进行认证的认证信息;
所述的基于对称密钥池的密钥同步方法具体包括:
主动同步方向被动同步方发送包括身份标识、密文形式的密钥同步信息和密文形式的消息认证码的同步请求;
被动同步方收到同步请求后进行是否预同步的判断,并依照判断结果向主动同步方发送相应的同步响应;
主动同步方接收同步响应,并进行同步判断,还依照判断结果向被动同步方发送同步反馈,以及在己方相应同步;
被动同步方接收同步反馈,以及在己方相应同步;
其中,主动同步方依照判断结果向被动同步方发送同步反馈,即:
判断结果为被动同步方预同步成功时,发送成功的同步反馈;
判断结果为被动同步方预同步失败时,发送失败的同步反馈;
成功的同步反馈生成过程为:
将时间戳和判断成功标识组装为成功信息,并采用下一次的消息认证密钥计算所述成功信息的消息认证码;
采用下一次的消息加密密钥对成功信息以及消息认证码加密得到密文;
将身份标识与所述密文组装得到判断成功的同步反馈;
失败的同步反馈生成过程为:
将时间戳和判断失败标识组装为失败信息,并采用同步前的消息认证密钥计算所述失败信息的消息认证码;
采用同步前的消息加密密钥对失败信息以及消息认证码加密得到密文;
将身份标识与所述密文组装得到失败的同步反馈。
4.如权利要求1、2或3所述的基于对称密钥池的密钥同步方法,其特征在于,所述主动同步方依据应用层所需密钥的相关信息向被动同步方发送相应的同步请求。
5.如权利要求4所述的基于对称密钥池的密钥同步方法,其特征在于,主动同步方预计算同步后的密钥控制条目,并将该密钥控制条目以及相应的时间戳组装为所述密钥同步信息。
6.如权利要求5所述的基于对称密钥池的密钥同步方法,其特征在于,所述密钥控制条目包含密钥地址和长度,分别对应密钥池中的:
应用层密钥,用于产生应用层所需密钥;
消息认证密钥,用于结合密钥同步信息生成消息认证码;
消息加密密钥,用于加密所述密钥同步信息以及消息认证码获得相应的密文。
7.如权利要求6所述的基于对称密钥池的密钥同步方法,其特征在于,密钥同步方式为同步刷新或同步更换,并记载在密钥控制条目中,主动同步方判断本次密钥同步方式,并相应的预计算同步后的密钥控制条目。
8.如权利要求7所述的基于对称密钥池的密钥同步方法,其特征在于,若密钥同步方式为同步刷新,主动同步方预计算同步后的密钥控制条目时,所述应用层密钥、消息认证密钥和消息加密密钥均采用同步前的相关信息赋值;
若密钥同步方式为同步更换,主动同步方预计算同步后的密钥控制条目时,所述应用层密钥、消息认证密钥和消息加密密钥均依照应用层所需密钥的相关信息赋值。
9.如权利要求8所述的基于对称密钥池的密钥同步方法,其特征在于,被动同步方进行是否预同步的判断时,包括:
a、判断是否进行同步刷新,若成立则进行,则依照同步刷新的方式预计算同步后的密钥控制条目;若不成立进入步骤b;
b、判断是否进行同步更换,若成立则进行,则依照同步更换的方式预计算同步后的密钥控制条目;若不成立视为失败。
10.如权利要求9所述的基于对称密钥池的密钥同步方法,其特征在于,步骤a中,所述判断是否进行同步刷新包括:
a1、被动同步方依据同步请求中的身份标识在相应的密钥池中获得同步前的消息加密密钥,以解密同步请求得到明文形式的密钥同步信息和消息认证码;
a2、在相应的密钥池中获得同步前的消息认证密钥,对步骤a1得到的消息认证码进行消息认证;若认证通过则进入步骤a3,否则进入步骤b;
a3、针对步骤a1得到密钥同步信息进行变量比对;若比对通过则预计算同步后的密钥控制条目,否则进入步骤b。
11.如权利要求10所述的基于对称密钥池的密钥同步方法,其特征在于,步骤b中,所述判断是否进行同步更换包括:
b1、被动同步方依据同步请求中的身份标识在相应的密钥池中获得下一次的消息加密密钥,以解密同步请求得到明文形式的密钥同步信息和消息认证码;
b2、在相应的密钥池中获得下一次的消息认证密钥,对步骤b1得到的消息认证码进行消息认证;若认证通过则进入步骤b3,否则视为失败;
b3、针对步骤b1得到密钥同步信息进行变量比对;若比对通过则预计算同步后的密钥控制条目,否则视为失败。
12.如权利要求11所述的基于对称密钥池的密钥同步方法,其特征在于,失败的同步响应生成过程为:
将时间戳和失败标识组装为失败信息,并采用同步前的消息认证密钥计算所述失败信息的消息认证码;
采用同步前的消息加密密钥对失败信息以及消息认证码加密得到密文;
将身份标识与所述密文组装得到失败的同步响应。
13.如权利要求12所述的基于对称密钥池的密钥同步方法,其特征在于,成功的同步响应生成过程为:
将时间戳和预计算获得的同步后的密钥控制条目组装为成功信息,并采用下一次的消息认证密钥计算所述成功信息的消息认证码;
采用下一次的消息加密密钥对成功信息以及消息认证码加密得到密文;
将身份标识与所述密文组装得到成功的同步响应。
14.如权利要求13所述的基于对称密钥池的密钥同步方法,其特征在于,主动同步方接收同步响应后进行同步判断的过程包括:
分别采用同步前的消息加密密钥以及消息认证密钥对同步响应进行相应的解密和认证,如可以成功读取失败信息,则流程结束;
否则,分别采用下一次的消息加密密钥以及消息认证密钥对同步响应进行相应的解密和认证,若可以读取被动同步方预计算获得的密钥控制条目、且完成变量比对,则表明被动同步方预同步成功,否则表明被动同步方预同步失败。
15.如权利要求14所述的基于对称密钥池的密钥同步方法,其特征在于,被动同步方接收同步反馈,分别采用下一次的消息加密密钥以及消息认证密钥对同步反馈进行相应的解密和认证,若可以成功读取出判断成功标识或判断失败标识,则相应处理,否则流程结束;
被动同步方成功读取出判断成功标识时,在己方相应同步,即利用下一次的密钥控制条目对同步前密钥控制条目赋值,完成密钥同步;
被动同步方成功读取出判断失败标识时,放弃对同步前密钥控制条目的重新赋值,即放弃密钥同步。
16.一种作为主动同步方的基于对称密钥池的密钥同步装置,包括处理器和存储器,其特征在于,该存储器用于存储如下指令并由处理器加载和执行:
向被动同步方发送包括身份标识、密文形式的密钥同步信息和密文形式的消息认证码的同步请求;
接收被动同步方处理同步请求后返回的同步响应,并进行同步判断,还依照判断结果向被动同步方发送同步反馈,以及在己方相应同步;
其中,主动同步方依照判断结果向被动同步方发送同步反馈,即:
判断结果为被动同步方预同步成功时,发送成功的同步反馈;
判断结果为被动同步方预同步失败时,发送失败的同步反馈;
成功的同步反馈生成过程为:
将时间戳和判断成功标识组装为成功信息,并采用下一次的消息认证密钥计算所述成功信息的消息认证码;
采用下一次的消息加密密钥对成功信息以及消息认证码加密得到密文;
将身份标识与所述密文组装得到判断成功的同步反馈;
失败的同步反馈生成过程为:
将时间戳和判断失败标识组装为失败信息,并采用同步前的消息认证密钥计算所述失败信息的消息认证码;
采用同步前的消息加密密钥对失败信息以及消息认证码加密得到密文;
将身份标识与所述密文组装得到失败的同步反馈
该主动同步方与被动同步方之间收发的消息均以密文方式,且消息中带有供对方进行认证的认证信息。
17.一种作为被动同步方的基于对称密钥池的密钥同步装置,包括处理器和存储器,其特征在于,该存储器用于存储如下指令并由处理器加载和执行:
接收来自主动同步方的包括身份标识、密文形式的密钥同步信息和密文形式的消息认证码的同步请求,进行是否预同步的判断,并依照判断结果向主动同步方发送同步响应,该同步响应用于主动同步方进行同步判断;
接收主动同步方根据同步判断而返回的同步反馈,以及在己方相应同步;
其中,主动同步方依照判断结果向被动同步方发送同步反馈,即:
判断结果为被动同步方预同步成功时,发送成功的同步反馈;
判断结果为被动同步方预同步失败时,发送失败的同步反馈;
成功的同步反馈生成过程为:
将时间戳和判断成功标识组装为成功信息,并采用下一次的消息认证密钥计算所述成功信息的消息认证码;
采用下一次的消息加密密钥对成功信息以及消息认证码加密得到密文;
将身份标识与所述密文组装得到判断成功的同步反馈;
失败的同步反馈生成过程为:
将时间戳和判断失败标识组装为失败信息,并采用同步前的消息认证密钥计算所述失败信息的消息认证码;
采用同步前的消息加密密钥对失败信息以及消息认证码加密得到密文;
将身份标识与所述密文组装得到失败的同步反馈
该被动同步方与主动同步方之间收发的消息均以密文方式,且消息中带有供对方进行认证的认证信息。
18.一种密钥同步系统,其特征在于,包括权利要求16所述的作为主动同步方的基于对称密钥池的密钥同步装置,以及权利要求17所述的作为被动同步方的基于对称密钥池的密钥同步装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710800682.8A CN107508672B (zh) | 2017-09-07 | 2017-09-07 | 一种基于对称密钥池的密钥同步方法和密钥同步装置、密钥同步系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710800682.8A CN107508672B (zh) | 2017-09-07 | 2017-09-07 | 一种基于对称密钥池的密钥同步方法和密钥同步装置、密钥同步系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107508672A CN107508672A (zh) | 2017-12-22 |
CN107508672B true CN107508672B (zh) | 2020-06-16 |
Family
ID=60695126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710800682.8A Active CN107508672B (zh) | 2017-09-07 | 2017-09-07 | 一种基于对称密钥池的密钥同步方法和密钥同步装置、密钥同步系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107508672B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109995739B (zh) * | 2018-01-02 | 2021-06-15 | 中国移动通信有限公司研究院 | 一种信息传输方法、客户端、服务器及存储介质 |
CN108712252B (zh) * | 2018-05-29 | 2021-01-05 | 如般量子科技有限公司 | 一种基于对称密钥池和跨中继的aka身份认证系统和方法 |
CN109040132B (zh) * | 2018-09-26 | 2021-05-28 | 南京南瑞继保电气有限公司 | 一种基于共享密钥随机选择的加密通信方法 |
CN109818749B (zh) * | 2019-01-11 | 2021-11-16 | 如般量子科技有限公司 | 基于对称密钥池的抗量子计算点对点消息传输方法和系统 |
CN114513330A (zh) * | 2019-04-24 | 2022-05-17 | 华为技术有限公司 | 一种参数发送方法及装置 |
CN112448834B (zh) * | 2019-09-02 | 2023-03-24 | 浙江宇视科技有限公司 | 一种设备配置安全下发防篡改方法和系统 |
CN113132089B (zh) * | 2019-12-31 | 2022-09-23 | 科大国盾量子技术股份有限公司 | 一种量子密钥并行比对方法、装置及系统 |
CN112769559B (zh) * | 2020-12-31 | 2022-04-22 | 无锡艾立德智能科技有限公司 | 一种基于多密钥的对称密钥同步方法 |
CN112887086B (zh) * | 2021-01-19 | 2022-07-22 | 北京邮电大学 | 量子密钥同步方法及系统 |
CN114338431B (zh) * | 2021-12-29 | 2024-08-20 | 锐捷网络股份有限公司 | 一种身份注册的方法、装置及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101483865A (zh) * | 2009-01-19 | 2009-07-15 | 中兴通讯股份有限公司 | 一种密钥更替方法、系统及设备 |
CN103023579A (zh) * | 2012-12-07 | 2013-04-03 | 安徽问天量子科技股份有限公司 | 在无源光网络上实施量子密钥分发的方法及无源光网络 |
CN104660602A (zh) * | 2015-02-14 | 2015-05-27 | 山东量子科学技术研究院有限公司 | 一种量子密钥传输控制方法及系统 |
CN105024801A (zh) * | 2015-07-06 | 2015-11-04 | 国网山东寿光市供电公司 | 一种量子加密通信方法 |
CN105337726A (zh) * | 2015-04-06 | 2016-02-17 | 安徽问天量子科技股份有限公司 | 基于量子密码的端对端手持设备加密方法及系统 |
-
2017
- 2017-09-07 CN CN201710800682.8A patent/CN107508672B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101483865A (zh) * | 2009-01-19 | 2009-07-15 | 中兴通讯股份有限公司 | 一种密钥更替方法、系统及设备 |
CN103023579A (zh) * | 2012-12-07 | 2013-04-03 | 安徽问天量子科技股份有限公司 | 在无源光网络上实施量子密钥分发的方法及无源光网络 |
CN104660602A (zh) * | 2015-02-14 | 2015-05-27 | 山东量子科学技术研究院有限公司 | 一种量子密钥传输控制方法及系统 |
CN105337726A (zh) * | 2015-04-06 | 2016-02-17 | 安徽问天量子科技股份有限公司 | 基于量子密码的端对端手持设备加密方法及系统 |
CN105024801A (zh) * | 2015-07-06 | 2015-11-04 | 国网山东寿光市供电公司 | 一种量子加密通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107508672A (zh) | 2017-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107508672B (zh) | 一种基于对称密钥池的密钥同步方法和密钥同步装置、密钥同步系统 | |
CN107959569B (zh) | 一种基于对称密钥池的密钥补充方法和密钥补充装置、密钥补充系统 | |
KR101498323B1 (ko) | 컴퓨터 클러스터 시스템들내 통신의 보안 | |
CN108599925B (zh) | 一种基于量子通信网络的改进型aka身份认证系统和方法 | |
US9338150B2 (en) | Content-centric networking | |
CN108347331A (zh) | 车联网系统中T_Box设备与ECU设备进行安全通信的方法与设备 | |
CN113630248B (zh) | 一种会话密钥协商方法 | |
CN108173644A (zh) | 数据传输加密方法、装置、存储介质、设备及服务器 | |
CN108599926B (zh) | 一种基于对称密钥池的HTTP-Digest改进型AKA身份认证系统和方法 | |
CN108134672B (zh) | 基于量子加密交换机装置的数据传输系统及其传输方法 | |
CN108768632B (zh) | 一种基于对称密钥池和中继通信的aka身份认证系统和方法 | |
Shang et al. | NDN-ACE: Access control for constrained environments over named data networking | |
KR101704540B1 (ko) | M2m 환경의 다중 디바이스 데이터 공유를 위한 그룹키 관리 방법 | |
CN113612610B (zh) | 一种会话密钥协商方法 | |
US11743035B2 (en) | Methods, mediums, and systems for verifying devices in an encrypted messaging system | |
CN108712252B (zh) | 一种基于对称密钥池和跨中继的aka身份认证系统和方法 | |
CN112039883B (zh) | 一种区块链的数据分享方法及装置 | |
US20210258152A1 (en) | Communication node, method of operating thereof and collaborative system | |
CN114915396A (zh) | 一种基于国密算法的跳变密钥数字通信加密系统和方法 | |
CN108616350B (zh) | 一种基于对称密钥池的HTTP-Digest类AKA身份认证系统和方法 | |
WO2018028359A1 (zh) | 业务处理方法、装置、存储介质及电子装置 | |
CN103973438B (zh) | 通信信道动态加密方法 | |
US20240064143A1 (en) | Methods, mediums, and systems for verifying devices in an encrypted messaging system | |
CN113709069B (zh) | 一种数据传输的无损切换方法及装置 | |
US11658955B1 (en) | Methods, mediums, and systems for verifying devices in an encrypted messaging system |
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 |