US 20060198519 A9
According to one embodiment, an apparatus involves the descrambling of scrambled digital content using a one-time programmable key and digital rights management. The apparatus comprises a processor and a descrambler. The processor is adapted to execute a Digital Rights Management (DRM) function in order to determine whether each entitlement needed to access the digital content is pre-stored. The descrambler is adapted to decrypt encrypted information using a Unique Key stored within the one-time programmable memory. After determining that each entitlement needed to access the digital content is pre-stored, the decrypted information is used to generate a key, which is used to decrypt at least one service key for descrambling the scrambled digital content.
1. A method for descrambling scrambled digital content within a subscriber terminal device, comprising:
conducting digital rights management by a first component of the subscriber terminal device to determine whether entitlements needed for accessing digital content in a descrambled format are available to the subscriber terminal device; and
deriving a key within a second component of the subscriber terminal device logically separate from and independent of the first component in response to determining that all of the entitlements are needed for accessing the digital content are available to the subscriber terminal device, the key being used to decrypt service keys used for descrambling the scrambled digital content.
2. The method of
3. The method of
prompting a subscriber of the subscriber terminal device to purchase an entitlement if the entitlement is needed to access the digital content and is currently unavailable to the subscriber terminal device.
4. The method of
5. The method of
sending a message to a headend upon selection of the selectable field, the message being a request for a selected entitlement to be sent to the subscriber terminal device.
6. The method of
7. The method of
8. The method of
9. An apparatus adapted to receive and descramble scrambled digital content, comprising:
a processor to execute a Digital Rights Management (DRM) function to determine whether each entitlement needed to access the digital content in a descrambled format is pre-stored; and
a descrambler to decrypt encrypted information using a Unique Key stored within a one-time programmable memory of the descrambler, the decrypted information being used to generate a key that is used to decrypt at least one service key used to descramble the scrambled digital content and recover the digital content upon determining that each entitlement needed to access the digital content is pre-stored.
10. The apparatus of
11. The apparatus of
12. The apparatus of
13. The apparatus of
14. The apparatus of
15. The apparatus of
16. The apparatus of
17. The apparatus of
18. An integrated circuit device adapted to descramble incoming scrambled content, comprising:
a first component to execute a Digital Rights Management (DRM) function; and
a second component including a one-time programmable memory storing a Unique Key and operating fully independent from the DRM function, the second component, when operable, to decrypt encrypted information using the Unique Key, the decrypted information being used to generate a key that is used to decrypt at least one service key used to descramble the scrambled content upon determining that each entitlement needed to access the content is stored within the integrated circuit.
19. The integrated circuit device of
20. The integrated circuit device of
21. The integrated circuit device of
This application is a continuation-in-part application of U.S. patent application Ser. No. 10/388,002 filed Mar. 12, 2003, which claims the benefit of priority on U.S. Provisional Application No. 60/424,381 filed on Nov. 5, 2002.
Embodiments of the invention relate to digital communications. More specifically, one embodiment of the invention relates to a system, apparatus and method for digital rights management using one-time programmable keys.
2. General Background
Analog communication systems are rapidly giving way to their digital counterparts. Similarly, the explosive growth of the Internet and the World Wide Web have resulted in an increase of downloadable audio-visual files, such as video files, MP3-formatted audio files, and other digital content.
Simultaneously with, and in part due to this rapid move to digital communications system, there have been significant advances in digital recording devices. Digital versatile disk (DVD) recorders, digital VHS video cassette recorders (D-VHS VCR), CD-ROM recorders (e.g., CD-R and CD-RW), MP3 recording devices, and hard disk-based recording units are but merely representative of the digital recording devices that are capable of producing high quality recordings and copies thereof, without the generational degradation (i.e., increased degradation between successive copies) known in the analog counterparts.
The combination of movement towards digital communication systems and digital recording devices poses a concern to content owners such as the motion picture and music industries, who are reluctant in providing downloadable digital content due to fears of unauthorized and uncontrolled copying such digital content. In response, digital rights management schemes have been deployed into set-top boxes that receive digital content from providers of such content.
“Digital Rights Management” (DRM) is a mechanism for ensuring that digital content is properly handled in accordance with the rights granted by either a content owner or a content provider. Previously, DRMs were configured to perform simple conditional access to broadcast content. This processing was accomplished by a cryptographic coprocessor or peripheral hardware such as a smart card operating in cooperation with the main central processing unit (CPU). While this configuration may have provided secure delivery of the digital content to the subscriber, it suffered from the cost of a separate security circuit, failed to fully ensure security of the digital content after delivery, and was difficult to reprogram for new rules imposed by the content owner or content provider. Modern set-top boxes can now store content for future viewing, and they can network content to other devices through digital interfaces, e.g. Ethernet, IEEE 1394 or HDMI. The rules for handling content have grown as a result. It would be desirable to flexibility and dynamically address content handling rules as they evolve while maintaining cost effective security of decryption keys.
Embodiments of the invention are illustrated by way of example and not by way of limitation in the accompanying drawings, in which like references indicate similar elements and in which:
Various embodiments of the invention relate to an apparatus, system and method for controlling entitlements concerning digital content received from a content provider. Examples of a “content provider” include, but are not limited to a terrestrial broadcaster, cable operator, direct broadcast satellite (DBS) company, a company providing content for download via the Internet, or other source of content. Such control is provided by digital rights management logic loaded within a subscriber terminal device and separate from, but operating in cooperation with key generation logic.
More specifically, the digital rights management logic functions separate from key generation, which is conducted internally by the descrambler. The DRM is executed by the main processor of the subscriber terminal device. Updates to the DRM can be downloaded to the subscriber terminal device. Key generation is conducted by the descrambler, which can be non-processor based hardware, and therefore, fully independent of the DRM functionality and eliminating the need for a separate cryptographic processor. This approach maintains a higher level of security over the content than software only approach that attempt to handle both DRM and key generation because hardware based security is often more difficult to probe and reverse engineer.
In the following description, certain terminology is used to describe features of the invention. For instance, the terms “component” or “logic” are each representative of hardware and/or software configured to perform one or more functions. Examples of “hardware” include, but are not limited or restricted to an integrated circuit such as a processor (e.g., microprocessor, application specific integrated circuit, a digital signal processor, a micro-controller, etc.), finite state machine, combinatorial logic or the like.
An example of “software” includes a series of executable instructions in the form of an application, an applet, a routine or sub-routine. The software may be stored in any type of machine readable medium such as a programmable electronic circuit, a semiconductor memory device such as volatile memory (e.g., random access memory, etc.) and/or non-volatile memory (e.g., any type of read-only memory “ROM”, flash memory), a floppy diskette, an optical disk (e.g., compact disk or digital video disc “DVD”), a hard drive disk, tape, or the like.
Herein, the term “process block” represents hardware and/or software having a dedicated function, such as decryption, encryption, hashing or the like.
According to one embodiment of the invention, subscriber terminal device 110 may be configured in accordance with an embedded architecture, where subscriber terminal device 110 is implemented as a set-top box that comprises fixed, internal logic supporting both digital rights management (DRM) and descrambling operations. This internal logic is identified as a digital device 115.
When implemented as a set-top box, subscriber terminal device 110 may be coupled to other components in content delivery system 100 via a second transmission medium 120. Second transmission medium 120 operates to transmit program data between subscriber terminal device 110 and other components in content delivery system 100.
Depending on the type of product corresponding to subscriber terminal device 110, content delivery system 100 may include one or more of the following components: an audio system 130, a digital VCR 140, a hard disk recording unit 150, a display 160, a control unit 170 and a secondary subscriber terminal device 180.
Herein, as shown, audio system 130 provides audio playback and storage capabilities when the program data includes audio files. Digital VCR 140, such as a D-VHS VCR, and hard disk recording unit 150 provides recording and playback of program data. Audio system 130, digital VCR 140 and hard disk recording unit 150 are in communication with subscriber terminal device 110 and other components of content delivery system 100, such as display 160, control unit 170 and secondary subscriber terminal device 180, via second transmission medium 120.
Display 160 may include a high definition television display, a monitor, or another device capable of processing digital video signals. Control unit 170 may be in communication with second transmission medium 120. Control unit 170 may be used to coordinate and control the operation of some or each of the components on content delivery system 100.
Secondary subscriber terminal device 180 may be part of a home entertainment network that supports the retransmission of data to a variety of components placed throughout a home, business or any other facility.
Although subscriber terminal device 110 is configured in accordance with an embedded architecture so as to include digital device 115 with DRM functionality, it is contemplated that subscriber terminal device 110 may be configured in accordance with a split security architecture. Herein, subscriber terminal device 110 may be adapted to receive a removable smart card with the digital device 115 deployed thereon.
As shown in
After being obtained, an exemplary order of data propagation as shown in
As an illustrative example, a first access requirement may indicate that digital content 230 may be replayed “X” times, where X≧1. A second access requirement may indicate that digital content 230 is pay per play (PPP) or pay per view (PPV) scrambled digital content that may be played only during a prescribed time period. A third access requirement may indicate that digital content 230 cannot be recorded (“0” times) or can be recorded “X” times.
Alternatively, it is contemplated that access criteria 260 may be transmitted along with or as part of an ECM 240, which is generally used to regulate access to a particular channel or service. ECM 240 may comprise a key (e.g. control word) to descramble incoming scrambled digital content.
EMM 250 may be used to deliver access rights (sometimes referred to as “entitlements”) 270 to digital device 115. Examples of certain entitlements 270 may include, but are not limited to keys, digital certificates, access parameters directed to replay, retransmission and/or recordation features of the subscriber terminal device 110. Normally, EMM 250 is received prior to digital content 230 and may be sent in-band (as shown) or out-of-band via a side-band channel for example. These entitlements 270 may be downloaded well in advance of receipt of their corresponding digital content 230.
Of course, other control information 280 may be provided in EMM 250. For instance, control information 280 contained in EMM 250 may comprise a removable device identifier (ID), which is a bit value that is used to indicate a particular type and/or manufacturer of subscriber terminal device 110. Control information 280 of EMM 250 may comprise a length field, which is a bit value used to indicate the length of EMM 250. Control information 280 of EMM 250 may further comprise one or more key identifiers, which are multi-bit entitlement tag values that are signed for use in checking whether any key of EMM 250 has been illicitly altered.
Control information 280 of EMM 250 may further comprise one or more of the following: a Manufacturer identifier (Manufacturer ID) being a predetermined value (e.g., one or more bits such as 16-bits) that identifies a manufacturer of digital device 115; a Service Provider ID being a value that identifies the content delivery system provider as well as the selected distribution scheme (e.g., cable, satellite, terrestrial or Internet company supplying the requested program data); a Conditional Access (CA) Provider ID being a value that identifies the provider of CA control system; or a Sequence Number being used for reordering packets of information if a key is more than one packet in length, and in certain systems, may also be used to indicate expiration of various control information.
When digital content 230 in a scrambled format is received by subscriber terminal device 110, the access requirements 260 within program data 210 are compared to entitlements 270 that subscriber terminal device 110 actually has. Such comparison is accomplished within digital device 115 as described below in detail.
According to one embodiment of the invention, in order for subscriber terminal device 110 to display the scrambled content in clear form for example, access requirements 260 associated with digital content 230 are compared to entitlements 270 previously assigned to subscriber terminal device 110. The entitlements 270 may state that subscriber terminal device 110 is entitled to view/playback content from a given content provider such as Home Box Office (HBO), for example. The entitlements 270 may also include one or more keys needed to descramble the digital content. The entitlements 270 also may define time periods for which subscriber terminal device 110 may descramble digital content 230.
Thus, in one embodiment, access requirements 260 and entitlements 270 are used by a digital rights management (DRM) function to determine whether digital device 115 is authorized to view a particular program. Although this illustrative embodiment focuses on mechanisms to recover audio/visual content such as television broadcasts or purchased movies, it is contemplated that the invention is also applicable to the descrambling audio-only or image-only content only (e.g., digitized music files, digital pictures, etc.).
As seen in
For this embodiment of the invention, it is contemplated that headend 310 maintains all entitlements for digital device 115 of subscriber terminal device 110, which operates as a decoder. It is contemplated that other embodiments for maintaining entitlements may be deployed.
Headend 310 is adapted to deliver entitlements, such as one or more (N) keys 330 1-330 N for example, encrypted by encryption logic 340 using a key 350 stored or produced within digital device 115. For instance, this key 350 is a “Root Key,” which is a deterministic key based on a collection of information such as one or more keys, portion of digital content 230, a Unique Key as set forth below, or any combination thereof. For clarity, keys 330 1-330 N shall be generally referred to as “Service Key(s)” or “SK” 330. The Service Key(s) 330 are encrypted using Root Key 350 (referenced as “E(SK) 335”) and are provided to subscriber terminal device 110 for local storage via network 320.
As described below, Service Key(s) 330 are stored in their encrypted form, and loaded from storage as needed. Upon loading, any one of encrypted Service Key(s) 330 is decrypted within digital device 115 by using Root Key 350 and perhaps a unique key stored in a storage element of digital device 115 as described below.
For this embodiment of the invention, digital device 115 may be implemented as a printed circuit card, multi-chip module, or even a single chip solution. Herein, digital device 115 comprises a processor 360, an optional memory 370, a descrambler 380 being an integrated circuit (IC) that handles the secure processing of incoming content, and an interface 390. Memory 370 may be used for storage of encrypted Services Key(s) 335, DRM function 375 for execution by processor 360 or the like. Therefore, memory 370 may be non-volatile, volatile or a combination of volatile and non-volatile memories.
According to one embodiment, descrambler 380 comprises a storage element 400, a decryption block 410 and descrambling logic 420. Descrambler 380 features no processor, no firmware and no software; namely it is a non-processor based descrambler. No software instructions or code is executed within descrambler 380. Cryptographic operations (e.g., decryption, hashing, etc.) are performed by decryption block 410 which, according to one embodiment of the invention, is implemented as a hardware circuit or state machine using only a single key function for decryption. According to another embodiment of the invention, decryption block 410 is implemented as a sequence of process blocks forming a key ladder arranged to produce a key (e.g., Root Key 350) to recover at least one Service Key 330 i(1≦i≦N) for descrambling (or assist in the descrambling) of the incoming scrambled content (see
One or more unique keys 430, generally referred to as “Unique Key” 430 herein, may be programmed into storage element 400 during manufacture. For example, in one embodiment, storage element 400 implemented within descrambler 380 that can be written only once. When subscriber terminal device 110 is manufactured, storage element 400 is programmed. In this embodiment, there is no way to either improperly read or overwrite Unique Key 430 that was originally loaded into storage element 400. An association between a serial number of subscriber terminal device 110 and Unique Key 430 loaded into descrambler 380 may be recorded and subsequently made available to headend 310.
In one embodiment of the invention, Service Key(s) 330 is used as a descrambling key to descramble the content directly. In another embodiment of the invention, Service Key(s) 330 is used to decrypt one or more descrambling keys, which are received in-band with the scrambled digital content and subsequently used for descrambling purposes. Where Service Key(s) 330 feature more than one key, each key 330 1-330 N may be encrypted using different public and proprietary encryption algorithms. These different proprietary algorithms may be considered as any-piracy measures to invalidate clone hardware.
Referring still to
While this embodiment works in one-way (non-IPPV) broadcast networks, it also performs in two-way, interactive networks, where Service Key(s) 330 for a particular service is requested, such as IPPV or VOD purchases or any other non-subscription service. A return channel 321 is used to request a particular Service Key 330i because the ability to grant access to a new service is performed by headend 310 instead of a local controlling cryptographic processor.
In order to avoid overload problems at headend 310 caused by a large number of simultaneous impulse buys of IPPV programs, a Free Preview period can be determined and IPPV programs can be marketed in advance of the actual viewing. In this embodiment, service keys for individual shows or movies may be requested by subscriber terminal device 110 and delivered ahead of time. For example, interactive networks, such as a cable system having return channel 321 such as a DOCSIS modem or Out-of-Band transmitter/receiver for example (see
An MPEG Demultiplexer 510 operates as a message processor to extract the Channel or Service ID. The Channel or Service ID is routed to processor 360, which in combination with interface 390, operating as transmitter/receiver logic, generates the RSK message for routing to headend 310 over return channel 321.
Although not shown, the headend processes the RPK message. The RPK message may contain an address of subscriber terminal device 110 as well as information needed to identify the channel to be viewed (all of which may be obtained from Motion Picture Experts Group “MPEG” system and program information already processed by the insecure processor). The RPK message may be encrypted, if desired, for non-repudiation and prevention of denial of service attacks, such as IPPV or VOD requests for example.
Upon receipt of the RPK message, the headend accesses entries of an access control list (listing each entitlement of subscriber terminal device 110) and verifies subscriber terminal device 110 is authorization to receive a particular Service Key (e.g. SK 330 i). If authorized, the headend sends E(SK) 335i (SK 330 i encrypted using a copy of Root Key 350 based in part on Unique Key 430 contained in storage element 400 located in descrambler 380) to subscriber terminal device 110.
In response, E(SK) 335i is received by interface 390 and routed to processor 360. Processor 360 may store E(SK) 335 i in internal memory, external memory 370 or provide SK 335 i to descrambler 380 for descrambling incoming scrambled content in real-time. For instance, memory 370 is an optional component for use if it is desirable to storage the E(SK) 335 i locally.
E(SK) 335 i, along with seed information to generate Root Key 350, are provided to subscriber terminal device 110 through EMM or other control information and stored. These entitlements are subsequently compared to access requirements by a DRM processed by processor 360 or perhaps processing logic implemented within descrambler 380. DRM is recovered from memory 370 or on-chip internal memory of processor 360.
Upon receiving the scrambled digital content of the program data 210, descrambler 380 descrambles such content, which is subsequently supplied to MPEG decoder 520 if the content is compressed with a MPEG format. MPEG decoder 520 decompresses the digital content and subsequently routes the decompressed digital content to either a digital-to-analog (D/A) converter for display on a television, a Digital Video Interface (DVI) link or a network interface (e.g., IEEE 1394 link).
As shown, processor 360, memory 370, descrambler 380, transmitter/receiver logic 390, MPEG Demultiplexer 510 and MPEG decoder 520 may be implemented on two or more integrated circuits interconnected through bus traces or another communication scheme (e.g., wires, optical fiber, etc.). Alternatively, these components may be implemented on a single integrated circuit.
In this embodiment, SK 330 i may be valid for a certain period of time. Digital device 110 may store E(SK) 335 i in memory 370 as it comes over the network from the headend, allowing the subscriber terminal device to re-access the service if SK 330 i is still valid without having to request that Service Key again.
SK 330 i may be valid for the duration of a program or it may be valid for a selected period of time, e.g. prescribed number of hours. Using a key for a longer period of time will reduce the overall number of transactions between the subscriber terminal device and the headend because, once E(SK) 330 i is stored in memory 370 of subscriber terminal device 110, it is readily available. Depending on the duration of the current Service Key (e.g., SK), the next Service Key (SKnext) may be delivered along with the SK. Alternatively, subscriber terminal device 110 may request the SKnext after detecting the end of the SK's valid Epoch (e.g., time duration of the SK). In different embodiments, the Service Key may be valid for a subscriber's subscription period.
Services can be sold a-la-carte or sold as a package. There may be several tiers of services, each identified by a Service ID. For example, there may be a basic tier of services, a medium tier offering more services, and advanced tiers offering different premium services. Each incremental tier of services may be given a separate Service Key.
In summary, as shown in
The entitlements are normally held by the controlling authority such as a key server in headend 310 of
Thereafter, a second process block 630 conducts one-way hash operations on the decrypted keys 625. These hash operations are in accordance with a tree-like hashing structure as shown in
In particular, with respect to a first embodiment of a hashing procedure shown in
Pairings of hash values 700, 702, 704, and 706 are combined and undergo another hash function to form hash value sums HVS1 710 and HVS2 712 as shown. For example, KEYHL 700 and KEYH2 702 are combined and hashed together to form HVS1 710 while KEYH3 704 and KEYH4 706 are combined and hashed together to form HVS2 712. Thereafter, HVS1 710 and HVS2 712 are combined and hashed together to produce a second-level hash value, which is Root Key 350 for this embodiment. When hash values are “combined,” it is generally defined that an arithmetic operation is performed on these values. Examples of the arithmetic operations include concatenation, modular addition or other related operations.
According to another embodiment of the hashing procedure, as shown in
According to yet another embodiment of the invention, as shown in
Referring back to
Descrambler 380 further provides for re-encryption of the descrambled content received from descrambling logic 420. The descrambled content is loaded into encryption logic 650 and encrypted using Root Key 350. The re-encrypted content is provided to another component of the content delivery system, such as the secondary subscriber terminal device for example.
Referring now to
Instead of being loaded into third process block 640 to decrypt encrypted Service Key(s) 335, Root Key 330 is used to descramble scrambled content 230 loaded into descrambling logic 420. Descrambling may include performance of 3DES operations on the scrambled content. The result may be content in a clear format, which is transmitted from descrambling logic 420 and subsequently loaded into a MPEG decoder, a D/A converter, a DVI Interface, an IEEE 1394 interface or the like.
Descrambler 380 further provides for re-encryption of the descrambled content received from descrambling logic 420. The descrambled content is loaded into encryption logic 650 and encrypted using Root Key 350. The re-encrypted content is provided to a secondary subscriber terminal device or another component of the content delivery system.
According to one embodiment of the invention, control information 280 comprises one or more of the following: (1) a “Manufacturer ID” to identify a manufacturer of the digital device; (2) a “Service Provider ID” to identify the content delivery system provider as well as the selected distribution scheme (e.g., cable, satellite, terrestrial or Internet company supplying the requested program data); and (3) a “Sequence Number” being used for reordering packets of information if a key is more than one packet in length, and in certain systems, may also be used to indicate expiration of various control information.
As shown, key 665 is loaded into a second process block 670 that is used to decrypt encrypted Service Key(s) 675 to recover a service key 676 used to descramble scrambled content 230 as described above. The resultant descrambled content 680 is routed for display on the display device and as an input for re-encryption logic 650.
Concurrently, descrambler 380 receives as input HKG message 685. Formed by a Service Provider ID and perhaps other data (e.g., Sequence Number, identifier, etc.), HKG message 685 is processed by a third process block 690 in order to generate a key 692 that is a basis for re-encrypting descrambled content 680. Herein, key 692 may be provided to encryption logic 650 as the encryption key or is loaded into a fourth process block 695 to recover a key 697 used to encrypt descrambled content 680 as described above.
Referring now to
As shown in
If the content is accessed in a playback condition for example, the DRM analysis continues to determine what entitlements are to be enforced for incoming content (blocks 810, 815 and 820). For instance, with respect to playback, these entitlements may include, but are not limited to control of playback of the digital content (e.g., a pay-per-time “PPV” entitlement 810, pay-per-play “PPP” entitlement 815, digital device of a certain manufacturer type, etc.).
In the event that the content is accessed from a received transmission, other types of entitlements may be analyzed such as whether the content is part of a package or other tier of service, a free preview, recordable, able to be output a particular interface, and the like.
Referring now to
If the access requirements provided by the program data differ from the pre-loaded entitlements, the subscriber is prompted to determine whether he or she wishes to purchase the appropriate entitlement (blocks 860 and 865). As an example, the “prompt” may be accomplished through a screen pop-up image illustrated on a display of subscriber terminal device that has selectable fields. If the pre-loaded entitlements are to be purchased, the subscriber selects on appropriate field, causing a message is sent to an entity (e.g., original source of the content such as the headend, content distributor, designated key server, etc.) to return the desired entitlements to the subscriber's digital device. Otherwise, access is denied.
However, if a match is found between the access requirement(s) and entitlement(s), the descrambling process is conducted for this entitlement. For instance, if the entitlement involves the imposition of a maximum playback threshold (e.g., two playbacks) and a count value indicates that the digital content has been played back only once, the descrambling process may be conducted one more time to descramble the digital content.
More specifically, for the descrambling process, a key (e.g., Root Key) is derived using a collection of information such as keys in an encrypted format, which is loaded into the digital device (block 870). In particular, for a Root Key, it is derived from the information which may include data encrypted with the Unique Key particular to a certain subscriber terminal device. The key may be adapted to decrypt encrypted Service Key(s) loaded into the digital device (block 875). For this embodiment, the recovered Service Key(s) are now used to descramble the scrambled digital content provided by the program data (block 880). Otherwise, access is denied.
In the foregoing description, the invention is described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the present invention as set forth in the appended claims. The specification and drawings are accordingly to be regarded in an illustrative rather than in a restrictive sense.