CN110912852B - 获取密钥的方法、装置和系统,存储介质和计算机终端 - Google Patents

获取密钥的方法、装置和系统,存储介质和计算机终端 Download PDF

Info

Publication number
CN110912852B
CN110912852B CN201811075654.5A CN201811075654A CN110912852B CN 110912852 B CN110912852 B CN 110912852B CN 201811075654 A CN201811075654 A CN 201811075654A CN 110912852 B CN110912852 B CN 110912852B
Authority
CN
China
Prior art keywords
data set
key
security data
authentication server
security
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
CN201811075654.5A
Other languages
English (en)
Other versions
CN110912852A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201811075654.5A priority Critical patent/CN110912852B/zh
Publication of CN110912852A publication Critical patent/CN110912852A/zh
Application granted granted Critical
Publication of CN110912852B publication Critical patent/CN110912852B/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/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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
    • 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

Abstract

本发明公开了一种获取密钥的方法、装置和系统。其中,该方法包括:认证服务器接收密钥服务器同步的安全数据集,其中,密钥服务器同步给认证服务器的安全数据集一并同步存储至设备,安全数据集至少包括:协商密钥和加密算法;认证服务器基于安全数据集与设备进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥,其中,会话密钥用于设备与认证服务器之间进行应用数据的加密传输。本发明解决了的物联网场景下,设备端和云端服务器之间协商会话密钥的握手阶段,由于采用预置密钥参与会话密钥生成,导致密钥被破解概率增大,认证过程安全性差的技术问题。

Description

