一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

使用对称密码技术增强MQTT协议传输安全的方法和系统与流程

2021-11-10 02:50:00 来源:中国专利 TAG:

使用对称密码技术增强mqtt协议传输安全的方法和系统
技术领域
1.本发明属于安全应用类产品领域,特别是使用对称密码技术增强mqtt协议传输安全的方法


背景技术:

2.mqtt(message queuing telemetry transport,消息队列遥测传输)协议,是一种基于发布/订阅模式的通信协议,该通信协议构建于tcp/ip(transmission control protocol/internet protocol,传输控制协议/因特网互联协议)协议上。mqtt可以以较少的代码和有限的带宽,为连接的终端提供实时可靠的消息服务。
3.cn109525566a号专利申请公开了一种基于增强型mqtt消息机制的lorawan数据交换方法,属于物联网技术领域,在感知层建立lorawan终端和lorawan网关,在网络层建立数据核心层,在应用层建立数据应用管理层,通过mqtt中间件与ssl证书实现各层之间的数据交互,解决了在lorawan数据交换时通过mqtt协议中间件实现ssl传输加密的技术问题,实现了在单独某个物联网层部署调试或者演进时,只需要关注当前物联网层的业务实现,大大简化了开发部署和调试演进的工作,物联网层之间实现了解耦合,方便了各单独服务层独立演进、重用;该发明采用mqtt消息机制的数据交换系统会更健壮和易于扩展,实现ssl的加密传输。该方法在实现数据交换时,需要申请证书,将证书导入自身设备,且需要对已导入的证书进行管理,会增大处理复杂度。
4.针对上述问题,cn110225049a号专利申请提供了一种数据传输方法,该方法包括:向服务器发送连接请求后接收所述服务器发送的服务器密钥;在接收到所述服务器响应所述连接请求的响应信息后,向所述服务器发送客户端密钥;根据所述服务器密钥和所述客户端密钥按照与所述服务器预先约定的条件生成加密密钥;利用所述加密密钥对目标数据进行加密,并向所述服务器发送加密后的目标数据。通过本发明,可以提高数据传输的安全性。但是该专利申请的技术方案中,数据加密主要依赖基于传统公钥证书的通道加密来实现,在数据加密密码随着使用频次的增加,密钥重复使用,安全性随着使用也会降低。


技术实现要素:

