APP下载

基于国密化区块链平台的量子密钥全生命周期管理系统

2022-12-12林雨生侯麒煜谢汶廷陈天肃

成都信息工程大学学报 2022年5期
关键词:安全事件日志密钥

林雨生 昌 燕 侯麒煜 谢汶廷 王 玮 陈天肃

(成都信息工程大学网络空间安全学院,四川 成都 610225)

0 引言

传统通信系统中,保证密钥的安全性是用户进行保密通信的前提。密钥的安全性问题主要分为两个方面:(1)密钥生成时不是真随机的序列,并且在密钥分发时,由于计算能力的提高,密钥泄露的可能性越来越大;(2)密钥管理缺乏可信度,当发生安全事件时,管理员无法进行有效及可信赖的追溯追责。

量子通信[1-3]利用量子力学特征,使量子密钥分发时具有无条件安全性,并且产生的量子密钥是真随机的序列。因此,量子通信能够有效解决传统通信系统中密钥生成与分发的安全性问题。目前,量子通信在保密通信中应用越来越广泛,赖俊森等[4]分析了量子保密通信的发展前景,并提出了相应的策略;曹原等[5]分析了目前量子通信网络的研究进展,提出量子通信网络体系架构;郑炜能[6]将量子通信应用于实现多节点的路由功能;查振兴等[7]则将量子通信应用于VPN网络中密钥的传输;吴佳楠等[8]将量子密钥应用于文件加密系统中;熊英等[9]将量子通信应用于保护移动办公的安全中。以上研究保证了量子密钥生成、分发的安全性,但没有解决量子密钥使用及管理时存在的安全性问题。

联盟链[10]是区块链的一种,由多个私有链组成,只有联盟内部的机构及其用户才能访问数据,达成共识容易。目前,联盟链应用于保密通信中量子密钥管理的研究较少,已有的研究中,姚英英等[11]提出使用区块链应用于物联网场景下的身份认证以及密钥管理方案;石润华等[12]利用区块链技术解决了物联网中密钥分发困难的问题,并且使用量子随机数提高密钥的安全性。以上研究使用公有链进行密钥管理,不能进行实时更新,并且公有链的数据隐私性较弱。

针对目前研究中存在的问题,本文结合区块链技术与量子通信技术,提出一个基于国密化区块链平台的量子密钥全生命周期管理系统,具有以下特点:将量子密钥应用于传统保密通信中,并使用一次一密的思想,保证量子密钥生成、分发、使用时的安全性;将国密化算法替换国际通用密码算法,构建国密化Fabric联盟链管理系统用于量子密钥的全生命周期管理;联盟链管理员可以对量子密钥的全生命周期中发生的安全事件进行追溯追责。本文提出的系统,可以实现对量子密钥的可信、有效监管,并能对保密通信时发生的安全事件进行追溯追责,解决了经典通信系统中密钥存在的安全性问题。

1 系统设计

1.1 业务设计

系统的业务包括两个机构成员间的保密通信、国密化Fabric联盟链平台搭建与管理、量子密钥操作日志信息上链、联盟链管理员对安全事件的追溯追责。具体开发逻辑如下。

(1)两个机构间的保密通信业务。根据两个机构间的保密通信需求,构建C/S模式的保密通信网络。该业务包含3个方面:两个机构量子设备管理员首先通过量子密钥分发产生对称密钥池,然后进一步协商量子密钥编号规则以及选取量子密钥的长度;两个机构成员向各自管理员申请量子密钥用于保密通信;在保密通信时使用CA证书、公钥体系和对称密码技术保证安全性。

(2)国密化Fabric联盟链开发业务。将现有Fabric联盟链进行国密化改造,建立Fabric平台。以两个机构中两个成员进行保密通信为例,配置有两个机构的组织,并且在每个组织的节点上写入链码。

(3)量子密钥操作日志信息上链。在两个机构成员间进行保密通信的整个过程中,有关量子密钥全生命周期的操作日志文件由两个机构的管理员或用户上传到Fabric平台中,最后由联盟链管理员进行管理。

(4)安全事件的追溯追责。当两个机构成员进行保密通信时或保密通信后,若发生安全事件,则由联盟链管理员根据发生安全事件时的量子密钥ID进行追溯追责。

