So that the manner in which the above recited features of the present invention can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.
To facilitate understanding, identical reference numerals have been used, wherever possible, to designate identical elements that are common to the figures.
The local network 102 may comprise a home network that includes a personal video recorder (PVR) 104 and a plurality of portable video player (PVP) devices 1061 . . . N. Each of the devices 1061 . . . N may comprise a cellular phone, a portable laptop computer, a personal digital assistant (PDA), or any like device with a screen display. The PVR 104 is typically a single device (e.g., a set top box (STB), a digital video recorder (DVR), a personal computer (PC), etc.) that may function as a media gateway or hub for the local network 102. In addition, the PVR 104 may be configured to transfer stored digital content data 112 and content keys to the devices 1061 . . . N. Similarly, the PVR 104 may also receive content keys from the devices 1061 . . . N. Depending on the embodiment or the type of devices, the PVR 104 and the PVP devices 1061 . . . N may communicate and transfer digital content data over a physical medium, such as a memory card or a wired connection. Similarly, the communication between the PVR 104 and devices may also be conducted via a wireless connection such as infrared, BLUETOOTH, 802.11, or other like technology.
The PVR 104 comprises both a disk storage area 116 and a secure storage area 110. The disk storage area 116 may comprise a hard disk, a memory cache, or like component that contains the stored encrypted digital content data 118 (e.g., subscription television content, pay-per-view content, etc.). The secure storage area 110 may comprise a secure smart chip or the like, which cannot be accessed by the host device, or a specially encrypted portion of a non-volatile memory. The original content keys 114 (e.g., content decryption keys) are stored in the secure storage area 110.
The content provider 108 may comprise a cable headend that broadcasts digital content data (e.g., television programs). In one embodiment, the content provider 108 distributes digital content utilizing a conditional access system, and the PVR 104 receives, decrypts, and then subsequently re-encrypts and stores that content in its hard disk.
In one embodiment of the present invention, a PVR device 104 is used to transfer stored digital content data 118 to a requesting PVP 106. Initially, the PVR 104 receives a request for stored digital content 118 from a PVP 106 (e.g., the PVR user's cellular phone). The requested digital content data 118 stored on the PVR 104, however, may be restricted so that only a certain number of copies may be permitted to exist. For example, the stored digital content 118 may be characterized as having a “copy once” permission where only one usable copy of the content may exist (e.g., either on the PVR 104 or a PVP 106) at any given time. Consequently, the present invention may be used to “disable” or delete the content key associated with the digital content 118 stored on the PVR 104 so that it will not be accessible during the time the digital content is being utilized by the requesting PVP 106 device. By disabling the content key of the stored digital content 118, the PVR 104 is also permitted to retain the present version of the digital content data, which may be of higher quality than the version that is to be transferred to the PVP 106. For example, a PVR 104 may contain video that is encoded in a high definition (HD) format. When the PVR 104 receives a request for the video from a PVP 106, the PVR 104 transcodes the movie content into a format (i.e., an instance or version) that can be viewed by the PVP 106 (e.g., SD, CIF, and the like). Specifically, the new compatible format is a downgraded version (as compared to the original version) so that the resolution requirements of the PVP 106 may be met. Therefore, instead of permanently removing the original digital content 118 from the PVR 104 in order to adhere to the “copy once” restriction, the associated content key may be “disabled” or partially deleted so that the original content 118 cannot be viewed by the PVR 104. The same approach applies when the original content resolution is acceptable for the PVP 106, but the content is transcoded to a lower bit rate, that is, a lower quality, so as to reduce the amount of storage required at the PVP 106.
Before the original content key is disabled or deleted, a new content key is created to encrypt the transcoded version of the original digital content 118. In one embodiment, the new content key comprises a portion of the original content key. For example, the new content key may utilize a “generator seed” of the original content key, thereby effectively disabling the original content key (since only a “partial” original content key remains). Specifically, the original content key is disabled by transferring “half” of the key to the destination PVP 106 device as part of a new content key. In one embodiment, the PVR 104 may initially generate a plurality of randomly generated “seeds”, e.g., S1, S2, and S3, during a key generation process. The original content key may be generated from two of the seeds (e.g., S1 and S2), for example, by processing the two seeds through a one-way cryptographic function. Alternatively, the content key may be created by combining the two seeds using a simpler function. In the event of a digital content transfer, a new content key may be derived by using one of the seeds (e.g., S2) that is used to create the original content key along with an originally “unused” seed (e.g., S3). For example, a one way function can be employed on the two “generator” seeds (e.g., S2 and S3) to generate the new content key. After encrypting the new version of the content with the new key, the new content key, as well as S2, is subsequently provided to the PVP 106, and the original content key is deleted in the PVR. Transferring S2 but not S1 ensures that neither the PVR nor the PVP can generate the original key. Subsequently, returning S2 securely to the PVR re-enables its content. Equivalently, instead of transferring the new key and S2 to the PVP, S2 and S3 can be transferred, and the PVP can recreate the new key by using the same generator function as used in the PVR.
After the transcoded digital content is securely moved to the requesting PVP 106, the content must retain a unique identity in order to facilitate the eventual transfer back to the PVR 104. If the original content key has been completely or partially deleted from the PVR 104 during the process of moving the digital content to the PVP device 106, then the identifier itself does not need to be secured. Notably, the content's intrinsic protection is that the associated key only provides value to a user if the identifier is not altered. If the original key had not been deleted or partially deleted from the PVR 104, but instead only disabled with the expectation of eventual re-use, then the identifier would have to be protected securely (e.g., with a secure protocol) so that the digital content is always matched to the corresponding identifier.
For example, in one embodiment, the PVR 104 is configured to reconstruct the original content key after receiving back the relevant information from the PVP 106. Notably, the PVR 104 acquires the same seed (e.g. S2) that was used in creating the original key, as well as having the PVP remove its stored copy of the new content key and also S2. Consequently, the full-quality copy of the “disabled” digital content will be accessible after the original content key is reconstructed.
In the event the digital content needs to be reinstated to the PVR 104 from the PVP device 106 (presumably after viewing), the encrypted digital content stored on the PVP 106 is not electronically transferred back to the PVR 104. Typically, the digital content utilized by the PVP 106 is in a lower resolution or lower quality format as compared to format of the original digital content stored on the PVR 104. Thus, there is no reason to expend the time and resources that are needed to securely move the inferior digital content back to the PVR device 104 since the original digital content is already stored in a “disabled” format (i.e., the content is still present, but the content keys needed to decrypt the content are disabled). Therefore, the action of “moving back” content is actually the transfer back of the PVP's content key seeds (or at least the portion S2 that was removed from the PVR) to indicate the user's intention of disabling/deleting the content on the external device, and re-enabling it on the PVR 104 in its full quality version. The PVP should not retain a copy of S2 nor the key generated from S2 and S3.
Alternatively, one way to implement such a “re-enable” function is to send back both S2 and S3, (or equivalently, S2 and the new content key) and have the PVR 104 security subsystem check S3 or the new content key using its prior copy of S3. In any case, once the secure transfer back is completed, the PVR 104 can re-enable its high quality stored content and make it available to the PVR 104 user. In another embodiment, the PVR 104 may be configured to save a hash value of the original content key for later validation purposes. Namely, a validation/verification procedure may be conducted after the original content key is reconstructed by comparing the original content key hash value to the reconstructed content key hash value. If the respective hash values are identical, then the reconstructed content key is validated.
At step 206, the requested digital content is prepared for transfer. In one embodiment, the PVR 104 identifies the type of device requesting the content and prepares the digital content for compatibility. For example, the PVR 104 transcodes the digital content data (e.g., HD to SD) into a format that is more appropriate to the PVP 106.
At step 208, a new content key for the transcoded content is generated. In one embodiment, a new content key for the requested digital content is created by acquiring a generator portion (i.e., a generator seed) of the original content key and incorporating it as a portion of the new content key. Namely, the new content key for the requested digital content data is formed by merging the generator portion of the original key along with a second content key “portion” (e.g., using seeds as mentioned above). Step 208 includes the encryption of the transcoded content by the PVR 104.
At step 210, the requested digital content data, the new content key, and a generator seed (e.g., S2) of the original key are transferred. In one embodiment, the requested digital content data and corresponding content keys are securely transferred to the requesting PVP 106. In one embodiment, step 210 effectively disables the original content key stored in the PVR 104, as a portion of that key, or one of its generators, no longer exists in the PVR. The secure transfer of the digital content and keys may comprise any method that is known in the art (e.g., MOTOROLA ESBroker™ protocol, or a Diffie Hellman based protocol). In another embodiment, seeds S2 and S3 are transferred to the PVP 106, which subsequently uses S2 and S3 to reconstruct the new content key. The method 200 then ends at step 212.
At step 306, a content key field is received by PVR 104 over a secure protocol. In one embodiment, the content key field contains two portions. One portion of the content key field constitutes a part (e.g., the seed S2) of the original content key that was produced in step 208 of method 200 and is needed to decrypt the digital content data stored on the PVR 104. The other portion is the content key (or equivalently, S3) that was utilized to decrypt the transcoded digital content data initially provided to the PVP 106 (see method 200). In another embodiment, the PVR 104 may be configured to save a hash value of the original content key for later validation purposes. Namely, a validation/verification procedure may be conducted after the original content key is reconstructed by comparing the original content key hash value to the reconstructed content key hash value. If the respective hash values are identical, then the reconstructed content key is validated.
At step 308, the original content key is recreated. In one embodiment, the PVR 104 reconstructs the original content key by merging the remaining stored portion from the original content key (i.e., the “non-extracted” portion) and the recently obtained content key portion (from step 306).
At step 310, the original content key is used to re-enable the previously stored digital content data. In one embodiment, the PVR 104 utilizes the recently reconstructed original content key to access the stored higher quality digital content data. The method 300 ends at step 312.
In one reduced security extended embodiment, a time limit functionality may be implemented in conjunction with the present invention. Notably, the secure hardware subsystems on both the PVR 104 and the external unit (e.g., PVP 106) may be configured to re-enable (in the PVR) and delete or disable (in the PVP) the digital content data at a common predefined time. Essentially, the secure move procedure described above would be implicitly accomplished in an automated pre-planned fashion. Therefore, the need for a user to physically bring a PVP back to the PVR for a digital content transfer would be unnecessary so long as the DRM system in use supports secure time on the PVR 104 and the PVP 106. This can only work if the PVR content disable process retains a local copy of the original key, or S2 parameter, hence the “reduced security.” Thus for this extension feature, greater trust must be placed in the PVR secure hardware.
It should be noted that the present invention can be implemented in software and/or in a combination of software and hardware, e.g., using application specific integrated circuits (ASIC), a general purpose computer or any other hardware equivalents. In one embodiment, the digital content management module or process 405 can be loaded into memory 404 and executed securely by processor 402 to implement the functions as discussed above. As such, the present digital content management module 405 (including associated data structures) of the present invention can be stored securely on a computer readable medium or carrier, e.g., RAM memory, magnetic or optical drive or diskette and the like.
While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of a preferred embodiment should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.