CN109587178A - 一种基于mqtt的智能家电加密控制***和方法 - Google Patents

一种基于mqtt的智能家电加密控制***和方法 Download PDF

Info

Publication number
CN109587178A
CN109587178A CN201910065245.5A CN201910065245A CN109587178A CN 109587178 A CN109587178 A CN 109587178A CN 201910065245 A CN201910065245 A CN 201910065245A CN 109587178 A CN109587178 A CN 109587178A
Authority
CN
China
Prior art keywords
key
equipment
encrypted
issuing subject
characterizes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910065245.5A
Other languages
English (en)
Inventor
袁龙刚
黄斌
张江鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Hongmei Intelligent Technology Co Ltd
Original Assignee
Sichuan Hongmei Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan Hongmei Intelligent Technology Co Ltd filed Critical Sichuan Hongmei Intelligent Technology Co Ltd
Priority to CN201910065245.5A priority Critical patent/CN109587178A/zh
Publication of CN109587178A publication Critical patent/CN109587178A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明提供了一种基于MQTT的智能家电加密控制***和方法,该***包括:设备端、控制端、代理服务器以及云端业务服务器,设备端设置设备发布主题,并订阅用户发布主题,生成密钥,并将密钥加密,加密后的密钥发送给云端业务服务器,利用密钥对设备消息进行加密,将携带有设备发布主题的加密后的设备消息发布到代理服务器;控制端设置用户发布主题,并订阅关注的设备端对应的设备发布主题,从云端业务服务器获取加密后的密钥,并对密钥进行解密,利用密钥加密控制指令,将携带有用户发布主题的加密后的控制指令发布到代理服务器。本发明提供的方案实现了加密基于MQTT传输的发布消息,保证了发布消息的安全性。

Description

