Maintaining the rights of data owners who rent or license data to third parties has been a growing problem over the years. This problem is noticeable for digital video and music content provided on CDs, DVDs, and for content downloaded over networks. Content owners providing digital video on DVDs have long used a protection scheme known as Content Scramble System (CSS). This is a Digital Rights Management (DRM) scheme used on literally all commercially produced DVDs. The encryption methodology used is at best very weak and proved to be easily susceptible to brute force attacks.
DRM is based on a proprietary 40-bit stream cipher algorithm. The system was introduced around 1996 and has subsequently been compromised to the point that copying of DVDs for standard definition video content is simple and commonplace. The introduction of NetFlix and now BlockBuster with on-line ordering of DVD rentals has aided this practice to the point that many people use NetFlix and BlockBuster to obtain DVDs strictly for the purpose of duplicating them.
The CSS algorithm has been superseded by the Cryptomeria cipher in newer DRM schemes such as CPRM/CPPM. Also, additional types of content protection has been added to certain CDs. However, the additional content protection is necessarily limited by what the installed base of CD players are capable of playing back.
With the introduction of High Definition (HiDef) video, the content owners have begun development of yet another encryption scheme that is referred to as the Advanced Access Content System (AACS). AACS is the new standard for content distribution and digital rights management for the next generation of optical discs and DVDs.
Players incorporating AACS began appearing in 2006. Since then, several AACS decryption keys have been extracted from weakly protected software players and published on the Internet. The published keys give people the ability to play and copy add older and current DVDs encrypted with that key set.
Once each key was cracked and published, the content owners placed the key on a revocation list and stopped producing DVDs with that key. This process takes about 4 months before DVDs with the new “secret” key work their way out into the general population of DVDs. Within days after each new key is placed into production, it too has been cracked and published.
The inventors recognized that this situation with keys is indicative of a security-impairment.
The embodiments describe new techniques that make it more difficult to obtain these keys.
An embodiment obviates this need to keep the entirety of the keys secret.
According to an embodiment, encrypted content is provided without providing a complete key that will decrypt the key package associated with the actual content in the player.
Embodiments of the present invention are illustrated by way of example, and not by way of limitation. The following figures and the descriptions both brief and the detailed descriptions of the invention refer to similar elements and in which:
A most basic embodiment is shown in
In other embodiments, the user's player 10 may only contain one of a plurality of pieces of the private key necessary to decrypt Second Encrypted Dataset (11) and thus recover Symmetrical Key (13) and Metadata (14). This second embodiment may also fall into a number of sub-embodiments where the portion of the private key not possessed by user's player may instead be possessed by the user or by a private key server residing on the internet.
Another embodiment forms the Second Encrypted Dataset (11) as a plurality of encrypted datasets. Each dataset contains a Symmetrical Key (13) and Metadata (14). Each set of symmetrical key and metadata is encrypted with a unique public key, where each unique public key is associated with a specified unique player. Each player contains a private key necessary to decrypt one of the encrypted datasets within the Second Encrypted Dataset (11). This embodiment allows First Encrypted Dataset (12) to be accessed by a plurality of players, each with its own unique public and private encryption keys. However, preferably only a subset of all players can access the second encrypted dataset. In this embodiment, a “missing” portion of the private key is not possessed by user's player. This missing portion of the private key is instead possessed by the user or by a private key server on the internet.
Once the user is authenticated by the comparison between the target system ID and the user order and account ID, Encryption Engine (23) receives a highly randomized symmetrical key from Random Symmetrical Key Generator (21). This key is a one-time key that is used to encrypt First Encrypted Dataset (24) one time. This key is only used once and is never used to encrypt a second dataset for this user and player or any other user and player. Encryption Engine (23) encrypts First Dataset with the symmetrical key producing First Encrypted Dataset (24).
Encryption Engine (23) obtains the public key associated with the user's player from Target System ID List and uses that public key to encrypt Second Dataset producing Second Encrypted Dataset (25). When both datasets 24 and 25 have been encrypted, Encrypted Dataset Aggregator (26) appends or otherwise combines First encrypted Dataset (24) with Second Encrypted Dataset (25) producing Combined Encrypted Dataset (27). Combined Encrypted Dataset (27) is the dataset that is provided to the user. The dataset is provided by one or more methods such as flash memory media; hard disk drive media, optical media, network delivery, or pickup by the user at a location geographically close to the user.
After producing Private Key (56), Encryption Key Manager sends Private Key (56) to Metadata Decryption Manager (46) which then reads Encrypted Metadata (50) from Second Encrypted Dataset (45). Encryption Key Manager (41) reads Encrypted Symmetrical Key (57) from Second Encrypted Dataset (45) and decrypts Encrypted Symmetrical Key (57) producing Symmetrical Key (55) and passes it to Content Decryption Manager (44). Metadata Decryption Manager (46) receives Private Key (56) from Encryption Key Manager (41). Metadata Decryption Manager (46) reads Encrypted Metadata (50) from Second Encrypted Dataset (45) and decrypts the metadata producing Decrypted Metadata (51), which is sent to Metadata Application (52). Content Decryption Manager (44) receives Symmetrical Key (55) from Encryption Key Manager (41). Content Decryption Manager (44) reads Encrypted Content Data (53) from First Encrypted Dataset (48) and decrypts the content data producing Decrypted Content Data (54) which it sends to Content Application (49).
Although only a few embodiments have been disclosed in detail above, other embodiments are possible and the inventors intend these to be encompassed within this specification. The specification describes specific examples to accomplish a more general goal that may be accomplished in another way. This disclosure is intended to be exemplary, and the claims are intended to cover any modification or alternative which might be predictable to a person having ordinary skill in the art. For example, other forms of providing the key portions may be used. The application also describes only a few forms of delivering content to players, such as DVDs, and USB drives, but it should be understood that other forms could alternatively be used.
Also, the inventors intend that only those claims which use the words “means for” are intended to be interpreted under 35 USC 112, sixth paragraph. Moreover, no limitations from the specification are intended to be read into any claims, unless those limitations are expressly included in the claims. The computers described herein may be any kind of computer, either general purpose, or some specific purpose computer such as a workstation. The computer may be an Intel (e.g., Pentium or Core 2 duo) or AMD based computer, running Windows XP or Linux, or may be a Macintosh computer. The computer may also be a handheld computer, such as a PDA, cellphone, or laptop.
The programs may be written in C or Python, or Java, Brew or any other programming language. The programs may be resident on a storage medium, e.g., magnetic or optical, e.g. the computer hard drive, a removable disk or media such as a memory stick or SD media, wired or wireless network based or Bluetooth based Network Attached Storage (NAS), or other removable medium or other removable medium. The programs may also be run over a network, for example, with a server or other machine sending signals to the local machine, which allows the local machine to carry out the operations described herein.
Where a specific numerical value is mentioned herein, it should be considered that the value may be increased or decreased by 20%, while still staying within the teachings of the present application, unless some different range is specifically mentioned. Where a specified logical sense is used, the opposite logical sense is also intended to be encompassed.