CN103355000A - 将数据保密性扩展到播放器应用中 - Google Patents

将数据保密性扩展到播放器应用中 Download PDF

Info

Publication number
CN103355000A
CN103355000A CN2011800671674A CN201180067167A CN103355000A CN 103355000 A CN103355000 A CN 103355000A CN 2011800671674 A CN2011800671674 A CN 2011800671674A CN 201180067167 A CN201180067167 A CN 201180067167A CN 103355000 A CN103355000 A CN 103355000A
Authority
CN
China
Prior art keywords
content
key
control message
authorization control
player
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
Application number
CN2011800671674A
Other languages
English (en)
Other versions
CN103355000B (zh
Inventor
C·R·科诺克斯
A·奥鲁格比勒
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.)
Akamai Technologies Inc
Original Assignee
Akamai Technologies Inc
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 Akamai Technologies Inc filed Critical Akamai Technologies Inc
Publication of CN103355000A publication Critical patent/CN103355000A/zh
Application granted granted Critical
Publication of CN103355000B publication Critical patent/CN103355000B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26606Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing entitlement messages, e.g. Entitlement Control Message [ECM] or Entitlement Management Message [EMM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6334Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2181Source of audio or video content, e.g. local disk arrays comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Technology Law (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

在内容保护方案中,响应于由服务器接收到的针对内容的部分的请求,服务器生成向会话特定密钥授予权利的消息并将该消息与该部分相关联,其中可以从所述会话特定密钥导出一个或多个解密密钥。解密密钥用于在部分将要被播放器呈现时在运行时解密部分。在递送之前,服务器对部分进行加密以生成已加密片段,并且其随后响应于该请求而供应已加密片段(和消息)。在客户端处,消息中的信息用来获取会话特定密钥。使用该密钥,导出解密密钥,并且这些密钥随后被用来对接收的已加密片段进行解密。该解密在运行时发生。该方法在内容在转运到客户端浏览器环境和在其中静止的同时保护内容。

Description

将数据保密性扩展到播放器应用中
本申请基于并要求2011年12月29日递交的申请No.13/339,492的优先权,该申请基于并要求2010年12月31日递交的申请No.61/428,893的优先权。
技术领域
本申请一般地涉及以广播收听规模向流行的运行时环境和移动设备进行高清晰(HD)视频的在线递送。
背景技术
分布式计算机系统在现有技术中是公知的。一种这样的分布式计算机系统是由服务提供商操作和管理的“内容递送网络”或“CDN”。服务提供商通常代表第三方提供内容递送服务。这种类型的“分布式系统”通常是指通过一个或多个网络联接的自主计算机的集合以及被设计用于辅助各种服务的软件、系统、协议和技术,其中,各种服务诸如是内容递送或对外包站点基础设施的支持。通常,“内容递送”是指内容的存储、缓存或传送、代表内容提供商的流传输媒体和应用,包括一起使用的辅助技术,包括但不限于,DNS查询处理、供应、数据监视和报告、内容锁定、个性化和商业智能。
尽管内容递送网络提供了显著的优势,但是,通常,它们包括为多个第三方运行时环境支持内容递送的专用平台,而这多个第三方运行时环境又基于它们自己的专有技术、媒体服务器和协议。要实现和维护这些不同的平台,特别是全局地并且随着终端用户的增多而成比例地实现和维护这些不同的平台,是昂贵的。并且,同时,内容提供商(诸如大型广播商、影片发行人等)期望它们的内容以补充诸如广播TV(包括高清晰或“HD”电视)和DVD之类的传统媒体的方式被在线递送。此内容也可以以不同的比特率提供。终端用户也期望像他们现在与通过卫星或线缆递送的传统的基于DVR的内容交互那样与该内容交互。另一复杂之处在于基于因特网的内容递送不再限于诸如台式机之类的固定线路环境,因为越来越多的终端用户现在使用诸如
Figure BDA00003641784800021
之类的移动设备来通过移动环境接收和观看内容。
因此,需要提供一种集成式内容递送网络平台,其具有以广播收听规模向最流行的运行时环境(诸如
Figure BDA00003641784800023
Figure BDA00003641784800024
Figure BDA00003641784800025
Figure BDA00003641784800026
Figure BDA00003641784800027
Figure BDA00003641784800028
等)以及向诸如iPhone之类的移动设备递送在线内容(诸如HD质量的视频)的能力,以与观众对传统广播TV的期望相匹配。本文中所公开的技术解决了这种需要。
发明内容
一种保护媒体安全的方法将数据保密性扩展到集成的基于HTTP的递送平台内的播放器应用中,其备用于向在固定线路和移动环境两者中的多种类型的客户端设备上操作的流行运行时环境进行HD视频和音频质量的内容的在线递送。该技术被设计用于避开可伸缩攻击,诸如由链路/令牌共享和自动更新服务、密钥共享、传输级内容解密、静态复制等引起的攻击,而不依靠数字权限管理(DRM)。该方法在内容转运到客户端浏览器环境并在其中静止的同时保护内容。
在一个实施例中,内容从边缘网络服务器被供应给具有媒体播放器的进行请求的客户端浏览器。具体地,并且响应于由边缘网络服务器接收的针对内容的部分的请求,服务器生成向会话特定密钥授予权利的授权控制消息(ECM)并将所述ECM与所述部分相关联,其中适于从会话特定密钥导出一个或多个解密密钥。所述内容的部分通常表示以离散比特率的可配置长度的连续视频和音频数据的时间片。会话特定密钥和解密密钥两者都不需要被包括在消息本身中,解密密钥适于用来在部分将被客户端播放器呈现时在运行时解密部分。边缘网络服务器加密内容的部分来生成已加密片段,并且其随后响应于该请求而供应已加密片段(和所述ECM,所述ECM可以被嵌入在其中)。在客户端处,ECM中的信息(通常,受令牌保护的URL)被用来获取会话特定密钥。使用该密钥,导出一个或多个解密密钥,并且解密密钥随后被用来解密接收的已加密片段。解密在部分将要被播放器代码呈现时在运行时发生。
以上已经概述本发明的多个有关特征中的一些。这些特征应当解释为仅仅是说明性的。通过以不同的方式应用所公开的发明或通过如将描述那样修改本发明,可以获得许多其它有益结果。
附图说明
为了更完整地理解本发明及其优势,现在参考以下结合附图进行的描述,在附图中:
图1图示出其中可以实现说明性实施例的示例性方面的分布式计算机系统环境的示例性框图;
图2是图1中的内容递送网络中的边缘服务器机器的示例性框图;
图3图示出其中可以实现本公开的安全媒体保护技术的基于http的内容递送体系架构;
图4示出图3中的内容递送体系架构的可替代实施例;
图5图示出本公开的保护技术通过其进行操作的边缘服务器-客户端浏览器交互;
图6图示出本公开的安全媒体保护技术的优选操作;
图7是图示出本技术的各个步骤的UML图;
图8图示出示出ECM消息被如何封装的第一“有效载荷加密”实施例;
图9图示出第二“内容加密”实施例,其示出对于已分段的数据如何封装ECM消息;
图10图示出示出对于MPEG2传输流如何封装ECM消息的第三实施例;以及
图11图示出用于在
Figure BDA00003641784800031
运行时环境中使用的HTTP动态流传输的实施例。
具体实施方式
图1图示出一已知分布式计算机系统,(如下所述)其通过本文中的技术被扩展为提供单个基于HTTP的平台,该单个基于HTTP的平台具有以广播收听规模向最流行的运行时环境和向固定线路环境和移动环境两者中的最新设备递送在线HD视频的能力。
在此代表性实施例中,分布式计算机系统100被配置为内容递送网络(CDN)并且被假定为具有围绕因特网分布的一组机器102a-n。通常,这些机器中的大多数是处于因特网边缘附近(即,处于终端用户接入网络处或与其临近)的服务器。网络操作命令中心(NOCC)104可以用于实行和管理系统中各种机器的操作。第三方站点,诸如网络站点106,将内容(例如,HTML、嵌入式页面对象、流传输媒体、软件下载等)的递送卸载到分布式计算机系统100,并且具体地,卸载到“边缘”服务器。通常,内容提供商通过(例如由DNS CNAME)将给定内容提供商域或子域别名(aliasing)为由服务提供商的权威域名服务管理的域来卸载它们的内容递送。期望这样的内容的终端用户可以被导向到分布式计算机系统来更可靠和更高效地获取该内容。尽管未详细示出,但是分布式计算机系统也可以包括其它基础设施,诸如从边缘服务器收集使用率和其它数据、跨越一个或一组区域聚合该数据,并将该数据传递给其它后端系统110、112、114和116以辅助监视、日志记录、警报、计费、管理和其它的操作性和管理性功能的分布式数据收集系统108。分布式网络代理118监视网络以及服务器负载,并将网络、流量和负载数据提供给DNS查询处理机构115,DNS查询处理机构115针对被CDN管理的内容域是权威的。分布式数据传输机构120可以用于向边缘服务器分发控制信息(例如用于管理内容、辅助负载平衡等的元数据)。
如图2中所示,CDN中的给定机器200(本文中有时称为“边缘机器”)包括运行支持一个或多个应用206a-n的操作系统内核(诸如Linux或变体)204的商用硬件(例如,因特尔奔腾处理器)202。为了辅助内容递送服务,例如,给定机器通常运行一组应用,诸如HTTP代理207、名称服务器208、本地监视进程210、分布式数据收集进程212等等。HTTP代理207包括缓存、以及用于管理该缓存和从边缘机器的内容递送的管理器进程(有时称为全局主机或“ghost”)。对于流传输媒体,机器通常包括由所支持的媒体格式所要求的一个或多个媒体服务器,诸如Windows Media服务器(WMS)或Flash2.0服务器。当被配置为CDN“边缘”机器(或“边缘服务器”)时,图2中示出的机器可以被配置为优选地基于特定域、特定客户,优选地使用通过使用配置系统被分发给边缘服务器的配置文件,来提供一个或多个扩展的内容递送特征。给定配置文件优选是基于XML的,并且包括辅助一个或多个高级内容处理特征的一组内容处理规则和指示。配置文件可以经由数据传输机制被递送给CDN边缘服务器。美国专利No.7,111,057示出了用于递送和管理边缘服务器内容控制信息的有用的基础设施,并且此边缘服务器控制信息和其它边缘服务器控制信息(有时称为“元数据”)可以由CDN服务提供商本身或(经由外联网等)由操作源服务器的内容提供商客户来供应。
CDN可以包括存储子系统(本文中有时称为“存储装置”),诸如美国专利No.7,472,178中记载的存储子系统,该专利的公开通过引用被并入本文。
CDN可以操作服务器缓存层级架构来提供客户内容的中间缓存;在美国专利No.7,376,716中记载了一种这样的缓存层级架构子系统,该专利的公开通过引用被并入本文。
对于实况流传输递送,CDN可以包括实况递送子系统,诸如美国专利No.7,296,082中记载的实况递送子系统,该专利的公开通过引用被并入本文。
2010年8月17日递交的美国申请No.12/858,177记载了上述技术能够被如何扩展为提供集成式基于HTTP的递送平台,该集成式基于HTTP的递送平台用于向最流行的运行时环境和向固定线路环境和移动环境两者中的最新设备提供HD视频质量内容的在线递送。该平台支持“实况”和“点播”内容的递送。
如在申请No.12/858,177中所记载的,以下术语应当具有如下代表性含义。仅为了说明的方便起见,以下(对于实况流传输递送)的描述在Adobe Flash运行时环境的上下文中,但是这不是限制性的,因为针对固定线路和移动两者的其它运行时环境(包括但不限于Microsoft Silverlight、Apple iPhone等等)也可以实现类似类型的解决方案。
编码器是客户拥有的或管理的机器,其取得某些格式下(流传输、卫星等等)的一些原始实况视频馈送并将数据递送到为流传输递送而编码的进入点。进入点(EP)通常是在CDN流传输机器上运行的进程,其从客户的编码器接收视频数据并使得该数据对于实况流的消费者可用。对于Adobe Flash,这是被配置为从编码器接受连接的Flash Media服务器(FMS)。Flash媒体服务器是用于可从Adobe公司获得的Flash媒体的服务器进程。在该实施例中,中间区域(IR)通常是诸如美国专利No.7,296,082和美国专利No.6,751,673中记载的、该CDN已经将其配置为类似于流传输设置反射器(astreaming set reflector)那样工作的Flash媒体服务器。这些机器将流从FMS EP中继到FMS边缘区域,提供扇出(fan out)和路径分集。“区域”通常暗示共址的并且通常通过后端局域网而相互互连以进行负载共享的一组机器(以及他们的相关联的服务器进程)。Flash边缘机器是已经被配置为接受客户端请求的Flash媒体服务器。在代表性实施例中,这是在Flash EP、IR和边缘机器上运行的软件。中间格式(IF)是用于将流数据从EP发送到边缘服务器HTTP代理的(CDN的)内部格式。如以下将更详细地描述的,IF优选包括若干不同的片,包括“流清单”、“片段索引”和“IF片段”。实况、DVR和VOD被定义如下:“实况”是指在事件发生时实时地供应的媒体;“DVR”是指供应从“实况”馈送获得但是在稍后的时间被供应的内容;“VOD”是指从单个完整的(即不是递增地改变的)文件或文件集供应的媒体。实时消息传输协议(RTMP)是Flash使用的流传输和RPC协议。加密的实时消息传输协议(RTMPE)是使用构建到服务器和客户端中的密码的RTMP的加密版本。“SWF”或“小网络格式”是用于Flash客户端应用的格式。SWF验证是指这样一种技术,借助该技术,Flash播放器可以通过发送SWF本身的散列以及嵌入在客户端和服务器中的密码来向FMS证实其正在播放未修改的SWF。
图3图示出如在2010年8月17日递交的申请No.12/858,177中记载的实况流传输递送的体系架构的概览。如在图3中可见,该系统一般被分割成两个独立的层:流记录层300和流播放器层302。(通过流记录层300提供的)记录进程从编码器304向前开始。优选地,即便当前没有观众,流也被记录(因为稍后可能存在DVR请求)。(通过流播放器层302提供的回放进程)播放在给定时刻开始的给定流。因此,“实况流”实际上等同于开始时间为“现在”的“DVR流”。
参考图3,实况流传输进程开始于流从编码器304被递送到进入点306。EP区域(未示出)中的RTMP拉取器组件308(例如,其在基于Linux的机器上运行)被指示去订阅EP306上的流,并且将作为结果产生的数据推送到一个或多个归档器310进程,所述归档器310进程优选在其它机器上运行。如图所述,归档器310之一可以由于跨越归档进程执行群首选举协议(leader election protocol)而操作为“群首”(leader)。优选地,归档器310充当用于实况或接近实况的请求的边缘服务器HTTP代理进程(所述代理进程中的一个在312处示出)的源服务器。边缘服务器HTTP代理312向进行请求的终端用户客户端提供HTTP递送,其中终端用户客户端中的一个是客户端314。“客户端”是包括连接到因特网的适当硬件和软件、至少适用HTTP并且包括内容呈现引擎的设备。客户端设备类型将依据设备是通过固定线路环境还是移动环境连接到因特网而不同。代表性的客户端是计算机,该计算机包括浏览器,浏览器通常带有用于媒体播放器、编解码器等的本机或插件支持。如果使能DVR,则内容优选也被上载到存储子系统316,以使得存储子系统用作如将描述的针对DVR请求的源。
还如图3中所示,内容提供商可以选择递送流的两个副本即主要副本和备份副本,以使得在发生网络或其它问题时流可以以最少的中断继续。优选地,主要流和备份流被视为贯穿该系统上行直到穿过边缘服务器HTTP代理是独立的,优选边缘服务器HTTP代理优选具有如下能力,其在主要流有困难时从主要流转移到备份流,并且反之亦然。
优选使用诸如在美国专利No.6,108,703、No.7,240,100、No.7,293,093和其它美国专利中记载的技术之类的技术,将(来自终端用户客户端314的)内容请求引导到CDN边缘机器HTTP代理312。当HTTP代理312接收到针对给定流的HTTP请求时,HTTP代理312有可能经由缓存层级结构318(例如参见美国专利No.7,376,716和其它美国专利)作出优选由HTTP代理元数据驱动(如在美国专利No.7,240,100、No.7,111,057和其它美国专利中所记载的)的各种请求,来获知和下载流以供应给客户端314。优选地,流传输特定的知识由直接连接到客户端314的边缘机器HTTP代理312处理。(从HTTP代理发布的)任何前进(go-forward)(缓存丢失)请求优选是标准HTTP请求。在一个实施例中,内容作为渐进式下载FLV文件从HTTP代理312被递送至客户端314。如以上注意到的,本文中对Adobe FLV的提及在本文中通过示例使用,这是因为图3中示出的体系架构不限于使用Adobe FLV。对于安全的流,优选地,客户端314首先使用边缘服务器认证技术和/或SWF-验证反向通道来向HTTP代理312进行认证。
当客户端314请求特定的流时,(通常客户端已经经由DNS被引导到的)HTTP代理312通过取回“流清单”开始流传输进程,其中,“流清单”优选仅包含流的缓慢改变的属性以及HTTP代理追踪到实际流内容所需的信息。用于下载该清单的URL优选是从(例如经由图1的分布式数据传输机制)被递送给HTTP代理的元数据确定性地构建的。优选地,清单本身与流清单管理器系统(未示出)相关联地存储和/或存储在存储子系统316中。优选地,流清单描述构成流的各种“轨道”,其中优选地,每个轨道构成比特率和类型的不同组合,其中类型是“音频”、“视频”或“交错式_音频视频”(interleaved_AV)。流清单优选针对每个轨道包括一系列的“indexlnfo”(索引信息)时间范围,其描述对于HTTP代理请求该时间范围的内容所需要的前进URL模板、流特性和各种其它参数。
对于“实况”请求,HTTP代理开始请求相对于“现在”的内容,“现在”一般近似等于边缘机器HTTP代理进程上的时间。给定查找时间,HTTP代理下载“片段索引”(Fragment Index),“片段索引”的名称优选是基于indexlnfo范围中的信息和时间上的查找时间(epoch seek time)而计算的。优选地,片段索引覆盖了给定时间段(例如每几分钟)。通过咨询片段索引,获得“中间格式(IF)片段”号和距该片段的偏移。HTTP代理随后可以开始(例如经由缓存层级结构318或从CDN基础设施内的其它地方)下载文件,跳过在指定偏移之前的数据,并随后从那儿开始(向进行请求的客户端)供应。优选地,针对最优缓存IF片段的大小由HTTP代理确定。一般,除非流清单通过新的indexlnfo范围指明其他方式,对于实况流传输,HTTP代理随后继续从连续编号的IF片段供应数据。
在实况的基于HTTP的递送的上下文中,中间格式(IF)描述用于获取从RTMP拉取器直到边缘机器HTTP代理的数据的流的内部表示。“源”格式(SF)是进入点306提供内容所用的格式,而“目标”格式(TF)是边缘机器HTTP代理312将数据递送给客户端314所用的格式。这些格式不需要是相同的。因此,SF可以不同于TF,即,流可以以FLV格式被获得并以动态的或自适应的(可变比特率)格式被供应。格式是用于递送流的容器;通常,尽管也可以实现不同编解码器之间的代码转换,实际的原始音频和视频组块被认为是不透明数据。只要底层的编解码器被适当管理,通过将格式传递通过HTTP代理(并经由传统的HTTP递送给客户端),用于递送内容的容器可以被改变。
上述体系架构对于特别是通过诸如Flash之类的格式进行的实况流传输是有用的。该平台还可以用于支持视频点播(VOD)。特别地,该解决方案可以提供来自客户和基于存储子系统的源的VOD流传输、提供单比特率和多比特率(SBR和MBR)流传输、提供对以flv和mp4/flv容器存储的源内容的支持(支持的mp4/flv编解码器包括用于音频的AAC、MP3、PCM以及用于视频的H.264),并且使超出终端用户直接请求的内容之外的内容的下载最少。
对于VOD递送,(图3的)流记录器层300优选被翻译层替代。对于使用HTTP的VOD递送,可以(例如通过扫描FLV或解析MP4MOOV原子)来实时动态地从源内容生成片段索引并缓存这些索引。实际数据取回随后可以被实现为直接从边缘区域处的源素材进行的或经由中间翻译(例如通过cache-h父)到中间格式的“部分对象缓存”(POC)取回。部分对象缓存是指HTTP代理仅按照需要获取片段中的内容对象而不是下载整个内容对象的能力。HTTP代理可以缓存这些片段以用于将来的使用,而不是在被从代理供应之后释放它们。以这种方式从其取回内容对象片段的源服务器必须支持HTTP范围请求的使用。
如在2010年8月17日递交的专利申请No.12/858,177中所记载的,通常,VOD内容被卸载以用于HTTP递送到CDN。在第一实施例中,转换工具(脚本)被用来将源内容flv转换成IF,作为结果产生的IF文件随后被上载到存储子系统。在该方法中,元数据被用来让HTTP代理前进到存储子系统以取回流清单,流清单随后参考用于保留内容的存储子系统。在该方法中,mp4/flv的文件首先被转换成flv(例如使用ffmpeg复制模式)来将容器改变为flv。另一种方法是让CDN客户上载原始媒体文件到存储子系统并在那儿运行转换工具。另一可替换选择时让客户(或编码器)直接产生IF中的内容。
翻译层方法被记载在2010年8月17日递交的专利申请No.12/858,177中。在该方法中,点播动态IF生成器取得针对IF的请求(清单、索引和片段)并通过(或者从存储子系统或者从客户源)动态取回flv或mp4/f4v输入文件范围来满足这些请求。从这儿开始,HTTP代理与以上描述的“转换工具”选项实质上相同。生成器机器优选运行其自己的HTTP代理(“翻译器HTTP代理”)来缓存各种输入和输出、以及翻译器进程(以下描述),该翻译器进程(例如从到翻译器HTTP代理的本地主机连接)接受请求并基于经由相关联的缓存进程从HTTP代理取回的数据生成IF。可替代地,翻译器进程可以包括翻译器HTTP代理的一部分,在该情况下,IF生成在代理内发生。片段生成也可以在边缘机器HTTP代理或甚至更下游(到客户端本身内)中执行,例如其中,客户端维护与一个或多个对等客户端的会话连接。
VOD方法的体系架构和请求流程在图4中示出。在该实施例中,翻译层400位于源402(例如客户源或存储子系统或两者)和流播放器层404之间。在代表性实施例中,翻译层在CDN内其自己的部分(例如,Microsoft IIS或等同网络)中执行,优选在专用于此目的的区域中执行。可替换地,翻译器(如下所述)可以在基于HTTP的边缘机器区域的子集上运行。
上述实施例提供对于对象递送利用HTTP边缘网络的格式不可知流传输体系架构。边缘网络可以包括一个或多个安全机构。在代表性实施方式中,如在图5中可见,假定终端用户机器500具有相关联的客户端浏览器502和媒体播放器504。将由媒体播放器呈现的内容可通过网络505从例如如上所述的运行HTTP代理进程(在本文中有时称为“ghost”)508的边缘服务器机器506递送到终端用户机器。如以下将更详细描述的,代理具有优选在元数据控制下加密内容的能力。播放器包括播放器组件510(一个或多个编解码器)和安全性模块(AUTH模块)512。该模块包括用于识别运行的播放器以及安全地将结果传送给边缘服务器的目的的密码散列和加密方法。AUTH模块优选是允许散列计算算法(KDF)的实时变化的可更新的播放器侧插件,不需要播放器运行时的任何播放器补丁。可替换地,AUTH模块可以是与其它播放器代码一体的。作为安全性机制,播放器代码可以经受“播放器验证”操作,该操作提供用于边缘服务器(更一般地,边缘网络)验证播放器实现方式的手段。播放器验证防止未被授权的播放器播放受保护的内容(通常通过深度链接攻击)。播放器验证机制确保播放器以及可选地其贮存的AUTH模块是可信的。这通常通过(例如使用MD5、SHA-1等)对播放器和AUTH模块进行散列来产生用于边缘服务器进行的验证的消息摘要。播放器验证方案还可以(周期性地)测试(在客户端上的)运行的图像来验证安全性代码的存在,并且其可以使AUTH模块模糊。另外,边缘网络通常强制实施边缘“令牌授权”(或令牌认证)方案,该方案提供对终端用户凭证的验证和访问控制的转移。公知的是,令牌授权使用访问控制参数和会话信息的由服务器生成的散列。服务器或者在URL查询串或者在cookie中将令牌传送给播放器。令牌授权方案工作来减轻链路共享或黑客攻击。
当令牌授权和播放器验证提供有用的优势时,可以期望提供另外的内容保护机制。现在描述作为本公开的主题的一种这样的技术。
将保密性扩展到播放器中
上述网络通常使用SSL来在内容从边缘服务器ghost进程流传输到驻存在浏览器中的播放器应用时保护内容。对SSL的这种使用,尽管对于电子商务是有效的,但是并不是被设计用于保护所关心的应用数据不受终端用户的攻击。因此,传递通过终端用户的浏览器上的存储器的数据不受保护。尽管存在例外情形,但是如今的大多数浏览器并不包括安全的存储器或处理器来卸载被流传输的多媒体数据的解密。另外,能够处理匿名的SSL/TLS会话的任何应用可以因为单独的制作未授权的副本的目的而扮演合法浏览器。更糟糕的是,即使合法浏览器也被允许将已解密数据缓存到非易失性存储装置,而使得副本可被任何用户利用浏览器访问进行读取。
因此,高级内容拥有者在他们的内容正被递送给终端用户客户端系统时或在其静止在客户端系统上时保护他们的内容不被黑客偷窃方面面临着巨大的挑战。由于SSL终止于浏览器,而使得内容在缓存中被暴露,所以即使作为渐进式媒体下载的一部分而递送的内容是通过SSL递送的,其在缓存或盘中被暴露。被递送给播放器运行时的高级内容需要在运行时自始至终以及在缓存或盘中时受到保护。本文中所描述的方法在播放器运行时自始至终对内容加密,并且向不需要完全的DRM解决方案及其开销但是仍然需要防止内容在其转运或静止时被未被授权的访问而访问。
本文中所描述的技术将数据保密性扩展到播放器应用中来避开针对递送服务的可伸缩攻击。基本技术工作如下。响应于服务器接收的针对内容部分的请求,服务器生成向会话特定的密钥授予权利的特殊消息并将该特殊消息与该部分相关联,其中从该会话特定密钥可以导出一个或多个解密密钥。解密密钥用于在部分将被播放器呈现时在运行时解密该部分。在递送之前,服务器加密部分来生成已加密片段,并且其随后响应于该请求来供应已加密片段(和该消息)。在客户端处,消息中的信息(通常,令牌保护的URL)用于获取会话特定密钥。使用该密钥,导出解密密钥,并且那些密钥随后用于解密接收的已加密片段。解密发生在运行时。该方法在内容转运到客户端浏览器环境或在其中静止时保护内容。
优选地,以及如将描述的,该方法使用对称密钥加密、临时密钥安装(会话密钥)、基于HMAC的密钥导出、(如以下所定义的)AUTH模块绑定和代码模糊的方面来保护内容不受流录制器录制以及静止数据的复制。该解决方案将内容保护方案移到播放器应用中,将加密维持到回放点。当内容拥有者要求不需要DRM时,该方法提供这样一种保护解决方案,该保护解决方案允许客户以对内容的盗窃和不当使用形成负担得起的、轻量的威慑来货币化内容。具体而言,该方法的保护针对以下行为:针对递送服务的可伸缩攻击、针对加密密钥的可伸缩攻击、可伸缩最后一英里内容篡改、传输级内容解密以及缓存中的静止复制。与传统的DRM系统不同,该方法不需要支持策略的规范或支持离线访问。而是,当客户端开始回放时,通过使用传统的访问参数,各个访问请求被准许或拒绝。当准许访问时,播放器译解针对该播放器的安全性模块被唯一地保护的字节集。
通过以这种方式使用可配置安全性元素的组合,播放器安全性模块接受内容流中提供解密有效载荷所需指令的消息。如将描述的,这些消息用于产生保护明文内容的密钥。消息格式支持组、每个会话、和共享密钥安装以及基本有效载荷加密(例如,用于诸如
Figure BDA00003641784800141
Figure BDA00003641784800142
的某些媒体格式)和容器加密(例如,用于某些其它媒体格式,诸如
Figure BDA00003641784800145
Figure BDA00003641784800146
)。然而,与DRM方案不同,消息本身不需要包含密钥,并且他们不需要携带策略信息。而是,优选地,消息通过条件访问向通过在该消息中的URL引用的会话特定密钥授予权利。以这种方式,优选针对内容的每个部分,对会话密钥的访问需要有效边缘认证令牌。连同在消息的受保护部分中允许的某些控制字,该技术允许系统更频繁地切换密钥,使持续攻破的风险较低。这通过使用一组可更新密钥导出函数和元数据配置参数来提供。
本公开的安全媒体内容保护机制保护在去往播放器的途中的内容不被窃取。如果期望,可以使用端到端加密(诸如经由SSL)来保护从服务器外出到客户端浏览器的数据。此加密防止网络分组捕获从内容被导向的播放器分离内容。
图6图示出基本方法。在步骤600,通常播放器被加载在客户端浏览器或其它呈现引擎中,并向运行http代理(ghost)的边缘服务器发出针对内容清单的请求,http代理(ghost)被供应用于提供期望的功能性。在步骤602,接收到请求的http代理执行授权检查;如果检查通过,则该代理建立并向进行请求的播放器供应包括该清单的响应。播放器随后读取清单并请求期望内容的第一片段。这是步骤604。通常,“片段”表示以离散比特率的可配置长度的连续视频和音频数据的时间片。播放器请求(在步骤604生成)被边缘服务器http代理接收。边缘服务器执行另一授权检查;如果检查成功,则边缘服务器代理加密片段。这是步骤606。在步骤608,边缘服务器代理以一消息封装已加密第一片段,该消息称为授权控制消息(ECM);如将看见的,该消息被用于提供解密其余有效载荷(即视频和/或音频内容)所需的指令。特别地,该消息用于产生保护明文内容的密钥;然而,ECM不需要包括实际的密钥。而是,ECM通过条件访问向的会话特定密钥授予权利,优选地,通过该消息中的URL的引用。(尽管不要求,但是优选清单和内容片段(URL)是受令牌保护的)。在步骤610,边缘服务器代理供应已加密片段(其已用ECM封装)。在步骤612,播放器从片段读取ECM。播放器随后向边缘服务器代理作出另一请求来请求会话密钥。这是步骤614。在步骤616,边缘服务器代理执行另一授权检查;如果检查通过,则边缘服务器创建会话密钥。在步骤618,会话密钥被发送给客户端。在步骤620,播放器解密片段,并且在步骤622,播放器播放(呈现)片段。这完成基本操作。
图7是图示出用于基于Flash的播放器的上述方案的基本操作的UML图。在该图中,Flash播放器700与边缘网络服务器代理702(Ghost)交互。内容本身可以在其已经被内容提供商706(内容网站)上载到边缘网络数据存储系统704(NetStorage)之后从那儿获取。步骤1将内容上载到服务提供商。步骤2辅助令牌授权,并且步骤3可以涉及播放器验证。步骤4-15对应于之前描述的安全媒体保护方案。
ECM和密钥
以下术语在本文档的上下文中具有具体含义。
临时密钥:本质上是临时的密钥。
会话密钥:用于导出一个或多个加密密钥的临时值。
内容加密密钥:用于保护节目数据的临时实例的临时密钥。该密钥是借助密钥导出函数从会话密钥导出的。
ECM加密密钥:用于保护ECM结构的临时密钥。该密钥是借助密钥导出函数从会话密钥导出的。
授权控制消息(ECM):用于从q服务器/头端向q客户端/播放器递送访问标准和加密参数的数据结构。
条件访问:基于回放时的订户/用户权利状况来控制对受保护资源的访问的手段。
一般,该技术涉及起源于在播放器中执行或与播放器关联地执行的可更新安全性模块(AUTH)的内容加密。该技术的特征还在于通过授权控制消息传送、有效载荷加密和密钥管理的形式进行的轻量条件访问功能性。优选地,在被形成并被用来将CDN特定的访问标准(加密参数)运载到AUTH模块的数据结构中携带该实现方式中的控制消息。优选地,每个授权控制消息(ECM)与其保护的内容复用,并且其进一步以使得仅被授权访问该内容的所供应播放器被允许加密和播放该流的方式而受到保护。
该系统的主要部分被包括在边缘服务器ghost进程和播放器AUTH模块的以下特征中。
●内容加扰(GHost和播放器AUTH)
○授权控制消息(ECM)
○有效载荷加密
○容器加密
●密钥管理服务
○服务器(GHost)
-密钥管理:会话密钥生成器
-加密配置元数据
-密钥导出函数
-会话管理
○客户端(播放器AUTH)
-对会话密钥的请求
-密钥导出函数
如以上参考图6或图7所述,内容请求由边缘服务器ghost进程处理,边缘服务器ghost进程针对某些内容形式,返回描述对于VOD文件或实况事件所需要的部分的文件。每个部分表示以离散比特率的可配置长度的连续视频和音频数据的时间片。当播放器准备好开始回放时,其请求如在清单中识别的文件的片段,并随后等待带有被请求的数据的响应。当本公开的技术被使能时,ghost进程准备ECM并且针对每个配置元数据,加密供递送给播放器的响应。依赖于操作的模式,ECM可以置于媒体容器(有效载荷加密)内、被带外递送或被加前缀到已加密片段(内容加密)。有效载荷加密对敏感性编解码数据进行加扰,将关心的数据周围的信息留作明文。该方法在图8中示出。优选地,使用空间对齐来使ECM与已加扰数据同步,ECM被立即插入在其保护的数据之前。对于分段的数据,诸如Adobe Flash,优选地,ECM被插入到在FLV标签报头之后但是在已加密数据的第一字节之前的定制报头中。该方法在图9中示出。对于本机MPEG2传输流,优选地,ECM驻存在使用在节目地图表(PMT)中定义的分组id(PID)而被分离地复用的传输流(TS)中。该方法在图10中示出。已加扰分组通常具有被适当设置的TS报头的传输加扰控制比特。容器加密将数据视为向其添加前缀的不透明二进制大型对象(blob)和ECM。在该模式中,优选所有容器信息连同节目数据(音频/视频)被一起加扰。
图11图示出在
Figure BDA00003641784800171
运行时环境中使用的HTTP动态流传输的实施例。该实施例仅仅是代表性的。
为了辅助加密密钥管理,在一个实施例中,边缘服务器ghost进程针对被递送给客户端的内容的每个片段使用唯一的临时密钥。该密钥和内容两者优选来自ghost进程的同一实例,并且加密会话状态优选被本地存储。为了防止访问滥用,可以使用边缘令牌化以及SSL/TLS来在(从边缘服务器到客户端的)实际传输期间保护保密性。
当播放器发起部分请求时,接收到该请求的ghost进程创建加密会话对象来存储临时密钥和跟踪加密状态所需要的其它会话上下文信息。这些加密会话对象随后被存储在内部会话表中,被用会话id串进行密钥安装,并被保留直到会话结束或超时。优选地,会话对象具有有限的寿命并且将自然地导致会话密钥的重新协商。如果播放器与一些其它用户共享其会话id,则可以使用令牌认证来限制并发访问的滥用。
当客户端解析ECM时,其遇到到会话密钥的URL。该URL通常指向https资源,但是优选地,其包括用于保护资源不受几种普通形式的未授权访问的短期边缘认证令牌。
在播放器内,AUTH模块负责解析ECM,下载适当的密钥安装材料,解密数据并将数据传递给编解码器以用于回放。优选地,AUTH模块包括若干密钥导出函数,其中,当给定会话特定的会话密钥时,密钥导出函数产生解密和验证数据完整性所需要的密钥集。优选地,该模块是动态加载的代码,该代码是或能够与播放器分离地下载到客户端。该模块可以使用模糊被隐匿,并且在一些情况下,可以在攻破的刹那间被改变。对该模块的任何修改导致播放器验证签名和播放器引导进程的改变。
密钥导出函数是许多密码系统的构造块。假定在客户端和服务器之间缺少强大的相互认证,并且在客户端上不存在可靠的存储装置,则在客户端和服务器之间共享内容密钥是不期望的。为了减轻通过到不值得信任的客户端的不安全的信道进行密钥交换所涉及的风险,所描述的技术优选使用利用已模糊密码的HMAC密钥导出函数,其在给定会话密钥(K_SESSION)和其它参数时,可以计算或者ECM密钥(K_ECM)、内容密钥(K_CONTENT)或HMAC混淆(SALT)。所选择的KDF实现方式是在因特网RFC5869中找到的HKDF。
优选的实现方式(针对各个实施例的图8至图10)定义采用会话密钥和ECM数据的三个函数(KDF1、KDF2和KDF3)。KDF1和KDF2用于导出K_ECM和K_CONTENT,并且KDF3用于导出用于HMAC的SALT。
本公开的优选方法使用内容加扰、密钥管理和配置元数据的组合来使能用于支持HTTP的客户端的轻量保护方案。在该部分中,建立内容加扰的基本要求,详细描述授权控制消息并且有效载荷加密与该结构绑定到一起。
在多数内容保护方案中,关心的数据(音频/视频)和访问控制信息(访问标准)分开存储。尽管访问标准的实现方式可以根据方案不同而不同,但是多数包括对加密密钥、特定解密控制字/指令以及在某些情况下诸如评级/道德级别之类的策略和家长控制的参考。依据访问标准受到怎样的保护、其传递的权限以及它们被如何传递,相关的信息可以被存储在DRM许可、ECM、清单或索引/播放列表(m3u8)文件之一中。选择使用哪种方案随着内容权限、运行时要求和播放器能力而变化。一般,DRM许可是最全功能的实现方式,之后为ECM,其中清单和索引文件是货币化的内容分发中最普通的。影响决策制定过程的因素包括内容的感知值、对离线回放的支持、硬件支持(TPM、安全解码路径、安全密钥阶梯、安全id等)和内容拥有者要求。ECM传统上在看起来比较低程度的总体复杂度比DRM许可供应更少的特征。同时,ECM供应对消息间隔的间隔尺寸的资源控制,同时采用更少的资源进行生成和消耗。
如以上注意到的,授权控制消息或ECM是用于从服务器/头端向客户端/播放器递送访问标准和加密参数的数据结构。优选地,该消息被完全包括在第一响应中,并且在会话期间以缩写形式被重复。当客户端被授权播放该流时,其获得由ECM识别的会话密钥,导出必要的保护密钥(K_ECM和K_CONTENT)并且开始解密。优选地,授权控制消息被分裂成两半。第一半是公众可访问的并且包含客户端用来获取会话密钥和导出保护密钥的信息。该结构的公共部分以版本字段开始,之后为4比特消息类型、16比特KDF版本、128比特初始化向量,并且以可变长度的空值结束的URL串结束。ECM的第二半使用K_ECM加密,并且其包含用于解密媒体有效载荷数据的参数。ECM的私有部分通过使用K_ECM、使用ECM消息类型中的第4比特中指定的类型的密码、将已加密CRC16的第一字节通过已加密HMAC的最后一个字节作为输入传递给解密方法而被解密。
优选地,数据的每个已加密部分将包括ECM。对用于已加密数据的每个请求的第一响应将包括具有公共和私有部分的ECM、以及到唯一会话密钥的URL。所描述的方法基于边缘认证令牌的有效性和任何支持的基于源的认证来向会话密钥准予播放器条件访问。可替换实现方式可以包括对用于与DECE联合的SAML委托的支持,或对用于与垂直应用的OAUTH和其它SSO技术集成的支持。
来自配置元数据的加密参数和其它服务器信息被服务器复制到ECM中并且被客户端从ECM读取。客户端负责获取适当的会话密钥,加载正确的认证模块并导出对于解密位于CEM的私有部分中的“访问标准”所需要的K_ECM。
在有效载荷加密模式中,仅媒体数据(MDAT)盒内的音频和视频数据被加密。有效载荷加密在加密和解密期间需要额外的解析,但是每单元加密较少的总字节。在容器加密模式中,来自输入媒体片段的全部字节被加密,CEM随后作为前缀加到HTTP响应的开头。在该操作模式中,有效载荷(视频/音频基本流数据)和周围数据两者都与类型无关地被加密。该模式的优点在于其不需要复杂的解析,后续的开发和维护更加简单。
存在可供选择用于已加密数据的各种密码。最适当的选择将需要再期望的密码强度、数据的时间属性和吞吐量要求之间进行折中。在一个实施例中,密码是AES,但是这不是限制性的,因为实现方式支持适配客户端和服务器的运行时环境内的任何密码。
优选地,对于每个部分,唯一的K_ECM和K_CONTENT是使用对应的KDF、工作会话密钥和ECM中包含的额外信息来导出的。这有助于避免公知的攻击,产生新密钥的稳定流和使能使用会话密钥的不频繁的下载来对部分进行随机访问。
密钥管理服务(KMS)提供到密钥导出函数的接口。其包含用于生成会话密钥、导出保护密钥、取回消息认证码SALT以及验证给定消息的HMAC的例程。如以上注意到的,优选地,在服务器侧生成的信息通过令牌认证被保护并且使用服务器侧会话对象被引用。KMS的服务器实现方式优选地生成强大的随机数,并且其提供用于将会话密钥变换成ECM密钥、内容加密密钥或SALT的功能。KMS的客户端实现方式优选地支持密钥导出和HMAC验证器,并且其在客户端AUTH模块中实现,并且其在运行时通过动态加载被加载。
每个以上所述的过程优选地在计算机软件中作为在一个或多个处理器中可执行的程序指令集实现而作为专用机器。
在其上提供该主题的代表性机器可以是运行Linux或Linux变体操作系统和一个或多个引用来执行所述功能性的基于因特尔奔腾的计算机。以上描述的过程中的一个或多个被实现为用于执行所述功能性的计算机程序,即计算机指令集。
尽管以上描述了通过本发明的某些实施例执行的特定顺序的操作,但是应当理解,该顺序是示例性的,因为可替代实施例可以以不同的顺序执行操作,组合某些操作,重叠某些操作等。说明书中对给定实施例的提及指示所述实施例可以包括特定特征、结构或特点,但是每个实施例可以不是必须包括该特定特征、结构或特点。
尽管已经在方法或过程的上下文中描述了所公开的主题,但是该主题还涉及用于执行本文中的操作的设备。该设备可以是特定的机器,其被专门构建用于所需用途,或其可以包括以其他方式通过存储在计算机中的计算机程序而被选择性地激活或重新配置的计算机。这样的计算机程序可以存储在计算机可读存储介质中,计算机可读存储介质诸如但不限于是任何类型的盘,包括光盘、CD-ROM、磁光盘、只读存储器(ROM)、随机访问存储器(RAM)、磁卡或光卡或适合于存储电子指令的任意类型的介质,并且每一个都被耦合到计算机系统总线。本发明的给定实现方式是以给定编程语言编写的软件,该软件协同运行诸如Linux之类的操作系统的标准因特尔硬件平台上的DNS兼容的名称服务器(例如BIND)而运行。该功能性可以被内建到名称服务器代码中,或其可以作为该代码的附件被执行。实现本文中的技术的机器包括处理器、计算机存储器,计算机存储器保存被处理器执行来执行上述方法的指令。
尽管系统的给定组件已经被分开描述,但是本领域普通技术人员将明白,这些功能中的一些可以在给定指令、程序序列、代码部分等中被组合或共享。
尽管系统的给定组件已经被分开描述,但是本领域普通技术人员将明白,这些功能中的一些可以在给定指令、程序序列、代码部分等中被组合或共享。本文中所描述的任何应用或功能性都可以通过提供到另一应用中的钩子(hook),通过辅助机器用作插件,通过链接到机器等被实现为本机代码。
已经描述了本发明,要求保护的内容如下。

Claims (12)

1.一种边缘网络服务器设备,包括:
处理器;
计算机存储器,所述计算机存储器保持被所述处理器执行来执行内容保护方法的计算机程序指令,所述方法包括:
响应于针对内容的部分的请求,生成向会话特定密钥授予权利的授权控制消息(ECM),并将所述授权控制消息与所述部分相关联,一个或多个解密密钥适于从会话特定密钥导出,所述解密密钥适于用来在所述部分将要被客户端播放器呈现时在运行时对所述部分进行解密;
将所述内容的部分进行加密来创建已加密片段;以及
响应于所述请求而供应所述已加密片段和所述授权控制消息。
2.如权利要求1所述的设备,其中,所述授权控制消息包括到所述会话特定密钥的URL以及与密码方案相关联的至少一个参数,所述解密密钥与所述密码方案相关联。
3.如权利要求1所述的设备,其中,所述URL处于所述授权控制消息的第一部分中,并且所述至少一个参数处于所述授权控制消息的第二部分中。
4.如权利要求3所述的设备,其中,所述授权控制消息的第一部分是公共的,并且所述授权控制消息的第二部分是私有的,所述至少一个参数通过用于保护所述授权控制消息的临时密钥被加密。
5.如权利要求1所述的设备,其中,所述内容的部分表示以离散比特率可配置长度的连续视频和音频数据的时间片。
6.如权利要求1所述的设备,其中,所述授权控制消息通过布置在媒体容器内而被与所述内容的部分相关联。
7.如权利要求1所述的设备,其中,所述授权控制消息通过布置在客户报头内在已加密片段的第一字节之前而被与所述内容的部分相关联。
8.如权利要求1所述的设备,其中,所述授权控制消息通过布置在不同的复用的传输流中而被与所述内容的部分相关联。
9.如权利要求1所述的设备,其中,所述方法还包括创建用于存储密钥和会话上下文信息的密钥会话对象,以跟踪所述内容的部分的加密状态。
10.如权利要求1所述的设备,其中,所述会话特定密钥和所述一个或多个解密密钥在所述授权控制消息的外部。
11.如权利要求1所述的设备,其中,对所述会话特定密钥的访问要求用于所述内容的部分的有效令牌。
12.一种客户端设备,包括:
处理器;
播放器代码;
计算机存储器,所述计算机存储器保持由处理器执行来执行内容保护方法的计算机程序指令,所述方法包括:
生成针对内容的部分的请求;
接收已加密片段,所述已加密片段具有与之相关联的授权控制消息(ECM),所述授权控制消息向会话特定密钥授予权利,一个或多个解密密钥适于从所述会话特定密钥导出;
使用所述授权控制消息中的信息来获取所述会话特定密钥;
从所述会话特定密钥导出所述一个或多个解密密钥;
使用所述一个或多个解密密钥来对接收的已加密片段进行解密,所述解密在所述部分将要被所述播放器代码呈现时在运行时发生。
CN201180067167.4A 2010-12-31 2011-12-29 将数据保密性扩展到播放器应用中 Active CN103355000B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201061428893P 2010-12-31 2010-12-31
US61/428,893 2010-12-31
PCT/US2011/067719 WO2012092423A2 (en) 2010-12-31 2011-12-29 Extending data confidentiality into a player application
US13/339,492 2011-12-29
US13/339,492 US8873751B2 (en) 2010-12-31 2011-12-29 Extending data confidentiality into a player application

Publications (2)

Publication Number Publication Date
CN103355000A true CN103355000A (zh) 2013-10-16
CN103355000B CN103355000B (zh) 2017-03-01

Family

ID=46383855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180067167.4A Active CN103355000B (zh) 2010-12-31 2011-12-29 将数据保密性扩展到播放器应用中

Country Status (4)

Country Link
US (3) US8873751B2 (zh)
EP (1) EP2659423A4 (zh)
CN (1) CN103355000B (zh)
WO (1) WO2012092423A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107979783A (zh) * 2016-10-25 2018-05-01 杭州海康威视数字技术股份有限公司 一种流式数据解析方法、装置及电子设备
CN108200452A (zh) * 2018-01-15 2018-06-22 网易(杭州)网络有限公司 一种防止下载的web视频在线播放系统及其控制方法

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2755774C (en) * 2009-03-19 2015-01-06 Azuki Systems, Inc. Method for scalable live streaming delivery for mobile audiences
WO2010111261A1 (en) * 2009-03-23 2010-09-30 Azuki Systems, Inc. Method and system for efficient streaming video dynamic rate adaptation
US8626876B1 (en) * 2012-11-28 2014-01-07 Limelight Networks, Inc. Intermediate content processing for content delivery networks
US8769614B1 (en) 2009-12-29 2014-07-01 Akamai Technologies, Inc. Security framework for HTTP streaming architecture
PL2774400T3 (pl) * 2011-11-01 2020-03-31 Savox Communications Oy Ab (Ltd) Sprzęt komunikacyjny do bezpiecznej komunikacji
US9043866B2 (en) 2011-11-14 2015-05-26 Wave Systems Corp. Security systems and methods for encoding and decoding digital content
US9015857B2 (en) * 2011-11-14 2015-04-21 Wave Systems Corp. Security systems and methods for encoding and decoding digital content
US9047489B2 (en) 2011-11-14 2015-06-02 Wave Systems Corp. Security systems and methods for social networking
US8983076B2 (en) * 2011-12-22 2015-03-17 Adobe Systems Incorporated Methods and apparatus for key delivery in HTTP live streaming
KR101501344B1 (ko) * 2012-05-02 2015-03-10 삼성전자주식회사 멀티미디어 서비스 송수신 방법 및 장치
US10382202B1 (en) * 2012-09-28 2019-08-13 EMC IP Holding Company LLC Method and apparatus for federated identity and authentication services
US9607132B2 (en) * 2012-10-22 2017-03-28 Koninklijke Kpn N.V. Token-based validation method for segmented content delivery
US10565394B2 (en) 2012-10-25 2020-02-18 Verisign, Inc. Privacy—preserving data querying with authenticated denial of existence
US9202079B2 (en) * 2012-10-25 2015-12-01 Verisign, Inc. Privacy preserving data querying
US9479805B2 (en) 2013-02-15 2016-10-25 Cox Communications, Inc. Entitlement validation and quality control of content in a cloud-enabled network-based digital video recorder
US9450934B2 (en) 2013-03-15 2016-09-20 Cox Communications, Inc. Managed access to content and services
WO2014144531A1 (en) * 2013-03-15 2014-09-18 General Instrument Corporation Method and apparatus for secure storage and retrieval of live off disk media programs
US9317677B1 (en) * 2013-05-24 2016-04-19 Inkling Systems, Inc. Access control for content delivery networks
US9665883B2 (en) * 2013-09-13 2017-05-30 Acxiom Corporation Apparatus and method for bringing offline data online while protecting consumer privacy
IL228523A0 (en) * 2013-09-17 2014-03-31 Nds Ltd Processing private data in a cloud-based environment
US9887837B2 (en) * 2013-10-31 2018-02-06 Verimatrix, Inc. System and method for synchronized key derivation across multiple conditional access servers
CN106030542A (zh) 2014-02-19 2016-10-12 第三雷沃通讯有限责任公司 代理服务器故障转移和负载集群
US9575734B2 (en) * 2014-03-28 2017-02-21 Wipro Limited System and method for improved light-weight business process modeling in offline mode using browser resources
US9773117B2 (en) 2014-06-04 2017-09-26 Microsoft Technology Licensing, Llc Dissolvable protection of candidate sensitive data items
US10477260B2 (en) 2014-10-17 2019-11-12 Cox Communications, Inc. Network based digital video recorder playback adapter
JP2016085641A (ja) * 2014-10-27 2016-05-19 キヤノン株式会社 権限移譲システム、権限移譲システムにて実行される方法、およびそのプログラム
US9781084B2 (en) 2015-01-23 2017-10-03 Arris Enterprises Llc Reducing start-up delay in streaming media sessions
US10581944B2 (en) * 2015-01-23 2020-03-03 Telefonaktiebolaget Lm Ericsson (Publ) Transmission resource distribution for streaming of variable bitrate encoded media data
US10097557B2 (en) * 2015-10-01 2018-10-09 Lam Research Corporation Virtual collaboration systems and methods
US10218698B2 (en) * 2015-10-29 2019-02-26 Verizon Patent And Licensing Inc. Using a mobile device number (MDN) service in multifactor authentication
US9923929B2 (en) * 2015-11-20 2018-03-20 Nasdaq, Inc. Systems and methods for in-session refresh of entitlements associated with web applications
WO2017106793A1 (en) * 2015-12-16 2017-06-22 Visa International Service Association Systems and methods for secure multi-party communications using a proxy
US9942577B1 (en) * 2016-02-23 2018-04-10 Amazon Technologies, Inc. Dynamic objects caching for media content playback
CN105847238B (zh) * 2016-03-16 2018-07-17 杭州狮说教育科技有限公司 一种基于rtmp连接的数据安全传输方法
US10225238B2 (en) * 2016-04-11 2019-03-05 Facebook, Inc. Data security for content delivery networks
US10474745B1 (en) 2016-04-27 2019-11-12 Google Llc Systems and methods for a knowledge-based form creation platform
US11039181B1 (en) * 2016-05-09 2021-06-15 Google Llc Method and apparatus for secure video manifest/playlist generation and playback
US10595054B2 (en) 2016-05-10 2020-03-17 Google Llc Method and apparatus for a virtual online video channel
US10785508B2 (en) 2016-05-10 2020-09-22 Google Llc System for measuring video playback events using a server generated manifest/playlist
US11069378B1 (en) 2016-05-10 2021-07-20 Google Llc Method and apparatus for frame accurate high resolution video editing in cloud using live video streams
US10750248B1 (en) 2016-05-10 2020-08-18 Google Llc Method and apparatus for server-side content delivery network switching
US10750216B1 (en) 2016-05-10 2020-08-18 Google Llc Method and apparatus for providing peer-to-peer content delivery
US10771824B1 (en) 2016-05-10 2020-09-08 Google Llc System for managing video playback using a server generated manifest/playlist
US11032588B2 (en) 2016-05-16 2021-06-08 Google Llc Method and apparatus for spatial enhanced adaptive bitrate live streaming for 360 degree video playback
US10375030B2 (en) 2016-06-24 2019-08-06 Combined Conditional Access Development & Support Initialization encryption for streaming content
TWI616095B (zh) * 2016-08-26 2018-02-21 配信裝置、配信系統、配信方法、電子機器、播放裝置及接收程式
CN107707514B (zh) * 2017-02-08 2018-08-21 贵州白山云科技有限公司 一种用于cdn节点间加密的方法及系统及装置
US10142684B2 (en) 2017-03-21 2018-11-27 Cisco Technology, Inc. Pinning encryption metadata to segment URIs
WO2019123273A1 (en) * 2017-12-18 2019-06-27 Telefonaktiebolaget Lm Ericsson (Publ) Virtual edge node as a service
JP6408180B1 (ja) * 2018-03-20 2018-10-17 ヤフー株式会社 端末制御プログラム、端末装置および端末制御方法
US11362824B2 (en) * 2018-05-25 2022-06-14 Intertrust Technologies Corporation Content management systems and methods using proxy reencryption
GB2575032B (en) * 2018-06-22 2022-01-12 Samsung Electronics Co Ltd Apparatus, systems and methods for accessing CAS protected content
US11019034B2 (en) 2018-11-16 2021-05-25 Akamai Technologies, Inc. Systems and methods for proxying encrypted traffic to protect origin servers from internet threats
US20230188810A1 (en) * 2021-12-09 2023-06-15 Synamedia Vividtec Holdings, Inc. Systems and methods for transporting data over content delivery networks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020170053A1 (en) * 2000-10-26 2002-11-14 General Instrument, Inc. ECM and EMM distribution for multimedia multicast content
CN1471771A (zh) * 2001-03-29 2004-01-28 ���µ�����ҵ��ʽ���� 通过对数据加密来保护数据的数据保护系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6005938A (en) * 1996-12-16 1999-12-21 Scientific-Atlanta, Inc. Preventing replay attacks on digital information distributed by network service providers
WO2002007378A1 (en) * 2000-07-14 2002-01-24 Irdeto Access B.V. Secure packet-based data broadcasting architecture
US20020083438A1 (en) 2000-10-26 2002-06-27 So Nicol Chung Pang System for securely delivering encrypted content on demand with access contrl
US7181010B2 (en) * 2002-05-24 2007-02-20 Scientific-Atlanta, Inc. Apparatus for entitling remote client devices
US20040083177A1 (en) 2002-10-29 2004-04-29 General Instrument Corporation Method and apparatus for pre-encrypting VOD material with a changing cryptographic key
US20040181811A1 (en) * 2003-03-13 2004-09-16 Rakib Selim Shlomo Thin DOCSIS in-band management for interactive HFC service delivery
EP1616401A4 (en) * 2003-04-21 2012-01-04 Rgb Networks Inc TIME-MULTIPROUGH MULTIPROGRAM ENCRYPTION SYSTEM
US20060031873A1 (en) * 2004-08-09 2006-02-09 Comcast Cable Holdings, Llc System and method for reduced hierarchy key management
US8325920B2 (en) * 2006-04-20 2012-12-04 Google Inc. Enabling transferable entitlements between networked devices
US7970138B2 (en) * 2006-05-26 2011-06-28 Syphermedia International Method and apparatus for supporting broadcast efficiency and security enhancements
US8948394B2 (en) * 2007-02-28 2015-02-03 Google Technology Holdings LLC Method and apparatus for distribution and synchronization of cryptographic context information
RU2339077C1 (ru) * 2007-03-13 2008-11-20 Олег Вениаминович Сахаров Способ функционирования системы условного доступа для применения в компьютерных сетях и система для его осуществления
CN101132408B (zh) 2007-08-16 2010-07-21 华为技术有限公司 流媒体内容的处理方法、设备及系统
EP2273405A1 (en) * 2009-07-07 2011-01-12 Irdeto Access B.V. Processing recordable content in a stream
EP2280544A1 (en) * 2009-07-07 2011-02-02 Irdeto Access B.V. Secure transmition and recording of a content

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020170053A1 (en) * 2000-10-26 2002-11-14 General Instrument, Inc. ECM and EMM distribution for multimedia multicast content
CN1471771A (zh) * 2001-03-29 2004-01-28 ���µ�����ҵ��ʽ���� 通过对数据加密来保护数据的数据保护系统
US20100034388A1 (en) * 2001-03-29 2010-02-11 Toshihisa Nakano Data protection system that protects data by encrypting the data

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107979783A (zh) * 2016-10-25 2018-05-01 杭州海康威视数字技术股份有限公司 一种流式数据解析方法、装置及电子设备
CN107979783B (zh) * 2016-10-25 2020-03-24 杭州海康威视数字技术股份有限公司 一种流式数据解析方法、装置及电子设备
CN108200452A (zh) * 2018-01-15 2018-06-22 网易(杭州)网络有限公司 一种防止下载的web视频在线播放系统及其控制方法
CN108200452B (zh) * 2018-01-15 2020-08-18 网易(杭州)网络有限公司 一种防止下载的web视频在线播放系统及其控制方法

Also Published As

Publication number Publication date
WO2012092423A3 (en) 2012-10-26
EP2659423A2 (en) 2013-11-06
US20120275597A1 (en) 2012-11-01
US9608806B2 (en) 2017-03-28
US10698985B2 (en) 2020-06-30
US8873751B2 (en) 2014-10-28
US20170199988A1 (en) 2017-07-13
EP2659423A4 (en) 2014-09-17
WO2012092423A2 (en) 2012-07-05
CN103355000B (zh) 2017-03-01
US20150046714A1 (en) 2015-02-12

Similar Documents

Publication Publication Date Title
CN103355000B (zh) 将数据保密性扩展到播放器应用中
US20230042354A1 (en) Method and system for secure over-the-top live video delivery
US20230214459A1 (en) Digital rights management for http-based media streaming
US9026782B2 (en) Token-based entitlement verification for streaming media decryption
KR101965273B1 (ko) 적응성 스트리밍을 위한 토큰 기반 인증 및 권한부여 정보 시그널링 및 교환
US8752194B2 (en) Progressive download or streaming of digital media securely through a localized container and communication protocol proxy
KR101067616B1 (ko) 콘텐츠 배포 시스템에서 다수의 콘텐츠 단편을 갖는 미디어 저장 구조의 사용
US20160198202A1 (en) Digital Rights Management for Segmented Content
CN107707504B (zh) 一种流媒体的播放方法、系统以及服务器和客户端
CN103229186B (zh) 数字权利管理服务提供方法和设备
EP2829073B1 (en) Controlling access to ip streaming content
WO2011011444A1 (en) Off-line content delivery system with layered encryption
TWI539804B (zh) 受保護的多媒體內容到終端的供應方法
US11880475B2 (en) Secure fast channel change

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant