CN112367329A - 通信连接认证方法、装置、计算机设备及存储介质 - Google Patents
通信连接认证方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112367329A CN112367329A CN202011283594.3A CN202011283594A CN112367329A CN 112367329 A CN112367329 A CN 112367329A CN 202011283594 A CN202011283594 A CN 202011283594A CN 112367329 A CN112367329 A CN 112367329A
- Authority
- CN
- China
- Prior art keywords
- authentication
- message
- client
- server
- time
- 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.)
- Granted
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/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
- 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/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- 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/085—Secret sharing or secret splitting, e.g. threshold schemes
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)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及通信技术领域,提供了一种通信连接认证方法、装置、计算机设备及存储介质,应用于服务器的方法包括:基于客户端发送的连接请求,生成第一认证消息,其中,第一认证消息包括服务器当前的第一时间和随机生成的第一认证数据;将第一认证消息发送至客户端,第一认证消息用于指示客户端根据第一时间对第一认证消息进行认证,并在认证通过后生成第二认证消息返回至服务器,其中,第二认证消息包括客户端当前的第二时间及第二认证数据;根据第二时间、第一认证数据及第二认证数据,对第二认证消息进行认证,并在认证通过后与客户端建立通信连接,可以快捷地实现通信连接认证。
Description
技术领域
本发明涉及通信技术领域,具体而言,涉及一种通信连接认证方法、装置、计算机设备及存储介质。
背景技术
远程连接服务为用户远程控制电脑提供了方便,利用远程连接服务可以在任何一个地方方便的登录自己或公司以及他人的电脑,可以看到远程登录电脑的一切东西,可以删除,添加,改变文件等任何操作,就好像自己坐在那台电脑前一样。远程连接服务为用户提供极大便利的同时,也存在巨大的安全隐患,例如,一些不法分子可以通过建立恶意通信连接,通过远程连接服务对目标主机发起攻击,因此,如何保证通信连接的安全可靠成为本领域人员亟待解决的问题。
现有技术中采取的通信连接认证方法过于繁琐,不能满足特定场景下快捷地实现通信连接认证的需求。
发明内容
本发明的目的在于提供了一种通信连接认证方法、装置、计算机设备及存储介质,其能够快捷地实现通信连接认证。
为了实现上述目的,本发明采用的技术方案如下:
第一方面,本发明提供了一种通信连接认证方法,应用于服务器,所述服务器与客户端通信连接,所述方法包括:基于所述客户端发送的连接请求,生成第一认证消息,其中,所述第一认证消息包括所述服务器当前的第一时间和随机生成的第一认证数据;将所述第一认证消息发送至所述客户端,所述第一认证消息用于指示所述客户端根据所述第一时间对所述第一认证消息进行认证,并在认证通过后生成第二认证消息返回至所述服务器,其中,所述第二认证消息包括所述客户端当前的第二时间及第二认证数据;根据所述第二时间、所述第一认证数据及所述第二认证数据,对所述第二认证消息进行认证,并在认证通过后与所述客户端建立通信连接。
第二方面,本发明提供了一种通信连接认证方法,应用于客户端,所述客户端与服务器通信连接,所述方法包括:接收所述服务器发送的第一认证消息,其中,所述第一认证消息是所述服务器基于所述客户端发送的连接请求生成的,所述第一认证消息包括所述服务器当前的第一时间和随机生成的第一认证数据;根据所述第一时间对所述第一认证消息进行认证;若所述第一认证消息通过认证,则生成第二认证消息返回至所述服务器,其中,所述第二认证消息包括所述客户端当前的第二时间及第二认证数据,所述第二认证消息用于指示所述服务器根据所述第二时间、所述第一认证数据及所述第二认证数据,对所述第二认证消息进行认证,并在认证通过后与所述客户端建立通信连接。
第三方面,本发明提供了一种通信连接认证装置,应用于服务器,所述服务器与客户端通信连接,所述装置包括:发送模块,用于基于所述客户端发送的连接请求,生成第一认证消息,其中,所述第一认证消息包括所述服务器当前的第一时间和随机生成的第一认证数据;第一认证模块,用于:将所述第一认证消息发送至所述客户端,所述第一认证消息用于指示所述客户端根据所述第一时间对所述第一认证消息进行认证,并在认证通过后生成第二认证消息返回至所述服务器,其中,所述第二认证消息包括所述客户端当前的第二时间及第二认证数据;根据所述第二时间、所述第一认证数据及所述第二认证数据,对所述第二认证消息进行认证,并在认证通过后与所述客户端建立通信连接。
第四方面,本发明提供了一种通信连接认证装置,所述客户端与服务器通信连接,所述装置包括:接收模块,用于接收所述服务器发送的第一认证消息,其中,所述第一认证消息是所述服务器基于所述客户端发送的连接请求生成的,所述第一认证消息包括所述服务器当前的第一时间和随机生成的第一认证数据;第二认证模块,用于:根据所述第一时间对所述第一认证消息进行认证;若所述第一认证消息通过认证,则生成第二认证消息返回至所述服务器,其中,所述第二认证消息包括所述客户端当前的第二时间及第二认证数据,所述第二认证消息用于指示所述服务器根据所述第二时间、所述第一认证数据及所述第二认证数据,对所述第二认证消息进行认证,并在认证通过后与所述客户端建立通信连接。
第五方面,本发明提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述应用于服务器的通信连接认证方法,或者,实现上述应用于客户端的通信连接认证方法。
第六方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述应用于服务器的通信连接认证方法,或者,实现上述应用于客户端的通信连接认证方法。
相对于现有技术,本发明通过服务器基于客户端发送的连接请求,生成包括服务器当前的第一时间和随机生成的第一认证数据的第一认证消息,将第一认证消息发送至客户端、并指示客户端根据第一时间对第一认证消息进行认证,并在认证通过后根据客户端当前的第二时间及第二认证数据生成第二认证消息返回服务器,服务器根据第二时间、第一认证数据及第二认证数据对第二认证消息进行认证,并在认证通过后与客户端建立通信连接,本发明避免了现有技术中采用的多次握手和数据量较大的认证数据而导致的认证过程繁琐,通过第二时间、随机生成的第一认证数据及第二认证数据,服务器和客户端各进行一次认证,即可实现通信连接认证,可以快捷地实现通信连接认证。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的应用场景示意图。
图2示出了本发明实施例提供的计算机设备的方框示意图。
图3示出了本发明实施例提供的一种应用于服务器的通信连接认证方法的流程图。
图4示出了本发明实施例提供的另一种应用于服务器的通信连接认证方法的流程图。
图5示出了本发明实施例提供的一种应用于客户端的通信连接认证方法的流程图。
图6示出了本发明实施例提供的另一种应用于客户端的通信连接认证方法的流程图。
图7示出了本发明实施例提供的应用于服务器的通信连接认证装置的方框示意图。
图8示出了本发明实施例提供的应用于客户端的通信连接认证装置的方框示意图。
图标:10-计算机设备;11-处理器;12-存储器;13-总线;14-通信接口;20-服务器;30-客户端;100-应用于服务器的通信连接认证装置;110-发送模块;120-第一认证模块;200-应用于客户端的通信连接认证装置;210-接收模块;220-第二认证模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
现有技术中,为了保证通信连接的安全可靠,通常采取传输层安全协议TLS(Transport Layer Security,TLS)的认证方式,该认证方式需要8次交互才能实现握手,该认证方式的握手过程如下:
"client hello"消息:客户端通过发送"client hello"消息向服务器发起握手请求,该消息包含了客户端所支持的TLS版本和密码组合以供服务器进行选择,还有一个"client random"随机字符串。
"server hello"消息:服务器发送"server hello"消息对客户端进行回应,该消息包含了数字证书,服务器选择的密码组合和"server random"随机字符串。
验证:客户端对服务器发来的证书进行验证,确保对方的合法身份,验证过程可以细化为以下几个步骤:
1."client hello"消息:客户端通过发送"client hello"消息向服务器发起握手请求,该消息包含了客户端所支持的TLS版本和密码组合以供服务器进行选择,还有一个"client random"随机字符串。
2."server hello"消息:服务器发送"server hello"消息对客户端进行回应,该消息包含了数字证书,服务器选择的密码组合和"server random"随机字符串。
3.验证:客户端对服务器发来的证书进行验证,确保对方的合法身份,验证过程可以细化为以下几个步骤:
3.1.检查数字签名。
3.2.验证证书链。
3.3检查证书的有效期。
3.4.检查证书的撤回状态(撤回代表证书已失效)。
4."premaster secret"字符串:客户端向服务器发送另一个随机字符串"premaster secret(预主密钥)",这个字符串是经过服务器的公钥加密过的,只有对应的私钥才能解密。
5.使用私钥:服务器使用私钥解密"premaster secret"。
6.生成共享密钥:客户端和服务器均使用client random,server random和premaster secret,并通过相同的算法生成相同的共享密钥KEY。
7.客户端就绪:客户端发送经过共享密钥KEY加密过的"finished"信号。
8.服务器就绪:服务器发送经过共享密钥KEY加密过的"finished"信号。
9.达成安全通信:握手完成,双方使用对称加密进行安全通信。
上述方式虽然安全性较高,但是由于涉及到数字证书、公钥加密、私钥解密、共享密钥加密等处理,故处理的数据量大,且进行认证时需要的握手次数多达8次,使用起来过于繁琐,无法满足特定场景下快捷地实现通信连接认证的需求。
有鉴于此,本发明实施例提供一种通信连接认证方法、装置、计算机设备及存储介质,其能够快捷地实现通信连接认证,下面将对此进行详细描述。
请参考图1,图1示出了本发明实施例提供的应用场景示意图,图1中,服务器20与客户端30通信连接,在需要建立通信认证连接时,客户端30向服务器20发送连接请求,服务器20基于该连接请求生成包括服务器当前的第一时间和随机生成的第一认证数据的第一认证消息,服务器20将该第一认证消息发送至客户端30,客户端30根据第一时间对第一认证消息进行认证,认证通过后生成包括客户端当前的第二时间及第二认证数据第二认证消息返回服务器20,服务器20根据第二时间、第一认证数据及第二认证数据对第二认证消息进行认证,认证通过后与客户端30建立可信任的通信连接,之后,服务器20和客户端30之间可以进行可靠的通信。
服务器20可以是实体服务器或者实现与实体服务器具有相同功能的虚拟服务器。
客户端30可以是服务器、主机、手机、平板电脑等终端。
在图1的基础上,本发明实施例还提供了一种计算机设备10的方框示意图,计算机设备10可以是图1中的服务器20,也可以是图1中的客户端30,当计算机设备10是图1中的服务器20时,实现本发明实施例中的应用于服务器的通信连接认证方法,当计算机设备10是图1中的客户端30时,实现本发明实施例中的应用于客户端的通信连接认证方法。
计算机设备10包括处理器11、存储器12、总线13、通信接口14。处理器11、存储器12通过总线13连接,处理器11通过通信接口14与其他设备通信,例如,当计算机设备10是图1中的服务器20时,处理器11通过通信接口14与客户端30通信,当计算机设备10是图1中的客户端30时,处理器11通过通信接口14与服务器20通信。
处理器11可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器11中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器11可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器12用于存储程序,例如上述的应用于服务器的通信连接认证装置或者上述的应用于客户端的通信连接认证装置,该装置包括至少一个可以软件或固件(firmware)的形式存储于存储器12中的软件功能模块,处理器11在接收到执行指令后,执行所述程序以实现下述实施例揭示的应用于服务器的通信连接认证方法或者实现下述实施例揭示的应用于客户端的通信连接认证方法。
存储器12可能包括高速随机存取存储器(RAM:Random Access Memory),也可能还包括非易失存储器(non-volatile memory)。可选地,存储器12可以是内置于处理器11中的存储装置,也可以是独立于处理器11的存储装置。
总线13可以是ISA总线、PCI总线或EISA总线等。图2仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
在图1和图2的基础上,本发明实施例提供了一种应用于服务器的通信连接认证方法,请参照图3,图3示出了示出了本发明实施例提供的一种应用于服务器的通信连接认证方法的流程图,该方法包括以下步骤:
步骤S100,基于客户端发送的连接请求,生成第一认证消息,其中,第一认证消息包括服务器当前的第一时间和随机生成的第一认证数据。
在本实施例中,第一认证数据可以是使用随机算法或者随机函数生成的数据,由于每次基于连接请求生成第一认证消息使用的随机生成的第一认证数据都是随机的,可能相同,也可能不同,可以避免恶意人员截取第一认证数据或者篡改第一认证数据进行恶意认证。
在本实施例中,第一时间可以为服务器20生成第一认证消息时获取的服务器20本地的当前的系统时间。第一认证消息除了包括第一时间和第一认证数据之外,还可以包括端口号,该端口号可以是从预设范围内随机选择的,该端口号在通信连接认证过程中不发生变化,在通信连接认证完成后,服务器20和客户端30可以通过该端口号进行数据交互。
步骤S110,将第一认证消息发送至客户端,第一认证消息用于指示客户端根据第一时间对第一认证消息进行认证,并在认证通过后生成第二认证消息返回至服务器,其中,第二认证消息包括客户端当前的第二时间及第二认证数据。
在本实施例中,服务器20将生成的第一认证消息发送至客户端30,客户端30根据第一认证消息中的第一时间对收到的第一认证消息进行认证,第二时间为客户端30在对第一认证消息进行认证时获取的客户端30本地的当前的系统时间,对第一认证消息认证通过后,客户端30根据第二时间及第二认证数据生成第二认证消息返回至服务器20,正常情况下,第二认证数据就是客户端30从接收的第一认证消息中得到的第一认证数据,当第一认证消息包括第一认证数据和第一时间时,第二认证消息包括第二认证数据(即第一认证数据)和第二时间,当第一认证消息包括第一认证数据、第一时间和端口号时,第二认证消息包括第二认证数据(即第一认证数据)、第二时间和端口号。
步骤S120,根据第二时间、第一认证数据及第二认证数据,对第二认证消息进行认证,并在认证通过后与客户端建立通信连接。
本发明实施例提供的上述方法,避免了现有技术中采用的多次握手和数据量较大的认证证书、公钥加密、私钥解密等导致的繁琐的认证过程,通过第二时间、随机生成的第一认证数据及第二认证数据,服务器和客户端各进行一次认证,即可实现通信连接认证,可以快捷地实现通信连接认证,提高了通信认证的效率。
在图3的基础上,本发明实施例还提供了一种具体的生成第一认证消息的实施方式,请参照图4,图4示出了本发明实施例提供的另一种应用于服务器的通信连接认证方法的流程图,步骤S100包括以下子步骤:
子步骤S1001,依据第一认证数据及第一时间,生成第一明文消息。
在本实施例中,作为一种具体实现方式,第一认证数据可以包括一个或者多个随机数据,第一时间可以用8个字节(即64bit)表示,生成第一明文消息时可以将第一时间拆分成一个或者多个部分,例如,将第一时间高4个字节作为一部分,将第一时间的低4个字节作为另一个部分,在有端口号的情况下,还可以根据第一认证数据、第一时间及端口号,生成第一明文消息。例如,第一认证数据包括随机数据X和Y,每个随机数据为3个字节,第一时间分成高4个字节的H和低4个字节的L,端口号为P,占2个字节,则生成的第一明文消息为E,E=X+H+P+L+Y,即E由X、H、P、L、Y组合而成,共16个字节。
需要说明的是,H和L的拆分位置可以改变,例如,H为中间的4个字节,L为两边的各2个字节组成的4字节,H和L的长度也可以不同,例如,H为3字节,L为5字节。X和Y的长度可以根据需要进行设置,X和Y的长度可以相同,也可以不同。将X、H、P、L、Y进行组合时的组合顺序也可以根据需要进行设置,例如,E=P+L+Y+X+H。
子步骤S1002,利用预设密钥对第一明文消息进行加密,得到第一密文消息。
在本实施例中,预设密钥为服务器20和客户端30共用的密钥,预设密钥可以根据客户端30的标识生成的,在生成第一明文消息时,服务器20不是从客户端30获取客户端30的标识,而是从本地预先存储的数据库或者从其他数据库服务器获取的,该数据库服务器与服务器20之间可以进行可信通信。
利用预设密钥对第一明文消息进行加密时可以采用AES算法,还可以采用与AES算法类似的算法,例如Camellia算法等。
子步骤S1003,对第一密文消息进行编码,得到第一认证消息。
在本实施例中,对第一密文消息进行编码时可以采用BASE32编码,也可以采取与BASE32类似的编码方式,例如BASE64编码、Quoted-Printable编码等。当采用BASE32进行编码时,需要截断第一密文消息的最后的“=”。
本发明实施例提供的上述方法,根据第一认证数据及第一时间生成第一明文消息,再对第一明文消息进行加密和编码,得到第一认证消息,生成第一认证消息的过程简单,同时又保证了第一认证消息的安全可靠。
在图3的基础上,本发明实施例还提供了一种具体的对客户端返回的第二认证消息进行认证的实施方式,请继续参照图4,步骤S120包括以下子步骤:
子步骤S1201,对第二认证消息进行解码。
在本实施例中,客户端30收到第一认证消息后,首先从第一认证消息中获取第一时间及第一认证数据,然后获取客户端30本地的系统当前的第二时间,将从第一认证消息中得到的第一认证数据作为第二认证数据,根据第二时间和第二认证数据按照与子步骤S1001~S1003类似的步骤,生成第二认证消息并返回服务器20,其中,第二认证消息和第一认证消息采用的相同的预设密钥、加密方式和编码方式生成的。
服务器20在接收到第二认证消息后,首先采用与编码方式相对应的解码方式对第二认证消息进行解码,例如,编码方式为BASE32时,在收到第二认证消息后,在第二认证消息后填充“=”以将第二认证消息补满32字节,再通过BASE算法进行解码。
子步骤S1202,利用预设密钥对解码后的第二认证消息进行解密,得到第二时间及第二认证数据。
在本实施例中,利用预设密钥采用与加密方式对应的解密方式对解码后的第二认证消息进行解密,得到第二时间和第二认证数据。
子步骤S1203,获取服务器当前的第三时间。
在本实施例中,第三时间可以为服务器20当前的系统时间。
子步骤S1204,若第三时间与第二时间之间的间隔时长小于或者等于第一预设阈值、且第一认证数据与第二认证数据一致,则判定第二认证消息通过认证,否则判定第二认证消息未通过认证。
在本实施例中,第三时间与第二时间之间的间隔时长小于或者等于第一预设阈值,表明该认证在预设的有效时长内进行的,第一认证数据与第二认证数据一致则表明第一认证消息中的第一认证数据在传输过程中未被篡改,上述两个条件均成立判定第二认证消息通过认证,从而表明服务器20与客户端30之间的本次交互是可信的。
本发明实施例提供的上述方法,通过保证服务器20在预设的有效时长内对第二认证消息进行认证、且认证过程中交互的第一认证数据是未被篡改的,由此判定第二认证消息通过认证,由此保证服务器20对客户端30的认证即简单快捷,又安全可靠。
本发明实施例还提供了一种应用于客户端的通信连接认证方法,请参照图5,图5示出了本发明实施例提供的一种应用于客户端的通信连接认证方法的流程图,该方法包括以下步骤:
步骤S200,接收服务器发送的第一认证消息,其中,第一认证消息是服务器基于客户端发送的连接请求生成的,第一认证消息包括服务器当前的第一时间和随机生成的第一认证数据。
步骤S210,根据第一时间对第一认证消息进行认证。
步骤S220,若第一认证消息通过认证,则生成第二认证消息返回至服务器,其中,第二认证消息包括客户端当前的第二时间及第二认证数据,第二认证消息用于指示服务器根据第二时间、第一认证数据及第二认证数据,对第二认证消息进行认证,并在认证通过后与客户端建立通信连接。
本发明实施例提供的上述方法,客户端30只需要对第一认证消息进行认证,并且生成第二认证消息返回至服务器20,服务器20对第二认证消息认证通过后,即可以建立服务器20与客户端30之间的可信通信连接,由此避免了现有技术中采用的多次握手和数据量较大的认证证书、公钥加密、私钥解密等导致的繁琐的认证过程,可以快捷地实现通信连接认证,提高了通信认证的效率。
在图5的基础上,本发明实施例还提供了一种对第一认证消息进行认证的具体实现方式,请参照图6,图6示出了本发明实施例提供的另一种应用于客户端的通信连接认证方法的流程图,步骤S210还包括以下子步骤:
子步骤S2101,对第一认证消息进行解码,得到解码后的第一认证消息。
在本实施例中,客户端30对第一认证消息进行解码的过程与服务器20对第二认证消息进行解码的过程即子步骤S1201类似,此处不再赘述。
子步骤S2102,利用预设密钥对解码后的第一认证消息进行解密,得到第一时间及第一认证数据。
在本实施例中,客户端30利用预设密钥对解码后的第一认证消息进行解密的过程与服务器20利用预设密钥对解码后的第二认证消息进行解密的过程即子步骤S1202类似,此处不再赘述。
子步骤S2103,获取客户端当前的第二时间。
子步骤S2104,若第二时间与第一时间之间的间隔时长小于或者等于第二预设阈值,则判定第一认证消息通过认证,否则判定第一认证消息未通过认证。
在本实施例中,第二预设阈值可以与第一预设阈值相同,也可以不同,第二时间与第一时间之间的间隔时长小于或者等于第二预设阈值,表明客户端30进行的认证是在预设的有效时长内进行的,从而表明服务器20与客户端30之间的本次交互是可信的。
本发明实施例提供的上述方法,通过保证客户端30在预设的有效时长内对第一认证消息进行认证,由此保证客户端30对服务器20的认证即简单快捷,又安全可靠。
在图5的基础上,本发明实施例还提供了一种生成第二认证消息的具体实现方式,请继续参照图6,步骤S220还包括以下子步骤:
子步骤S2201,将第一认证数据作为第二认证数据。
在本实施例中,客户端30将从第一认证消息中获取的第一认证数据作为第二认证数据,若第一认证消息中获取的第一认证数据在到达客户端30之前未被篡改,则该第一认证数据和服务器20随机生成的第一认证数据是相同的,否则二者是不同的。
子步骤S2202,依据第二时间及第二认证数据,生成第二明文消息。
在本实施例中,子步骤S2202与子步骤S1001的处理过程类似,此处不再赘述。
子步骤S2203,利用预设密钥对第二明文消息进行加密,得到第二密文消息。
在本实施例中,子步骤S2203与子步骤S1002的处理过程类似,此处不再赘述。
子步骤S2204,对第二密文消息进行编码,得到第二认证消息。
在本实施例中,子步骤S2204与子步骤S1003的处理过程类似,此处不再赘述。
本发明实施例提供的上述方法,根据第二认证数据及第二时间生成第二明文消息,再对第二明文消息进行加密和编码,得到第二认证消息,生成第二认证消息的过程简单,同时又保证了第二认证消息的安全可靠。
为了更完整地描述服务器20和客户端30认证的整个过程,本发明实施例提供一个具体的认证示例。
步骤S1,客户端30发送连接请求至服务器20。
步骤S2,服务器20在数据库中查找客户端30的标识,该标识用M表示,M=(0x)58461B3217C2AC2EE395E62B3D5EC34A。
步骤S3,服务器20获取当前的第一时间T1、并在预设范围内随机选取一个端口号P,随机生成第一认证数据,第一认证数据包括两个3字节的随机数据X和Y。其中,T1=1599916000997276000(字节表示为(0x)16340B204DE7F960,高4字节H=(0x)16340B20,低4字节L=(0x)4DE7F960)。在预设的端口范围50000-60000中间随机选取未占用端口P=59643(字节表示为(0x)E8FB)。
步骤S4,服务器20根据H、L、P、X、Y生成第一明文消息E,E=X+H+P+L+Y=(0x)89E1C516340B20E8FB4DE7F96022EDB3。
步骤S5,服务器20使用M对E进行AES加密,得到第一密文消息F,F=(0x)C0A067B4D56C270C79FC1A497B56B6E6,通过BASE32编码并截断最后6个“=”,得到第一认证消息K=YCQGPNGVNQTQY6P4DJEXWVVW4Y。
步骤S6,服务器20将K发送至客户端30。
步骤S7,客户端30经过BASE32算法解码,并填充6个“=”还原为F。
步骤S8,客户端30使用M将F解密得到E,从中E中拆解出X、Y、H、L、P的值,将H=(0x)16340B20和L=(0x)4DE7F960拼接在一起,可以得到服务端时间T=(0x)16340B204DE7F960,转换为64bit整型数字为1599916000997276000。
步骤S9,客户端30读取本地的当前时间T2=1599916001823762000(对应字节表示为(0x)16340B207F2B2650),由于T2-T=826486000(纳秒)<阈值Q=5秒,验证通过,客户端30使用T2替换T1,得到第二明文消息E2=(0x)89E1C516340B20E8FB7F2B265022EDB3,利用M加密后得到第二密文消息F2=(0x)969D3A89DFB9997180E30172E88F3298,对F2进行BASE32编码后得到第二认证消息V=S2OTVCO7XGMXDAHDAFZORDZSTA,并通过端口P=59643与远程协助服务器建立TCP通信,将V发送到服务器20。
步骤S10,服务器20按照前述方式将V解码得到F2,再解密得到E2,再拆解得到X、Y、H2、L2。
步骤S11,服务器20将H2和L2还原为第二时间T2,再取本地时间第三时间T3=1599916002596047000,计算T3-T2=772285000(纳秒)<Q=5秒,且收到的X和Y与发出的一致,验证通过。
经过步骤S1~S11之后,服务器20和客户端30之间建立起了可信通信连接,二者可以通过端口号P=59643进行数据交互。
为了执行上述实施例及各个可能的实施方式中的相应步骤,下面给出一种应用于服务器的通信连接认证装置100的实现方式。请参照图7,图7示出了本发明实施例提供的应用于服务器的通信连接认证装置100的方框示意图。需要说明的是,本实施例所提供的应用于服务器的通信连接认证装置100,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出。
应用于服务器的通信连接认证装置100包括发送模块110和第一认证模块120。
发送模块110,用于基于客户端发送的连接请求,生成第一认证消息,其中,第一认证消息包括服务器当前的第一时间和随机生成的第一认证数据。
第一认证模块120,用于:将第一认证消息发送至客户端,第一认证消息用于指示客户端根据第一时间对第一认证消息进行认证,并在认证通过后生成第二认证消息返回至服务器,其中,第二认证消息包括客户端当前的第二时间及第二认证数据;根据第二时间、第一认证数据及第二认证数据,对第二认证消息进行认证,并在认证通过后与客户端建立通信连接。
作为一种具体实施方式,第一认证模块120具体用于:依据第一认证数据及第一时间,生成第一明文消息;利用预设密钥对第一明文消息进行加密,得到第一密文消息;对第一密文消息进行编码,得到第一认证消息。
作为一种具体实施方式,第一认证模块120具体用于:对第二认证消息进行解码;利用预设密钥对解码后的第二认证消息进行解密,得到第二时间及第二认证数据;获取服务器当前的第三时间;若第三时间与第二时间之间的间隔时长小于或者等于第一预设阈值、且第一认证数据与第二认证数据一致,则判定第二认证消息通过认证,否则判定第二认证消息未通过认证。
为了执行上述实施例及各个可能的实施方式中的相应步骤,下面给出一种应用于客户端的通信连接认证装置200的实现方式。请参照图8,图8示出了本发明实施例提供的应用于客户端的通信连接认证装置200的方框示意图。需要说明的是,本实施例所提供的应用于客户端的通信连接认证装置200,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出。
应用于客户端的通信连接认证装置200包括接收模块210和第二认证模块220。
接收模块210,用于接收服务器发送的第一认证消息,其中,第一认证消息是服务器基于客户端发送的连接请求生成的,第一认证消息包括服务器当前的第一时间和随机生成的第一认证数据。
第二认证模块220,用于:根据第一时间对第一认证消息进行认证;若第一认证消息通过认证,则生成第二认证消息返回至服务器,其中,第二认证消息包括客户端当前的第二时间及第二认证数据,第二认证消息用于指示服务器根据第二时间、第一认证数据及第二认证数据,对第二认证消息进行认证,并在认证通过后与客户端建立通信连接。
作为一种具体实施方式,第二认证模块220具体用于:对第一认证消息进行解码,得到解码后的第一认证消息;利用预设密钥对解码后的第一认证消息进行解密,得到第一时间及第一认证数据;获取客户端当前的第二时间;若第二时间与第一时间之间的间隔时长小于或者等于第二预设阈值,则判定第一认证消息通过认证,否则判定第一认证消息未通过认证。
作为一种具体实施方式,第二认证模块220具体用于:将第一认证数据作为第二认证数据;依据第二时间及第二认证数据,生成第二明文消息;利用预设密钥对第二明文消息进行加密,得到第二密文消息;对第二密文消息进行编码,得到第二认证消息。
本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述应用于服务器的通信连接认证方法,或者,实现上述应用于客户端的通信连接认证方法。
综上所述,本发明实施例提供了一种通信连接认证方法、装置、计算机设备及存储介质,应用于服务器的方法包括:基于客户端发送的连接请求,生成第一认证消息,其中,第一认证消息包括服务器当前的第一时间和随机生成的第一认证数据;将第一认证消息发送至客户端,第一认证消息用于指示客户端根据第一时间对第一认证消息进行认证,并在认证通过后生成第二认证消息返回至服务器,其中,第二认证消息包括客户端当前的第二时间及第二认证数据;根据第二时间、第一认证数据及第二认证数据,对第二认证消息进行认证,并在认证通过后与客户端建立通信连接。相对于现有技术,本发明实施例通过服务器基于客户端发送的连接请求,生成包括服务器当前的第一时间和随机生成的第一认证数据的第一认证消息,将第一认证消息发送至客户端、并指示客户端根据第一时间对第一认证消息进行认证,并在认证通过后根据客户端当前的第二时间及第二认证数据生成第二认证消息返回服务器,服务器根据第二时间、第一认证数据及第二认证数据对第二认证消息进行认证,并在认证通过后与客户端建立通信连接,本发明实施例避免了现有技术中采用的多次握手和数据量较大的认证数据而导致的认证过程繁琐,通过第二时间、随机生成的第一认证数据及第二认证数据,服务器和客户端各进行一次认证,即可实现通信连接认证,可以快捷地实现通信连接认证。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种通信连接认证方法,其特征在于,应用于服务器,所述服务器与客户端通信连接,所述方法包括:
基于所述客户端发送的连接请求,生成第一认证消息,其中,所述第一认证消息包括所述服务器当前的第一时间和随机生成的第一认证数据;
将所述第一认证消息发送至所述客户端,所述第一认证消息用于指示所述客户端根据所述第一时间对所述第一认证消息进行认证,并在认证通过后生成第二认证消息返回至所述服务器,其中,所述第二认证消息包括所述客户端当前的第二时间及第二认证数据;
根据所述第二时间、所述第一认证数据及所述第二认证数据,对所述第二认证消息进行认证,并在认证通过后与所述客户端建立通信连接。
2.如权利要求1所述的通信连接认证方法,其特征在于,所述生成第一认证消息的步骤包括:
依据所述第一认证数据及所述第一时间,生成第一明文消息;
利用预设密钥对所述第一明文消息进行加密,得到第一密文消息;
对所述第一密文消息进行编码,得到所述第一认证消息。
3.如权利要求2所述的通信连接认证方法,其特征在于,所述根据所述第二时间、所述第一认证数据及所述第二认证数据,对所述第二认证消息进行认证的步骤,包括:
对所述第二认证消息进行解码;
利用所述预设密钥对解码后的所述第二认证消息进行解密,得到所述第二时间及所述第二认证数据;
获取所述服务器当前的第三时间;
若所述第三时间与所述第二时间之间的间隔时长小于或者等于第一预设阈值、且所述第一认证数据与所述第二认证数据一致,则判定所述第二认证消息通过认证,否则判定所述第二认证消息未通过认证。
4.一种通信连接认证方法,其特征在于,应用于客户端,所述客户端与服务器通信连接,所述方法包括:
接收所述服务器发送的第一认证消息,其中,所述第一认证消息是所述服务器基于所述客户端发送的连接请求生成的,所述第一认证消息包括所述服务器当前的第一时间和随机生成的第一认证数据;
根据所述第一时间对所述第一认证消息进行认证;
若所述第一认证消息通过认证,则生成第二认证消息返回至所述服务器,其中,所述第二认证消息包括所述客户端当前的第二时间及第二认证数据,所述第二认证消息用于指示所述服务器根据所述第二时间、所述第一认证数据及所述第二认证数据,对所述第二认证消息进行认证,并在认证通过后与所述客户端建立通信连接。
5.如权利要求4所述的通信连接认证方法,其特征在于,所述根据所述第一时间对所述第一认证消息进行认证的步骤包括:
对所述第一认证消息进行解码,得到解码后的所述第一认证消息;
利用预设密钥对解码后的所述第一认证消息进行解密,得到所述第一时间及所述第一认证数据;
获取所述客户端当前的第二时间;
若所述第二时间与所述第一时间之间的间隔时长小于或者等于第二预设阈值,则判定所述第一认证消息通过认证,否则判定所述第一认证消息未通过认证。
6.如权利要求5所述的通信连接认证方法,其特征在于,所述生成第二认证消息的步骤包括:
将所述第一认证数据作为所述第二认证数据;
依据所述第二时间及所述第二认证数据,生成第二明文消息;
利用所述预设密钥对所述第二明文消息进行加密,得到第二密文消息;
对所述第二密文消息进行编码,得到所述第二认证消息。
7.一种通信连接认证装置,其特征在于,应用于服务器,所述服务器与客户端通信连接,所述装置包括:
发送模块,用于基于所述客户端发送的连接请求,生成第一认证消息,其中,所述第一认证消息包括所述服务器当前的第一时间和随机生成的第一认证数据;
第一认证模块,用于:将所述第一认证消息发送至所述客户端,所述第一认证消息用于指示所述客户端根据所述第一时间对所述第一认证消息进行认证,并在认证通过后生成第二认证消息返回至所述服务器,其中,所述第二认证消息包括所述客户端当前的第二时间及第二认证数据;根据所述第二时间、所述第一认证数据及所述第二认证数据,对所述第二认证消息进行认证,并在认证通过后与所述客户端建立通信连接。
8.一种通信连接认证装置,其特征在于,应用于客户端,所述客户端与服务器通信连接,所述装置包括:
接收模块,用于接收所述服务器发送的第一认证消息,其中,所述第一认证消息是所述服务器基于所述客户端发送的连接请求生成的,所述第一认证消息包括所述服务器当前的第一时间和随机生成的第一认证数据;
第二认证模块,用于:根据所述第一时间对所述第一认证消息进行认证;若所述第一认证消息通过认证,则生成第二认证消息返回至所述服务器,其中,所述第二认证消息包括所述客户端当前的第二时间及第二认证数据,所述第二认证消息用于指示所述服务器根据所述第二时间、所述第一认证数据及所述第二认证数据,对所述第二认证消息进行认证,并在认证通过后与所述客户端建立通信连接。
9.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-3中任一项所述的通信连接认证方法,或者,实现如权利要求4-6中任一项所述的通信连接认证方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-3中任一项所述的通信连接认证方法,或者,实现如权利要求4-6中任一项所述的通信连接认证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011283594.3A CN112367329B (zh) | 2020-11-17 | 2020-11-17 | 通信连接认证方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011283594.3A CN112367329B (zh) | 2020-11-17 | 2020-11-17 | 通信连接认证方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112367329A true CN112367329A (zh) | 2021-02-12 |
CN112367329B CN112367329B (zh) | 2023-05-02 |
Family
ID=74515064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011283594.3A Active CN112367329B (zh) | 2020-11-17 | 2020-11-17 | 通信连接认证方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112367329B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116343382A (zh) * | 2023-04-17 | 2023-06-27 | 国网江苏省电力有限公司 | 一种基于操作票的电力门禁系统及其控制方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000036809A (ja) * | 1998-07-17 | 2000-02-02 | Hitachi Ltd | ユーザの簡易認証方法およびそのプログラムを格納した記録媒体 |
CN101431413A (zh) * | 2007-11-08 | 2009-05-13 | 华为技术有限公司 | 进行认证的方法、系统、服务器及终端 |
CN101827106A (zh) * | 2010-04-29 | 2010-09-08 | 华为技术有限公司 | 一种dhcp安全通信方法、装置和系统 |
CN102739659A (zh) * | 2012-06-16 | 2012-10-17 | 华南师范大学 | 一种防重放攻击的认证方法 |
CN104243493A (zh) * | 2014-10-11 | 2014-12-24 | 上海众人科技有限公司 | 一种网络身份认证方法及系统 |
CN106230603A (zh) * | 2016-09-19 | 2016-12-14 | 中国传媒大学 | 一种认证授权方法 |
CN111372247A (zh) * | 2019-12-23 | 2020-07-03 | 国网天津市电力公司 | 一种基于窄带物联网的终端安全接入方法及终端安全接入系统 |
US20200336481A1 (en) * | 2019-04-19 | 2020-10-22 | Ricoh Company, Ltd. | Device authentication method, service access control method, device, and non-transitory computer-readable recording medium |
-
2020
- 2020-11-17 CN CN202011283594.3A patent/CN112367329B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000036809A (ja) * | 1998-07-17 | 2000-02-02 | Hitachi Ltd | ユーザの簡易認証方法およびそのプログラムを格納した記録媒体 |
CN101431413A (zh) * | 2007-11-08 | 2009-05-13 | 华为技术有限公司 | 进行认证的方法、系统、服务器及终端 |
CN101827106A (zh) * | 2010-04-29 | 2010-09-08 | 华为技术有限公司 | 一种dhcp安全通信方法、装置和系统 |
CN102739659A (zh) * | 2012-06-16 | 2012-10-17 | 华南师范大学 | 一种防重放攻击的认证方法 |
CN104243493A (zh) * | 2014-10-11 | 2014-12-24 | 上海众人科技有限公司 | 一种网络身份认证方法及系统 |
CN106230603A (zh) * | 2016-09-19 | 2016-12-14 | 中国传媒大学 | 一种认证授权方法 |
US20200336481A1 (en) * | 2019-04-19 | 2020-10-22 | Ricoh Company, Ltd. | Device authentication method, service access control method, device, and non-transitory computer-readable recording medium |
CN111372247A (zh) * | 2019-12-23 | 2020-07-03 | 国网天津市电力公司 | 一种基于窄带物联网的终端安全接入方法及终端安全接入系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116343382A (zh) * | 2023-04-17 | 2023-06-27 | 国网江苏省电力有限公司 | 一种基于操作票的电力门禁系统及其控制方法 |
CN116343382B (zh) * | 2023-04-17 | 2023-11-21 | 国网江苏省电力有限公司 | 一种基于操作票的电力门禁系统及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112367329B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109462476B (zh) | 密钥协商方法、装置、终端及计算机可读存储介质 | |
US7899185B2 (en) | Real privacy management authentication system | |
US7991994B2 (en) | Method for securing an authentication and key agreement protocol | |
CN110401615B (zh) | 一种身份认证方法、装置、设备、系统及可读存储介质 | |
CN109150897B (zh) | 一种端到端的通信加密方法及装置 | |
MXPA03003710A (es) | Metodos para cambiar a distancia una contrasena de comunicaciones. | |
CN112989426B (zh) | 授权认证方法及装置、资源访问令牌的获取方法 | |
CN109714360B (zh) | 一种智能网关及网关通信处理方法 | |
MX2007009790A (es) | Secreto compartido de contexto limitado. | |
CN113806772A (zh) | 基于区块链的信息加密传输方法及装置 | |
KR101253683B1 (ko) | 연쇄 해시에 의한 전자서명 시스템 및 방법 | |
TW200537959A (en) | Method and apparatus for authentication in wireless communications | |
CN111756528A (zh) | 一种量子会话密钥分发方法、装置及通信架构 | |
KR20030080095A (ko) | 무선 통신 장치용 보안 처리 및 데이터 스토리지를제공하는 방법 및 장치 | |
Sureshkumar et al. | An enhanced bilinear pairing based authenticated key agreement protocol for multiserver environment | |
CN112995204B (zh) | ProtonMail加密邮件的安全读取方法、装置、设备及存储介质 | |
US8316236B2 (en) | Determining security states using binary output sequences | |
CN112367329B (zh) | 通信连接认证方法、装置、计算机设备及存储介质 | |
WO2018047132A1 (en) | A system and method for authentication and secure communication | |
CN108632295B (zh) | 防止终端反复攻击服务器的方法 | |
CN116743372A (zh) | 基于ssl协议的量子安全协议实现方法及系统 | |
CN107864136A (zh) | 一种防止系统短信服务被盗用的方法 | |
CN108769247B (zh) | 一种应用于监控摄像设备的分布式联网存储、传输的方法、装置 | |
CN112822015A (zh) | 信息传输方法及相关装置 | |
CN111953631A (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 |