CN111404946B - 基于浏览器的账户认证方法及服务器 - Google Patents

基于浏览器的账户认证方法及服务器 Download PDF

Info

Publication number
CN111404946B
CN111404946B CN202010196125.1A CN202010196125A CN111404946B CN 111404946 B CN111404946 B CN 111404946B CN 202010196125 A CN202010196125 A CN 202010196125A CN 111404946 B CN111404946 B CN 111404946B
Authority
CN
China
Prior art keywords
client
terminal
server
cloud server
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010196125.1A
Other languages
English (en)
Other versions
CN111404946A (zh
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 Bit Anso Information Technology Co ltd
Original Assignee
Beijing Bit Anso 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 Bit Anso Information Technology Co ltd filed Critical Beijing Bit Anso Information Technology Co ltd
Priority to CN202010196125.1A priority Critical patent/CN111404946B/zh
Publication of CN111404946A publication Critical patent/CN111404946A/zh
Application granted granted Critical
Publication of CN111404946B publication Critical patent/CN111404946B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种基于浏览器的账户认证方法及服务器,方法包括,第一服务器接收第一终端内浏览器发送的账户信息,并验证账户信息,在验证通过之后,根据账户信息与比特云服务器交互,获取用于与第一客户端交互的Ticket;第一客户端为用于获取机器指纹信息的客户端;第一服务器将Ticket发送第一客户端,第一客户端与比特云服务器交互,验证Ticket和机器指纹是否正确;第一服务器接收第一响应,第一响应为比特云服务器根据匹配策略匹配Ticket和机器指纹之后返回的使浏览器正常访问的响应。上述方法可以解决现有技术中浏览器中账户信息不安全的问题。

Description

基于浏览器的账户认证方法及服务器
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于浏览器的账户认证方法及服务器。
背景技术
身份认证技术是在计算机网络中确认操作者身份的过程而产生的有效解决方法。计算机网络世界中一切信息包括用户的身份信息都是用一组特定的数据来表示的,计算机只能识别用户的数字身份,所有对用户的授权也是针对用户数字身份的授权。如何保证以数字身份进行操作的操作者就是这个数字身份合法拥有者,也就是说保证操作者的物理身份与数字身份相对应,身份认证技术就是为了解决这个问题,作为防护网络资产的第一道关口,身份认证有着举足轻重的作用。
最常见的身份认证是通过用户名和密码进行认证,该认证方式最主要的问题是容易造成密码泄露,或在网络中被监听,从而导致第三者非法登录。
为了增强上述密码认证方式的问题,目前还有使用智能卡认证、生物特征认证、USBKey的认证方式,这些方式的主要问题是增加了硬件设备,成本增加,使用上也受到限制,无法解决限定机器登录,比如财务系统网站只允许办公室财务处指定的一台或多台机器才可以登录。
根据浏览器的安全策略,浏览器只允许访问有限的本地资源,比如cookie、localStorage、sessionStorage等,不能直接访问计算机本地的文件,不能本地的硬件信息,也不能读取计算机的指纹,为了解决上述问题,又出现以下方案,由于浏览器的权限限制,浏览器无法直接访问计算机的硬件,无法读取计算机的指纹,所以目前限定机器的认证方案,是通过定制浏览器实现的,定制浏览器存在很多问题,不同的网站对浏览器的兼容性要求不同,可能造成部分页面无法浏览,或者用户的账号或书签等管理缺失或者无法统一管理,开发成本高等;或者通过浏览器插件实现,但浏览器插件存在开发难度大,需要对不同的浏览器开发不同的插件。
发明内容
鉴于现有技术的上述缺点、不足,本发明提供一种基于浏览器的账户认证方法及服务器,其解决了现有技术中浏览器登录容易泄露密码,不安全的技术问题。
为了达到上述目的,本发明采用的主要技术方案包括:
第一方面,本发明实施例提供一种基于浏览器的账户认证方法。
S1、第一服务器接收第一终端内浏览器发送的用于登录服务网站的账户信息,所述服务网站为所述第一服务器中的开发商网站;
S2、所述第一服务器验证所述账户信息,在验证通过之后,生成第一认证信息;
S3、所述第一服务器根据所述账户信息和所述第一认证信息与比特云服务器交互,获取用于与第一客户端交互的第一标识Ticket;所述第一客户端为第二终端内的用于获取该第二终端的机器指纹信息的客户端;
S4、所述第一服务器将所述第一标识发送所述第一客户端,以使所述第一客户端与所述比特云服务器交互,验证所述第一标识和所述第一客户端所属终端内的机器指纹是否正确;
S5、所述第一服务器接收所述浏览器可正常访问网站的第一响应,所述第一响应为所述比特云服务器根据匹配策略匹配所述第一标识和所述机器指纹之后返回的响应;所述第一服务器根据第一响应向所述第一终端内的浏览器发送正常访问的第二响应,所述第一响应包括所述第一认证信息中的部分或全部信息的响应。
可选地,所述第一终端和第二终端为同一个终端,且所述机器指纹为所述第一客户端在启动时预先获取的所述第二终端中的硬件信息;
或者,所述第一终端和第二终端为同一个终端,且所述机器指纹为所述第一客户端在连接所述比特云服务器时获取的所述第二终端中的硬件信息;
和/或,所述机器指纹包括下述信息中的至少两项:
CPU、网卡、硬盘、BIOS、位于第二终端内的比特ID。
可选地,所述S4、所述第一服务器将所述第一标识发送所述第一客户端,包括:
所述第一服务器通过JSONP调用所述第一客户端的接口,将所述第一标识发送所述第一客户端。
可选地,所述第一终端和所述第二终端不同,所述S4、所述第一服务器将所述第一标识发送所述第一客户端,包括:
所述第一服务器将所述第一标识对操作人员进行显示,以使所述操作人员将显示的所述第一标识输入至所述第二终端中的第二客户端中。
可选地,所述第一认证信息包括:第一随机数Token,或者,第一随机数Token和所述第一随机数的时效信息。
可选地,所述S4之前,所述方法还包括:
所述第一服务器获取所述第一客户端的状态;
若所述第一服务器未获取到所述第一客户端的状态,则向所述第一终端内浏览器发送用于安装所述第一客户端或用于启动所述第一客户端的提示信息。
第二方面,本发明实施例还提供一种基于浏览器的账户认证方法,包括:
A1、第一客户端接收第一服务器发送的第一标识Ticket,所述第一标识为所述第一服务器在验证浏览器发送的用于登录的账户信息后,与比特云服务器交互获取的标识,所述浏览器位于第一终端内,且所述第一客户端位于第二终端内;
A2、所述第一客户端根据所述第二终端的机器指纹和所述第一标识,发送所述比特云服务器;
A3、所述第一客户端接收所述比特云服务器根据匹配策略匹配所述机器指纹和所述第一标识之后发送的成功响应。
可选地,所述第一终端和第二终端为同一个终端,且所述机器指纹为所述第一客户端在启动时预先获取的所述第二终端中的硬件信息;
和/或,所述机器指纹包括下述信息中的至少两项:
CPU、网卡、硬盘、BIOS、位于第二终端内的比特ID。
可选地,所述第一终端和第二终端为同一个终端,
所述A2、所述第一客户端根据所述第二终端的机器指纹和所述第一标识,发送所述比特云服务器,包括:
A2-1、所述第一客户端获取第二终端的机器指纹;
A2-2、将获取的机器指纹和所述第一标识发送所述比特云服务器;
或者,
A21、所述第一客户端获取第二终端的机器指纹;
A22、将获取的机器指纹进行哈希处理,并将哈希处理的结果和所述第一标识发送所述比特云服务器;或者,将获取的机器指纹和所述第一标识进行哈希处理,将哈希处理的结果发送所述比特云服务器。
可选地,在A2和A3中,所述第一客户端与所述比特云服务器的交互均通过公私钥方式建立的安全通道进行数据交互的。
可选地,所述第一终端和所述第二终端不同时,所述A1、第一客户端接收第一服务器发送的第一标识,包括:
所述第一客户端接收操作人员输入的所述第一标识,所述第一标识为所述第一服务器向操作人员显示的标识。
第三方面,本发明实施例还提供一种基于浏览器的账户认证方法,包括:
B1、比特云服务器接收第一服务器发送的账户信息和第一认证信息,所述账户信息为浏览器发送的用于登录网站的,且经过第一服务器验证后的信息,所述第一认证信息为所述第一服务器在验证所述账户信息之后生成的信息;
B2、所述比特云服务器根据所述账户信息和所述第一认证信息,生成用于与第一客户端交互的第一标识,并将生成的第一标识发送所述第一服务器,以使所述第一服务器将所述第一标识发送所述第一客户端;
B3、所述比特云服务器接收所述第一客户端发送的第一标识和机器指纹,所述机器指纹为所述第一客户端所在终端的机器指纹;
B4、所述比特云服务器根据预先设定的匹配策略对所述第一标识和所述机器指纹进行匹配,若匹配通过,则向所述第一客户端发送成功响应,以及向所述第一服务器发送所述浏览器可正常访问网站的第一响应。
可选地,所述第一响应包括所述第一认证信息中的部分或全部信息的响应。
可选地,所述第一客户端所在的终端与所述浏览器所在的终端一致。
可选地,在B2和B3中,所述比特云服务器与所述第一客户端的交互均通过公私钥方式建立的安全通道进行数据交互的;
和/或,所述比特云服务器接收的第一标识和机器指纹是经过哈希处理后的信息。
第四方面,本发明实施例还提供一种服务器,包括:存储器和处理器,所述存储器中存储指令,所述处理器执行所述存储器中存储的指令,其包括执行上述第一方面任一所述的方法,或者执行上述权利要求第二方面任一所述的方法。
本发明的有益效果是:本发明的方法借助于云客户端即第一客户端实现了增加一种物理认证因素,安全性更高,达到双因素验证的目的。
本发明的方法是为了保护网站的用户名和密码在泄漏后,仍然无法直接登录网站,最大限度的保证账号安全。
进一步地,在具体操作中,客户在指定的机器安装云客户端,该机器负责授权本机或其他机器进行安全登陆。
运行云客户端软件,输入网站的登陆账号和口令,完成机器的授权绑定操作,一旦操作完成,该账号不可以和其他机器进行绑定了,该机器变成了授权机器。
客户打开浏览器,访问受保护的网站,输入账号和口令,提交之后,显示Ticket,等待云客户端的确认操作,这时在云客户端输入上述的Ticket,进行确认,验证通过后,浏览器就可以正常访问了。
或通过网站通过JSONP调用云客户端接口,传输Ticket,替代手工输入Ticket的过程。
对于盗用的用户,由于缺少云客户端的确认,所以无法进行登陆操作,这是一个双因素验证。
附图说明
图1和图2分别为本发明一实施例提供基于浏览器的账户认证方法的流程示意图;
图3和图4分别为本发明一实施例提供基于浏览器的账户认证方法的信令图;
图5至图7分别为本发明一实施例提供基于浏览器的账户认证方法的流程图;
图8为本发明一实施例提供一种服务器的结构示意图。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
本发明实施例提出的基于浏览器的账户认证方法,通过在浏览器所在终端内预先安装一个云客户端(即下述的第一客户端),进而在第一服务器(即开发商服务器)验证账户信息是,借助于第一客户端与比特云服务器的交互,以对浏览器所在终端的机器指纹进行验证处理,实现浏览器中账户信息的安全验证,增强了单一密码认证的安全性,达到了限制网站账户登录机器的目的。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更清楚、透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
实施例一
如图1所示,图1示出了本发明一实施例提供的基于浏览器的账户认证方法的流程示意图,本实施例的方法的执行主体为第一服务器即开发商网站所属的服务器,其方法包括下述步骤:
101、第一服务器接收第一终端内浏览器发送的用于登录服务网站的账户信息,所述服务网站为所述第一服务器中的开发商网站;
102、第一服务器验证所述账户信息,若验证通过,则执行步骤103,否则向第一终端的浏览器反馈账户信息错误的通知。
103、第一服务器根据所述账户信息与比特云服务器交互,获取用于与第一客户端交互的第一标识(Ticket)。
本实施例的第一客户端为第二终端内的用于获取该第二终端的机器指纹信息的客户端。
本实施例中的第二终端可为浏览器所在的第一终端,也可为不同于第一终端的另一终端。
可理解的是,Ticket是用于身份验证/账户信息的随机数,由比特云服务器产生的随机唯一的六位整数(不限于此,只要唯一即可),具有时效性,比如是第一客户端和开发商网站的机器为同一台机器,时效性设置为30秒,如果不是同一台机器,时效性设置为3分钟。从Ticket产生开始计时,到第一客户端认证的时候,如果超过时效性设置的时长,则该Ticket失效,返回失败,需要重新产生Ticket并重新进行认证。
104、第一服务器将所述Ticket发送所述第一客户端,以使所述第一客户端与所述比特云服务器交互,验证所述第一标识Ticket和所述第一客户端所属终端内的机器指纹是否正确。
本实施例中,第一客户端和浏览器位于同一终端内时,第一服务器将所述Ticket发送所述第一客户端,具体包括:第一服务器将Ticket发送到浏览器,浏览器发送给所述第一客户端,即浏览器的网页脚本通过JSONP调用第一客户端的接口,进而传递第一服务器获取的Ticket。
若第一客户端和浏览器不位于同一终端时如处于不同的两个设备时,此时第一服务器将所述Ticket发送所述第一客户端,具体包括:
第一服务器将Ticket发送到浏览器,浏览器显示所述Ticket,进而用户根据浏览器显示的Ticket,将Ticket输入至所述第一客户端。
举例来说,机器指纹可理解为第一客户端所在设备的多项指纹信息,如CPU、网卡、主板、硬盘、机器名、用户名、IP地址等,还包括自定义的指纹信息,比如比特ID等。
第一客户端可以在获取机器指纹后进行哈希运算然后发送给比特云服务器,避免直接暴漏个人机器原始信息等。
在实际应用中,如果第一客户端所在设备中存在多个相同类型的组件,比如两块硬盘、两个网卡等,此时这些多个组件的的指纹全部获取,第一客户端对这些组件的指纹进行处理(如哈希)后发送给比特云服务器。
比特云服务器收到机器指纹后,会采用匹配策略进行智能匹配,匹配策略可以根据每一个账户信息单独设置。
105、第一服务器接收所述浏览器可正常访问网站的第一响应,所述第一响应为所述比特云服务器根据匹配策略匹配所述第一标识和所述机器指纹之后返回的响应;所述第一服务器根据第一响应向所述第一终端内的浏览器发送正常访问的第二响应。
需要说明的是,上述的第一客户端即云客户端是一个可执行的程序或服务,所述程序或服务提供http协议支持,可提供Web容器功能,可使用8278端口,支持浏览器访问,且可以管理多个开发商网站等。通常,云客户端是一个开机自启动的程序,主要实现对云客户端所属设备的机器指纹的获取,并实现与比特云服务器交互。
在实际应用中,第一客户端与比特云服务器的数据传输均是通过预先建立的安全通道进行传输的。
本实施例的方法,用户通过浏览器登录开发商网站时,可以实现账户信息的安全,即借助于第一客户端与比特云服务器实现对浏览器所属设备中机器指纹的验证,进而实现机器与账户信息的绑定,即只有该机器才可以能访问指定的账户,达到了限制账户登录机器的目的。
实施例二
如图2所示,图2示出了本发明一实施例提供的基于浏览器的账户认证方法的流程示意图,本实施例的方法的执行主体为第一服务器即开发商网站所属的服务器,本实施例和实施例一区别在于,开发商网站在账户信息验证通过之后产生第一认证信息,保证后续信息交互的安全性。即比特云服务器认证成功后,需要回调开发商网站,为了安全性,需要有开发商网站在调用比特云服务器的时候传入一个一次性认证信息,在回调的时候,在传回开发商网站作为验证码使用。由此,进一步保证了安全性。本实施例的方法包括下述步骤:
201、第一服务器接收第一终端内浏览器发送的用于登录服务网站的账户信息,所述服务网站为所述第一服务器中的开发商网站;
202、第一服务器验证所述账户信息,在验证通过之后,生成第一认证信息。
举例来说,本实施例的第一认证信息可包括:第一随机数Token。
在其他实施例中,该步骤的第一认证信息还可包括第一随机数Token和所述第一随机数的时效信息(如30s、60s、2分钟或者5分钟等)。
本实施例中通过设置认证信息可有效保证验证的安全性,例如在比特云服务器返回的响应中携带上述的Token,以确定是对当前服务器的账户信息的验证响应。
通常,Token的作用是为了验证调用者比特云服务器的身份的,先由开发商网站把Token传给比特云服务器,这时只有比特云服务器知道Token,比特云服务器再调用开发商网站的接口时,需要把Token传递给开发商网站进行验证,验证通过才执行后续操作,这样可以避免开发商网站接口被第三方非法调用。
Token一般采用随机产生的一串数,不会采用固定的值,这样可以防止泄露,同时会设置一定的有效期,过期后需要重新产生。
Token是一次有效,只能使用一次,第二次使用时会返回失效的错误。
203、第一服务器根据所述账户信息和所述第一认证信息与比特云服务器交互,获取用于与第一客户端交互的Ticket。
本实施例中,第一客户端为第二终端内的用于获取该第二终端的机器指纹信息的客户端。
通常,第一客户端所在的第二终端和第一终端是一致的,即同一个设备。需要说明的是,在执行下述的步骤204之前,可在同一设备的第一终端内预先安装第一客户端,并处于运行状态。
当然,在特殊情况下,第一终端可与第二终端是不同的两个设备,在执行下述的步骤204之前,也需要在第二终端内预先安装第一客户端,并处于运行状态。
本实施例中的第一客户端可为一个获取设备机器指纹信息并验证的APP。
204、第一服务器将所述Ticket发送所述第一客户端,以使所述第一客户端与所述比特云服务器交互,验证所述第一标识Ticket和所述第一客户端所属终端内的机器指纹是否正确。
若正确,执行下述步骤205,否则,第一服务器接收失败响应。
举例来说,机器指纹可为第一客户端在启动时预先获取的所述第二终端中的硬件信息;或者,所述机器指纹可为第一客户端在连接所述比特云服务器时获取的所述第二终端中的硬件信息。
此外,本实施例的机器指纹包括下述信息中的至少两项:CPU、网卡、硬盘、BIOS、位于第二终端内的比特ID等等,本实施例不对机器指纹进行限定,根据实际需要进行选择。
所述比特云服务器验证Ticket和机器指纹是否正确,可采用预先定制的匹配策略进行验证,例如,匹配策略可以是验证CPU一项通过即可确认验证通过,或者,匹配策略可以是验证CPU和网卡两项通过即可确认验证通过,或者,匹配策略可以是验证CPU、网卡和硬盘三项通过即可确认验证通过,或者,匹配策略可以是验证CPU、网卡、硬盘和BIOS三项通过即可确认验证通过,本实施例仅为举例说明,匹配策略根据实际需要选择。
需要说明的是,前述的第一终端和所述第二终端不同时,第一服务器可将所述Ticket对操作人员进行显示,以使所述操作人员将显示的所述Ticket输入至所述第二终端中的第二客户端中,如图4所示。
第一终端和第二终端为同一设备时,第一服务器可将Ticket传输浏览器,并使得浏览器直接调用第一客户端以传送Ticket。或者,第一服务器跳转到第一客户端页面,浏览器显示所述客户端的Web页面,若用户触发确认按钮,赋予授权;或触发取消按钮,拒绝授权。
205、第一服务器接收所述浏览器可正常访问网站的第一响应,所述第一响应为所述云服务器根据匹配策略匹配所述第一标识和所述机器指纹之后返回的响应;所述第一服务器根据第一响应向所述第一终端内的浏览器发送正常访问的第二响应,所述第一响应包括所述第一认证信息中的部分或全部信息的响应。
需要说明的是,前述步骤中第一客户端可以在获取机器指纹后进行哈希运算然后发送给比特云服务器,避免直接暴漏个人机器原始信息等。
在实际应用中,如果计算机设备中存在多个相同类型的组件,比如两块硬盘、两个网卡等,此时这些多个组件的的指纹全部获取,第一客户端对这些组件的指纹进行处理(如哈希)后发送给比特云服务器。
比特云服务器收到机器指纹后,会采用匹配策略进行智能匹配,匹配策略可以根据每一个账户信息单独设置。
本实施例中,用户通过浏览器访问开发商网站,如网站登录操作,输入开发商网站的账户信息(如用户名和密码,如图3所示),开发商网站验证通过后,开发商网站产生一Token,调用比特云服务器的接口GetTicket(即调用比特云服务器提供的接口,产生Ticket),同时把并将账户信息和Token作为参数传递给比特云服务器;
比特云服务器收到开发商网站传递的参数后,产生一次性的认证令牌Ticket,发送给开发商网站,开发商网站脚本通过JSONP调用浏览器所在设备中的云客户端(即第一客户端),云客户端会发送从开发商网站传递过来的Ticket、机器指纹等信息到比特云服务器;比特云服务器首先验证Ticket的时效性和合法性,在时效内且合法之后,按照匹配策略把云客户端传递过来的机器指纹和数据库中已有的机器指纹进行匹配,如果机器指纹已经存在并且匹配,则允许通过;如果是一台新机器,则判断该账户信息下的机器数量是否超过最大允许值,如果超过,则登录失败(即向开发商网站发送失败响应),否则成功登录,并在该账号下添加该新机器的机器指纹的信息,然后比特云服务器调用开发商网站的接口,Token作为参数传递给网站,通知开发商网站云客户端认证成功,开发商网站需要先验证Token是否有效,如果有效,则通知浏览器可以正常访问网站了。
需要说明的是,上述的第一客户端即云客户端是一个可执行的程序或服务,所述程序或服务提供http协议支持。
在一种可选的实现方式中,在上述实施例一和实施例二中的第一个步骤之前,即101或201之前,上述方法还可包括下述的图中未示出的步骤:
M1:第一服务器获取所述第一客户端的状态。
例如,第一客户端的状态可包括第一客户端是否运行并且端口可用、第一客户端是否被授权、是否在有效期内等状态信息;
M2:若第一服务器未获取到所述第一客户端的状态,则向第一终端内浏览器发送用于安装所述第一客户端或用于启动所述第一客户端的提示信息。
也就是说,在执行上述图1和图2所示的方式之前,在第二终端内首先运行云客户端(即第一客户端),云客户端获取计算机指纹信息即该云客户端所在终端的机器指纹,并能够和比特云服务器通讯,以提供http接口供第三方网站(即开发商网站)访问,第三方网站会通过JSONP调用云客户端的接口。
在实际应用中,云客户端和浏览器在同一个设备中时,云客户端可对应该设备中多个不同浏览器,即可以实现与多个不同的开发商网站交互,每一个开发商网站均可通过JSONP调用该云客户端。
当然,云客户端和上述浏览器不在同一个设备中时,云客户端可以对应自身设备中的多个浏览器所属的开发商网站,还可以对应其他设备中的不同浏览器所属的开发商网站等,由此,可方便用户使用,同时可以监控每一个账户信息下的机器数量,以及减少浏览器的插件,在程序开发阶段成本更低。
参照图3和图7所示,在图3所示的信令图中浏览器和云客户端属于同一个计算机设备。
在用户使用之前,在访问网站的计算机上已经安装云客户端并正常运行。
步骤一:用户操作打开浏览器,输入开发商网站网址,打开登录网页,输入用户名和密码(即用户名、口令等信息),提交到开发商网站进行验证;
步骤二:开发商网站验证用户名和密码通过后,开发商网站产生一次性的Token;
步骤三:开发商网站将用户名、密码和Token作为参数传递到比特云服务器,进而比特云服务器产生Ticket,并发送给开发商网站。
步骤四:开发商网站通过JSONP调用云客户端的地址,例如http://localhost:port/login?ticket=xxx进行登录,将Ticket传输至云客户端;
步骤五:云客户端通过安全通道和云服务器进行通讯,发送客户端所在设备的机器指纹、Ticket到比特云服务器;
步骤六:比特云服务器验证机器指纹、Ticket和登录的用户名密码,
步骤七:如果验证通过,调用开发商网站的回调地址http://myurl/callback?token=yyy,通知网站已经激活成功,网站正常登录。
在本实施例中,云客户端是一个不可或缺的模块,因为浏览器没有权限获取机器指纹,只能通过云客户端获取浏览器所在设备的机器指纹,进而把这些信息连同登陆帐号一同发送到比特云服务器。
也就是说,浏览器访问开发商网站,开发商网站通过JSONP获取云客户端状态,如果获取失败,页面提示用户安装云客户端并且启动云客户端,云客户端启动以后,如果所述开发商网站对应的授权不存在或无效,则开发商网站产生随机令牌Token,调用云服务的远程接口,把随机令牌发送给比特云服务器,比特云服务器返回Ticket,通过JSONP技术,访问云客户端,如图7所示。需要说明的是,图7中的客户端指的是云客户端。
需要说明的是,云客户端和比特云服务器的通讯仍然是先建立安全通道,然后发送。
建立安全通道方式如下:
云客户端事先集成公私钥对中的公钥,比特云服务器保存公私钥对中的私钥;
云客户端产生对称加密密钥,用公钥进行加密,发送给比特云服务器,比特云服务器用私钥进行解密,解密出对称加密密钥。云客户端和比特云服务器端就可以通过对称密钥对数据进行加密传输了。
比特云服务器收到云客户端发送过来的机器指纹,按照指纹匹配策略,和比特云服务器的数据库中的机器指纹进行匹配,判断机器是否存在,是否允许浏览器进行登录。
比特云服务器中记录了云客户端发送的机器指纹,进而可以限定云客户端对应的登录机器,可以限制在某一台或某几台。
考虑到安全性,开发商网站调用比特云服务接口时,需要提供接口认证口令authKey,该认证口令由比特云服务器产生并告知调用者开发商网站。
通常,云客户端是一个开机自启动的程序或开机启动的服务,主要实现对客户端计算机机器指纹的获取。
云客户端程序同时支持http协议,提供Web容器功能,默认使用8278端口,支持浏览器访问,支持管理多个开发商网站,查看授权等操作。
在另一可选的实现方式中,浏览器和云客户端不属于同一个计算机设备时,如图4所示,在上述步骤四中,开发商网站调用比特云服务器的接口GetTicket,获取一个Ticket,并显示到网页上。
在第二机器即第二终端上运行云客户端,输入上述的Ticket,云客户端把Ticket和第二机器的机器指纹发送到比特云服务器,比特云服务器进行验证,如果验证通过,调用开发商网站的回调接口http://myurl/callback?token=xxx通知开发商网站认证成功,同时返回成功的信息给云客户端。
实施例三
参见图5所示,本实施例提供一种基于浏览器的账户认证方法,该方法在执行主体为第一客户端,其方法包括如下步骤:
501、第一客户端接收第一服务器发送的第一标识Ticket,所述第一标识为所述第一服务器在验证浏览器发送的用于登录的账户信息后,与比特云服务器交互获取的标识,所述浏览器位于第一终端内,且所述第一客户端位于第二终端内。
所述第一终端和所述第二终端不同时,所述第一客户端接收操作人员输入的所述第一标识,所述第一标识为所述第一服务器向操作人员显示的标识。
所述第一终端和第二终端为同一个终端,且所述机器指纹为所述第一客户端在启动时预先获取的所述第二终端中的硬件信息;
和/或,所述机器指纹包括下述信息中的至少两项:
CPU、网卡、硬盘、BIOS、位于第二终端内的比特ID。
502、所述第一客户端根据所述第二终端的机器指纹和所述第一标识,发送所述比特云服务器。
举例来说,第一客户端读取所在机器的机器指纹,基于HTTP协议通过安全通道把开发商网站传送过来的Ticket和云客户端读取的机器指纹发送给比特云服务器,比特云服务器进行验证Ticket和机器指纹。
在实际应用中,所述第一客户端获取第二终端的机器指纹;将获取的机器指纹和所述第一标识发送所述比特云服务器;
在其他实施例中,所述第一客户端获取第二终端的机器指纹;将获取的机器指纹进行哈希处理,并将哈希处理的结果和所述第一标识发送所述比特云服务器;或者,将获取的机器指纹和所述第一标识进行哈希处理,将哈希处理的结果发送所述比特云服务器。
503、所述第一客户端接收所述比特云服务器根据匹配策略匹配所述机器指纹和所述第一标识之后发送的成功响应。
第一客户端即云客户端和比特云服务器是通过安全连接的方式连接的,使用公私钥体系建立安全通道,保证数据的安全性。
需要说明的是,在步骤501之前,客户运行云客户端程序,并且开发商网站即第一服务器可获取云客户端的状态信息如运行状态等。
在具体操作中,客户在指定的机器安装云客户端,该机器负责授权本机或其他机器进行安全登陆。
运行云客户端软件,输入网站的登陆账号和口令,完成机器的授权绑定操作,一旦操作完成,该账号不可以和其他机器进行绑定了,该机器变成了授权机器。
举例来说,客户打开浏览器,访问受保护的网站,输入账号和口令,提交之后,显示Ticket,等待云客户端的确认操作,这时在云客户端输入上述的Ticket,进行确认,验证通过后,浏览器就可以正常访问了。
或,客户打开浏览器,访问受保护的网站,输入账号和口令,提交之后,通过开发商网站通过JSONP调用云客户端接口,传输Ticket,替代手工输入Ticket的过程。
对于盗用的用户,由于缺少云客户端的确认,所以无法进行登陆操作,这是一个双因素验证。
本实施例中,JSONP(JSON with Padding)是json的一种“使用模式”,可以让网页从其他的域名(网站)获取资料,即跨域读取数据。
由于同源策略,即一个网站无法从不同的域(网站)访问数据,需要JSONP来解决这个问题,本发明实施例中因为要在开发商网站中访问云客户端提供的数据,属于不同域的,所以只能通过JSONP读取。
实施例四
参见图6所示,本实施例提供一种基于浏览器的账户认证方法,该方法在执行主体为比特云服务器,其方法包括如下步骤:
601、比特云服务器接收第一服务器发送的账户信息和第一认证信息,所述账户信息为浏览器发送的用于登录网站的,且经过第一服务器验证后的信息,所述第一认证信息为所述第一服务器在验证所述账户信息之后生成的信息;
602、所述比特云服务器根据所述账户信息和所述第一认证信息,生成用于与第一客户端交互的第一标识,并将生成的第一标识发送所述第一服务器,以使所述第一服务器将所述第一标识发送所述第一客户端;
603、所述比特云服务器接收所述第一客户端发送的第一标识和机器指纹,所述机器指纹为所述第一客户端所在终端的机器指纹。
在其他实施例中,所述比特云服务器接收的第一标识和机器指纹还可以是云服务器对第一标识和机器指纹进行哈希处理后的信息。
604、所述比特云服务器根据预先设定的匹配策略对所述第一标识和所述机器指纹进行匹配,若匹配通过,则向所述第一客户端发送成功响应,以及向所述第一服务器发送所述浏览器可正常访问网站的第一响应。
举例来说,若开发商网站在与比特云服务器交互中使用了第一认证信息,则在第一响应中可包括所述第一认证信息中的部分或全部信息的响应。
当然,若开发商网站在与比特云服务器交互中未使用第一认证信息,则在第一响应中不包括所述第一认证信息。
前述的匹配策略可以根据实际需要进行修改,默认的匹配策略是:云客户端发送的指纹必须包含CPU、所有网卡、硬盘的逻辑序列号、BIOS和一个软指纹,比特云服务器验证BIOS必须严格匹配;硬盘不用匹配,仅作为返回数据的加密密钥的因子之一;网卡必须有,多个网卡指纹有一个匹配即可算匹配;CPU在其他所有指纹完全匹配的情况下,允许有两个值。
匹配策略可以根据机器的实际情况,通过配置文件进行设置不同的匹配策略。
在实际应用中,为了保证数据传输的安全性,在上述步骤602和步骤603中,比特云服务器与所述第一客户端的交互均通过公私钥方式建立的安全通道进行数据交互的。
本实施例的比特云服务器可以实现限制登陆机器的数量,实现有效防止开发商网站在其他非法机器登录的目的。
也就是说,客户在指定的机器安装云客户端,运行云客户端,在云浏览器中打开受保护的开发商网站,如在开发商网站的登录界面中输入网站账号和口令进行登陆,开发商网站产生Token,访问比特云服务器接口,比特云服务器产生用于认证的Ticket,然后开发商网站的网页脚本通过JSONP调用云客户端接口,并传递从比特云服务器获取的参数Ticket,或开发商网站显示Ticket,然后在云客户端输入Ticket,云客户端连接比特云服务器进行验证,发送所述Ticket和客户端机器指纹到比特云服务器,比特云服务器验证Ticket、账号和机器指纹,验证通过,直接打开默认浏览器进行网站访问,这样实现了机器和账号的绑定,只有该机器才可以能访问指定的账号,达到了限制账号登录机器的目的。
实施例五
另外,本发明实施例还提供一种服务器,如图8所示,本实施例的服务器可包括:存储器和处理器,所述存储器中存储指令,所述处理器执行所述存储器中存储的指令,其包括执行上述任意实施例所述的方法。
本实施例中的服务器可为上述的比特云服务器,其结构如图8所示。在另一方面,本实施例中的服务器可为上述的第一服务器,其结构如图8所示。
图8所示的服务器可包括:至少一个处理器81、至少一个存储器82、至少一个网络接口84和/或其他的用户接口83。电子设备中的各个组件通过总线系统85耦合在一起。可理解,总线系统85用于实现这些组件之间的连接通信。总线系统85除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线系统85。
本实施例的设备可以是包括浏览器的第一终端,也可以是包括第一客户端的第二终端,或者是第一服务器,其均可以执行前述的基于浏览器的账户认证方法的步骤。
其中,用户接口83可以包括显示器、键盘或者点击设备(例如,鼠标或者触感板等。
可以理解,本实施例中的存储器82可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-OnlyMemory,ROM)、可编程只读存储器(ProgrammableROM,PROM)、可擦除可编程只读存储器(ErasablePROM,EPROM)、电可擦除可编程只读存储器(ElectricallyEPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(RandomAccessMemory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(StaticRAM,SRAM)、动态随机存取存储器(DynamicRAM,DRAM)、同步动态随机存取存储器(SynchronousDRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(DoubleDataRateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(SynchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambusRAM,DRRAM)。本文描述的存储器82旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器82存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统821和应用程序822。
其中,操作系统821,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序822,包含各种应用程序,例如媒体播放器(MediaPlayer)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序822中。
在本发明实施例中,处理器81通过调用存储器82存储的程序或指令,具体的,可以是应用程序822中存储的程序或指令,处理器81用于执行第一方面、第二方面或第三方面所提供的方法步骤。
上述本发明实施例揭示的方法可以应用于处理器81中,或者由处理器81实现。处理器81可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器81中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器81可以是通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecific IntegratedCircuit,ASIC)、现成可编程门阵列(FieldProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器82,处理器81读取存储器82中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPDevice,DSPD)、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
根据本发明实施例的另一方面,本发明实施例还提供如下的方案:
1、一种基于浏览器的账户认证方法,其中,包括:
S1、第一服务器接收第一终端内浏览器发送的用于登录服务网站的账户信息,所述服务网站为所述第一服务器中的开发商网站;
S2、所述第一服务器验证所述账户信息,在验证通过之后,生成第一认证信息;
S3、所述第一服务器根据所述账户信息和所述第一认证信息与比特云服务器交互,获取用于与第一客户端交互的第一标识;所述第一客户端为第二终端内的用于获取该第二终端的机器指纹信息的客户端;
S4、所述第一服务器将所述第一标识发送所述第一客户端,以使所述第一客户端与所述比特云服务器交互,验证所述第一标识和所述第一客户端所属终端内的机器指纹是否正确;
S5、所述第一服务器接收所述浏览器可正常访问网站的第一响应,所述第一响应为所述比特云服务器根据匹配策略匹配所述第一标识和所述机器指纹之后返回的响应;所述第一服务器根据第一响应向所述第一终端内的浏览器发送正常访问的第二响应,所述第一响应包括所述第一认证信息中的部分或全部信息的响应。
2、根据1所述的方法,其中,所述第一终端和第二终端为同一个终端,且所述机器指纹为所述第一客户端在启动时预先获取的所述第二终端中的硬件信息;
或者,所述第一终端和第二终端为同一个终端,且所述机器指纹为所述第一客户端在连接所述比特云服务器时获取的所述第二终端中的硬件信息;
和/或,所述机器指纹包括下述信息中的至少两项:
CPU、网卡、硬盘、BIOS、位于第二终端内的比特ID。
3、根据2所述的方法,其中,所述S4、所述第一服务器将所述第一标识发送所述第一客户端,包括:
所述第一服务器通过JSONP调用所述第一客户端的接口,将所述第一标识发送所述第一客户端。
4、根据1所述的方法,其中,所述第一终端和所述第二终端不同,所述S4、所述第一服务器将所述第一标识发送所述第一客户端,包括:
所述第一服务器将所述第一标识对操作人员进行显示,以使所述操作人员将显示的所述第一标识输入至所述第二终端中的第二客户端中。
5、根据1至4任一所述的方法,其中,所述第一认证信息包括:第一随机数Token,或者,第一随机数和所述第一随机数的时效信息。
6、根据2所述的方法,其中,所述S4之前,所述方法还包括:
所述第一服务器获取所述第一客户端的状态;
若所述第一服务器未获取到所述第一客户端的状态,则向所述第一终端内浏览器发送用于安装所述第一客户端或用于启动所述第一客户端的提示信息。
7、一种基于浏览器的账户认证方法,其中,包括:
A1、第一客户端接收第一服务器发送的第一标识,所述第一标识为所述第一服务器在验证浏览器发送的用于登录的账户信息后,与比特云服务器交互获取的标识,所述浏览器位于第一终端内,且所述第一客户端位于第二终端内;
A2、所述第一客户端根据所述第二终端的机器指纹和所述第一标识,发送所述比特云服务器;
A3、所述第一客户端接收所述比特云服务器根据匹配策略匹配所述机器指纹和所述第一标识之后发送的成功响应。
8、根据7所述的方法,其中,所述第一终端和第二终端为同一个终端,且所述机器指纹为所述第一客户端在启动时预先获取的所述第二终端中的硬件信息;
和/或,所述机器指纹包括下述信息中的至少两项:
CPU、网卡、硬盘、BIOS、位于第二终端内的比特ID。
9、根据7所述的方法,其中,所述第一终端和第二终端为同一个终端,
所述A2、所述第一客户端根据所述第二终端的机器指纹和所述第一标识,发送所述比特云服务器,包括:
A2-1、所述第一客户端获取第二终端的机器指纹;
A2-2、将获取的机器指纹和所述第一标识发送所述比特云服务器;
或者,
A21、所述第一客户端获取第二终端的机器指纹;
A22、将获取的机器指纹进行哈希处理,并将哈希处理的结果和所述第一标识发送所述比特云服务器;或者,将获取的机器指纹和所述第一标识进行哈希处理,将哈希处理的结果发送所述比特云服务器。
10、根据7所述的方法,其中,在A2和A3中,所述第一客户端与所述比特云服务器的交互均通过公私钥方式建立的安全通道进行数据交互的。
11、根据7所述的方法,其中,所述第一终端和所述第二终端不同时,所述A1、第一客户端接收第一服务器发送的第一标识,包括:
所述第一客户端接收操作人员输入的所述第一标识,所述第一标识为所述第一服务器向操作人员显示的标识。
12、一种基于浏览器的账户认证方法,其特征在于,包括:
B1、比特云服务器接收第一服务器发送的账户信息和第一认证信息,所述账户信息为浏览器发送的用于登录网站的,且经过第一服务器验证后的信息,所述第一认证信息为所述第一服务器在验证所述账户信息之后生成的信息;
B2、所述比特云服务器根据所述账户信息和所述第一认证信息,生成用于与第一客户端交互的第一标识,并将生成的第一标识发送所述第一服务器,以使所述第一服务器将所述第一标识发送所述第一客户端;
B3、所述比特云服务器接收所述第一客户端发送的第一标识和机器指纹,所述机器指纹为所述第一客户端所在终端的机器指纹;
B4、所述比特云服务器根据预先设定的匹配策略对所述第一标识和所述机器指纹进行匹配,若匹配通过,则向所述第一客户端发送成功响应,以及向所述第一服务器发送所述浏览器可正常访问网站的第一响应。
13、根据11所述的方法,其中,所述第一响应包括所述第一认证信息中的部分或全部信息的响应。
14、根据11所述的方法,其中,所述第一客户端所在的终端与所述浏览器所在的终端一致。
15、根据11所述的方法,其中,
在B2和B3中,所述比特云服务器与所述第一客户端的交互均通过公私钥方式建立的安全通道进行数据交互的;
和/或,所述比特云服务器接收的第一标识和机器指纹是经过哈希处理后的信息。
16、一种服务器,其特征在于,包括:存储器和处理器,所述存储器中存储指令,所述处理器执行所述存储器中存储的指令,其包括执行上述1至6任一所述的方法,或者执行上述12至15任一所述的方法。
由于本发明上述实施例所描述的系统/装置,为实施本发明上述实施例的方法所采用的系统/装置,故而基于本发明上述实施例所描述的方法,本领域所属技术人员能够了解该系统/装置的具体结构及变形,因而在此不再赘述。凡是本发明上述实施例的方法所采用的系统/装置都属于本发明所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例,或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。
应当注意的是,在权利要求中,不应将位于括号之间的任何附图标记理解成对权利要求的限制。词语“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的词语“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的权利要求中,这些装置中的若干个可以是通过同一个硬件来具体体现。词语第一、第二、第三等的使用,仅是为了表述方便,而不表示任何顺序。可将这些词语理解为部件名称的一部分。
此外,需要说明的是,在本说明书的描述中,术语“一个实施例”、“一些实施例”、“实施例”、“示例”、“具体示例”或“一些示例”等的描述,是指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管已描述了本发明的优选实施例,但本领域的技术人员在得知了基本创造性概念后,则可对这些实施例作出另外的变更和修改。所以,权利要求应该解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种修改和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也应该包含这些修改和变型在内。

Claims (16)

1.一种基于浏览器的账户认证方法,其特征在于,包括:
S1、第一服务器接收第一终端内浏览器发送的用于登录服务网站的账户信息,所述服务网站为所述第一服务器中的开发商网站;
S2、所述第一服务器验证所述账户信息,在验证通过之后,生成第一认证信息;
S3、所述第一服务器根据所述账户信息和所述第一认证信息与比特云服务器交互,获取比特云服务器产生的用于与第一客户端交互的第一标识;所述第一客户端为第二终端内的云客户端,所述第一客户端用于在启动时获取该第二终端中的硬件信息并进行哈希运算以作为机器指纹信息,所述第一客户端支持自身设备和对应其他设备中多个不同浏览器的访问以使每一个开发商网站通过所属的浏览器访问、并支持管理多个开发商网站;所述第一客户端与比特云服务器之间的机器指纹信息的数据传输均是通过预先建立的数据传输安全通道进行传输的;所述第一客户端对应自身设备中的多个浏览器所属的开发商网站,且属于开机自启动的程序;第一客户端对应自身设备中的多个浏览器所属的开发商网站,或者对应其他设备中不同浏览器所属的开发商网站;
S4、所述第一服务器将所述第一标识发送所述第一客户端,以使所述第一客户端基于安全通道与所述比特云服务器交互,验证所述第一标识和所述第一客户端所属终端内的机器指纹是否正确;
S5、所述第一服务器接收所述浏览器可正常访问网站的第一响应,所述第一响应为所述比特云服务器根据匹配策略匹配所述第一标识和所述机器指纹之后返回的响应;所述第一服务器根据第一响应向所述第一终端内的浏览器发送正常访问的第二响应,所述第一响应包括所述第一认证信息中的部分或全部信息的响应;
若第一客户端所在设备中存在多个相同类型的组件,这些多个组件的指纹全部获取,第一客户端对这些组件的指纹进行哈希运算处理后发送比特云服务器,所述匹配策略为根据每一个账户信息单独设置的策略。
2.根据权利要求1所述的方法,其特征在于,所述第一终端和第二终端为同一个终端,且所述机器指纹为所述第一客户端在启动时预先获取的所述第二终端中的硬件信息;
或者,所述第一终端和第二终端为同一个终端,且所述机器指纹为所述第一客户端在连接所述比特云服务器时获取的所述第二终端中的硬件信息;
和/或,所述机器指纹包括下述信息中的至少两项:
CPU、网卡、硬盘、BIOS、位于第二终端内的比特ID。
3.根据权利要求2所述的方法,其特征在于,所述S4、所述第一服务器将所述第一标识发送所述第一客户端,包括:
所述第一服务器通过JSONP调用所述第一客户端的接口,将所述第一标识发送所述第一客户端。
4.根据权利要求1所述的方法,其特征在于,所述第一终端和所述第二终端不同,所述S4、所述第一服务器将所述第一标识发送所述第一客户端,包括:
所述第一服务器将所述第一标识对操作人员进行显示,以使所述操作人员将显示的所述第一标识输入至所述第二终端中的第二客户端中。
5.根据权利要求1至4任一所述的方法,其特征在于,所述第一认证信息包括:第一随机数Token,或者,第一随机数和所述第一随机数的时效信息。
6.根据权利要求2所述的方法,其特征在于,所述S4之前,所述方法还包括:
所述第一服务器获取所述第一客户端的状态;
若所述第一服务器未获取到所述第一客户端的状态,则向所述第一终端内浏览器发送用于安装所述第一客户端或用于启动所述第一客户端的提示信息。
7.一种基于浏览器的账户认证方法,其特征在于,包括:
A1、第一客户端接收第一服务器发送的第一标识,所述第一标识为所述第一服务器在验证浏览器发送的用于登录的账户信息后,与比特云服务器交互获取的该比特云服务器产生的标识,所述浏览器位于第一终端内,且所述第一客户端位于第二终端内的云客户端,所述第一客户端用于在启动时获取该第二终端中的硬件信息并进行哈希运算以作为机器指纹信息,所述第一客户端支持自身设备和对应其他设备中多个不同浏览器的访问以使每一个开发商网站通过所属的浏览器访问、并支持管理多个开发商网站,所述第一客户端与比特云服务器之间的机器指纹信息的数据传输均是通过预先建立的数据传输安全通道进行传输的,所述第一客户端对应自身设备中的多个浏览器所属的开发商网站,且属于开机自启动的程序;第一客户端对应自身设备中的多个浏览器所属的开发商网站,或者对应其他设备中不同浏览器所属的开发商网站;
A2、所述第一客户端根据所述第二终端的机器指纹和所述第一标识,基于安全通道发送所述比特云服务器;
A3、所述第一客户端接收所述比特云服务器根据匹配策略匹配所述机器指纹和所述第一标识之后发送的成功响应;
若第一客户端所在设备中存在多个相同类型的组件,这些多个组件的指纹全部获取,第一客户端对这些组件的指纹进行哈希运算处理后发送比特云服务器,所述匹配策略为根据每一个账户信息单独设置的策略。
8.根据权利要求7所述的方法,其特征在于,
所述第一终端和第二终端为同一个终端,且所述机器指纹为所述第一客户端在启动时预先获取的所述第二终端中的硬件信息;
和/或,所述机器指纹包括下述信息中的至少两项:
CPU、网卡、硬盘、BIOS、位于第二终端内的比特ID。
9.根据权利要求7所述的方法,其特征在于,所述第一终端和第二终端为同一个终端,
所述A2、所述第一客户端根据所述第二终端的机器指纹和所述第一标识,发送所述比特云服务器,包括:
A2-1、所述第一客户端获取第二终端的机器指纹;
A2-2、将获取的机器指纹和所述第一标识发送所述比特云服务器;
或者,
A21、所述第一客户端获取第二终端的机器指纹;
A22、将获取的机器指纹进行哈希处理,并将哈希处理的结果和所述第一标识发送所述比特云服务器;或者,将获取的机器指纹和所述第一标识进行哈希处理,将哈希处理的结果发送所述比特云服务器。
10.根据权利要求7所述的方法,其特征在于,在A2和A3中,所述第一客户端与所述比特云服务器的交互均通过公私钥方式建立的安全通道进行数据交互的。
11.根据权利要求7所述的方法,其特征在于,所述第一终端和所述第二终端不同时,所述A1、第一客户端接收第一服务器发送的第一标识,包括:
所述第一客户端接收操作人员输入的所述第一标识,所述第一标识为所述第一服务器向操作人员显示的标识。
12.一种基于浏览器的账户认证方法,其特征在于,包括:
B1、比特云服务器接收第一服务器发送的账户信息和第一认证信息,所述账户信息为浏览器发送的用于登录网站的,且经过第一服务器验证后的信息,所述第一认证信息为所述第一服务器在验证所述账户信息之后生成的信息;
B2、所述比特云服务器根据所述账户信息和所述第一认证信息,生成用于与第一客户端交互的第一标识,并将生成的第一标识发送所述第一服务器,以使所述第一服务器将所述第一标识发送所述第一客户端;所述第一客户端为第二终端内的云客户端,所述第一客户端用于在启动时获取第二终端中的硬件信息并进行哈希运算以作为机器指纹信息,所述第一客户端支持自身设备和对应其他设备中多个不同浏览器的访问以使每一个开发商网站通过所属的浏览器访问、并支持管理多个开发商网站,所述第一客户端与比特云服务器之间的机器指纹信息的数据传输均是通过预先建立的数据传输安全通道进行传输的,所述第一客户端对应设备中的多个浏览器所属的开发商网站,且属于开机自启动的程序;第一客户端对应自身设备中的多个浏览器所属的开发商网站,或者对应其他设备中不同浏览器所属的开发商网站;
B3、所述比特云服务器基于安全通道接收所述第一客户端发送的第一标识和机器指纹,所述机器指纹为所述第一客户端所在终端的机器指纹;
B4、所述比特云服务器根据预先设定的匹配策略对所述第一标识和所述机器指纹进行匹配,若匹配通过,则向所述第一客户端发送成功响应,以及向所述第一服务器发送所述浏览器可正常访问网站的第一响应;
若第一客户端所在设备中存在多个相同类型的组件,这些多个组件的指纹全部获取,第一客户端对这些组件的指纹进行哈希运算处理后发送比特云服务器,所述匹配策略为根据每一个账户信息单独设置的策略。
13.根据权利要求12所述的方法,其特征在于,所述第一响应包括所述第一认证信息中的部分或全部信息的响应。
14.根据权利要求12所述的方法,其特征在于,所述第一客户端所在的终端与所述浏览器所在的终端一致。
15.根据权利要求12所述的方法,其特征在于,
在B2和B3中,所述比特云服务器与所述第一客户端的交互均通过公私钥方式建立的安全通道进行数据交互的;
和/或,所述比特云服务器接收的第一标识和机器指纹是经过哈希处理后的信息。
16.一种服务器,其特征在于,包括:存储器和处理器,所述存储器中存储指令,所述处理器执行所述存储器中存储的指令,其包括执行上述权利要求1至6任一所述的方法,或者执行上述权利要求12至15任一所述的方法。
CN202010196125.1A 2020-03-19 2020-03-19 基于浏览器的账户认证方法及服务器 Active CN111404946B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010196125.1A CN111404946B (zh) 2020-03-19 2020-03-19 基于浏览器的账户认证方法及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010196125.1A CN111404946B (zh) 2020-03-19 2020-03-19 基于浏览器的账户认证方法及服务器

Publications (2)

Publication Number Publication Date
CN111404946A CN111404946A (zh) 2020-07-10
CN111404946B true CN111404946B (zh) 2023-06-06

Family

ID=71431022

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010196125.1A Active CN111404946B (zh) 2020-03-19 2020-03-19 基于浏览器的账户认证方法及服务器

Country Status (1)

Country Link
CN (1) CN111404946B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114124439B (zh) * 2021-09-29 2024-01-05 印嘉商用科技(深圳)有限公司 登录鉴权方法、装置、设备与存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102916998A (zh) * 2012-03-26 2013-02-06 上海方正数字出版技术有限公司 一种基于云计算的网络公共白板系统及方法
CN105430014A (zh) * 2015-12-30 2016-03-23 福建亿榕信息技术有限公司 一种单点登录方法及其系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102655494B (zh) * 2011-03-01 2017-04-12 瑞典爱立信有限公司 一种基于saml的单点登录模式设计的认证平台
CN102752319B (zh) * 2012-07-31 2015-02-11 广州市品高软件开发有限公司 一种云计算安全访问方法、装置及系统
US10135805B2 (en) * 2013-10-31 2018-11-20 Cellco Partnership Connected authentication device using mobile single sign on credentials
US11115417B2 (en) * 2015-05-19 2021-09-07 Microsoft Technology Licensing, Llc. Secured access control to cloud-based applications
CN105072123B (zh) * 2015-08-21 2018-06-19 广州博鳌纵横网络科技有限公司 一种集群环境下的单点登陆退出方法及系统
CN107819570A (zh) * 2016-09-10 2018-03-20 长沙有干货网络技术有限公司 一种基于可变Cookie的跨域单点登录方法
US11153305B2 (en) * 2018-06-15 2021-10-19 Canon U.S.A., Inc. Apparatus, system and method for managing authentication with a server
CN110162936B (zh) * 2019-05-31 2020-03-31 北京比特安索信息技术有限公司 一种软件内容的使用授权方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102916998A (zh) * 2012-03-26 2013-02-06 上海方正数字出版技术有限公司 一种基于云计算的网络公共白板系统及方法
CN105430014A (zh) * 2015-12-30 2016-03-23 福建亿榕信息技术有限公司 一种单点登录方法及其系统

Also Published As

Publication number Publication date
CN111404946A (zh) 2020-07-10

Similar Documents

Publication Publication Date Title
US11843592B2 (en) Resetting managed security credentials
US9660982B2 (en) Reset and recovery of managed security credentials
EP2314046B1 (en) Credential management system and method
CA2448853C (en) Methods and systems for authentication of a user for sub-locations of a network location
CN111181977B (zh) 一种登录方法、装置、电子设备及介质
US8819795B2 (en) Presenting managed security credentials to network sites
US8776194B2 (en) Authentication management services
US8713644B2 (en) System and method for providing security in browser-based access to smart cards
CA2708059C (en) System and method for dynamic, multi-attribute authentication
MX2008011277A (es) Pase digital para la descripcion funcional de la red.
CN109842616B (zh) 账号绑定方法、装置及服务器
Sciarretta et al. Anatomy of the Facebook solution for mobile single sign-on: Security assessment and improvements
CN111404946B (zh) 基于浏览器的账户认证方法及服务器
CN112929388B (zh) 网络身份跨设备应用快速认证方法和系统、用户代理设备
EP3036674B1 (en) Proof of possession for web browser cookie based security tokens
Sciarretta et al. Security of Mobile Single Sign-On: A Rational Reconstruction of Facebook Login Solution.
JP7403430B2 (ja) 認証装置、認証方法及び認証プログラム
US20230076454A1 (en) Web authentication for native application
CN117609980A (zh) 登录验证方法、装置、电子设备及存储介质
CN115085937A (zh) 一种无服务端的授权方法、装置及电子设备
CN116015710A (zh) 一种客户端自动认证登录方法、装置、终端及存储介质
KR20090106368A (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
GR01 Patent grant
GR01 Patent grant