1.2 架构设计

系统的架构主要包括国密化Fabric联盟链平台、基于C/S模式的保密通信网络、Web服务器端的管理与追溯追责,见图1。

其中客户端为两个机构中的成员及管理员。该客户端保密通信网络采取C/S模式,当两个机构成员或管理员操作量子密钥时,实时记录并上传相关量子密钥操作日志文件到联盟链中。

Web管理端使用Vue框架进行编写,为联盟链管理员对安全事件进行管理与追溯追责,是系统的核心。当联盟链管理员登录Web后端后,可以查询客户端用户上传时的交易ID,并以量子密钥的全生命周期过程进行分类,查询所有交易ID的交易信息进行分类展示。若对安全事件进行追溯追责时,则查询发生安全事件的量子密钥ID,展示该量子密钥ID对应量子密钥的全生命周期过程中的交易信息,再由管理员进行逐一排查,最终确定安全事件的责任方。

国密化Fabric联盟链平台包括数据层、网络层等,其功能是对机构用户或管理员上传的量子密钥操作日志信息进行存储。其中数据层是联盟链的核心部分,能将机构用户或管理员的量子密钥日志操作文件上传到联盟链中;网络层保证了Fabric联盟链中的信息传输,主要有共识机制和数据验证机制等;合约层含有Fabric联盟链的智能合约,也称为链码,是在Fabric联盟链上进行存储等操作的一段代码,并且能与Fabric网络进行交互;最外层是应用层,包含了Fabric SDK模块,能实现Fabric联盟链与后端服务的连接。

2 系统实现

2.1 国密化联盟链平台

为实现联盟链平台算法的自主可控,则需用国密算法替换BCCSP模块[13]中的哈希算法、对称密码算法以及非对称密码算法。目前,曹琪等[14]已经对如何嵌入国密化算法到联盟链平台中有一定研究,本文构建的国密化区块链平台则借鉴其思想将国密SM2、SM3、SM4算法替换 SHA算法、AES算法、RSA算法等,并根据使用量子密钥的保密通信机构设置节点等信息,以便用于量子密钥全生命周期的管理与安全事件的追溯。

2.1.1 国密化联盟链环境搭建

系统将联盟链搭建在Ubuntu环境下,使用Goland编辑器运行代码,然后安装联盟链环境的依赖程序以及Fabric的系统文件,再运行Fabric文件中的bootstrap脚本完成其余文件的配置,随后将国密化算法接口嵌入到上层应用中,实现对国密算法调用的支持,最后根据保密通信中含有的机构数量创建组织节点,构建证书、数据文件和通道,同时打开orderer和peer节点,当通道创建后,将节点逐个加入,则完成国密化联盟链环境部署。本系统创建的两个组织的相关信息见表1。

表1 组织信息

当完成通道创建后,添加节点和对所构建的节点进行测试见图2~3。

2.1.2 国密化联盟链链码开发

在保密通信过程中,为实现两方机构管理员和用户的量子密钥日志文件进行实时上传,Fabric联盟链需要进行相应链码的开发及封装,主要方法见表2。

表2 链码方法

2.2 保密通信网络

本系统以经典通信为基础,使用java语言进行编程,采取C/S通信模式,将量子密钥融入到经典通信网络中,保证通信密钥的真随机性及不可窃取。保密通信网络包含:两个机构管理员进行量子密钥传输及协商量子密码本;两个机构成员使用量子密钥进行保密通信;两个机构管理员及成员上传量子密钥日志文件到区块链中。

2.2.1 协商量子密码本

两个机构间需要进行保密通信时,首先需要两方机构管理员间使用量子设备产生对称量子密钥池,借助DH密钥协商的思想,两个机构管理员利用公私钥体系保护协商内容及CA证书进行身份认证,再确定所取量子密钥长度以及每个量子密钥的编号规则,最终产生对称的量子密码本保存在本地。本系统以两个机构管理员协商的编号规则为k+递增,选取的量子密钥长度为128位,则两方机构管理员最终形成的量子密码本见图4。

2.2.2 保密通信

当两个机构成员需要进行保密通信时需要如下步骤:

