A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
1. Field of the Invention
The present invention relates generally to the field of secure transmission of content such as software, music, and movies through public communications networks. More particularly, the invention relates to receiving encrypted content with a first encryption through a public communications channel and atomically re-encrypting it for private, local use with a second encryption.
2. Description of the Related Art
Many different approaches have been taken to prevent unauthorized reproduction and distribution of content such as movies and videos, music, software, and television programming. Most of these approaches have focused on one of two areas of vulnerability of the content. The first area is the distribution of content to the end customer. Cable and satellite broadcasters, for example, broadcast almost all programming with encryption. The keys to the encryption are sent to a set-top box that receives the encrypted broadcast data, decrypts it, and forwards it to playback or recording devices (e.g., televisions (TVs), video cassette recorders (VCRs)). Similarly, for software distributed over a public channel such as the Internet, the software is frequently encrypted prior to the transmission between the server and the client, then decrypted upon receipt by the client and installed into the computer in an unencrypted form. In another example, for DVD's (Digital Video Disks or Digital Versatile Disks) there is an encryption format embedded into the disk that is decrypted by the DVD player. The unencrypted signal is then conveyed to playback or recording devices.
All of these systems allow for the transmission channel or media to be reasonably secure. Typical unauthorized users receiving broadcasts of cable or satellite television programs or intercepting such communications on the Internet, are frustrated by the encryption that is maintained over the radio or wired link. However in all of these systems, once the signal has been received and decrypted by a receiving device, it is then “in the clear” and available for copying, reproduction and distribution (at least some of which may be unauthorized, depending on the rights associated with the data by the content owner).
The second area of the vulnerability is the use of the content after receipt by the end customer. Several different efforts are aimed at protecting against unauthorized reproduction and distribution of copyrighted content after it has been obtained by a user or consumer. Content Protection for Recordable Media (CPRM) was jointly developed by Toshiba, Intel Corporation, IBM and Matsushita to allow consumers to store and replay the extensive range of music content that is becoming available through electronic music distribution platforms. CPRM allows music to be recorded on a portable music player, such as an MP3 player, but prevents the unauthorized reproduction and distribution of the music. High-Bandwidth Digital Content Protection (HDCP), developed by Intel Corporation, protects digital content as it is transmitted between a set-top box or player to a display or playback or recording device. Like CPRM, HDCP allows a user to enjoy and use the encrypted content, but prevents unauthorized reproduction and distribution. Digital Transmission Content Protection (DTCP,) developed by a consortium of hardware manufacturers, allows a broadcaster to include a copy control code in content to control the number and types of copies that can be made to the content.
In each of these systems, the content is decrypted at some point in the distribution chain and at that point becomes vulnerable to unauthorized reproduction and distribution. If the device receiving the content is a flexible software-driven box such as a personal computer (PC), then the software that performs the decryption, as well as the content, may be easily accessible to users that may attempt to produce unauthorized copies. This leaves the content vulnerable, notwithstanding the various efforts that have been applied to encrypt and protect it farther upstream in the content distribution model.
The appended claims set forth the features of the invention with particularity. The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements and in which:
Embodiments of the present invention improve the security of content protection mechanisms for broadcast and publicly available content. Embodiments help to limit the decryption of publicly available or broadcasted content to a single, economical, defensible, and trusted module. Subsequent less trusted processing can be done on a localized copy of the content that permits tracing and, as a result, revocation of compromised devices. The less trusted processing allows distribution of the localized content without putting a global secret key at risk. Additionally, there may be a secure offering environment at the broadcaster or manufacturer in which content is encrypted prior to its distribution. A separate secure server can manage the distribution of secret keys to users, and thereby controlling access to the content. A receiving device, such as a set-top box, personal computer, or other consumer electronics device, may receive the keys from the secure server and transform the broadcast or publicly available content encrypted with a first key into an individually and locally accessible content encrypted with a second key, using an encryption and decryption module that simultaneously decrypts and re-encrypts the content. A set of secure sink devices using the second key may then decrypt and render this content into an analog form for perception by the consumer.
In an alternate embodiment, the content is not broadcast over the broadcast medium 13, but instead is recorded onto storage mediums in formats such as Compact Disk (CD), DVD, Digital Audio Tape (DAT), Digital Video Home System (D-VHS), or any other type of optical, magnetic or other data recording systems. For example, the content can be encoded onto DVDs and distributed through retail channels or the postal or commercial delivery service.
The content may be sent or transferred from authoring module 11 to a local receiving device 15 situated with a content consumer (e.g., a user or viewer). The receiving device may be any device capable of receiving the content over any broadcast medium 13 (or other distribution mechanism), such as a cable television receiver (e.g., a set-top box), a direct broadcast satellite (DBS) receiver, a DVD format player, a personal digital assistant (PDA), a cellular telephone, a personal digital video recorder (PVR), or any kind of computing device (including a micro-computer or a laptop, desktop, or handheld PC).
A sales server 17 communicates with the receiving device 15 over one or more Secure Authenticated Channels (SACs). The SACs may comprise communication channels such as telephone lines, Internet connections, connections over a coaxial cable television broadcast system, wireless connections, or broadcast channels through satellites or other radio interfaces, any of which may be made secure using known cryptographic methods.
The sales server may be a conventional computer server, adapted for communications over the Internet, a Public Switched Telephone Network (PSTN) or other network. Alternatively, any other mechanism for providing cryptographic keys over the broadcast media discussed above can be used, for example, a cable head-end or satellite downlink center. The first SAC, SAC-M119, connects through the receiving device 15 to a secure defensible trusted module 25. In one embodiment, this module uses an Application Specific Integrated Circuit (ASIC) that is configured specifically to perform the decryption and re-encryption methods discussed herein. In another embodiment, a removable, programmable smart card, with tamper resistant hardware designed to safeguard the keys in the event of physical attack, as well as timing and power analysis attacks, may be used. In another embodiment, the trusted module may be included as part of a larger integrated circuit (IC). In this case, the circuit may contain the computational ability to perform the public key authentication and key agreement to set up the SAC, as well as the encryption and decryption operations. The trusted module preserves the long-time secret private key (in a public key cryptosystem) used for authentication, as well as shorter-lived secrets such as the keys used for encrypting the SAC, the broadcast media decryption key and state, and the sink device encryption key and state. Accordingly, operations of the trusted module may be very difficult to analyze and users or consumers may be frustrated in trying to reverse engineer the encryption algorithms used and to discover any keys hidden in the trusted module.
The trusted module 25 communicates with sales server 17 using well known symmetric encryption keys established by key agreement algorithms. The receiving device as a whole does not need to be trusted as its function is only to facilitate communication between other devices in the system. In one embodiment, no keys are ever available to the receiving device (exclusive of the trusted module), except in an encrypted form. Trusted module 25 receives a first key (K1) over SAC-M119. This key may be used to decrypt the broadcast or publicly available content received from the authoring module 11.
The sales server also provides a second key (K2) over a second SAC, SAC-S121 to a first sink device 27 as well as to trusted module 25. A third key (K3) is provided over a third SAC, SAC-S223 to a second sink device 29 as well as to trusted module 25.
The trusted module performs decryption and re-encryption using the keys. This can either be done completely within the module or a cipher stream may be generated by the module that is applied to the content by the receiving device. In one embodiment, as explained below, this cipher stream may be used to perform decryption and re-encryption of received content in one atomic, secure, non-interruptible operation. This decryption and re-encryption provides for the reception of the broadcast content as encrypted by a first, globally used key, decryption of the encrypted content, and re-encryption of the content using a second, local key individually associated with a selected sink device.
The first and second sink devices may be used by the user or consumer to render the content received from the authoring module. This can include playback, recording or both. In the embodiment of
In one embodiment, the receiving device handles the communication of the keys from the sales server to the sink devices. This is done over a SAC so that the keys are not available in the receiving device. The encrypted messages are passed through the receiving device directly to the sink devices. The sink devices may have systems configured to receive the keys, to communicate with the receiving device to receive the messages from the sales server 17, and to configure the sink devices to decrypt any incoming encrypted content. Alternatively, in other embodiments, the sink devices may obtain the keys directly from the sales server without intervention from the receiving device.
Plaintext content 10 is encrypted by authoring module 11 with globally used key K1 to produce broadcast ciphertext K1 content. This operation may take place prior to distribution of keys to trusted modules (e.g., during production or manufacturing of the content). The ciphertext K1 content may be broadcast from the authoring module to receiving device 15 over broadcast medium 13 or provided from a consumer electronics content player such as a DVD player and sent over a cable to the receiving device 15. In one embodiment, the receiving device may be integral with the content player (e.g., the DVD player).
In one embodiment, ciphertext K1 content arrives at the receiving device as an encrypted stream over content interface 14. First cipher stream 31 and second cipher stream 32 emanating from trusted module 25 are combined with the ciphertext K1 content stream by combiner module 34. Combiner module 34 produces a version of the streaming content that has been decrypted using the first, globally used key, and re-encrypted with a second, locally used key in an atomic operation. In one embodiment, combiner module 34 may be integral with trusted module 25. This local ciphertext K2 may then be passed through sink interface 16 on a local line 33 to sink device 27. The re-encrypted content may be decrypted with the local key K2 (received over SAC-S121 from sales server 17) and may be rendered by the sink device using only the cipher stream generated by the combiner from the local key K2 (i.e., local ciphertext K2). In this scenario, since the second key, K2, may be individually designated for sink device 27, if the first key, K1, is compromised and the ciphertext K1 is captured by another receiving device, the other receiving device still cannot gain access to the plaintext content because of the combiner module's operations of simultaneous and atomic decryption and re-encryption of the content.
In an alternate embodiment, the server can use the SAC to the trusted module 25 to convey the keys to the sink devices through the receiving device 15, as shown in
Because the trusted module can be provided in a secure package or format, attackers must break the trusted module to be able to distribute the secret key that is used to generate the cipher stream that can decrypt the broadcasted or publicly available content. An attack on the less expensive and less secure sink devices would only produce a key to decrypt the localized copy. This does not provide access to the broadcasted or publicly available content. Accordingly, to further reproduce and distribute the broadcasted content, this content must be redistributed by the attacker. The existing distribution infrastructure cannot be used to provide unauthorized distribution or copying.
Providing a cipher key K1 for decrypting the broadcasted content and a different cipher key K2 for encrypting and decrypting the local content together with multiple cipher streams allows for the changing of the encryption keys during the course of a broadcast. This allows one to enhance the security of an encrypted stream if the content is broadcast or distributed over a long period of time. In one embodiment, the trusted module generates both the cipher streams used to decrypt the broadcast content using K1 and the local encryption stream using K2 internally. It outputs only the product of the two cipher streams and the content stream. This stream is applied in an insecure environment to transform the broadcasted encrypted stream to a locally encrypted stream that can be understood by the sink device.
Referring to
One or more keys are then delivered 51 to the receiving device using SACs. One or more keys are also delivered 53 to a sink device over a SAC. As mentioned above, this can be done either through a receiving device and the trusted module or it can be done directly to the sinks using a communication protocol understood by the sink devices. The keys are bound 55 to the receiving device. This is done both at the trusted module and also at the sink devices. After receiving the keys and having them bound, the encrypted content can be substantially simultaneously decrypted and re-encrypted 57 in an atomic operation by processing of the trusted module 25 and combiner 34. The re-encrypted content using the local key may then be conveyed 59 to a sink device. The sink device may then decrypt and render the content 61. In one embodiment, billing and audit information collected by the receiving device or by the sink device may be communicated 63 over SACs or another channel back to the server that manages the keys or to another server. This server can be a sales server for pay-per-view, games, or software purchases.
The ordering of the blocks described above can be changed to suit particular applications. For example, the keys can be provided before the content is received, the content can be encrypted at any time before or during broadcast and the billing and audit information can be provided before any of the other actions.
Embodiments of the present invention may enhance the security of content management systems. It allows a user entertainment system to use a small, cheap and robust component in the receiving device that preserves the security of the broadcast content. The downstream security using local keys may be made cheaper or less robust because it is working only with a localized copy of the encrypted content. This saves substantial effort and expense in the production and security mechanisms for the downstream components. In addition, ciphers can easily be changed by the sales server to allow great flexibility when working with legacy sink devices and different cipher and encryption capabilities. Finally, the use of an online server to establish key agreement in a single session can be used to enforce pay-per-view rights, rights to make copies and rights for higher grade rendering of any video or audio content. Higher grade rendering might include higher definition or resolution video, greater dynamic range, different picture formats, more audio channels or special versions, such as director's editions, special editions and editions with different ratings. Since the key may be changed at each session (or even during sessions), a previous local copy can be made obsolete so that the number of performances of the local copy can also be controlled and applied to an appropriate fee schedule.
As discussed above, the unique trusted module makes it possible to decrypt and re-encrypt a content stream in one atomic operation based on the keys. As a result, the content is never in the clear, i.e., it is never present in an accessible decrypted form on the receiving device. This enhances the total security of the system. This aspect of the present invention is a benefit no matter where the keys come from or how they are provided, determined and distributed. For example, the broadcast content key can be provided with the content and the local key can be selected by a local component, such as the receiving device or the sink device. While this approach is not as secure as using a sales server, the unique simultaneous decryption and re-encryption helps to compensate for some of the risk. Alternatively, in some encryption systems such as DTCP, the content is encrypted with a public key and the receiver such as the set-top box or disk player is equipped with a private key that can be used to decrypt the content. By simultaneously decrypting and re-encrypting using the private decryption key and a local encryption key, security is again enhanced. Accordingly, the simultaneous encryption and re-encryption using ciphers as described herein is useful separate and apart from how the keys and cipher streams are managed.
Another aspect of the invention is that of keeping all encryption functions in a separate secure module. Whether it is a separate chip, a separate section of a larger chip, or a separate component, such as a smart card, consolidating the keys and possibly the authentication information in the trusted module 25 allows this information to be secured much better or for less cost than securing the entire system. In a personal computer environment, all of the interfaces and operations can be software driven, while the keys can be protected in a way that helps to ensure integrity of the system. Since the amount of information in the trusted module is small, the cost of protecting the information can be easily controlled. In a hardware implementation, the trusted module can be further secured from attack even if the rest of the hardware is not protected. The cipher streams may be generated by the trusted module for greater security and the encryption operations can be done by the module or by faster, more general purpose processors.
In one embodiment, a stream cipher may be used by trusted module 25 to produce at least one cipher key stream input to combiner module 34. Each cipher key stream may be produced using a conventional stream cipher algorithm taking a small key and producing a one time pad such as Wider Wake (available from PictureTel Corp.), RC-4 (available from RSA Security, Inc.), and SEAL (Software Optimized Encryption Algorithm available from IBM Corp.). The key stream comprises a random stream of numbers, which when exclusively OR'ed with the ciphertext K1 stream produces a re-encrypted ciphertext K2 stream. This embodiment is described in the co-pending and commonly assigned patent application “Method and Apparatus for Simultaneous Encryption and Decryption of Publicly Distributed Media”, Ser. No. 09/896,380, and “Method and Apparatus for Distributing Keys for Decrypting and Re-encrypting Publicly Distributed Media”, Ser. No. 09/896,613.
To improve security however, the class of ciphers used may be extended to include substitution-transposition ciphers. When the plaintext contains known header data or regions of known text (as is often the case in distributed content), the ciphertext may reveal the raw key stream. This key stream may be used to mount a variety of attacks on stream ciphers, especially if the stream is not very short. The addition of a transposition operation as described below in embodiments of the present invention confuses the stream, so that these attacks may not be as effective.
In an embodiment of the present invention, in order to further improve security over the use of a stream cipher, a combination of a stream cipher and a transposition cipher may be used. The stream may be said to be composable, in that the decryption and re-encryption steps may be performed substantially simultaneously and atomically in one non-interruptible operation by changing the encryption key (and also without disclosing the key).
As shown in
Each block of the transposition stream may then be processed by a shuffler module 120 to transpose elements in an input block to the position in the output block determined by the pseudorandom permutation for that block as specified by T. For each unit of transposition (such as a byte), the index of the byte in the input buffer is used to look up the proper place in the output buffer using the permutation.
The substitution stream S 104 may be input to a combiner module 115 and combined with the plaintext data 116 using an exclusive OR (XOR) operation 118 to create an intermediate stream. The transposition stream T 106 may be input to a shuffler module 120 within the combiner. The shuffler module 120 combines the transposition stream T as described above and the intermediate stream to produce ciphertext stream 122, encrypted by the key KT.
In one embodiment shown herein, a substitution stream and then a transposition stream has been applied. One skilled in the art will recognize that the order of applying the two streams may be switched so that the transposition stream and then the substitution stream may be applied without departing from the scope of the present invention.
Table I illustrates the different embodiments depending on whether the cipher used is a substitution-transposition (also known as a substitution-permutation (SP)) or a transposition-substitution (also known as a permutation-substitution (PS)).
Let T1 be the transposition stream for a first key, and T2 for a second key. The transposition stream for changing from the first key to the second key may be denoted T2*T−11, where “*” indicates composition and T−11 is the inverse transposition of T1. The substitution stream S may also be presented as a series of blocks. The transcribing stream may be denoted T1(S1 XOR S2), where S1 comprises a key stream based on the first key, and S2 comprises a key stream based on the second key.
Keys K1 and K2150 may be input to a combined “encrypt*decrypt” module 152. This module generates a first substitution key stream using K1 called S1 154, and a second substitution key stream using K2 called S2 156. The module also generates a first transposition key stream using K1 called T1 158, and a second transposition key stream using K2 called T2 160. The module combines the first and second substitution key streams S1, S2 using an XOR operation and further combines this stream with the first transposition key stream T1 to form a combined substitution key stream 162 (e.g., T1(S1 XOR S2)). The module composes the second transposition key stream with the inverse of the first transposition key stream to form a combined transposition key stream 164 (e.g., T2*T1−1).
The two generated key streams may be input to combiner 34 to transcribe ciphertext 166 encrypted by key K1 into ciphertext 168 encrypted by key K2. The combined substitution key stream 162 may be input to the XOR module 170 along with the ciphertext K1 to produce an intermediate result. Shuffler module 172 accepts the combined transposition key stream 164 and the intermediate result from XOR 170 to produce ciphertext K2168.
Appendix A at the end of the specification shows a relevant portion of one example implementation of a twin substitution-transposition/transposition-substitution cipher as described above. This sample implementation is written in the C programming language. Other languages and techniques may also be used to implement embodiments of the present invention without departing from the scope of the claims.
A processing system 400 representing an example of a system upon which the receiving device 15 of the present invention may be implemented is shown in
The processing system may also include a nonvolatile memory 406, such as a read only memory (ROM) or other static data storage device coupled to the bus for storing static information and instructions for the processor. A mass memory 407 such as a magnetic disk or optical disc and its corresponding drive may also be coupled to the bus of the processing system for storing information and instructions.
The processing system includes trusted module 25 coupled to the bus that receives the keys and performs the decryption and encryption discussed above. The trusted module can be provided on the motherboard, on a separate card as shown, on a special adapter card with other video or audio functions or as an external unit. It can also be provided as a software module if the software content value is sufficiently low or the hardware environment is sufficiently robust, as in some high-end smart cards.
An audio/video adapter card is coupled to the bus as is well known in the art to receive broadcast or stored data on the bus and provide audio or video to external devices. It includes dedicated accelerators and coprocessors for A/V functions. For systems that do not support analog audio or video, the A/V adapter can be provided in software only.
The processing system can also be coupled via the bus to a display device or monitor 421, such as a cathode ray tube (CRT) or Liquid Crystal Display (LCD), for displaying information to a user. For example, graphical and textual indications of installation status, operations status and other information may be presented to the user on the display device. The display device can function as the video sink 27 or a separate display can be used. Typically, an alphanumeric input device 422, such as a keyboard with alphanumeric, function and other keys, may be coupled to the bus for communicating information and command selections to the processor. A cursor control input device 423, such as a mouse, a trackball, a wireless remote control or cursor direction keys can be coupled to the bus for communicating direction information and command selections to the processor and to control cursor movement on the display 421. In some embodiments, the keyboard and cursor control can be combined into a single remote control or wired input device.
A communication device 425 is also coupled to the bus 401. The communication device 425 may include a modem, a network interface card, or other well known interface devices, such as those used for coupling to Ethernet, token ring, or other types of physical attachment for purposes of providing a communication link to support a local or wide area network (LAN or WAN), for example. In this manner, the processing system may also be coupled to a number of clients or servers via a conventional network infrastructure, including an intranet or the Internet, for example. The SACs can be provided through the communication device.
A broadcast medium interface 426 is coupled to the bus and receives broadcasts from any of the sources of content discussed above. This interface may be a coaxial cable demodulator, direct broadcast satellite TV receiver, FM radio receiver, streaming Internet interface or any of a variety of other devices. The interface conveys the received content to the bus for decryption and rendering. Alternatively, the interface can be a digital disk or tape input interface that can be coupled to a digital tape or disk player.
Interfaces 427, 429 to the first and second sinks 27, 29 are also coupled to the bus to convey the locally encrypted content for recording or rendering to the consumer. These interfaces can be in a variety of forms to suit a variety of different signals depending on the requirements of the sinks. As mentioned above, output signals can include National Television Standards Committee (NTSC) with Macrovision, Universal Serial Bus (USB) with CPRM, or FireWire with HDCP among others.
It is to be appreciated that a lesser or more equipped processing system than the example described above may be preferred for certain implementations. Therefore, the configuration of the exemplary processing system 400 will vary from implementation to implementation depending upon numerous factors, such as price constraints, performance requirements, technological improvements, or other circumstances.
It should be noted that, while the steps described herein may be performed under the control of a programmed processor, such as the processor 402, in alternative embodiments, the steps may be fully or partially implemented by any programmable or hard coded logic, such as Field Programmable Gate Arrays (FPGAs), TTL logic, or Application Specific Integrated Circuits (ASICs), for example. Additionally, the method of the present invention may be performed by any combination of programmed general purpose computer components or custom hardware components. Therefore, nothing disclosed herein should be construed as limiting the present invention to a particular embodiment wherein the recited steps are performed by a specific combination of hardware components.
In the present description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without some of these specific details. In other instances, well-known structures and devices are shown in block diagram form. The specific detail may be supplied by one of average skill in the art as appropriate for any particular implementation.
The present invention includes various steps, which may be performed by hardware components or may be embodied in machine-executable instructions, such as software or firmware instructions. The machine-executable instructions may be used to cause a general-purpose or special-purpose processor programmed with the instructions to perform the steps. Alternatively, the steps may be performed by a combination of hardware and software.
The present invention may be provided as a computer program product that may include a machine-accessible medium having stored instructions thereon, which may be used to program a computer (or other machine) to perform a process according to the present invention. The machine-accessible medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnet or optical cards, flash memory, or any other type of medium suitable for storing electronic instructions. Moreover, the present invention may also be downloaded as a computer program product, wherein the program may be transferred from a remote computer to a requesting computer by way of data signals embodied in a carrier wave or other machine-readable propagation medium via a communication link (e.g., a modem or network connection).
While embodiments of the present invention are described with reference to distributing entertainment programming and software to consumers, the method and apparatus described herein are equally applicable to other multi-tier distribution of valuable content. In addition, while the invention has been described in terms of an internal trusted module 25, any other device that can be readily manufactured and that offers adequate security can be used. The module can be in hardware, firmware or software and can be integrated into a larger component such as a set-top box or provided as a stand-alone unit with appropriate interfaces.
Although this disclosure describes illustrative embodiments of the invention in detail, it is to be understood that the invention is not limited to the precise embodiments described. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. Various adaptations, modifications and alterations may be practiced within the scope of the invention defined by the appended claims.
Number | Date | Country | |
---|---|---|---|
Parent | 10222093 | Aug 2002 | US |
Child | 11269397 | Nov 2005 | US |