5.本发明所要解决的技术问题在于如何提高mqtt协议传输的安全。
6.本发明通过以下技术手段实现解决上述技术问题的:一种使用对称密码技术增强mqtt协议传输安全的方法,包括以下步骤:
7.s1、对数据进行加密;
8.物联网终端到物联网平台:量子密钥充注机完成将量子随机数发生器产生的量子密钥到量子安全芯片的充注,量子交换密码机记录存储充注量子安全芯片和密钥的对应关系;
9.获取登录令牌后,物联网终端调用量子安全芯片内密钥完成对上报消息加密,加密后信息通过mqtt协议中publish消息payload进行传输,消息体中增加本次使用密钥的序
列号;
10.物联网平台到物联网终端:物联网平台根据物联网终端标识向量子密码管理服务系统申请密钥,量子密码管理服务系统通过量子交换密码机根据之前量子安全芯片充注信息,返回和该量子终端内集成的量子安全芯片内已经充注的可用密钥对称的密钥序列号和密钥,物联网平台对下发消息进行加密,密文放入mqtt协议中publish消息payload中,消息体中增加本次使用密钥的序列号;
11.s2、对数据进行解密;
12.物联网平台解密:物联网平台从publish消息中payload获取物联网终端发送的加密后的密文,物联网平台根据消息体中密钥序列号向量子密码管理服务系统获取解密密钥,量子密码管理服务系统通过量子交换密码机返回消息体中密钥序列号对应的量子安全芯片的密钥对称的解密密钥,使用返回的解密密钥以及对应算法完成对密文的解密,并根据消息中时变参数和登录令牌进行验证,验证成功后,开始下行明文内容的解析;
13.物联网终端解密:物联网终端从publish消息中payload中获取物联网平台下发的密文,根据消息体中的序列号向内置的量子安全芯片获取与加密密钥对称的解密密钥,使用解密密钥以及对应算法完成对密文的解密,并根据消息中时变参数和登录令牌进行验证,验证成功后,开始下行明文内容的解析。
14.作为进一步优化的技术方案,数据加密中,物联网终端到物联网平台流程具体如下:
15.s101、物联网终端获取登录令牌后,选择数据上报,根据mqtt协议物联网平台发布订阅,并根据订阅内容进行数据上报明文准备;
16.s102、物联网终端选取内置或者外置的量子安全芯片内密钥序列为z的密钥b;
17.s103、物联网终端构造上报消息:密钥序列号 终端id 密文(时变参数 终端id 登录令牌 上报明文),并对所述上报消息的密文内容使用密钥b进行加密;
18.s104、将所述上报消息:密钥序列号 终端id 密文(时变参数 终端id 登录令牌 上报明文)放入到publish消息payload消息体中,并上报至物联网平台,密文采用加密算法和芯片密钥b共同产生。
19.作为进一步优化的技术方案,物联网平台对物联网终端解密具体流程如下:
20.s201、物联网平台根据物联网终端上报publish消息中payload(载荷)中终端id和序列号z向量子密码管理服务系统获取解密密钥;
21.s202、量子密码管理服务系统从量子交换密码机上获取预先存储的与序列号z对应的解密密钥b’,并返回给物联网平台,密钥b’与密钥b为对称密钥;
22.s203、物联网平台根据密钥b’以及对应算法进行解密,验证用户上行消息中的时变参数和登录令牌,对时变参数主要验证本次消息当前时间和平台时间的差值,防止重放攻击,登录令牌由终端id和终端认证登录时候上报时变参数共同产生,终端id验证通过消息上报的信息确定该消息代表的终端id是否和令牌中一致,防止中间人攻击,时变参数验证主要分为两点,一是验证时变参数是否是终端在登录鉴权时候上报的时变参数,确定终端身份,二是验证登录令牌是否还在有效期内,登录令牌超过有效期,需要重新申请,验证成功后,解析上报明文内容,否则验证失败。
23.作为进一步优化的技术方案,数据加密中,物联网平台到物联网终端流程具体如
下:
24.s111、物联网平台选择下行消息,根据物联网终端订阅的主题下发消息;
25.s112、物联网平台根据终端id到量子密码管理服务系统获取密钥,返回密钥序列为w的密钥c;
26.s113、物联网平台构造下发消息:密钥序列号w 密文(时变参数 平台id 登录令牌 下行明文),并对密文内容使用密钥c进行加密,密文采用加密算法和芯片密钥c共同产生;
27.s114、物联网平台将所述下发信息:密钥序列号w 密文(时变参数 平台id 登录令牌 下行明文)放入到mqtt协议中publish消息的payload消息体中,并下发至物联网终端。
28.作为进一步优化的技术方案,数据解密中,物联网终端对物联网平台的解密的流程如下:
29.s211、物联网终端根据从物联网平台推送的publish消息中payload载荷中的密钥序列号w向内置或者外置的量子安全芯片获取密钥;
30.s212、量子安全芯片根据序列号w返回预先存储的与密钥c对称的解密密钥c’;
31.s213、物联网终端根据密钥c’以及对应算法对密文进行解密,验证下行消息中的时变参数和登录令牌,验证成功后,开始下行明文内容的解析,否则验证失败。
32.作为进一步优化的技术方案,所述数据加密和解密前还包括物联网终端使用量子安全芯片内的密钥完成到物联网平台的平台登录认证,获取登录令牌的步骤,具体包括:
33.s1’、第一次身份认证:物联网终端到物联网平台:量子密钥充注机完成将量子随机数发生器产生的量子密钥到量子安全芯片的充注、存储,同时记录存储充注安全芯片和密钥的对应关系,物联网终端调用内置集成或者外置的安全芯片内存储的量子密钥用于构造身份认证请求消息:密钥序列号 终端id 密文(时变参数 终端id 终端预设密码)到物联网平台,物联网平台根据终端id和密钥序列号从与量子交换密码机连接的量子密码管理服务系统获取与终端充注密钥对称的密钥进行解密,比对身份认证请求消息中的终端id和终端预设密码,同时保存终端发送的时变参数,认证成功后根据终端id和时变参数生成登录令牌,并向终端返回验证成功消息,如果不成功则返回不成功消息;
34.s2’、第二次身份认证:物联网平台根据终端id向量子密码管理服务系统申请和终端匹配的充注密钥和对应的密钥序列号,并开始构造身份认证请求消息:密钥序列号 密文(时变参数 平台id 登录令牌),登录令牌根据第一次身份认证时终端上报的终端id和时变参数结合产生,并将该身份认证请求消息发送至终端;终端根据密钥序列号获取与对应的充注密钥对称的密钥对身份认证请求消息进行解密,验证平台id以及登录令牌,确定登录令牌是第一次身份认证时物联网平台根据认证时的终端id和时变参数产生,验证成功后,终端开始向物联网平台发送消息。
35.作为进一步优化的技术方案,s1’、第一次身份认证,包括下述步骤:
36.s11’、终端获取安全芯片内密钥请求,安全芯片返回芯片密钥序列号g的密钥a;
37.s12’、终端根据mqtt连接消息connect内容格式构造初始身份认证请求消息:密钥序列号g 终端id 密文(时变参数 终端id 终端预设密码),密文的加密方式采用对称算法完成,加密密钥为s1中取出的密钥a;
38.s13’、终端向物联网平台对外暴露的代理地址发送步骤s12构造的身份认证请求消息;
39.s14’、物联网平台根据所述初始身份认证请求消息中终端id和密钥序列号g向量子密码管理服务系统获取与密钥a对称的密钥a’;
40.s15’、量子密码管理服务系统返回密钥a’至物联网平台,物联网平台利用密钥a’对所述初始身份认证请求消息进行解密,得到解密后的密文:时变参数 终端id 终端预设密码,并将解密后终端id和终端预设密码和后台存储的终端id以及物联网平台预先存储的终端预设密码进行比较,确定终端的身份,同时利用mqtt消息中的connack向终端返回验证成功消息ox00,并保存终端发过来的时变参数,如果不成功则根据mqtt手册返回非0消息。
41.作为进一步优化的技术方案,s2’、第二次身份认证,包括下述步骤:
42.s21’、物联网平台根据终端id从量子密码管理服务系统获取与终端匹配的芯片密钥,量子密码管理服务系统向物联网平台返回和终端匹配的芯片密钥e和芯片密钥e的序列号k;
43.s22’、物联网平台构造向终端申请的身份认证请求消息:密钥序列号c 密文(时变参数 平台id 登录令牌),密文的加密密钥为s21中取出的芯片密钥e,登录令牌由终端第一次身份认证保存的时变参数 终端id共同产生,用publish搭出来物联网平台对终端身份认证机制,向终端推送第二次身份认证请求消息,身份认证请求消息放入payload中;
44.s23’、终端收到物联网平台推送的身份认证请求消息,根据身份认证请求消息中密钥序列号k向安全芯片内获取与序列号k对应的芯片密钥e的对称解密秘钥,安全芯片返回解密秘钥e’;
45.s24’、终端使用解密秘钥e’对身份认证请求消息中的密文解密,通过验证平台id和登录令牌实施解密验证,对登录令牌主要验证是否是第一次身份认证发送的时变参数和终端id共同产生,如果通过,则终端认为物联网平台是可信的,则能够向物联网平台发送数据。
46.本发明还一种使用对称密码技术增强mqtt协议传输安全的方法,应用在mqtt协议传输系统的物联网终端,包括数据加密和数据解密,物联网终端首先使用量子安全芯片内的密钥完成到物联网平台的平台登录认证,获取登录令牌,然后执行下述mqtt协议传输步骤:
47.对数据进行加密;
48.物联网终端到物联网平台:量子安全芯片获取量子密钥充注机提供的量子密钥的充注;
49.获取登录令牌后,物联网终端调用量子安全芯片内密钥完成对上报消息加密,,加密后信息通过mqtt协议中publish消息payload(载荷)进行传输,消息体中增加本次使用密钥的序列号;
50.对数据进行解密;
51.物联网终端解密:物联网终端从publish消息中payload中获取物联网平台下发的密文,根据消息体中的序列号向内置的量子安全芯片获取与加密密钥对称的解密密钥,使用解密密钥以及对应算法完成对密文的解密,并根据消息中时变参数和登录令牌进行验证,验证成功后,开始下行明文内容的解析。
52.本发明还提供一种使用对称密码技术增强mqtt协议传输安全的方法,应用在mqtt协议传输系统的物联网平台,其特征在于:包括数据加密和数据解密,物联网平台首先完成
物联网终端的登录认证,然后执行下述mqtt协议传输步骤:
53.对数据进行加密;
54.物联网平台到物联网终端:物联网平台根据物联网终端标识向量子密码管理服务系统申请密钥,量子密码管理服务系统通过量子交换密码机根据之前量子安全芯片充注信息,返回和该量子终端内集成的量子安全芯片内已经充注的可用密钥对称的密钥序列号和密钥,物联网平台对下发消息进行加密,加密可采用sm4,密文放入mqtt协议中publish消息payload中,消息体中增加本次使用密钥的序列号;
55.对数据进行解密;
56.物联网平台解密:物联网平台从publish消息中payload获取物联网终端发送的加密后的密文,物联网平台根据消息体中密钥序列号向量子密码管理服务系统获取解密密钥,量子密码管理服务系统通过量子交换密码机返回消息体中密钥序列号对应的量子安全芯片的密钥对称的解密密钥,使用返回的解密密钥以及对应算法完成对密文的解密,并根据消息中时变参数和登录令牌进行验证,验证成功后,开始下行明文内容的解析。
57.本发明还一种使用对称密码技术增强mqtt协议传输安全的系统,包括:
58.量子随机数发生器,用于生成量子密钥;
59.量子交换密码机,接收量子随机数发生器发出的量子密钥,用于提供密钥服务,量子交换密码机内预先存储有密钥,该密钥为量子随机数生成器预生成的密钥,并存储在该量子交换密码机内,与量子安全芯片内的密钥为对称密钥;
60.量子密钥充注机,与量子交换密码机的输出端连接,用于充注量子密钥;
61.量子密码管理服务系统,通过网络与物联网平台实现数据交互,量子密码管理服务系统直接连接量子密码交换机,用于提供基于量子安全芯片身份的密钥分发功能;
62.物联网终端是物联网中连接传感网络层和传输网络层,执行上述方案中需要物联网终端执行的步骤;
63.量子安全芯片,存储量子安全密钥,量子安全芯片在使用前预充注密码,量子安全芯片通过量子密钥充注机被充注量子安全密钥,每个量子安全芯片被充注的密钥和量子交换密码机内预置的密钥是对称密钥,每个量子安全芯片有自己的编号,每支量子密钥有自己的序列号,通过内置或者外接于物联网终端中;
64.物联网平台,提供基于mqtt协议的物联网终端设备认证、鉴权、设备数据接入功能,执行上述步骤中需要物联网平台执行的步骤。
65.本发明的优点在于:
66.(1)量子密钥用于mqtt上下行信息保护:使用量子安全芯片和对称密码技术完成对解决物联网终端上、下行消息、传输过程中密钥重复使用,安全性随着使用会降低的问题。
67.(2)量子安全芯片作为mqtt协议的安全能力提供方:本发明中的量子安全芯片有两大功能,一是使用量子随机数生成器生成的量子真随机数密钥取代传统加密芯片内的传统密钥。二是利用量子密钥完成物联网终端、物联网平台之间的上下行消息的加密保护。
68.(3)解决网络攻击日益严峻的环境对物联网设备安全影响:

解决物联网终端设备身份认证问题:使用量子安全芯片内置密钥集合对称算法进行身份认证,一次认证一份密钥。

解决物联网设备在消息传递中消息加密的问题,舍弃了tls证书体系,以密文存储,
加密密钥为量子密码服务系统生成的量子真随机密钥。即使消息被获取,也无法知道上报消息,尤其是针对下行控制类命令起到保护作用。
69.(4)防范未来量子计算机和量子算法带来的安全威胁。

防范基于大因数分解难题的公钥密码算法被破译问题:使用量子对称密钥,无法通过大因数分解来破译;

防范未来出现的量子计算机带来的安全威胁:使用量子安全密码进行加密传输,理论上是完全安全可信的;

防范未来可能出现的量子算法对已有密码体系的威胁:使用量子安全密码进行加密传输,量子安全密钥是通过量子随机数生成器生成的真随机数,无法通过算法来破译。
70.(5)无需数字证书的第三方颁发和认证;

提供无证书的数据加密方式,减少第三方的参与:使用基于sm4集合量子密钥的数据加密方式,无需颁发证书的第三方。减少过程的参与方,减少三方协议风险。
71.(6)开发技术易于实现;量子安全芯片是可行的存在的技术,基于量子对称密钥的安全认证也是可以实现的技术,用于加密邮件的邮件加密密码可以使用量子随机数生成,技术成熟,安全性高。
72.(7)本发明对物联网平台自身进行改造的地方极少,主要是通过增加量子密钥服务系统的方式对安全性进行提升,通用性强。本发明可以集成到量子密码管理服务系统上,对外提供功能接口,延展性好。
73.(8)网络安全能力得到显著提升;本发明可以针对现有的攻击方式以及未来可能有的量子计算威胁进行防御,可极大减少因信息泄露带来的经济损失。
74.(9)终端安全能力显著升级;本发明可以极大增强终端的安全性,按照目前有两亿终端,其中对于电表、水表等计量性终端、以及对安全领域有非常高的领域均有有明确的需求。目前估算单表的改造费用在25元,按照天翼物联两亿终端数量,渗透率在10%左右,未来可以支撑2.5亿市场预期。
75.(10)改造成本低;本发明可以在现有系统上进行改造,平台侧可以直接对接管理平台,设备侧可以采用集成sim卡或者安全模组进行对接即可,改造成本低。
附图说明
76.图1是本发明实施例使用对称密码技术增强mqtt协议传输安全的方法的总体流程示意图;
77.图2是应用本发明实施例使用对称密码技术增强mqtt协议传输安全的方法的系统组成图;
78.图3是应用本发明实施例对称密码技术增强mqtt协议传输安全的方法的数据加密时序图;
79.图4是应用本发明实施例对称密码技术增强mqtt协议传输安全的方法的数据加密的上行流程图;
80.图5是应用本发明实施例对称密码技术增强mqtt协议传输安全的方法的数据加密的下行流程图;
81.图6是应用本发明实施例对称密码技术增强mqtt协议传输安全的方法的数据解密时序图;
82.图7是应用本发明实施例对称密码技术增强mqtt协议传输安全的方法的数据解密的上行流程图;
83.图8是应用本发明实施例对称密码技术增强mqtt协议传输安全的方法的数据解密的下行流程图;
84.图9是本发明实施例使用对称密码技术增强mqtt协议身份认证的方法的总体流程示意图;
85.图10是应用本发明实施例对称密码技术增强mqtt协议传输身份认证的时序图;
86.图11是第一次身份认证的详细流程图;
87.图12是第二次身份认证的详细流程图。
具体实施方式
88.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
89.实施例1
90.如图1和图2所示,本实施例提供一种使用对称密码技术增强mqtt协议传输安全的方法,包括数据加密和数据解密,应用在mqtt协议传输系统中,该mqtt协议传输系统包括量子随机数发生器、量子交换密码机、量子密钥充注机、量子密码管理服务系统、物联网终端、安全芯片以及物联网平台。安全芯片可以为sim卡和u盘等形态,通过内置或者外接于物联网终端或者物联网终端的设备模组中。
91.物联网终端可以是mqtt协议中的发布者,也可以是mqtt协议中的订阅者。物联网平台可以是mqtt协议中的代理。物联网终端接入物联网平台的过程中,物联网平台需要对物联网终端进行认证,如果认证通过,物联网终端则可以与物联网平台进行业务数据传输,例如,物联网终端可以通过物联网平台发布消息,也可以通物联网平台订阅其他物联网终端发布的消息。
92.量子随机数发生器,用于生成量子密钥;
93.量子交换密码机,接收量子随机数发生器发出的量子密钥,用于提供密钥服务,量子交换密码机内预先存储有密钥,该密钥为量子随机数生成器预生成的密钥,并存储在该量子交换密码机内,与量子安全芯片内的密钥为对称密钥;
94.量子密钥充注机,与量子交换密码机的输出端连接,用于充注量子密钥;
95.量子密码管理服务系统,通过网络与物联网平台实现数据交互,量子密码管理服务系统直接连接量子密码交换机,用于提供基于量子安全芯片身份的密钥分发功能。
96.物联网终端是物联网中连接传感网络层和传输网络层,实现采集数据及向网络层发送数据的设备。它担负着数据采集、初步处理、加密、传输等多种功能。终端能够适配以sim卡u盘为形态的量子安全芯片的集成。
97.量子安全芯片,可以为sim卡和u盘等形态,存储量子安全密钥,原理为:量子安全芯片在使用前初始化(预充注密码),量子安全芯片通过量子密钥充注机被充注量子安全密钥,每个量子安全芯片被充注的密钥和量子交换密码机内预置的密钥是对称密钥(即一一
对应的密钥)。每个量子安全芯片有自己的编号,每支量子密钥有自己的序列号,只要提供量子安全芯片的编号和量子密钥序列号,就能在量子交换密码机内找到对应的密钥,并通过内置或者外接于物联网设备或者物联网设备的设备模组中。
98.物联网平台,提供基于mqtt协议的物联网终端设备认证、鉴权、设备数据接入功能,能够通过和密钥管理服务平台的交互完成终端集成安全芯片对应密钥的获取功能,并能够根据终端内芯片存储密钥完成对终端身份认证、上下行消息的加解密功能。
99.身份认证指使用量子安全芯片的内置的密钥实现物联网终端和物联网平台之间的实体认证。该认证方式采用“gb_t 15843.2实体认证协议机制三——双向鉴别之两次传递鉴别”的规范。
100.数据加密是通过物联网终端对量子安全芯片内部密钥灵活的使用机制,实现物联网终端和物联网平台上下行数据传输中每一条信息匹配一支密钥,密钥不重复使用。
101.使用对称密码技术增强mqtt协议传输安全的方法包括以下步骤:
102.物联网终端首先使用量子安全芯片内的密钥完成到物联网平台的平台登录认证,获取登录令牌,然后执行下述mqtt协议传输步骤:
103.s1、对数据进行加密;
104.具体地说,物联网终端到物联网平台(上行):量子密钥充注机完成将量子随机数发生器产生的量子密钥到量子安全芯片的充注,量子交换密码机记录存储充注量子安全芯片和密钥的对应关系。
105.获取登录令牌后,物联网终端调用量子安全芯片内密钥完成对上报消息加密,加密可采用sm4,加密后信息通过mqtt协议中publish消息payload(载荷)进行传输,消息体中增加本次使用密钥的序列号。
106.物联网平台到物联网终端(下行):物联网平台根据物联网终端标识向量子密码管理服务系统申请密钥,量子密码管理服务系统通过量子交换密码机根据之前量子安全芯片充注信息,返回和该量子终端内集成的量子安全芯片内已经充注的可用密钥对称的密钥序列号和密钥,物联网平台对下发消息进行加密,加密可采用sm4,密文放入mqtt协议中publish消息payload(载荷)中,消息体中增加本次使用密钥的序列号。
107.s2、对数据进行解密;
108.物联网平台解密(上行解密):物联网平台从publish消息中payload获取物联网终端发送的加密后的密文,物联网平台根据消息体中密钥序列号向量子密码管理服务系统获取解密密钥,量子密码管理服务系统通过量子交换密码机返回消息体中密钥序列号对应的量子安全芯片的密钥对称的解密密钥,使用返回的解密密钥以及对应算法(sm4)完成对密文的解密,并根据消息中时变参数和登录令牌进行验证,验证成功后,开始下行明文内容的解析。
109.物联网终端解密(下行解密):物联网终端从publish消息中payload中获取物联网平台下发的密文,根据消息体中的序列号向内置的量子安全芯片获取与加密密钥对称的解密密钥,使用解密密钥以及对应算法(sm4)完成对密文的解密,并根据消息中时变参数和登录令牌进行验证,验证成功后,开始下行明文内容的解析。
110.如图2所示,量子密码管理服务系统密钥初始化充注到物联网终端中,物联网终端与物联网平台进行信息交互,交互信息是基于充注密钥的身份认证、上下行消息加密,所述
物联网平台与量子密码管理服务系统进行设备密钥获取的信息交互。
111.具体地说,如图3和图4所示,数据加密中上行流程如下:
112.s101、物联网终端完成双向认证后获取登录令牌,终端选择数据上报,根据mqtt协议物联网平台发布订阅,并根据订阅内容进行数据上报明文准备;
113.s102、物联网终端选取内置或者外置的量子安全芯片内密钥序列为z的密钥b;
114.s103、物联网终端构造上报消息:密钥序列号 终端id 密文(时变参数 终端id 登录令牌 上报明文),并对所述上报消息的密文内容使用密钥b进行加密,密文可以采用sm4算法和芯片密钥b共同产生;
115.s104、将所述上报消息:密钥序列号 终端id 密文(时变参数 终端id 登录令牌 上报明文)放入到publish消息payload消息体中,并上报至物联网平台。
116.如图3和图5所示,数据加密中下行流程如下:
117.s111、物联网平台选择下行消息,根据物联网终端订阅的主题下发消息;
118.s112、物联网平台根据终端id到量子密码管理服务系统获取密钥,返回密钥序列为w的密钥c;
119.s113、物联网平台构造下发消息:密钥序列号w 密文(时变参数 平台id 登录令牌 下行明文),并对密文内容使用密钥c进行加密,密文可以采用sm4算法和芯片密钥c共同产生;
120.s114、物联网平台将所述下发信息:密钥序列号w 密文(时变参数 平台id 登录令牌 下行明文)放入到mqtt协议中publish消息的payload消息体中,并下发至物联网终端。
121.如图6和图7所示,数据解密中上行流程如下:
122.s201、物联网平台根据物联网终端上报publish消息中payload(载荷)中终端id和序列号z向量子密码管理服务系统获取解密密钥;
123.s202、量子密码管理服务系统从量子交换密码机上获取预先存储的与序列号z对应的解密密钥b’,并返回给物联网平台,密钥b’与密钥b为对称密钥;
124.s203、物联网平台根据密钥b’以及对应sm4算法进行解密,验证用户上行消息中的时变参数和登录令牌,对时变参数主要验证本次消息当前时间和平台时间的差值,防止重放攻击,登录令牌由终端id和终端认证登录时候上报时变参数共同产生,终端id验证通过消息上报的信息确定该消息代表的终端id是否和令牌中一致,防止中间人攻击,时变参数验证主要分为两点,一是验证时变参数是否是终端在登录鉴权时候上报的时变参数,确定终端身份,二是验证登录令牌是否还在有效期内。登录令牌超过有效期,需要重新申请,验证成功后,解析上报明文内容,否则验证失败。
125.如图6和图8所示,数据解密中下行解密流程如下:
126.s211、物联网终端根据从物联网平台推送的publish消息中payload载荷中的密钥序列号w向内置或者外置的量子安全芯片获取密钥;
127.s212、量子安全芯片根据序列号w返回预先存储的与密钥c对称的解密密钥c’;
128.s213、物联网终端根据密钥c’以及对应sm4算法对密文进行解密,验证下行消息中的时变参数和登录令牌,验证成功后,开始下行明文内容的解析,否则验证失败。
129.如图2和图9所示,上述物联网终端首先使用量子安全芯片内的密钥完成到物联网平台的平台登录认证,获取登录令牌的包括下述步骤:
130.s1’、第一次身份认证:物联网终端到物联网平台:量子密钥充注机完成将量子随机数发生器产生的量子密钥到量子安全芯片的充注、存储,同时记录存储充注安全芯片和密钥的对应关系。物联网终端调用内置集成或者外置的安全芯片内存储的量子密钥用于构造身份认证请求消息,根据认证协议gb_t 15843.2要求,发送身份认证请求消息:密钥序列号 终端id 密文(时变参数 终端id 终端预设密码)到物联网平台,终端id是物联网平台分配给终端的唯一身份标识,物联网平台根据终端id和密钥序列号从与量子交换密码机连接的量子密码管理服务系统获取与终端充注密钥对称的密钥进行解密,比对身份认证请求消息中的终端id和终端预设密码,同时保存终端发送的时变参数,认证成功后根据终端id和时变参数生成登录令牌,并使用mqtt的connack向终端返回验证成功消息ox00,如果不成功则根据mqtt手册返回非0消息,其中终端预设密码,指物联网平台预分配给终端,用户登录用的密码,一般在物联网终端烧制在系统中,基本都是在设备制造阶段就放进去;
131.s2’、第二次身份认证:物联网平台根据终端id向量子密码管理服务系统申请和终端匹配的充注密钥和对应的密钥序列号,并开始构造身份认证请求消息,由于mqtt消息中并无终端对物联网平台的身份消息机制,此处利用publish消息机制,所有终端登录后第一个订阅主题为物联网平台身份认证,根据gb_t 15843.2要求,构造身份认证请求消息:密钥序列号 密文(时变参数 平台id 登录令牌),密文采用sm4算法、登录令牌根据第一次身份认证时终端上报的终端id和时变参数结合产生,并将该身份认证请求消息发送至终端;终端根据密钥序列号获取与对应的充注密钥对称的密钥对身份认证请求消息进行解密,验证平台id以及登录令牌,确定登录令牌是第一次身份认证时物联网平台根据认证时的终端id和时变参数产生,验证成功后,终端开始向物联网平台发送消息。
132.为了简化认证时间,每次认证结束后可以设定一个有效期,如有效期为3天或者1天等,则无需每次发送消息都认证。
133.如图2所示的架构图,量子密码管理服务系统将密钥初始化充注到物联网终端中,物联网终端与安全芯片集成,物联网终端与物联网平台进行信息交互,交互信息是基于充注密钥的身份认证、上下行消息加密,所述物联网平台与量子密码管理服务系统进行设备密钥获取的信息交互。
134.如图10至图12所示,身份认证的详细过程如下:
135.s1’、第一次身份认证,包括下述步骤:
136.s11’、终端获取安全芯片内密钥请求,安全芯片返回芯片密钥序列号g的密钥a;
137.s12’、终端根据mqtt连接消息connect内容格式构造初始身份认证请求消息:密钥序列号g 终端id 密文(时变参数 终端id 终端预设密码),密文的加密方式可以采用sm4等对称算法完成,加密密钥为s1中取出的密钥a;
138.s13’、终端向物联网平台对外暴露的代理地址发送步骤s12构造的身份认证请求消息;
139.s14’、物联网平台根据所述初始身份认证请求消息中终端id和密钥序列号g向量子密码管理服务系统获取与密钥a对称的密钥a’;
140.s15’、量子密码管理服务系统返回密钥a’至物联网平台,物联网平台利用密钥a’对所述初始身份认证请求消息进行解密,得到解密后的密文:时变参数 终端id 终端预设密码,并将解密后终端id和终端预设密码和后台存储的终端id以及物联网平台预先存储的
终端预设密码进行比较,确定终端的身份,同时利用mqtt消息中的connack向终端返回验证成功消息ox00,并保存终端发过来的时变参数,如果不成功则根据mqtt手册返回非0消息;
141.s2’、第二次身份认证,包括下述步骤:
142.s21’、物联网平台根据终端id从量子密码管理服务系统获取与终端匹配的芯片密钥,量子密码管理服务系统向物联网平台返回和终端匹配的芯片密钥e和芯片密钥e的序列号k;
143.s22’、物联网平台构造向终端申请的身份认证请求消息:密钥序列号k 密文(时变参数 平台id 登录令牌),密文的加密算法采用双方约定算法,可以采用sm4,加密密钥为s21中取出的芯片密钥e,登录令牌由终端第一次身份认证保存的时变参数 终端id共同产生,此时终端单向连接已经完成,终端处于连接状态,mqtt消息体制没有物联网平台对终端身份认证机制,我们用publish搭出来这个机制,向终端推送第二次身份认证请求消息,身份认证请求消息放入payload中;
144.s23’、终端收到物联网平台推送的身份认证请求消息,根据身份认证请求消息中密钥序列号k向安全芯片内获取与序列号k对应的芯片密钥e的对称解密秘钥,安全芯片返回解密秘钥e’;
145.s24’、终端使用解密秘钥e’对身份认证请求消息中的密文解密,通过验证平台id和登录令牌实施解密验证,对登录令牌主要验证是否是第一次身份认证发送的时变参数和终端id共同产生,如果通过,则终端认为物联网平台是可信的,可以向物联网平台发送数据。
146.上述对称密钥的使用可以按照安全芯片内存储顺序使用,密钥的命名可以随意更改。
147.实施例2
148.该实施例提供一种使用对称密码技术增强mqtt协议传输安全的方法,包括数据加密和数据解密,应用在mqtt协议传输系统的物联网终端,所述mqtt协议传输系统的结构与实施例1相同。
149.物联网终端首先使用量子安全芯片内的密钥完成到物联网平台的平台登录认证,获取登录令牌,然后执行下述mqtt协议传输步骤:
150.对数据进行加密;
151.物联网终端到物联网平台(上行):量子安全芯片获取量子密钥充注机提供的量子密钥的充注;
152.获取登录令牌后,物联网终端调用量子安全芯片内密钥完成对上报消息加密,加密可采用sm4,加密后信息通过mqtt协议中publish消息payload(载荷)进行传输,消息体中增加本次使用密钥的序列号。
153.对数据进行解密;
154.物联网终端解密(下行解密):物联网终端从publish消息中payload中获取物联网平台下发的密文,根据消息体中的序列号向内置的量子安全芯片获取与加密密钥对称的解密密钥,使用解密密钥以及对应算法(sm4)完成对密文的解密,并根据消息中时变参数和登录令牌进行验证,验证成功后,开始下行明文内容的解析。
155.具体地说,数据加密中上行流程如下:
156.s101、物联网终端完成双向认证后获取登录令牌,终端选择数据上报,根据mqtt协议物联网平台发布订阅,并根据订阅内容进行数据上报明文准备;
157.s102、物联网终端选取内置或者外置的量子安全芯片内密钥序列为z的密钥b;
158.s103、物联网终端构造上报消息:密钥序列号 终端id 密文(时变参数 终端id 登录令牌 上报明文),并对所述上报消息的密文内容使用密钥b进行加密,密文可以采用sm4算法和芯片密钥b共同产生;
159.s104、将所述上报消息:密钥序列号 终端id 密文(时变参数 终端id 登录令牌 上报明文)放入到publish消息payload消息体中,并上报至物联网平台。
160.数据解密中下行流程如下:
161.s211、物联网终端根据从物联网平台推送的publish消息中payload载荷中的密钥序列号w向内置或者外置的量子安全芯片获取密钥;
162.s212、量子安全芯片根据序列号w返回预先存储的与密钥c对称的解密密钥c’;
163.s213、物联网终端根据密钥c’以及对应sm4算法对密文进行解密,验证下行消息中的时变参数和登录令牌,验证成功后,开始下行明文内容的解析,否则验证失败。
164.实施例3
165.该实施例提供一种使用对称密码技术增强mqtt协议传输安全的方法,包括数据加密和数据解密,应用在mqtt协议传输系统的物联网平台,所述mqtt协议传输系统的结构与实施例1相同。
166.物联网平台首先完成物联网终端的登录认证,然后执行下述mqtt协议传输步骤:
167.对数据进行加密;
168.物联网平台到物联网终端(下行):物联网平台根据物联网终端标识向量子密码管理服务系统申请密钥,量子密码管理服务系统通过量子交换密码机根据之前量子安全芯片充注信息,返回和该量子终端内集成的量子安全芯片内已经充注的可用密钥对称的密钥序列号和密钥,物联网平台对下发消息进行加密,加密可采用sm4,密文放入mqtt协议中publish消息payload(载荷)中,消息体中增加本次使用密钥的序列号。
169.对数据进行解密;
170.物联网平台解密(上行解密):物联网平台从publish消息中payload获取物联网终端发送的加密后的密文,物联网平台根据消息体中密钥序列号向量子密码管理服务系统获取解密密钥,量子密码管理服务系统通过量子交换密码机返回消息体中密钥序列号对应的量子安全芯片的密钥对称的解密密钥,使用返回的解密密钥以及对应算法(sm4)完成对密文的解密,并根据消息中时变参数和登录令牌进行验证,验证成功后,开始下行明文内容的解析。
171.数据加密中下行流程如下:
172.s111、物联网平台选择下行消息,根据物联网终端订阅的主题下发消息;
173.s112、物联网平台根据终端id到量子密码管理服务系统获取密钥,返回密钥序列为w的密钥c;
174.s113、物联网平台构造下发消息:密钥序列号w 密文(时变参数 平台id 登录令牌 下行明文),并对密文内容使用密钥c进行加密,密文可以采用sm4算法和芯片密钥c共同产生;
175.s114、物联网平台将所述下发信息:密钥序列号w 密文(时变参数 平台id 登录令牌 下行明文)放入到mqtt协议中publish消息的payload消息体中,并下发至物联网终端。
176.数据解密中上行流程如下:
177.s201、物联网平台根据物联网终端上报publish消息中payload(载荷)中终端id和序列号z向量子密码管理服务系统获取解密密钥;
178.s202、量子密码管理服务系统从量子交换密码机上获取预先存储的与序列号z对应的解密密钥b’,并返回给物联网平台,密钥b’与密钥b为对称密钥;
179.s203、物联网平台根据密钥b’以及对应sm4算法进行解密,验证用户上行消息中的时变参数和登录令牌,对时变参数主要验证本次消息当前时间和平台时间的差值,防止重放攻击,登录令牌由终端id和终端认证登录时候上报时变参数共同产生,终端id验证通过消息上报的信息确定该消息代表的终端id是否和令牌中一致,防止中间人攻击,时变参数验证主要分为两点,一是验证时变参数是否是终端在登录鉴权时候上报的时变参数,确定终端身份,二是验证登录令牌是否还在有效期内。登录令牌超过有效期,需要重新申请,验证成功后,解析上报明文内容,否则验证失败。
180.尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献