基于可信计算的MQTT协议消息安全处理方法及系统技术方案

技术编号:39034754 阅读:10 留言:0更新日期:2023-10-10 11:48
本发明专利技术公开了基于可信计算的MQTT协议消息安全处理方法及系统,属于信息安全技术领域,要解决的技术问题为对于基于MQTT协议协议进行信息传输的设备,如何提高设备之间消息安全性。包括如下步骤:可信计算的构建:在设备端和服务端部署可信芯片,并对设备端和服务端的启动过程进行逐级可信度量;设备端和服务端的双向认证,为设备端和服务端的应用程序提供可信计算环境、对设备端的两个角色订阅者和发布者进行可信度量、以及对设备端和服务端之间的连接进行可信度量;信息的安全处理:发布者通过可信计算模块对消息明文加密生成消息密文,服务端通过可信计算模块对消息密文进行解密和验证操作,并对处理后的消息加密后发送至对应的订阅者。应的订阅者。应的订阅者。

【技术实现步骤摘要】
基于可信计算的MQTT协议消息安全处理方法及系统


[0001]本专利技术涉及信息安全
,具体地说是基于可信计算的MQTT协议消息安全处理方法及系统。

技术介绍

[0002]MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)的适用性非常广泛,包括物联网设备,汽车电子设备,手机电脑,智能家居,穿戴设备等,其安全性是当前最重要的一个薄弱环节,存在很多方面的问题尚未有系统性的缓解,主要体现在以下几个方面:
[0003]1、数据保密性:MQTT协议本身不支持数据加密,数据在传输过程中容易被截获或窃听,如果涉及敏感信息,这将导致产生泄露的风险。虽然可以通过TLS/SSL等加密技术提高数据的安全性,但是这将会增加系统的复杂性和额外的开销。
[0004]2、数据的完整性:MQTT协议在传输过程中容易受到中间人攻击,攻击者可能篡改传输的数据,导致接受方收到篡改或者损坏的信息,为保证数据的完整性,需要采用一定的机制对数据进行校验和完整性保护。
[0005]3、设备身份认证:在MQTT协议通信过程中,设备需要与代理服务器进行身份认证。然而,基于用户名和密码的身份认证方式容易受到攻击,如密码破解、身份伪装等。这可能导致未经授权的设备接入网络,进而威胁整个物联网系统的安全
[0006]4、访问授权:物联网设备在发布或订阅MQTT主题时,需要对设备的访问权限进行控制。如何实现精细化的权限管理,防止未经授权的设备访问敏感数据,是MQTT协议数据传输面临的一个挑战。
[0007]5、拒绝服务攻击:MQTT协议可能受到拒绝服务(DoS)攻击,攻击者通过向代理服务器发送大量请求,导致服务器资源耗尽,正常设备无法正常通信。这将影响物联网系统的正常运行和数据传输质量。
[0008]6、安全漏洞:MQTT协议和相关实现中可能存在潜在的安全漏洞。攻击者可能利用这些漏洞发起攻击,进而危害物联网设备和数据的安全。因此,需要及时发现和修复这些安全漏洞,以降低安全风险。
[0009]7、软硬件安全:物联网设备的软硬件安全问题也可能影响MQTT协议数据传输的安全性。如设备固件被篡改、硬件遭受物理攻击等,都可能导致MQTT协议通信过程中的安全问题。
[0010]基于上述,对于基于MQTT协议协议进行信息传输的设备,如何提高设备之间消息安全性,是要解决的技术问题。

技术实现思路