一种基于MQTT的智能家电加密控制***和方法
技术领域
本发明涉及网络通信技术领域,特别涉及一种基于MQTT的智能家电加密控制***和方法。
背景技术
消息队列遥测传输(Message Queuing Telemetry Transport,MQTT)是一个开源的轻量级基于代理的发布/订阅的消息传输协议,它可以通过很少的代码和带宽与设备连接,给用户主动推送内容,而不是由用户自己去通过各种方法获取自己想要的内容。MQTT的传输格式非常精小,且无应用消息头,可以保证消息传递的可靠性。该技术目前已经应用于无线传感器等计算和存储资源受限的环境当中。
目前,不管是设备端还是控制端发布消息均是公开发布,并未对发布消息进行加密,导致发布消息有被篡改的可能。
发明内容
本发明实施例提供了一种基于MQTT的智能家电加密控制***和方法,实现了加密基于MQTT传输的发布消息,保证了发布消息的安全性。
一种基于MQTT的智能家电加密控制***,包括:设备端、控制端、代理服务器以及云端业务服务器,其中,
所述设备端、所述控制端分别通过MQTT协议与所述代理服务器连接;
所述设备端,用于设置设备发布主题,并订阅用户发布主题,生成密钥,并将所述密钥通过非对称加密算法进行加密,加密后的密钥发送给所述云端业务服务器,利用所述密钥对设备消息进行加密,将携带有所述设备发布主题的加密后的所述设备消息发布到所述代理服务器;
所述云端业务服务器,用于存储所述加密后的密钥;
所述控制端,用于设置用户发布主题,并订阅关注的设备端对应的所述设备发布主题,从所述云端业务服务器获取所述加密后的密钥,并对所述密钥进行解密,利用所述密钥加密控制指令,将携带有所述用户发布主题的加密后的所述控制指令发布到所述代理服务器;
所述代理服务器,用于根据所述设备发布主题,将携带有所述设备发布主题的加密后的所述设备消息发送给对应的所述控制端,根据所述用户发布主题,将携带有所述用户发布主题的加密后的所述控制指令发送给对应的所述设备端。
优选地,
所述设备端,进一步用于预设n×m字符表以及密钥更新时间间隔,从所述n×m字符表的每一行中随机选择k个字符,并将每一行中随机选择出的k个字符输入密钥生成函数,生成一个密钥,在当前密钥存在时长达到所述密钥更新时间间隔时,重新生成一个新的密钥,利用所述新的密钥替换所述当前密钥,并将所述当前密钥存储到预设的密钥回收表中,并对所述新的密钥进行加密,其中,n表征所述字符表的行数,m表征所述字符表的列数;
所述云端业务服务器,进一步用于利用加密后的所述新的密钥替换原来的所述加密后的密钥。
优选地,
所述设备端,用于利用下述加密公式,对所述设备消息进行加密;
加密公式:
C=E(K,P)
其中,C表征加密后的设备消息;E()表征AES加密函数;K表征所述密钥;P表征所述设备消息。
优选地,
所述设备端,用于利用所述密钥对接收到加密后的所述控制指令进行解密,在解密失败后,从所述密钥回收表中调用原来的密钥,重新对加密后的所述控制指令进行解密。
优选地,
所述控制端,用于利用所述密钥对接收到加密后的所述设备信息进行解密,在解密失败后,从所述云端业务服务器中获取所述新的密钥,利用所述新的密钥对加密后的所述设备信息进行解密。
优选地,
所述控制端,进一步用于利用下述解密公式,对加密后的所述设备消息进行解密;
解密公式:
P=D(Y,C)
其中,P表征所述设备消息;D()表征AES解密函数;C表征加密后的设备消息;Y表征所述控制端从所述云端业务服务器获取到的密钥。
优选地,
所述设备发布主题包括:第一发布标识以及设备端的序列号;
所述用户发布主题包括:第二发布标识以及所述控制端关注的一个设备端的序列号。
一种基于MQTT的智能家电加密控制方法,包括:
设备端、控制端分别通过MQTT协议与代理服务器连接;
在设备端设置设备发布主题,并订阅用户发布主题,生成密钥,并将所述密钥通过非对称加密算法进行加密,加密后的密钥发送给云端业务服务器;
所述云端业务服务器存储所述加密后的密钥;
在所述控制端设置用户发布主题,并订阅关注的设备端对应的所述设备发布主题,从所述云端业务服务器获取所述加密后的密钥,并对所述密钥进行解密;
利用所述密钥加密控制指令,将携带有所述用户发布主题的加密后的所述控制指令发布到所述代理服务器;
所述代理服务器根据所述用户发布主题,将携带有所述用户发布主题的加密后的所述控制指令发送给对应的所述设备端;
所述设备端利用所述密钥对设备消息进行加密,将携带有所述设备发布主题的加密后的所述设备消息发布到所述代理服务器;
所述代理服务器根据所述设备发布主题,将携带有所述设备发布主题的加密后的所述设备消息发送给对应的所述控制端。
优选地,上述基于MQTT的智能家电加密控制方法,进一步包括:
在所述设备端预设n×m字符表以及密钥更新时间间隔;
所述生成密钥,包括:从所述n×m字符表的每一行中随机选择k个字符,并将每一行中随机选择出的k个字符输入密钥生成函数,生成一个密钥,在当前密钥存在时长达到所述密钥更新时间间隔时,重新生成一个新的密钥,利用所述新的密钥替换所述当前密钥,并将所述当前密钥存储到预设的密钥回收表中,其中,n表征所述字符表的行数,m表征所述字符表的列数。
优选地,
所述设备端利用所述密钥对设备消息进行加密,包括:
所述设备端利用下述加密公式,对所述设备消息进行加密;
加密公式:
C=E(K,P)
其中,C表征加密后的设备消息;E()表征AES加密函数;K表征所述密钥;P表征所述设备消息。
优选地,上述基于MQTT的智能家电加密控制方法,进一步包括:所述控制端利用下述解密公式,对加密后的所述设备消息进行解密;
解密公式:
P=D(Y,C)
其中,P表征所述设备消息;D()表征AES解密函数;C表征加密后的设备消息;Y表征所述控制端从所述云端业务服务器获取到的密钥。
优选地,上述基于MQTT的智能家电加密控制方法,进一步包括:所述设备端利用所述密钥对接收到加密后的所述控制指令进行解密,在解密失败后,从所述密钥回收表中调用原来的密钥,重新对加密后的所述控制指令进行解密;
优选地,上述基于MQTT的智能家电加密控制方法,进一步包括:所述控制端利用所述密钥对接收到加密后的所述设备信息进行解密,在解密失败后,从所述云端业务服务器中获取所述新的密钥,利用所述新的密钥对加密后的所述设备信息进行解密。
本发明实施例提供了一种基于MQTT的智能家电加密控制***和方法,该基于MQTT的智能家电加密控制***包括:设备端、控制端、代理服务器以及云端业务服务器,其中,设备端、控制端分别通过MQTT与代理服务器连接;设备端,用于设置设备发布主题,并订阅用户发布主题,生成密钥,并将密钥通过非对称加密算法进行加密,加密后的密钥发送给云端业务服务器,利用密钥对设备消息进行加密,将携带有设备发布主题的加密后的设备消息发布到代理服务器;云端业务服务器,用于存储加密后的密钥;控制端,用于设置用户发布主题,并订阅关注的设备端对应的设备发布主题,从云端业务服务器获取加密后的密钥,并对密钥进行解密,利用密钥加密控制指令,将携带有用户发布主题的加密后的控制指令发布到代理服务器;代理服务器,用于根据设备发布主题,将携带有设备发布主题的加密后的设备消息发送给对应的控制端,根据用户发布主题,将携带有用户发布主题的加密后的控制指令发送给对应的设备端,上述实现了为控制指令和设备消息进行加密,而加密所用的密钥是设备端生成的,只有与设备端有关联的控制端才可对密钥进行解密,从而保证了发布消息即控制指令和设备消息的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的基于MQTT的智能家电加密控制***的结构示意图;
图2是本发明一个实施例提供的一种基于MQTT的智能家电加密控制方法的流程图;
图3是本发明另一个实施例提供的一种基于MQTT的智能家电加密控制方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种基于MQTT的智能家电加密控制***,该基于MQTT的智能家电加密控制***可以包括:设备端101、控制端102、代理服务器103以及云端业务服务器104,其中,
设备端101、控制端102分别通过MQTT协议与代理服务器103连接;
设备端101,用于设置设备发布主题,并订阅用户发布主题,生成密钥,并将密钥通过非对称加密算法进行加密,加密后的密钥发送给云端业务服务器104,利用密钥对设备消息进行加密,将携带有设备发布主题的加密后的设备消息发布到代理服务器103;
云端业务服务器104,用于存储加密后的密钥;
控制端102,用于设置用户发布主题,并订阅关注的设备端101对应的设备发布主题,从云端业务服务器104获取加密后的密钥,并对密钥进行解密,利用密钥加密控制指令,将携带有用户发布主题的加密后的控制指令发布到代理服务器103;
代理服务器103,用于根据设备发布主题,将携带有设备发布主题的加密后的设备消息发送给对应的控制端102,根据用户发布主题,将携带有用户发布主题的加密后的控制指令发送给对应的设备端101。
其中,设备端和控制端均可为多个;控制端可关注多个设备端。设备端可为智能空调、智能电视机、智能洗衣机等。控制端一般可为移动客户端或者嵌入移动客户端内的控制工具比如控制公众号。
另外,设备端的设备发布主题可以为设备端的SN号;控制端的用户发布主题可以为控制端关注的设备端的SN号。
值得说明的是,非对称加密算法的公钥和私钥为设备端与关注该设备端的控制端之间通过云端业务服务器协议构建而成。
在图1所示的实施例中,基于MQTT的智能家电加密控制***包括:设备端、控制端、代理服务器以及云端业务服务器,其中,设备端、控制端分别通过MQTT与代理服务器连接;设备端,用于设置设备发布主题,并订阅用户发布主题,生成密钥,并将密钥通过非对称加密算法进行加密,加密后的密钥发送给云端业务服务器,利用密钥对设备消息进行加密,将携带有设备发布主题的加密后的设备消息发布到代理服务器;云端业务服务器,用于存储加密后的密钥;控制端,用于设置用户发布主题,并订阅关注的设备端对应的设备发布主题,从云端业务服务器获取加密后的密钥,并对密钥进行解密,利用密钥加密控制指令,将携带有用户发布主题的加密后的控制指令发布到代理服务器;代理服务器,用于根据设备发布主题,将携带有设备发布主题的加密后的设备消息发送给对应的控制端,根据用户发布主题,将携带有用户发布主题的加密后的控制指令发送给对应的设备端,上述实现了为控制指令和设备消息进行加密,而加密所用的密钥是设备端生成的,只有与设备端有关联的控制端才可对密钥进行解密,从而保证了发布消息即控制指令和设备消息的安全性。
在本发明另一实施例中,为了进一步保证发布消息的安全性,定期对密钥进行更新。设备端,进一步用于预设n×m字符表以及密钥更新时间间隔,从n×m字符表的每一行中随机选择k个字符,并将每一行中随机选择出的k个字符输入密钥生成函数,生成一个密钥,在当前密钥存在时长达到密钥更新时间间隔时,重新生成一个新的密钥,利用新的密钥替换当前密钥,并将当前密钥存储到预设的密钥回收表中,并对新的密钥进行加密,其中,n表征字符表的行数,m表征字符表的列数;
云端业务服务器,进一步用于利用加密后的新的密钥替换原来的加密后的密钥。
一般来说,上述n不小于16;上述m不小于10,上述k不小于3。
上述更新时间间隔是指两个密钥生成的时间间隔,通过各种测试发现,密钥更新时间间隔选择72h具有较佳的效果。
在本发明另一实施例中,设备端,用于利用下述加密公式,对设备消息进行加密;
加密公式:
C=E(K,P)
其中,C表征加密后的设备消息;E()表征AES加密函数;K表征所述密钥;P表征设备消息。即在本发明实施例中,密钥和设备消息均为AES加密函数的输入参数。
上述设备消息即为设备的运行状态参数如对于智能空调来说,设备消息为温度、风速、湿度等的运行状态参数。
在本发明另一实施例中,在设备端更新密钥,而控制端仍未更新密钥的情况下,为了保证对控制指令的解密,设备端,用于利用密钥对接收到加密后的控制指令进行解密,在解密失败后,从密钥回收表中调用原来的密钥,重新对加密后的控制指令进行解密。
在本发明另一实施例中,在设备端更新密钥,而控制端仍未更新密钥的情况下,为了保证对设备消息的解密,控制端,用于利用密钥对接收到加密后的设备信息进行解密,在解密失败后,从云端业务服务器中获取新的密钥,利用新的密钥对加密后的设备信息进行解密。
在本发明另一实施例中,控制端,进一步用于利用下述解密公式,对加密后的设备消息进行解密;
解密公式:
P=D(Y,C)
其中,P表征设备消息;D()表征AES解密函数;C表征加密后的设备消息;Y表征控制端从云端业务服务器获取到的密钥。
值得说明的是,控制端也通过上述加密公式对控制指令进行加密,只是输入加密函数中的参数变为控制指令和密钥。
另外,设备端也可通过上述解密公式对控制指令进行解密,只是输入解密函数的参数变为加密后的控制指令和密钥。
在本发明一个实施例中,设备发布主题包括:第一发布标识以及设备端的序列号;
用户发布主题包括:第二发布标识以及控制端关注的一个设备端的序列号。
其中,第一发布标识和第二发布标识可以引导代理服务器更好的识别设备发布主题和用户发布主题。
如图2所示,本发明实施例提供了一种基于MQTT的智能家电加密控制方法,该方法可以包括以下步骤:
步骤201:设备端、控制端分别通过MQTT协议与代理服务器连接;
步骤202:在设备端设置设备发布主题,并订阅用户发布主题,生成密钥,并将密钥通过非对称加密算法进行加密,加密后的密钥发送给云端业务服务器;
步骤203:云端业务服务器存储加密后的密钥;
步骤204:在控制端设置用户发布主题,并订阅关注的设备端对应的设备发布主题,从云端业务服务器获取加密后的密钥,并对密钥进行解密;
步骤205:利用密钥加密控制指令,将携带有用户发布主题的加密后的控制指令发布到代理服务器;
步骤206:代理服务器根据用户发布主题,将携带有用户发布主题的加密后的所述控制指令发送给对应的设备端;
步骤207:设备端利用密钥对设备消息进行加密,将携带有设备发布主题的加密后的设备消息发布到代理服务器;
步骤208:代理服务器根据设备发布主题,将携带有设备发布主题的加密后的设备消息发送给对应的控制端。
在本发明另一实施例中,上述基于MQTT的智能家电加密控制方法,进一步包括:在设备端预设n×m字符表以及密钥更新时间间隔;生成密钥的具体实施方式可包括:从n×m字符表的每一行中随机选择k个字符,并将每一行中随机选择出的k个字符输入密钥生成函数,生成一个密钥,在当前密钥存在时长达到密钥更新时间间隔时,重新生成一个新的密钥,利用新的密钥替换当前密钥,并将当前密钥存储到预设的密钥回收表中,其中,n表征字符表的行数,m表征字符表的列数。一般来说,上述n不小于16;上述m不小于10,上述k不小于3。通过上述过程实现了定时更新密钥,从而进一步保证了发布消息的安全性。更新时间间隔可为72h。
在本发明另一实施例中,设备端利用所述密钥对设备消息进行加密的具体实施方式可包括:设备端利用下述加密公式,对设备消息进行加密;
加密公式:
C=E(K,P)
其中,C表征加密后的设备消息;E()表征AES加密函数;K表征密钥;P表征设备消息。
在本发明另一实施例中,上述基于MQTT的智能家电加密控制方法,进一步包括:控制端利用下述解密公式,对加密后的设备消息进行解密;
解密公式:
P=D(Y,C)
其中,P表征所述设备消息;D()表征AES解密函数;C表征加密后的设备消息;Y表征所述控制端从所述云端业务服务器获取到的密钥。
在本发明另一实施例中,上述基于MQTT的智能家电加密控制方法,进一步包括:设备端利用密钥对接收到加密后的控制指令进行解密,在解密失败后,从密钥回收表中调用原来的密钥,重新对加密后的控制指令进行解密。其中,密钥回收表是对已过期的密钥进行回收的表格。
在本发明另一实施例中,上述基于MQTT的智能家电加密控制方法,进一步包括:控制端利用所述密钥对接收到加密后的所述设备信息进行解密,在解密失败后,从云端业务服务器中获取所述新的密钥,利用新的密钥对加密后的设备信息进行解密。
如图3所示,本发明实施例提供了一种基于MQTT的智能家电加密控制方法,该方法可以包括以下步骤:
步骤301:设备端、控制端分别通过MQTT协议与代理服务器连接;
步骤302:在设备端预设n×m字符表以及密钥更新时间间隔;
n表征字符表的行数,m表征字符表的列数。一般来说,上述n不小于16;上述m不小于10,上述k不小于3。通过上述过程实现了定时更新密钥,从而进一步保证了发布消息的安全性。更新时间间隔可为72h。
步骤303:从n×m字符表的每一行中随机选择k个字符,并将每一行中随机选择出的k个字符输入密钥生成函数,生成一个密钥,并执行步骤305;在当前密钥存在时长达到密钥更新时间间隔时,执行步骤304;
该密钥生成函数为现有的任意一种随机密钥生成函数。
步骤304:重新生成一个新的密钥,利用新的密钥替换当前密钥,并将当前密钥存储到预设的密钥回收表中;
步骤305:将密钥通过非对称加密算法进行加密,加密后的密钥发送给云端业务服务器;
该步骤中的密钥可为上述步骤203中生成的密钥以及步骤204更新后的新的密钥。
步骤306:云端业务服务器存储加密后的密钥;
步骤307:在设备端设置设备发布主题,并订阅用户发布主题;
该步骤与上述步骤302至步骤306之间并无严格的先后顺序。
步骤308:在控制端设置用户发布主题,并订阅关注的设备端对应的设备发布主题,从云端业务服务器获取加密后的密钥,并对密钥进行解密;
步骤309:利用密钥加密控制指令,将携带有用户发布主题的加密后的控制指令发布到代理服务器;
该利用密钥加密控制指令为,以密钥和控制指令作为输入参数,输入给AES加密函数,生成加密后的控制指令。
步骤310:代理服务器根据用户发布主题,将携带有用户发布主题的加密后的控制指令发送给对应的设备端;
步骤311:设备端对加密后的控制指令进行解密,在解密成功后,执行步骤313;在解密失败后,执行步骤312;
步骤312:从密钥回收表中调用原来的密钥,重新对加密后的控制指令进行解密;
步骤313:设备端执行控制指令,并利用密钥对设备消息进行加密,将携带有设备发布主题的加密后的设备消息发布到代理服务器;
在该步骤中,设备端利用下述加密公式,对设备消息进行加密;
加密公式:
C=E(K,P)
其中,C表征加密后的设备消息;E()表征AES加密函数;K表征密钥;P表征设备消息。
步骤314:代理服务器根据设备发布主题,将携带有设备发布主题的加密后的设备消息发送给对应的控制端;
步骤315:控制端解密加密后的设备消息;
在该步骤中,控制端利用下述解密公式,对加密后的设备消息进行解密;
解密公式:
P=D(Y,C)
其中,P表征所述设备消息;D()表征AES解密函数;C表征加密后的设备消息;Y表征所述控制端从所述云端业务服务器获取到的密钥。
步骤316:在解密失败后,从云端业务服务器中获取新的密钥,利用新的密钥对加密后的设备信息进行解密。
本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行本发明上述任一实施例提供的方法。
本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行本发明上述任一实施例提供的方法。
综上所述,本发明以上各个实施例至少具有如下有益效果:
1、在本发明实施例中,基于MQTT的智能家电加密控制***包括:设备端、控制端、代理服务器以及云端业务服务器,其中,设备端、控制端分别通过MQTT与代理服务器连接;设备端,用于设置设备发布主题,并订阅用户发布主题,生成密钥,并将密钥通过非对称加密算法进行加密,加密后的密钥发送给云端业务服务器,利用密钥对设备消息进行加密,将携带有设备发布主题的加密后的设备消息发布到代理服务器;云端业务服务器,用于存储加密后的密钥;控制端,用于设置用户发布主题,并订阅关注的设备端对应的设备发布主题,从云端业务服务器获取加密后的密钥,并对密钥进行解密,利用密钥加密控制指令,将携带有用户发布主题的加密后的控制指令发布到代理服务器;代理服务器,用于根据设备发布主题,将携带有设备发布主题的加密后的设备消息发送给对应的控制端,根据用户发布主题,将携带有用户发布主题的加密后的控制指令发送给对应的设备端,上述实现了为控制指令和设备消息进行加密,而加密所用的密钥是设备端生成的,只有与设备端有关联的控制端才可对密钥进行解密,从而保证了发布消息即控制指令和设备消息的安全性。
2、在本发明实施例中,设备端,进一步用于预设n×m字符表以及密钥更新时间间隔,从n×m字符表的每一行中随机选择k个字符,并将每一行中随机选择出的k个字符输入密钥生成函数,生成一个密钥,在当前密钥存在时长达到密钥更新时间间隔时,重新生成一个新的密钥,利用新的密钥替换当前密钥,并将当前密钥存储到预设的密钥回收表中,并对新的密钥进行加密,其中,n表征字符表的行数,m表征字符表的列数;云端业务服务器,进一步用于利用加密后的新的密钥替换原来的加密后的密钥。实现了定期对密钥进行更新,从而进一步保证发布消息的安全性。
3、在本发明实施例中,设备端,用于利用密钥对接收到加密后的控制指令进行解密,在解密失败后,从密钥回收表中调用原来的密钥,重新对加密后的控制指令进行解密,即在设备端更新密钥,而控制端仍未更新密钥的情况下,保证对控制指令的解密。
4、在本发明实施例中,控制端,用于利用密钥对接收到加密后的设备信息进行解密,在解密失败后,从云端业务服务器中获取新的密钥,利用新的密钥对加密后的设备信息进行解密,在设备端更新密钥,而控制端仍未更新密钥的情况下,保证对设备消息的解密。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种基于MQTT的智能家电加密控制***,其特征在于,包括:设备端、控制端、代理服务器以及云端业务服务器,其中,
所述设备端、所述控制端分别通过MQTT协议与所述代理服务器连接;
所述设备端,用于设置设备发布主题,并订阅用户发布主题,生成密钥,并将所述密钥通过非对称加密算法进行加密,加密后的密钥发送给所述云端业务服务器,利用所述密钥对设备消息进行加密,将携带有所述设备发布主题的加密后的所述设备消息发布到所述代理服务器;
所述云端业务服务器,用于存储所述加密后的密钥;
所述控制端,用于设置用户发布主题,并订阅关注的设备端对应的所述设备发布主题,从所述云端业务服务器获取所述加密后的密钥,并对所述密钥进行解密,利用所述密钥加密控制指令,将携带有所述用户发布主题的加密后的所述控制指令发布到所述代理服务器;
所述代理服务器,用于根据所述设备发布主题,将携带有所述设备发布主题的加密后的所述设备消息发送给对应的所述控制端,根据所述用户发布主题,将携带有所述用户发布主题的加密后的所述控制指令发送给对应的所述设备端。
2.根据权利要求1所述的基于MQTT的智能家电加密控制***,其特征在于,
所述设备端,进一步用于预设n×m字符表以及密钥更新时间间隔,从所述n×m字符表的每一行中随机选择k个字符,并将每一行中随机选择出的k个字符输入密钥生成函数,生成一个密钥,在当前密钥存在时长达到所述密钥更新时间间隔时,重新生成一个新的密钥,利用所述新的密钥替换所述当前密钥,并将所述当前密钥存储到预设的密钥回收表中,并对所述新的密钥进行加密,其中,n表征所述字符表的行数,m表征所述字符表的列数;
所述云端业务服务器,进一步用于利用加密后的所述新的密钥替换原来的所述加密后的密钥。
3.根据权利要求1所述的基于MQTT的智能家电加密控制***,其特征在于,
所述设备端,用于利用下述加密公式,对所述设备消息进行加密;
加密公式:
C=E(K,P)
其中,C表征加密后的设备消息;E()表征AES加密函数;K表征所述密钥;P表征所述设备消息。
4.根据权利要求2所述的基于MQTT的智能家电加密控制***,其特征在于,
所述设备端,用于利用所述密钥对接收到加密后的所述控制指令进行解密,在解密失败后,从所述密钥回收表中调用原来的密钥,重新对加密后的所述控制指令进行解密;
和/或,
所述控制端,用于利用所述密钥对接收到加密后的所述设备信息进行解密,在解密失败后,从所述云端业务服务器中获取所述新的密钥,利用所述新的密钥对加密后的所述设备信息进行解密。
5.根据权利要求1至4任一所述的基于MQTT的智能家电加密控制***,其特征在于,
所述控制端,进一步用于利用下述解密公式,对加密后的所述设备消息进行解密;
解密公式:
P=D(Y,C)
其中,P表征所述设备消息;D()表征AES解密函数;C表征加密后的设备消息;Y表征所述控制端从所述云端业务服务器获取到的密钥。
6.根据权利要求1至4任一所述的基于MQTT的智能家电加密控制***,其特征在于,
所述设备发布主题包括:第一发布标识以及设备端的序列号;
所述用户发布主题包括:第二发布标识以及所述控制端关注的一个设备端的序列号。
7.一种基于MQTT的智能家电加密控制方法,其特征在于,包括:
设备端、控制端分别通过MQTT协议与代理服务器连接;
在设备端设置设备发布主题,并订阅用户发布主题,生成密钥,并将所述密钥通过非对称加密算法进行加密,加密后的密钥发送给云端业务服务器;
所述云端业务服务器存储所述加密后的密钥;
在所述控制端设置用户发布主题,并订阅关注的设备端对应的所述设备发布主题,从所述云端业务服务器获取所述加密后的密钥,并对所述密钥进行解密;
利用所述密钥加密控制指令,将携带有所述用户发布主题的加密后的所述控制指令发布到所述代理服务器;
所述代理服务器根据所述用户发布主题,将携带有所述用户发布主题的加密后的所述控制指令发送给对应的所述设备端;
所述设备端利用所述密钥对设备消息进行加密,将携带有所述设备发布主题的加密后的所述设备消息发布到所述代理服务器;
所述代理服务器根据所述设备发布主题,将携带有所述设备发布主题的加密后的所述设备消息发送给对应的所述控制端。
8.根据权利要求7所述的基于MQTT的智能家电加密控制方法,其特征在于,进一步包括:
在所述设备端预设n×m字符表以及密钥更新时间间隔;
所述生成密钥,包括:从所述n×m字符表的每一行中随机选择k个字符,并将每一行中随机选择出的k个字符输入密钥生成函数,生成一个密钥,在当前密钥存在时长达到所述密钥更新时间间隔时,重新生成一个新的密钥,利用所述新的密钥替换所述当前密钥,并将所述当前密钥存储到预设的密钥回收表中,其中,n表征所述字符表的行数,m表征所述字符表的列数。
9.根据权利要求7所述的基于MQTT的智能家电加密控制方法,其特征在于,
所述设备端利用所述密钥对设备消息进行加密,包括:
所述设备端利用下述加密公式,对所述设备消息进行加密;
加密公式:
C=E(K,P)
其中,C表征加密后的设备消息;E()表征AES加密函数;K表征所述密钥;P表征所述设备消息;
和/或,
进一步包括:所述控制端利用下述解密公式,对加密后的所述设备消息进行解密;
解密公式:
P=D(Y,C)
其中,P表征所述设备消息;D()表征AES解密函数;C表征加密后的设备消息;Y表征所述控制端从所述云端业务服务器获取到的密钥。
10.根据权利要求8所述的基于MQTT的智能家电加密控制方法,其特征在于,
进一步包括:所述设备端利用所述密钥对接收到加密后的所述控制指令进行解密,在解密失败后,从所述密钥回收表中调用原来的密钥,重新对加密后的所述控制指令进行解密;
和/或,
进一步包括:所述控制端利用所述密钥对接收到加密后的所述设备信息进行解密,在解密失败后,从所述云端业务服务器中获取所述新的密钥,利用所述新的密钥对加密后的所述设备信息进行解密。
CN201910065245.5A 2019-01-23 2019-01-23 一种基于mqtt的智能家电加密控制***和方法 Pending CN109587178A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910065245.5A CN109587178A (zh) 2019-01-23 2019-01-23 一种基于mqtt的智能家电加密控制***和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910065245.5A CN109587178A (zh) 2019-01-23 2019-01-23 一种基于mqtt的智能家电加密控制***和方法

