當(dāng)前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀]本文介紹了一種基于DVD-ROM應(yīng)用的內(nèi)容干擾系統(tǒng)(CSS)的設(shè)計和實現(xiàn)。該系統(tǒng)可有效防止對DVD盤片的非法拷貝。

摘 要:本文介紹了一種基于DVD-ROM應(yīng)用的內(nèi)容干擾系統(tǒng)(CSS)的設(shè)計和實現(xiàn)。該系統(tǒng)可有效防止對DVD盤片的非法拷貝。文中通過對其工作原理和實際應(yīng)用的分析,給出其最終實現(xiàn)方案,并用Verilog HDL完整整個系統(tǒng)的設(shè)計。功能仿真和FPGA驗證表明,設(shè)計成功。
關(guān)鍵詞內(nèi)容加擾系統(tǒng);DVD;Verilog HDL;FPGA驗證 

        引    言 

        DVD-ROM的視頻和音頻數(shù)據(jù)是經(jīng)過加密編碼的,加擾的源是標(biāo)題密鑰(Tittle Key),同時標(biāo)題密鑰被光盤密鑰(光盤密鑰)加密,主機(jī)在播放影碟的時候必須拿到這兩個密鑰才能順利播放。在密鑰從DVD驅(qū)動器傳送到主機(jī)的過程中,為了保證數(shù)據(jù)傳輸通道的安全性,即保證光盤密鑰和標(biāo)題密鑰能夠被安全地傳輸,CSS建立了一道認(rèn)證機(jī)制(Authentication Mechanism),通過總線密鑰(BUSKEY)對光盤密鑰和標(biāo)題密鑰進(jìn)行加擾。由于能夠有效地防止對DVD光盤的非法拷貝,CSS幾乎被所有的商業(yè)DVD設(shè)備所使用。 

        當(dāng)DVD播放機(jī)讀取數(shù)據(jù)時,伺服控制芯片中的CSS將進(jìn)行復(fù)雜的密碼校驗。如果密碼校驗成功,數(shù)據(jù)才可以還原成MPEG-2格式和轉(zhuǎn)換為視頻信號和音頻信號。本文介紹了一種完成認(rèn)證過程、光盤密鑰和標(biāo)題密鑰的加擾和傳輸?shù)腃SS的設(shè)計,它用于DVD伺服控制芯片中。 

        CSS 的原理及系統(tǒng)分析 

        根據(jù)DVD標(biāo)準(zhǔn)以及CSS的相關(guān)的規(guī)范,CSS主要包含兩部分: 

        (1)DVD驅(qū)動器和主機(jī)之間的授權(quán)認(rèn)證。

  其認(rèn)證流程為:主機(jī)發(fā)送一個隨機(jī)碼流到驅(qū)動器,驅(qū)動器對其加密后返回主機(jī),主機(jī)解密后確認(rèn)是否和原碼流相同,如果相同則驅(qū)動器被授權(quán)。主機(jī)的授權(quán)過程與驅(qū)動器的授權(quán)過程相同。交互授權(quán)的結(jié)果是產(chǎn)生總線密鑰用于對在主機(jī)和驅(qū)動器之間傳輸?shù)臄?shù)據(jù)進(jìn)行加密。只有主機(jī)和驅(qū)動器可以產(chǎn)生用于解密的密鑰。 

        (2)光盤密鑰和標(biāo)題密鑰的加擾。加擾過程為: 

        ①驅(qū)動器用總線密鑰對光盤密鑰和標(biāo)題密鑰加擾。CSS對密鑰的加擾開始于伺服控制芯片從DVD 光盤讀取包含光盤密鑰和標(biāo)題密鑰的扇區(qū)數(shù)據(jù)。數(shù)據(jù)先讀入UPI(微處理器接口)寄存器然后傳送到存儲區(qū)管理模塊(BM-Buffer Manager)并生成CSS內(nèi)存指針以用于CSS讀取數(shù)據(jù)。CSS 從BM 中一次讀取一個字節(jié)的密鑰,加擾后儲存到BM 中由微處理器內(nèi)存指針?biāo)赶虻膮^(qū)域。密鑰加擾完成后,CSS發(fā)出CSS DONE中斷。 

        ②通過微處理器內(nèi)存指針,UPI寄存器讀取加擾后的密鑰并傳送至主機(jī)。 

        ③主機(jī)接收到加擾后的光盤密鑰和標(biāo)題密鑰用其進(jìn)行解擾。采用正確的光盤密鑰和標(biāo)題密鑰主機(jī)可對光盤上的音頻、視頻數(shù)據(jù)解擾。 

        圖1  CSS結(jié)構(gòu)圖 

        CSS的系統(tǒng)結(jié)構(gòu)及主要模塊硬件實現(xiàn)

     圖1表示CSS系統(tǒng)結(jié)構(gòu)圖,它由四個模塊組成: 

        ① CSS_PROC:處理CSS數(shù)據(jù)輸入輸出,它是CSS與DVD伺服控制芯片中BM和UPI的接口; 

        ② CSS_RAND_GEN :產(chǎn)生80-bit偽隨機(jī)數(shù)用于DVD驅(qū)動器對主機(jī)的認(rèn)證,偽隨機(jī)數(shù)的產(chǎn)生用到了42位線性反饋移位寄存器(LFSR-LinearFeedback Shift Register); 

        ③ CSS_AUTH:CSS中最為關(guān)鍵的認(rèn)證運算模塊; 

        ④CSS_SM:控制CSS_AUTH模塊的認(rèn)證過程,并且在CSS_PROC中開啟密鑰傳輸。 

        由以上這些模塊構(gòu)成的CSS系統(tǒng)實現(xiàn)DVD驅(qū)動器和主機(jī)之間的交互授權(quán)認(rèn)證以及光盤密鑰和標(biāo)題密鑰的加擾兩大功能,系統(tǒng)時鐘為100MHZ 。

        數(shù)據(jù)通路設(shè)計 
        CSS最關(guān)鍵的地方在于主機(jī)和DVD驅(qū)動器之間的認(rèn)證,因而認(rèn)證運算模塊CSS_AUTH成為設(shè)計重點。根據(jù)圖1的認(rèn)證過程,它由5個子模塊來完成,如圖2所示: 

        圖2  CSS_AUTH結(jié)構(gòu)圖 

        在圖2中,DRV_AUTH得到驅(qū)動器對主機(jī)的響應(yīng)值DRV_RES,返回到主機(jī)以完成主機(jī)對驅(qū)動器的認(rèn)證并產(chǎn)生總線密鑰,而DEC_AUTH則和KEY_SHARE 共同完成驅(qū)動器對主機(jī)的認(rèn)證;DEC_AUTH 取回主機(jī)對驅(qū)動器的響應(yīng)值以后,通過和主機(jī)相反的過程得到一個參考值,將它和DEC_RES比較后驗證主機(jī),驗證成功產(chǎn)生連接數(shù),送給KEY_SHARE 最終產(chǎn)生用以加密的總線密鑰。為了使CSS_AUTH的面積最優(yōu),如圖2所示,將CSS_DRV_AUTH、CSS_DEC_AUTH和CSS_KEY_SHARE 三個模塊中共同包含的邏輯部分抽出形成一個單獨的模塊CSS_AUTH_COMMON ,同時設(shè)計一個多路選擇模塊AUTH_MUX_COMMON 來選擇到AUTH_COMMON的數(shù)據(jù)源。這種模塊多路復(fù)用結(jié)構(gòu)很好的節(jié)省了電路面積,提高了運算速度。
