CN117121437A - 使用共置的次要设备来防止Cookie盗窃 - Google Patents

使用共置的次要设备来防止Cookie盗窃 Download PDF

Info

Publication number
CN117121437A
CN117121437A CN202280024765.1A CN202280024765A CN117121437A CN 117121437 A CN117121437 A CN 117121437A CN 202280024765 A CN202280024765 A CN 202280024765A CN 117121437 A CN117121437 A CN 117121437A
Authority
CN
China
Prior art keywords
client device
authentication token
request
instance
service request
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
CN202280024765.1A
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN117121437A publication Critical patent/CN117121437A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/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
    • 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/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • 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/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • 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/3247Cryptographic 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 digital signatures

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)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种方法包括由服务提供商平台从第一客户端设备接收服务请求以及与该服务请求相关联并由第一客户端设备生成的认证令牌的第一实例。服务提供商平台可以进一步从第二客户端设备接收与服务请求相关联并且由第一客户端设备生成的认证令牌的第二实例。响应于确定认证令牌的第一实例与认证令牌的第二实例匹配,由服务提供商平台处理服务请求。

Description

使用共置的次要设备来防止Cookie盗窃
技术领域
本公开总体上涉及一种用于保护用户设备免遭cookie盗窃的技术。更具体地,本公开涉及使用共置的次要设备来防止cookie盗窃。
背景技术
超文本传输协议(HTTP)cookie(下文中称为“cookie”)可以指存储在客户端设备处并且保存特有于特定客户端设备或应用(例如,浏览器)的一定量的数据的文件。现有的服务提供商平台(例如,内容共享平台、金融平台、电子商务平台等)能够在会话期间使用cookie来授权用户帐户或客户端设备的应用。例如,用户可以使用用户账户信息(例如,用户名和口令)登录到服务提供商平台。服务提供商平台可以授权用户帐户并且可以向客户端设备发送cookie。在会话期间对服务提供商平台的任何后续请求都可以在请求中包括cookie,其中cookie可以用于授权用户帐户请求的服务。
当第三方复制cookie并使用cookie来冒充客户端设备的用户时,发生Cookie盗窃。例如,当用户通过未受保护的或公共Wi-Fi网络访问服务提供商平台时,可能发生Cookie盗窃。使用cookie,第三方可能执行恶意动作,诸如以用户的名义发布虚假帖子或从用户帐户转出资金。
发明内容
以下呈现了本公开的各个方面的简化概述,以便提供对这样的方面的基本理解。该概述并不是对所有预期方面的广泛概述,并且既不旨在标识主要或关键元素,也不旨在描绘这样的方面的范围。其目的是以简化的形式呈现本公开的一些概念,作为稍后呈现的更详细描述的序部。
在本公开的一方面,一种方法包括服务器从第一客户端设备接收服务请求,并且接收与服务请求相关联并且由第一客户端设备生成的认证令牌的第一实例。服务器可以进一步从第二客户端设备接收与服务请求相关联并且由第一客户端设备生成的认证令牌的第二实例。响应于确定认证令牌的第一实例与认证令牌的第二实例匹配,服务器可以处理服务请求。
本公开的进一步方面提供了一种系统,包括:存储器;以及处理设备,其耦合到存储器,该处理设备执行根据本文中描述的任何方面或实施例的方法。
本公开的进一步的方面提供了一种方法,包括由第一客户端设备生成认证令牌的第一实例和认证令牌的第二实例。第一客户端设备可以将服务请求和认证令牌的第一实例发送到服务器。第一客户端设备可以进一步将认证令牌的第二实例发送到第二客户端设备。第一客户端设备可以进一步从内容共享平台接收表示服务器接受服务请求的响应,该响应指示由第一客户端设备发送到服务器的认证令牌的第一实例与由第二客户端设备发送到服务提供商平台的认证令牌的第二实例相匹配。
一个方面的可选特征可以在适当的情况下与其他方面组合。
附图说明
根据下面给出的详细描述以及根据本公开的各个方面和实施方式的附图,将更全面地理解本公开的各方面和实施方式,然而,不应将其视为将本公开限制于特定的方面或实施方式,而是仅用于解释和理解。
图1图示根据本公开的一个实施方式的用于使得在第一客户端设备上提供的媒体特征能够呈现在第二客户端设备上的系统架构的示例。
图2描绘了根据实施例的用于使用次要客户端设备来认证由主要客户端设备发起的服务请求的方法的交互图。
图3描绘了根据实施例的用于使用次要客户端设备来认证由主要客户端设备发起的服务请求的另一方法的交互图。
图4描绘了根据本公开的一个实施方式的用于认证由主要客户端设备发起的服务请求的方法的流程图。
图5描绘了根据本公开的一个实施方式的用于发起需要由认证设备进行认证的服务请求的方法的流程图。
图6描绘了根据本公开的一个或多个方面操作的示例计算设备的框图。
具体实施方式
本公开的各方面和实施方式提供了一种用于防止cookie盗窃的机制。内容共享平台(或向用户提供服务的任何其他平台)可以使用cookie来授权从用户帐户或客户端设备的应用发出的服务请求。客户端设备可以是个人计算机(PC)、笔记本计算机、智能手机、平板计算机等。服务请求可以包括登录请求、内容上传请求、内容搜索请求、内容消费请求、购买请求等等。为了防止第三方复制cookie并使用该cookie冒充客户端设备的用户,现有系统可能使用次要服务验证方法,诸如双因素认证,以认证某些服务请求(例如,登录请求和购买请求)。双因素认证可以包括内容共享平台向与用户相关联的另一应用——诸如向电子邮件地址或电话号码——发送验证码。然后,用户可以将接收到的验证码发送到内容共享平台以认证未决的服务请求。然而,使用双因素认证既耗时又麻烦,因为用户可能需要退出(或切换)内容共享平台的应用或网站才能检索验证码。这导致不期望的延迟,特别是如果用于每个服务请求,则可能消耗附加的时间和计算资源,并且给用户带来不便。
本公开的各方面通过提供一种机制来解决上述和其他缺陷,该机制启用物理上共置的(例如,在相对短或预定距离内、在共享视线内等)次要客户端设备用作能够认证由主要客户端设备向服务提供商平台发起的所有或某些类型的服务请求的认证设备。根据本公开的一些方面,主要客户端设备和次要客户端设备可以向服务提供商平台注册。两个客户端设备可以与相同的用户帐户相关联。例如,使用主要客户端设备,用户可以通过提供诸如用户名和口令的用户帐户信息来访问他们的用户帐户。一旦被访问,用户可以使用例如客户端设备标识数据(例如,与主要客户端设备关联的设备序列号、标识号、互联网协议(IP)地址、位置数据或其他标识数据等)向用户账户注册主要客户端设备。类似地,用户可以通过经由次要客户端设备向服务提供商平台提供用户账户信息来向用户账户注册次要客户端设备。在一些实施例中,响应于注册,服务提供商平台可以向主要客户端设备和/或次要客户端设备发送一个或多个密码密钥,诸如一个或多个公钥和/或一个或多个私钥。密码密钥可以被用于验证相应的客户端设备的身份。主要客户端设备和次要客户端设备可以各自接收不同的密码密钥集。
然后,主要客户端设备可以请求服务提供商平台将次要客户端设备用作认证设备。认证设备可以是物理上共置的次要客户端设备,其用于认证由主要客户端设备发出的服务请求。使用共置的次要设备来认证由主要客户端设备发出的服务请求防止了远程第三方冒充主要客户端设备的用户,因为第三方必须物理上位于主要客户端设备附近。在一些实施例中,需要由认证设备(例如,次要客户端设备)认证的服务请求的类型可以是预定义的。例如,响应于用户输入,服务提供商平台可以仅针对上传内容请求和购买请求启用次要设备验证。
在一些实施方式中,主要客户端设备能够发出需要次要设备验证以还生成认证令牌的服务请求。认证令牌可以包括随机数、随机字符串、密码签名、键值对、散列值、证书等。主要客户端设备然后可以将服务请求和认证令牌发送到服务提供商平台。在一些实施例中,主要客户端设备可以将认证令牌附加到服务请求。在其他实施例中,主要客户端设备可以在两个分开的传输中发送服务请求和认证令牌。主要客户端设备可以进一步将认证令牌发送到次要客户端设备(例如,认证设备)。在一些实施例中,主要客户端设备可以使用短距离通信技术将认证令牌发送到次要客户端设备。短距离通信技术可以被用于建立主要客户端设备和次要客户端设备物理上共置。在一些实施例中,短距离通信技术可以包括例如无线技术,诸如点对点(P2P)、 Wi-Fi直连(Wi-Fi P2P)、红外技术或超声波技术。在一些实施例中,短距离通信技术可以包括有线技术,诸如电缆连接(例如,通用串行总线(USB)连接器、以太网连接器、照明连接器等)。一旦接收到,次要客户端设备就可以将认证令牌发送到服务提供商平台。在一些实施例中,次要客户端设备可以首先对认证令牌进行加密,或者使用从服务提供商平台接收到的私钥和/或公钥对认证令牌进行签名,以验证次要客户端设备的身份。
服务提供商平台可以从两个客户端设备接收认证令牌,可选地使用私钥和/或公钥来解密或验证客户端设备的真实性,以及将从主要客户端设备接收到的认证令牌与从次要客户端设备接收到的认证令牌进行比较。响应于确定两个认证令牌匹配(例如,来自主要客户端设备的接收到的传输的数字或字符串与来自次要客户端设备的接收到的传输的数字或字符串相同),服务提供商平台可以授权或处理从主要客户端设备接收到的服务请求。在一些实施例中,次要客户端设备可以作为后台进程(例如,在没有用户干预的情况下执行的进程)来执行中继(例如,接收和发送)认证令牌。因此,由用户发起的每个服务请求可以利用经由次要设备验证提供的附加安全性来处理,并且几乎没有或没有附加延迟。
在一些实施例中,两个客户端设备的物理上共置可以使用位置数据——诸如例如,互联网协议(IP)地址、媒体访问控制(MAC)地址、全球定位系统(GPS)数据等——来建立。具体地,主要客户端设备和次要客户端设备可以向服务提供商平台发送附加有相应的位置数据的认证令牌。在接收到认证令牌后,服务提供商平台可以比较每个令牌的位置数据并且确定位置数据是否匹配(例如,确定附加到一个认证令牌的IP地址是否与附加到另一认证令牌的IP地址相对应)。响应于确定两个认证令牌匹配并且附加到每个认证令牌的位置数据也匹配,服务提供商平台可以授权或处理从主要客户端设备接收到的服务请求。
因此,本公开的各方面和实施方式针对第三方提供用户保护,该第三方试图通过经由共置的次要客户端设备验证服务请求来使用被盗的cookie以冒充用户。本文中公开的技术是有利的,因为它克服了当前用户可用于防止来自他们的帐户的未授权服务请求的有限能力和功能。代替地,用户现在能够安全地向服务提供商平台发出服务请求,而几乎没有或没有附加的延迟,并且不生成需要用户输入的提示(例如,不需要用户在任何用户设备上手动输入任何验证码)。这样,本文中公开的技术使得用户能够与服务提供商平台进行更安全的会话,并且减少否则会用于支持用户切换到不同的应用或网站来检索验证码、生成提示以请求用户输入验证码以及监视和处理用户输入所消耗的时间和计算资源。
为了简单和简洁,本公开的实施方式参考了对内容共享平台的服务请求的认证。然而,本公开的教导可以应用于利用cookie(或其他授权数据)的任何服务提供商平台,诸如例如金融平台、银行平台、社交媒体平台、电子商务平台等。
图1图示了根据本公开的一个实施方式的系统架构100的示例。系统架构100(本文中也称为“系统”)包括第一客户端设备110、第二客户端设备120、服务器130、网络150和数据仓储135。
网络150可以包括公共网络(例如,互联网)、专用网络(例如,局域网(LAN)或广域网(WAN))、有线网络(例如,以太网)、无线网络(例如,802.11网络或Wi-Fi网络)、蜂窝网络(例如,长期演进(LTE)网络)、路由器、集线器、交换机、服务器计算机和/或其组合。
数据仓储135可以是能够存储内容项(诸如媒体项)以及用于标记、组织和索引内容项的数据结构的持久性存储装置。数据仓储135可以由一个或多个存储设备——诸如主存储器、基于磁或光存储的磁盘、磁带或硬盘驱动器、NAS、SAN等等——来托管。在一些实施例中,数据仓储135可以是网络附接的文件服务器,而在其他实施例中,数据仓储135可以是某种其他类型的持久存储,诸如面向对象的数据库、关系数据库等等,其可以由服务提供商平台130或耦合到服务提供商平台130的一个或多个不同机器托管。在一些实施例中,数据仓储135可以经由网络150耦合到服务提供商平台130。
客户端设备110、120可以各自包括计算设备,诸如个人计算机(PC)、膝上型计算机、移动电话、智能电话、平板计算机、上网本计算机、网络连接的电视等。在一些实施例中,客户端设备110、120也可以被称为“用户设备”。在一些实施例中,每个客户端设备110、120可以包括媒体播放器112(或媒体查看器)、链接模块112和令牌模块116。
在一些实施例中,媒体播放器112可以是允许用户回放、查看或上传内容——诸如图像、视频项、网页、文档、音频项等——的应用。例如,媒体播放器112可以是Web浏览器,其可以访问、检索、呈现或导航由Web服务器提供的内容(例如,诸如超文本标记语言(HTML)页面的网页、数字媒体项等)。媒体播放器112可以向用户渲染、显示或呈现内容(例如,网页、媒体查看器)。媒体播放器112还可以包括嵌入在网页(例如,可以提供关于由在线商家销售的产品的信息的网页)中的嵌入式媒体播放器(例如,播放器或HTML5播放器)。在另一示例中,媒体播放器112可以是允许用户回放数字媒体项(例如,数字视频项、数字图像、电子书等)的独立应用(例如,移动应用或本机应用)。根据本公开的各方面,媒体播放器112可以是供用户记录、编辑和/或上传内容以在内容共享平台上共享的内容共享平台应用。这样,媒体播放器112可以由服务提供商平台130提供给客户端设备110、120。例如,媒体播放器112可以是嵌入在由服务提供商平台130提供的网页中的嵌入式媒体播放器。在另一示例中,媒体播放器112可以是从服务提供商平台130下载的应用。为了简单和简洁起见,本公开的实施方式将媒体播放器112称为用于与内容共享平台通信(例如,发送服务请求、接收内容等)的应用。然而,在其他实施例中,媒体播放器112可以是启用与其他类型的服务提供商平台——诸如例如金融平台、银行平台、社交媒体平台、电子商务平台等——通信的一个或多个应用。
在一些实施例中,第一客户端设备110可以使用链接模块114来与一个或多个第二客户端设备120耦合(例如,配对)和/或通信。在一些实施例中,耦合可以基于短距离通信技术,并且客户端设备110、120两者可以物理上共置(例如,在相对短的或预定的距离内、在共享的视线内等)。在一些实施例中,第一客户端设备110和第二客户端设备120可以包括用于在第一客户端设备110和第二客户端设备120之间建立短距离耦合的无线技术。无线通信技术可以包括点对点(P2P)、 Wi-Fi直连(Wi-FiP2P)、红外线、超声波或其他技术。在一些实施例中,第一客户端设备110和第二客户端设备120可以包括用于在第一客户端设备110和第二客户端设备120之间建立短距离耦合的有线技术。有线通信技术可以包括电缆连接,诸如例如通用串行总线(USB)连接器、以太网连接器、照明连接器或任何其他有能力的连接器。
在一些实施例中,链接模块114可以生成位置数据,能够由服务提供商平台130使用该位置数据来建立第一客户端设备110和第二客户端设备120物理上共置。例如,(每个客户端设备110、120的)链接模块114可以向服务提供商平台120发送与相应客户端设备110、120相关联的位置数据。位置数据可以包括与客户端设备110、120相关联的互联网协议(IP)地址、与客户端设备110、120相关联的媒体访问控制(MAC)地址、地理位置数据(例如,全球定位系统(GPS)数据、移动电话塔数据、Wi-Fi接入点数据等)、任何其他位置数据或其任何组合。在一些实施例中,位置数据可以被附加到其他数据,诸如认证令牌或服务请求。在其他实施例中,位置数据可以独立于其他数据而被发送到服务提供商平台130。为了建立物理共置,服务提供商平台130可以比较从客户端设备110和120接收到的位置数据,并且确定位置数据是否匹配(例如,位置数据指示客户端设备110和120非常接近)。例如,服务提供商平台130可以确定与第一客户端设备110相关联的IP地址是否与关联于第二客户端设备120的IP地址相同(例如,如果两个客户端设备同时连接到同一网络)。
令牌模块116可以被用于生成一个或多个认证令牌。认证令牌可以针对向服务提供商平台130发出的服务请求而生成,并且可以被用于通过使用验证客户端设备(例如,与请求服务的客户端设备物理上共置的客户端设备)来认证服务请求。服务请求可以是由客户端设备110、120向服务提供商平台130发出的任何类型的请求,诸如例如登录请求、上传内容请求、内容搜索请求、消费内容请求、赞成内容请求、不赞成内容请求、评论内容请求、设置改变请求、个人详细信息改变请求、购买请求等。在一些实施例中,认证令牌可以是随机生成的数字(例如,64位数字、128位数字等)或字符串。在其他实施例中,认证令牌可以是密码签名、键值对、散列值、证书等。
认证令牌可以由客户端设备110、120分别发送到客户端设备120、110,并且发送到服务提供商平台130。在一些实施例中,客户端设备110、120和/或服务提供商平台130可以通过解密认证令牌、确定认证令牌的密码签名和/或执行与认证令牌相关联的任何其他过程来对接收到的认证令牌执行认证过程,如将在下面更详细地讨论。响应于对认证令牌进行认证,服务提供商平台130可以接受或执行所请求的服务请求。例如,服务提供商平台130可以发起或继续所请求的数字媒体项目的回放、允许所请求的数字媒体项目的上传等。
在一些实施例中,需要(由验证客户端设备)验证的服务请求的类型可以是预定义的。例如,用户可以使用媒体播放器112来选择需要由物理上共置的验证设备进行的验证的服务请求的类型,其中所有其他请求可能不需要由验证设备的验证。例如,响应于用户输入,授权数据服务124可以启用仅针对登录请求、上传内容请求和购买请求的验证设备认证。
在一些实施例中,服务提供商平台130可以包括一个或多个计算设备(诸如机架式服务器、路由器计算机、服务器计算机、个人计算机、大型计算机、笔记本计算机、平板计算机、台式计算机等)、可以被用于向用户提供对媒体项的访问或向用户提供媒体项的数据仓储(例如,硬盘、存储器、数据库)、网络、软件组件或硬件组件。例如,服务提供商平台130可以允许用户消费、上传、搜索、赞成(“喜欢”)、不赞成(“不喜欢”)或评论媒体项。服务提供商平台130还可以包括可以被用于向用户提供对媒体项的访问的网站(例如,网页)或应用后端软件。
在本公开的一些实施例中,“用户”可以被表示为单个个体。然而,本公开的其他实施例涵盖作为由一组用户和/或自动化源控制的实体的“用户”。例如,在社交网络中作为社区联合的单独用户集可以被视为“用户”。在另一示例中,自动化消费者可以是服务提供商平台130的自动摄取管道,诸如主题频道。
服务提供商平台130可以包括多个频道。频道可以是可从公共源获得的数据内容或者具有公共话题、主题或实质的数据内容。数据内容可以是由用户选择的数字内容、可由用户使用的数字内容、由用户上传的数字内容、由内容提供商选择的数字内容、由广播公司选择的数字内容等。例如,频道X可以包括视频Y和Z。频道可以与所有者相关联,所有者是可以在频道上执行动作的用户。可以基于所有者的动作——诸如所有者使频道上的数字内容可用、所有者选择(例如,喜欢)与另一频道相关联的数字内容、所有者评论与另一频道相关联的数字内容等——来将不同的活动与频道相关联。与频道相关联的活动可以被收集到频道的活动馈送中。除频道所有者之外的用户可以订阅他们感兴趣的一个或多个频道。“订阅”的概念也可以被称为“喜欢”、“关注”、“加好友”等。
一旦用户订阅了频道,就可以向用户呈现来自该频道的活动馈送的信息。如果用户订阅多个频道,则该用户订阅的每个频道的活动馈送可以被组合成联合活动馈送。来自联合活动馈送的信息可以呈现给用户。频道可能具有其自己的馈送。例如,当导航到服务提供商平台上的频道的主页时,由该频道产生的馈送项目可以被显示在频道主页上。用户可以具有联合馈送,该联合馈送是包括来自用户订阅的所有频道的至少内容项的子集的馈送。联合馈送还可以包括来自用户未订阅的频道的内容项。例如,服务提供商平台130或其他社交网络可以将推荐的内容项插入到用户的联合馈送中,或者可以在联合馈送中插入与用户的相关连接相关联的内容项。
每个频道可以包括一个或多个媒体项。媒体项的示例可以包括但不限于数字视频、数字电影、数字照片、数字音乐、音频内容、旋律、网站内容、社交媒体更新、电子书、电子杂志、数字报纸、数字有声读物、电子期刊、Web博客、真实简单聚合(RSS)源、电子漫画书、软件应用等。在一些实施例中,媒体项也被称为内容或内容项。
为了简洁和简单起见,而不是限制,贯穿该文档使用视频项、音频项或游戏项作为媒体项的示例。如本文中所使用的,“媒体”、“媒体项”、“在线媒体项”、“数字媒体”、“数字媒体项”、“内容”和“内容项”可以包括可以使用被配置为向实体呈现数字媒体项目的软件、固件或硬件来执行或加载的电子文件。在一个实施例中,服务提供商平台130可以使用数据仓储106来存储媒体项132。在另一实施例中,服务提供商平台130可以使用数据仓储135将视频项或指纹存储为一种或多种格式的电子文件。
在一些实施例中,媒体项是视频项。视频项是表示运动场景的连续视频帧(例如,图像帧)集。例如,可以连续捕获或稍后重建一系列连续视频帧以产生动画。视频项可以以各种格式呈现,包括但不限于模拟、数字、二维和三维视频。此外,视频项可以包括电影、视频剪辑或要按顺序显示的任何动画图像集。另外,视频项可以被存储为包括视频分量和音频分量的视频文件。视频分量可以指视频编码格式或图像编码格式(例如,H.264(MPEG-4AVC)、H.264MPEG-4第2部分、图形交换格式(GIF)、WebP等)的视频数据。音频分量可以指音频编码格式(例如,高级音频编码(AAC)、MP3等)的音频数据。可以注意到,GIF可以被保存为图像文件(例如,.gif文件)或保存为动画GIF中的一系列图像(例如,GIF89a格式)。可以注意到,H.264可以是视频编码格式,其是用于例如视频内容的记录、压缩或分发的面向块的基于运动补偿的视频压缩标准。
在一些实施例中,媒体项可以被流式传输——诸如以直播流的形式流式传输——到客户端设备110、120中的一个或多个。应当注意,“被流式传输”或“流式传输”是指内容的传输或广播,诸如媒体项、其中媒体项的接收到的部分可以在接收到时或者在媒体内容的其他部分正在被传递时立即由接收设备回放(在技术限制内),并且整个媒体项目尚未由接收设备接收到。“流”可以指被流式传输或流式传输的内容,诸如媒体项。直播流媒体项目可以指直播事件的直播播放或传输,其中,当事件发生以接收设备时,至少部分地并发传输媒体项,并且其中,媒体项不完全可用。
在一些实施例中,服务提供商平台130可以允许用户创建、共享、查看或使用包含媒体项目的播放列表。播放列表是指被配置为以特定次序一个接一个播放而无需任何用户交互的媒体项的集合。在一些实施例中,服务提供商平台130可以代表用户维护播放列表。在一些实施例中,服务提供商平台130的播放列表特征允许用户将他们喜爱的媒体项目一起分组在单个位置中用于回放。在一些实施例中,服务提供商平台130可以将播放列表上的媒体项发送到客户端设备110、120以供回放或显示。例如,媒体查看器112可以被用于按照媒体项在播放列表上列出的次序来播放播放列表上的媒体项。在另一示例中,用户可以在播放列表上的媒体项之间转换。在又一示例中,用户可以等待播放列表上的下一个媒体项播放或者可以选择播放列表中的特定媒体项目进行回放。
在一些实施例中,用户可以通过用户账户访问共享平台130上的内容。用户可以通过经由客户端设备110、120(例如,媒体查看器112)上的应用提供用户账户信息(例如,用户名和口令)来访问(例如,登录)用户账户。在一些实施例中,用户账户可以与单个用户相关联。在其他实施例中,用户账户可以是共享账户(例如,由多个用户共享的家庭账户)(本文中也称为“共享用户账户”)。共享帐户可以具有多个用户简档,每个用户简档与不同的用户相关联。多个用户可以使用相同的账户信息或不同的账户信息登录共享账户。在一些实施例中,可以基于共享帐户的不同用户简档来区分共享帐户的多个用户。
在一些实施例中,授权数据服务134可以授权用户帐户,使得用户帐户被许可获得所请求的内容。在一些实施例中,授权数据服务134可以授权用户账户(例如,与用户账户相关联的客户端设备)访问所请求的内容、授权将所请求的内容传递到客户端设备,或者两者。用户帐户访问所请求的内容的授权可以涉及授权访问什么内容以及许可谁访问该内容。内容传递的授权可以涉及授权如何传递内容。
在一些实施例中,授权数据服务134可以使用用户账户信息来授权用户账户。在一些实施例中,与客户端设备110、120或媒体播放器112相关联的认证令牌(例如,基于会话的认证令牌、基于内容的认证令牌等)可以被用于授权用户账户和/或回放所请求的内容。在一些实施例中,授权数据服务134是服务提供商平台130的一部分。在一些实施例中,授权数据服务134不是服务提供商平台130的一部分并且是外部服务,诸如由第三方提供的授权服务(例如,可信认证服务)。
尽管本公开的实施例是就内容共享平台和促进服务提供商平台130上的内容项的社交网络共享方面来讨论的,实施例还可以通常应用于提供用户之间的连接的任何类型的网络、内容传递平台或服务提供商平台。本公开的实施方式不限于向用户提供频道订阅的内容共享平台。
进一步于上面的描述,可以向用户提供控制,其允许用户做出关于本文中描述的系统、程序或特征是否以及何时可以实现用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前位置的信息)的收集的选择,以及是否从服务器向用户发送内容或通信。另外,某些数据在被存储或使用之前可能会以一种或多种方式进行处理,以便移除个人身份信息。例如,可以处理用户的身份,使得无法确定该用户的个人身份信息,或者可以在获取位置信息的情况下概括用户的地理位置(诸如到城市、邮政编码或州级别),使得无法确定用户的具体位置。因此,用户可以具有对收集关于用户的什么信息、如何使用该信息以及向用户提供什么信息的控制。
图2是根据本公开的实施例的用于使用次要客户端设备来认证由主要客户端设备发起的服务请求的操作的图。系统200可以包括与图1的系统架构100类似的组件。可以注意到,图1的组件可以用于帮助描述图2。为了说明而非限制的目的,关于系统200的操作被描述为通过授权服务提供商平台130的数据服务124、主要客户端设备205和次要客户端设备210来执行。在一些实施例中,主要客户端设备205可以与客户端设备110类似或相同,并且次要客户端设备210可以与客户端设备120类似或相同。这样,除非另有描述,关于系统200的操作可以由客户端设备110、120的任何组件——诸如例如媒体播放器112、链接模块114和/或令牌模块116——来执行。为了说明而非限制,关于图2描述的操作被示出为顺序执行。可以注意到,这些操作可以以任何次序执行,并且任何操作可以与一个或多个其他操作并发执行。在一些实施方式中,可以以任何次序执行相同、不同、更少或更多数量的操作。
在操作212,主要客户端设备205可以向授权数据服务124发送注册请求,以向与内容共享平台(例如,服务提供商平台130)相关联的用户账户注册主要客户端设备205。例如,用户可以通过使用主要客户端设备205上的媒体查看器应用(例如,媒体查看器112)提供诸如用户名和口令的用户账户信息来访问用户账户。一旦被访问(例如,内容共享平台授权用户账户),媒体查看器112可以呈现设备注册按钮。用户可以选择设备注册按钮来发送注册请求以向内容共享平台注册主要客户端设备205。在一些实施例中,注册请求可以包括授权数据服务124可以用来注册主要客户端设备205的客户端设备标识数据。客户端设备标识数据可以包括设备序列号、标识号、IP地址、位置数据或与主要客户端设备205相关联的其他标识数据。在一些实施例中,响应于注册请求,授权数据服务124可以向主要客户端设备205发送cookie。主要客户端设备205然后可以使用cookie在对内容共享平台的后续请求期间证明注册。在一些实施例中,响应于注册请求,授权数据服务124可以向主要客户端设备205发送一个或多个密码密钥,诸如一个或多个公钥和/或一个或多个私钥、证书等,其可以由内容共享平台用来验证主要客户端设备205的身份。
在操作214,次要客户端设备210可以向授权数据服务124发送注册请求,以向与内容共享平台(例如,服务提供商平台130)相关联的用户账户注册次要客户端设备210。注册次要客户端设备210可以类似于注册主要客户端设备205。具体地,用户可以通过使用次要客户端设备210上的媒体查看器应用(例如,媒体查看器112)提供诸如用户名和口令的用户账户信息来访问用户账户。一旦被访问(例如,内容共享平台授权用户账户),媒体查看器112可以呈现设备注册按钮。用户可以选择设备注册按钮来发送注册请求以向内容共享平台注册次要客户端设备210。在一些实施例中,注册请求可以包括授权数据服务124可以用来注册次要客户端设备210的客户端设备标识数据。客户端设备标识数据可以包括设备序列号、标识号、IP地址、位置数据或与次要客户端设备210相关联的其他标识数据。在一些实施例中,响应于注册请求,授权数据服务124可以向次要客户端设备210发送cookie。次要客户端设备210然后可以使用cookie来在对内容共享平台的后续请求期间证明注册。在一些实施例中,响应于注册请求,授权数据服务124可以向次要客户端设备210发送一个或多个密码密钥,诸如一个或多个公钥和/或一个或多个私钥、证书等,其可以被次要客户端设备210用来签署(或添加到)发送到内容共享平台的消息,以允许内容共享平台验证次要客户端设备210的身份。
在操作216,主要客户端设备205向授权数据服务124发送启用次要客户端设备210作为认证设备的请求。认证设备可以是物理上共置的次要设备,其用于认证由主要客户端设备205发出的服务请求。服务请求可以是由客户端设备向内容共享平台发出的针对特定服务的任何类型的请求。在一些实施例中,需要(通过认证设备)认证的服务请求的类型可以是预定义的。例如,响应于用户输入,授权数据服务124可以启用仅针对登录请求、上传内容请求和购买请求的次要设备认证。
在操作218,主要客户端设备205向授权数据服务124发送服务请求。例如,主要客户端设备205可以向授权数据服务124发送将内容上传到与用户账户相关联的频道的请求。
在操作220,响应于确定操作216的服务请求需要次要设备认证,主要客户端设备205生成认证令牌。认证令牌可以是随机生成的数字(例如,64位数字、128位数字等)、字符串、密码签名、键值对、散列值、证书等。在一些实施例中,主要客户端设备205可以通过扫描列出需要次要设备认证的服务请求的类型的数据结构并确定服务请求类型被包括在列表中来确定服务请求需要次要设备认证。在一些实施例中,主要客户端设备205可以从授权数据服务124接收需要次要设备认证的指示(例如,警报)。
在操作222,主要客户端设备205将认证令牌的第一实例发送到授权数据服务124。认证令牌的第一实例可以作为未加密数据发送,或者可以由主要客户端设备205加密。在一些实施例中,主要客户端设备205可以将认证令牌的第一实例附加有私钥和/或公钥、证书、cookie、或能够标识主要客户端设备205的任何其他标识数据,以授权数据服务124。在一些实施例中,主要客户端设备205可以向认证令牌的第一实例附加位置数据,诸如IP地址、MAC地址、GPS数据等。可以由授权数据服务124使用位置数据来验证主要客户端设备205和次要客户端设备210物理上共置。
在一些实施例中,认证令牌的第一实例可以被附加到服务请求。例如,响应于接收到对内容共享平台的服务请求的用户输入,主要客户端设备205可以生成服务请求、生成认证令牌、将认证令牌的第一实例附加到服务请求,并将所附加的服务请求发送到授权数据服务124。
在操作224,主要客户端设备205将认证令牌的第二实例发送到次要客户端设备210。认证令牌的第二实例可以作为未加密数据发送,或者可以由主要客户端设备205加密。由于认证基于次要客户端设备210与主要客户端设备205物理上共置,在一些实施例中,主要客户端设备205可以使用短距离通信技术将认证令牌的第二实例发送到次要客户端设备210。例如,主要客户端设备205可以使用短距离无线通信技术,诸如例如,P2P、Wi-Fi直连(Wi-Fi P2P)、红外、超声波或其他短距离通信技术,将认证令牌的第二实例发送到次要客户端设备210。在一些实施例中,可以使用有线通信技术将认证令牌的第二实例从主要客户端设备205发送到次要客户端设备210,诸如电缆连接(例如,通用串行总线(USB)连接器、以太网连接器、照明连接器或任何其他有能力的连接器)。在一些实施例中,主要客户端设备205可以使用多于一种类型的短距离通信技术来将认证令牌发送到次要客户端设备210。例如,主要客户端设备205可以首先尝试使用/>技术将认证令牌发送到次要客户端设备210,并且,响应于失败的尝试,主要客户端设备205然后可以尝试使用红外技术将认证令牌的第二实例发送到次要客户端设备210。使用的短距离通信技术的类型、要使用的每种短距离通信技术的优先级、以及每种类型的短距离通信技术的尝试次数可以由客户端设备(例如,经由用户帐户的用户设置)或由内容共享平台配置。
在操作226,次要客户端设备210将认证令牌的第二实例发送到授权数据服务124。在一些实施例中,在发送认证令牌的第二实例之前,次要客户端设备210确认其与主要客户端设备205共置。在一些实施例中,可以使用(例如,使用发现功能来确定主要客户端设备205是否在范围内、使用配对功能等)、使用超声波音频调制解调器(例如,使用客户端设备的扬声器和麦克风来传送数据以建立共置)、使用共享IP检测(例如,确定主要客户端设备205和次要客户端设备210两者是否都使用相同的IP地址)、使用地理位置数据(例如,全球定位系统(GPS)数据、移动电话塔数据、Wi-Fi接入点数据等)、使用有线连接等来确认共置。认证令牌的第二实例可以作为未加密数据发送,或者可以由次要客户端设备210加密。在一些实施例中,次要客户端设备210可以向认证令牌的第二实例附加私钥和/或公钥、证书、cookie、或者能够标识次要客户端设备205的任何其他标识数据,以授权数据服务124。在一些实施例中,次要客户端设备210可以向认证令牌的第二实例附加位置数据,诸如IP地址、MAC地址、GPS数据等。可以由授权数据服务124使用位置数据来验证主要客户端设备205和次要客户端设备210物理上共置。
在操作228,授权数据服务124比较(例如,在解密接收到的消息之后)从每个客户端设备接收到的认证令牌的第一实例和第二实例,并且确定认证令牌的实例是否匹配。例如,授权数据服务124可以确定从主要客户端设备205接收到的数字或字符串是否与从次要客户端设备210接收到的数字或字符串相同、从每个客户端设备接收到的证书是否匹配等。在一些实施例中,授权数据服务124可以首先解密认证令牌中的一个或两个,从而确定认证令牌的密码签名,和/或执行与认证令牌相关联的任何其他过程。在认证令牌的实例不匹配的实施例中,授权数据服务124可以拒绝未决的服务请求。
在操作230处,授权数据服务124可以可选地确定主要客户端设备205和次要客户端设备210物理上共置。在一些实施例中,授权数据服务124可以通过使用附加到从主要客户端设备205和次要客户端设备210接收到的认证令牌的位置数据来确定物理共置。例如,授权数据服务124可以比较附加到每个相应令牌的位置数据,并确定附加到从主要客户端设备205接收到的认证令牌的IP地址、MAC地址或GPS数据是否分别匹配附加到从次要客户端设备210接收到的认证令牌的IP地址、MAC地址或GPS数据。在位置数据不匹配的实施例中,授权数据服务124可以拒绝未决的服务请求。注意,操作230是可选的,因为在其他实施例中,客户端设备205、210的物理共置可以通过从次要客户端设备210接收认证令牌来建立,因为在这些其他实施例中,次要客户端设备210被配置为仅当其确认与主要客户端设备205共置时才发送认证令牌(这在例如以下条件下可以被确认:例如,次要客户端设备210能够使用短距离通信技术与主要客户端设备205通信)。
在操作232,授权数据服务124授权服务请求。例如,授权数据服务124处理从主要客户端设备205接收到的未决服务请求。
图3是根据本公开的实施例的用于使用次要客户端设备对主要客户端设备发起的服务请求进行认证的操作的另一图。系统300可以包括与图1的系统架构100类似的组件。可以注意到,图1的组件可以用于帮助描述图3。为了说明而非限制的目的,关于系统300的操作被描述为通过授权服务提供商平台130的数据服务124、主要客户端设备305和次要客户端设备310来执行。在一些实施例中,主要客户端设备305可以与客户端设备110相似或相同,并且次要客户端设备310可以与客户端设备120相似或相同。这样,除非另有描述,关于系统300的操作可以由客户端设备110、120的任何组件——诸如例如媒体播放器112、链接模块114和/或令牌模块116——执行。为了说明而不是限制,相对于图3描述的操作被示出为顺序执行。可以注意,这些操作可以以任何次序执行,并且这些操作的任一个可以与一个或多个其他操作并发执行。在一些实施方式中,可以以任何次序执行相同、不同、更少或更多数量的操作。
在操作312,主要客户端设备305可以向授权数据服务124发送注册请求,以向相关联的内容共享平台(例如,服务提供商平台130)注册主要客户端设备305。注册请求可以包括授权数据服务124可以用来注册主要客户端设备205的客户端设备标识数据。在一些实施例中,响应于注册请求,授权数据服务124可以向主要客户端设备305发送cookie、一个或多个密码密钥——诸如一个或多个公钥和/或一个或多个私钥、证书等。
在操作314,次要客户端设备310可以向授权数据服务124发送注册请求以向相关联的内容共享平台(例如,服务提供商平台130)注册次要客户端设备310。注册次要客户端设备310可以类似于注册主要客户端设备305。在一些实施例中,响应于注册请求,授权数据服务124可以向次要客户端设备310发送cookie、一个或多个密码密钥,诸如一个或多个公钥和/或一个或多个私钥、证书等。
在操作316处,主要客户端设备305向授权数据服务124发送启用次要客户端设备310作为认证设备的请求。在一些实施例中,需要(通过认证设备)认证的服务请求的类型可以是预定义的。
在操作318,主要客户端设备305向授权数据服务124发送服务请求。例如,主要客户端设备305可以向授权数据服务124发送将内容上传到与用户账户相关联的频道的请求。在一些实施例中,主要客户端设备310可以向服务请求附加位置数据,诸如IP地址、MAC地址、GPS数据等。可以由授权数据服务124使用位置数据来验证主要客户端设备305和次要客户端设备310物理上共置。
在操作320,响应于确定操作316的服务请求需要次要设备认证,授权数据服务124生成认证令牌。认证令牌可以是随机生成的数字(例如,64位数字、128位数字等)、字符串、密码签名、键值对、散列值、证书等。在一些实施例中,授权数据服务124可以通过扫描列出需要次要设备认证的服务请求类型的数据结构并且确定服务请求类型被包括在列表中来确定服务请求需要次要设备认证。在一些实施例中,主要客户端设备305可以从授权数据服务124接收指示需要次要设备认证的警报。
在操作322,授权数据服务124将认证令牌发送到主要客户端设备305。认证令牌可以作为未加密的数据被发送,或者可以由授权数据服务124加密。
在操作324,主要客户端设备305将认证令牌发送到次要客户端设备310。认证令牌可以作为未加密的数据被发送,或者可以由主要客户端设备305加密。由于认证基于次要客户端设备310与主要客户端设备305物理上共置,在一些实施例中,主要客户端设备305可以使用短距离通信技术将认证令牌发送到次要客户端设备310。例如,主要客户端设备305可以使用短距离无线通信技术或有线通信技术将认证令牌发送到次要客户端设备310。在一些实施例中,主要客户端设备305可以使用多于一种类型的短距离通信技术来将认证令牌发送到次要客户端设备310。
在操作326,次要客户端设备310将认证令牌发送到授权数据服务124。类似地,认证令牌可以作为未加密数据发送,或者可以由次要客户端设备310加密。在一些实施例中,次要客户端设备310可以向认证令牌附加私钥和/或公钥、证书、cookie或能够标识次要客户端设备305的任何其他标识数据,以授权数据服务124。在一些实施例中,次要客户端设备310可以向认证令牌附加位置数据,诸如IP地址、MAC地址、GPS数据等。可以由授权数据服务124使用位置数据来验证主要客户端设备305和次要客户端设备310物理上共置。
在操作328,授权数据服务124将从次要客户端设备310接收到的认证令牌与在操作322向主要客户端设备305发出的认证令牌进行比较,并且确定认证令牌是否匹配。例如,授权数据服务124可以确定从次要客户端设备310接收到的数字或字符串是否与由授权数据服务124生成的数字或字符串相同。在一些实施例中,授权数据服务124可以首先对接收到的认证令牌进行解密,确定认证令牌的密码签名,和/或执行与认证从次要客户端设备310接收到的令牌相关联的任何其他过程。在认证令牌不匹配的实施例中,授权数据服务124可以拒绝未决的服务请求。
在操作330,授权数据服务124可以可选地确定主要客户端设备305和次要客户端设备310物理上共置。在一些实施例中,授权数据服务124可以通过使用附加到从主要客户端设备305接收到的服务请求的位置数据和附加到从次要客户端设备310接收到的认证令牌的位置数据来确定物理共置。例如,授权数据服务124可以比较位置数据并确定附加到从主要客户端设备305接收到的服务请求的IP地址、MAC地址或GPS数据是否分别匹配附加到从次要客户端设备310接收到的认证令牌的IP地址、MAC地址或GPS数据。在位置数据不匹配的实施例中,授权数据服务124可以拒绝未决的服务请求。
在操作332,授权数据服务124授权服务请求。例如,授权数据服务124处理从主要客户端设备305接收到的未决服务请求。
图4描绘了根据本公开的一些方面的方法400的流程图,其示出了用于认证由主要客户端设备发起的服务请求的过程。方法400由处理逻辑执行,处理逻辑可以包括硬件(电路、专用逻辑等)、软件(诸如在通用计算机系统或专用机器上运行)、或两者的组合。在一个实施方式中,该方法由服务提供商平台130的服务器或者与图1的服务提供商平台130的服务器相关联的授权数据服务124来执行,而在一些其他实施方式中,图4的一个或多个框可以由另一机器执行。在一个实施方式中,授权数据服务134的处理设备执行方法400。
在操作412,处理设备向用户账户注册主要客户端设备。例如,处理设备可以从主要客户端设备(例如,第一客户端设备110)接收注册请求以向与服务提供商平台相关联的用户账户注册主要客户端设备。在一些实施例中,处理设备可以首先接收用户账户信息,诸如用户名和口令,以使主要客户端设备能够访问用户帐户。在一些实施例中,注册请求可以包括客户端设备标识数据,诸如设备序列号、标识号、IP地址、位置数据或与主要客户端设备相关联的其他标识数据。在一些实施例中,一旦注册,处理设备就可以向主要客户端设备发送cookie。然后,主要客户端设备可以使用cookie在对服务提供商平台的后续请求期间证明注册。在一些实施例中,一旦注册,处理设备就可以向主要客户端设备发送一个或多个密码密钥,诸如一个或多个公钥和/或一个或多个私钥、证书等。
在操作414,处理设备向用户账户注册次要客户端设备。例如,处理设备可以从次要客户端设备(例如,第二客户端设备120)接收注册请求以向与服务提供商平台相关联的用户账户注册次要客户端设备。在一些实施例中,处理设备可以首先接收用户帐户信息,诸如用户名和口令,以使次要客户端设备能够访问用户帐户。在一些实施例中,注册请求可以包括客户端设备标识数据,诸如设备序列号、标识号、IP地址、位置数据或与次要客户端设备相关联的其他标识数据。在一些实施例中,一旦注册,处理设备就可以向次要客户端设备发送cookie。然后,次要客户端设备可以在对服务提供商平台的后续请求期间使用cookie来证明注册。在一些实施例中,一旦注册,处理设备就可以向次要客户端设备发送一个或多个密码密钥,诸如一个或多个公钥和/或一个或多个私钥、证书等。
在操作416,处理设备从主要客户端设备或次要客户端设备接收启用次要客户端设备充当认证设备的请求。在一些实施例中,需要(通过认证设备)认证的服务请求的类型可以是预定义的。例如,处理设备可以接收用户输入以仅针对登录请求、上传内容请求和购买请求来启用次要设备认证。
在操作418,处理设备从主要客户端设备接收服务请求。例如,处理设备可以接收将内容上传到与用户账户相关联的频道的请求。在一些实施例中,服务请求可以包括cookie或用于验证主要客户端设备的身份的任何其他类型的标识数据。另外,处理设备从主要客户端设备接收认证令牌的第一实例。认证令牌的第一实例可以与服务请求相关联。在一些实施例中,认证令牌的第一实例被附加到服务请求。认证令牌的第一实例可以是随机生成的数字(例如,64位数字、128位数字等)、字符串、密码签名、键值对、散列值、证书等。在一些实施例中,认证令牌的第一实例可以包括与主要客户端设备相关联的位置数据,诸如IP地址、MAC地址、GPS数据等。在一些实施例中,一旦接收到认证令牌的第一实例,处理设备就可以解密认证令牌的第一实例、确定认证令牌的密码签名、和/或执行与认证令牌相关联的任何其他过程。
在操作420,处理设备从次要客户端设备接收认证令牌的第二实例。在一些实施例中,认证令牌的第二实例可以包括与次要客户端设备相关联的位置数据,诸如IP地址、MAC地址、GPS数据等。在一些实施例中,认证令牌的第二实例包括私钥和/或公钥、证书、cookie、或能够标识次要客户端设备的任何其他标识数据。在一些实施例中,次要客户端设备可以首先确认其与主要客户端设备共置,并且然后才发送认证令牌的第二实例(例如,在使用其私钥对其进行签名之后)。在一些实施例中,处理设备可以(例如,使用对应的公钥)首先解密认证令牌的第二实例、确定认证令牌的密码签名、和/或执行与认证令牌相关联的任何其他过程。
在操作422,处理设备将认证令牌的第一实例与认证令牌的第二实例进行比较以确定这两个实例是否匹配。例如,处理设备可以确定与第一实例相关联的数字或字符串是否与关联于第二实例的数字或字符串相同。在认证令牌的实例不匹配的实施例中,处理设备可以拒绝未决的服务请求。
在操作424,可选地,处理设备可以确定主要客户端设备和次要客户端设备是物理上共置的。在一些实施例中,处理设备可以通过使用从认证令牌的第一实例和第二实例接收到的位置数据来确定物理共置。例如,处理设备可以确定与认证令牌的第一实例相关联(或与服务请求相关联)的IP地址、MAC地址或GPS数据是否分别和与认证令牌的第二实例相关联的IP地址、MAC地址或GPS数据相对应(例如,匹配或以其他方式指示紧密接近)。在主要客户端设备的位置数据不与次要客户端设备的位置数据相对应的实施例中,处理设备可以拒绝未决的服务请求。
在操作426,处理设备授权服务请求。例如,处理设备可以处理从主要客户端设备接收到的未决服务请求。
图5描绘了根据本公开的一些方面的方法500的流程图,其示出了用于发起需要由认证设备进行认证的服务请求的过程。方法500由处理逻辑执行,处理逻辑可以包括硬件(电路、专用逻辑等)、软件(诸如在通用计算机系统或专用机器上运行)、或两者的组合。在一个实施方式中,该方法由图1的第一客户端设备110执行,而在一些其他实施方式中,图5的一个或多个框可以由另一机器执行。在一个实施方式中,第一客户端设备110的处理设备执行方法500。
在操作512,处理设备向服务器(例如,内容共享平台或任何其他服务提供商平台的服务器)发送服务请求。例如,处理设备可以发送将内容上传到与用户账户相关联的频道的请求。在一些实施例中,服务请求可以包括cookie或用于验证与处理设备相关联的主要客户端设备的身份的任何其他类型的标识数据。在一些实施例中,可以向服务提供商平台注册主要客户端设备。
在操作514,处理设备生成认证令牌。认证令牌可以是随机生成的数字(例如,64位数字、128位数字等)、字符串、密码签名、键值对、散列值、证书等。
在操作516,处理设备将认证令牌的第一实例发送到服务器。在认证令牌的第一实例被附加到服务请求的一些实施例中,操作512和516被组合成在操作514之后执行的单个操作。在一些实施例中,认证令牌的第一实例可以包括与主要客户端设备相关联的位置数据,诸如IP地址、MAC地址、GPS数据等。在一些实施例中,认证令牌可以附加有私钥和/或公钥、证书、cookie或任何其他标识数据。
在操作518,处理设备将认证令牌的第二实例发送到次要客户端设备。次要客户端设备可以是物理上共置的认证设备,其用于认证由主要客户端设备发出的服务请求。认证令牌的第二实例可以作为未加密的数据被发送,或者可以由处理设备加密。由于认证基于与主要客户端设备物理上共置的次要客户端设备,在一些实施例中,处理设备可以使用有线或无线短距离通信技术将认证令牌发送到次要客户端设备。
在操作520,处理设备从服务器接收表示由服务器接受服务请求的响应,该响应指示由第一客户端设备发送到服务器的认证令牌的第一实例与由第二客户端设备发送到服务器的认证令牌的第二实例相匹配。在一些实施例中,响应包括服务请求已被处理或完成的指示。响应于服务器将认证令牌的第一实例与认证令牌的第二实例进行比较并且确定两个实例匹配,可以处理或完成服务请求。在认证令牌的实例不匹配的实施例中,处理设备可以接收服务请求被拒绝的指示。
图6是示出根据本公开的实施例的示例性计算机系统600的框图。计算机系统600执行一个或多个指令集,其使得机器执行本文中所讨论的方法论中的任一个或多个。指令集、指令等可以指当被计算机系统600执行时使得计算机系统600执行客户端设备110、120(未示出)的一个或多个操作和/或授权数据服务的指令。该机器可以以客户端-服务器网络环境中的服务器或客户端设备的身份进行操作,或者作为对等(或分布式)网络环境中的对等机器进行操作。该机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、Web装置、服务器、网络路由器、交换机或网桥,或任何能够执行指令集(顺序或其他方式)的机器,这些指令指定要由该机器采取的动作。此外,虽然仅图示了单个机器,但是术语“机器”还应当被理解为包括单独地或联合地执行指令集以执行本文中所讨论一个或多个方法论中的机器的任何集合。
计算机系统600包括处理设备602、主存储器604(例如,只读存储器(ROM)、闪存、动态随机存取存储器(DRAM),诸如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器606(例如闪存、静态随机存取存储器(SRAM)等)以及数据存储设备616,它们经由总线608彼此通信。
处理设备602表示一个或多个通用处理设备,诸如微处理器、中央处理单元等。更具体地,处理设备602可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、或者实现其他指令集的处理设备或者实现指令集的组合的处理设备。处理设备602还可以是一个或多个专用处理设备,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理设备602被配置为执行系统架构100和授权模块151的指令以用于执行本文中所讨论的操作。
计算机系统600可以进一步包括网络接口设备622,其通过网络618——诸如局域网(LAN)、内联网、外联网或互联网——提供与其他机器的通信。计算机系统600还可以包括显示设备610(例如,液晶显示器(LCD)或阴极射线管(CRT))、字母数字输入设备612(例如,键盘)、光标控制设备614(例如,鼠标)和信号生成设备620(例如,扬声器)。
数据存储设备616可以包括非暂时性计算机可读存储介质624,其上存储了体现本文中描述的任一个或多个方法论或功能的系统架构100或授权模块138的指令集。系统架构100、客户端设备110、120(未示出)和/或授权数据服务的指令集还可以在其由计算机系统600执行期间完全地或至少部分地驻留在主存储器604内和/或处理设备602内。主存储器604和处理装置602也构成计算机可读存储介质。指令集可以进一步经由网络接口设备622通过网络618发送或接收。
虽然计算机可读存储介质624的示例被示出为单个介质,术语“计算机可读存储介质”能够包括存储指令集的单个介质或多个介质(例如,集中式或分布式数据库,和/或相关联的高速缓存和服务器)。术语“计算机可读存储介质”能够包括能够存储、编码或携带由机器执行的指令集并且使得机器执行本公开的方法论中的任一个或多个的任何介质。术语“计算机可读存储介质”可以包括但不限于固态存储器、光学介质和磁介质。
在前面的描述中,阐述了许多细节。然而,对于受益于本公开的本领域普通技术人员来说显而易见的是,无需这样的具体细节也可以实践本公开。在一些实例中,众所周知的结构和设备以框图形式示出,而不是详细示出,以避免模糊本公开。
详细描述的一些部分已经在对计算机存储器内的数据位的操作的算法和符号表示方面来呈现。这样的算法描述和表示是数据处理领域的技术人员用来最有效地将他们的工作实质传达给本领域的其他技术人员的手段。这里,算法通常被认为是导致期望结果的自洽操作序列。这样的操作是需要对物理量进行物理操纵的操作。通常,但不一定,这些量采用能够被存储、传输、组合、比较和以其他方式操纵的电或磁信号的形式。有时已证明,主要出于通用的原因,将这样的信号称为位、值、元素、符号、字符、术语、数字等是方便的。
然而,可以记住,所有这些和类似的术语都与适当的物理量相关联并且仅仅是应用于这些量的方便的标签。除非另有特别说明,应当理解,贯穿本说明书,利用诸如“生成”、“提供”、“调整”、“接收”、“取消”等术语的讨论,是指计算机系统或类似电子计算设备的动作和过程,其将计算机系统存储器或寄存器内表示为物理(例如,电子)量的数据操纵并且转换为类似地表示为计算机系统存储器或寄存器或其他这样的信息存储、传输或显示设备内的物理量的其他数据。
本公开还涉及一种用于执行本文中的操作的装置。该装置可以专门构造用于所需的目的,或者它可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可以存储在计算机可读存储介质中,诸如但不限于任何类型的磁盘,包括软盘、光盘、光盘只读存储器(CD-ROM)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、或适合于存储电子指令的任何类型的介质。
本文中使用词语“示例”或“示例性”来表示充当示例、实例或说明。本文中描述为“示例”或“示例性”的任何方面或设计不一定被解释为比其他方面或设计优选或有利。相反,使用词语“示例”或“示例性”旨在以具体方式呈现概念。如本申请中所使用的,术语“或”旨在表示包含性“或”而不是排他性“或”。也就是说,除非另有说明,或者从上下文中可以清楚地看出,“X包括A或B”旨在表示任何自然的包含性排列。也就是说,如果X包括A;X包括B;或X包括A和B两者,则“X包括A或B”在前述任何实例中均得到满足。另外,本申请和所附权利要求书中使用的冠词“一”和“一个”通常可以被解释为意指“一个或多个”,除非另有说明或者从上下文中清楚地看出针对单数形式。此外,贯穿使用术语“实施例”或“一个实施例”或“实施方式”或“一个实施方式”并不旨在表示相同的实施例或实施方式,除非如此描述。本文中所使用的术语“第一”、“第二”、“第三”、“第四”等意在作为在不同元件当中进行区分的标签,并且不一定具有根据其数字指定的次序含义。
为了解释简单,本文中的方法被描绘和描述为一系列动作或操作。然而,根据本公开的动作能够以各种次序发生和/或并发发生,并且与本文中未呈现和描述的其他动作一起发生。此外,并非需要所有图示的动作来实现根据所公开的主题的方法。另外,本领域技术人员将理解和认识到,这些方法还可以经由状态图或事件来表示为一系列相互关联的状态。附加地,应当理解,本说明书中公开的方法能够被存储在制品上,以有助于将这样的方法传输和转移到计算设备。如本文所使用的术语“制造品”旨在涵盖可从任何计算机可读设备或存储介质访问的计算机程序。
在附加的实施例中,公开了用于执行上述实施例的操作的一个或多个处理设备。附加地,在本公开的实施例中,非暂时性计算机可读存储介质存储用于执行所描述的实施例的操作的指令。此外,在其他实施例中,还公开了用于执行所描述的实施例的操作的系统。
应当理解,以上描述旨在是说明性的,而不是限制性的。在阅读并理解以上描述后,其他实施例对于本领域技术人员来说将是显而易见的。因此,本公开的范围可以参考所附权利要求以及这样的权利要求所牵涉的等同物的完整范围来确定。

Claims (21)

1.一种方法,包括:
由服务器从第一客户端设备接收服务请求以及与所述服务请求相关联并且由所述第一客户端设备生成的认证令牌的第一实例;
从第二客户端设备接收与所述服务请求相关联并且由所述第一客户端设备生成的所述认证令牌的第二实例;以及
响应于确定所述认证令牌的所述第一实例与所述认证令牌的所述第二实例相匹配,处理所述服务请求。
2.根据权利要求1所述的方法,进一步包括:
接收与所述第一客户端设备相关联的第一位置数据;
接收与所述第二客户端设备相关联的第二位置数据;
响应于确定所述第一位置数据与所述第二位置数据相对应,处理所述服务请求。
3.根据权利要求2所述的方法,其中,所述第一位置数据包括下述中的至少一个:互联网协议IP地址、媒体访问控制MAC地址、全球定位系统GPS数据、移动电话塔数据或Wi-Fi接入点数据。
4.根据权利要求1所述的方法,其中,所述服务请求包括下述中的至少一个:登录请求、上传内容请求、内容搜索请求、消费内容请求、赞成内容请求、不赞成内容请求、对内容的评论请求、设置改变请求、个人详细信息改变请求或购买请求。
5.根据权利要求1所述的方法,其中,所述认证令牌包括下述中的至少一个:随机生成的数字、随机生成的字符串、密码签名、键值对、散列值或证书。
6.根据权利要求1所述的方法,其中,所述第二客户端设备被注册为所述第一客户端设备的认证设备。
7.根据权利要求1所述的方法,其中,所述服务请求被标识为需要由所述第二客户端设备认证的服务请求的类型。
8.根据权利要求1所述的方法,进一步包括:
响应于确定所述认证令牌的所述第一实例与所述认证令牌的所述第二实例不匹配,拒绝所述服务请求。
9.根据权利要求2所述的方法,进一步包括:
响应于确定所述第一位置数据不是对应于所述第二位置数据,拒绝所述服务请求。
10.一种方法,包括:
由第一客户端设备生成认证令牌的第一实例和认证令牌的第二实例;
由所述第一客户端设备将服务请求和所述认证令牌的所述第一实例发送到服务器;
将所述认证令牌的所述第二实例发送到第二客户端设备;以及
从所述服务器接收表示由所述服务器接受所述服务请求的响应,所述响应指示由所述第一客户端设备发送到所述服务器的所述认证令牌的所述第一实例与由所述第二客户端设备发送到所述服务器的所述认证令牌的所述第二实例相匹配。
11.根据权利要求10所述的方法,其中,使用短距离通信技术将所述认证令牌的所述第二实例发送到所述第二客户端设备。
12.根据权利要求10所述的方法,进一步包括:将与所述第一客户端设备相关联的第一位置数据发送到所述服务器,其中,表示由所述服务器接受所述服务请求的所述响应进一步指示由所述第一客户端设备发送到所述服务器的所述第一位置数据与由所述第二客户端设备发送到所述服务器的第二位置数据相对应。
13.根据权利要求12所述的方法,其中,所述第一位置数据包括下述中的至少一个:互联网协议IP地址、媒体访问控制MAC地址、全球定位系统GPS数据、移动电话塔数据或Wi-Fi接入点数据。
14.根据权利要求10所述的方法,其中,所述服务请求包括下述中的至少一个:登录请求、上传内容请求、内容搜索请求、消费内容请求、赞成内容请求、不赞成内容请求、对内容的评论请求、设置改变请求、个人详细信息改变请求或购买请求。
15.根据权利要求10所述的方法,其中,所述认证令牌包括下述中的至少一个:随机生成的数字、随机生成的字符串、密码签名、键值对、散列值或证书。
16.根据权利要求10所述的方法,其中,所述第二客户端设备被注册为所述第一客户端设备的认证设备。
17.根据权利要求10所述的方法,其中,所述服务请求被标识为需要由所述第二客户端设备认证的服务请求的类型。
18.根据权利要求12所述的方法,其中,在所述第二客户端设备已经确定所述第二客户端设备与所述第一客户端设备是共置的之后,所述第二位置数据由所述第二客户端设备发送到所述服务器。
19.一种系统,包括:
存储器;以及
耦合到所述存储器的处理设备,所述处理设备被配置为:
从第一客户端设备接收服务请求;
从所述第一客户端设备接收与所述服务请求相关联的认证令牌的第一实例;
从第二客户端设备接收与所述服务请求相关联的所述认证令牌的第二实例,其中,所述认证令牌的所述第二实例由所述第一客户端设备生成;以及
响应于确定所述认证令牌的所述第一实例与所述认证令牌的所述第二实例相匹配,处理所述服务请求。
20.根据权利要求19所述的系统,其中,所述处理设备进一步被配置为:
接收与所述第一客户端设备相关联的第一位置数据;
接收与所述第二客户端设备相关联的第二位置数据;
响应于确定所述第一位置数据与所述第二位置数据相对应,处理所述服务请求。
21.根据权利要求19所述的系统,其中,所述处理设备进一步被配置为:
响应于确定所述认证令牌的所述第一实例与所述认证令牌的所述第二实例不匹配,拒绝所述服务请求。
CN202280024765.1A 2021-10-28 2022-10-27 使用共置的次要设备来防止Cookie盗窃 Pending CN117121437A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/513,564 US20230137767A1 (en) 2021-10-28 2021-10-28 Using co-located secondary devices to protect against cookie theft
US17/513,564 2021-10-28
PCT/US2022/048082 WO2023076512A1 (en) 2021-10-28 2022-10-27 Using co-located secondary devices to protect against cookie theft

Publications (1)

Publication Number Publication Date
CN117121437A true CN117121437A (zh) 2023-11-24

Family

ID=84367311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280024765.1A Pending CN117121437A (zh) 2021-10-28 2022-10-27 使用共置的次要设备来防止Cookie盗窃

Country Status (7)

Country Link
US (1) US20230137767A1 (zh)
EP (1) EP4292247A1 (zh)
JP (1) JP2024519654A (zh)
KR (1) KR20230151024A (zh)
CN (1) CN117121437A (zh)
TW (1) TW202318231A (zh)
WO (1) WO2023076512A1 (zh)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9185108B2 (en) * 2005-05-06 2015-11-10 Symantec Corporation Token sharing system and method
US8875236B2 (en) * 2007-06-11 2014-10-28 Nokia Corporation Security in communication networks
US9154953B2 (en) * 2010-12-10 2015-10-06 At&T Intellectual Property I, L.P. Network access via telephony services
MY183320A (en) * 2011-09-19 2021-02-18 E Lock Corp Sdn Bhd Method of controlling access to an internet-based application
US8752156B1 (en) * 2012-03-30 2014-06-10 Emc Corporation Detecting soft token copies
US9413758B2 (en) * 2012-05-24 2016-08-09 Fmr Llc Communication session transfer between devices
US8788471B2 (en) * 2012-05-30 2014-07-22 International Business Machines Corporation Matching transactions in multi-level records
US20130332358A1 (en) * 2012-06-12 2013-12-12 Ebay, Inc. Fraud detection system
US20140173695A1 (en) * 2012-12-18 2014-06-19 Google Inc. Token based account access
US20140282923A1 (en) * 2013-03-14 2014-09-18 Motorola Mobility Llc Device security utilizing continually changing qr codes
US9836727B1 (en) * 2013-08-30 2017-12-05 Capital One Financial Corporation Systems and methods for point of sale deposits
US10548007B2 (en) * 2013-11-15 2020-01-28 Here Global B.V. Security operations for wireless devices
WO2017031504A1 (en) * 2015-08-20 2017-02-23 Cloudwear, Inc. Method and apparatus for geographic location based electronic security management
US11494727B2 (en) * 2016-08-11 2022-11-08 TruckPay Inc. Job verification method and system based on code scanning

Also Published As

Publication number Publication date
US20230137767A1 (en) 2023-05-04
KR20230151024A (ko) 2023-10-31
JP2024519654A (ja) 2024-05-21
WO2023076512A1 (en) 2023-05-04
EP4292247A1 (en) 2023-12-20
TW202318231A (zh) 2023-05-01

Similar Documents

Publication Publication Date Title
AU2015218600B2 (en) Transferring authorization from an authenticated device to an unauthenticated device
US20200084045A1 (en) Establishing provenance of digital assets using blockchain system
US20220286300A1 (en) Systems and methods to evaluate client device trust in a distributed computing system
JP7540019B2 (ja) 複数の暗号学的デジタル署名を使用したコンテンツアクセスおよびコンテンツ配信の認可の分離
WO2019077198A1 (en) CONFIDENTIALITY CONTROL OF MULTIMEDIA CONTENT
US20230217054A1 (en) Systems and methods to deliver content during client authentication process in a distributed computing system
US20230137767A1 (en) Using co-located secondary devices to protect against cookie theft

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