获取密钥的方法、装置和系统,存储介质和计算机终端
技术领域
本发明涉及数据处理领域,具体而言,涉及一种获取密钥的方法、装置和系统。
背景技术
传统的互联网模型中,常通过HTTP+TLS来实现安全通信。在标准TLS协议中,通信双方在协商会话密钥的握手阶段,有部分消息内容是需要加密的,因此为了克服会话密钥的难题,往往在握手阶段选用非对称密钥加密算法,例如RSA加密算法, RSA加密算法会通过发送数字证书和验证数字签名来实现对方的认证。
在传统互联网和移动互联网模型中,由于端的计算资源充裕,上述方案是可行的。但是在物联网时代,由于设备端计算资源(CPU,内存,网络带宽)受限,并且通常需要设备端和云端双向认证,通过发放证书来认证的方案往往体验较差,甚至不可行。即使采用现有的PSK(pre-shared key,共享密钥)算法,其握手交互流程依然较复杂,并且由于预置密钥参与会话密钥生成,导致密钥被破解概率增大,以及缺乏双向身份认证,导致流量易被攻击,依然难以满足物联网场景需求。
针对的物联网场景下,设备端和云端服务器之间协商会话密钥的握手阶段,由于采用预置密钥参与会话密钥生成,导致密钥被破解概率增大,认证过程安全性差的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种获取密钥的方法、装置和系统,以至少解决的物联网场景下,设备端和云端服务器之间协商会话密钥的握手阶段,由于采用预置密钥参与会话密钥生成,导致密钥被破解概率增大,认证过程安全性差的技术问题。
根据本发明实施例的一个方面,提供了一种获取密钥的方法,包括:认证服务器接收密钥服务器同步的安全数据集,其中,密钥服务器同步给认证服务器的安全数据集一并同步存储至设备,安全数据集至少包括:协商密钥和加密算法;认证服务器基于安全数据集与设备进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥,其中,会话密钥用于设备与认证服务器之间进行应用数据的加密传输。
根据本发明实施例的另一方面,还提供了一种获取密钥的方法,包括:设备接收密钥服务器同步的安全数据集,其中,密钥服务器同步给设备的安全数据集一并同步至认证服务器,安全数据集至少包括:协商密钥和加密算法;设备基于安全数据集与认证服务器进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥,其中,会话密钥用于设备与认证服务器之间进行应用数据的加密传输。
根据本发明实施例的另一方面,还提供了一种获取密钥的方法,包括:认证服务器根据第一预设规则,确定安全数据集,安全数据集包括:认证服务器从预存的协商密钥集合中选择的协商密钥,和从预存的算法集中选择的加密算法;认证服务器接收设备发送的加密信息,其中,加密信息至少包括:设备使用安全数据集加密第一密钥参数得到的加密结果,其中,设备根据第一预设规则获取到安全数据集;认证服务器根据安全数据集解密加密结果,得到第一密钥参数;认证服务器根据第一密钥参数和认证服务器生成的第二密钥参数,生成会话密钥。
根据本发明实施例的另一方面,还提供了一种获取密钥的系统,包括:设备,用于接收密钥服务器同步的安全数据集,并基于安全数据集与认证服务器进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥,其中,安全数据集至少包括:协商密钥和加密算法,会话密钥用于设备与认证服务器之间进行应用数据的加密传输;认证服务器,用于接收密钥服务器同步的安全数据集,并基于安全数据集与设备进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥。
根据本发明实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行如下步骤:认证服务器接收密钥服务器同步的安全数据集,其中,密钥服务器同步给认证服务器的安全数据集一并同步存储至设备,安全数据集至少包括:协商密钥和加密算法;认证服务器基于安全数据集与设备进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥,其中,会话密钥用于设备与认证服务器之间进行应用数据的加密传输。
根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行如下步骤:认证服务器接收密钥服务器同步的安全数据集,其中,密钥服务器同步给认证服务器的安全数据集一并同步存储至设备,安全数据集至少包括:协商密钥和加密算法;认证服务器基于安全数据集与设备进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥,其中,会话密钥用于设备与认证服务器之间进行应用数据的加密传输。
在本发明实施例中,认证服务器接收密钥服务器同步的安全数据集,其中,密钥服务器同步给认证服务器的安全数据集一并同步存储至设备,安全数据集至少包括:协商密钥和加密算法;认证服务器基于安全数据集与设备进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥,其中,会话密钥用于设备与认证服务器之间进行应用数据的加密传输。上述方案中,用于生成会话密钥的协商密钥和加密算法并非预置在认证服务器中,而是在生成会话密钥前获取的,因此具有更高的安全性,且通过确定的协商密钥和加密算法计算出最终的会话密钥,可以免除认证服务器和设备双方交换证书的过程,以较小的代价选择除协商密钥和算法。
由此,本申请上述实施例解决了的物联网场景下,设备端和云端服务器之间协商会话密钥的握手阶段,由于采用预置密钥参与会话密钥生成,导致密钥被破解概率增大,认证过程安全性差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了一种用于实现获取密钥的方法的计算机设备(或移动设备)的硬件结构框图;
图2是根据本申请实施例1的一种获取密钥的方法的流程图;
图3是根据本申请实施例1的一种密钥分发方法的信息交互图;
图4是根据本申请实施例1的一种设备和认证服务器协商得到会话密钥的信息交互图;
图5是根据本申请实施例2的一种获取密钥的方法的流程图;
图6是根据本申请实施例3的一种获取密钥的系统的示意图;
图7是根据本申请实施例3的一种获取密钥的系统的示意图;
图8是根据本申请实施例4的一种获取密钥的方法的流程图;
图9是根据本申请实施例5的一种获取密钥的装置的示意图;
图10是根据本申请实施例6的一种获取密钥的装置的示意图;
图11是根据本申请实施例7的一种获取密钥的装置的示意图;以及
图12是根据本发明实施例8的一种计算机设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
TLS:传输层安全协议,在TCP层之上,应用层之下。
Openssl:TLS协议的一个开源实现。
Nginx:一种服务端开源软件,常用于转发和负载均衡。
加密套件:TLS中的一种加解密算法组合,用于密钥交换,认证,握手消息加密,以及消息认证码验证等,包含密钥交换算法、加密通信报文的块加密算法以及会话校验算法。
协商密钥集合:对称密钥,内置在设备端和服务端,用于握手阶段对消息加解密。
协商算法:对称算法,内置在设备端和服务端,用于握手阶段对消息加解密。
会话密钥:对称密钥,用户应用数据传输阶段对传输内容加解密。
MQTT/CoAP/HTTP server:通过MQTT、CoAP或HTTP协议发送的请求,MQTT 为Message Queuing Telemetry Transport,消息队列遥测传输,是一个即时通信协议; CoAP为Condtrained Application Protocol,约束应用协议;HTTP为HyperText TransferProtocol,即超文本传输协议。
实施例1
根据本发明实施例,还提供了一种获取密钥的方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动设备、计算机设备或者类似的运算装置中执行。图1示出了一种用于实现获取密钥的方法的计算机设备(或移动设备) 的硬件结构框图。如图1所示,计算机设备10(或移动设备10)可以包括一个或多个 (图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器 104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机设备10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻设备路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的获取密钥的方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的获取密钥的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104 可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机设备10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency, RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机设备10(或移动设备)的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
在上述运行环境下,本申请提供了如图2所示的获取密钥的方法。图2是根据本申请实施例1的一种获取密钥的方法的流程图,如图2所示,该方法包括如下步骤:
步骤S21,认证服务器接收密钥服务器同步的安全数据集,其中,密钥服务器同步给认证服务器的安全数据集一并同步存储至设备,安全数据集至少包括:协商密钥和加密算法。
具体的,上述设备可以为前端设备,上述认证服务器可以基于Nginx+Openssl进行改造,同时在链路最做请求转发服务器,可以兼容多协议,对设备来说是透明的,在设备发出请求(MQTT/CoAP/HTTP server)时,首先与认证服务器建立连接,认证服务器再与后端的应用服务器建立连接。认证服务器与设备安全通信完成后,后续设备与应用服务器之间的应用层数据通信在认证服务器进行加解密,然后转发到应用服务器,在一种可选的实施例中,上述采用安全握手的方式进行上述安全通信。
密钥服务器不仅将安全数据集同步给了认证服务器,还一并将相同的安全数据集同步给了设备,从而使得认证服务器和设备都获取了相同的安全数据集,进而使得认证服务器和设备之间可以通过该安全数据集进行会话密钥对协商。
在一种可选的实施例中,设备首次与认证服务器建立连接时,密钥服务器将多个安全数据同步给认证服务器和设备,可以通过密钥选择机根据预设规则,从安全数据集中选择此次连接所使用的安全数据集,并将选择结果告知认证服务器和设备。上述密钥选择机可以设置在认证服务器内,也可以设置在云端,通过与认证服务器通信向认证服务器传输其选择结果。例如:密钥选择机架设在云端,并与认证服务器和设备通信,密钥选择机在确定用于选择安全数据集的索引后,将索引发送给认证服务器和设备,从而使得认证服务器和设备都能够获取到与索引对应的协商密钥和加密算法
在另一种可选的实施例中,当发生预设事件需要更改会话密钥时,可以由密钥服务器在多个安全数据集中选择此次使用的安全数据集,并将选择结果告知认证服务器和设备。
步骤S23,认证服务器基于安全数据集与设备进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥,其中,会话密钥用于设备与认证服务器之间进行应用数据的加密传输。
在一种可选的实施例中,在认证服务器和设备都获取到安全数据集后,双方可以通过安全握手的方式进行安全通信,更具体的,该安全握手可以是TLS握手流程。
在该实施例中,认证服务器和设备进行会话密钥协商的过程可以是,认证服务器和设备均生成用于确定会话密钥的密钥参数,并将密钥参数通过安全数据集中的协商密钥和加密算法进行加密后,发送给对方,认证服务器和设备通过协商密钥和加密算法将对方发送的加密信息进行解密,从而得到对方生成的密钥参数。在得到对方生成的密钥参数之后,认证服务器和设备可以使用自身生成的密钥参数和对方生成的密钥参数,确定最终的会话密钥。
本申请上述实施例中,认证服务器接收密钥服务器同步的安全数据集,其中,密钥服务器同步给认证服务器的安全数据集一并同步存储至设备,安全数据集至少包括:协商密钥和加密算法;认证服务器基于安全数据集与设备进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥,其中,会话密钥用于设备与认证服务器之间进行应用数据的加密传输。上述方案中,用于生成会话密钥的协商密钥和加密算法并非预置在认证服务器中,而是在生成会话密钥前获取的,因此具有更高的安全性,且通过确定的协商密钥和加密算法计算出最终的会话密钥,可以免除认证服务器和设备双方交换证书的过程,以较小的代价选择除协商密钥和算法。
由此,本申请上述实施例解决了的物联网场景下,设备端和云端服务器之间协商会话密钥的握手阶段,由于采用预置密钥参与会话密钥生成,导致密钥被破解概率增大,认证过程安全性差的技术问题。
作为一种可选的实施例,安全数据集由密钥服务器通过局域网发送至认证服务器。
具体的,上述密钥服务器可以存储有多组安全数据集,每组包括多个安全数据集,密钥服务器还存储有多组安全数据集与设备的对应关系。
在一种可选的实施例中,密钥服务器根据多组安全数据集与设备的对应关系,将与设备对应的至少一组安全数据集通过局域网同步至设备所请求连接的认证服务器。
需要注意的是,在安全数据集时,密钥服务器通过局域网,即内网与认证服务器通信,局域网是在一个局部的地理范围内构成的网络,不与公网通信,因此使用局域网传输安全数据集,有利于保护安全数据的安全。
认证服务器在接收到安全数据集后,还可以将安全数据集存储至认证服务器的安全芯片中,以进一步保护安全数据集的安全。
作为一种可选的实施例,密钥服务器中存储有多个安全数据集,认证服务器接收密钥服务器同步的安全数据集,包括:认证服务器接收密钥服务器发送的多个安全数据集,认证服务器根据第一预设规则,确定第一安全数据索引;认证服务器根据第一安全数据索引,从多个安全数据集中查找安全数据集。
上述认证服务器获取到的多个安全数据集,可以是预先写入的与设备对应的安全数据集,安全数据集中的协商密钥可以是对称密钥。第一预设规则是用于确定安全数据集的规则,安全数据集具有对应的索引,第一预设规则用于选择安全数据集的索引,从而确定安全数据集。
在一种可选的实施例中,可以通过密钥选择机根据第一预设规则确定安全数据集的索引,认证服务器根据安全数据集的索引,在多个安全数据集中选择此次生成会话密钥所使用的安全数据集。上述密钥选择机可以设置在认证服务器内,也可以设置在云端,通过与认证服务器通信向认证服务器传输其选择的安全数据集索引。
作为一种可选的实施例,在认证服务器基于安全数据集与设备进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥之后,上述方法还包括:认证服务器接收密钥服务器同步的第二安全数据索引,其中,密钥服务器基于动态选择策略,根据第二预设规则确定第二安全数据索引,其中,动态选择策略包括如下至少之一:定时选择、周期性选择和发生预定事件时选择;认证服务器根据第二安全数据索引确定更新后的安全数据集,其中,更新后的安全数据集中包括更新后的协商密钥和更新加密算法;认证服务器将更新后的安全数据集同步至设备;认证服务器基于更新后的安全数据集与设备进行安全通信,在安全通信的过程中,基于更新后的安全数据集计算生成更新后的会话密钥。
在上述方案中,动态选择策略用于确定会话密钥更改的时机,在需要更改会话密钥时,密钥服务器将重现选择安全数据集,并告知认证服务器和设备。需要说明的是,密钥服务器基于动态选择策略选择安全数据库,可以是密钥服务器确定安全数据集索引,认证服务器和设备根据密钥服务器确定的安全数据集索引,获取到更新的安全数据集。
上述定时选择的方案可以是,指定某些时间点对会话密钥进行更新,密钥服务器则在这些指定的时间点选择安全数据集;周期性选择的方案可以是,指定对会话密钥进行更新的周期,在周期时间达到时密钥服务器选择安全数据集;预定事件时选择的方案可以是,指定对会话密钥进行更新的事件,在检测到预定事件发生时密钥服务器选择安全数据集。
上述第二预设规则用于在发生密钥改变事件时,确定第二安全数据索引。在一种可选的实施例中,密钥服务器可以将确定第一安全数据索引时所使用的数值递增,并对N取模,得到第二安全数据索引,并将第二安全数据索引同步至认证服务器,由认证服务器根据第二安全数据索引确定更新后的安全数据集。
认证服务器在确定更新后的安全数据集之后,为了能够和设备协商出新的会话密钥,需要将更新后的安全数据集同步至设备,然后与设备基于更新后的安全数据集,协商出新的会话密钥,新的会话密钥应用在检测到密钥改变事件之后的数据通信中。
作为一种可选的实施例,在认证服务器确定更新后的安全数据集的预设时间内,认证服务器同时支持安全数据集和更新后的安全数据集;在认证服务器确定更新后的安全数据集的预设时间之后,认证服务器仅支持更新后的安全数据集。
认证服务器同时支持安全数据集和更新后的安全数据集指的是,认证服务器可以使用安全数据集与设备协商会话密钥,也可以使用更新后的安全数据集与设备进行会话密钥的协商。
上述预设时间可以为1分钟,在一种可选的实施例中,在认证服务器根据第二安全数据索引确定更新后的安全数据集后开始计时,并将更新后的安全数据集同步至设备。由于认证服务器将更新后的安全数据集同步至更新后的安全数据集需要消耗一定的时间,因此在计时时间未达到1分钟的情况下,认证服务器可能还未能将更新后的安全数据集同步至设备,此时,认证服务器同时支持安全数据集和更新后的安全数据集。当计时时间达到1分钟时,确定认证服务器已将更新后的安全数据集同步至设备,因此弃用原来的安全数据集,仅支持更新后的安全数据集。
作为一种可选的实施例,认证服务器将更新后的安全数据集同步至设备,包括:认证服务器通过密钥服务器将更新后的安全数据集同步至设备,其中,如果认证服务器对设备同步失败,则密钥服务器使用安全数据集对认证服务器进行同步。
密钥服务器将更新后的安全数据集同步至认证服务器之后,为了使认证服务器和设备能够协商出新的密钥,需要将更新后的安全数据集同步至设备。在认证服务器根据第二安全数据索引确定更新后的安全数据集之后,可以向密钥服务器返回响应信息,密钥服务器在接收到响应信息之后,向设备同步更新后的安全数据集。
如果同步失败,则密钥服务器使用存储的原安全数据集对认证服务器进行同步,以使得设备和认证服务器能够进行密钥协商。
图3是根据本申请实施例1的一种密钥分发方法的信息交互图,下面结合图3对上述获取密钥的方法进行说明。
S31,密钥服务器针对设备生成一组协商密钥和算法(ID,nego_pri_key[n],nego_pri_algo[n]);在可信网络下(产线)将(ID,nego_pri_key[n],nego_pri_algo[n])烧录到前端设备的安全区域。
S32,密钥服务器针将前端设备的协商密钥集合和算法集(ID,nego_pri_key[n],nego_pri_algo[n])在可信网络下(内网)同步到认证服务器。
S33,首次与应用服务器建立连接时,前端设备根据第一预设规则选定初始协商密钥和算法(nego_pri_key[i],nego_pri_algo[i])。
S34,认证服务器根据第一预设规则选定初始协商密钥和算法(nego_pri_key[i],nego_pri_algo[i])。具体的,i为上述实施例中的第一安全数据索引,(nego_pri_key[i],nego_pri_algo[i])即为上述安全数据集。
S35,前端设备和认证服务器根据选定的密钥和算法(nego_pri_key[i], nego_pri_algo[i])进行安全通信,协商出会话密钥和算法(sess_pri_key,sess_pri_algo)。后续应用数据通过(sess_pri_key,sess_pri_algo)加密传输。
S36,密钥服务器按照既定策略触发密钥改变事件,并按照第二预设规则选取密钥索引j。首先同步给认证服务器,认证服务端接收j之后,在一个密钥切换窗口期内同时支持(nego_pri_key[i],nego_pri_algo[i])和(nego_pri_key[j],nego_pri_algo[j]),随后切换到(nego_pri_key[j],nego_pri_algo[j])。具体的,j为上述实施例中的第二安全数据索引,(nego_pri_key[j],nego_pri_algo[j])即为上述更新后的安全数据集。
S37,认证服务器同步(nego_pri_key[j],nego_pri_algo[j])给前端设备,如果失败,则密钥服务器将上一次的密钥(nego_pri_key[i],nego_pri_algo[i])同步至认证服务器。
S38,前端设备和认证服务器根据密钥和算法(nego_pri_key[j],nego_pri_algo[j])进行安全通信,协商出会话密钥和算法(sess_pri_key,sess_pri_algo)。
S39,前端设备和应用服务器之间的应用数据通过(sess_pri_key,sess_pri_algo)加密传输。
作为一种可选的实施例,认证服务器根据安全数据集和前端设备协商出会话密钥,包括:认证服务器接收设备发送的加密信息,其中,加密信息中至少包括:设备的设备标识、设备生成的第一随机数、使用协商密钥和加密算法对第一随机数进行加密的得到的第一消息认证码和预设的加密套件集;认证服务器根据安全数据集验证第一随机数和第一消息认证码;如果验证成功,认证服务器生成第二随机数和安全因子;认证服务器使用第一随机数、第二随机数和安全因子生成会话密钥。
具体的,上述设备的设备标识可以是设备的UUID(Universally UniqueIdentifier,通用唯一识别码)。认证服务器在获取到加密信息后,首先根据加密信息中的UUID,查找该设备对应的安全数据集。
在一种可选的实施例中,设备生成第一随机数,并使用安全数据集中的协商密钥通过加密算法对第一随机数进行加密,得到第一消息认证码。然后设备将第一随机数、第一消息认证码以及加密套件集组成加密信息,发送至认证服务器。
由于认证服务器和设备具有相同的安全数据集,因此认证服务器可以使用安全数据集中的协商密钥通过加密算法对第一消息认证码进行解密,得到第一消息认证码中的随机数,如果第一消息认证码中的随机数为第一随机数相同,则验证通过。在验证通过后,认证服务器生成第二随机数,安全因子,并根据第一随机数、第二随机数和安全因子作为生成会话密钥的三个参数,通过预设方式生成会话密钥。
作为一种可选的实施例,在认证服务器根据安全数据集和设备协商出会话密钥之后,上述方法还包括:认证服务器使用安全数据集对安全因子进行加密,得到加密安全因子;认证服务器使用安全数据集对第二随机数进行加密,得到第二消息认证码;认证服务器向设备返回加密信息的响应数据,其中,响应数据至少包括:第二随机数、第二消息认证码、加密安全因子和加密套件集,其中,设备接收到响应数据后,使用安全数据集对第二随机数和第二消息认证码进行验证,使用安全数据集解密加密安全因子得到安全因子,并根据第一随机数、第二随机数和安全因子生成会话密钥。
在认证服务器生成会话密钥后,设备也需要获取相同的会话密钥。生成会话密钥的参数包括:第一随机数、第二随机数和安全因子,因此认证服务器将第二随机数通过安全数据集加密得到第二消息认证码,并将安全因子加密得到加密安全因子,再将第二随机数、第二消息认证码和加密安全因子组成加密信息的响应数据返回至设备。
设备接收到响应数据后,对第二消息认证码进行验证,具体的,设备通过安全数据集对第二消息认证码进行解密,得到第二消息认证码中的随机数,如果该随机数与第二随机数相同,则验证通过。在通过验证后,第二消息认证码再使用安全数据集对加密安全因子进行解密,得到安全因子。至此,设备获取到了所有生成会话密钥的参数,设备根据这三个参数,即可根据预设的方式生成会话密钥。
需要说明的是,如果在密钥服务器将更新后的安全数据集同步至设备之后,认证服务器和设备同样采用上述方式,使用更新后的安全数据集来协商新的会话密钥。
图4是根据本申请实施例1的一种前端设备和认证服务器协商得到会话密钥的信息交互图,下面结合图4,对前端设备和认证服务器协商会话密钥进行说明。
S41,前端设备生成随机数random_c。random_c即可以表示上述实施例中的第一随机数。
S42,使用协商密钥和加密算法对random_c计算生成前端设备认证码authcode_c。前端设备认证码authcode_c即可以表示上述第一消息认证码。
S43,前端设备发送clientHello到认证服务器请求安全通信,参数包括设备唯一ID device_uuid、前端设备随机数random_c、前端设备认证码authcode_c,以及加密套件集cipher_suites。
S44,认证服务器根据设备ID device_uuid检索出前端设备所使用的协商密钥和加密算法(nego_pri_key[i],nego_pri_algo[i]),并验证random_c和authcode_c的合法性。
验证random_c和authcode_c的合法性的方式可以是,通过(nego_pri_key[i],nego_pri_algo[i])解密authcode_c,将解密的结果与random_c匹配,如果相同,则验证成功。
S45,认证服务器协商出加密套件cipher_suite。
S46,认证服务器生成服务端随机数random_s。random_s即表示上述第二随机数。
S47,认证服务器使用协商密钥和加密算法对random_s计算生成服务端认证码authcode_s。服务端认证码authcode_s即可以表示上述第二消息认证码。
S48,服务器生成安全因子pre_master_secret。
S49,认证服务器使用协商密钥和加密算法生成加密安全因子得到 enc_pre_master_secret。
S410,认证服务器根据安全三因子(random_c,random_s,pre_master_secret)和协商出的加密套件算法cipher_suite计算出会话密钥session_key。
S411,认证服务器发送clientHello到前端设备,参数包括服务端随机数random_s、服务端认证码authcode_s、加密安全因子enc_pre_master_secret,以及协商出的加密套件cipher_suite。
S412,前端设备使用协商密钥和加密算法(nego_pri_key[i],nego_pri_algo[i])验证 random_s和authcode_s的合法性。
S413,认证服务器使用协商密钥和加密算法解密加密过的安全因子 enc_pre_master_secret得到pre_master_secret。
S414,前端设备根据安全三因子(random_c,random_s,pre_master_secret)和协商出的加密套件算法cipher_suite计算出会话密钥session_key。
S415,前端设备和服务端使用会话密钥session_key加密传输数据。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台前端设备设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
实施例2
根据本发明实施例,还提供了一种获取密钥的方法,图5是根据本申请实施例2 的一种获取密钥的方法的流程图,如图5所示,该方法包括:
步骤S51,设备接收密钥服务器同步的安全数据集,其中,密钥服务器同步给设备的安全数据集一并同步至认证服务器,安全数据集至少包括:协商密钥和加密算法。
具体的,上述设备可以为前端设备,上述设备接收密钥服务器同步的安全数据集,可以是密钥服务器向设备的芯片上烧录多个安全数据集,在设备向认证服务器请求连接时,密钥服务器将安全数据集同步至认证服务器。
上述认证服务器可以基于Nginx+Openssl进行改造,同时在链路最做请求转发服务器,可以兼容多协议,对设备来说是透明的,在设备发出请求(MQTT/CoAP/HTTP server)时,首先与认证服务器建立连接,认证服务器再与后端的应用服务器建立连接。认证服务器与设备安全通信完成后,后续设备与应用服务器之间的应用层数据通信在认证服务器做加解密,然后转发到应用服务器。
在一种可选的实施例中,设备首次与认证服务器建立连接时,密钥服务器将多个安全数据同步给认证服务器和设备,可以通过密钥选择机根据预设规则,从安全数据集中选择此次连接所使用的安全数据集,并将选择结果告知认证服务器和设备。上述密钥选择机可以设置在认证服务器内,也可以设置在云端,通过与认证服务器通信向认证服务器传输其选择结果。例如:密钥选择机架设在云端,并与认证服务器和设备通信,密钥选择机在确定用于选择安全数据集的索引后,将索引发送给认证服务器和设备,从而使得认证服务器和设备都能够获取到与索引对应的协商密钥和加密算法
在另一种可选的实施例中,当发生预设事件需要更改会话密钥时,可以由密钥服务器在多个安全数据集中选择此次使用的安全数据集,并将选择结果告知认证服务器和设备。
步骤S53,设备基于安全数据集与认证服务器进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥,其中,会话密钥用于设备与认证服务器之间进行应用数据的加密传输。
在设备和认证服务器都获取到安全数据集后,双方可以通过TLS握手流程基于安全数据集中的协商密钥和安全算法计算出最终的会话密钥。
在一种可选的实施例中,设备和认证服务器进行会话密钥协商的过程可以是,设备和认证服务器均生成用于确定会话密钥的密钥参数,并将密钥参数通过安全数据集中的协商密钥和加密算法进行加密后,发送给对方,设备和认证服务器通过协商密钥和加密算法将对方发送的加密信息进行解密,从而得到对方生成的密钥参数。在得到对方生成的密钥参数之后,设备和认证服务器可以使用自身生成的密钥参数和对方生成的密钥参数,确定最终的会话密钥。
本申请上述实施例中,设备接收密钥服务器同步的安全数据集,其中,密钥服务器同步给设备的安全数据集一并同步至认证服务器,安全数据集至少包括:协商密钥和加密算法;设备基于安全数据集与认证服务器进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥,其中,会话密钥用于设备与认证服务器之间进行应用数据的加密传输。上述方案中,用于生成会话密钥的协商密钥和加密算法并非预置在认证服务器中,而是在生成会话密钥前获取的,因此具有更高的安全性,且通过确定的协商密钥和加密算法计算出最终的会话密钥,可以免除认证服务器和设备双方交换证书的过程,以较小的代价选择除协商密钥和算法。
由此,本申请上述实施例解决了的物联网场景下,设备端和云端服务器之间协商会话密钥的握手阶段,由于采用预置密钥参与会话密钥生成,导致密钥被破解概率增大,认证过程安全性差的技术问题。
作为一种可选的实施例,在设备根据安全数据集和认证服务器协商出会话密钥之后,上述方法还包括:设备接收认证服务器通过密钥服务器同步的更新后的数据集,其中,认证服务器接收密钥服务器同步的第二安全数据索引,并根据第二安全数据索引确定更新后的安全数据集,密钥服务器基于动态选择策略确定第二安全数据索引,动态选择策略包括如下至少之一:定时选择、周期性选择和发生预定事件时选择;设备基于更新后的安全数据集与认证服务器进行安全通信,在安全通信的过程中,基于更新后的安全数据集计算生成更新后的会话密钥。
在上述方案中,如果密钥服务器检测到需要更改会话密钥,则根据第二预设规则确定第二安全数据索引,认证服务器接收密钥服务器同步的第二安全数据索引,根据第二安全数据索引确定更新后的安全数据集,并将安全数据集同步至设备。
作为一种可选的实施例,设备根据安全数据集和认证服务器协商出会话密钥,包括:设备向认证服务器发送加密信息,其中,加密信息中至少包括:设备的设备标识、设备生成的第一随机数、使用协商密钥和加密算法对第一随机数进行加密的得到的第一消息认证码和预设的加密套件集,其中,认证服务器根据安全数据集验证第一随机数和第一消息认证码,在验证成功的情况下生成第二随机数和安全因子,并使用第一随机数、第二随机数和安全因子生成会话密钥;设备接收认证服务器返回的响应数据,其中,响应数据至少包括:第二随机数、使用安全数据集对第二随机数进行加密得到的第二消息认证码、使用安全数据集对安全因子进行加密得到的加密安全因子和加密套件集;设备使用安全数据集对第二随机数和第二消息认证码进行验证,使用安全数据集解密加密安全因子得到安全因子,并根据第一随机数、第二随机数和安全因子生成会话密钥。
具体的,上述设备的设备标识可以是设备的UUID(Universally UniqueIdentifier,通用唯一识别码)。认证服务器在获取到加密信息后,首先根据加密信息中的UUID,查找该设备对应的安全数据集。
在一种可选的实施例中,设备生成第一随机数,并使用安全数据集中的协商密钥通过加密算法对第一随机数进行加密,得到第一消息认证码。然后设备将第一随机数、第一消息认证码以及加密套件集组成加密信息,发送至认证服务器。
由于认证服务器和设备具有相同的安全数据集,因此认证服务器可以使用安全数据集中的协商密钥通过加密算法对第一消息认证码进行解密,得到第一消息认证码中的随机数,如果第一消息认证码中的随机数为第一随机数相同,则验证通过。在验证通过后,认证服务器生成第二随机数,安全因子,并根据第一随机数、第二随机数和安全因子作为生成会话密钥的三个参数,通过预设方式生成会话密钥。
在认证服务器生成会话密钥后,设备也需要获取相同的会话密钥。生成会话密钥的参数包括:第一随机数、第二随机数和安全因子,因此认证服务器将第二随机数通过安全数据集加密得到第二消息认证码,并将安全因子加密得到加密安全因子,再将第二随机数、第二消息认证码和加密安全因子组成加密信息的响应数据返回至设备。
设备接收到响应数据后,对第二消息认证码进行验证,具体的,设备通过安全数据集对第二消息认证码进行解密,得到第二消息认证码中的随机数,如果该随机数与第二随机数相同,则验证通过。在通过验证后,第二消息认证码再使用安全数据集对加密安全因子进行解密,得到安全因子。至此,设备获取到了所有生成会话密钥的参数,设备根据这三个参数,即可根据预设的方式生成会话密钥。
实施例3
根据本发明实施例,还提供了一种获取密钥的系统,图6是根据本申请实施例3 的一种获取密钥的系统的示意图,如图6所示,该系统包括:
设备60,用于接收密钥服务器同步的安全数据集,并基于安全数据集与认证服务器进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥,其中,安全数据集至少包括:协商密钥和加密算法,会话密钥用于设备与认证服务器之间进行应用数据的加密传输。
认证服务器62,用于接收密钥服务器同步的安全数据集,并基于安全数据集与设备进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥。
具体的,上述设备接收密钥服务器同步的安全数据集,可以是密钥服务器向设备的芯片上烧录多个安全数据集,在设备向认证服务器请求连接时,密钥服务器将安全数据集同步至认证服务器。
在一种可选的实施例中,设备首次与认证服务器建立连接时,密钥服务器将多个安全数据同步给认证服务器和设备,可以通过密钥选择机根据预设规则,从安全数据集中选择此次连接所使用的安全数据集,并将选择结果告知认证服务器和设备。上述密钥选择机可以设置在认证服务器内,也可以设置在云端,通过与认证服务器通信向认证服务器传输其选择结果。例如:密钥选择机架设在云端,并与认证服务器和设备通信,密钥选择机在确定用于选择安全数据集的索引后,将索引发送给认证服务器和设备,从而使得认证服务器和设备都能够获取到与索引对应的协商密钥和加密算法
在另一种可选的实施例中,当发生预设事件需要更改会话密钥时,可以由密钥服务器在多个安全数据集中选择此次使用的安全数据集,并将选择结果告知认证服务器和设备。
在一种可选的实施例中,在认证服务器和设备都获取到安全数据集后,双方可以通过安全握手的方式进行安全通信,更具体的,该安全握手可以是TLS握手流程。认证服务器和设备进行会话密钥协商的过程可以是,认证服务器和设备均生成用于确定会话密钥的密钥参数,并将密钥参数通过安全数据集中的协商密钥和加密算法进行加密后,发送给对方,认证服务器和设备通过协商密钥和加密算法将对方发送的加密信息进行解密,从而得到对方生成的密钥参数。在得到对方生成的密钥参数之后,认证服务器和设备可以使用自身生成的密钥参数和对方生成的密钥参数,确定最终的会话密钥。
本申请上述实施例中,用于生成会话密钥的协商密钥和加密算法并非预置在认证服务器中,而是在生成会话密钥前获取的,因此具有更高的安全性,且通过确定的协商密钥和加密算法计算出最终的会话密钥,可以免除认证服务器和设备双方交换证书的过程,以较小的代价选择除协商密钥和算法。
由此,本申请上述实施例解决了的物联网场景下,设备端和云端服务器之间协商会话密钥的握手阶段,由于采用预置密钥参与会话密钥生成,导致密钥被破解概率增大,认证过程安全性差的技术问题。
作为一种可选的实施例,上述系统还包括:密钥服务器64,用于通过局域网向认证服务器发送多个安全数据集,并向设备发送多个安全数据集。
具体的,认证服务器接收到安全数据集后,将安全数据集存储至安全区域,密钥服务器将协商密钥集合烧录至设备的安全区域。
图7是根据本申请实施例3的一种获取密钥的系统的示意图,结合图7所示,密钥服务器现通过S71和S72分别向认证服务器和前端设备发送多个安全数据集,前端设备和认证服务器通过S72进行握手,并在握手的过程中生成会话密钥,并通过S74 使用生成的会话密钥进行数据传输。应用服务器可以包括MQTT服务器、CoAP服务器、HTTP服务器,在进行数据传输时,认证服务器将接收到的数据通过服务器对应的协议传输至服务器。
实施例4
根据本发明实施例,还提供了一种获取密钥的方法,图8是根据本申请实施例4 的一种获取密钥的方法的流程图,如图8所示,该方法包括:
步骤S81,认证服务器根据第一预设规则,确定安全数据集,安全数据集包括:认证服务器从预存的协商密钥集合中选择的协商密钥。
具体的,上述认证服务器可以基于Nginx+Openssl进行改造,同时在链路最做请求转发服务器,可以兼容多协议,对设备来说是透明的,在设备发出请求 (MQTT/CoAP/HTTPserver)时,首先与认证服务器建立连接,认证服务器再与后端的应用服务器建立连接。认证服务器与设备安全通信完成后,后续设备与应用服务器之间的应用层数据通信在认证服务器做加解密,然后转发到应用服务器。
上述认证服务器获取到的协商密钥集合和算法集,可以是预先写入的,协商密钥集合可以是多个对称密钥组成的密钥集合,算法集可以是多种预设的算法组成的算法集合。第一预设规则是用于确定安全数据集的规则,协商密钥集合中的密钥和算法集中的算法都可以具有对应的索引,第一预设规则可以用于选择密钥和算法的索引,从而确定安全数据集。
每次确定的安全数据集不同,指的是本申请上述方案中,根据第一预设规则确定安全数据集是一个动态的选择过程,例如,在此次会话前协商会话密钥时,确定的协商密钥为A1,算法为B1,但在下一次会话前协商会话密钥时,确定的协商密钥为A2,算法为B2。具体确定方式与第一预设规则在确定安全数据集时所使用的参数相关,例如:第一预设规则可以根据当前时间确定安全数据集,还可以根据请求顺序确定安全数据集等。
在一种可选的实施例中,可以通过密钥选择机根据第一预设规则确定密钥的索引和算法的索引,认证服务器根据密钥的索引,在协商密钥集合中选择协商密钥,并根据算法的索引在算法集中选择第一计算法,从而确定了安全数据集。上述密钥选择机可以设置在认证服务器内,也可以设置在云端,通过与认证服务器通信向认证服务器传输其选择的密钥索引和算法索引。
步骤S83,认证服务器接收设备发送的加密信息,其中,加密信息至少包括:设备使用安全数据集加密第一密钥参数得到的加密结果,其中,设备根据第一预设规则获取到安全数据集。
具体的,上述第一密钥参数可以为服务器生成的第一随机数,加密结果为使用安全数据集加密第一密钥参数得到的第一消息认证码。
在一种可选的实施例中,上述加密信息中还可以包括:设备的设备标识、设备生成的第一随机数、使用协商密钥和加密算法对第一随机数进行加密的得到的第一消息认证码和预设的加密套件集。
步骤S85,认证服务器根据安全数据集解密加密结果,得到第一密钥参数。
具体的,认证服务器解密加密结果,得到设备生成的随机数。
步骤S87,认证服务器根据第一密钥参数和认证服务器生成的第二密钥参数,生成会话密钥。
具体的,上述第二密钥参数为认证服务器生成的密钥参数,包括第二随机数和安全因子。
仍在上述实施例中,认证服务器根据安全数据集验证第一随机数和第一消息认证码;如果验证成功,认证服务器生成第二随机数和安全因子;认证服务器使用第一随机数、第二随机数和安全因子生成会话密钥。
作为一种可选的实施例,所述安全数据集还包括:从预存的算法集中选择的加密算法。
在上述方案中,使用安全数据集加密第一密钥参数得到的第一消息认证码,可以是使用安全数据集中的协商密钥,并使用安全数据集中的加密算法对第一随机数进行加密,得到第一消息认证码。
实施例5
根据本发明实施例,还提供了一种用于实施上述实施例1中的获取密钥的方法,图9是根据本申请实施例5的一种获取密钥的装置的示意图,如图9所示,该装置900 包括:
接收模块902,用于认证服务器接收密钥服务器同步的安全数据集,其中,密钥服务器同步给认证服务器的安全数据集一并同步存储至设备,安全数据集至少包括:协商密钥和加密算法。
生成模块904,用于认证服务器基于安全数据集与设备进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥,其中,会话密钥用于设备与认证服务器之间进行应用数据的加密传输。
此处需要说明的是,上述接收模块902和生成模块904对应于实施例1中的步骤S21至步骤S23,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机前端设备10中。
作为一种可选的实施例,安全数据集由密钥服务器通过局域网发送至认证服务器。
作为一种可选的实施例,接收模块包括:接收子模块,用于认证服务器接收密钥服务器发送的多个安全数据集,确定子模块,用于认证服务器根据第一预设规则,确定第一安全数据索引;查找子模块,用于认证服务器根据第一安全数据索引,从多个安全数据集中查找安全数据集。
作为一种可选的实施例,上述装置还包括:第一同步模块,用于在认证服务器基于安全数据集与设备进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥之后,认证服务器接收密钥服务器同步的第二安全数据索引,其中,密钥服务器基于动态选择策略,根据第二预设规则确定第二安全数据索引,动态选择策略包括如下至少之一:定时选择、周期性选择和发生预定事件时选择;确定模块,用于认证服务器根据第二安全数据索引确定更新后的安全数据集,其中,更新后的安全数据集中包括更新后的协商密钥和更新加密算法;第二同步模块,用于认证服务器将更新后的安全数据集同步至设备;再次生成模块,用于认证服务器基于更新后的安全数据集与设备进行安全通信,在安全通信的过程中,基于更新后的安全数据集计算生成更新后的会话密钥。
作为一种可选的实施例,在认证服务器确定更新后的安全数据集的预设时间内,认证服务器同时支持安全数据集和更新后的安全数据集;在认证服务器确定更新后的安全数据集的预设时间之后,认证服务器仅支持更新后的数据集。
作为一种可选的实施例,第二同步模块,包括同步子模块,用于认证服务器通过密钥服务器将更新后的安全数据集同步至设备,其中,如果对设备同步失败,则密钥服务器使用安全数据集重新对认证服务器进行同步。
作为一种可选的实施例,生成模块包括:发送子模块,用于认证服务器接收设备发送的加密信息,其中,加密信息中至少包括:设备的设备标识、设备生成的第一随机数、使用协商密钥和加密算法对第一随机数进行加密的得到的第一消息认证码和预设的加密套件集;验证子模块,用于认证服务器根据安全数据集验证第一随机数和第一消息认证码;第一生成子模块,用于如果验证成功,认证服务器生成第二随机数和安全因子;第二生成子模块,用于认证服务器使用第一随机数、第二随机数和安全因子生成会话密钥。
作为一种可选的实施例,上述装置还包括:第一加密模块,用于在认证服务器基于安全数据集与设备进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥之后,认证服务器使用安全数据集对安全因子进行加密,得到加密安全因子;第二加密模块,用于认证服务器使用安全数据集对第二随机数进行加密,得到第二消息认证码;返回模块,用于认证服务器向设备返回加密信息的响应数据,其中,响应数据至少包括:第二随机数、第二消息认证码、加密安全因子和加密套件集;其中,设备接收到响应数据后,使用安全数据集对第二随机数和第二消息认证码进行验证,使用安全数据集解密加密安全因子得到安全因子,并根据第一随机数、第二随机数和安全因子生成会话密钥。
实施例6
根据本发明实施例,还提供了一种用于实施上述实施例2中的获取密钥的方法,图10是根据本申请实施例6的一种获取密钥的装置的示意图,如图10所示,该装置 100包括:
接收模块102,用于设备接收密钥服务器同步的安全数据集,其中,密钥服务器同步给设备的安全数据集一并同步至认证服务器,安全数据集至少包括:协商密钥和加密算法;
生成模块104,用于设备基于安全数据集与认证服务器进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥,其中,会话密钥用于设备与认证服务器之间进行应用数据的加密传输。
此处需要说明的是,上述接收模块102和生成模块104对应于实施例2中的步骤S51至步骤S53,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机前端设备10中。
作为一种可选的实施例,上述装置还包括:再次接收模块,用于在设备根据安全数据集和认证服务器协商出会话密钥之后,设备接收认证服务器通过密钥服务器同步的更新后的数据集,其中,认证服务器接收密钥服务器同步的第二安全数据索引,并根据第二安全数据索引确定更新后的安全数据集,密钥服务器基于动态选择策略确定第二安全数据索引,动态选择策略包括如下至少之一:定时选择、周期性选择和发生预定事件时选择;再次生成模块,用于设备基于更新后的安全数据集与认证服务器进行安全通信,在安全通信的过程中,基于更新后的安全数据集计算生成更新后的会话密钥。
作为一种可选的实施例,生成模块,包括:发送子模块,用于设备向认证服务器发送加密信息,其中,加密信息中至少包括:设备的设备标识、设备生成的第一随机数、使用协商密钥和加密算法对第一随机数进行加密的得到的第一消息认证码和预设的加密套件集,其中,认证服务器根据安全数据集验证第一随机数和第一消息认证码,在验证成功的情况下生成第二随机数和安全因子,并使用第一随机数、第二随机数和安全因子生成会话密钥;接收子模块,用于
设备接收认证服务器返回的响应数据,其中,响应数据至少包括:第二随机数、使用安全数据集对第二随机数进行加密得到的第二消息认证码、使用安全数据集对安全因子进行加密得到的加密安全因子和加密套件集;生成子模块,用于设备使用安全数据集对第二随机数和第二消息认证码进行验证,使用安全数据集解密加密安全因子得到安全因子,并根据第一随机数、第二随机数和安全因子生成会话密钥。
实施例7
根据本发明实施例,还提供了一种用于实施上述实施例3中的获取密钥的方法,图11是根据本申请实施例7的一种获取密钥的装置的示意图,如图11所示,该装置 110包括:
确定模块112,用于认证服务器根据第一预设规则,确定安全数据集,安全数据集包括:认证服务器从预存的协商密钥集合中选择的协商密钥,和从预存的算法集中选择的加密算法。
接收模块114,用于认证服务器接收设备发送的加密信息,其中,加密信息至少包括:设备使用安全数据集加密第一密钥参数得到的加密结果,其中,设备根据第一预设规则获取到安全数据集。
解密模块116,用于认证服务器根据安全数据集解密加密结果,得到第一密钥参数。
生成模块118,用于认证服务器根据第一密钥参数和认证服务器生成的第二密钥参数,生成会话密钥,其中,会话密钥用于设备与认证服务器对应的应用服务器进行数据传输。
此处需要说明的是,上述确定模块112、接收模块114、解密模块116和生成模块118对应于实施例4中的步骤S81至步骤S87,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机前端设备10中。
作为一种可选的实施例,所述安全数据集还包括:从预存的算法集中选择的加密算法。
实施例8
本发明的实施例可以提供一种计算机前端设备,该计算机前端设备可以是计算机前端设备群中的任意一个计算机前端设备设备。可选地,在本实施例中,上述计算机前端设备也可以替换为移动前端设备等前端设备设备。
可选地,在本实施例中,上述计算机前端设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机前端设备可以执行获取密钥的方法中以下步骤的程序代码:认证服务器接收密钥服务器同步的安全数据集,其中,密钥服务器同步给认证服务器的安全数据集一并同步存储至设备,安全数据集至少包括:协商密钥和加密算法;认证服务器基于安全数据集与设备进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥,其中,会话密钥用于设备与认证服务器之间进行应用数据的加密传输。
可选地,图12是根据本发明实施例7的一种计算机前端设备的结构框图。如图 12所示,该计算机前端设备A可以包括:一个或多个(图中仅示出一个)处理器1202、存储器1204、以及外设接口1208。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的获取密钥的方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的获取密钥的方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至前端设备A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:认证服务器接收密钥服务器同步的安全数据集,其中,密钥服务器同步给认证服务器的安全数据集一并同步存储至设备,安全数据集至少包括:协商密钥和加密算法;认证服务器基于安全数据集与设备进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥,其中,会话密钥用于设备与认证服务器之间进行应用数据的加密传输。
可选的,上述处理器还可以执行如下步骤的程序代码:安全数据集由密钥服务器通过局域网发送至认证服务器。
可选的,上述处理器还可以执行如下步骤的程序代码:认证服务器接收密钥服务器发送的多个安全数据集,认证服务器根据第一预设规则,确定第一安全数据索引;认证服务器根据第一安全数据索引,从多个安全数据集中查找安全数据集。
可选的,上述处理器还可以执行如下步骤的程序代码:在认证服务器基于安全数据集与设备进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥之后,认证服务器接收密钥服务器同步的第二安全数据索引,其中,密钥服务器基于动态选择策略,根据第二预设规则确定第二安全数据索引,动态选择策略包括如下至少之一:定时选择、周期性选择和发生预定事件时选择;认证服务器根据第二安全数据索引确定更新后的安全数据集,其中,更新后的安全数据集中包括更新后的协商密钥和更新加密算法;认证服务器将更新后的安全数据集同步至设备;认证服务器基于更新后的安全数据集与设备进行安全通信,在安全通信的过程中,基于更新后的安全数据集计算生成更新后的会话密钥。
可选的,上述处理器还可以执行如下步骤的程序代码:在认证服务器确定更新后的安全数据集的预设时间内,认证服务器同时支持安全数据集和更新后的安全数据集;在认证服务器确定更新后的安全数据集的预设时间之后,认证服务器仅支持更新后的数据集。
可选的,上述处理器还可以执行如下步骤的程序代码:认证服务器通过密钥服务器将更新后的安全数据集同步至设备,其中,如果对设备同步失败,则密钥服务器使用安全数据集重新对认证服务器进行同步。
可选的,上述处理器还可以执行如下步骤的程序代码:认证服务器接收设备发送的加密信息,其中,加密信息中至少包括:设备的设备标识、设备生成的第一随机数、使用协商密钥和加密算法对第一随机数进行加密的得到的第一消息认证码和预设的加密套件集;认证服务器根据安全数据集验证第一随机数和第一消息认证码;如果验证成功,认证服务器生成第二随机数和安全因子;认证服务器使用第一随机数、第二随机数和安全因子生成会话密钥。
可选的,上述处理器还可以执行如下步骤的程序代码:在认证服务器基于安全数据集与设备进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥之后,认证服务器使用安全数据集对安全因子进行加密,得到加密安全因子;认证服务器使用安全数据集对第二随机数进行加密,得到第二消息认证码;认证服务器向设备返回加密信息的响应数据,其中,响应数据至少包括:第二随机数、第二消息认证码、加密安全因子和加密套件集;其中,设备接收到响应数据后,使用安全数据集对第二随机数和第二消息认证码进行验证,使用安全数据集解密加密安全因子得到安全因子,并根据第一随机数、第二随机数和安全因子生成会话密钥。
采用本发明实施例,提供了一种获取密钥的方法。用于生成会话密钥的协商密钥和加密算法并非预置在认证服务器中,而是在生成会话密钥前获取的,因此具有更高的安全性,且通过确定的协商密钥和加密算法计算出最终的会话密钥,可以免除认证服务器和设备双方交换证书的过程,以较小的代价选择除协商密钥和算法。解决了的物联网场景下,设备端和云端服务器之间协商会话密钥的握手阶段,由于采用预置密钥参与会话密钥生成,导致密钥被破解概率增大,认证过程安全性差的技术问题。
本领域普通技术人员可以理解,图12所示的结构仅为示意,计算机前端设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等前端设备设备。图12其并不对上述电子装置的结构造成限定。例如,计算机前端设备A还可包括比图12中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图12所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令前端设备设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
实施例7
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的获取密钥的方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机前端设备群中的任意一个计算机前端设备中,或者位于移动前端设备群中的任意一个移动前端设备中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:认证服务器接收密钥服务器同步的安全数据集,其中,密钥服务器同步给认证服务器的安全数据集一并同步存储至设备,安全数据集至少包括:协商密钥和加密算法;认证服务器基于安全数据集与设备进行安全通信,在安全通信的过程中,基于安全数据集计算生成会话密钥,其中,会话密钥用于设备与认证服务器之间进行应用数据的加密传输。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (16)

1.一种获取密钥的方法,包括:
认证服务器接收密钥服务器同步的安全数据集,其中,所述密钥服务器同步给所述认证服务器的所述安全数据集一并同步存储至设备,所述安全数据集至少包括:协商密钥和加密算法;
所述认证服务器基于所述安全数据集与所述设备进行安全通信,在所述安全通信的过程中,基于所述安全数据集计算生成会话密钥,其中,所述会话密钥用于所述设备与所述认证服务器之间进行应用数据的加密传输。
2.根据权利要求1所述的方法,其中,所述安全数据集由所述密钥服务器通过局域网发送至所述认证服务器。
3.根据权利要求1所述的方法,其中,所述密钥服务器中存储有多个安全数据集,认证服务器接收密钥服务器同步的安全数据集,包括:
所述认证服务器接收所述密钥服务器发送的多个安全数据集,
所述认证服务器根据第一预设规则,确定第一安全数据索引;
所述认证服务器根据所述第一安全数据索引,从所述多个安全数据集中查找所述安全数据集。
4.根据权利要求3所述的方法,其中,在所述认证服务器基于所述安全数据集与所述设备进行安全通信,在所述安全通信的过程中,基于所述安全数据集计算生成会话密钥之后,所述方法还包括:
所述认证服务器接收所述密钥服务器同步的第二安全数据索引,其中,所述密钥服务器基于动态选择策略,根据第二预设规则确定所述第二安全数据索引,所述动态选择策略包括如下至少之一:定时选择、周期性选择和发生预定事件时选择;
所述认证服务器根据所述第二安全数据索引确定更新后的安全数据集,其中,所述更新后的安全数据集中包括更新后的协商密钥和更新加密算法;
所述认证服务器将所述更新后的安全数据集同步至所述设备;
所述认证服务器基于所述更新后的安全数据集与所述设备进行安全通信,在所述安全通信的过程中,基于所述更新后的安全数据集计算生成更新后的会话密钥。
5.根据权利要求4所述的方法,其中,
在所述认证服务器确定所述更新后的安全数据集的预设时间内,所述认证服务器同时支持所述安全数据集和所述更新后的安全数据集;
在所述认证服务器确定所述更新后的安全数据集的预设时间之后,所述认证服务器仅支持所述更新后的安全数据集。
6.根据权利要求4所述的方法,其中,所述认证服务器将所述更新后的安全数据集同步至所述设备,包括:
所述认证服务器通过所述密钥服务器将所述更新后的安全数据集同步至所述设备,其中,如果对所述设备同步失败,则所述密钥服务器使用所述安全数据集重新对所述认证服务器进行同步。
7.根据权利要求1至6中任意一项所述的方法,其中,所述认证服务器基于所述安全数据集与所述设备进行安全通信,在所述安全通信的过程中,基于所述安全数据集计算生成会话密钥,包括:
所述认证服务器接收所述设备发送的加密信息,其中,所述加密信息中至少包括:所述设备的设备标识、所述设备生成的第一随机数、使用所述协商密钥和所述加密算法对所述第一随机数进行加密的得到的第一消息认证码和预设的加密套件集;
所述认证服务器根据所述安全数据集验证所述第一随机数和所述第一消息认证码;
如果验证成功,所述认证服务器生成第二随机数和安全因子;
所述认证服务器使用所述第一随机数、所述第二随机数和所述安全因子生成所述会话密钥。
8.根据权利要求7所述的方法,其中,在所述认证服务器基于所述安全数据集与所述设备进行安全通信,在所述安全通信的过程中,基于所述安全数据集计算生成会话密钥之后,所述方法还包括:
所述认证服务器使用所述安全数据集对所述安全因子进行加密,得到加密安全因子;
所述认证服务器使用所述安全数据集对所述第二随机数进行加密,得到第二消息认证码;
所述认证服务器向所述设备返回所述加密信息的响应数据,其中,所述响应数据至少包括:所述第二随机数、所述第二消息认证码、所述加密安全因子和加密套件集;
其中,所述设备接收到所述响应数据后,使用所述安全数据集对所述第二随机数和所述第二消息认证码进行验证,使用所述安全数据集解密加密安全因子得到所述安全因子,并根据所述第一随机数、所述第二随机数和所述安全因子生成所述会话密钥。
9.一种获取密钥的方法,包括:
设备接收密钥服务器同步的安全数据集,其中,所述密钥服务器同步给所述设备的所述安全数据集一并同步至认证服务器,所述安全数据集至少包括:协商密钥和加密算法;
所述设备基于所述安全数据集与所述认证服务器进行安全通信,在所述安全通信的过程中,基于所述安全数据集计算生成会话密钥,其中,所述会话密钥用于所述设备与所述认证服务器之间进行应用数据的加密传输。
10.根据权利要求9所述的方法,其中,在所述设备根据所述安全数据集和认证服务器协商出会话密钥之后,所述方法还包括:
所述设备接收所述认证服务器通过密钥服务器同步的更新后的数据集,其中,所述认证服务器接收所述密钥服务器同步的第二安全数据索引,并根据所述第二安全数据索引确定更新后的安全数据集,所述密钥服务器基于动态选择策略确定所述第二安全数据索引,所述动态选择策略包括如下至少之一:定时选择、周期性选择和发生预定事件时选择;
所述设备基于所述更新后的安全数据集与所述认证服务器进行安全通信,在所述安全通信的过程中,基于所述更新后的安全数据集计算生成更新后的会话密钥。
11.根据权利要求9所述的方法,其中,所述设备根据所述安全数据集和认证服务器协商出会话密钥,包括:
所述设备向所述认证服务器发送加密信息,其中,所述加密信息中至少包括:所述设备的设备标识、所述设备生成的第一随机数、使用所述协商密钥和所述加密算法对所述第一随机数进行加密的得到的第一消息认证码和预设的加密套件集,其中,所述认证服务器根据所述安全数据集验证所述第一随机数和所述第一消息认证码,在验证成功的情况下生成第二随机数和安全因子,并使用所述第一随机数、所述第二随机数和所述安全因子生成所述会话密钥;
所述设备接收所述认证服务器返回的响应数据,其中,所述响应数据至少包括:所述第二随机数、使用所述安全数据集对所述第二随机数进行加密得到的第二消息认证码、使用所述安全数据集对所述安全因子进行加密得到的加密安全因子和加密套件集;
所述设备使用所述安全数据集对所述第二随机数和所述第二消息认证码进行验证,使用所述安全数据集解密加密安全因子得到所述安全因子,并根据所述第一随机数、所述第二随机数和所述安全因子生成所述会话密钥。
12.一种获取密钥的方法,包括:
认证服务器根据第一预设规则,确定安全数据集,其中,所述安全数据集包括:所述认证服务器从预存的协商密钥集合中选择的协商密钥;
所述认证服务器接收设备发送的加密信息,其中,所述加密信息至少包括:所述设备使用所述安全数据集加密第一密钥参数得到的加密结果,其中,所述设备根据所述第一预设规则获取到所述安全数据集;
所述认证服务器根据所述安全数据集解密所述加密结果,得到所述第一密钥参数;
所述认证服务器根据所述第一密钥参数和所述认证服务器生成的第二密钥参数,生成会话密钥;
其中,所述安全数据集还包括:从预存的算法集中选择的加密算法;
其中,在认证服务器根据第一预设规则,确定安全数据集之前,所述方法还包括:
所述认证服务器接收所述密钥服务器发送的多个安全数据集;
其中,所述认证服务器根据第一预设规则,确定安全数据集,包括:
所述认证服务器根据所述第一预设规则,从所述多个安全数据集中查找所述安全数据集。
13.一种获取密钥的系统,包括:
设备,用于接收密钥服务器同步的安全数据集,并基于所述安全数据集与认证服务器进行安全通信,在所述安全通信的过程中,基于所述安全数据集计算生成会话密钥,其中,所述安全数据集至少包括:协商密钥和加密算法,所述会话密钥用于所述设备与所述认证服务器之间进行应用数据的加密传输;
所述认证服务器,用于接收密钥服务器同步的安全数据集,并基于所述安全数据集与所述设备进行安全通信,在所述安全通信的过程中,基于所述安全数据集计算生成会话密钥。
14.根据权利要求13所述的系统,其中,所述系统还包括:
密钥服务器,用于通过局域网向所述认证服务器发送多个安全数据集,并向所述设备发送所述多个安全数据集。
15.一种计算机可读存储介质,存储计算机程序,其中,所述计算机程序可被处理器执行以实现以下步骤:认证服务器接收密钥服务器同步的安全数据集,其中,所述密钥服务器同步给所述认证服务器的所述安全数据集一并同步存储至设备,所述安全数据集至少包括:协商密钥和加密算法;所述认证服务器基于所述安全数据集与所述设备进行安全通信,在所述安全通信的过程中,基于所述安全数据集计算生成会话密钥,其中,所述会话密钥用于所述设备与所述认证服务器之间进行应用数据的加密传输。
16.一种计算机终端,其中,包括:存储器和处理器,所述处理器用于运行程序,所述程序运行时执行如下步骤:认证服务器接收密钥服务器同步的安全数据集,其中,所述密钥服务器同步给所述认证服务器的所述安全数据集一并同步存储至设备,所述安全数据集至少包括:协商密钥和加密算法;所述认证服务器基于所述安全数据集与所述设备进行安全通信,在所述安全通信的过程中,基于所述安全数据集计算生成会话密钥,其中,所述会话密钥用于所述设备与所述认证服务器之间进行应用数据的加密传输。
CN201811075654.5A 2018-09-14 2018-09-14 获取密钥的方法、装置和系统,存储介质和计算机终端 Active CN110912852B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811075654.5A CN110912852B (zh) 2018-09-14 2018-09-14 获取密钥的方法、装置和系统,存储介质和计算机终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811075654.5A CN110912852B (zh) 2018-09-14 2018-09-14 获取密钥的方法、装置和系统,存储介质和计算机终端

Publications (2)

Publication Number Publication Date
CN110912852A CN110912852A (zh) 2020-03-24
CN110912852B true CN110912852B (zh) 2022-04-08

Family

ID=69812464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811075654.5A Active CN110912852B (zh) 2018-09-14 2018-09-14 获取密钥的方法、装置和系统,存储介质和计算机终端

Country Status (1)

Country Link
CN (1) CN110912852B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111787514B (zh) * 2020-06-28 2024-03-22 海尔优家智能科技(北京)有限公司 设备控制数据的获取方法及装置、存储介质、电子装置
CN111988143B (zh) * 2020-08-28 2024-03-01 百度时代网络技术(北京)有限公司 密钥更新方法、装置、设备以及存储介质
CN112039922B (zh) * 2020-09-18 2022-09-23 广东乐心医疗电子股份有限公司 一种加密通信方法及装置
CN113179240B (zh) * 2020-09-28 2023-01-06 深圳华智融科技股份有限公司 密钥保护方法、装置、设备及存储介质
CN112468295B (zh) * 2020-11-26 2023-05-12 江西省湾流港智能科技有限公司 基于车位锁设备的物联网通信加密方法、系统、计算机设备
CN114844720B (zh) * 2022-06-06 2023-06-02 湖南五凌电力科技有限公司 一种物联数据加密传输方法、系统、服务端及客户端
WO2023245318A1 (en) * 2022-06-20 2023-12-28 Huawei Technologies Co., Ltd. Devices and methods for policy communication in a wireless local area network

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1679066A (zh) * 2002-07-12 2005-10-05 英格里安网络公司 网络连接加密
WO2014138494A1 (en) * 2013-03-07 2014-09-12 Cloudflare, Inc Secure session capability using public-key cryptography without access to the private key
CN104821930A (zh) * 2014-02-03 2015-08-05 塔塔咨询服务公司 计算机实施的物联网数据报传输轻型认证系统和方法
CN105391734A (zh) * 2015-12-10 2016-03-09 布比(北京)网络技术有限公司 一种安全登录系统及方法、登录服务器和认证服务器
CN106060070A (zh) * 2016-07-01 2016-10-26 中国人民解放军国防科学技术大学 基于身份密码系统的tls握手协议

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1679066A (zh) * 2002-07-12 2005-10-05 英格里安网络公司 网络连接加密
WO2014138494A1 (en) * 2013-03-07 2014-09-12 Cloudflare, Inc Secure session capability using public-key cryptography without access to the private key
CN104821930A (zh) * 2014-02-03 2015-08-05 塔塔咨询服务公司 计算机实施的物联网数据报传输轻型认证系统和方法
CN105391734A (zh) * 2015-12-10 2016-03-09 布比(北京)网络技术有限公司 一种安全登录系统及方法、登录服务器和认证服务器
CN106060070A (zh) * 2016-07-01 2016-10-26 中国人民解放军国防科学技术大学 基于身份密码系统的tls握手协议

Also Published As

Publication number Publication date
CN110912852A (zh) 2020-03-24

Similar Documents

Publication Publication Date Title
CN110912852B (zh) 获取密钥的方法、装置和系统,存储介质和计算机终端
CN107959656B (zh) 数据安全保障系统及方法、装置
EP3432532B1 (en) Key distribution and authentication method, apparatus and system
CN107317674B (zh) 密钥分发、认证方法,装置及系统
CN107800539B (zh) 认证方法、认证装置和认证系统
CN105553951B (zh) 数据传输方法和装置
CN102833253B (zh) 建立客户端与服务器安全连接的方法及服务器
CN103118027B (zh) 基于国密算法建立tls通道的方法
TW201919363A (zh) 量子金鑰的分發系統及其分發方法和資料處理方法
JP2020080530A (ja) データ処理方法、装置、端末及びアクセスポイントコンピュータ
CN108173644A (zh) 数据传输加密方法、装置、存储介质、设备及服务器
WO2018177905A1 (en) Hybrid key exchange
US11375369B2 (en) Message authentication method and communication method of communication network system, and communication network system
CN112235107B (zh) 一种数据传输方法、装置、设备和存储介质
CN110198295A (zh) 安全认证方法和装置及存储介质
CN106941404B (zh) 密钥保护方法及装置
CN107483383A (zh) 一种数据处理方法、终端及后台服务器
CN109862103B (zh) 基于区块链的文件数据安全共享方法和装置
CN109194474A (zh) 一种数据传输方法及装置
CN114465803B (zh) 对象授权方法、装置、系统及存储介质
CN110839240B (zh) 一种建立连接的方法及装置
CN110601825A (zh) 密文的处理方法及装置、存储介质、电子装置
CN113239403A (zh) 一种数据共享方法及装置
CN115499250A (zh) 一种数据加密方法及装置
CN114173328A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40026493

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant