一种基于量子安全密码模块的自动加解密方法与流程
本发明涉及通信安全,具体涉及一种基于量子安全密码模块的自动加解密方法。
背景技术:
1、封闭式终端通信链路中的硬件旁路自动加解密和量子安全密钥处理领域,适用于无人机飞控模块、地面站业务系统、工业控制器、传感器采集终端和物联网边缘控制终端等终端设备之间的安全通信。此类终端设备通常具有计算资源受限、业务程序固化、通信协议固定、现场升级困难和长期运行等特点,终端设备往往不便安装新的加密驱动,不便改造业务应用程序,也不便在原有控制流程中增加主动密钥请求、加密接口调用或复杂身份认证流程。现有通信加密方案通常依赖平台侧生成并分发会话密钥,或者依赖终端系统主动调用安全模组完成加解密处理,在平台短时不可用、链路不稳定或终端系统不可改造的场景下,可能出现业务会话密钥获取不及时、密钥更新与业务通信耦合较强、加密流程对原终端系统存在侵入的问题。同时,若直接在终端设备输出的原始业务帧中增加密钥密文、随机数、版本号和认证标签等字段,可能改变终端设备原有固定帧格式,使接收侧终端设备无法按原业务协议识别数据。部分方案仅通过设备标识或会话标识进行身份确认,未将设备关系、密钥槽位、密钥版本、防重放随机数、业务帧序号、业务数据加密随机数和认证标签形成统一验证链路,存在加密封装帧被重放、字段被替换或密钥版本不一致时难以及时阻断当前业务帧对应明文输出的问题。此外,终端侧随机数供给能力与业务报文速率之间缺少联动判断,可能在高频报文场景下影响业务会话密钥生成的稳定性;密钥加密密钥更新过程中若直接替换旧密钥,在断电、确认报文丢失或链路超时时,还可能导致通信双方密钥状态不一致,影响后续通信恢复。
技术实现思路
1、本发明提供了一种基于量子安全密码模块的自动加解密方法,本发明目的是解决封闭式终端通信链路中难以在不修改终端业务程序和终端设备侧原始业务帧格式的条件下,实现端侧自主生成业务会话密钥、硬件旁路自动加解密、加密封装帧可信验证以及密钥更新异常可恢复的问题。
2、为解决上述技术问题,本发明所采用的技术方案是:
3、一种基于量子安全密码模块的自动加解密方法,包括:发送侧终端量子安全密码模块通过终端侧硬件旁路接口捕获发送侧终端设备输出的原始业务帧,识别所述原始业务帧的帧边界,并基于所述帧边界确定待加密业务数据;所述发送侧终端量子安全密码模块基于本地随机序列、发送端设备唯一标识、接收端设备唯一标识、防重放随机数、业务帧序号和当前密钥版本号生成业务会话密钥,并由所述业务会话密钥得到数据加密子密钥和完整性认证子密钥;所述发送侧终端量子安全密码模块使用点对点密钥加密密钥封装所述业务会话密钥,使用所述数据加密子密钥加密所述待加密业务数据,使用所述完整性认证子密钥生成认证标签,并基于附加认证数据、会话密钥密文、业务数据加密随机数、业务数据密文和所述认证标签生成加密封装帧;接收侧终端量子安全密码模块接收所述加密封装帧,对所述加密封装帧进行密钥槽位绑定认证、防重放验证和认证标签验证,在验证通过后解封装所述业务会话密钥并解密所述业务数据密文,恢复与所述原始业务帧格式一致的恢复业务帧并输出至接收侧终端设备。
4、在本发明的一方面,所述发送侧终端量子安全密码模块通过终端侧硬件旁路接口捕获发送侧终端设备输出的原始业务帧,包括:所述发送侧终端量子安全密码模块串联设置在所述发送侧终端设备与发送侧通信模块之间,所述终端侧硬件旁路接口连接所述发送侧终端设备,通信侧硬件旁路接口连接所述发送侧通信模块;所述发送侧终端设备按照原业务流程输出所述原始业务帧,所述发送侧终端量子安全密码模块在不要求所述发送侧终端设备调用加密接口、不要求所述发送侧终端设备请求业务会话密钥且不修改所述发送侧终端设备业务程序的情况下,通过所述终端侧硬件旁路接口捕获所述原始业务帧;所述发送侧终端量子安全密码模块根据所述原始业务帧的物理链路类型识别所述帧边界,所述物理链路类型包括串口链路、控制总线链路或以太网链路中的至少一种;所述发送侧终端量子安全密码模块将包含原业务帧头、原业务载荷、原业务校验字段和原业务帧尾的完整原始业务帧确定为所述待加密业务数据。
5、在本发明的一方面,所述本地随机序列包括量子随机数单元输出并通过健康检测的量子随机序列,以及真随机数单元输出并通过健康检测的辅助随机序列;所述发送侧终端量子安全密码模块在生成所述业务会话密钥之前,对所述量子随机序列和所述辅助随机序列分别执行连续位检测、重复块检测、最小熵估计和输出速率检测;在所述量子随机序列和所述辅助随机序列均通过健康检测后,所述发送侧终端量子安全密码模块基于所述量子随机序列、所述辅助随机序列、所述发送端设备唯一标识、所述接收端设备唯一标识、所述防重放随机数、所述业务帧序号和所述当前密钥版本号生成所述业务会话密钥;在所述量子随机序列或所述辅助随机序列未通过健康检测时,所述发送侧终端量子安全密码模块停止基于当前随机序列生成所述业务会话密钥,并清除与当前原始业务帧对应的随机数缓存和明文缓存。
6、在本发明的一方面,所述发送侧终端量子安全密码模块基于本地随机序列、发送端设备唯一标识、接收端设备唯一标识、防重放随机数、业务帧序号和当前密钥版本号生成业务会话密钥之前,还包括:所述发送侧终端量子安全密码模块根据随机数输出速率、统计时间窗口、统计时间窗口内需要加密的业务报文数量、单个业务会话密钥长度、单个防重放随机数长度、单个业务数据加密随机数长度和预留随机比特数量确定随机数水位状态;当所述随机数水位状态满足一报文一业务会话密钥生成条件时,所述发送侧终端量子安全密码模块针对当前原始业务帧生成新的业务会话密钥;当所述随机数水位状态不满足一报文一业务会话密钥生成条件且随机数缓存区存在已通过健康检测的可用随机材料时,所述发送侧终端量子安全密码模块调用所述可用随机材料生成所述业务会话密钥;当所述随机数水位状态不满足一报文一业务会话密钥生成条件且随机数缓存区不存在可用随机材料时,所述发送侧终端量子安全密码模块暂停输出新的加密封装帧,并向量子安全密码模块管控平台上报随机数水位不足事件。
7、在本发明的一方面,所述发送侧终端量子安全密码模块使用点对点密钥加密密钥封装所述业务会话密钥,包括:所述发送侧终端量子安全密码模块在硬件安全模块中查询与所述接收端设备唯一标识和所述当前密钥版本号绑定的点对点密钥槽位;在所述点对点密钥槽位处于活动状态且允许运算类型包括会话密钥封装时,所述发送侧终端量子安全密码模块调用所述点对点密钥槽位中的点对点密钥加密密钥;所述发送侧终端量子安全密码模块使用所述点对点密钥加密密钥,以所述发送端设备唯一标识、所述接收端设备唯一标识、所述防重放随机数、所述业务帧序号和所述当前密钥版本号作为会话密钥封装关联数据,对所述业务会话密钥进行认证加密封装,生成所述会话密钥密文;所述会话密钥密文被写入所述加密封装帧,使得所述接收侧终端量子安全密码模块能够在密钥槽位绑定认证通过后基于所述会话密钥密文恢复所述业务会话密钥。
8、在本发明的一方面,所述发送侧终端量子安全密码模块使用所述完整性认证子密钥生成认证标签,包括:所述发送侧终端量子安全密码模块基于加密封装帧头、所述发送端设备唯一标识、所述接收端设备唯一标识、所述当前密钥版本号、所述防重放随机数、所述业务帧序号、通信模式标识、业务数据加密随机数和所述会话密钥密文生成附加认证数据;所述发送侧终端量子安全密码模块使用所述数据加密子密钥对所述待加密业务数据进行加密,生成所述业务数据密文;所述发送侧终端量子安全密码模块使用所述完整性认证子密钥对所述附加认证数据和所述业务数据密文生成所述认证标签;所述发送侧终端量子安全密码模块将所述附加认证数据对应的字段、所述会话密钥密文、所述业务数据加密随机数、所述业务数据密文和所述认证标签组合成所述加密封装帧,并通过通信侧硬件旁路接口输出所述加密封装帧。
9、在本发明的一方面,所述接收侧终端量子安全密码模块对所述加密封装帧进行密钥槽位绑定认证,包括:所述接收侧终端量子安全密码模块解析所述加密封装帧,得到所述发送端设备唯一标识、所述接收端设备唯一标识、所述当前密钥版本号、所述防重放随机数、所述业务帧序号、通信模式标识、所述会话密钥密文、业务数据加密随机数、所述业务数据密文和所述认证标签;所述接收侧终端量子安全密码模块根据所述发送端设备唯一标识、所述接收端设备唯一标识和所述当前密钥版本号查询硬件安全模块中的密钥槽位绑定表;当查询结果唯一、所述接收端设备唯一标识与本机设备唯一标识一致、所述当前密钥版本号处于有效范围、密钥状态为活动状态且允许运算类型包括会话密钥解封装时,所述接收侧终端量子安全密码模块允许调用对应点对点密钥槽位;当查询结果为空、查询结果不唯一、所述接收端设备唯一标识与本机设备唯一标识不一致、所述当前密钥版本号不处于有效范围、密钥状态不是活动状态或允许运算类型不包括会话密钥解封装时,所述接收侧终端量子安全密码模块丢弃所述加密封装帧。
10、在本发明的一方面,所述接收侧终端量子安全密码模块对所述加密封装帧进行防重放验证和认证标签验证,包括:所述接收侧终端量子安全密码模块以所述发送端设备唯一标识和所述当前密钥版本号为索引维护防重放窗口;当所述防重放随机数已经出现过,或者所述业务帧序号低于所述防重放窗口允许的最小业务帧序号时,所述接收侧终端量子安全密码模块丢弃所述加密封装帧;当防重放验证通过时,所述接收侧终端量子安全密码模块基于所述会话密钥密文解封装得到所述业务会话密钥,并由所述业务会话密钥得到所述数据加密子密钥和所述完整性认证子密钥;所述接收侧终端量子安全密码模块使用所述完整性认证子密钥对所述加密封装帧中的附加认证数据和所述业务数据密文重新计算认证标签,其中所述附加认证数据包括业务数据加密随机数,并将重新计算的认证标签与所述加密封装帧中的认证标签进行恒定时间比较;当比较结果一致时,所述接收侧终端量子安全密码模块使用所述数据加密子密钥和所述业务数据加密随机数解密所述业务数据密文,得到恢复业务帧;当比较结果不一致时,所述接收侧终端量子安全密码模块丢弃所述加密封装帧且不输出当前加密封装帧对应的明文数据。
11、在本发明的一方面,所述方法还包括:量子安全密码模块管控平台通过平台密码卡生成新的密钥加密密钥,所述新的密钥加密密钥包括新的设备专属密钥加密密钥或新的点对点密钥加密密钥,并基于旧设备专属密钥加密密钥或旧点对点密钥加密密钥生成密钥更新密文和密钥更新认证标签;终端量子安全密码模块接收所述密钥更新密文和所述密钥更新认证标签后,验证设备唯一标识、旧密钥版本号、更新随机数和候选密钥槽标识,并在所述密钥更新认证标签验证通过后,将所述新的密钥加密密钥写入候选密钥槽;所述终端量子安全密码模块使用所述候选密钥槽中的新的密钥加密密钥生成确认响应,所述量子安全密码模块管控平台验证所述确认响应通过后下发切换确认指令;所述终端量子安全密码模块验证所述切换确认指令通过后,将所述候选密钥槽切换为活动密钥槽,并在预设回滚窗口内将旧活动密钥槽设置为只读保留状态;在确认响应丢失、切换确认指令验证失败、终端量子安全密码模块断电或链路超时时,所述终端量子安全密码模块保持所述旧活动密钥槽继续有效,并清除所述候选密钥槽中的未确认密钥材料。
12、在本发明的一方面,所述方法还包括:在一对多通信模式下,量子安全密码模块管控平台通过平台密码卡生成群组根密钥,并使用各终端量子安全密码模块的设备专属密钥加密密钥分别封装所述群组根密钥;各终端量子安全密码模块接收被封装的群组根密钥后,基于本机硬件安全模块中的设备专属密钥加密密钥解封装得到所述群组根密钥;发送侧终端量子安全密码模块不直接使用所述群组根密钥加密业务数据,而是基于所述群组根密钥、发送端设备唯一标识、群组标识、群组随机数、群组业务帧序号和群组通信策略版本号派生群组通信业务会话密钥,并将所述发送端设备唯一标识、所述群组标识、所述群组随机数、所述群组业务帧序号和所述群组通信策略版本号写入群组加密封装帧的认证字段;接收侧各终端量子安全密码模块基于本机解封装得到的所述群组根密钥以及所述群组加密封装帧中携带的所述发送端设备唯一标识、所述群组标识、所述群组随机数、所述群组业务帧序号和所述群组通信策略版本号,复现所述群组通信业务会话密钥,基于所述群组通信业务会话密钥得到群组通信数据加密子密钥和群组通信完整性认证子密钥,并按照所述认证标签验证和恢复业务帧输出方式进行一对多业务数据自动解密。
13、与现有技术相比,本发明具有以下有益效果:
14、本发明通过发送侧终端量子安全密码模块以终端侧硬件旁路接口捕获原始业务帧,并将完整原始业务帧作为待加密业务数据,使原终端设备侧不需要安装加密驱动、不需要调用加密接口、不需要主动请求业务会话密钥,也不需要改变终端设备输入和输出的原业务帧格式,从而降低封闭式终端接入加密能力时对原系统的改造要求;通过发送侧终端量子安全密码模块基于本地随机序列、发送端设备唯一标识、接收端设备唯一标识、防重放随机数、业务帧序号和当前密钥版本号生成业务会话密钥,使业务会话密钥与具体通信对象、具体业务帧和当前密钥状态建立对应关系,减少业务通信过程对平台在线分发业务会话密钥的依赖;通过由业务会话密钥得到数据加密子密钥和完整性认证子密钥,使业务数据加密和完整性认证分别使用不同用途的子密钥,降低同一密钥材料多用途使用带来的实现风险;通过点对点密钥加密密钥对业务会话密钥进行认证加密封装,并由数据加密子密钥加密待加密业务数据,使长期密钥不直接参与业务明文加密;通过会话密钥密文、业务数据加密随机数、业务数据密文和认证标签形成加密封装帧,并在接收侧依次进行密钥槽位绑定认证、防重放验证和认证标签验证后再恢复业务帧,可以在设备标识不匹配、密钥版本异常、报文重放、业务数据加密随机数被替换或密文被篡改时阻断当前业务帧对应明文输出,使接收侧终端设备获得与原始业务帧格式一致的数据。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com