CN107079026B - 配对客户端应用实例与用户账户的方法、系统和存储介质 - Google Patents

配对客户端应用实例与用户账户的方法、系统和存储介质 Download PDF

Info

Publication number
CN107079026B
CN107079026B CN201580059451.5A CN201580059451A CN107079026B CN 107079026 B CN107079026 B CN 107079026B CN 201580059451 A CN201580059451 A CN 201580059451A CN 107079026 B CN107079026 B CN 107079026B
Authority
CN
China
Prior art keywords
instance
client application
remote service
application
computing device
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.)
Expired - Fee Related
Application number
CN201580059451.5A
Other languages
English (en)
Other versions
CN107079026A (zh
Inventor
V·科里亚
H·马彻兹
R·本德
J·卡里安
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN107079026A publication Critical patent/CN107079026A/zh
Application granted granted Critical
Publication of CN107079026B publication Critical patent/CN107079026B/zh
Expired - Fee Related 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • G06F21/35User authentication involving the use of external additional devices, e.g. dongles or smart cards communicating wirelessly
    • 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/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/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/065Continuous authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本文中公开的示例涉及从客户端应用的实例获得设备指纹。示例包括基于设备上下文信息将目标设备指纹与远程服务中的目标用户账户相关联,并且从未配对的客户端应用的实例获得应用设备指纹。

Description

配对客户端应用实例与用户账户的方法、系统和存储介质
背景技术
通过可经由至少一个计算机网络访问的计算资源实现的远程服务可以将用户的数据与相应的用户账户相关联。例如,诸如云数据存储服务的远程服务可以将用户的数据与用户在该服务中的账户相关联。在这样的示例中,用户可以登录到服务以访问与用户的账户相关联的数据。
发明内容
在本发明的第一个方面,提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质包括指令,所述指令可被远程服务的处理资源执行用以:从客户端计算设备上的web浏览器获得用于所述远程服务的目标用户账户的登录信息;从所述web浏览器获得用于所述客户端计算设备的设备上下文信息;基于所获得的设备上下文信息将目标设备指纹与所述远程服务中的所述目标用户账户相关联;从未配对的客户端应用的实例获得由所述客户端应用的实例基于用于包括所述客户端应用的实例的计算设备的设备上下文信息确定的应用设备指纹;以及响应于确定了所述应用设备指纹与所述目标设备指纹匹配,基于所获得的应用设备指纹且在没有用户输入的情况下将所述客户端应用的实例与所述目标用户账户配对。
在本发明的第二个方面,提供了一种用以至少部分地实现远程服务的系统,所述系统包括:登录引擎,以基于从客户端计算设备上的web浏览器获得的登录信息来登录到所述远程服务的目标用户账户;信息引擎,以从所述web浏览器获得用于所述客户端计算设备的设备上下文信息;关联引擎,以基于所获得的设备上下文信息将目标设备指纹与所述远程服务中所登录的目标用户账户相关联;获得引擎,以从未配对的客户端应用的实例获得由所述客户端应用的实例基于用于包括所述客户端应用的实例的计算设备的设备上下文信息确定的应用设备指纹;确定引擎,以确定所述应用设备指纹是否与跟所述远程服务的各用户账户相关联的多个设备指纹中的任何相匹配;以及配对引擎,以响应于确定了所述应用设备指纹与所述目标设备指纹匹配,基于所获得的应用设备指纹且在没有用户输入的情况下,将所述客户端应用的实例与所述目标用户账户配对。
在本发明的第二个方面,提供了一种用于将客户端应用的实例与用户账户配对的方法,包括:基于从客户端计算设备的web浏览器获得的账户登录信息来提供对远程服务的目标用户账户的web浏览器访问;响应于经由所述web浏览器进行的与下载客户端应用的实例相关联的链接的选择,向所述web浏览器提供至少一个网页以引起所述web浏览器收集并向所述远程服务提供用于所述客户端计算设备的设备上下文信息;基于由所述web浏览器提供给所述远程服务的用于所述客户端计算设备的所述设备上下文信息、用所述远程服务的处理资源生成目标设备指纹;将所述目标设备指纹与所述远程服务的账户储存库中所登录的目标用户账户相关联;从未配对的客户端应用的实例获得由所述客户端应用的实例基于用于包括所述客户端应用的实例的计算设备的设备上下文信息确定的应用设备指纹;以及基于所述应用设备指纹是否与所述目标设备指纹匹配,确定是否在没有用户输入的情况下将所述客户端应用的实例与所述目标用户账户进行配对。
附图说明
以下详细描述参考附图,其中:
图1是用以基于应用设备指纹将客户端应用的实例与用户账户配对的示例计算设备的框图;
图2是包括远程服务的示例计算环境的框图,所述远程服务包括用以在没有用户输入的情况下将客户端应用的实例与用户账户配对的系统;
图3是用于基于应用设备指纹且在没有用户输入的情况下将客户端应用的实例与用户账户配对的示例方法的流程图;以及
图4是用于获得由未配对的客户端应用的实例基于设备上下文信息确定的应用设备指纹的示例方法的流程图。
具体实施方式
如上所述,使用可经由(一个或多个)计算机网络访问的远程服务可以涉及到登录到用户账户中以访问远程服务中的数据。在一些示例中,远程服务(诸如基于云的数据存储服务)可以提供在诸如智能手机、平板、膝上型计算机等的移动计算设备上利用的相关联的客户端应用(或“app”)。在这样的示例中,在经由web浏览器登录到远程服务之后,用户可以下载针对该远程服务的客户端应用,并然后将与用户的账户相关联的登录凭证手动地输入到客户端应用以访问远程服务和用户在该远程服务中的数据。
然而,手动地输入这样的凭证对用户来说可能是不方便的、在小的触摸屏上完成可能是难以处理的等等。随着用于访问这样的服务的移动设备的数量大大增加,这些困难对于希望在多个不同设备上使用客户端应用实例的用户来说同样可能是大大增加的。
为了解决这些问题,本文中描述的示例可以通过将针对用来访问远程服务的客户端计算设备的设备指纹与用户账户相关联来简化客户端应用登记过程。在本文中描述的一些示例中,可以使用指纹来在未配对的客户端应用的实例处于先前经由web浏览器登录了的同一客户端计算设备上时进行确定。响应于这样的确定,本文中描述的示例可以将客户端计算设备上的客户端应用的实例与先前经由浏览器登录的用户账户进行配对,而无需通过下载的客户端应用进行的账户凭证的用户输入。
在本文中描述的示例中,远程服务可以从客户端计算设备上的web浏览器获得用于远程服务的目标用户账户的登录信息,从web浏览器获得用于客户端计算设备的设备上下文信息,以及基于所获得的设备上下文信息将目标设备指纹与远程服务中的目标用户账户相关联。在本文中描述的一些示例中,远程服务可以进一步从未配对的客户端应用的实例获得由客户端应用的实例基于用于包括客户端应用的实例的计算设备的设备上下文信息确定的应用设备指纹,并且可以响应于应用设备指纹与目标设备指纹相匹配的确定来基于所获得的应用设备指纹且在没有用户输入的情况下将客户端应用的实例与目标用户账户配对。
在本文中描述的一些示例中,目标设备指纹可以是基于从计算设备上的web浏览器得到且用于登录到目标用户账户的用于计算设备的设备上下文信息。在这样的示例中,目标设备指纹可以表示用web浏览器登录到目标用户账户中的计算设备的身份。在一些示例中,从客户端应用的实例获得的应用设备指纹也可以是基于用于在其上下载所述实例的计算设备的设备上下文信息。在这样的示例中,应用设备指纹可以表示在其上下载客户端应用的实例的计算设备的身份。在这样的示例中,应用设备指纹与目标设备指纹匹配的确定可以指示客户端应用的实例被下载在先前登录到了目标用户账户的计算设备上。在一些示例中,基于这样的匹配,本文中描述的示例可以响应于该匹配且在没有用户输入的情况下将客户端应用的实例与目标用户账户配对。以这种方式,本文中描述的示例可以简化客户端应用登记过程,使得可以将客户端应用的实例与远程服务配对,而无需用户将凭证输入到下载并安装的客户端应用实例中。
现在参考附图,图1是包括用以基于应用设备指纹将客户端应用的实例194与用户账户配对的计算设备100的示例计算环境101的框图。在图1的示例中,计算环境101包括至少部分地由包括计算设备100的至少一个计算设备实现的远程服务105。
计算设备100包括处理资源110和包括指令122-126(例如,编码有指令122-126)的机器可读存储介质120。在一些示例中,存储介质120可以包括附加的指令。在一些示例中,指令122-126以及在本文中关于存储介质120描述的任何其它指令可以是处理资源110可执行的,并且可以被存储在远离计算设备100和处理资源110但可(例如,经由计算机网络)对其进行访问的机器可读存储介质上。在本文中描述的示例中,处理资源可以包括例如包括在单个计算设备中的或者跨多个计算设备分布的一个处理器或多个处理器。如本文中所使用的,“计算设备”可以是台式计算机、笔记本计算机、工作站、平板计算机、移动电话、智能设备(例如,智能电话)、服务器、刀片机箱、打印设备或任何其它处理设备或装备。
在本文中描述的示例中,“远程服务”可以是由与可用于经由至少一个计算机网络访问(一个或多个)服务的客户端计算设备分离且不与其直接相连的(一个或多个)计算设备实现的服务或服务的集合。在图1的示例中,计算设备100可以包括至少一个网络接口设备(例如,诸如在图2中所图示的网络接口设备240)。在本文中描述的示例中,“网络接口设备”可以是用以通过至少一个计算机网络进行通信的硬件设备。在一些示例中,网络接口可以是网络接口卡(NIC)等。如本文中所使用的,计算机网络可以包括例如(一个或多个)局域网(LAN)、(一个或多个)无线局域网(WLAN)、(一个或多个)虚拟私人网(VPN)、互联网、(一个或多个)电话网络(例如,(一个或多个)蜂窝电话网络)等,或其组合。在本文中描述的示例中,远程服务105的计算设备100可以使用至少一个网络接口设备经由(一个或多个)计算机网络与(一个或多个)客户端计算设备(例如,计算环境101的客户端计算设备190)通信。
在图1的示例中,指令122可以从客户端计算设备190上的web浏览器192获得用于远程服务的目标用户账户的登录信息180。例如,web浏览器192可以导航到用于远程服务105的登录页面,并且web浏览器192可以(例如,经由用户输入或从客户端计算设备190的存储器)得到用于目标用户账户的登录信息180并将它们提供给远程服务105。在这样的示例中,指令122可以从web浏览器192获得登录信息180(例如,凭证)(诸如用户名(例如,电子邮件地址)和密码),确定登录信息180是否是有效的(例如,对应于由远程服务存储的针对特定用户账户的登录信息)。当登录信息180是有效的时,指令122可以向客户端计算设备190的web浏览器192提供对远程服务105的访问以及与跟登录信息180相关联的目标用户账户相关联的数据。
在本文中描述的示例中,计算设备、系统、指令或其引擎等可以主动地“获得”(例如,检索等)或被动地“获得”(例如,接收等)信息。在本文中描述的示例中,“客户端计算设备”可以是如本文中描述的任何类型的计算设备,包括移动计算设备(诸如移动电话)、智能设备(例如,智能电话)、平板计算机、膝上型计算机,或包括在未连接到外部电源时能够为设备供电的便携式能源(例如,电池等)的任何其它类型的计算设备。在本文中描述的示例中,客户端计算设备上的“web浏览器”或“浏览器”可以是任何合适的计算机应用(即机器可读指令),当其被安装在客户端计算设备上时,可以被执行以例如访问并导航(例如,万维网上的)网页、在客户端计算设备上显示网页的内容以及执行(一个或多个)网页的机器可读指令(例如,JAVASCRIPT等)等等。
在图1的示例中,指令123可以从客户端计算设备190的web浏览器192获得用于客户端计算设备190的设备上下文信息182。例如,web浏览器192可以收集用于客户端计算设备190的设备上下文信息182并将其返回到远程服务105。在一些示例中,web浏览器192可以访问包含机器可读指令的远程服务105(例如,由其服务)的网页,当所述机器可读指令由web浏览器192执行时引起web浏览器192收集设备上下文信息182。
在一些示例中,计算设备190的用户可以通过将客户端计算设备190的web浏览器192导航到包括一个或多个网页的远程服务105的门户网站来访问远程服务105。在这样的示例中,如上所述,指令122可以从web浏览器192获得登录信息180,并且用户可以与目标用户账户相关联地登录到远程服务105中。在一些示例中,登录到目标用户账户中的用户可以选择经由远程服务105的门户网站下载客户端应用。例如,由远程服务105服务的网页中的至少一个可以提供用户可以经由web浏览器192点击或以其它方式进行选择以下载客户端应用(诸如用于远程服务105的客户端应用)(即可用于访问远程服务105的服务,诸如用于该目的的专用应用)的链接或其它元素。
在这样的示例中,响应于用以下载客户端应用的链接或其它元素的选择,指令123可以从web浏览器192获得设备上下文信息182。例如,响应于链接(或其它元素)的选择,远程服务105可以供应包括机器可读指令(例如,JAVASCRIPT代码等)的网页,当所述机器可读指令由web浏览器192执行时引起浏览器从客户端计算设备190收集(一条或多条)设备上下文信息并将其作为设备上下文信息182返回到远程服务105。
在本文中描述的示例中,设备上下文信息182可以包含一条或多条设备上下文信息。在本文中描述的示例中,用于计算设备的一条“设备上下文信息”可以是描述计算设备的计算上下文的至少一个方面(至少包括计算设备的硬件、软件和配置)的一条信息。用于计算设备的设备上下文信息条目的示例包括,用于计算设备的屏幕宽度(例如,以像素或任何其它合适的单位的宽度值的字符串表示,诸如“200”)、用于计算设备的屏幕高度(例如,以像素或任何其它合适的单位的高度值的字符串表示,诸如“320”)、用于计算设备的计算平台类型(例如,诸如“IPHONE”的字符串)、用于计算设备的(一个或多个)本地互联网协议(IP)地址(例如,诸如“192.168.0.1”等的一个或多个字符串)、用于计算设备的(一个或多个)外部IP地址(例如,诸如“16.127.74.120”等的一个或多个字符串)等等。在其它示例中,可以将其它合适的信息条目用作设备上下文信息的至少一部分。
在本文中描述的一些示例中,用于计算设备的每条设备上下文信息是web浏览器(当在计算设备上执行时)和客户端应用的实例(当在计算设备上执行时)二者都可访问的信息。在这样的示例中,每条设备上下文信息都是通过计算设备上的web浏览器和计算设备上的客户端应用的实例二者可得到的。在本文中描述的示例中,本地IP地址可以是用于在局域网(LAN)内识别或连接到计算设备的IP地址和用于连接到LAN的路由器的内部LAN IP地址。在本文中描述的示例中,外部IP地址可以是用于从计算设备连接到的LAN外部识别或连接到计算设备的IP地址(例如,可以从LAN外部(诸如从互联网)访问LAN的路由器的IP地址)。
在一些示例中,单独的每条设备上下文信息可以用合适的字符串(其可以包括空格等)来体现。例如,在图1的示例中,web浏览器192可以返回以下设备上下文信息条目作为设备上下文信息182:屏幕宽度“200”、屏幕高度“320”、平台名称“IPHONE”、本地IP地址“192.168.0.1”和“16.15.14.13”以及外部IP地址“16.127.74.120”。在其它示例中,可以以任何合适的格式通过指令123获得设备上下文信息。
在图1的示例中,指令124可以基于所获得的设备上下文信息182将目标设备指纹与远程服务105中的目标用户账户相关联。在一些示例中,指令124可以基于从客户端计算设备190的web浏览器192获得的用于客户端计算设备190的设备上下文信息182来生成目标设备指纹(诸如在图2中所图示的目标设备指纹252)。在本文中描述的示例中,计算设备的“设备指纹”(其可以被称为“设备上下文指纹”)是表示计算设备的计算上下文的至少一个方面的信息。在一些示例中,设备指纹可以基于设备上下文信息来生成,或者可以另外包括基于设备上下文信息的信息的集合。
作为一个示例,指令124可以通过(以所定义的次序)连结设备上下文信息182的字符串并然后对结果应用散列函数来生成目标设备指纹。例如,指令124可以将设备上下文信息182的条目连结为管道分隔的字符串,诸如<外部IP>|<宽度>|<高度>|<平台>|<本地IP>。在这样的示例中,指令124可以从以上描述的示例设备上下文信息条目生成以下连结的字符串:“16.127.74.120|200|320|IPHONE|192.168.0.116.15.14.13”。在一些示例中,指令124可以将任何合适的散列函数应用于连结字符串以生成目标设备指纹。例如,继续上述示例,指令124可以将SHA-1散列函数应用于连结字符串“16.127.74.120|200|320|IPHONE|192.168.0.116.15.14.13”以得到与目标设备指纹不同的字符串(例如,“735570ddf460c5e0a0469448987becb84befa7f9”)。在这样的示例中,目标设备指纹可以体现为单个字符串。在这样的示例中,由远程服务105利用的每个设备指纹可以体现为相应的字符串。在一些示例中,可以将散列函数应用于连结字符串以例如出于安全目的混淆字符串中的设备上下文信息、或缩短所产生指纹的长度或两者兼而有之。在这样的示例中,可以应用任何合适的技术来处理连结字符串以混淆信息、缩短字符串或两者兼而有之。可以应用的其它技术的示例包括根据合适的格式或技术对连结字符串进行加密或以其它方式对连结字符串进行编码。在其它示例中,指令124可以省略对连结字符串的散列化、加密或其它编码而将连结字符串视为设备指纹。
虽然以上描述了用于将设备上下文信息连结成单个字符串的一个示例技术,但是在本文中描述的示例中,指令124可以在目标设备指纹的生成中以任何合适的方式从设备上下文信息182条目生成单个字符串。例如,指令124可以以任何合适的方式连结设备上下文信息182条目,或者可以根据JAVASCRIPT对象标记(JSON)格式或任何其它合适的格式将信息格式化为字符串。在其它示例中,可以通过指令123从web浏览器192获得更多条设备上下文信息、更少条设备上下文信息、不同的设备上下文信息条目或其组合作为设备上下文信息182,并由指令124用来生成目标设备指纹。在一些示例中,指令124可以在基于归一化信息生成目标设备指纹之前酌情对(一条或多条)设备上下文信息182进行归一化。
在这样的示例中,在指令124生成目标设备指纹之后,指令124可以以任何合适的方式将目标设备指纹与远程服务105中的目标用户账户相关联。在一些示例中,远程服务105可以包括或以其它方式能够访问包括针对用于远程服务105的每个用户账户的用户账户信息(诸如登录信息等)的账户储存库(例如,数据库等)。在这样的示例中,指令124可以将目标设备指纹与远程服务105的账户储存库中的目标用户账户相关联(例如,如针对图2中图示出的目标设备指纹252与账户储存库230所图示的)。例如,指令124可以将目标设备指纹存储为与目标用户账户相关联地存储的信息集合的一部分。在本文中描述的示例中,账户储存库可以至少部分地由用以存储包含在账户储存库中的信息的至少一个机器可读存储介质来实现。
在图1的示例中,指令125可以从未配对的客户端应用的实例194获得由客户端应用的实例194基于用于包括客户端应用的实例194的客户端计算设备190的设备上下文信息确定的应用设备指纹186。在本文中描述的示例中,客户端应用(及其每个实例)可以是至少部分地由机器可读指令实现并且可由计算设备(例如,客户端计算设备190)执行的计算机应用。
在这样的示例中,在实例194已被下载在客户端计算设备190上之后,指令125可以从客户端应用的实例194获得应用设备指纹186。如上所述,在一些示例中,登录到目标用户账户中的用户可以选择经由远程服务105的门户网站下载客户端应用。响应于下载客户端应用的链接(或其它元素)的选择,远程服务105可以供应包括机器可读指令的网页,以引起浏览器从客户端计算设备190收集(一条或多条)设备上下文信息并将其作为设备上下文信息182返回到远程服务105。在这样的示例中,在web浏览器192提供设备上下文信息182之后,网页然后可以使得能够实现客户端计算设备190以任何合适的方式下载客户端应用的实例。
例如,例如(按照在所供应的网页中实现的那样)在web浏览器192向远程服务105提供设备上下文信息182之后或者在远程服务105向web浏览器192确认已经接收并处理了设备上下文信息182(例如,已经成功地生成了设备指纹)之后,网页可以将web浏览器192重新定向到在其处可以将客户端应用的实例下载到客户端计算设备190的另一网页。在一些示例中,所述确认也可以包含用以将web浏览器192重新定向到其以下载客户端应用的实例的统一资源定位符(URL)。在其它示例中,网页本身可以包含用以触发客户端应用的实例的下载的链接(或其它元素),或者本身可以触发将客户端应用的实例到客户端计算设备190的下载。例如,在web浏览器192向远程服务105提供设备上下文信息182之后或者在远程服务105向web浏览器192确认已接收并处理了设备上下文信息182(例如,已成功地生成了设备指纹)之后,网页可以触发下载。
在一些示例中,在下载客户端应用的实例194之后,客户端计算设备190可以(例如,自动地或响应于用户输入)安装客户端应用的实例194。所下载的客户端应用的实例194可以是未配对的客户端应用的实例。在本文中描述的示例中,将客户端应用的实例“配对”是将客户端应用的实例与远程服务的给定的用户账户相关联,使得客户端应用的实例能够与给定的用户账户相关联地访问远程服务(即访问远程服务和与给定用户账户相关联的信息),而无需提示客户端应用的实例的用户输入任何登录信息或(一个或多个)凭证。在本文中描述的示例中,“未配对的”客户端应用的实例是尚未与远程服务的任何用户账户配对的实例,而“配对的”客户端应用的实例是已经与远程服务的用户账户配对的实例。
在一些示例中,或者在安装过程期间或者在安装过程之后运行客户端应用的实例194(例如,安装之后第一次运行实例)时,客户端应用的实例194可以从客户端计算设备190收集设备上下文信息182,包括由web浏览器192如上文描述的那样先前收集的相同的设备上下文信息182条目。例如,如上所述,用于计算设备190的每条设备上下文信息182可以是客户端计算设备190上的客户端应用的实例194和web浏览器192二者都可访问的信息。在这样的示例中,web浏览器192和客户端应用实例194可以从客户端计算设备190得到相同的设备上下文信息182。
在这样的示例中,在从客户端计算设备190收集设备上下文信息182之后,客户端应用的实例194可以基于设备上下文信息182向远程服务105提供应用设备指纹186。在一些示例中,客户端应用的实例194可以以与指令124从设备上下文信息确定指纹的相同的方式基于设备上下文信息182来确定应用设备指纹186,以促进应用设备指纹186与由指令124针对各种用户账户生成的其它指纹的比较。例如,在其中指令124通过(以所定义的次序)连结设备上下文信息182的字符串并然后对结果应用散列函数来生成目标设备指纹的示例中,客户端应用的实例194可以以相同的方式基于设备上下文信息182来生成应用设备指纹186,并且然后将指纹186提供给远程服务105。在一些示例中,在发起将客户端应用的实例194安装在客户端计算设备190上之后,实例194可以收集设备上下文信息182并向远程服务105提供应用设备指纹186,而无需用户输入。在其它示例中,在发起客户端应用的实例194到客户端计算设备190的下载之后,实例194可以收集设备上下文信息182并向远程服务105提供应用设备指纹186,而无需用户输入。
在图1的示例中,指令125可以获得由未配对的客户端应用的实例194如上所述地确定和提供的应用设备指纹186。在这样的示例中,指令126可以将应用设备指纹186与跟远程服务105的用户账户相关联的设备指纹进行比较,以确定应用设备指纹186是否与跟远程服务105的各用户账户相关联地存储在账户储存库中的任何设备指纹相匹配。例如,指令126可以将应用设备指纹186与跟用于远程服务105的各用户账户相关联的设备指纹(其可以被存储在以上描述的账户储存库中)进行比较,直到找到与应用设备指纹186匹配的设备指纹,或者直到确定与各用户账户相关联的所存储的设备指纹中没有一个与应用设备指纹186匹配。
在如上所述的其中每个设备指纹是单个字符串的示例中,那么当两个设备指纹相同(例如,完全相同、包含相同的字符序列等)时,指令126可以确定那两个设备指纹匹配。
在图1的示例中,基于(一次或多次)比较,指令126可以确定应用设备指纹186与如上所述基于从web浏览器192获得的设备上下文信息182确定的目标设备指纹匹配。在这样的示例中,响应于应用设备指纹186与目标设备指纹匹配的确定,指令126可以基于所获得的应用设备指纹并且在没有用户输入的情况下将客户端应用的实例194与目标用户账户配对。在这样的示例中,指令126可以基于应用设备指纹186(例如,基于应用设备指纹186与目标设备指纹之间的匹配)并且在没有到客户端计算设备190上的客户端应用的实例194的任何登录信息的用户输入的情况下将客户端应用的实例194与目标用户账户配对。
在这样的示例中,客户端计算设备190的用户可以提供用户输入以选择安装(或下载)客户端应用的实例194,并且作为响应,指令125可以从实例194获得应用设备指纹186并且确定该应用设备指纹186与目标设备指纹匹配。响应于该确定,指令126可以在选择安装(或下载)客户端应用的实例194的输入之后完全再无任何进一步的用户输入的情况下(例如,在没有登录信息或凭证到客户端应用的实例194中的用户输入的情况下)将实例194与目标用户账户配对。
在一些示例中,为了将客户端应用的实例194与目标用户账户配对,指令126可以向客户端应用的实例194提供与远程服务105中的目标用户账户相关联的至少一条信息188。例如,所述至少一条信息可以包括与目标用户账户相关联的用户名、电子邮件地址等等。在这样的示例中,一旦接收到与目标用户账户相关联的所述至少一条信息,就可以认为客户端应用的实例194与远程服务105的目标用户账户配对。在这样的示例中,配对的客户端应用的实例194可以利用与目标用户账户相关联的所述至少一条信息来向远程服务105识别配对实例194,以与目标用户账户相关联地取得对远程服务105的访问或以其它方式与其进行通信(例如,可以使用所述至少一条信息来与远程服务105进行(一次或多次)通信)。例如,配对的实例194可以在到远程服务105的(一个或多个)请求中包括所述至少一条信息,或使用与目标用户账户相关联的所述至少一条信息来建立、重新建立、维持等与远程服务105的会话,从而使得能够实现实例194与远程服务105之间的通信。
在其它示例中,应用设备指纹186可能与跟远程服务105的任何用户账户相关联地存储的任何设备指纹都不匹配。在这样的示例中,响应于指令126确定了应用设备指纹186与跟远程服务105的用户账户相关联的多个设备指纹中的任何都不匹配,指令126可以向客户端应用的实例194提供信息,以引起实例194经由客户端计算设备190显示用于针对远程服务105的登录信息的输入的提示。在这样的示例中,客户端应用的实例194可能是被先前未如上所述地用于经由web浏览器登录到远程服务105、正因如此可能不具有与远程服务105的用户账户相关联地存储的与之相关联的对应设备指纹的计算设备下载了。在这样的示例中,当没有找到匹配时,指令126可以向实例194返回实例194可以理解的错误消息或其它通信作为实例194要经由客户端计算设备190显示用于输入用于远程服务105的登录信息的提示的指示。在这样的示例中,实例194可以接收登录信息并将其提供给远程服务105,以将实例194与跟所提供的登录信息相关联的用户账户配对。在一些示例中,客户端应用的实例194可以是用于远程服务105的客户端应用的实例(即供访问远程服务105使用的专用应用)。
在以上描述的示例中,设备指纹可以是(例如,通过(一条或多条)设备上下文信息的连结和散列化生成的,或以如上所述任何其它合适的方式生成的)单个字符串。在其它示例中,设备指纹可以包括多个分离的字符串,每个都表示用于计算设备的不同的设备上下文信息条目。在这样的示例中,指令124可以不生成单个字符串作为设备指纹。替代地,在这样的示例中,指令124可以将从web浏览器192获得的每条设备上下文信息182与目标用户账户(即已经经由web浏览器192登录的用户账户)相关联,共同地作为目标设备指纹。在这样的示例中,可以以任何合适的方式将设备上下文信息182条目与目标用户账户相关联。
在这样的示例中,由指令125从实例194获得的应用设备指纹186可以包括多个分离的字符串,每个都表示用于客户端计算设备190的不同的设备上下文信息条目。在这样的示例中,当在两个设备指纹的分离的字符串中的每一个之间都存在精确匹配时,指令126可以确定这两个设备指纹匹配。在其它示例中,当它们相应的设备上下文信息条目存在至少部分匹配时,指令125可以确定这两个设备指纹匹配。
例如,指令126可以试图匹配设备指纹的设备上下文信息的单独的条目。在这样的示例中,当应用设备指纹的一条或多条设备上下文信息(但是少于所有的设备上下文信息条目)与给定设备指纹的对应的设备上下文信息条目匹配并且与用于与任何其它用户账户相关联的任何其它设备指纹的对应的设备上下文信息条目不匹配(正因如此,唯一地与给定设备指纹匹配)时,指令126可以确定在应用设备指纹与跟用户账户相关联的给定设备指纹之间存在匹配。在本文中描述的一些示例中,当设备上下文信息条目作为设备指纹的一部分被包括时(并且在比较设备指纹之前),可以酌情对设备上下文信息条目进行归一化。
如本文中所使用的,“处理器”可以是中央处理单元(CPU)、基于半导体的微处理器、图形处理单元(GPU)、被配置成检索并执行指令的现场可编程门阵列(FPGA)、适于检索和执行存储在机器可读存储介质上的指令的其它电子电路或其组合中的至少一个。处理资源110可以包括一个处理器或多个处理器。处理资源110可以提取、解码并执行存储在存储介质120上的指令,以实行以上描述的功能性。在其它示例中,存储介质120的指令中的任何的功能性可以以电子电路的形式、以编码在机器可读存储介质上的可执行指令的形式或其组合来实现。
如本文中所使用的,“机器可读存储介质”可以是包含或存储诸如可执行指令、数据等的信息的任何电子、磁性、光学或其它物理存储装置。例如,本文中描述的任何机器可读存储介质可以是随机存取存储器(RAM)、易失性存储器、非易失性存储器、闪速存储器、存储驱动(例如,硬驱)、固态驱动、任何类型的存储盘(例如,紧凑盘、DVD等)等等中的任何或其组合。另外,本文中描述的任何机器可读存储介质可以是非暂时性的。在本文中描述的示例中,一个或多个机器可读存储介质可以是产品(或制品)的一部分。产品或制品可以是指任何制造的单个组件或多个组件。存储介质可以位于执行机器可读指令的计算设备中,或者位于远离但(例如,经由计算机网络)可访问计算设备以用于执行。
在一些示例中,指令122-126可以是安装包的一部分,当所述安装包被安装时可以由处理资源110来执行以实现本文中关于指令122-126描述的功能性。在这样的示例中,存储介质120可以是诸如CD、DVD、或闪速驱动的便携式介质,或由可以从其下载和安装安装包的服务器维持的存储器。在其它示例中,指令122-126可以是已经安装在包括处理资源110的客户端计算设备100上的一个或多个应用或组件的一部分。在这样的示例中,存储介质120可以包括诸如硬驱、固态驱动等等的存储器。在一些示例中,本文中关于图1描述的功能性可以结合本文中关于图2-4中的任何描述的功能性来提供。
图2是包括远程服务205的示例计算环境的框图,远程服务205包括用以在没有用户输入的情况下将客户端应用的实例194与用户账户配对的系统220。在图2的示例中,计算环境201包括远程服务205以及如上面关于图1描述的包括web浏览器192的客户端计算设备190。远程服务205包括系统220、账户储存库230和网络接口设备240。在图2的示例中,系统220包括引擎221-227。远程服务205可以由一个计算设备或彼此通信的多个计算设备来实现。在图2的示例中,系统220可以至少部分地实现远程服务205。在图2的示例中,引擎221-227可以在单个计算设备上实现,或者引擎221-227的实现可以跨多个不同的计算设备散布。
在图2的示例中,客户端计算设备190远离远程服务205,并且远程服务205的系统220可以利用网络接口设备240来通过(例如,包括互联网的)(一个或多个)计算机网络与客户端计算设备190通信。在一些示例中,系统220的至少一部分可以在包括网络接口设备240的计算设备上实现。在其它示例中,系统220可以由多个计算设备来实现,每个计算设备包括诸如网络接口设备240的相应的网络接口设备。在一些示例中,账户储存库230可以至少部分地由用以存储账户储存库230的数据的至少一个机器可读存储介质来实现。在这样的示例中,实现系统220的计算设备中的至少一个可以包括账户储存库230,或者账户储存库230可以由实现系统220的多个计算设备中的每一个部分地实现,或者账户储存库230可以远离实现系统220的(一个或多个)计算设备但对其可访问。
在图2的示例中,账户储存库230可以存储与用于远程服务205的各用户账户相关联的信息,诸如用于每个用户账户的登录信息。例如,账户储存库230可以存储与目标用户账户205相关联的登录信息180。在图2的示例中,登录引擎221可以从客户端计算设备192上的web浏览器192获得登录信息180,并且可以响应于所获得的登录信息与跟账户储存库230中的目标用户账户250相关联的登录信息180匹配的确定、基于登录信息180来登录远程服务205的目标用户账户250。在这样的示例中,引擎221可以响应于该确定将web浏览器192登录到远程服务295的目标用户账户250中。
在一些示例中,计算设备190的用户可以通过将客户端计算设备190的web浏览器192导航到包括一个或多个网页的远程服务205的门户网站来访问远程服务205,并且可以经由web浏览器192将登录信息180输入到网页中的一个,如上面关于远程服务105描述的。在这样的示例中,引擎221可以从web浏览器192得到登录信息180。
在一些示例中,登录到目标用户账户250中的用户可以选择经由远程服务205的门户网站下载客户端应用。例如,由远程服务205供应的网页中的至少一个可以提供用户可以经由web浏览器192点击或以其它方式选择以下载客户端应用(诸如用于远程服务205的客户端应用)(即可用于访问远程服务205的服务,诸如用于该目的的专用应用)的链接或其它元素。在这样的示例中,响应于经由web浏览器192进行的与下载客户端应用的实例194相关联的链接(或其它元素)的选择,网页引擎222可以向web浏览器192提供至少一个网页284,以引起web浏览器192收集并向远程服务205提供用于客户端计算设备190的设备上下文信息182。例如,响应于链接(或其它元素)的选择,引擎222可以供应包括机器可读指令(例如,JAVASCRIPT代码等)的网页284,当所述机器可读指令由web浏览器192执行时可以引起web浏览器192从客户端计算设备190收集(一条或多条)设备上下文信息并将其作为设备上下文信息182返回到远程服务205。
在一些示例中,网页引擎222可以供应远程服务205的多个网页(诸如上面描述的网页)。在一些示例中,网页引擎222可以在与系统220的其它引擎相同的计算设备上实现,或者可以在与实现系统220的其它引擎的(一个或多个)计算设备分离的(一个或多个)计算设备上实现。
在图2的示例中,信息引擎223可以从web浏览器192获得用于客户端计算设备190的设备上下文信息182。在这样的示例中,web浏览器192可以基于执行网页284的上述机器可读指令来提供设备上下文信息182。设备上下文信息182可以是如上面关于图1所描述的。在一些示例中,从web浏览器192获得的设备上下文信息182可以是web浏览器192(当其被包括在客户端计算设备190上(例如,在客户端计算设备190上执行)时)和客户端应用的实例194(当其被包括在客户端计算设备上(例如,在客户端计算设备上执行)时)二者都可访问的用于客户端计算设备190的设备上下文信息182。
在图2的示例中,关联引擎224可以将基于所获得的设备上下文信息182的目标设备指纹252与远程服务205中登录的目标用户账户250相关联。例如,响应于设备上下文信息182的获得,引擎224可以将基于设备上下文信息182的目标设备指纹252与web浏览器192已经登录的目标用户账户250相关联。引擎224可以以任何合适的方式将目标设备指纹252与目标用户账户250相关联地存储在账户储存库230中。在图2的示例中,用于目标用户账户250的登录信息180和目标设备指纹252都可以与目标用户账户250相关联地存储在账户储存库230中。
在一些示例中,引擎224可以基于设备上下文信息182以如以上关于图1描述的任何合适的方式将目标设备指纹252与目标用户账户250相关联。例如,引擎224可以如以上关于图1描述的那样基于设备上下文信息182(例如,通过连结和散列化设备上下文信息182或如上所述的任何其它合适的方法)来生成单字符串目标设备指纹252。在其它示例中,引擎224可以将从web浏览器192获得的每条设备上下文信息182与目标用户账户250相关联,共同地作为目标设备指纹252(例如,无需连结信息)。
在web浏览器192向远程服务205提供设备上下文信息182之后,网页284然后可以使得客户端计算设备190能够以如以上关于图1描述的任何合适的方式下载客户端应用的实例194。例如,在其中引擎224生成单字符串目标设备指纹252的示例中,响应于目标设备指纹252的成功生成,网页引擎222可以引起网页284发起通过客户端计算设备190进行的客户端应用的实例194的下载。在其它示例中,网页284可以将web浏览器192重新定向到例如在其处下载客户端应用的实例194的另一网页。
在图2的示例中,刚下载了客户端应用的实例194之后,实例194可能是如上所述的未配对的客户端应用的实例。在这样的示例中,获得引擎225可以从未配对的客户端应用的实例194获得应用设备指纹186。应用设备指纹186可以由客户端应用的实例194基于用于包括客户端应用的实例194的计算设备190的设备上下文信息182来确定。在这样的示例中,应用设备指纹186可以由实例194以与引擎224确定目标设备指纹252的相同的方式来确定(例如,以促进比较)。例如,当引擎224经由连结和散列化来生成单字符串指纹时,实例194可以以相同的方式并基于相同类型的设备上下文信息来生成应用设备指纹186。在其中引擎224与目标设备指纹252分离地维持设备上下文信息条目的示例中,实例194可以对应用设备指纹186执行相同的操作。
在图2的示例中,确定引擎226可以以如以上关于图1描述的任何方式来确定应用设备指纹是否与跟远程服务205的各用户账户相关联的多个设备指纹中的任何相匹配。例如,引擎226可以将应用设备指纹186与跟用于远程服务105的各用户账户相关联的设备指纹(其可以被存储在以上描述的账户储存库中)进行比较,直到找到与应用设备指纹186匹配的设备指纹,或者直到确定了与各用户账户相关联的所存储的设备指纹中没有一个与应用设备指纹186匹配。引擎226可以以如上关于图1描述的任何合适的方式确定匹配。
在图2的示例中,计算设备190的web浏览器192用于登录到远程服务205的门户网站,并且提供设备上下文信息182以供目标设备指纹252使用。然后接下来,同一计算设备190上的客户端应用的实例194基于用于客户端计算设备190的设备上下文信息182向远程服务205提供应用设备指纹186。在这样的示例中,确定引擎226可以确定目标设备指纹252与应用设备指纹186匹配。在这样的示例中,由web浏览器192访问和返回的用于客户端计算设备190的设备上下文信息可以与由实例194访问的设备上下文信息相同,因为web浏览器192和实例194从同一计算设备(并且可能在接近的时间)确定设备上下文信息。如此,在图2的示例中目标设备指纹252和应用设备指纹186可以匹配,这在一些示例中指示可以在没有用户输入(例如,将登录信息输入到实例194)的情况下将实例194与目标用户应用配对。
在这样的示例中,响应于应用设备指纹186与跟目标用户账户250相关联的目标设备指纹252匹配的确定,引擎227可以基于所获得的应用设备指纹186并且在没有用户输入的情况下将客户端应用的实例194与目标用户账户250配对,如上面关于图1所描述的那样。在一些示例中,引擎227可以向客户端应用的实例194提供与远程服务205中的目标用户账户250相关联的至少一条信息288,以在无需经由客户端计算设备190进行的到客户端应用的实例194的任何登录信息的用户输入的情况下将客户端应用的实例194与目标用户账户250配对。在一些示例中,所提供的所述至少一条信息可以是与目标用户账户250相关联的至少一条登录信息180(例如,用户名、电子邮件地址等)。
在其中客户端应用的实例被下载在先前未用于用计算设备的浏览器登录到远程服务205的计算设备上的其它示例中,那么从客户端应用的实例获得的应用设备指纹可能与跟远程服务205的任何用户账户相关联的任何设备指纹都不匹配。在这样的示例中,引擎226可以确定应用设备指纹与跟远程服务205的各用户账户相关联的多个设备指纹中的任何都不匹配。在这样的示例中,响应于应用设备指纹与跟远程服务205的用户账户相关联的多个设备指纹中的任何都不匹配的确定,配对引擎227可以向客户端应用的实例提供信息289,以引起客户端应用的实例经由客户端计算设备显示用以接收用于远程服务205的登录信息的输入的提示,如上面关于图1所描述的。
在本文中描述的示例中,可以将多个设备指纹与用于远程服务的(例如,账户储存库中的)单个用户账户相关联,因为可以使用多个不同的计算设备来用web浏览器登录到远程服务。在这样的示例中,可以对不同计算设备上的多个客户端应用的实例中的每一个执行上面描述的功能性,以如上所述在没有用户输入的情况下将相应的实例配对。
系统220的引擎221-227中的每一个可以是用以实现相应引擎的功能性的编程和硬件的任何组合。在本文中描述的示例中,可以以许多不同的方式实现硬件和编程的这样的组合。例如,用于引擎的编程可以是存储在非暂时性机器可读存储介质上的处理器可执行指令,并且用于引擎的硬件可以包括用以执行那些指令的处理资源。在这样的示例中,所述机器可读存储介质可以存储当由处理资源执行时实现引擎221-227的指令。在这样的示例中,系统220可以包括存储所述指令的机器可读存储介质以及用以执行所述指令的处理资源,或者机器可读存储介质可以是分离的但可由系统220和处理资源访问。
在一些示例中,指令可以是安装包的一部分,其在安装时可以由处理资源执行以至少实现引擎221-227。在这样的示例中,机器可读存储介质可以是诸如CD、DVD、或闪速驱动的便携式介质,或由可以从其下载和安装安装包的服务器维持的存储器。在其它示例中,指令可以是已经安装在包括处理资源的系统220上的一个或多个应用或组件的一部分。在这样的示例中,机器可读存储介质可以包括诸如硬驱、固态驱动等等的存储器。在其它示例中,系统220的任何引擎的功能性可以以电子电路的形式来实现。在一些示例中,本文中关于图2描述的功能性可以结合本文中关于图1、3和4中的任何描述的功能性来提供。
图3是用于基于应用设备指纹且在没有用户输入的情况下将客户端应用的实例与用户账户配对的示例方法300的流程图。虽然下面参考上文描述的图2的系统220描述了方法300的执行,但可以利用用于执行方法300的其它合适的系统或设备(例如,计算设备100)。此外,方法300的实现不限于这样的示例。
在方法300的305处,登录引擎221可以基于从客户端计算设备190的web浏览器192获得的账户登录信息180来提供对远程服务205的目标用户账户250的web浏览器192访问。在310处,响应于(经由web浏览器192进行的)与下载客户端应用的实例相关联的链接的选择,网页引擎222可以向web浏览器192提供至少一个网页284,以引起web浏览器192收集并向远程服务205提供用于客户端计算设备190的设备上下文信息182,如上文所述的那样。在这样的示例中,信息引擎223可以从web浏览器192获得设备上下文信息182。
在315处,关联引擎224可以基于由web浏览器192提供给远程服务205的用于客户端计算设备190的设备上下文信息182、用远程服务205的处理资源生成目标设备指纹252。引擎224可以以如上所述的任何合适的方式来生成目标设备指纹252。在320处,引擎224可以将目标设备指纹252与远程服务205的账户储存库230中登录的目标用户账户250相关联。
在325处,获得引擎225可以从未配对的客户端应用的实例194获得由客户端应用的实例194基于用于包括客户端应用的实例194的计算设备的设备上下文信息确定的应用设备指纹186。在330处,如上面关于图1和2所描述的,确定引擎226可以基于应用设备指纹186是否与目标设备指纹252相匹配而确定是否在没有用户输入的情况下将客户端应用的实例194与目标用户账户250配对。
在本文中描述的示例中,系统220的引擎可以经由远程服务205的至少一个网络接口(例如,网络接口240)与客户端计算设备190以及远离远程服务205的其它计算设备通信。虽然图3的流程图示出了某些功能性的执行的具体次序,但是方法300并不限于该次序。例如,流程图中连续示出的功能性可以以不同的次序来实行、可以同时地或部分同时地执行或其组合。在一些示例中,本文中关于图3描述的功能性可以结合本文中关于图1、2和4中的任何描述的功能性来提供。
图4是用于获得由未配对的客户端应用的实例基于设备上下文信息确定的应用设备指纹的示例方法400的流程图。虽然下面参考(上述)图2的系统220描述了方法400的执行,但可以利用用于执行方法400的其它合适的系统或设备(例如,计算设备100)。此外,方法400的实现不限于这样的示例。
在方法400的405处,登录引擎221可以基于从客户端计算设备190的web浏览器192获得的账户登录信息180提供对远程服务205的目标用户账户250的web浏览器192访问。在410处,响应于(经由web浏览器192进行的)与下载客户端应用的实例相关联的链接的选择,网页引擎222可以向web浏览器192提供至少一个网页284,以引起web浏览器192收集并向远程服务205提供用于客户端计算设备190的设备上下文信息182,如上文所述的那样。在这样的示例中,信息引擎223可以从web浏览器192获得设备上下文信息182。
在415处,关联引擎224可以基于由web浏览器192提供给远程服务205的用于客户端计算设备190的设备上下文信息182、用远程服务205的处理资源生成目标设备指纹252。引擎224可以以如上所述的任何合适的方式来生成目标设备指纹252。在420处,引擎224可以将目标设备指纹252与远程服务205的账户储存库230中登录的目标用户账户250相关联。
在425处,获得引擎225可以从未配对的客户端应用的实例194获得由客户端应用的实例194基于用于包括客户端应用的实例194的计算设备的设备上下文信息确定的应用设备指纹186。在430处,如上面关于图1和2所描述的,确定引擎226可以基于应用设备指纹186是否与目标设备指纹252相匹配来确定是否在没有用户输入的情况下将客户端应用的实例194与目标用户账户250配对。
响应于确定了应用设备指纹252与目标设备指纹匹配,配对引擎227可以在435处向客户端应用的实例194提供与远程服务205中的目标用户账户250相关联的至少一条信息288,以在无需经由客户端计算设备190进行的到客户端应用的实例194的任何登录信息的用户输入的情况下将客户端应用的实例194与目标用户账户250配对。在一些示例中,所提供的所述至少一条信息可以是与目标用户账户250相关联的至少一条登录信息180(例如,用户名、电子邮件地址等)。
响应于确定了应用设备指纹252与跟远程服务205的用户账户相关联的多个设备指纹中的任何都不匹配,配对引擎227可以在440处向客户端应用的实例194提供信息289,以引起客户端应用的实例194经由客户端计算设备190显示用以接收用于远程服务205的登录信息的输入的提示。
在本文中描述的示例中,系统220的引擎可以经由远程服务205的至少一个网络接口(例如,网络接口240)与客户端计算设备190以及远离远程服务205的其它计算设备通信。虽然图4的流程图示出了某些功能性的执行的具体次序,但是方法400并不限于该次序。例如,流程图中连续示出的功能性可以以不同的次序来实行、可以同时地或部分同时地执行或其组合。在一些示例中,本文中关于图4描述的功能性可以结合本文中关于图1-3中的任何描述的功能性来提供。
本说明书(包括任何所附权利要求、摘要和附图)中所公开的所有特征和/或如此公开的任何方法或过程的所有元素可以被组合在任何组合中,除了其中这样的特征和/或元素中的至少一些互相排斥的组合之外。

Claims (15)

1.一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质包括指令,所述指令可被远程服务的处理资源执行用以:
从客户端计算设备上的web浏览器获得用于所述远程服务的目标用户账户的登录信息;
从所述web浏览器获得用于所述客户端计算设备的设备上下文信息;
基于所获得的设备上下文信息将目标设备指纹与所述远程服务中的所述目标用户账户相关联;
从未配对的客户端应用的实例获得由所述客户端应用的实例基于用于包括所述客户端应用的实例的计算设备的设备上下文信息确定的应用设备指纹;以及
响应于确定了所述应用设备指纹与所述目标设备指纹匹配,基于所获得的应用设备指纹且在没有用户输入的情况下将所述客户端应用的实例与所述目标用户账户配对。
2.根据权利要求1所述的非暂时性机器可读存储介质,其中从所述web浏览器获得的所述设备上下文信息是当客户端应用的实例被包括在所述客户端计算设备上时所述客户端应用的实例将可访问的设备上下文信息。
3.根据权利要求1所述的非暂时性机器可读存储介质,其中用以配对的指令包括指令以:
向所述客户端应用的实例提供与所述远程服务中的所述目标用户账户相关联的至少一条信息,以将所述客户端应用的实例与所述目标用户账户配对。
4.根据权利要求1所述的非暂时性机器可读存储介质,其中用以配对的指令包括指令以:
将所述客户端应用的实例与所述目标用户账户配对,而无需到所述客户端应用的实例的任何登录信息的用户输入。
5.根据权利要求1所述的非暂时性机器可读存储介质,其中用以配对的指令包括指令以:
响应于确定了所述应用设备指纹与跟所述远程服务的用户账户相关联的多个设备指纹中的任何都不匹配,向所述客户端应用的实例提供信息,以引起所述客户端应用的实例经由所述客户端计算设备显示用于输入针对所述远程服务的登录信息的提示。
6.根据权利要求1所述的非暂时性机器可读存储介质,其中用以配对的指令包括指令以:
将所述应用设备指纹与跟所述远程服务的各用户账户相关联的设备指纹进行比较,以及
其中所述客户端应用的实例是用于所述远程服务的客户端应用的实例。
7.一种用以至少部分地实现远程服务的系统,所述系统包括:
登录引擎,以基于从客户端计算设备上的web浏览器获得的登录信息来登录到所述远程服务的目标用户账户;
信息引擎,以从所述web浏览器获得用于所述客户端计算设备的设备上下文信息;
关联引擎,以基于所获得的设备上下文信息将目标设备指纹与所述远程服务中所登录的目标用户账户相关联;
获得引擎,以从未配对的客户端应用的实例获得由所述客户端应用的实例基于用于包括所述客户端应用的实例的计算设备的设备上下文信息确定的应用设备指纹;
确定引擎,以确定所述应用设备指纹是否与跟所述远程服务的各用户账户相关联的多个设备指纹中的任何相匹配;以及
配对引擎,以响应于确定了所述应用设备指纹与所述目标设备指纹匹配,基于所获得的应用设备指纹且在没有用户输入的情况下,将所述客户端应用的实例与所述目标用户账户配对。
8.根据权利要求7所述的系统,其中从所述web浏览器获得的所述设备上下文信息是所述客户端计算设备的所述web浏览器以及当客户端应用的实例被包括在所述客户端计算设备上时所述客户端应用的实例二者都可访问的设备上下文信息。
9.根据权利要求7所述的系统,进一步包括:
网页引擎,以响应于经由所述web浏览器进行的与下载用于所述远程服务的客户端应用的实例相关联的链接的选择,向所述web浏览器提供至少一个网页,以引起所述web浏览器收集并向所述远程服务提供用于所述客户端计算设备的设备上下文信息。
10.根据权利要求9所述的系统,其中所述网页引擎进一步用以:
响应于所述目标设备指纹的成功生成,引起所述网页发起由所述客户端计算设备进行的所述客户端应用的实例的下载。
11.根据权利要求7所述的系统,其中所述配对引擎进一步用以响应于确定了所述应用设备指纹与所述目标设备指纹匹配而:
向所述客户端应用的实例提供与所述远程服务中的所述目标用户账户相关联的至少一条信息,以将所述客户端应用的实例与所述目标用户账户配对,而无需经由所述客户端计算设备进行的到所述客户端应用的实例的任何登录信息的用户输入。
12.根据权利要求7所述的系统,其中所述配对引擎进一步用以:
响应于确定了所述应用设备指纹与跟所述远程服务的用户账户相关联的多个设备指纹中的任何都不匹配,向所述客户端应用的实例提供信息,以引起所述客户端应用的实例经由所述客户端计算设备显示用以接收用于所述远程服务的登录信息的输入的提示。
13.一种用于将客户端应用的实例与用户账户配对的方法,包括:
基于从客户端计算设备的web浏览器获得的账户登录信息来提供对远程服务的目标用户账户的web浏览器访问;
响应于经由所述web浏览器进行的与下载所述客户端应用的实例相关联的链接的选择,向所述web浏览器提供至少一个网页以引起所述web浏览器收集并向所述远程服务提供用于所述客户端计算设备的设备上下文信息;
基于由所述web浏览器提供给所述远程服务的用于所述客户端计算设备的所述设备上下文信息、用所述远程服务的处理资源生成目标设备指纹;
将所述目标设备指纹与所述远程服务的账户储存库中所登录的目标用户账户相关联;
从未配对的客户端应用的实例获得由所述客户端应用的实例基于用于包括所述客户端应用的实例的计算设备的设备上下文信息确定的应用设备指纹;以及
基于所述应用设备指纹是否与所述目标设备指纹匹配,确定是否在没有用户输入的情况下将所述客户端应用的实例与所述目标用户账户进行配对。
14.根据权利要求13所述的方法,进一步包括:
响应于确定了所述应用设备指纹与所述目标设备指纹匹配,向所述客户端应用的实例提供与所述远程服务中的所述目标用户账户相关联的至少一条信息,以将所述客户端应用的实例与所述目标用户账户配对,而无需经由所述客户端计算设备进行的到所述客户端应用的实例的任何登录信息的用户输入。
15.根据权利要求13所述的方法,进一步包括:
响应于确定了所述应用设备指纹与跟所述远程服务的用户账户相关联的多个设备指纹中的任何都不匹配,向所述客户端应用的实例提供信息,以引起所述客户端应用的实例经由所述客户端计算设备显示用以接收用于所述远程服务的登录信息的输入的提示。
CN201580059451.5A 2015-04-28 2015-04-28 配对客户端应用实例与用户账户的方法、系统和存储介质 Expired - Fee Related CN107079026B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2015/027982 WO2016175761A1 (en) 2015-04-28 2015-04-28 Acquisition of a device fingerprint from an instance of a client application

Publications (2)

Publication Number Publication Date
CN107079026A CN107079026A (zh) 2017-08-18
CN107079026B true CN107079026B (zh) 2020-09-18

Family

ID=57199292

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580059451.5A Expired - Fee Related CN107079026B (zh) 2015-04-28 2015-04-28 配对客户端应用实例与用户账户的方法、系统和存储介质

Country Status (4)

Country Link
US (1) US10992669B2 (zh)
EP (1) EP3289519B1 (zh)
CN (1) CN107079026B (zh)
WO (1) WO2016175761A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180285563A1 (en) * 2017-03-31 2018-10-04 Intel Corporation Techniques for service assurance using fingerprints associated with executing virtualized applications
CN108804908B (zh) * 2017-05-04 2023-05-09 腾讯科技(深圳)有限公司 一种设备指纹生成方法、装置及计算设备
CN117056273A (zh) * 2018-11-30 2023-11-14 维萨国际服务协会 用于改进计算机标识的系统和方法
CN111177536B (zh) * 2019-12-12 2023-12-26 上海淇玥信息技术有限公司 基于设备指纹对未登录用户传送定制信息的方法、装置及电子设备
CN112346888B (zh) * 2020-11-04 2024-06-21 网易(杭州)网络有限公司 一种基于软件应用的数据通讯方法、装置以及服务端设备
US11811783B1 (en) * 2021-06-24 2023-11-07 Amazon Technologies, Inc. Portable entitlement
US20230015583A1 (en) * 2021-07-16 2023-01-19 Next Caller, Inc. Systems and methods for authentication using browser fingerprinting

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8392975B1 (en) * 2008-05-29 2013-03-05 Google Inc. Method and system for image-based user authentication
CN103425921A (zh) * 2012-05-18 2013-12-04 鸿富锦精密工业(深圳)有限公司 密码管理设备、密码管理系统及其方法
CN103780397A (zh) * 2014-02-25 2014-05-07 中国科学院信息工程研究所 一种多屏多因子便捷web身份认证方法
CN104335524A (zh) * 2012-06-21 2015-02-04 国际商业机器公司 用于客户端侧页面处理的公共web可访问数据存储

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6374359B1 (en) * 1998-11-19 2002-04-16 International Business Machines Corporation Dynamic use and validation of HTTP cookies for authentication
US6686838B1 (en) 2000-09-06 2004-02-03 Xanboo Inc. Systems and methods for the automatic registration of devices
KR100792289B1 (ko) 2001-07-13 2008-01-07 삼성전자주식회사 컨텐츠 다운로드 시스템 및 방법
US8620315B1 (en) 2006-09-29 2013-12-31 Yahoo! Inc. Multi-tiered anti-abuse registration for a mobile device user
US8205790B2 (en) * 2007-03-16 2012-06-26 Bank Of America Corporation System and methods for customer-managed device-based authentication
US20100107225A1 (en) * 2007-06-06 2010-04-29 Boldstreet Inc. Remote service access system and method
US7730179B2 (en) 2007-06-26 2010-06-01 Novell, Inc. System and method for policy-based registration of client devices
US8244799B1 (en) * 2008-07-21 2012-08-14 Aol Inc. Client application fingerprinting based on analysis of client requests
US8213935B2 (en) 2008-12-31 2012-07-03 Rockstar Bidco Lp Creating a globally unique identifier of a subscriber device
EP2396742A2 (en) * 2009-02-10 2011-12-21 Uniloc Usa, Inc. Web content access using a client device identifier
US8695058B2 (en) 2009-05-20 2014-04-08 Mobile Iron, Inc. Selective management of mobile device data in an enterprise environment
US8620578B1 (en) 2009-06-24 2013-12-31 Cloudmade, Ltd. Centralized location storage system and method
US20100332400A1 (en) 2009-06-24 2010-12-30 Craig Stephen Etchegoyen Use of Fingerprint with an On-Line or Networked Payment Authorization System
US8613106B2 (en) * 2010-07-28 2013-12-17 International Business Machines Corporation Reducing the value of a browser fingerprint
US8898759B2 (en) * 2010-08-24 2014-11-25 Verizon Patent And Licensing Inc. Application registration, authorization, and verification
GB2485241A (en) * 2010-11-05 2012-05-09 Bluecava Inc Incremental browser-based fingerprinting of a computing device
US8832271B2 (en) * 2010-12-03 2014-09-09 International Business Machines Corporation Identity provider instance discovery
US8627438B1 (en) * 2011-09-08 2014-01-07 Amazon Technologies, Inc. Passwordless strong authentication using trusted devices
KR20130071979A (ko) 2011-12-21 2013-07-01 (주)코리아센터닷컴 스마트폰 앱 자동 설정 시스템
EP2611098A1 (en) * 2011-12-29 2013-07-03 Thomson Licensing Method and device for fingerprinting of network devices
US8763154B2 (en) 2012-01-23 2014-06-24 Verizon Patent And Licensing Inc. Federated authentication
US20130282592A1 (en) 2012-04-24 2013-10-24 Electrolux Home Products, Inc. System, Method and Computer Program Product for Registering Products and Promoting Customer Relationships
US8913801B2 (en) 2012-06-29 2014-12-16 Apple Inc. Enrollment using synthetic fingerprint image and fingerprint sensing systems
US8769651B2 (en) 2012-09-19 2014-07-01 Secureauth Corporation Mobile multifactor single-sign-on authentication
US9038159B2 (en) * 2012-12-03 2015-05-19 Verizon Patent And Licensing Inc. Authentication system
US9209207B2 (en) 2013-04-09 2015-12-08 Apple Inc. Flexible display with bent edge regions
US20150006384A1 (en) * 2013-06-28 2015-01-01 Zahid Nasiruddin Shaikh Device fingerprinting
US9756035B2 (en) * 2014-02-18 2017-09-05 Secureauth Corporation Device fingerprint registration for single sign on authentication
US20150269497A1 (en) * 2014-03-19 2015-09-24 Capital Payments, LLC Systems and methods for creating and tracking states of encryption devices
KR102216653B1 (ko) * 2014-03-21 2021-02-17 삼성전자주식회사 지문 인증을 통하여 통신을 수행하는 전자 장치 및 방법
US9832193B2 (en) * 2014-05-09 2017-11-28 Bank Of America Corporation Device validation using device fingerprint
US9124583B1 (en) * 2014-05-09 2015-09-01 Bank Of America Corporation Device registration using device fingerprint
US10447621B2 (en) * 2014-09-04 2019-10-15 Microsoft Technology Licensing, Llc App powered extensibility of messages on an existing messaging service
US9984365B2 (en) * 2014-12-02 2018-05-29 Ca, Inc. Device identification based on deep fingerprint inspection
US9420464B2 (en) * 2014-12-15 2016-08-16 Intel Corporation Technologies for controlling network access based on electronic device communication fingerprints
US10757107B2 (en) * 2015-02-27 2020-08-25 Dropbox, Inc. Application-assisted login for a web browser

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8392975B1 (en) * 2008-05-29 2013-03-05 Google Inc. Method and system for image-based user authentication
CN103425921A (zh) * 2012-05-18 2013-12-04 鸿富锦精密工业(深圳)有限公司 密码管理设备、密码管理系统及其方法
CN104335524A (zh) * 2012-06-21 2015-02-04 国际商业机器公司 用于客户端侧页面处理的公共web可访问数据存储
CN103780397A (zh) * 2014-02-25 2014-05-07 中国科学院信息工程研究所 一种多屏多因子便捷web身份认证方法

Also Published As

Publication number Publication date
EP3289519A4 (en) 2018-12-12
CN107079026A (zh) 2017-08-18
EP3289519B1 (en) 2020-04-22
WO2016175761A1 (en) 2016-11-03
EP3289519A1 (en) 2018-03-07
US10992669B2 (en) 2021-04-27
US20170310667A1 (en) 2017-10-26

Similar Documents

Publication Publication Date Title
CN107079026B (zh) 配对客户端应用实例与用户账户的方法、系统和存储介质
US9032495B2 (en) Online user account login method and a server system implementing the method
US8763101B2 (en) Multi-factor authentication using a unique identification header (UIDH)
US20180374097A1 (en) A distributed user profile identity verification system for e-commerce transaction security
EP3075099B1 (en) Secure proxy to protect private data
US10778680B2 (en) Method and apparatus for accessing website
WO2016165536A1 (zh) 一种身份验证方法和设备
US11716390B2 (en) Systems and methods for remote management of appliances
EP3100432B1 (en) Virtual identity of a user based on disparate identity services
US9554276B2 (en) System and method for on the fly protocol conversion in obtaining policy enforcement information
US20140245411A1 (en) Method and apparatus for providing account-less access via an account connector platform
US9992198B2 (en) Network-based frictionless two-factor authentication service
US9589122B2 (en) Operation processing method and device
TW201510761A (zh) 下載以及安裝客戶端的方法和設備
WO2015074443A1 (en) An operation processing method and device
RU2742700C1 (ru) Способ, аппарат и клиентское терминальное устройство для реализации входа на веб-сайт по отпечаткам пальцев
CN105450592A (zh) 安全校验方法、装置、服务器及终端
CN106899564A (zh) 一种登录方法和装置
US9948648B1 (en) System and method for enforcing access control to publicly-accessible web applications
WO2015184811A1 (zh) 一种登录云桌面的方法和装置
US10375141B2 (en) Method for processing URL and associated server and non-transitory computer readable storage medium
CN106921622B (zh) cookie信息的处理方法及装置
US10659235B1 (en) Distributed endpoint 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
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200918