SECURING MEDIA CONTENT USING INTERCHANGEABLE ENCRYPTION KEY
BACKGROUND
TECHNICAL FIELD
The present disclosure generally relates to securing data, and more particularly,
to securing data associated with a digital media device using an encryption key.
DESCRIPTION OF THE RELATED ART
A storage device, such as a hard drive of a digital media recording device, can
be used to store media data associated with received audio and/or video content. For
example, one such digital media recording device is a digital video recorder (DVR).
A DVR application executed by the DVR provides user interface screens that can be used to manage the media data stored to the storage device. The DVR application can
also be used to playback recorded media at a later time, while also having the ability to pause, rewind, and fast-forward through the recorded media.
The media data stored to the DVR can be encrypted in order to protect the media content from unauthorized playback. A secure microprocessor can be used to
protect the encryption keys that are used by DVR encryption processors to encrypt the content. The secure microprocessor includes a private key stored therein, useful for
decrypting data encrypted using an associated public key. The secure microprocessor can also be used to generate a content instance key of suitable strength to encrypt the media data on the storage device. The content instance key could be a random value
(or passphrase, etc.) for example. The content instance key is then encrypted using the
secure microprocessor's public key and stored on the storage device in association
with the encrypted content and any other digital access rights elements.
Upon request for playback of the media content embodied in the media data, the encrypted content instance key associated with the media data is retrieved from the
storage device and decrypted by the private key of the secure microprocessor. The
media data can then be retrieved and the content key can then be used to decrypt the
media data for playback.
However, because the encrypted content instance key is associated with the
private key of a particular secure microprocessor, when a DVR fails it may not be
possible to access the secure microprocessor to allow decryption of the stored content from the failed DVR' s storage device. Thus, a cable subscriber's library of recorded and encrypted media content becomes inaccessible for playback. This may be so,
even though the user may be legally entitled to play the media content, e.g., after
paying for that right. Additionally, tying the media content to a particular DVR introduces problems with respect to the sharing of digital media between devices. For example, in some cases, a subscriber may be authorized to view content recorded by a
first DVR within the subscriber household on another, second DVR within the
subscriber household. However, because the encrypted media content is tied to the
secure microprocessor in the first DVR used to record the media, such sharing becomes difficult.
Further, subscribers to media services, such as cable-television, among others,
may be authorized and de-authorized for the viewing of media content based on a
subscriber's subscription status. For example, this change in authorization may be carried out through the transmission of media access signals from a cable-operator's head-end system to an associated set-top box. However, these media-access signals may simply set a flag or other non-secure logical switch within the set-top that allows
or disallows the specified service. However, those wishing to steal the service may be
able to easily overcome such trivial barriers, allowing the media data already stored on
the DVR associated with the set-top box to be accessible.
Therefore, what is needed are systems and methods that can potentially
address one or more of the aforementioned deficiencies.
BRIEF DESCRIPTION OF THE DRAWINGS
The components in the drawings are not necessarily to scale relative to each
other. Like reference numerals designate corresponding parts throughout the several
views. FIG. 1 depicts a block diagram of an arrangement of a secure data delivery
system in which embodiments of the described systems and methods for securing
media content using an interchangeable encryption key may be implemented.
FIG. 2 depicts a block diagram of selected system components of a cable headend of the secure delivery system of FIG. 1. FIG. 3 depicts a block diagram of selected system components of an
exemplary embodiment of a remote device such as the digital-video recorder (DVR)
of FIG. 1.
FIG. 4 depicts a flow diagram illustrating an embodiment of a process for creating a group record having a group key within the database of the cable head-end
of FIG. 2.
FIG. 5 depicts a flow diagram of an embodiment of a process for associating a trusted remote device record with a group record and for downloading a group key to a remote device.
FIG. 6 depicts a data flow diagram applying the process embodiments of FIGs.
4 and 5 to embodiments of the secure data delivery system of FIG. 1.
FIG. 7 depicts a flow diagram of a process for encrypting media data using a group key stored within the DVR of FIG. 3.
FIG. 8 depicts a data flow diagram applying the method embodiments of FIG.
7 to embodiments of the secure data delivery system of FIG. 1. FIG. 9 depicts a flow diagram of an exemplary process for decrypting media
data using a group key.
FIG. 10 depicts an exemplary data flow diagram applying the process
embodiments of FIG. 9 to embodiments of the secure data delivery system of FIG. 1.
DETAILED DESCRIPTION
FIG. 1 depicts a secure data delivery system 100 in which embodiments of the
described systems and methods for securing media content using interchangeable
encryption keys may be implemented. System 100 may be used, among other purposes, for coordinating the exchange of information capable of being used to secure media content stored on devices located remote from a media provider, such as a cable-television or digital satellite television provider, for example.
Media content could comprise audio, video, images, text, teletext, among
others. According to some embodiments, media content, as referred to herein, may also be referred to as media programs or media programming. Some examples of
media programming used herein include, but are not be intended to be limited to,
television programs and radio programs. Such television programs and/or radio
programs could be scheduled broadcasts or delivered to a user on-demand (e.g. such as provided with a video-on demand system). The media content could be unicast to a single user, or could be multi-cast or otherwise broadcast to multiple users.
An instance of media content (or media programming, etc.) could be, for
example, a television show {e.g. an episode of Smallville). A series of media
programming could be, for example, a number of episodes of a television show {e.g.
the last five recordings of Smallville). The media content can be received and
recorded by the remote devices. For example, the media content can be stored to a storage medium as media data. In some instances, such media data is encoded audio
and/or video signals, among other potential representations of the media content that
is in a form suitable for processing by the DVR 108.
Looking to FIG. 1, according to some embodiments, cable head-end 102 may deliver media content and/or the information capable of being used to secure media content stored on devices located remote from a media provider over a transmission
medium 106, which may be one or more of twisted-pair telephone wire, coaxial cable,
optical fiber, over-the-air waves, etc. The remote devices may be located at, for example, user premises 104.
Accordingly, the media content may be received by a remote device within the
user premises 104 that is capable of receiving and, possibly, decoding the media
content. The remote device may, for example, form part of, be associated with, or be integrated in one or more of a cable-television set-top box, a television, portable device, digital video recorder (DVR), personal video recorder (PVR), a personal digital recorder (PDR), and/or a personal computer, laptop computer, or personal
digital assistant (PDA), among others.
According to some embodiments, the remote device comprises a set-top box having an integrated media recording capabilities. For the purposes of illustration, one such device configured to execute media recording capabilities is DVR 108.
DVR 108 may be configured to record received media content and store associated
media data on a storage medium. According to some embodiments, the media data
may be later accessed for playback on a playback device, such as television 110, at a
later time. The playback device could also be one or more of a computer monitor, an
audio receiver, or other device capable of emitting sound or images pertaining to the
media content.
According to some embodiments, a user premises 104 can have multiple
DVRs. Depicted in the upper right portion of FIG. 1, for example, a second DVR
108a is associated with the respective user premises. DVR 108a, according to some embodiments, is associated with a respective display device 110a. In some instances, DVR 108a is in communication with DVR 108 over communication medium 112. For example, the communication medium 112 could be twisted pair, Ethernet, or any
type of wired or wireless network. DVRl 08 and DVR 108a, and any other DVRs that
may be present at user premises 104, may communicate directly or through one or more other devices in a local-area-network (LAN). In some cases, DVRs 108 and 108a can share media content and/or programming guide information, among other
DVR related information, over the communication medium 112.
Although embodiments are described within the environment of a cable-
television system, it should be understood that other media delivery and/or receiving devices are intended to fall within the scope of the invention. For example, the media
source could be a satellite television provider or even a media server on the Internet.
The remote device could be a satellite television decoder or a computer configured to
receive the media content. The media recorder could be any device, such as a personal computer, that is configured with media recording and/or playback ability. Additionally, although the media content may be described as comprising video and
audio content, some embodiments may include only audio or only video. The media
content could even comprise text or other forms of media. Further, in some instances,
non-media information (e.g. security keys, digital-rights management (DRM)
information, etc.) may be transmitted along with the media content.
FIG. 2 depicts a block diagram of the cable-head end 102 of the secure data
delivery system 100 of FIG. 1. Associated with the cable head-end 102 may be a transaction encryption device (TED) 202, a digital network control system (DNCS) 204, and a media delivery system 206. Cable-head end 102 may be in communication
with the remote media recording device, which can be DVR 108. It should be
understood that, in accordance with some embodiments, omitted from FIG. 3 are a number of conventional components, known to those skilled in the art, that are unnecessary to explain the operation of the disclosed systems and methods for
securing media content using an interchangeable encryption key.
In general, TED 202 can be used by other components associated with the cable-head end to securely encrypt and decrypt data. To this end, TED 202 may include an encryption/decryption processing element 208 which can be in communication with a memory 210 used for holding keys, such as a conditional
access authority (CAA) key 212 and a private entitlement agent (EA) key 220. CAA
key 212 can be, for example, a passphrase of suitable strength, among other possible key types. Private entitlement agent key 220 can be used for, among other uses,
signing transmissions from the cable head-end 102 to enable remote devices having a
corresponding public entitlement agent (EA) key to verify the source of received
transmissions.
Processing element 208 can also be configured to generate a random key, which may be referenced herein as a group key or interchangeable key. The group
key could be, for example, among other encryption key types, a triple data encryption
standard (3DES) key. Accordingly, it should be understood that the group key may
actually comprise one or more keys. Additionally, although the group key may be
described herein as a symmetric key, some embodiments may use asymmetric keys.
More specifics of the operation of TED 202 will be discussed in detail below.
DNCS 204, among other functions, can be used for maintaining records pertaining to the remote devices (e.g. DVR' s, set-top boxes, etc.). According to some embodiments, the remote devices may be grouped based on the type of services to
which devices associated with the group are granted access. For example, the
services could correspond to the types of media content that the remote devices are authorized to playback. However, it should be appreciated that other embodiments
may group the remote devices based on other criteria.
According to one embodiment, the group could be a subscriber account. Thus,
the devices associated with a particular subscriber account can be granted access to
the same media content (e.g. media content delivered on one or more particular channels, purchased movies, etc.). According to such an embodiment, a billing system may store pertinent details about a subscriber account within the DNCS upon subscribing to a cable-television service. The subscriber account could represent, for
example, an account associated with a specific person, business entity, home, etc. that is authorized to receive media content from the cable television provider. Once the subscriber account is set up, one or more remote devices may then be associated with the account.
Accordingly, looking to FIG. 2, group records 216 can be used to maintain records about a particular group (e.g. a subscriber account, etc.) and the records related to one or more remote devices can be referenced as device records 218.
Although depicted separately, group records 216 and device records 218 may be
viewed as potentially being linked once a particular device record is associated with a
group record. Additionally, although a single database 214 is depicted, it should be
understood that the respective records may be spread across two or more physical or
logical databases. More specific detail as to the operation of DNCS 204 will be
discussed in later portions of this document.
Media delivery system 206 can provide media content signals from the headend (or central office, server, etc.) to any of the plurality of remote devices, such as
DVR 108. The content signals may comprise any of a number of programs (i.e.
television shows, or other defined portion of a media signal), and each program provided can be referred to as an "instance" of media content. In some cases, media delivery system 206 may be configured to encrypt the instances of media content (i.e.
using TED 202 or other encryption devices). In some cases, such encryption may
encrypt every four seconds of media data, for example, to be delivered over
transmission medium 106 (FIG. 1) to the remote device. If the subscriber associated
with the device is entitled to watch the program of the encrypted instance, the remote
device may then decrypt the encrypted instance. An overview of the encryption and
decryption of the signals to and from a cable head-end can be found in U.S. Pat. No.
6,292,568, which is hereby incorporated by reference in its entirety.
FIG. 3 is a block diagram depicting selected system components of an exemplary embodiment of the DVR 108 of FIG. 1. Omitted from FIG. 3 are, in accordance with some embodiments, a number of conventional components known to
those skilled in the art that are unnecessary to explain the operation of the disclosed
systems and methods for securing media content using an interchangeable encryption key. FIG. 3 depicts several components commonly communicating through a local bus 300. For example, DVR 108 may include a communications interface 302 for
receiving video, audio and other media signals from a media signal source, such as the
cable head-end 102 (FIGs. 1 and 2). The communication interface 302 may include a
tuner system (not depicted) which could include, for example, a tuner for receiving
and selecting one or more selected channels of media signals. Such a tuner system
can tune to a particular television station, and the media signals associated with this
station can be recorded by the DVR 108.
DVR 108 can further include at least one processor 306 for controlling the
operations of the DVR 108 and an output system 308 for driving a playback device
(e.g. , television 110). An input system 310 can receive user inputs provided via a wired or wireless input device such as, for example, a hand-held remote control, a transmitter with buttons or keys located on the exterior of the DVR, and/or a
keyboard.
Network interface 312 can transmit and/or receive data over a network such as a LAN, WAN, or the Internet. For example, data may be transferred to/from another DVR, received from a media signal source, or from a centralized server through
network interface 312. Such data could be media signals and or other data, such as
programming information, or other data capable of being stored and or displayed to
the user. Network interface 312 may comprise, for example, an Ethernet interface, an IEEE- 1394 interface, a USB (Universal Serial Bus) interface, a serial interface, a
parallel interface, a wireless radio frequency (RF) interface, a telephone line interface,
a power line interface, a coaxial cable interface, and/or an infrared (IR) interface,
among others.
Memory 314, which may include volatile and/or non- volatile memory, can store one or more programmed software applications, herein referred to as applications, which contain instructions that may be executed by processor 306 under
the direction of operating system 324. Input data used by an application can be stored
in memory 314 and read by processor 306 as needed during the course of the
application's execution. This input data may be data stored in memory 314 by a
secondary application or other source, either internal or external to DVR 108, or may
be data that was created with the application at the time it was generated as a software application program.
Internal storage 318 may comprise a recordable medium and may be a number
of devices available for non- volatile data storage, such as a hard disk drive (HDD),
optical drive, or flash memory, for example. Internal storage 318 may be used for
storing media data, such as encoded media signals generated from those signals received through communication interface 302 and/or network interface 312. According to some embodiments, it should be understood that media programming
can be digitally encoded before being stored on recordable medium by the DVR itself
or by means external from the DVR, such as the media signal source or a cable set-top box. Internal storage may also be used for storing non-media data, such as encryption keys and DRM information associated with stored media data.
Like internal storage 318, external storage 320 may also comprise a recordable
medium and may be a number of devices available for non- volatile data storage, such as an HDD, optical drive, or flash memory, for example. However, unlike internal storage 218, which is located within the DVR enclosure (/. e. housing) 319, external
storage 320 can be removably attached to DVR 102 through a communications
interface 322, which could be any number of wireless or wired interfaces, for
example.
Although only one external storage device may be used in some embodiments,
it is contemplated that external storage 320 may comprise a plurality of storage
devices 320a - 32On. For example, devices 320a - 32On could be a plurality of
HDDs. It can be appreciated that the one or more HDDs could be daisy chained, or
otherwise linked, to communicate with DVR 108 over the communications interface
322.
Although memory 314, internal storage 318, and/or external storage 320 have been described as potentially performing particular functions, according to some embodiments, these particular functions could be shared, or carried out completely, by
any other of the memory and/or storage devices.
Communication interface 322 could be a bus operating under the Advanced
Technology Attachment (ATA) standard, and more specifically, the Serial-ATA (/. e. SATA) standard version 2.5, which is available from the Serial ATA International Organization and is hereby incorporated by reference in its entirety. According to
such an embodiment, DVR 108 may include a communications interface comprising
an attachment port on the housing 319 of the DVR that cooperatively mates with the
plug of external storage 320. A cable complying with the high-speed bus (i.e. a cable complying with the SATA standards) may provide the transmission medium between external storage 320 and the DVR 108. According to other embodiments,
communications interface 322 could be a bus complying with the IEEE 1394 (Firewire), the Universal Serial Bus (USB), or IEEE 802.11 standards. It can be appreciated that a number of other communication interfaces 322 could be used.
One, or both of, internal storage 318 and/or external storage 320 could be used
for recording media data to a transportable medium that is capable of being easily
moved between a plurality of remote devices. For example, internal storage 318 and/or external storage 320 may be an optical drive configured to read and/or record
to/from an optical medium. The transportable medium could also be flash memory
such as used in USB thumb drives, smart digital (SD) memory or compact flash (CF)
memory, among others. Accordingly, DVR 108 may be configured to record media
data, which could comprise moving or copying media data from other storage devices,
to the transportable medium. DVR 108 may also be configured to read media data
from a transportable medium. Accordingly, the media data may be stored to a
transportable medium, and the media data on the transportable medium may then be read by other devices, such as another DVR associated with a customer account. In
that the media data is encrypted, embodiments disclosed herein describe systems and
methods for sharing the media content between remote devices while maintaining the ability to decrypt the underlying media data by authorized devices.
User input received during the course of execution of any processes implemented by DVR 108 may be received from an input device (not shown) via
input system 310, transmitted through the bus 300, temporarily stored within memory
314, and communicated to processor 306. Data generated by an application can be
stored in memory 314 by processor 306 during the course of the application's
execution. Availability, location, and amount of data generated by one application for consumption by another application can be communicated by messages through the
services of operating system 324.
Under user instruction, DVR application 328 can perform the general tasks of recording and/or playback of received programs, among other tasks. DVR application 328 can also provide a navigation framework for services provided by DVR 108. For
example DVR application 328 can register for, and in some case reserve, certain user inputs related to navigational keys such as channel increment/decrement, last channel, favorite channel, etc. DVR application 328 also provides users with television (or other programming) related menu options that correspond to DVR functions such as,
for example, providing an interactive program guide, blocking a channel or a group of
channels from being displayed in a channel menu, recording particular channels,
playback of recorded shows, etc..
Portions of DVR application 328 and/or operating system 324 may also
facilitate the encoding and decoding of media data and/or other information used in
the described systems and methods for securing media content using an interchangeable encryption key. Specifically, operating system 324 or DVR
application 328 may use a secure element, depicted as secure microprocessor 330,
and/or DVR content decrypt/encrypt element 342 to perform such encryption and/or
decryption.
For example, DVR content decrypt/encrypt element 342 includes a processor
for performing encryption and/or decryption of media content. For example,
decrypt/encrypt element 342 can decrypt the media content received from the head¬
end 102 or from other DVR components, such as internal storage 318 or external storage 320. DVR content decrypt/encrypt element 342 also encrypts and/or re- encrypts media content for storage to the internal or external storage mediums.
According to some embodiments, DVR content decrypt/encrypt element 342
can obtain keys for performing such encryption and decryption of media content from secure microprocessor 330. Secure microprocessor 330 may include a processor, such
as encryptor/decryptor 332, for encrypting and decrypting keys used by DVR content
decrypt/encrypt element 342 to perform encryption and decryption of media data.
Secure microprocessor 330 may include a memory 334 for storing a number of keys for encryption and/or decryption functions. For example, memory 334 can include a device key 336 stored therein, and one or more group key storage locations
338a - 338n for the storage of respective group keys, and an entitlement agent (EA)
key 340.
Device key 336 could be, for example, among others, a private key of the DVR
108. Device key 336 can be used to decrypt data encrypted with a public key
associated with the private device key 336. According to such embodiments, device key 336 is typically kept from being exposed outside of the secure microprocessor 330 in clear form.
The one or more group key storage locations 338 can be used to hold group
keys associated with a particular group of devices authorized to access (i.e., decrypt,
decode, etc.) common media content. Although referred to as a "group" key, it should
be understood that the group key could be associated with any number of devices, including zero. For example, a group could be a customer account. Although a
"group key" may be assigned to this group, there may not be any devices yet
associated with the customer account. A number of potential embodiments for using group keys are described below.
Nonetheless, in such embodiments, the group keys can be downloaded and stored into the group key storage locations 338a - 338n and can also be replaced and/or deleted
from these storage locations. Accordingly, the group keys are interchangeable. It should be understood that even though the group keys are interchangeable, in some embodiments the interchangeable keys may never, or seldom, change once stored
within group key storage 338. Storage locations 338a - 338n may comprise non¬
volatile memory locations, but could be volatile if the security policy of the service
provider requires that the group keys be re-supplied and stored to the group key storage locations upon a reset of the DVR 108, for example. For that matter, the
group keys may be restored to group key locations 338 periodically, according to
predefined policies (e.g. of the service provider).
Public EA Key 340 is a public key associated with private EA key 220.
Accordingly, public EA Key 340 can be used to verify that transmissions received
from the cable-head end (or other transmissions signed with private EA key 220) are
from a trusted source.
Secure microprocessor 330 can also include a controller 342 for controlling the operations of encryptor/decryptor 332 and/or for storing and/or retrieving the keys
to/from memory 314.
The applications executed by DVR 108 can comprise executable instructions for implementing logical functions. The applications can be embodied in any
computer-readable medium for use by or in connection with an instruction execution
system. The instruction execution system may be, for example, a computer-based
system, a processor-containing system, or any other system capable of executing
instructions. In the context of this document, a "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transport the program
for use by or in connection with the instruction execution system, apparatus, or device.
The computer-readable medium can be, for example, but is not limited to, an electronic, solid-state, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium, either internal to DVR 108 or externally connected to the DVR 108 via one or more communication ports or
network interfaces. More specific examples (a non-exhaustive list) of the computer-
readable medium would include the following: an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a hard drive
storage device (magnetic), a random access memory (RAM) (solid-state device), a
read-only memory (ROM) (solid-state device), an erasable programmable read-only
memory (EPROM or Flash memory) (multiple devices), an optical fiber (optical), and
a portable compact disc read-only memory (CDROM) (optical). Note that the
computer-readable medium could even be paper or another suitable medium upon
which the program is printed, as the program can be electronically captured, via for
instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer
memory.
Now that a general overview of the various components of system 100 have
been described, FIG. 4 depicts a flow diagram illustrating an embodiment of a method 400 for creating a group record 216 having a group key within database 214. For example, in some embodiments, the steps are executed by components within the
environment of the secure data delivery system 100.
Any process descriptions, steps, or blocks in the flow diagrams described herein and/or depicted in the attached figures should be understood as potentially
representing modules, segments, or portions of code which include one or more
executable instructions for implementing specific logical functions or steps in the
process. Alternate implementations are included within the scope of the preferred embodiments of the systems and methods described herein in which steps or functions may be deleted, executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved,
as would be understood by those reasonably skilled in the art.
At block 402, a group record is created. For example, as explained above, the group record may correspond to a subscriber account that is created in response to a request from a billing system among other possibilities. At block 404, a secure group
key is requested that can be associated with the group record. For example, in one
embodiment, DNCS 204 requests the secure group key from TED 202. At block 406,
the requested secure group key KGROUP is generated. At block 408 the group key
KGROUP is encrypted to ensure that it is not exposed. For example, the group key
KQROUP can be encrypted with the CAA Storage key 212, which may be referred to as
KcAA, to produce the encrypted group key E(KCAA(KGROUP))-
At block 410 the requested, encrypted group key E(KCAA(KGROUP)) is returned to the requestor. For example, according to one embodiment, the encrypted group key
E(KCAA(KGROUP)) is transmitted from TED 202 to DNCS 214. At block 412, the
encrypted group key E(KCAA(KGROUP)) can be stored and associated with the group record. For example, one embodiment stores the encrypted group key in database 214 of DNCS 204.
Accordingly, method 400 generates and associates a group key, in encrypted
form, with a particular group record. As described, the group could represent an account, a household, or other entity having common media access rights.
One or more remote devices can be associated with a group record. For example, a number of DVRs can be associated with a specific customer account.
Accordingly, a device record can be created for each device and each device record can then be associated with a respective group record. These device records may
contain a group key that has been encrypted with the respective device's public key. The encrypted group key can then be transmitted to the device, decrypted, and stored
within the device's secure microprocessor. These operations are, again, completed
without allowing exposure to the group key in an unencrypted form.
Thus, reference may now be directed to FIG. 5, which depicts a flow diagram
illustrating an embodiment of a method 500 for associating a trusted remote device
record with a group record, and for downloading the group key to the device. At
block 502 a request to add a device record can be received. For example, the request
can originate from a billing system and be received by DNCS 204. The request to add
the trusted device can include the identification of a specified device and specified
group record to be associated with one another. Accordingly, at block 504 an entry
for the new device record can be made within, or otherwise associated with, the group record. The device record can include a public key, KDEVICE-PUBLIC, that is associated with the private device key 336, KDEVICE-PRIVATE, of the respective remote device. Accordingly, in some embodiments, a device record 218 having such information is
stored within database 214.
Once the device record is generated, the group key to be associated with the device can be stored within the device record. However, in order to remain secure, the
group key is stored in an encrypted form that can be decrypted by the remote device.
Accordingly, at block 508 the group key stored in the respective group record can be
retrieved and decrypted. For example, group key E(KCAA(KGROUP))> encrypted with the CAA storage key 212, is decrypted to obtain the group key KGROUP in the clear.
At block 510 the device's public key KDEVICE-PUBLIC, is used to encrypt group key
KGROUP to generate ECKDEVICE-PUBLICCKGROUP))- Such encryption and decryption can be performed by TED 202, for example. At block 512, the encrypted group key can be signed to produce a group key
Entitlement Management Message (EMM), which is a signed message holding the
group key (encrypted by the device's public key). For example, a private entitlement
agent key KEA-PRIVATE, may be used by TED 202 to sign the EMM. In general, an EMM comprises an encrypted message containing private conditional access
information about the authority for a device to receive services, such as those provided
by a cable or satellite television operator. Accordingly, this group key EMM may
serve the purpose of providing a receiving remote device with the information needed
to conditionally decrypt media content received by and/or stored in the DVR 108. That is, the conditional access can be provided by the particular group key that is
capable of being used to decrypt media data encrypted with the group key.
At block 514, the group key EMM for the new device can be stored with the device record, and at block 516 the home key EMM can be transmitted to the remote device. At block 518, the signature of the EMM can be authenticated. For example,
the secure microprocessor of the receiving remote device may use a public entitlement
agent key KEA-PUBLIC associated with the private key used to sign the EMM (i.e. KEA-
PRΓVATE) to authenticate the EMM. If the EMM is successfully authenticated, at block 520 the EMM can be decrypted to obtain the group key KGROUP in clear (i.e. unencrypted) form. For example, the EMM can be decrypted using the secure element
private key KDEVICE-PRIVATE to recover the group key KQROUP- At block 522 the group
key can be stored into a free memory location associated with the device. For example, the device secure microprocessor can stores the group key KGROUP into
memory location 338, which cannot be accessed from outside of the secure
microprocessor. Accordingly, using the above process, the group key KQROUP can be transmitted from the head-end to the remote device without exposing the key in an unencrypted form.
Reference may also be made to FIG. 6, which depicts an exemplary data flow
diagram 600 that applies the methods 400 and 500 to embodiments of the secure data
delivery system 100. For example, a group record 216 can be created in database 214 (i.e. in response to a request from a billing system, etc.). At block 602, TED 202 can generate a group key KGROUP for association with the newly created group record 216.
However, in order to avoid non-secure exposure of the group key, at block 604 TED
202 encrypts group key KGROUP with CAA Storage Key KCAA, to produce encrypted
group key 606 E(KCAA(KGROUP)), which can be stored into the group record 216 of database 214.
When a trusted remote device (i.e. PVR, DVR, set-top box, etc.) is to be
associated with the group, an associated device record 218 is created (i.e. at the request of a billing system, etc.) and associated with a specified group record 216.
The device record may include a public key 608, referred to as KDEVICE-PUBLIC, that is
associated with a private device key 336 of the remote device. The device key 336 of
the remote device may also be referred to as KDEVICE-PRIVATE •
TED 202 retrieves the group key, encrypted with the CAA key 212, from database 214, denoted in FIG. 6 as E(KCAA(KGROUP)X for decryption at block 610. TED 202 decrypts E(KCAA(KGROUP)), using the CAA key 212 (i.e. KCAA) to obtain the
group key KGROUP- TED 202 can retrieve the device's public key KDEVICE-PUBLIC from database 214 and, at block 612 , the group key KGROUP can be encrypted using the
remote device's public key KDEVICE-PUBLIC to generate E(KDEVICE-PUBLIC(KGROUP))- At block 614, TED 202 signs the encrypted group key to produce a group key
Entitlement Management Message (EMM), which is a signed message including the
group key, as encrypted by the device's public key. The group key EMM 616 for the new device can be stored into the associated device record 218. The DNCS 204 (FIG. 2) can then retrieve the group key EMM 616
from database 214 and transmit the group key EMM to the remote device where, at
block 618, the device secure microprocessor 330 authenticates the EMM using the
public key KEA-PUBLIC 340 associated with KEA-PRIVATE 220. If the EMM is successfully authenticated, at block 620 the device secure microprocessor decrypts
ECKDEVICE-PUBLIC (KGROUP)) using the secure element private key KDEVICE-PRIVATE 336, thereby recovering the group key KGROUP- The device secure microprocessor can then
store the group key KGROUP into memory location 338. Memory location 338 cannot
be accessed from outside of the secure microprocessor, allowing KGROUP to remain
completely secure. Accordingly, the group key KGROUP can be transmitted from a
head-end to the remote device without exposing the group key in an unencrypted form.
Now that systems and methods have been described for provisioning the group
key to a particular remote device, such as DVR 108, methods for encrypting and
decrypting content using the group key are described. For example, FIG. 7 depicts a
flow diagram of a process 700 for encrypting media data using the group key stored within the secure microprocessor of the DVR 108. At block 702 an instance of media
content can be delivered to the remote device from a media source. For example, the
media delivery system 206 of cable head-end 102 can deliver media content to DVR 108.
In some cases, the media content delivered to the device may be encrypted. Accordingly, if necessary, at block 704 the media content is decrypted into clear
media content such as with DVR content decrypt / encrypt element 342. Additionally, according to some embodiments, the clear media content has been digitally encoded, either at the head-end or within the remote device. Thus, the clear media content may be embodied within media data, which is in the clear from encryption.
At block 706, a random number can be generated to use as a content key Kc
for encrypting the particular instance of media data that is, or will be, stored on a storage device associated with the remote device. At block 708 the instance of media
data can be encrypted with the generated content key Kc. Content key Kc can also be
used later for decrypting the associated instance of media data. At block 710 the
encrypted media data can be stored to a storage medium. For example, the media data
could be stored to internal storage 318 or external storage 320, among other data
storage locations. At block 712 the instance's respective content key Kc can be
encrypted with a group key KGROUP to produce an encrypted content key
E(KGROUP(KC)). At block 714, the encrypted content key E(KGROUP(KC)) can be securely stored on a storage medium and associated with the media data instance.
Reference may also be made to FIG. 8, which depicts an exemplary data flow diagram 800 that applies the embodiments of method 700 to embodiments of the
secure data delivery system 100. According to the embodiments of FIG. 8, the media source is depicted as cable head-end 102, which transmits an instance of encrypted media content 802 to the DVR 108. The instance of encrypted media content 802 is
passed to DVR content encrypt/decrypt element 342 for decryption into clear media
data 806 at block 804.
At block 808, the secure microprocessor 330 can generate a random number to use as a content key Kc for encrypting (or, rather, re-encrypting) the particular instance of media data.
According to some embodiments, in order to avoid the clear media data 806 being exposed in clear form, DVR content encrypt/decrypt element 342 encrypts clear media data 806 with the content key Kc generated by secure microprocessor 330. Thus, a secure tunnel is formed in order to pass content key Kc from secure
microprocessor 330 to DVR content encrypt/decrypt element 342. Specifically, at
block 812, the content key Kc is encrypted and passed to DVR content
encrypt/decrypt element 342. At key tunnel decrypt block 814, DVR content
encrypt/decrypt element 342 can decrypt content key Kc, to provide the content key
Kc in clear form. The content key can then be used to encrypt the clear media data
806 at block 816.
Accordingly, at block 816 DVR content encrypt/decrypt element 342 encrypts
the instance of media data with the content key Kc, and the encrypted media data 818
(i.e. E(KC(MEDIA-DATA))) can be stored to a storage device, such as internal storage
318. At block 820 the secure microprocessor 330 encrypts the instance's content key
Kc with a group key KQROUP stored in the secure microprocessor 330 to produce an encrypted content key 822 (i.e. E(KGROUP(KC))) and stores the encrypted content key 822 securely to a storage device, such as internal storage 318.
Now that systems and methods for encrypting an instance of media content using a group key have been disclosed, system and method embodiments for decrypting media content using the group key are described. For example, FIG. 9 depicts a flow diagram of a process 900 for decrypting media data using the group
key.
At block 902 a request to decrypt an instance of media data previously encrypted with an associated content key Kc is received. For example, DVR application 328 may receive a request from a user to view a particular television show
corresponding to the instance of encrypted media data 818 (FIG. 8). At block 904, the
appropriate key for decrypting the media data is determined and the encrypted content key E(KGROUP(KC)) is retrieved from the storage medium. The DVR 108 may, for example, keep a table or other data structure that associates the encrypted content keys
E(KGROUP(KC)) with the instances of encrypted media data. Accordingly, such a table
can be accessed to find the encrypted content key E(KGROUP(KC)) associated with the instance of encrypted media data.
At block 906 the encrypted content key E(KQROUP(KC)) can be decrypted with the group key to retrieve the content key Kc- At block 908 an instance of media
content encrypted with content key Kc is retrieved. At block 910 the instance of
media data can be decrypted with its associated content key Kc to obtain the instance
of media data in the clear. The decrypted media can, for example, be used for
decoding and/or display on television 110 or for other purposes.
Reference may also be made to FIG. 10, which depicts an exemplary data flow diagram 1000 that applies method 900 to embodiments of the secure data
delivery system 100. Upon receiving a request for a particular instance of media
content, at block 1002 DVR 108 can receive and decrypt the encrypted content key
E(KGROUP(KC)) associated with the encrypted media data E(KC(MEDIA-DATA)) from the storage medium.
At block 1004 the DVR content encrypt/decrypt element 342 receives and decrypts the instance of media data E(KC(MEDIA-DATA)) with the associated
content key Kc to produce clear media data 1006. The decrypted media data can then be used for decoding and display on a display device, such as television 110.
According to some embodiments, similar to the encryption tunnel described with respect to FIG. 8, secure microprocessor 330 encrypts content key Kc at block
812 in order to securely deliver the content key to DVR content encrypt/decrypt
element 342. DVR content encrypt/decrypt element 342 can then decrypt content key Kc using key tunnel decrypt 814 in order to decrypt the instance of media content at
block 1004, as described above.
Accordingly, systems and methods have been described for securing media content using an interchangeable encryption key, which has been referred to from time
to time as a group key. Such systems and methods can be used to allow multiple
remote devices that share an identical group key to also share associated stored media
data. That is, any media data encrypted using a specified group key can be decrypted
by any device having access to that same group key.
According to one embodiment, the group can correspond to a customer
account. For example, assuming that each DVR associated with a customer account is
authorized to decrypt and view common content, a single group key could be shared among the DVRs associated with the customer account (i.e. using method embodiment 500).
Such an embodiment can be used to share media content between a number of
digital media devices (i.e. DVRs 108 and 108a) at a user premises 104 (FIG. 1) or any
other digital media devices which share the same group key. Such media content could be shared over the communications medium 112 or via a transportable storage
medium (e.g. via external storage 320, among other transportable storage mediums).
Using such an approach, a first DVR may record media content to external storage
320 and the associated encrypted content key can also be stored to external storage 320. The encrypted media content and associated encrypted content key can then be transferred to the second DVR (i.e. external storage 320 can be attached to the second DVR or the encrypted media content and encrypted content key can be transferred over communications medium 112). Because both the first and second DVR have matching group keys, the second DVR can then receive and decrypt the associated encrypted content key with the group key in order to recover the encrypted media content.
Although one embodiment may share common group keys among devices having a common customer account, other schemes are intended to be included within
the scope of this disclosure. For example, based on rules determined by the media
provider (e.g. cable operator, etc.), the keys could be shared between groups of
customers having different subscriber accounts but having common subscription
plans. Such a plan could, for example, allow the remote devices of friends sharing the
same media access provisions to be capable of sharing media data between their
respective remote devices. Such media data could be shared over a LAN, wide-area
network (WAN), or via attachment of a portable storage medium, such as, a recordable optical disk, or an external HDD, among others.
Thus, one potential benefit is that media content encrypted by another device can be decrypted and used by any other device sharing the interchangeable group key.
Such a benefit can be helpful in the case that an end user upgrades or replaces the
remote device. In such a case, the media data encrypted a first remote device can be transferred to, or otherwise made available to, the new remote device. The new remote device can then be provided with the one or more group keys of the old remote
device (i.e. according to an embodiment of process 500), thereby allowing the media
data content to be decrypted by the new remote device (i.e. according to an
embodiment of process 900).
Just as one or more group keys can be provided to a particular remote device,
the one or more group keys can be removed and/or replaced. For example, an EMM may be transmitted to a remote device that clears any or all of the group keys, or otherwise replaces one or more group keys with keys that are unable to decrypt the content keys previously used to encrypt at least some of the media data stored on an associated storage device.
Thus, a media provider could remotely control whether a user can access any of the stored media content on the device by selective removal of any of the group
keys. Thus, upon receiving an un-subscription request from a user, a cable television
provider could remove the ability to view content already stored on the storage device
instantaneously and securely. Because the group keys can be provisioned based on the
access rights of the customer, such deactivation may merely cause only selected media
content to become unavailable. For example, the cable operator may provision group
keys for users that subscribe to premium television channels, and the instance keys
used to record media content from these premium television channels can be
selectively encrypted with the associated group key. If such a "premium content" group key is then removed from the remote device upon a customer's unsubscription from the premium television channel, content previously recorded is no longer accessible by the user. Such remote deactivation could also be used to remotely and
securely de-authorize non-paying subscribers.
Conditional language, such as, among others, "can," "could," "might," or "may," unless specifically stated otherwise, or otherwise understood within the
context as used, is generally intended to convey that certain embodiments could
include, but others do not include, certain features, elements and/or steps. Thus, such
conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more embodiments or that one or more
embodiments necessarily include logic for deciding, with or without user input or
prompting, whether these features, elements and/or steps are included or are to be
performed in any particular embodiment.
It should be emphasized that many variations and modifications may be made to the above-described embodiments, the elements of which are to be understood as being among other acceptable examples. All such modifications and variations are
intended to be included herein within the scope of this disclosure and protected by the
following claims.