CN114070568A - 数据处理方法、装置、电子设备和存储介质 - Google Patents

数据处理方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN114070568A
CN114070568A CN202111300774.2A CN202111300774A CN114070568A CN 114070568 A CN114070568 A CN 114070568A CN 202111300774 A CN202111300774 A CN 202111300774A CN 114070568 A CN114070568 A CN 114070568A
Authority
CN
China
Prior art keywords
character string
server
client
target
string
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.)
Pending
Application number
CN202111300774.2A
Other languages
English (en)
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202111300774.2A priority Critical patent/CN114070568A/zh
Publication of CN114070568A publication Critical patent/CN114070568A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/32Cryptographic 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

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)
  • Storage Device Security (AREA)

Abstract

本公开提供了一种数据处理方法、装置、电子设备和存储介质,涉及计算机领域,尤其涉及设备认证领域。具体实现方案为:向服务器发送认证请求,其中,认证请求包括第一字符串;获取服务器响应认证请求而返回的第二字符串,其中,第二字符串由服务器基于第一字符串生成;基于第二字符串对服务器的合法性进行认证,得到第一认证结果;将第二字符串调整为第三字符串,并将第三字符串发送给服务器,其中,第三字符串用于使服务器对客户端的合法性进行认证,以得到第二认证结果;基于第一认证结果和第二认证结果与服务器之间传输目标数据。

Description

