CN110808991B - 一种安全通信连接的方法、系统、电子设备及存储介质 - Google Patents

一种安全通信连接的方法、系统、电子设备及存储介质 Download PDF

Info

Publication number
CN110808991B
CN110808991B CN201911090519.2A CN201911090519A CN110808991B CN 110808991 B CN110808991 B CN 110808991B CN 201911090519 A CN201911090519 A CN 201911090519A CN 110808991 B CN110808991 B CN 110808991B
Authority
CN
China
Prior art keywords
terminal
function library
key
communication
session
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.)
Active
Application number
CN201911090519.2A
Other languages
English (en)
Other versions
CN110808991A (zh
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.)
Jinmao Green Building Technology Co Ltd
Original Assignee
Jinmao Green Building 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 Jinmao Green Building Technology Co Ltd filed Critical Jinmao Green Building Technology Co Ltd
Priority to CN201911090519.2A priority Critical patent/CN110808991B/zh
Publication of CN110808991A publication Critical patent/CN110808991A/zh
Application granted granted Critical
Publication of CN110808991B publication Critical patent/CN110808991B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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
    • 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/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • 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
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明提供了一种安全通信连接的方法、系统、电子设备及存储介质。所述方法包括:云平台接收存储网关设备的公共参数和通信公钥证书;终端获得云平台存储的公共参数和通信公钥证书以使得第一函数库初始化;第二函数库接收交换证书指令后生成会话密钥,将会话密钥和通信公钥证书发送终端;终端验证第二函数库存储的通信公钥证书与从云平台获取的通信公钥证书一致并保存在本地;第二函数库接收同步会话指令和会话密钥,建立网关设备与终端的安全通信连接。本发明的方案终端与网关设备之间的通信数据进行双重加密,并且会话密钥、公钥和私钥均保存在网关设备和终端各自的函数库中,保证了通信数据的安全,使得用户的隐私数据不会被泄露。

Description

一种安全通信连接的方法、系统、电子设备及存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种安全通信连接的方法、系统、电子设备及存储介质。
背景技术
目前大数据时代,智能家居系统越来越多的被应用,其为用户带来了智能化的生活,并且目前的智能化设备功能越发强大,用户使用也方便快捷,在可预期的未来,智能家居系统不但会被应用于普通家庭,还会被广泛应用于大型商超、写字楼等场景。
但智能家居系统中智能化设备数量较多,也随之带来的很多问题。其中最大的问题就是用户的隐私数据泄露问题,由于目前的智能设备的通信技术中大多数并未使用专门的加密技术,或者少数只是使用简单的加密技术,很容易在数据通信传输过程中数据信息被捕获解密,从而导致智能化设备被非法人员操控造成一些严重的损失。
发明内容
本发明提供的一种安全通信连接的方法、系统、电子设备及存储介质,解决了上述问题。
为了解决上述技术问题,本发明实施例提供了一种安全通信连接的方法,应用于安全通信系统,所述安全通信系统包括:终端、云平台以及网关设备;所述云平台中存储用户的房产信息,所述网关设备与用户的房产绑定且唯一对应;所述终端和所述网关设备分别内嵌有第一函数库和第二函数库;所述方法包括:
所述第二函数库初始化,从所述云平台获取通信密钥的公钥;
所述云平台接收并存储所述第二函数库发送的所述网关设备的公共参数和通信公钥证书;
所述终端绑定所述云平台中存储的用户的房产信息,从而获得所述云平台中存储的用户的房产信息对应的网关设备的公共参数和通信公钥证书;
所述终端将所述云平台中存储的所述网关设备的公共参数和通信公钥证书发送给所述第一函数库,以使得所述第一函数库初始化;
所述终端向所述第一函数库申请交换证书指令,并将所述交换证书指令发送给所述第二函数库;
所述第二函数库接收所述交换证书指令后,生成会话密钥,并将所述会话密钥和自身存储的通信公钥证书发送给所述终端;
所述终端接收所述会话密钥和所述第二函数库存储的通信公钥证书,验证所述第二函数库存储的通信公钥证书与从所述云平台获取的所述网关设备的通信公钥证书是否一致,并在两者一致的情况下,将所述会话密钥和所述第二函数库存储的通信公钥证书保存在本地;
所述终端向所述第一函数库发送本地保存的所述通信公钥证书,以获取同步会话指令,并将所述同步会话指令和本地保存的所述会话密钥发送给所述第二函数库;
所述第二函数库接收所述终端发送的同步会话指令和会话密钥,并建立所述网关设备与所述终端的第一次安全通信连接。
可选地,所述第二函数库接收所述终端发送的同步会话指令和会话密钥,并建立所述网关设备与所述终端的第一次安全通信连接,包括:
所述第二函数库接收所述终端发送的同步会话指令和会话密钥,并解密所述终端发送的会话密钥;
所述第二函数库在成功解密所述终端发送的会话密钥的情况下,所述第二函数库根据所述同步会话指令建立所述网关设备与所述终端的第一次安全通信连接。
可选地,在建立所述网关设备与所述终端的第一次安全通信连接之后,还包括:
所述终端将自身的唯一标识发送给所述第一函数库;
所述第一函数库采用所述会话密钥对所述唯一标识进行加密,得到所述唯一标识的加密串,并将所述加密串返回给所述终端;
所述终端将所述加密串发送给所述第二函数库;
所述第二函数库根据所述加密串生成对应于该加密串的令牌并保存;
所述第二函数库利用所述会话密钥对所述令牌和从所述云平台获得的私钥进行加密,并通过所述网关设备将加密后的令牌和私钥发送给所述终端;
所述终端接收加密后的令牌和私钥,利用所述第一函数库解密后,将所述令牌和所述私钥保存在本地;
所述终端向所述网关设备发送挑战信息,所述挑战信息用于所述网关设备进行鉴权操作,以再一次建立所述终端与所述网关设备之间的安全通信连接。
可选地,所述终端向所述网关设备发送挑战信息,所述挑战信息用于所述网关设备进行鉴权操作,以再一次建立所述终端与所述网关设备之间的安全通信连接,包括:
所述网关设备通过所述第二函数库利用所述会话密钥和所述公钥对所述挑战信息进行双重加密,并将双重加密后的挑战信息发送给所述终端;
所述终端接收所述双重加密后的挑战信息,将其和本地保存的所述私钥发送给所述第一函数库;
所述第一函数库利用所述会话密钥和所述私钥解密所述双重加密后的挑战信息后,对所述挑战信息进行签名,并将签名后的挑战信息再利用所述会话密钥和所述私钥进行双重加密后返给所述终端;
所述终端将双重加密后的签名后的挑战信息和本地保存的所述令牌发送给所述第二函数库;
所述第二函数库利用所述会话密钥和所述公钥解密所述双重加密后的签名后的挑战信息,进行鉴权操作,并返回鉴权结果;
在所述鉴权结果为鉴权正确的情况下,所述终端与所述网关设备建立第二次安全通信连接,以使得所述终端与所述网关设备利用所述会话密钥、所述公钥以及所述私钥再一次建立安全连接,以进行后续通信数据安全交互。
可选地,其特征在于,所述会话密钥具有时限性,在所述会话密钥的时限到期的情况下,所述终端与所述网关设备的安全连接自动中断,所述终端与所述网关设备重新执行以上任一所述的方法以实现两者的安全连接。
可选地,在所述会话密钥的时限未到期的情况下,所述终端与所述网关设备的安全连接中断且再一次需要连接时,所述终端不执行以下步骤:
所述终端将自身的唯一标识发送给所述第一函数库;
所述第一函数库采用所述会话密钥对所述唯一标识进行加密,得到所述唯一标识的加密串,并将所述加密串返回给所述终端;
所述终端将所述加密串发送给所述第二函数库;
所述第二函数库根据所述加密串生成对应于该加密串的令牌并保存;
所述第二函数库利用所述会话密钥对所述令牌和从所述云平台获得的私钥进行加密,并通过所述网关设备将加密后的令牌和私钥发送给所述终端;
所述终端接收加密后的令牌和私钥,利用所述第一函数库解密后,将所述令牌和所述私钥保存在本地。
本发明实施例还提供了一种安全通信连接的系统,所述安全通信系统包括:终端、云平台以及网关设备;所述云平台中存储用户的房产信息,所述网关设备与用户的房产绑定且唯一对应;所述终端和所述网关设备分别内嵌有第一函数库和第二函数库;
所述云平台包括:云平台存储模块;
云平台存储模块,用于接收并存储所述第二函数库发送的所述网关设备的公共参数和通信公钥证书;
所述终端包括:获得参数证书模块、终端函数库初始化模块、申请指令模块、验证保存模块以及获取同步会话指令模块;
获得参数证书模块,用于绑定所述云平台中用户的房产信息,从而获得所述云平台中存储的用户的房产信息对应的网关设备的公共参数和通信公钥证书;
终端函数库初始化模块,用于将所述云平台中存储的所述网关设备的公共参数和通信公钥证书发送给所述第一函数库,以使得所述第一函数库初始化;
申请指令模块,用于向所述第一函数库申请交换证书指令,并将所述交换证书指令发送给所述第二函数库;
验证保存模块,用于接收所述会话密钥和所述第二函数库存储的通信公钥证书,验证所述第二函数库存储的通信公钥证书与从所述云平台获取的所述网关设备的通信公钥证书是否一致,并在两者一致的情况下,将所述会话密钥和所述第二函数库存储的通信公钥证书保存在本地;
获取同步会话指令模块,用于向所述第一函数库发送本地保存的所述通信公钥证书,以获取同步会话指令,并将所述同步会话指令和本地保存的所述会话密钥发送给所述第二函数库;
所述网关设备包括:初始化获取密钥模块、生成密钥模块以及验证建立模块;
初始化获取密钥模块,用于所述第二函数库初始化,从所述云平台获取通信密钥的公钥;
生成密钥模块,用于所述第二函数库接收所述交换证书指令后,生成会话密钥,并将所述会话密钥和自身存储的通信公钥证书发送给所述终端;
验证建立模块,用于所述第二函数库接收所述终端发送的所述同步会话指令和所述会话密钥,并建立所述网关设备与所述终端的第一次安全通信连接。
可选地,所述验证建立模块包括:
验证子模块,用于所述第二函数库接收所述终端发送的所述同步会话指令和所述会话密钥,并解密所述终端发送的会话密钥;
建立子模块,用于所述第二函数库在成功解密所述终端发送的会话密钥的情况下,所述第二函数库根据所述同步会话指令建立所述网关设备与所述终端的第一次安全通信连接。
可选地,所述终端还包括:唯一标识发送模块、生成加密串模块、发送加密串模块、解密保存模块以及发送挑战信息模块;
唯一标识发送模块,用于将自身的唯一标识发送给所述第一函数库;
生成加密串模块,用于所述第一函数库采用所述会话密钥对所述唯一标识进行加密,得到所述唯一标识的加密串,并将所述加密串返回给所述终端;
发送加密串模块,用于将所述加密串发送给所述第二函数库;
解密保存模块,用于接收加密后的令牌和私钥,利用所述第一函数库解密后,将所述令牌和所述私钥保存在本地;
发送挑战信息模块,用于向所述网关设备发送挑战信息,所述挑战信息用于所述网关设备进行鉴权操作,以再一次建立所述终端与所述网关设备之间的安全通信连接;
所述网关设备还包括:生成令牌模块、令牌和私钥加密模块;
生成令牌模块,用于所述第二函数库根据所述加密串生成对应于该加密串的令牌并保存;
令牌和私钥加密模块,用于所述第二函数库利用所述会话密钥对所述令牌和从所述云平台获得的私钥进行加密,并通过所述网关设备将加密后的令牌和私钥发送给所述终端。
可选地,所述终端还包括:双重加密和私钥发送模块、解密签名和双重加密模块、签名和令牌发送模块;
双重加密和私钥发送模块,用于接收所述双重加密后的挑战信息,将其和本地保存的所述私钥发送给所述第一函数库;
解密签名和双重加密模块,用于所述第一函数库利用所述会话密钥和所述私钥解密所述双重加密后的挑战信息后,对所述挑战信息进行签名,并将签名后的挑战信息再利用所述会话密钥和所述私钥进行双重加密后返给所述终端;
签名和令牌发送模块,用于将双重加密后的签名后的挑战信息和本地保存的所述令牌发送给所述第二函数库;
所述网关设备还包括:双重加密发送模块、鉴权模块、建立连接模块;
双重加密发送模块,用于通过所述第二函数库利用所述会话密钥和所述公钥对所述挑战信息进行双重加密,并将双重加密后的挑战信息发送给所述终端;
鉴权模块,用于所述第二函数库利用所述会话密钥和所述公钥解密所述双重加密后的签名后的挑战信息,进行鉴权操作,并返回鉴权结果;
建立连接模块,用于在所述鉴权结果为鉴权正确的情况下,所述终端与所述网关设备建立第二次安全通信连接,以使得所述终端与所述网关设备利用所述会话密钥、所述公钥以及所述私钥再一次建立安全连接,以进行后续通信数据安全交互。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明以上任一所述的方法中的步骤。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本发明以上任一所述的方法中的步骤。
采用本发明提供的安全通信连接的方法,在网关设备和终端两侧分别内嵌用于通信的加、解密技术的函数库,网关设备的函数库初始化时即获得通信的公钥,并将自身公共参数和公钥证书返给云平台,终端在绑定云平台中存储的用户的房产信息时从云平台获取房产信息对应的网关设备的公共参数和公钥证书以用来初始化自身的函数库,之后终端通过交换证书指令,获得第二函数库生成的会话密钥和其自身存储的通信公钥证书,在验证第二函数库存储的通信公钥证书与从云平台获取的网关设备的通信公钥证书一致的情况下,将会话密钥和通信公钥证书保存在本地,此即保证了终端与网关设备绑定的唯一性和正确性,并且使得网关设备和终端两者的函数库均拥有了会话密钥;最后终端向第二函数库发送同步会话指令和本地保存的会话密钥,第二函数库建立网关设备与终端的第一次安全通信连接,此即保证了网关设备和终端两者的函数库拥有的会话密钥的正确性和一致性。通过上述方法,使得网关设备和终端建立了第一次安全可靠的连接,之后终端与网关设备之间的数据交互均基于会话密钥的加密技术,保证了两者通信的安全性,即使在数据通信传输过程中数据信息被捕获,也因为会话密钥在初始化时就被保存在各自的函数库中而无法被解密,从而保证了通信数据的安全,使得用户的隐私数据不会被泄露。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一种安全通信连接的方法的流程图;
图2是本发明实施例再一次建立网关设备与终端的安全通信连接的方法的流程图;
图3是本发明实施例步骤207的具体流程图;
图4是本发明实施例一种安全通信连接的系统的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
发明人发现目前由于同一生产厂家的智能家居系统所使用的智能化设备基本为同一型号产品,自然其使用的通信技术也一样,而大多数的智能化设备进行数据通信并未加密,少数有加密的也是比较简单的传统式的加密技术,例如:令牌(token)加密技术,很容易被破解。
上述情况会造成用户的隐私数据泄露的情况,例如:多个用户均使用同一生产厂家的产品,因为使用同样的通信技术,就会出现A用户的控制设备可以操作B、C用户的智能化设备的情况,B用户的控制设备也可以操作A、C用户的智能化设备的情况,并且因为加密技术简单,非法用户可以很容易破解,从而任意窃取用户的隐私数据。
还有另一种情况,某一用户分别使用了不同生产厂家生产的智能化设备,因为各自的通信技术不同,并且有些可能有简单加密技术,有些可能没有加密技术,因此用户还需要额外使用协议转换设备来实现所有智能化设备之间的数据通信,这样不但增加了用户的使用成本,而且因为通信数据交互次数的增多,使得通信数据更容易被捕获,再加上通信数据本身安全性就不高,很容易就被破解,用户隐私数据很容易就被窃取。
针对上述问题,发明人经过深入研究,创造性的在网关设备和终端两侧分别内嵌用于通信的加、解密技术的函数库,在终端与网关设备绑定时即保证了两者的唯一性和正确性,也保证了两者的函数库拥有的会话密钥的正确性和一致性。从而建立了安全可靠的连接。以下对本发明的方案进行具体解释和说明。
图1示出了本发明实施例一种安全通信连接的方法的流程图,该方法应用于安全通信系统,该安全通信系统包括:终端、云平台以及网关设备;云平台中存储用户的房产信息,网关设备与用户的房产绑定且唯一对应,终端和网关设备分别内嵌有第一函数库和第二函数库;安全通信连接的方法包括如下步骤:
步骤101:第二函数库初始化,从云平台获取通信密钥的公钥。
本发明实施例中,云平台是指物联网云平台或者生产智能化设备的厂家自己搭建的云平台,云平台中存储着用户的房产信息,例如:用户A的房产信息为北京市海淀区顺城大街3号附6号,那么云平台中会存有用户A的房产信息;网关设备是指智能家居中与云平台进行数据交互的智能化设备,一般用户使用同一生产厂家生产的智能家居系统时,整个智能家居系统中只有一个网关设备,其负责整个智能家居系统中其他所有设备的管理,网关设备和用户的房产是绑定且唯一对应的,即当网关设备与云平台连接后,网关设备就与云平台中用户的房产信息关联,两者唯一对应;终端为用户使用的可以对智能家居系统进行控制的设备,目前一般是用户通过安装由生产智能化设备的厂家提供的APP在手机、电脑等智能化设备中,来实现对智能家居系统进行控制,当然,也可以由生产智能化设备的厂家专门提供用来控制智能家居系统的终端。
无论上述那种终端,均会内嵌有第一函数库,该第一函数库主要用于通信数据的加、解密,还用于提供管理、控制智能家居系统的指令代码等。网关设备中同样内嵌有第二函数库,该第二函数库作用与第一函数库相同。
在网关设备通电开始使用时,其内嵌的第二函数库会自动初始化,通过网络从云平台获取对应该网关设备的通信密钥的公钥和私钥并存储,该通信密钥的公钥和私钥是该网关设备唯一对应的。
作为一个示例:A用户和B用户均使用了同一厂家生产的智能家居系统,A用户智能家居系统中的网关设备为网关设备A;B用户智能家居系统中的网关设备为网关设备B。那么在网关设备A或者网关设备B通电开始使用时,网关设备A或者网关设备B各自内嵌的第二函数库会自动初始化,分别通过网络从云平台获取对应网关设备A的通信密钥的公钥和私钥并存储,对应网关设备B的通信密钥的公钥和私钥并存储,而网关设备A的通信密钥的公钥和私钥与网关设备B的通信密钥的公钥和私钥并不一样,两者也不通用,彼此之间不可能实现加、解密,即,用网关设备A的公钥或者私钥加密的通信数据是不可能用网关设备B的公钥或者私钥进行解密的,反过来也一样。
另外,需要说明的是,由于第一、第二函数库均是内嵌的,所以第一、第二函数库接收或者发送的任何数据均需要由内嵌它们的终端、网关设备来透传,本发明的说明书中所有关于第一、第二函数库接收或者发送数据的操作均包含由内嵌它们的终端、网关设备来透传的操作,为了说明书的简洁,不再单独描述。
步骤102:云平台接收并存储第二函数库发送的网关设备的公共参数和通信公钥证书。
本发明实施例中,第二函数库得到通信密钥的公钥和私钥后,向云平台发送网关设备的公共参数和通信公钥证书,云平台会接收并存储第二函数库发送的网关设备的公共参数和通信公钥证书。其中,网关设备的公共参数为网关设备的一些表征自身标识、设置数据、自定义数据等内容的参数;通信公钥证书为第二函数库根据公钥生成的标识该公钥为自身唯一拥有的证书。
沿用上述示例:云平台会接收并存储网关设备A的第二函数库发送的网关设备A的公共参数和通信公钥证书A,也会接收并存储网关设备B的第二函数库发送的网关设备B的公共参数和通信公钥证书B,通信公钥证书A标识该公钥为网关设备A唯一拥有,通信公钥证书B标识该公钥为网关设备B唯一拥有,云平台就明确区分了网关设备A和网关设备B。
步骤103:终端绑定云平台中存储的用户的房产信息,从而获得云平台中存储的用户的房产信息对应的网关设备的公共参数和通信公钥证书。
本发明实施例中,在步骤102后,终端才可以开始绑定云平台中用户的房产信息,以关联对应该房产的网关设备,从而获得云平台中存储的用户的房产信息对应的网关设备的公共参数和通信公钥证书。这样是因为只有网关设备与云平台完成步骤101~步骤102两步之后,云平台中存储的用户的房产信息下才会出现与该用户房产绑定的网关设备。
沿用上述示例:在步骤102之后,网关设备A和网关设备B才会分别出现在云平台中用户A的房产信息和用户B的房产信息下,假若B用户没有为网关设备B通电,而是先使用终端B绑定云平台,那么B用户在云平台中用户B的房产信息下是找不到网关设备B的。
需要说明的是,一般情况下,用户第一次使用智能家居系统时,是由专业工作人员进行第一次调试设置,即步骤101~步骤102是会由专业工作人员完成,完成后网关设备会出现在云平台对应用户的房产信息中,用户只需要直接从步骤103开始即可。当然,由于步骤101~步骤102是网关设备自身初始化即可完成的,所以用户只需要知道网关设备的设备名称,就可以在云平台中自身房产信息下找到网关设备。
步骤104:终端将云平台中存储的网关设备的公共参数和通信公钥证书发送给第一函数库,以使得第一函数库初始化。
本发明实施例中,终端获得云平台中存储的用户的房产信息对应的网关设备的公共参数和通信公钥证书后,发送给自身内嵌的第一函数库,以使得第一函数库初始化,初始化后的第一函数库才可以开展后续的工作。
步骤105:终端向第一函数库申请交换证书指令,并将交换证书指令发送给第二函数库。
本发明实施例中,在第一函数库初始化完成后,终端需要向第一函数库申请交换证书指令,该指令是提前内置在第一函数库中的,需要终端主动申请才可以返给终端,终端接收到该交换证书指令后,将该交换证书指令发送给第二函数库。
需要说明的是,从步骤105开始之后的所有步骤(包括步骤105本身),终端与网关设备之间的任何数据交互均为局域网内数据交互,此种方式借用局域网自身的安全优势性,有利于减少通信数据被捕获的可能。
步骤106:第二函数库接收交换证书指令后,生成会话密钥,并将会话密钥和自身存储的通信公钥证书发送给终端。
本发明实施例中,第二函数库接收交换证书指令后,会根据该指令生成会话密钥,在会话密钥生成完成后,再将会话密钥和自身存储的通信公钥证书发送给终端。
步骤107:终端接收会话密钥和第二函数库存储的通信公钥证书,验证第二函数库存储的通信公钥证书与从云平台获取的网关设备的通信公钥证书是否一致,并在两者一致的情况下,将会话密钥和第二函数库存储的通信公钥证书保存在本地。
本发明实施例中,终端接收到第二函数库发送的会话密钥和第二函数库存储的通信公钥证书之后,验证第二函数库存储的通信公钥证书与步骤103中从云平台获取的网关设备的通信公钥证书是否一致,并在两者一致的情况下,将会话密钥和第二函数库存储的通信公钥证书保存在本地。假若终端验证第二函数库存储的通信公钥证书与步骤103中从云平台获取的网关设备的通信公钥证书不一致(例如非法人员篡改了第二函数库存储的通信公钥证书),则终端将不会保存会话密钥和第二函数库存储的通信公钥证书,本次操作失败,用户需要再次执行步骤101~步骤107,直到验证通过为止。
通过上述过程,就保证了终端与网关设备绑定的唯一性和正确性,并且使得网关设备和终端两者的函数库均拥有了会话密钥。
沿用上述示例:A用户使用终端A从云平台获取到网关设备A的通信公钥证书A,并初始化了终端A的第一函数库,之后终端A向其第一函数库申请交换证书指令,并将交换证书指令发送给网关设备A的第二函数库,网关设备A的第二函数库接收交换证书指令后,生成会话密钥,并将会话密钥和自身存储的通信公钥证书A发送给终端,终端A接收会话密钥和网关设备A存储的通信公钥证书A,验证网关设备A存储的通信公钥证书A与从云平台获取的网关设备A的通信公钥证书A一致,终端A将会话密钥和通信公钥证书A保存在本地。假若终端A验证网关设备A存储的通信公钥证书A与从云平台获取的网关设备A的通信公钥证书A不一致,那么终端A不会保存会话密钥和任何通信公钥证书A,本次操作失败,用户需要再次执行步骤101~步骤107,直到验证通过为止。
步骤108:终端向第一函数库发送本地保存的通信公钥证书,以获取同步会话指令,并将同步会话指令和本地保存的会话密钥发送给第二函数库。
本发明实施例中,在终端将会话密钥和第二函数库存储的通信公钥证书进行本地保存之后,终端向第一函数库发送本地保存的通信公钥证书,以获取同步会话指令,该同步会话指令同样也是提前内置在第一函数库中,需要终端主动发送本地保存的通信公钥证书才可以返给终端,终端获得同步会话指令后,将该同步会话指令和本地保存的会话密钥发送给第二函数库。
步骤109:第二函数库接收终端发送的同步会话指令和会话密钥,并建立网关设备与终端的第一次安全通信连接。
本发明实施例中,在第二函数库接收终端发送的同步会话指令和会话密钥后,需要经过解密操作,在解密成功的情况下,建立网关设备与终端的第一次安全通信连接,这样保证了网关设备和终端两者的函数库拥有的会话密钥的正确性和一致性。
需要说明的是,本发明实施例中的会话密钥实质上是指会话密钥索引,无论是第一函数库还是第二函数库,两者内置的各种函数和算法生成的会话密钥是保存在各自的函数库中的,其不能泄露,而会话密钥索引的作用是引导加、解密的函数库找到具体使用哪个会话密钥,其也是经过一系列算法而生成的。
例如:第二函数库使用H函数和E算法生成的会话密钥其对应的索引为6号,第二函数库将所需发送的通信数据使用H函数和E算法生成的会话密钥加密后,将加密后的通信数据和会话索引6号发送给终端的第一函数库,第一函数库接收到之后首先通过会话密钥索引6号找到对应的可以解密的H函数和E算法,才可以进行解密。这样做也同样是为了提高通信数据的安全性,假若通信数据被非法人员捕获,但非法人员一没有函数库中的H函数和E算法,二也并不知道6号具体表示哪种函数哪种算法,也就无法破解捕获的通信数据。
可选地,步骤109具体包括:
步骤s1:第二函数库接收终端发送的同步会话指令和会话密钥,并解密终端发送的会话密钥。
本发明实施例中,在第二函数库接收终端发送的同步会话指令和会话密钥后,第二函数库首先对终端发送的会话密钥进行解密,这样做是为了确保会话密钥没有被篡改。
步骤s2:第二函数库在成功解密终端发送的会话密钥的情况下,第二函数库根据同步会话指令建立网关设备与终端的第一次安全通信连接。
本发明实施例中,第二函数库在成功解密终端发送的会话密钥的情况下,即确保了会话密钥没有被篡改的情况下,第二函数库根据同步会话指令建立网关设备与终端的第一次安全通信连接,之后网关设备与终端的通信数据可以利用会话密钥来加、解密,从而达到了网关设备与终端的安全通信连接的目的,并且由于会话密钥为对称密钥,对称密钥本身具有计算速度较快,效率较高,占用资源空间较少等优点,再加上会话密钥是保存在网关设备和终端各自的函数库中,即使通信数据被捕获,但会话密钥不会被窃取就无法破解通信数据,因此网关设备与终端的通信数据安全可靠,保证了用户隐私数据的安全。
可选地,在建立网关设备与终端的第一次安全通信连接之后,为了更进一步的加强通信数据的安全性,本发明实施例还需要使用通信密钥的公钥和私钥对通信数据进一步进行非对称加密,参照图2,示出了具体步骤包括:
步骤201:终端将自身的唯一标识发送给第一函数库。
本发明实施例中,在终端与网关设备建立第一次安全通信连接后,终端将自身的唯一标识(例如MAC地址等)发送给第一函数库,目的是让第一函数库对唯一标识进行加密。
需要说明的是,在终端与网关设备建立第一次安全通信连接后,终端与网关设备的连接不可中断,假若两者之间的连接中断,那么需要重新从步骤101开始再次执行步骤101~步骤109,再次建立终端与网关设备之间的安全通信连接,然后再进行步骤201,而步骤201之后的所有步骤的执行过程当中,假若终端与网关设备的连接中断,也需要重新从步骤101开始再次执行步骤101~步骤109,再次建立终端与网关设备之间的安全通信连接,然后再按照步骤201以及之后的步骤执行。
步骤202:第一函数库采用会话密钥对唯一标识进行加密,得到唯一标识的加密串,并将加密串返回给终端。
步骤203:终端将加密串发送给第二函数库。
本发明实施例中,第一函数库接收到终端发送的唯一标识后,第一函数库采用会话密钥对唯一标识进行加密,得到唯一标识的加密串,并将加密串返回给终端,再由终端将加密串发送给第二函数库。
步骤204:第二函数库根据加密串生成对应于该加密串的令牌并保存。
本发明实施例中,第二函数库接收到终端发送的加密串后,第二函数库根据加密串生成对应于该加密串的令牌并保存,即,第二函数库根据终端的唯一标识生成对应于该唯一标识的令牌。
步骤205:第二函数库利用会话密钥对令牌和从云平台获得的私钥进行加密,并通过网关设备将加密后的令牌和私钥发送给终端。
本发明实施例中,第二函数库在生成令牌后,第二函数库再利用会话密钥对令牌和第二函数库初始化时从云平台获得的私钥进行加密,并通过网关设备将加密后的令牌和私钥发送给终端。
步骤206:终端接收加密后的令牌和私钥,利用第一函数库解密后,将令牌和私钥保存在本地。
本发明实施例中,终端接收到第二函数库利用会话密钥加密后的令牌和私钥,发给第一函数库,利用第一函数库解密后,得到令牌和私钥并将令牌和私钥保存在本地。到此步,终端和网关设备均拥有了通信密钥的公钥和私钥,之后终端与网关设备之间的通信数据就可以在会话密钥加密的基础上再用通信密钥的公钥和私钥进行双重加密,并且通信密钥的公钥和私钥也是保存在网关设备和终端各自的函数库中,更近一步加强了通信数据的安全性,基本杜绝了通信数据捕获被破解的可能性。
需要说明的是,通信密钥的公钥和私钥为非对称密钥,其优点是密钥成对出现双方各保存一个密钥任何一个密钥丢失不会导致信息的泄漏,但是存在效率较低,占用资源空间较多等缺点,但本发明实施例中,采用非对称密钥方式加密仅仅只是在会话密钥加密过的通信数据的密文上再次加密,而不是直接对庞大的通信数据本身加密,因此基本可以忽略其效率较低,占用资源空间较多等缺点。
步骤207:终端向网关设备发送挑战信息,挑战信息用于网关设备进行鉴权操作,以再一次建立终端与网关设备之间的安全通信连接。
本发明实施例中,在终端和网关设备均拥有了通信密钥的公钥和私钥之后,为了确保终端和网关设备均拥有了通信密钥的公钥和私钥,且通信密钥的公钥和私钥均正确且唯一对应,还需要网关设备进行一次鉴权操作,以达到上述目的。
因此,在终端和网关设备均拥有了通信密钥的公钥和私钥之后,终端向网关设备发送挑战信息,挑战信息用于网关设备进行鉴权操作,在网关设备鉴权操作结束并返回鉴权正确的信息后,才认为网关设备与终端真正完成安全通信连接的建立,即,相当于再一次建立终端与网关设备之间的安全通信连接,可以理解的是,此处所说的再一次建立终端与网关设备之间的安全通信连接是指,在第一次建立终端与网关设备之间的采用会话密钥的加密方式实现安全通信连接的基础上,再一次建立终端与网关设备之间的采用通信密钥的公钥和私钥的加密方式实现安全通信连接,其并不是指第一次建立终端与网关设备之间的通信连接中断而再一次建立终端与网关设备之间的安全通信连接的意思。如步骤201处所述也可知此意,在此不再赘述。
可选地,参照图3,步骤207具体包括:
步骤207a:网关设备通过第二函数库利用会话密钥和公钥对挑战信息进行双重加密,并将双重加密后的挑战信息发送给终端。
本发明实施例中,在终端和网关设备均拥有了通信密钥的公钥和私钥之后,终端向网关设备发送挑战信息,网关设备接收到该挑战信息后,通过第二函数库利用会话密钥和公钥对挑战信息进行双重加密,之后返给网关设备,再由网关设备将双重加密后的挑战信息发送给终端。
步骤207b:终端接收双重加密后的挑战信息,将其和本地保存的私钥发送给第一函数库。
步骤207c:第一函数库利用会话密钥和私钥解密双重加密后的挑战信息后,对挑战信息进行签名,并将签名后的挑战信息再利用会话密钥和私钥进行双重加密后返给终端。
本发明实施例中,终端接收网关设备发送的双重加密后的挑战信息,将其和终端本地保存的私钥发送给第一函数库,第一函数库利用已有的会话密钥和私钥解密双重加密后的挑战信息后,得到明文的挑战信息,并对该明文的挑战信息进行签名,并将签名后的挑战信息再利用会话密钥和私钥进行双重加密后返给终端。
此处假若第一函数库无法利用已有的会话密钥和私钥解密双重加密后的挑战信息,则说明终端和网关设备均拥有的通信密钥的公钥和私钥被窃取篡改或者会话密钥被窃取篡改,或者终端和网关设备建立安全通信连接的某些步骤出现问题,则从步骤101开始重新执行到步骤207。
步骤207d:终端将双重加密后的签名后的挑战信息和本地保存的令牌发送给第二函数库。
本发明实施例中,终端接收第一函数库发送的双重加密后的,经过第一函数库签名后的挑战信息,将其与终端本地保存的令牌发送给第二函数库,此步之所以要加终端本地保存的令牌,也是为了更进一步保障通信数据的安全性。
步骤207e:第二函数库利用会话密钥和公钥解密双重加密后的签名后的挑战信息,进行鉴权操作,并返回鉴权结果。
本发明实施例中,第二函数库接收到双重加密后的,经过第一函数库签名后的挑战信息,利用第二函数库的会话密钥和公钥解密双重加密后的,经过第一函数库签名后的挑战信息,得到明文的经过第一函数库签名后的挑战信息,再进行鉴权操作,并返回鉴权结果到网关设备。
步骤207f:在鉴权结果为鉴权正确的情况下,终端与网关设备建立第二次安全通信连接,以使得终端与网关设备利用会话密钥、公钥以及私钥再一次建立安全连接,以进行后续通信数据安全交互。
本发明实施例中,网关设备接收到第二函数库返回的鉴权结果,在鉴权结果为鉴权正确的情况下,网关设备与终端建立第二次安全通信连接,以使得终端与网关设备利用会话密钥、公钥以及私钥再一次建立安全连接,以进行后续通信数据安全交互。
假若网关设备接收到第二函数库返回的鉴权结果为鉴权错误,则从步骤101开始重新执行到步骤207。
可以理解的是,终端发送挑战信息,网关设备进行鉴权即相当于验证网关设备与终端是否正确建立第二次安全通信连接,之后网关设备与终端之间所有的通信数据均按照步骤207的方式进行安全交互。
可选地,本发明实施例中,为了更进一步地提高网关设备与终端之间通信数据的安全性,会话密钥设置为具有时限性,在会话密钥的时限到期的情况下,终端与网关设备的安全连接自动中断,假设会话密钥的时限为15分钟,那么在终端与网关设备建立第一次安全通信连接15分钟之后,终端与网关设备的安全连接会自动中断,终端与网关设备需要重新执行步骤101~步骤207的方法以实现两者的安全连接。
另外,假若在会话密钥的时限未到期的情况下,终端与网关设备的安全连接中断且再一次需要连接时,终端与网关设备从步骤101执行到步骤109之后,不执行步骤201~步骤206,可以直接执行步骤207。即,在终端与网关设备建立第一次安全通信连接15分钟之内,终端与网关设备建立第一次安全通信连接中断,并且需要再次建立安全通信连接时,终端与网关设备从步骤101执行到步骤109之后,不执行步骤201~步骤206,可以直接执行步骤207,但如果终端与网关设备建立第一次安全通信连接中断,再次建立安全通信连接时的时长超过了15分钟,那么终端与网关设备还是需要重新执行步骤101~步骤207的方法以实现两者的安全连接。
综上所述,本发明的整体方案是:在终端和网关设备中均内嵌用于对通信数据的加、解密的函数库,分别为第一函数库和第二函数库。首先在网关设备通电开始使用时,其内嵌的第二函数库会自动初始化,通过网络从云平台获取对应该网关设备的通信密钥的公钥和私钥并存储,第二函数库得到通信密钥的公钥和私钥后,向云平台发送网关设备的一些表征自身标识、设置数据、自定义数据等内容的参数和通信公钥证书,云平台会接收并存储第二函数库发送的网关设备的公共参数和通信公钥证书。在这之后,终端才可以开始绑定云平台存储的用户的房产信息,从而获得云平台中存储的用户的房产信息对应的网关设备的公共参数和通信公钥证书,并发送给自身内嵌的第一函数库,以使得第一函数库初始化。
在第一函数库初始化完成后,终端需要向第一函数库申请交换证书指令,终端接收到该交换证书指令后,将该交换证书指令发送给第二函数库,第二函数库接收交换证书指令后,会根据该指令生成会话密钥,在会话密钥生成完成后,再将会话密钥和自身存储的通信公钥证书发送给终端,终端接收到第二函数库发送的会话密钥和第二函数库存储的通信公钥证书之后,验证第二函数库存储的通信公钥证书与从云平台获取的网关设备的通信公钥证书是否一致,并在两者一致的情况下,将会话密钥和第二函数库存储的通信公钥证书保存在本地,在此之后,终端向第一函数库发送本地保存的通信公钥证书,以获取同步会话指令,终端获得同步会话指令后,将该同步会话指令和本地保存的会话密钥发送给第二函数库,第二函数库接收终端发送的同步会话指令和会话密钥,成功解密终端发送的会话密钥的情况下,第二函数库根据同步会话指令建立网关设备与终端的第一次安全通信连接。
在终端与网关设备建立第一次安全通信连接后,终端将自身的唯一标识(例如MAC地址等)发送给第一函数库,第一函数库接收到终端发送的唯一标识后,第一函数库采用会话密钥对唯一标识进行加密,得到唯一标识的加密串,并将加密串返回给终端,再由终端将加密串发送给第二函数库,第二函数库接收到终端发送的加密串后,第二函数库根据加密串生成对应于该加密串的令牌并保存,即,第二函数库根据终端的唯一标识生成对应于该唯一标识的令牌,第二函数库在生成令牌后,第二函数库再利用会话密钥对令牌和第二函数库初始化时从云平台获得的私钥进行加密,并通过网关设备将加密后的令牌和私钥发送给终端,终端接收到第二函数库利用会话密钥加密后的令牌和私钥,发给第一函数库,利用第一函数库解密后,得到令牌和私钥并将令牌和私钥保存在本地。
在终端和网关设备均拥有了通信密钥的公钥和私钥之后,终端向网关设备发送挑战信息,网关设备接收到该挑战信息后,通过第二函数库利用会话密钥和公钥对挑战信息进行双重加密,之后返给网关设备,再由网关设备将双重加密后的挑战信息发送给终端,终端接收网关设备发送的双重加密后的挑战信息,将其和终端本地保存的私钥发送给第一函数库,第一函数库利用已有的会话密钥和私钥解密双重加密后的挑战信息后,得到明文的挑战信息,并对该明文的挑战信息进行签名,并将签名后的挑战信息再利用会话密钥和私钥进行双重加密后返给终端,终端接收第一函数库发送的双重加密后的,经过第一函数库签名后的挑战信息,将其与终端本地保存的令牌发送给第二函数库,第二函数库接收到双重加密后的,经过第一函数库签名后的挑战信息,利用第二函数库的会话密钥和公钥解密双重加密后的,经过第一函数库签名后的挑战信息,得到明文的经过第一函数库签名后的挑战信息,再进行鉴权操作,并返回鉴权结果到网关设备,网关设备接收到第二函数库返回的鉴权结果,在鉴权结果为鉴权正确的情况下,网关设备与终端建立第二次安全通信连接,以使得终端与网关设备利用会话密钥、公钥以及私钥再一次建立安全连接,以进行后续通信数据安全交互。
另外,上述过程中,从步骤105开始后(包括步骤105)的所有步骤均是终端与网关设备在局域网内进行,即,终端与网关设备需要在同一局域网内,假若终端与网关设备不在同一局域网,那么终端需要通过广域网(例如互联网、移动数据等)才可以和网关设备进行之后的步骤,而通过广域网时终端所有发送给网关设备的数据以及接收的网关设备发送来的数据均需要经过业务服务器来转发。这样的方便了用户的使用,提升了体验感。
基于以上方案,使得终端和网关设备之间的数据交互时,通信数据是双重加密的,极大的提高了安全性,并且会话密钥、通信密钥的公钥和私钥均保存在网关设备和终端各自的函数库中,即使在数据通信传输过程中数据信息被捕获,也因为会话密钥、通信密钥的公钥和私钥被保存在各自的函数库中而无法被解密,从而保证了通信数据的安全,使得用户的隐私数据不会被泄露。
参照图4,示出了本发明实施例一种安全通信连接的系统的示意图,该安全通信系统包括:终端、云平台以及网关设备;云平台中存储用户的房产信息,网关设备与用户的房产绑定且唯一对应;终端和网关设备分别内嵌有第一函数库和第二函数库;
其中,云平台包括:云平台存储模块;
终端包括:获得参数证书模块、终端函数库初始化模块、申请指令模块、验证保存模块、获取同步会话指令模块、唯一标识发送模块、生成加密串模块、发送加密串模块、解密保存模块、发送挑战信息模块、双重加密和私钥发送模块、解密签名和双重加密模块以及签名和令牌发送模块。
网关设备包括:初始化获取密钥模块、生成密钥模块、验证建立模块、生成令牌模块、令牌和私钥加密模块、双重加密发送模块、鉴权模块、建立连接模块。
具体的:云平台存储模块,用于接收并存储第二函数库发送的网关设备的公共参数和通信公钥证书;
获得参数证书模块,用于绑定云平台中用户的房产信息,从而获得云平台中存储的用户的房产信息对应的网关设备的公共参数和通信公钥证书;
终端函数库初始化模块,用于将云平台中存储的网关设备的公共参数和通信公钥证书发送给第一函数库,以使得第一函数库初始化;
申请指令模块,用于向第一函数库申请交换证书指令,并将交换证书指令发送给第二函数库;
验证保存模块,用于接收会话密钥和第二函数库存储的通信公钥证书,验证第二函数库存储的通信公钥证书与从云平台获取的网关设备的通信公钥证书是否一致,并在两者一致的情况下,将会话密钥和第二函数库存储的通信公钥证书保存在本地;
获取同步会话指令模块,用于向第一函数库发送本地保存的通信公钥证书,以获取同步会话指令,并将同步会话指令和本地保存的会话密钥发送给第二函数库。
唯一标识发送模块,用于将自身的唯一标识发送给第一函数库;
生成加密串模块,用于第一函数库采用会话密钥对唯一标识进行加密,得到唯一标识的加密串,并将加密串返回给终端;
发送加密串模块,用于将加密串发送给第二函数库;
解密保存模块,用于接收加密后的令牌和私钥,利用第一函数库解密后,将令牌和私钥保存在本地;
发送挑战信息模块,用于向网关设备发送挑战信息,挑战信息用于网关设备进行鉴权操作,以再一次建立终端与网关设备之间的安全通信连接。
双重加密和私钥发送模块,用于接收双重加密后的挑战信息,将其和本地保存的私钥发送给第一函数库;
解密签名和双重加密模块,用于第一函数库利用会话密钥和私钥解密双重加密后的挑战信息后,对挑战信息进行签名,并将签名后的挑战信息再利用会话密钥和私钥进行双重加密后返给终端;
签名和令牌发送模块,用于将双重加密后的签名后的挑战信息和本地保存的令牌发送给第二函数库。
初始化获取密钥模块,用于第二函数库初始化,从云平台获取通信密钥的公钥;
生成密钥模块,用于第二函数库接收交换证书指令后,生成会话密钥,并将会话密钥和自身存储的通信公钥证书发送给终端;
验证建立模块,用于第二函数库接收终端发送的同步会话指令和会话密钥,并建立网关设备与终端的第一次安全通信连接。
生成令牌模块,用于第二函数库根据加密串生成对应于该加密串的令牌并保存;
令牌和私钥加密模块,用于第二函数库利用会话密钥对令牌和从云平台获得的私钥进行加密,并通过网关设备将加密后的令牌和私钥发送给终端。
双重加密发送模块,用于通过第二函数库利用会话密钥和公钥对挑战信息进行双重加密,并将双重加密后的挑战信息发送给终端;
鉴权模块,用于第二函数库利用会话密钥和公钥解密双重加密后的签名后的挑战信息,进行鉴权操作,并返回鉴权结果;
建立连接模块,用于在鉴权结果为鉴权正确的情况下,终端与网关设备建立第二次安全通信连接,以使得终端与网关设备利用会话密钥、公钥以及私钥再一次建立安全连接,以进行后续通信数据安全交互。
可选地,验证建立模块包括:
验证子模块,用于第二函数库接收终端发送的同步会话指令和会话密钥,并解密所述终端发送的会话密钥;
建立子模块,用于所述第二函数库在成功解密所述终端发送的会话密钥的情况下,第二函数库根据同步会话指令建立网关设备与终端的第一次安全通信连接。
基于同一发明构思,本发明另一实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如以上任一所述的方法中的步骤。
基于同一发明构思,本发明另一实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行时实现本发明上述任一实施例所述的方法中的步骤。
通过上述实施例,本发明的方案在终端与网关设备使用时,保证了终端与网关设备绑定的唯一性和正确性,并且使得网关设备和终端两者的函数库均拥有了会话密钥;保证了网关设备和终端两者的函数库拥有的会话密钥的正确性和一致性。通过上述方法,使得网关设备和终端建立了第一次安全可靠的连接,之后终端与网关设备之间的数据交互均基于会话密钥的加密技术,保证了两者通信的安全性;在建立网关设备与终端的第一次安全通信连接之后,为了更进一步的加强通信数据的安全性,还使用通信密钥的公钥和私钥对通信数据进一步进行非对称加密,终端和网关设备均拥有了通信密钥的公钥和私钥,之后终端与网关设备之间的通信数据就可以在会话密钥加密的基础上再用通信密钥的公钥和私钥进行双重加密,并且会话密钥、通信密钥的公钥和私钥均保存在网关设备和终端各自的函数库中,即使在数据通信传输过程中数据信息被捕获,也因为会话密钥、通信密钥的公钥和私钥被保存在各自的函数库中而无法被解密,从而保证了通信数据的安全,使得用户的隐私数据不会被泄露。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (8)

1.一种安全通信连接的方法,其特征在于,应用于安全通信系统,所述安全通信系统包括:终端、云平台以及网关设备;所述云平台中存储用户的房产信息,所述网关设备与用户的房产绑定且唯一对应;所述终端内嵌有第一函数库,所述网关设备内嵌有第二函数库;所述方法包括:
所述第二函数库初始化,从所述云平台获取通信密钥的公钥;
所述云平台接收并存储所述第二函数库发送的所述网关设备的公共参数和通信公钥证书;
所述终端绑定所述云平台中存储的用户的房产信息,从而获得所述云平台中存储的用户的房产信息对应的网关设备的公共参数和通信公钥证书;
所述终端将所述云平台中存储的所述网关设备的公共参数和通信公钥证书发送给所述第一函数库,以使得所述第一函数库初始化;
所述终端向所述第一函数库申请交换证书指令,并将所述交换证书指令发送给所述第二函数库;
所述第二函数库接收所述交换证书指令后,生成会话密钥,并将所述会话密钥和自身存储的通信公钥证书发送给所述终端;
所述终端接收所述会话密钥和所述第二函数库存储的通信公钥证书,验证所述第二函数库存储的通信公钥证书与从所述云平台获取的所述网关设备的通信公钥证书是否一致,并在两者一致的情况下,将所述会话密钥和所述第二函数库存储的通信公钥证书保存在本地;
所述终端向所述第一函数库发送本地保存的所述通信公钥证书,以获取同步会话指令,并将所述同步会话指令和本地保存的所述会话密钥发送给所述第二函数库;
所述第二函数库接收所述终端发送的同步会话指令和会话密钥,并解密所述终端发送的会话密钥;
所述第二函数库在成功解密所述终端发送的会话密钥的情况下,所述第二函数库根据所述同步会话指令建立所述网关设备与所述终端的第一次安全通信连接。
2.根据权利要求1所述的方法,其特征在于,在建立所述网关设备与所述终端的第一次安全通信连接之后,还包括:
所述终端将自身的唯一标识发送给所述第一函数库;
所述第一函数库采用所述会话密钥对所述唯一标识进行加密,得到所述唯一标识的加密串,并将所述加密串返回给所述终端;
所述终端将所述加密串发送给所述第二函数库;
所述第二函数库根据所述加密串生成对应于该加密串的令牌并保存;
所述第二函数库利用所述会话密钥对所述令牌和从所述云平台获得的私钥进行加密,并通过所述网关设备将加密后的令牌和私钥发送给所述终端;
所述终端接收加密后的令牌和私钥,利用所述第一函数库解密后,将所述令牌和所述私钥保存在本地;
所述终端向所述网关设备发送挑战信息,所述挑战信息用于所述网关设备进行鉴权操作,以再一次建立所述终端与所述网关设备之间的安全通信连接。
3.根据权利要求2所述的方法,其特征在于,所述终端向所述网关设备发送挑战信息,所述挑战信息用于所述网关设备进行鉴权操作,以再一次建立所述终端与所述网关设备之间的安全通信连接,包括:
所述网关设备通过所述第二函数库利用所述会话密钥和所述公钥对所述挑战信息进行双重加密,并将双重加密后的挑战信息发送给所述终端;
所述终端接收所述双重加密后的挑战信息,将其和本地保存的所述私钥发送给所述第一函数库;
所述第一函数库利用所述会话密钥和所述私钥解密所述双重加密后的挑战信息后,对所述挑战信息进行签名,并将签名后的挑战信息再利用所述会话密钥和所述私钥进行双重加密后返给所述终端;
所述终端将双重加密后的签名后的挑战信息和本地保存的所述令牌发送给所述第二函数库;
所述第二函数库利用所述会话密钥和所述公钥解密所述双重加密后的签名后的挑战信息,进行鉴权操作,并返回鉴权结果;
在所述鉴权结果为鉴权正确的情况下,所述终端与所述网关设备建立第二次安全通信连接,以使得所述终端与所述网关设备利用所述会话密钥、所述公钥以及所述私钥再一次建立安全连接,以进行后续通信数据安全交互。
4.根据权利要求3所述的方法,其特征在于,所述会话密钥具有时限性,在所述会话密钥的时限到期的情况下,所述终端与所述网关设备的安全连接自动中断,所述终端与所述网关设备重新执行权利要求1-3任一所述的方法以实现两者的安全连接。
5.根据权利要求3所述的方法,其特征在于,在所述会话密钥的时限未到期的情况下,所述终端与所述网关设备的安全连接中断且再一次需要连接时,所述终端不执行以下步骤:
所述终端将自身的唯一标识发送给所述第一函数库;
所述第一函数库采用所述会话密钥对所述唯一标识进行加密,得到所述唯一标识的加密串,并将所述加密串返回给所述终端;
所述终端将所述加密串发送给所述第二函数库;
所述终端接收加密后的令牌和私钥,利用所述第一函数库解密后,将所述令牌和所述私钥保存在本地。
6.一种安全通信连接的系统,其特征在于,所述安全通信连接的系统包括:终端、云平台以及网关设备;所述云平台中存储用户的房产,所述网关设备与用户的房产绑定且唯一对应;所述终端内嵌有第一函数库,所述网关设备内嵌有第二函数库;
所述云平台包括:云平台存储模块;
云平台存储模块,用于接收并存储所述第二函数库发送的所述网关设备的公共参数和通信公钥证书;
所述终端包括:获得参数证书模块、终端函数库初始化模块、申请指令模块、验证保存模块以及获取同步会话指令模块;
获得参数证书模块,用于绑定所述云平台中存储的用户的房产信息,从而获得所述云平台中存储的用户的房产信息对应的网关设备的公共参数和通信公钥证书;
终端函数库初始化模块,用于将所述云平台中存储的所述网关设备的公共参数和通信公钥证书发送给所述第一函数库,以使得所述第一函数库初始化;
申请指令模块,用于向所述第一函数库申请交换证书指令,并将所述交换证书指令发送给所述第二函数库;
验证保存模块,用于接收所述会话密钥和所述第二函数库存储的通信公钥证书,验证所述第二函数库存储的通信公钥证书与从所述云平台获取的所述网关设备的通信公钥证书是否一致,并在两者一致的情况下,将所述会话密钥和所述第二函数库存储的通信公钥证书保存在本地;
获取同步会话指令模块,用于向所述第一函数库发送本地保存的所述通信公钥证书,以获取同步会话指令,并将所述同步会话指令和本地保存的所述会话密钥发送给所述第二函数库;
所述网关设备包括:初始化获取密钥模块、生成密钥模块以及验证建立模块;
初始化获取密钥模块,用于所述第二函数库初始化,从所述云平台获取通信密钥的公钥;
生成密钥模块,用于所述第二函数库接收所述交换证书指令后,生成会话密钥,并将所述会话密钥和自身存储的通信公钥证书发送给所述终端;
验证建立模块包括:验证子模块和建立子模块;
所述验证子模块用于所述第二函数库接收所述终端发送的所述同步会话指令和所述会话密钥,并解密所述终端发送的会话密钥;
所述建立子模块用于所述第二函数库在成功解密所述终端发送的会话密钥的情况下,所述第二函数库根据所述同步会话指令建立所述网关设备与所述终端的第一次安全通信连接。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5任一所述的方法中的步骤。
8.一种电子设备,包括存储器、处理器,存储器上存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5任一所述的方法的步骤。
CN201911090519.2A 2019-11-08 2019-11-08 一种安全通信连接的方法、系统、电子设备及存储介质 Active CN110808991B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911090519.2A CN110808991B (zh) 2019-11-08 2019-11-08 一种安全通信连接的方法、系统、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911090519.2A CN110808991B (zh) 2019-11-08 2019-11-08 一种安全通信连接的方法、系统、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110808991A CN110808991A (zh) 2020-02-18
CN110808991B true CN110808991B (zh) 2020-10-09

Family

ID=69501711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911090519.2A Active CN110808991B (zh) 2019-11-08 2019-11-08 一种安全通信连接的方法、系统、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110808991B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020111019A1 (de) * 2020-04-22 2021-10-28 Endress+Hauser Conducta Gmbh+Co. Kg Verfahren zur Überprüfung der Authentizität von elektronischen Moduleneines modular aufgebauten Feldgeräts der Automatisierungstechnik
CN111770553A (zh) * 2020-06-22 2020-10-13 深圳中兴网信科技有限公司 物联网设备接入系统、方法、电子设备和存储介质
CN112019552B (zh) * 2020-08-31 2023-05-12 公安部第三研究所 一种物联网安全通信方法
CN114531225A (zh) * 2020-11-02 2022-05-24 深圳Tcl新技术有限公司 端到端通信加密方法、装置、存储介质及终端设备
CN115242468B (zh) * 2022-07-07 2023-05-26 广州河东科技有限公司 一种基于rs485总线的安全通信系统及其方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109522036A (zh) * 2018-10-10 2019-03-26 北京金茂绿建科技有限公司 一种固件升级方法、装置、介质及智能家居系统
CN109842667A (zh) * 2017-11-29 2019-06-04 北京京东尚科信息技术有限公司 用于云平台管理智能设备的方法及云平台系统
CN110086634A (zh) * 2019-05-16 2019-08-02 济南浪潮高新科技投资发展有限公司 一种智能摄像头安全认证和访问的系统及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103685323B (zh) * 2014-01-02 2016-08-17 中国科学院信息工程研究所 一种基于智能云电视网关的智能家居安全组网实现方法
KR102470938B1 (ko) * 2015-10-29 2022-11-28 삼성전자 주식회사 객실 관리 방법 및 장치
CN105959189B (zh) * 2016-06-08 2019-09-13 美的集团股份有限公司 家电设备及其与云服务器和终端的通讯系统及方法、终端
CN106059869B (zh) * 2016-07-26 2019-06-18 北京握奇智能科技有限公司 一种物联网智能家居设备安全控制方法及系统
CN107948027A (zh) * 2017-11-02 2018-04-20 南京物联传感技术有限公司 一种带有智能家居数据安全备份系统及工作方法
CN208424449U (zh) * 2018-08-10 2019-01-22 成都信息工程大学 基于云平台的汽车生产车间安全监测系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109842667A (zh) * 2017-11-29 2019-06-04 北京京东尚科信息技术有限公司 用于云平台管理智能设备的方法及云平台系统
CN109522036A (zh) * 2018-10-10 2019-03-26 北京金茂绿建科技有限公司 一种固件升级方法、装置、介质及智能家居系统
CN110086634A (zh) * 2019-05-16 2019-08-02 济南浪潮高新科技投资发展有限公司 一种智能摄像头安全认证和访问的系统及方法

Also Published As

Publication number Publication date
CN110808991A (zh) 2020-02-18

Similar Documents

Publication Publication Date Title
CN110808991B (zh) 一种安全通信连接的方法、系统、电子设备及存储介质
US10601801B2 (en) Identity authentication method and apparatus
CN110380852B (zh) 双向认证方法及通信系统
CN110690966B (zh) 终端与业务服务器连接的方法、系统、设备及存储介质
CN110784322B (zh) 一种网关设备与云平台连接的方法、系统、设备及介质
CN101459506B (zh) 密钥协商方法、用于密钥协商的系统、客户端及服务器
US9621545B2 (en) System and method for connecting client devices to a network
CN103118027B (zh) 基于国密算法建立tls通道的方法
CN105007577B (zh) 一种虚拟sim卡参数管理方法、移动终端及服务器
WO2016115807A1 (zh) 无线路由器的接入处理、接入方法及装置
CN110716441B (zh) 一种控制智能化设备的方法、智能家居系统、设备及介质
CN102404347A (zh) 一种基于公钥基础设施的移动互联网接入认证方法
CN109417545A (zh) 用于下载网络接入简档的技术
CN110635901B (zh) 用于物联网设备的本地蓝牙动态认证方法和系统
CN105282179A (zh) 一种基于cpk的家庭物联网安全控制的方法
CN112351037B (zh) 用于安全通信的信息处理方法及装置
CN108900309B (zh) 一种鉴权方法及鉴权系统
US11070537B2 (en) Stateless method for securing and authenticating a telecommunication
CN110839240B (zh) 一种建立连接的方法及装置
CN108259486B (zh) 基于证书的端到端密钥交换方法
CN114765534A (zh) 基于国密标识密码算法的私钥分发系统
CN110690969A (zh) 一种多方协同完成双向ssl/tls认证的方法和系统
CN116204914A (zh) 一种可信隐私计算方法、装置、设备及存储介质
CN115795446A (zh) 在可信计算平台中处理数据的方法及管理装置
CN112954643B (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
GR01 Patent grant
GR01 Patent grant