專利名稱:提供安全控制軟件或固件代碼下載和接收下載代碼的計算裝置的安全操作的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及向接收計算裝置、例如機頂終端,發(fā)送軟件或固件編程代碼的領(lǐng)域。本發(fā)明還涉及以一種安全方式控制向接收計算裝置下載此類代碼、使得代碼中不允許有任何的病毒或更動、而且該代碼不能自由地轉(zhuǎn)發(fā)給其它的計算裝置的領(lǐng)域。本發(fā)明還涉及執(zhí)行下載程序代碼的計算裝置的安全操作、以防止計算裝置被用來越權(quán)接入一些服務的領(lǐng)域。本發(fā)明還涉及安全操作計算裝置、以便防止執(zhí)行可能損害計算裝置或?qū)е缕湟栽綑?quán)方式工作的病毒或其它代碼的領(lǐng)域。
雖然這種容易的接入軟件和其他信息非常有價值,也很有優(yōu)勢,但對安全的關(guān)注也日益增強。計算網(wǎng)絡主要是互聯(lián)網(wǎng)的普遍問題就是會破壞數(shù)據(jù)以及損害計算機系統(tǒng)工作的計算機病毒的傳播。
另一個問題就是軟件的越權(quán)共享和復制。這種復制對于投入了重大資源來創(chuàng)建該軟件的版權(quán)所有人來說可真是代價昂貴。
在有線電視系統(tǒng)方面,這種關(guān)注也日益增強。在有線電視系統(tǒng)中,機頂終端或機頂盒通常是由有線電視公司提供給它的用戶的。機頂終端連接在例如有線系統(tǒng)的輸出端和用戶的電視機或電腦之間。這樣機頂終端就可接收來自有線系統(tǒng)運營商的前端設備的有線電視信號。
機頂終端可實現(xiàn)各種功能。例如,機頂終端可控制用戶對有線網(wǎng)絡一些特殊頻道的接入。如果用戶沒有預定“收費頻道”,機頂終端可限制用戶接入那些頻道。另一方面,機頂終端允許用戶接入他已預定了的那些收費頻道。
另外,當前還有一種趨勢是將各種可用的數(shù)據(jù)網(wǎng)絡結(jié)合在一起,這樣每個家庭或辦公室只需對信息高速公路有單一的連接即可。這種趨勢的一個實例就是有線電視網(wǎng)絡在不斷發(fā)展其提供接入互聯(lián)網(wǎng)的能力。在這種系統(tǒng)中,機頂終端可以是一個帶調(diào)制解調(diào)器的增強終端,既可連接到互聯(lián)網(wǎng),又可連接到有線電視信號。
機頂終端通常包括由其中央處理器執(zhí)行的軟件和固件,在執(zhí)行時使終端能夠完成所調(diào)用的各種功能。關(guān)于機頂終端的軟件和固件,有至少四個主要的關(guān)注方面。
首先,需要防止用戶改變機頂盒中的軟件和固件,以免用戶越權(quán)接入他未付費的有線網(wǎng)絡提供的服務。有線系統(tǒng)運營商的商業(yè)生存能力取決于能否防止對系統(tǒng)服務的越權(quán)和未付費的接入。這類服務實際上可包括任何電子數(shù)據(jù)服務,例如,多個電視頻道,付費頻道,按畫面計費的節(jié)目,視頻點播節(jié)目,互聯(lián)網(wǎng)接入,電子郵件,電話等。
有關(guān)的一個問題還在于改變機頂裝置中的軟件和固件的越權(quán)試圖可能會損壞終端或使其失效。這是有線系統(tǒng)運營商特別關(guān)注的問題,如果機頂盒的所有權(quán)由有線系統(tǒng)運營商保留的話,而現(xiàn)在常常就是這種情況。另外,也會對機頂盒制造商的信譽造成損壞,特別是如果機頂盒的失效原因、即違法對機頂盒作改動、被成功地隱瞞的話。
對機頂盒的軟件和固件作非法改動也會對有線系統(tǒng)本身產(chǎn)生不利的影響。這種不利的影響甚至會擴大到致使部分或全部有線系統(tǒng)失效。這一后果可能是有意的或無意的。不論那種情況,有線系統(tǒng)的運營商都會由于有線系統(tǒng)的損壞或客戶的不滿意而受到嚴重傷害。
第二,應保護機頂盒的軟件和固件,使之不能有意和惡意引入會損害機頂終端功能的計算機病毒。在機頂終端用來連接到互聯(lián)網(wǎng)時,這一點特別重要。
第三,由于有線系統(tǒng)的發(fā)展、或者由于用戶要求附加的服務或取消不再需要的服務,需要對機頂盒的軟件和固件進行定期升級或更改。對機頂終端作這種更改的優(yōu)選裝置就是通過有線網(wǎng)絡本身下載已升級或更改的軟件或固件。這就不需要技術(shù)員去拜訪機頂終端的所在位置。但這就需要在新的軟件或固件被下載時提供某種安全性,使其在被接收和存儲在機頂終端中時不被更改。
第四,機頂終端的軟件和固件通常是專有的并且代表了大筆投資。因此,應防止機頂終端的軟件和固件被非法復制,例如,用在另一個機頂終端上。
因此,技術(shù)上需要一種方法和系統(tǒng)、它能安全下載軟件和固件、特別是對有線電視系統(tǒng)的機頂終端,以確保軟件或固件是在授權(quán)的、沒有更改或引入病毒的情況下被發(fā)送的。技術(shù)上還需要一種方法和系統(tǒng)、它防止由終端存儲和執(zhí)行的軟件或固件被更改從而越權(quán)接入一些服務。技術(shù)上還需要一種方法和系統(tǒng)、它防止非法復制軟件或固件供越權(quán)使用,特別是從機頂終端非法復制軟件或固件。
在本說明書中將闡述本發(fā)明的其他目的,優(yōu)點和新穎的特征,本專業(yè)的技術(shù)人員通過閱讀這些材料或?qū)嵺`本發(fā)明可以領(lǐng)會或了解這些目的、優(yōu)點和特征。本發(fā)明的目的和優(yōu)點可以通過所附權(quán)利要求闡述的裝置達到。
為了達到上述和其他目的,可以將本發(fā)明描述為向計算裝置安全傳送編程代碼的系統(tǒng)。在主要的實施例中,本發(fā)明的系統(tǒng)包括連接到輸入數(shù)據(jù)線的主處理器,用來接收編程代碼塊,每個塊都與從代碼塊的內(nèi)容中導出的驗證簽名相關(guān)聯(lián);存儲編程代碼塊的存儲單元;以及安全處理器,用以獨立地為每個編程代碼塊計算驗證簽名并將計算的驗證簽名與同所述代碼塊一起傳送的驗證簽名對比。如果計算的驗證簽名不能與傳送的驗證簽名一致,安全處理器就采取適當?shù)男袆樱鐝拇鎯ζ髦星宄打炞C的代碼塊,或禁用計算裝置。
可以提供連接到安全處理器的第二個隔離的存儲單元來存儲安全處理器計算驗證簽名所需的數(shù)據(jù)。安全處理器可連續(xù)地再驗證存儲單元存儲的編程代碼塊以確保它們的連續(xù)合法性。
主處理器,存儲單元和安全處理器都由存儲器總線互連。為了避免主處理器和安全處理器之間的沖突,安全處理器最好只在主處理器不用存儲器總線的總線周期時訪問存儲單元。提供一個存儲器總線控制器來控制這種安排并控制主處理器和安全處理器接入到存儲器總線。
存儲單元最好包括中間存儲器和靜態(tài)存儲器。主處理器最初將下載的代碼塊寫入中間存儲器。在安全處理器驗證了代碼塊后,代碼塊再被輸送到靜態(tài)存儲器。
在優(yōu)選實施例中,計算裝置是包含有主處理器、存儲單元和安全處理器的機頂終端。輸入數(shù)據(jù)線是連接到有線電視系統(tǒng)的連線。
在這樣的實施例中,可以把權(quán)利管理消息與編程代碼塊相關(guān)聯(lián)。除非該權(quán)利管理消息與存儲在安全處理器中的預定權(quán)利管理消息相匹配,安全處理器將制止進一步存儲、使用或執(zhí)行這些編程代碼塊。這允許通過不加區(qū)別地向系統(tǒng)中向所有機頂終端廣播新的編程代碼來對有選擇的機頂終端重新編程。
作為附加的安全措施,代碼塊在被主處理器接收時可以加密。此時安全處理器最好包括解密程序,例如可執(zhí)行的解密軟件,以便將被加密的代碼塊解密。
本發(fā)明還包括一種方法,用于對計算裝置作編程代碼安全傳輸、更重要的是、用于監(jiān)控和確保存儲在計算裝置中的編程代碼的連續(xù)完整性。利用上述系統(tǒng)的固有原理,該方法還包括以下主要步驟用一種算法對接收到的或存儲在存儲單元中的一個或多個編程代碼塊中每一個代碼塊計算驗證簽名,根據(jù)該編程代碼塊的數(shù)值內(nèi)容來計算驗證簽名;以及將計算的驗證簽名與同所述編程的塊相關(guān)聯(lián)地傳輸或存儲的傳輸?shù)尿炞C簽名相比較,所述傳輸?shù)尿炞C簽名是利用同一算法產(chǎn)生的。
本發(fā)明還包括用于將編程代碼安全傳輸?shù)接嬎阊b置的第二系統(tǒng)。該第二系統(tǒng)包括連接到輸入數(shù)據(jù)線的主處理器,用來接收編程代碼塊,每個塊都與從代碼塊的內(nèi)容中導出的驗證簽名相關(guān)聯(lián);存儲編程代碼塊的存儲單元;以及靠主處理器運行的后臺軟件任務,用于利用與合法發(fā)送端相同的方法獨立地對每個編程代碼塊計算驗證簽名、并將該計算的驗證簽名與同該代碼塊一起傳輸?shù)尿炞C簽名對比。如前所述,如果計算的驗證簽名不能與傳送的驗證簽名相匹配,則該后臺軟件就可禁用該計算裝置。
如果存儲單元包括中間存儲器和靜態(tài)存儲器,那么,當后臺軟件任務驗證了代碼塊后,那些代碼塊就可被輸送到靜態(tài)存儲器中。如果把權(quán)利管理消息與編程代碼塊相關(guān)聯(lián),那么,除非該權(quán)利管理消息與存儲在計算裝置中的預定權(quán)利管理消息相匹配,后臺軟件任務可制止進一步存儲、使用或執(zhí)行這些編程代碼塊。
圖1是根據(jù)本發(fā)明的計算裝置、例如有線電視系統(tǒng)的機頂終端的第一實施例。
圖2是根據(jù)本發(fā)明的計算裝置的第二實施例。
根據(jù)本發(fā)明的原理,計算裝置(100)包括兩個不同的處理器。第一個是主處理器(101),它可以是例如中央處理單元。主處理器(101)是執(zhí)行目標代碼實現(xiàn)計算裝置(100)的功能的處理器。第二處理器是安全處理器,用來驗證通過數(shù)據(jù)線(106)下載的代碼,以便防止引入病毒或在傳輸中已被更改的代碼或越權(quán)代碼對象。安全處理器(102)可連續(xù)再驗證存儲單元(103)以前接收和存儲的代碼塊,以防止對駐留在機頂終端(100)的可執(zhí)行代碼或數(shù)據(jù)作越權(quán)竄改或添加。
根據(jù)本發(fā)明的原理,當軟件或固件是要被下載到計算裝置(100)時,合法發(fā)送端會將正發(fā)送的代碼分為塊或分組。然后采用一種需要一個或多個密鑰的算法,利用代碼數(shù)據(jù)的每個塊或分組的內(nèi)容來計算驗證簽名,正如本專業(yè)的技術(shù)人員所了解的那樣。
該數(shù)據(jù)塊與計算的驗證簽名相關(guān)聯(lián)地通過外部數(shù)據(jù)線(106)傳送到主處理器(101)。主處理器(101)使用存儲器總線(104)把下載的代碼寫入存儲單元(103)。存儲單元(103)可以是任何形式的非易失性的長期的電子數(shù)據(jù)存儲裝置,例如包括電子存儲裝置、硬磁盤驅(qū)動器、或光盤或磁-光盤驅(qū)動器。
存儲單元(103)分成存儲塊(塊1到塊N)。這些塊可對應于存儲單元(103)中存儲數(shù)據(jù)的物理分區(qū)。存儲塊最好還可以對應于下載時軟件或固件被分割成的數(shù)據(jù)塊或分組。
安全處理器(102)具有連接到存儲器總線(104)、再連接到存儲單元(103)的連線(105)。在軟件或固件下載到存儲單元(103)以后,安全處理器(102)將訪問每個存儲塊。將安全處理器(102)編程、以便復制合法代碼發(fā)送端使用的算法、產(chǎn)生每個代碼塊的驗證簽名。
這樣,安全處理器(102)就可驗證由主處理器(101)接收并存儲在存儲單元(103)中的代碼。另一種方案是,代碼塊最初由安全處理器(102)接收,而不由主處理器(101)接收。此時,安全處理器(102)驗證代碼塊,然后將它們存儲到存儲器(103)中。可以使用單獨的中間存儲器或存儲單元(103)的指定部分來存儲安全處理器(102)已驗證的代碼塊,然后清除這些代碼塊,把它們存儲到存儲單元(103)的長期存儲器中。
現(xiàn)在更詳細地說明驗證過程。安全處理器(102)利用每個存儲塊的代碼作為輸入,根據(jù)代碼塊的數(shù)值內(nèi)容和合法發(fā)送端使用的任何密鑰,重新計算驗證簽名。安全處理器(102)計算出的驗證簽名與同該代碼塊相關(guān)聯(lián)地傳送的驗證簽名由安全處理器(102)進行比較。
如果簽名匹配,該存儲塊的代碼就被驗證為是由授權(quán)發(fā)送端發(fā)送的,沒有更改,也沒有引入危險的病毒。另一方面,如果驗證簽名不匹配、或者所述數(shù)據(jù)塊完全不包含驗證簽名,則安全處理器(102)確定該代碼在傳輸時已被更改、也許包括了病毒、或該代碼是由無權(quán)對計算裝置(100)進行再編程的越權(quán)發(fā)送端所發(fā)送。于是安全處理器(102)可以擦除或禁用該(這些)摻假的存儲塊。
或者,安全處理器(102)可禁用整個計算裝置(100),需要技術(shù)人員的干預或系統(tǒng)操作員的信號來重新初始化裝置(100)。這可幫助服務提供商識別試圖越權(quán)改變計算裝置(100)中的軟件或固件的個人。如果計算裝置(100)是有線電視系統(tǒng)中的機頂終端時、如在本優(yōu)選實施例中那樣,則該特征特別重要。
可以對安全處理器(102)進行硬布線或固定布線來計算數(shù)據(jù)塊的驗證簽名。更靈活一些,安全處理器(102)可以通過執(zhí)行內(nèi)部存儲裝置或外部存儲單元(110)的指令來工作。
由于對越權(quán)或摻假的編程響應來自于相對隔離的安全處理器(102)而不是主處理器(101),本身就更難于預期和消除。因此,本發(fā)明的這種包括兩個不同處理器的系統(tǒng)本身就比以前的系統(tǒng)更為安全。
除了驗證計算裝置(100)新接收到的代碼塊外,安全處理器(102)最好對存儲單元(103)中的代碼塊進行定期掃描,重新驗證這些代碼塊,以確保存儲單元(103)中的代碼未被越權(quán)方更改。重要的是要保護已存儲在存儲單元(103)中的可執(zhí)行代碼的連續(xù)完整性、以便防止引入新的、越權(quán)的、或摻假的代碼。
可以使安全處理器不干擾計算裝置(100)的工作或減慢其工作速度,方法是要求安全處理器(102)在“竊取的”總線周期中存儲訪問單元(103)的存儲塊。這意味著只允許安全處理器(102)在主處理器(101)忙于內(nèi)部處理、沒有訪問存儲器總線(104)的總線周期中才可訪問存儲單元(103)。
為此,最好設置存儲器總線控制器(109)。存儲器總線控制器(109)控制這兩個處理器(101)和(102)對總線的訪問。存儲器總線控制器(109)也可直接監(jiān)控總線(104)的活動。最好,存儲器總線控制器(109)對主處理器(101)作出響應,當主處理器(101)不用存儲器總線(104)時,存儲器總線控制器(109)就允許安全處理器(102)訪問存儲器總線(104)。
由于安全處理器(102)“偷偷地使用”總線周期,安全處理器(102)就可用來不斷地驗證和重新驗證存儲單元(103)中的代碼塊以防竄改。而主處理器的速度不會受損,工作也不會受干擾。
作為附加的安全措施,也可以將安全處理器(102)編程為監(jiān)測任意時段內(nèi)它所接收到的總線周期數(shù)。如果安全處理器(102)可用的總線周期數(shù)下降到低于某一預定閾值,那么,可以將安全處理器(102)編程為認為機頂盒已被竄改。于是,安全處理器(102)可以起動適當?shù)捻憫珀P(guān)斷機頂盒的工作和/或發(fā)信號給系統(tǒng)操作員通知此問題并請求授權(quán)技術(shù)員的服務呼叫。
本發(fā)明也可用來防止為了用于另一臺計算裝置而對計算裝置(100)中的代碼進行越權(quán)復制。如果復制該代碼的第二臺計算裝置也有安全處理器(102),則該處理器(102)沒有原來的安全處理器所持有的算法和/或密鑰就不能驗證非法復制的代碼。
或者,如果復制該代碼的第二臺計算裝置不驗證代碼塊,那么,正如本專業(yè)的技術(shù)人員所知道的嵌入代碼中的驗證簽名就可用來破壞未編程為識別、提取和利用該驗證簽名的計算機對所述代碼的正常執(zhí)行。
為了更加安全,可以將通過數(shù)據(jù)線(106)下載的代碼加密。于是,安全處理器(102)還可用來對存儲單元(103)中的代碼逐塊解密。這種加密可進一步防止越權(quán)復制代碼用于它處。
在本發(fā)明用于有線電視系統(tǒng)的機頂終端時,會發(fā)生一個問題,即有些接收付費服務的用戶的機頂終端需要接收升級的軟件,而另一些接收其他服務或較少服務的用戶卻不需要編程的修改。本發(fā)明也可解決此問題,方法是在傳送的代碼塊上附加權(quán)利管理消息。該權(quán)利管理消息可以附在或嵌入在驗證簽名中,或可以是完全單獨的字符串。
權(quán)利管理消息會指明那一類機頂終端要接收并執(zhí)行下載的代碼。然后安全處理器(102)將下載代碼中的權(quán)利管理消息與安全處理器(102)所在的終端(100)所特有的補充消息進行比較。該補充權(quán)利管理消息可存儲在存儲單元(113)中。
如果安全處理器(102)的該補充權(quán)利管理消息與同下載代碼關(guān)聯(lián)的權(quán)利管理消息相匹配,則安全處理器(102)繼續(xù)進行驗證并允許以后存儲、使用或執(zhí)行下載的代碼。這樣,代碼可以通過有線網(wǎng)絡廣播到系統(tǒng)中所有的機頂終端,但只有選擇的一些機頂終端接收和執(zhí)行新的代碼。
安全處理器(102)還可以在代碼被執(zhí)行時確保存儲在存儲單元(103)中的編程代碼的完整性方面起作用。例如,在主處理器(101)執(zhí)行存儲的編程代碼之前,代碼要從長期存儲器、例如FLASH存儲器轉(zhuǎn)存到RAM(隨機存取存儲器)中。安全處理器(102)可用來將代碼從長期存儲器轉(zhuǎn)存到RAM中并能重新驗證該次轉(zhuǎn)存的每個代碼塊。
圖2示出本發(fā)明的第二實施例。該實施例的原理是設置了用以存儲下載的代碼的第二存儲單元。利用兩個存儲單元存儲代碼,其中一個存儲單元用作臨時的或中間存儲區(qū),最初將下載的數(shù)據(jù)寫入并存儲其中直到數(shù)據(jù)被安全處理器(102)驗證。在安全處理器(102)驗證了下載的代碼后,該代碼就從臨時存儲區(qū)轉(zhuǎn)存到長期、靜態(tài)存儲器中,需要時主處理器(101)訪問該靜態(tài)存儲器并執(zhí)行此代碼。
如圖2所示,第二存儲單元(200)被連接(201)到存儲器總線(104)。第二存儲單元(200)可以是硬盤驅(qū)動器或某種其他存儲裝置、也可外接到計算裝置(100)。根據(jù)具體的應用,存儲單元(200)或(103)都可用作臨時存儲器、也都可用作長期存儲器。
不采用兩個單獨的存儲單元的本發(fā)明的另一途徑是要具有安全軟件或作為后臺任務運行在主處理器(101)上的固件任務。這種安全任務可以完成安全處理器(102)的上述全部功能,包括(a)不斷掃描被保護的存儲器,確認驗證簽名;(b)驗證存儲塊失敗后,禁止計算裝置的功能;(c)作為后臺驗證過程的一部分,檢查權(quán)利消息,從而啟用應用程序的存取控制;(d)可能的地址分辨和下載代碼的鏈接。
如果安全任務能精心設計成不能被竊取或破壞,則使用后臺軟件任務提供了一種簡單的途徑來獲得本發(fā)明的許多優(yōu)點,不需要用上述具有兩個處理器(101和102)的裝置來更換現(xiàn)有的計算裝置。
后臺任務也可用一個如果不能由后臺任務定期提醒就會超時的“監(jiān)視器”任務作備份。這樣,如果后臺任務由于某種原因被消除或去激活,監(jiān)視器任務就不再被提醒,于是采取適當?shù)男袆?,例如停用該機頂終端和/或通過前端設備發(fā)信號給系統(tǒng)操作員。
上述描述只是為了說明本發(fā)明。這不是詳盡無遺的,也不是想將本發(fā)明限制在任何準確描述的形式。根據(jù)上述說明有可能作許多更改和變動。
對優(yōu)選實施例的選擇和說明是為了最好地解釋本發(fā)明的原理及其實際應用。上述說明是為了使本專業(yè)的技術(shù)人員能最好地在各種實施例中利用本發(fā)明,并設想適合于具體使用的各種改動。本發(fā)明的范圍應由以下的權(quán)利要求書來定義。
權(quán)利要求
1.一種用于向計算裝置安全傳送編程代碼的系統(tǒng),該系統(tǒng)包括接收編程代碼塊的數(shù)據(jù)線;執(zhí)行編程代碼塊的主處理器,每個編程代碼塊都與從所述代碼塊的內(nèi)容中導出的驗證簽名相關(guān)聯(lián);存儲所述編程代碼塊供所述主處理器使用的存儲單元;以及安全處理器,用于獨立地為每個所述編程代碼塊計算驗證簽名并將所述計算的驗證簽名與同所述代碼塊相關(guān)聯(lián)地發(fā)送或存儲的所述驗證簽名進行比較。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于如果所述計算的驗證簽名與所述發(fā)送的驗證簽名不匹配,則所述安全處理器禁止所述計算裝置。
3.如權(quán)利要求1所述的系統(tǒng),其特征在于如果所述計算的驗證簽名與所述發(fā)送的驗證簽名不匹配,則所述安全處理器復位所述計算裝置。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于如果所述計算的驗證簽名與所述傳送的驗證簽名不匹配,則所述安全處理器發(fā)信號要求用于所述計算裝置的授權(quán)服務呼叫。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于所述主處理器、所述存儲單元和所述安全處理器通過存儲器總線互連,并且所述安全處理器僅在所述主處理器不使用所述存儲器總線的總線周期中才訪問所述存儲單元。
6.如權(quán)利要求5所述的系統(tǒng),其特征在于還包括存儲器總線控制器,用來控制所述主處理器和所述安全處理器對所述存儲器總線的訪問。
7.如權(quán)利要求1所述的系統(tǒng),其特征在于所述存儲單元包括中間存儲器和靜態(tài)存儲器;通過所述數(shù)據(jù)總線接收的新的代碼塊被寫入所述中間存儲單元;以及在所述安全處理器驗證了所述代碼塊后,所述代碼塊被轉(zhuǎn)存到所述靜態(tài)存儲器。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于還包括與所述編程代碼塊相關(guān)聯(lián)的權(quán)利管理消息,其中,除非所述權(quán)利管理消息與存儲在所述安全處理器中的預定權(quán)利管理消息相匹配,所述安全處理器將制止進一步存儲、使用或執(zhí)行所述編程代碼塊。
9.如權(quán)利要求1所述的系統(tǒng),其特征在于所述計算裝置是包括所述主處理器,所述存儲單元和所述安全處理器的機頂終端;以及所述數(shù)據(jù)線是連接到有線電視系統(tǒng)的連線。
10.如權(quán)利要求1所述的系統(tǒng),其特征在于還包括連接到所述安全處理器的第二個隔離的存儲單元。
11.如權(quán)利要求1所述的系統(tǒng),其特征在于所述安全處理器定期重新驗證存儲在所述存儲單元中的所述編程代碼塊。
12.如權(quán)利要求1所述的系統(tǒng),其特征在于所述編程代碼塊在由所述主處理器接收時被加密,所述安全處理器還包括解密程序、用于對所述加密的代碼塊解密。
13.一種用于向計算裝置安全傳送編程代碼的方法,該方法統(tǒng)包括用一種算法對新接收或存儲在存儲單元的一個或多個編程代碼塊中的每一個計算驗證簽名,所述驗證簽名是根據(jù)該編程代碼塊的數(shù)值內(nèi)容計算的;以及將所述計算的驗證簽名與同該代碼塊相關(guān)聯(lián)地發(fā)送或存儲的驗證簽名進行比較。所述發(fā)送的驗證簽名利用所述算法產(chǎn)生的。
14.如權(quán)利要求13所述的方法,其特征在于如果所述計算的驗證簽名與所述傳送的驗證簽名不匹配,則所述方法禁止所述計算裝置。
15.如權(quán)利要求13所述的方法,其特征在于所述計算和比較是利用與執(zhí)行所述代碼塊的主處理器分開的第二安全處理器進行的。
16.如權(quán)利要求15所述的方法,其特征在于還包括利用存儲器總線訪問所述存儲器單元中的所述代碼塊,以便所述安全處理器僅在所述主處理器不使用所述存儲器總線的總線周期中進行驗證。
17.如權(quán)利要求13所述的方法,其特征在于還包括在所述計算的驗證簽名與所述發(fā)送的驗證簽名匹配后將所述代碼塊從所述存儲單元的中間存儲器轉(zhuǎn)存到所述存儲單元的靜態(tài)存儲器。
18.如權(quán)利要求13所述的方法,其特征在于還包括接收與所述編程代碼塊相關(guān)聯(lián)的權(quán)利管理消息;僅當所述權(quán)利管理消息與存儲在所述計算裝置中的預定的權(quán)利管理消息相匹配時,才存儲并執(zhí)行所述編程代碼塊。
19.如權(quán)利要求13所述的方法,其特征在于還包括重復進行所述計算和比較以便重新驗證存儲在所述存儲單元中的所述編程代碼塊。
20.如權(quán)利要求13所述的方法,其特征在于還包括對接收的加密形式的所述編程代碼塊進行解碼。
21.一種用于向計算裝置安全傳送編程代碼的系統(tǒng),該系統(tǒng)包括連接到輸入數(shù)據(jù)線的用來接收編程的代碼塊的主處理裝置,每個所述編程的代碼塊與從該代碼塊的內(nèi)容導出的驗證簽名相關(guān)聯(lián);存儲所述編程代碼塊的存儲裝置;以及安全處理裝置,它可獨立地為每個所述編程代碼塊計算驗證簽名并將所述計算的驗證簽名與同該代碼塊一起發(fā)送的所述驗證簽名進行對比。
22.一種用于向計算裝置安全傳送編程代碼的系統(tǒng),該系統(tǒng)包括連接到輸入數(shù)據(jù)線的用來接收編程的代碼塊的主處理裝置,每個所述編程的代碼塊與從該代碼塊的內(nèi)容導出的驗證簽名相關(guān)聯(lián);存儲所述編程代碼塊的存儲裝置;以及運行在所述主處理器上的后臺軟件任務,用于獨立地為每個所述編程代碼塊計算驗證簽名并將所述計算的驗證簽名與同該代碼塊一起發(fā)送的所述驗證簽名進行對比。
23.如權(quán)利要求22所述的系統(tǒng),其特征在于如果所述計算的驗證簽名與所述傳送的驗證簽名不匹配,則所述后臺軟件任務禁止所述計算裝置。
24.如權(quán)利要求22所述的系統(tǒng),其特征在于如果所述計算的驗證簽名與所述傳送的驗證簽名不匹配,則所述后臺軟件任務復位所述計算裝置。
25.如權(quán)利要求22所述的系統(tǒng),其特征在于如果所述計算的驗證簽名與所述傳送的驗證簽名不匹配,則所述后臺軟件任務發(fā)出關(guān)于所述計算裝置的服務呼叫信號。
26.如權(quán)利要求22所述的系統(tǒng),其特征在于所述存儲單元包括中間存儲器和靜態(tài)存儲器;所述主處理器將所述下載的代碼塊寫入所述中間存儲單元;以及在所述后臺軟件任務驗證了所述代碼塊后,所述代碼塊被轉(zhuǎn)存到所述靜態(tài)存儲器。
27.如權(quán)利要求22所述的系統(tǒng),其特征在于還包括與所述編程代碼塊相關(guān)聯(lián)的權(quán)利管理消息,其中,除非所述權(quán)利管理消息與存儲在所述計算裝置中的預定權(quán)利管理消息相匹配,所述后臺軟件任務將制止進一步存儲、使用或執(zhí)行所述編程代碼塊。
28.如權(quán)利要求22所述的系統(tǒng),其特征在于所述計算裝置是包括所述主處理器和所述存儲單元的機頂終端;以及所述輸入數(shù)據(jù)線是連接到有線電視系統(tǒng)的連線。
全文摘要
用于安全下載軟件的方法和系統(tǒng)包括接收下載代碼塊的主處理器,這些代碼塊與從代碼塊的內(nèi)容導出的計算驗證簽名相關(guān)聯(lián)。安全處理器從下載的代碼塊內(nèi)容再計算該驗證簽名并將計算的驗證簽名與同代碼塊一起接收的驗證簽名進行比較。如果簽名不匹配或下載數(shù)據(jù)沒有附有簽名,則安全處理器確定該代碼是來自越權(quán)發(fā)送端或在傳送時被改動、也許含有病毒。于是安全處理器采取適當?shù)谋Wo行動。
文檔編號H04N5/00GK1423766SQ01808148
公開日2003年6月11日 申請日期2001年2月12日 優(yōu)先權(quán)日2000年2月17日
發(fā)明者G·戈芬, R·波斯 申請人:通用儀器公司