数据处理方法、装置、电子设备和存储介质
技术领域
本公开涉及计算机领域,尤其涉及设备认证领域中的数据处理方法、装置、电子设备和存储介质。
背景技术
目前,在每次对客户端进行认证时,通常是服务器向客户端发送一个字符串,客户端在接收到这个字符串之后,做出相应的应答消息。服务器基于该应答消息对客户端进行验证。
发明内容
本公开提供了一种数据处理方法、装置、电子设备和存储介质。
根据本公开的一方面,提供了一种数据处理方法。该方法可以应用于客户端,包括:向服务器发送认证请求,其中,认证请求包括第一字符串;获取服务器响应认证请求而返回的第二字符串,其中,第二字符串由服务器基于第一字符串生成;基于第二字符串对服务器的合法性进行认证,得到第一认证结果;将第二字符串调整为第三字符串,并将第三字符串发送给服务器,其中,第三字符串用于使服务器对客户端的合法性进行认证,以得到第二认证结果;基于第一认证结果和第二认证结果与服务器之间传输目标数据。
根据本公开的另一方面,还提供了另一种数据处理方法。该方法可以应用于服务器,可以包括:获取客户端发送的认证请求,其中,认证请求包括第一字符串;响应认证请求,基于第一字符串生成第二字符串,并将第二字符串发送给客户端,其中,第二字符串用于使客户端对服务器进行认证,以得到第一认证结果;基于第三字符串对客户端的合法性进行认证,得到第二认证结果,其中,第三字符串为客户端对第二字符串调整得到;基于第一认证结果和第二认证结果与客户端之间传输目标数据。
本公开实施例还提供了一种数据处理系统。该数据处理系统可以包括:客户端,用于执行本公开实施例的客户端侧所执行的数据处理方法;以及服务器,用于执行本公开实施例的服务器侧所执行的数据处理方法。
根据本公开的另一方面,还提供了一种数据处理装置。该装置可以应用于客户端,包括:发送单元,用于向服务器发送认证请求,其中,认证请求包括第一字符串;第一获取单元,用于获取服务器响应认证请求而返回的第二字符串,其中,第二字符串由服务器基于第一字符串生成;第一认证单元,用于基于第二字符串对服务器的合法性进行认证,得到第一认证结果;调整单元,用于将第二字符串调整为第三字符串,并将第三字符串发送给服务器,其中,第三字符串用于使服务器对客户端的合法性进行认证,以得到第二认证结果;第一传输单元,用于基于第一认证结果和第二认证结果与服务器之间传输目标数据。
根据本公开的另一方面,还提供了另一种数据处理装置。该装置可以应用于服务器,包括:第二获取单元,用于获取客户端发送的认证请求,其中,认证请求包括第一字符串;生成单元,用于响应认证请求,基于第一字符串生成第二字符串,并将第二字符串发送给客户端,其中,第二字符串用于使客户端对服务器进行认证,以得到第一认证结果;第二认证单元,用于基于第三字符串对客户端的合法性进行认证,得到第二认证结果,其中,第三字符串为客户端对第二字符串调整得到;第二传输单元,用于基于第一认证结果和第二认证结果与客户端之间传输目标数据。
根据本公开的另一方面,还提供了一种电子设备。该电子设备可以包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开实施例的数据处理方法。
根据本公开的另一方面,还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开实施例的数据处理方法。
根据本公开的另一方面,还提供了一种计算机程序产品,可以包括计算机程序,计算机程序在被处理器执行时实现本公开实施例的数据处理方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例的一种数据处理方法的流程图;
图2是根据本公开实施例的另一种数据处理方法的流程图;
图3是根据本公开实施例的一种客户端和服务器进行双向认证的交互方法的流程图;
图4是根据公开实施例的一种数据处理系统的示意图;
图5是根据本公开实施例的一种数据处理装置的示意图;
图6是根据本公开实施例的另一种数据处理装置的示意图;
图7是根据本公开实施例的一种电子设备的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
下面从客户端一侧对本公开实施例的数据处理方法进行介绍,包括由客户端主要执行的设备认证方法。
图1是根据本公开实施例的一种数据处理方法的流程图。如图1所示,该方法可以包括以下步骤:
步骤S102,向服务器发送认证请求,其中,认证请求包括第一字符串。
在本公开上述步骤S102提供的技术方案中,客户端(Client)为发送认证请求的一方,服务器(Server)为接收请求的一方。客户端向服务器发送认证请求,该认证请求可以用于请求对服务器进行认证,且该认证请求可以包括第一字符串。
可选地,该实施例的认证请求可以为请求报文,其包括的第一字符串可以包括请求认证的标识符、目标账号,还可以包括客户端通过目标密码对随机字符串、通信序号的字符串进行加密而得到的字符串,比如,为通过目标密码对包括随机字符串、通信序号的字符串进行对称加密,而得到的字符串。
在该实施例中,上述对称加密也即私钥加密,是指加密和解密使用相同密钥的加密算法,也即,加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。可选地,加密密钥和解密密钥是相同的,所以、这种加密算法为秘密密钥算法或单密钥算法,其要求发送方和接收方在安全通信之前,商定一个密钥。在该实施例中,对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对发送或接收的消息进行解密,所以密钥的保密性对通信的安全性至关重要。
步骤S104,获取服务器响应认证请求而返回的第二字符串,其中,第二字符串由服务器基于第一字符串生成。
在本公开上述步骤S104提供的技术方案中,在客户端向服务器发送认证请求之后,获取服务器响应认证请求而返回的第二字符串。
在该实施例中,认证请求由服务器进行响应,可以是从目标数据库中查询认证请求中的目标账号是否存在,如果目标数据库中不存在目标账号,则服务器可以终止认证,也即,认证请求可以被服务器忽略,其中,目标数据库可以为用户数据库。如果目标数据库中存在目标账号,则认证请求中的第一字符串可以由服务器进一步生成第二字符串,可以由服务器通过目标密码对上述第一字符串进行解密,通过解密后的第一字符串和新的随机字符串以及目标密码来生成第二字符串,该第二字符串也即密文,进而客户端获取服务器返回的上述第二字符串。
步骤S106,基于第二字符串对服务器的合法性进行认证,得到第一认证结果。
在本公开上述步骤S106提供的技术方案中,在客户端获取服务器响应认证请求而返回的第二字符串之后,可以基于第二字符串对服务器的合法性进行认证,得到第一认证结果。
在该实施例中,客户端可以对接收到的第二字符串通过目标密码进行解密,可以对解密出的结果进行判断,比如,判断解密出的字符串是否为之前发送认证请求中的加密前的随机字符串,如果判断出解密出的字符串为之前发送认证请求中的加密前的随机字符串,则可以确定对服务器的合法性认证成功,也即,客户端需要确认即将访问的服务器为自己需要访问的服务器,而不是一个伪造的服务器,从而实现了对服务器进行认证的目的。
步骤S108,将第二字符串调整为第三字符串,并将第三字符串发送给服务器,其中,第三字符串用于使服务器对客户端的合法性进行认证,以得到第二认证结果。
在本公开上述步骤S108提供的技术方案中,在客户端基于第二字符串对服务器的合法性进行认证,得到第一认证结果之后,将第二字符串调整为第三字符串。可选地,该实施例的客户端对接收到的第二字符串通过目标密码进行解密,解密出的结果还可以包括通信序号,可以通过该通信序号将第二字符串调整为第三字符串,该第三字符串与第二字符串之间的差别可以是通信序号的不同,且可以是经过目标密码加密过的密文,其中,通信序号可以按照服务器与客户端之间的约定的通信规则进行变化。
在客户端将第二字符串调整为第三字符串之后,可以将该第三字符串发送至服务器,服务器在接收到该第三字符串之后,可以对第三字符串按照目标密码进行解密,通过判断得到的解密结果来对客户端的合法性进行认证,比如,如果判断出得到的解密结果包括之前由服务器生成的新的随机字符串,且通信讯号按照服务器与客户端之间的约定的通信规则来变化,则可以确定服务器对客户端的合法性认证成功,也即,服务器确定待与自己通信的客户端是一个身份真实、安全可靠的客户端,而不是一个想要进行恶意网络攻击的客户端。
步骤S110,基于第一认证结果和第二认证结果与服务器之间传输目标数据。
在本公开上述步骤S110提供的技术方案中,第一认证结果为客户端对服务器的合法性进行认证的结果,第二认证结果为服务器对客户端的合法性的认证结果。如果第一认证结果表示客户端对服务器的合法性认证成功,第二认证结果表示服务器对客户端的合法性认证成功,则客户端与服务器之间就可以正常通信,来传输目标数据,比如,客户端与服务器之间可以正常进行业务通信,该目标数据可以为客户端传输至服务器的业务数据。
通过上述步骤S102至步骤S110,向服务器发送认证请求,其中,认证请求包括第一字符串;获取服务器响应认证请求而返回的第二字符串,其中,第二字符串由服务器基于第一字符串生成;基于第二字符串对服务器的合法性进行认证,得到第一认证结果;将第二字符串调整为第三字符串,并将第三字符串发送给服务器,其中,第三字符串用于使服务器对客户端的合法性进行认证,以得到第二认证结果;基于第一认证结果和第二认证结果与服务器之间传输目标数据。也就是说,本公开的客户端与服务器之间基于第一字符串只需要进行三次握手通信,实现了在客户端与服务器之间进行双认证的目的,不仅更有益于保障数据安全,并且认证部署简易方便。
下面对该实施例的上述方法进行进一步地详细介绍。
作为一种可选的实施方式,认证请求还包括目标账号,目标账号与目标密码相对应,且用于登录客户端,该方法还包括:对第一随机字符串和第一目标值按照目标密码进行加密,得到第一字符串。
在该实施例中,认证请求包括目标账号,目标账号用于表示客户端的身份,其可以是用户名,可以是明文或者由消息摘要算法(Message Digest Algorithm,简称为MD5)加密,且与目标密码相对应,该目标密码也即秘钥,可以为用于客户端认证的一串字符,目标账号和目标密码用于客户端登录。上述目标账号和对应的目标密码可以由服务器预先保存,从而客户端与服务器之间在后续交互过程中无需传输目标密码。
在该实施例中,客户端可以先生成第一随机字符串,比如,该第一随机字符串为A。客户端还可以确定第一目标值,该第一目标值可以为用于表示通信序号的整数S,其初始值可以由客户端与服务器之间预先约定好,其中,通信序号与客户端与服务器之间的通讯次数相关,可以表示客户端与服务器之间的通讯次数。该实施例可以将第一随机字符串和第一目标值结合在一起组成AS,可以通过客户端保存的目标密码对AS进行加密,再传输至服务器,比如,通过目标密码对AS进行对称加密,从而得到第一字符串,也即,该实施例对AS加密是使用目标密码作为加密的秘钥,第一随机字符串是加密传输的,并且由于传输过程中不发送目标密码,从而提高了客户端与服务器之间认证的安全性。
作为一种可选的实施方式,步骤S106,基于第二字符串对服务器的合法性进行认证,得到第一认证结果包括:若基于目标密码对第二字符串进行解密,至少得到第一随机字符串和第二目标值,则确定第一认证结果为对服务器的合法性认证成功,其中,第二目标值与第一目标值相差目标变化值。
在该实施例中,第二字符串是由上述服务器基于第一字符串而生成的,对于客户端而言,在实现客户端基于第二字符串对服务器的合法性进行认证,得到第一认证结果时,客户端可以是使用目标密码对第二字符串进行解析,可以是基于目标密码从第二字符串中至少解密出一个随机字符串和目标值。如果解密出的一个随机字符串为第一随机字符串,且解密出的目标值为第二目标值,该第二目标值是第一目标值变化了目标变化值得到的,该目标变化值可以为客户端与服务器之间预定好的变化值,其用于客户端与服务器在每次通信时调整上一个目标值(比如,第一目标值),该目标变化值为1,也即,该第二目标值为S+1,则可以确定客户端对服务器的认证结果为对服务器的合法性认证成功,客户端确认即将访问的服务器为自己需要访问的服务器,而不是一个伪造的服务器。
作为一种可选的实施方式,基于目标密码对第二字符串进行解密,至少得到第一随机字符串和第二目标值包括:基于目标密码对第二字符串进行解密,得到第一随机字符串、第二随机字符串和第二目标值。
在该实施例中,在实现基于目标密码对第二字符串进行解密时,不仅可以得到第一随机字符串和第二目标值时,还可以得到第二随机字符串,该第二随机字符串可以为在服务器在基于第一字符串生成第二字符串时所生成的一个新的随机字符串,比如,为随机字符串B,也即,该第二随机字符串为服务器对其通过目标密码进行加密传输至客户端的,客户端可以使用该第二随机字符串来生成用于使服务器对客户端的合法性进行认证的第三字符串。由于该实施例的客户端与服务器之间不传输目标密码,第二随机字符串为服务器对其通过目标密码进行加密传输至客户端的,从而提高了客户端与服务器之间认证的安全性。
作为一种可选的实施方式,步骤S108,将第二字符串调整为第三字符串包括:对第二目标值增加目标变化值,得到第三目标值;基于第一随机字符串、第二随机字符串和第三目标值生成第三字符串。
在客户端实现了对服务器的合法性认证成功之后,客户端可以将第二字符串调整为第三字符串,可以对第二目标值增加上述目标变化值,比如,上述S在已经加1的情况下再加1(S+2),从而基于上述第一随机字符串、第二随机字符串和第三目标值来生成第三字符串,以将其发送至服务器,实现服务器对客户端的合法性进行认证的目的。
作为一种可选的实施方式,基于第一随机字符串、第二随机字符串和第三目标值生成第三字符串包括:将第一随机字符串、第二随机字符串和第三目标值生成第四字符串;对第四字符串按照目标密码进行加密,得到第三字符串。
在该实施例中,在实现客户端基于第一随机字符串、第二随机字符串和第三目标值生成第三字符串时,可以是先将第一随机字符串、第二随机字符串和第三目标值生成第四字符串,比如,将第一随机字符串A、第二随机字符串B和S+2的值进行结合,然后对得到的结合结果按照目标密码进行加密,比如,对得到的结合结果按照目标密码进行对称加密,从而得到第三字符串。
作为一种可选的实施方式,步骤S110,基于第一认证结果和第二认证结果与服务器之间传输目标数据包括:确定第一认证结果为对服务器的合法性认证成功,且确定第二认证结果为对客户端的合法性认证成功,则控制客户端向服务器传输第一目标数据,其中,第一目标数据至少包括第一随机字符串、第二随机字符串和第四目标值,其中,第四目标值由第三目标值和客户端与服务器之间的通信次数确定;或者,接收服务器向客户端传输的第二目标数据,其中,第二目标数据包括第一随机字符串、第二随机字符串和第五目标值,其中,第五目标值由第三目标值和客户端与服务器之间的通信次数确定。
在实现基于第一认证结果和第二认证结果与服务器之间传输目标数据时,可以是先确定第一认证结果为客户端即将访问的服务器为自己需要访问的服务器,而不是一个伪造的服务器,且确定第二认证结果为待与服务器通信的客户端是一个身份真实、安全可靠的客户端,而不是一个想要进行恶意网络攻击的客户端,则可以控制客户端向服务器传输第一目标数据,该第一目标数据除了包括客户端需要向服务器传输的第一业务数据之外,还可以包括第一随机字符串A、第二随机字符串B和第四目标值,该第四目标值由第三目标值和客户端与服务器之间认证成功后的通信次数确定的,比如,为上述第三目标值加1,以确定客户端的合法性已经由服务器认证成功,否则,将难以辨别客户端的合法性是否已经由服务器认证,容易使得服务器受到恶意攻击。可选地,该实施例的上述第一目标数据可以为使用目标密码进行加密后的数据,将其传输至服务器,以确保数据传输的安全性。可选地,上述第一目标数据可以为客户端需要向服务器传输的部分或全部业务数据。
可选地,该实施例的客户端还可以接收服务器传输的第二目标数据,该第二目标数据出了包括服务器需要向客户端传输的第二业务数据之外,还可以包括第一随机字符串、第二随机字符串和第五目标值,该第五目标值由第三目标值和客户端与服务器之间认证成功后的通信次数确定的,比如,为上述第三目标值加2,以确定服务器的合法性已经由客户端认证成功,否则,将难以辨别服务器是否已经认证,使得客户端接收到伪造服务器的数据。可选地,该实施例的上述第二目标数据可以为使用目标密码进行加密后的数据,可以确保数据传输的安全性。可选地,上述第二目标数据可以为服务器需要向服务器传输的部分或全部业务数据。
作为一种可选的实施方式,认证请求还包括目标标识,用于表示客户端向服务器请求认证。
在该实施例中,客户端向服务器发送的认证请求还可以包括目标标识,该目标标识用于标识客户端是请求与服务器进行认证的,而不是其它的请求数据处理方式,以使得服务器响应认证请求而返回第二字符串,实现客户端与服务器之间的双向认证。
下面从服务器一侧对本公开实施例的数据处理方法进行介绍,包括由服务器主要执行的设备认证方法。
图2是根据本公开实施例的另一种数据处理方法的流程图。如图2所示,该方法可以包括以下步骤:
步骤S202,获取客户端发送的认证请求,其中,认证请求包括第一字符串。
在本公开上述步骤S202提供的技术方案中,服务器获取客户端向服务器发送的认证请求,该认证请求可以用于请求对服务器进行认证,且该认证请求可以包括第一字符串。
可选地,服务器获取到的认证请求可以为请求报文,其包括的第一字符串可以包括请求认证的标识符、目标账号,还可以包括客户端通过目标密码对随机字符串、通信序号的字符串进行加密而得到的字符串,比如,为通过目标密码对包括随机字符串、通信序号的字符串进行对称加密,而得到的字符串。
步骤S204,响应认证请求,基于第一字符串生成第二字符串,并将第二字符串发送给客户端,其中,第二字符串用于使客户端对服务器进行认证,以得到第一认证结果。
在本公开上述步骤S204提供的技术方案中,在服务器获取客户端发送的认证请求之后,服务器响应认证请求,基于第一字符串生成第二字符串,可以是服务器从目标数据库中查询认证请求中的目标账号是否存在,如果目标数据库中不存在目标账号,则服务器可以终止认证,也即,服务器对认证请求不予理会。如果服务器确定目标数据库中存在目标账号,则服务器可以进一步根据认证请求中的第一字符串生成第二字符串,服务器可以通过目标密码对上述第一字符串进行解密,通过解密后的第一字符串和新的随机字符串以及目标密码来生成第二字符串,该第二字符串也即密文,进而服务器向客户客户端返回上述生成的第二字符串。
上述第二字符串可以由客户端通过目标密码进行解密,可以由客户端对解密出的结果进行判断,比如,判断解密出的字符串是否为之前发送认证请求中的加密前的随机字符串,如果判断出解密出的字符串为之前发送认证请求中的加密前的随机字符串,则可以确定服务器的合法性由客户端认证成功,也即,该服务器为客户端需要访问的服务器,而不是一个伪造的服务器,从而实现了对服务器进行认证的目的。
步骤S206,基于第三字符串对客户端的合法性进行认证,得到第二认证结果,其中,第三字符串为客户端对第二字符串调整得到。
在本公开上述步骤S206提供的技术方案中,在服务器基于第一字符串生成第二字符串之后,第二字符串可以由客户端调整为第三字符串,服务器基于第三字符串对客户端的合法性进行认证,得到第二认证结果。
可选地,该实施例的第二字符串由客户端通过目标密码进行解密,解密出的结果还可以包括通信序号,可以通过该通信序号将第二字符串调整为第三字符串,该第三字符串与第二字符串之间的差别可以是通信序号的不同,且可以是经过目标密码加密过的密文。
该实施例的服务器在接收到客户端发送的第三字符串之后,可以对第三字符串按照目标密码进行解密,通过判断得到的解密结果来对客户端的合法性进行认证,比如,如果判断出得到的解密结果包括之前由服务器生成的新的随机字符串,且通信讯号按照服务器与客户端之间的约定的通信规则来变化,则可以确定服务器对客户端的合法性认证成功,也即,服务器确定待与自己通信的客户端是一个身份真实、安全可靠的客户端,而不是一个想要进行恶意网络攻击的客户端。
步骤S208,基于第一认证结果和第二认证结果与客户端之间传输目标数据。
在本公开上述步骤S208提供的技术方案中,在服务器基于第三字符串对客户端的合法性进行认证,得到第二认证结果之后,基于第一认证结果和第二认证结果与客户端之间传输目标数据。
在该实施例中,第一认证结果为客户端对服务器的合法性进行认证的结果,第二认证结果为服务器对客户端的合法性的认证结果。如果第一认证结果表示客户端对服务器的合法性认证成功,第二认证结果表示服务器对客户端的合法性认证成功,则服务器与服务器之间就可以正常通信,来传输目标数据,比如,服务器与客户端之间可以正常进行业务通信,该目标数据可以为服务器传输至客户端的数据。
下面对该实施例的上述方法进行进一步地介绍。
作为一种可选的实施方式,认证请求还包括目标账号,目标账号用于登录客户端,该方法还包括:在目标数据库中查询到目标账号对应的目标密码;步骤S204,基于第一字符串生成第二字符串包括:基于目标密码对第一字符串进行解密,得到第一随机字符串和第一目标值;获取第二随机字符串,且对第一目标值增加目标变化值,得到第二目标值;基于第一随机字符串、第二随机字符串和第二目标值生成第二字符串。
在该实施例中,认证请求可以包括目标账号,该目标账号用于表示客户端的身份,且与目标密码相对应,该目标密码也即秘钥。服务器可以在目标数据库中查询到目标账号对应的目标密码,然后可以基于目标密码对第一字符串进行解密,得到第一随机字符串和第一目标值,比如,第一随机字符串为A,第一目标值为S,该第一目标值可以为用于表示通信序号的整数S。可选地,服务器可以生成一个第二随机字符串,比如,该第二随机字符串为B,服务器可以对第一目标值增加目标变化值,从而得到第二目标值,比如,该第二目标值为S+1的值,进而基于上述第一随机字符串A、第二随机字符串B和S+1生成第二字符串,以用于客户端对服务器的合法性进行认证。
作为一种可选的实施方式,基于第一随机字符串、第二随机字符串和第二目标值生成第二字符串包括:将第一随机字符串、第二随机字符串和第二目标值生成第五字符串;对第五字符串按照目标密码进行加密,得到第二字符串。
在该实施例中,在实现基于第一随机字符串、第二随机字符串和第二目标值生成第二字符串时,可以是将第一随机字符串、第二随机字符串和第二目标值进行结合,得到第五字符串,然后对该第五字符串按照目标密码进行加密,比如,对该第五字符串进行对称加密,从而得到上述第二字符串,该第二字符串也即密文,进而将其发送至客户端。
作为一种可选的实施方式,步骤S206,基于第三字符串对客户端的合法性进行认证,得到第二认证结果包括:对第三字符串按照目标密码进行解密,至少得到第二随机字符串和第三目标值,则确定第二认证结果为对客户端的合法性认证成功,其中,第三目标值和第二目标值相差目标变化值。
在该实施例中,在实现服务器基于第三字符串对客户端的合法性进行认证,得到第二认证结果时,可以是服务器对客户端发送的第三字符串按照目标密码进行解密,得到解密结果,可以是判断解密结果是否包括第二随机字符串,以及解密结果是否包括与第二目标值相差目标变化值的第三目标值,其中,目标变换值可以为1。如果确定解密结果包括第二随机字符串和上述第三目标值,比如,包括B,且S+2,则可以确定第二认证结果为对客户端的合法性认证成功,也即,服务器确定待与自己通信的客户端是一个身份真实、安全可靠的客户端,而不是一个想要进行恶意网络攻击的客户端。
作为一种可选的示例,在实现基于第一认证结果和第二认证结果与服务器之间传输目标数据时,可以是先确定第一认证结果为客户端即将访问的服务器为自己需要访问的服务器,而不是一个伪造的服务器,且确定第二认证结果为待与服务器通信的客户端是一个身份真实、安全可靠的客户端,而不是一个想要进行恶意网络攻击的客户端,则可以控制服务器向客户端传输第三目标数据,该第三目标数据除了包括服务器需要向客户端传输的第三业务数据之外,还可以包括第一随机字符串A、第二随机字符串B和第四目标值,该第四目标值可以由第三目标值和客户端与服务器之间认证成功后的通信次数确定的,比如,为上述第三目标值加1,以确定服务器的合法性已经由客户端认证成功,否则,将使得客户端难以辨别服务器是否已经认证,容易使得客户端接收到伪造服务器的数据。可选地,该实施例的上述第三目标数据可以为使用目标密码进行加密后的数据,将其传输至客户端,以确保数据传输的安全性。可选地,上述第三目标数据可以为服务器需要向客户端传输的部分或全部业务数据。
可选地,该实施例的服务器还可以接收客户端传输的第四目标数据,该第四目标数据出了包括客户端需要向服务器传输的第四业务数据之外,还可以包括第一随机字符串、第二随机字符串和第五目标值,该第五目标值由第三目标值和客户端与服务器之间认证成功后的通信次数确定的,比如,为上述第三目标值加2,以确定客户端的合法性已经由服务器认证成功,否则,将难以辨别客户端的合法性是否已经由服务器认证,容易使得服务器受到恶意攻击。可选地,该实施例的上述第四目标数据可以为使用目标密码进行加密后的数据,将其传输至服务器,以确保数据传输的安全性。可选地,上述第四目标数据可以为客户端需要向服务器传输的部分或全部业务数据。
在该实施例中,客户端与服务器之间的双向认证的交互过程只需要三次握手通信,部署起来比较方便;由于客户端与服务器之间的数据传输过程中不发送目标密码,用于认证的随机字符串也是加密传输的,从而使得认证的安全性得到保障;另外,由于客户端与服务器之间的数据传输过程中不发送目标密码,用于认证的第一随机字符串和第二随机字符串是加密传输的,客户端和服务端可以永久使用第一随机字符串和第二随机字符串作为通信秘钥,人不需要定期的重新认证,从而需要设置认证的超时期限,解决了对设备进行认证的效率低的技术问题,达到了提高对设备进行认证的效率的技术效果。
下面结合优选的实施例对本公开实施例的上述技术方案进行进一步地举例介绍。
在很多场景中需要通过网络访问设备,为了保证设备数据安全,需要在设备上部署认证机制,该设备可以包括服务器和客户端。
在相关技术中,挑战应答身份认证系统是基于挑战/应答(Challenge/Response)方式的身份认证系统,其在每次认证时,认证服务器端都给客户端发送一个不同的挑战字符串,客户端在接收到这个字符串之后,可以对其做出相应的应答,得到应答消息,服务器基于该应答消息对客户端进行认证,其可以包括以下步骤:
S1,客户端向认证服务器发出请求,要求进行身份认证;
S2,认证服务器从用户数据库中查询用户是否是合法的用户,若不是,则不做进一步处理;
S3,认证服务器产生一个随机数,并将其发送给客户端;
S4,客户端将用户名字和随机数合并,使用单向哈希(Hash)函数(比如,MD5算法)生成一个字节串作为应答消息;
S5,认证服务器将应答消息与自己通过用户名字和随机数的计算结果进行比较,如果二者相同,则对客户端通过一次认证;否则,对客户端认证失败。
S6,认证服务器可以通知客户端认证成功或失败。
以后的认证过程可以由客户端不定时地先服务器发起,该过程中没有了客户认证请求一步。
上述挑战应答身份认证系统仅仅是对客户端进行的认证,而并未对服务器进行认证。在另一种相关技术中,可以通过计算机网络认证协议对服务器和客户端进行双向认证,比如,计算机网络认证协议(kerberos),能够为网络中通信的双方提供严格的身份验证服务,确保通信双方身份的真实性和安全性。不同于其他网络服务,在kerberos协议中,不是所有的客户端向想要访问的网络服务发起请求,就能够建立连接然后进行加密通信。而是在发起服务请求后必须先进行一系列的身份认证,包括客户端和服务端两方的双向认证,只有当通信双方都认证通过对方身份之后,才可以互相建立起连接,进行网络通信。也即,上述kerberos协议的侧重在于认证通信双方的身份,但其实现过程相对复杂,在认证过程中需要部署一个叫密钥分发中心(Key Distribution Center,简称为KDC)的服务器,在一些场景中部署起来不是很方便。
针对上述情况,该实施例提出了一种比较简单的客户端和服务器之间的认证协议,能够在保障认证安全性的同时,做到简易部署。下面对该实施例的方法进行进一步地介绍。
图3是根据本公开实施例的一种客户端和服务器进行双向认证的交互方法的流程图。如图3所示,该方法可以包括以下步骤:
步骤S301,客户端发起请求报文。
在该实施例中,客户端可以向认证服务器发送请求报文,该请求报文可以主要包括以下内容:用于表示请求认证的标识符、目标账号(明文或者MD5加密)、对由一串随机字符串A、一个用于标识通信序号的整数S结合在一起所组成的字符串AS进行对称加密而得到的字符串,其中,可以使用与目标账号对应的密码作为加密的秘钥。
步骤S302,服务端对请求报文进行响应,并向客户端回复第一密文。
在该实施例中,服务器在接收到请求报文之后,可以从用户数据库中查询该目标账号是否存在,如果该目标账号不存在,则服务器可以不予理会。
可选地,如果用户数据库中存在目标账号,则可以使用目标账号对应的目标密码对请求报文进行解析,得到上述随机字符串A、通信序号S,同时还可以生成一个新的随机字符串B,将通信序号S+1,并将这A、B、S+1进行结合,可以组成字符串ABS。然后可以使用与目标账号对应的目标密码对其进行对称加密,将得到的第一密文发送至客户端。
步骤S303,客户端基于第一密文对服务器进行认证,并向服务器发送第二密文,以使服务器对客户端进行认证。
客户端在接收到服务器发送的第一密文之后,可以使用目标密码对第一密文进行解密,得到字符串ABS,通过确定解密出来的A是否正确,且S是否已经在原来基础上加1,则可以确定客户端对服务器的合法性是否认证成功。
该实施例的客户端将上述加1后的S再加1,得到新的字符串ABS,并且使用目标账号对应的目标密码对其进行对称加密,将得到的第二密文发送给服务器。
服务器在接收到该第二密文后,对其通过目标密码解析出ABS,通过比较B是否正确、S是否在已经加1了基础上又加了1,从而实现了服务器对客户端的合法性进行认证。
步骤S304,客户端与服务器之间传输业务数据。
在该实施例中,客户端和服务器均实现对双方的认证,接下来可以进行业务通信。在客户端与服务器每次进行通信的过程中,可以将全部或者部分业务数据和ABS拼接在一起,使用目标密码对其进行对称加密,然后再发送给另一方,其中,每次通信时S均会自动加1。
该实施例的客户端与服务器之间实现了双向认证,且认证交互过程只需要三次握手通信,部署起来比较方便;另外,由于客户端与服务器之间的认证过程不发送目标密码,用于认证的随机字符串A、B也是加密传输,使得认证的安全性得到保障;进一步地,该实施例由于在客户端与服务器之间在传输过程中不发送目标密码,用于认证的随机字符串A、B也是加密传输的,客户端和服务器可以永久使用随机字符串A、B作为通信秘钥,而不需要定期的重新认证,解决了对设备进行认证的效率低的技术问题,达到了提高对设备进行认证的效率的技术效果。
本公开实施例还提供了一种数据处理系统。
图4是根据公开实施例的一种数据处理系统的示意图。如图4所示,该数据处理系统40可以包括:客户端41和服务器42。
客户端41,用于执行本公开实施例的如图1所示的客户端侧所执行的数据处理方法。
服务器42,用于执行本公开实施例的如图2所示的服务器侧所执行的数据处理方法。
本公开实施例还提供了一种用于执行图1所示实施例的数据处理装置。
图5是根据本公开实施例的一种数据处理装置的示意图。如图5所示,该数据处理装置50可以包括:发送单元51、第一获取单元52、第一认证单元53、调整单元54和第一传输单元55。
发送单元51,用于向服务器发送认证请求,其中,认证请求包括第一字符串。
第一获取单元52,用于获取服务器响应认证请求而返回的第二字符串,其中,第二字符串由服务器基于第一字符串生成。
第一认证单元53,用于基于第二字符串对服务器的合法性进行认证,得到第一认证结果。
调整单元54,用于将第二字符串调整为第三字符串,并将第三字符串发送给服务器,其中,第三字符串用于使服务器对客户端的合法性进行认证,以得到第二认证结果。
第一传输单元55,用于基于第一认证结果和第二认证结果与服务器之间传输目标数据。
可选地,认证请求还包括目标账号,目标账号与目标密码相对应,且用于登录客户端,该装置还包括:第一加密单元,用于对第一随机字符串和第一目标值按照目标密码进行加密,得到第一字符串。
可选地,第一认证单元53包括:第一确定模块,用于在基于目标密码对第二字符串进行解密,至少得到第一随机字符串和第二目标值时,则确定第一认证结果为对服务器的合法性认证成功,其中,第二目标值与第一目标值相差目标变化值。
可选地,第一确定模块包括:解密子模块,用于基于目标密码对第二字符串进行解密,得到第一随机字符串、第二随机字符串和第二目标值。
可选地,调整单元54包括:第一增加模块,用于对第二目标值增加目标变化值,得到第三目标值;第一生成模块,用于基于第一随机字符串、第二随机字符串和第三目标值生成第三字符串。
可选地,第一生成模块包括:第一生成子模块,用于将第一随机字符串、第二随机字符串和第三目标值生成第四字符串;第一加密子模块,用于对第四字符串按照目标密码进行加密,得到第三字符串。
可选地,第一传输单元55包括:控制模块,用于确定第一认证结果为对服务器的合法性认证成功,且确定第二认证结果为对客户端的合法性认证成功,则控制客户端向服务器传输第一目标数据,其中,第一目标数据至少包括第一随机字符串、第二随机字符串和第四目标值,其中,第四目标值由第三目标值和客户端与服务器之间的通信次数确定;或者,接收模块,用于接收服务器向客户端传输的第二目标数据,其中,第二目标数据包括第一随机字符串、第二随机字符串和第五目标值,其中,第五目标值由第三目标值和客户端与服务器之间的通信次数确定。
可选地,认证请求还包括目标标识,用于表示客户端向服务器请求认证。
本公开实施例还提供了一种用于执行图2所示实施例的数据处理装置。
图6是根据本公开实施例的另一种数据处理装置的示意图。如图6所示,该数据处理装置60可以包括:第二获取单元61、生成单元62、第二认证单元63和第二传输单元64。
第二获取单元61,用于获取客户端发送的认证请求,其中,认证请求包括第一字符串。
生成单元62,用于响应认证请求,基于第一字符串生成第二字符串,并将第二字符串发送给客户端,其中,第二字符串用于使客户端对服务器进行认证,以得到第一认证结果。
第二认证单元63,用于基于第三字符串对客户端的合法性进行认证,得到第二认证结果,其中,第三字符串为客户端对第二字符串调整得到。
第二传输单元64,用于基于第一认证结果和第二认证结果与客户端之间传输目标数据。
可选地,认证请求还包括目标账号,目标账号用于登录客户端,该装置还包括:查询单元,用于在目标数据库中查询到目标账号对应的目标密码;生成单元62包括:解密模块,用于基于目标密码对第一字符串进行解密,得到第一随机字符串和第一目标值;第二增加模块,用于获取第二随机字符串,且对第一目标值增加目标变化值,得到第二目标值;第二生成模块,用于基于第一随机字符串、第二随机字符串和第二目标值生成第二字符串。
可选地,第二生成模块包括:第二生成子模块,用于将第一随机字符串、第二随机字符串和第二目标值生成第五字符串;第二加密子模块,用于对第五字符串按照目标密码进行加密,得到第二字符串。
可选地,第二认证单元63包括:第二确定模块,用于对第三字符串按照目标密码进行解密,至少得到第二随机字符串和第三目标值,则确定第二认证结果为对客户端的合法性认证成功,其中,第三目标值和第二目标值相差目标变化值。
在该实施例的数据处理装置中,客户端与服务器之间基于第一字符串只需要进行三次握手通信,实现了在客户端与服务器之间进行双认证的目的,不仅更有益于保障数据安全,并且认证部署简易方便。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,还提供了一种电子设备、一种计算机可读存储介质和一种计算机程序产品。
本公开的实施例提供了一种电子设备,该电子设备可以包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开实施例的数据处理方法。
可选地,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
根据本公开的实施例,本公开还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开实施例的数据处理方法。
可选地,在本实施例中,上述非易失性存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,向服务器发送认证请求,其中,认证请求包括第一字符串;
S2,获取服务器响应认证请求而返回的第二字符串,其中,第二字符串由服务器基于第一字符串生成;
S3,基于第二字符串对服务器的合法性进行认证,得到第一认证结果;
S4,将第二字符串调整为第三字符串,并将第三字符串发送给服务器,其中,第三字符串用于使服务器对的合法性进行认证,以得到第二认证结果;
S5,基于第一认证结果和第二认证结果与服务器之间传输目标数据
可选地,在本实施例中,上述非易失性存储介质还可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取客户端发送的认证请求,其中,认证请求包括第一字符串;
S2,响应认证请求,基于第一字符串生成第二字符串,并将第二字符串发送给客户端,其中,第二字符串用于使客户端对服务器进行认证,以得到第一认证结果;
S3,基于第三字符串对客户端的合法性进行认证,得到第二认证结果,其中,第三字符串为客户端对第二字符串调整得到;
S4,基于第一认证结果和第二认证结果与客户端之间传输目标数据。
可选地,在本实施例中,上述非瞬时计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的实施例,本公开还提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现以下步骤:
S1,向服务器发送认证请求,其中,认证请求包括第一字符串;
S2,获取服务器响应认证请求而返回的第二字符串,其中,第二字符串由服务器基于第一字符串生成;
S3,基于第二字符串对服务器的合法性进行认证,得到第一认证结果;
S4,将第二字符串调整为第三字符串,并将第三字符串发送给服务器,其中,第三字符串用于使服务器对的合法性进行认证,以得到第二认证结果;
S5,基于第一认证结果和第二认证结果与服务器之间传输目标数据。
根据本公开的实施例,本公开还提供了另一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现以下步骤:
S1,获取客户端发送的认证请求,其中,认证请求包括第一字符串;
S2,响应认证请求,基于第一字符串生成第二字符串,并将第二字符串发送给客户端,其中,第二字符串用于使客户端对服务器进行认证,以得到第一认证结果;
S3,基于第三字符串对客户端的合法性进行认证,得到第二认证结果,其中,第三字符串为客户端对第二字符串调整得到;
S4,基于第一认证结果和第二认证结果与客户端之间传输目标数据。
图7是根据本公开实施例的一种电子设备的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如数据处理方法。例如,在一些实施例中,数据处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的数据处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (18)

1.一种数据处理方法,应用于客户端,包括:
向服务器发送认证请求,其中,所述认证请求包括第一字符串;
获取所述服务器响应所述认证请求而返回的第二字符串,其中,所述第二字符串由所述服务器基于所述第一字符串生成;
基于所述第二字符串对所述服务器的合法性进行认证,得到第一认证结果;
将所述第二字符串调整为第三字符串,并将所述第三字符串发送给所述服务器,其中,所述第三字符串用于使所述服务器对所述客户端的合法性进行认证,以得到第二认证结果;
基于所述第一认证结果和所述第二认证结果与所述服务器之间传输目标数据。
2.根据权利要求1所述的方法,其中,所述认证请求还包括目标账号,所述目标账号与目标密码相对应,且用于登录所述客户端,所述方法还包括:
对第一随机字符串和第一目标值按照所述目标密码进行加密,得到所述第一字符串。
3.根据权利要求2所述的方法,其中,基于所述第二字符串对所述服务器的合法性进行认证,得到第一认证结果包括:
若基于所述目标密码对所述第二字符串进行解密,至少得到所述第一随机字符串和第二目标值,则确定所述第一认证结果为对所述服务器的合法性认证成功,其中,所述第二目标值与所述第一目标值相差目标变化值。
4.根据权利要求3所述的方法,其中,基于所述目标密码对所述第二字符串进行解密,至少得到所述第一随机字符串和第二目标值包括:
基于所述目标密码对所述第二字符串进行解密,得到所述第一随机字符串、第二随机字符串和所述第二目标值。
5.根据权利要求4所述的方法,其中,将所述第二字符串调整为第三字符串包括:
对所述第二目标值增加所述目标变化值,得到第三目标值;
基于所述第一随机字符串、所述第二随机字符串和所述第三目标值生成所述第三字符串。
6.根据权利要求5所述的方法,其中,基于所述第一随机字符串、所述第二随机字符串和所述第三目标值生成所述第三字符串包括:
将所述第一随机字符串、所述第二随机字符串和所述第三目标值生成第四字符串;
对所述第四字符串按照所述目标密码进行加密,得到所述第三字符串。
7.根据权利要求5所述的方法,其中,基于所述第一认证结果和所述第二认证结果控制所述客户端与所述服务器之间传输目标数据包括:
确定所述第一认证结果为对所述服务器的合法性认证成功,且确定所述第二认证结果为对所述客户端的合法性认证成功,则控制所述客户端向所述服务器传输第一目标数据,其中,所述第一目标数据至少包括所述第一随机字符串、所述第二随机字符串和第四目标值,其中,所述第四目标值由所述第三目标值和所述客户端与所述服务器之间的通信次数确定;或者,
接收所述服务器向所述客户端传输的第二目标数据,其中,所述第二目标数据包括所述第一随机字符串、所述第二随机字符串和第五目标值,其中,所述第五目标值由所述第三目标值和所述客户端与所述服务器之间的通信次数确定。
8.根据权利要求1至7中任意一项所述的方法,所述认证请求还包括目标标识,用于表示所述客户端向所述服务器请求认证。
9.一种数据处理方法,应用于服务器,包括:
获取客户端发送的认证请求,其中,所述认证请求包括第一字符串;
响应所述认证请求,基于所述第一字符串生成第二字符串,并将所述第二字符串发送给所述客户端,其中,所述第二字符串用于使所述客户端对所述服务器进行认证,以得到第一认证结果;
基于第三字符串对所述客户端的合法性进行认证,得到第二认证结果,其中,所述第三字符串为所述客户端对所述第二字符串调整得到;
基于所述第一认证结果和所述第二认证结果与所述客户端之间传输目标数据。
10.根据权利要求9所述的方法,其中,所述认证请求还包括目标账号,所述目标账号用于登录所述客户端,
所述方法还包括:在目标数据库中查询到所述目标账号对应的目标密码;
基于所述第一字符串生成第二字符串包括:基于所述目标密码对所述第一字符串进行解密,得到第一随机字符串和第一目标值;获取第二随机字符串,且对所述第一目标值增加目标变化值,得到第二目标值;基于所述第一随机字符串、所述第二随机字符串和所述第二目标值生成所述第二字符串。
11.根据权利要求10所述的方法,其中,基于所述第一随机字符串、所述第二随机字符串和所述第二目标值生成所述第二字符串包括:
将所述第一随机字符串、所述第二随机字符串和所述第二目标值生成第五字符串;
对所述第五字符串按照所述目标密码进行加密,得到所述第二字符串。
12.根据权利要求10所述的方法,其中,基于第三字符串对所述客户端的合法性进行认证,得到第二认证结果包括:
对所述第三字符串按照所述目标密码进行解密,至少得到所述第二随机字符串和第三目标值,则确定所述第二认证结果为对所述客户端的合法性认证成功,其中,所述第三目标值和所述第二目标值相差所述目标变化值。
13.一种数据处理系统,包括:
客户端,用于执行权利要求1-8中任一项所述的方法;以及
服务器,用于执行权利要求9-12中任一项所述的方法。
14.一种数据处理装置,应用于客户端,包括:
发送单元,用于向服务器发送认证请求,其中,所述认证请求包括第一字符串;
第一获取单元,用于获取所述服务器响应所述认证请求而返回的第二字符串,并将所述第三字符串发送给所述服务器,其中,所述第二字符串由所述服务器基于所述第一字符串生成;
第一认证单元,用于基于所述第二字符串对所述服务器的合法性进行认证,得到第一认证结果;
调整单元,用于将所述第二字符串调整为第三字符串,其中,所述第三字符串用于使所述服务器对所述客户端的合法性进行认证,以得到第二认证结果;
第一传输单元,用于基于所述第一认证结果和所述第二认证结果与所述服务器之间传输目标数据。
15.一种数据处理装置,应用于服务器,包括:
第二获取单元,用于获取客户端发送的认证请求,其中,所述认证请求包括第一字符串;
生成单元,用于响应所述认证请求,基于所述第一字符串生成第二字符串,并将所述第二字符串发送给所述客户端,其中,所述第二字符串用于使所述客户端对所述服务器进行认证,以得到第一认证结果;
第二认证单元,用于基于第三字符串对所述客户端的合法性进行认证,得到第二认证结果,其中,所述第三字符串为所述客户端对所述第二字符串调整得到;
第二传输单元,用于基于所述第一认证结果和所述第二认证结果控制与所述客户端之间传输目标数据。
16.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-12中任一项所述的方法。
17.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-12中任一项所述的方法。
18.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-12中任一项所述的方法。
CN202111300774.2A 2021-11-04 2021-11-04 数据处理方法、装置、电子设备和存储介质 Pending CN114070568A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111300774.2A CN114070568A (zh) 2021-11-04 2021-11-04 数据处理方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111300774.2A CN114070568A (zh) 2021-11-04 2021-11-04 数据处理方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN114070568A true CN114070568A (zh) 2022-02-18

