CN116668190A - 一种基于浏览器指纹的跨域单点登录方法及系统 - Google Patents

一种基于浏览器指纹的跨域单点登录方法及系统 Download PDF

Info

Publication number
CN116668190A
CN116668190A CN202310900116.XA CN202310900116A CN116668190A CN 116668190 A CN116668190 A CN 116668190A CN 202310900116 A CN202310900116 A CN 202310900116A CN 116668190 A CN116668190 A CN 116668190A
Authority
CN
China
Prior art keywords
authentication
user
browser
client
cross
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
CN202310900116.XA
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.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
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 Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202310900116.XA priority Critical patent/CN116668190A/zh
Publication of CN116668190A publication Critical patent/CN116668190A/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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • 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/0435Network 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 symmetric encryption, i.e. same key used 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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
    • 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/321Cryptographic 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 a third party or a trusted authority
    • H04L9/3213Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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
    • 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)
  • Collating Specific Patterns (AREA)

Abstract

本发明公开了一种基于浏览器指纹的跨域单点登录方法及系统,属于网络安全和用户认证领域,其中,跨域单点登录方法包括:在客户端生成浏览器指纹并加密;用户输入凭据;发送指纹与凭据至认证服务器;认证服务器验证用户凭据;风险监控;认证状态管理服务器根据加密指纹查询用户登录状态等。跨域单点登录方法包括客户端、认证服务器、认证状态管理服务器、双因素认证模块和风险监控模块。通过本发明,解决了同应用多个跨域子系统间频繁登录的问题,大幅提高用户体验,同时确保登录过程的安全性。

Description

一种基于浏览器指纹的跨域单点登录方法及系统
技术领域
本发明属于网络安全和用户认证领域,尤其是涉及一种基于浏览器指纹的跨域单点登录方法及系统。
背景技术
随着互联网技术的发展,企业或组织往往需要部署多个服务或子系统共同服务于主业务,这些服务或子系统可能位于不同的域名下。然而,浏览器的同源策略限制了不同域名间的用户登录信息(例如,Cookie) 共享,导致用户在访问不同域名下的子系统时需要频繁地登录。这种情况给用户带来了很大的不便,并可能导致用户体验下降,还会导致安全隐患。
为了解决这个问题,跨域单点登录(Cross-Domain Single Sign-On,SSO)技术应运而生,跨域单点登录是一种让用户在单浏览器同应用多个跨域子系统中只需登录一次就能访问其他子系统的身份验证机制。在这种机制中,用户的身份信息和登录状态由一个中心认证状态管理服务器进行管理,以便在多个域名下共享用户信息和登录状态。
如公开号为CN114430340A的中国专利文献公开了一种跨域单点登录方法,包括:接收用户的登录请求;向认证系统发送查询所述用户登录状态的ajax请求,所述ajax请求用于提取所述用户的身份认证信息;若所述用户登录状态为已登录,获取所述认证系统基于所述身份认证信息反馈的身份验证令牌;基于所述身份验证令牌对所述用户进行身份认证;若身份认证通过,则允许所述用户登录。
公开号为CN1812403A的中国专利文献公开了一种跨管理域实现身份认证的单点登录方法,用户登录公共认证中心网站和输入身份认证信息后,由公共认证中心生成一个表示该用户身份的令牌,并对令牌进行加密,以使只有公共认证中心才能解密读取该令牌;再将该令牌写入用户浏览器中的临时文本文件cookie中。以后,用户访问其它管理域网站时,由该网站的认证系统将用户浏览器重定向至公共认证中心,由公共认证中心识别该用户身份后,再将用户浏览器重定向回到该管理域的认证系统,同时将该用户身份信息传递给该管理域的认证系统进行确认,实现单点登录。
传统的单点登录技术如OAuth2.0和OpenID Connect通常依赖于第三方认证机构来实现身份验证和授权。然而,在实现跨域单点登录时,这些协议可能导致配置复杂性和维护困难等问题。因此,有必要寻求一种简化的跨域单点登录方法,在保证安全性的前提下,以提高易用性和降低维护成本。
发明内容
本发明提供了一种基于浏览器指纹的跨域单点登录方法及系统,简化了认证过程,解决了跨域单点登录时配置复杂和维护困难的问题。
一种基于浏览器指纹的跨域单点登录方法,包括:
(1)客户端在页面加载时生成浏览器指纹,浏览器指纹包含设备信息、操作系统信息和浏览器信息;
(2)将浏览器指纹进行加密,加密过程中生成一个时间戳与浏览器指纹相结合;
(3)用户在客户端的登录页面进行双因素认证;
(4)客户端将加密后的浏览器指纹、时间戳、双因素认证信息打包,加密后发送到认证服务器进行登陆请求;
(5)认证服务器解密并验证登录请求,并通过风险监控服务评估登录请求的风险等级;
(6)认证服务器为经过验证和评估的登录请求生成访问令牌和刷新令牌,并发送给客户端;
(7)认证服务器将加密后的浏览器指纹、时间戳和用户登录状态信息发送给认证状态管理服务器;
(8)当客户端访问其他需单点登录的跨域子系统时,将加密后的浏览器指纹和时间戳发送给认证状态管理服务器进行验证,验证通过后查询用户的登录状态,允许或拒绝客户端访问其他跨域子系统。
步骤(1)中,浏览器指纹允许在不同域名之间进行识别,不同域名在相同浏览器环境生成相同浏览器指纹,从而实现跨域功能。
步骤(2)和步骤(4)中,使用双向加密算法AES进行加密。
步骤(3)中,所述的双因素认证包含第一身份验证信息和第二身份验证信息,其中,第一身份验证信息包含用户名和密码,第二身份验证信息包含短信验证码。
步骤(5)中,通过风险监控服务评估登录请求的风险等级具体为:
将用户行为、登录地点、设备信息数据交予风险监控服务评估登录请求的风险等级,根据评估结果,认证服务器要求用户提供更多的身份验证信息,或者直接拒绝请求。
步骤(6)中,所述的访问令牌用于表示用户已通过身份验证,在跨域环境中访问其他需要单点登录的子系统时无需重新登录;访问令牌包含用户身份信息、客户端信息以及有效期。
所述的刷新令牌用于在访问令牌过期时,自动获取新的访问令牌,而无需用户重新登录;
当客户端检测到访问令牌即将过期或已过期时,客户端使用刷新令牌向认证服务器请求新的访问令牌;认证服务器收到刷新令牌请求后,验证刷新令牌的有效性,如果刷新令牌有效,认证服务器将生成新的访问令牌并将其发送给客户端。
步骤(6)中,所述的访问令牌和刷新令牌均采用加密技术进行加密,其中,访问令牌的有效期设置为1~3小时,刷新令牌的有效期设置为5~10天。
步骤(8)中,验证通过后查询用户的登录状态,允许或拒绝客户端访问其他跨域子系统具体为:
若用户已登录且登录状态有效,认证状态管理服务器允许客户端访问其他需要单点登录的跨域子系统,从而实现跨域单点登录;若用户未登录或登录状态失效,认证状态管理服务器通知客户端重新进行登录操作。
一种基于浏览器指纹的跨域单点登录系统,包括:
客户端,用于生成和管理浏览器指纹,结合生成的时间戳进行加密,在用户进行身份认证操作后向认证服务器发送登录请求,接收和存储认证服务器发送的访问令牌、刷新令牌,实施双因素认证。当访问令牌即将过期或已过期时,客户端需使用刷新令牌向认证服务器请求新的访问令牌。同时,客户端还需要实现双因素认证的相关操作,这包括收集用户提供的第二个身份验证因素并将其发送给认证服务器进行验证。
认证服务器,用于验证和评估客户端发送的登录请求,对于有效的登录请求,生成访问令牌和刷新令牌发送给客户端。同时,认证服务器将加密后的浏览器指纹、时间戳和用户登录状态信息发送给认证状态管理服务器,以实现单点登录功能,确保在不同域之间共享用户的登录状态信息。
认证状态管理服务器,用于存储和管理用户的登录状态信息,验证加密后的浏览器指纹和时间戳,查询用户登录状态,根据查询结果允许或拒绝访问其他需要单点登录的跨域子系统。当客户端访问其他需要单点登录的应用子系统时,认证状态管理服务器 会根据收到的加密后的浏览器指纹进行验证,查询用户的登录状态,确保用户不会二次登录,从而实现单点登录功能。双因素认证模块,用于在客户端中进行身份认证时采用两种方式的身份信息验证。用户登录时,除了用户名和密码外,还需要提供第二个身份验证因素(包括短信验证码),进一步确保用户身份的安全性。
风险监控模块,用于检测潜在的恶意行为和安全威胁,根据用户行为、登录地点、设备信息评估登录请求的风险等级,根据风险等级,决定是否要求用户提供额外的身份验证信息或直接拒绝请求。
与现有技术相比,本发明具有以下有益效果:
本发明有效地实现了用户跨多个应用子系统的便捷登录体验。在此过程中,本发明采用了将浏览器指纹与时间戳结合并定期刷新、双向加密、双因素认证和风险监控等安全措施,将最先进的安全措施与现代Web技术相结合,最大程度地保护了用户的隐私和数据安全,为用户提供了一个易用的解决方案,使用户在同一应用多个跨域应用子系统间实现一次登录,即可访问所有子系统。
附图说明
图1为本发明实施例提供的一种基于浏览器指纹的跨域单点登录方法流程图;
图2为本发明实施例中认证服务器验证过程的流程图;
图3为本发明实施例中访问令牌和刷新令牌的生成使用流程图;
图4为本发明实施例提供的一种基于浏览器指纹的跨域单点登录系统的结构框图;
图5为图4对应的跨域单点登录系统详细架构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,下述的实施例及实施方式中的特征可以相互组合。
如图1所示,一种基于浏览器指纹的跨域单点登录方法,具体包括以下步骤:
步骤1、 在客户端,在页面加载时自动生成浏览器指纹 。生成的浏览器指纹应包括设备信息、操作系统信息、浏览器信息等,以便更准确地识别用户的设备。该浏览器指纹允许在不同域名之间进行识别,不同域名在相同浏览器环境生成相同浏览器指纹,从而实现跨域功能。
浏览器指纹是任何浏览器都具有的特征标识,包括屏幕分辨率、硬件类型、操作系统、用户代理(User agent)、语言、时区差等众多信息,除此之外还包括浏览器的唯一id,通过浏览器指纹,进行鉴权操作,辨别是否是同一用户,其是否有更换设备(更换浏览器)等。
步骤2、客户端将生成的浏览器指纹使用双向加密算法(AES)进行加密,以确保用户隐私不被泄露。加密过程中,客户端还需要生成一个时间戳,并将其与浏览器指纹组合后进行加密。这一步骤的目的是确保浏览器指纹在每次登录过程中都有所不同,从而提高安全性。
双向加密算法(AES)采用对称加密算法,即加密和解密用相同的密钥,这种加密方式加密速度非常快,适合经常发送数据的场合。
步骤3、用户在客户端的登录页面输入用户名和密码,这些信息用于在后续步骤中向认证服务器进行身份验证。同时,登录页面还包含其他表单元素,包括但不限于记住我选项、忘记密码选项、双因素认证选项等。
步骤4、客户端实施双因素认证,用户需要提供第二个身份验证因素,包括短信验证码。客户端将收集此信息以进行双因素认证。这一步骤增强了用户身份验证的安全性,确保在不同域之间进行登录时的安全性。
短信验证码由双因素认证模块提供,具体步骤如下:
步骤4-1、客户端根据用户注册填写手机号码,向双因素认证模块发送获取验证码请求。
步骤4-2、双因素认证模块按规则生成短信验证码,并将用户的手机号码和验证码内容通过短信验证接口发送到第三方短信接入商。
步骤4-3、短信接入商将短信内容下发到用户手机。
步骤5、客户端向认证服务器发送登录请求,即将用户名、密码、加密后的浏览器指纹及时间戳、双因素认证信息等打包,并将这些信息发送到认证服务器。这样,认证服务器可以针对浏览器指纹对浏览器进行识别,从而解决浏览器同源策略的限制引起的跨域问题。
步骤6、认证服务器收到客户端发送的登录请求后,首次验证用户名和密码,以及双因素认证信息。然后,认证服务器解密浏览器指纹,并验证时间戳。
如图2所示,验证过程包括以下几个关键步骤:
步骤6-1、认证服务器接收到客户端发来的登录请求,其中包含用户名、密码、浏览器指纹等信息。
步骤6-2、认证服务器查询数据库,根据提供的用户名查找对应的用户记录。若找不到相应记录,认证服务器将返回错误信息,提示用户用户名不存在。
步骤6-3、若找到对应的用户记录,认证服务器将比较用户提供的密码与数据库中存储的密码。为增强安全性,数据库中的密码应以加密形式(如哈希值)进行存储。因此,认证服务器需要对用户提供的密码进行同样的加密处理,然后将加密后的结果与数据库中的加密密码进行比较。
步骤6-4、如果加密后的密码与数据库中的密码匹配,认证服务器将继续通过双因素认证模块验证双因素认证信息,若认证失败,认证服务器将返回错误信息,提示密码错误。
步骤6-5、若双因素认证通过,认证服务器将继续验证浏览器指纹及时间戳。在此过程中,认证服务器将解密收到的浏览器指纹及时间戳,与用户记录中存储的浏览器指纹和时间戳进行对比。根据设定的安全策略,认证服务器可以确定是否允许使用该浏览器指纹进行登录。
步骤6-6、若浏览器指纹验证通过,认证服务器将执行后续操作,生成访问令牌和刷新令牌等信息并返回给客户端。
步骤6-7、如果密码或浏览器指纹验证失败,认证服务器将返回错误信息,提示用户登录失败。
步骤7、认证服务器与风险监控服务合作,分析用户行为、登录地点、设备信息等数据,评估登录请求的风险等级。根据评估结果,认证服务器可能会要求用户提供更多的身份验证信息,或者直接拒绝请求。
为确保跨域单点登录过程的安全性和有效性,风险监控模块应对用户行为、登录地点、设备信息等进行实时分析。通过以下关键步骤,风险监控模块能够有效地识别潜在的恶意行为和安全威胁:
步骤7-1、风险监控模块收集用户在登录过程中产生的相关数据,包括但不限于:登录IP地址、登录时间、浏览器类型、操作系统、设备指纹等。
步骤7-2、风险监控模块对收集到的数据进行实时分析,利用预先设定的规则和模型评估风险等级。例如,通过对比用户历史登录行为和地理位置,检测是否存在异地登录等异常情况。
步骤7-3、若风险监控模块识别出高风险行为,如短时间内多次登录失败、登录IP地址异常变动等,将触发相应的安全策略。这些策略可以包括要求用户提供额外的身份验证信息、限制用户访问权限或直接拒绝登录请求。
步骤7-4、风险监控模块将识别到的风险事件记录在日志中,以便管理员进行审计和进一步分析。此外,风险监控模块通过实时通知功能,将高风险行为及时通知给管理员或用户,帮助他们采取适当措施防范安全威胁。
步骤8、当认证服务器验证用户提供的凭据和浏览器指纹无误后,认证服务器进行令牌生成操作,并将令牌及其相关信息发送给客户端。这些令牌在跨域环境中用于表示用户已通过身份验证,从而实现单点登录功能。
令牌包括访问令牌(access_token) 和 刷新令牌(refresh_token),认证服务器应使用安全的算法和技术生成两种令牌,如图3所示,具体步骤如下:
步骤8-1、认证服务器生成一个访问令牌,该令牌用于客户端访问受保护的资源。访问令牌包含用户身份信息、客户端信息以及有效期。为确保令牌的安全性,采用JSON WebToken(JWT)加密技术对令牌进行编码和加密。此外,为防止令牌泄露,对其设置两个小时的有效期限。
步骤8-2、认证服务器生成一个刷新令牌,即一个随机串。该令牌用于在访问令牌过期时获取新的访问令牌,以延长用户会话。刷新令牌具有七天的有效期。为确保其安全性,刷新令牌同样采用加密技术进行保护,即使用安全的哈希算法对其进行哈希处理。
步骤8-3、认证服务器将生成的访问令牌和刷新令牌返回给客户端。客户端将令牌存储在本地,并在后续访问受保护资源时使用这些令牌进行身份验证。
步骤8-4、客户端检测访问令牌的有效性。若访问令牌未过期,客户端继续使用当前的访问令牌。若访问令牌即将过期或已过期,客户端将执行下一步操作。
步骤8-5、客户端使用刷新令牌向认证服务器请求新的访问令牌。客户端会将刷新令牌和其他必要信息发送给认证服务器。
步骤8-6、认证服务器收到刷新令牌请求后,验证刷新令牌的有效性。如果刷新令牌有效,认证服务器将生成新的访问令牌并将其发送给客户端。
步骤9、更新认证状态管理服务器的登录状态,认证服务器将加密后的浏览器指纹、时间戳和用户登录状态信息发送给认证状态管理服务器,以便实现单点登录功能。这使得认证状态管理服务器可以在跨域环境中识别用户的登录状态,即认证状态管理服务器通过浏览器指纹界定浏览器,从而实现在同一浏览器多个域之间共享用户的登录状态信息,实现跨域单点登录。
认证状态管理服务器维护一个用户会话记录表,表中存储已登录用户的浏览器指纹、时间戳、用户ID等信息。同时存储解密所需密钥,以确保数据安全性。解密后的浏览器指纹与时间戳将作为查询条件,用于检索已登录用户的会话记录。
步骤10、当客户端访问其他需要单点登录的跨域子系统时,首先检查本地是否存在有效的单点登录令牌。若不存在有效的令牌,客户端将向认证状态管理服务器发起验证请求,请求中携带加密后的浏览器指纹和时间戳。
步骤11、认证状态管理服务器接收到客户端发送的加密后的浏览器指纹和时间戳,对其进行验证。认证状态管理服务器验证通过后,查询该浏览器指纹对应的用户登录状态。若用户已登录且登录状态有效,认证状态管理服务器将允许客户端访问其他需要单点登录的跨域子系统,从而实现跨域单点登录。若用户未登录或登录状态失效,认证状态管理服务器将通知客户端重新进行登录操作。通过认证状态管理服务器在不同域之间共享用户的登录状态信息,实现了跨域单点登录功能。
认证状态管理服务器验证具体步骤如下:
步骤11-1、认证状态管理服务器接收到客户端发起的单点登录验证请求后,首先对加密后的浏览器指纹进行解密操作。
步骤11-2、认证状态管理服务器将根据解密后的浏览器指纹和时间戳查询用户会话记录表,寻找与之匹配的记录。
步骤11-3、若查询到匹配的会话记录,则说明此浏览器指纹对应的用户已成功登录。认证状态管理服务器将访问令牌和刷新令牌返回给客户端。客户端可以使用此令牌访问其他需要单点登录的跨域子系统。
若未查询到匹配的会话记录,则说明此浏览器指纹对应的用户尚未登录,或者登录状态已过期。在这种情况下,认证状态管理服务器将返回一个重定向信息,提示客户端用户需要重新登录。
步骤11-4、为提高安全性,认证状态管理服务器设置了时间窗口限制,只有在特定时间范围内的会话记录才视为有效。当查询到的会话记录中的时间戳与客户端请求中的时间戳相差超过预设的时间窗口时,该会话记录将被视为过期,认证状态管理服务器将要求用户重新登录。
步骤11-5、客户端收到单点登录令牌后,将其存储在本地。此后,客户端可以携带此令牌以实现跨域单点登录。
基于同样的发明思路,如图4所示,实施例还提供了一种基于浏览器指纹的跨域单点登录系统,包括客户端101、认证服务器102、认证状态管理服务器103、双因素认证模块104、风险监控模块105。系统详细架构图如图5所示。
客户端负责生成和管理浏览器指纹,采用Fingerprintjs库来生成独特且稳定的浏览器指纹。为提高安全性,客户端在发送指纹前,将指纹与时间戳结合,通过双向加密技术进行加密。当用户登录时,客户端将加密后的浏览器指纹与登录凭据(如用户名和密码)一同发送至认证服务器。在认证成功后,客户端会收到认证服务器返回的访问令牌和刷新令牌,用于后续访问受保护资源和在必要时刷新访问令牌。此外,客户端还实现双因素认证相关操作,如接收短信验证码或其他额外验证因素,以确保用户身份安全。
认证服务器负责处理用户的登录请求,对用户提交的凭据(如用户名和密码)及加密后的浏览器指纹进行验证。验证过程包括检查凭据的有效性、匹配用户数据以及确认浏览器指纹的一致性。对于通过验证的登录请求,认证服务器会生成访问令牌和刷新令牌,这两个令牌用于访问受保护资源以及在令牌过期时刷新访问权限。生成令牌后,认证服务器将它们发送给客户端以便后续使用。与此同时,认证服务器还将加密后的浏览器指纹和用户登录状态信息发送给认证状态管理服务器。认证状态管理服务器负责存储这些信息,以支持跨域单点登录功能。
认证状态管理服务器负责存储和管理用户的登录状态信息,包括加密后的浏览器指纹、登录时间、访问权限等。当客户端访问其他需要单点登录的跨域子系统时,客户端将加密后的浏览器指纹发送给认证状态管理服务器。认证状态管理服务器在收到请求后,会根据加密后的浏览器指纹在数据库中进行查找,验证指纹的合法性并查询用户的登录状态。如果查询结果显示用户已登录且具有访问权限,认证状态管理服务器会将登录状态信息发送给目标子系统,实现单点登录功能。这样,用户无需在不同跨域子系统之间重复输入登录凭据,便能实现跨域单点登录。通过认证状态管理服务器的管理和验证,用户可以在多个域名之间实现安全、便捷的单点登录体验。
双因素认证模块是一种增强安全性的措施,它对用户进行额外的身份验证。在用户登录时,除了提供基本的用户名和密码之外,还需要通过第二个身份验证因素来确认用户身份。具体实现为,系统向用户注册的手机号码发送短信验证码,用户需在登录界面输入收到的验证码。这种额外的验证因素增加了攻击者成功获取用户凭据的难度,从而有效提高用户身份的安全性。通过整合双因素认证模块,基于浏览器指纹的跨域单点登录系统在确保便捷性的同时,进一步加强了对用户数据和隐私的保护。
风险监控模块用于识别和防范潜在的恶意行为和安全威胁。它通过收集和分析用户行为、登录地点、设备信息等数据来评估登录请求的风险等级。风险监控模块会检查登录尝试是否来自异常的地理位置、设备是否与用户的常用设备相符,或登录请求在短时间内是否频繁发生等。
根据评估出的风险等级,认证服务器会采取相应的措施以确保安全。对于低风险请求,认证服务器将允许用户正常登录。而对于高风险请求,认证服务器会根据具体情况采取不同的应对策略。例如,认证服务器会要求用户提供额外的身份验证信息。在某些情况下,如恶意行为明显或风险等级过高,认证服务器可能直接拒绝登录请求,以保护用户数据和账户安全。
以上所述的实施例对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的具体实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于浏览器指纹的跨域单点登录方法,其特征在于,包括:
(1)客户端在页面加载时生成浏览器指纹,浏览器指纹包含设备信息、操作系统信息和浏览器信息;
(2)将浏览器指纹进行加密,加密过程中生成一个时间戳与浏览器指纹相结合;
(3)用户在客户端的登录页面进行双因素认证;
(4)客户端将加密后的浏览器指纹、时间戳、双因素认证信息打包,加密后发送到认证服务器进行登陆请求;
(5)认证服务器解密并验证登录请求,并通过风险监控模块评估登录请求的风险等级;
(6)认证服务器为经过验证和评估的登录请求生成访问令牌和刷新令牌,并发送给客户端;
(7)认证服务器将加密后的浏览器指纹、时间戳和用户登录状态信息发送给认证状态管理服务器;
(8)当客户端访问其他需单点登录的跨域子系统时,将加密后的浏览器指纹和时间戳发送给认证状态管理服务器进行验证,验证通过后查询用户的登录状态,允许或拒绝客户端访问其他跨域子系统。
2.根据权利要求1所述的基于浏览器指纹的跨域单点登录方法,其特征在于,步骤(1)中,浏览器指纹允许在不同域名之间进行识别,不同域名在相同浏览器环境生成相同浏览器指纹,从而实现跨域功能。
3.根据权利要求1所述的基于浏览器指纹的跨域单点登录方法,其特征在于,步骤(2)和步骤(4)中,使用双向加密算法AES进行加密。
4.根据权利要求1所述的基于浏览器指纹的跨域单点登录方法,其特征在于,步骤(3)中,所述的双因素认证包含第一身份验证信息和第二身份验证信息,其中,第一身份验证信息包含用户名和密码,第二身份验证信息包含短信验证码。
5.根据权利要求1所述的基于浏览器指纹的跨域单点登录方法,其特征在于,步骤(5)中,通过风险监控服务评估登录请求的风险等级具体为:
将用户行为、登录地点、设备信息数据交予风险监控服务评估登录请求的风险等级,根据评估结果,认证服务器要求用户提供更多的身份验证信息,或者直接拒绝请求。
6.根据权利要求1所述的基于浏览器指纹的跨域单点登录方法,其特征在于,步骤(6)中,所述的访问令牌用于表示用户已通过身份验证,在跨域环境中访问其他需要单点登录的子系统时无需重新登录;访问令牌包含用户身份信息、客户端信息以及有效期。
7.根据权利要求1所述的基于浏览器指纹的跨域单点登录方法,其特征在于,步骤(6)中,所述的刷新令牌用于在访问令牌过期时,自动获取新的访问令牌,而无需用户重新登录;
当客户端检测到访问令牌即将过期或已过期时,客户端使用刷新令牌向认证服务器请求新的访问令牌;认证服务器收到刷新令牌请求后,验证刷新令牌的有效性,如果刷新令牌有效,认证服务器将生成新的访问令牌并将其发送给客户端。
8.根据权利要求1所述的基于浏览器指纹的跨域单点登录方法,其特征在于,步骤(6)中,所述的访问令牌和刷新令牌均采用加密技术进行加密,其中,访问令牌的有效期设置为1~3小时,刷新令牌的有效期设置为5~10天。
9.根据权利要求1所述的基于浏览器指纹的跨域单点登录方法,其特征在于,步骤(8)中,验证通过后查询用户的登录状态,允许或拒绝客户端访问其他跨域子系统具体为:
若用户已登录且登录状态有效,认证状态管理服务器允许客户端访问其他需要单点登录的跨域子系统,从而实现跨域单点登录;若用户未登录或登录状态失效,认证状态管理服务器通知客户端重新进行登录操作。
10.一种基于浏览器指纹的跨域单点登录系统,其特征在于,包括:
客户端,用于生成和管理浏览器指纹,结合生成的时间戳进行加密,在用户进行身份认证操作后向认证服务器发送登录请求,接收和存储认证服务器发送的访问令牌、刷新令牌,实施双因素认证;
认证服务器,用于验证和评估客户端发送的登录请求,生成访问令牌和刷新令牌发送给客户端,将加密后的浏览器指纹、时间戳和用户登录状态信息发送给认证状态管理服务器,以实现单点登录功能,确保在不同域之间共享用户的登录状态信息;
认证状态管理服务器,用于存储和管理用户的登录状态信息,验证加密后的浏览器指纹和时间戳,查询用户登录状态,根据查询结果允许或拒绝访问其他需要单点登录的跨域子系统;
双因素认证模块,用于在客户端中进行身份认证时采用两种方式的身份信息验证;
风险监控模块,用于检测潜在的恶意行为和安全威胁,根据用户行为、登录地点、设备信息评估登录请求的风险等级,根据风险等级,决定是否要求用户提供额外的身份验证信息或直接拒绝请求。
CN202310900116.XA 2023-07-21 2023-07-21 一种基于浏览器指纹的跨域单点登录方法及系统 Pending CN116668190A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310900116.XA CN116668190A (zh) 2023-07-21 2023-07-21 一种基于浏览器指纹的跨域单点登录方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310900116.XA CN116668190A (zh) 2023-07-21 2023-07-21 一种基于浏览器指纹的跨域单点登录方法及系统

Publications (1)

Publication Number Publication Date
CN116668190A true CN116668190A (zh) 2023-08-29

Family

ID=87715532

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310900116.XA Pending CN116668190A (zh) 2023-07-21 2023-07-21 一种基于浏览器指纹的跨域单点登录方法及系统

Country Status (1)

Country Link
CN (1) CN116668190A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117319087A (zh) * 2023-11-28 2023-12-29 北京车与车科技有限公司 基于集中式认证服务的单点登录方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109587133A (zh) * 2018-11-30 2019-04-05 武汉烽火众智智慧之星科技有限公司 一种单点登录系统及方法
KR20190120899A (ko) * 2018-04-17 2019-10-25 이니텍(주) 브라우저 지문을 이용한 싱글 사인온 방법
CN112491776A (zh) * 2019-09-11 2021-03-12 华为技术有限公司 安全认证方法及相关设备
CN114257430A (zh) * 2021-12-13 2022-03-29 以萨技术股份有限公司 一种单点登录系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190120899A (ko) * 2018-04-17 2019-10-25 이니텍(주) 브라우저 지문을 이용한 싱글 사인온 방법
CN109587133A (zh) * 2018-11-30 2019-04-05 武汉烽火众智智慧之星科技有限公司 一种单点登录系统及方法
CN112491776A (zh) * 2019-09-11 2021-03-12 华为技术有限公司 安全认证方法及相关设备
CN114257430A (zh) * 2021-12-13 2022-03-29 以萨技术股份有限公司 一种单点登录系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117319087A (zh) * 2023-11-28 2023-12-29 北京车与车科技有限公司 基于集中式认证服务的单点登录方法、装置及存储介质
CN117319087B (zh) * 2023-11-28 2024-02-27 北京车与车科技有限公司 基于集中式认证服务的单点登录方法、装置及存储介质

Similar Documents

Publication Publication Date Title
US11831642B2 (en) Systems and methods for endpoint management
US11882109B2 (en) Authenticated name resolution
CN109787988B (zh) 一种身份加强认证和鉴权方法及装置
US11770261B2 (en) Digital credentials for user device authentication
US8990356B2 (en) Adaptive name resolution
US6510523B1 (en) Method and system for providing limited access privileges with an untrusted terminal
US9166969B2 (en) Session certificates
US10333930B2 (en) System and method for transparent multi-factor authentication and security posture checking
US20050289085A1 (en) Secure domain network
KR101451359B1 (ko) 사용자 계정 회복
US20080263644A1 (en) Federated authorization for distributed computing
CN103986584A (zh) 基于智能设备的双因子身份验证方法
EP2957064B1 (en) Method of privacy-preserving proof of reliability between three communicating parties
CN106921678A (zh) 一种集成异构舰载信息系统的统一安全认证平台
US20170104748A1 (en) System and method for managing network access with a certificate having soft expiration
CN116668190A (zh) 一种基于浏览器指纹的跨域单点登录方法及系统
CN114697111B (zh) 一种跨云访问公有云的方法、系统及公有云
US20230198767A1 (en) Distribution of one-time passwords for multi-factor authentication via blockchain
CN115996128A (zh) 一种基于信任的身份识别方法
Nandhakumar et al. Non repudiation for internet access by using browser based user authentication mechanism
KR101510473B1 (ko) 컨텐츠 제공자에 제공되는 회원 정보의 보안을 강화한 인증방법 및 시스템
CN111726331A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20230829