【技术实现步骤摘要】
一种针对MQTT协议的细粒度安全通信方法
[0001]本专利技术属于计算机安全
,尤其是MQTT协议下的信息安全传输方法。
技术介绍
[0002]随着物联网技术的快速发展,越来越多的设备接入物联网以提供服务。考虑到大量资源有限的终端设备以及巨大的流量,物联网设备如何在彼此或服务器之间高效且安全地通信是一个重要问题。在众多的物联网通信协议中,MQTT(消息队列遥测传输)协议凭借轻量级且易于使用的特点,使其得到了广泛应用。不过,MQTT协议本身只有少数安全机制被明确规定,例如代理的身份验证是由一个预设共享的用户名和密码执行,而信息加密则是被推荐使用SSL/TLS协议。它缺乏足够的安全保护,如访问控制、身份认证和控制消息安全。现存方法存在几个问题:(1)无法提供双向的身份认证;(2)存在通过代理处身份验证的客户端,仍会尝试发布或订阅未经授权主题的问题;(3)TLS的计算负载较大导致通信效率不高,不适合在物联网实际应用场景下的信息安全传输;(4)当前加密方式下需要代理参与加密和解密,故存在代理被对手攻击导致其数据面临泄露的风险。
[0003]因此,针对现有安全功能不足的缺陷,针对主题的细粒度安全认证以及完成端到端的密钥协商,可以增加MQTT协议的安全性;同时采用轻量级的AES加密方法,可以提高安全通信的效率。
技术实现思路
[0004]本专利技术所解决的技术问题在于提供一种针对MQTT协议的细粒度安全通信方法,双线性映射和DH密钥交换方案为基础,进行双向身份认证和密钥协商。本方法适用于MQTT协 ...
【技术保护点】
【技术特征摘要】
1.一种针对MQTT协议的细粒度安全通信方法,其特征在于,包含以下步骤:步骤1:初始化阶段用户、设备、主题完成注册,可信任授权机构TA生成系统参数并分发;步骤2:身份认证阶段完成双向身份认证;步骤3:密钥协商阶段在用户和设备间完成端到端密钥协商,生成会话密钥;步骤4:设计设备成员动态变化时的应对方法。2.根据权利要求1所述的方法,其特征在于,步骤1初始化阶段具体包括:步骤1
‑
1:为用户、设备、主题完成注册,生成ACL;步骤1
‑
2:受信任的TA生成系统参数并分发给系统参与者。3.根据权利要求2所述的方法,其特征在于,步骤1
‑
1具体为:作为初始化阶段的基础,系统中的用户、设备和代理中的主题,都必须与TA进行注册操作;令U={U1,U2,
…
}和D={D1,D2,
…
}是两组授权客户端,TID={TID1,TID2,
…
}是在代理处注册的一组有效的主题名称,其中U代表用户,D代表设备,TID代表主题的ID信息;在初始化阶段,TA将根据MQTT预设的访问策略准备接着TA向代理发送ACL,代理基于它执行细粒度访问控制;具体来说,令和是被授权合法访问一个主题的发布者和订阅者,其中TID
t
表示第t个主题的唯一身份。4.根据权利要求2所述的方法,其特征在于,步骤1
‑
2具体为:注册完成后,TA选择一个循环加法群G1和一个循环乘法群G2,两者的阶数均为大素数q;TA选择两个加密哈希函数:H(
·
):G1→
Z
q*
和h(
·
):{0,1}
*
→
Z
q*
;接着,TA选择一个随机数s∈Z
q*
作为系统的主密钥,计算系统的公钥P
pub
=sP,其中P为生成元。TA向系统内所有的用户和设备公布这些初始化公共参数trans={G1,G2,q,P,P
pub
,H(
·
),h(
·
)};TA为设备D
i
选择一个随机数a
i
,计算和其中t为主题的编号,i表示设备的编号;最后,TA通过安全通道分别向U发送信息{VTID
ti
}和D
i
发送信息{a
i
,b
i
,TID
i
}。5.根据权利要求1所述的方法,其特征在于,步骤2具体为:身份认证部分适用单个设备场景和多个设备场景,具体的:(1)用户和单个设备间的身份认证:首先,用户U根据从TA处接收到的初始化信息计算双线性映射e(H(VTID
t
)+H(VTID
t
)
·
h(TS),P
pub
),并将结果发布给当前主题,其中TS是时间戳;当设备D通过订阅相同主题的方式收到用户U的信息后,立即检查消息中时间戳的新鲜度,若不是新鲜的时间戳则认证进程立刻终止。当时间戳验证合法之后,设...
【专利技术属性】
技术研发人员:李延斌,邵天岳,任守纲,顾兴健,
申请(专利权)人:南京农业大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。