(1)各个机构成员需向各自管理员申请量子密钥,由管理员使用公私钥体系将量子密钥进行内网传输到指定成员,并记录此次操作保包含的日志信息,以便后续上传至区块链中,其管理员分发量子密钥后展示界面见图5。

(2)机构成员接收到量子密钥后首先存储在本地密码本中,并在成员界面展示密钥相关信息,然后将其作为AES-128算法的密钥种子产生一级密钥,再将该一级密钥加密随机数R产生会话密钥,最后用于加密通信内容,并使用公私钥体系将加密通信内容、量子密钥ID、随机数R等发送至另一机构接收方,同时记录此次量子密钥相关日志信息,其发送方用户界面展示见图6。

(3)接收方利用公私钥体系进行解密数据包,首先查询是否含有量子密钥ID对应的量子密钥,若没有则与步骤(2)申请量子密钥操作一致,然后还原出会话密钥解密通信内容,并记录此次量子密钥相关日志信息。以上步骤则称为完成两个机构间的保密通信。

2.2.3 上传量子密钥日志文件

为实现对量子密钥全生命周期的管理与发生安全事件时的追溯追责,两方机构管理员与成员在对量子密钥进行相关操作时,都需要将量子密钥日志文件以json格式实时上传至区块链中。在量子密钥全生命周期中,两方机构管理员或用户对量子密钥的操作信息见表3。

表3 量子密钥日志信息字段

当两方机构管理员或用户操作量子密钥并形成日志文件时,管理员或用户只需使用GRPC远程调用区块链封装的方法即可,其主要的调用方法见表4。

表4 上链调用方法

2.3 量子密钥管理及追溯平台

当保密通信过程中或通信后发生安全事件时,区块链管理员可登录管理后台,查询相关量子密钥ID全生命周期过程中所记录的日志信息,并根据量子密钥全生命周期的不同阶段逐步追溯安全事件的责任人以及时间段。其中量子密钥管理及追溯平台采用Vue框架,并与区块链平台进行实时查询交易信息并展示。

2.3.1 量子密钥全生命周期管理

量子密钥的全生命周期包括密钥生成、分发、使用、销毁阶段,根据保密通信过程中两方机构管理员或用户上传的量子密钥日志信息进行分类,使得区块链管理员可以实时查看每个阶段的量子密钥相关信息,以便及时发现安全事件。以量子密钥生成阶段为例,区块链管理员查看的信息展示见图7。

2.3.2 安全事件追溯追责

当区块链管理员或保密通信用户发现安全事件时,则由区块链管理员首先排查安全事件发生的阶段以及责任方。区块链管理员根据发生安全事件时使用的量子密钥ID查询其所有的日志信息,并以量子密钥全生命周期不同阶段进行展示;然后由管理员对比每个阶段参与者的日志信息是否不一致,若发现有问题的阶段则点击错误按钮,再进入下一个阶段,直到判别完该量子密钥的全生命周期所有阶段的日志信息则结束;最后则完成追溯,并展示出错的阶段以及该阶段的参与者,随后再联合相关参与者判定此次安全事件的责任人。安全事件追溯及追溯结果展示见图8、图9。

3 结束语

本文针对经典保密通信中存在的密钥易泄露、密钥不真随机等问题,将量子密钥用于经典保密通信中,并构建国密化区块链平台对量子密钥的全生命周期进行管理与追溯,实现量子通信与区块链的结合应用。当发生安全事件时,由于区块链具有去中心化、数据不可篡改等特点,区块链管理员可以对安全事件进行可靠、可信的追溯追责,保证了保密通信过程中量子密钥全生命周期的安全性,并能对量子密钥使用者进行一定程度上的威慑,使之不能随意进行破坏。

致谢:感谢成都市科技项目(2019-YF05-02028-GX)对本文的资助

猜你喜欢

安全事件日志密钥
幻中邂逅之金色密钥
幻中邂逅之金色密钥
一名老党员的工作日志
2020年度区块链领域安全事件达555起
密码系统中密钥的状态与保护*
扶贫日志
创建KDS根密钥
雅皮的心情日志
雅皮的心情日志
民航不安全事件调查工作的改进措施及建议