CN114499855A - 一种基于云计算的安全验证方法、装置及电子设备 - Google Patents

一种基于云计算的安全验证方法、装置及电子设备 Download PDF

Info

Publication number
CN114499855A
CN114499855A CN202210160633.3A CN202210160633A CN114499855A CN 114499855 A CN114499855 A CN 114499855A CN 202210160633 A CN202210160633 A CN 202210160633A CN 114499855 A CN114499855 A CN 114499855A
Authority
CN
China
Prior art keywords
random number
mqtt
terminal
response message
cloud server
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.)
Withdrawn
Application number
CN202210160633.3A
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN202210160633.3A priority Critical patent/CN114499855A/zh
Publication of CN114499855A publication Critical patent/CN114499855A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/0435Network 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 symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请公开了一种一种基于云计算的安全验证方法,包括:终端发送第一MQTT连接请求消息至中间组件,MQTT连接请求消息包含终端鉴权信息;中间组件生成第二MQTT连接请求消息;在鉴权成功后,云服务器生成动态密钥,并将动态密钥封装进第一MQTT响应消息,发送第一MQTT响应消息至中间组件,其中,动态密钥中包含第一随机数及时间信息;中间组件生成第二随机数,并将第二随机数封装进将第一MQTT响应消息中,以生成第二MQTT响应消息,并将第二MQTT响应消息发送至终端;终端将第二MQTT响应消息进行安全验证,并在验证通过后与云服务器进行通信。

Description

