`US008789196B2
`
`c12) United States Patent
`Pestoni et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8,789,196 B2
`Jul. 22, 2014
`
`(54) SYSTEM AND METHOD FOR PROVIDING
`CONTENT PROTECTION OF LINEARLY
`CONSUMED CONTENT WITH A
`BIDIRECTIONAL PROTOCOL FOR LICENSE
`ACQUISITION
`
`(75)
`
`Inventors: Florian Pestoni, Mountain View, CA
`(US); Sunil C. Agrawal, Milpitas, CA
`(US); Viswanathan Swaminathan,
`Fremont, CA (US)
`
`(73) Assignee: Adobe Systems Incorporated, San Jose,
`CA(US)
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 412 days.
`
`USPC ............................................. 380/210; 726/26
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`6,873,975 Bl *
`6,915,425 B2 *
`7,050,583 B2
`7,299,209 B2 *
`
`3/2005 Hatakeyama et al ........... 705/51
`7/2005 Xu et al. ....................... 713/165
`5/2006 Montgomery
`11/2007 Collier ........................... 705/59
`(Continued)
`
`OTHER PUBLICATIONS
`
`Content Protection for IPTV-current state of the art and challenges;
`Zhang Hua, Chen Chunxiao, Zhao Li, Yang Shiqiang, Zhou Lizhu;
`IMACS Multiconference on "Computational Engineering in Sys(cid:173)
`tems Applications"(CESA), Oct. 4-6, 2006, Beijing, China.*
`
`(21) Appl. No.: 12n90,529
`
`(22) Filed:
`
`May 28, 2010
`
`(65)
`
`(51)
`
`(52)
`
`(58)
`
`Prior Publication Data
`
`US 2013/0121489 Al
`
`May 16, 2013
`
`(2006.01)
`(2011.01)
`(2006.01)
`(2011.01)
`(2011.01)
`(2011.01)
`
`Int. Cl.
`H04L29/06
`H04N 21/8355
`H04L 9/08
`H04N21/845
`H04N 2114627
`H04N 2112347
`U.S. Cl.
`CPC .............. H04L 9/0822 (2013.01); H04L 63/10
`(2013.01); H04L 63/06 (2013.01); H04N
`21/8355 (2013.01); H04L 2209/603 (2013.01);
`H04N 21/8456 (2013.01); H04N 2114627
`(2013.01); H04L 2463/101 (2013.01); H04N
`2112347 (2013.01)
`USPC ............................................. 726/26; 380/210
`Field of Classification Search
`CPC ............ G06F 21/10; G06F 2221/2107; G06F
`2221/0753; H04N 21/2541; H04L 2463/101
`
`(Continued)
`
`Primary Examiner - Luu Pham
`James Turchen
`Assistant Examiner
`(74) Attorney, Agent, or Firm Wolfe-SBMC
`
`ABSTRACT
`(57)
`Embodiments may include a content provider system config(cid:173)
`ured to provide electronic content that includes multiple
`encrypted content items to a playback device. A playback
`device may be configured to acquire root licenses and/or
`content licenses from a license server; such licenses may
`cryptographically protect the content items that a playback
`device receives from a content provider system. In various
`embodiments, the electronic content may be content that is to
`be linearly consumed, such as a channel within a broadcast
`environment. In various embodiments, the playback device
`may explicitly request a license for one or more of the content
`items that it receives; such request may be issued to a license
`server. The license server may evaluate the request and
`respond to the playback device with the license for a content
`item. In various embodiments, the playback device may uti(cid:173)
`lize the received license to decrypt and consume the respec(cid:173)
`tive content item.
`
`24 Claims, 8 Drawing Sheets
`
`I
`
`license server(s) QQ
`
`I
`
`I
`
`content provider system(s) 11.Q
`
`I
`
`content
`license
`request
`400
`
`content
`license
`i1Q
`o-,,_
`
`key box~
`0-n--
`protects
`-------► 0-n--
`0-n--
`
`protects
`--------
`protects
`- - - - - - - -
`protects
`--------
`
`',
`
`I
`
`♦
`playback device 100
`
`segment~
`
`segment 440b
`
`segment 440a
`
`encrypted content item ~
`~
`~
`~
`
`I
`I
`I
`
`I
`
`Google Exhibit 1012
`Google v. Ericsson
`
`
`
`US 8,789,196 B2
`Page 2
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`7,827,113 B2 *
`8,239,446 B2 *
`2005/0080746 Al*
`2005/0251487 Al*
`2006/0230458 Al*
`2006/0239451 Al
`2006/0242078 Al
`2006/0242080 Al
`2007/0160208 Al
`2007/0162399 Al *
`2007/0198858 Al*
`
`11/2010 Saekietal ...................... 705/59
`8/2012 Navar et al .................... 709/203
`4/2005 Zhu et al. ........................ 705/59
`11/2005 Evans et al. ..................... 705/59
`10/2006 Saeki et al ...................... 726/26
`10/2006 Evans
`10/2006 Evans
`10/2006 Van Dyke
`7/2007 MacLean
`............ 705/59
`7/2007 Medvinsky et al.
`8/2007 Kim et al. ..................... 713/193
`
`2007 /0294170 Al
`2008/0019516 Al*
`2008/0066181 Al*
`2009/0157552 Al*
`2009/0169002 Al
`2011/0072268 Al *
`2011/0164753 Al*
`2012/0017282 Al*
`
`12/2007 Vantalon
`1/2008 Fransdonk .................... 380/201
`3/2008 Haveson et al.
`................ 726/26
`6/2009 Schnell et al.
`.................. 705/59
`7/2009 Hauge
`3/2011 Yamagishietal. ........... 713/171
`7/2011 Dubhashi et al. ............. 380/282
`1/2012 Kang et al ....................... 726/26
`
`OTHER PUBLICATIONS
`
`Microsoft PlayReady Content Access Technology; Jul. 2008, White
`Paper.*
`
`* cited by examiner
`
`
`
`U.S. Patent
`
`Jul. 22, 2014
`
`Sheet 1 of 8
`
`US 8,789,196 B2
`
`content provider system(s)
`11.Q
`
`license server(s)
`120
`
`network(s)
`130
`
`playback device(s) 100
`
`FIG. 1
`
`
`
`I
`
`j
`
`license server(s) 120
`
`I
`
`content provider system(s) 11.Q
`
`content
`license
`request
`230a
`
`I
`
`content
`license
`request
`230b
`
`content
`license
`request
`230n
`
`content
`license
`235n
`0-n
`
`content
`license
`235b
`0-n
`
`content
`license
`235a
`0-n
`
`,
`
`manifest
`220n
`
`manifest
`220b
`
`manifest
`220a
`
`, '
`
`request(s)
`210
`
`updateable
`playlist 215
`
`'
`playback device 100
`
`root
`license
`request
`200
`
`root
`license
`205
`0-n
`
`,.
`
`I
`
`I
`
`output device(s) 275
`
`I
`
`I
`
`~
`00 .
`
`~
`~
`~
`
`~ = ~
`
`I
`encrypted content item
`240n
`
`I
`
`encrypted content item
`240b
`
`I fragment 265n I
`I fragment 265b I
`I fragment 265a I
`I fragment 255n I
`
`\
`
`egment
`s
`260
`
`I -
`
`-
`
`\,
`
`I fragment 255b I
`I fragment 255a I
`encrypted content item
`240a
`♦
`
`-
`
`decrypted content
`
`egment
`s
`250
`
`-
`
`I
`
`2'
`
`:-'
`N
`~
`N
`0 ....
`
`.i;...
`
`('D
`('D
`
`r,J =(cid:173)
`.....
`N
`0 ....
`
`QO
`
`d r.,;_
`
`00
`~
`00
`_."-0
`"'""' "-0
`
`0--, = N
`
`
`
`U.S. Patent
`
`Jul. 22, 2014
`
`Sheet 3 of 8
`
`US 8,789,196 B2
`
`requests
`
`collective
`request
`r capacity 320
`
`collective
`license
`requests 330a
`_,)
`
`0
`
`---------~ \~ - - - - - -~ ~------·-
`
`0
`
`30
`
`60
`
`time
`(minutes)
`
`current content item 300
`
`next content item 310
`
`FIG. 3A
`
`requests
`
`r collective request capacity 320
`
`0
`
`' - collective license requests 330b
`
`0
`
`30
`
`60
`
`time
`(minutes)
`
`current content item 300
`
`next content item 310
`
`FIG. 3B
`
`
`
`I
`
`license server(s) 120
`
`I
`
`I
`
`content provider system(s) 110
`
`h
`
`content
`license
`request
`400
`
`I
`
`content
`license
`410
`0-n-
`
`, ,
`
`protects
`-------►
`
`key box 420
`0-n ---
`0-n---
`0-n---
`
`playback device 100
`
`FIG. 4
`
`encrypted content item 430
`protects
`~
`--------
`protects
`~
`- - - - - - - -
`protects
`-------- ~
`
`segment 440b
`
`segment 440a
`
`segment 440c
`
`I
`
`I
`I
`I
`
`I
`
`~
`00 .
`
`~
`~
`~
`
`~ = ~
`
`2'
`
`:-'
`N
`~
`N
`0 ....
`
`.i;...
`
`('D
`('D
`
`r,J =(cid:173)
`.....
`.i;...
`0 ....
`
`QO
`
`d r.,;_
`
`00
`~
`00
`_."-0
`"'""' "-0
`
`0--, = N
`
`
`
`counter
`520
`
`iteration
`count
`
`key
`generator
`500
`
`14
`
`content
`license
`510
`0-n
`
`base key
`
`segment JC
`decryption 1
`keys L
`
`encrypted content item ~
`
`segment 540c
`
`I
`
`I segment 540b
`
`segment
`identifiers
`
`1 1 segment 540a
`
`encrypted
`content
`segments
`
`decryption unit 550
`
`playback device 100
`
`decrypted content
`
`FIG. 5
`
`~
`00 .
`
`~
`~
`~
`
`~ = ~
`
`2'
`
`:-'
`N
`~
`N
`0 ....
`
`.i;...
`
`('D
`('D
`
`r,J =(cid:173)
`.....
`Ul
`0 ....
`
`QO
`
`d r.,;_
`
`00
`~
`00
`_."-0
`"'""' "-0
`
`0--, = N
`
`
`
`encrypted
`content
`segments
`
`.--------------------------,
`
`content
`license
`610
`0-n
`
`base key
`
`decryption
`unit 620
`
`encrypted
`segment
`decryption
`( keys
`
`decrypted content
`
`J
`initialization
`vector
`
`playback device 100
`
`FIG. 6
`
`segment 640c
`
`i----t------f segment 640b
`I I
`I segment 640a
`encrypted content item 630
`
`~
`00 .
`
`~
`~
`~
`
`~ = ~
`
`2'
`
`:-'
`N
`~
`N
`0 ....
`
`.i;...
`
`('D
`('D
`
`r,J =(cid:173)
`.....
`O'I
`0 ....
`
`QO
`
`d r.,;_
`
`00
`~
`00
`_."-0
`"'""' "-0
`
`0--, = N
`
`
`
`U.S. Patent
`
`Jul. 22, 2014
`
`Sheet 7 of 8
`
`US 8,789,196 B2
`
`playback device racaivas eledronic cantant for linear consumption fnm
`contant provider syslam(s)
`11m.
`
`C Siert )
`i
`
`i
`
`/
`
`for ead1 given erayplad content lam of tha electrDlic content:
`ZD2.
`
`4---
`
`i
`
`playback device 110vides a request fm' a content license for the given
`encrypted content item ID a license server
`11H.
`
`i
`
`subsequent to !JDvldl" the request, playback device receives from lhe
`llcanaa server the parlcuar CClltent llcense that protecls the given
`anayptad a,ntant ilam
`ZII.
`
`i
`
`playback device utlizes the pmlicuar mntent lcense ID decrypt the given
`en:ryp1Bd conlart 11am to generale a ntSpecllw deaypted corunt llem
`111.
`
`i
`
`playla:k davica a>nsllTBS Iha givan n:ayptad content ilam acmdi~ ID a
`predefined ha SBIJJence and usage rules specified by the limnse
`Ilil
`
`i
`
`next enawlad contant Ian
`Z12.
`
`-
`
`(
`
`i
`end )
`RG.7
`
`
`
`computer system 800
`
`processor
`810a
`
`l~
`
`,.
`
`processor
`810b
`
`J
`
`1/0 interface
`830
`
`i
`
`memory 820
`program instructions 822
`
`data 832
`
`FIG. 8
`
`j~
`
`"
`network
`interface
`840
`
`l~
`
`,
`~t)
`-
`
`5
`
`~
`00 .
`
`~
`~
`~
`
`~ = ~
`
`...
`
`processor
`810n
`
`~
`
`•
`
`~
`
`inpuUoutput device(s)
`850
`
`J
`
`~
`
`J
`
`+
`cursor
`control
`device
`860
`
`•
`keyboard
`870
`
`+
`display(s)
`880
`
`2'
`
`:-'
`N
`~
`N
`0 ....
`
`.i;...
`
`('D
`('D
`
`r,J =(cid:173)
`.....
`QO
`0 ....
`
`QO
`
`d r.,;_
`
`00
`~
`00
`_."-0
`"""' "-0
`0--, = N
`
`
`
`US 8,789,196 B2
`
`1
`SYSTEM AND METHOD FOR PROVIDING
`CONTENT PROTECTION OF LINEARLY
`CONSUMED CONTENT WITH A
`BIDIRECTIONAL PROTOCOL FOR LICENSE
`ACQUISITION
`
`BACKGROUND
`
`2
`content item that is to be linearly consumed (e.g., according to
`a play list or other specified sequence).
`By utilizing such bidirectional protocol for license acqui(cid:173)
`sition, embodiments may differ from conventional unidirec(cid:173)
`tional conditional access systems in a number ofrespects. For
`instance, in conventional unidirectional conditional access
`systems, a content provider system may push decryption keys
`in-band (e.g., as part of a content stream) to a respective
`playback device. Furthermore, in conventional unidirectional
`10 conditional access systems, the content decryption keys for
`different playback devices ( e.g., different subscribers) may
`all be included within the same content stream; this may be
`done by encrypting each content decryption key such that
`only the appropriate playback device can decrypt it. In this
`15 conventional system, it may be left up to each individual
`playback device to hold the correct key that will decrypt the
`appropriate content decryption key for that playback device
`among the multiple other decryption keys in the content
`stream.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`1. Field of the Invention
`The present invention is directed to computer systems.
`More particularly, it is directed to the protection of electronic
`content within a computing environment.
`2. Description of the Related Art
`In a general sense, conditional access systems require cer(cid:173)
`tain criteria to be met before access to protected content is
`granted. For example, cable television providers employing
`conditional access may encrypt television chamiels such that
`unencrypted versions of such channels can only be viewed by
`individuals that have acquired an appropriate subscription. In 20
`this example, a television set top box issued to a subscriber
`may include a decryption module for decrypting content from
`the provider. In an example including conventional analog
`systems, this process was historically performed by scram(cid:173)
`bling television channels; a television set top box capable of 25
`descrambling such chamiels was required to view the chan(cid:173)
`nels.
`In early conditional access systems, communication
`between the content provider and the subscriber was unidi(cid:173)
`rectional. For instance, a content channel could be provided
`as unidirectional downstream content sent from the provid(cid:173)
`er's system to the subscriber device (e.g., a set top box).
`Within such a framework, the content provider could push
`non-content information ( e.g., decryption keys for channel
`decryption) in-band over the unidirectional chamiel to the
`subscriber.
`
`FIG. 1 illustrates a block diagram of an example system
`configuration, according to some embodiments.
`FIG. 2 illustrates an example flow diagram of license and
`content acquisition, according to some embodiments.
`FIGS. 3A-3B illustrate an example plot of collective
`license requests over time, according to some embodiments.
`FIG. 4 illustrates an example flow diagram for key box
`30 acquisition, according to some embodiments.
`FIG. 5 illustrates an example block diagram of a playback
`device including a segment key generator, according to some
`embodiments.
`FIG. 6 illustrates an example block diagram of a playback
`35 device configured to process content including encrypted seg(cid:173)
`ment decryption keys, according to some embodiments.
`FIG. 7 illustrates a flowchart of an example method for
`license acquisition and content consumption, according to
`some embodiments.
`FIG. 8 illustrates an example computer system suitable for
`implementing various components of the system and method
`for providing content protection oflinearly consumed content
`with a bidirectional protocol for license acquisition, accord(cid:173)
`ing to various embodiments.
`While the system and method for providing content pro-
`tection of linearly consumed content with a bidirectional
`protocol for license acquisition is described herein by way of
`example for several embodiments and illustrative drawings,
`those skilled in the art will recognize that the system and
`50 method for providing content protection of linearly con(cid:173)
`sumed content with a bidirectional protocol for license acqui(cid:173)
`sition is not limited to the embodiments or drawings
`described. It should be understood, that the drawings and
`detailed description thereto are not intended to limit embodi-
`55 ments to the particular form disclosed. Rather, the intention is
`to cover all modifications, equivalents and alternatives falling
`within the spirit and scope of the system and method for
`providing content protection of linearly consumed content
`with a bidirectional protocol for license acquisition as defined
`60 by the appended claims. Any headings used herein are for
`organizational purposes only and are not meant to limit the
`scope of the description or the claims. As used herein, the
`word "may" is used in a permissive sense (i.e., meaning
`having the potential to), rather than the mandatory sense (i.e.,
`65 meaning must). Similarly, the words "include", "including",
`and "includes" mean including, but not limited to. In various
`portions of the description presented herein, the terms "vali-
`
`SUMMARY
`
`Various embodiments of a system and method for provid- 40
`ing content protection of linearly consumed content with a
`bidirectional protocol for license acquisition are described.
`Embodiments may include one or more content provider
`systems configured to provide electronic content that
`includes multiple encrypted content items to one or more 45
`playback devices. A playback device may be configured to
`acquire one or more licenses from one or more license serv(cid:173)
`ers; such licenses may cryptographically protect the content
`items that a playback device receives from a content provider
`system.
`In various embodiments, the electronic content that is pro(cid:173)
`vided from the one or more content provider systems to a
`playback device may be content that is to be linearly con(cid:173)
`sumed ( e.g., played), such as consumed according to a play(cid:173)
`list that specifies the chronological sequence according to
`which different content items are to be consumed. In various
`embodiments, the playback device may explicitly request a
`content license for each of the content items that it receives;
`such request may be issued to a license server. The license
`server may evaluate the request and respond to the playback
`device with the content license for a content item. This con(cid:173)
`tent license may include a decryption key and usage rules that
`specify one or more restrictions on the access or consumption
`of the content item. In various embodiments, the playback
`device may utilize the received content license to decrypt and
`consume the respective content item. In various embodi(cid:173)
`ments, the above described process may be repeated for each
`
`
`
`US 8,789,196 B2
`
`3
`date", "verify", "validation", "verification", "validating", and
`"verifying" may be used interchangeably.
`
`DETAILED DESCRIPTION OF EMBODIMENTS
`
`Various embodiments of a system and method for provid-
`ing content protection of linearly consumed content with a
`bidirectional protocol for license acquisition are described. In
`the following detailed description, numerous specific details
`are set forth to provide a thorough understanding of claimed
`subject matter. However, it will be understood by those
`skilled in the art that claimed subject matter may be practiced
`without these specific details. In other instances, methods,
`apparatuses or systems that would be known by one of ordi(cid:173)
`nary skill have not been described in detail so as not to 15
`obscure claimed subject matter.
`Some portions of the detailed description which follow are
`presented in terms of algorithms or symbolic representations
`of operations on binary digital signals stored within a
`memory of a specific apparatus or special purpose computing
`device or platform. In the context of this particular specifica(cid:173)
`tion, the term specific apparatus or the like includes a general
`purpose computer once it is programmed to perform particu-
`lar functions pursuant to instructions from program software.
`Algorithmic descriptions or symbolic representations are
`examples of techniques used by those of ordinary skill in the
`signal processing or related arts to convey the substance of
`their work to others skilled in the art. An algorithm is here,
`and is generally, considered to be a self-consistent sequence
`of operations or similar signal processing leading to a desired
`result. In this context, operations or processing involve physi(cid:173)
`cal manipulation of physical quantities. Typically, although
`not necessarily, such quantities may take the form of electri-
`cal or magnetic signals capable of being stored, transferred,
`combined, compared or otherwise manipulated. It has proven
`convenient at times, principally for reasons of common
`usage, to refer to such signals as bits, data, values, elements,
`symbols, characters, terms, numbers, numerals or the like. It
`should be understood, however, that all of these or similar
`terms are to be associated with appropriate physical quanti(cid:173)
`ties and are merely convenient labels. Unless specifically
`stated otherwise, as apparent from the following discussion, it
`is appreciated that throughout this specification discussions
`utilizing terms such as "processing," "computing," "calculat(cid:173)
`ing," "determining" or the like refer to actions or processes of
`a specific apparatus, such as a special purpose computer or a
`similar special purpose electronic computing device. In the
`context of this specification, therefore, a special purpose
`computer or a similar special purpose electronic computing
`device is capable of manipulating or transforming signals,
`typically represented as physical electronic or magnetic
`quantities within memories, registers, or other information
`storage devices, transmission devices, or display devices of
`the special purpose computer or similar special purpose elec(cid:173)
`tronic computing device.
`Various embodiments include various encryption and/or
`decryption keys, any of which may be generated via a key
`derivation function (KDF). Key derivation functions may
`include the completion of one or more iterations or instances
`of cryptographic operations in order to generate an encryp(cid:173)
`tion or decryption key. Examples of key derivation function
`may include but are not limited to any key derivation func(cid:173)
`tions specified by Public Key Cryptography Standards
`(PKCS) (e.g., PKCS-5 or PKCS-12) or Adobe® Password
`Security. In various embodiments, KDFs may be utilized by
`any of the various components described herein to generate
`encryption keys for symmetric encryption.
`
`4
`In various instances, this detailed description may refer to
`content items (which may also be referred to as "content
`data," "content information" or simply "data" or "informa(cid:173)
`tion"). In some instances, content items may include any
`information or data that may be licensed to one or more
`individuals (or other entities, such as business or group). In
`various embodiments, content may include electronic repre(cid:173)
`sentations of video, audio, text and/or graphics, which may
`include but is not limited to electronic representations of
`10 videos, movies, or other multimedia, which may include but
`is not limited to data files adhering to Adobe® Flash® Video
`(.FLY) format, the F4V format, MPEG-4 formats, or some
`other video file format whether such format is presently
`known or developed in the future.
`In various embodiments, the content items described
`herein may include electronic representations of music, spo(cid:173)
`ken words, or other audio, which may include but is not
`limited to data files adhering to the MPEG-1 Audio Layer 3
`(.MP3) format, Adobe® Sound Document (.ASND) format
`20 or some other format configured to store electronic audio
`whether such format is presently known or developed in the
`future. In some cases, content may include data files adhering
`to the following formats: Portable Document Format (.PDF),
`Electronic Publication (.EPUB) format created by the Inter-
`25 national Digital Publishing Forum (IDPF), JPEG (.JPG) for(cid:173)
`mat, Portable Network Graphics (.PNG) format, Adobe®
`Photoshop® (.PSD) format or some other format for elec(cid:173)
`tronically storing text, graphics and/or other information
`whether such format is presently known or developed in the
`30 future. In some embodiments, content items may include any
`combination of the above-described examples.
`In various instances, this detailed disclosure may refer to
`consuming content or to the consumption of content, which
`may also be referred to as "accessing" content, "viewing"
`35 content, "listening" to content, or "playing" content, among
`other things. In some cases, the particular term utilized may
`be dependent on the context in which it is used. For example,
`consuming video may also be referred to as viewing or play(cid:173)
`ing the video. In another example, consuming audio may also
`40 be referred to as listening to or playing the audio.
`In various instances, this detailed description may refer to
`a devices configured to perform content consumption. In
`various embodiments, such a device may include but is not
`limited to a computing system (e.g., a desktop or laptop
`45 computer), a set-top television box, a digital audio or multi(cid:173)
`media player (e.g., an MP3 player), a personal digital assis(cid:173)
`tant (PDA), a mobile phone, a smartphone, a touchscreen
`phone, an e-book reader, a digital photo frame, or any other
`device or system configured to access, view, read, write,
`50 and/or manipulate any of the content data described herein.
`Any of such devices may be implemented via a computer
`system similar to that described with respect to FIG. 8.
`Note that in various instances the description presented
`herein may refer to a given entity performing some action. It
`55 should be understood that this language may in some cases
`mean that a system (e.g., a computer) owned and/or con(cid:173)
`trolled by the given entity is actually performing the action.
`Note that in various instances the description presented
`herein may refer to a public key being associated with a
`60 private key or a public key corresponding to private key. It
`should be understood that such statements may mean that
`such a public key forms a public key-private key pair with
`such a private key. Additionally, in some cases, a public
`key-private key pair may be referred to as simply a "key
`65 pair." Note that in various embodiments, public key-private
`key pairs may be generated via one or more key derivation
`functions, such as those described above.
`
`
`
`US 8,789,196 B2
`
`5
`FIG. 1 illustrates an example system configuration of a
`system in which various embodiments may be implemented.
`In the illustrated embodiment, one or more playback devices
`100 may receive protected content from one or more content
`provider system(s) 110. In various embodiments, such pro(cid:173)
`tected content may be protected by content licenses, which
`may be provided by one or more license servers 120. Any of
`the illustrated elements may communicate over one or more
`networks 130, which may be configured in a manner similar
`to that of network 885 of FIG. 8.
`In various embodiments, a given playback device 100 may
`be any electronic device configured to consume electronic
`content. Examples of such devices may include but are not
`limited to a computer ( e.g., similar to that of computer system
`800 of FIG. 8), a set top television box (with or without digital
`video recording capabilities), a digital television tuner, a
`mobile device (e.g., a smartphone) or another electronic
`device. While not illustrated, a given playback device 100
`may include or be coupled to an electronic display (e.g., a
`monitor, television, or flat-panel display) configured to gen(cid:173)
`erate visual representations of content. Likewise, a given
`playback device 100 may include or be coupled to one or
`more transducers (e.g., an audio speaker) configured to gen(cid:173)
`erate audible representations of content. In any case, a given
`playback device 100 may be configured to generate visual
`and/or audible representations of content on any of the afore(cid:173)
`said items (e.g., displays, speakers, etc.) upon decryption of
`such content.
`In various embodiments, a given content provider system
`110 may provide to a given playback device 100 content that
`is structured to be linearly consumed (e.g., played). For
`instance, such content may include multiple encrypted con(cid:173)
`tent items that are to be consumed in a particular sequential
`order. In various embodiments, a given content item may
`include any cryptographically distinct portion of content
`described above. In one embodiment, two content items may
`be cryptographically distinct by virtue of being encrypted
`with different encryption keys. In some cases, a given
`encrypted content item may be a complete asset, such as a
`complete movie, motion picture, or television program (with
`or without embedded advertisements, such as television com(cid:173)
`mercials). In other cases, a given encrypted content item may
`be a time slice ( e.g., a sub-portion) of a larger program or
`content stream. In one particular example, the content pro(cid:173)
`vider system may provide to the playback device a stream of
`open-ended data (e.g., a 24-hour content channel) that is
`divided into a series of content items corresponding to time
`slices.
`In any of these scenarios, the sequence according to which
`the multiple encrypted content items are to be linearly con(cid:173)
`sumed may be specified by data from the content provider
`system 110 or some other system. In one embodiment, such
`data may be playlist data that specifies a sequence according
`to which the multiple content items are to be played. The
`play list data may specify such sequence by assigning a view(cid:173)
`ing order to the multiple encrypted content items and/or by
`specifying distinct times at which each encrypted content
`item is expected to be viewed. Playback device 100 may
`consume the multiple encrypted content items according to
`the sequence described above upon decrypting the encrypted
`content items.
`In various embodiments, the encryption of the multiple
`content items received by playback device 100 may serve as
`a conditional access control. For instance, the multiple con(cid:173)
`tent items may be encrypted such that only entities or devices
`that hold an appropriate license will be able to decrypt those
`content items. By controlling which entities or devices are
`
`6
`granted such license, the content provider ( or an entity acting
`on behalf of the content provider, such as a security provider)
`may enforce conditional access, entitlement(s ), and/or rights
`on the content that it provides to playback devices. This
`control may be enforced by one or more license servers 120.
`In various embodiments, for any of the encrypted content
`items received by playback device 100, the playback device
`may generate a license request for the license that protects
`that content item (e.g., the license that will enable the play-
`10 back device to access the content item). The playback device
`100 may send the license request to license server 120. In
`some cases, the identity ( e.g., name or network address) of the
`license server to which the request should be sent may be
`included in manifest data ( describe in more detail below with
`15 respect to FIG. 2) or a non-encrypted header portion of the
`encrypted content item. In some cases, the request sent to the
`license server may also include a license identifier that can be
`used by the license server to identify the appropriate license
`for the relevant content item of the playback device. License
`20 server 120 may identify the corresponding license and pro(cid:173)
`vide it to playback device 100. In some cases, the license
`request may also include various types of authentication
`information. In some cases, license server 120 may only
`provide the license to the playback device in response to
`25 determining that the authentication information is valid ( de(cid:173)
`scribed in more detail with respect to FIG. 2). In various
`embodiments, license server 120 may securely provide the
`license to the playback device by encrypting the license with
`a public key of the playback device such that only the play-
`30 back device may decrypt the license by using the correspond(cid:173)
`ing private key.
`Playback device 100 may utilize the license received from
`the license server to decrypt the encrypted content item. In
`various embodiments, the content license may include a con-
`35 tent decryption key that may be required to decrypt the
`encrypted content item. As described in more detail below,
`other decryption key techniques may be utilized in some
`embodiments (some of which employ multiple decryption
`keys for the same content item). In various embodiments, the
`40 content license may also include information specifying
`usage rules, which may in some instances be referred to as
`usage rights, rights, or copy control information. In various
`embodiments, the playback device may be configured to
`enforce the usage rules of the license on the access and/or
`45 consumption of the content item. In general, usage rules may
`include any restrictions on the use or access of the content
`item including but not limited to restricting the access of
`content to a particular time period, restricting the actions
`( e.g., view, copy, save, distribute, etc.) that can be performed
`50 with respect to the content item, and/or enforcing some other
`restriction upon the content item.
`In various embodiments, the license acquisition process
`described above may be repeated for each content item in the
`linear sequence of content items consumed by the playback
`55 device. As described in more detail below, the content item
`may request and obtain the content license for an encrypted
`content item prior to the time at which that content item is
`expected to be played. In this way, the playback device can
`provide a seamless playback of the linearly consumed content
`60 items ( e.g., playing the content items without temporal gaps
`in the playback of each content item).
`By utilizing the bidirectional nature of the illustrated sys(cid:173)
`tem, embodiments may differ from conventional unidirec(cid:173)
`tional conditional access systems in a number ofrespects. For
`65 instance, in conventional unidirectional conditional access
`systems, a content provider may push decryption keys in(cid:173)
`band