发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种基于量子密钥的安全通信方法,以便在现有物联网终端设备与物联网业务平台基础上,加入集成安全芯片的通信模组、量子密码管理服务平台和网关设备,形成完整的数据传输的安全通信通道即VPN隧道,能够保证业务数据报文传输的可靠性、安全性和完整性。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种基于量子密钥的安全通信方法,应用于物联网终端中的通信模组中的控制单元,所述方法包括:
从所述通信模组中的安全芯片中获取目标充注密钥的序列号,并生成客户端握手信息;
将所述客户端握手信息发送至网关设备,以使得所述网关设备根据所述目标充注密钥的序列号从量子密码管理服务平台中获取所述目标充注密钥,并生成服务端握手消息;
接收所述网关设备发送的所述服务端握手消息和服务端证书;
调用所述安全芯片对所述服务端证书进行认证,并根据所述目标充注密钥在所述安全芯片中生成第一工作密钥;
向所述网关设备发送所述通信模组的客户端证书,以使得所述网关设备通过所述量子密码管理服务平台对所述客户端证书进行认证,并根据所述目标充注密钥生成第二工作密钥;
根据所述第一工作密钥和所述第二工作密钥,建立所述通信模组和所述网关设备之间的VPN隧道,用于对所述物联网终端和物联网业务平台进行业务数据报文传输。
在可选的实施方式中,所述从所述通信模组中的安全芯片中获取目标充注密钥的序列号,并生成客户端握手信息,包括:
从所述安全芯片的多支充注密钥中确定未使用的一支充注密钥作为所述目标充注密钥,并获取所述目标充注密钥的序列号;
根据所述目标充注密钥的序列号和所述通信模组的设备标识,生成所述客户端握手信息。
在可选的实施方式中,所述从所述通信模组中的安全芯片中获取目标充注密钥的序列号,并生成客户端握手信息之前,所述方法还包括:
向所述量子密码管理服务平台发送密钥充注请求,以使得所述量子密码管理服务平台生成充注密钥文件;所述充注密钥文件包括:多支充注密钥;
获取所述量子密码管理服务平台返回的所述充注密钥文件;
将所述充注密钥文件存储至所述安全芯片。
在可选的实施方式中,所述调用所述安全芯片对所述服务端证书进行认证,并根据所述目标充注密钥在所述安全芯片中生成第一工作密钥,包括:
调用所述安全芯片的认证接口,对所述服务端证书进行认证;
调用所述安全芯片的算法接口,根据所述目标充注密钥、第一客户端随机数、第一服务端随机数、常量字符串,计算第一主密钥,并根据所述第一主密钥,计算所述第一工作密钥;
将所述第一工作密钥存储至所述安全芯片中。
在可选的实施方式中,所述方法还包括:
获取所述物联网终端中的业务模块产生的第一业务数据报文;
调用所述安全芯片,根据所述第一工作密钥对所述第一业务数据报文进行加密,并封装成第一业务数据密文;
基于所述VPN隧道,将所述第一业务数据密文发送至所述网关设备,以使得所述网关设备调用所述量子密码管理服务平台,根据所述第二工作密钥对所述第一业务数据密文进行解封装并解密,得到所述第一业务数据报文,并转发至所述物联网业务平台。
在可选的实施方式中,所述方法还包括:
若检测到所述VPN隧道的连接断开,或者所述VPN隧道的连接时长超过预设时长,则销毁所述安全芯片中的所述目标充注密钥。
第二方面,本申请实施例还提供了一种基于量子密钥的安全通信方法,应用于网关设备;所述方法包括:
接收物联网终端中的通信模组中的控制单元发送的客户端握手信息,所述客户端握手信息是所述控制单元从所述通信模组中的安全芯片中获取目标充注密钥的序列号,并生成的客户端握手信息;
根据所述目标充注密钥的序列号从量子密码管理服务平台中获取所述目标充注密钥,并生成服务端握手消息;
向所述控制单元发送所述服务端握手消息和服务端证书,以使得所述控制单元调用所述安全芯片对所述服务端证书进行认证,并根据所述目标充注密钥在所述安全芯片中生成第一工作密钥;
接收所述控制单元发送的所述通信模组的客户端证书,通过所述量子密码管理服务平台对所述客户端证书进行认证,并根据所述目标充注密钥生成第二工作密钥;
根据所述第一工作密钥和所述第二工作密钥,建立所述通信模组和所述网关设备之间的VPN隧道,用于对所述物联网终端和物联网业务平台进行业务数据报文传输。
在可选的实施方式中,所述接收所述控制单元发送的所述通信模组的客户端证书,通过所述量子密码管理服务平台对所述客户端证书进行认证,并根据所述目标充注密钥生成第二工作密钥,包括:
调用所述量子密码管理服务平台的认证接口,对所述客户端证书进行认证;
调用所述量子密码管理服务平台的算法接口,所述目标充注密钥、第二客户端随机数、第二服务端随机数、常量字符串,计算第二主密钥,并根据所述第二主密钥,计算所述第二工作密钥;
将所述第二工作密钥存储至所述网关设备中。
在可选的实施方式中,所述方法还包括:
获取所述物联网业务平台中的业务模块产生的第二业务数据报文;
调用所述量子密码管理服务平台,根据所述第二工作密钥对所述第二业务数据报文进行加密,并封装成第二业务数据密文;
基于所述VPN隧道,将所述第二业务数据密文发送至所述通信模组,以使得所述通信模组调用安全芯片,根据所述第一工作密钥对所述第二业务数据密文进行解封装并解密,得到所述第二业务数据报文。
在可选的实施方式中,所述方法还包括:
若检测到所述VPN隧道的连接断开,或者所述VPN隧道的连接时长超过预设时长,则对所述量子密码管理服务平台中所述目标充注密钥进行销毁。
本申请的有益效果是:
本申请实施例提供了一种基于量子密钥的安全通信方法,应用于物联网终端中的通信模组中的控制单元,该方法包括:通过从通信模组中的安全芯片中获取目标充注密钥的序列号,并生成客户端握手信息;将客户端握手信息发送至网关设备,以使得网关设备根据目标充注密钥的序列号从量子密码管理服务平台中获取目标充注密钥,并生成服务端握手消息,接收网关设备发送的服务端握手消息和服务端证书;调用安全芯片对服务端证书进行认证,并根据目标充注密钥在安全芯片中生成第一工作密钥,向网关设备发送通信模组的客户端证书,以使得网关设备通过量子密码管理服务平台对客户端证书进行认证,并根据目标充注密钥生成第二工作密钥;最后根据第一工作密钥和第二工作密钥,建立通信模组和网关设备之间的VPN隧道,用于对物联网终端和物联网业务平台进行业务数据报文传输。本申请的方法在现有物联网终端设备与物联网业务平台基础上,加入集成安全芯片的通信模组、量子密码管理服务平台和网关设备,形成完整的数据传输的安全通信通道即VPN隧道,能够保证业务数据报文传输的可靠性、安全性和完整性。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要说明的是,若出现术语“上”、“下”、等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
此外,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
为更好的理解本申请下述各实施例提供的方案,在此,先对本申请下述各实施例所涉及的技术名词进行解释。
CSP(Cryptographic Service Provider)平台即本申请实施例中的量子密码管理服务平台,是基于量子密钥网络为移动互联网、物联网等业务提供密码、密钥服务的平台,包含密码服务平台软件、交换密码机、充注终端软件等子系统。
SSL(Secure Sockets Layer,安全套接层)是用于加密互联网流量和验证服务器身份的协议。
PRF(Pseudorandom Function,伪随机函数)算法,是SSL/TLS协议中用于生成密钥材料的重要算法。在SSL/TLS握手过程中,PRF用于从预主密钥派生出主密钥,然后再从主密钥派生出工作密钥,工作密钥用于加密和解密实际的数据传输。
图1为本申请实施例提供的一种基于量子密钥的安全通信系统的示意图,如图1所示,基于量子密钥的安全通信系统包括:物联网终端、网关设备、量子密码管理服务平台和物联网业务平台,其中,物联网业务平台与网关设备搭建专网连接,网关设备又与量子密码管理服务平台搭建专网连接,物联网终端通过集成的通信模组和网关设备建立一条通信通道。
具体的,物联网终端硬件集成有通信模组,通信模组与物联网终端主控芯片通过AT指令进行交互,使得物联网终端主控芯片通过AT指令调用通信模组提供的SSL VPN隧道加密能力,实现对物联网终端业务数据的安全加密并上送至物联网业务平台。
通信模组为一种4G Cat.1通信模组的硬件产品,通信模组包含射频收发器、功率放大器、滤波器、基带处理器、控制单元、安全芯片等,通信模组直接集成在物联网终端的电路板上。而本申请实施例提供的通信模组的硬件集成有安全芯片,软件系统集成SSL VPN客户端软件程序,从而能够提供SSL VPN隧道加密服务和数据传输控制功能。其中,安全芯片为国密芯片,安全芯片可采用32位CPU架构,支持7816、SPI、UART、I2C接口,支持SM1、SM2、SM3、SM4、SM7、SHA、DES、AES、RSA和ECC等多种算法,建立起从算法级、电路级、系统级到软件层的多层次芯片安全防护体系,符合商密二级安全标准,可满足工业级、车规级可靠性使用需求,因此,安全芯片具备硬件加解密、签名验签、PRF等算法能力和安全存储空间,确保硬件层面的安全合规,并且内部预置多支由量子密码服务平台生成的充注密钥。
具体的,通信模组与物联网终端主控芯片通过AT指令进行交互,通信模组的控制单元通过APDU指令与安全芯片进行交互;通信模组的控制单元通过I2C、SPI、UART等通信接口与物联网终端主控芯片进行通信,同时在物联网设备主控芯片的嵌入式程序中需要调用与通信模组配套的嵌入式(Software Development Kit,SDK)接口程序,完成对通信模组具体功能的调用。其中,嵌入式SDK是物联网设备主控芯片内主控程序的一部分,可根据物联网终端主控芯片采用的开发环境进行定制化编译。通信模组嵌入式SDK还集成SSL VPN客户端软件程序,且SSL安全协议中所需要的数字签名和加密/解密等密码算法功能均由安全芯片提供的运算接口进行处理。
网关设备即SSL VPN网关设备,集成有SSL VPN服务端软件程序,与物联网业务平台及量子密码管理服务平台连接,该网关设备调用量子密码管理服务平台提供的接口进行加解密运算,从而对业务数据报文进行加密、解密等运算处理,并向物联网业务平台转发解密后的业务数据。
量子密码管理服务平台提供量子密钥存储、加解密运算能力,与SSL VPN网关连接,并提供获取充注密钥的接口,为物联网终端内的通信模组提供密钥充注功能。
为了保障物联网终端与物联网业务平台数据传输过程中的可靠性、安全性和完整性,本申请提供了一种基于量子密钥的安全通信方法,应用于物联网终端中的通信模组中的控制单元,通过从通信模组中的安全芯片中获取目标充注密钥的序列号,并生成客户端握手信息;将客户端握手信息发送至网关设备,以使得网关设备根据目标充注密钥的序列号从量子密码管理服务平台中获取目标充注密钥,并生成服务端握手消息,接收网关设备发送的服务端握手消息和服务端证书;调用安全芯片对服务端证书进行认证,并根据目标充注密钥在安全芯片中生成第一工作密钥,向网关设备发送通信模组的客户端证书,以使得网关设备通过量子密码管理服务平台对客户端证书进行认证,并根据目标充注密钥生成第二工作密钥;最后根据第一工作密钥和第二工作密钥,建立通信模组和网关设备之间的VPN隧道,用于对物联网终端和物联网业务平台进行业务数据报文传输。在现有物联网终端设备与物联网业务平台基础上,加入集成安全芯片的通信模组、量子密码管理服务平台和网关设备,形成完整的数据传输的安全通信通道,能够保证业务数据报文传输的可靠性、安全性和完整性。
如下结合附图通过多个示例对本申请所提供的基于量子密钥的安全通信方法进行示例说明。基于量子密钥的安全通信方法应用于物联网终端中的通信模组中的控制单元。图2为本申请实施例提供的一种基于量子密钥的安全通信方法的流程示意图之一,如图2所示,该方法包括:
S101、从通信模组中的安全芯片中获取目标充注密钥的序列号,并生成客户端握手信息。
在本实施例中,安全芯片存储有多支充注密钥,从中获取目标充注密钥的序列号,并在客户端握手信息即基于SSL协议的Client Hello消息的扩展字段中填充目标充注密钥的序列号,生成客户端握手信息。
其中,客户端握手信息是通信模组发起与网关设备安全通信连接的起始交互内容。客户端握手信息中会包含诸如通信模组自身支持的通信协议版本、自身生成的客户端随机数,以及目标充注密钥的序列号等重要信息,告知网关设备自身的一些通信准备情况以及关联的密钥标识,为后续协商建立安全连接做准备。
S102、将客户端握手信息发送至网关设备,以使得网关设备根据目标充注密钥的序列号从量子密码管理服务平台中获取目标充注密钥,并生成服务端握手消息。
具体的,网关设备收到客户端握手信息后,会提取里面的目标充注密钥的序列号,然后根据目标充注密钥的序列号,向量子密码管理服务平台发起请求来获取对应的目标充注密钥。量子密码管理服务平台作为一个集中管理和存储密钥等安全资源的平台,基于严格的权限管理和查找机制,依据序列号可以找到并提供相应的目标充注密钥给网关设备。
网关设备在获取到目标充注密钥后,会生成服务端握手消息。服务端握手消息同样包含网关设备自身相关的一些通信配置信息,比如支持的协议版本、自身生成的客户端随机数,用于回应通信模组的客户端握手信息,继续推动双方建立安全连接的流程。
S103、接收网关设备发送的服务端握手消息和服务端证书。
S104、调用安全芯片对服务端证书进行认证,并根据目标充注密钥在安全芯片中生成第一工作密钥。
具体的,通信模组接收到网关设备发送的服务端握手消息和服务端证书,并利用安全芯片内的功能和存储的相关信任根、验证算法等资源,对收到的服务端证书进行认证。例如,验证证书的颁发机构是否合法、证书是否在有效期内、证书内容是否被篡改等,只有通过了这些严格的验证流程,才能确认网关设备的身份可靠,后续的通信才可以基于信任继续开展。
在确认服务端证书合法有效后,通信模组会根据目标充注密钥,采用PRF算法在安全芯片内部生成第一工作密钥。第一工作密钥用于后续和网关设备进行加密通信、数据完整性验证等操作。
S105、向网关设备发送通信模组的客户端证书,以使得网关设备通过量子密码管理服务平台对客户端证书进行认证,并根据目标充注密钥生成第二工作密钥。
其中,通信模组将自身的客户端证书发送给网关设备,以便网关设备对通信模组的身份进行验证。客户端证书同样包含能证明通信模组身份的相关信息,是通信模组在整个安全通信体系中合法身份的标识。
网关设备收到客户端证书后,会将其提交给量子密码管理服务平台进行认证,量子密码管理服务平台依据自身存储的信任信息、验证规则等来判断客户端证书的合法性。认证通过后,根据目标充注密钥采用PRF算法生成第二工作密钥。其中,第二工作密钥与通信模组生成的第一工作密钥相对应,二者后续共同用于双方之间加密、解密等安全通信操作。
S106、根据第一工作密钥和第二工作密钥,建立通信模组和网关设备之间的VPN隧道,用于对物联网终端和物联网业务平台进行业务数据报文传输。
具体的,当通信模组和网关设备都分别生成了第一工作密钥和第二工作密钥后,双方根据协商出的工作密钥,通过特定的加密、封装等网络通信技术手段,建立起SSL VPN(虚拟专用网络)隧道。SSL VPN隧道在公共网络环境中为物联网终端和物联网业务平台之间开辟出了一条安全的通信通道,构建了一个专属的、加密的管道。
当VPN隧道建立成功后,物联网终端与物联网业务平台之间的业务数据报文可以通过VPN隧道进行传输。在传输过程中,业务数据报文会使用基于第一工作密钥和第二工作密钥相关的加解密算法进行加密和解密处理,确保业务数据报文的保密性。
综上所述,本申请实施例提供了一种基于量子密钥的安全通信方法,应用于物联网终端中的通信模组中的控制单元,该方法包括:通过从通信模组中的安全芯片中获取目标充注密钥的序列号,并生成客户端握手信息;将客户端握手信息发送至网关设备,以使得网关设备根据目标充注密钥的序列号从量子密码管理服务平台中获取目标充注密钥,并生成服务端握手消息,接收网关设备发送的服务端握手消息和服务端证书;调用安全芯片对服务端证书进行认证,并根据目标充注密钥在安全芯片中生成第一工作密钥,向网关设备发送通信模组的客户端证书,以使得网关设备通过量子密码管理服务平台对客户端证书进行认证,并根据目标充注密钥生成第二工作密钥;最后根据第一工作密钥和第二工作密钥,建立通信模组和网关设备之间的VPN隧道,用于对物联网终端和物联网业务平台进行业务数据报文传输。本申请的方法在现有物联网终端设备与物联网业务平台基础上,加入集成安全芯片的通信模组、量子密码管理服务平台和网关设备,形成完整的数据传输的安全通信通道即VPN隧道,能够保证业务数据报文传输的可靠性、安全性和完整性。
在上述实施例的基础上,本申请实施例还提供了另一种基于量子密钥的安全通信方法的可能实现方式,图3为本申请实施例提供的一种基于量子密钥的安全通信方法的流程示意图之二,如图3所示,从通信模组中的安全芯片中获取目标充注密钥的序列号,并生成客户端握手信息,包括:
S201、从安全芯片的多支充注密钥中确定未使用的一支充注密钥作为目标充注密钥,并获取目标充注密钥的序列号。
在本实施例中,在通信模组的安全芯片中,会预先存储有多支充注密钥,为了确保每次通信连接的安全性以及密钥使用的规范性,需要从众多充注密钥里挑选出一支尚未被使用过的充注密钥作为本次通信对应的目标充注密钥。若重复使用已经在其他通信过程中用过的充注密钥,可能会存在安全风险,比如密钥被破解或者信息泄露等情况被不法分子利用,所以选择未使用的充注密钥来保证每一次新的通信连接都有独立且安全可靠的密钥基础。
由于每一支充注密钥都有与之对应的唯一序列号,获取目标充注密钥的序列号,可以让网关设备依据该序列号从量子密码管理服务平台中准确获取对应的目标充注密钥。
S202、根据目标充注密钥的序列号和通信模组的设备标识,生成客户端握手信息。
其中,通信模组的设备标识是通信模组在物联网终端体系或者特定网络环境中的唯一身份标识。网关设备通过获取通信模组的设备标识,可以准确确定发起连接请求的通信模组,同时也便于后续在认证等环节中进行准确的身份核对,避免非法设备冒用等安全问题。
在客户端握手信息即基于SSL协议的Client Hello消息的扩展字段中填充目标充注密钥的序列号和通信模组的设备标识,最终生成客户端握手信息。
本申请实施例提供的方法中,从安全芯片的多支充注密钥中确定未使用的一支充注密钥作为目标充注密钥,并获取目标充注密钥的序列号;根据目标充注密钥的序列号和通信模组的设备标识,生成客户端握手信息,通过合理选择目标充注密钥并获取其序列号,再结合通信模组自身的设备标识来生成客户端握手信息,为后续与网关设备建立安全可靠的通信连接做准备。
本申请实施例还提供了另一种基于量子密钥的安全通信方法的可能实现方式,图4为本申请实施例提供的一种基于量子密钥的安全通信方法的流程示意图之三,如图4所示,从通信模组中的安全芯片中获取目标充注密钥的序列号,并生成客户端握手信息之前,该方法还包括:
S301、向量子密码管理服务平台发送密钥充注请求,以使得量子密码管理服务平台生成充注密钥文件。
其中,充注密钥文件包括:多支充注密钥。
在本实施例中,通信模组预先通过密钥充注终端向量子密码管理服务平台发送密钥充注请求,以使得量子密码管理服务平台按照既定的安全策略生成充注密钥文件。充注密钥文件里包含多支充注密钥,每一支充注密钥都具备独特的加密属性和功能,为后续通信模组与网关设备等之间的安全通信提供了丰富的密钥储备。
S302、获取量子密码管理服务平台返回的充注密钥文件。
S303、将充注密钥文件存储至安全芯片。
具体的,通过相应的网络通信接口和安全的数据传输机制,通信模组从量子密码管理服务平台中接收充注密钥文件,并将充注密钥文件存储至安全芯片的安全存储空间中。
本申请实施例提供的方法中,向量子密码管理服务平台发送密钥充注请求,以使得量子密码管理服务平台生成充注密钥文件;充注密钥文件包括:多支充注密钥;获取量子密码管理服务平台返回的充注密钥文件,并将充注密钥文件存储至安全芯片,以使得量子密码管理服务平台和安全芯片存储有相同的充注密钥,从而确保量子密码管理服务平台可以根据目标充注密钥的序列号,找到目标充注密钥。
本申请实施例还提供了另一种基于量子密钥的安全通信方法的可能实现方式,图5为本申请实施例提供的一种基于量子密钥的安全通信方法的流程示意图之四,如图5所示,调用安全芯片对服务端证书进行认证,并根据目标充注密钥在安全芯片中生成第一工作密钥,包括:
S401、调用安全芯片的认证接口,对服务端证书进行认证。
S402、调用安全芯片的算法接口,根据目标充注密钥、第一客户端随机数、第一服务端随机数、常量字符串,计算第一主密钥,并根据第一主密钥,计算第一工作密钥。
S403、将第一工作密钥存储至安全芯片中。
在本实施例中,安全芯片内部设有专门的认证接口,用于处理各类证书认证相关操作的功能模块对外的交互通道。在通信模组与网关设备建立安全连接的过程中,当接收到网关设备发送的服务端证书后,调用认证接口来对服务端证书进行验证。它集成了安全芯片内部预设的一整套认证规则和验证机制,能够依据相关的标准和信任模型,对服务端证书的合法性、完整性以及有效性等多方面进行严谨的核查。
例如,检查证书的颁发机构是否是被信任的权威机构,验证证书是否在有效期内,过期的证书显然不能再用于证明身份及保障安全通信。另外,会核对证书内容是否有被篡改的痕迹,通过验证证书中的数字签名等信息,确保其完整性,若证书内容被篡改,那很可能存在中间人攻击等安全隐患。只有当服务端证书顺利通过这些由认证接口执行的各项验证时,才能确认网关设备的身份是可靠的。
具体的,安全芯片的算法接口是实现各种加密、密钥生成等核心算法操作的关键入口。封装了先进且安全可靠的加密算法、密钥派生算法等功能模块,通过调用算法接口,采用PRF算法根据目标充注密钥、第一客户端随机数、第一服务端随机数、常量字符串计算第一主密钥,并再次使用PRF算法根据第一主密钥计算第一工作密钥。其中,第一客户端随机数是通信模组作为客户端角色在最初发起握手时自行生成的一个随机值,即客户端握手信息中保存的随机数,第一服务端随机数则是网关设备发送的服务端握手消息中保存的随机数。最后将第一工作密钥存储至安全芯片中。
本申请实施例提供的方法中,调用安全芯片的认证接口,对服务端证书进行认证;调用安全芯片的算法接口,根据目标充注密钥、第一客户端随机数、第一服务端随机数、常量字符串,计算第一主密钥,并根据第一主密钥,计算第一工作密钥;最后将第一工作密钥存储至安全芯片中,通过调用安全芯片内部不同的功能接口,完成了对服务端证书的认证以及关键的第一工作密钥的生成与存储,为通信模组与网关设备之间构建安全的通信连接奠定了坚实的基础。
本申请实施例还提供了另一种基于量子密钥的安全通信方法的可能实现方式,图6为本申请实施例提供的一种基于量子密钥的安全通信方法的流程示意图之五,如图6所示,该方法包括:
S501、获取物联网终端中的业务模块产生的第一业务数据报文。
S502、调用安全芯片,根据第一工作密钥对第一业务数据报文进行加密,并封装成第一业务数据密文。
S503、基于VPN隧道,将第一业务数据密文发送至网关设备,以使得网关设备调用量子密码管理服务平台,根据第二工作密钥对第一业务数据密文进行解封装并解密,得到第一业务数据报文,并转发至物联网业务平台。
在本实施例中,物联网终端中的业务模块产生第一业务数据报文,物联网终端中的主控芯片根据第一业务数据报文的目的地址匹配配置的路由,将第一业务数据报文转发至虚拟网卡,SSL VPN客户端软件程序读取虚拟网卡中的第一业务数据报文。
然后使用生成并存储在安全芯片中的第一工作密钥来执行加密操作。第一工作密钥是经过复杂的密钥协商、生成流程得到的,具备独特的加密属性,与网关设备端对应的第二工作密钥相互匹配。通过安全芯片内部集成的加密算法,以第一工作密钥为关键参数,对第一业务数据报文进行加密处理,将明文形式的第一业务数据报文转化为密文形式。在完成加密操作后,还需要对加密后的内容进行封装,形成第一业务数据密文。封装过程可能涉及添加一些额外的头部信息、校验信息等,这些信息有助于网关设备准确地识别、解封装以及后续的处理操作。
基于VPN隧道,将第一业务数据密文发送至网关设备,网关设备接收到第一业务数据密文后,需要进行解封装和解密操作,使其还原为最初的第一业务数据报文。首先,网关设备会调用量子密码管理服务平台,利用平台提供的相关功能以及自身生成的第二工作密钥来进行解封装和解密操作。解封装过程就是去除之前在物联网终端添加的那些头部信息、校验信息等额外内容,还原出加密数据部分。然后,再依据第二工作密钥,通过与加密过程相对应的解密算法(因为第一工作密钥和第二工作密钥是相互匹配的,加密解密算法也是对应的),对加密数据进行解密处理,从而得到原始的第一业务数据报文。
在网关设备将第一业务数据密文还原为第一业务数据报文后,按照既定的网络路由和业务流程,将第一业务数据报文转发至物联网业务平台。物联网业务平台接收到这些数据报文后,就可以依据其中包含的业务信息进行相应的处理、分析以及后续的业务决策等操作,从而实现物联网终端与物联网业务平台之间安全、有效的业务数据交互。
本申请实施例提供的方法中,获取物联网终端中的业务模块产生的第一业务数据报文;调用安全芯片,根据第一工作密钥对第一业务数据报文进行加密,并封装成第一业务数据密文;基于VPN隧道,将第一业务数据密文发送至网关设备,以使得网关设备调用量子密码管理服务平台,根据第二工作密钥对第一业务数据密文进行解封装并解密,得到第一业务数据报文,并转发至物联网业务平台。保障了物联网终端产生的业务数据能够在复杂的网络环境中安全、准确地传输到物联网业务平台,实现了整个物联网系统中业务数据的安全流转。
本申请实施例还提供了另一种基于量子密钥的安全通信方法的可能实现方式,该方法还包括:
若检测到VPN隧道的连接断开,或者VPN隧道的连接时长超过预设时长,则销毁安全芯片中的目标充注密钥。
在本实施例中,VPN隧道是保障通信模组与网关设备之间安全通信的关键通道。然而,由于网络环境的复杂性,可能会出现各种原因导致VPN隧道的连接断开,比如网络故障、服务器端或客户端的软件故障,又或者是受到外部网络攻击等情况,使得原本建立好的VPN隧道无法维持正常的连接状态,数据传输被迫中断。
或者,为了进一步确保通信的安全性以及合理管理密钥资源的使用,会预先设定一个VPN隧道连接时长的阈值,也就是预设时长。当VPN隧道持续保持连接的时间超过了这个设定好的时长,即便此时隧道连接仍然正常,也需要销毁安全芯片中的目标充注密钥。这是因为长时间使用同一密钥进行通信,可能会增加密钥被破解、信息泄露等安全风险,通过限制连接时长来定期更新密钥等安全资源,并及时销毁可能存在安全风险的目标充注密钥,可以更好地保障通信安全。
本申请实施例还提供了一种基于量子密钥的安全通信方法,应用于网关设备,图7为本申请实施例提供的一种基于量子密钥的安全通信方法的流程示意图之六,如图7所示,该方法还包括:
S601、接收物联网终端中的通信模组中的控制单元发送的客户端握手信息。
其中,客户端握手信息是控制单元从通信模组中的安全芯片中获取目标充注密钥的序列号,并生成的客户端握手信息。
在本实施例中,客户端握手信息是通信模组发起与网关设备安全通信连接的起始交互内容。客户端握手信息中会包含诸如通信模组自身支持的通信协议版本、自身生成的客户端随机数,以及目标充注密钥的序列号等重要信息。
S602、根据目标充注密钥的序列号从量子密码管理服务平台中获取目标充注密钥,并生成服务端握手消息。
具体的,网关设备收到客户端握手信息后,会提取里面的目标充注密钥的序列号,然后根据目标充注密钥的序列号,向量子密码管理服务平台发起请求来获取对应的目标充注密钥。量子密码管理服务平台作为一个集中管理和存储密钥等安全资源的平台,基于严格的权限管理和查找机制,依据序列号可以找到并提供相应的目标充注密钥给网关设备。
网关设备在获取到目标充注密钥后,会生成服务端握手消息。服务端握手消息同样包含网关设备自身相关的一些通信配置信息,比如支持的协议版本、自身生成的客户端随机数,用于回应通信模组的客户端握手信息,继续推动双方建立安全连接的流程。
S603、向控制单元发送服务端握手消息和服务端证书,以使得控制单元调用安全芯片对服务端证书进行认证,并根据目标充注密钥在安全芯片中生成第一工作密钥。
具体的,通信模组接收到网关设备发送的服务端握手消息和服务端证书后,利用安全芯片内的功能和存储的相关信任根、验证算法等资源,对收到的服务端证书进行认证。例如,验证证书的颁发机构是否合法、证书是否在有效期内、证书内容是否被篡改等,只有通过了这些严格的验证流程,才能确认网关设备的身份可靠,后续的通信才可以基于信任继续开展。
在确认服务端证书合法有效后,通信模组会根据目标充注密钥,采用PRF算法在安全芯片内部生成第一工作密钥。第一工作密钥用于后续和网关设备进行加密通信、数据完整性验证等操作。
S604、接收控制单元发送的通信模组的客户端证书,通过量子密码管理服务平台对客户端证书进行认证,并根据目标充注密钥生成第二工作密钥。
网关设备收到客户端证书后,会将其提交给量子密码管理服务平台进行认证,量子密码管理服务平台依据自身存储的信任信息、验证规则等来判断客户端证书的合法性。认证通过后,根据目标充注密钥采用PRF算法生成第二工作密钥。其中,第二工作密钥与通信模组生成的第一工作密钥相对应,二者后续共同用于双方之间加密、解密等安全通信操作。
S605、根据第一工作密钥和第二工作密钥,建立通信模组和网关设备之间的VPN隧道,用于对物联网终端和物联网业务平台进行业务数据报文传输。
具体的,当通信模组和网关设备都分别生成了第一工作密钥和第二工作密钥后,双方根据协商出的工作密钥,通过特定的加密、封装等网络通信技术手段,建立起SSL VPN(虚拟专用网络)隧道。SSL VPN隧道在公共网络环境中为物联网终端和物联网业务平台之间开辟出了一条安全的通信通道,构建了一个专属的、加密的管道。
当VPN隧道建立成功后,物联网终端与物联网业务平台之间的业务数据报文可以通过VPN隧道进行传输。在传输过程中,业务数据报文会使用基于第一工作密钥和第二工作密钥相关的加解密算法进行加密和解密处理,确保业务数据报文的保密性。
综上所述,本申请实施例提供了一种基于量子密钥的安全通信方法,应用于网关设备,该方法包括:接收物联网终端中的通信模组中的控制单元发送的客户端握手信息,客户端握手信息是控制单元从通信模组中的安全芯片中获取目标充注密钥的序列号,并生成的客户端握手信息,根据目标充注密钥的序列号从量子密码管理服务平台中获取目标充注密钥,并生成服务端握手消息;向控制单元发送服务端握手消息和服务端证书,以使得控制单元调用安全芯片对服务端证书进行认证,并根据目标充注密钥在安全芯片中生成第一工作密钥;接收控制单元发送的通信模组的客户端证书,通过量子密码管理服务平台对客户端证书进行认证,并根据目标充注密钥生成第二工作密钥;根据第一工作密钥和第二工作密钥,建立通信模组和网关设备之间的VPN隧道,用于对物联网终端和物联网业务平台进行业务数据报文传输。本申请的方法在现有物联网终端设备与物联网业务平台基础上,加入集成安全芯片的通信模组、量子密码管理服务平台和网关设备,形成完整的数据传输的安全通信通道即VPN隧道,能够保证业务数据报文传输的可靠性、安全性和完整性。
在上述实施例的基础上,本申请实施例还提供了另一种基于量子密钥的安全通信方法的可能实现方式,图8为本申请实施例提供的一种基于量子密钥的安全通信方法的流程示意图之七,如图8所示,接收控制单元发送的通信模组的客户端证书,通过量子密码管理服务平台对客户端证书进行认证,并根据目标充注密钥生成第二工作密钥,包括:
S701、调用量子密码管理服务平台的认证接口,对客户端证书进行认证。
S702、调用量子密码管理服务平台的算法接口,目标充注密钥、第二客户端随机数、第二服务端随机数、常量字符串,计算第二主密钥,并根据第二主密钥,计算第二工作密钥。
S703、将第二工作密钥存储至网关设备中。
在本实施例中,量子密码管理服务平台内部设有专门的认证接口,用于处理各类证书认证相关操作的功能模块对外的交互通道。在通信模组与网关设备建立安全连接的过程中,当接收到通信模组发送的客户端证书后,调用认证接口来对客户端证书进行验证,对客户端证书的合法性、完整性以及有效性等多方面进行严谨的核查。
例如,检查证书的颁发机构是否是被信任的权威机构,验证证书是否在有效期内,过期的证书显然不能再用于证明身份及保障安全通信。另外,会核对证书内容是否有被篡改的痕迹,通过验证证书中的数字签名等信息,确保其完整性,若证书内容被篡改,那很可能存在中间人攻击等安全隐患。只有当客户端证书顺利通过这些由认证接口执行的各项验证时,才能确认通信模组的身份是可靠的。
具体的,量子密码管理服务平台的算法接口是实现各种加密、密钥生成等核心算法操作的关键入口。封装了先进且安全可靠的加密算法、密钥派生算法等功能模块,通过调用算法接口,采用PRF算法根据目标充注密钥、第二客户端随机数、第二服务端随机数、常量字符串计算第二主密钥,并再次使用PRF算法根据第二主密钥计算第二工作密钥。其中,第二客户端随机数是通信模组作为客户端角色在最初发起握手时自行生成的一个随机值,即客户端握手信息中保存的随机数,第二服务端随机数则是网关设备发送的服务端握手消息中保存的随机数。最后将第二工作密钥存储至网关设备中。
本申请实施例提供的方法中,通过调用量子密码管理服务平台的认证接口,对客户端证书进行认证,调用量子密码管理服务平台的算法接口,目标充注密钥、第二客户端随机数、第二服务端随机数、常量字符串,计算第二主密钥,并根据第二主密钥,计算第二工作密钥,最后将第二工作密钥存储至网关设备中,通过调用安全芯片内部不同的功能接口,完成了对客户端证书的认证以及关键的第二工作密钥的生成与存储,为通信模组与网关设备之间构建安全的通信连接奠定了坚实的基础。
本申请实施例还提供了另一种基于量子密钥的安全通信方法的可能实现方式,图9为本申请实施例提供的一种基于量子密钥的安全通信方法的流程示意图之八,如图9所示,该方法还包括:
S801、获取物联网业务平台中的业务模块产生的第二业务数据报文。
S802、调用量子密码管理服务平台,根据第二工作密钥对第二业务数据报文进行加密,并封装成第二业务数据密文。
S803、基于VPN隧道,将第二业务数据密文发送至通信模组,以使得通信模组调用安全芯片,根据第一工作密钥对第二业务数据密文进行解封装并解密,得到第二业务数据报文。
在本实施例中,物联网业务平台中的业务模块负责执行各类具体的业务逻辑与操作,例如对从众多物联网终端收集来的数据进行分析处理后生成相应的反馈指令,或者基于平台自身的管理、监控等功能产生需要下发给物联网终端的数据等。这些由业务模块生成的数据会按照特定的格式进行组织编排,从而形成第二业务数据报文。并经路由转发至网关设备。
网关设备中的SSL VPN服务端软件程序调用量子密码管理服务平台的加密接口,根据内置的加密算法,以第二工作密钥为关键参数,对第二业务数据报文进行加密处理,将明文数据转化为加密后的密文形式,在完成加密操作后,还需要对加密后的内容进行封装,形成第二业务数据密文。封装过程可能涉及添加一些额外的头部信息、校验信息等,这些信息有助于通信模组准确地识别、解封装以及后续的处理操作。
基于VPN隧道,将第二业务数据密文发送至通信模组,通信模组接收到第二业务数据密文后,需要进行解封装和解密操作,使其还原为最初的第二业务数据报文。首先,利用安全芯片中的相关功能模块对密文进行解封装,也就是去除之前在物联网业务平台添加的那些头部信息、校验码等额外内容,提取出加密数据部分。然后,再依据存储在安全芯片中的第一工作密钥,通过与加密过程相对应的解密算法(因为第一工作密钥和第二工作密钥是相互匹配的,对应的加密解密算法也是相互适配的),对提加密数据进行解密处理,从而成功得到原始的第二业务数据报文。进而基于第二业务数据报文执行相应的后续操作,比如将相关指令传递给物联网终端对应的功能模块等,实现物联网业务平台与物联网终端之间安全、有效的信息交互。
本申请实施例提供的方法中,获取物联网业务平台中的业务模块产生的第二业务数据报文,调用量子密码管理服务平台,根据第二工作密钥对第二业务数据报文进行加密,并封装成第二业务数据密文,基于VPN隧道,将第二业务数据密文发送至通信模组,以使得通信模组调用安全芯片,根据第一工作密钥对第二业务数据密文进行解封装并解密,得到第二业务数据报文。保障了物联网终端产生的业务数据能够在复杂的网络环境中安全、准确地传输到物联网业务平台,实现了整个物联网系统中业务数据的安全流转。
本申请实施例还提供了另一种基于量子密钥的安全通信方法的可能实现方式,该方法还包括:
若检测到VPN隧道的连接断开,或者VPN隧道的连接时长超过预设时长,则对量子密码管理服务平台中目标充注密钥进行销毁。
在本实施例中,VPN隧道是保障通信模组与网关设备之间安全通信的关键通道。然而,由于网络环境的复杂性,可能会出现各种原因导致VPN隧道的连接断开,比如网络故障、服务器端或客户端的软件故障,又或者是受到外部网络攻击等情况,使得原本建立好的VPN隧道无法维持正常的连接状态,数据传输被迫中断。
或者,为了进一步确保通信的安全性以及合理管理密钥资源的使用,会预先设定一个VPN隧道连接时长的阈值,也就是预设时长。当VPN隧道持续保持连接的时间超过了这个设定好的时长,即便此时隧道连接仍然正常,也需要销毁量子密码管理服务平台中的目标充注密钥。这是因为长时间使用同一密钥进行通信,可能会增加密钥被破解、信息泄露等安全风险,通过限制连接时长来定期更新密钥等安全资源,并及时销毁可能存在安全风险的目标充注密钥,可以更好地保障通信安全。
如下继续对执行本申请上述任一实施例提供的基于量子密钥的安全通信装置进行相应的解释,其具体的实现过程以及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容。
图10为本申请实施例提供的一种基于量子密钥的安全通信装置的功能模块示意图。应用于物联网终端中的通信模组中的控制单元,如图10所示,该基于量子密钥的安全通信装置100包括:
第一生成模块110,用于从通信模组中的安全芯片中获取目标充注密钥的序列号,并生成客户端握手信息;
第一发送模块120,用于将客户端握手信息发送至网关设备,以使得网关设备根据目标充注密钥的序列号从量子密码管理服务平台中获取目标充注密钥,并生成服务端握手消息;
第一接收模块130,用于接收网关设备发送的服务端握手消息和服务端证书;
第一生成模块110,还用于调用安全芯片对服务端证书进行认证,并根据目标充注密钥在安全芯片中生成第一工作密钥;
第一发送模块120,还用于向网关设备发送通信模组的客户端证书,以使得网关设备通过量子密码管理服务平台对客户端证书进行认证,并根据目标充注密钥生成第二工作密钥;
第一建立模块140,用于根据第一工作密钥和第二工作密钥,建立通信模组和网关设备之间的VPN隧道,用于对物联网终端和物联网业务平台进行业务数据报文传输。
可选地,第一生成模块110,还用于从安全芯片的多支充注密钥中确定未使用的一支充注密钥作为目标充注密钥,并获取目标充注密钥的序列号;根据目标充注密钥的序列号和通信模组的设备标识,生成客户端握手信息。
可选地,第一发送模块120,还用于向量子密码管理服务平台发送密钥充注请求,以使得量子密码管理服务平台生成充注密钥文件;充注密钥文件包括:多支充注密钥;
第一获取模块,用于获取量子密码管理服务平台返回的充注密钥文件;
第一存储模块,用于将充注密钥文件存储至安全芯片。
可选地,第一生成模块110,还用于调用安全芯片的认证接口,对服务端证书进行认证;调用安全芯片的算法接口,根据目标充注密钥、第一客户端随机数、第一服务端随机数、常量字符串,计算第一主密钥,并根据第一主密钥,计算第一工作密钥;将第一工作密钥存储至安全芯片中。
可选地,第一存储模块,还用于获取物联网终端中的业务模块产生的第一业务数据报文;
第一加密模块,用于调用安全芯片,根据第一工作密钥对第一业务数据报文进行加密,并封装成第一业务数据密文;
第一发送模块120,还用于基于VPN隧道,将第一业务数据密文发送至网关设备,以使得网关设备调用量子密码管理服务平台,根据第二工作密钥对第一业务数据密文进行解封装并解密,得到第一业务数据报文,并转发至物联网业务平台。
可选地,该装置还包括:
第一销毁模块,用于若检测到VPN隧道的连接断开,或者VPN隧道的连接时长超过预设时长,则销毁安全芯片中的目标充注密钥。
图11为本申请实施例提供的另一种基于量子密钥的安全通信装置的功能模块示意图。应用于网关设备,如图11所示,该基于量子密钥的安全通信装置200包括:
第二接收模块210,用于接收物联网终端中的通信模组中的控制单元发送的客户端握手信息,客户端握手信息是控制单元从通信模组中的安全芯片中获取目标充注密钥的序列号,并生成的客户端握手信息;
第二生成模块220,用于根据目标充注密钥的序列号从量子密码管理服务平台中获取目标充注密钥,并生成服务端握手消息;
第二发送模块230,用于向控制单元发送服务端握手消息和服务端证书,以使得控制单元调用安全芯片对服务端证书进行认证,并根据目标充注密钥在安全芯片中生成第一工作密钥;
第二生成模块220,还用于接收控制单元发送的通信模组的客户端证书,通过量子密码管理服务平台对客户端证书进行认证,并根据目标充注密钥生成第二工作密钥;
第二建立模块240,用于根据第一工作密钥和第二工作密钥,建立通信模组和网关设备之间的VPN隧道,用于对物联网终端和物联网业务平台进行业务数据报文传输。
可选地,第二生成模块220,还用于调用量子密码管理服务平台的认证接口,对客户端证书进行认证;调用量子密码管理服务平台的算法接口,目标充注密钥、第二客户端随机数、第二服务端随机数、常量字符串,计算第二主密钥,并根据第二主密钥,计算第二工作密钥;将第二工作密钥存储至网关设备中。
可选地,该装置还包括:
第二获取模块,用于获取物联网业务平台中的业务模块产生的第二业务数据报文;
第二加密模块,用于调用量子密码管理服务平台,根据第二工作密钥对第二业务数据报文进行加密,并封装成第二业务数据密文;
第二发送模块230,还用于基于VPN隧道,将第二业务数据密文发送至通信模组,以使得通信模组调用安全芯片,根据第一工作密钥对第二业务数据密文进行解封装并解密,得到第二业务数据报文。
可选地,该装置还包括:
第二销毁模块,用于若检测到VPN隧道的连接断开,或者VPN隧道的连接时长超过预设时长,则对量子密码管理服务平台中目标充注密钥进行销毁。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器,或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
以上仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。