[0011]本专利技术的技术任务是针对以上不足,提供基于可信计算的MQTT协议消息安全处理方法及系统,来解决对于基于MQTT协议协议进行信息传输的设备,如何提高设备之间消息
安全性的技术问题。
[0012]第一方面,本专利技术一种基于可信计算的MQTT协议消息安全处理方法,将部署MQTT客户端的设备作为设备端,将MQTT服务器作为服务端,在设备端和服务端之间建立可信计算环境,并在设备端和服务端引入用于对信息进行加密和解密计算的可信计算模块,所述方法包括如下步骤:
[0013]可信计算的构建:在设备端和服务端部署可信芯片作为可信根,并对设备端和服务端的启动过程进行逐级可信度量,建立可信链;
[0014]设备端和服务端的双向认证,包括:为设备端和服务端的应用程序提供可信计算环境、对设备端的两个角色订阅者和发布者进行可信度量、以及对设备端和服务端之间的连接进行可信度量;
[0015]信息的安全处理:发布者通过可信计算模块对消息明文加密生成消息密文,并将消息密文发送至服务端,服务端通过可信计算模块对消息密文进行解密和验证操作,并对处理后的消息加密后发送至对应的订阅者,订阅者接收到加密的消息后进行解密操作,得到消息明文。
[0016]作为优选,对设备端和服务端的启动过程进行逐级可信度量时,依次对uboot、系统、外围设备和应用程序进行度量,包括如下步骤:
[0017]对uboot进行度量验证;
[0018]通过文件完成校验的方式对系统进行度量验证,确保系统是从可信启动源启动,没有被恶意修改;
[0019]通过对外围设备进行度量验证,确保连接在系统上的各种外围设备被系统可信;
[0020]通过白名单过滤方式对应用程序进行度量验证,确保未被授权的非法应用运行;
[0021]对系统执行的线程或进程进行动态度量,发现陌生进程或线程程序,或者系统资源消耗异常,则验证为系统环境不可信,终止一切业务。
[0022]作为优选,设备端和服务端的双向认证,包括如下步骤:
[0023]为MQTT服务端程序和MQTT客户端程序提供可信计算环境:在设备端的内存中为MQTT服务端程序划定独立区域以提供安全计算环境,并在服务端的内存中为MQTT客户端程序划定独立区域以提供安全计算环境;
[0024]对发布者以及订阅者进行可信度量,判断发布者以及订阅者是否处于可信环境;
[0025]对设备端和服务端的连接进行可信度量:发布者和订阅者作为设备端、以报文信息的形式向服务发起连接请求时,第一个报文必须是CONNETC,报文信息中报文头指定消息类型为连接请求、报文体中包括设备端的设备信息,服务端接受到报文信息后,调用可信计算模块对报文信息中指定的设备信息进行可信度量,验证通过后,服务端以报文信息的形式向设备端返回连接响应,响应的第一个报文信息必须是CONACK,响应的报文信息中报文头指定消息类型为连接响应、报文体中包括服务端的可信状态和连接状态,设备端基于服务端的可信状态对服务端进行可信度量,验证通过后,设备端和服务端确认连接,否则,断开连接;
[0026]其中,设备信息包括设备验证可信后的标识、用户名、设备名、设备身份、密码、IP地址、MAC地址、地理位置以及设备属性;
[0027]可信状态包括验证中、可信和不可信。
[0028]作为优选,信息的安全处理,包括如下步骤:
[0029]发布者作为设备端向服务端消息时,基于设备端的私钥、调用可信计算模块对明文消息进行加密,得到密文消息,以报文消息的形式将密文消息发送至服务端,报文信息中报文头指定消息类型为消息传送、报文体中包括密文消息;
[0030]服务端接受到密文消息后,基于报文头得到消息类型,基于设备端的公钥、调用可信计算模块对密文信息进行解密,对解密得到的明文消息进行处理后,基于服务端的私钥、调用可信计算模块对处理后明文信息进行加密,并将得到的密文消息发送到对应的订阅者;
[0031]订阅者接收到报文形式的密文消息后,基于报文头得到消息类型,基于服务端的公钥、调用可信计算模块对密文信息进行解密,得到服务端处理后的明文信息。
[0032]作为优选,对于建立连接的设备端和服务端,服务端基于设备端发送的心跳包判断其与设备端的连接状态,如果服务端未接收到设备端发送的心跳包,判定服务端与设备端之间连接断开,设备端重新向服务端发送连接请求。
[0033]作为优选,所述方法还包括如下步骤:
[0034]通过服务端对设备端进行身本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于可信计算的MQTT协议消息安全处理方法,其特征在于,将部署MQTT客户端的设备作为设备端,将MQTT服务器作为服务端,在设备端和服务端之间建立可信计算环境,并在设备端和服务端引入用于对信息进行加密和解密计算的可信计算模块,所述方法包括如下步骤:可信计算的构建:在设备端和服务端部署可信芯片作为可信根,并对设备端和服务端的启动过程进行逐级可信度量,建立可信链;设备端和服务端的双向认证,包括:为设备端和服务端的应用程序提供可信计算环境、对设备端的两个角色订阅者和发布者进行可信度量、以及对设备端和服务端之间的连接进行可信度量;信息的安全处理:发布者通过可信计算模块对消息明文加密生成消息密文,并将消息密文发送至服务端,服务端通过可信计算模块对消息密文进行解密和验证操作,并对处理后的消息加密后发送至对应的订阅者,订阅者接收到加密的消息后进行解密操作,得到消息明文。2.根据权利要求1所述的基于可信计算的MQTT协议消息安全处理方法,其特征在于,对设备端和服务端的启动过程进行逐级可信度量时,依次对uboot、系统、外围设备和应用程序进行度量,包括如下步骤:对uboot进行度量验证;通过文件完成校验的方式对系统进行度量验证,确保系统是从可信启动源启动,没有被恶意修改;通过对外围设备进行度量验证,确保连接在系统上的各种外围设备被系统可信;通过白名单过滤方式对应用程序进行度量验证,确保未被授权的非法应用运行;对系统执行的线程或进程进行动态度量,发现陌生进程或线程程序,或者系统资源消耗异常,则验证为系统环境不可信,终止一切业务。3.根据权利要求1或2所述的基于可信计算的MQTT协议消息安全处理方法,其特征在于,设备端和服务端的双向认证,包括如下步骤:为MQTT服务端程序和MQTT客户端程序提供可信计算环境:在设备端的内存中为MQTT服务端程序划定独立区域以提供安全计算环境,并在服务端的内存中为MQTT客户端程序划定独立区域以提供安全计算环境;对发布者以及订阅者进行可信度量,判断发布者以及订阅者是否处于可信环境;对设备端和服务端的连接进行可信度量:发布者和订阅者作为设备端、以报文信息的形式向服务发起连接请求时,第一个报文必须是CONNETC,报文信息中报文头指定消息类型为连接请求、报文体中包括设备端的设备信息,服务端接受到报文信息后,调用可信计算模块对报文信息中指定的设备信息进行可信度量,验证通过后,服务端以报文信息的形式向设备端返回连接响应,响应的第一个报文信息必须是CONACK,响应的报文信息中报文头指定消息类型为连接响应、报文体中包括服务端的可信状态和连接状态,设备端基于服务端的可信状态对服务端进行可信度量,验证通过后,设备端和服务端确认连接,否则,断开连接;其中,设备信息包括设备验证可信后的标识、用户名、设备名、设备身份、密码、IP地址、MAC地址、地理位置以及设备属性;
可信状态包括验证中、可信和不可信。4.根据权利要求3所述的基于可信计算的MQTT协议消息安...

【专利技术属性】
技术研发人员:焦陇徽张晖林俊豪黄沛明邹晓明
申请(专利权)人:苏州思萃工业互联网技术研究所有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1