一种基于区块链的保密通信方法及其安全事件的追溯方法
技术领域
本发明涉及区块链技术领域,具体涉及一种基于区块链的保密通信方法及其安全事件的追溯方法。
背景技术
从Bennett等人提出BB84协议以来,量子密钥分配和量子通信已成为量子密码学的重要话题,多种量子密钥分配和量子通信协议被提出。量子密钥分配和量子通信的发展促进了经典保密通信的研究,量子密钥分配和量子通信技术可以应用到经典保密通信系统中密钥安全生成分发上。区块链的概念在2008年被提出之后,区块链的发展已经进入全面应用的时代。区块链具有去中心化、安全、可信等特点,区块链的这些特点为经典保密通信系统中密钥监管的问题找到了解决方式。
郑炜能提出量子信道管理机制应用在大规模通信之中,实现了多个节点中通过量子信道寻径实现路由功能。在实现量子密钥管理方面,王贺模拟了量子密钥管理业务性能仿真的结果,得出了量子密钥管理在通信中的应用情况,查振兴提出了基于量子密钥VPN实现了量子密钥在VPN网络中的传输。关于量子密钥的应用,吴佳楠在2020年提出融合量子密钥的文件加密系统,将量子密钥结合一次一密的思想来保护系统的安全性,熊英提出将量子密钥应用于移动办公中保护办公的安全性,郑涛提出了基于量子区块链网络的匿名投票选举协议。
姚英英提出用区块链实现去中心化的身份认证及密钥管理方案,在去中心化的物联网应用场景下,对身份认证以及密钥管理提供了可行的解决方案,陈金熠在2019年提出了基于区块链的医疗数据管理,利用区块链对数据进行记录与追溯。石润华在2020年提出用区块链解决物联网中密钥分发困难的问题,并且引入了量子随机数来保证密钥安全性,实现不同物联子网底层传感设备间的安全通信。
现有技术的缺陷和不足:目前量子密钥分配网络的研究大多是针对量子密钥传输的安全性,但是量子密钥分配网络在实现一次一密通信的时候存在生成率的限制问题,在通信系统中传输的数据量越来越大的情况下还未有很好的解决方案,其次是量子密钥分配网络构建的成本十分高,通信系统中实现所有人都拥有量子密钥分配线路进行通信是十分困难的,无法满足复杂的通信模型的要求。基于区块链的密钥管理研究大部分研究密钥生成及分发阶段的管理与记录,对其他阶段的管理与记录缺乏研究。
发明内容
针对现有技术中的上述不足,本发明提供的一种基于区块链的保密通信方法及其安全事件的追溯方法解决了两方机构的在保密通信中关于量子密钥生成、分发、使用、销毁、更新的全生命周期无法进行有效记录、管理和追溯的问题。
为了达到上述发明目的,本发明采用的技术方案为:一种基于区块链的保密通信方法,包括以下步骤:
S1、对有保密通信需求的两方机构进行用户注册登录和认证,得到两方用户各自的CA证书;
S2、在两方机构上生成各自的量子设备管理员量子密钥文件;
S3、采用两方用户各自的CA证书对量子设备管理员量子密钥文件中内容进行加密,得到两方用户各自的加密数据包;
S4、对加密数据包进行解密存储,得到保存量子密钥ID和该量子密钥ID对应的量子密钥的用户本地量子密钥文件;
S5、根据用户本地量子密钥文件中的量子密钥ID和该量子密钥ID对应的量子密钥,采用对称加密和公钥加密相结合方式,实现有保密通信需求的两方机构进行保密通信。
进一步地,步骤S1包括以下分步骤:
S11、将有保密通信需求的两方机构在中心服务器均进行用户信息注册;
S12、根据中心服务器接收到的用户注册信息,将用户注册信息发送至区块链;
S13、通过区块链管理员根据区块链接收到的用户注册信息生成用户在区块链中的MSP信息,并将MSP信息发送至中心服务器;
S14、通过中心服务器将用户注册信息和MSP信息进行绑定,完成两方用户注册;
S15、在两方用户完成注册后,进行登录,分别向CA证书服务器申请CA证书,得到两方用户各自的CA证书,完成两方用户的合法认证。
进一步地,步骤S2包括以下分步骤:
S21、通过两方机构使用量子密钥分发设备产生真随机的对称量子协商密钥池,并将对称量子协商密钥池存储在两方机构各自的量子设备管理员处;
S22、根据存储在两方机构各自的量子设备管理员处的对称量子协商密钥池,由两方机构各自的量子设备管理员通过协商量子密钥编号规则生成量子设备管理员量子密钥文件。
进一步地,步骤S3包括以下分步骤:
S31、通过两方用户提交量子密钥的请求操作到中心服务器;
S32、通过中心服务器根据用户注册信息,找到用户所选择的机构ID,确定对应的量子设备管理员;
S33、通过量子设备管理员的自身私钥解密得到量子密钥的请求操作的状态码;
S34、根据状态码,通过量子设备管理员根据两方用户各自的CA证书分别对量子设备管理员量子密钥文件中量子密钥ID和该量子密钥ID对应的量子密钥进行加密,得到两方用户各自的加密数据包。
进一步地,步骤S4包括以下分步骤:
S41、将加密数据包传输给两方用户;
S42、在两方用户接收各自的加密数据包时,采用两方用户的私钥对加密数据包进行解密,得到量子密钥ID和该量子密钥ID对应的量子密钥,将量子密钥ID和该量子密钥ID对应的量子密钥存储在用户本地量子密钥文件中。
上述进一步方案的有益效果为:通过S31~S42使用公钥方法传输量子密钥以及量子密钥ID到用户,保证了量子密钥在发放过程中的安全性,用户接收到加密数据包进行解密后能够得到量子密钥以及量子密钥ID,并写入用户本地的量子密钥文件中,完成了量子密钥请求分发功能。
进一步地,步骤S5包括以下分步骤:
S51、通过一方机构的用户根据对称加密算法AES中的安全随机数生成器产生随机数;
S52、在一方机构的用户产生随机数后,读取用户本地量子密钥文件,得到量子密钥ID和该量子密钥ID对应的量子密钥;
S53、采用该量子密钥ID对应的量子密钥加密随机数,得到会话密钥;
S54、采用会话密钥对待发送的聊天内容进行加密,得到加密聊天内容;
S55、通过一方机构的用户将量子密钥ID、随机数和加密聊天内容使用另一方机构的用户的公钥进行加密,生成加密消息数据包;
S56、通过中心服务器将加密消息数据包转发给另一方机构的用户;
S57、在另一方机构的用户接收到加密消息数据包后,使用私钥解密加密消息数据包,得到一方机构的用户发来的量子密钥ID、随机数和加密聊天内容;
S58、根据另一方机构的用户发来的量子密钥ID查询一方机构的用户本地量子密钥文件中是否含有该量子密钥ID对应的量子密钥,若否,则向中心服务器提交量子密钥的请求操作,对一方机构的用户本地量子密钥文件进行更新,直到找到该量子密钥ID对应的量子密钥,并跳转至步骤S59,若是,则直接跳转至步骤S59;
S59、在另一方机构的用户收到所在机构中的量子设备管理员发放的量子密钥后,采用放发的量子密钥对随机数加密,还原出会话密钥;
S60、采用会话密钥对加密聊天内容进行解密,得到聊天内容。
上述进一步方案的有益效果为:通过S51~S60实现了两方机构用户进行保密通信的过程,首先使用AES算法来加密聊天内容,其中结合了一次一密的思想,在每一次通信时产生随机数并使用量子密钥加密进而产生会话密钥,既减少了量子密钥的消耗又提高了会话密钥的安全性;输数据包时,使用公钥方法加密数据包,即使用接收方CA证书中的公钥进行加密,保证了数据包传输过程中的安全性,因此结合公钥方法和AES算法保证了两方机构的通信安全。
一种区块链的保密通信过程中安全事件的追溯方法,包括以下步骤:
X1、记录保密通信过程中所有对量子密钥的操作信息到日志文件,将所有日志文件使用用户注册信息和MSP信息在绑定时生成的MSP身份信息传输至区块链;
X2、查询并核对所有日志文件中的内容,找到发生安全事件的源头。
进一步地,步骤X1包括以下几个阶段:
量子密钥生成阶段:
X101、记录两方量子设备管理员生成量子设备管理员量子密钥文件过程中对量子密钥的操作信息,得到两方各自的量子设备管理员量子密钥生成的日志文件;
X102、通过量子设备管理员的使用MSP身份信息将各自的量子设备管理员量子密钥生成的日志文件上传至区块链,得到区块链中量子设备管理员量子密钥生成阶段日志文件;
量子密钥分发与接收阶段:
X103、在量子设备管理员接收到本机构的用户的量子密钥请求操作,将量子设备管理员量子密钥文件中的量子密钥ID和该量子密钥ID对应的量子密钥发放给请求的机构用户;
X104、在量子设备管理员完成量子密钥和量子密钥ID的发放操作后,记录量子密钥和量子密钥ID发放操作,得到量子设备管理员量子密钥分发的日志文件;
X105、在请求的机构用户接收到量子设备管理员量子密钥文件中的量子密钥ID和该量子密钥ID对应的量子密钥时,记录请求的机构用户接收量子密钥和量子密钥ID的接收操作,得到机构的用户量子密钥接收的本地日志文件;
X106、通过量子设备管理员和请求的机构用户使用MSP身份信息将量子设备管理员量子密钥分发的日志文件和用户量子密钥接收的本地日志文件上传至区块链中,得到区块链中管理员量子密钥分发阶段日志文件和用户量子密钥接收阶段日志文件;
量子密钥使用阶段:
X107、在两方用户进行聊天时,记录聊天过程中的量子密钥操作信息到机构用户的本地日志文件中,得到用户量子密钥使用的日志文件;
X108、利用MSP身份信息将用户量子密钥使用的日志文件上传至区块链中,得到区块链中用户量子密钥使用阶段日志文件;
量子密钥销毁阶段:
X109、在量子密钥超过有效期后,通过所在方的量子设备管理员发放量子密钥销毁指令,记录发放量子密钥销毁指令操作信息到量子设备管理员的本地日志文件中,得到量子设备管理员量子密钥销毁的日志文件;
X110、在机构用户接收到量子密钥销毁指令时,自动删除用户本地量子密钥文件中对应的失效量子密钥,记录删除失效量子密钥操作信息到机构用户的本地日志文件中,得到用户量子密钥销毁的日志文件;
X111、通过量子设备管理员和机构用户使用MSP身份信息,分别将量子设备管理员量子密钥销毁的日志文件和用户量子密钥销毁的日志文件上传至区块链,得到区块链中管理员量子密钥销毁阶段日志文件和用户量子密钥销毁阶段日志文件;
量子密钥更新阶段:
X112、在量子密钥超过有效期后,机构用户再次进行保密通信时,向所在的量子设备管理员申请新的量子密钥,记录更新量子密钥操作信息,得到区块链中量子设备管理员量子密钥更新的日志文件和用户量子密钥更新的日志文件;
X113、通过机构用户和量子设备管理员使用MSP身份信息,分别将区块链中量子设备管理员量子密钥更新的日志文件和用户量子密钥更新的日志文件上传至区块链,得到区块链中管理员量子密钥更新阶段日志文件和用户量子密钥更新阶段日志文件。
上述进一步方案的有益效果为:X1整个过程是机构设备管理员和用户在操作量子密钥时,根据操作的量子密钥阶段分别记录相应的日志信息,并使用MSP身份信息上传到区块链作为安全事件追溯的依据,利用区块链去中心化、不可否认等特点实现对量子密钥的透明、可信监管。
进一步地,步骤X2包括以下步骤:
对量子密钥生成阶段的追溯:
X201、通过区块链管理员查询区块链中量子设备管理员量子密钥生成阶段日志文件,判断两方的量子设备管理员量子密钥生成阶段日志文件中的量子密钥ID、量子密钥状态、量子密钥编号规则和量子密钥文件摘要信息是否均一致,若是,则安全事故不在生成量子设备管理员量子密钥文件过程中发生,并跳转至X202,若否,则区块链管理员要求两方量子设备管理员发送量子设备管理员量子密钥生成的日志文件,通过区块链管理员查询两方量子设备管理员量子密钥生成的日志文件,找到发生安全事件的源头;
对量子密钥分发与接收阶段的追溯:
X202、通过区块链管理员查询区块链中管理员量子密钥分发阶段日志文件和用户量子密钥接收阶段日志文件,判断管理员量子密钥分发阶段日志文件中量子密钥ID与用户量子密钥接收阶段日志文件中的量子密钥ID是否一致,若是,则量子密钥接收者身份无误,并跳转至步骤X203,若否,则量子密钥接收者身份有误,并跳转至步骤X206;
X203、判断管理员量子密钥分发阶段日志文件中量子密钥状态是否为已分发,若是,则量子密钥分发过程无误,并跳转至步骤X204,若否,则量子密钥分发过程有误,并跳转至步骤X206;
X204、判断用户量子密钥接收阶段日志文件中的量子密钥ID与管理员量子密钥分发阶段日志文件中量子密钥ID是否一致,若是,则量子密钥发放者身份无误,则跳转至步骤X205,若否,则量子密钥分发者身份有误,并跳转至步骤X206;
X205、判断用户量子密钥接收阶段日志文件中量子密钥状态是否为已接收但未使用,若是,则量子密钥存储过程无误,并跳转至步骤X207,若否,则量子密钥存储过程有误,并跳转至步骤X206;
X206、通过区块链管理员要求量子设备管理员和机构用户提交的量子设备管理员量子密钥分发的日志文件和用户量子密钥接收的本地日志文件,对两方的量子设备管理员量子密钥分发的日志文件和用户量子密钥接收的本地日志文件进行核对,找到发生安全事件的源头;
对量子密钥使用阶段的追溯:
X207、通过区块链管理员查询区块链中两方用户的用户量子密钥使用阶段日志文件,判断一方用户的用户量子密钥使用阶段日志文件中的量子密钥ID与另一方机构用户的用户量子密钥使用阶段日志文件中的量子密钥ID是否一致,若是,则跳转步骤X208,若否,则跳转步骤X209;
X208、判断一方机构用户的用户量子密钥使用阶段日志文件中的量子密钥状态与另一方机构用户的用户量子密钥使用阶段日志文件中的量子密钥状态是否一致,若是,则安全事件未发生在聊天过程中,并跳转步骤X214,若否,则跳转步骤X209;
X209、通过区块链管理员提取用户量子密钥使用阶段日志文件中量子密钥ID、量子密钥文件的摘要和量子密钥状态;
X210、通过区块链管理员要求两方机构用户提交用户量子密钥使用的日志文件;
X211、判断用户量子密钥使用阶段日志文件中量子密钥文件的摘要与用户量子密钥使用的日志文件中量子密钥文件的摘要是否一致,若是,则跳转至步骤X212,若否,则找到发生安全事件的源头;
X212、判断用户量子密钥使用的日志文件中量子密钥ID与用户量子密钥使用阶段日志文件中量子密钥ID是否一致,若是,则跳转至步骤X213,若否,则找到发生安全事件的源头;
X213、判断用户量子密钥使用的日志文件中量子密钥状态与用户量子密钥使用阶段日志文件中量子密钥状态是否一致,若是,则安全事件未发生在聊天过程中,并跳转步骤X214,若否,则找到发生安全事件的源头;
对量子密钥销毁的追溯:
X214、通过区块链管理员查询区块链中管理员量子密钥销毁阶段日志文件和用户量子密钥销毁阶段日志文件;
X215、判断管理员量子密钥销毁阶段日志文件与用户量子密钥销毁阶段日志文件中内容是否一致,若是,则安全事件未发生在量子密钥销毁阶段,并跳转至步骤X221,若否,则跳转至步骤X216;
X216、通过区块链管理员要求两方的量子设备管理员和机构用户提交各自的量子设备管理员量子密钥销毁的日志文件和用户量子密钥销毁的日志文件,
X217、判断量子设备管理员量子密钥销毁的日志文件中量子密钥ID与管理员量子密钥销毁阶段日志文件中量子密钥ID是否一致,若是,则跳转至步骤X218,若否,则找到发生安全事件的源头;
X218、判断量子设备管理员量子密钥销毁的日志文件中量子密钥文件摘要与管理员量子密钥销毁阶段日志文件中量子密钥文件摘要是否一致,若是,则跳转至步骤X219,若否,则找到发生安全事件的源头;
X219、判断用户量子密钥销毁的日志文件中量子密钥ID与用户量子密钥销毁阶段日志文件中量子密钥ID是否一致,若是,则跳转至步骤X220,若否,则找到发生安全事件的源头;
X220、判断用户量子密钥销毁的日志文件中量子密钥文件摘要与用户量子密钥销毁阶段日志文件中量子密钥文件摘要是否一致,若是,则跳转至步骤X221,若否,则找到发生安全事件的源头;
对量子密钥更新阶段的追溯:
X221、通过区块链管理员查询区块链中管理员量子密钥更新阶段日志文件和用户量子密钥更新阶段日志文件;
X222、判断管理员量子密钥更新阶段日志文件中量子密钥ID与用户量子密钥更新阶段日志文件中量子密钥ID是否一致,若是,则量子密钥接收者身份无误和量子密钥发放者身份无误,则跳转至步骤X223,若否,则跳转至步骤X225;
X223、判断管理员量子密钥更新阶段日志文件中量子密钥状态是否未已分发,若是,则跳转至步骤X224,若否,则跳转至步骤X225;
X224、判断用户量子密钥更新阶段日志文件中量子密钥状态是否为已接受未使用,若是,则跳转至步骤X201,若否,则跳转至步骤X225;
X225、通过区块链管理员要求两方的量子设备管理员和机构用户提交各自的量子设备管理员量子密钥更新的日志文件和用户量子密钥更新的日志文件;
X226、核对两方的量子设备管理员量子密钥更新的日志文件和用户量子密钥更新的日志文件,找到发生安全事件的源头。
上述进一步方案的有益效果为:X2是区块链对安全事件的追溯追责过程,该过程利用区块链的去中心化以及不可否认性的特点,对安全事件进行追溯追责时,用户和管理员都是区块链中的一个节点,并存有分布式账本(用户和管理员上传的日志文件信息),因此用户和管理员对追溯的结果可查证并不可抵赖,实现了对量子密钥全生命周期中出现安全事件的有效追责。
综上,本发明的有益效果为:
1、本发明可以实现保密通信中量子密钥的安全生成分发以及量子密钥使用过程中全生命周期的管理与追溯追责。当安全事件发生时,能够准确追溯引发安全事件的量子密钥使用阶段,并且能追究此次安全事件的源头,此方案不仅解决了保密通信中密钥的安全分发与安全管理的问题,还能对保密通信时出现的安全事件进行追溯追责。
2、本发明引入了随机数加密,应用一次一密的思想,通过随机数的改变来更新保密通信中的会话密钥,降低了量子密钥的消耗。结合区块链技术解决了两方机构的保密通信系统中关于量子密钥生成、分发、使用、销毁、更新的全生命周期无法有效记录、管理和追溯的问题。将量子密钥分发、量子通信和区块链技术相结合实现了量子密钥在两方机构保密通信系统中的全生命周期的管理,并能对安全事件进行追溯追责,确保了量子密钥在生成、分发、存储、使用、备份、更新和销毁过程中更高的安全性。
附图说明
图1为一种基于区块链的保密通信方法的流程图;
图2为一种区块链的保密通信过程中安全事件的追溯方法的流程图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
一种基于区块链的保密通信方法及其安全事件的追溯方法的概述如下:有保密通信需求的两方机构通过量子密钥分发设备产生真随机的对称量子协商密钥池,分别存储在两方量子设备管理员处,两方量子设备管理员通过协商量子密钥编号规则生成量子密钥文件。两方机构用户分别向各自量子设备管理员申请量子密钥用于通信。通信过程中,量子密钥生成、分发、使用、更新、销毁的相关日志信息上传到区块链,由量子设备管理员、通信用户协同区块链管理员完成量子密钥全生命周期的管理与追溯。
如图1所示,一种基于区块链的保密通信方法,包括以下步骤:
S1、对有保密通信需求的两方机构进行用户注册登录和认证,得到两方用户各自的CA证书;
S2、在两方机构上生成各自的量子设备管理员量子密钥文件;
S3、采用两方用户各自的CA证书对量子设备管理员量子密钥文件中内容进行加密,得到两方用户各自的加密数据包;
S4、对加密数据包进行解密存储,得到保存量子密钥ID和该量子密钥ID对应的量子密钥的用户本地量子密钥文件;
S5、根据用户本地量子密钥文件中的量子密钥ID和该量子密钥ID对应的量子密钥,采用对称加密和公钥加密相结合方式,实现有保密通信需求的两方机构进行保密通信。
步骤S1包括以下分步骤:
S11、将有保密通信需求的两方机构在中心服务器均进行用户信息注册;
S12、根据中心服务器接收到的用户注册信息,将用户注册信息发送至区块链;
S13、通过区块链管理员根据区块链接收到的用户注册信息生成用户在区块链中的MSP信息,并将MSP信息发送至中心服务器;
S14、通过中心服务器将用户注册信息和MSP信息进行绑定,完成两方用户注册;
S15、在两方用户完成注册后,进行登录,分别向CA证书服务器申请CA证书,得到两方用户各自的CA证书,完成两方用户的合法认证。
步骤S2包括以下分步骤:
S21、通过两方机构使用量子密钥分发设备产生真随机的对称量子协商密钥池,并将对称量子协商密钥池存储在两方机构各自的量子设备管理员处;
S22、根据存储在两方机构各自的量子设备管理员处的对称量子协商密钥池,由两方机构各自的量子设备管理员通过协商量子密钥编号规则生成量子设备管理员量子密钥文件。
步骤S3包括以下分步骤:
S31、通过两方用户提交量子密钥的请求操作到中心服务器;
S32、通过中心服务器根据用户注册信息,找到用户所选择的机构ID,确定对应的量子设备管理员;
S33、通过量子设备管理员的自身私钥解密得到量子密钥的请求操作的状态码;
S34、根据状态码,通过量子设备管理员根据两方用户各自的CA证书分别对量子设备管理员量子密钥文件中量子密钥ID和该量子密钥ID对应的量子密钥进行加密,得到两方用户各自的加密数据包。
步骤S4包括以下分步骤:
S41、将加密数据包传输给两方用户;
S42、在两方用户接收各自的加密数据包时,采用两方用户的私钥对加密数据包进行解密,得到量子密钥ID和该量子密钥ID对应的量子密钥,将量子密钥ID和该量子密钥ID对应的量子密钥存储在用户本地量子密钥文件中。
通过S31~S42使用公钥方法传输量子密钥以及量子密钥ID到用户,保证了量子密钥在发放过程中的安全性,用户接收到加密数据包进行解密后能够得到量子密钥以及量子密钥ID,并写入用户本地的量子密钥文件中,完成了量子密钥请求分发功能。
步骤S5包括以下分步骤:
S51、通过一方机构的用户根据对称加密算法AES中的安全随机数生成器产生随机数;
S52、在一方机构的用户产生随机数后,读取用户本地量子密钥文件,得到量子密钥ID和该量子密钥ID对应的量子密钥;
S53、采用该量子密钥ID对应的量子密钥加密随机数,得到会话密钥;
S54、采用会话密钥对待发送的聊天内容进行加密,得到加密聊天内容;
S55、通过一方机构的用户将量子密钥ID、随机数和加密聊天内容使用另一方机构的用户的公钥进行加密,生成加密消息数据包;
S56、通过中心服务器将加密消息数据包转发给另一方机构的用户;
S57、在另一方机构的用户接收到加密消息数据包后,使用私钥解密加密消息数据包,得到一方机构的用户发来的量子密钥ID、随机数和加密聊天内容;
S58、根据另一方机构的用户发来的量子密钥ID查询一方机构的用户本地量子密钥文件中是否含有该量子密钥ID对应的量子密钥,若否,则向中心服务器提交量子密钥的请求操作,对一方机构的用户本地量子密钥文件进行更新,直到找到该量子密钥ID对应的量子密钥,并跳转至步骤S59,若是,则直接跳转至步骤S59;
S59、在另一方机构的用户收到所在机构中的量子设备管理员发放的量子密钥后,采用放发的量子密钥对随机数加密,还原出会话密钥;
S60、采用会话密钥对加密聊天内容进行解密,得到聊天内容。
通过S51~S60实现了两方机构用户进行保密通信的过程,首先使用AES算法来加密聊天内容,其中结合了一次一密的思想,在每一次通信时产生随机数并使用量子密钥加密进而产生会话密钥,既减少了量子密钥的消耗又提高了会话密钥的安全性;输数据包时,使用公钥方法加密数据包,即使用接收方CA证书中的公钥进行加密,保证了数据包传输过程中的安全性,因此结合公钥方法和AES算法保证了两方机构的通信安全。
如图2所示,一种区块链的保密通信过程中安全事件的追溯方法,包括以下步骤:
X1、记录保密通信过程中所有对量子密钥的操作信息到日志文件,将所有日志文件使用用户注册信息和MSP信息在绑定时生成的MSP身份信息传输至区块链;
X2、查询并核对所有日志文件中的内容,找到发生安全事件的源头。
步骤X1包括以下几个阶段:
量子密钥生成阶段:
X101、记录两方量子设备管理员生成量子设备管理员量子密钥文件过程中对量子密钥的操作信息,得到两方各自的量子设备管理员量子密钥生成的日志文件;
X102、通过量子设备管理员的使用MSP身份信息将各自的量子设备管理员量子密钥生成的日志文件上传至区块链,得到区块链中量子设备管理员量子密钥生成阶段日志文件;
量子密钥分发与接收阶段:
X103、在量子设备管理员接收到本机构的用户的量子密钥请求操作,将量子设备管理员量子密钥文件中的量子密钥ID和该量子密钥ID对应的量子密钥发放给请求的机构用户;
X104、在量子设备管理员完成量子密钥和量子密钥ID的发放操作后,记录量子密钥和量子密钥ID发放操作,得到量子设备管理员量子密钥分发的日志文件;
X105、在请求的机构用户接收到量子设备管理员量子密钥文件中的量子密钥ID和该量子密钥ID对应的量子密钥时,记录请求的机构用户接收量子密钥和量子密钥ID的接收操作,得到机构的用户量子密钥接收的本地日志文件;
X106、通过量子设备管理员和请求的机构用户使用MSP身份信息将量子设备管理员量子密钥分发的日志文件和用户量子密钥接收的本地日志文件上传至区块链中,得到区块链中管理员量子密钥分发阶段日志文件和用户量子密钥接收阶段日志文件;
量子密钥使用阶段:
X107、在两方用户进行聊天时,记录聊天过程中的量子密钥操作信息到机构用户的本地日志文件中,得到用户量子密钥使用的日志文件;
X108、利用MSP身份信息将用户量子密钥使用的日志文件上传至区块链中,得到区块链中用户量子密钥使用阶段日志文件;
量子密钥销毁阶段:
X109、在量子密钥超过有效期后,通过所在方的量子设备管理员发放量子密钥销毁指令,记录发放量子密钥销毁指令操作信息到量子设备管理员的本地日志文件中,得到量子设备管理员量子密钥销毁的日志文件;
X110、在机构用户接收到量子密钥销毁指令时,自动删除用户本地量子密钥文件中对应的失效量子密钥,记录删除失效量子密钥操作信息到机构用户的本地日志文件中,得到用户量子密钥销毁的日志文件;
X111、通过量子设备管理员和机构用户使用MSP身份信息,分别将量子设备管理员量子密钥销毁的日志文件和用户量子密钥销毁的日志文件上传至区块链,得到区块链中管理员量子密钥销毁阶段日志文件和用户量子密钥销毁阶段日志文件;
量子密钥更新阶段:
X112、在量子密钥超过有效期后,机构用户再次进行保密通信时,向所在的量子设备管理员申请新的量子密钥,记录更新量子密钥操作信息,得到区块链中量子设备管理员量子密钥更新的日志文件和用户量子密钥更新的日志文件;
X113、通过机构用户和量子设备管理员使用MSP身份信息,分别将区块链中量子设备管理员量子密钥更新的日志文件和用户量子密钥更新的日志文件上传至区块链,得到区块链中管理员量子密钥更新阶段日志文件和用户量子密钥更新阶段日志文件。
X1整个过程是机构设备管理员和用户在操作量子密钥时,根据操作的量子密钥阶段分别记录相应的日志信息,并使用MSP身份信息上传到区块链作为安全事件追溯的依据,利用区块链去中心化、不可否认等特点实现对量子密钥的透明、可信监管。
步骤X2包括以下步骤:
对量子密钥生成阶段的追溯:
X201、通过区块链管理员查询区块链中量子设备管理员量子密钥生成阶段日志文件,判断两方的量子设备管理员量子密钥生成阶段日志文件中的量子密钥ID、量子密钥状态、量子密钥编号规则和量子密钥文件摘要信息是否均一致,若是,则安全事故不在生成量子设备管理员量子密钥文件过程中发生,并跳转至X202,若否,则区块链管理员要求两方量子设备管理员发送量子设备管理员量子密钥生成的日志文件,通过区块链管理员查询两方量子设备管理员量子密钥生成的日志文件,找到发生安全事件的源头;
对量子密钥分发与接收阶段的追溯:
X202、通过区块链管理员查询区块链中管理员量子密钥分发阶段日志文件和用户量子密钥接收阶段日志文件,判断管理员量子密钥分发阶段日志文件中量子密钥ID与用户量子密钥接收阶段日志文件中的量子密钥ID是否一致,若是,则量子密钥接收者身份无误,并跳转至步骤X203,若否,则量子密钥接收者身份有误,并跳转至步骤X206;
X203、判断管理员量子密钥分发阶段日志文件中量子密钥状态是否为已分发,若是,则量子密钥分发过程无误,并跳转至步骤X204,若否,则量子密钥分发过程有误,并跳转至步骤X206;
X204、判断用户量子密钥接收阶段日志文件中的量子密钥ID与管理员量子密钥分发阶段日志文件中量子密钥ID是否一致,若是,则量子密钥发放者身份无误,则跳转至步骤X205,若否,则量子密钥分发者身份有误,并跳转至步骤X206;
X205、判断用户量子密钥接收阶段日志文件中量子密钥状态是否为已接收但未使用,若是,则量子密钥存储过程无误,并跳转至步骤X207,若否,则量子密钥存储过程有误,并跳转至步骤X206;
X206、通过区块链管理员要求量子设备管理员和机构用户提交的量子设备管理员量子密钥分发的日志文件和用户量子密钥接收的本地日志文件,对两方的量子设备管理员量子密钥分发的日志文件和用户量子密钥接收的本地日志文件进行核对,找到发生安全事件的源头;
对量子密钥使用阶段的追溯:
X207、通过区块链管理员查询区块链中两方用户的用户量子密钥使用阶段日志文件,判断一方用户的用户量子密钥使用阶段日志文件中的量子密钥ID与另一方机构用户的用户量子密钥使用阶段日志文件中的量子密钥ID是否一致,若是,则跳转步骤X208,若否,则跳转步骤X209;
X208、判断一方机构用户的用户量子密钥使用阶段日志文件中的量子密钥状态与另一方机构用户的用户量子密钥使用阶段日志文件中的量子密钥状态是否一致,若是,则安全事件未发生在聊天过程中,并跳转步骤X214,若否,则跳转步骤X209;
X209、通过区块链管理员提取用户量子密钥使用阶段日志文件中量子密钥ID、量子密钥文件的摘要和量子密钥状态;
X210、通过区块链管理员要求两方机构用户提交用户量子密钥使用的日志文件;
X211、判断用户量子密钥使用阶段日志文件中量子密钥文件的摘要与用户量子密钥使用的日志文件中量子密钥文件的摘要是否一致,若是,则跳转至步骤X212,若否,则找到发生安全事件的源头;
X212、判断用户量子密钥使用的日志文件中量子密钥ID与用户量子密钥使用阶段日志文件中量子密钥ID是否一致,若是,则跳转至步骤X213,若否,则找到发生安全事件的源头;
X213、判断用户量子密钥使用的日志文件中量子密钥状态与用户量子密钥使用阶段日志文件中量子密钥状态是否一致,若是,则安全事件未发生在聊天过程中,并跳转步骤X214,若否,则找到发生安全事件的源头;
对量子密钥销毁的追溯:
X214、通过区块链管理员查询区块链中管理员量子密钥销毁阶段日志文件和用户量子密钥销毁阶段日志文件;
X215、判断管理员量子密钥销毁阶段日志文件与用户量子密钥销毁阶段日志文件中内容是否一致,若是,则安全事件未发生在量子密钥销毁阶段,并跳转至步骤X221,若否,则跳转至步骤X216;
X216、通过区块链管理员要求两方的量子设备管理员和机构用户提交各自的量子设备管理员量子密钥销毁的日志文件和用户量子密钥销毁的日志文件,
X217、判断量子设备管理员量子密钥销毁的日志文件中量子密钥ID与管理员量子密钥销毁阶段日志文件中量子密钥ID是否一致,若是,则跳转至步骤X218,若否,则找到发生安全事件的源头;
X218、判断量子设备管理员量子密钥销毁的日志文件中量子密钥文件摘要与管理员量子密钥销毁阶段日志文件中量子密钥文件摘要是否一致,若是,则跳转至步骤X219,若否,则找到发生安全事件的源头;
X219、判断用户量子密钥销毁的日志文件中量子密钥ID与用户量子密钥销毁阶段日志文件中量子密钥ID是否一致,若是,则跳转至步骤X220,若否,则找到发生安全事件的源头;
X220、判断用户量子密钥销毁的日志文件中量子密钥文件摘要与用户量子密钥销毁阶段日志文件中量子密钥文件摘要是否一致,若是,则跳转至步骤X221,若否,则找到发生安全事件的源头;
对量子密钥更新阶段的追溯:
X221、通过区块链管理员查询区块链中管理员量子密钥更新阶段日志文件和用户量子密钥更新阶段日志文件;
X222、判断管理员量子密钥更新阶段日志文件中量子密钥ID与用户量子密钥更新阶段日志文件中量子密钥ID是否一致,若是,则量子密钥接收者身份无误和量子密钥发放者身份无误,则跳转至步骤X223,若否,则跳转至步骤X225;
X223、判断管理员量子密钥更新阶段日志文件中量子密钥状态是否未已分发,若是,则跳转至步骤X224,若否,则跳转至步骤X225;
X224、判断用户量子密钥更新阶段日志文件中量子密钥状态是否为已接受未使用,若是,则跳转至步骤X201,若否,则跳转至步骤X225;
X225、通过区块链管理员要求两方的量子设备管理员和机构用户提交各自的量子设备管理员量子密钥更新的日志文件和用户量子密钥更新的日志文件;
X226、核对两方的量子设备管理员量子密钥更新的日志文件和用户量子密钥更新的日志文件,找到发生安全事件的源头。
X2是区块链对安全事件的追溯追责过程,该过程利用区块链的去中心化以及不可否认性的特点,对安全事件进行追溯追责时,用户和管理员都是区块链中的一个节点,并存有分布式账本(用户和管理员上传的日志文件信息),因此用户和管理员对追溯的结果可查证并不可抵赖,实现了对量子密钥全生命周期中出现安全事件的有效追责。