Understanding CSS Decryption and CSS Encryption process
Content Scrambling System (CSS)
DVD players encrypt the data that provides us with the high quality presentations of films and other programs. The reason for this is to prevent unauthorized duplication of the DVD. While there are many legal and moral issues currently being debated the scope of this article is on the technology of this protection, not whether it should be circumvented. Currently, there are numerous court cases both active and pending about the software that can override this protection and allow the user to copy a DVD. Only time will tell the outcome and its affect on the DVD consumer.
The method of encryption used on commercial DVDs is called Content Scrambling System (CSS). CSS uses various keys, basically a string of characters that are used to authenticate the validity of the disc that the DVD player is attempting to read. What you have to remember is unlike the video tape player the DVD player is a small computer and you have to consider the DVD itself as the software used by this computer. We are dealing more with data security than anything else here.
Encryption Keys
First, let’s consider the keys that are central to the encryption of the DVD content.
- Region Key: This is a simple string of numbers that represent the permissible global regions that this disc can play. On the DVD the key represents the intended region. On the player side the string gives the permissible regions that the unit can handle. For a region free player there are either all the regions present or none at all. A region free disc usually has nothing in this string.
- Authentication Key: This is a ‘secret’ string of characters that is used in the mutual authentication process. This lets the player know it is permitted to decrypt the content.
- Session Key (Bus Key): The key that is negotiated during authentication and is utilized during the processing of the title and disk keys and prevents unauthorized interception of the data.
- Player Key: Licensed by the DVD Copy Control Association to the manufacturer of a DVD player. This tells the software that the DVD player was manufactured according to the set standards. It is used during the process that decrypts the disk key. There are 409 variations to this key.
- Disk Key: This key is used to encrypt title key. It is decrypted using the player key.
- Sector Key: This key is used in conjunction with the 128 byte header on the disc. Bytes 80-84 of each sector contain a specific key used to decrypt the data in that sector.
- Title Key: This key is ‘XORed’ with a per-sector key to encrypt the data within a sector.
Basic Decryption Process
- Mutual Authentication: The disc and drive negotiates the session key and establishes the ‘trustworthiness’ of both the disc and the player. This helps prevent the use of a hacked player or a copied disc.
- Decoding disk: The player cycles through a series of trusted player codes until it can decode the disc.
- Negotiate the disc and title keys: The title and bus keys are used by the player to work with the session key to decode the data.
- Data Transmission: The DVD player reads a sector and sends it on for processing.
- Disc Decoding: The host computer receives the data and uses the disk key to decode it.
- Sector Decoding: The title key is used to access the data passing it on to be decoded using the sector key.
