本发明涉及物联网,具体涉及一种消息存储处理和安全认证分离式mqtt协议改进方案。
背景技术:
1、mqtt协议作为一种轻量级的通信协议,其较小的通信开销及对不可靠网络的适应性等特点,使得其在如今的物联网领域有着广泛的应用。但是mqtt协议本身除了通过用户名密码认证的方式之外,并未有其他的保证安全性的措施,在物联网领域飞速发展的今天,随着用户量的增长,相应的安全隐患和问题也日渐凸显,当前基于mqtt协议的通信现状不容乐观,现有的能够保证数据在传输方面的安全性的方案中,比较常见的是ssl/tls协议方案,以及新兴的augpake协议方案。
2、中国专利申请号为cn114513311a公开了一种改进消息认证码算法的方法、装置、计算机设备和存储介质,包括:通过密钥派生函数根据初始秘密密钥得到派生秘密密钥,将原始消息预处理后按预设长度进行等分,将等分后的消息与派生秘密密钥通过组合函数进行处理,得到多个消息子段;将多个消息子段中的各消息子段分别作为消息验证算法各次迭代的输入,反复迭代计算,直到遍历完所有消息字段,得到改进消息认证码算法关于原始消息的计算结果。
3、但是基于ssl/tls协议的方案未解决消息在代理端存储处理时可能存在的安全问题,同时ssl/tls协议为了协商后续的对称密钥而额外增加了握手流程,既增加了信息的额外两次往返,在网络状况比较拥堵的情况下,对于追求轻便和快速的物联网通信,尤其是通信中的客户端而言有可能会造成负担;现有的ssl/tls解决方案及无安全认证的方案,虽然可以保证数据在传输和存储处理两方面兼具安全性,但是对消息进行加解密的密钥的安全性不能保证,同时存在大量客户端时无法有效地对密钥进行管控的问题。
4、综上所述,研发一种消息存储处理和安全认证分离式mqtt协议改进方案,仍是物联网技术领域中急需解决的关键问题。
技术实现思路
1、针对现有技术所存在的问题,本发明的目的在于提供一种消息存储处理和安全认证分离式mqtt协议改进方案。
2、为实现上述目的,本发明提供了如下技术方案:
3、一种消息存储处理和安全认证分离式mqtt协议改进方案,包括以下步骤:
4、s1、发布者是发布消息的客户端,发布者在向分发代理发布消息前会使用它的消息密钥对原始消息进行加密处理;
5、s2、所述分发代理与安全认证中心进行通信,以便获取到对所述发布者传输的消息进行二次加密的过程密钥;
6、s3、订阅者是接收已订阅的主题上的消息的客户端,订阅者在收到所述分发代理二次加密后的密文之后,会通过自己的消息密钥对密文进行解密处理从而得到消息原文;
7、s4、所述安全认证中心为可信的第三方结构,所述安全认证中心使用生成的独占公私钥对客户端的消息密钥进行加解密处理。
8、本发明进一步设置为:在步骤s1中,所述消息密钥属于对称密钥,由客户端使用,用于对消息进行加解密处理,所述发布者在发布消息之前会使用它的消息密钥对原始消息进行加密处理,而订阅者最终也会使用它的消息密钥对加密的消息进行解密处理。
9、本发明进一步设置为:在步骤s2中,在每次向订阅者转发消息时,所述分发代理使用获取到的过程密钥对发布者传输的消息密文进行二次加密得到新的密文,之后再将处理后的结果转发给订阅者。
10、本发明进一步设置为:在步骤s2中,所述过程密钥属于对称密钥,由所述安全认证中心使用相关发布者和订阅者的消息密钥进行生成并交付给分发代理进行使用,用于对所述发布者传输的密文消息进行二次加密,加密后的数据仍然为密文消息,最终可以由订阅者使用其消息密钥直接进行解密得到原始消息。
11、本发明进一步设置为:在步骤s2中,所述过程密钥prockeysrc-dest-t通过发布者和订阅者的消息密钥,即enckeysrc,enckeydest共同生成,并且仅由所述分发代理进行使用,用于对所述发布者传输的消息密文进行二次加密,加密后的密文再由订阅者进行解密即可得到原始消息内容。
12、本发明进一步设置为:在步骤s4中,所述独占公私钥属于非对称密钥,所述独占公私钥由发布者、订阅者及安全认证中心生成,用于对发布者、订阅者使用的消息密钥进行加解密。
13、本发明进一步设置为:在步骤s4中,对于发布者而言,通过使用发布者的私钥privkeysrc和对应主题的公钥pubbkeyt生成一个新的独占公钥pubkeysrc-t,独占公钥用于对发布者加密消息的密钥进行加密。
14、本发明进一步设置为:在步骤s4中,所述安全认证中心生成过程密钥时,使用发布者的公钥pubkeysrc及对应主题的私钥privkeyt生成与发布者的独占公钥相对应的独占私钥,解密得到发布者的加密消息密钥。
15、有益效果
16、采用本发明提供的技术方案,与已知的公有技术相比,具有如下有益效果:
17、本发明中,该方案将mqtt协议的安全认证与消息存储处理分离,拥有消息存储处理功能的消息代理可以在云端进行分布式部署,记为分发代理,而具有消息安全认证功能的部分则进行单独部署,记为安全认证中心;同时该方案提出了过程密钥和独占公私钥的概念,通过过程密钥可以解决消息在代理端以明文形式进行存储处理时存在的安全问题及消息最终的可解密性问题,通过独占公私钥可以解决存在大量客户端时的密钥管控问题及密钥的安全问题,确保了数据仅在订阅者处才具备可解密性,在代理端不具备可解密性,从而保证了数据在存储处理方面的安全性,解决了消息密钥的管控及安全问题。
1.一种消息存储处理和安全认证分离式mqtt协议改进方案,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种消息存储处理和安全认证分离式mqtt协议改进方案,其特征在于,在步骤s1中,所述消息密钥属于对称密钥,由客户端使用,用于对消息进行加解密处理,所述发布者在发布消息之前会使用它的消息密钥对原始消息进行加密处理,而订阅者最终也会使用它的消息密钥对加密的消息进行解密处理。
3.根据权利要求1所述的一种消息存储处理和安全认证分离式mqtt协议改进方案,其特征在于,在步骤s2中,在每次向订阅者转发消息时,所述分发代理使用获取到的过程密钥对发布者传输的消息密文进行二次加密得到新的密文,之后再将处理后的结果转发给订阅者。
4.根据权利要求1所述的一种消息存储处理和安全认证分离式mqtt协议改进方案,其特征在于,在步骤s2中,所述过程密钥属于对称密钥,由所述安全认证中心使用相关发布者和订阅者的消息密钥进行生成并交付给分发代理进行使用,用于对所述发布者传输的密文消息进行二次加密,加密后的数据仍然为密文消息,最终可以由订阅者使用其消息密钥直接进行解密得到原始消息。
5.根据权利要求1所述的一种消息存储处理和安全认证分离式mqtt协议改进方案,其特征在于,在步骤s2中,所述过程密钥prockeysrc-dest-t通过发布者和订阅者的消息密钥,即enckeysrc,enckeydest共同生成,并且仅由所述分发代理进行使用,用于对所述发布者传输的消息密文进行二次加密,加密后的密文再由订阅者进行解密即可得到原始消息内容。
6.根据权利要求1所述的一种消息存储处理和安全认证分离式mqtt协议改进方案,其特征在于,在步骤s4中,所述独占公私钥属于非对称密钥,所述独占公私钥由发布者、订阅者及安全认证中心生成,用于对发布者、订阅者使用的消息密钥进行加解密。
7.根据权利要求6所述的一种消息存储处理和安全认证分离式mqtt协议改进方案,其特征在于,在步骤s4中,对于发布者而言,通过使用发布者的私钥privkeysrc和对应主题的公钥pubbkeyt生成一个新的独占公钥pubkeysrc-t,独占公钥用于对发布者加密消息的密钥进行加密。
8.根据权利要求7所述的一种消息存储处理和安全认证分离式mqtt协议改进方案,其特征在于,在步骤s4中,所述安全认证中心生成过程密钥时,使用发布者的公钥pubkeysrc及对应主题的私钥privkeyt生成与发布者的独占公钥相对应的独占私钥,解密得到发布者的加密消息密钥。