一种基于云计算的安全验证方法、装置及电子设备
技术领域
本申请涉及信息技术领域,尤其涉及一种基于云计算的安全验证方法、装置及电子设备。
背景技术
云网络架构往往由云服务器集群与海量终端实现信息交互。在云网络架构中,终端需要进行安全验证才可以接入到云服务器的网络服务中。通常而言,在初始接入过程中,终端和云服务器需要进行密钥协商,并通过协商好的密钥进行安全验证,验证通过后进行正常的通信。
然而,现有技术中,安全验证过程中数据容易被窃取或串改,导致终端在接入云服务器的过程安全性较低。
发明内容
本发明实施例提供一种基于云计算的安全验证方法,用于解决现有技术中终端接入云服务器过程中安全性低的问题。
本发明实施例提供一种基于云计算的安全验证方法,包括:
终端发送第一MQTT连接请求消息至中间组件,所述MQTT连接请求消息包含终端鉴权信息;
所述中间组件生成第一随机数,并将所述第一随机数、失效时间及路由信息添加进所述第一MQTT连接请求消息中,生成第二MQTT连接请求消息;
所述中间组件将所述第二MQTT连接请求消息发送至云服务器;
所述云服务器基于所述失效时间判断所述第二MQTT连接请求消息的有效性,并在所述第二MQTT连接请求消息有效的前提下,对所述终端鉴权信息进行鉴权;
在鉴权成功后,所述云服务器生成动态密钥,并将所述动态密钥封装进第一MQTT响应消息,发送所述第一MQTT响应消息至所述中间组件,其中,所述动态密钥中包含所述第一随机数;
所述中间组件生成第二随机数,并将所述第二随机数封装进将所述第一MQTT响应消息中,以生成第二MQTT响应消息,并将所述第二MQTT响应消息发送至所述终端;
所述终端将所述第二MQTT响应消息进行安全验证,并在验证通过后与所述云服务器进行通信。
可选地,所述将所述第二MQTT响应消息进行安全验证,包括:
在第一周期,所述终端采用消息摘要算法生成所述第二MQTT响应消息的第一摘要,并将所述第一摘要发送至所述中间组件;
所述中间组件获取第一周期的所述第一随机数与所述第二随机数,并将所述第一摘要与所述第一周期的第一随机数与第二随机数进行哈希运算,生成第一摘要哈希,将所述第一摘要哈希发送至所述云服务器;
在第二周期,所述云服务器将所述采用摘要算法生成所述第二MQTT响应消息的第二摘要,并获取第二周期的所述第一随机数与所述第二随机数,将所述第二摘要与所述第二周期的第一随机数与所述第二随机数进行哈希运算,生成第二摘要哈希;
所述服务器将所述第一摘要哈希与所述第二摘要哈希进行比对,若比对成功,则安全验证通过。
可选地,所述方法还包括:
所述云服务器在鉴权成功后,将所述第一随机数进行区块链上链操作;
所述终端在接收到所述第二MQTT响应消息后,将所述第二随机数进行区块链上链操作;
则所述云服务器获取第二周期的所述第一随机数与所述第二随机数,包括:
在所述第二周期,所述云服务器获取所述区块链中的所述第一随机数和第二随机数。
可选地,所述将所述第二MQTT响应消息进行安全验证,包括:
所述终端采用消息摘要算法生成所述第二MQTT响应消息的第一摘要,并将所述第一摘要发送至所述云服务器,其中,所述第一摘要包括所述第一随机数和第二随机数;
所述云服务器提取所述第一摘要的第一随机数和第二随机数,若所述提取的第一随机数和第二随机数与所述中间组件生成的第一随机数和第二随机数一致,则安全验证通过;若所述提取的第一随机数和第二随机数与所述中间组件生成的第一随机数和第二随机数不一致,则通知所述终端进入数据防串改保护模式。
可选地,在所述终端发送第一MQTT连接请求消息至所述中间组件之前,所述方法还包括:
所述中间组件预先向所述终端及所述云服务器同时发送预设的中间密钥,所述中间密钥包括第三随机数、发送时间信息、终端ID及云服务器ID;
则所述云服务器生成动态密钥,包括:
所述云服务器将所述中间密钥进行SHA-1加密,并添加加密时间信息,生成动态密钥;
则,所述终端将所述第二MQTT响应消息进行安全验证之前,所述方法还包括:
所述终端根据所述终端保存的中间密钥对所述第二MQTT响应消息进行解密。
可选地,所述终端将所述第二MQTT响应消息进行安全验证通过后,所述方法还包括:
所述终端与所述云服务器使用所述动态密钥为通信密钥,并采用对称加密算法加密MQTT报文。
可选地,所述MQTT报文由固定报头、可变报头及净负荷组成,所述固定报文为明文,所述可变报头和净负荷为MD5加密的密文。
本发明实施例还包括一种基于云计算的安全验证装置,所述装置包括:
接收单元,用于接收终端发送的第一MQTT连接请求消息,所述MQTT连接请求消息包含终端鉴权信息;
生成单元,用于生成第一随机数,并将所述第一随机数、失效时间及路由信息添加进所述第一MQTT连接请求消息中,生成第二MQTT连接请求消息;
发送单元,用于将所述第二MQTT连接请求消息发送至云服务器,以使所述云服务器基于所述失效时间判断所述第二MQTT连接请求消息的有效性,并在所述第二MQTT连接请求消息有效的前提下,对所述终端鉴权信息进行鉴权;在鉴权成功后,所述云服务器生成动态密钥,并将所述动态密钥封装进第一MQTT响应消息,发送所述第一MQTT响应消息至所述接收单元;
所述生成单元还用于生成第二随机数,并将所述第二随机数封装进将所述第一MQTT响应消息中,以生成第二MQTT响应消息,并将所述第二MQTT响应消息发送至所述终端,以使所述终端将所述第二MQTT响应消息进行安全验证,并在验证通过后与所述云服务器进行通信。
可选地,所述接收单元还用于在第一周期接收由所述终端发送的第一摘要,所述第一摘要为所述第二MQTT响应消息的第一摘要,由所述终端采用消息摘要算法所生成;
所述生成单元用于获取第一周期的所述第一随机数与所述第二随机数,并将所述第一摘要与所述第一周期的第一随机数与第二随机数进行哈希运算,生成第一摘要哈希,将所述第一摘要哈希发送至所述云服务器;以使在第二周期,所述云服务器将所述采用摘要算法生成所述第二MQTT响应消息的第二摘要,并获取第二周期的所述第一随机数与所述第二随机数,将所述第二摘要与所述第二周期的第一随机数与所述第二随机数进行哈希运算,生成第二摘要哈希;所述服务器将所述第一摘要哈希与所述第二摘要哈希进行比对,若比对成功,则安全验证通过。
可选地,所述发送单元还用于预先向所述终端及所述云服务器同时发送预设的中间密钥,所述中间密钥包括第三随机数、发送时间信息、终端ID及云服务器ID。
本发明实施例还包括一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时实现上述方法。
本发明实施例提供的方法,通过中间组件添加随机数及失效信息等方式,以使云服务器基于随机数生成动态密钥,确保在终端和云服务器初始化交互过程中动态密钥的唯一性,同时保证该动态密钥难以破解,有效增强安全性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1为一个实施例中基于云计算的安全验证方法流程图;
图2为另一个实施例中基于云计算的安全验证方法流程图;
图3为一个实施例中基于云计算的安全验证装置结构图;
图4为一个实施例中电子设备的硬件组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
图1是本发明实施例的一种基于云计算的安全验证方法流程图,如图1所示,本发明实施例提供的方法,具体为:
S101、终端发送第一MQTT连接请求消息至中间组件,所述MQTT连接请求消息包含终端鉴权信息;
在本发明实施例中,终端可以为智能手机、笔记本电脑、PC机、物联网设备等,本发明实施例对此并无限制。
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(Publish/Subscribe)模式的轻量级通讯协议,目前广泛应用于物联网领域。
中间组件可以是以边缘节点形式存在的一种特殊的物理终端,中间组件作为终端与云服务器的中间桥梁,承载着通信传输、安全管控等功能,其物理形态可以是各类服务器、小型基站设备等,即具备一定数据处理能力,具备多种协议的传输接口,能够将不同终端的数据进行汇总并传输的节点。
在本发明实施例中,终端鉴权信息(Auth_Info),可以是一款产品共用一个鉴权信息或每个终端分配不同的鉴权信息,鉴权信息为固定长度,例如16bit或32bit。
S102、所述中间组件生成第一随机数,并将所述第一随机数、失效时间及路由信息添加进所述第一MQTT连接请求消息中,生成第二MQTT连接请求消息;
在现有技术中,终端直接与服务器进行通信,且在通信初始化过程中只要进行了终端鉴权成功后即可直接通信,则在后续的通信过程中只需要获取通信密钥即可截取通信消息,也可以串改通信的消息内容,无疑降低了安全性。因此,本发明实施例中,中间组件通过添加随机数的方式,将MQTT连接请求消息的复杂度提高,随机数是一种不规则变化的数组,无法预估也无法逆运算,是比较好的加密方式,且和时间高度相关,即当前时间输出的随机数与下一时刻输出的随机数是不同的。在本发明实施例中,随机数的作用类似于令牌Token,但与Token不同的是,随机数是动态变化的,因此,除了固定的终端鉴权信息以外,增加了动态变化的随机数作为第二个判别条件,会提高通信的加密复杂度。此外,为了不影响通信的效率,随机数设置在16bit为最佳。
失效时间即表示该鉴权信息的有效期,过了失效时间则该鉴权信息处于无效状态,需要另外设置一个鉴权信息及有效期。
路由信息为IP传输路由表,在本发明实施例中可通过局域网私有协议自定义该路由表,此外,该路由表可根据消息等级自适应调整路由优先级,以便保持低延迟送达到目的IP地址。
S103、所述中间组件将所述第二MQTT连接请求消息发送至云服务器;
S104、所述云服务器基于所述失效时间判断所述第二MQTT连接请求消息的有效性,并在所述第二MQTT连接请求消息有效的前提下,对所述终端鉴权信息进行鉴权;
云服务器可基于两个步骤对终端进行初始鉴权,步骤1先判断第二MQTT连接请求消息的有效性,超过失效时间的MQTT连接请求自动失效,防止网络黑客通过重复发送MQTT连接请求占用服务器资源;步骤2则对终端的鉴权信息进行鉴权,常见的鉴权方式包括数字证书、签名验证,注册码验证等,本发明实施例不再累述。
S105、在鉴权成功后,所述云服务器生成动态密钥,并将所述动态密钥封装进第一MQTT响应消息,发送所述第一MQTT响应消息至所述中间组件,其中,所述动态密钥中包含所述第一随机数;
本发明实施例中,动态密钥是一种基于时间而变化的密钥,该动态密钥包括第一随机数和时间信息,因此其实时性较高,破解难度大,适合作为双方密钥协商机制的密钥。该密钥信息可携带在MQTT响应消息中,由中间组件获取并进行二次加工。
S106、所述中间组件生成第二随机数,并将所述第二随机数封装进将所述第一MQTT响应消息中,以生成第二MQTT响应消息,并将所述第二MQTT响应消息发送至所述终端;
其中,中间组件在获取到第一MQTT响应消息后,同步生成第二随机数,并将第二随机数添加进该第一MQTT响应消息中,以形成第二MQTT响应消息。第二随机数和第一随机数由于生成的时间不同而不同,可进一步增加动态密钥的复杂度。
S107、所述终端将所述第二MQTT响应消息进行安全验证,并在验证通过后与所述云服务器进行通信。
其中,安全验证的方法可以是:
终端采用消息摘要算法生成所述第二MQTT响应消息的第一摘要,并将所述第一摘要发送至所述云服务器,其中,第一摘要包括所述封装在第二MQTT响应消息中的第一随机数和第二随机数;在本发明实施例中,消息摘要算法可以是SHA-1、HMAC等。
云服务器提取第一摘要的第一随机数和第二随机数,若所述提取的第一随机数和第二随机数与所述中间组件生成的第一随机数和第二随机数一致,则安全验证通过;若所述提取的第一随机数和第二随机数与所述中间组件生成的第一随机数和第二随机数不一致,则认为在终端和服务器交互过程中数据发生了篡改,导致第一随机数和/或第二随机数与中间组件初始生成的第一随机数和/或第二随机数不再一致,则需要服务器或中间组件通知所述终端进入数据防串改保护模式,以进行安全防护。
在其中一个实施例中,安全验证的方法还可以为:
在第一周期,所述终端采用消息摘要算法生成所述第二MQTT响应消息的第一摘要,并将所述第一摘要发送至所述中间组件;
所述中间组件获取第一周期的所述第一随机数与所述第二随机数,并将所述第一摘要与所述第一周期的第一随机数与第二随机数进行哈希运算,生成第一摘要哈希,将所述第一摘要哈希发送至所述云服务器;
在第二周期(第二周期晚于第一周期),所述云服务器将所述采用摘要算法生成所述第二MQTT响应消息的第二摘要,并获取第二周期的所述第一随机数与所述第二随机数,将所述第二摘要与所述第二周期的第一随机数与所述第二随机数进行哈希运算,生成第二摘要哈希;
所述服务器将所述第一摘要哈希与所述第二摘要哈希进行比对,若比对成功,则安全验证通过。即,云服务器在收到中间组件发送的第一摘要哈希后,还需要云服务器本地生成第二摘要哈希,以便将不同时间周期的两个摘要哈希进行比较,若一致,则比对成功。
需要说明的是,第二周期的第一随机数与所述第二随机数应该与第一周期的第一随机数与所述第二随机数一致,如果不一致,则确定在第二周期时终端接收到的第一随机数与所述第二随机数发生了改变,不再是原始的第一随机数与所述第二随机数,则安全认证不通过。
其中,在本发明实施例中,第一随机数和第二随机数可通过区块链的方式进行存储,进一步提升数据的防篡改性能。即,所述云服务器在鉴权成功后,将所述第一随机数进行区块链上链操作;且所述终端在接收到所述第二MQTT响应消息后,将所述第二随机数进行区块链上链操作;
则在所述第二周期,所述云服务器可以通过区块链网络,获取该区块链中的所述第一随机数和第二随机数。
在本发明实施例中,在所述终端发送第一MQTT连接请求消息至所述中间组件之前,所述中间组件预先向所述终端及所述云服务器同时发送预设的中间密钥,所述中间密钥包括第三随机数、发送时间信息、终端ID及云服务器ID;中间密钥为动态密钥的前置密钥,属于终端和云服务器端共同约定的一个密钥。
则所述云服务器生成动态密钥,具体可以为:
所述云服务器将所述中间密钥进行SHA-1加密,并添加加密时间信息,生成动态密钥;且该动态密钥中包括上述提及的第一随机数。
此外,本发明实施例中,在所述终端将所述第二MQTT响应消息进行安全验证之前,所述终端根据所述终端保存的中间密钥对所述第二MQTT响应消息进行解密。
需要说明的是,在终端将所述第二MQTT响应消息进行安全验证通过后,所述终端与所述云服务器使用所述动态密钥为通信密钥,并采用对称加密算法加密后续通信的MQTT报文。MQTT报文由固定报头、可变报头及净负荷组成,所述固定报文为明文,所述可变报头和净负荷为MD5加密的密文。
本发明实施例提供的方法,通过中间组件添加随机数及失效信息等方式,以使云服务器基于随机数生成动态密钥,确保在终端和云服务器初始化交互过程中动态密钥的唯一性,同时保证该动态密钥难以破解,有效增强安全性。
图2是本发明实施例基于云计算的另一个安全验证方法流程图,如图2所示,该方法包括:
S201、中间组件向终端及云服务器分别发送中间密钥;
其中,中间密钥包括第三随机数、时间、云服务器ID和终端ID信息;
S202、终端向中间组件发送第一MQTT Connect消息;
S203、中间组件生成第一随机数,并将失效时间、路由信息及生成的第一随机数封装进该第一MQTT Connect消息中,添加了失效时间、路由信息及生成的第一随机数的第一MQTT Connect消息即为第二MQTT Connect消息;
S204、中间组件发送该第二MQTT Connect消息至云服务器;
S205、云服务器判断终端鉴权信息有效性,并基于终端鉴权信息进行鉴权;
S206、云服务器将第一随机数进行区块链上链操作;
S207、云服务器基于中间密钥、第一随机数、时间等参数,生成动态密钥,并封装进第一MQTT响应消息中;
S208、云服务器发送该第一MQTT响应消息至中间组件;
S209、该中间组件生成第二随机数,并将该第二随机数封装进第一MQTT响应消息中,生成第二MQTT响应消息;
S210、中间组件发送第二MQTT响应消息至终端;
S211、终端通过消息摘要算法生成该第二MQTT响应消息的第一摘要,该第一摘要包括第一随机数和第二随机数;
S212、终端将该第二随机数进行区块链上链操作;
S213、终端将该第一摘要发送至中间组件;
S214、中间组件将第一摘要连同第一随机数和第二随机数进行哈希运算,生成第一摘要哈希;
S215、中间组件发送该第一摘要哈希至云服务器;
S216、云服务器获取区块链中的第一随机数和第二随机数;
S217、云服务器同样也通过消息摘要算法生成该第二MQTT响应消息的第二摘要,并基于获取的第一随机数和第二随机数,与第二摘要一并进行哈希运算,生成第二摘要哈希;
S218、云服务器将第一摘要哈希与第二摘要哈希进行比对;
S219、比对成功,云服务器发送ACK至中间组件和终端,建立通信连接。
本发明实施例还包括一种基于云计算的安全验证装置30,所述装置30包括:
接收单元31,用于接收终端发送的第一MQTT连接请求消息,所述MQTT连接请求消息包含终端鉴权信息;
生成单元32,用于生成第一随机数,并将所述第一随机数、失效时间及路由信息添加进所述第一MQTT连接请求消息中,生成第二MQTT连接请求消息;
发送单元33,用于将所述第二MQTT连接请求消息发送至云服务器,以使所述云服务器基于所述失效时间判断所述第二MQTT连接请求消息的有效性,并在所述第二MQTT连接请求消息有效的前提下,对所述终端鉴权信息进行鉴权;在鉴权成功后,所述云服务器生成动态密钥,并将所述动态密钥封装进第一MQTT响应消息,发送所述第一MQTT响应消息至所述接收单元;
所述生成单元32,还用于生成第二随机数,并将所述第二随机数封装进将所述第一MQTT响应消息中,以生成第二MQTT响应消息,并将所述第二MQTT响应消息发送至所述终端,以使所述终端将所述第二MQTT响应消息进行安全验证,并在验证通过后与所述云服务器进行通信。
其中,所述接收单元31还用于在第一周期接收由所述终端发送的第一摘要,所述第一摘要为所述第二MQTT响应消息的第一摘要,由所述终端采用消息摘要算法所生成;
所述生成单元32还用于获取第一周期的所述第一随机数与所述第二随机数,并将所述第一摘要与所述第一周期的第一随机数与第二随机数进行哈希运算,生成第一摘要哈希,将所述第一摘要哈希发送至所述云服务器;以使在第二周期,所述云服务器将所述采用摘要算法生成所述第二MQTT响应消息的第二摘要,并获取第二周期的所述第一随机数与所述第二随机数,将所述第二摘要与所述第二周期的第一随机数与所述第二随机数进行哈希运算,生成第二摘要哈希;所述服务器将所述第一摘要哈希与所述第二摘要哈希进行比对,若比对成功,则安全验证通过。
可选地,所述发送单元33还用于预先向所述终端及所述云服务器同时发送预设的中间密钥,所述中间密钥包括第三随机数、发送时间信息、终端ID及云服务器ID。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机可执行指令,该计算机可执行指令用于执行上述实施例中的方法。
本发明实施例还提供一种电子设备,包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时实现上述方法。
图4为一个实施例中电子设备的硬件组成示意图。可以理解的是,图4仅仅示出了电子设备的简化设计。在实际应用中,电子设备还可以分别包含必要的其他元件,包含但不限于任意数量的输入/输出系统、处理器、控制器、存储器等,而所有可以实现本申请实施例的大数据管理方法的电子设备都在本申请的保护范围之内。
存储器包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read至only memory,ROM)、可擦除可编程只读存储器(erasable programmable readonly memory,EPROM)、或便携式只读存储器(compact disc read至only memory,CD至ROM),该存储器用于相关指令及数据。
输入系统用于输入数据和/或信号,以及输出系统用于输出数据和/或信号。输出系统和输入系统可以是独立的器件,也可以是一个整体的器件。
处理器可以包括是一个或多个处理器,例如包括一个或多个中央处理器(centralprocessing unit,CPU),在处理器是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。处理器还可以包括一个或多个专用处理器,专用处理器可以包括GPU、FPGA等,用于进行加速处理。
存储器用于存储网络设备的程序代码和数据。
处理器用于调用该存储器中的程序代码和数据,执行上述方法实施例中的步骤。具体可参见方法实施例中的描述,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所显示或讨论的相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程系统。该计算机指令可以存储在计算机可读存储介质中,或者通过该计算机可读存储介质进行传输。该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是只读存储器(read至onlymemory,ROM),或随机存储存储器(random access memory,RAM),或磁性介质,例如,软盘、硬盘、磁带、磁碟、或光介质,例如,数字通用光盘(digital versatile disc,DVD)、或者半导体介质,例如,固态硬盘(solid state disk,SSD)等。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种基于云计算的安全验证方法,其特征在于,包括:
终端发送第一MQTT连接请求消息至中间组件,所述MQTT连接请求消息包含终端鉴权信息;
所述中间组件生成第一随机数,并将所述第一随机数、失效时间及路由信息添加进所述第一MQTT连接请求消息中,生成第二MQTT连接请求消息,其中,所述中间组件为边缘节点;
所述中间组件将所述第二MQTT连接请求消息发送至云服务器;
所述云服务器基于所述失效时间判断所述第二MQTT连接请求消息的有效性,若所述第二MQTT连接请求消息有效,则对所述终端鉴权信息进行鉴权;
在鉴权成功后,所述云服务器生成动态密钥,并将所述动态密钥封装进第一MQTT响应消息,发送所述第一MQTT响应消息至所述中间组件,其中,所述动态密钥中包含所述第一随机数及时间信息;
所述中间组件生成第二随机数,并将所述第二随机数封装进将所述第一MQTT响应消息中,以生成第二MQTT响应消息,并将所述第二MQTT响应消息发送至所述终端;
所述终端将所述第二MQTT响应消息进行安全验证,并在验证通过后与所述云服务器进行通信。
2.根据权利要求1所述的方法,其特征在于,所述将所述第二MQTT响应消息进行安全验证,包括:
在第一周期,所述终端采用消息摘要算法生成所述第二MQTT响应消息的第一摘要,并将所述第一摘要发送至所述中间组件;
所述中间组件获取第一周期的所述第一随机数与所述第二随机数,并将所述第一摘要与所述第一周期的第一随机数与第二随机数进行哈希运算,生成第一摘要哈希,将所述第一摘要哈希发送至所述云服务器;
在第二周期,所述云服务器将所述采用摘要算法生成所述第二MQTT响应消息的第二摘要,并获取第二周期的第一随机数与第二随机数,将所述第二摘要与所述第二周期的第一随机数与所述第二随机数进行哈希运算,生成第二摘要哈希;
所述服务器将所述第一摘要哈希与所述第二摘要哈希进行比对,若比对成功,则安全验证通过。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述云服务器在鉴权成功后,将所述第一随机数进行区块链上链操作;
所述终端在接收到所述第二MQTT响应消息后,将所述第二随机数进行区块链上链操作;
则所述云服务器获取第二周期的所述第一随机数与所述第二随机数,包括:
在所述第二周期,所述云服务器获取所述区块链中的所述第一随机数和第二随机数。
4.根据权利要求1所述的方法,其特征在于,所述将所述第二MQTT响应消息进行安全验证,包括:
所述终端采用消息摘要算法生成所述第二MQTT响应消息的第一摘要,并将所述第一摘要发送至所述云服务器,其中,所述第一摘要包括所述第一随机数和第二随机数;
所述云服务器提取所述第一摘要的第一随机数和第二随机数,若所述提取的第一随机数和第二随机数与所述中间组件生成的第一随机数和第二随机数一致,则安全验证通过;若所述提取的第一随机数和第二随机数与所述中间组件生成的第一随机数和第二随机数不一致,则通知所述终端进入数据防串改保护模式。
5.根据权利要求1所述的方法,其特征在于,在所述终端发送第一MQTT连接请求消息至所述中间组件之前,所述方法还包括:
所述中间组件预先向所述终端及所述云服务器同时发送预设的中间密钥,所述中间密钥包括第三随机数、发送时间信息、终端ID及云服务器ID;
则所述云服务器生成动态密钥,包括:
所述云服务器将所述中间密钥进行SHA-1加密,并添加加密时间信息,生成动态密钥;
则,所述终端将所述第二MQTT响应消息进行安全验证之前,所述方法还包括:
所述终端根据所述终端保存的中间密钥对所述第二MQTT响应消息进行解密。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述终端将所述第二MQTT响应消息进行安全验证通过后,所述方法还包括:
所述终端与所述云服务器使用所述动态密钥为通信密钥,并采用对称加密算法加密MQTT报文。
7.根据权利要求6所述的方法,其特征在于,所述MQTT报文由固定报头、可变报头及净负荷组成,所述固定报文为明文,所述可变报头和净负荷为MD5加密的密文。
8.一种基于云计算的安全验证装置,其特征在于,所述装置为边缘节点,且所述装置包括:
接收单元,用于接收终端发送的第一MQTT连接请求消息,所述MQTT连接请求消息包含终端鉴权信息;
生成单元,用于生成第一随机数,并将所述第一随机数、失效时间及路由信息添加进所述第一MQTT连接请求消息中,生成第二MQTT连接请求消息;
发送单元,用于将所述第二MQTT连接请求消息发送至云服务器,以使所述云服务器基于所述失效时间判断所述第二MQTT连接请求消息的有效性,若所述第二MQTT连接请求消息有效,则对所述终端鉴权信息进行鉴权;在鉴权成功后,所述云服务器生成动态密钥,并将所述动态密钥封装进第一MQTT响应消息,发送所述第一MQTT响应消息至所述接收单元;
所述生成单元还用于生成第二随机数,并将所述第二随机数封装进将所述第一MQTT响应消息中,以生成第二MQTT响应消息,并将所述第二MQTT响应消息发送至所述终端,以使所述终端将所述第二MQTT响应消息进行安全验证,并在验证通过后与所述云服务器进行通信。
9.根据权利要求8所述的装置,其特征在于,所述接收单元还用于在第一周期接收由所述终端发送的第一摘要,所述第一摘要为所述第二MQTT响应消息的第一摘要,由所述终端采用消息摘要算法所生成;
所述生成单元用于获取第一周期的所述第一随机数与所述第二随机数,并将所述第一摘要与所述第一周期的第一随机数与第二随机数进行哈希运算,生成第一摘要哈希,将所述第一摘要哈希发送至所述云服务器;以使在第二周期,所述云服务器将所述采用摘要算法生成所述第二MQTT响应消息的第二摘要,并获取第二周期的所述第一随机数与所述第二随机数,将所述第二摘要与所述第二周期的第一随机数与所述第二随机数进行哈希运算,生成第二摘要哈希;所述服务器将所述第一摘要哈希与所述第二摘要哈希进行比对,若比对成功,则安全验证通过。
10.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时实现权利要求1至7任一项所述的方法。
CN202210160633.3A 2021-03-29 2021-03-29 一种基于云计算的安全验证方法、装置及电子设备 Withdrawn CN114499855A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210160633.3A CN114499855A (zh) 2021-03-29 2021-03-29 一种基于云计算的安全验证方法、装置及电子设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110335775.4A CN113098685B (zh) 2021-03-29 2021-03-29 一种基于云计算的安全验证方法、装置及电子设备
CN202210160633.3A CN114499855A (zh) 2021-03-29 2021-03-29 一种基于云计算的安全验证方法、装置及电子设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202110335775.4A Division CN113098685B (zh) 2021-03-29 2021-03-29 一种基于云计算的安全验证方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN114499855A true CN114499855A (zh) 2022-05-13

