簡介
密鑰流的種子取決於LFSR(
線性反饋移位暫存器)的初始狀態,鑒於當時的技術水平,每個種子長度僅為5個位元組,即40比特。而前2位元組組成17-bit LFSR,後3位元組組成25-bit LFSR,其餘部分從內容部分獲取(明文部分)。
它已被更新的DRM方案取代,例如可記錄媒體內容保護(CPRM),或HD DVD和
藍光光碟使用的高級訪問內容系統(AACS)DRM方案中的
高級加密標準(AES)。分別為56位和128位密鑰大小,提供比CSS不太安全的40位密鑰大小更高級別的安全性。
內容擾亂系統(CSS)是DVD視頻光碟的專有保護機制的集合。CSS嘗試僅限制許可應用程式對內容的訪問。根據DVD拷貝控制協會(CCA),即授予許可的聯盟,CSS應該保護內容所有者的智慧財產權。
CSS的詳細信息僅授予被許可人收費。許可證受到保密協定的約束,不允許開發用於DVD視頻播放的開源軟體。相反,有libdvdcss,一個反向工程的CSS實現。Libdvdcss是一個非常寶貴的文檔來源,以及公開的DVD-ROM和MMC規範。還有一些努力從各種來源收集CSS細節。
一個DVD-Video可以自由選擇使用或不使用CSS生成DVD視頻。例如,發布者可以決定不使用CSS保護來節省許可和生產成本。
內容加擾系統處理三個參與者:光碟,驅動器和播放器。光碟保存版權資訊和加密功能。驅動器提供讀取光碟的方法。播放器解密並呈現該特徵的音頻和視覺內容。所有參與者必須遵守CCA的許可協定。
有三種保護方法:
這三種保護方法實際上都被打破了。
光碟
DVD-ROM的主數據(§16)是2048位元組的連續邏輯塊,根據DVD視頻格式構成。DVD視頻包含(除了其他之外)由所謂的包組成的MPEG節目流。如果CSS套用於光碟,則所有Pack的子集都使用標題密鑰加密。
除主數據外,DVD-ROM還包含附加數據區。那裡的CSS商店:
對於每個用戶數據邏輯塊,CSS還在幀頭中使用六個位元組(§16.3,§6.29.3.1.5):
一個位元組帶有著作權管理信息,
五個位元組持有加密的標題密鑰。
驅動器
該驅動器將DVD視頻光碟視為任何DVD-ROM光碟。播放器讀取光碟的用戶數據並根據DVD-Video格式處理它們。但是,如果驅動器檢測到已使用CSS編譯的光碟,則會拒絕訪問標記為受著作權保護的邏輯塊(第6.5.3節)。玩家必須首先執行身份驗證握手(§4.10.2.2)。身份驗證握手還用於檢索光碟密鑰塊和標題密鑰。
該驅動器還可以支持區域播放控制(RPC),以限制DVD視頻內容到世界特定區域的播放(§3.3.26)。RPC PhaseII驅動器具有8位區域代碼,並符合CSS許可協定的所有要求(§6.29.3.1.7)。似乎RPC PhaseII驅動器拒絕區域不匹配的標題密鑰請求。但是,讀取用戶數據可能仍然有效。
密碼
CSS使用流密碼並使用純文本數據修改密鑰流以生成密文。流密碼基於兩個
線性反饋移位暫存器(LFSR),並設定為40位種子。
管理取決於操作的類型。有三種類型:
解密光碟或標題密鑰,
一個包和一個解密,
用於身份驗證握手的密鑰加密。
為了解密DVD視頻,播放器讀取光碟密鑰塊並使用其播放器密鑰來解密光碟密鑰。此後,播放器讀取標題密鑰並用光碟密鑰對它們進行解密。可以為視頻管理器和每個視頻標題集分配不同的標題鍵。標題密鑰用於解密包。
密碼分析
CSS使用大小僅為40位的加密密鑰。這使得CSS容易受到暴力攻擊。在引入CSS時,美國禁止製造商出口使用超過40位密鑰的密碼系統,這一密鑰長度在計算機處理能力不斷提高時已經顯示出完全不足(見數據加密標準)。
根據泄露的DeCSS原始碼,Frank A. Stevenson於1999年11月發布了三個漏洞,使得CSS密碼幾乎無效:
後者利用在Intel Pentium III@450 MHz上在不到18秒的時間內從其哈希值中恢復磁碟密鑰。
CSS設計是為一些玩家密鑰泄漏而準備的。新光碟不包含光碟密鑰塊中這些播放器密鑰的加密變體。然而,史蒂文森的攻擊使得生成所有玩家密鑰成為可能。Libdvdcss使用這樣生成的玩家鍵列表。
有些情況下沒有標題鍵可用。驅動器可能拒絕訪問區域不匹配但仍允許讀取加密的DVD視頻。Ethan Hawke為MPEG程式流中的數據重複提供了純文本預測,可以直接從加密的DVD視頻中實時恢復標題密鑰。
在Geeks Bearing Gifts中,作者Ted Nelson表示“基於自由主義書籍計算機圖書館的論據,DVD加密委員會故意輕視DVD加密。”一項聲稱引用來自與匿名來源的個人通信;尼爾森是Computer Lib的作者。