Family

ID=80273907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111300774.2A Pending CN114070568A (zh) 2021-11-04 2021-11-04 数据处理方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN114070568A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022099A (zh) * 2022-08-09 2022-09-06 北京华云安软件有限公司 基于udp传输协议的身份认证方法和系统
CN115174062A (zh) * 2022-06-30 2022-10-11 中国联合网络通信集团有限公司 云服务认证方法、装置、设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101789934A (zh) * 2009-11-17 2010-07-28 北京飞天诚信科技有限公司 网上安全交易方法和系统
JP2010191801A (ja) * 2009-02-19 2010-09-02 Ntt Data Corp 認証システムおよび認証方法
JP5467429B1 (ja) * 2012-11-15 2014-04-09 株式会社パレス興業 ワンタイムパッドを運用するデバイス間認証方法及びこれを用いた遊技機並びに遊技機ネットワークシステム
CN104468585A (zh) * 2014-12-12 2015-03-25 西安电子科技大学 基于代理的用户设备可信接入认证方法
CN106506529A (zh) * 2016-12-06 2017-03-15 上海众人网络安全技术有限公司 一种双向认证方法及系统
CN107483388A (zh) * 2016-06-08 2017-12-15 深圳市斑点猫信息技术有限公司 一种安全通信方法及其终端和云端
CN108494811A (zh) * 2018-06-27 2018-09-04 深圳市思迪信息技术股份有限公司 数据传输安全认证方法及装置
CN108512846A (zh) * 2018-03-30 2018-09-07 北京邮电大学 一种终端与服务器之间的双向认证方法和装置
CN112257086A (zh) * 2020-10-23 2021-01-22 华云数据控股集团有限公司 一种用户隐私数据保护方法及电子设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010191801A (ja) * 2009-02-19 2010-09-02 Ntt Data Corp 認証システムおよび認証方法
CN101789934A (zh) * 2009-11-17 2010-07-28 北京飞天诚信科技有限公司 网上安全交易方法和系统
JP5467429B1 (ja) * 2012-11-15 2014-04-09 株式会社パレス興業 ワンタイムパッドを運用するデバイス間認証方法及びこれを用いた遊技機並びに遊技機ネットワークシステム
CN104468585A (zh) * 2014-12-12 2015-03-25 西安电子科技大学 基于代理的用户设备可信接入认证方法
CN107483388A (zh) * 2016-06-08 2017-12-15 深圳市斑点猫信息技术有限公司 一种安全通信方法及其终端和云端
CN106506529A (zh) * 2016-12-06 2017-03-15 上海众人网络安全技术有限公司 一种双向认证方法及系统
CN108512846A (zh) * 2018-03-30 2018-09-07 北京邮电大学 一种终端与服务器之间的双向认证方法和装置
CN108494811A (zh) * 2018-06-27 2018-09-04 深圳市思迪信息技术股份有限公司 数据传输安全认证方法及装置
CN112257086A (zh) * 2020-10-23 2021-01-22 华云数据控股集团有限公司 一种用户隐私数据保护方法及电子设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174062A (zh) * 2022-06-30 2022-10-11 中国联合网络通信集团有限公司 云服务认证方法、装置、设备及存储介质
CN115174062B (zh) * 2022-06-30 2024-04-09 中国联合网络通信集团有限公司 云服务认证方法、装置、设备及存储介质
CN115022099A (zh) * 2022-08-09 2022-09-06 北京华云安软件有限公司 基于udp传输协议的身份认证方法和系统