Family

ID=76670632

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110335775.4A Active CN113098685B (zh) 2021-03-29 2021-03-29 一种基于云计算的安全验证方法、装置及电子设备
CN202210160633.3A Withdrawn CN114499855A (zh) 2021-03-29 2021-03-29 一种基于云计算的安全验证方法、装置及电子设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202110335775.4A Active CN113098685B (zh) 2021-03-29 2021-03-29 一种基于云计算的安全验证方法、装置及电子设备

Country Status (1)

Country Link
CN (2) CN113098685B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019022674A1 (en) * 2017-07-27 2019-01-31 Nanyang Technological University AUTHENTICATION REALIZATION METHOD FOR TRANSACTION AND SYSTEM THEREOF
CN110708281B (zh) * 2019-08-26 2022-07-22 上海商米科技集团股份有限公司 业务请求处理方法及装置
CN111562947B (zh) * 2020-04-01 2021-08-03 支付宝实验室(新加坡)有限公司 一种业务处理方法、装置及电子设备
CN111988324A (zh) * 2020-08-25 2020-11-24 广州鲁邦通物联网科技有限公司 一种数据通讯方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN113098685B (zh) 2022-03-22
CN113098685A (zh) 2021-07-09

Similar Documents

Publication Publication Date Title
CN112422532B (zh) 业务通信方法、系统、装置及电子设备
CN113347206B (zh) 一种网络访问方法和装置
CN109413201B (zh) Ssl通信方法、装置及存储介质
CN109583898B (zh) 基于tee和区块链进行支付的智能终端及方法
US10601590B1 (en) Secure secrets in hardware security module for use by protected function in trusted execution environment
CN110020955B (zh) 在线医保信息处理方法及装置、服务器和用户终端
CN112491776B (zh) 安全认证方法及相关设备
CN110958119A (zh) 身份验证方法和装置
CN112632573B (zh) 智能合约执行方法、装置、系统、存储介质及电子设备
CN112968910B (zh) 一种防重放攻击方法和装置
CN109729000B (zh) 一种即时通信方法及装置
CN112153015A (zh) 多重加密的接口认证方法、装置、设备和可读存储介质
CN115333839B (zh) 数据安全传输方法、系统、设备及存储介质
CN111414640B (zh) 秘钥访问控制方法和装置
CN113542274A (zh) 一种跨网域数据传输方法、装置、服务器及存储介质
CN112966287A (zh) 获取用户数据的方法、系统、设备和计算机可读介质
CN114125027B (zh) 一种通信建立方法、装置、电子设备及存储介质
US8676998B2 (en) Reverse network authentication for nonstandard threat profiles
CN112328415A (zh) 接口调用方法、装置、计算机设备和可读存储介质
CN113098685B (zh) 一种基于云计算的安全验证方法、装置及电子设备
CN113225348B (zh) 请求防重放校验方法和装置
WO2019184206A1 (zh) 身份认证方法及装置
CN111049798B (zh) 一种信息处理方法、装置和计算机可读存储介质
CN112242976B (zh) 一种身份认证方法及装置
CN115623013A (zh) 一种策略信息同步方法、系统及相关产品

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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20220513