Publications (1)

Publication Number Publication Date
CN109587178A true CN109587178A (zh) 2019-04-05

Family

ID=65917191

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910065245.5A Pending CN109587178A (zh) 2019-01-23 2019-01-23 一种基于mqtt的智能家电加密控制***和方法

Country Status (1)

Country Link
CN (1) CN109587178A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112202557A (zh) * 2020-11-17 2021-01-08 平安科技(深圳)有限公司 基于密钥更新分发的加密方法、装置、设备及存储介质
CN112950844A (zh) * 2021-04-29 2021-06-11 四川虹美智能科技有限公司 智能售货机控制方法、控制平台和***
CN112953940A (zh) * 2021-02-20 2021-06-11 同济大学 基于混合加密算法和关键属性过滤的安全发布订阅***及方法
CN113098969A (zh) * 2021-04-09 2021-07-09 薪得付信息技术(上海)有限公司 数据分发方法、装置、***及电子设备
CN114128207A (zh) * 2019-07-17 2022-03-01 三菱电机株式会社 数据分发***、数据处理装置及程序
WO2022130088A1 (en) * 2020-12-14 2022-06-23 International Business Machines Corporation Key rotation on publish-subscribe system
CN114666367A (zh) * 2022-03-21 2022-06-24 浙江大学 一种基于产品设备模式的通用物联网***
CN114866374A (zh) * 2022-05-11 2022-08-05 青岛海信日立空调***有限公司 智能家居网关设备和智能家居***

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639625A (zh) * 2015-01-27 2015-05-20 华南理工大学 一种基于mqtt的数据集中器采集控制方法、装置及***
CN107435150A (zh) * 2016-05-25 2017-12-05 西安电子科技大学 一种石油管线阴极保护电位检测***及检测方法
US20180115517A1 (en) * 2016-10-24 2018-04-26 Fisher-Rosemount Systems, Inc. Secured Process Control Communications
CN108965447A (zh) * 2018-07-27 2018-12-07 四川爱创科技有限公司 数据采集和远程控制的方法及***
CN109040098A (zh) * 2018-08-23 2018-12-18 四川长虹电器股份有限公司 一种基于jwt实现mqtt协议认证的方法
CN109088723A (zh) * 2018-10-26 2018-12-25 四川长虹电器股份有限公司 一种基于mqtt协议的远程控制方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639625A (zh) * 2015-01-27 2015-05-20 华南理工大学 一种基于mqtt的数据集中器采集控制方法、装置及***
CN107435150A (zh) * 2016-05-25 2017-12-05 西安电子科技大学 一种石油管线阴极保护电位检测***及检测方法
US20180115517A1 (en) * 2016-10-24 2018-04-26 Fisher-Rosemount Systems, Inc. Secured Process Control Communications
CN108965447A (zh) * 2018-07-27 2018-12-07 四川爱创科技有限公司 数据采集和远程控制的方法及***
CN109040098A (zh) * 2018-08-23 2018-12-18 四川长虹电器股份有限公司 一种基于jwt实现mqtt协议认证的方法
CN109088723A (zh) * 2018-10-26 2018-12-25 四川长虹电器股份有限公司 一种基于mqtt协议的远程控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李飞等: "《信息安全理论与技术》", 31 March 2016 *
武金木等: "《信息安全基础》", 31 July 2007 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114128207B (zh) * 2019-07-17 2023-10-17 三菱电机株式会社 数据分发***、数据处理装置及计算机可读取的记录介质
CN114128207A (zh) * 2019-07-17 2022-03-01 三菱电机株式会社 数据分发***、数据处理装置及程序
US11856091B2 (en) 2019-07-17 2023-12-26 Mitsubishi Electric Corporation Data distribution system, data processing device, and program
CN112202557A (zh) * 2020-11-17 2021-01-08 平安科技(深圳)有限公司 基于密钥更新分发的加密方法、装置、设备及存储介质
CN112202557B (zh) * 2020-11-17 2023-05-30 平安科技(深圳)有限公司 基于密钥更新分发的加密方法、装置、设备及存储介质
WO2022130088A1 (en) * 2020-12-14 2022-06-23 International Business Machines Corporation Key rotation on publish-subscribe system
GB2616997A (en) * 2020-12-14 2023-09-27 Ibm Key rotation on publish-subscribe system
GB2616997B (en) * 2020-12-14 2024-05-22 Ibm Key rotation on publish-subscribe system
CN112953940A (zh) * 2021-02-20 2021-06-11 同济大学 基于混合加密算法和关键属性过滤的安全发布订阅***及方法
CN113098969B (zh) * 2021-04-09 2022-12-20 薪得付信息技术(上海)有限公司 数据分发方法、装置、***及电子设备
CN113098969A (zh) * 2021-04-09 2021-07-09 薪得付信息技术(上海)有限公司 数据分发方法、装置、***及电子设备
CN112950844A (zh) * 2021-04-29 2021-06-11 四川虹美智能科技有限公司 智能售货机控制方法、控制平台和***
CN112950844B (zh) * 2021-04-29 2022-04-19 四川虹美智能科技有限公司 智能售货机控制方法、控制平台和***
CN114666367A (zh) * 2022-03-21 2022-06-24 浙江大学 一种基于产品设备模式的通用物联网***
CN114866374A (zh) * 2022-05-11 2022-08-05 青岛海信日立空调***有限公司 智能家居网关设备和智能家居***
CN114866374B (zh) * 2022-05-11 2024-01-16 青岛海信日立空调***有限公司 智能家居网关设备和智能家居***

