CN108512846B - 一种终端与服务器之间的双向认证方法和装置 - Google Patents
一种终端与服务器之间的双向认证方法和装置 Download PDFInfo
- Publication number
- CN108512846B CN108512846B CN201810276386.7A CN201810276386A CN108512846B CN 108512846 B CN108512846 B CN 108512846B CN 201810276386 A CN201810276386 A CN 201810276386A CN 108512846 B CN108512846 B CN 108512846B
- Authority
- CN
- China
- Prior art keywords
- server
- terminal
- random number
- character string
- preset random
- 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
- 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/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例提供了一种终端与服务器之间的双向认证方法和装置,应用于终端,终端可以根据终端私钥和第一预设随机数,得到加密字符串,并发送至服务器,以使服务器对终端进行认证,根据与服务器对应的公钥,对服务器发送的验证字符串进行解密,得到服务器的认证结果;应用于服务器,服务器在接收到终端发送的加密字符串时,根据与终端对应的公钥,对加密字符串进行解密,如果解密失败,判定终端认证失败,否则,判定终端认证成功,根据解密结果、服务器私钥和第二预设随机数,生成验证字符串,并发送至终端,以使终端对服务器进行认证。基于上述处理,终端和服务器不需要下载和导入证书,且交互次数较少,适用于计算能力较低的终端。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种终端与服务器之间的双向认证方法和装置。
背景技术
智能家电凭借其操作方便、效率高、响应迅速、智能化等优点,已成为人们生活中的必需品。通过将微处理器、传感器技术和通信技术融合到传统的家电产品中,使之成为智能化并且具备网络通信功能的终端,即智能家电。另外,还可以设置云端,用于统一管理各智能家电,该云端可以为服务器。终端可以通过网络接入服务器,对服务器进行认证后,可以与服务器进行业务数据传输。
现在技术中,为了保证业务数据传输的安全性和可靠性,通常采用结合证书和协议握手的方式进行认证。例如,SSL(Secure Sockets Layer,安全套接层)协议握手。
然而,基于上述协议握手的方式进行认证,终端和服务器需要下载相应的证书,并导入自身设备。在认证过程中,终端和服务器需要交换双方的证书,且双方需要至少进行四次交互,进而增大了认证的复杂度,可见,上述方法不适用于计算能力较低的终端。
发明内容
本发明实施例的目的在于提供一种终端与服务器之间的双向认证方法和装置,可以降低认证的复杂度,能够适用于计算能力较低的终端。具体技术方案如下:
第一方面,为了达到上述目的,本发明实施例公开了一种终端与服务器之间的双向认证方法,所述方法应用于终端,所述方法包括:
根据预先存储的终端私钥,对第一预设随机数进行加密,得到加密字符串;
将所述加密字符串发送至服务器,以使所述服务器根据所述加密字符串对所述终端进行认证;
当接收到所述服务器发送的验证字符串时,根据与所述服务器对应的公钥,对所述验证字符串进行解密;
根据解密结果,得到所述服务器的认证结果。
可选的,所述根据解密结果,得到所述服务器的认证结果,包括:
如果解密成功,判定所述服务器认证成功;
如果解密失败,判定所述服务器认证失败。
可选的,如果解密成功,所述方法还包括:
根据解密结果和预设的密钥生成算法,生成通信密钥,以根据所述通信密钥与所述服务器进行加密通信。
第二方面,为了达到上述目的,本发明实施例公开了一种终端与服务器之间的双向认证方法,所述方法应用于服务器,所述方法包括:
当接收到终端发送的加密字符串时,根据与所述终端对应的公钥,对所述加密字符串进行解密;
如果解密失败,判定所述终端认证失败;
如果解密成功,判定所述终端认证成功,并根据解密结果、预先存储的服务器私钥,以及第二预设随机数,生成验证字符串;
将所述验证字符串发送至所述终端,以使所述终端根据所述验证字符串对所述服务器进行认证。
可选的,所述方法还包括:
根据所述解密结果、所述第二预设随机数,以及预设的密钥生成算法,生成通信密钥,以根据所述通信密钥与所述终端进行加密通信。
第三方面,为了达到上述目的,本发明实施例公开了一种终端与服务器之间的双向认证装置,所述装置应用于终端,所述装置包括:
第一处理模块,用于根据预先存储的终端私钥,对第一预设随机数进行加密,得到加密字符串;
第一收发模块,用于将所述加密字符串发送至服务器,以使所述服务器根据所述加密字符串对所述终端进行认证;接收所述服务器发送的验证字符串;
所述第一处理模块,还用于根据与所述服务器对应的公钥,对所述验证字符串进行解密;
根据解密结果,得到所述服务器的认证结果。
可选的,所述第一处理模块,具体用于如果解密成功,判定所述服务器认证成功;
如果解密失败,判定所述服务器认证失败。
可选的,如果解密成功,所述第一处理模块,还用于根据解密结果和预设的密钥生成算法,生成通信密钥,以根据所述通信密钥与所述服务器进行加密通信。
第四方面,为了达到上述目的,本发明实施例公开了一种终端与服务器之间的双向认证装置,所述装置应用于服务器,所述装置包括:
第二收发模块,用于接收终端发送的加密字符串;
第二处理模块,用于根据与所述终端对应的公钥,对所述加密字符串进行解密;
如果解密失败,判定所述终端认证失败;
如果解密成功,判定所述终端认证成功,并根据解密结果、预先存储的服务器私钥,以及第二预设随机数,生成验证字符串;
所述第二收发模块,还用于将所述验证字符串发送至所述终端,以使所述终端根据所述验证字符串对所述服务器进行认证。
可选的,所述第二处理模块,还用于根据所述解密结果、所述第二预设随机数,以及预设的密钥生成算法,生成通信密钥,以根据所述通信密钥与所述终端进行加密通信。
在本发明实施的又一方面,为了达到上述目的,本发明实施例公开了一种终端,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现上述第一方面所述的方法步骤。
在本发明实施的又一方面,为了达到上述目的,本发明实施例公开了一种服务器,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现上述第二方面所述的方法步骤。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法步骤。
在本发明实施的又一方面,还提供了第二种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上第二方面所述的方法步骤。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法步骤。
在本发明实施的又一方面,本发明实施例还提供了第二种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面所述的方法步骤。
本发明实施例提供的一种终端与服务器之间的双向认证方法和装置,可以应用于终端,终端可以根据预先存储的终端私钥,对第一预设随机数进行加密,得到加密字符串,将加密字符串发送至服务器,以使服务器根据加密字符串对终端进行认证,当接收到服务器发送的验证字符串时,根据与服务器对应的公钥,对验证字符串进行解密,根据解密结果,得到服务器的认证结果。基于上述处理,终端和服务器不需要下载和导入证书,且交互次数较少,可以降低认证的复杂度,能够适用于计算能力较低的终端。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中一种终端与服务器之间认证的系统框图;
图2为本发明实施例提供的一种应用于终端的终端与服务器之间的双向认证方法的流程图;
图3为本发明实施例提供的一种应用于服务器的终端与服务器之间的双向认证方法的流程图;
图4为本发明实施例提供的一种终端与服务器认证的交互信令图;
图5为本发明实施例提供的一种应用于终端的终端与服务器之间的双向认证装置的结构图;
图6为本发明实施例提供的一种应用于服务器的终端与服务器之间的双向认证装置的结构图;
图7为本发明实施例提供的一种终端的结构图;
图8为本发明实施例提供的一种服务器的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现在技术中,为了保证业务数据传输的安全性和可靠性,通常采用结合证书和协议握手的方式进行认证。例如,SSL(Secure Sockets Layer,安全套接层)协议握手。然而,基于上述协议握手的方式进行认证,终端和服务器需要下载相应的证书,并导入设备。在认证过程中,终端和服务器需要交换双方的证书,且双方需要至少进行四次交互,进而增大了认证的复杂度,不适用于计算能力较低的终端。
为了解决上述问题,本发明实施例提供了一种终端与服务器之间的双向认证方法和装置,基于本发明实施例的方法和装置,终端和服务器不需要下载和导入证书,且减少了交互次数,可以降低认证的复杂度,能够适用于计算能力较低的终端。
参见图1,图1为现有技术中一种终端与服务器之间认证的系统框图,该系统包括:服务器和多个终端。其中,终端可以为智能家电,服务器可以为云端。某一终端与服务器在进行认证之前,该终端和服务器都需要下载各自的证书,并导入自身设备。当该终端接入服务器时,该终端和服务器需要进行多次交互,并且交换双方的证书。
参见图2,图2为本发明实施例提供的一种应用于终端的终端与服务器之间的双向认证方法的流程图,该方法可以包括以下步骤:
S201:根据预先存储的终端私钥,对第一预设随机数进行加密,得到加密字符串。
其中,终端中可以预先存储一个私钥(即终端私钥),具体的,终端可以将该终端私钥存在本地的ROM(Read-Only Memory,只读内存)中。终端中还可以配置有随机数生成程序,用于生成随机数。
在实施中,当终端需要接入服务器时,终端可以调用本地的随机数生成程序,生成随机数(即第一预设随机数),也可以在预先生成的多个随机数中,选择一个随机数,作为第一预设随机数。具体的,第一预设随机数可以为32位的随机数。然后,终端可以根据本地的终端私钥,对第一预设随机数进行加密,将加密结果作为加密字符串。
S202:将加密字符串发送至服务器,以使服务器根据加密字符串对终端进行认证。
在实施中,终端可以向服务器发送认证请求,该认证请求中可以携带有加密字符串,还可以携带有该终端的终端标识,以使服务器接收到认证请求后,可以根据加密字符串及该终端的终端标识对该终端进行认证。其中,终端的终端标识可以该终端的硬件地址。
S203:当接收到服务器发送的验证字符串时,根据与服务器对应的公钥,对验证字符串进行解密。
其中,终端本地可以预先存储一个公钥,该公钥与服务器中预先存储的私钥为成对公私钥,验证字符串可以是服务器根据第一预设随机数和服务器预先存储的私钥生成的。
在实施中,当服务器需要终端对服务器进行认证时,可以向终端发送认证请求,该认证请求中可以携带有验证字符串。终端则可以接收到服务器发送认证请求,解析该认证请求,得到验证字符串,然后根据与该服务器对应的公钥,对验证字符串进行解密。
S204:根据解密结果,得到服务器的认证结果。
在实施中,终端可以根据解密结果,确定服务器的认证结果。当终端判定服务器认证成功时,则可以与服务器进行业务数据的传输,当终端判定服务器认证失败时,则拒绝与服务器传输业务数据。
由以上可见,基于本发明实施例的终端与服务器之间的双向认证方法,在进行认证时,终端可以根据预先存储的终端私钥,对第一预设随机数进行加密,得到加密字符串,将加密字符串发送至服务器,以使该服务器根据加密字符串对终端进行认证,当接收到该服务器发送的验证字符串时,根据与该服务器对应的公钥,对验证字符串进行解密,根据解密结果,得到该服务器的认证结果。终端和该服务器不需要下载和导入证书,且减少了交互次数,可以降低认证的复杂度,能够适用于计算能力较低的终端。
可选的,根据解密结果,得到服务器的认证结果,可以包括以下步骤:如果解密成功,判定服务器认证成功;如果解密失败,判定服务器认证失败。
在实施中,如果终端根据与该服务器对应的公钥,成功解密验证字符串,则终端可以判定服务器认证成功,进而可以与服务器进行业务数据的传输。如果终端根据与该服务器对应的公钥,无法解密验证字符串,则终端可以判定服务器认证失败,则拒绝与服务器传输业务数据。
可选的,在认证过程中,终端还可以获取通信密钥,以提高与服务器通信的安全性和可靠性。具体的,如果解密成功,上述方法还可以包括以下步骤:根据解密结果和预设的密钥生成算法,生成通信密钥,以根据通信密钥与服务器进行加密通信。
其中,终端本地可以配置有密钥生成程序,例如,DES(Data EncryptionStandard,数据加密标准)密钥生成器、AES(Advanced Encryption Standard,高级加密标准)密钥生成器或其他密钥生成程序。
在实施中,如果终端根据与该服务器对应的公钥,成功解密验证字符,终端可以得到第一预设随机数和第二预设随机数,然后可以调用本地的密钥生成程序,对第一预设随机数和第二预设随机数进行处理,得到密钥(即通信密钥),以使终端可以根据该通信密钥与服务器进行加密通信。
参见图3,图3为本发明实施例提供的一种应用于服务器的终端与服务器之间的双向认证方法的流程图,该方法可以包括以下步骤:
S301:当接收到终端发送的加密字符串时,根据与终端对应的公钥,对加密字符串进行解密。
其中,加密字符串可以是终端根据终端存储的终端私钥和随机数生成的,服务器本地可以预先存储终端的终端标识与终端的终端公钥的对应关系,终端的终端公钥与该终端的终端私钥为成对公私钥。
在实施中,当终端需要服务器对终端进行认证时,可以向服务器发送认证请求,认证请求中可以携带有加密字符串和该终端的终端标识。服务器则可以接收到终端发送的认证请求,解析该认证请求,得到终端标识和加密字符串,然后可以在本地的终端标识与终端的终端公钥的对应关系中进行查询,得到与该终端标识对应的终端公钥(即上述与终端对应的公钥),根据该终端公钥,对加密字符串进行解密。
S302:如果解密失败,判定终端认证失败。
在实施中,如果服务器根据终端公钥,无法解密加密字符串,则服务器可以判定该终端认证失败,则拒绝与该终端传输业务数据。
S303:如果解密成功,判定终端认证成功,并根据解密结果、预先存储的服务器私钥,以及第二预设随机数,生成验证字符串。
其中,服务器中可以配置有随机数生成程序,用于生成随机数。
在实施中,服务器根据终端公钥,成功解密加密字符串后,可以得到第一预设随机数,然后,服务器可以调用本地的随机数生成程序,生成随机数(即第二预设随机数),也可以在预先生成的多个随机数中,选择一个随机数,作为第二预设随机数。具体的,第二预设随机数可以为32位的随机数。服务器可以对第一预设随机数和第二预设随机数进行拼接,然后根据本地存储的服务器私钥,对拼接结果进行加密,将加密结果作为验证字符串。
S304:将验证字符串发送至终端,以使终端根据验证字符串对服务器进行认证。
在实施中,生成验证字符串后,服务器可以将验证字符串发送至该终端,以使该终端根据验证字符串对服务器进行认证。
由以上可见,基于本发明实施例的终端与服务器之间的双向认证方法,当接收到终端发送的加密字符串时,服务器可以根据与该终端对应的公钥,对加密字符串进行解密,如果解密失败,判定该终端认证失败,如果解密成功,判定该终端认证成功,并根据解密结果、预先存储的服务器私钥,以及第二预设随机数,生成验证字符串,将验证字符串发送至该终端,以使该终端根据验证字符串对服务器进行认证。服务器和该终端不需要下载和导入证书,且减少了交互次数,可以降低认证的复杂度,能够适用于计算能力较低的终端。
可选的,在认证过程中,服务器还可以获取通信密钥,以提高与终端通信的安全性和可靠性。具体的,上述方法还可以包括以下步骤:根据解密结果、第二预设随机数,以及预设的密钥生成算法,生成通信密钥,以根据通信密钥与所述进行加密通信。
其中,服务器本地可以配置有密钥生成程序,例如,DES(Data EncryptionStandard,数据加密标准)密钥生成器、AES(Advanced Encryption Standard,高级加密标准)密钥生成器或其他密钥生成程序。
在实施中,如果服务器根据终端公钥,成功解密加密字符串,服务器可以得到第一预设随机数,然后可以调用本地的密钥生成程序,对第一预设随机数和第二预设随机数进行处理,得到密钥(即通信密钥),以使服务器可以根据该通信密钥与终端进行加密通信。
参见图4,图4为本发明实施例提供的一种终端与服务器认证的交互信令图,包括以下步骤:
S401:终端根据预先存储的终端私钥,对第一预设随机数进行加密,得到加密字符串。
S402:终端将加密字符串发送至服务器。
S403:服务器根据与该终端对应的公钥,成功解密加密字符串,判定该终端认证成功,并根据解密结果、预先存储的服务器私钥,以及第二预设随机数,生成验证字符串。
S404:服务器将验证字符串发送至终端。
S405:终端根据与该服务器对应的公钥,对验证字符串进行解密,根据解密结果,得到该服务器的认证结果。
与图2的方法实施例相对应,参见图5,图5为本发明实施例提供的一种应用于终端的终端与服务器之间的双向认证装置的结构图,该装置包括:
第一处理模块501,用于根据预先存储的终端私钥,对第一预设随机数进行加密,得到加密字符串;
第一收发模块502,用于将所述加密字符串发送至服务器,以使所述服务器根据所述加密字符串对所述终端进行认证;接收所述服务器发送的验证字符串;
所述第一处理模块501,还用于根据与所述服务器对应的公钥,对所述验证字符串进行解密;
根据解密结果,得到所述服务器的认证结果。
可选的,所述第一处理模块501,具体用于如果解密成功,判定所述服务器认证成功;
如果解密失败,判定所述服务器认证失败。
可选的,如果解密成功,所述第一处理模块501,还用于根据解密结果和预设的密钥生成算法,生成通信密钥,以根据所述通信密钥与所述服务器进行加密通信。
与图3的方法实施例相对应,参见图6,图6为本发明实施例提供的一种应用于服务器的终端与服务器之间的双向认证装置的结构图,该装置包括:
第二收发模块601,用于接收终端发送的加密字符串;
第二处理模块602,用于根据与所述终端对应的公钥,对所述加密字符串进行解密;
如果解密失败,判定所述终端认证失败;
如果解密成功,判定所述终端认证成功,并根据解密结果、预先存储的服务器私钥,以及第二预设随机数,生成验证字符串;
所述第二收发模块601,还用于将所述验证字符串发送至所述终端,以使所述终端根据所述验证字符串对所述服务器进行认证。
可选的,所述第二处理模块602,还用于根据所述解密结果、所述第二预设随机数,以及预设的密钥生成算法,生成通信密钥,以根据所述通信密钥与所述终端进行加密通信。
本发明实施例还提供了一种终端,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:
根据预先存储的终端私钥,对第一预设随机数进行加密,得到加密字符串;
将所述加密字符串发送至服务器,以使所述服务器根据所述加密字符串对所述终端进行认证;
当接收到所述服务器发送的验证字符串时,根据与所述服务器对应的公钥,对所述验证字符串进行解密;
根据解密结果,得到所述服务器的认证结果。
本发明实施例还提供了一种服务器,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
存储器803,用于存放计算机程序;
处理器801,用于执行存储器803上所存放的程序时,实现如下步骤:
当接收到终端发送的加密字符串时,根据与所述终端对应的公钥,对所述加密字符串进行解密;
如果解密失败,判定所述终端认证失败;
如果解密成功,判定所述终端认证成功,并根据解密结果、预先存储的服务器私钥,以及第二预设随机数,生成验证字符串;
将所述验证字符串发送至所述终端,以使所述终端根据所述验证字符串对所述服务器进行认证。
上述实施例提到的通信总线可以是外设部件互连标准(Peripheral Compon entInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standa rdArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端和服务器,与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的应用于终端的终端与服务器之间的双向认证方法。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的应用于服务器的终端与服务器之间的双向认证方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的应用于终端的终端与服务器之间的双向认证方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的应用于服务器的终端与服务器之间的双向认证方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、终端、服务器、计算机可读存储介质、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
Claims (4)
1.一种终端与服务器之间的双向认证方法,其特征在于,所述方法应用于终端,所述方法包括:
根据预先存储的终端私钥,对第一预设随机数进行加密,得到加密字符串,其中,所述第一预设随机数通过终端本地的随机数生成程序生成,或在预先生成的多个随机数中选择;
将所述加密字符串发送至服务器,以使所述服务器根据所述加密字符串对所述终端进行认证;
当接收到所述服务器发送的验证字符串时,根据与所述服务器对应的公钥,对所述验证字符串进行解密;其中,所述验证字符串是所述服务器根据第一预设随机数、服务器预先存储的服务器私钥,以及第二预设随机数生成的,其中,所述第二预设随机数通过服务器本地的随机数生成程序生成,或在预先生成的多个随机数中选择;
如果解密成功,则判定所述服务器认证成功,调用本地的密钥生成程序,对所述第一预设随机数和所述第二预设随机数进行处理,得到通信密钥,根据所述通信密钥与所述服务器进行加密通信;
如果解密失败,则判定所述服务器认证失败。
2.一种终端与服务器之间的双向认证方法,其特征在于,所述方法应用于服务器,所述方法包括:
当接收到终端发送的加密字符串时,根据与所述终端对应的公钥,对所述加密字符串进行解密;
如果解密失败,则判定所述终端认证失败;
如果解密成功,得到终端所生成的第一预设随机数,则判定所述终端认证成功,根据所述第一预设随机数、预先存储的服务器私钥,以及第二预设随机数,生成验证字符串,其中,所述第二预设随机数通过服务器本地的随机数生成程序生成,或在预先生成的多个随机数中选择;
将所述验证字符串发送至所述终端,以使所述终端根据所述验证字符串对所述服务器进行认证;
调用本地的密钥生成程序,对所述第一预设随机数和所述第二预设随机数进行处理,得到通信密钥,根据所述通信密钥与所述终端进行加密通信。
3.一种终端与服务器之间的双向认证装置,其特征在于,所述装置应用于终端,所述装置包括:
第一处理模块,用于根据预先存储的终端私钥,对第一预设随机数进行加密,得到加密字符串,其中,所述第一预设随机数通过终端本地的随机数生成程序生成,或在预先生成的多个随机数中选择;
第一收发模块,用于将所述加密字符串发送至服务器,以使所述服务器根据所述加密字符串对所述终端进行认证;接收所述服务器发送的验证字符串;其中,所述验证字符串是所述服务器根据第一预设随机数、服务器预先存储的服务器私钥,以及第二预设随机数生成的,其中,所述第二预设随机数通过服务器本地的随机数生成程序生成,或在预先生成的多个随机数中选择;
所述第一处理模块,还用于根据与所述服务器对应的公钥,对所述验证字符串进行解密;
如果解密成功,则判定所述服务器认证成功,调用本地的密钥生成程序,对所述第一预设随机数和所述第二预设随机数进行处理,得到通信密钥,根据所述通信密钥与所述服务器进行加密通信;
如果解密失败,则判定所述服务器认证失败。
4.一种终端与服务器之间的双向认证装置,其特征在于,所述装置应用于服务器,所述装置包括:
第二收发模块,用于接收终端发送的加密字符串;
第二处理模块,用于根据与所述终端对应的公钥,对所述加密字符串进行解密;
如果解密失败,则判定所述终端认证失败;
如果解密成功,得到终端所生成的第一预设随机数,则判定所述终端认证成功,根据所述第一预设随机数、预先存储的服务器私钥,以及第二预设随机数,生成验证字符串,其中,所述第二预设随机数通过服务器本地的随机数生成程序生成,或在预先生成的多个随机数中选择;
所述第二收发模块,还用于将所述验证字符串发送至所述终端,以使所述终端根据所述验证字符串对所述服务器进行认证;
所述第二处理模块,还用于调用本地的密钥生成程序,对所述第一预设随机数和所述第二预设随机数进行处理,得到通信密钥,根据所述通信密钥与所述终端进行加密通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810276386.7A CN108512846B (zh) | 2018-03-30 | 2018-03-30 | 一种终端与服务器之间的双向认证方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810276386.7A CN108512846B (zh) | 2018-03-30 | 2018-03-30 | 一种终端与服务器之间的双向认证方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108512846A CN108512846A (zh) | 2018-09-07 |
CN108512846B true CN108512846B (zh) | 2022-02-25 |
Family
ID=63377866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810276386.7A Active CN108512846B (zh) | 2018-03-30 | 2018-03-30 | 一种终端与服务器之间的双向认证方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108512846B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111431840B (zh) * | 2019-01-09 | 2022-06-07 | 北京京东尚科信息技术有限公司 | 安全处理方法、装置、计算机设备及可读存储介质 |
WO2020172887A1 (zh) * | 2019-02-28 | 2020-09-03 | 云图有限公司 | 数据处理方法、装置、智能卡、终端设备和服务器 |
CN110012467B (zh) * | 2019-04-18 | 2022-04-15 | 苏州博联科技有限公司 | 窄带物联网的分组认证方法 |
EP3799349B1 (en) * | 2019-09-26 | 2023-11-08 | General Electric Company | Communicating securely with devices in a distributed control system |
CN111212425B (zh) * | 2020-01-10 | 2022-07-12 | 中国联合网络通信集团有限公司 | 一种接入方法和服务器、终端 |
CN111931158A (zh) * | 2020-08-10 | 2020-11-13 | 深圳大趋智能科技有限公司 | 一种双向认证方法、终端以及服务器 |
CN112202556B (zh) * | 2020-10-30 | 2023-07-04 | 联通物联网有限责任公司 | 安全认证方法、装置和系统 |
CN112565205B (zh) * | 2020-11-19 | 2022-04-08 | 湖南大学 | 可信认证和度量方法、服务器、终端及可读存储介质 |
CN112468490B (zh) * | 2020-11-25 | 2023-09-08 | 国网辽宁省电力有限公司信息通信分公司 | 一种用于电网终端层设备接入的认证方法 |
CN112738052B (zh) * | 2020-12-24 | 2021-11-23 | 北京深思数盾科技股份有限公司 | 一种设备间的认证方法、存储介质及电子设备 |
CN112672342B (zh) * | 2021-01-11 | 2023-03-24 | 金卡智能集团股份有限公司 | 数据传输方法、装置、设备、系统和存储介质 |
CN113242212A (zh) * | 2021-04-15 | 2021-08-10 | 杭州链城数字科技有限公司 | 网络节点双向通信认证方法及装置、电子设备、存储介质 |
CN114070568A (zh) * | 2021-11-04 | 2022-02-18 | 北京百度网讯科技有限公司 | 数据处理方法、装置、电子设备和存储介质 |
CN114205292B (zh) * | 2021-12-10 | 2024-08-02 | 百度在线网络技术(北京)有限公司 | 路由器拨号配置方法、装置、路由器、管理端和存储介质 |
CN118872233A (zh) * | 2022-03-25 | 2024-10-29 | Oppo广东移动通信有限公司 | 安全实现方法、装置、终端设备、网元、及凭证生成设备 |
CN114900314A (zh) * | 2022-04-27 | 2022-08-12 | 北京万集科技股份有限公司 | 一种电子防拆方法、系统、可读存储介质及obu装置 |
CN115603983A (zh) * | 2022-09-30 | 2023-01-13 | 重庆长安汽车股份有限公司(Cn) | 一种车控数据的密钥生成方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009556A (zh) * | 2007-01-08 | 2007-08-01 | 中国信息安全产品测评认证中心 | 一种智能卡与u盘复合设备及其基于双向认证机制以提高访问安全性的方法 |
CN101119196A (zh) * | 2006-08-03 | 2008-02-06 | 西安电子科技大学 | 一种双向认证方法及系统 |
CN101123501A (zh) * | 2006-08-08 | 2008-02-13 | 西安电子科技大学 | 一种wapi认证和密钥协商方法和系统 |
CN107483388A (zh) * | 2016-06-08 | 2017-12-15 | 深圳市斑点猫信息技术有限公司 | 一种安全通信方法及其终端和云端 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656489B (zh) * | 2016-12-07 | 2020-04-14 | 浙江工商大学 | 一种面向移动支付的自助售卖设备与服务器间信息交互的安全提升方法 |
-
2018
- 2018-03-30 CN CN201810276386.7A patent/CN108512846B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119196A (zh) * | 2006-08-03 | 2008-02-06 | 西安电子科技大学 | 一种双向认证方法及系统 |
CN101123501A (zh) * | 2006-08-08 | 2008-02-13 | 西安电子科技大学 | 一种wapi认证和密钥协商方法和系统 |
CN101009556A (zh) * | 2007-01-08 | 2007-08-01 | 中国信息安全产品测评认证中心 | 一种智能卡与u盘复合设备及其基于双向认证机制以提高访问安全性的方法 |
CN107483388A (zh) * | 2016-06-08 | 2017-12-15 | 深圳市斑点猫信息技术有限公司 | 一种安全通信方法及其终端和云端 |
Also Published As
Publication number | Publication date |
---|---|
CN108512846A (zh) | 2018-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108512846B (zh) | 一种终端与服务器之间的双向认证方法和装置 | |
US9231925B1 (en) | Network authentication method for secure electronic transactions | |
CN110336774B (zh) | 混合加密解密方法、设备及系统 | |
CN107295011B (zh) | 网页的安全认证方法及装置 | |
CN113225352B (zh) | 一种数据传输方法、装置、电子设备及存储介质 | |
CN108322416B (zh) | 一种安全认证实现方法、装置及系统 | |
KR20190028787A (ko) | 그래픽 코드 정보를 제공 및 획득하기 위한 방법 및 디바이스, 그리고 단말 | |
CN109618334B (zh) | 控制方法及相关设备 | |
CN105635062A (zh) | 网络接入设备的验证方法和装置 | |
WO2023174038A9 (zh) | 数据传输方法及相关设备 | |
CN109274500A (zh) | 一种密钥下载方法、客户端、密码设备及终端设备 | |
CN113411187A (zh) | 身份认证方法和系统、存储介质及处理器 | |
CN104243452B (zh) | 一种云计算访问控制方法及系统 | |
CN115473655B (zh) | 接入网络的终端认证方法、装置及存储介质 | |
JP2016536678A (ja) | ネットワーク管理セキュリティ認証方法、装置、システム及びコンピュータ記憶媒体 | |
CN111654503A (zh) | 一种远程管控方法、装置、设备及存储介质 | |
CN113868713B (zh) | 一种数据验证方法、装置、电子设备及存储介质 | |
CN112601218B (zh) | 无线网络配置方法和装置 | |
WO2022041151A1 (zh) | 设备验证方法、设备和云端 | |
CN112637138A (zh) | 一种实现多服务器免密登录的方法及相关装置 | |
CN107241341B (zh) | 访问控制方法及装置 | |
CN116599719A (zh) | 一种用户登录认证方法、装置、设备、存储介质 | |
CN112995140B (zh) | 安全管理系统及方法 | |
CN116961973A (zh) | 数据传输方法、装置、电子设备及计算机可读存储介质 | |
CN114398618A (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 |