CN110690966B - 终端与业务服务器连接的方法、系统、设备及存储介质 - Google Patents
终端与业务服务器连接的方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN110690966B CN110690966B CN201911090515.4A CN201911090515A CN110690966B CN 110690966 B CN110690966 B CN 110690966B CN 201911090515 A CN201911090515 A CN 201911090515A CN 110690966 B CN110690966 B CN 110690966B
- Authority
- CN
- China
- Prior art keywords
- terminal
- service server
- key
- communication
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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 asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/0442—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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 involving a third party or a trusted authority
- H04L9/3213—Cryptographic 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 involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
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)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种终端与业务服务器连接的方法、系统、电子设备及存储介质。所述方法包括:业务服务器生成第一令牌以使安全服务器初始化生成通信密钥的公钥;并向函数库发通信公钥证书;业务服务器获取会话密钥将其和通信公钥证书发终端;终端验证业务服务器存储的通信公钥证书与函数库中的通信公钥证书一致将两者保存在本地;安全服务器接收同步会话指令和终端本地保存的会话密钥并建立业务服务器与终端的安全通信连接。本发明的方案通信数据进行双重加密,并且会话密钥、公钥和私钥保存在安全服务器和终端的函数库中,保证了通信数据的安全,使得终端和智能化设备无法被非法人员操控,用户的隐私数据不会被泄露。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种终端与业务服务器连接的方法、系统、电子设备及存储介质。
背景技术
目前大数据时代,智能家居系统越来越多的被应用,其为用户带来了智能化的生活,并且目前的智能化设备功能越发强大,用户使用也方便快捷,在可预期的未来,智能家居系统不但会被应用于普通家庭,还会被广泛应用于大型商超、写字楼等场景。
目前用户一般使用终端来对智能家居系统的智能化设备进行相关控制,在终端与智能化设备处于同一局域网的情况下,终端可以通过网关设备直接控制智能化设备,且因为局域网自身的特性,所有设备之间数据交互会比较安全;但若终端与智能化设备不处于同一局域网,那么终端与智能化设备之间的数据交互,均需要通过广域网(例如:互联网、移动数据等)以及业务服务器来实现,在数据传输过程中通信数据被窃取的风险就比较高。
目前终端与业务服务器之间的通信数据大多数并未使用专门的加密技术,或者少数只是使用简单的加密技术,造成通信数据很容易在数据通信传输过程中被捕获并被解密,从而导致终端和智能化设备被非法人员操控造成一些严重的损失,并且用户的隐私数据也会被泄露。
发明内容
本发明提供的一种终端与业务服务器连接的方法、系统、电子设备及存储介质,解决了上述问题。
为了解决上述技术问题,本发明实施例提供了一种终端与业务服务器连接的方法,应用于安全通信系统,所述安全通信系统包括:终端、业务服务器以及安全服务器;所述终端内嵌有函数库,所述安全服务器为所述业务服务器的函数库;所述方法包括:
所述业务服务器生成标识自身的第一令牌,并将所述第一令牌发送给所述安全服务器,以使得所述安全服务器初始化;
所述安全服务器初始化后,生成通信密钥的公钥;
所述安全服务器向所述业务服务器发送通信公钥证书和所述安全服务器的公共参数,并向所述函数库发送所述通信公钥证书;
所述业务服务器接收所述公共参数和所述通信公钥证书并保存在本地,并将所述公共参数和所述第一令牌发送给所述终端;
所述终端将所述公共参数和所述第一令牌发送给所述函数库,以使得所述函数库初始化;
所述终端向所述函数库申请交换证书指令,并将所述交换证书指令发送给所述业务服务器;
所述业务服务器接收所述交换证书指令后,从所述安全服务器中获取所述安全服务器生成的会话密钥,并将所述会话密钥和自身存储的通信公钥证书发送给所述终端;
所述终端接收所述会话密钥和所述业务服务器存储的通信公钥证书,验证所述业务服务器存储的通信公钥证书与所述函数库中的通信公钥证书是否一致,并在两者一致的情况下,将所述会话密钥和所述业务服务器存储的通信公钥证书保存在本地;
所述终端向所述函数库发送本地保存的所述通信公钥证书,以获取同步会话指令,并将所述同步会话指令和本地保存的会话密钥发送给所述安全服务器;
所述安全服务器接收所述终端发送的同步会话指令和会话密钥,并建立所述业务服务器与所述终端的第一次安全通信连接。
可选地,所述安全服务器接收所述终端发送的同步会话指令和会话密钥,并建立所述业务服务器与所述终端的第一次安全通信连接,包括:
所述安全服务器接收所述终端发送的同步会话指令和会话密钥,解密所述终端发送的会话密钥;
所述安全服务器在成功解密所述终端发送的会话密钥的情况下,所述安全服务器根据所述同步会话指令建立所述业务服务器与所述终端的第一次安全通信连接。
可选地,在建立所述业务服务器与所述终端的第一次安全通信连接之后,还包括:
所述终端将自身的唯一标识发送给所述函数库;
所述函数库采用所述会话密钥对所述唯一标识进行加密,得到所述唯一标识的加密串,并将所述加密串返回给所述终端;
所述终端将所述加密串发送给所述安全服务器;
所述安全服务器根据所述加密串生成对应于该加密串的第二令牌和对应于该加密串的通信密钥的私钥并保存;
所述安全服务器利用所述会话密钥对所述第二令牌和所述私钥进行加密,并通过所述业务服务器将加密后的第二令牌和私钥发送给所述终端;
所述终端接收加密后的第二令牌和私钥,利用所述函数库解密后,将所述第二令牌和所述私钥保存在本地;
所述终端向所述安全服务器发送挑战信息,所述挑战信息用于所述安全服务器进行鉴权操作,以再一次建立所述终端与所述业务服务器之间的安全连接。
可选地,所述终端向所述安全服务器发送挑战信息,所述挑战信息用于所述安全服务器进行鉴权操作,以再一次建立所述终端与所述业务服务器之间的安全连接,包括:
所述安全服务器利用所述会话密钥和所述公钥对所述挑战信息进行双重加密,并将双重加密后的挑战信息发送给所述终端;
所述终端接收所述双重加密后的挑战信息,将其和本地保存的所述私钥发送给所述函数库;
所述函数库利用所述会话密钥和所述私钥解密所述双重加密后的挑战信息后,对所述挑战信息进行签名,并将签名后的挑战信息再利用所述会话密钥和所述私钥进行双重加密后返给所述终端;
所述终端将双重加密后的签名后的挑战信息和本地保存的所述第二令牌发送给所述安全服务器;
所述安全服务器利用所述会话密钥和所述公钥解密所述双重加密后的签名后的挑战信息,进行鉴权操作,并返回鉴权结果;
在所述鉴权结果为鉴权正确的情况下,所述终端与所述业务服务器建立第二次安全通信连接,以使得所述终端与所述业务服务器利用所述会话密钥、所述公钥以及所述私钥再一次建立安全连接,以进行后续数据安全交互。
可选地,所述会话密钥具有时限性,在所述会话密钥的时限到期的情况下,所述终端与所述业务服务器的安全连接自动中断,所述终端与所述业务服务器重新执行权利要求1-4任一所述的方法以实现两者的安全连接。
可选地,在所述会话密钥的时限未到期的情况下,所述终端与所述业务服务器的安全连接中断且再一次需要连接时,所述终端不执行以下步骤:
所述终端将自身的唯一标识发送给所述函数库;
所述函数库采用所述会话密钥对所述唯一标识进行加密,得到所述唯一标识的加密串,并将所述加密串返回给所述终端;
所述终端将所述加密串发送给所述安全服务器;
所述安全服务器根据所述加密串生成对应于该加密串的第二令牌和对应于该加密串的通信的私钥并保存;
所述安全服务器利用所述会话密钥对所述第二令牌和所述私钥进行加密,并通过所述业务服务器将加密后的第二令牌和私钥发送给所述终端;
所述终端接收加密后的第二令牌和私钥,利用所述函数库解密后,将所述第二令牌和所述私钥保存在本地。
本发明实施例还提供了一种终端与业务服务器连接的系统,所述系统包括:终端、业务服务器以及安全服务器;所述终端内嵌有函数库,所述安全服务器为所述业务服务器的函数库;
所述业务服务器包括:生成第一令牌模块、接收保存模块、获取会话密钥并发送模块;
生成第一令牌模块,用于生成标识所述业务服务器的第一令牌,并将所述第一令牌发送给所述安全服务器,以使得所述安全服务器初始化;
接收保存模块,用于接收所述公共参数和所述通信公钥证书并保存在所述业务服务器的本地,并将所述公共参数和所述第一令牌发送给所述终端;
获取会话密钥并发送模块,用于接收所述交换证书指令后,从所述安全服务器中获取所述安全服务器生成的会话密钥,并将所述会话密钥和自身存储的通信公钥证书发送给所述终端;
所述安全服务器包括:生成公钥模块、发送公钥证书和公共参数模块、验证建立模块;
生成公钥模块,用于初始化后,生成通信密钥的公钥;
发送公钥证书和公共参数模块,用于向所述业务服务器发送通信公钥证书和所述安全服务器的公共参数,并向所述函数库发送所述通信公钥证书;
验证建立模块,用于接收所述终端发送的同步会话指令和会话密钥,并建立所述业务服务器与所述终端的第一次安全通信连接;
所述终端包括:初始化函数库模块、申请交换证书指令模块、验证存储模块、获取同步会话指令模块;
初始化函数库模块,用于将所述公共参数和所述第一令牌发送给所述函数库,以使得所述函数库初始化;
申请交换证书指令模块,用于所述终端向所述函数库申请交换证书指令,并将所述交换证书指令发送给所述业务服务器;
验证存储模块,用于接收所述会话密钥和所述业务服务器存储的通信公钥证书,验证所述业务服务器存储的通信公钥证书与所述函数库中的通信公钥证书是否一致,并在两者一致的情况下,将所述会话密钥和所述业务服务器存储的通信公钥证书保存在本地;
获取同步会话指令模块,用于向所述函数库发送本地保存的所述通信公钥证书,以获取同步会话指令,并将所述同步会话指令和本地保存的会话密钥发送给所述安全服务器。
可选地,所述验证建立模块包括:
验证子模块,用于接收所述终端发送的同步会话指令和会话密钥,解密所述终端发送的会话密钥;
建立子模块,用于所述安全服务器在成功解密所述终端发送的会话密钥的情况下,根据所述同步会话指令建立所述业务服务器与所述终端的第一次安全通信连接。
可选地,所述终端还包括:唯一标识发送模块、生成加密串模块、发送加密串模块、发送加密串模块、解密保存模块、发送挑战信息模块、双重加密和私钥发送模块、解密签名和双重加密模块、签名和第二令牌发送模块;
唯一标识发送模块,用于将自身的唯一标识发送给所述函数库;
生成加密串模块,用于所述函数库采用所述会话密钥对所述唯一标识进行加密,得到所述唯一标识的加密串,并将所述加密串返回给所述终端;
发送加密串模块,用于将所述加密串发送给所述安全服务器;
解密保存模块,用于接收加密后的第二令牌和私钥,利用所述函数库解密后,将所述第二令牌和所述私钥保存在本地;
发送挑战信息模块,用于向所述安全服务器发送挑战信息,所述挑战信息用于所述安全服务器进行鉴权操作,以再一次建立所述终端与所述业务服务器之间的安全连接。
双重加密和私钥发送模块,用于接收所述双重加密后的挑战信息,将其和本地保存的所述私钥发送给所述函数库;
解密签名和双重加密模块,用于所述函数库利用所述会话密钥和所述私钥解密所述双重加密后的挑战信息后,对所述挑战信息进行签名,并将签名后的挑战信息再利用所述会话密钥和所述私钥进行双重加密后返给所述终端;
签名和第二令牌发送模块,用于将双重加密后的签名后的挑战信息和本地保存的所述第二令牌发送给所述安全服务器;
所述安全服务器还包括:生成第二令牌和私钥模块、第二令牌和私钥加密模块、双重加密发送模块、鉴权模块、建立连接模块;
生成第二令牌和私钥模块,用于根据所述加密串生成对应于该加密串的第二令牌和对应于该加密串的通信密钥的私钥并保存;
第二令牌和私钥加密模块,用于利用所述会话密钥对所述第二令牌和所述私钥进行加密,并通过所述业务服务器将加密后的第二令牌和私钥发送给所述终端;
双重加密发送模块,用于利用所述会话密钥和所述公钥对所述挑战信息进行双重加密,并将双重加密后的挑战信息发送给所述终端;
鉴权模块,用于利用所述会话密钥和所述公钥解密所述双重加密后的签名后的挑战信息,进行鉴权操作,并返回鉴权结果;
建立连接模块,用于在所述鉴权结果为鉴权正确的情况下,所述终端与所述业务服务器建立第二次安全通信连接,以使得所述终端与所述业务服务器利用所述会话密钥、所述公钥以及所述私钥再一次建立安全连接,以进行后续数据安全交互。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明以上所述的方法中的步骤。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本发明以上所述的方法中的步骤。
采用本发明提供的终端与业务服务器连接的方法,在终端侧内嵌用于通信的加、解密技术的函数库,使用安全服务器专门对业务服务器进行通信的加、解密,即安全服务器为业务服务器的函数库,业务服务器生成第一令牌并发给安全服务器,使得安全服务器初始化并生成通信密钥的公钥,之后安全服务器将自身公共参数和公钥证书发送给业务服务器,并向函数库发送公钥证书;业务服务器接收公共参数和公钥证书并保存在本地,并将公共参数和第一令牌发送给终端,终端将公共参数和第一令牌发送给函数库,以使得函数库初始化,终端向业务服务器发送交换证书指令,业务服务器接收交换证书指令后,从安全服务器中获取安全服务器生成的会话密钥,并将会话密钥和自身存储的公钥证书发送给终端,终端接收会话密钥和业务服务器存储的公钥证书,验证业务服务器存储的通信公钥证书与函数库中的通信公钥证书一致,将会话密钥和业务服务器存储的通信公钥证书保存在本地,此即保证了终端与业务服务器绑定的唯一性和正确性,并且使得安全服务器和终端的函数库均拥有了会话密钥;最后终端向安全服务器发送同步会话指令和本地保存的会话密钥,安全服务器建立业务服务器与终端的第一次安全通信连接,此即保证了安全服务器和终端的函数库拥有的会话密钥的正确性和一致性。通过上述方法,使得业务服务器和终端建立了第一次安全可靠的连接,之后终端与业务服务器之间的数据交互均基于会话密钥的加密技术,保证了两者通信的安全性,即使在数据通信传输过程中数据信息被捕获,也因为会话密钥在初始化时就被保存在函数库和安全服务器中而无法被解密,从而保证了通信数据的安全,使得用户的隐私数据不会被泄露。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一种终端与业务服务器连接的方法的流程图;
图2是本发明实施例再一次建立业务服务器与终端连接的方法的流程图;
图3是本发明实施例步骤207的具体流程图;
图4是本发明实施例一种终端与业务服务器连接的系统的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
发明人发现目前终端与智能化设备之间的数据交互,在需要通过广域网 (例如:互联网、移动数据等)以及业务服务器来实现时,在数据传输过程中通信数据被窃取的风险较高。
上述情况是因为终端与业务服务器之间的数据通信时有些可能使用简单的加密技术,有些可能没有加密技术,因此用户在使用终端与业务服务器进行通信数据交互时,通信数据更容易被捕获,再加上通信数据本身安全性就不高,很容易就被破解,不但终端和智能化设备会被非法人员操控,而且用户隐私数据很容易就被窃取。
针对上述问题,发明人经过深入研究,创造性的在终端侧内嵌用于通信的加、解密技术的函数库,使用安全服务器专门对业务服务器进行通信的加、解密,在终端与业务服务器绑定时即保证了两者的唯一性和正确性,也保证了终端的函数库和安全服务器拥有的会话密钥的正确性和一致性。从而建立了安全可靠的连接。以下对本发明的方案进行具体解释和说明。
图1示出了本发明实施例一种终端与业务服务器连接的方法的流程图,该方法应用于安全通信系统,该安全通信系统包括:终端、业务服务器以及安全服务器;终端内嵌有函数库,安全服务器为业务服务器的函数库;安全通信连接的方法包括如下步骤:
步骤101:业务服务器生成标识自身的第一令牌,并将第一令牌发送给安全服务器,以使得安全服务器初始化。
本发明实施例中,业务服务器是指生产智能化设备的厂家自己搭建的服务器;安全服务器是专门为业务服务器提供加、解密的函数库所形成的服务器,本发明区别于目前只由业务服务器完成所有业务操作的特点,将业务数据操作、处理与业务数据安全加密两者分开,业务服务器只负责处理各种业务数据操作任务,而业务数据安全加、解密所需要的函数库以及完成加、解密的功能全部由安全服务器独立完成,这样极大的提高了通信数据的安全性;终端为用户使用的可以对智能家居系统进行控制的设备,目前一般是用户通过安装由生产智能化设备的厂家提供的APP在手机、电脑等智能化设备中,来实现对智能家居系统进行控制,当然,也可以由生产智能化设备的厂家专门提供用来控制智能家居系统的终端。
而终端会内嵌有函数库,该函数库主要用于通信数据的加、解密,还用于提供管理、控制智能家居系统的指令代码等。
在业务服务器开始使用时,其生成标识自身的第一令牌,该第一令牌是业务服务器的唯一标识,用于安全服务器识别和确定业务服务器,业务服务器生成标识自身的第一令牌后,将第一令牌发送给安全服务器,以使得安全服务器初始化。
另外,需要说明的是,由于函数库是内嵌的,所以函数库接收或者发送的任何数据均需要由内嵌它的终端来透传,本发明的说明书中所有关于函数库接收或者发送数据的操作均包含由内嵌它的终端来透传的操作,为了说明书的简洁,不再单独描述。
步骤102:安全服务器初始化后,生成通信密钥的公钥。
本发明实施例中,在安全服务器初始化后,会生成通信密钥的公钥,该公钥即为终端与业务服务器之间数据通信时要采用的非对称加密方式中的公钥。需要说明的是,业务服务器与安全服务器之间进行的这两个步骤,是在终端未与业务服务器之间产生任何的业务数据操作之前就必须完成的,假若业务服务器与安全服务器之间未进行这两个步骤,则终端也没有办法进行后续与业务服务器之间任何的业务数据操作。
步骤103:安全服务器向业务服务器发送通信公钥证书和安全服务器的公共参数,并向函数库发送通信公钥证书。
本发明实施例中,安全服务器生成通信密钥的公钥后,向业务服务器发送安全服务器的公共参数和通信公钥证书,业务服务器会接收并存储安全服务器发送的安全服务器的公共参数和通信公钥证书,同时,安全服务器也会向终端的函数库发送通信公钥证书。其中,安全服务器的公共参数为安全服务器的一些表征自身标识、设置数据、自定义数据等内容的参数;通信公钥证书为安全服务器根据公钥生成的标识该公钥为自身唯一拥有的证书。
步骤104:业务服务器接收公共参数和通信公钥证书并保存在本地,并将公共参数和第一令牌发送给终端。
本发明实施例中,业务服务器接收安全服务器发送的公共参数和通信公钥证书并保存在业务服务器的本地,再将公共参数和第一令牌发送给终端,以使得终端的函数库用来初始化。
步骤105:终端将公共参数和第一令牌发送给函数库,以使得函数库初始化。
本发明实施例中,终端获得业务服务器中存储的安全服务器的公共参数和业务服务器自身的第一令牌后,发送给自身内嵌的函数库,以使得函数库初始化,初始化后的函数库才可以开展后续的工作。
步骤106:终端向函数库申请交换证书指令,并将交换证书指令发送给业务服务器。
本发明实施例中,在函数库初始化完成后,终端需要向函数库申请交换证书指令,该指令是提前内置在函数库中的,需要终端主动申请才可以返给终端,终端接收到该交换证书指令后,将该交换证书指令发送给安全服务器。
步骤107:业务服务器接收交换证书指令后,从安全服务器中获取安全服务器生成的会话密钥,并将会话密钥和自身存储的通信公钥证书发送给终端。
本发明实施例中,业务服务器接收到交换证书指令后,会发送给安全服务器,安全服务器根据该指令生成会话密钥,之后业务服务器会从安全服务器中获取安全服务器生成的会话密钥,再将会话密钥和自身存储的通信公钥证书发送给终端。
步骤108:终端接收会话密钥和业务服务器存储的通信公钥证书,验证业务服务器存储的通信公钥证书与函数库中的通信公钥证书是否一致,并在两者一致的情况下,将会话密钥和业务服务器存储的通信公钥证书保存在本地。
本发明实施例中,终端接收到业务服务器发送的会话密钥和业务服务器存储的通信公钥证书之后,验证业务服务器存储的通信公钥证书与步骤103 中从安全服务器发送的通信公钥证书是否一致,并在两者一致的情况下,将会话密钥和业务服务器存储的通信公钥证书保存在本地。假若终端验证业务服务器存储的通信公钥证书与步骤103中从安全服务器发送的通信公钥证书不一致(例如非法人员篡改了业务服务器存储的通信公钥证书),则终端将不会保存会话密钥和业务服务器存储的通信公钥证书,本次操作失败,用户需要再次执行步骤101~步骤108,直到验证通过为止。
通过上述过程,就保证了终端与业务服务器绑定的唯一性和正确性,并且使得安全服务器和终端的函数库均拥有了会话密钥。
步骤109:终端向函数库发送本地保存的通信公钥证书,以获取同步会话指令,并将同步会话指令和本地保存的会话密钥发送给安全服务器。
本发明实施例中,在终端将会话密钥和业务服务器存储的通信公钥证书进行本地保存之后,终端向内嵌的函数库发送本地保存的通信公钥证书,以获取同步会话指令,该同步会话指令同样也是提前内置在函数库中,需要终端主动发送本地保存的通信公钥证书才可以返给终端,终端获得同步会话指令后,将该同步会话指令和本地保存的会话密钥发送给安全服务器。
步骤110:安全服务器接收终端发送的同步会话指令和会话密钥,并建立业务服务器与终端的第一次安全通信连接。
本发明实施例中,在安全服务器接收终端发送的同步会话指令和会话密钥后,需要经过解密会话密钥,在成功解密会话密钥的情况下,建立业务服务器与终端的第一次安全通信连接,这样保证了安全服务器和终端的函数库拥有的会话密钥的正确性和一致性。
需要说明的是,本发明实施例中的会话密钥实质上是指会话密钥索引,无论是函数库还是安全服务器,两者内置的各种函数和算法生成的会话密钥是保存在各自的函数库中的,其不能泄露,而会话密钥索引的作用是引导加、解密的函数库找到具体使用哪个会话密钥,其也是经过一系列算法而生成的。
例如:安全服务器使用H函数和E算法生成的会话密钥其对应的索引为 6号,安全服务器将所需发送的通信数据使用H函数和E算法生成的会话密钥加密后,将加密后的通信数据和会话索引6号发送给终端的函数库,函数库接收到之后首先通过会话密钥索引6号找到对应的可以解密的H函数和E 算法,才可以进行解密。这样做也同样是为了提高通信数据的安全性,假若通信数据被非法人员捕获,但非法人员一没有函数库中的H函数和E算法,二也并不知道6号具体表示哪种函数哪种算法,也就无法破解捕获的通信数据。
可选地,步骤110具体包括:
步骤s1:安全服务器接收终端发送的同步会话指令和会话密钥,解密终端发送的会话密钥。
本发明实施例中,在安全服务器接收终端发送的同步会话指令和会话密钥后,安全服务器首先解密终端发送的会话密钥,这样做是为了确保会话密钥没有被篡改。
步骤s2:安全服务器在成功解密终端发送的会话密钥的情况下,安全服务器根据同步会话指令建立业务服务器与终端的第一次安全通信连接。
本发明实施例中,安全服务器在成功解密终端发送的会话密钥的情况下,即确保了会话密钥没有被篡改的情况下,安全服务器将解密成功的信息返给业务服务器,业务服务器接收到该信息后,根据同步会话指令建立业务服务器与终端的第一次安全通信连接,之后业务服务器与终端的通信数据可以利用会话密钥来加、解密,从而达到了业务服务器与终端的安全通信连接的目的,并且由于会话密钥为对称密钥,对称密钥本身具有计算速度较快,效率较高,占用资源空间较少等优点,再加上会话密钥是保存在安全服务器和终端的函数库中,即使通信数据被捕获,但会话密钥不会被窃取就无法破解通信数据,因此业务服务器与终端的通信数据安全可靠,保证了用户隐私数据的安全。
可选地,在建立业务服务器与终端的第一次安全通信连接之后,为了更进一步的加强通信数据的安全性,本发明实施例还需要使用通信密钥的公钥和私钥对通信数据进一步进行非对称加密,参照图2,示出了具体步骤包括:
步骤201:终端将自身的唯一标识发送给函数库。
本发明实施例中,在终端与业务服务器建立第一次安全通信连接后,终端将自身的唯一标识(例如MAC地址等)发送给函数库,目的是让函数库对唯一标识进行加密。
需要说明的是,在终端与业务服务器建立第一次安全通信连接后,终端与业务服务器的连接不可中断,假若两者之间的连接中断,那么需要重新从步骤101开始再次执行步骤101~步骤110,再次建立终端与业务服务器之间的安全通信连接,然后再进行步骤201,而步骤201之后的所有步骤的执行过程当中,假若终端与业务服务器的连接中断,也需要重新从步骤101开始再次执行步骤101~步骤110,再次建立终端与业务服务器之间的安全通信连接,然后再按照步骤201以及之后的步骤执行。
步骤202:函数库采用会话密钥对唯一标识进行加密,得到唯一标识的加密串,并将加密串返回给终端。
步骤203:终端将加密串发送给安全服务器。
本发明实施例中,函数库接收到终端发送的唯一标识后,函数库采用会话密钥对唯一标识进行加密,得到唯一标识的加密串,并将加密串返回给终端,再由终端将加密串发送给安全服务器。
步骤204:安全服务器根据加密串生成对应于该加密串的第二令牌和对应于该加密串的通信密钥的私钥并保存。
本发明实施例中,安全服务器接收到终端发送的加密串后,安全服务器根据加密串生成对应于该加密串的第二令牌和对应于该加密串的通信密钥的私钥,并将两者保存,即,安全服务器根据终端的唯一标识生成对应于该唯一标识的第二令牌和生成对应于该唯一标识的通信密钥的私钥。这样做的原因 是:由于终端的数量是庞大的,因此需要根据每一个终端的唯一标识生成对应于该终端的私钥,才可以保证每一个终端与业务服务器之间通信数据的安全性,假若使用的通信密钥的私钥均一样,那么一旦通信密钥的私钥被篡改、破解,那么所有终端与业务服务器之间通信数据全部被窃取,所以采用根据每一个终端的唯一标识生成对应于该终端的私钥的方式,在发生通信密钥的私钥被篡改、破解时,可以极大的降低通信数据被窃取的大面积性发生。
步骤205:安全服务器利用会话密钥对第二令牌和私钥进行加密,并通过业务服务器将加密后的第二令牌和私钥发送给终端。
本发明实施例中,安全服务器在生成第二令牌和私钥后,安全服务器再利用会话密钥对第二令牌和私钥进行加密,并将加密后的第二令牌和私钥发送给终端。
步骤206:终端接收加密后的第二令牌和私钥,利用函数库解密后,将第二令牌和私钥保存在本地。
本发明实施例中,终端接收到安全服务器利用会话密钥加密后的第二令牌和私钥,发给函数库,利用函数库解密后,得到第二令牌和私钥并将第二令牌和私钥保存在本地。到此步,终端和安全服务器均拥有了通信密钥的公钥和私钥,之后终端与业务服务器之间的通信数据就可以在会话密钥加密的基础上再用通信密钥的公钥和私钥进行双重加密,并且通信密钥的公钥和私钥也是保存在安全服务器和终端的函数库中,更近一步加强了通信数据的安全性,基本杜绝了通信数据捕获被破解的可能性。
需要说明的是,通信密钥的公钥和私钥为非对称密钥,其优点是密钥成对出现双方各保存一个密钥任何一个密钥丢失不会导致信息的泄漏,但是存在效率较低,占用资源空间较多等缺点,但本发明实施例中,采用非对称密钥方式加密仅仅只是在会话密钥加密过的通信数据的密文上再次加密,而不是直接对庞大的通信数据本身加密,因此基本可以忽略其效率较低,占用资源空间较多等缺点。
步骤207:终端向安全服务器发送挑战信息,挑战信息用于安全服务器进行鉴权操作,以再一次建立终端与业务服务器之间的安全通信连接。
本发明实施例中,在终端和安全服务器均拥有了通信密钥的公钥和私钥之后,为了确保终端和安全服务器均拥有了通信密钥的公钥和私钥,且通信密钥的公钥和私钥均正确且唯一对应,还需要安全服务器进行一次鉴权操作,以达到上述目的。
因此,在终端和安全服务器均拥有了通信密钥的公钥和私钥之后,终端向安全服务器发送挑战信息,挑战信息用于安全服务器进行鉴权操作,在安全服务器鉴权操作结束并返回鉴权正确的信息后,才认为业务服务器与终端真正完成安全通信连接的建立,即,相当于再一次建立终端与业务服务器之间的安全通信连接,可以理解的是,此处所说的再一次建立终端与业务服务器之间的安全通信连接是指,在第一次建立终端与业务服务器之间的采用会话密钥的加密方式实现安全通信连接的基础上,再一次建立终端与业务服务器之间的采用通信密钥的公钥和私钥的加密方式实现安全通信连接,其并不是指第一次建立终端与业务服务器之间的通信连接中断而再一次建立终端与业务服务器之间的安全通信连接的意思。
可选地,参照图3,步骤207具体包括:
步骤207a:安全服务器利用会话密钥和公钥对挑战信息进行双重加密,并将双重加密后的挑战信息发送给终端。
本发明实施例中,在终端和安全服务器均拥有了通信密钥的公钥和私钥之后,终端向安全服务器发送挑战信息,安全服务器接收到该挑战信息后,利用会话密钥和公钥对挑战信息进行双重加密,之后将双重加密后的挑战信息发送给终端。
步骤207b:终端接收双重加密后的挑战信息,将其和本地保存的私钥发送给函数库。
步骤207c:函数库利用会话密钥和私钥解密双重加密后的挑战信息后,对挑战信息进行签名,并将签名后的挑战信息再利用会话密钥和私钥进行双重加密后返给终端。
本发明实施例中,终端接收安全服务器发送的双重加密后的挑战信息,将其和终端本地保存的私钥发送给函数库,函数库利用已有的会话密钥和私钥解密双重加密后的挑战信息后,得到明文的挑战信息,并对该明文的挑战信息进行签名,并将签名后的挑战信息再利用会话密钥和私钥进行双重加密后返给终端。
此处假若函数库无法利用已有的会话密钥和私钥解密双重加密后的挑战信息,则说明终端和安全服务器均拥有的通信密钥的公钥和私钥被窃取篡改或者会话密钥被窃取篡改,或者终端和业务服务器建立安全通信连接的某些步骤出现问题,则从步骤101开始重新执行到步骤207。
步骤207d:终端将双重加密后的签名后的挑战信息和本地保存的第二令牌发送给安全服务器。
本发明实施例中,终端接收函数库发送的双重加密后的,经过函数库签名后的挑战信息,将其与终端本地保存的第二令牌发送给安全服务器,此步之所以要加终端本地保存的第二令牌,也是为了更进一步保障通信数据的安全性。
步骤207e:安全服务器利用会话密钥和公钥解密双重加密后的签名后的挑战信息,进行鉴权操作,并返回鉴权结果。
本发明实施例中,安全服务器接收到双重加密后的,经过函数库签名后的挑战信息,利用安全服务器的会话密钥和公钥解密双重加密后的,经过函数库签名后的挑战信息,得到明文的经过函数库签名后的挑战信息,再进行鉴权操作,并返回鉴权结果到业务服务器。
步骤207f:在鉴权结果为鉴权正确的情况下,终端与业务服务器建立第二次安全通信连接,以使得终端与业务服务器利用会话密钥、公钥以及私钥再一次建立安全连接,以进行后续通信数据安全交互。
本发明实施例中,业务服务器接收到安全服务器返回的鉴权结果,在鉴权结果为鉴权正确的情况下,业务服务器与终端建立第二次安全通信连接,以使得终端与业务服务器利用会话密钥、公钥以及私钥再一次建立安全连接,以进行后续通信数据安全交互。
假若业务服务器接收到安全服务器返回的鉴权结果为鉴权错误,则从步骤101开始重新执行到步骤207。
可以理解的是,终端发送挑战信息,安全服务器进行鉴权即相当于验证业务服务器与终端是否正确建立第二次安全通信连接,之后业务服务器与终端之间所有的通信数据均按照步骤207的方式进行安全交互。
可选地,本发明实施例中,为了更进一步地提高业务服务器与终端之间通信数据的安全性,会话密钥设置为具有时限性,在会话密钥的时限到期的情况下,终端与业务服务器的安全连接自动中断,假设会话密钥的时限为875 秒,那么在终端与业务服务器建立第一次安全通信连接875秒之后,终端与业务服务器的安全连接会自动中断,终端与业务服务器需要重新执行步骤 101~步骤207的方法以实现两者的安全连接。
另外,假若在会话密钥的时限未到期的情况下,终端与业务服务器的安全连接中断且再一次需要连接时,终端与业务服务器从步骤101执行到步骤 110之后,不执行步骤201~步骤206,可以直接执行步骤207。即,在终端与业务服务器建立第一次安全通信连接875秒之内,终端与业务服务器建立第一次安全通信连接中断,并且需要再次建立安全通信连接时,终端与业务服务器从步骤101执行到步骤110之后,不执行步骤201~步骤206,可以直接执行步骤207,但如果终端与业务服务器建立第一次安全通信连接中断,再次建立安全通信连接时的时长超过了875秒,那么终端与业务服务器还是需要重新执行步骤101~步骤207的方法以实现两者的安全连接。
综上所述,本发明的整体方案是:在终端内嵌用于对通信数据的加、解密的函数库,使用安全服务器专门为业务服务器提供加、解密的服务。首先业务服务器生成标识自身的第一令牌,并发送给安全服务器,使得安全服务器自动初始化,安全服务器初始化后,生成通信密钥的公钥,并向业务服务器发送自身公共参数和通信密钥的公钥,同时向终端的函数库发送通信密钥的公钥,业务服务器接收安全服务器发送的公共参数和通信公钥证书并保存在业务服务器的本地后,再将公共参数和第一令牌发送给终端,终端获得业务服务器中存储的安全服务器的公共参数和业务服务器自身的第一令牌后,发送给自身内嵌的函数库,以使得函数库初始化。
在函数库初始化完成后,终端需要向函数库申请交换证书指令,终端接收到该交换证书指令后,将该交换证书指令发送给安全服务器,安全服务器接收交换证书指令后,会根据该指令生成会话密钥,在会话密钥生成完成后,返给业务服务器,业务服务器再将会话密钥和自身存储的通信公钥证书发送给终端,终端接收到业务服务器发送的会话密钥和业务服务器存储的通信公钥证书之后,验证业务服务器存储的通信公钥证书与函数库中的通信公钥证书是否一致,并在两者一致的情况下,将会话密钥和业务服务器存储的通信公钥证书保存在本地,在此之后,终端向函数库发送本地保存的通信公钥证书,以获取同步会话指令,终端获得同步会话指令后,将该同步会话指令和本地保存的会话密钥发送给安全服务器,安全服务器接收终端发送的同步会话指令和会话密钥,成功解密终端发送的会话密钥的情况下,安全服务器将成功解密的信息返给业务服务器,业务服务器接收到该信息后,根据同步会话指令建立业务服务器与终端的第一次安全通信连接。
在终端与业务服务器建立第一次安全通信连接后,终端将自身的唯一标识(例如MAC地址等)发送给安全服务器,函数库接收到终端发送的唯一标识后,函数库采用会话密钥对唯一标识进行加密,得到唯一标识的加密串,并将加密串返回给终端,再由终端将加密串发送给安全服务器,安全服务器接收到终端发送的加密串后,安全服务器根据加密串生成对应于该加密串的第二令牌和对应于该加密串的通信密钥的私钥并保存,即,安全服务器根据终端的唯一标识生成对应于该唯一标识的第二令牌和对应于该唯一标识的通信密钥的私钥,安全服务器在生成第二令牌和私钥后,安全服务器再利用会话密钥对第二令牌和私钥进行加密,并通过业务服务器将加密后的第二令牌和私钥发送给终端,终端接收到安全服务器利用会话密钥加密后的第二令牌和私钥,发给函数库,利用函数库解密后,得到第二令牌和私钥并将第二令牌和私钥保存在本地。
在终端和安全服务器均拥有了通信密钥的公钥和私钥之后,终端向安全服务器发送挑战信息,安全服务器接收到该挑战信息后,利用会话密钥和公钥对挑战信息进行双重加密,之后返给业务服务器,再由业务服务器将双重加密后的挑战信息发送给终端,终端接收业务服务器发送的双重加密后的挑战信息,将其和终端本地保存的私钥发送给函数库,函数库利用已有的会话密钥和私钥解密双重加密后的挑战信息后,得到明文的挑战信息,并对该明文的挑战信息进行签名,并将签名后的挑战信息再利用会话密钥和私钥进行双重加密后返给终端,终端接收函数库发送的双重加密后的,经过函数库签名后的挑战信息,将其与终端本地保存的第二令牌发送给安全服务器,安全服务器接收到双重加密后的,经过函数库签名后的挑战信息,利用会话密钥和公钥解密双重加密后的,经过函数库签名后的挑战信息,得到明文的经过函数库签名后的挑战信息,再进行鉴权操作,并返回鉴权结果到业务服务器,业务服务器接收到安全服务器返回的鉴权结果,在鉴权结果为鉴权正确的情况下,业务服务器与终端建立第二次安全通信连接,以使得终端与业务服务器利用会话密钥、公钥以及私钥再一次建立安全连接,以进行后续通信数据安全交互。
基于以上方案,使得终端和业务服务器之间的数据交互时,通信数据是双重加密的,极大的提高了安全性,并且会话密钥、通信密钥的公钥和私钥均保存在安全服务器和终端的函数库中,即使在数据通信传输过程中数据信息被捕获,也因为会话密钥、通信密钥的公钥和私钥被保存在终端的函数库和安全服务器中而无法被解密,从而保证了通信数据的安全,使得终端和智能化设备无法被非法人员操控,用户的隐私数据也不会被泄露。
参照图4,示出了本发明实施例一种终端与业务服务器连接的系统的示意图,该系统包括:终端、业务服务器以及安全服务器;终端内嵌有函数库,安全服务器为业务服务器的函数库;
其中,业务服务器包括:生成第一令牌模块、接收保存模块、获取会话密钥并发送模块;
安全服务器包括:生成公钥模块、发送公钥证书和公共参数模块、验证建立模块、生成第二令牌和私钥模块、第二令牌和私钥加密模块、双重加密发送模块、鉴权模块、建立连接模块;
终端包括:初始化函数库模块、申请交换证书指令模块、验证存储模块、获取同步会话指令模块、唯一标识发送模块、生成加密串模块、发送加密串模块、解密保存模块、发送挑战信息模块、双重加密和私钥发送模块、解密签名和双重加密模块、签名和第二令牌发送模块;
具体的:生成第一令牌模块,用于生成标识业务服务器的第一令牌,并将第一令牌发送给安全服务器,以使得安全服务器初始化;
接收保存模块,用于接收公共参数和通信公钥证书并保存在业务服务器的本地,并将公共参数和第一令牌发送给终端;
获取会话密钥并发送模块,用于接收交换证书指令后,从安全服务器中获取安全服务器生成的会话密钥,并将会话密钥和业务服务器存储的通信公钥证书发送给所述终端;
生成公钥模块,用于初始化后,生成通信密钥的公钥;
发送公钥证书和公共参数模块,用于向业务服务器发送通信公钥证书和安全服务器的公共参数,并向函数库发送通信公钥证书;
验证建立模块,用于接收终端发送的同步会话指令和会话密钥,并建立业务服务器与终端的第一次安全通信连接;
生成第二令牌和私钥模块,用于根据加密串生成对应于该加密串的第二令牌和对应于该加密串的通信密钥的私钥并保存;
第二令牌和私钥加密模块,用于利用会话密钥对第二令牌和私钥进行加密,并通过业务服务器将加密后的第二令牌和私钥发送给终端;
双重加密发送模块,用于利用会话密钥和公钥对挑战信息进行双重加密,并将双重加密后的挑战信息发送给终端;
鉴权模块,用于利用会话密钥和公钥解密双重加密后的签名后的挑战信息,进行鉴权操作,并返回鉴权结果;
建立连接模块,用于在鉴权结果为鉴权正确的情况下,终端与业务服务器建立第二次安全通信连接,以使得终端与业务服务器利用会话密钥、公钥以及私钥再一次建立安全连接,以进行后续数据安全交互;
初始化函数库模块,用于将公共参数和第一令牌发送给函数库,以使得函数库初始化;
申请交换证书指令模块,用于终端向函数库申请交换证书指令,并将交换证书指令发送给业务服务器;
验证存储模块,用于接收会话密钥和业务服务器存储的通信公钥证书,验证业务服务器存储的通信公钥证书与函数库中的通信公钥证书是否一致,并在两者一致的情况下,将会话密钥和业务服务器存储的通信公钥证书保存在本地;
获取同步会话指令模块,用于向函数库发送本地保存的通信公钥证书,以获取同步会话指令,并将同步会话指令和本地保存的会话密钥发送给安全服务器。
唯一标识发送模块,用于将终端的唯一标识发送给函数库;
生成加密串模块,用于函数库采用会话密钥对唯一标识进行加密,得到唯一标识的加密串,并将加密串返回给终端;
发送加密串模块,用于将加密串发送给安全服务器;
解密保存模块,用于接收加密后的第二令牌和私钥,利用函数库解密后,将第二令牌和私钥保存在本地;
发送挑战信息模块,用于向安全服务器发送挑战信息,挑战信息用于安全服务器进行鉴权操作,以再一次建立终端与业务服务器之间的安全连接。
双重加密和私钥发送模块,用于接收双重加密后的挑战信息,将其和终端保存的私钥发送给所述函数库;
解密签名和双重加密模块,用于函数库利用会话密钥和私钥解密双重加密后的挑战信息后,对挑战信息进行签名,并将签名后的挑战信息再利用会话密钥和私钥进行双重加密后返给终端;
签名和第二令牌发送模块,用于将双重加密后的签名后的挑战信息和本地保存的第二令牌发送给安全服务器。
可选地,验证建立模块包括:
验证子模块,用于接收终端发送的同步会话指令和会话密钥,解密终端发送的会话密钥;
建立子模块,用于安全服务器在成功解密终端发送的会话密钥的情况下,根据同步会话指令建立业务服务器与终端的第一次安全通信连接。
基于同一发明构思,本发明另一实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如以上任一所述的方法中的步骤。
基于同一发明构思,本发明另一实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行时实现本发明上述任一实施例所述的方法中的步骤。
通过上述实施例,本发明的方案在终端与业务服务器使用时,保证了终端与业务服务器绑定的唯一性和正确性,并且使得安全服务器和终端的函数库均拥有了会话密钥;保证了安全服务器和终端的函数库拥有的会话密钥的正确性和一致性。通过上述方法,使得业务服务器和终端建立了第一次安全可靠的连接,之后终端与业务服务器之间的数据交互均基于会话密钥的加密技术,保证了两者通信的安全性;在建立业务服务器与终端的第一次安全通信连接之后,为了更进一步的加强通信数据的安全性,还使用通信密钥的公钥和私钥对通信数据进一步进行非对称加密,终端和安全服务器均拥有了通信密钥的公钥和私钥,之后终端与业务服务器之间的通信数据就可以在会话密钥加密的基础上再用通信密钥的公钥和私钥进行双重加密,并且会话密钥、通信密钥的公钥和私钥均保存在业务服务器和终端的函数库中,即使在数据通信传输过程中数据信息被捕获,也因为会话密钥、通信密钥的公钥和私钥被保存在业务服务器和终端的函数库中而无法被解密,从而保证了通信数据的安全,使得终端和智能化设备无法被非法人员操控,用户的隐私数据不会被泄露。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (8)
1.一种终端与业务服务器连接的方法,其特征在于,应用于安全通信系统,所述安全通信系统包括:终端、业务服务器以及安全服务器;所述终端内嵌有函数库,所述安全服务器为所述业务服务器的函数库;所述方法包括:
所述业务服务器生成标识自身的第一令牌,并将所述第一令牌发送给所述安全服务器,以使得所述安全服务器初始化;
所述安全服务器初始化后,生成通信密钥的公钥;
所述安全服务器向所述业务服务器发送通信公钥证书和所述安全服务器的公共参数,并向所述终端中内嵌的函数库发送所述通信公钥证书;
所述业务服务器接收所述公共参数和所述通信公钥证书并保存在本地,并将所述公共参数和所述第一令牌发送给所述终端;
所述终端将所述公共参数和所述第一令牌发送给所述终端中内嵌的函数库,以使得所述终端中内嵌的函数库初始化;
所述终端向所述终端中内嵌的函数库申请交换证书指令,并将所述交换证书指令发送给所述业务服务器;
所述业务服务器接收所述交换证书指令后,从所述安全服务器中获取所述安全服务器生成的会话密钥,并将所述会话密钥和自身存储的通信公钥证书发送给所述终端;
所述终端接收所述会话密钥和所述业务服务器存储的通信公钥证书,验证所述业务服务器存储的通信公钥证书与所述终端中内嵌的函数库中的通信公钥证书是否一致,并在两者一致的情况下,将所述会话密钥和所述业务服务器存储的通信公钥证书保存在本地;
所述终端向所述终端中内嵌的函数库发送本地保存的所述通信公钥证书,以获取同步会话指令,并将所述同步会话指令和本地保存的会话密钥发送给所述安全服务器;
所述安全服务器接收所述终端发送的同步会话指令和会话密钥,并建立所述业务服务器与所述终端的第一次安全通信连接,包括:
所述安全服务器接收所述终端发送的同步会话指令和会话密钥,解密所述终端发送的会话密钥;
所述安全服务器在成功解密所述终端发送的会话密钥的情况下,所述安全服务器根据所述同步会话指令建立所述业务服务器与所述终端的第一次安全通信连接。
2.根据权利要求1所述的方法,其特征在于,在建立所述业务服务器与所述终端的第一次安全通信连接之后,还包括:
所述终端将自身的唯一标识发送给所述终端内嵌的函数库;
所述终端内嵌的函数库采用所述会话密钥对所述唯一标识进行加密,得到所述唯一标识的加密串,并将所述加密串返回给所述终端;
所述终端将所述加密串发送给所述安全服务器;
所述安全服务器根据所述加密串生成对应于该加密串的第二令牌和对应于该加密串的通信密钥的私钥并保存;
所述安全服务器利用所述会话密钥对所述第二令牌和所述私钥进行加密,并通过所述业务服务器将加密后的第二令牌和私钥发送给所述终端;
所述终端接收加密后的第二令牌和私钥,利用所述终端内嵌的函数库解密后,将所述第二令牌和所述私钥保存在本地;
所述终端向所述安全服务器发送挑战信息,所述挑战信息用于所述安全服务器进行鉴权操作,以再一次建立所述终端与所述业务服务器之间的安全连接。
3.根据权利要求2所述的方法,其特征在于,所述终端向所述安全服务器发送挑战信息,所述挑战信息用于所述安全服务器进行鉴权操作,以再一次建立所述终端与所述业务服务器之间的安全连接,包括:
所述安全服务器利用所述会话密钥和所述公钥对所述挑战信息进行双重加密,并将双重加密后的挑战信息发送给所述终端;
所述终端接收所述双重加密后的挑战信息,将其和本地保存的所述私钥发送给所述终端内嵌的函数库;
所述终端内嵌的函数库利用所述会话密钥和所述私钥解密所述双重加密后的挑战信息后,对所述挑战信息进行签名,并将签名后的挑战信息再利用所述会话密钥和所述私钥进行双重加密后返给所述终端;
所述终端将双重加密后的签名后的挑战信息和本地保存的所述第二令牌发送给所述安全服务器;
所述安全服务器利用所述会话密钥和所述公钥解密所述双重加密后的签名后的挑战信息,进行鉴权操作,并返回鉴权结果;
在所述鉴权结果为鉴权正确的情况下,所述终端与所述业务服务器建立第二次安全通信连接,以使得所述终端与所述业务服务器利用所述会话密钥、所述公钥以及所述私钥再一次建立安全连接,以进行后续数据安全交互。
4.根据权利要求3所述的方法,其特征在于,所述会话密钥具有时限性,在所述会话密钥的时限到期的情况下,所述终端与所述业务服务器的安全连接自动中断,所述终端与所述业务服务器重新执行权利要求1-3任一所述的方法以实现两者的安全连接。
5.根据权利要求3所述的方法,其特征在于,在所述会话密钥的时限未到期的情况下,所述终端与所述业务服务器的安全连接中断且再一次需要连接时,以下步骤不被执行:
所述终端将自身的唯一标识发送给所述终端中内嵌的函数库;
所述终端内嵌的函数库采用所述会话密钥对所述唯一标识进行加密,得到所述唯一标识的加密串,并将所述加密串返回给所述终端;
所述终端将所述加密串发送给所述安全服务器;
所述安全服务器根据所述加密串生成对应于该加密串的第二令牌和对应于该加密串的通信的私钥并保存;
所述安全服务器利用所述会话密钥对所述第二令牌和所述私钥进行加密,并通过所述业务服务器将加密后的第二令牌和私钥发送给所述终端;
所述终端接收加密后的第二令牌和私钥,利用所述终端内嵌的函数库解密后,将所述第二令牌和所述私钥保存在本地。
6.一种终端与业务服务器连接的系统,其特征在于,所述系统包括:终端、业务服务器以及安全服务器;所述终端内嵌有函数库,所述安全服务器为所述业务服务器的函数库;
所述业务服务器包括:生成第一令牌模块、接收保存模块、获取会话密钥并发送模块;
生成第一令牌模块,用于生成标识所述业务服务器的第一令牌,并将所述第一令牌发送给所述安全服务器,以使得所述安全服务器初始化;
接收保存模块,用于接收公共参数和通信公钥证书并保存在本地,并将所述公共参数和所述第一令牌发送给所述终端;
获取会话密钥并发送模块,用于接收交换证书指令后,从所述安全服务器中获取所述安全服务器生成的会话密钥,并将所述会话密钥和自身存储的通信公钥证书发送给所述终端;
所述安全服务器包括:生成公钥模块、发送通信公钥证书和公共参数模块、验证建立模块;
生成公钥模块,用于初始化后,生成通信密钥的公钥;
发送通信公钥证书和公共参数模块,用于向所述业务服务器发送通信公钥证书和所述安全服务器的公共参数,并向所述终端内嵌的函数库发送所述通信公钥证书;
验证建立模块,用于接收所述终端发送的同步会话指令和会话密钥,并建立所述业务服务器与所述终端的第一次安全通信连接;
其中,所述验证建立模块包括:
验证子模块,用于接收所述终端发送的同步会话指令和会话密钥,解密所述终端发送的会话密钥;
建立子模块,用于在所述安全服务器成功解密所述终端发送的会话密钥的情况下,根据所述同步会话指令建立所述业务服务器与所述终端的第一次安全通信连接;
所述终端包括:初始化函数库模块、申请交换证书指令模块、验证存储模块、获取同步会话指令模块;
初始化函数库模块,用于将所述公共参数和所述第一令牌发送给所述终端内嵌的函数库,以使得所述终端内嵌的函数库初始化;
申请交换证书指令模块,用于所述终端向所述终端内嵌的函数申请交换证书指令,并将所述交换证书指令发送给所述业务服务器;
验证存储模块,用于接收所述会话密钥和所述业务服务器存储的通信公钥证书,验证所述业务服务器存储的通信公钥证书与所述终端内嵌的函数中的通信公钥证书是否一致,并在两者一致的情况下,将所述会话密钥和所述业务服务器存储的通信公钥证书保存在本地;
获取同步会话指令模块,用于向所述终端内嵌的函数发送本地保存的所述通信公钥证书,以获取同步会话指令,并将所述同步会话指令和本地保存的会话密钥发送给所述安全服务器。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5任一所述的方法中的步骤。
8.一种电子设备,包括存储器、处理器,其中,存储器上存储有可在处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时实现如权利要求1-5任一所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911090515.4A CN110690966B (zh) | 2019-11-08 | 2019-11-08 | 终端与业务服务器连接的方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911090515.4A CN110690966B (zh) | 2019-11-08 | 2019-11-08 | 终端与业务服务器连接的方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110690966A CN110690966A (zh) | 2020-01-14 |
CN110690966B true CN110690966B (zh) | 2020-10-09 |
Family
ID=69115999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911090515.4A Active CN110690966B (zh) | 2019-11-08 | 2019-11-08 | 终端与业务服务器连接的方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110690966B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111541690B (zh) * | 2020-04-21 | 2022-05-20 | 北京智芯微电子科技有限公司 | 智能终端与服务端通信的安全防护方法 |
CN112202556B (zh) * | 2020-10-30 | 2023-07-04 | 联通物联网有限责任公司 | 安全认证方法、装置和系统 |
CN112995322B (zh) * | 2021-03-04 | 2023-07-21 | Oppo广东移动通信有限公司 | 信息传输通道建立方法、装置、存储介质以及终端 |
CN114040221B (zh) * | 2021-11-25 | 2023-09-22 | 国芯科技(广州)有限公司 | 基于机顶盒服务器端双签名的安全认证的防拷贝方法 |
CN114329534A (zh) * | 2021-12-23 | 2022-04-12 | 深圳Tcl新技术有限公司 | 权限确定方法、装置、计算机设备和计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296083A (zh) * | 2008-05-14 | 2008-10-29 | 华为技术有限公司 | 一种加密数据传输方法和系统 |
CN102780674A (zh) * | 2011-05-09 | 2012-11-14 | 同方股份有限公司 | 一种具有多因素认证方法的网络业务处理方法及系统 |
CN106789076A (zh) * | 2016-12-28 | 2017-05-31 | Tcl集团股份有限公司 | 服务器与智能设备的交互方法及装置 |
CN107508796A (zh) * | 2017-07-28 | 2017-12-22 | 北京明朝万达科技股份有限公司 | 一种数据通信方法和装置 |
CN109359472A (zh) * | 2018-09-19 | 2019-02-19 | 腾讯科技(深圳)有限公司 | 一种数据加解密处理方法、装置以及相关设备 |
JP6571890B1 (ja) * | 2019-01-21 | 2019-09-04 | Gmoグローバルサイン株式会社 | 電子署名システム、証明書発行システム、証明書発行方法及びプログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7600123B2 (en) * | 2005-12-22 | 2009-10-06 | Microsoft Corporation | Certificate registration after issuance for secure communication |
CN107317789B (zh) * | 2016-04-27 | 2020-07-21 | 华为技术有限公司 | 密钥分发、认证方法,装置及系统 |
CN107070667B (zh) * | 2017-06-07 | 2020-08-04 | 国民认证科技(北京)有限公司 | 身份认证方法 |
-
2019
- 2019-11-08 CN CN201911090515.4A patent/CN110690966B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296083A (zh) * | 2008-05-14 | 2008-10-29 | 华为技术有限公司 | 一种加密数据传输方法和系统 |
CN102780674A (zh) * | 2011-05-09 | 2012-11-14 | 同方股份有限公司 | 一种具有多因素认证方法的网络业务处理方法及系统 |
CN106789076A (zh) * | 2016-12-28 | 2017-05-31 | Tcl集团股份有限公司 | 服务器与智能设备的交互方法及装置 |
CN107508796A (zh) * | 2017-07-28 | 2017-12-22 | 北京明朝万达科技股份有限公司 | 一种数据通信方法和装置 |
CN109359472A (zh) * | 2018-09-19 | 2019-02-19 | 腾讯科技(深圳)有限公司 | 一种数据加解密处理方法、装置以及相关设备 |
JP6571890B1 (ja) * | 2019-01-21 | 2019-09-04 | Gmoグローバルサイン株式会社 | 電子署名システム、証明書発行システム、証明書発行方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
CN110690966A (zh) | 2020-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110690966B (zh) | 终端与业务服务器连接的方法、系统、设备及存储介质 | |
CN110784322B (zh) | 一种网关设备与云平台连接的方法、系统、设备及介质 | |
CN108768970B (zh) | 一种智能设备的绑定方法、身份认证平台及存储介质 | |
CN110808991B (zh) | 一种安全通信连接的方法、系统、电子设备及存储介质 | |
US10601801B2 (en) | Identity authentication method and apparatus | |
CN110380852B (zh) | 双向认证方法及通信系统 | |
CN101459506B (zh) | 密钥协商方法、用于密钥协商的系统、客户端及服务器 | |
CN107800539B (zh) | 认证方法、认证装置和认证系统 | |
CN106788989B (zh) | 一种建立安全加密信道的方法及设备 | |
CN110635901B (zh) | 用于物联网设备的本地蓝牙动态认证方法和系统 | |
WO2016115807A1 (zh) | 无线路由器的接入处理、接入方法及装置 | |
CN104836784B (zh) | 一种信息处理方法、客户端和服务器 | |
CN110716441B (zh) | 一种控制智能化设备的方法、智能家居系统、设备及介质 | |
CN104185176A (zh) | 一种物联网虚拟用户识别模块卡远程初始化方法及系统 | |
CN112351037B (zh) | 用于安全通信的信息处理方法及装置 | |
CN110839240B (zh) | 一种建立连接的方法及装置 | |
CN105635062A (zh) | 网络接入设备的验证方法和装置 | |
CN105282179A (zh) | 一种基于cpk的家庭物联网安全控制的方法 | |
US11070537B2 (en) | Stateless method for securing and authenticating a telecommunication | |
CN114765534A (zh) | 基于国密标识密码算法的私钥分发系统 | |
CN116204914A (zh) | 一种可信隐私计算方法、装置、设备及存储介质 | |
CN112053477B (zh) | 智能门锁的控制系统、方法、装置及可读存储介质 | |
CN108259486B (zh) | 基于证书的端到端密钥交换方法 | |
CA2561644C (en) | A method to leverage a secure device to grant trust and identity to a second device | |
JP5622668B2 (ja) | アプリケーション認証システム、アプリケーション認証方法 |
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 |