CN117040821A - 登录态生成和验证的方法、电子设备及介质 - Google Patents

登录态生成和验证的方法、电子设备及介质 Download PDF

Info

Publication number
CN117040821A
CN117040821A CN202310966976.3A CN202310966976A CN117040821A CN 117040821 A CN117040821 A CN 117040821A CN 202310966976 A CN202310966976 A CN 202310966976A CN 117040821 A CN117040821 A CN 117040821A
Authority
CN
China
Prior art keywords
login
verification
identification
verified
login state
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
CN202310966976.3A
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 Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information 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 Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202310966976.3A priority Critical patent/CN117040821A/zh
Publication of CN117040821A publication Critical patent/CN117040821A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • 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
    • H04L63/0442Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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
    • 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/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • 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/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

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)
  • Power Engineering (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开涉及一种登录态生成和验证的方法、电子设备及介质,应用于终端设备的登录态验证的方法,包括:对当前登录态对应的登录标识密文进行解析处理,得到会话标识和会话过期时间;基于会话过期时间,确定会话标识是否有效;在会话标识有效的情况下,向服务端发起登录态验证请求,上述登录态验证请求携带有加密信息,上述加密信息是由静态内容和动态内容进行加密后得到;上述静态内容包括:上述会话标识和与上述会话标识对应的登录设备标识密文;上述动态内容包括以下至少一种:发起登录态验证请求时对应的时间戳、根据服务端下发的动态加密算法生成的随机结果;接收上述服务端反馈的登录态验证结果。能够提升对用户登录态的安全保护力度。

Description

登录态生成和验证的方法、电子设备及介质
技术领域
本公开涉及网络安全技术领域,尤其涉及一种登录态生成和验证的方法、电子设备及介质。
背景技术
随着互联网应用的种类越来越多以及用户的爆炸式增加,对于用户数据以及用户登录状态的安全性要求也越来越高。随着网络攻击或者身份窃取形式越来越多样,很多用户在浏览器或者应用(APP)登录个人账号后忘记及时退出或者被恶意攻击窃取信息后,可能会面临较大的个人数据泄露,甚至导致个人财产损失。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下技术问题:相关技术中进行用户登录状态的管理时,大多是在用户登录成功后,将用户登录账号进行加密后写入至终端设备的缓存cookie(小型文本文件,客户端为了记录用户登录身份的一种缓存)中;然而,攻击者能够通过木马程序获取到cookie中的信息并拷贝到攻击者的浏览器中,造成用户身份被盗用的问题;这种方式安全性较低而且容易被攻击者攻破,防御性较差。此外,随着攻击技术的提升和攻击形式多样化,例如有的攻击是通过发送目的主机已经接收过的数据包来窃取正常用户的登录态,从而达到盗用身份的目的;因此如何提升登录态的安全性以及面对各种攻击具有较好的防御性仍然是需要解决的一大难题。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开的实施例提供了一种登录态生成和验证的方法、电子设备及介质。
第一方面,本公开的实施例提供了一种登录态验证的方法。上述登录态验证的方法应用于终端设备,包括:对当前登录态对应的登录标识密文进行解析处理,得到会话标识和会话过期时间;基于上述会话过期时间,确定上述会话标识是否有效;在上述会话标识有效的情况下,向服务端发起登录态验证请求,上述登录态验证请求携带有加密信息,上述加密信息是由静态内容和动态内容进行加密后得到;上述静态内容包括:上述会话标识和与上述会话标识对应的登录设备标识密文;上述动态内容包括以下至少一种:发起登录态验证请求时对应的时间戳、根据服务端下发的动态加密算法生成的随机结果;接收上述服务端反馈的登录态验证结果。
根据本公开的实施例,进行加密的加密算法中,从上述终端设备存储的多个随机因子中选取目标随机因子参与加密运算;其中,用于选取目标随机因子的算法是由上述服务端下发的动态选取算法。
根据本公开的实施例,在上述会话标识有效的情况下,应用于终端设备的登录态验证的方法还包括:向服务端请求获取与当前会话对应的动态加密算法和动态选取算法;其中,上述动态加密算法和上述动态选取算法中的至少一项是经过代码混淆因子进行加密处理后的前端代码形式。
根据本公开的实施例,上述登录设备标识密文是在登录态生成阶段根据登录设备标识明文、有效时间和代码混淆因子进行加密生成的;上述登录设备标识明文是根据登录设备和登录环境生成的。
根据本公开的实施例,上述登录态验证请求还携带有验证数字签名;上述验证数字签名通过以下方式生成:基于验证哈希函数对上述加密信息进行处理,得到验证报文摘要;上述验证哈希函数为进行登录态验证在终端设备和服务端约定共同使用的哈希函数;对上述验证报文摘要进行加密,得到上述验证数字签名。
根据本公开的实施例,上述登录态验证结果包括以下至少一种:登录态验证通过的第一登录态验证结果、登录态验证失败且需要重新登录的第二登录态验证结果、登录态验证不通过且需要进行附加认证的第三登录态验证结果、附加验证不通过且需要重新登录的第四登录态验证结果;在上述登录态验证结果为第一登录态验证结果的情况下,接收上述服务端发送的与上述会话标识对应的目标登录身份验证信息;在上述登录态验证结果为第二登录态验证结果或第四登录态验证结果的情况下,展示上述登录态验证结果并跳转至登录页面;在上述登录态验证结果为第三登录态验证结果的情况下,展示附加认证页面;并将上述附加认证页面接收到的附加认证内容发送给上述服务端。
第二方面,本公开的实施例提供了一种登录态验证的方法。上述登录态验证的方法应用于服务端,包括:接收终端设备发起的登录态验证请求,上述登录态验证请求携带有加密信息,上述加密信息是由静态内容和动态内容进行加密后得到;上述静态内容包括:目标会话标识和待验证登录设备标识密文;上述动态内容包括以下至少一种:发起登录态验证请求时对应的时间戳、根据服务端下发的动态加密算法生成的随机结果;对上述加密信息进行解密;在解密成功的情况下,对上述待验证登录设备标识密文的有效性和登录一致性进行验证;上述登录一致性用于表示登录态生成阶段的登录设备与进行登录态验证阶段的登录设备是一致的;对上述动态内容中的上述时间戳和上述随机结果中至少一项进行验证;在上述待验证登录设备标识密文和上述动态内容均验证通过的情况下,基于预先存储的会话标识与登录身份验证信息之间的关联关系,确定上述目标会话标识对应的目标登录身份验证信息;并将登录态验证通过的第一登录态验证结果和上述目标登录身份验证信息发送给上述终端设备。
根据本公开的实施例,对上述待验证登录设备标识密文的有效性和登录一致性进行验证,包括:基于预设解密算法,对上述待验证登录设备标识密文进行解密处理,得到待验证登录设备标识明文和有效时间;基于上述有效时间,对上述待验证登录设备标识密文的有效性进行验证;在上述有效性验证通过的情况下,根据预先存储的会话标识与登录设备标识明文之间的关联关系,确定登录态生成阶段与上述目标会话标识对应的目标登录设备标识明文;确定上述待验证登录设备标识明文与上述目标登录设备明文是否一致;在上述待验证登录设备标识明文与上述目标登录设备明文一致的情况下,上述待验证登录设备标识密文的登录一致性验证通过。
根据本公开的实施例,对上述时间戳进行验证,包括:将上述时间戳距离服务端的时间戳的时差与设定阈值进行对比;在上述时差低于上述设定阈值的情况下,上述时间戳验证通过;在上述时差大于上述设定阈值的情况下,上述时间戳验证不通过;对上述随机结果进行验证,包括:确定上述随机结果在预设时段内是否重复使用;在未重复使用的情况下,上述随机结果验证通过;在重复使用的情况下,上述随机结果验证不通过。
根据本公开的实施例,上述加密信息进行加密的加密算法是从上述终端设备存储的多个随机因子中选取目标随机因子参与加密运算;其中,用于选取目标随机因子的动态选取算法是由上述服务端动态下发;对上述加密信息进行解密,包括:基于预设解密算法,对上述加密信息进行解密,得到待验证随机因子;根据下发的动态选取算法和从上述终端设备获取的多个随机因子计算得到目标随机因子;确定上述待验证随机因子与上述目标随机因子是否一致;在待验证随机因子与上述目标随机因子一致的情况下,视为解密成功。
根据本公开的实施例,应用于服务端的登录态验证的方法还包括:接收终端设备发送的获取请求,上述获取请求用于获取与当前会话对应的动态加密算法和动态选取算法;将基于代码混淆因子加密处理得到的动态加密算法和动态选取算法发送给上述终端设备。
根据本公开的实施例,上述登录态验证请求还携带有验证数字签名;应用于服务端的登录态验证的方法还包括:对上述验证数字签名进行解密,得到目标报文摘要;基于验证哈希函数,对上述加密信息进行处理,得到待验证报文摘要;上述验证哈希函数为进行登录态验证在终端设备和服务端约定共同使用的哈希函数;确定上述待验证报文摘要与上述目标报文摘要是否一致;在上述待验证报文摘要与上述目标报文摘要一致的情况下,上述登录态验证请求的有效性验证通过;在上述登录态验证请求的有效性验证通过的情况下,执行以下步骤:对上述加密信息进行解密。
根据本公开的实施例,应用于服务端的登录态验证的方法还包括:在上述加密信息解密失败的情况下,向上述终端设备发送第二登录态验证结果:登录态验证失败且需要重新登录;在上述待验证登录设备标识密文和上述动态内容中一项或多项验证不通过的情况下,向上述终端设备发送第三登录态验证结果:登录态验证不通过且需要进行附加认证;对上述终端设备发送的附加认证内容进行验证;在上述附加认证内容验证不通过的情况下,向上述终端设备发送第四登录态验证结果:附加验证不通过且需要重新登录。
根据本公开的实施例,应用于服务端的登录态验证的方法还包括:在上述附加认证内容验证通过的情况下,基于预先存储的会话标识和登录身份验证信息之间的关联关系,确定上述目标会话标识对应的目标登录身份验证信息;并将登录态验证通过的第一登录态验证结果和上述目标登录身份验证信息发送给上述终端设备。
第三方面,本公开的实施例提供了一种登录态生成的方法。上述登录态生成的方法应用于终端设备,包括:获取登录身份验证信息;基于当前登录设备和当前登录环境,向设备标识服务端发起设备标识的获取请求;接收上述设备标识服务端反馈的登录设备标识密文;上述登录设备标识密文是根据登录设备标识明文、有效时间和代码混淆因子进行加密生成的;上述登录设备标识明文是根据上述当前登录设备和上述当前登录环境生成的;向服务端发起登录请求,上述登录请求携带有以下信息:上述登录身份验证信息和上述登录设备标识密文;接收上述服务端反馈的登录标识密文并存储至本地;上述登录标识密文是根据会话标识和会话过期时间生成的。
根据本公开的实施例,上述登录请求还携带有登录数字签名;上述登录数字签名通过以下方式生成:基于登录哈希函数对上述登录身份验证信息和上述登录设备标识密文进行处理,得到登录报文摘要;上述登录哈希函数为登录态生成阶段在终端设备和服务端约定共同使用的哈希函数;对上述登录报文摘要进行加密,得到上述登录数字签名。
第四方面,本公开的实施例提供了一种登录态生成的方法。上述登录态生成的方法应用于服务端,包括:接收终端设备发起的登录请求,上述登录请求携带有以下信息:登录身份验证信息和待验证登录设备标识密文;对上述登录身份验证信息和上述登录设备标识密文进行验证;在上述登录身份验证信息和上述登录设备标识密文均验证通过的情况下,根据上述登录身份验证信息生成会话标识;将上述会话标识、上述登录身份验证信息和上述登录设备标识明文之间的关联关系进行存储;根据上述会话标识和会话过期时间生成登录标识密文,并将上述登录标识密文发送给上述终端设备。
根据本公开的实施例,上述待验证登录设备标识密文是根据登录设备标识明文、有效时间和代码混淆因子进行加密生成的;上述登录设备标识明文是根据登录设备和登录环境生成的;上述服务端能够调用设备标识服务端的服务,或者上述服务端集成有设备标识服务端的功能;对上述待验证登录设备标识密文进行验证,包括:基于预设解密算法,对上述待验证登录设备标识密文进行解密处理,得到登录设备标识明文和有效时间;基于上述有效时间,确定上述待验证登录设备标识密文是否有效;在上述待验证登录设备标识密文有效的情况下,基于设备标识库,确定上述登录设备标识明文是否合法;上述设备标识库包含至少一个设备标识明文,上述设备标识明文是根据前端登录设备和登录环境生成的;在上述登录设备标识明文合法的情况下,上述待验证登录设备标识密文验证通过。
根据本公开的实施例,上述登录请求还携带有登录数字签名;应用于服务端的登录态生成的方法还包括:对上述登录数字签名进行解密,得到目标登录报文摘要;基于登录哈希函数,对上述登录身份验证信息和上述待验证登录设备标识密文进行处理,得到待验证登录报文摘要;上述登录哈希函数为登录态生成阶段在终端设备和服务端约定共同使用的哈希函数;确定上述待验证登录报文摘要与上述目标登录报文摘要是否一致;在上述待验证登录报文摘要与上述目标登录报文摘要一致的情况下,上述登录请求的有效性验证通过;在上述登录请求的有效性验证通过的情况下,执行以下步骤:对上述登录身份验证信息和上述待验证登录设备标识密文进行验证。
第五方面,本公开的实施例提供了一种电子设备。上述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现如上所述的登录态验证的方法或登录态生成的方法。
第六方面,本公开的实施例提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现如上所述的登录态验证的方法或登录态生成的方法。
本公开实施例提供的一些技术方案至少具有如下优点的部分或全部:
在进行登录态验证的过程中,登录态验证请求携带的加密信息是将静态内容和动态内容进行加密后得到的信息,由于静态内容涵盖会话标识及对应的登录设备标识密文,该登录设备标识密文用于反映登录态对应的登录设备和登录环境并处于加密状态,能够对一些通过窃取终端缓存中用户账号信息而更换设备或登录环境进行攻击的行为进行防御和增加攻击难度;另外通过设置动态内容包括以下至少一种:发起登录态验证请求时对应的时间戳、根据服务端下发的动态加密算法生成的随机结果;由于时间戳、随机结果都是动态生成且唯一的,通常服务端对加密内容进行解密并对时间戳验证的过程是处于有限响应时间内的,如果针对同一个登录态,攻击者通过截获或窃取服务端的接收报文而重新向服务端发起身份验证,那么服务端会识别出重新进行登录态验证的时间戳没有更新(沿用之前的接收报文中的时间戳)而导致验证不通过;或者由于攻击者破解或者伪造的随机结果与正确的随机结果不一致而导致验证不通过,以上动态内容的验证能够提升对攻击者发送旧的接收数据包来窃取正常用户登录态的防御力度;整体上能够提升对用户登录态的安全保护力度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示意性地示出了适用于本公开实施例的登录态验证的方法和登录态生成的方法的系统架构;
图2示意性地示出了根据本公开一实施例的应用于终端设备的登录态生成的方法的流程图;
图3示意性地示出了根据本公开一实施例的应用于服务端的登录态生成的方法的流程图;
图4示意性地示出了根据本公开一实施例的终端设备、服务端和设备标识服务端执行登录态生成的方法的时序交互图;
图5示意性地示出了根据本公开一实施例的应用于终端设备的登录态验证的方法的流程图;
图6示意性地示出了根据本公开一实施例的应用于服务端的登录态验证的方法的流程图;
图7示意性地示出了根据本公开一实施例的终端设备、服务端和设备标识服务端执行登录态验证的方法的时序交互图;
图8示意性地示出了根据本公开一实施例的登录态生成和登录态验证两个阶段对应的核心逻辑示意图;
图9示意性地示出了本公开实施例提供的电子设备的结构框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
图1示意性地示出了适用于本公开实施例的登录态验证的方法和登录态生成的方法的系统架构。
参照图1所示,适用于本公开实施例的登录态验证的方法和登录态生成的方法的系统架构100包括:终端设备110,网络102和服务端120。网络102是用于在终端设备110和服务端120之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备110通过网络102与服务端120交互,以接收或发送消息等。终端设备110上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、视频播放类应用、短视频类应用、资讯类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备110可以是具有显示屏的各种电子设备,该电子设备包括但不限于智能手机111、平板电脑112、笔记本电脑113、智能手环、智能手表、智能机器人、台式计算机、智能汽车等。
服务端120可以是提供各种服务的应用服务器或服务集群,例如对用户利用终端设备110登录并使用应用或浏览器提供服务支持的后台管理服务端(仅为示例)。后台管理服务端可以对接收到的登录请求或者登录态验证请求进行分析和处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
在一些实施例中,上述服务端120可以集成有多个服务,或者能够对登录态生成阶段和登录态验证阶段所需要的服务进行调用;终端设备110可以调用设备标识服务端提供的服务来获取用于表示登录设备和登录环境的唯一性的登录设备标识密文;上述设备标识服务端的接口或服务能够被服务端120所调用,或者上述设备标识服务端对应的服务集成于上述服务端120。
在一些实施例中,可以通过JS代码(Web)或SDK(App)收集终端设备的特征信息,并在分析与鉴别的基础上,对每一组从终端设备采集的特征信息组合,并通过相似性算法进行相关计算,生成唯一的设备标识ID(也可以描述为设备指纹),用以标识登录态对应的终端设备和登录环境。
应该理解,图1中的终端设备、网络和服务端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务端。
本公开的实施例中,登录态是指账号登录的状态,为一串经过加密的字符串,用于识别当前用户访问应用系统时是否登录,登录的账号是哪个账号等。本公开实施例主要涉及登录态生成和登录态验证两个阶段。登录态生成阶段是用户在登录成功后生成用于表示唯一登录状态的登录标识密文(例如将登录标识密文存储在cookie中的账号标识字段下,对应作为登录态);登录态验证阶段是在登录成功并已经生成登录标识密文之后,后续业务逻辑(下订单、查看物流等)在执行过程中或者一些功能模块(例如为订单模块)需要获取登录态进行验证:对当前登录态是否有效进行查询并获取当前登录的账号。
本公开以下描述的各个实施例中,是以单一执行主体的角度进行描述的,可以理解的是,在登录态生成阶段和登录态验证阶段均是在终端设备和服务端(也包括设备标识服务端)之间进行交互的过程,对应参照多主体时序图进行理解即可。为了从执行阶段的先后进行阐述,以下先描述登录态生成的方法,然后描述登录态验证的方法。
本公开的第一个示例性实施例提供了一种登录态生成的方法。本实施例的方法可以应用于图1示例的系统架构100中的终端设备110。
图2示意性地示出了根据本公开一实施例的应用于终端设备的登录态生成的方法的流程图。图4示意性地示出了根据本公开一实施例的终端设备、服务端和设备标识服务端执行登录态生成的方法的时序交互图。
参照图2所示,应用于终端设备的登录态生成的方法,包括以下步骤:S210、S220、S230、S240和S250。
在步骤S210,获取登录身份验证信息。
上述登录身份验证信息是登录界面预先设定的一些字段,诸如账号和登录口令,账号可以是用户名、手机号、身份证号或者相关身份信息等,登录口令可以是账号密码、短信验证码、图形验证码等的一种或多种。
在一些实施场景中,例如为电子商务类应用中,用户A在终端设备E1的登录界面输入手机号12345678910和登录密码password1。相应的,在终端设备可以通过监听该登录界面的输入信息来获取对应的登录身份验证信息。
在步骤S220,基于当前登录设备和当前登录环境,向设备标识服务端发起设备标识的获取请求。
登录环境包括但不限于是:机型、浏览器、版本、网络地址(例如为(互联网协议)IP地址)等。
参照图4所示,为了清楚示意交互过程,将设备标识服务端410单独示意出来,实际上设备标识服务端410可以是集成于服务端120中的一个服务,或者作为单独的服务,能够被服务端120和终端设备110所调用。终端设备110与设备标识服务端410进行交互来获取与当前登录设备和当前登录环境所对应的设备标识(也可以描述为设备指纹,用于表示登录态下对应的设备和环境的唯一性),具体获取到的为步骤S230中描述的登录设备标识密文。
在步骤S230,接收上述设备标识服务端反馈的登录设备标识密文。
上述登录设备标识密文是根据登录设备标识明文、有效时间和代码混淆因子进行加密生成的;上述登录设备标识明文是根据上述当前登录设备和上述当前登录环境生成的。
登录设备具有唯一的标识,例如可以是出厂时的设备码,格式一般为16-32位的字符串,标识设备唯一性。登录设备标识明文是通过登录设备和登录环境进行整合计算得到的标识。
在一些场景中,设备标识服务端410具有或者能够访问设备标识库,该设备标识库包含至少一个设备标识明文,上述设备标识明文是根据前端登录设备和登录环境生成的。
参照图4所示,终端设备110接收设备标识服务端410反馈的登录设备标识密文,并将该登录设备标识密文进行存储,例如可以存储于本地缓存cookie中。
该登录设备标识密文用于反映登录态对应的登录设备和登录环境并处于加密状态,能够对一些通过窃取终端缓存中用户账号信息而更换设备或登录环境进行攻击的行为进行防御和增加攻击难度。另外通过代码混淆因子进行加密,使得前端存储的登录设备标识密文的相关代码难以被反编译和破解。上述代码混淆因子可以是对代码进行变形和加密,提升代码安全性。诸如采用:变量和方法重命名、代码混淆(将代码中的某些语句、表达式或结构进行变形)、字符串加密等方式。
登录设备标识明文是多个因素的综合效果,用于表示登录设备和登录环境的唯一性,这个唯一性的尺度是取决于服务端对于不同登录场景的安全性限制要求高低来确定的。例如,有些对于安全性要求中等的登录场景,如果用户A采用终端设备E1进行再次登录时,IP地址发生了变动,此次IP地址相较于上一次登录的IP地址处于同一个局域网,那么根据登录设备和登录环境计算得到的登录设备标识明文与标识库中已有的设备标识明文的相似度为94%,这时候对应的相似度阈值为90%,由于相似度94%大于90%,则会视为是相同的登录设备和登录环境,采用之前登录态生成的设备标识明文即可;对于安全性要求很高的登录场景,如果还是上述情况,相似度阈值例如为95%,那么在更换IP地址、更换浏览器、更换设备的情况下计算得到的相似度会低于相似度阈值,视为本次的登录设备和登录环境与之前的登录设备和环境不同,会下发一个新的登录设备标识明文。
在步骤S240,向服务端发起登录请求,上述登录请求携带有以下信息:上述登录身份验证信息和上述登录设备标识密文。
参照图4所示,终端设备110基于登录身份验证信息和上述登录设备标识密文(也可以描述为加壳的设备指纹)向服务端120发起登录请求。
之后,从服务端120一侧来看,服务端120执行步骤S310~S350,在对登录请求携带的登录身份验证信息和登录设备标识密文进行验证通过后,将根据此次登录态对应的会话标识和会话过期时间生成的登录标识密文发送给终端设备110。
在步骤S250,接收上述服务端反馈的登录标识密文并存储至本地;上述登录标识密文是根据会话标识和会话过期时间生成的。
在包含步骤S210~S250的实施例中,通过根据登录设备和登录环境生成登录设备标识明文,登录设备标识可以作为用于标识登录设备和登录环境唯一性的设备指纹,并通过在登录态生成阶段根据登录设备标识明文、有效时间和代码混淆因子进行加密生成登录设备标识密文,实现对登录设备标识的加壳处理,在登录态下发和验证过程中便于进行登录设备的一致性检测;另外通过代码混淆因子进行加密,使得前端存储的登录设备标识密文的相关代码难以被反编译和破解。
参照图4所示,在登录请求验证通过的情况下,终端设备110接收服务端120反馈的登录标识密文。
根据本公开的一些实施例,上述登录请求还携带有登录数字签名,例如参照图4中虚线框示意的部分所示。
上述登录数字签名通过以下方式生成:基于登录哈希函数对上述登录身份验证信息和上述登录设备标识密文进行处理,得到登录报文摘要;上述登录哈希函数为登录态生成阶段在终端设备和服务端约定共同使用的哈希函数;对上述登录报文摘要进行加密,得到上述登录数字签名。
例如,通过登录哈希函数Hash1()对携带有登录身份验证信息和登录设备标识密文的发送报文进行摘要计算处理,得到登录报文摘要MD1;并对登录报文摘要MD1进行加密得到登录数字签名Sg1。
本实施例中,考虑到在数据传输过程中会存在攻击者拦截数据进行篡改或者存在一些传输过程中的数据攻击,因此本实施例的方案针对发送的数据报文会采用数字签名进行保护,在服务端接收到数据报文后,可以通过数字签名来核验接收的报文是否为终端设备发送的报文,能够准确识别报文在传输过程中是否被篡改,实现对数据传输过程中可能存在数据篡改类攻击的防御。
本公开的第二个示例性实施例提供了一种登录态生成的方法。本实施例的方法可以应用于图1示例的系统架构100中的服务端120。
图3示意性地示出了根据本公开一实施例的应用于服务端的登录态生成的方法的流程图。
参照图3和图4所示,应用于服务端的登录态生成的方法,包括以下步骤:S310、S320、S330、S340和S350。
在步骤S310,接收终端设备发起的登录请求,上述登录请求携带有以下信息:登录身份验证信息和待验证登录设备标识密文。
在步骤S320,对上述登录身份验证信息和上述登录设备标识密文进行验证。
根据本公开的实施例,上述待验证登录设备标识密文是根据登录设备标识明文、有效时间和代码混淆因子进行加密生成的;上述登录设备标识明文是根据登录设备和登录环境生成的。
上述服务端120能够调用设备标识服务端410的服务,或者上述服务端120集成有设备标识服务端410的功能。
在一些实施例中,上述步骤S320中,对上述待验证登录设备标识密文进行验证,包括:
基于预设解密算法,对上述待验证登录设备标识密文进行解密处理,得到登录设备标识明文和有效时间;
基于上述有效时间,确定上述待验证登录设备标识密文是否有效;
在上述待验证登录设备标识密文有效的情况下,基于设备标识库,确定上述登录设备标识明文是否合法。上述设备标识库包含至少一个设备标识明文,上述设备标识明文是根据前端登录设备和登录环境生成的;
在上述登录设备标识明文合法的情况下,上述待验证登录设备标识密文验证通过。
在一些实施例中,参照图4所示,服务端120可以通过调用设备标识服务端410的服务来对待验证登录设备标识密文进行验证,在验证通过的情况下,由设备标识服务端410返回对应的验证结果为:验证通过并返回有效的登录设备标识明文。
该实施例中,由于终端设备和服务端之间关于登录设备标识密文的加解密方式有对应的约定且对外保密,因此基于预设解密算法,服务端能够解密得到登录设备标识明文和对应的有效时间;假设前端发送的登录请求的报文被截获或者前端代码被窃取,由于待验证登录设备标识密文中是根据登录设备标识明文、有效时间和代码混淆因子进行加密生成的,前端代码难以被反编译和破解,能够有效提升登录态生成阶段的防御力度。
在一些实施例中,终端设备的登录态对应的会话过期时间大于登录设备标识密文的有效时间,例如会话过期时间为24小时(可以变化,仅作为示例),而随着应用的操作和访问场景的变化,设备标识服务端可以动态调整登录设备标识密文的有效时间,例如通常设置为有效期2小时,在登录设备频繁登录的场景下,可以调整有效时间为半小时或者5分钟,以应对攻击者对登录设备标识密文的规律进行摸索后的破解和攻击行为。
在其他实施例中,上述步骤S320还包括否定分支:在上述待验证登录设备标识密文无效的情况下,或者在上述登录设备标识明文不合法的情况下,确定上述待验证登录设备标识密文验证不通过。
在步骤S330,在上述登录身份验证信息和上述登录设备标识密文均验证通过的情况下,根据上述登录身份验证信息生成会话标识(Session ID)。
同一个账号在会话过期时间(也可以理解为会话有效时间,为了和登录设备标识密文的有效时间进行区别描述,这里描述为过期时间)内的不同时间点下对同一个应用进行不同的操作,对应产生的会话ID是同一个,除非用户退出登录。
在步骤S340,将上述会话标识、上述登录身份验证信息和上述登录设备标识明文之间的关联关系进行存储。
存储的会话标识、上述登录身份验证信息和上述登录设备标识明文这三者之间的关联关系在后续进行登录态验证的过程中会用到(例如应用于后续的步骤S630中)。例如,将登录身份验证信息{手机号:12345678910,登录密码:password1}、会话标识,例如为{session1}和登录设备标识明文,例如为{xxxxxyyyyyzzzzzr}这三者之间的关联关系存储。
在步骤S350,根据上述会话标识和会话过期时间生成登录标识密文,并将上述登录标识密文发送给上述终端设备。
在包含步骤S310~S350的实施例中,通过根据登录设备和登录环境生成登录设备标识明文,登录设备标识可以作为用于标识登录设备和登录环境唯一性的设备指纹,并通过在登录态生成阶段根据登录设备标识明文、有效时间和代码混淆因子进行加密生成登录设备标识密文,实现对登录设备标识的加壳处理,在登录态下发和验证过程中便于进行登录设备的一致性检测;另外通过代码混淆因子进行加密,使得前端存储的登录设备标识密文的相关代码难以被反编译和破解。
作为与第一个实施例中在报文中增加数字签名对应的实施例,本实施例提供对接收报文进行数字签名验证的方案。
在一些实施例中,上述登录请求还携带有登录数字签名;应用于服务端的登录态生成的方法还包括:
对上述登录数字签名进行解密,得到目标登录报文摘要;
基于登录哈希函数,对上述登录身份验证信息和上述待验证登录设备标识密文进行处理,得到待验证登录报文摘要;上述登录哈希函数为登录态生成阶段在终端设备和服务端约定共同使用的哈希函数;
确定上述待验证登录报文摘要与上述目标登录报文摘要是否一致;
在上述待验证登录报文摘要与上述目标登录报文摘要一致的情况下,上述登录请求的有效性验证通过;
在上述登录请求的有效性验证通过的情况下,执行前述步骤S320:对上述登录身份验证信息和上述待验证登录设备标识密文进行验证。
例如,在终端设备110一侧,通过登录哈希函数Hash1()对携带有登录身份验证信息和登录设备标识密文的发送报文进行摘要计算处理,得到登录报文摘要MD1;并对登录报文摘要MD1进行加密得到登录数字签名Sg1。
在服务端120一侧,接收到的报文和数字签名如果未被篡改,是原始终端设备发送的报文,则通过对登录数字签名Sg1解密后得到的目标登录报文摘要为原先的登录报文摘要MD1;通过基于登录哈希函数Hash1()对接收到的报文进行处理后得到的待验证登录报文摘要的结果也是上述登录报文摘要MD1,二者是一致的;如果报文发生了篡改,则会存在待验证登录报文摘要与上述目标登录报文摘要不一致的情况,如此能够准确识别服务端接收的报文是否在传输过程中被篡改,实现对数据传输过程中可能存在数据篡改类攻击的防御。
本公开的第三个示例性实施例提供了一种登录态验证的方法。上述登录态验证的方法可以应用于图1示例的系统架构100中的终端设备110。
图5示意性地示出了根据本公开一实施例的应用于终端设备的登录态验证的方法的流程图。图7示意性地示出了根据本公开一实施例的终端设备、服务端和设备标识服务端执行登录态验证的方法的时序交互图。图8示意性地示出了根据本公开一实施例的登录态生成和登录态验证两个阶段对应的核心逻辑示意图。
参照图5所示,本公开实施例提供的应用于终端设备的登录态验证的方法,包括以下步骤:S510、S520、S530和S540。
参照图8所示,本实施例对应于登录态验证阶段,是在用户登录成功并已经生成登录标识密文之后,后续业务逻辑(下订单、查看物流等)在执行过程中或者一些功能模块(例如为订单模块)需要获取登录态进行验证:对当前登录态是否有效进行查询并获取当前登录的账号。在这之前的阶段是登录态生成阶段,是用户在登录成功后生成用于表示唯一登录状态的登录标识密文,在图8中将登录标识密文描述为动态设备指纹,该指纹是加壳指纹,对应在服务端一侧需要进行脱壳处理。
在步骤S510,对当前登录态对应的登录标识密文进行解析处理,得到会话标识和会话过期时间。
在一些实施例中,下游系统(比如订单页)需要获取当前访问的用户账号时,进行登录态解析和验证的操作。例如,参照图7所示,可以基于终端设备110中的拦截器组件来对当前登录态在本地缓存中存储的登录标识密文(例如存储于账号标识字段)进行解析处理,得到会话标识和会话过期时间。
在步骤S520,基于上述会话过期时间,确定上述会话标识是否有效。
在一些实施例中,终端设备确定会话已经过期,即确定会话标识无效的情况下,终端设备会展示登录态已经失效的提示信息并跳转至重新登录界面;不会向服务端发送后续的登录态验证请求。
通过设置基于会话过期时间进行会话有效性判定的前端验证策略,有助于针对一些用户忘记退出登录所导致的账号被盗用的情形进行安全防御。
在步骤S530,在上述会话标识有效的情况下,向服务端发起登录态验证请求,上述登录态验证请求携带有加密信息,上述加密信息是由静态内容和动态内容进行加密后得到;上述静态内容包括:上述会话标识和与上述会话标识对应的登录设备标识密文;上述动态内容包括以下至少一种:发起登录态验证请求时对应的时间戳、根据服务端下发的动态加密算法生成的随机结果。
参照图6和图7所示,终端设备110向服务端120发起登录态验证请求。服务端120执行步骤S610~S640,并在登录态验证通过的情况下执行步骤S650,将登录态验证通过的第一登录态验证结果和与会话标识对应的目标登录身份验证信息发送给终端设备。
通过设置动态内容包括以下至少一种:发起登录态验证请求时对应的时间戳、根据服务端下发的动态加密算法生成的随机结果;由于时间戳、随机结果都是动态生成且唯一的,通常服务端对加密内容进行解密并对时间戳验证的过程是处于有限响应时间内(例如为1分钟)的,如果针对同一个登录态,攻击者通过截获或窃取服务端的接收报文而重新向服务端发起身份验证,那么服务端会识别出重新进行登录态验证的时间戳没有更新(沿用之前的接收报文中的时间戳)而导致验证不通过;或者由于攻击者破解或者伪造的随机结果与正确的随机结果不一致而导致验证不通过,以上动态内容的验证能够提升对攻击者发送旧的接收数据包来窃取正常用户登录态的防御力度。
在步骤S540,接收上述服务端反馈的登录态验证结果。
根据本公开的实施例,上述步骤S540中,登录态验证结果包括以下至少一种:登录态验证通过的第一登录态验证结果、登录态验证失败且需要重新登录的第二登录态验证结果、登录态验证不通过且需要进行附加认证的第三登录态验证结果、附加验证不通过且需要重新登录的第四登录态验证结果。
在上述登录态验证结果为第一登录态验证结果的情况下,终端设备接收上述服务端发送的与上述会话标识对应的目标登录身份验证信息。例如服务端通过会话标识Session 1查询到目标登录身份验证信息:{手机号:12345678910,登录密码:password1},将登录信息返回至下游系统,下游系统获取用户身份成功。
在上述登录态验证结果为第二登录态验证结果或第四登录态验证结果的情况下,终端设备展示上述登录态验证结果并跳转至登录页面。
在上述登录态验证结果为第三登录态验证结果的情况下,终端设备展示附加认证页面;并将上述附加认证页面接收到的附加认证内容发送给上述服务端。
在一些实施例中,结合图5~图7所示,对登录设备标识密文的有效性校验不通过,即为设备指纹有效期过期,对应为设备指纹脱壳失败,代表发起登录态验证请求携带的设备指纹非实时指纹。对登录设备标识密文的登录一致性校验不通过,说明验证阶段的设备指纹与登录阶段不一致,即生成登录态的设备和当前进行登录态验证的请求设备非同一设备。传入的时间戳距离当前服务器时间>60s(设定阈值的一种示例,取值可以变化),代表为非即时请求。传入的随机结果已在近1分钟(作为预设时段的示例,取值可以变化)内被使用过,代表为重放请求。
参照图8中实线框所示,基于上述验证策略,断定存在拷贝或重放的可能性,则服务端可以通过对下游系统返回增加附加认证(也可以描述为二次认证,例如包含短信验证码的方式)要求,以实时校验用户是否为本人,验证通过后登录服务端再通过Session ID查询到对应的账号名,返回至下游系统,下游系统获取用户身份成功。验证不通过则阻断流程进行。其中,参照图8中虚线框所示,在一些实施例中,也可以在登录界面对应的下游系统(例如为订单页)进行登录态验证过程中,通过拦截器组件和流量网关的中转,然后与服务端进行交互。
在包含步骤S510~S540的实施例中,登录态验证请求携带的加密信息是将静态内容和动态内容进行加密后得到的信息,由于静态内容涵盖会话标识及对应的登录设备标识密文,该登录设备标识密文用于反映登录态对应的登录设备和登录环境并处于加密状态,能够对一些通过窃取终端缓存中用户账号信息而更换设备或登录环境进行攻击的行为进行防御和增加攻击难度;另外通过设置动态内容包括以下至少一种:发起登录态验证请求时对应的时间戳、根据服务端下发的动态加密算法生成的随机结果;能够提升对攻击者发送旧的接收数据包来窃取正常用户登录态的防御力度;整体上能够提升对用户登录态的安全保护力度。
考虑到有的攻击是通过窃取前端身份验证相关代码来反向破解加密验证逻辑,通过大量伪造数据采用加密验证向服务端发起访问攻击。有鉴于此,在本公开的一些实施例中,进行加密的加密算法中,从上述终端设备存储的多个随机因子中选取目标随机因子参与加密运算;其中用于选取目标随机因子的算法是由上述服务端下发的动态选取算法。
例如终端设备本地存储有5个随机因子A、B、C、D和E,从中选取两个随机因子作为目标随机因子参与加密运算,动态选取算法由服务端动态下发,从服务端获取动态选取算法的时机可以是终端设备在步骤S520确定会话标识有效,则通过拦截器组件向服务端120发起获取动态选取算法的请求。
本实施例中,通过设置参与加密运算的目标随机因子的选取算法是由服务端动态下发的动态选取算法,增加了攻击者破解各次算法的难度,并且由于选取算法是动态变化的,即使攻击者费时费力破解单次算法也无法稳定模拟后续攻击,因为在后续攻击过程中加密算法已经动态变化,上一次破解的解密算法不再适用,能够有效提升破解加密验证逻辑的难度并提升防御效果,由于多个伪造数据无法盗用用户身份进行登录,因此也能够有效阻断攻击者采用大量伪造数据对服务端发起的访问攻击。
根据本公开的实施例,在上述会话标识有效的情况下,应用于终端设备的登录态验证的方法还包括:向服务端请求获取与当前会话对应的动态加密算法和动态选取算法;其中,上述动态加密算法和上述动态选取算法中的至少一项是经过代码混淆因子进行加密处理后的前端代码形式。
在本实施例中,通过设置动态加密算法和上述动态选取算法中的至少一项为经过代码混淆因子进行加密处理后的前端代码形式,使得代码难以被反编译和破解,有效提升攻击者通过获取前端代码(例如为JS代码)来破解加密验证逻辑的难度并提升防御效果。
根据本公开的实施例,上述登录设备标识密文是在登录态生成阶段根据登录设备标识明文、有效时间和代码混淆因子进行加密生成的;上述登录设备标识明文是根据登录设备和登录环境生成的。具体内容、细节和有益效果可以参照第一个实施例和第二个实施例中关于登录态生成阶段的相关描述,这里不再赘述。
考虑到在数据传输过程中会存在攻击者拦截数据进行篡改或者存在一些传输过程中的数据攻击,在登录态验证阶段也引入了数字签名的验证内容。
在一些实施例中,上述登录态验证请求还携带有验证数字签名;上述验证数字签名通过以下方式生成:基于验证哈希函数对上述加密信息进行处理,得到验证报文摘要;上述验证哈希函数为进行登录态验证在终端设备和服务端约定共同使用的哈希函数;对上述验证报文摘要进行加密,得到上述验证数字签名。
例如,对验证报文摘要进行加密的是预设私钥,后续进行验证过程中解密采用的是与预设私钥对应的公钥进行解密。
生成验证数字签名的具体过程示例可以参照第一个实施例中关于生成登录数字签名的详细描述,这里不再赘述。
本公开的第四个示例性实施例提供了一种登录态验证的方法。上述登录态验证的方法可以应用于图1示例的系统架构100中的服务端120。
图6示意性地示出了根据本公开一实施例的应用于服务端的登录态验证的方法的流程图。
参照图6所示,本公开实施例提供的应用于服务端的登录态验证的方法,包括以下步骤:S610、S620、S630、S640和S651。
在步骤S610,接收终端设备发起的登录态验证请求,上述登录态验证请求携带有加密信息,上述加密信息是由静态内容和动态内容进行加密后得到;上述静态内容包括:目标会话标识和待验证登录设备标识密文;上述动态内容包括以下至少一种:发起登录态验证请求时对应的时间戳、根据服务端下发的动态加密算法生成的随机结果。
在步骤S620,对上述加密信息进行解密。
根据本公开的实施例,上述加密信息进行加密的加密算法是从终端设备110存储的多个随机因子中选取目标随机因子参与加密运算;其中,用于选取目标随机因子的动态选取算法是由上述服务端120动态下发。
在一些实施例中,上述步骤S620中,对上述加密信息进行解密,包括:基于预设解密算法,对上述加密信息进行解密,得到待验证随机因子;根据下发的动态选取算法和从上述终端设备获取的多个随机因子计算得到目标随机因子;确定上述待验证随机因子与上述目标随机因子是否一致;在待验证随机因子与上述目标随机因子一致的情况下,视为解密成功;在待验证随机因子与目标随机因子不一致的情况下,视为解密失败。
在步骤S630,在解密成功的情况下,对上述待验证登录设备标识密文的有效性和登录一致性进行验证;上述登录一致性用于表示登录态生成阶段的登录设备与进行登录态验证阶段的登录设备是一致的。
根据本公开的实施例,上述步骤S630中,对上述待验证登录设备标识密文的有效性和登录一致性进行验证,包括:
基于预设解密算法,对上述待验证登录设备标识密文进行解密处理,得到待验证登录设备标识明文和有效时间;
基于上述有效时间,对上述待验证登录设备标识密文的有效性进行验证;
在上述有效性验证通过的情况下,根据预先存储的会话标识与登录设备标识明文之间的关联关系(这里例如是前面登录态生成阶段的步骤S340中存储的会话标识、上述登录身份验证信息和上述登录设备标识明文这三者之间的关联关系),确定登录态生成阶段与上述目标会话标识对应的目标登录设备标识明文;
确定上述待验证登录设备标识明文与上述目标登录设备明文是否一致;
在上述待验证登录设备标识明文与上述目标登录设备明文一致的情况下,上述待验证登录设备标识密文的登录一致性验证通过。
在步骤S640,对上述动态内容中的上述时间戳和上述随机结果中至少一项进行验证。
在一些实施例中,对上述时间戳进行验证,包括:将上述时间戳距离服务端的时间戳的时差与设定阈值(例如为60s)进行对比;在上述时差低于上述设定阈值的情况下,上述时间戳验证通过;在上述时差大于上述设定阈值的情况下,上述时间戳验证不通过。
在一些实施例中,对上述随机结果进行验证,包括:确定上述随机结果在预设时段(例如为60s)内是否重复使用;在未重复使用的情况下,上述随机结果验证通过;在重复使用的情况下,上述随机结果验证不通过。
在步骤S651,在上述待验证登录设备标识密文和上述动态内容均验证通过的情况下,基于预先存储的会话标识与登录身份验证信息之间的关联关系,确定上述目标会话标识对应的目标登录身份验证信息;并将登录态验证通过的第一登录态验证结果和上述目标登录身份验证信息发送给上述终端设备。
存储的关联关系可以参照第二个实施例中步骤S340的描述,这里不再赘述。
参照图7所示,根据本公开的实施例,应用于服务端的登录态验证的方法还包括以下步骤S652、S653和S654。
在步骤S652,在上述加密信息解密失败的情况下,向上述终端设备发送第二登录态验证结果:登录态验证失败且需要重新登录。
在步骤S653,在上述待验证登录设备标识密文和上述动态内容中一项或多项验证不通过的情况下,向上述终端设备发送第三登录态验证结果:登录态验证不通过且需要进行附加认证。
在步骤S654,对上述终端设备发送的附加认证内容进行验证;在上述附加认证内容验证不通过的情况下,向上述终端设备发送第四登录态验证结果:附加验证不通过且需要重新登录。
根据本公开的实施例,参照图7所示,应用于服务端的登录态验证的方法还包括以下步骤S655,在上述附加认证内容验证通过的情况下,基于预先存储的会话标识和登录身份验证信息之间的关联关系,确定上述目标会话标识对应的目标登录身份验证信息;并将登录态验证通过的第一登录态验证结果和上述目标登录身份验证信息发送给上述终端设备。
根据本公开的实施例,参照图7所示,应用于服务端120的登录态验证的方法还包括步骤S710,下发动态加密算法和动态选取算法。具体包括:接收终端设备110发送的获取请求,上述获取请求用于获取与当前会话对应的动态加密算法和动态选取算法;将基于代码混淆因子加密处理得到的动态加密算法和动态选取算法发送给上述终端设备110。
根据本公开的实施例,上述登录态验证请求还携带有验证数字签名;应用于服务端的登录态验证的方法还包括:对上述验证数字签名进行解密,得到目标报文摘要;基于验证哈希函数,对上述加密信息进行处理,得到待验证报文摘要;上述验证哈希函数为进行登录态验证在终端设备和服务端约定共同使用的哈希函数;确定上述待验证报文摘要与上述目标报文摘要是否一致;在上述待验证报文摘要与上述目标报文摘要一致的情况下,上述登录态验证请求的有效性验证通过;在上述登录态验证请求的有效性验证通过的情况下,执行以下步骤:对上述加密信息进行解密。
对验证数字签名进行校验的具体过程示例可以参照第二个实施例中关于登录数字签名验证过程的详细描述,这里不再赘述。
本公开的第五个示例性实施例提供了一种电子设备。
图9示意性示出了本公开实施例提供的电子设备的结构框图。
参照图9所示,本公开实施例提供的电子设备900包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901、通信接口902和存储器903通过通信总线904完成相互间的通信;存储器903,用于存放计算机程序;处理器901,用于执行存储器上所存放的程序时,实现如上所述的登录态生成的方法或登录态验证的方法。
上述电子设备可以是终端设备,也可以是服务端;上述电子设备可以包括用于实现上述第一个实施例~第四个实施例提供的方法的各个步骤或子步骤所对应的功能模块或子模块。
本公开的第六个示例性实施例还提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现如上所述的登录态生成的方法或登录态验证的方法。
该计算机可读存储介质可以是上述实施例中描述的设备/装置中所包含的;也可以是单独存在,而未装配入该设备/装置中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
需要说明的是,本公开实施例提供的技术方案中,所涉及的用户个人信息的采集、收集、更新、分析、处理、使用、传输、存储等方面,均符合相关法律法规的规定,被用于合法的用途,且不违背公序良俗。对用户个人信息采取必要措施,防止对用户个人信息数据的非法访问,维护用户个人信息安全、网络安全和国家安全。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (21)

1.一种登录态验证的方法,其特征在于,应用于终端设备,所述方法包括:
对当前登录态对应的登录标识密文进行解析处理,得到会话标识和会话过期时间;
基于所述会话过期时间,确定所述会话标识是否有效;
在所述会话标识有效的情况下,向服务端发起登录态验证请求,所述登录态验证请求携带有加密信息,所述加密信息是由静态内容和动态内容进行加密后得到;所述静态内容包括:所述会话标识和与所述会话标识对应的登录设备标识密文;所述动态内容包括以下至少一种:发起登录态验证请求时对应的时间戳、根据服务端下发的动态加密算法生成的随机结果;
接收所述服务端反馈的登录态验证结果。
2.根据权利要求1所述的方法,其特征在于,进行加密的加密算法中,从所述终端设备存储的多个随机因子中选取目标随机因子参与加密运算;其中,用于选取目标随机因子的算法是由所述服务端下发的动态选取算法。
3.根据权利要求2所述的方法,其特征在于,在所述会话标识有效的情况下,所述方法还包括:
向服务端请求获取与当前会话对应的动态加密算法和动态选取算法;
其中,所述动态加密算法和所述动态选取算法中的至少一项是经过代码混淆因子进行加密处理后的前端代码形式。
4.根据权利要求1所述的方法,其特征在于,所述登录设备标识密文是在登录态生成阶段根据登录设备标识明文、有效时间和代码混淆因子进行加密生成的;所述登录设备标识明文是根据登录设备和登录环境生成的。
5.根据权利要求1所述的方法,其特征在于,所述登录态验证请求还携带有验证数字签名;
所述验证数字签名通过以下方式生成:
基于验证哈希函数对所述加密信息进行处理,得到验证报文摘要;所述验证哈希函数为进行登录态验证在终端设备和服务端约定共同使用的哈希函数;
对所述验证报文摘要进行加密,得到所述验证数字签名。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述登录态验证结果包括以下至少一种:登录态验证通过的第一登录态验证结果、登录态验证失败且需要重新登录的第二登录态验证结果、登录态验证不通过且需要进行附加认证的第三登录态验证结果、附加验证不通过且需要重新登录的第四登录态验证结果;
在所述登录态验证结果为第一登录态验证结果的情况下,接收所述服务端发送的与所述会话标识对应的目标登录身份验证信息;
在所述登录态验证结果为第二登录态验证结果或第四登录态验证结果的情况下,展示所述登录态验证结果并跳转至登录页面;
在所述登录态验证结果为第三登录态验证结果的情况下,展示附加认证页面;并将所述附加认证页面接收到的附加认证内容发送给所述服务端。
7.一种登录态验证的方法,其特征在于,应用于服务端,所述方法包括:
接收终端设备发起的登录态验证请求,所述登录态验证请求携带有加密信息,所述加密信息是由静态内容和动态内容进行加密后得到;所述静态内容包括:目标会话标识和待验证登录设备标识密文;所述动态内容包括以下至少一种:发起登录态验证请求时对应的时间戳、根据服务端下发的动态加密算法生成的随机结果;
对所述加密信息进行解密;
在解密成功的情况下,对所述待验证登录设备标识密文的有效性和登录一致性进行验证;所述登录一致性用于表示登录态生成阶段的登录设备与进行登录态验证阶段的登录设备是一致的;
对所述动态内容中的所述时间戳和所述随机结果中至少一项进行验证;
在所述待验证登录设备标识密文和所述动态内容均验证通过的情况下,基于预先存储的会话标识与登录身份验证信息之间的关联关系,确定所述目标会话标识对应的目标登录身份验证信息;并将登录态验证通过的第一登录态验证结果和所述目标登录身份验证信息发送给所述终端设备。
8.根据权利要求7所述的方法,其特征在于,对所述待验证登录设备标识密文的有效性和登录一致性进行验证,包括:
基于预设解密算法,对所述待验证登录设备标识密文进行解密处理,得到待验证登录设备标识明文和有效时间;
基于所述有效时间,对所述待验证登录设备标识密文的有效性进行验证;
在所述有效性验证通过的情况下,根据预先存储的会话标识与登录设备标识明文之间的关联关系,确定登录态生成阶段与所述目标会话标识对应的目标登录设备标识明文;
确定所述待验证登录设备标识明文与所述目标登录设备明文是否一致;
在所述待验证登录设备标识明文与所述目标登录设备明文一致的情况下,所述待验证登录设备标识密文的登录一致性验证通过。
9.根据权利要求7所述的方法,其特征在于,
对所述时间戳进行验证,包括:将所述时间戳距离服务端的时间戳的时差与设定阈值进行对比;在所述时差低于所述设定阈值的情况下,所述时间戳验证通过;在所述时差大于所述设定阈值的情况下,所述时间戳验证不通过;
对所述随机结果进行验证,包括:确定所述随机结果在预设时段内是否重复使用;在未重复使用的情况下,所述随机结果验证通过;在重复使用的情况下,所述随机结果验证不通过。
10.根据权利要求7所述的方法,其特征在于,所述加密信息进行加密的加密算法是从所述终端设备存储的多个随机因子中选取目标随机因子参与加密运算;其中,用于选取目标随机因子的动态选取算法是由所述服务端动态下发;
对所述加密信息进行解密,包括:
基于预设解密算法,对所述加密信息进行解密,得到待验证随机因子;
根据下发的动态选取算法和从所述终端设备获取的多个随机因子计算得到目标随机因子;
确定所述待验证随机因子与所述目标随机因子是否一致;
在待验证随机因子与所述目标随机因子一致的情况下,视为解密成功。
11.根据权利要求7所述的方法,其特征在于,还包括:
接收终端设备发送的获取请求,所述获取请求用于获取与当前会话对应的动态加密算法和动态选取算法;
将基于代码混淆因子加密处理得到的动态加密算法和动态选取算法发送给所述终端设备。
12.根据权利要求7所述的方法,其特征在于,所述登录态验证请求还携带有验证数字签名;
所述方法还包括:
对所述验证数字签名进行解密,得到目标报文摘要;
基于验证哈希函数,对所述加密信息进行处理,得到待验证报文摘要;所述验证哈希函数为进行登录态验证在终端设备和服务端约定共同使用的哈希函数;
确定所述待验证报文摘要与所述目标报文摘要是否一致;
在所述待验证报文摘要与所述目标报文摘要一致的情况下,所述登录态验证请求的有效性验证通过;
在所述登录态验证请求的有效性验证通过的情况下,执行以下步骤:对所述加密信息进行解密。
13.根据权利要求7所述的方法,其特征在于,还包括:
在所述加密信息解密失败的情况下,向所述终端设备发送第二登录态验证结果:登录态验证失败且需要重新登录;
在所述待验证登录设备标识密文和所述动态内容中一项或多项验证不通过的情况下,向所述终端设备发送第三登录态验证结果:登录态验证不通过且需要进行附加认证;
对所述终端设备发送的附加认证内容进行验证;
在所述附加认证内容验证不通过的情况下,向所述终端设备发送第四登录态验证结果:附加验证不通过且需要重新登录。
14.根据权利要求13所述的方法,其特征在于,还包括:
在所述附加认证内容验证通过的情况下,基于预先存储的会话标识和登录身份验证信息之间的关联关系,确定所述目标会话标识对应的目标登录身份验证信息;并将登录态验证通过的第一登录态验证结果和所述目标登录身份验证信息发送给所述终端设备。
15.一种登录态生成的方法,其特征在于,应用于终端设备,所述方法包括:
获取登录身份验证信息;
基于当前登录设备和当前登录环境,向设备标识服务端发起设备标识的获取请求;
接收所述设备标识服务端反馈的登录设备标识密文;所述登录设备标识密文是根据登录设备标识明文、有效时间和代码混淆因子进行加密生成的;所述登录设备标识明文是根据所述当前登录设备和所述当前登录环境生成的;
向服务端发起登录请求,所述登录请求携带有以下信息:所述登录身份验证信息和所述登录设备标识密文;
接收所述服务端反馈的登录标识密文并存储至本地;所述登录标识密文是根据会话标识和会话过期时间生成的。
16.根据权利要求15所述的方法,其特征在于,所述登录请求还携带有登录数字签名;
所述登录数字签名通过以下方式生成:
基于登录哈希函数对所述登录身份验证信息和所述登录设备标识密文进行处理,得到登录报文摘要;所述登录哈希函数为登录态生成阶段在终端设备和服务端约定共同使用的哈希函数;
对所述登录报文摘要进行加密,得到所述登录数字签名。
17.一种登录态生成的方法,其特征在于,应用于服务端,所述方法包括:
接收终端设备发起的登录请求,所述登录请求携带有以下信息:登录身份验证信息和待验证登录设备标识密文;
对所述登录身份验证信息和所述登录设备标识密文进行验证;
在所述登录身份验证信息和所述登录设备标识密文均验证通过的情况下,根据所述登录身份验证信息生成会话标识;
将所述会话标识、所述登录身份验证信息和所述登录设备标识明文之间的关联关系进行存储;
根据所述会话标识和会话过期时间生成登录标识密文,并将所述登录标识密文发送给所述终端设备。
18.根据权利要求17所述的方法,其特征在于,所述待验证登录设备标识密文是根据登录设备标识明文、有效时间和代码混淆因子进行加密生成的;所述登录设备标识明文是根据登录设备和登录环境生成的;所述服务端能够调用设备标识服务端的服务,或者所述服务端集成有设备标识服务端的功能;
对所述待验证登录设备标识密文进行验证,包括:
基于预设解密算法,对所述待验证登录设备标识密文进行解密处理,得到登录设备标识明文和有效时间;
基于所述有效时间,确定所述待验证登录设备标识密文是否有效;
在所述待验证登录设备标识密文有效的情况下,基于设备标识库,确定所述登录设备标识明文是否合法;所述设备标识库包含至少一个设备标识明文,所述设备标识明文是根据前端登录设备和登录环境生成的;
在所述登录设备标识明文合法的情况下,所述待验证登录设备标识密文验证通过。
19.根据权利要求17所述的方法,其特征在于,所述登录请求还携带有登录数字签名;
所述方法还包括:
对所述登录数字签名进行解密,得到目标登录报文摘要;
基于登录哈希函数,对所述登录身份验证信息和所述待验证登录设备标识密文进行处理,得到待验证登录报文摘要;所述登录哈希函数为登录态生成阶段在终端设备和服务端约定共同使用的哈希函数;
确定所述待验证登录报文摘要与所述目标登录报文摘要是否一致;
在所述待验证登录报文摘要与所述目标登录报文摘要一致的情况下,所述登录请求的有效性验证通过;
在所述登录请求的有效性验证通过的情况下,执行以下步骤:对所述登录身份验证信息和所述待验证登录设备标识密文进行验证。
20.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-19中任一项所述的方法。
21.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-19中任一项所述的方法。
CN202310966976.3A 2023-08-02 2023-08-02 登录态生成和验证的方法、电子设备及介质 Pending CN117040821A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310966976.3A CN117040821A (zh) 2023-08-02 2023-08-02 登录态生成和验证的方法、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310966976.3A CN117040821A (zh) 2023-08-02 2023-08-02 登录态生成和验证的方法、电子设备及介质

Publications (1)

Publication Number Publication Date
CN117040821A true CN117040821A (zh) 2023-11-10

Family

ID=88623768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310966976.3A Pending CN117040821A (zh) 2023-08-02 2023-08-02 登录态生成和验证的方法、电子设备及介质

Country Status (1)

Country Link
CN (1) CN117040821A (zh)

Similar Documents

Publication Publication Date Title
US10516662B2 (en) System and method for authenticating the legitimacy of a request for a resource by a user
CN111429254B (zh) 一种业务数据处理方法、设备以及可读存储介质
CN110691087B (zh) 一种访问控制方法、装置、服务器及存储介质
US11757641B2 (en) Decentralized data authentication
CN112333198B (zh) 安全跨域登录方法、系统及服务器
US20220394026A1 (en) Network identity protection method and device, and electronic equipment and storage medium
CN110011958B (zh) 信息加密方法、装置、计算机设备及存储介质
CN112000951B (zh) 一种访问方法、装置、系统、电子设备及存储介质
US20110283174A1 (en) Optimizing Security Seals on Web Pages
CN110958239B (zh) 访问请求的校验方法和装置、存储介质及电子装置
CN106911684B (zh) 一种鉴权方法及系统
CN112131564A (zh) 加密数据通信方法、装置、设备以及介质
CN112448930A (zh) 账号注册方法、装置、服务器及计算机可读存储介质
CN108900595B (zh) 访问云存储服务器数据的方法、装置、设备及计算介质
CN112702419B (zh) 基于区块链的数据处理方法、装置、设备和存储介质
CN111901124B (zh) 一种通信安全防护方法、装置及电子设备
CN109495458A (zh) 一种数据传输的方法、系统及相关组件
KR101495914B1 (ko) 인터넷뱅킹 서비스 제공 시스템 및 방법
CN110034922B (zh) 请求处理方法、处理装置以及请求验证方法、验证装置
CN112953720A (zh) 一种网络请求处理方法、装置、设备及存储介质
US20230244797A1 (en) Data processing method and apparatus, electronic device, and medium
CN117155716A (zh) 访问校验方法和装置、存储介质及电子设备
CN115459929A (zh) 安全验证方法、装置、电子设备、系统、介质和产品
CN117040821A (zh) 登录态生成和验证的方法、电子设备及介质
Hagalisletto et al. Using the mobile phone in two-factor authentication

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