專利名稱:鑒定和/或鑒定加載的制作方法
這是美國申請?zhí)?9/580,303(申請于2000年5月26日)的部分連續(xù)申請。
背景技術(shù):
本發(fā)明一般涉及保密接入系統(tǒng),并且具體涉及對與條件接入系統(tǒng)相關(guān)的內(nèi)容接收器里的信息的保密。
有線電視(TV)提供者利用條件接入(CA)系統(tǒng)分發(fā)視頻流給用戶。CA系統(tǒng)將視頻流從有線TV提供者的頭端器分發(fā)到用戶相關(guān)的機(jī)頂盒。所述頭端器包含接收視頻流并且分發(fā)視頻流給CA系統(tǒng)里的機(jī)頂盒的硬件。選擇機(jī)頂盒被允許根據(jù)有線電視提供者發(fā)送給機(jī)頂盒的授權(quán)信息解碼某些視頻流。相似的,其他視頻節(jié)目提供者使用衛(wèi)星碟型天線以無線方式分發(fā)視頻內(nèi)容給機(jī)頂盒。
視頻節(jié)目廣播給所有的機(jī)頂盒,但僅僅那些機(jī)頂盒的一部分被授予接入特定視頻節(jié)目的權(quán)利。例如,僅僅那些已經(jīng)訂購了每次觀看付費的拳擊比賽的機(jī)頂盒被允許觀看比賽,即使每個機(jī)頂盒都可以接收到關(guān)于比賽的經(jīng)加密的數(shù)據(jù)流。一旦用戶訂購了每次觀看付費的節(jié)目,以加密的形式將授權(quán)消息廣播給所有機(jī)頂盒。僅僅授權(quán)消息想給的那個特殊的機(jī)頂盒才可以解密消息。在經(jīng)解密的授權(quán)消息內(nèi)是一個可以解密每次觀看付費的節(jié)目的密鑰。利用此密鑰,機(jī)頂盒實時解密接收到的每次觀看付費的節(jié)目。一些系統(tǒng)播送授權(quán)消息。
僅僅最近實際出現(xiàn)了有數(shù)小時的視頻節(jié)目儲存量。每個視頻節(jié)目被作為壓縮的MPEG2數(shù)據(jù)流傳送給機(jī)頂盒。一小時的視頻相應(yīng)于一千兆字節(jié)或更多的壓縮數(shù)據(jù)。由于現(xiàn)在儲存幾千兆字節(jié)很平常,現(xiàn)在可以儲存數(shù)小時的視頻。相應(yīng)地,傳統(tǒng)的CA系統(tǒng)假定內(nèi)容是短暫的并且不能被儲存。換句話,設(shè)計傳統(tǒng)系統(tǒng)時認(rèn)為視頻節(jié)目太大而不能保留它們的任何一段時間。本領(lǐng)域技術(shù)熟練人員將認(rèn)識到,儲存多千兆視頻節(jié)目產(chǎn)生了在CA系統(tǒng)里對額外保密措施的需要。
一些系統(tǒng)將個人計算功能與TV集成以顯示內(nèi)容。例如WebTVtm的產(chǎn)品集成網(wǎng)絡(luò)瀏覽和e-mail功能到TV。在其他的系統(tǒng)里,個人電腦與Internet服務(wù)提供者(ISP)相連,所述ISP提供網(wǎng)絡(luò)瀏覽和e-mail功能的內(nèi)容。軟件程序,例如e-mail程序,往往較小并且容易儲存。本領(lǐng)域技術(shù)熟練人員將認(rèn)識到,這些PC沒有提供足夠的保密性,從而他們?nèi)菀资艿讲《竞秃诳陀绊憽?br>
如上所述,傳統(tǒng)的CA系統(tǒng)僅僅檢查了視頻流的授權(quán)消息。隨著較大儲存量和較小Internet相關(guān)程序的出現(xiàn),內(nèi)容可以用戶被儲存并保留無限長的時間。為了維護(hù)對此內(nèi)容的控制,需要額外的保密措施。
附圖簡述本發(fā)明聯(lián)系附圖進(jìn)行說明
圖1是顯示內(nèi)容傳遞系統(tǒng)的一個具體實施例的框圖;圖2是說明機(jī)頂盒與其環(huán)境接口的具體實施例的方框圖;圖3是顯示在第一保密級別上用于分發(fā)對象的處理的具體實施例的流程圖;圖4是顯示在第二保密級別上用于分發(fā)對象的處理的具體實施例的流程圖;圖5是描述授權(quán)消息的具體實施例的框圖;圖6是顯示軟件消息的具體實施例的框圖;圖7是說明包含授權(quán)消息和軟件消息一部分的簽名者組的具體實施例的框圖;圖8是顯示一個“權(quán)利”消息的具體實施例的框圖;圖9是說明在功能單元之間的交互動作的具體實施例的框圖;圖10是描述在第三保密級別上用于下載對象的處理的具體實施例的流程圖;圖11是描述在第四保密級別上用于下載對象的處理的具體實施例的流程圖;圖12是描述在第四保密級別上用于下載對象的處理的另一個具體實施例的流程圖;圖13是顯示在第五保密級別上用于檢查持續(xù)運行的對象的處理的具體實施例的流程圖;圖14A是說明在第六保密級別上用于允許免費預(yù)覽對象的處理的具體實施例的流程圖;圖14B是說明在第六保密級別上用于允許免費預(yù)覽對象的處理的另一個具體實施例的流程圖15A是說明在第七保密級別上用于監(jiān)視報告返回頭端器的處理的具體實施例的流程圖;圖15B是說明在第七保密級別上用于監(jiān)視保密檢查的處理的具體實施例的流程圖;圖15C是說明在第七保密級別上用于監(jiān)視保密檢查的處理的另一個具體實施例的流程圖;圖16A是說明在第八保密級別上用于產(chǎn)生部分加密的對象的處理的具體實施例的流程圖;圖16B是說明使用標(biāo)記以達(dá)到第八保密級別上用于處理的具體實施例的流程圖;圖16C是說明使用部分下載以達(dá)到第八保密級別上用于處理的具體實施例的流程圖;以及圖17是顯示機(jī)頂盒里不同對象之間的關(guān)聯(lián)的框圖。
具體實施例說明下面的說明不僅僅提供了較佳示例性具體實施例,而且不希望限制本發(fā)明的范圍、應(yīng)用性和配置。而是,下面的較佳示例性具體實施例的說明將提供可行的說明給本領(lǐng)域技術(shù)熟練人員,使其能夠?qū)嵭斜景l(fā)明的較佳示例性具體實施例。應(yīng)該認(rèn)識到,可以在功能和元件安排上實行各種改變而不脫離本發(fā)明的如權(quán)利要求所設(shè)置的精神和范圍。
本發(fā)明證實,這些功能性單元,例如軟件,被批準(zhǔn)在電視機(jī)(TV)機(jī)頂盒里使用。對象和資源是功能性單元的兩個例子。在對象被載入機(jī)頂盒后,當(dāng)遇到檢查點時實行授權(quán)和/或鑒定檢查。例如,當(dāng)機(jī)頂盒里的對象與每個功能性單元交互動作時,檢查點被觸發(fā)。
在圖中,相似的元件和/或特征可以有相同的參考標(biāo)號。而且,相同類型的不同元件可以通過參考標(biāo)號后的破折號和第二標(biāo)號區(qū)分。只要在說明書中使用第一參考標(biāo)號,此說明可以應(yīng)用于有相同的第一標(biāo)號不管其第二標(biāo)號的相似元件中的任一個。
首先參考圖1,顯示了內(nèi)容投遞系統(tǒng)100的一個具體實施例的框圖。投遞系統(tǒng)100,基于被滿足的一定條件,選擇性地提供內(nèi)容給一些用戶。系統(tǒng)100包含一個頭端器104,一些機(jī)頂盒108,本地編程接收器112,衛(wèi)星碟型天線116,和Internet120。
頭端器104接收內(nèi)容并且分發(fā)所述內(nèi)容給用戶。所述內(nèi)容可以包含視頻,音頻,并互式視頻,軟件,固件,和/或數(shù)據(jù)。從大量不同的來源接收所述內(nèi)容,所述來源可以包含衛(wèi)星碟型天線116,本地編程接收器112,微波接收器,分組交換網(wǎng)絡(luò),Internet120等。每個機(jī)頂盒108有一個唯一的地址,所述地址允許發(fā)送授權(quán)消息給單個機(jī)頂盒108。由此,一個機(jī)頂盒108-1可以被授予某些特定的內(nèi)容,同時另一個機(jī)頂盒108-2卻可能沒有。在頭端器104內(nèi)的裝置調(diào)節(jié)機(jī)頂盒108的子集被授予某些特定內(nèi)容。
所述內(nèi)容一般以數(shù)字形式通過包含多個內(nèi)容流的模擬載體信道分發(fā)。所有的內(nèi)容流被多路復(fù)用成數(shù)字流,所述數(shù)字流被調(diào)制在模擬載波信道上。分隔的內(nèi)容流被包標(biāo)識(PID)信息跟蹤,從而可以根據(jù)其唯一的PID信息移動單個內(nèi)容流。在系統(tǒng)100的這個具體實施例中有大約120個模擬載波信道。其他具體實施例可以使用傳輸機(jī)構(gòu)分發(fā)內(nèi)容,所述機(jī)構(gòu)可以包含衛(wèi)星碟型天線,微波天線,RF發(fā)送器,分組交換網(wǎng)絡(luò),單元式數(shù)據(jù)調(diào)制解調(diào)器,載波電流,電話線,和/或Internet。
參考圖2,顯示了顯示系統(tǒng)200的一個具體實施例的框圖。此具體實施例通過各種不同保密機(jī)構(gòu)提供了多級對象和資源的保密性。所述顯示系統(tǒng)200包含一個機(jī)頂盒108,網(wǎng)絡(luò)208,打印機(jī)212,TV顯示器216,和無線輸入設(shè)備218。這些物件如此協(xié)作使用戶可以享受內(nèi)容提供者按條件分發(fā)的內(nèi)容。所述內(nèi)容可以包含視頻,音頻,軟件,固件,交互式TV,數(shù)據(jù),文本和/或其他信息。在此具體實施例里,內(nèi)容提供者是一個有線第三提供者或者多系統(tǒng)操作者(MSO)網(wǎng)絡(luò)208用作信息在機(jī)頂盒108和有線電視提供者的頭端器之間流通的管道。在此具體實施例里,網(wǎng)絡(luò)208有一百二十個模擬信道和一個雙向控制數(shù)據(jù)信道。一般的,模擬信道運載內(nèi)容而控制數(shù)據(jù)信道運載控制和授權(quán)信息。每個模擬運載信道具有一些多路復(fù)用成一個數(shù)據(jù)流的數(shù)字信道,其中這些數(shù)字信道被包標(biāo)識區(qū)分。此雙向控制信道是一個波段外信道,其在一個頻率上廣播數(shù)據(jù)給機(jī)頂盒108并且在另一個頻率從機(jī)頂盒108接收數(shù)據(jù)。使用本領(lǐng)域熟知的儲存一轉(zhuǎn)發(fā)的方法返回數(shù)據(jù)可以被排隊以在峰值使用期間減少超載。其他具體實施例可以將有線調(diào)制解調(diào)器,數(shù)字用戶線(DSL),蜂窩數(shù)據(jù),衛(wèi)星鏈路,微波鏈路,載波電流傳輸,或者其他網(wǎng)絡(luò)鏈接用于傳輸控制信息和內(nèi)容,其中所述內(nèi)容格式成包交換數(shù)據(jù)。
打印機(jī)212是一個可選擇的附件,一些使用者可以購買并且將其添加到他們的顯示系統(tǒng)200。當(dāng)將機(jī)頂盒108用于個人計算機(jī)任務(wù),此打印機(jī)212可以打印例如e-mail、網(wǎng)頁、付費信息等的數(shù)據(jù)。如在下面將進(jìn)一步解釋的,使用外設(shè)(例如打印機(jī))的能力被一授權(quán)檢查所規(guī)范。使用此規(guī)范特征,除非獲得了允許將與機(jī)頂盒108兼容的打印機(jī)212用于所述機(jī)頂盒108的授權(quán),打印機(jī)212將不能工作。
TV顯示器216展現(xiàn)給用戶相應(yīng)于內(nèi)容的音頻、文本和/或視頻。顯示器216典型地接收在相應(yīng)于信道三、信道四或復(fù)合信道的載體上調(diào)制的模擬視頻信號。機(jī)頂盒108產(chǎn)生一個NTSC信號,例如調(diào)制到合適的信道。其他具體實施例可以使用視頻監(jiān)視器或數(shù)字式顯示器來替代電視顯示器216。使用數(shù)字式顯示器將緩解機(jī)頂盒108進(jìn)行模擬轉(zhuǎn)換的需求,由于數(shù)字式顯示器,例如,液晶顯示器,使用數(shù)字式信息表示顯示的圖像。
無線輸入裝置218允許在用戶與機(jī)頂盒108之間的交互動作。此設(shè)備218可以是遠(yuǎn)端控制器、鼠標(biāo)、鍵盤、游戲控制器、筆輸入板或者其他輸入機(jī)構(gòu)。在輸入裝置218上的紅外線收發(fā)器218與機(jī)頂盒108上相似的收發(fā)器通信以允許無線電通信。在其他的實施例里,也可以使用RF鏈路或者有線鏈路代替紅外線收發(fā)器。
機(jī)頂盒108有一個實行對象和資源的鑒定和授權(quán)的元件部分。對象是數(shù)字信息(例如,軟件、驅(qū)動器、固件、數(shù)據(jù)、視頻或者音頻)的任意集合。所述軟件可以包含軟件程序和/或一個或多個軟件動態(tài)鏈接庫。資源是一個對象按預(yù)期運行(例如運行為另一個對象或一個物理設(shè)備)的任何所需的東西。機(jī)頂盒108內(nèi)包含一個控制器220,存儲器228,打印機(jī)端口232,網(wǎng)絡(luò)端口236,接入控制處理器240,顯示接口244,和一個紅外線(IR)端口248。這些部件通過總線230互相通信,其中每個部件都有不同的地址以在總線230唯一確定部件。典型地,機(jī)頂盒108是一個分隔的設(shè)備,但是可以與TV顯示器216、計算機(jī)、信息設(shè)備或個人視頻記錄器(PVR)集成。
控制器220使用受托或者保密運行系統(tǒng)管理機(jī)頂盒108。例如數(shù)字式對象解密和解壓縮的功能在控制器220里實行,以及例如用戶轉(zhuǎn)換TV頻道以及展示菜單給用戶的功能也是在控制器220里實行。控制器220里包含一個處理器,一個解密引擎,本地存儲器,和計算系統(tǒng)里常見的其他物件。
在另一些具體實施例里,控制器220也可以包含一個附屬保密微處理器以保護(hù)密鑰以及進(jìn)行密碼處理。這在需要高保密等級的一些系統(tǒng)中可能是合適的。
機(jī)頂盒108包含存儲器228。存儲器228是固態(tài)存儲器,其可以包含RAM、ROM、閃存以及其他種類的易失性和非易失性存儲器。對象和資源被儲存于存儲器以稍后運行。在執(zhí)行中,程序被載入并且在存儲器228里執(zhí)行,并且還使用存儲器228作中間結(jié)果存儲器。密鑰、序列數(shù)和授權(quán)消息可以被儲存于非易失性閃存。
此具體實施例包含一個打印機(jī)端口232以與光學(xué)打印機(jī)212接口。除非經(jīng)過授權(quán),程序不可利用打印機(jī)端口232資源。如下述,每個對象必需有關(guān)于使用例如打印機(jī)端口232的資源的授權(quán)。利用有線或者無線傳輸機(jī)構(gòu)以串行或并行方式將數(shù)據(jù)從打印機(jī)端口232發(fā)送到打印機(jī)212。
一般說,檢查點是時間里的一點或處理的一步,在該點或該步上功能單元的鑒定和/或授權(quán)狀態(tài)已被確認(rèn)。當(dāng)要求打印時,遇到檢查點。檢查點授權(quán)和鑒定要求打印的對象。檢查點是一個對象里位置,其中鑒定和/或授權(quán)在另一個對象(例如,操作系統(tǒng)檢查正在運行的應(yīng)用的真實性和授權(quán))上運行。理想的,當(dāng)對象的目的被表明時實行檢查點。在打印機(jī)端口232的情況時,當(dāng)用于打印某物時其目的變得明顯。從而,當(dāng)打印任何物時觸發(fā)了一個檢查點以檢查使用打印機(jī)端口資源232的對象。典型地,用于打印的檢查點可以是在操作系統(tǒng)里。
其他類型的對象可以有其他的目的,所述目的相應(yīng)于檢查點,從而當(dāng)此目的變得明顯時需要鑒定和授權(quán)。例如,可以將一個對象儲存于長期存儲器。從長期存儲器里讀取對象將觸發(fā)一個檢查點。當(dāng)將對象載入短期固態(tài)存儲器,將遇到另一個檢查點。當(dāng)將對象從長期存儲器移動到短期存儲器時,可以計算一個新簽名。只要從短期存儲器讀取對象并且由控制器220處理時,將遇到另一個檢查點。而且,如果將對象顯示在屏幕上或者通過揚聲器播放,將會遇到另一個檢查點。各種實施例可以有一個或多個在機(jī)頂盒200處理的不同階段實行的此類檢查。
網(wǎng)絡(luò)端口236允許在機(jī)頂盒108和頭端器104之間的雙向通信。網(wǎng)絡(luò)端口236里包含一個調(diào)諧器和一個解調(diào)器,它們調(diào)諧到模擬載體信道并且解調(diào)MPEG數(shù)據(jù)流用于允許單向傳遞內(nèi)容。網(wǎng)絡(luò)端口236還包含一個控制數(shù)據(jù)收發(fā)器或有線調(diào)制解調(diào)器,其允許控制數(shù)據(jù)信息和/或內(nèi)容的雙向通信。為了更均勻的分發(fā)加載控制數(shù)據(jù)路徑給頭端器104,可以使用儲存和轉(zhuǎn)發(fā)的方法。
顯示接口244將數(shù)字式視頻信號調(diào)制到與TV顯示器216兼容的模擬信號。如上所述,TV顯示器216一般接收在信道三、信道四或復(fù)合信道上調(diào)制的信號。對于接受數(shù)字式輸入的顯示器,例如LCD顯示器,顯示接口244執(zhí)行數(shù)字式輸入所需的任何格式化。
IR端口248與無線輸入設(shè)備218雙向通信。IR端口248包含一個IR收發(fā)器,其提供與輸入設(shè)備218的無線通信路徑。IR端口248里的其他電子元件轉(zhuǎn)換收發(fā)器接收到的模擬信號成相應(yīng)的數(shù)字信號并且從相應(yīng)的數(shù)字信號轉(zhuǎn)換發(fā)送到收發(fā)器的模擬信號??刂破?20處理數(shù)字信號,從而用戶可以控制機(jī)頂盒108內(nèi)的一些功能。
接入控制處理器(ACP)規(guī)范機(jī)頂盒108里的保密功能。例如ACP240在控制器的指導(dǎo)下或獨立于控制器220實行鑒定和授權(quán),下面的討論中這將變得明顯。為了實行其任務(wù),ACP240包含一個處理器、RAM和ROM,它們協(xié)作用于執(zhí)行獨立于控制器220的軟件。ACP240也包含一個解密引擎和用于解密內(nèi)容和計算簽名的散列函數(shù)。檢查點被嵌入到運行的軟件里,其觸發(fā)ACP240實行保密檢查。在此實施例里,ACP240在硬件里實行,但是其他實施例可以在軟件里實行ACP的功能。
ACP240也可以監(jiān)督操作系統(tǒng)(OS)以確保OS的正確功能。通過監(jiān)視對象的運行,ACP240可以監(jiān)視哪個應(yīng)用對象正在運行。如果必要,如果檢查點發(fā)現(xiàn)一個錯誤或者如果授權(quán)過期,ACP240可以殺死或停止執(zhí)行正在運行的應(yīng)用。而且,ACP240可以監(jiān)視存儲器228以檢察存儲器228里任何沒有經(jīng)授權(quán)的應(yīng)用。也可以監(jiān)視中間結(jié)果存儲器的大小以檢察隱藏在中間結(jié)果存儲器里的應(yīng)用。而且,ACP240可以對存儲器228里的對象隨機(jī)地執(zhí)行檢查點以確定它們的授權(quán)和/或真實性。ACP240遇到的問題將報告給OS或頭端器104。在這些方法里,ACP240用作機(jī)頂盒108里的一個軟件保密守衛(wèi),從而檢察異常行為并報告。
接著參考圖3,顯示了一個用于以第一保密級別分發(fā)對象的處理的一個具體實施例的流程圖。在步驟304流程開始,其中在頭端器里形成了一個授權(quán)消息。所述授權(quán)消息包含一個可以解密相關(guān)對象的密鑰。在步驟308,授權(quán)消息和對象被通過網(wǎng)絡(luò)208發(fā)送到機(jī)頂盒108。在接收到授權(quán)消息和對象后,在步驟316它們被互相關(guān)聯(lián)。在步驟320、324和328,從授權(quán)消息中提取出所述密鑰,并且在對象被寫入存儲器228之前將密鑰用于解密對象。此處理利用加密提供了對象的鑒定和授權(quán)。
在某些具體實施例里,在將機(jī)頂盒108送給用戶前,將密鑰在控制環(huán)境中載入機(jī)頂盒108。例如,在工廠裝配時,將對稱或者不對稱密鑰載入機(jī)頂盒108??梢詫⑽ㄒ坏幕蛘呷置荑€儲存于每個機(jī)頂盒108以允許通過經(jīng)加密的信道保密多點傳送或者單點傳送內(nèi)容。此信道可以被用于后來添加、刪除或者改變密鑰。MSO利用這些密鑰可以控制對內(nèi)容的存取而不需要與用戶交互。
接著參考圖4,顯示了一個用于以第二保密級別分發(fā)對象的處理器的一個具體實施例的流程圖。在第二保密級別,簽名被用于在下載中鑒定對象。換句話,當(dāng)下載時,第二保密級別在對象上施加了一個檢查點。在步驟404在頭端器里在包含了部分授權(quán)消息和對象消息的簽名者組中生成所述簽名。授權(quán)消息是一個關(guān)于對象消息的元數(shù)據(jù)并且所述對象消息包含用于機(jī)頂盒108的對象。
在步驟408,授權(quán)消息里的簽名和對象被通過網(wǎng)絡(luò)208分別送到機(jī)頂盒108。較佳地使用不對稱簽名(例如,基于RSA,DSA或ECC),但是也可以使用對稱簽名(例如,DES或三重DES)。接收到簽名和對象后并在儲存對象前,在步驟420和424,ACP240計算并且檢查簽名。如果計算得到的和接收到的簽名匹配,在步驟428儲存此對象。另一方面,如果不匹配,在步驟432中拋棄此對象,并且處理流程回到步驟412以等待對象的另一份復(fù)制。
參考圖5-7,一個授權(quán)消息500,軟件消息600和簽名者組700各自以框圖的形式顯示。圖5的授權(quán)消息500里包含授權(quán)報頭504,授權(quán)數(shù)據(jù)結(jié)構(gòu)508,簽名512,和第一校驗和516。授權(quán)消息500有用于鑒定和授權(quán)軟件消息600的信息。形成圖6的軟件信息的是一個對象報頭604,軟件對象608和第二校驗和612。軟件消息600用作發(fā)送軟件對象608。簽名者組700包含端對端放置的授權(quán)消息500和軟件消息600的成分。更具體地,圖7的簽名者組700包含授權(quán)報頭504,授權(quán)數(shù)據(jù)結(jié)構(gòu)508,對象報頭604和軟件對象608。通過整個簽名者組700計算簽名512。
授權(quán)報頭504指示了授權(quán)消息500的配置。報頭504包含子類型標(biāo)識符和消息版本。所述子類型標(biāo)識符區(qū)分不同類型的授權(quán)消息500。在此實施例中,有相應(yīng)于軟件對象和資源的授權(quán)消息子類型。軟件對象子類型有相應(yīng)的軟件消息600,但是資源子類型沒有。相應(yīng)的,子類型標(biāo)識符用于確定是否有關(guān)于授權(quán)消息500的軟件消息600。一個給定的系統(tǒng)可能有若干種軟件對象子類型和資源子類型,并且消息版本允許區(qū)分不同種類。
授權(quán)數(shù)據(jù)結(jié)構(gòu)508提供了功能單元需求給機(jī)頂盒108。功能單元是一個軟件對象或者一個資源。在相應(yīng)于軟件對象的授權(quán)消息子類型的情況里,授權(quán)數(shù)據(jù)結(jié)構(gòu)508包含一個對象或功能單元標(biāo)識符,軟件版本,成本信息,授權(quán)信息,使用壽命信息,和一個或者多個程序?qū)?。每個軟件對象608的對象標(biāo)識符都是唯一的并且允許分發(fā)授權(quán)消息500給其相應(yīng)的軟件消息600。版本信息包含在數(shù)據(jù)結(jié)構(gòu)里,用于指示軟件對象608的版本。
部分授權(quán)數(shù)據(jù)結(jié)構(gòu)508被用于確定機(jī)頂盒能否使用軟件對象608。成本信息指示關(guān)于軟件對象608的價格給機(jī)頂盒108,有時候給用戶。如果所述軟件對象是使用對稱密鑰加密的,授權(quán)信息可以包含一個密鑰。如果機(jī)頂盒108沒有授權(quán)使用軟件對象608,當(dāng)其接收到軟件對象時,沒有必要處理相應(yīng)的軟件對象608。使用壽命信息允許終止軟件對象608的授權(quán)以防止在給定使用時間和使用次數(shù)后再次使用。程序?qū)佑糜谙拗栖浖ο?08的授權(quán)到預(yù)先規(guī)定的層,從而機(jī)頂盒108僅僅可以在預(yù)訂的層內(nèi)訪問軟件對象608。
簽名512用于驗證部分授權(quán)消息500和相應(yīng)軟件消息600是否可信。在整個簽名者組上運行散列函數(shù)(例如SHA-1或者M(jìn)D5),然后通過一個簽名算法(例如RSA,ECC和DSA)產(chǎn)生簽名512。當(dāng)編譯授權(quán)消息500時,在將簽名512插入到授權(quán)消息500里之前,頭端器104在整個簽名者組700上計算簽名512。在收到授權(quán)和軟件消息500,600后機(jī)頂盒108計算簽名者組700的簽名。一旦計算了簽名,對照接收到的簽名512檢查所述簽名,用于鑒定部分授權(quán)和軟件消息500,600。如果所述簽名不匹配,機(jī)頂盒108拋棄軟件消息600,因為其可能來自不正確的消息源。一些實施例可以使用多個簽名(還有其他原因),用于支持系統(tǒng)100里不同的機(jī)頂盒108。
第一和第二校驗和516、612使用線性或非線性算法計算。當(dāng)數(shù)據(jù)通過網(wǎng)絡(luò)216發(fā)送到機(jī)頂盒108時,這些校驗和516、612驗證了數(shù)據(jù)的完整性。例如,校驗和可以是循環(huán)冗余校驗(CRC),它在消息里的每個字節(jié)上進(jìn)行不需進(jìn)位的二進(jìn)制加法。當(dāng)消息500被發(fā)送時,消息輪詢器208計算校驗和516并且將校驗和516添加到消息500的尾部。相反的,當(dāng)機(jī)頂盒108接收到消息500時,機(jī)頂盒計算校驗和,并且將計算得到的校驗和與接收到的消息500里的校驗和相比較。如果計算得到的和接收到的校驗和不匹配,在傳輸中出現(xiàn)了錯誤。有錯誤的消息500、600被拋棄,隨后頭端器104可以發(fā)送替代消息500、600。一些具體實施例可以使用數(shù)字簽名而不是校驗和。
對象頭端器604包含軟件消息600的屬性。對象頭端器604包含報頭長度,軟件對象長度,對象標(biāo)識符,軟件版本,和一個域標(biāo)識符。報頭長度和軟件對象長度分別指示對象報頭604和軟件對象608的長度。如上所述,對象標(biāo)識符提供了允許將授權(quán)消息500給軟件消息600的唯一代碼。軟件版本指出了軟件對象的版本。不同的有線提供者被指定了域標(biāo)識符,從而所有的機(jī)頂盒108(其可以接收軟件對象608)可以篩選出在其域里的軟件對象608。
軟件對象608包含內(nèi)容,系統(tǒng)200設(shè)計為傳輸所述內(nèi)容到機(jī)頂盒108。可以將許多種類的消息嵌入到軟件對象里,例如可執(zhí)行程序,固件升級,實時運行程序(例如,Java或者ActiveX),編程規(guī)劃,付費信息,視頻,音頻或者數(shù)據(jù)。在鑒定和授權(quán)后,可以馬上使用軟件對象608或者稍后使用。而且,可以通過編程使授權(quán)在一定量的使用時間后過期。
具體參考圖7,圖7顯示了簽名者組700。此組700包含了部分授權(quán)消息500和軟件消息600。所有用于計算簽名512的數(shù)據(jù)被包含在簽名者組100里。因為簽名512需要來自授權(quán)消息500和軟件消息600的成分,失敗的簽名檢查顯示授權(quán)消息500和軟件消息600中之一不能被驗證為來自受托的消息源。受托的消息源是生成消息512的頭端器104。如果有多個簽名512,機(jī)頂盒108選擇至少一個簽名512,所述簽名用于鑒定簽名者組700。
接著參考圖8,圖中以框圖的形式顯示了“權(quán)利”消息800的具體實施例。權(quán)利消息800傳遞使用功能單元的權(quán)利。功能單元可以是一個對象或者一個資源。典型的,每個機(jī)頂盒108有一個權(quán)利消息800,其指明了使用功能單元的每個權(quán)利。與權(quán)利對照檢查關(guān)于對象和資源的授權(quán)消息500的要求以確定與另一個對象或資源的交互是否經(jīng)過授權(quán)。權(quán)利消息800允許遠(yuǎn)端的添加新權(quán)利給與機(jī)頂盒108相關(guān)的功能單元。盡管沒有圖示,權(quán)利消息800典型地包含一個數(shù)字簽名以驗證消息800在傳遞過程中的完整性。在某些具體實施例里,可以使用校驗和代替數(shù)字簽名。
權(quán)利報頭804包含權(quán)利消息800的屬性。權(quán)利報頭804包含一個報頭長度,權(quán)利數(shù)據(jù)結(jié)構(gòu)長度,機(jī)頂盒108標(biāo)識符,和一個域標(biāo)識符。報頭長度和權(quán)利數(shù)據(jù)結(jié)構(gòu)長度分別指示權(quán)利報頭804的長度和權(quán)利數(shù)據(jù)結(jié)構(gòu)808的長度。出于鑒定目的,機(jī)頂盒108標(biāo)識符提供允許將權(quán)利消息給系統(tǒng)100里具體的機(jī)頂盒108的唯一代碼。
使用權(quán)利數(shù)據(jù)結(jié)構(gòu)808里的信息將權(quán)利傳遞給所有的功能單元。一個給定的功能單元有權(quán)利使用許多其他的功能單元。這些權(quán)利包含在權(quán)利數(shù)據(jù)結(jié)構(gòu)808中。每個功能單元標(biāo)識符列舉了層次權(quán)利,其用于發(fā)布權(quán)利給具體的功能單元。功能單元可以是已經(jīng)在機(jī)頂盒里或者可以在稍后的某時下載。
接著參考圖9,圖中以框圖顯示了在功能單元之間的交互。與機(jī)頂盒108相關(guān)的功能單元包含一個機(jī)頂盒資源904,打印機(jī)驅(qū)動對象908,e-mail對象912,和一個打印機(jī)端口資源914。在這些功能單元的正常交互動作中,遇到了檢查點,觸發(fā)了授權(quán)檢查。單獨的表格將權(quán)利和需求關(guān)聯(lián)到圖9里的每個功能單元。功能單元用作將對象信息600關(guān)聯(lián)到權(quán)利消息800。
表格
機(jī)頂盒資源904比e-mail對象912等級高。當(dāng)載入e-mail對象912時,在對象912里的檢查點檢查其是否有正確的權(quán)利。有e-mail自己的需求920-2確定了正確的權(quán)利。如果e-mail權(quán)利916-1滿足e-mail對象需求920-2的標(biāo)準(zhǔn),e-mail對象912通過檢查點繼續(xù)執(zhí)行。在e-mail權(quán)利916-1和e-mail對象需求920-2被它們相關(guān)的功能單元904,912分別下載后,ACP240實際地實行鑒定。
在用戶接收到機(jī)頂盒904后,用戶可以添加可選的打印機(jī)212。在此實施例里,打印能力是一個添加的性能,這不包含在所有的機(jī)頂盒904里。如果打印機(jī)212是內(nèi)容提供者同意購買的,打印機(jī)驅(qū)動器權(quán)利916-2,916-4和打印機(jī)端口權(quán)利916-3被在權(quán)利消息800里從頭端器104送到機(jī)頂盒904。
一些實施例可以提供權(quán)利給能使用打印機(jī)端口920-3的功能單元的子集。例如,可以將打印機(jī)驅(qū)動器權(quán)利916-4給e-mail對象912,但是機(jī)頂盒資源904將不會接收到打印機(jī)驅(qū)動器權(quán)利916-2。由此,僅僅e-mail對象916-2可以使用打印機(jī)端口920-3并且其他對象不能。
將打印機(jī)212插入到打印機(jī)端口914能夠觸發(fā)在TV216上顯示一條消息,詢問關(guān)于打印機(jī)212的保密代碼。在用戶輸入保密代碼后,對啟動打印機(jī)212的權(quán)利消息800的請求發(fā)送到頭端器104。一旦頭端器104接收到并且驗證保密代碼,權(quán)利消息800的啟動組被送到基于密鑰加密的密碼中。在此實施例里,打印機(jī)驅(qū)動器對象908是工廠載入的,但是其他實施例可以當(dāng)需要使用對象消息600時載入此對象908。
當(dāng)e-mail對象912在運行時,用戶可以嘗試打印e-mail消息。在打印前,出現(xiàn)了許多鑒定正確權(quán)利916的檢查點。e-mail對象912使用需要打印的信息調(diào)用打印機(jī)驅(qū)動器908。打印機(jī)驅(qū)動器908里的檢查點停止處理,直到檢查了e-mail對象912的授權(quán)。當(dāng)購買打印機(jī)時下載的打印機(jī)驅(qū)動器權(quán)利916-4隨同打印機(jī)驅(qū)動器需求920-1被載入到ACP240用于鑒定。假定鑒定成功,打印機(jī)驅(qū)動器對象908形成了關(guān)于打印機(jī)212的打印信息并且將其傳輸?shù)酱蛴C(jī)端口資源914。
打印機(jī)端口資源914是硬件端口,其與連接到打印機(jī)212的電纜接口。一旦信息被送到打印機(jī)端口資源914,一個檢查點暫停此過程以檢查打印機(jī)驅(qū)動器對象908是否有正確的授權(quán)。要求920-3和權(quán)利916-3被載入到ACP240以鑒定。一旦由打印機(jī)驅(qū)動器對象908的使用被鑒定,剩余的打印任務(wù)依次在打印機(jī)端口資源914等待打印。
在一些實施例中,一個功能單元的權(quán)利916可以被另一個功能單元繼承權(quán)利916可以被傳遞給其他可以使用所述功能單元的對象608。例如,使用打印機(jī)端口232的權(quán)利916開始可以僅與e-mail對象912相關(guān),其中當(dāng)用戶購買打印機(jī)212后此權(quán)利916可以被傳遞給e-mail對象912。在稍后的時間里,頭端器104可以授權(quán)所述權(quán)利916遺傳給所有可以使用此打印機(jī)性能的其他功能單元或者功能單元的子集。
接著參考圖10,說明了用于以第三保密級別加載對象的處理的實施例。此具體實施例鑒定了網(wǎng)絡(luò)操作者在加載之前是對象的根源。在第一步1004,控制器220從存儲器228的非易失性部分讀取授權(quán)和對象消息500,600。在步驟1008,將對象消息600載入到ACP240里并且在步驟1012,將授權(quán)消息500載入到ACP。
一旦載入了對象和授權(quán)消息600、500,ACP240可以利用簽名者組700的所有成分。在步驟1016,ACP240在簽名者組700上計算新簽名。ACP240在步驟1024確定授權(quán)消息500里的簽名512是否匹配計算得到的簽名。如果匹配,對象608是經(jīng)授權(quán)的并且對象608被操作系統(tǒng)載入到存儲器228里并且允許其執(zhí)行。另一方面,如果簽名不匹配,ACP240拋棄了對象608并且向OS報錯。簽名512不匹配可能因為在儲存中的訛誤,非法替代了對象608或者病毒感染了對象608。
參考圖11,顯示了以第四保密級別上用于載入對象的處理過程的具體實施例的流程圖。此具體實施例檢查了機(jī)頂盒是否在加載對象608之前被授權(quán)使用對象。與上述保密等級一的相似,此實施例使用加密以得到授權(quán)檢查。加密可以使用對稱或者不對稱密鑰。在第一步1104,將對象消息600以加密形式寫入一個非易失性存儲器228部分。在某些實施例里,對象消息600是以加密形式從網(wǎng)絡(luò)208上接收到的,從而在儲存前額外的加密步驟是不必要的。
當(dāng)載入所期望的對象608時,在步驟1108從非易失性存儲器228里檢索授權(quán)和對象消息500、600。授權(quán)消息500包含解密對象消息600所需的密鑰。在步驟1112,將上述密鑰和對象消息600載入到ACP里。在步驟1116解密對象608。如果用于解密的密鑰不是授權(quán)給對象608的那個,上述解密處理過程將不成功并且結(jié)果產(chǎn)物將是不能破譯的。另一方面,在步驟1120里如果密鑰正確,將明文對象返回到OS以執(zhí)行。
在一個實施例中,對象608被以加密形式載入到易失性存儲器。由于僅僅來自對象消息600的對象608被儲存于存儲器里,對象608由其自己加密??梢允褂猛瑯拥拿荑€或者不同的密鑰實行加密。當(dāng)遇到后來的檢查點時,可以對存儲器里的經(jīng)加密的對象608上實行授權(quán)。例如,當(dāng)對象608是從存儲器里讀取用于回放或觀看,其再次被解密以驗證授權(quán)。在授權(quán)過程中不需要用戶交互,例如輸入密碼。
接著參考圖12,圖中說明了用于以第四保密級別上用于加載對象的處理的另一個具體實施例的流程圖。在此實施例中,檢查了授權(quán)消息500里的授權(quán)以在載入對象608前確定它是經(jīng)授權(quán)的。在步驟1204,從存儲器228里讀取授權(quán)消息500。接著,在步驟1208控制器220將授權(quán)消息500載入到ACP240。
一旦ACP240有授權(quán)消息500,在步驟1212檢查那里的授權(quán)消息。在步驟1216通過檢查授權(quán)信息確定對象608是否經(jīng)過授權(quán)。如果對象608經(jīng)過授權(quán),OS將其載入到存儲器并且執(zhí)行。另一方面,如果沒有授權(quán)使用對象608,在步驟1224,OS通報一個失敗的授權(quán)企圖并且將對象608拋棄。
盡管上面沒有表述,等級四的授權(quán)典型地在與等級三的授權(quán)的鑒定大約同時并且在載入對象608之前實行。在鑒定之前實行授權(quán)是因為授權(quán)是較快的過程。在實行鑒定和授權(quán)后,返回給OS的狀態(tài)是沒有授權(quán),授權(quán)但沒有鑒定,或授權(quán)并且鑒定。
參考圖13,圖中顯示以第五保密級別上用于檢查持續(xù)運行的對象的處理的具體實施例的流程圖。第五保密級別和第六保密級別(以下將說明)與由時間或使用觸發(fā)的檢查點相關(guān)。可以認(rèn)識到,正在運行的對象也應(yīng)該被鑒定以確保它們沒有被替代或被修改。而且,驗證授權(quán)周期性地允許持續(xù)運行一段時間的應(yīng)用到期??梢允褂靡欢我欢ǖ臅r間或者一段不可預(yù)知的改變的時間。
在步驟1304開始此過程,其中從存儲器228中讀取對象608。在加載對象608之前,有一個第一簽名,但在將對象608載入存儲器228后,載入對象608的簽名可以改變。本領(lǐng)域技術(shù)熟練人員可以認(rèn)識到,所述尋址從虛擬尋址轉(zhuǎn)化為物理尋址,從而可以改變所述簽名。從而,在步驟1308重新計算簽名以產(chǎn)生指示被加載對象的一個第二簽名。注意對象608應(yīng)該以第二簽名不改變的方式下在存儲器228里被加載并維護(hù)。例如,加載入的對象不應(yīng)該有自身修改代碼,由此所述簽名將會改變。然而,一些實施例可以在出現(xiàn)改變時允許第二簽名的修改。
OS有以規(guī)則間隙安排的檢查點,所述檢查點觸發(fā)周期性的鑒定和授權(quán)。在步驟1312,處理過程等待下一個安排的檢查點。典型的,這些安排的檢查點至少每周或每月出現(xiàn)。由于有線電視是每月付費,希望在付費周期后檢查未經(jīng)授權(quán)的繼續(xù)運行的應(yīng)用,然而可以使用任何間隔。在步驟1316,通過將授權(quán)消息500、加載對象和第二簽名載入ACP240,實行鑒定和授權(quán)。第二簽名用于鑒定。
在步驟1320,確定在步驟1316里實行的鑒定和授權(quán)是否都成功實行。如果成功,此過程回到步驟1312,在此流程等待下一個檢查點。另一方面,當(dāng)授權(quán)和鑒定中有一個失敗時,將對象從存儲器228移走并且拋棄。較佳地,ACP240是確定安排的檢查點的時間源。ACP240不易受到攻擊的影響,它將時鐘撥回以防止授權(quán)到期。而且,ACP240不運行可能改變時間的應(yīng)用軟件并且它需要保密的命令來改變時間。保密命令可以使用加密件或簽名以確保任何時間改變的真實性。為了終止授權(quán)期,可以使用于解密的密鑰到期或者可以發(fā)送一個新權(quán)利消息800,其將寫覆蓋并且移走使用對象的權(quán)利。
盡管前述的實施例依靠時間期限來觸發(fā)檢查點,其他實施例可以以其他方式觸發(fā)檢查點。例如,可以使用計數(shù)器監(jiān)視使用量來觸發(fā)檢查點。在預(yù)定次數(shù)的加載或者預(yù)定的累積運行時間后,一個檢查點將要求重新驗證對象。
接著參考圖14A,其說明了以第六保密級別上用于允許免費預(yù)覽對象的處理的具體實施例的流程圖。第六保密級別允許在購買前根據(jù)某一范例使用軟件。如本領(lǐng)域熟知的,用戶希望在可能購買前試用軟件。從而,第六級別上用于保密允許在購買前試用一段時間軟件。
在步驟1404,此過程開始,在此從存儲器228的儲存部分中檢索對象608。在步驟1408,將對象608載入到存儲器228的執(zhí)行部分,在此開始執(zhí)行對象608。在步驟1412,一個倒計時器開始運行,它一直減到零以標(biāo)記試用期的到期。應(yīng)該理解,也可以試用累加計時器來確定試用期的到期。在步驟1416,用戶試用對象608直到試用期完。在步驟1420通過當(dāng)?shù)褂嫊r器到期或到最低界限零時進(jìn)行提示來確定試用期完。當(dāng)計時器到期,試用期的臨時授權(quán)也到期了。
在步驟1424,給用戶購買對象608的選擇,同時暫停應(yīng)用的授權(quán)。購買將恢復(fù)授權(quán)。機(jī)頂盒形成一個購買屏幕并且將其展現(xiàn)給用戶以提示購買對象608。如果沒有選擇購買,在步驟1432,所述對象608被從存儲器228移走并且被拋棄。另一方面,如果同意購買,在步驟1428里,對象608保持在存儲器228里并且更新授權(quán)信息以反映購買和授權(quán)。
其他的實施例可以使用可以一直試用的不完整的試用版軟件,但是它沒有在購買的正式版里的一些性能。如果用戶喜歡不完整的版本,用戶可能愿意購買完整版以獲得試用版不包含的性能。購買使對象608不再殘缺并且授權(quán)了所沒有的性能。應(yīng)該注意到,在一些實施例里,完整版可以通過與圖13所述方法類似的方法使使用應(yīng)用的權(quán)利到期來控制。
接著參考圖14B,說明了以第六保密級別上用于允許免費預(yù)覽對象的處理的另一個具體實施例的流程圖。在此實施例里,由使用次數(shù)和一些其他度量方法規(guī)定對象的試用期。例如,在必須購買前,軟件可以被加載兩次。
在步驟1436,此過程開始,在此從存儲器228的儲存部分中檢索對象608。在步驟1440,將對象608載入到存儲器228的執(zhí)行部分,在此開始執(zhí)行對象608。在步驟1444,一個累加使用量計數(shù)器開始運行,當(dāng)對象被使用,它就計數(shù)增加。應(yīng)該理解,也可以使用倒記計數(shù)器來確定使用量界限的到期。在步驟1448,用戶試用對象608并且在步驟1452試用導(dǎo)致使用量計數(shù)器的增加。此實施例中的每個試用計數(shù)相應(yīng)于一次程序的加載或者某一其他動作。在步驟1456通過當(dāng)使用量計數(shù)器到達(dá)其上限時進(jìn)行提示來確定試用期完。當(dāng)達(dá)到界限時,試用期授權(quán)也到期了。
在步驟1460,給用戶購買對象608的選擇,同時暫停應(yīng)用的授權(quán)。購買將恢復(fù)授權(quán)。機(jī)頂盒108形成一個購買屏幕并且將其展現(xiàn)給用戶以提示購買對象608。如果沒有選擇購買,在步驟1468,所述對象608被從存儲器228移走并且被拋棄。另一方面,如果同意購買,在步驟1464里,對象608保持在存儲器228里并且更新授權(quán)信息以反映購買和授權(quán)。
盡管前述實施例度量整個對象608的使用量,其他的實施例可以以更好的方法監(jiān)視使用量。對象608的單個功能可以有被計量地訪問。例如,在購買打印能力前僅僅允許e-mail程序打印二十條e-mail消息。
參考圖15A,說明以保密級別七監(jiān)視報告返回頭端器的過程的具體實施例的流程圖。在頭端器104里的監(jiān)視計算機(jī)期望系統(tǒng)100里的每個ACP240通過網(wǎng)絡(luò)208周期性的發(fā)送保密報告回頭端器。那些沒能在預(yù)定期間里發(fā)送回報告的ACP240被假定為有故障的ACP240,其可能表示被破壞的或者其他故障的機(jī)頂盒108。在此實施例里,頭端器期望每天至少一個保密報告。在圖15A中僅僅顯示了監(jiān)視單個機(jī)頂盒108的過程,但是應(yīng)該理解,此過程可以在系統(tǒng)100里的大量機(jī)頂盒108上平行地實行。
在步驟1502,回報告計時器被設(shè)置為一天的初始值。在設(shè)置后,回報告計時器開始隨著時間計數(shù)。在步驟1506,對于實行此過程的機(jī)頂盒108,頭端器104監(jiān)視來自機(jī)頂盒108的任何回報告。在步驟1510,實行一個測試以確定是否接收到保密報告。如果接收到了保密報告,流程繼續(xù)到步驟1546,在此分析此報告是否有任何識別的保密問題。如果有保密問題,在步驟1518,機(jī)頂盒1518停用。如果沒有保密問題,流程回到步驟1502。
如果在步驟1510前沒有收到任何報告,流程繼續(xù)到步驟1514,在此,實行進(jìn)一步的檢測以確定回報告計時器是否已經(jīng)到期。如果所述計時器還沒有到期,流程循環(huán)回到步驟1506。如果計時器到期,在步驟1518,對應(yīng)于過期的計時器的機(jī)頂盒108被停用。一個到期的計時器將指示所述ACP240不再正確的報告保密問題。為了抑制所述機(jī)頂盒108,在步驟1518,可以發(fā)送一個新權(quán)利消息800,所述消息停用了機(jī)頂盒3的核心功能,例如紅外線端口資源。而且,可以在機(jī)頂盒108上顯示一條消息,通知用戶與客戶支持部門聯(lián)系以再次激活紅外端口資源。
盡管此具體實施例停用了對應(yīng)于不合適的保密報告的機(jī)頂盒的整體,一些實施例可以僅僅停用導(dǎo)致保密問題的對象608。如果機(jī)頂盒108里的操作系統(tǒng)在存儲器里被破壞,將不能合適地響應(yīng)(例如)后續(xù)的檢查點。在觀察到檢查點沒有實行后ACP240將報告此錯誤。頭端器104可以發(fā)送一個命令到機(jī)頂盒108以促使重新加載操作系統(tǒng)以清除錯誤。如果接收到進(jìn)一步的報告,機(jī)頂盒108可以被停用。
接著參考圖15B,說明了在第七保密級別上用于監(jiān)視保密檢查的處理的具體實施例的流程圖。當(dāng)遇到檢查點時(或應(yīng)該遇到檢查點),ACP240監(jiān)視對象608和操作系統(tǒng)的正確運行。例如,只要對象608被載入、加載或者訪問,一些實施例執(zhí)行檢查點。ACP240可以確信實行了鑒定和/或授權(quán)并且確信任何不合適的結(jié)果被按照設(shè)計處理。不能合適處理檢查點的失敗消息被以保密報告形式發(fā)送到頭端器104。
在步驟1522里,設(shè)置了一個回報告計時器。此回報告計時器設(shè)置了機(jī)頂盒108將正常的發(fā)送報告回頭端器104的期間。在此實施例里,ACP240每小時發(fā)送報告。這些報告是來自O(shè)S和控制器220的對鑒定和授權(quán)錯誤報告的補充。在步驟1526,ACP240獨立的確定OS何時將遇到檢查點。在步驟1530和1534,ACP240確定鑒定和/或授權(quán)是否相應(yīng)于檢查點實行。如果測試中有失敗,ACP240進(jìn)一步確定控制器220是否將錯誤報告回了頭端器104。ACP240加入了鑒定和/或授權(quán)流程并且可以確定何時實行這些流程。監(jiān)視系統(tǒng)總線230通信情況的ACP240可以實行錯誤報告的監(jiān)視,用于查看網(wǎng)絡(luò)端口208是否正確地發(fā)送了錯誤報告。
如果忽略了檢查點或者其他原因沒有對其作反應(yīng),在步驟1542,立即將保密報告發(fā)送到頭端器104。保密報告包含自從上次回報告計時器期間開始后產(chǎn)生的所有錯誤。如果合適地實行了檢查點,流程繼續(xù)到步驟1538,在此測試所述每小時回報告期間的到期。當(dāng)計時器到期時,在步驟1542,ACP240發(fā)送保密報告,否則,流程循環(huán)從步驟1538返回到步驟1526以便進(jìn)一步監(jiān)視。在此實施例里,ACP240對剩余的機(jī)頂盒108實行簡單檢查以獨立地檢查保密問題并且還將這些問題報告回頭端器104。
參考圖15C,說明了以保密級別七監(jiān)視保密檢查的過程的另一個具體實施例的流程圖。此實施例中,ACP240監(jiān)控OS以雙重檢查是否規(guī)則地遇到所述檢查點。在步驟1504,流程開始,在此記錄了上次OS檢查點出現(xiàn)的時間。此實施例里由于ACP加入了鑒定和授權(quán)過程,ACP240可以跟蹤檢查點的執(zhí)行。在步驟1508,啟動倒計時器。我們再次注意到計時器可以是倒計時也可以是正計時。
在步驟1512,ACP240確定是否發(fā)現(xiàn)檢查點。如果發(fā)現(xiàn)了檢查點,流程循環(huán)回到步驟1504,在此倒計時器被重置,從而再次從頭開始啟動。另一方面,如果沒有發(fā)現(xiàn)檢查點,在步驟1516實行計時器檢查。如果計時器已經(jīng)過期,流程循環(huán)回到步驟1512以再次檢測檢查點的發(fā)現(xiàn)情況。當(dāng)計時器到期而沒有遇到檢查點,流程循環(huán)回到步驟1520,在此ACP240報告一個錯誤回頭端器104。
盡管上述的實施例討論了在單個對象608上的測試檢查點,應(yīng)該認(rèn)識到在機(jī)頂盒108的每個對象608上都可以出現(xiàn)以上述方式檢測檢查點,從而許多說明的流程可以平行地實行。在一些實施例里,給每個對象608設(shè)計了定制標(biāo)準(zhǔn)以偵測所述對象608獨特的在執(zhí)行中的錯誤。而且,我們注意到受托的或者保密的操作系統(tǒng)一般不需要ACP240以如此的嚴(yán)格方式檢查異常行為。為了阻擋黑客、盜版、病毒和儲存錯誤,操作系統(tǒng)正常功能的檢查(即,檢查常規(guī)的檢查點)增加了一層保密性。
參考圖16A,說明了以第八保密級別上用于產(chǎn)生部分加密的對象的處理的具體實施例的流程圖。一部分必須被加密以防止未經(jīng)授權(quán)地加載對象直到購買了對象。例如,可以利用一個不完整版本的對象608直到為了重新形成非殘缺版本的對象608而進(jìn)行購買導(dǎo)致了標(biāo)記的解密。解密標(biāo)記有效地授權(quán)了非殘缺版本的試用,從而可以以明文形式利用整個對象608。在此實施例里,用于標(biāo)記的部分對象608小于整個對象608的一半大小。
在步驟1602開始流程,在此選擇了對象608的一部分,將其加密為標(biāo)記。所選擇的部分將使對象608如果缺少此部分就不能允許對象608的執(zhí)行。在步驟1606,移走的部分被加密為一個標(biāo)記??梢詫嵭袑ΨQ加密或者不對稱加密,然而此實施例使用的是對稱加密。在步驟1610,殘缺的或者保密對象被送到機(jī)頂盒108。保密對象包含標(biāo)記和明文形式的對象608剩余部分。在步驟1614,通過保密信道將對稱密鑰送給機(jī)頂盒108。
如果用戶購買對象608,此標(biāo)記被解密并且重新插入到對象608,從而重新形成的對象是可執(zhí)行的。在步驟1618,將一個消息從機(jī)頂盒108發(fā)送到頭端器104,指出實行了購買。在步驟1622,由于購買了對象608,用戶的賬戶被適當(dāng)?shù)乜劭?。在步驟1626,發(fā)送授權(quán)使用對象的一個更新的權(quán)利消息800。盡管此實施例從頭端器獲得了最終授權(quán),允許實施例可以避免此授權(quán)而立即開始使用對象。例如,在儲存一轉(zhuǎn)發(fā)系統(tǒng)里來自頭端器104的授權(quán)可以是不實際的。
接著參考圖16B,說明了使用標(biāo)記以達(dá)到第八保密級別上用于過程的具體實施例的流程圖。此實施例使用一個密文標(biāo)記來控制對象608的授權(quán)。所述密文標(biāo)記是正常運行對象608或一些子功能所需的部分對象608的加密部分。解密所述密文標(biāo)記產(chǎn)生明文標(biāo)記,所述明文標(biāo)記被插入到對象608里,從而所述對象以明文形式被重組。
在步驟1604里,流程開始,從頭端器接收密文標(biāo)記和對象608的明文剩余部分。盡管此實施例依靠頭端器104產(chǎn)生明文標(biāo)記,一些實施例可以在接收到對象608后在機(jī)頂盒108里所需標(biāo)記的加密。在步驟1608,明文剩余部分和密文標(biāo)記被保存于儲存存儲器228里。在步驟1612,接收到解密所述密文標(biāo)記所需的密鑰并且將其儲存在ACP240里。
在步驟1616,流程等待直到用戶購買對象608。在步驟1618,從對象608里移走密文標(biāo)記并且發(fā)送到ACP240以解密。在步驟1620和1624里,得到的明文標(biāo)記被返回到OS并且集成到對象608里以使對象608功能可用。在步驟1628里,將購買報告給頭端器104。在執(zhí)行對象608之前,可用要求來自頭端器104的以權(quán)利消息800的形式的進(jìn)一步授權(quán)。通過加密一部分對象608而不是整個對象608,加快了解密過程。
上述的討論關(guān)于在操作系統(tǒng)OS上運行應(yīng)用或者對象608。對于在運行于OS頂層上的JavaTM虛擬機(jī)(JVM)上運行的JavaTM應(yīng)用也適用這些概念。為了幫助理解此抽象概念,參考圖17說明了上級地位和下級地位的概念。上級地位和下級地位確定了哪個對象608有責(zé)任將檢查點加于另一個對象上。在與其他對象608和資源進(jìn)行的正常交互中,檢查點被加于對象608。
參考圖16C,說明了使用部分下載以達(dá)到第八保密級別上用于過程的具體實施例的流程圖。此實施例將對象分成明文部分和明文剩余部分。頭端器104分發(fā)明文剩余部分,但是在分發(fā)明文部分之前等待購買。沒有明文部分,對象608是殘缺的,從而它不能執(zhí)行。在此實施例里,明文部分少于明文剩余部分的大小的十分之一。
在步驟1650里,機(jī)頂盒108接收到對象608的明文剩余部分并且在步驟1654將其儲存于存儲器228。在步驟1658,除非用戶購買使用它否則對明文剩余部分什么也不做。通過網(wǎng)絡(luò)208將購買報告回頭端器104。一旦對購買請求實行了任何驗證,頭端器104發(fā)送缺少的明文部分,在步驟1666,機(jī)頂盒接收所述缺少的明文部分。使用保密信道發(fā)送明文部分到購買所述對象108的機(jī)頂盒108。
在步驟1670里,在機(jī)頂盒108里明文部分和剩余部分被結(jié)合以重新形成對象608。此實施例進(jìn)一步從頭端器104要求新權(quán)利消息800以使所述對象可用被使用。新權(quán)利消息800將替代老的權(quán)利消息800并且提供使用對象608的權(quán)利。
參考圖17,顯示了機(jī)頂盒108的一些功能性單元。圖中,位于圖17的底端的功能單元處于靠近圖17的頂端的功能單元的上級地位。即,圖17頂端的功能單元處于圖中較低的那些單元的下級地位。上級功能單元負(fù)責(zé)對下級功能單元加上檢查點。例如,硬件1704對BIOS1708,OS1712加于檢查點并且如此直到下級層次。BIOS1708對OS1712加上檢查點,但是不對硬件1704加檢查點。當(dāng)它們有交互時,同一層次的功能單元可對位于所述層次的另一個功能單元加上檢查點。例如,一個應(yīng)用1716可以要求在驅(qū)動器1718上執(zhí)行檢查點。
上級功能單元被設(shè)計為啟動與ACP240有關(guān)的檢查點的執(zhí)行并且下級對象被設(shè)計為有加于其上的檢查點。例如,在引導(dǎo)啟動過程里,在執(zhí)行中,BIOS1708要求在OS1712上執(zhí)行檢查點,和/或在運行中BIOS1708要求在OS1712上周期性地執(zhí)行檢查點。在正常運行中當(dāng)安裝或調(diào)試時,驅(qū)動器對象1718經(jīng)受檢查點。只要訪問文件里的數(shù)據(jù),數(shù)據(jù)文件對象1728就經(jīng)受檢查點。當(dāng)瀏覽器應(yīng)用1716解釋HTML對象1728時,HTML對象1728作為檢查點的一部分被審查。
根據(jù)上述,本發(fā)明的一些優(yōu)點已經(jīng)很明顯。只要檢查點出現(xiàn),就檢查對象的授權(quán)和鑒定。這些檢查點在許多不同時刻驗證對象的使用以提供對對象的連續(xù)控制。連續(xù)控制阻擋了黑客和病毒編寫者修改或替代條件接入系統(tǒng)里的對象的企圖。
上面關(guān)于特定裝置和方法說明了本發(fā)明的原則,但應(yīng)該清楚的理解,此說明書僅僅是示例性的并且不應(yīng)該是對本發(fā)明范圍的限制。
權(quán)利要求
1.一種用于保密與內(nèi)容接收器相關(guān)的信息的方法,所述內(nèi)容接收器是條件接入系統(tǒng)的一部分,其特征在于,所述方法包含步驟利用內(nèi)容接收器接收對象,其中所述對象包含多個相關(guān)檢查點;當(dāng)遇到一個第一檢查點時,對所述對象實行鑒定和授權(quán)中至少一個;儲存所述對象;當(dāng)遇到一個第二檢查點時,對所述對象實行鑒定和授權(quán)中至少一個;以及根據(jù)第二所列實行步驟調(diào)節(jié)一動作的實行。
2.如權(quán)利要求1所述的方法,所述方法用于保密與內(nèi)容接收器相關(guān)的信息,所述內(nèi)容接收器是條件接入系統(tǒng)的一部分,其特征在于,所述多個相關(guān)檢查點中的每一個都相應(yīng)于以下步驟中至少一個從存儲器讀取所述對象;將所述對象載入固態(tài)存儲器;處理器處理所述對象;顯示所述對象;以及播放所述對象。
3.如權(quán)利要求1所述的方法,所述方法用于保密與內(nèi)容接收器相關(guān)的信息,所述內(nèi)容接收器是條件接入系統(tǒng)的一部分,其特征在于,第二所列實行步驟包含使用密鑰解密所述對象的步驟。
4.如權(quán)利要求3所述的方法,所述方法用于保密與內(nèi)容接收器相關(guān)的信息,所述內(nèi)容接收器是條件接入系統(tǒng)的一部分,其特征在于,不用與內(nèi)容接收器的用戶進(jìn)行交互而實行所述解密。
5.如權(quán)利要求1所述的方法,所述方法用于保密與內(nèi)容接收器相關(guān)的信息,所述內(nèi)容接收器是條件接入系統(tǒng)的一部分,其特征在于,第一所列實行步驟包含使用第一代碼鑒定所述對象的步驟。
6.如權(quán)利要求5所述的方法,所述方法用于保密與內(nèi)容接收器相關(guān)的信息,所述內(nèi)容接收器是條件接入系統(tǒng)的一部分,其特征在于,所述方法還包含確定與第一代碼不同的第二代碼的步驟,其中所述第二所列實行步驟包含使用所述第二代碼鑒定所述對象的步驟。
7.如權(quán)利要求1所述的方法,所述方法用于保密與內(nèi)容接收器相關(guān)的信息,所述內(nèi)容接收器是條件接入系統(tǒng)的一部分,其特征在于,所述動作包含以下步驟中至少一個從存儲器讀取所述對象;將所述對象載入固態(tài)存儲器;處理器處理所述對象;顯示所述對象;以及播放所述對象。
8.如權(quán)利要求1所述的方法,所述方法用于保密與內(nèi)容接收器相關(guān)的信息,所述內(nèi)容接收器是條件接入系統(tǒng)的一部分,其特征在于,所述接收步驟包含從一加密數(shù)據(jù)信道下載所述對象的步驟。
9.如權(quán)利要求1所述的方法,所述方法用于保密與內(nèi)容接收器相關(guān)的信息,所述內(nèi)容接收器是條件接入系統(tǒng)的一部分,其特征在于,所述對象包含以下中至少一個軟件程序、軟件動態(tài)鏈接庫、驅(qū)動器、固件、視頻、音頻和數(shù)據(jù)。
10.如權(quán)利要求1所述的方法,所述方法用于保密與內(nèi)容接收器相關(guān)的信息,所述內(nèi)容接收器是條件接入系統(tǒng)的一部分,其特征在于,所述儲存步驟包含以加密形式儲存所述對象的步驟。
11.如權(quán)利要求1所述的方法,所述方法用于保密與內(nèi)容接收器相關(guān)的信息,所述內(nèi)容接收器是條件接入系統(tǒng)的一部分,其特征在于,所述儲存步驟在所述第一所列實行步驟之后實行。
12.如權(quán)利要求1所述的方法,所述方法用于保密與內(nèi)容接收器相關(guān)的信息,所述內(nèi)容接收器是條件接入系統(tǒng)的一部分,其特征在于,所述鑒定步驟包含鑒定所述對象的來源是否有效的步驟。
13.如權(quán)利要求1所述的方法,所述方法用于保密與內(nèi)容接收器相關(guān)的信息,所述內(nèi)容接收器是條件接入系統(tǒng)的一部分,其特征在于,所述儲存步驟還包含將所述對象儲存得最靠近所述內(nèi)容接收器的步驟。
14.如權(quán)利要求1所述的方法,所述方法用于保密與內(nèi)容接收器相關(guān)的信息,所述內(nèi)容接收器是條件接入系統(tǒng)的一部分,其特征在于,所述方法包含步驟授權(quán)連接到所述內(nèi)容接收器的數(shù)據(jù)信道;利用所述數(shù)據(jù)信道下載對象,其中所述對象包含多個相關(guān)的檢查點;鑒定所述對象;授權(quán)所述對象;儲存所述對象,其中在所述下載步驟之后但在所述儲存步驟之前實行所述鑒定和授權(quán)步驟;當(dāng)遇到多個相關(guān)檢查點中的一個時,對所述對象實行鑒定和授權(quán)中至少一個;以及根據(jù)所述兩個鑒定步驟和所述實行步驟中至少一個調(diào)節(jié)一動作的實行。
15.如權(quán)利要求14所述的方法,所述方法用于保密與內(nèi)容接收器相關(guān)的信息,所述內(nèi)容接收器是條件接入系統(tǒng)的一部分,其特征在于所述授權(quán)步驟包含使用一個算法從所述對象生成一個第一代碼的步驟;以及所述實行步驟包含使用所述算法從所述對象生成一個第二代碼的步驟,其中所述第一代碼與所述第二代碼不同。
16.如權(quán)利要求14所述的方法,所述方法用于保密與內(nèi)容接收器相關(guān)的信息,所述內(nèi)容接收器是條件接入系統(tǒng)的一部分,其特征在于,所述多個相關(guān)檢查點中至少一些被儲存在其他對象中。
17.如權(quán)利要求14所述的方法,所述方法用于保密與內(nèi)容接收器相關(guān)的信息,所述內(nèi)容接收器是條件接入系統(tǒng)的一部分,其特征在于,所述方法還包含步驟計數(shù)對象中的功能的使用量;以及基于計數(shù)步驟觸發(fā)一個檢查點。
18.如權(quán)利要求14所述的方法,所述方法用于保密與內(nèi)容接收器相關(guān)的信息,所述內(nèi)容接收器是條件接入系統(tǒng)的一部分,其特征在于,所述鑒定步驟和所述實行步驟中至少一個是由一個接入控制器實行。
19.一種用于保密與內(nèi)容接收器相關(guān)的對象的方法,其特征在于,所述方法包含步驟使用一個算法為所述對象計算一個第一代碼;使用所述第一代碼鑒定所述對象;在所述第一所列計算步驟之后儲存所述對象;使用所述算法為所述對象計算一個第二代碼,其中所述第一代碼與所述第二代碼不同;以及使用所述第二代碼鑒定所述對象。
20.如權(quán)利要求19所述的用于保密與內(nèi)容接收器相關(guān)的對象的方法,其特征在于,所述方法還包含步驟對所述兩個鑒定步驟中至少一個調(diào)節(jié)動作的實行。
21.如權(quán)利要求19所述的用于保密與內(nèi)容接收器相關(guān)的對象的方法,其特征在于,所述方法還包含步驟在虛擬尋址與物理尋址之間轉(zhuǎn)化所述對象。
22.如權(quán)利要求19所述的用于保密與內(nèi)容接收器相關(guān)的對象的方法,其特征在于,所述方法還包含步驟確定何時對象改變;以及當(dāng)所述對象改變時,重新計算所述代碼。
23.如權(quán)利要求19所述的用于保密與內(nèi)容接收器相關(guān)的對象的方法,其特征在于,從包含非線性算法、線性算法、單向算法、簽名和校驗和的一組算法中選擇所述算法。
全文摘要
根據(jù)本發(fā)明,在此揭示了一種用于保密與內(nèi)容接收器相關(guān)的信息的方法,所述內(nèi)容接收器是條件接入系統(tǒng)的一部分。在一步驟中,利用內(nèi)容接收器接收對象,其中所述對象包含多個相關(guān)檢查點。當(dāng)遇到一個第一檢查點時,對所述對象實行鑒定和授權(quán)中至少一個。儲存所述對象。當(dāng)遇到一個第二檢查點時,對所述對象實行鑒定和授權(quán)中至少一個。根據(jù)遇到所述第二檢查點,調(diào)節(jié)一動作的實行。
文檔編號H04N7/167GK1381129SQ01801450
公開日2002年11月20日 申請日期2001年5月2日 優(yōu)先權(quán)日2000年5月26日
發(fā)明者E·J·斯普龍克 申請人:通用器材公司