Similar Documents

Publication Publication Date Title
CN109587178A (zh) 一种基于mqtt的智能家电加密控制***和方法
CN108092769B (zh) 量子密码网络可靠加密传输***及方法
CN104917787B (zh) 基于群组密钥的文件安全共享方法和***
CN108173644A (zh) 数据传输加密方法、装置、存储介质、设备及服务器
CN109168162B (zh) 蓝牙通信加密方法、装置和智能安防设备
CN105119891B (zh) 一种数据交互方法、机顶盒和服务器
CN104168320B (zh) 一种用户数据分享的方法和***
CN105847279A (zh) 分布式数据处理方法及数据中心
CN106250173B (zh) 一种基于mqtt的消息远程安装和卸载广告的方法
IL275147B1 (en) Secure content routing using disposable notebooks
CN115964728A (zh) 基于共识算法的文件加密方法和装置
CN113300999A (zh) 信息处理方法、电子设备和可读存储介质
CN109491591A (zh) 一种适于多云存储***的信息扩散方法
CN113297603A (zh) 数据处理方法、装置、设备、存储介质和程序产品
CN108924596A (zh) 媒体数据传输方法、装置及存储介质
CN109560917B (zh) 一种qkd方法、设备及***
CN110570197A (zh) 一种基于区块链的数据处理方法以及设备
AU2012210978B2 (en) Controlled security domains
CN109525612A (zh) 多端消息加密传输方法及***
CN107947931A (zh) 一种密钥协商的方法及***、蓝牙设备
CN107483883B (zh) 一种智能数据交互的方法及装置
CN113014545A (zh) 一种数据处理方法、装置、计算机设备及存储介质
CN111224777A (zh) Sdn网络组播成员信息加密方法、***、终端及存储介质
CN110166456A (zh) 云数据读取方法及装置
CN111064753B (zh) 一种基于One-Time Pad的密码管理器实现方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190405

RJ01 Rejection of invention patent application after publication