在這些模塊中,被復(fù)用的模塊AUTH_COMMON 包含著最復(fù)雜的數(shù)據(jù)路徑,設(shè)計時劃分為四個子模塊,如圖3所示: 

        圖3 AUTH_COMMON結(jié)構(gòu)圖 

        在圖3中,KEY模塊中存放通過L ICENSE 得到的AK,通過XOR 模塊與PCD[79:40] (對于DRV_AUTH)來說PCD為從主機(jī)發(fā)送過來的80bit 隨機(jī)碼流;對于DEC_AUTH 來說PCD為驅(qū)動器自身產(chǎn)生的用以對主機(jī)進(jìn)行認(rèn)證的80_bit 隨機(jī)數(shù);而對于KEY_SHARE PCD來說則為DEC_AUTH模塊的運算結(jié)果,即驅(qū)動器對主機(jī)認(rèn)證過程產(chǎn)生的中間連接數(shù))進(jìn)行異或,然后經(jīng)過SCHEDULER模塊(由兩個LFSR、一個一位全加器和一些XOR門及寄存器組成)得到IAK,最后送到SUBSTITU TOR模塊得到AUTH三個子模塊各自的運算結(jié)果。 

        設(shè)計中最困難的部分在于SUBSTITUTOR的設(shè)計,其硬件結(jié)構(gòu)如圖4所示,由30個SBOX、10個TBOX 和一系列XOR門組成。它是基于CSS加擾算法的,采用5X6運算陣列實現(xiàn)。整個運算按列進(jìn)行,即先在第0列從第0行開始一直算到第4行,再在第1列從第0行開始一直算到第4行,這樣一直運算到第5列。運算時SBOX的行列地址由專門的控制電路來選擇。 

        圖4  SUBSTITUTOR硬件結(jié)構(gòu)圖

  其中,T代表T_BOX ,只在5X6結(jié)構(gòu)的第三四列出現(xiàn),主要對輸入數(shù)據(jù)進(jìn)行XOR 運算及相應(yīng)的置位;SBOX硬件結(jié)構(gòu)如圖5所示: 

        圖5 SBOX硬件結(jié)構(gòu)圖

  其中,PRE_TABLE 和POST_TABLE 均為查找表,用8X8ROM 實現(xiàn),這樣完成整個認(rèn)證過程需要32 個這樣的ROM。從圖中可以看到,ROM地址由輸入數(shù)據(jù)決定,按址查找后即得到輸出結(jié)果。查找表和AK一樣需向DVD協(xié)會申請許可證才能得到具體數(shù)據(jù)。 
    
        狀態(tài)機(jī)設(shè)計 
        根據(jù)系統(tǒng)分析,CSS有6種工作模式,分別為: 
        ①計算DVD驅(qū)動器的響應(yīng)值DRV_RES ; 
        ②產(chǎn)生對主機(jī)認(rèn)證的呼叫DEC_CHAL 用于對主機(jī)的認(rèn)證; 
        ③產(chǎn)生主機(jī)的參考值DEC_REF,并與主機(jī)的響應(yīng)值DEC_RES作比較,若相同則主機(jī)通過DVD驅(qū)動器認(rèn)證并產(chǎn)生連接數(shù); 
        ④產(chǎn)生總線密鑰: 
        ⑤用總線密鑰對光盤密鑰進(jìn)行加擾; 
        ⑥用總線密鑰對標(biāo)題密鑰進(jìn)行加擾。 

        圖6  狀態(tài)轉(zhuǎn)換圖

  CSS中采用MOORE類型的狀態(tài)機(jī),圍繞這些工作模式進(jìn)行狀態(tài)轉(zhuǎn)換。其狀態(tài)轉(zhuǎn)換圖如圖6所示。

        功能仿真和FPGA 驗證 

        按照上述設(shè)計思想,用Verilog HDL對CSS進(jìn)行RTL描述。使用Synopsys VCS對其6種模式進(jìn)行仿真,通過Debussy的PLI接口生成波形文件(.fsdb),在Debussy中對波形進(jìn)行分析。光盤密鑰共有2048 個字節(jié),DVD 扇區(qū)中包含光盤密鑰的數(shù)據(jù)區(qū)在第13個到2060個字節(jié)。在測試腳本里預(yù)先設(shè)定總線密鑰的值并導(dǎo)入2352個字節(jié)的DVD扇區(qū)數(shù)據(jù)到BM以便對CSS進(jìn)行功能測試。在這里只針對光盤密鑰加擾模式的仿真波形進(jìn)行說明。

        其中,CSS_BM_RD_REQ_CNT為CSS向BM發(fā)出的讀請求信號,DISC_KEY_XFER_EN為光盤密鑰傳輸使能信號,均為高電平有效。BM_CSS_DATA[7:0]為光盤密鑰數(shù)據(jù),存儲于BM的FIFO中。當(dāng)上述兩個使能信號都為“1”時,光盤密鑰就從BM傳輸至CSS中,每個時鐘周期傳送一個字節(jié)。TOTAL_OFFSET_CNT是從BM傳輸來的數(shù)據(jù)的總的字節(jié)偏移量,當(dāng)TOTAL_OFFSET_CNT=11時DISC_KEY_STARTLOC置位,標(biāo)志著開始加擾光盤密鑰。每傳送一個字節(jié)數(shù)據(jù)的光盤密鑰,就用總線密鑰對其進(jìn)行異或運算,并在下一個時鐘周期將加擾的結(jié)果送出并產(chǎn)生數(shù)據(jù)有效標(biāo)志。分析CSS_BM_DATA_OUT[7:0]可知,總線密鑰對光盤密鑰進(jìn)行了正確的加擾及傳輸。 

  為了保證CSS系統(tǒng)設(shè)計的正確性,我們選用Xilinx Spartan2的XC2S50器件做FPGA驗證。我們在Synplify中生成網(wǎng)表文件(.edf),然后通過XilinxISE生成單元網(wǎng)表文件(.v)和線延時文件(.sdf)以用于VCS 進(jìn)行后仿真,最后生成FPGA下載文件(bit)。XC2S50硬件占用情況如表1所示: 

        表1  FPGA資源分配表 

        結(jié)束語 

        本文介紹了一種內(nèi)容干擾系統(tǒng)(CSS)的設(shè)計和實現(xiàn)。在分析了其工作原理和系統(tǒng)結(jié)構(gòu)后我們給出了數(shù)據(jù)通路和狀態(tài)機(jī)的設(shè)計方法,重點說明了SUBSTITU TOR的設(shè)計,這是整個系統(tǒng)設(shè)計中的難點。該系統(tǒng)在DVD伺服控制電路中的應(yīng)用表明,它確保了DVD驅(qū)動器到主機(jī)的光盤數(shù)據(jù)傳輸通道的安全性,可以有效防止對DVD盤片的非法拷貝,達(dá)到了設(shè)計要求。
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