CN113678126A - 使用多个加密数字签名分离授权内容访问和内容交付 - Google Patents
使用多个加密数字签名分离授权内容访问和内容交付 Download PDFInfo
- Publication number
- CN113678126A CN113678126A CN201980094597.1A CN201980094597A CN113678126A CN 113678126 A CN113678126 A CN 113678126A CN 201980094597 A CN201980094597 A CN 201980094597A CN 113678126 A CN113678126 A CN 113678126A
- Authority
- CN
- China
- Prior art keywords
- content
- client device
- digital signature
- server
- resource locator
- 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.)
- Granted
Links
- 238000012384 transportation and delivery Methods 0.000 title claims abstract description 124
- 238000013475 authorization Methods 0.000 title claims description 75
- 230000008859 change Effects 0.000 claims abstract description 60
- 238000009826 distribution Methods 0.000 claims description 142
- 238000012545 processing Methods 0.000 claims description 45
- 230000004044 response Effects 0.000 claims description 39
- 238000000034 method Methods 0.000 claims description 31
- 230000015654 memory Effects 0.000 claims description 24
- 108091006146 Channels Proteins 0.000 description 28
- 238000010586 diagram Methods 0.000 description 18
- 238000003860 storage Methods 0.000 description 14
- 238000012795 verification Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 9
- 235000014510 cooky Nutrition 0.000 description 8
- 230000009471 action Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000005291 magnetic effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009916 joint effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/101—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/108—Transfer of content, software, digital rights or licenses
- G06F21/1083—Partial license transfers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/108—Transfer of content, software, digital rights or licenses
- G06F21/1087—Synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
来自客户端设备的对内容的第一请求被接收。第一请求包括授权数据服务提供的资源定位符以授权客户端设备获得请求的内容。资源定位符包括与授权客户端设备访问请求内容相关联的第一数字签名,以及与授权供客户端设备访问的请求的内容的交付相关联的第二数字签名。事件的发生被识别,该事件指示向客户端设备的请求的内容的交付中的改变。与请求内容的改变的交付相关联的第三数字签名被生成。向客户端设备提供包括第一数字签名和第三数字签名的新资源定位符。
Description
技术领域
本公开的方面和实施例涉及内容共享平台,并且更具体地,涉及使用多个加密数字签名来分离授权内容访问和内容交付。
背景技术
经由互联网连接的内容交付平台使用户能够彼此连接和共享信息。许多内容交付平台包括允许用户上传、查看和共享诸如视频项、图像项、音频项的内容,的内容共享方面。内容交付平台的其它用户可以评论共享内容、发现新内容、定位更新、共享内容以及以其它方式与所提供的内容交互。共享内容可以包括来自专业内容创建者的内容,例如,电影剪辑、电视剪辑和音乐视频项以及来自业余内容创建者的内容,例如,视频博客和原创短视频项。
发明内容
本公开的方面提供一种方法,包括:内容分配网络(CDN)的第一服务器从客户端设备接收对内容的第一请求,其中,所述第一请求包括由授权数据服务提供的资源定位符,以授权所述客户端设备获得请求的内容,所述资源定位符标识将请求的内容交付给所述客户端设备的第一服务器,并且包括与授权所述客户端设备访问请求的内容相关联的第一数字签名,以及与授权交付请求的内容以由所述客户端设备访问相关联的第二数字签名;识别指示供所述客户端设备访问的请求的内容的交付中的改变的事件的发生;响应于识别所述事件的发生,生成与供所述客户端设备访问的请求的内容的改变的交付相关联的第三数字签名;以及将新资源定位符提供给所述客户端设备,所述新资源定位符包括与授权所述客户端设备访问请求的内容相关联的所述第一数字签名和与供客户端设备访问的请求的内容的改变的交付相关联的第三数字签名,其中,所述客户端设备可操作以使用所述新资源定位符访问所述内容。
本公开的另一方面提供了一种系统,包括:存储器;以及耦合到存储器的处理设备,所述处理设备用于执行根据本文描述的任何方面或实施例的方法。本公开的另一方面提供了一种包括指令的计算机程序产品(诸如,有形计算机可读介质或软件产品,其可以被下载而不必以非暂时性的方式存储),所述指令响应于处理设备的执行,使处理设备执行包括根据本文描述的任何方面或实施例的方法的操作。
附图说明
本公开的方面和实施例从下文给出的详细描述和从本公开的各个方面和实施例的附图将被更全面地理解,然而,不应当将其视为将本公开限制于具体方面或实施例,而是用于说明和理解。
图1图示了根据本公开的实施例的示例性系统架构。
图2A是根据本公开的实施例的用于使用数字签名改变由内容分配网络向客户端设备交付内容的操作的示意图。
图2B是根据本公开的实施例的用于使用数字签名改变由内容分配网络向客户端设备交付内容的操作的示意图。
图3A是图示根据本公开的实施例的数字签名的产生的示意图。
图3B是图示根据本公开的实施例的数字签名的验证的示意图。
图4A-4C示出图示根据本公开的实施例的资源定位符的示意图。
图5描绘了根据本公开的实施例的用于改变由内容分配网络交付的内容的交付的方法的流程图。
图6是图示根据本公开的实施例的示例性计算机系统的框图。
具体实施方式
内容共享平台(在本文中也称为“内容交付平台”)可以经由用户设备,向用户提供诸如视频项、音频项或游戏项的内容。用户可以登录到与内容共享平台相关联的用户账户以访问内容共享平台并且上传和/或消费内容。内容共享平台可以使用内容分配网络(CDN)(在本文中也被称为“内容交付网络”)以向客户端设备交付内容。CDN能够包括地理上分配的服务器网络,这些服务器一起工作以在内容的交付中提供高可用性和高性能。例如,能够选择与客户端设备A处于相同地理附近的CDN的服务器A来向客户端设备A交付内容。由服务器A交付的内容能够比不位于与客户端设备A相同地理附近的另一服务器(CDN的服务器B)向客户端设备A更快地交付。
在一些系统中,用户经由客户端设备从内容共享平台请求内容。内容共享平台使用授权服务能够授权与用户相关联的用户账户以确定用户是否有许可访问请求的内容。如果用户账户被授权访问内容,则内容共享平台能够生成资源定位符(例如,统一资源定位符(URL)),该资源定位符能够被客户端设备使用以从CDN获得请求的内容。为了向资源定位符添加安全级别,内容共享平台可以使用私钥来生成加密数字签名(在本文中也被称为“数字签名”)。数字签名能够与授权客户端设备访问请求的内容以及授权交付请求的内容相关联。数字签名能够被添加到资源定位符。数字签名能够基于签名参数(例如,到期参数、比特率参数、事件标识符参数等),其被包括在资源定位符中并且被用来向CDN指示哪些数据要被提供以及该数据如何被提供。包括数字签名的资源定位符能够向客户端设备被发送。为了获得请求的内容,客户端设备能够将资源定位符发送到CDN,并且CDN能够验证资源定位符的数字签名。如果数字签名被验证,则CDN能够根据在资源定位符中标识的参数(例如,低安全性参数能够包括服务机器、推荐比特率、是否许可替代协议,并且高安全性参数能够包括视频标识符、对视频在哪能够被请求或提供的限制以及所定位的资源何时将到期并变成无效的)向客户端设备提供内容。如果数字签名没有被验证,则资源定位符可能被损害,并且CDN不向客户端设备交付内容。数字签名为内容交付添加了安全级别,使得实体不能够改变资源定位符的参数或“欺骗”CDN来交付内容。
在一些情况下,CDN确实验证了合法数字签名,并且确定在资源定位符中标识的应当向客户端设备交付内容的服务器。然而,能够发生可能导致请求的内容向客户端设备交付的改变的事件。例如,资源定位符可以将CDN的服务器X识别为向客户端设备交付请求的内容的服务器,但是服务器X可能有能力并且不可用于向客户端设备交付内容。另一方面,未在资源定位符中标识的CDN的服务器Y可能有能力,但是CDN可能不被许可重新授权服务器Y以交付请求的内容,因为,例如,CDN可能在不可信或不安全的硬件资源上运行。特别地,CDN可能不具有生成新资源定位符的授权,该新资源定位符能够重新引导客户端设备从服务器Y接收内容。为了重新授权CDN以从服务器Y交付请求的内容,内容共享平台可能不得不执行重新授权操作,包括生成新数字签名并将新数字签名添加到将服务器Y标识为交付服务器的新资源定位符。新资源定位符能够被发送到客户端设备,并且由客户端设备使用以访问来自服务器Y的请求的内容。请求内容共享平台生成具有新数字签名的新资源定位符能够向来自CDN的交付内容添加显著的等待时间(100毫秒)。特别地,托管认证服务的内容共享平台的服务器能够在物理上远离正在请求交付内容的改变的CDN服务器。此外,执行重新授权操作消耗内容共享平台的大量计算、存储器和带宽资源。
本公开的各方面通过使用被包括在资源定位符中的至少两个数字签名来解决上述和其它挑战。第一(高安全性)数字签名能够与授权客户端设备访问请求的内容相关联。第二(低安全性)数字签名能够与授权向客户端设备交付所请求的内容相关联。内容共享平台能够生成高安全性数字签名和低安全性数字签名。CDN具有生成与授权向客户端设备交付请求的内容相关联的新的低安全性数字签名的授权,但是不具有生成与授权访问请求的内容相关联的新的高安全性数字签名的授权。例如,如果CDN识别出可能导致向客户端设备交付请求的内容中的改变的事件,则CDN能够生成具有新的低安全性数字签名和原始高安全性数字签名的新资源定位符,以重新引导客户端设备从例如另一CDN服务器接收请求的内容。
在实施例中,与用户账户相关联的客户端设备能够向内容共享平台发送对内容的请求。内容共享平台能够授权用户账户,并且使用两个不同的私钥生成高安全性数字签名和低安全性数字签名。包括高安全性数字签名和低安全性数字签名的资源定位符能够通过内容共享平台被发送到客户端设备。客户端设备能够将资源定位符发送到CDN以获得请求的内容。CDN能够验证高安全性数字签名和低安全性数字签名,并且如果两者都被验证,则能够将请求的内容发送到客户端设备。如果(在请求的内容被提供给客户端设备之前)发生指示向客户端设备交付请求的内容中的改变的事件,则CDN能够改变低安全性参数中的一个或多个(例如,服务机器、推荐比特率以及替代协议是否被许可与客户端设备通信并向客户端设备提供数据),并且生成与请求的内容的改变的交付相关联的新的低安全性数字签名。CDN能够创建识别改变的交付的新资源定位符,并且将原始高安全性数字签名和新的低安全性数字签名包括在新资源定位符中。然后新资源定位符能够被发送到客户端设备。客户端设备能够使用新资源定位符来访问请求的内容。
在一些实施例中,高安全性数字签名能够基于高安全性参数被生成。低安全性数字签名能够于低安全性参数。在内容共享平台(例如,内容共享平台的授权数据服务)保持授权对内容的访问的控制的意义上,高安全性参数和高安全性数字签名是“更高安全性的”。控制对内容的访问是比控制内容的交付“更高”的优先级的。例如,如果恶意行为者将获得对访问内容的授权的控制,则内容共享平台能够遭受潜在的不可修复的损坏。例如,如果恶意行为者将获得对内容交付的控制,则内容共享平台可能会暂时受损但不遭受不可修复的损坏。在内容共享平台和内容分配网络共享对交付内容的授权的控制的意义上,以及在恶意使用低安全性数字签名不对内容共享平台导致不可修复的损坏的意义上,低安全性参数是“较低安全性”。
在实施例中,使用高安全性数字签名和低安全性数字签名两者赋予了更大的灵活性,以允许CDN授权交付中的改变,同时保持对由内容共享平台控制的访问内容的授权。另外,允许CDN授权请求的内容的交付中的改变减少了将请求的内容交付给客户端设备的等待时间,至少因为CDN能够重新授权交付的改变而不请求内容共享平台执行重新授权。
如上所述,由本公开的实施例解决的技术问题是由请求内容共享平台重新授权请求的内容的交付的改变导致的向客户端设备交付内容的等待时间。例如,为了重新授权在交付请求的内容中的改变,内容共享平台执行后续授权操作并且生成另一数字签名并将新数字签名添加到新资源定位符。内容共享平台能够与请求重新授权的CDN服务器相距很远的距离,这能够向从CDN交付内容添加显著的等待时间(100毫秒)。
还注意到,由本公开的实施例解决的另一技术问题是通过许可CDN使用与授权访问内容和授权内容的交付两者相关联的单个数字签名来执行授权而降低安全性。例如,许可CDN执行授权,其中单个数字签名被用于授权对内容的访问和授权内容的交付两者能够使内容共享平台暴露于不可修复的恶意攻击。
还注意到,由本公开的实施例解决的另一技术问题是内容共享平台在执行重新授权操作中消耗大量的计算、存储器和带宽资源。
对上述所识别的技术问题的技术解决方案可以包括:由CDN的第一服务器从客户端设备接收对内容的请求,其中,第一请求包括由授权数据服务提供的资源定位符,以授权客户端设备获得请求的内容,资源定位符标识向客户端设备的第一服务器交付请求的内容,并且包括与授权客户端设备访问请求的内容相关联的第一数字签名,以及与授权供客户端设备访问的请求的内容的交付相关联的第二数字签名;识别指示供客户端设备访问的请求的内容的交付中的改变的事件的发生;响应于识别事件的发生,生成与供客户端设备访问的请求的内容的改变的交付相关联的第三数字签名;以及向客户端设备提供新资源定位符,新资源定位符包括与授权客户端设备访问请求的内容相关联的第一数字签名和与供客户端设备访问的请求的内容的改变的交付相关联第三数字签名,其中,客户端设备使用新资源定位符访问内容。
因此,技术效果可以包括减少由请求内容共享平台重新授权请求内容的交付中的改变引起的向客户端设备交付内容的等待时间。
其他的技术效果可以包括通过提供具有高安全性数字签名和低安全性数字签名的资源定位符来提高内容交付的安全性。
另外的技术效果可以包括通过内容共享平台允许CDN执行对请求的内容的交付中的改变的授权来减少计算、存储器和带宽资源的消耗。
图1图示了根据本公开的一个实施例的示例性系统架构100。系统架构100(本文中也被称为“系统”)包括连接到网络104的内容交付平台120(本文中也被称为“内容分配平台”)、数据存储106、客户端设备110A-110Z(本文中通常被称为“(一个或多个)客户端设备110”),以及内容分配网络(CDN)101(在本文中也被称为“内容交付网络”)。CDN 101可以包括多个服务器机器112A-112Z(本文中也被称为“(多个)服务器112A-112Z”)。
在实施例中,网络104可以包括公共网络(例如,互联网)、专用网络(例如,局域网(LAN)或广域网(WAN))、有线网络(例如,以太网)、无线网络(例如,802.11网络或Wi-Fi网络)、蜂窝网络(例如,长期演进(LTE)网络)、路由器、集线器、交换机、服务器计算机和/或其组合。
在实施例中,数据存储106是永久性存储装置,其能够存储内容项(诸如,媒体项)以及用于对内容项标记、组织和索引的数据结构。数据存储106可以由诸如主存储器、基于磁或光存储的盘、磁带或硬盘驱动器、NAS、SAN等的一个或多个存储设备托管。在一些实施例中,数据存储106可以是网络附接的文件服务器,而在其它实施例中,数据存储106可以是诸如面向对象数据库、关系数据库等的一些其他类型的永久性存储,其可以由内容共享平台120或经由网络104耦合到内容共享平台120的一个或多个不同的机器托管。
客户端设备110A-110Z可以各自包括诸如个人计算机(PC)、膝上型计算机、移动电话、智能电话、平板计算机、上网本计算机、网络连接的电视等计算设备。在一些实施例中,客户端设备110A-110Z也可以被称为“用户设备”。在实施例中,每个客户端设备包括媒体查看器111。在一个实施例中,媒体查看器111可以是允许用户回放、查看或上传诸如图像、视频项、网页、文档、音频项等内容的应用。例如,媒体查看器111可以是能够访问、检索、呈现或导航由Web服务器提供的内容(例如,诸如超文本标记语言(HTML)页面的网页、数字媒体项等)的Web浏览器。媒体查看器111可以向用户渲染、显示或呈现内容(例如,网页、媒体查看器)。媒体查看器111还可以包括嵌入在网页(例如,可以提供关于由在线商家销售的产品的信息的网页)中的嵌入式媒体播放器(例如,播放器或HTML5播放器)。在另一示例中,媒体查看器111可以是允许用户回放数字媒体项(例如,数字视频项、数字图像、电子书等)的独立应用(例如,移动应用或本机应用)。根据本公开的各方面,媒体查看器111可以是为用户记录、编辑和/或上传在内容共享平台上共享的内容的内容共享平台应用。如此,媒体查看器111可以由内容共享平台120提供给客户端设备110A-110Z。例如,媒体查看器111可以是嵌入在由内容共享平台120提供的网页中的嵌入式媒体播放器。在另一示例中,媒体查看器111可以是从内容共享平台120下载的应用。
在一个实施例中,内容共享平台120或服务器机器112A-112Z可以是可以被用于为用户提供对媒体项的访问或向用户提供媒体项的一个或多个计算设备(诸如,机架服务器、路由器计算机、服务器计算机、个人计算机、大型计算机、膝上型计算机、平板计算机、台式计算机等)、数据存储(例如,硬盘、存储器、数据库)、网络、软件组件或硬件组件。例如,内容共享平台120可以允许用户消费、上传、搜索、认可(“喜欢”)、不认可(“不喜欢”)或评论媒体项。内容共享平台120还可以包括可以被用于为用户提供对媒体项的访问的网站(例如,网页)或应用后端软件。
在本公开的实施例中,“用户”可以被表示为单个个体。然而,本公开的其它实施例涵盖作为由一组用户和/或自动化源控制的实体的“用户”。例如,在社交网络中联合为社群的个体用户集合可以被视为“用户”。在另一示例中,自动消费者可以是内容共享平台120的诸如主题频道的自动引入流水线。
内容共享平台120可以包括多个频道(例如,频道A至Z,图1中仅示出了频道A)。频道能够是可从公共源获得的数据内容或具有公共主题、主题或实质的数据内容。数据内容能够是由用户选择的数字内容、使用户可用的数字内容、由用户上传的数字内容、由内容提供者选择的数字内容、由广播公司选择的数字内容等。例如,频道X能够包括视频Y和Z。频道能够与所有者相关联,所有者是可以对频道执行动作的用户。不同的活动能够基于所有者的动作与频道相关联,诸如所有者使数字内容在频道上可用、所有者选择(例如,喜欢)与另一频道关联的数字内容、所有者评论与另一频道关联的数字内容等。与频道相关联的活动能够被收集到该频道的活动提要中。不同于频道所有者的用户能够订阅他们感兴趣的一个或多个频道。“订阅”的概念也可以被称为“喜欢”、“关注”、“交友”等。
一旦用户订阅了频道,用户能够被呈现来自频道活动提要的信息。如果用户订阅了多个频道,则用户订阅的每个频道的活动提要可以被组合成联合活动提要。来自联合活动提要的信息能够被呈现给用户。频道可以具有他们自己的提要。例如,当导航到内容共享平台上的频道的主页时,由该频道产生的提要项可以在频道主页上被示出。用户可以具有联合提要,该联合提要是包括来自用户订阅的所有频道的内容项的至少子集的提要。联合提要还可以包括来自用户未订阅的频道的内容项。例如,内容共享平台120或其它社交网络可以将所推荐的内容项插入用户的联合提要中,或者可以将与用户的相关连接相关联的内容项插入联合提要中。
每个频道可以包括一个或多个媒体项121。媒体项121的示例能够包括而不限于数字视频、数字电影、数字照片、数字音乐、音频内容、旋律、网站内容、社交媒体更新、电子书(电子书籍)、电子杂志、数字报纸、数字音频书、电子期刊、网络博客、真实简单联合(RSS)提要、电子漫画书、软件应用等。在一些实施例中,媒体项121也被称为内容或内容项。
为了简洁和简单,而非限制,在整个本文档中使用视频项、音频项或游戏项作为媒体项121的示例。如本文中所使用的,“媒体”、“媒体项”、“在线媒体项”、“数字媒体”、“数字媒体项”、“内容”和“内容项”能够包括电子文件,该电子文件能够使用被配置为将数字媒体项呈现给实体的软件、固件或硬件而被执行或加载。在一个实施例中,内容共享平台120可以使用数据存储106存储媒体项121。在另一实施例中,内容共享平台120可以使用数据存储106以一种或多种格式将视频项或指纹存储为电子文件。
在一个实施例中,媒体项121是视频项。视频项是表示运动中的场景的一组连续视频帧(例如,图像帧)。例如,一系列顺序的视频帧可以被连续捕获或随后被重构以生成动画。视频项可以以各种格式被呈现,这些格式包括但不限于模拟、数字、二维和三维视频。另外,视频项可以包括电影、视频剪辑或将按顺序显示的任何一组动画图像。另外,视频项可以被存储为包括视频分量和音频分量的视频文件。视频分量可以指视频编码格式或图像编码格式(例如,H.264(MPEG-4AVC)、H.264MPEG-4Part2、图形交换格式(GIF)、WebP等)的视频数据。音频分量可以指音频编码格式(例如,高级音频编码(AAC)、MP3等)的音频数据。可以注意到,GIF可以被保存为图像文件(例如,.gif文件),或者被保存为动画GIF(例如,GIF89a格式)中的一系列图像。可以注意到,H.264可以是视频编码格式,其是例如用于记录、压缩或分配视频内容的基于块定向的运动补偿的视频压缩标准。
在一些实施例中,媒体项能够被诸如在直播流中流传输到客户端设备110A-110Z中的一个或多个。可以注意到,“被流传输”或“正在流传输”指诸如媒体项的内容的传输或广播,其中,接收到的媒体项的一些部分可以在接收后立即地,或者在整个媒体项还没有被接收设备接收到的情况下而媒体内容的其它部分正在被交付的同时由接收设备回放(在技术限制内)。“流”可以指被流传输或正在流传输的诸如媒体项的内容。直播流媒体项可以指现场事件的现场广播或传输,其中,媒体项在发生事件时至少部分地同时被传输到接收设备,并且其中,媒体项不是全部可用。
在实施例中,内容共享平台120可以允许用户创建、共享、查看或使用包含媒体项的播放列表(例如,包含媒体项121的播放列表A-Z)。播放列表是指被配置为在没有任何用户交互的情况下以特定顺序一个接一个播放的媒体项的集合。在实施例中,内容共享平台120可以代表用户维护播放列表。在实施例中,内容共享平台120的播放列表特征允许用户将他们喜爱的媒体项在单个位置中分组在一起以用于回放。在实施例中,内容共享平台120可以将播放列表上的媒体项发送到客户端设备110以用于回放或显示。例如,媒体查看器121可以被用于以媒体项在播放列表上被列出的顺序播放播放列表上的媒体项。在另一示例中,用户可以在播放列表上的媒体项之间转换。在又一示例中,用户可以等待播放列表上的下一媒体项,或者可以选择播放列表中的特定媒体项以用于回放。
在实施例中,用户可以通过用户账户访问内容共享平台120。用户可以通过经由客户端设备110上的应用(例如,媒体查看器111)提供用户账户信息(例如,用户名和密码)来访问(例如,登录到)用户账户。在一些实施例中,用户账户可以与单个用户相关联。在其它实施例中,用户账户可以是共享账户(例如,由多个用户共享的家庭账户)(本文中也被称为“共享用户账户”)。共享账户可以具有分别与不同用户相关联的多个用户配置文件。多个用户可以使用同一账户信息或不同的账户信息登录到共享账户。在一些实施例中,共享账户的多个用户可以基于共享账户的不同用户配置文件而被区分。
在一些实施例中,授权数据服务122(本文中也被称为“核心数据服务”或“授权数据源”)能够授权用户账户,使得用户账户被许可获得请求的内容。在实施例中,授权数据服务122能够授权用户账户(例如,与用户账户相关联的客户端设备)访问请求的内容,授权向客户端设备交付请求的内容,或两者。授权用户账户访问请求的内容能够涉及授权什么内容被访问以及谁被许可访问内容。授权内容的交付能够涉及授权内容如何被交付。
在一些实施例中,授权数据服务能够使用用户账户信息来授权用户账户。在一些实施例中,与客户端设备110或客户端设备110的应用相关联的储存在用户本地终端上的数据(cookie)能够被用于授权用户账户。cookie能够指被存储在客户端设备110处的文件,该文件保存特定于该特定客户端设备或应用(例如,浏览器)的一些数据量。例如,用户能够使用用户账户信息登录到内容共享平台120。响应于授权用户账户,协作平台120能够发送cookie。在对协作平台120的后续请求中,客户端设备可以将cookie包括在请求中。cookie能够被用于授权用户账户。在一些实施例中,cookie能够包括密钥-值对,该密钥-值对包括账户信息的加密版本。
在一些实施例中,授权数据服务122是内容共享平台120的一部分。在一些实施例中,授权数据服务122不是内容共享平台120的一部分,并且托管在与内容共享平台120不同的服务器机器上。在其他实施例中,授权数据服务122能够是外部服务,诸如由第三方提供的授权服务。
如上所述,内容分配网络(CDN)101能够包括一个或多个节点,其表示为服务器机器112A-112Z(本文通称为“(多个)服务器机器112”或“(多个)服务器112”)。在实施例中,内容分配网络101包括地理上分配的服务器的网络,这些服务器一起工作以提供内容的快速交付。在一些实例中,服务器的网络在地理上被分配,以通过基于与客户端设备110的接近度来分配内容或服务来提供高可用性和高性能。CDN服务器离客户端设备110越近,内容能够越快地被交付给客户端设备110。
例如,不同的服务器机器112A-112Z能够在地理上被分配在特定国家内或跨不同国家。使用位于英国的客户端设备110A的用户A能够请求获得由内容共享平台120托管的内容。请求能够通过授权内容共享平台120的数据服务122而被接收,并且与用户A相关联的用户账户能够被授权来获得请求的内容。在授权之后,内容共享平台120能够向客户端设备110A发送资源定位符,诸如统一资源定位符(URL)。资源定位符能够指指定计算机网络上的资源(例如,内容)的位置和用于检索资源的机制的引用。资源定位符能够引导客户端设备110A从内容分配网络101的服务器机器112获得内容,该服务器机器在地理上位于客户端设备110A附近。例如,资源定位符能够引导客户端设备110A从也位于英国的内容分配网络101的特定服务器机器112获得请求的内容。在另一示例中,使用位于美国的西海岸的客户端设备110B的另一用户B请求获得与用户A相同的内容。该请求能够通过授权内容共享平台120的数据服务122而被接收,并且与用户B相关联的用户账户能够被授权以获得请求的内容。在授权之后,内容共享平台120能够向客户端设备110B发送资源定位符。资源定位符能够引导客户端设备110B从内容分配网络101的服务器机器112获得内容,该服务器机器在地理上位于客户端设备110B附近。例如,资源定位符能够引导客户端设备110B从位于美国西海岸的内容分配网络101的服务器机器112获得请求的内容。
在一些实施例中,内容分配网络101是内容共享平台120的一部分。在其他实施例中,内容分配网络101是向内容共享平台120提供CDN服务的第三方平台。在其他实施例中,内容分配网络101中的一些可以由内容共享平台120操作,而内容分配网络101的另一部分可以由第三方操作。在实施例中,内容分配网络101包括数据存储,诸如数据存储114。数据存储114能够类似于数据存储106。数据存储可以能够内容(诸如媒体内容)的数据文件116。数据存储106还能够包括一个或多个加密密钥117,诸如一个或多个公钥或一个或多个私钥。授权模块151能够执行本文中描述的本公开的各方面。
通常,如果合适,在一个实施例中被描述为由内容共享平台120或内容分配网络101执行的功能在其它实施例中也能够在客户端设备110A至110Z上被执行。另外,归因于特定组件的功能能够由一起操作的不同或多个组件来执行。内容共享平台120或内容分配网络101也能够作为通过适当的应用编程接口向其他系统或设备提供的服务而被访问,因此不限于在网站中使用。
尽管本公开的实施例在内容共享平台和促进内容共享平台上的内容项的社交网络共享方面被讨论,但是实施例通常也可以被应用于提供用户之间的联系的任何类型的社交网络或内容交付平台。本公开的实施方式不限于向用户提供频道订阅的内容共享平台。
在这里讨论的系统收集关于用户的个人信息,或者可以利用个人信息的情况下,用户可以被提供控制内容共享平台120是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前位置的信息)、或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容的机会。另外,某些数据可以在其被存储或使用之前以一种或多种方式被处理,使得个人可识别信息被移除。例如,用户的身份可以被处理,使得没有个人可识别信息能够为用户被确定,或者用户的地理位置可以被一般化为位置信息被获得的地方(诸如到城市、邮政编码或州级别),使得用户的具体位置不能够被确定。因此,用户可以控制如何收集关于用户的信息并由内容共享平台120使用。
图2A是根据本公开的实施例的用于使用数字签名改变由内容分配网络向客户端设备交付内容的操作的示意图。系统200可以包括与图1的系统架构100类似的组件。可以注意到,图1的组件可以被用于帮助描述图2A。出于说明而不是限制的目的,关于系统200的操作被描述为由内容共享平台120的授权数据服务122执行,内容分配网络101的服务器机器112A、内容分配网络101的服务器机器112B或客户端设备110A可以由其任何组件执行,除非另有描述。为了说明而不是限制,关于图2A描述的操作被示为顺序地执行。可以注意到,操作可以以任何顺序被执行,并且任何操作可以与一个或多个其他操作同时被执行。在一些实施方式中,相同、不同、更少或更多数量的操作可以以任何顺序被执行。图2A图示了用于改变内容交付的操作,其中,交付中的改变改变了向客户端设备110A交付内容的内容分配网络101的服务器。
在操作202,客户端设备110A向内容共享平台120的授权数据服务122发送获得内容的请求。在一些实施例中,内容包括视频项。例如,客户端设备110A的用户能够请求播放由内容共享平台120托管的视频项。在一些实施例中,用户能够使用诸如浏览器或本机应用的应用来从内容共享平台120请求内容。在一些实施例中,从客户端设备110A对授权数据服务122的请求能够识别请求的内容。例如,请求能够包括标识请求的内容的内容标识符。在一些实施例中,从客户端设备110A对授权数据服务122的请求能够包括要接收的数据的格式。例如,请求能够包括与客户端设备110A处的媒体查看器111兼容的视频项的格式。在一些实施例中,该请求能够包括与要回放诸如视频项的内容的媒体查看器111有关的附加信息(例如,模型等)。在一些实施例中,请求能够包括尝试获得内容的客户端设备、用户或用户账户的标识符。例如,用户请求能够识别与请求获得内容的用户账户相关联的用户名和密码。在另一示例中,请求能够包括标识客户端设备110A或用户设备处的应用的cookie,其可以被用于标识特定用户账户。
在操作204,授权数据服务122能够授权该请求。为了授权请求,授权数据服务122确定客户端设备110A、用户或用户账户中的至少一个被许可获得内容。在一些实施例中,该请求能够识别请求获得内容的用户账户的账户信息。例如,账户信息能够在cookie中被加密。在另一示例中,账户信息能够由用户输入并在请求中被提供。在一些实施例中,账户信息,诸如用户名和密码,能够由授权数据服务122通过将账户信息(例如,接收到的用户名和密码)与账户信息的存储记录进行比较而被认证。如果请求的账户信息与记录的账户信息相匹配,则授权数据服务122能够确定特定用户账户被认证。如果所认证的用户账户具有对请求的内容的访问权限,则授权数据服务122能够授权用户账户获得请求的内容。例如,记录能够识别与特定用户账户相关联的访问权限。如果用户账户具有对请求的内容的访问权限,则授权数据服务122能够授权该请求。
在一些实施例中,授权数据服务122没有授权该请求。例如,用户账户信息能够被认证,但是该特定用户账户可能不具有对请求的内容的访问权限。在实施例中,如果授权数据服务122没有授权获得内容的请求,则授权数据服务122能够向客户端设备110A发送消息,其指示不准许授权以获得请求的内容。在实施例中,如果授权数据服务122没有授权获得内容的请求,则内容共享平台120能够向客户端设备110A发送请求新登录信息或附加信息的消息。
在实施例中,如果授权数据服务122授权获得内容的请求,则授权数据服务122生成资源定位符以授权客户端设备110A从CDN获得请求的内容。在实施例中,资源定位符能够识别内容分配网络101中、将向客户端设备110A交付请求的内容的服务器。例如,资源定位符能够包括主机名,其识别能够被访问以获得请求的内容的特定服务器(例如,服务器112A)。在一些实施例中,授权数据服务122能够使用高安全性私钥生成高安全性数字签名,并且使用低安全性私钥生成低安全性数字签名。在实施例中,高安全性私钥和低安全性私钥是不同的私钥。在实施例中,高安全性数字签名与授权客户端设备110A访问请求的内容相关联。低安全性数字签名与授权向客户端设备交付请求的内容相关联。在实施例中,高安全性私钥和低安全性私钥可由内容共享平台120访问(对其“已知”),并且具体地由内容共享平台120的授权数据服务122访问(对其“已知”)。高安全性私钥不可由内容分配网络101访问,但是低安全性私钥可由内容分配网络101访问。在实施例中,低安全性私钥的副本由内容共享平台120提供给内容分配网络101。关于图3A进一步描述数字签名的生成。关于图4A描述由授权数据服务122生成的资源定位符的示例。
在一些实施例中,资源定位符能够包括低安全性参数和与低安全性参数相关联的值。在一些实施例中,为了生成低安全性数字签名,与低安全性参数相关联的值能够被级联。散列算法能够被应用于级联的字符串以生成散列值。低安全性私钥能够被应用于散列值(例如,低安全性散列值)以生成低安全性数字签名。
在一些实施例中,资源定位符能够包括高安全性参数和与高安全性参数相关联的值。在一些实施例中,为了生成高安全性数字签名,与高安全性参数相关联的值能够被级联。散列算法能够被应用于级联字符串以生成散列值。高安全性私钥能够被应用于散列值(例如,高安全性散列值)以生成高安全性数字签名。至少关于图4A-图4C进一步描述低安全性参数和高安全性参数。
在操作208,如果用户账户被授权,则授权数据服务122向客户端设备110A发送对内容请求(例如,操作202)的响应。在一些实施例中,响应能够包括识别要向客户端设备110A交付内容的内容分配网络101的服务器112A的资源定位符。在一些实施例中,资源定位符能够可以包括与授权客户端设备110A访问请求的内容相关联的高安全性数字签名,以及与授权供客户端设备110A访问的请求的内容的交付相关联的低安全性数字签名。在一些实施例中,响应能够包括内容标识符或账户信息中的一个或多个。在一些实施例中,资源定位符能够被包括在超文本传输协议(HTTP)响应中。
在可替代的实施例中,在操作208,如果用户账户被授权,则授权数据服务122还向客户端设备110A发送对内容请求(例如,操作202)的响应,但是该响应不识别要向客户端设备110A交付内容的内容分配网络101的服务器112A。在实施例中,响应确实包括高安全性数字签名和低安全性数字签名。在一些实施例中,响应标识清单服务器。在实施例中,清单服务器是内容分配网络101或内容共享平台120的一部分。客户端设备110A接收标识清单服务器的响应,并且向清单服务器发送对内容的另一请求。在实施例中,对清单服务器的内容的请求能够包括内容标识符。在实施例中,对清单服务器的内容的请求能够包括高安全性数字签名和低安全性数字签名。在实施例中,清单服务器能够验证高安全性数字签名或低安全性数字签名中的一个或多个。如果高安全性数字签名和低安全性数字签名被验证,则清单服务器能够创建资源定位符(例如,清单文件)。
在实施例中,由清单服务器生成的资源定位符能够与如上文参考操作208描述的资源定位符相同或相似。例如,由清单服务器生成的资源定位符能够识别要向客户端设备110A交付内容的内容分配网络101的服务器112A。在一些实施例中,资源定位符还能够包括与授权客户端设备110A访问请求的内容相关联的高安全性数字签名和与授权供客户端设备110A访问的请求的内容的交付相关联的低安全性数字签名。在生成资源定位符中,清单服务器能够使用高安全性数字签名、低安全性数字签名和任何其他相关数据(例如高安全性参数和值以及低安全性参数和值)的副本并且将信息的副本包括在资源定位符中。由清单服务器生成的资源定位符能够被发送到客户端设备110A。客户端设备110A将资源定位符发送到CDN,诸如CDN的服务器112A(例如,操作210)。
在操作210,客户端设备110A使用从授权数据服务122获得的资源定位符请求内容。例如,客户端设备110A能够使用资源定位符发送HTTP请求。在实施例中,请求能够被发送到CDN,诸如发送到内容分配网络101的服务器112A。在实施例中,内容分配网络101的服务器112A从客户端设备110A接收请求。该请求包括如上所述的资源定位符。在一些实施例中,服务器112A能够关闭,并且该请求由内容分配网络101的另一服务器接收。其他服务器可以执行本文中描述的操作,而不是例如服务器112A。
在操作212,内容分配网络101的服务器112A使用高安全性公钥来验证高安全性数字签名,并且使用低安全性公钥验证低安全性数字签名。在实施例中,高安全性公钥和低安全性公钥是不同的公钥。关于图3B进一步描述数字签名的验证。在一些实施例中,内容分配网络101的服务器112A验证高安全性数字签名和低安全性数字签名。在其他实施例中,内容分配网络101的另一服务器(例如,验证服务器)能够验证高安全性数字签名和低安全性数字签名。
在操作214,如果高安全性数字签名和低安全性数字签名被验证,则内容分配网络101的服务器112A能够向客户端设备110A交付内容。如果高安全性数字签名和低安全性数字签名没有被验证,则服务器112A不向客户端设备110A交付内容。在一些实施例中,即使高安全性数字签名和低安全性数字签名已经被验证,服务器112A也不能够向客户端设备110A交付内容。例如,服务器112A能够在开始向客户端设备110A交付内容之前识别指示请求内容的交付的改变的事件的发生(如在操作216处所述)。
在操作216,内容分配网络101(例如,服务器112A)识别事件的发生,该事件指示供客户端设备访问的请求内容的交付中的改变。在一些实施例中,交付中的改变改变了向客户端设备110A交付内容的内容分配网络101的服务器。关于图2A描述改变向客户端设备110A交付内容的内容分配网络101的服务器的交付的改变。在一些实施例中,交付中的改变改变了内容分配网络101的同一服务器如何向客户端设备110A交付内容。关于图2B描述改变同一服务器如何向客户端设备110A交付内容的交付中的改变。
在一些实施例中,识别指示供客户端设备110A访问的请求的内容的交付中的改变事件的发生包括确定另一服务器(内容分配网络101的服务器112B)要向客户端设备110A交付内容。在一些实施例中,内容分配网络101的服务器112A确定服务器112A不可用于向客户端设备110A交付内容(例如,不能够提供请求的内容)。在一些实施例中,内容分配网络101的另一服务器确定服务器112A不可用于向客户端设备110A交付内容。响应于确定服务器112A不可用于向客户端设备110A交付内容,内容分配网络101(例如,服务器112A或另一服务器)确定要向客户端设备110A交付内容的另一服务器,诸如内容分配网络101的服务器112B。
在实施例中,由于许多原因,服务器112A可能不可用于向客户端设备110A交付内容(例如,不能提供对内容的请求)。例如,服务器112A可以确定服务器接近或处于过载状态。过载状态能够指示服务器112A的一个或多个资源接近或满负荷。过载状态能够通过一个或多个因素被确定,该一个或多个因素包括确定当前计算资源使用、当前带宽使用或所提供的内容请求的当前数量中的一个或多个是否超过阈值。如果服务器112A确定其接近过载状态,则内容分配网络101(例如,服务器112A)可以将客户端重新引导到内容分配网络101的其他服务器。在另一示例中,内容分配网络101(例如,服务器112A)可以确定从特定服务器112A提供内容是低效的。例如,内容分配网络101(例如,服务器112A)可以确定内容在特定服务器112A处不足够流行,并且如果内容由具有最大容量的内容分配网络101的另一服务器提供将更有效。如果内容分配网络101(例如,服务器112A)确定从特定服务器112A提供内容不是有效的,则服务器可以将客户端设备110A重新引导到内容分配网络101的其他服务器以用于交付请求的内容。
在操作218,响应于识别事件的发生,内容分配网络101(例如,服务器112A)生成与供客户端设备110A访问请求的内容的改变的交付相关联的新低安全性数字签名。在一些实施例中,使用私钥生成新的低安全性数字签名。在一些实施例中,由内容分配网络101使用以生成低安全性数字签名的私钥是授权数据服务122用于生成初始低安全性数字签名的低安全性私钥的副本(例如,操作206)。
在一些实施例中,为了生成与请求内容的改变的交付相关联的新的低安全性数字签名,内容分配网络101调整与低安全性参数相关联的值。新低安全性数字签名使用与低安全性参数和低安全性私钥相关联的调整值而被生成。
在操作220,内容分配网络101(例如,服务器112A)生成新资源定位符。如上所述,在一些实施例中,交付中的改变改变了向客户端设备110A交付内容的内容分配网络101的服务器。在一些实施例中,新资源定位符识别内容分配网络101中,将向客户端设备110A交付内容的另一服务器(例如,服务器112B)。在实施例中,新资源定位符能够包括最初由授权数据服务122生成的高安全性数字签名的副本和由内容分配网络101生成的新低安全性数字签名。关于图4B进一步描述响应于确定改变了向客户端设备110A交付内容的内容分配网络101的服务器的交付的改变而被生成的新资源定位符的示例。
在操作222,内容分配网络101(例如,服务器112A)向客户端设备110A提供新资源定位符。在一些实施例中,新资源定位符包括与授权客户端设备110A访问请求的内容相关联的高安全性数字签名,以及与供客户端设备110A访问的请求的内容的改变的交付相关联的新低安全性数字签名。在一些实施例中,新资源定位符能够使用HTTP重新引导请求被发送。能够注意到,在一些实施例中,在操作222,清单服务器能够以与关于操作208所描述的类似的方式被使用。
在操作224,客户端设备110A使用从内容分配网络101获得的新资源定位符来请求访问内容。如上所述,该请求识别另一服务器,要向客户端设备110A交付内容的内容分配网络101的服务器112B。在实施例中,客户端设备110A可以发送包括新资源定位符的HTTP请求。该请求可以被发送到内容分配网络101的服务器112B。在实施例中,内容分配网络101(例如,服务器112B)从客户端设备110A接收请求。该请求包括新资源定位符,如本文中所描述的。
在操作226,内容分配网络101(例如,服务器112B)使用高安全性公钥验证高安全性数字签名,并且使用低安全性公钥验证新低安全性数字签名。进一步关于图3B描述数字签名的验证。在一些实施例中,内容分配网络101的服务器112B验证高安全性数字签名或低安全性数字签名中的一个或多个。在一些实施例中,内容分配网络101的另一服务器(例如,验证服务器)能够验证高安全性数字签名或低安全性数字签名中的一个或多个。
在操作228,如果高安全性数字签名和低安全性数字签名被验证,则内容分配网络101的服务器112B能够向客户端设备110A交付内容。如果高安全性数字签名和低安全性数字签名没有被验证,则服务器112B不向客户端设备110A交付内容。
在一些实施例中,一些或更多操作能够被重复。例如,在服务器112B使用新资源定位符接收到对内容的请求之后,内容分配网络101可以识别指示请求内容的交付的另一改变的事件的发生。内容分配网络101能够生成另一低安全性数字签名并生成又一资源定位符等等。如本文中所描述的一个或多个操作能够被重复。
图2B是根据本公开的实施例的用于使用数字签名改变由内容分配网络向客户端设备的内容交付的操作的示意图。系统250可以包括与图1和图2A的系统架构100类似的组件。可以注意到,图1和图2A的组件可以被用于帮助描述图2B。处于说明而不是限制的目的,被描述为由内容共享平台120的授权数据服务122、内容分配网络101的服务器机器112A或客户端设备110A执行的关于系统250的操作可以由其任何组件执行,除非另有描述。为了说明而不是限制,关于图2B描述的操作被示出为顺序地执行。可以注意到,操作可以以任何顺序被执行,并且任何操作可以与一个或多个其他操作同时被执行。在一些实施方式中,相同、不同、更少或更多数量的操作可以以任何顺序被执行。
图2B图示了用于改变内容的交付的操作,其中,交付中的改变改变了同一服务器如何向客户端设备110A交付内容。能够注意到,图2B中所示的一些操作与图2A相同。为了清楚起见,将不再描述与图2A相同的图2B的操作,并且与图2B的操作相同的图2A的操作的描述能够被用于描述图2B的相应操作。与图2A不同的参考图2B的操作已经被重新编号,并且关于图2B进一步描述。
在操作252,内容分配网络101(例如,服务器112A)识别事件的发生,该事件指示供客户端设备访问的请求内容的交付的改变。在一些实施例中,交付中的改变改变了内容分配网络101的相同服务器112A如何向客户端设备110A交付内容。
在实施例中,内容分配网络101由确定服务器112A请求的内容的交付要被改变。在一些实施例中,确定由服务器112A请求的内容的交付的改变包括由内容分配网络101(例如,服务器112A)确定内容要被交付给客户端设备110A的比特率的改变。例如,内容分配网络101能够接收关于由客户端设备110A访问的网络连接的信息。内容分配网络101能够确定客户端设备110A处于超过阈值比特率的特别快速的网络连接上。如果网络连接超过阈值比特率,则内容分配网络101能够增加内容向客户端设备110A被交付的比特率。如果网络连接小于阈值比特率,则内容分配网络101能够保持交付比特率不变或降低交付比特率。能够注意到,比特率能够是作为资源定位符的一部分的低安全性参数之一。能够进一步注意到,内容分配网络101能够改变低安全性参数(而不是高安全性参数)中的一个或多个。出于说明而不是限制的目的,改变比特率被提供,并且描述了内容如何向客户端设备110A被交付中的改变的示例。内容如何向客户端设备110A被交付中的改变的其他示例包括但不限于分辨率改变、格式改变等。
在操作254,响应于识别到事件的发生,内容分配网络101(例如,服务器112A)生成与供客户端设备110A访问的请求的内容的改变的交付相关联的新低安全性数字签名。在一些实施例中,使用私钥生成新的低安全性数字签名。在一些实施例中,由内容分配网络101使用以生成低安全性数字签名的私钥是授权数据服务122用于生成初始低安全性数字签名(例如,操作206)的低安全性私钥的副本。
在一些实施例中,为了生成与请求内容的改变的交付相关联的新低安全性数字签名,内容分配网络101调整与低安全性参数相关联的值。使用与低安全性参数和低安全性私钥相关联的调整值来生成新的低安全性数字签名。在一些实施例中,响应于确定内容要向客户端设备110A被交付的比特率的改变,内容分配网络101调整在操作210处接收的资源定位符的低安全性参数的比特率参数。
在操作256,内容分配网络101(例如,服务器112A)生成新的资源定位符。在一些实施例中,新资源定位符标识要向客户端设备110A交付内容的内容分配网络101的同一服务器(例如,服务器112A)。在实施例中,新资源定位符能够包括最初由授权数据服务122生成的高安全性数字签名的副本和由内容分配网络101生成的新低安全性数字签名。关于图4C进一步描述响应于确定改变内容分配网络101的同一服务器如何向客户端设备110A交付内容的交付的改变而被生成的新资源定位符的示例。
在操作258,内容分配网络101(例如,服务器112A)向客户端设备110A提供新资源定位符。在一些实施例中,新资源定位符包括与授权客户端设备110A访问请求的内容相关联的高安全性数字签名,以及与供客户端设备110A访问的请求的内容的改变的交付相关联的新低安全性数字签名。在一些实施例中,新资源定位符能够使用HTTP自重新引导请求而被发送。能够注意到,在一些实施例中,在操作258,清单服务器能够以与相对操作208所描述的类似的方式被使用。
在操作260,客户端设备110A使用从内容分配网络101获得的新资源定位符请求访问内容。如上所述,该请求识别同一服务器,向客户端设备110A交付内容的内容分配网络101的服务器112A。在实施例中,客户端设备110A能够发送包括新资源定位符的HTTP请求。该请求能够被发送到内容分配网络101的服务器112A。在实施例中,内容分配网络101的服务器112A从客户端设备110A接收请求。该请求包括如本文中所描述的新资源定位符。
在操作262,内容分配网络101(例如,服务器112A)使用高安全性公钥验证高安全性数字签名,并且使用低安全性公钥验证新低安全性数字签名。关于图3B进一步描述数字签名的验证。在一些实施例中,内容分配网络101的服务器112A验证高安全性数字签名或低安全性数字签名中的一个或多个。在一些实施例中,内容分配网络101的另一服务器(例如,验证服务器)能够验证高安全性数字签名或低安全性数字签名中的一个或多个。
在操作264,如果高安全性数字签名和低安全性数字签名被验证,则内容分配网络101的服务器112A能够向客户端设备110A交付内容。如果高安全性数字签名和低安全性数字签名没有被验证,则服务器112A不向客户端设备110A交付内容。
在一些实施例中,一些或多个操作能够被重复。例如,在服务器112A使用新资源定位符接收到对内容的请求之后,内容分配网络101能够识别指示请求内容的交付的另一改变的事件的发生。内容分配网络101能够生成另一低安全性数字签名并且生成又一资源定位符等等。
能够注意到,在一些实施例中,交付中的改变能够改变向客户端设备110A交付内容的内容分配网络101的服务器,以及内容分配网络101的不同服务器如何向客户端设备110A交付内容。新低安全性数字签名能够基于低安全性参数(例如,比特率参数)的值的改变被创建。新资源定位符能够识别内容分配网络101的新服务器(例如,服务器112B)和指示内容的交付如何被改变(例如,增加比特率)的低安全性参数的值。新资源定位符的高安全性数字签名和低安全性数字签名的验证能够与本文中所描述的类似。
图3A是图示根据本公开的实施例的数字签名的产生的示意图。示意图300示出了文本302。文本302能够是文本串。在一些实施例中,文本串能够包括与低安全性参数相关联的级联值。在一些实施例中,文本串能够包括与高安全性参数相关联的级联值。在一些实施例中,能够在级联之前对与低安全性参数相关联的值或与高安全性参数相关联的值进行散列(例如,应用散列算法),使得文本串是低安全性参数或高安全性参数的一系列级联的散列值。能够注意到,能够以与关于图3A所描述的类似的方式生成低安全性数字签名和高安全性数字签名。
在操作304,散列算法被应用于文本302以产生散列值306。任何数量的散列算法能够被使用,诸如椭圆曲线数字签名(ECDS)算法。
在操作308,散列值306能够使用私钥加密以生成数字签名310。私钥能够包括一些代码或随机生成的数字。私钥与公钥配对。公钥能够从私钥导出。私钥(或公钥)能够与算法(例如,密码)一起被使用以提供文本加密或解密。公钥对许多情况可用,并且可以使得可用在在线目录上。使得私钥对加密内容的发起者和与其共享私钥的实体可用。
在实施例中,资源定位符312能够包括数字签名310以及被用于创建数字签名310的文本302。在实施例中,资源定位符能够包括两个数字签名,诸如高安全性数字签名和低安全性数字签名。出于说明而非限制的目的示出了单个数字签名310的生成。能够使用与关于图3A所描述的类似操作来生成高安全性数字签名、低安全性数字签名或两者。关于图4A-图4C进一步描述资源定位符。
图3B是图示根据本公开的实施例的数字签名的验证的示意图。验证数字签名是用于验证诸如资源定位符的内容的数字数据的真实性的操作。验证数字签名能够为接收者提供数字数据由已知发送方创建(认证)、发送方不能够拒绝发送数字数据(不可否认)、以及数字数据在传输中未被更改(完整性)的保证。能够注意到,能够以与关于图3B所描述的类似的方式验证低安全性数字签名和高安全性数字签名。
示意图330示出了资源定位符312。资源定位符包括文本302和数字签名310。在操作304,散列算法被应用于文本302以产生散列值336。散列算法能够是被用于生成如图3A所示的数字签名的相同散列算法。
在操作332,数字签名310使用公钥被解密以生成散列值334。公钥可以与私钥配对,如图3A所示。
在操作338,散列值336和散列值334能够由比较器进行比较。散列值336与散列值334匹配或不匹配。在操作340,如果散列值336和散列值334匹配,则验证数字签名310。如果散列值336和散列值334不匹配,则数字签名310没有被验证。出于说明而非限制的目的示出了单个数字签名310的验证。能够使用与关于图3B所描述的类似操作来验证高安全性数字签名、低安全性数字签名或两者。
图4A-图4C示出了根据本公开的实施例,图示资源定位符的示意图。资源定位符400图示了能够由授权数据服务122生成的定位符。图4A的资源定位符400能够包括一个或多个部分。在一些实施例中,资源定位符400包括部分402。部分402能够识别资源定位符400的协议。在当前示例中,资源定位符400的协议是安全超文本传输协议(HTTPS)。
在实施例中,资源定位符400包括指示域名的部分404。在一些实施例中,域名能够识别向请求设备(例如,客户端设备110A)交付内容的特定服务器(例如,内容分配网络101的服务器112A)。在当前示例中,在部分404中被指示的设备是内容分配网络101的服务器112A。
在一些实施例中,资源定位符400包括识别高安全性参数和高安全性参数的值的部分406。在当前示例中,部分406示出了与值1相关联的高安全性参数A、与值2相关联的高安全性参数B等。在一些实施例中,部分406识别低安全性参数和低安全性参数的值。在当前示例中,部分406示出了与值4相关联的低安全性参数X、与值5相关联的低安全性参数Y等等。在一些实施例中,与高安全性参数、低安全性参数或两者相关联的值是通过将散列函数应用于与参数相关联的非散列值而产生的散列值。在一些实施例中,高安全性参数不同于低安全性参数。
在一些实施例中,资源定位符400包括部分408,其识别在生成资源定位符400中识别的高安全性数字签名中包括哪些高安全性参数。在一些实施例中,部分408识别用在生成高安全性数字签名中的高安全性参数的序列。在当前示例中,高安全性参数A、B等被用于生成高安全性数字签名。该序列是高安全性参数A,其由高安全性参数B跟随等。在一些示例中,为了使用高安全性参数A、B等生成高安全性数字签名,与高安全性参数相关联的值被级联。高安全性参数A、B等的值能够以由部分408的高安全性参数标识的顺序级联。例如,值A能够与值B级联,值B可以与在部分408中识别的高安全性参数的序列中的下一个高安全性参数相关联的另一个值级联。
在一些实施例中,资源定位符400包括作为高安全性数字签名的部分410。在当前示例中,高安全性数字签名被示为基于如由资源定位符400的部分406和部分408标识的高安全性参数生成的高安全性数字签名#1。在一些实施例中,内容共享平台120生成高安全性数字签名。
在一些实施例中,资源定位符400包括部分412,其识别在低安全性数字签名的生成中包括哪些低安全性参数。在一些实施例中,部分412识别用在低安全性数字签名的生成中的低安全性参数的序列。在当前示例中,低安全性参数X、Y等被用于生成低安全性数字签名。序列是低安全性参数X,其由低安全性参数Y跟随等。低安全性数字签名的生成类似于如上关于高安全性数字签名的生成所描述的。
在一些实施例中,资源定位符400包括作为低安全性数字签名的部分414。在当前示例中,低安全性数字签名被示为低安全性数字签名#2,其是基于如由资源定位符400的部分406和部分412识别的低安全性参数而被生成的。资源定位符400的低安全性数字签名由内容共享平台120生成。
图4B的资源定位符430能够包括一个或多个部分。在一些实施例中,资源定位符430能够图示由内容分配网络101生成的资源定位符。在一些实施例中,资源定位符430能够表示内容分配网络101生成用于将对客户端设备110A的内容的交付从内容分配网络101的服务器112A改变到服务器112B的资源定位符。能够注意到,资源定位符430的许多部分的内容类似于资源定位符400。能够进一步注意到,具有与资源定位符400相同的内容的资源定位符430的部分具有相同的标识号,并且如上关于图4A所描述的。出于清楚的目的,关于图4B描述了具有新内容的资源定位符430的部分。在一些实施例中,内容分配网络101改变资源定位符400的一些部分的一些内容以生成新资源定位符430。出于清楚的目的,改变的内容用粗体示出。
在实施例中,资源定位符430包括部分434,其类似于资源定位符400的部分404。部分434指示资源定位符430的域名。在一些实施例中,域名能够识别特定服务器(例如,要向诸如客户端设备110A的请求设备交付内容的服务器112B)。在当前示例中,在部分434中被指示的服务器是内容分配网络101的服务器112B。如图所示,内容分配网络101已经改变了要将内容从服务器112A(参见部分404)向内容分配网络101的服务器112B交付的服务器。
在一些实施例中,资源定位符包括部分436,其类似于资源定位符400的部分406。部分436识别高安全性参数和高安全性参数的值。在当前示例中,部分436示出了与值1相关联的高安全性参数A、与值2相关联的高安全性参数B等。高安全性参数和值尚未从资源定位符400到资源定位符430被改变。在实施例中,内容分配网络101不具有改变高安全性数字签名的权限,并且不改变高安全性参数和高安全性参数的关联值。例如,如果内容分配网络101确实改变了高安全性参数的值,则内容分配网络101将不具有用于生成新的高安全性数字签名的私钥,因此,验证具有用于高安全性参数的新值的任何资源定位符无法由内容分配网络101验证。
在一些实施例中,部分436识别低安全性参数和低安全性参数的值。在当前示例中,部分436示出了与值6相关联的低安全性参数X、与值7相关联的低安全性参数Y等。内容分配网络101已经改变了一个或多个低安全性参数的值。
在一些实施例中,资源定位符430包括部分444,其类似于资源定位符400的部分414。部分444是低安全性数字签名。在当前示例中,低安全性数字签名被示出为低安全性数字签名#3。基于如由资源定位符430的部分436和部分412识别的低安全性参数生成低安全性数字签名。例如,部分436的低安全性参数的新值被用于生成低安全性数字签名,如本文中所描述的。在实施例中,内容分配网络101生成新低安全性数字签名。
图4C的资源定位符460能够包括一个或多个部分。在一些实施例中,资源定位符460能够图示由内容分配网络101生成的资源定位符。在一些实施例中,资源定位符460能够表示内容分配网络101生成的用于改变同一服务器(例如,服务器112A)如何向客户端设备110A交付内容的资源定位符。能够注意到,资源定位符460的许多部分的内容类似于资源定位符400。能够进一步注意到,具有与资源定位符400相同的内容的资源定位符460的部分具有相同的标识号,并且如上关于图4A所述。出于清楚的目的,关于图4C描述了具有新内容的资源定位符460的部分。在一些实施例中,内容分配网络101改变资源定位符400的一些部分的一些内容以生成新资源定位符460。出于清楚的目的,改变的内容用粗体表示。
在一些实施例中,资源定位符460包括部分466,其类似于资源定位符400的部分406。部分466识别高安全性参数和高安全性参数的值。在当前示例中,部分466示出了与值1相关联的高安全性参数A、与值2相关联的高安全性参数B等等。高安全性参数和值从尚未资源定位符400到资源定位符460被改变。在实施例中,内容分配网络101不具有改变高安全性数字签名的权限,并且不改变高安全性参数和高安全性参数的关联值。
在一些实施例中,部分466识别低安全性参数和低安全性参数的值。在当前示例中,部分466示出了与值8相关联的低安全性参数X、与值9相关联的低安全性参数Y等等。内容分配网络101已经改变了一个或多个低安全性参数的值。低安全性参数的值已经被改变以反映请求内容的交付如何被改变。
在一些实施例中,资源定位符460包括部分474,其类似于资源定位符400的部分414。部分474是低安全性数字签名。在当前示例中,低安全性数字签名被示出为低安全性数字签名#4。低安全性数字签名#4使用如由资源定位符460的部分466和部分412标识的低安全性参数被生成。例如,部分466的低安全性参数的新值被用于生成低安全性数字签名(例如,低安全性数字签名#4),如本文中所描述的。
图5描绘了根据本公开的实施例的用于改变由内容分配网络交付的内容的交付的方法500的流程图。该方法由处理逻辑执行,该处理逻辑可以包括硬件(电路、专用逻辑等)、软件(例如,在处理设备上运行的指令)或其组合。在一些实施例中,方法500的一些或所有操作可以由图1的系统100的一个或多个组件执行。在其他实施例中,方法500的一个或多个操作可以由如参考图1-2所述的内容分配网络101的授权模块执行。可以注意到,关于图1-图2描述的组件可以被用于图示图5的各方面。
在框502,实现方法500的处理逻辑从客户端设备接收对内容的第一请求。在实施例中,对内容的请求由内容分配网络101的第一服务器接收。在实施例中,第一请求包括由授权数据服务122提供的资源定位符,以授权客户端设备获得请求的内容。在实施例中,资源定位符识别第一服务器以向客户端设备交付请求的内容。在实施例中,资源定位符包括与授权客户端设备访问请求的内容相关联的第一数字签名(例如,高安全性数字签名)和与授权供客户端设备访问的请求的内容的交付相关联的第二数字签名(例如,低安全性数字签名)。在一些实施例中,请求的内容包括视频项。
在一些实施例中,第一数字签名由授权数据服务122从第一私钥(例如,高安全性私钥)被生成,并且第二数字签名由授权数据服务122从第二私钥(例如,低安全性私钥)被生成。第一私钥和第二私钥是不同的私钥。在实施例中,第一私钥和第二私钥可由授权数据服务122访问。在实施例中,第二私钥而不是第一私钥可由内容分配网络101访问。
在一些实施例中,第一请求包括与第一数字签名相关联的第一参数(例如,高安全性参数)和与第二数字签名相关联的第二参数(例如低安全性参数)。第一数字签名基于第一参数被生成,并且第二数字签名基于第二参数被生成。
在一些实施例中,响应于从客户端设备接收到对内容的第一请求,处理逻辑验证与第一请求相关联的第一数字签名和第二数字签名。响应于验证第一数字签名和第二数字签名,处理逻辑将内容从内容分配网络101的第一服务器向客户端设备交付以用于用户的消费。
在框504,处理逻辑识别事件的发生,该事件指示在供客户端设备访问请求的内容的交付中的改变。
在一些实施例中,为了识别指示在供客户端设备访问请求内容的交付中的改变的事件的发生,处理逻辑确定内容分配网络101的第二服务器要向客户端设备交付内容。在一些实施例中,为了识别指示在供客户端设备访问请求内容的交付中的改变的事件的发生,处理逻辑确定内容分配网络101的第一服务器不可用于向客户端设备交付内容。确定第二服务器要向客户端设备交付内容是响应于确定第一服务器不可用于向客户端设备交付内容。
在一些实施例中,为了识别指示在供客户端设备访问请求的内容的交付中的改变的事件的发生,处理逻辑确定由第一服务器请求的内容的交付要被改变。在实施例中,为了确定由第一服务器请求的内容的交付要被改变,处理逻辑确定要向客户端设备交付内容的比特率的改变。响应于确定要向客户端设备交付内容的比特率的改变,处理逻辑调整第二参数(例如,低安全性参数)的比特率参数。
在操作506,响应于识别事件的发生,处理逻辑生成与在供客户端设备访问的请求的内容的交付中的改变相关联的第三数字签名(例如,新低安全性数字签名)。在实施例中,为了生成与在供客户端设备访问的请求的内容的交付中的改变相关联的第三数字签名,处理逻辑调整与第二参数(例如,低安全性参数)相关联的值。第三数字签名由内容分配网络101使用与第二参数和第二私钥相关联的调整值生成。
在操作508,处理逻辑向客户端设备提供新资源定位符。在实施例中,新资源定位符包括与供客户端设备访问的请求的内容的授权相关联的(例如,从授权数据服务122接收的)第一数字签名以及与供客户端设备访问的请求的内容的改变的交付相关联的第三数字签名。
在操作510,处理逻辑从客户端设备接收对内容的另一请求(例如,第二请求或第三请求)。该请求包括由内容分配网络101生成的新资源定位符。新资源定位符包括第一数字签名和第三数字签名(例如,新低安全性数字签名)。在一些实施例中,该请求(例如,第二请求)能够请求不同的服务器来向客户端设备110交付内容。在一些实施例中,该请求(例如,第三请求)能够请求同一服务器向客户端设备交付内容,但是请求关于如何将内容交付给客户端设备的改变(例如,方式)。在其他实施例中,该请求请求不同的服务器向客户端设备交付内容,并且请求关于如何向客户端设备交付内容的改变。
在操作512,处理逻辑验证与请求相关联的第一数字签名和第三数字签名。
在操作514,响应于验证第一数字签名和第三数字签名,处理逻辑向客户端设备交付内容。在实施例中,如果新资源定位符识别新服务器,则处理逻辑将内容从内容分配网络101的新服务器向客户端设备交付以用于用户消费。在实施例中,如果新资源定位符识别同一服务器,但是改变了如何向客户端设备交付内容,则处理逻辑以由新资源定位符描述的方式,改变从内容分配网络101的第一服务器的内容的交付。
图6是图示了根据本公开的实施例的示例性计算机系统600的框图。计算机系统600执行使机器执行本文中讨论的任何一个或多个方法的一个或多个指令集。指令集、指令等可以指当执行计算机系统600时,使计算机系统600执行授权模块151的一个或多个操作的指令。机器可以在客户端-服务器网络环境中以服务器或客户端设备的能力操作,或者在对等(或分布式)网络环境中作为对等机器操作。机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络设备、服务器、网络路由器、交换机或网桥或者能够执行指定将由该机器采取的动作的指令集(顺序的或以其它方式)的任何机器。另外,虽然仅单个机器被图示,但术语“机器”也应当被视为包括独立地或联合地执行指令集以执行本文中讨论的任何一个或多个方法的机器的任何集合。
计算机系统600包括经由总线608彼此通信的处理设备602、主存储器604(例如,只读存储器(ROM)、闪存、诸如同步DRAM(SDRAM)或RambusDRAM(RDRAM)的动态随机存取存储器(DRAM)等)、静态存储器606(例如,闪存、静态随机存取存储器(SRAM)等)和数据存储设备616。
处理设备602表示诸如微处理器、中央处理单元等的一个或多个通用处理设备。更具体地,处理设备602可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实现其它指令集的处理设备或实现指令集组合的处理设备。处理设备602还可以是诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等的一个或多个专用处理设备。处理设备602被配置为执行系统架构100和授权模块151的指令,以执行本文中讨论的操作。
计算机系统600可以进一步包括网络接口设备622,网络接口设备622通过诸如局域网(LAN)、内联网、外联网或互联网的网络618提供与其它机器的通信。计算机系统600还可以包括显示设备610(例如,液晶显示器(LCD)或阴极射线管(CRT))、字母数字输入设备612(例如,键盘)、光标控制设备614(例如,鼠标)和信号生成设备620(例如,扬声器)。
数据存储设备616可以包括非暂时性计算机可读存储介质624,非暂时性计算机可读存储介质624上存储有体现本文中描述的方法或功能中的任何一个或多个的系统架构100或授权模块151的指令集。系统架构100或授权模块151的指令集还可以在其由计算机系统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 (20)
1.一种方法,包括:
由处理设备从客户端设备接收对内容的第一请求,其中,所述第一请求包括由授权数据服务提供的资源定位符,以授权所述客户端设备获得请求的内容,所述资源定位符标识向所述客户端设备交付请求的内容的内容分配网络CDN的第一服务器,并且包括与授权所述客户端设备访问所述请求的内容相关联的第一数字签名,以及与授权供所述客户端设备访问的请求的内容的交付相关联的第二数字签名;
识别指示供所述客户端设备访问的请求的内容的交付中的改变的事件的发生;
响应于识别所述事件的发生,生成与供所述客户端设备访问的请求的内容的改变的交付相关联的第三数字签名;以及
向所述客户端设备提供新资源定位符,所述新资源定位符包括与授权所述客户端设备访问所述请求的内容相关联的所述第一数字签名和与供所述客户端设备访问的请求的内容的改变的交付相关联的所述第三数字签名,其中,所述客户端设备能够操作以使用所述新资源定位符访问所述内容。
2.根据权利要求1所述的方法,其中,所述第一数字签名从第一私钥被生成,并且所述第二数字签名从第二私钥被生成,其中,所述第一私钥和所述第二私钥是不同的私钥,并且其中,所述第一私钥和所述第二私钥能够由所述授权数据服务访问,其中,所述第二私钥而不是所述第一私钥能够由所述CDN访问。
3.根据权利要求2所述的方法,其中,所述第一请求进一步包括与所述第一数字签名相关联的第一参数和与所述第二数字签名相关联的第二参数,并且其中,所述第一数字签名基于所述第一参数被生成,并且所述第二数字签名基于所述第二参数被生成。
4.根据权利要求3所述的方法,其中,生成与供所述客户端设备访问的请求的内容的改变的交付相关联的第三数字签名包括:
由所述CDN调整与所述第二参数相关联的值,其中,所述第三数字签名由所述CDN使用与所述第二参数相关联的调整值和所述第二私钥被生成。
5.根据权利要求1所述的方法,其中,识别指示在供所述客户端设备访问的请求的内容的交付中的改变的事件的发生包括:
确定所述CDN的第二服务器要向所述客户端设备交付所述内容,其中,所述新资源定位符标识所述CDN的所述第二服务器。
6.根据权利要求5所述的方法,其中,识别指示在供所述客户端设备访问的请求的内容的交付中的改变的事件的发生进一步包括:
确定所述CDN的所述第一服务器不可用于向所述客户端设备交付所述内容,其中,确定所述第二服务器要向所述客户端设备交付所述内容是响应于确定所述第一服务器不可用于向所述客户端设备交付所述内容。
7.根据权利要求5所述的方法,进一步包括:
由所述CDN的所述第二服务器从所述客户端设备接收对所述内容的第二请求,所述第二请求包括所述新资源定位符;
验证与所述第二请求相关联的所述第一数字签名和所述第三数字签名;以及
响应于验证所述第一数字签名和所述第三数字签名,从所述CDN的所述第二服务器向所述客户端设备交付所述内容以用于用户消费。
8.根据权利要求1所述的方法,其中,识别指示在供所述客户端设备访问的请求的内容的交付中的改变的事件的发生包括:
确定由所述第一服务器对请求的内容的交付要被改变。
9.根据权利要求8所述的方法,其中,确定由所述第一服务器对请求的内容的交付要被改变进一步包括:
确定要向所述客户端设备交付所述内容的比特率的改变;以及
响应于确定要向所述客户端设备交付所述内容的比特率的改变,调整比特率参数,其中,所述第三数字签名使用调整的比特率参数被生成。
10.根据权利要求8所述的方法,进一步包括:
从所述客户端设备接收对所述内容的第三请求,所述第三请求包括所述新资源定位符;
验证与所述第三请求相关联的所述第一数字签名和所述第三数字签名;以及
响应于验证所述第一数字签名和所述第三数字签名,鉴于所述第三请求改变来自所述CDN的所述第一服务器的所述内容的交付。
11.根据权利要求1所述的方法,进一步包括:
响应于从所述客户端设备接收对所述内容的第一请求,验证与所述第一请求相关联的所述第一数字签名和所述第二数字签名;以及
响应于验证所述第一数字签名和所述第二数字签名,从所述CDN的所述第一服务器向所述客户端设备交付所述内容以用于用户消费。
12.根据权利要求1所述的方法,其中,所述内容包括视频项。
13.一种系统,包括:
存储器;以及
处理设备,所述处理设备耦合到所述存储器,用于:
从客户端设备接收对内容的第一请求,其中,所述第一请求包括由授权数据服务提供的资源定位符,以授权所述客户端设备获得请求的内容,所述资源定位符标识向所述客户端设备交付请求的内容的内容分配网络CDN的第一服务器,并且包括与授权所述客户端设备访问所述请求的内容相关联的第一数字签名,以及与授权供所述客户端设备访问的请求的内容的交付相关联的第二数字签名;
识别指示供所述客户端设备访问的请求的内容的交付中的改变的事件的发生;
响应于识别所述事件的发生,生成与供所述客户端设备访问的请求的内容的改变的交付相关联的第三数字签名;以及
向所述客户端设备提供新资源定位符,所述新资源定位符包括与授权所述客户端设备访问所述请求的内容相关联的所述第一数字签名和与供所述客户端设备访问的请求的内容的改变的交付相关联的所述第三数字签名,其中,所述客户端设备能够操作以使用所述新资源定位符访问所述内容。
14.根据权利要求13所述的系统,其中,所述第一数字签名从第一私钥被生成,并且所述第二数字签名从第二私钥被生成,其中,所述第一私钥和所述第二私钥是不同的私钥,并且其中,所述第一私钥和所述第二私钥能够由所述授权数据服务访问,其中,所述第二私钥而不是所述第一私钥能够由所述CDN访问。
15.根据权利要求13所述的系统,其中,为识别指示在供所述客户端设备访问的请求的内容的交付中的改变的事件的发生,所述处理设备能够操作以:
确定所述CDN的第二服务器要向所述客户端设备交付所述内容,其中,所述新资源定位符标识所述CDN的所述第二服务器。
16.根据权利要求15所述的系统,其中,为识别指示在供所述客户端设备访问的请求的内容交付中的改变的事件的发生,所述处理设备进一步能够操作以:
确定所述CDN的所述第一服务器不可用于向所述客户端设备交付所述内容,其中,确定所述第二服务器要向所述客户端设备交付所述内容是响应于确定所述第一服务器不可用于向所述客户端设备交付所述内容。
17.根据权利要求15所述的系统,所述处理设备进一步能够操作以:
由所述CDN的所述第二服务器从所述客户端设备接收对所述内容的第二请求,所述第二请求包括所述新资源定位符;
验证与所述第二请求相关联的所述第一数字签名和所述第三数字签名;以及
响应于验证所述第一数字签名和所述第三数字签名,从所述CDN的所述第二服务器向所述客户端设备交付所述内容以用于用户消费。
18.一种包括指令的非暂时性计算机可读介质,所述指令响应于处理设备的执行,使所述处理设备执行包括以下的操作:
由处理设备从客户端设备接收对内容的第一请求,其中,所述第一请求包括由授权数据服务提供的资源定位符,以授权所述客户端设备获得请求的内容,所述资源定位符标识向所述客户端设备交付请求的内容的内容分配网络CDN的第一服务器,并且包括与授权所述客户端设备访问所述请求的内容相关联的第一数字签名,以及与授权供所述客户端设备访问的请求的内容的交付相关联的第二数字签名;
识别指示供所述客户端设备访问的请求的内容的交付中的改变的事件的发生;
响应于识别所述事件的发生,生成与供所述客户端设备访问的请求的内容的改变的交付相关联的第三数字签名;以及
向所述客户端设备提供新资源定位符,所述新资源定位符包括与授权所述客户端设备访问所述请求的内容相关联的所述第一数字签名和与供所述客户端设备访问的请求的内容的改变的交付相关联的所述第三数字签名,其中,所述客户端设备能够操作以使用所述新资源定位符访问所述内容。
19.根据权利要求18所述的非暂时性计算机可读介质,其中,识别指示供所述客户端设备访问的请求的内容的交付中的改变的事件的发生包括:
确定所述CDN的所述第一服务器不可用于向所述客户端设备交付所述内容;以及
响应于确定所述第一服务器不可用于向所述客户端设备交付所述内容,确定所述CDN的第二服务器要向所述客户端设备交付所述内容,其中,所述新资源定位符标识所述CDN的所述第二服务器。
20.根据权利要求19所述的非暂时性计算机可读介质,进一步包括:
由所述CDN的所述第二服务器从所述客户端设备接收对所述内容的第二请求,所述第二请求包括所述新资源定位符;
验证与所述第二请求相关联的所述第一数字签名和所述第三数字签名;以及
响应于验证所述第一数字签名和所述第三数字签名,从所述CDN的所述第二服务器向所述客户端设备交付所述内容以用于用户消费。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410700522.6A CN118473674A (zh) | 2019-03-26 | 2019-03-26 | 使用多个加密数字签名分离授权内容访问和内容交付 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2019/024103 WO2020197545A1 (en) | 2019-03-26 | 2019-03-26 | Separating the authorization of content access and content delivery using multiple cryptographic digital signatures |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410700522.6A Division CN118473674A (zh) | 2019-03-26 | 2019-03-26 | 使用多个加密数字签名分离授权内容访问和内容交付 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113678126A true CN113678126A (zh) | 2021-11-19 |
CN113678126B CN113678126B (zh) | 2024-06-14 |
Family
ID=66102774
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980094597.1A Active CN113678126B (zh) | 2019-03-26 | 2019-03-26 | 使用多个加密数字签名分离授权内容访问和内容交付 |
CN202410700522.6A Pending CN118473674A (zh) | 2019-03-26 | 2019-03-26 | 使用多个加密数字签名分离授权内容访问和内容交付 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410700522.6A Pending CN118473674A (zh) | 2019-03-26 | 2019-03-26 | 使用多个加密数字签名分离授权内容访问和内容交付 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11997214B2 (zh) |
EP (2) | EP3948593B1 (zh) |
JP (2) | JP7210769B2 (zh) |
KR (2) | KR102638636B1 (zh) |
CN (2) | CN113678126B (zh) |
WO (1) | WO2020197545A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220288496A1 (en) * | 2019-09-17 | 2022-09-15 | Sony Interactive Entertainment Inc. | Information processing device and server |
US11553054B2 (en) * | 2020-04-30 | 2023-01-10 | The Nielsen Company (Us), Llc | Measurement of internet media consumption |
US11677567B2 (en) * | 2021-01-05 | 2023-06-13 | Citrix Systems, Inc. | Validating shared files |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001052497A2 (en) * | 1999-12-20 | 2001-07-19 | Fastforward Networks, Inc. | A content distribution system for operation over an internetwork including content peering arrangements |
US20070113269A1 (en) * | 2003-07-29 | 2007-05-17 | Junbiao Zhang | Controlling access to a network using redirection |
US20110145437A1 (en) * | 2008-08-26 | 2011-06-16 | Benjamin Paul Niven-Jenkins | Operation of a content distribution network |
US20120260318A1 (en) * | 2009-12-18 | 2012-10-11 | France Telecom | Access to a network for distributing digital content |
US20140344908A1 (en) * | 2011-12-16 | 2014-11-20 | British Telecommunications Public Limited Company | Data retrieval redirection |
US20140379871A1 (en) * | 2011-12-29 | 2014-12-25 | Koninklijke Kpn N.V. | Network-Initiated Content Streaming Control |
CN104283845A (zh) * | 2013-07-03 | 2015-01-14 | 中国电信股份有限公司 | 防盗链方法和系统以及cdn服务器和客户端 |
US20150271179A1 (en) * | 2014-03-24 | 2015-09-24 | Futurewei Technologies, Inc. | System and method for partial url signing with applications to dynamic adaptive streaming |
US20150350205A1 (en) * | 2013-01-17 | 2015-12-03 | Intel IP Corporation | Content url authentication for dash |
CN105659240A (zh) * | 2013-10-28 | 2016-06-08 | 华为技术有限公司 | 一种用于发送和验证url签名以进行自适应流中url认证和基于url的内容访问授权的系统和方法 |
CN107172220A (zh) * | 2017-07-26 | 2017-09-15 | 上海鋆创信息技术有限公司 | 多cdn服务的切换调度方法及设备 |
US20180199075A1 (en) * | 2017-01-10 | 2018-07-12 | Qualcomm Incorporated | Signaling data for prefetching support for streaming media data |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6629150B1 (en) * | 1999-06-18 | 2003-09-30 | Intel Corporation | Platform and method for creating and using a digital container |
ATE241820T1 (de) | 2001-07-12 | 2003-06-15 | Castify Networks Sa | Verfahren zum bereitstellen von kundenzugriff auf einen inhaltanbietenden server unter kontrolle eines resoursenlokalisierenden servers |
JP2004280401A (ja) | 2003-03-14 | 2004-10-07 | Toshiba Corp | コンテンツ配信システム、装置及びプログラム |
JP2005027009A (ja) | 2003-07-02 | 2005-01-27 | Matsushita Electric Ind Co Ltd | 映像サーバ及び映像配信ネットワークシステム |
JP4769051B2 (ja) | 2005-09-09 | 2011-09-07 | Kddi株式会社 | サービス提供システム、装置、プログラム及び方法 |
US20090307759A1 (en) * | 2008-06-06 | 2009-12-10 | Microsoft Corporation | Temporary Domain Membership for Content Sharing |
JP4577418B2 (ja) | 2008-07-09 | 2010-11-10 | ブラザー工業株式会社 | 広告配信システム |
JP6163222B1 (ja) | 2016-03-18 | 2017-07-12 | ヤフー株式会社 | 転送装置、転送方法、転送プログラム、コンテンツ要求処理装置、コンテンツ要求処理方法、コンテンツ要求処理プログラムおよびアクセス処理システム |
CN109417536A (zh) * | 2016-04-15 | 2019-03-01 | 高通股份有限公司 | 用于管理内容递送网络中的安全内容传输的技术 |
US10333716B2 (en) * | 2017-01-17 | 2019-06-25 | Go Daddy Operating Company, LLC | Script verification using a digital signature |
US10812353B2 (en) * | 2017-06-26 | 2020-10-20 | Netskope, Inc. | Aggregate network traffic monitoring |
-
2019
- 2019-03-26 KR KR1020217034167A patent/KR102638636B1/ko active Application Filing
- 2019-03-26 WO PCT/US2019/024103 patent/WO2020197545A1/en unknown
- 2019-03-26 CN CN201980094597.1A patent/CN113678126B/zh active Active
- 2019-03-26 KR KR1020247005319A patent/KR20240024374A/ko active Application Filing
- 2019-03-26 US US17/598,188 patent/US11997214B2/en active Active
- 2019-03-26 JP JP2021557281A patent/JP7210769B2/ja active Active
- 2019-03-26 EP EP19717038.4A patent/EP3948593B1/en active Active
- 2019-03-26 CN CN202410700522.6A patent/CN118473674A/zh active Pending
- 2019-03-26 EP EP23157876.6A patent/EP4202734A1/en active Pending
-
2023
- 2023-01-10 JP JP2023001877A patent/JP7540019B2/ja active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001052497A2 (en) * | 1999-12-20 | 2001-07-19 | Fastforward Networks, Inc. | A content distribution system for operation over an internetwork including content peering arrangements |
US20070113269A1 (en) * | 2003-07-29 | 2007-05-17 | Junbiao Zhang | Controlling access to a network using redirection |
US20110145437A1 (en) * | 2008-08-26 | 2011-06-16 | Benjamin Paul Niven-Jenkins | Operation of a content distribution network |
US20120260318A1 (en) * | 2009-12-18 | 2012-10-11 | France Telecom | Access to a network for distributing digital content |
US20140344908A1 (en) * | 2011-12-16 | 2014-11-20 | British Telecommunications Public Limited Company | Data retrieval redirection |
US20140379871A1 (en) * | 2011-12-29 | 2014-12-25 | Koninklijke Kpn N.V. | Network-Initiated Content Streaming Control |
US20150350205A1 (en) * | 2013-01-17 | 2015-12-03 | Intel IP Corporation | Content url authentication for dash |
CN104283845A (zh) * | 2013-07-03 | 2015-01-14 | 中国电信股份有限公司 | 防盗链方法和系统以及cdn服务器和客户端 |
CN105659240A (zh) * | 2013-10-28 | 2016-06-08 | 华为技术有限公司 | 一种用于发送和验证url签名以进行自适应流中url认证和基于url的内容访问授权的系统和方法 |
US20150271179A1 (en) * | 2014-03-24 | 2015-09-24 | Futurewei Technologies, Inc. | System and method for partial url signing with applications to dynamic adaptive streaming |
CN107077541A (zh) * | 2014-03-24 | 2017-08-18 | 华为技术有限公司 | 应用于动态自适应流媒体的部分url签名系统和方法 |
US20180199075A1 (en) * | 2017-01-10 | 2018-07-12 | Qualcomm Incorporated | Signaling data for prefetching support for streaming media data |
CN107172220A (zh) * | 2017-07-26 | 2017-09-15 | 上海鋆创信息技术有限公司 | 多cdn服务的切换调度方法及设备 |
Non-Patent Citations (4)
Title |
---|
MOFFATT, S.: ""Building a distributed authenticating CDN"", "PROCEEDINGS OF THE 2011 INTERNATIONAL CONFERENCE ON DATA AND KNOWLEDGE ENGINEERING (ICDKE 2011)", no. 2011, 31 December 2011 (2011-12-31), pages 1 - 5 * |
幽雨雨幽: ""技术分享:什么是CDN鉴权(by光网烈火)"", Retrieved from the Internet <URL:"https://blog.csdn.net/jiyeshaying/article/details/108355031"> * |
董梅: ""CDN技术在流媒体平台的应用研究"", 中国优秀硕士学位论文全文数据库 (信息科技辑), no. 2006, 15 July 2006 (2006-07-15), pages 136 - 73 * |
鲍序;李泽平;万明刚;杨旋;杨义;: "混合流媒体分发系统中可信合作节点选取模型", 计算机应用研究, vol. 33, no. 01, 31 January 2016 (2016-01-31), pages 1 - 6 * |
Also Published As
Publication number | Publication date |
---|---|
CN113678126B (zh) | 2024-06-14 |
JP7210769B2 (ja) | 2023-01-23 |
WO2020197545A1 (en) | 2020-10-01 |
KR20210141663A (ko) | 2021-11-23 |
US11997214B2 (en) | 2024-05-28 |
JP7540019B2 (ja) | 2024-08-26 |
US20220166633A1 (en) | 2022-05-26 |
KR102638636B1 (ko) | 2024-02-21 |
JP2022528639A (ja) | 2022-06-15 |
EP3948593B1 (en) | 2023-05-03 |
KR20240024374A (ko) | 2024-02-23 |
EP4202734A1 (en) | 2023-06-28 |
CN118473674A (zh) | 2024-08-09 |
EP3948593A1 (en) | 2022-02-09 |
JP2023041702A (ja) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11528264B2 (en) | Merged video streaming, authorization, and metadata requests | |
US20160063223A1 (en) | Distributing protected content | |
JP7540019B2 (ja) | 複数の暗号学的デジタル署名を使用したコンテンツアクセスおよびコンテンツ配信の認可の分離 | |
US11025432B2 (en) | Access control technology for peer-to-peer sharing | |
JP2019521606A (ja) | 衛星放送システムを介したオンラインメディアコンテンツの提供 | |
US20220286300A1 (en) | Systems and methods to evaluate client device trust in a distributed computing system | |
US20230217054A1 (en) | Systems and methods to deliver content during client authentication process in a distributed computing system | |
JP7571305B2 (ja) | 分散コンピューティングシステムにおいてクライアント認証プロセス中にコンテンツを配信するためのシステムおよび方法 | |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |