US 20060010500 A1
Various embodiments include an apparatus, system, and method to control the distribution and usage of copyrighted digital content. The processing of a data file received over a communications network such as the Internet occurs both in a host digital appliance, such as a personal computer, notebook computer, audio player, video player, and the like, and in a very small digital rights management (DRM) module that is removably connected with the host. The processing makes it extremely difficult for the content of the data file to be obtained by an unauthorized person and/or utilized with an unauthorized DRM module.
1. A method of communicating digital data over a communications network, comprising:
separating the digital data into at least first and second units of data,
transmitting the units of data over a communications network in a manner that the units of data maintain their separate identities,
processing the at least first and second units of data received over the communications network in different respective ones of at least first and second electronic systems,
combining the processed units of data in the first electronic system, and
utilizing the combined units of data in the second electronic system.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
9. The method of
10. The method of
11. The method of
12. In a combination of a digital appliance and a digital rights management (DRM) device removably connected therewith, a method of processing a data file received by the digital appliance, comprising:
receiving the data file in a form of at least first and second separate units of data,
processing the first unit of data in the DRM device and the second unit of data in the digital appliance,
combining the processed first and second units of data in the DRM device, and
utilizing the combined data in the digital appliance.
13. The method of
14. The method of
15. The method of
16. The method of
17. The method of
18. The method of
19. The method of
20. The method of
21. In a digital appliance having a digital rights management (DRM) device connected thereto, a method of processing a data file received by the digital appliance, comprising:
receiving the data file in a form of at least first and second separate units of data,
processing the first unit of data in the DRM device and the second unit of data in the digital appliance,
combining the processed first and second units of data in the DRM device, and
utilizing the combined data in the digital appliance.
22. The method of
23. The method of
24. A digital rights management (DRM) module, comprising:
a semiconductor memory,
an interface for communicating data into and out of the module, and
software code stored within the memory and executed by the microprocessor to:
extract at least first and second parts from a data file received through the interface,
process the first part of the received data file to form a processed first part,
send the second part of the received data file back through the interface,
receive the second part of the data file through the interface after processing as a processed second part,
combine the processed first and second parts of the data file, and
send at least a representation of the combined processed parts of the data file back though the interface.
25. The module of
26. The module of
27. The module of
28. The module of
29. The module of
30. The module of
31. The module of
32. The module of
33. The module of
34. The module of
35. A system for serving digital content, comprising:
at least one server storing at least two units of data derived from digital content such that the digital content cannot be reconstructed from any one of the units alone but rather requires that processing be performed and the results of the processing combined in order to reconstruct the digital content, and
an interface adapted to send the derived at least two units of data as a single data stream over a network in response to a request received over the network for the digital content.
36. The system of
37. The system of
38. The system of
39. The system of
40. The system of
41. The system of
42. The system of
This application claims the benefit of provisional patent application Ser. No. 60/541,279, filed Feb. 3, 2004. This application is also related to patent application Ser. No. 10/227,155, filed Aug. 23, 2002, and published under no. 2004/0039932A1 on Feb. 26, 2004. Both of these applications are incorporated herein in their entirety by this reference for all purposes.
This invention generally relates to the field of digital rights management, and more particularly, to methods of remotely enforcing digital content policy.
The Internet worldwide network, as well as other data communication networks, enables many digital appliances to interconnect and exchange information. Digital appliances include personal computers, laptop computers, tablet computers, PDAs, mobile phones, MP3 players, DVD players, gaming consoles, digital recording devices such as digital cameras, and others. A particular use of the Internet, and other networks such as cable and satellite or a corporate or organization network is to distribute digital files, specifically digital content files.
A Digital Content File is data which has an end use of being either viewed, listened to, read, played, executed, or otherwise utilized by an end user, and at some point prior to end use is stored and/or represented in numerical form. A Digital Content File may be an audio file, a video file, a software file, an electronic book, a document, a computer game or other types of content.
A Copyrighted Digital Content File is a Digital Content File which has legal limitations on at least one end use. For example, a user may not create a copy of, distribute, modify, sell, and/or perform other end uses of a Copyrighted Digital Content File, without receiving permission from the copyright owner. Examples of Copyrighted Digital Content Files are commercial movies, commercial music, electronic books, software, computer games, and the like.
The raw digital representation of high quality multimedia files such as audio and video uses high rate of data sampling to turn analog information into digital data. This representation consumes large quantities of storage. For example a WAV format file which represents a typical audio clip of 3 minutes length, can easily be larger than 30 Megabytes in size. A typical 60 second video clip can take up 1.5 GB when not compressed. Transferring data over a network such as the Internet has a cost that may be quantified both in monetary terms and in respect to time needed to transfer information. The larger the files to transfer, the more time the transfer will take, and for connections that are paid for according to connection time, the more it will cost.
In order to reduce the time and cost of storing and/or transferring digital multimedia files over a network, experts in the field devised sophisticated algorithms that compress the digital content files to smaller files. Although the compression techniques are usually lossy (the data cannot be exactly restored when decompressing), standard compression and decompression techniques for audio and video produce a result that is usually negligibly different for human ears and/or eyes. Good compression techniques can reduce an audio file to ten percent of its original size, and a video file can be compressed much more. Taking the above example of a 3 minute song coded in WAV at 30 MB, a compressed version can take up only 3 MB of memory.
The most famous family of compression techniques is collectively known as Moving Picture Expert Group (MPEG) (see www.mpeg.org). One of the subfamilies of MPEG audio compression techniques is called MP3, short for Moving Picture Expert Group Audio Layer 3.
In order to play an MP3 audio file on a computer or MP3 player, a rendering software and/or hardware application that decompresses the file and sends a bit stream to the audio equipment that drives the speakers is utilized. An example of such software is Winamp by Nullsoft (http://www.winamp.com/). There exist applications that can render both audio and video for example Microsoft Media Player (http://www.microsoft.com/).
The advent of the Internet and MP3 compression in the late 1990's brought about a revolution in music distribution worldwide. Peer to Peer systems were created in which one person would copy music from a CD to a computer, compress it to MP3 format and then share it with tens, hundreds and even thousands of other people, by sending the files over the Internet. The most famous example of a software system that provided application infrastructure for the sharing of digital music files is Napster, by a company of the same name. Napster was ordered to shut down by a US court, because the system was used mostly for sharing copyrighted music files, without providing compensation to the artists and the recording companies that produced these works. Although Napster in its original form no longer exists, many similar services abound today, in which users from all over the world may share digital content of any sort, including music, movies, software applications, games, and other files.
Content owners have been trying to fight this phenomenon since it began, claiming a sharp decrease in their revenues due to digital content “piracy”. So far, content owners such as recording companies and movie studios have met with very limited success in their attempts at using technological solutions to solve these problems.
Although free content downloading applications abound, pay services for digital content such as music have also appeared recently by vendors such as RealNetworks (http://www.listen.com/), Apple (http://www.apple.com/itunes/), and Microsoft MSN Music Club in Europe. Users pay a fee per song, which is then downloaded to their computer, and which they can then play or copy to CDs or other devices. Alternatively, users subscribe for unlimited access to songs for a given period of time. These services do specify to users what they may do with the files once they are downloaded, but are not successful in enforcing the specified usage policies.
In order to combat downloading and sharing of copyrighted digital content by parties that are not licensed to do so, and to enforce use of digital content according to license, various protection methods are employed by content owners. The collective term for the control of distribution and usage of digital content is Digital Rights Management (hereafter DRM). DRM systems typically involve cryptographic methods for the secure distribution of the content between a content repository/server and a digital appliance. Such methods typically require the appliance to include an implementation of cryptographic algorithms and hold cryptographic keys in order to gain access to the content.
In many cases the software application used to render the digital content implements some form of DRM that is engaged when the user attempts to access the digital content, for example Microsoft MediaPlayer which is used to view video files and listen to audio files, has built in DRM functionality. One of the operations performed by such an application is the process of decrypting the content file using cryptographic methods and cryptographic keys. In order to execute such operations, the application must have access to the cryptographic methods and keys; therefore the cryptographic methods and keys must reside within the reach of the application. Typically the cryptographic methods, the keys, or both, reside within the application, in the digital content file itself, or somewhere within the digital appliance storage.
A digital appliance such as a computer or PDA is typically an open platform enabling computer programmers to develop programs for it. In some cases, software programs are developed for the purpose of hacking and locating the cryptographic keys and algorithms of a DRM system, in order to circumvent the DRM and gain access to the content. This process is generally called an “attack” and if it succeeds it is commonly referred to as a “crack” or a “hack” to the DRM system. A computer program that performs this function is referred to hereafter as a hacking program or a cracking program.
Examples of successful attacks are well known in the art. In 2001 Microsoft's Media Player was cracked by a programmer using the pseudonym “Beale Screamer” (http://news.com.com/2100-1023-274721.html?legacy=cnet).
Other forms of attacks include using programming tools. For example, software debuggers track and trap the digital content information after the rendering application has decrypted it, retrieving the “protected” information. Such information includes the digital content file and metadata describing how it is to be rendered. A hacking program that cracks the application and releases this information from the DRM system enables the construction of unauthorized copies of the original digital content file.
As a countermeasure, DRM systems can use more sophisticated cryptographic schemes and code obfuscation techniques. Other methods include adding tamper resistant hardware to store the cryptographic keys. Examples of such methods are cryptographic tokens such as iToken by Rainbow Technologies Inc. (http://www.rainbow.com/ikey/index.html) or using a smart card to store cryptographic keys and optionally cryptographic algorithms. Such solutions either reveal the cryptographic key to the digital appliance in the process of decrypting the information, or internally perform the cryptographic functions but reveal the end result in a raw form that can then be accessed.
A side effect that arises from the above content protection methods is that the software application that renders the digital content takes an active part in the protection process by implementing the above mentioned cryptographic methods and code obfuscation. Since the content protection implementation must be kept secret, it can be known solely by the organization that developed the software application. Furthermore, the content itself must be amended with cryptographic keys and data that are known only to that specific implementation, making the specific software application be the only software piece that can decrypt and render the content. By tying content to be used by a specific software application, the type and variety of digital appliances that may be utilized to use the content is limited to the type and variety of the consumer electronic appliances that the organization that developed the application decides to support.
The above methods have proven to slow, but not halt, an adversary. Given enough time and effort, a computer program that cracks a DRM system may be written. It can be appreciated by those skilled in the art that such successful attacks are easier to carry out on software applications that execute in an open development environment that enables programmers to develop software programs. Similarly, cryptographic co-processors leave the content vulnerable after decryption.
Another method that is partially effective in preventing digital content files from being copied and disseminated without control is the streaming of digital content files such as audio and video files to users. In this scenario, files are not downloaded to be stored on a digital appliance but rather “broadcast” much like a radio program. This ensures that only a small block of the content is present on the digital appliance at each given moment. The downside of this is that a user must be connected to the streaming, source or online during the entire duration of the music program or movie. Another problem with streaming is that, in contrast to a file that is saved on the digital appliance storage, a user that has paid for content that is streamed cannot access the content at all times. Another shortcoming of streaming is that programs exist today for recording the streamed content and reconstructing a digital copy of the original digital content, without creating a noticeable difference to the human eye or ear.
To summarize the problems with existing solutions for distribution and control of copyrighted digital content, existing art stores encrypted copyrighted digital content and rendering software applications in open computing systems that are easy to crack. By tying digital content to a specific format and a specific rendering software application, the number of different types of digital appliances that can be utilized for an end-use of the digital content is limited. Furthermore, streaming solutions are inconvenient for users and easily circumvented.
There is clearly an unmet need for a system, apparatus, and method for enabling users to possess and use copyrighted digital content but within limitations specified by the owners of the copyright.
The above-mentioned disadvantages and problems are addressed by the present invention, which will be understood by reading the following specification.
It is an object of the present invention to provide a DRM device.
It is another object of the present invention to provide a method for preparing copyrighted digital content for usage with a DRM device.
It is yet another object of the present invention to provide a method and system for distributing and rendering copyrighted digital content using a DRM device.
In some embodiments the following steps occur. Before distribution, the original copyrighted digital content is processed to produce two or more parts (hereafter files) such that each one separately is not sufficient for end use of the copyrighted digital content. The processing of the copyrighted digital content into two files is explained in detail hereafter. The two resulting processed files are recombined into a unified file which is compressed and encrypted in order to be distributed over a network. In some embodiments the unified file may contain additional data. The unified file is distributed over a network to a digital appliance with a DRM device connected to it. The received unified file is stored in the DRM device. The DRM device separates the unified file into the two files. At the appropriate time, one file or section of a file is sent to the digital appliance for processing and the second file or section of the second file is processed internal to the DRM device. At the appropriate timing, the result of such processing is combined either inside the DRM device or in the digital appliance to produce data and content that can be used by an end user. At no point during this process is the complete set of original content available on the digital appliance nor is the complete set of processing algorithms used to produce the useable content available on the digital appliance, hence open for the possibility of hacking.
The DRM device can process policies such as expiration, limited number of uses, replication, and other usage policies for rendering the content file on the digital appliance. If a user is not allowed to use a certain copyrighted digital content file, then the production process is not initiated.
The foregoing and other objects, aspects and advantages will be better understood from the following detailed description of embodiments of the invention with reference to the drawings, wherein:
In the following detailed description of exemplary embodiments of the invention, reference is made to the drawings that illustrate specific exemplary embodiments in which the invention may be practiced. Those skilled in the art will appreciate that other embodiments may be utilized without departing from the spirit of the present invention; therefore the following detailed description of the invention should not be taken in a limiting sense.
The CPU 112 may be a general purpose CPU or a CPU with dedicated functions. Furthermore the CPU 112 may include internal memory, and internal non-volatile storage which in the description of the present invention may serve a similar purpose of the system memory 113, and/or non-volatile storage 114 respectively. The CPU 112, the non-volatile storage 114, and/or other components may be implemented as a tamper resistant hardware, or sections of the CPU 112, the non-volatile storage 114, and/or other components may be tamper resistant; the invention is not so limited.
The non-volatile storage 114 may be any of several types of storage including semiconductor based media such as read only memory (ROM), electronic erasable programmable read only memory (EEPROM), flash memory or battery backed up random access memory (RAM), or magnetic media storage such as hard disk drive or floppy disk, or the like, or other types of non-volatile storage, this invention is not so limited.
The interface 115 can connect the DRM device 110 with a digital appliance 120 in both physical- and communication aspects. The physical aspect can be, for example directly, through one or more cables, and/or wireless. The communication aspect of the interface 115 allows data exchange between the DRM device and the digital appliance. The interface 115 may be any of several types of interfaces, for example PCI, ISA, Universal Serial Bus (USB), FireWire, IDE, SCSI, RS-232 or other serial interface, parallel interface, Compact Flash (CF) interface, Sony Memory Stick interface, Multimedia Card (MMC), secure digital (SD), mini secure digital, extreme digital (xD), Bluetooth, Infiniband, mobile phone interface, PDA interface, and/or any other type of interface that may be used to connect a DRM device with a digital appliance.
The Digital Appliance 120 is used by an end user for some end use of one or more digital content files. Digital appliance 120 may be any of several types of devices, for example a PC, laptop, tablet computer, PDA, mobile phone, mp3 player, DVD player, personal video player, programmable consumer electronics, or any other device that may be used with digital content.
The non-volatile storage 114 contains instructions which may be executed by the CPU 112. The non-volatile storage 114 further may contain: an optional unique device serial number, a method of authentication such as a unique pair of public and private cryptographic keys and a signed authenticity certificate. The instructions stored in the non volatile storage 114 allow the digital appliance 120 to access a portion of the non volatile storage 114 through the interface 115, but prevent access to another portion of the non volatile storage 114, including a portion that stores the private cryptographic key and a portion that stores instructions that execute in a closed environment without enabling user access. The non-volatile storage may also store a plurality of methods for authentication; the invention is not so limited.
The optional co-processor chip 119 may be used in conjunction with CPU 112 in processing and formatting content for end use, such as audio, video, games and the like content, thus achieving higher computing capability. Co-processor chip 119 may process none, some, parts or all of the digital content; the invention is not so limited.
Examples of co-processor chips used to decode video are EM8485 MPEG-4 Decoder for Set-top Appliances and Media Gateways by Sigma Designs (http://www.sigmadesigns.com/products/em8485.htm) and the like.
The interface 221 connects the digital appliance 220 with a DRM device 210. The interface 221 may be any of several types that may be used to connect a device with a digital appliance. The interface 221 of the digital appliance 220 matches the type of interface 215 of the DRM device in a form that enables information to pass between the DRM device 210 and the digital appliance 220.
The content server 240 is a computer that can be accessed through a network 230 such as the Internet network. The content server 240 can respond to requests to download copyrighted digital content such as video, audio, ebooks, software, games and the like.
The license server 250 is a computer that can be accessed through a network 230 such as the Internet network. A license server 250 can respond to requests to download information such as authentication and/or decryption and/or policy and/or formatting information. This data may include: definition of policies to be used by the DRM device policies, definition of formatting to be used by the DRM device formatters, definition of decryption to be used by the DRM device decryptors, definition of authentication to be used by the DRM device authenticators, the digital content file, parts of the digital content file, information regarding the user, information regarding the rights of the user to one or more end uses (the user may have access to all possible end uses or less than all possible end uses) of the digital content file or part of the digital content file, information regarding the vendor/owner/operator of the system, information regarding the specific DRM device 210, and other information. The information may be utilized by the DRM device 210 and/or the digital appliance 220. The information may be utilized while the user makes end-use of the digital content or in preparation for enabling the user to make end-use of the digital content.
According to some embodiments, the content server 240 and the license server 250 are implemented as separate entities that interconnect through a network and do not directly interconnect. According to other embodiments the content server 240 and the license server 250 directly interconnect. According to other embodiments the content server 240 and the license server 250 are implemented as a single entity, the invention is not so limited.
An authenticator implemented in a DRM device 210 participates in the process of authenticating the DRM device to a remote server over a network. An authenticator may implement one of several methods of authentication including sending a device ID number to the remote server. Another authenticator uses an encryption secret key known only to the DRM device 210 and the server, and bases the authentication on challenging the DRM device 210 in order to verify that it has possession of the secret key. In some embodiments of such an authentication process, the server sends an encrypted message to the DRM device 210, and the authenticator at least decrypts the message and returns it to the server. In some embodiments, the same key can be used in a variety of methods to authenticate, for example, by signing a plaintext message and/or decrypting an encrypted message. In some embodiments, the authenticator responds to challenges by performing a series of operations such as decrypting a message, processing the result, encrypting the result, and returning it to the server for verification. For this authentication process to occur, the secret key may be stored in the DRM device 210 prior to the authentication process. The stored key can be a single key stored equally on all DRM devices or a dedicated key unique to each DRM device 210. In the latter case the server should know in advance which key is stored within which DRM device.
Another method to authenticate uses a public and private key and a digital certificate. In such an embodiment, the authenticator has access to a private key and a matching public key stored in the DRM device 210. The private key must be kept secret, but the public key may be made public. The server may then challenge the authenticator with a message encrypted with the DRM device 210 public key to ensure it has access to the matching private key. In some embodiments, the authenticator signs a message but does not necessarily encrypt the message. Optionally the server can receive from the DRM device 210 a digital certificate, which contains device identification information such as the device serial number or device ID and/or the public key of the device and/or additional information relating to the device, the server, the organization operating the system or any other information. The DRM device 210 identification information is digitally signed by a trusted authority, such as the vendor of the device, owner of the server, the organization operating the system and/or another trusted authority to form a digital certificate for that device. Some embodiments of the authenticator can authenticate the DRM device 210 and/or a user of the DRM device 210.
A decryptor in the DRM device 210 participates in the process of transforming encrypted digital content or parts of digital content into a decrypted form. A decryptor may implement one or more of several methods: symmetric algorithms such as DES, 3DES, AES, and IDEA; and/or asymmetric algorithms such as RSA, Diffie-Hellman, elliptic curve; and/or others. A decryptor may implement one or a plurality of decryption methods. A decryptor may include hashing algorithms such as DSA, MD2, MD4, MD5, HMAC and/or SHA1 and/or others to retrieve a signature and check origin and integrity of the data received. The decryption key or plurality of decryption keys for such operations may originate in one or a plurality of sources. For example, decryption key data can be stored in the non-volatile storage of the DRM device 210, received from the digital appliance 220, and/or received from a network server, such as through the digital appliance 220. In some embodiments, the DRM device 210 may receive digital content which is at least partly decrypted. In such embodiments, obviously the decryptor may or may not process the already decrypted portion. The decryptor can at least partly decrypt—for example, fully decrypt part of a digital content file, and/or perform one or more decryption steps, which can be the complete decryption process or a subset of the complete decryption process, for a whole or part of the digital content. In some embodiments, the digital content can be received at least partly unencrypted.
A policy in the DRM device 210 participates in the process of verifying the eligibility of end use of the digital content or part of the digital content, allowing or disallowing operations such as decrypting, formatting, searching, and/or transmitting an output to the digital appliance. The verification may check one or several eligibility options, including the right to use the digital content, the right to use the digital content up to a certain date, the right to use the digital content between certain dates, the right to use the digital content after a certain date, the right to use the digital content for a certain accumulated usage time, the right to use the digital content for a certain number of times, the right to transfer the digital content, the right to modify the digital content, the right to add overlay information onto the digital content, the right to save the digital content into the DRM device 210 and/or another location, the right to save the overlay information into the device and/or another location, the right to copy the digital content, the right to copy portions of the digital content, the right to copy specific parts of the digital content, and other rights related to an end user in connection with an end use or distribution of the digital content. These might be checked by the policy to produce a result that might be one or more possible actions such as allowing the output to be transmitted to the digital appliance 220, disallowing the output from being transmitted to the digital appliance 220, erasing the digital content file or part of the digital content file, and/or allowing or disallowing operations such as search, edit, save, and other operations that a user may perform while in an end use of the digital content.
A formatter in the DRM device 210 participates in the process of rendering the digital content for an end use by the user. In some embodiments, where the optional co-processor chip 119 is available, the formatter may utilize the co-processor chip as parts of its formatting operation; this invention is not so limited.
In some embodiments the digital content is at least an encoded digital audio file such as MP3, MP3-pro, Ogg-vorbis, AAC, DTS, Dolby, ADPCM, WMA, or the like (for a sample list of digital audio formats refer to http://sox.sourceforoe.net/AudioFormats.html.) The formatter decodes the digital content as part of the rendering process, for example transforms an encoded MP3 file to a decoded raw WAV file which may later be rendered to an audio signal to be presented for an end use to the user. In other embodiments, where the digital content is at least an encoded digital audio file, the formatter only partially decodes the file. In some embodiments, where the digital content is at least one encoded digital audio file, the formatter processes one or more of the files to produce an output that will be used for rendering audio, for example, the file may contain data that describes certain frequencies or amplitudes within the target audio
In some embodiments the digital content is at least an encoded digital video file such MPEG1, MPEG2, MPEG4, WMV, DIVX, XVID, 3UVX, H.263, H.264, Quick time 6, Real, Windows Media or the like (for a sample list of digital video formats refer to http://www.webopedia.com/Multimedia/Video/Video_Formats/). The formatter decodes the digital content as part of the rendering process, for example transforms an encoded MPEG2 file to a decoded YUV file. In other embodiments, where the digital content is at least an encoded digital video file, the formatter only partially decodes the file. In some embodiments, where the content is at least an encoded digital video file, the formatter processes one or more of the files to produce an output that will be used for rendering video, for example, the file may contain data that describes certain frames or colors within the frames that affect the presentation of the target video.
In some embodiments, where the content is at least a software application or a game, the formatter may generate attributes such as images, run time code or outputs of algorithms that are utilized to create or visualize a software scenario or game scene.
In some embodiments the content is at least a digital book or a section of a digital book and the formatter at least generates a layout from the content for its presentation. In other embodiments of the formatter, the digital content is at least a digital book or a section of a digital book and the formatter at least generates an image from the content.
Digital appliance 220 receives and sends data from/to DRM device 210 through interface 221. Digital appliance 220 may process data. Digital appliance 220 may prepare digital content file for rendering. Digital appliance 220 may actually render digital content, for example by displaying a page of an ebook on a computer screen or sending audio signal to the audio processing electronics and eventually to the speakers.
In preparing the digital content file for use with a DRM device, several assumptions are made. Firstly, if the entire digital content file C will at any point be fully present on a digital appliance, it will be cracked; thus, at least part of the digital content file must always be stored elsewhere, specifically on the DRM device. Secondly, for cost reduction purposes, the DRM device may have a much weaker computational capability than the hosting digital appliance. This means that the DRM device may not be able to execute all the computations necessary to prepare file C for presentation. Therefore when preparing the content file C for presentation, part of the data processing must be executed on the host digital appliance.
In step 301 content C exists in raw digital form as a file C, ready to be rendered. In some embodiments content C is a document, image, audio file, video file, software, game, parts of or combinations of the above, or any other type of digital content, this invention is not so limited.
In step 302 the file C is processed to produce files A and B such that there exist transformations f( ), g( ), h( ) for which
In some embodiments, file A is intended for processing on the digital appliance and file B is intended for processing in the DRM device. In this case, at no time is file B available to the digital appliance.
According to some embodiments, transformation fo reproduces an exact copy of original file C, such that
The files A and B and the transformations f( ), g( ), h( ) may be adjusted to different types of content, this invention is not so limited.
An example of an original video file C is a file formatted in the YUV family of uncompressed video formats, and the like.
In some embodiments, for a digital content file C containing a copyrighted movie, an example of partitioning file C may be file A containing at least a processed form of the video information, and file B containing at least a processed form of the audio information, where file A is at least a compressed MPEG form that does not contain any audio and file B is at least the matching compressed audio.
In some embodiments, where video file C is formatted in the YUV family of uncompressed video formats, file A contains at least the Y and U channels and file B contains at least the V channel.
In some embodiments, where file C is a video file, file B contains at least some of the key-frames of an encoded form of file C, and file A contains at least the inter-frames which include the remaining information required to produce file F.
In some embodiments, relevant to both audio files C and the audio part of video files C is file A containing at least certain audio frequency ranges that can be used in the reproduction of F and file B containing the remaining frequency ranges.
In some embodiments, relevant to both audio files C and the audio part of video files C file A is stuffed with dummy data and file B holds all information necessary to remove the dummy data.
In some embodiments, where digital content file C is time oriented, file A may be a time shuffled version of file C, where each shuffled segment is several seconds long. In this case file B contains information necessary to un-shuffle file A. The length of each shuffled segment may be less than, equal to, or greater than several seconds, this invention is not so limited. The lengths of each of the shuffled segment may be different, this is invention is not so limited.
In some embodiments, where digital content file is time oriented, file A may be similar to file C, except that it has missing segments. The missing segments make up file B. It may be appreciated that the more missing segments in file A, the less usable file A is on its own.
In other embodiments, where digital content file C is time oriented, for example a WAV audio file coded in MP3 format, frames of equal duration are compressed into MP3 format. In the present invention, file C in WAV format is divided into frames slightly longer than the normal frame size. The part of the frame that is the same size as normal is coded into MP3 and stored in file A. The remainder is stored in WAV format in file B without compression. Neither file A nor file B can be used separately. Trying to listen to a song based solely on file A will result in a slight jump at the end of every frame.
In some embodiments, where file C is a software application or a game, file A contains code to be executed on the DRM device while file B contains code to be executed on the digital appliance. Codes in file A and file B need to execute simultaneously in order for the software application or game to function properly. The code in file A executing on DRM device is non-deterministic. The code in file A is a central part of the software application so it cannot be replaced by an alternate hacker code in file A′ running on the digital appliance.
It may be appreciated by those skilled in the art that there exits various methods to process a file C into files A and B without departing from the spirit of this invention. The processing may be achieved by a single or a plurality of transformations that combined together can reproduce an identical copy or almost identical copy of the original file C; the invention is not so limited.
It may be appreciated by those skilled in the art that file C may be broken into more than 2 files A and B, for example a series of file A1 . . . An, B1 . . . Bm and transformations g1( ) . . . g1( ) and h1( ) . . . hk( ) without departing from the spirit of this invention.
In step 303 files A and B are optionally amended with more information and optionally further processed. In some embodiments, the files A, B and amendments are unified into a packaged file P.
In some embodiments, the additional information may be metadata regarding the digital content C such as title, creators, size, copyright notice, and any other type of information describing the digital content C. In some embodiments, the additional information may be content usage policies describing what end uses may be practiced on the content. In some embodiments, the additional information may be content usage policies describing what end uses may be practiced on the content with a specified DRM device. In some embodiments, the additional information may be content usage policies describing what end uses may be practiced on the content with a specified DRM device attached to a specified digital appliance. In some embodiments a watermark may be applied. In some embodiments, file P may be further processed, for example encrypted.
In step 401 file P is distributed through a network to the DRM device that is attached to a host digital appliance.
In step 402 the DRM device extracts file A and file B from file P. This can follow a user request to use the content, or be executed immediately upon receiving file P, or executed due to any other trigger event or at any time; the invention is not so limited.
In step 403 the DRM device application checks the usage policy based on the specified request. A usage policy in the DRM device application participates in the process of verifying the eligibility of end use of the content file or a part of the content file, allowing or disallowing operations such as decrypting, formatting, and/or transmitting an output to the digital appliance. The verification may check one or several eligibility options, including the right to use the content file, the right to use the content file up to a certain date, the right to use the content file between certain dates, the right to use the content file after a certain date, the right to use the content file for a certain accumulated usage time, the right to use the content file for a certain number of times, the right to transfer the content file, and other rights related to an end user in connection with an end use of the content file. These might be checked by the policy to produce a result that might be one or more possible actions such as allowing the output to be transmitted to the digital appliance, disallowing the output from being transmitted to the digital appliance, erasing the content or part of the content, and/or other operations that a user may perform while in an end use of the content file. If user is allowed to access the content file, step 404 is initiated. If user is not allowed to access the content file, user is notified and sequence is terminated.
In step 404 the DRM device transmits file A to the host digital appliance for calculation of g(A).
In step 405 the DRM device processes file B to generate h(B) and the host digital appliance processes file A to generate g(A).
In step 406 g(A) is sent from the host digital appliance to the DRM device.
In step 407 the DRM device calculates F=f (g(A), h(B)).
In some embodiments, h(B) may transmitted from the DRM device to the host digital appliance for calculation of F=f (g(A), h(B)).
In step 408 file F is ready for end use.
It may be appreciated by those skilled in the art that at no point during the formatting process is the file B present on the digital appliance 220.
It may be appreciated by those skilled in the art, that the partitioning of file C into files A and B enables DRM device 210 to harness the computational power of digital appliance 220 in the formatting process. This results in a lower cost CPU 112 and perhaps other components of DRM device 210.
According to some embodiments, a process internal to the DRM device 210 adds additional data to the reassembled copyrighted digital content file F. In some embodiments, a digital watermark may be added. Adding a digital watermark at this stage enables employing the unique identity of the device into the watermark, thus later enabling the identification of the device from which copyrighted content was distributed.
In some embodiments, additional data is added to file simply to enlarge it. This is so distribution of file F will be more difficult or costly. An example is enlarging a file from 500 MB to 1000 MB. A 500 MB file may be burned onto a CD, whereas the enlarged file may not due to the limitations of capacity of a CD of around 700 MB. File F is enlarged by stuffing it with extra dummy data.
In some embodiments transformations f( ), g( ), and h( ) may degrade at least part of the digital content.
In some embodiments, where the content is a software application or a game, the transformation h( ) can depend on input from the digital appliance, for example a state of the game, and input from the user at a certain time or event. In some embodiments, the transformation h( ) includes algorithms that produce data to be utilized by the application based on the above inputs from the digital appliance.
The processing described with respect to
The files A and B are then combined, optionally with other information, into a file P, by a step 303′. As an example, data of the files A and B, plus any other information that is desired to be transmitted, are combined in time sequence. The files and additional information may be interleaved with each other to add some additional degree of security. The additional information may include a portion or all of the license data associated with the content file C.
File P may be compressed, by a step 501, and/or encrypted, by a step 503, before being stored in a content server 240′. Whether either data encryption 503 or compression 501 of the file P is desirable depends in part on the nature of the data and whether these functions have already been performed as part of the step 302′ when producing the files A and B. The license data is preferably encrypted before being stored in a license server 250′. Data of a file obtained from the content server 240′ and any license data obtained from the license server 250′ that are associated with the processed file are combined in an interface 505. This combined signal is then transmitted over the Internet or some other data network.
The processing of the content file C may be done by the content server but is preferably performed by a separate computer in order to maintain a greater separation of the original content file C from the end user who likely has access to the content server 240′. The content server 240′ will typically be accessed by the content consumer, remotely over the Internet or other network, for the processed file P data. Data of a large number of different files C, such as different books, songs and/or video pieces are usually stored concurrently on the servers 240′ and 250′. The content and license servers 240′ and 250′ may be implemented by a single server.
If the processing 302′ to obtain files A and B includes encrypting one or both of them, the further encryption 503 may be omitted as unnecessary. However, if only one of the files A or B is encrypted, it may be desirable to encrypt the file P. And even if both of the files A and B are in encrypted form, a second encryption 503 may be performed. The encryption process may utilize a key, identification of the encryption algorithm or even the algorithm itself obtained from the license data.
Similarly, the data compression 501 may be omitted, particularly if either or both of the files A and B have been compressed as part of the processing 302′. Alternatively, the steps 501 and/or 503 may be done after the data are stored on the content server 240′, if the file P is to be compressed and/or encrypted.
Receiving the file P from the Internet or other network by a digital appliance 220′ is shown in
In another approach, the file data may be encrypted in either of the steps 302′ or 303 (
Similarly, the data are decompressed by a step 605 if necessary because the data of File P were compressed by the step 501 before being sent over the network. This results in file P, or something close to file P if any compression and decompression process is lossy.
A next step 402′ extracts files A and B and any additional information from file P. If the files A and B and any additional information were sent one after the other, they are separately received in time sequence. If interleaved, the received data stream is separated into the files A and B and any additional information by knowing the interleaving pattern used when the data were sent. The calculation of the function h(B) from the file B is performed at step 607 within the DRM device 210′. File A is transferred, on the other hand, to the digital appliance 220′, where g(A) is calculated at step 609 and sent back to the DRM device 210′. The function f(g(A), h(B)) is then calculated from g(A) and h(B), by a step 407′.
Data of the file F, which are exactly or approximately the original data of the content file C, are then rendered by a step 611 into a form for use by a particular type of digital appliance 220′, such as a personal computer. This step may include limiting the form of the file data that are passed to a utilization portion 613 of the digital appliance 220′, possibly according to the license data, in a manner that render the data in a form useful for the intended purpose but not particularly useful for unlicensed copying and/or distribution.
For a relatively small static content file C, such as the text of a book or other document, the entire results of calculating g(A) in the digital appliance 220′ and h(B) by the DRM device 210′ may be stored entirely within its memory 114′ and the processing of
In addition to the protection that data encryption provides, license data provided by the content provider and stored in the memory 114′ may further control operation of the DRM device 210′. The license data can limit use of a particular data file to a specific number of times, a range of dates, and the like. It can also control the formatting 611 to render the data in a particular limited way specific to the DRM device or user. These are checked and controlled by an eligibility verification step 614. When attempting to operate outside of such license rights, processing and rendering the data within the DRM device 210′ can be terminated entirely, as illustrated by interrupting one or more essential data transmission paths at 615, 617 and/or 619. If license data are included in the additional information, they may instead be used to control these data transmission paths and also applied to any or all of the blocks 607, 609, 611 and 614. A primary aspect of the processing described above takes place by preparing data of the file C for transmission at a step 302′ of
Files A and B are then usually transmitted over a network such as the Internet, in the form of the previously described file P or otherwise. When received, the data of file A are subjected to processing 657 that is the inverse of the processing 653. That is, if the processing 653 compresses data to form file A, the processing 657 decompresses the data of File A. Similarly, the received data of file B are subjected to processing 659 that is the inverse of the processing 655. The products g(A) and h(B) of this processing are then combined at 661 by a process that is the inverse of the separation process 651. The result of the combination is file F, which is either exactly or approximately the same as the original file C, depending on whether any of the intermediate processing has created any data loss or distortion.
In one of the embodiments described above, where the file C contains data of a movie, the file is divided into a video component C1 and an audio component C2. File A results from the processing 653 of the video component C1, such as by compression, and file B from the processing 655 of the audio component C2, which may also be compression. The processing step 657 then decompresses File A with an inverse of the compression algorithm used in the step 653. Similarly, File B is decompressed by the processing 659 with an inverse of the algorithm used for the processing 655.
In another of the embodiments described above, the frequency range of an audio file C is divided into two distinct component ranges C1 and C2 by the step 651. File A results from the processing 653 of the C1 component data, and File B from the processing 655 of the C2 component data.
In another embodiment described above, the separation processing 651 divides color components of a video signal file C into two parts, file A being formed of one or more but less than all the components, and file B including the remaining component(s). Combining the processed files A and B in the step 651 puts all the color components back into data F of a single video signal.
In others of the embodiments described above, the processing 651 includes generating the component C1 by making some modification to the file C1 while the component C2 holds information necessary to reverse that modification. The processing 661 then combines data in a manner to reverse the modification. Such modifications include adding dummy data, time shuffling the data or removing data segments.
The DRM device 210′ is most conveniently implemented in one or more of the flash memory cards or flash drives that are commercially available. Suitable memory cards are those sold under the trademarks CompactFlash (CF), Multi-Media Card (MMC), Secure Digital (SD), miniSD, TransFlash, Memory Stick and others. Flash drives sold under the Cruzer trademark can also be used. SanDisk Corporation, the assignee hereof, manufactures and sells these memory cards and flash drives. They are suitable because they have enough processing power to both manage the flash memory and perform the processing indicated in
By offloading the calculation of g(A) from the DRM device 210′ to the digital appliance 220′, even cards or drives with a lesser amount of processing power may still be used, usually at a lower cost. The more processing intensive calculations are then caused to be performed by the digital appliance 220′, which will often have much more processing capability than the flash device. For security, the digital appliance has access to only part of the original file C, namely g(A) in this example, which is not useful by itself. Indeed, the division of the original content file C (
The structure of such a flash memory device 701 is generally illustrated in
The microprocessor 711 of the memory device 701 of
The form of the connector 717 (
A common form of the DRM device 210′ and digital appliance 220′ is shown in
The use of an SD card 210″ as the DRM device is also illustrated in
Another memory storage device very useful for the DRM device is a memory card having two different external connectors on the card that both connect to the internal memory controller, one for insertion into a USB receptacle and another with a standard set of card contacts, such as according to the SD card standards. Such a device is described in two United States patent applications filed Apr. 16, 2004, Ser. No. 10/826,801, entitled “Memory Cards Having Two Standard Sets of Contacts,” and Ser. No. 10/826,796, entitled “Memory Card with Two Standard Sets of Contacts and a Contact Covering Mechanism.” Both of these applications are incorporated herein by these references.
It is also desirable to manufacture the DRM device in a manner that makes it difficult to be disassembled. This provides additional security of the data stored in it. One such manufacturing technique and a flash drive resulting from it are described in United States patent application publication no. 2004/0137664A1, which application is incorporated herein in its entirety by this reference.
Any visual content of the file C may be viewed by the user on the digital appliance's visual display 721, and any audio content heard through audio speakers 723 or earphones. The digital appliance 220′ may include only one of the display 721 or the audio source 723, or multiple copies of one of them, if dedicated to reproduce only visual or audio content, respectively. Some other human sensory transducer may be used when appropriate for reproducing data of the content file C.
The description above contemplates that the DRM device is implemented in the form of a memory card or flash device that is removable from the digital appliance. However, there are applications where it is desirable to permanently install the DRM device within a digital appliance, an example being where the digital appliance is highly portable such as an audio MP3 player. In such a case, the DRM device is preferably separately formed in a sealed package to increase the difficulty of it being disassembled, thereby increasing the security of the data being processed.
Although the present invention has been described with reference to particular embodiments, it is not to be construed as being limited thereto. Various alterations and modifications can be made to the embodiments without in any way departing from the scope or spirit of the present invention.