Similar Documents

Publication Publication Date Title
US11757662B2 (en) Confidential authentication and provisioning
CN109088889B (zh) 一种ssl加解密方法、系统及计算机可读存储介质
RU2307391C2 (ru) Способы дистанционного изменения пароля связи
CN103124269B (zh) 云环境下基于动态口令与生物特征的双向身份认证方法
US7975139B2 (en) Use and generation of a session key in a secure socket layer connection
EP2737656B1 (en) Credential validation
EP3972293B1 (en) Bluetooth device connection methods and bluetooth devices
CN109688098B (zh) 数据的安全通信方法、装置、设备及计算机可读存储介质
US20110179478A1 (en) Method for secure transmission of sensitive data utilizing network communications and for one time passcode and multi-factor authentication
CN112989426B (zh) 授权认证方法及装置、资源访问令牌的获取方法
CN109716725B (zh) 数据安全系统及其操作方法和计算机可读存储介质
CN113411187B (zh) 身份认证方法和系统、存储介质及处理器
WO2023174038A9 (zh) 数据传输方法及相关设备
CN114070568A (zh) 数据处理方法、装置、电子设备和存储介质
Priya et al. Secure Key Management Based Mobile Authentication in Cloud.
CN114139176A (zh) 一种基于国密的工业互联网核心数据的保护方法及系统
CN117336092A (zh) 一种客户端登录方法、装置、电子设备和存储介质
KR20130007097A (ko) 스마트폰 서비스의 보안 시스템 및 보안 방법
CN115022057A (zh) 安全认证方法、装置和设备及存储介质
CN112788061B (zh) 认证方法、装置、设备、存储介质及程序产品
CN116389168B (zh) 一种身份认证方法和装置
JP2018207287A (ja) 認証システム、サービス提供サーバ、認証サーバ、及びプログラム
Guo et al. 2FA Communication Protocol to Secure Metro Control Devices
Li et al. Mobile Security Payment Solution Based on Encrypted SMS Verification Code
KR101737925B1 (ko) 도전-응답 기반의 사용자 인증 방법 및 시스템

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