專利名稱:可安全執(zhí)行被加密程序的方法與系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及一種執(zhí)行程序的方法與系統(tǒng),尤其是涉及一種可安全執(zhí)行被 加密程序的方法與系統(tǒng)。
背景技術:
隨著數(shù)字多媒體內容的普及化,通過廣播、纜線、隨選視頻、實體化的 媒體裝置以及其它各式各樣的多媒體來源,消費者可以輕易取得為數(shù)可觀的
數(shù)字視頻或音頻內容。此外,目前多數(shù)的數(shù)字設備如個人計算機(PC)、 DVD 錄放機等,更是允許使用者可任意針對這些視頻或音頻內容進行錄制、隨選 欣賞、時間平移錄像(time-shift )或再制。而隨著因特網的蓬勃發(fā)展,如 可發(fā)送視頻服務的網絡協(xié)議電視(Internet Protocol Television, IPTV) 不僅提供了許多可下載的數(shù)字媒體內容,也是大量隨手可得的視頻內容來 源。
目前大多數(shù)的視頻內容多建立并儲存為MPEG-1、 MPEG-2或DV (數(shù)字視 頻)等格式,而這些視頻格式也是相當普及的視頻格式。同樣地,音頻內容 多被建立并儲存為MP3、 WAV、或MPEG音頻等格式。由于具有這些視頻或音 頻格式的媒體文件多具高度可移植性,多媒體內容在眾多規(guī)格的加持下,變 得更容易流通及分享。
另外,現(xiàn)在也有多種多媒體內容格式,其可兼容于一般市面上常見的視 頻播放系統(tǒng)。由于DVD具有的高儲存容量的特性,利用光盤作為儲存介質的 DVD標準規(guī)格也成了市面上的主流格式,也因此,有越來越多的數(shù)字視頻或 數(shù)字音頻以高質量的格式儲存,如高清晰度電影、電視節(jié)目、音樂節(jié)目影片 等,皆相當普遍而廣泛地以DVD格式流通于市面上。
而繼DVD標準規(guī)格之后,目前至少有數(shù)種多媒體儲存規(guī)格可望成為下一 代數(shù)位多媒體的主流規(guī)格,其中有兩種相當具竟爭性的次世代光儲存標準相 當具有潛力, 一為藍光光盤(Blu-ray Disc),另一則為高清晰度數(shù)字視頻 光盤(High Definition Digital Video Disc, HD歸)。如同其它新興的規(guī)格,藍光光盤除了提供超越DVD以及其它目前的光儲存介質多樣優(yōu)勢特性, 例如大幅增加的儲存容量以及高度的互動性(例如自訂式盤片內容、無縫選 單瀏覽、網絡連接性等),藍光光盤的架構更使得多媒體內容提供者在創(chuàng)制 互動性商品時功能上幾乎不受到限制。作者擁有完整的自由度來設計使用者 操作接口 ,這樣的操作接口讓使用者僅需通過遙控器上標準的瀏覽按鈕就可 輕易控制多媒體內容的運作。綜合而言,這些新一代的多媒體標準,如藍光 光盤或高清晰度數(shù)字視頻光盤,讓使用者對視頻內容享有更高階的控制能力 以及互動性。
然而不幸的是,在科技不斷發(fā)展而提升了多媒體內容的流通力的過程 中,數(shù)字媒體(視頻以及音頻)作品遭到盜版再制的程度也逐年提升。對于 像DVD之類的儲存介質來說,雖然目前廠商使用了各式各樣的防盜拷機制來 遏止盜版的行為,但由于取得以及復制儲存于DVD上的多媒體內容的能力也 不斷地在提升,盜版行為始終無法銷聲匿跡。即使對于新一代具有高互動特 性的多媒體規(guī)格(如高清晰度數(shù)字視頻光盤或藍光光盤)來說,視頻以及音 頻的剽竊也極有可能成為主要的問題。
為了抑制這些未經授權的多媒體內容復制以及散播行為,影音作品的出 版商及作者必須尋求更高階的技術來限制對這些數(shù)字內容的存取能力。其中 數(shù)字權利管理(digital right management, DRM )便是一般用來對多媒體 內容產生限制性存取的技術。數(shù)字權利管理是一種整合多樣技術的保護措 施,其中也包含了一種多媒體播放軟件,所述多媒體播放軟件可通過對多媒 體內容加密的方式達到限制存取的目的。然而,利用軟件應用程序來限制加 密內容的存取存在著一個明顯的問題許多案例顯示,這些應用程序仍可以 輕易被取得且通過逆向工程被反編譯。即使DVD上具有保護機制,使用者仍 可找到許多方式來破解這些保護機制,其中一種方式便是利用修改商業(yè)DVD 播放軟件來破解一通常這些商業(yè)DVD播放軟件具有將多媒體文件解密、解碼
后直接以串流寫入的方式儲存于計算機硬盤的能力。
尤其當個人計算機又是一種在開放環(huán)境中操作的平臺時,要對如DVD播
放軟件一類的應用程序進行保護更是一大挑戰(zhàn)。在某些情形下,軟件程序代 碼可以自存儲器中一受保護的區(qū)域被搬移到另一不受到保護的區(qū)域,然后再 被解譯以及分析,而就在這樣的搬移過程中,某些嵌入在程序中較敏感的數(shù) 據(jù)便有可能曝光。例如,整合D詣所需用到的加密密鑰,便是用來以對多媒在搬移的過程中被取得甚至可被非法利用時,會給企業(yè)帶來相當大的損失。 通過適當?shù)墓ぞ?,這些儲存于存儲器區(qū)塊中的加密密鑰可輕易被分析檢視, 然后被用來以未經授權的方式存取其它被保護的內容。由此可知,已知利用 儲存于開放的存儲器空間的軟件應用程序來進行數(shù)據(jù)內容的保護有許多明 顯的瑕瘋存在。
發(fā)明內容
本發(fā)明提供了 一種可安全執(zhí)行程序的系統(tǒng)以及執(zhí)行方法。在其中 一 實施 例中,可安全執(zhí)行程序的系統(tǒng)包含有一主機端,用來讀取一包含有被加密內 容的介質(如盤片),以及用來儲存一被加密程序,該被加密程序用來存取 該盤片上的被加密內容。該系統(tǒng)還包含一安全的協(xié)同處理器,以可與該主機 端傳輸數(shù)據(jù)的方式耦接于該主機端,用來接收該纟皮加密程序、對該被加密程 序解密以及執(zhí)行該被加密程序、以及將該被加密程序產生的 一輸出結果傳回 至該主一幾端。
本發(fā)明的另 一 實施例提供了 一種用來安全執(zhí)行被加密程序的方法,該方 法包含有自 一主機端接收一被加密程序,該主機端用來儲存該被加密程序以
及用來讀取一包含有被加密內容的介質(如盤片);接收該介質上的信息; 在一安全的協(xié)同處理器上利用一處理單元對該被加密程序解密;將該被解密 的程序儲存于一限定的隨機存取存儲器UAM),其中該隨機存取存儲器耦接 于該處理單元且僅可由該處理單元進行存取;執(zhí)行儲存于該隨機存取存儲器 的該被解密程序以產生一輸出結果;以及將該輸出結果傳送至該主機端。
本發(fā)明的另一實施例提供了一種計算機可讀介質,其儲存有一計算機程 序,該計算機程序用來自一主機端傳送一被加密程序,該主機端用來儲存該 被加密程序以及用來讀取一包含有被加密內容的介質(如盤片);傳送該介 質上的信息;利用一處理單元對該被加密程序解密;將該被解密程序儲存于 一限定的隨機存取存儲器(RAM),其中該隨機存取存儲器耦接于該處理單元 且僅可由該處理單元進行存?。粓?zhí)行儲存于該隨機存取存儲器的被解密程序 以產生一輸出結果;以及將該輸出結果傳送至該主機端。
圖1為本發(fā)明可安全執(zhí)行一被加密程序的系統(tǒng)一實施例的方塊示意圖。 圖2為本發(fā)明可安全執(zhí)行一被加密程序的系統(tǒng)一實施例的流程示意圖。
圖3為本發(fā)明可安全執(zhí)行一被加密程序的方法的一實施例的方塊示意圖。
圖4為圖1的系統(tǒng)實施例用來執(zhí)行圖3方法的另一實施例的流程示意圖。
圖5為AACS保護機制的示意圖。
圖6為圖1的系統(tǒng)實施例用來執(zhí)行圖3方法的又一實施例的流程示意圖。
圖7為圖1的系統(tǒng)實施例用來執(zhí)行圖3方法的又一實施例的流程示意圖。
附圖符號說明 100 播放系統(tǒng)
122 中央處理器
126 解碼器區(qū)塊
142,224處理單元
146,226隨機存取存儲
202 主才幾系統(tǒng)
206 輸出入4妄口 210, 438,
顯示器
620
216 操作系統(tǒng) 220,414被加密程序 416 AACS密鑰
8
120, 410, 610, 710主坤幾端
器
124,214
140, 222, 412, 612, 712
144 150 204 208
212
218
310-360
存儲器
協(xié)同處理器
解密器區(qū)塊 盤片 處理器 網絡接口
數(shù)據(jù)總線
應用程序
步驟
418,426,428,434區(qū)塊420 盤片內容 422 視頻/音頻
424 盤片信息 430 密鑰
614 數(shù)據(jù) 616 數(shù)據(jù)驗證程序
618 水印
具體實施例方式
通過所披露的圖示,下文將詳細地披露具體的實施方式。然而本發(fā)明的 特征不因此限縮于這些實施例中。相反地,在本發(fā)明所披露的技術特征中, 本文實施方式將盡可能涵蓋所有等義的實施例以及變形等。
以下為本發(fā)明用來安全執(zhí)行被加密程序的方法與系統(tǒng)的 一 實施例。如同 在現(xiàn)有技術中提及的,傳統(tǒng)的方法中有一個明顯的缺陷是由于個人計算機 通常是一種在開放環(huán)境中操作的平臺,當要進行程序的儲存及執(zhí)行時,程序 中部分的程序代碼可能需要自存儲器中 一 受保護的區(qū)域被搬移到另 一 不受 到保護的區(qū)域,然后再被解譯以及分析。而在這過程中,程序里某些較敏感 的數(shù)據(jù)(例如可存取DVD內容的解密密鑰)便有可能曝光而且極易遭受非法 存取、竄改。這是因為在多數(shù)情況下,「對計算機的存儲器進行存取」這樣 的操作并未受到任何限制,因此通過適當?shù)墓ぞ?,這些儲存于存儲器區(qū)塊中 的加密密鑰便可輕易被分析檢視,然后一些人可利用這些加密密鑰在未經授 權的情形下存取其它受到保護的內容。
因此,本文所披露的系統(tǒng)的一實施例即通過對程序(例如多媒體播放軟 件)加密,然后將加密過的程序遞送至一個安全的協(xié)同處理器作為暫存并執(zhí) 行,以解決前述已知的軟件執(zhí)行瑕疵。其中本發(fā)明所披露的可安全執(zhí)行被加 密程序的系統(tǒng)其中 一實施例包含一主機端,可用來讀取一 包含有被加密內容 的介質(如盤片)以及儲存一被加密過的程序,其中該被加密過的程序可用 來存取如盤片上的被加密內容。該實施例還包含一可靠安全的協(xié)同處理器, 耦接于該主機端,并可與該主機端傳輸數(shù)據(jù)。該協(xié)同處理器主要用來接收該 被加密過的程序、對該被加密的程序解密以及執(zhí)行該被加密程序、以及將執(zhí) 行該程序所產生的 一輸出結果回傳至該主機端。在本發(fā)明的實施例中,該協(xié)同處理器可凈丸行該程序的全部程序代碼或僅 執(zhí)行該程序的一部分。舉例來說,協(xié)同處理器可執(zhí)行播放應用程序中用來產 生密鑰(密鑰用來對盤片上的內容解密并產生一輸出結果)的程序代碼(此 即為該應用程序的部分程序代碼),而這些密鑰接著被傳送回該主機端,主 機端再對盤片上的內容進行解密并輸出。在本發(fā)明其它的實施例中,播放程 序具有的其它功能,例如密鑰的計算/產生以及解碼的功能,也可全部由協(xié) 同處理器來執(zhí)行。前述密鑰對盤片內容解密所產生的輸出結果則包含了傳送 至一顯示器上的視頻/音頻內容。為了確保這些被解密的內容能夠在安全的 環(huán)境中傳送,系統(tǒng)可選擇僅將該輸出結果傳送到 一符合數(shù)字權利管理
(digital right raanageraent, DRM)標準的設備(例如符合高頻寬數(shù)字內 容保護(High-bandwidth Digital Content Protection, HDCP )標準的設 備),通過如數(shù)字視覺接口 (Digital Visual Interface, DVI)或高清晰影 音傳輸接口 ( High-Definition Multimedia Interface, H腿)之類的連接 接口對這些敏感數(shù)據(jù)提供一個安全的傳輸通道。
本實施例中所披露的協(xié)同處理器具備了可阻絕數(shù)據(jù)竄改以及防止未經 授權存取的安全特性。例如,該協(xié)同處理器包含了一個可執(zhí)行一指令集的處 理單元,而該指令集僅可被該協(xié)同處理器辨識并執(zhí)行,且本質上不是一般被 公眾所知悉或使用的指令集。而要特別說明的是,協(xié)同處理器中的處理單元 并非僅具有處理該指令集的能力。最后,該協(xié)同處理器可另外包含一個限定
(restricted access)的隨機存取存儲器(random access memory, RAM), 而此隨機存取存儲器僅能與協(xié)同處理器的處理單元「溝通J。
請參考圖1。圖l描述了本發(fā)明用來安全執(zhí)行被加密程序的系統(tǒng)一實施 例的方塊示意圖。播放系統(tǒng)IOO可以接受并讀取一盤片150的內容,而盤片 150內包含有多媒體內容。在本發(fā)明的實施例中,盤片150可為數(shù)字多功能 光盤(Digital Versatile Disc, DVD )、高清晰度數(shù)字一見頻光盤(High Definition Digital Video Disc, HD歸)或藍光光盤(Blu-ray Disc), 且包含有高分辨率的視頻數(shù)據(jù)。此外,盤片150本身也可以整合某些保護手 段以防止對盤片150內容未經授權的復制或散布。舉例來說,藍光光盤以及 高清晰度數(shù)字視頻光盤一般具有數(shù)字權利管理(digital right management, DRM)標準的保護,而數(shù)字權利管理標準由先進內容存取系統(tǒng)的授權管理組 織(Advanced Access Content System License Authority, AACS LA)所定義,其對多媒體內容廣播方面提供了限制性存取的規(guī)范,因此數(shù)字權利管 理的全部內容在此處被列為可供參考的內容。有關于對視頻內容的加密以及 解密的進 一 步信息,可以參考先進內容存取系統(tǒng)的網站
http: 〃www. aacsla. com。雖然本發(fā)明也可應用于其它格式的高密度光盤, 此處所描述的實施例主要將著重于整合有先進內容存取系統(tǒng)(AACS)標準的 盤片150。
盤片150的內容一般可分為兩類多媒體內容本身以及盤片150的巻信 息(volume info )。在AACS的標準規(guī)范中,巻信息以媒體鍵值區(qū)塊(media key block, MKB )的形式存在盤片150中,樣體4定值區(qū)塊可以允許相對應的 播放器(例如受到AACS LA認證的媒體播放器)利用內嵌在播放器中的設備 鍵值(device keys)計算出一"秘密"金鑰(secret key )。本發(fā)明其中一個 目的便是阻絕對內嵌在程序(播放器)中的設備鍵值未經授權的存取。在某 些情況下,當設備鍵值遭受非法的入侵與竄改時,先進內容存取系統(tǒng)的授權 管理組織(AACS LA)會立即撤銷這些已建立好的設備鍵值,而在撤銷這些 設備鍵值之前,授權管理組織必須先掌握是哪一個設備鍵值已遭受破壞。然 而在多數(shù)的案例中,攻擊者可能只是私下"利用"這些設備鍵值而非散布給其 它使用者使用,因此由授權管理組織來掌握追蹤被破壞的設備鍵值實有相當 的不可行性。
從計算器科學的上層觀點來看,播放系統(tǒng)100可分為兩個主要的部分 主機端120以及安全的協(xié)同處理器140。主機端120包含了一中央處理器122、 一存儲器124以及一解碼器區(qū)塊126,其中解碼器區(qū)塊126用來對已解密的 內容進行解碼。需注意的是,雖然解碼器區(qū)塊126出現(xiàn)在主機端120,在其 它的實施例中,安全的協(xié)同處理器140也可包含一個解碼器區(qū)塊。而用來讀 取盤片內容的應用程序(如可讀取高清晰度數(shù)字視頻光盤(HDDVD)或藍光 光盤(Blu-ray Disc)的軟件播放器)的部分程序代碼則被加密并儲存于主 機端120的存儲器124中,接著再,皮傳送至協(xié)同處理器140,進行解密及執(zhí) 行。由于這些應用程序的部分程序代碼可能包含可產生金鑰的部分程序代 碼,因此必須在安全的協(xié)同處理器140上執(zhí)行以確保其安全性。
安全的協(xié)同處理器140包含有一處理單元142、 一解密器區(qū)塊144以及 一個限定的隨機存取存儲器146,其中處理單元142可為此領域中的技術人 員所熟知的任何形式的中央處理單元,也可為一可執(zhí)行一指令集的客制化處理單元,而這套指令集則定義了有關數(shù)據(jù)型態(tài)、指令集、緩存器、尋址模式 或其它本領域技術人員所熟知處理單元可執(zhí)行的處理^t式。由于這套指令集 本質上不是一般被公眾所熟悉,因此可使得處理單元142具有更難被侵入占據(jù)而被利用來執(zhí)行一些未經授權的操作(例如終止處理單元142正在執(zhí)行的 某些程序)的特性。解密器區(qū)塊144可在被加密的程序被執(zhí)行之前先行對該 被加密程序解密,以及將解密后的程序儲存于限定的隨機存取存儲器14 6中。 為了確保未經授權的使用者無法自隨機存取存儲器146取得這些被解密的程 序,隨機存取存儲器146只作為處理單元142專用的資源且僅允許來自處理 單元142的存取操作。最后,主機端120以及安全的協(xié)同處理器140彼此間 互相耦接在一起且可互相傳送數(shù)據(jù),而在協(xié)同處理器140內的程序所產生的 輸出結果可被傳送回主機端120。請參考圖2,其為本發(fā)明可安全執(zhí)行被加密程序的系統(tǒng)一實施例的流程 示意圖,而在其它實施例中,主機系統(tǒng)202可以被整合進某些計算裝置中, 而圖1中的安全的協(xié)同處理器也可被整合進主機系統(tǒng)202內。例如在某些實 施例中,主機端以及協(xié)同處理器222同時存在于個人計算機(personal computer, PC)的主機板上,而在其它實施例中,協(xié)同處理器222則設置在 一個獨立的板卡上(例如專門處理系統(tǒng)繪圖功能的顯示卡),然后再將板卡 安裝于個人計算機的擴充槽內,而協(xié)同處理器222則通過一總線與主機端通 連。在主機端與協(xié)同處理器222間,可整合一安全手段(例如在數(shù)據(jù)的往來 傳輸通道上使用加密的通訊協(xié)議)以確保安全性。一般說來,主機系統(tǒng)202可以是任何一種具有有線及/或無線傳輸能力 的計算器裝置,例如臺式計算機、便攜式計算機、專屬服務器計算機、多處 理器計算器等等。在不特別將這些計算器裝置個別的特殊設計考慮進來的情 況下,主機系統(tǒng)202通常包含了一處理器204、多個輸出入接口 206、 一網 絡接口 208以及一顯示器210,而這些元件都以數(shù)據(jù)總線212作為傳輸數(shù)據(jù) 的通道。此外,本領域技術人員都能輕易了解到主機系統(tǒng)202通常另外包含 了其它典型的元件,但此處不再贅述。顯示器210可為一計算機監(jiān)視器、等 離子屏幕或液晶屏幕,若為增加安全性,顯示器210也可以任何符合DRM架 構(例如HDCP標準)的顯示設備實施,以對數(shù)字視頻/音頻內容在各種不同 的傳輸通道中提供安全的保護。處理器204可為一客制化的處理器或目前市面上通用的各種形式的處理器、中央處理單元(CPU)或在主機端202中的多個處理器間的一個輔助 處理器、微處理器(微芯片)、巨量處理器(macroprocessor)、 一個或多個 量產訂制芯片(application specific integrated circuits,. ASICs )、 多 個適酉己凄t字遲4辱門(suitably configured digital logic gates )、 以及其 它常見的以分離或組合的形式整合入計算器系統(tǒng)的電路元件。存儲器214可為易失性存儲元件(如動態(tài)隨機存取存儲器(dynamic random access memory, DRAM)或靜態(tài)隨機存取存儲器(static random access memory, SRAM)之類的隨機存取存儲器)或非易失性存儲元件(如只讀存儲 器(read-only memory, ROM )、硬盤、磁帶或光盤片等)的任何一種或任意 組合。存儲器214可儲存本地端的操作系統(tǒng)216、 一個或多個本地端的應用 程序、仿真系統(tǒng)、適用不同操作系統(tǒng)或硬件平臺的仿真應用程序或仿真操作 系統(tǒng)等。舉例而言,應用程序即包含了一個與安全的協(xié)同處理器222溝通的 特定應用程序218。此外,本領域技術人員都能輕易了解存儲器214通常另 外會儲存其它典型的元件,但此處也不再贅述。圖2中的應用程序218可為用來播放不同格式盤片(如高清晰度數(shù)字視 頻光盤或藍光光盤)的軟件播放器,而當應用程序218以軟件的形式存在時, 其可被儲存在各種可被使用在多種不同計算器系統(tǒng)或方法的計算機可讀介 質(computer-readable raedi咖)上。在本文的內容中,這些計算機可讀介 質包含了利用電子、磁性、光學或其它物理方式來儲存計算機程序的裝置或 器材,這些計算機程序也可被-使用在多種不同計算器系統(tǒng)或方法上。至于操 作的接口也可內嵌于各種不同的計算機可讀介質內,這些介質則可被使用在 一種指令執(zhí)行系統(tǒng)、設備、裝置,例如計算器系統(tǒng)、內含處理器的系統(tǒng)或可以自這些指令執(zhí)行系統(tǒng)、設備或裝置擷取指令并執(zhí)行指令的系統(tǒng)。在本文所披露的內容中,前述「計算機可讀介質」可儲存、傳遞、散布 可被使用在一種指令執(zhí)行系統(tǒng)、設備、裝置的程序。而計算機可讀介質可為 (但不受限于)電子、磁性、光學、電磁、紅外線、或半導體系統(tǒng)、設備、 裝置或其它增生介質。關于計算機可讀介質更多的例子(并非一份完整的清 單)還可包含具有一或多條纜線的電力連接設備(電子類)、便攜式計算器磁盤(磁性類)、隨機存取存儲器(電子類)、只讀存儲器(電子類)、可 擦除可程序化只讀存儲器(EPR0M, EEP畫,or Flash memory )(電子類)、 光纖(光學類)以及便攜式光盤(CDR0M)(光學類)。輸出入接口 206包含了數(shù)量不等用來輸出以及輸入數(shù)據(jù)的接口。舉例來 說,主機系統(tǒng)202假如是一個人計算機,在系統(tǒng)內的元件便需要以鍵盤或鼠 標作為使用者輸入裝置。主機系統(tǒng)202也可包含一個網絡接口 208以通過網 絡傳送或接收加密過的多媒體內容。在不限縮范圍的情形下,該網絡接口 2 08 也可包含調變器/解調器、無線傳輸器(例如無線射頻發(fā)射器)、電信接口、 橋接器、路由器、網絡卡等等。
圖2中的應用程序218包含了被加密程序220。被加密的程序220可為 應用程序218的部分程序代碼,其包含可用來計算出巻鍵值(volume key) 的設備鍵值(device key),而巻鍵值則可對盤片上被加密的內容進行解密 操作。被加密的程序220可被傳送至安全的協(xié)同處理器222以被安全的解密 以及執(zhí)行。如先前所提及的,安全的協(xié)同處理器222可設置于一個獨立的板 卡上(例如專門處理系統(tǒng)繪圖功能的顯示卡),然后被安裝入計算機的擴充 槽以便與主機系統(tǒng)202通連。在圖2中,安全的協(xié)同處理器222可通過數(shù)據(jù) 總線212與主機系統(tǒng)202通連,而在主機系統(tǒng)202與協(xié)同處理器222間,可 整合一安全手段(例如在數(shù)據(jù)的往來傳輸通道上使用加密的通訊協(xié)議)以確 保安全性。
安全的協(xié)同處理器222包含了一個處理單元224。處理單元224可為一 客制化的處理器或目前市面上通用的各種形式的處理器、中央處理單元 (CPU)或在數(shù)個處理器間的一個輔助處理器、微處理器(微芯片)、巨量處 理器(macroprocessor )、 一個或多個量產訂制芯片(appl icat ion specific integrated circuits, ASICs )、多個適酉己lt字遷專辱門(sui tably conf igured digital logic gates )、以及其它常見的以分離或組合的形式整合入計算器 系統(tǒng)的電路元件。特別需注意的是,在這些實施例中,處理單元224需能執(zhí) 行 一 個指令集以減少被侵入的可能。
安全的協(xié)同處理器222另包含了一個限定的隨機存取存儲器226。隨機 存取存儲器226可為易失性存儲元件(如動態(tài)隨機存取存儲器(DRAM)或靜
只讀存儲器UOM)、硬盤、磁帶或光盤片等)的任何一種或組合。隨才幾存取 存儲器226可儲存被解密過的程序220。在本發(fā)明較佳實施例中,限定的隨
請參考圖3,圖3為本發(fā)明可安全執(zhí)行被加密程序的方法一實施例的流程圖。在步驟310中,自一主機端接收一被加密程序,該主機端用來儲存該
被加密程序以及用來讀取一包含有被加密內容的盤片。接著在步驟320中, 接收儲存于該盤片上的信息。這些信息可在稍后被用來進行某些工作,例如 計算出密鑰。在某些實施例中,這些信息包含了盤片上的特定信息,而在其 它的實施例中,這些信息更可包含實際儲存于盤片上的多媒體內容(例如高 分辨率視頻)。在步驟330中,在步驟310中所接收的被加密程序接著在安 全的協(xié)同處理器上進行解密。在執(zhí)行之前,被解密后的程序先儲存于限定的 隨機存取存儲器中,這是步驟340,其中使用限定的隨機存取存儲器是為了 防止對內嵌在程序的敏感信息未經授權存取的安全措施之一。接著在步驟 350中,執(zhí)行被解密的程序以產生一輸出結果。在部分實施例中,該輸出結 果可僅包含在執(zhí)行程序的過程中計算而得的密鑰,而在其它實施例中,該輸 出結果也可包含實際儲存在盤片上的視頻/音頻內容。最后,該輸出結果被 傳送回主機端(步驟360 )。該輸出結果內含的密鑰可一皮該主機端用來對儲存 于盤片上的標題內容(title content )進行解密,另外需注意的是,若該 輸出結果包含了視頻/音頻內容,該視頻/音頻內容可以被輸出至一整合有 DRM安全措施的輸出設備(例如具有針對數(shù)字數(shù)據(jù)提供安全傳輸通道的符合 HDCP標準的設備)。需注意的是,雖然在上述實施例中, 一皮加密內容存在盤 片中,然于本領域技術人員都知此僅為一實施態(tài)樣,被加密內容當然可以儲 存在盤片以外的多種電子產物中。
請參考圖4,圖4為圖1的系統(tǒng)用來執(zhí)行圖3方法的另一實施例一詳細 的數(shù)據(jù)流示意圖。在接下來所用來說明的圖4到圖6的實施例僅為可能的實 作方式之一,其它可能的變化態(tài)樣在不偏離本發(fā)明主要精神的原則下,也可 用來作為圖4至圖6的實施例。主機端410可讀取一包含可視內容的盤片(例 如藍光光盤、高清晰度數(shù)字視頻光盤、數(shù)字多功能光盤)。盤片內容420包 含有盤片信息424以及視頻/音頻422 (例如高分辨率^L頻)儲存于主機端 410的一被加密程序414被遞送到安全的協(xié)同處理器412以對程序進行安全 的解密及執(zhí)行操作(區(qū)塊418、區(qū)塊426 )。在某些實施例中,像AACS密鑰 416 (其為受到先進內容存取系統(tǒng)的授權管理組織(AACS LA)認證的密鑰) 一類的敏感數(shù)據(jù)被內嵌于該被加密程序414內。在可能發(fā)生對多媒體內容未 經授權散布的情形下,包含有AACS密鑰416的程序414是被加密過的。
接著解密的過程可由如圖1處理單元142來進行。在解密程序414時,程序414儲存于限定的隨機存取存儲器146中。在執(zhí)行程序414之前,盤片 內容420必須先被傳送至安全的協(xié)同處理器412,程序414再依據(jù)盤片內容 420產生一輸出結果。在某些實施例中,盤片內容424包含在AACS的標準規(guī) 范下的媒體鍵值區(qū)塊(media key block, MKB ),如先前所描述的,i某體鍵 值區(qū)塊(MKB)可以允許相對應的播放器(例如受到AACS LA認證的播放器) 利用內嵌在程序中的設備鍵值計算出一"秘密"金鑰(secret key )。
接著請參考圖5。圖5顯示了 AACS保護機制的示意圖。AACS機制利用 先進力口密才示)偉(Advanced Encryption Standard , AES )來力口密一個或多個 標題鍵值(title keys)下的內容。這些標題鍵值由媒體鍵值(media key) 以及其它數(shù)據(jù)(如該盤片的巻識別碼)的組合所導衍出來,即使一個未經授 權的使用者試圖竄改系統(tǒng),以自系統(tǒng)中取得其中一個標題鍵值,該使用者也 僅可能只解密出內容的一小部分。雖然符合AACS標準的實際解密過程并非 本文所討論的主要范疇,此處仍要強調這些用來執(zhí)行符合AACS標準的密鑰 計算的程序是完全受到加密處理且對于未經授權的竄改與監(jiān)視具有完全的 保護。
請再參考圖4。程序414在協(xié)同處理器412中被執(zhí)行而產生密鑰(如區(qū) 塊428 )。密鑰4 30接著被傳送回主機端410以對盤片上的標題內容進行解密。 在稍后的討論中會提到,對內容本身解密及解碼的過程(區(qū)塊434)可依據(jù) 不同的應用方式而在主機端410或協(xié)同處理器412上執(zhí)行。為了減少系統(tǒng)的 復雜度,安全的協(xié)同處理器412可以將對內容解密以及解碼的工作卸載給主 機端410使系統(tǒng)保留有較多的計算資源。最后,內容436再被輸出至一顯示 器,如顯示器438中。
圖6為圖1的系統(tǒng)用來執(zhí)行圖3的又一實施例的方法一詳細的數(shù)據(jù)流示 意圖。為了增加安全性,本發(fā)明某些實施例在程序被執(zhí)行之前可要求先執(zhí)行 一些中間步驟。在被加密的程序被傳送至安全的協(xié)同處理器612以進行解密 的后,數(shù)據(jù)614可自主機端610被傳送至安全的協(xié)同處理器612,在協(xié)同處 理器612執(zhí)行被解密后的程序之前,數(shù)據(jù)614必須先經過驗證。在本發(fā)明某 些實施例中,數(shù)據(jù)614包含相當大量的預定數(shù)據(jù),例如100MB以上或同等數(shù) 量級的數(shù)據(jù),這樣使得未經授權的使用者在竄改系統(tǒng)時,必須同時先行下載 這么大量的數(shù)據(jù),因此可以有效嚇阻未經授權的使用者。在接收到大容量的 數(shù)據(jù)614后,安全的協(xié)同處理器612便可執(zhí)行數(shù)據(jù)驗證的程序616。例如,數(shù)據(jù)驗證程序616可以僅計算數(shù)據(jù)614的校驗和(checks腿)并將計算出來 的校驗和與儲存在被加密程序內一數(shù)值做比較,假如這兩個數(shù)值不相同,則 安全的協(xié)同處理器612將不執(zhí)行該程序。
為了增加安全性,在安全的協(xié)同處理器612對被加密的程序進行解密以 及接收大容量數(shù)據(jù)614的同時,在這些驗證程序于背景執(zhí)行時,顯示器620 可顯示程序授權信息,例如為以水印618顯示某些廠商的商標, 一旦有未經 授權的使用者嘗試著要非法存取或散布程序時,可提醒使用者該程序的所有 者的正當性。
圖7為圖1的系統(tǒng)用來執(zhí)行圖3的又一實施例的方法一詳細的數(shù)據(jù)流示 意圖。先前簡要地描述過,對內容本身解密以及解碼的過程可依據(jù)不同的應 用方式在安全的協(xié)同處理器712或在主機端710上執(zhí)行。為了減少系統(tǒng)的復 雜度,安全的協(xié)同處理器712可以將對內容解密以及解碼的工作卸載給主機 端710使系統(tǒng)保留有較多的計算資源。在某些實施例中,安全的協(xié)同處理器 712可被設置于一獨立的板卡上(例如專門處理系統(tǒng)繪圖功能的顯示卡),然 后再將板卡安裝于個人計算機的擴充槽內。為了進一步降低設計上的成本以 及復雜度,對內容的解密以及解碼的過程可直接在主機端710 (例如一個人 計算機)上執(zhí)行。而為了考慮到系統(tǒng)具有最高的安全性,對內容最終的解密 以及解碼的操作也可以由安全的協(xié)同處理器712來執(zhí)行并輸出。該輸出可通 過一安全的接口 (例如HDCP標準)直接連接于安全的協(xié)同處理器712。而對 于直接在主機端710上對內容進行解密以及解碼的實施例來說,安全的協(xié)同 處理器712還可進一步監(jiān)控主機端710上未經授權的存取。
本發(fā)明所披露的系統(tǒng)及方法也可再整合其它安全防護的手段。舉例來 說,安全的協(xié)同處理器可包含一獨立的外部時鐘器來監(jiān)控程序的執(zhí)行。在某 些情形下,未經授權的使用者會試圖在程序讀取數(shù)據(jù)時通過擱置 (suspending )程序的執(zhí)行來取得被保護的程序,而獨立的時鐘器便可做為 一參考指標,當該時鐘器在執(zhí)行過程中有任何被更動的記錄時,便可據(jù)以判
定程序遭受到擱置的狀況并加以進行保護。
安全的協(xié)同處理器還可具備存儲器監(jiān)控的特性,以確保程序代碼/數(shù)據(jù) 不會被更改。 一旦未經授權的存取被檢測到時,安全的協(xié)同處理器可以設置 成自動刪除掉任何該程序已經產生的輸出結果(例如,前述所提到的密鑰)。
本發(fā)明通過在一 系統(tǒng)中設置 一安全的協(xié)同處理器以對被加密程序進行解密以及執(zhí)行的操作。由系統(tǒng)中 一主機端自 一含有被加密內容的盤片上取得 一被加密程序,并接收該盤片上的被加密的內容,接著安全的協(xié)同處理器自 該主機端接收該被加密的程序、利用一可執(zhí)行指令集的處理單元對該程序解 密、將該程序儲存于一限定的隨機存取存儲器中并執(zhí)行該程序以根據(jù)該被加 密的內容產生一輸出結果,最后由協(xié)同處理器將該產生的結果傳送回主機 端。利用系統(tǒng)中協(xié)同處理器以及系統(tǒng)中各元件間的傳輸通道,以提供一安全 的環(huán)境執(zhí)行被加密的程序。需注意的是,雖然在實施例中,被加密內容存在盤片中,然而本領域技 術人員都知此僅為 一 實施態(tài)樣,被加密內容當然可以儲存在盤片以外的多種 電子產物中。以上所述僅為本發(fā)明的較佳實施例,凡依本發(fā)明權利要求所做的均等變 化與修飾,皆應屬本發(fā)明的涵蓋范圍。
權利要求
1.一種執(zhí)行被加密的程序的方法,其包含有自一主機端接收一被加密程序,該主機端用來儲存該被加密程序以及用來讀取一包含有被加密內容的介質;接收該介質上的信息;在一安全的協(xié)同處理器上利用一處理單元對該被加密程序解密;將該被解密的程序儲存于一限定的隨機存取存儲器,其中該隨機存取存儲器耦接于該處理單元且僅可由該處理單元進行存??;執(zhí)行儲存于該隨機存取存儲器的該被解密程序以產生一輸出結果;以及將該輸出結果傳送至該主機端。
2. 如權利要求1所述的方法,其中接收該介質上的信息是接收一盤片上 的信息。
3. 如權利要求1所述的方法,還包含利用該輸出結果以解密儲存于該介 質上的被加密內容。
4. 如權利要求1所述的方法,其中產生該輸出結果包含利用內嵌于該程 序的一設備^t值,由自該介質上接收的信息中計算得出一密鑰。
5. 如權利要求1所述的方法,其中產生該輸出結果包含 自該主機端接收一預定數(shù)量的數(shù)據(jù);計算該接收數(shù)據(jù)的校驗和以驗證該接收數(shù)據(jù);以及 在該接收數(shù)據(jù)經驗證有效時,利用內嵌于該加密程序的一設備鍵值以自 該介質上的數(shù)據(jù)計算得出 一密鑰。
6. 如權利要求4所述的方法,其中產生該輸出結果還包含利用該密鑰解 密儲存于該介質的內容。
7. 如權利要求3所述的方法,還包含監(jiān)控利用該輸出結果以解密儲存于該介質上的被加密內容的步驟,當利 用該輸出結果以解密儲存于該介質上的被加密內容的步驟被擱置時,自動刪 除該輸出結果。
8. —種用來安全執(zhí)行程序的系統(tǒng),其包含有一主機端,用來讀取一包含有被加密內容的介質,以及用來儲存一被加 密程序,該被加密程序用來存取該介質上的被加密內容;以及一安全的協(xié)同處理器,以可與該主機端傳輸數(shù)據(jù)的方式耦接于該主機 端,用來接收該被加密程序、對該被加密程序解密以及執(zhí)行該被加密程序、 以及將該被加密程序產生的 一輸出結果傳回至該主機端。
9. 如權利要求8所述的系統(tǒng),其中該介質為一盤片。
10. 如權利要求8所述的系統(tǒng),其中該輸出結果包含至少一密鑰,該主 機端利用該密鑰以對儲存于該介質的被力口密內容解密。
11. 如權利要求8所述的系統(tǒng),其中該輸出結果包含該介質中被該安全 的協(xié)同處理器解密以及解碼過的內容。
12. 如權利要求8所述的系統(tǒng),其中該被加密程序包含一設備鍵值,用 來計算以得出至少一密鑰,該密鑰包含一被傳送至該主機端的巻鍵值,該主 機端利用該巻鍵值以對儲存于該介質的被加密內容解密。
13. 如權利要求8所述的系統(tǒng),其中該安全的協(xié)同處理器包含一處理單 元以及耦接于該處理單元的一限定的隨機存取存儲器,其中該隨機存取存儲 器用來儲存該被解密程序且該隨機存取存儲器僅可由該處理單元進行存取。
14. 如權利要求13所述的系統(tǒng),其中該安全的協(xié)同處理器的該處理單元 用來執(zhí)行一指令集。
15. 如權利要求8所述的系統(tǒng),其中該被加密程序整合先進內容存取系 統(tǒng)標準以散布內容,其中內嵌于該被加密程序的一設備鍵值被該安全的協(xié)同 處理器用來自該介質取得信息并產生一被加密的巻鍵值,其中該巻鍵值用來 對該介質上的內容解密。
16. 如權利要求8所述的系統(tǒng),其中該安全的協(xié)同處理器用來自該主機端接收一預定數(shù)量的數(shù)據(jù); 該程序用來計算該接收數(shù)據(jù)的校驗和,以驗證該接收數(shù)據(jù); 當該校驗和符合內嵌于該被加密程序的校驗和時,該被加密程序才用來 繼續(xù)執(zhí)行;以及當該校驗和不符合內嵌于該被加密程序的校驗和時,該被加密程序用來 停止執(zhí)行并拒絕存取儲存于該介質的內容。
17. 如權利要求15所述的系統(tǒng),其中當該主機端符合高頻寬數(shù)字內容保 護標準時,該安全的協(xié)同處理器才產生該巻4定值。
18. 如權利要求8所述的系統(tǒng),其中該安全的協(xié)同處理器另外用來對該 介質上的被加密內容解密以及用來將該內容傳輸至一顯示器,其中該內容的傳輸過程符合高頻寬數(shù)字內容保護標準。
19.如權利要求12所述的系統(tǒng),其中該安全的協(xié)同處理器用來監(jiān)控該主 機端對儲存于該介質上的被加密內容解密的過程,當該安全的協(xié)同處理器在解密過程中^r測到該主機端被擱置時,該安全的協(xié)同處理器用來刪除該主機 端用來解密內容的該輸出結果。
全文摘要
本發(fā)明關于可安全執(zhí)行被加密程序的方法與系統(tǒng)。在一系統(tǒng)中設置一安全的協(xié)同處理器對被加密程序進行解密以及執(zhí)行的操作。由系統(tǒng)中一主機端自一含有被加密內容的盤片上取得一被加密程序,并接收該盤片上的被加密的內容,接著安全的協(xié)同處理器自該主機端接收該被加密的程序、利用一可執(zhí)行指令集的處理單元對該程序解密、將該程序儲存于一限定的隨機存取存儲器中并執(zhí)行該程序以根據(jù)該被加密的內容產生一輸出結果,最后由協(xié)同處理器將該產生的結果傳送回主機端。利用系統(tǒng)中協(xié)同處理器以及系統(tǒng)中各元件間的傳輸通道,以提供一安全的環(huán)境執(zhí)行被加密的程序。
文檔編號G06F21/00GK101286340SQ200810090919
公開日2008年10月15日 申請日期2008年4月1日 優(yōu)先權日2007年4月11日
發(fā)明者張治中 申請人:訊連科技股份有限公司