專利名稱::數(shù)字廣播系統(tǒng)中受復制保護的應用程序的制作方法
技術領域:
:本發(fā)明涉及數(shù)字廣播系統(tǒng)和這種系統(tǒng)中應用程序到終端的傳送。本發(fā)明尤其適用于數(shù)字視頻廣播多媒體家用平臺(DVB-MHP)和類似系統(tǒng)。最初開發(fā)數(shù)字視頻廣播(DVB)系統(tǒng)是為了傳送音頻和視頻材料。最近這些年對傳送能夠由終端下載并執(zhí)行的應用程序有了越來越大的興趣。數(shù)字視頻廣播多媒體家用平臺(DVB-MHP)是調和多媒體機頂盒標準的努力的結果。對于交互式數(shù)字電視來說它是開放的、公開的、標準的。DVB-MHP,或簡稱MHP,定義了交互式數(shù)字應用程序和執(zhí)行那些應用程序的終端之間的通用接口。在www.etsi.org可以看到MHP標準,例如ETSITS101812V1.3.1。MHP標準的1.0.3版本支持稱為“Xlets”的可自由下載的應用程序。ETSITS102819中闡述的數(shù)字視頻廣播全球可執(zhí)行MHP(DVB-GEM)也支持可下載的應用程序。一些廣播公司選擇用條件存取(CA)系統(tǒng)對整個廣播流加密以限制對內容的訪問,例如廣播頻道或應用程序,只有那些已經(jīng)訂購了他們的服務的人才能夠訪問。盡管已經(jīng)證明這能夠對防止內容的盜版提供高度的保護,但它在用戶的機頂盒上需要專用的解擾硬件。觀眾需要包括CA系統(tǒng)的專用機頂盒或者帶有符合DVB公共接口(DVB-CI)的插槽以及包含CA系統(tǒng)的CI-模塊的機頂盒。觀眾還需要識別它們的智能卡,并且廣播公司需要維護獲授權的智能卡的中央數(shù)據(jù)庫。很多廣播公司對CA系統(tǒng)使用它們自己的定制加密算法。實際上,只有收取月租費的廣播公司能夠建得起CA系統(tǒng)所需的基礎結構。由上看來,很多廣播公司已經(jīng)選擇了不以這種方式加密整個傳輸流。廣播公司對向用戶終端傳送按使用付費的應用程序(例如游戲)很有興趣,因為這能為它帶來額外的收入。但是,當前的MHP標準不包括對加密應用程序的支持。沒有對應用程序加密的能力,并且沒有CA系統(tǒng),傳送給用戶終端的任何應用程序都易受到盜版的攻擊。實際上,已經(jīng)有可能獲得能夠“抓取”作為廣播流的一部分被廣播的文件系統(tǒng)的整個內容(包括任何應用程序的代碼)并將其保存到硬盤上的設備。很多MHP應用程序都被進行了模糊處理以使它們更難以被反向操縱。這意味著代碼被進行了處理以使說明性標簽被刪除或重新命名為說明性內容更少的標簽。盡管這使得黑客修改應用程序的操作更難,但它不能防止應用程序被非法存儲或非法執(zhí)行。本發(fā)明尋求提供一種傳送加密應用程序給終端的途徑。因此,本發(fā)明的第一方面提供了在數(shù)字廣播系統(tǒng)中的終端上接收加密應用程序的方法,該終端可以訪問能夠攜帶信令到外部方的交互信道,該方法包括下列步驟接收與加密應用程序有關的細節(jié);通過在交互信道上發(fā)送授權請求給授權實體而授權終端訪問應用程序;隨著獲得授權,在交互信道上接收一個密鑰;接收加密應用程序;用接收到的密鑰對加密應用程序解密。這樣做的一些優(yōu)點是用戶不必訂購一項服務,在終端上不需要有訂購卡、條件訪問(CA)系統(tǒng)或CA模塊。用戶能夠在他們想要時支付任何應用程序而不需要有訂購承諾,并且多個應用程序提供商都能以這種方式提供應用程序而沒有用戶在他們的終端中需要多個預訂CA模塊的問題。不需要有一個單獨的授權實體處理事務,因而在應用程序提供商之間沒有任何用戶數(shù)據(jù)需要共享??梢苑奖愕剡m應大量加密/解密算法、密鑰長度和付款系統(tǒng)。安排對終端授權和/或對應用程序解密的步驟可以由終端接收到的啟動器程序完成。首選以未加密的形式廣播啟動器程序。在使用啟動器程序的地方,可以通過到啟動器程序的相同或不同的傳送信道傳送加密的主應用程序。使用啟動器程序的一種首選的可選方案是將啟動器程序的功能引入終端自身中。該功能可用軟件、硬件或軟硬件組合實現(xiàn)。因此,本發(fā)明的更多方面為數(shù)字廣播系統(tǒng)中的終端提供了控制設備、用于控制終端操作的軟件和引入了該控制設備或軟件的終端。該軟件可以在制造終端時安裝在終端上,或者隨后作為升級安裝在已有的終端上。該軟件可被存儲在電子存儲設備、硬盤、光盤或其它機器可讀的存儲介質上??梢栽跈C器可讀載體上傳送該軟件或者通過網(wǎng)絡直接下載到終端上。本發(fā)明的另一方面提供了在數(shù)字廣播系統(tǒng)中發(fā)送應用程序到終端(60)的一種方法,該終端可以訪問能夠攜帶信令到外部方(55)的交互信道(85),該方法包括下列步驟通過在交互信道(85)上發(fā)送授權請求(314)到授權實體(55)而發(fā)送與加密應用程序有關的細節(jié),包括被安排用來授權終端(60)訪問加密應用程序(320)的啟動器程序(320);隨著獲得授權,從交互信道(85)上接收密鑰(215);并用該密鑰(215)對應用程序解密;并,發(fā)送加密應用程序(320)。本發(fā)明的另一方面提供了在沒有使用條件訪問(CA)系統(tǒng)的數(shù)字廣播系統(tǒng)中發(fā)送加密應用程序到終端的一種方法,該方法包括發(fā)送與加密應用程序有關的未加密細節(jié),這些細節(jié)包括下列中的一個或多個用來加密該應用程序的加密方法;應用程序的費用;付款細節(jié);和,發(fā)送加密應用程序。本發(fā)明尤其適合作為多媒體家用平臺(MHP)的當前版本的擴展,盡管它對數(shù)字視頻廣播系統(tǒng)有更廣泛的應用。這些包括-DVB-GEM(ETSITS102819)=全球可執(zhí)行MHP這是不依賴于DVB-SI的MHP的一個子集;-OCAP=開放有線電視應用平臺,基于GEM的新的美國有線標準;-ATSC-DASE=高級電視系統(tǒng)委員會(ATSC)數(shù)字TV應用程序軟件環(huán)境(DASE),美國大陸標準,目前根據(jù)GEM重編;和-ARIB-AE=基于GEM的ARIB(一個日本TV標準實體)標準B-23“數(shù)字廣播的應用程序執(zhí)行引擎平臺”(ARIB-AE)?,F(xiàn)在將參考附圖只作為例子說明本發(fā)明的實施方案,附圖中圖1示出了實現(xiàn)了本發(fā)明的數(shù)字視頻廣播(DVB)系統(tǒng);圖2示出了圖1的系統(tǒng)中的用戶終端內的功能模塊;圖3示出了接收加密應用程序中的步驟的流程圖4更詳細地示出了圖1的終端和授權實體的一部分;圖5示出了本發(fā)明的一種可選實施方案,在該實施方案中在加密的主應用程序之前先下載了啟動器程序。圖1示出了用于傳送應用程序到終端的數(shù)字視頻廣播系統(tǒng)。內容由廣播公司30生成并被轉換為適當?shù)母袷揭酝ㄟ^廣播信道35發(fā)送給用戶端100。示出了一個這樣的用戶端100。通常,廣播信道35是通過衛(wèi)星傳送的,盡管也可以通過陸地傳輸網(wǎng)絡、有線分布網(wǎng)絡或像Internet這樣的數(shù)據(jù)網(wǎng)絡傳送,傳送的方法對本發(fā)明來說不重要。位于用戶端的終端(STB)60接收到了廣播流,在本發(fā)明中是通過天線18接收的。通過廣播信道35傳送的廣播流包括音頻和視頻內容以及支持各種服務和應用程序的數(shù)據(jù)。在DVB-MHP規(guī)范中,應用程序的數(shù)據(jù)是被作為數(shù)字存儲介質-命令和控制(DSM-CC)對象輪盤(Carousel)的一部分傳送的。這是一個包含不同應用程序的數(shù)據(jù)文件的重復廣播文件系統(tǒng)。ISO/IEC13818-6中向想要獲取更多信息的專業(yè)讀者闡述了DVB-MHP系統(tǒng)的廣播信道格式,包括DSM-CC。應用程序可以由廣播公司30或向廣播公司30提供所需文件以插入在DSM-CC的獨立應用程序提供商創(chuàng)建。應用程序的例子包括電子節(jié)目指南(EPG)、游戲、知識測驗、教學指南和像家庭銀行業(yè)務這樣的電子商用應用程序。還可和調制解調器一起提供機頂盒60以支持交互信道85,從而允許機頂盒60向外部方發(fā)送數(shù)據(jù)并從外部方接收數(shù)據(jù)。交互信道85通常使用傳統(tǒng)的電話網(wǎng)絡,例如POTS。交互信道85可以采用的形式有POTS上直接到應用程序提供商50的撥號連接;到像internet這樣的數(shù)據(jù)網(wǎng)絡的網(wǎng)關的連接,并且在網(wǎng)關和應用程序提供商50之間的連接跨越所述數(shù)據(jù)網(wǎng)絡;有線電纜反向信道和跨越數(shù)據(jù)網(wǎng)絡(internet)到應用程序提供商的連接的組合;ADSL或其它寬帶internet連接;衛(wèi)星上行鏈路或ISDN線路。機頂盒60還包括帶有遙控20或鍵盤的用戶接口,用于接收用戶輸入和用于顯示能夠覆蓋在提供給電視顯示器12的視頻信號10之上的消息的圖形輸出。MHP終端是圍繞JavaTM虛擬機(JVM)構建的,應用程序也是用Java所寫。使用Java的優(yōu)勢是可以用公共格式寫應用程序,而各種類型的終端中的虛擬機將Java字節(jié)碼轉換成與駐留在該終端上的特定硬件和軟件相一致的形式。圖2示出了典型的MHP終端60中的功能塊。以眾所周知的方式,終端60包括用于處理接收到的廣播信號35的前端。這包括用于選擇和解調所需頻道的調諧器和解調器61以及用于解擾信號的可選條件訪問單元62。產(chǎn)生的數(shù)字數(shù)據(jù)流被以重復廣播的DSM-CC對象輪盤64的形式多路輸出成63表示音頻和視頻數(shù)據(jù)(通常是MPEG-2格式)和應用程序程序的數(shù)據(jù)流。隨后為了呈現(xiàn)給用戶對音頻和視頻數(shù)據(jù)進行一步處理65以得到合適的輸出信號10、14。一旦從廣播流中下載完畢,應用程序(或若干應用程序)將駐留在終端中的存儲器69內并將由微處理器68執(zhí)行。應用程序可以通過應用程序編程接口(API)接收用戶輸入22,生成音頻和視頻輸出,并訪問交互頻道85。用于操作終端的控制軟件也駐留在存儲設備中。應該注意到圖2示出了打算用來通過廣播傳送信道接收信號的終端。在打算用來和非廣播傳送信道相接的終端的其它實施方案中,由適合于該傳送信道的網(wǎng)絡接口代替了調諧器/解調器61。這個網(wǎng)絡接口可以是基于internet協(xié)議(IP)的傳送信道。按照本發(fā)明,以加密形式發(fā)送應用程序。實際上有兩種途徑更改終端60以處理加密應用程序。第一種途徑利用了在主應用程序之前從廣播流35下載的未加密的啟動器程序。啟動器程序包含使終端執(zhí)行授權該終端使用應用程序的功能的代碼,例如通過處理對應用程序的付款、獲取解密密鑰和啟動加密應用程序。啟動器程序的使用的缺點是要通過API暴露其功能。第二種途徑將啟動器程序的功能并入終端中并且更改了廣播信令以包含與應用程序有關的信息,例如應用程序的費用、已經(jīng)使用的加密算法和獲取解密密鑰的聯(lián)系細節(jié)。圖3和圖4示出了從廣播流下載加密應用程序的過程的第一個實施方案。在這個實施方案里,在終端中構建了處理加密應用程序的功能,即不再需要啟動器程序。圖3示出了該過程的步驟的流程圖,圖4示出了終端60和應用程序提供商50中的一些功能塊以及加密密鑰的傳輸。首先,在步驟500,終端STB接收可以下載的應用程序的細節(jié)。應用程序信息表(AIT)中攜帶了這個信息。該表是通過MPEG段(二進制形式)被發(fā)送的。MHP規(guī)范中規(guī)定了該表的所有字段。優(yōu)選地修改AIT以包括下列細節(jié)-已經(jīng)用來加密應用程序的加密方法(包括密鑰長度);-可以使用的付款方法和如何聯(lián)系應用程序提供商進行授權的細節(jié),例如應用程序提供商的電話號碼和服務器地址;-要顯示給用戶的信息,例如應用程序的價格。下面是可以如何修改AIT的一個例子No.ofbltsCommentappllcation_information_section(){table_id8section_syntax_indicator1reserverd_for_future_use1reserved1section_length12test_application_flag1application_type15(Field1discussedbelow)reserved2version_number5current_next_indicator1section_number8last_section_number8reserved_for_future_use4common_descriptor_length12for(i=0;i<N;i++){descnptor()}reserved_for_future_use4application_loop_length12for(i=0;i<N;i++){(applicationloop)application_identifier()application_control_code8reserved_for_future_use4(Field2)application_descriptor_loop_length12for(j=0;j<N;j++){descriptor()(DescnptorA)}}CRC_3232}有不同的途徑用信號通知加密的應用程序和加密應用程序需要的信息。首先可以定義application_type字段將包含這個AIT中的所有應用程序都是加密應用程序的信息。目前,這個字段的值可以是0x0001(DVB-J應用程序)或0x0002(DVB-HTML)。因為這是一個15位的字段,其最大值是0x7FFF。一種可能性是使用0x4000作為掩碼以標識加密應用程序(AIT中的所有應用程序都被加密)。加密的DVB-J應用程序(普通MHP應用程序)的application_type是0x4001(0x0001|0x4000)。。另一種可能性是使用應用程序環(huán)中保留的4位(字段2)中的一位標識加密的應用程序。此外,有兩種途徑用信號通知加密信息。它可被加到AIT中,例如通過在上面標為“描述符A”的位置為此定義一個描述符。但這樣做不是首選,因為AIT必須非常小(小于1K)。這意味著需要發(fā)送不止一個AIT,每個AIT有它自己的PID。描述符可能如下所示application_encryption_descriptor(){desriptor_tag8descriptor_length8encryption_type4(enumofdifferentencryptionsystems)keylength8(enum)or32(integer)price32(first25bntintegervalue,last7bitfraction)for(i=0;i<3;i++){(3charse.g.GBR,EUR)char()}reserved4payment_system_loop4(numberofsupportedpaymentsystems)for(i=0;i<N;i++){payment_system4(e.g.Premiumnumber,Creditcardetc)connection_type4(Dialup,Internetetc)connection_length8for(j=0;j<N;j++){char()8(Textuallocator)}}}對于撥號連接,正文定位符可以是調制解調器應該撥的電話號碼;對于IP連接,正文定位符是URL。第二個優(yōu)選方案方案如下。在DSM-CC對象輪盤中,在AIT中(通過transport_protocol_descriptor)指定的有每個加密應用程序的XML文件(例如,名為“organisation_id”.“application_id”-encryption.xml)或包含該對象輪盤中所有加密應用程序上的信息的一個XML文件。這種XML文件看上去如下所示<?xmlversion=″1.0″encoding=″UTF-8″?><IDOCTYPEmhp_application_encryptionSYSTEM″fileNVHEREEVER/encryption.dtd″><!--Theorganisation_idandtheapp_ididentifytheapplication.SeeAlt--><applicationorganisatior_id=″32″app_id=″3″><applnfo>Heneisatextualinformationabouttheapplicationwhichcanbepresentedtotheenduser</applnfo><!--Informationabouttheencryptionsystemused-><encryptiontype=″XXX″><keylength>1024</keylength><!--Anyotherinfofortheencryptionmechanism--></encryption><!--Informationaboutthepaymentsystemused--><paymentstore=″false|true″><pricevalue=″1.00″currency=″EUR″/><!--Howmanytimesorforhowmanydayscantheapplicationbeusedbeforeitexpires--><!--Ifonly<day>isspecifieditcanbeusedforndays.Ifonlyuseisspecifieditcanbeusedmtimes.ifbothdayanduseisspecifieditcanbeusedndaysormtimeswhateverexpiresfirst--><max_use><day>n</day><use>m</use></max_use><!--<payment_systemname=″CREDIT_CARD|GELD_CARD|PREMIUM_NUMBER|...″>--><payment_systemname=″PREMIUM_NUMBER″><telephone>01900886677</telephon></payment_system><payment_systemname=″CREDIT_CARD″><!--payappisaprotocolforthetransaction(tbd)--><address>payapp//mhp.provider.com666</address></payment_system></payment></application>終端ClassLoader將有兩個不同的應用程序類途徑,即它查找類的途徑。它將有普通類途徑(在那里它找到未加密的類)和加密類途徑(在那里它將找到加密的類)。因此,在解析AIT時,終端必須檢查應用程序是否被加密。如果應用程序被加密,那么其中一個描述符中指定的類途徑被加到加密類途徑中,否則被加到普通類途徑中。AIT還可以包括指示應用程序是否可以由終端存儲或復制的標記。優(yōu)選地要將這些擴展標準化以使任何終端都能正確地解釋這些細節(jié)。接下來,在步驟502,用戶選擇其中一個可用應用程序并啟動下載過程。終端隨后開始了授權該終端訪問該應用程序的過程。由終端進行的活動取決于AIT或XML文件中攜帶的擴展信息。在步驟506終端60顯示(AIT中攜帶的)表示應用程序費用的消息,并詢問用戶他們是否同意為該應用程序付錢。如果用戶不打算付款,可以顯示出錯消息并且什么都不再發(fā)生。如果用戶同意支付該應用程序,終端繼續(xù)到步驟510并且使用交互信道85撥打位于應用程序提供商一方50的授權/付款實體55,發(fā)送授權請求。在這個例子中支付應用程序的機制是通過終端撥打額外費用電話號碼。圖4示出了位于終端60和應用程序提供商50之間的加密密鑰的交換。終端有一對加密密鑰公共密鑰210和私有密鑰220。這對密鑰210、220對終端是唯一的,并由終端制造商簽署,終端制造商則由可依賴的證書授權機構簽署。當終端被證明與MHP標準一致時可以給出證書。私有密鑰220永遠不離開終端,并且永遠不會為應用程序直接看到。密鑰220甚至可被存儲在抗干擾硬件222中,例如可信計算平臺聯(lián)盟(TCPA)/Palladium。當終端60首次聯(lián)系應用程序提供商50時它發(fā)送公共密鑰210。接收到公共密鑰210后,位于授權實體55的授權單元56檢查這個密鑰是否有效。公共密鑰210可以用來標識終端60。上述簽名和證書鏈用來確保密鑰210來自已核準的MHP終端。還可以咨詢無效密鑰57的“黑名單”。終端可能因為不同的原因被加入黑名單,例如已知終端已被入侵或者具有該密鑰的終端在上次出現(xiàn)時提供了無效的付款細節(jié)。如果這些檢查中的任意一個表明發(fā)送該密鑰的終端沒有被授權或者不一致,那么在步驟514會有出錯消息返回。如果密鑰有效,應用程序提供商50將等到對額外費用電話號碼的呼叫持續(xù)時間等于所請求的應用程序的價格(即該用戶已經(jīng)付款完畢)并且命令密鑰發(fā)生器58生成一個應用程序密鑰215。這個密鑰215將解密終端已經(jīng)請求的應用程序。首選用STB公共密鑰210加密的應用程序密鑰215以獲取加密的應用程序密鑰216。加密的應用程序密鑰216被通過交互信道85返回終端60。在步驟518終端接收到加密的應用程序密鑰216。終端用它的私有密鑰220對該密鑰解碼225以再次獲得應用程序密鑰215。終端隨后開始從DSM-CC下載加密應用程序320。在步驟520用密鑰215對應用程序解密并且隨后可以普通方式執(zhí)行解密的應用程序330??梢允褂萌魏螛藴式饷芩惴?,例如數(shù)據(jù)加密標準(DES)、三度數(shù)據(jù)加密標準(3DES)、高級加密標準(AES)和BlowFish。終端可以支持多種加密標準或者只支持一種。隨后可根據(jù)應用程序類型在應用程序被關閉時將加密密鑰215存儲在終端60中以備后用,或者將加密密鑰215丟棄。按使用付費的應用程序每次都需要一個新的密鑰,而一次性付費的的應用程序可以每次都使用相同的密鑰。終端可能沒有足夠的永久性存儲空間能夠存儲整個解密的應用程序。如果加密應用程序被連續(xù)不停地廣播,那么終端可以只存儲密鑰。下一次用戶想要運行該應用程序時,只需再次下載該應用程序并再次解密。因為解密該應用程序所需的密鑰已經(jīng)被存儲在終端上,用戶不需要再次付費。此外,即使在本地存儲設備上緩存/存儲了應用程序,也應該對應用程序加密以防止黑客從本地存儲設備獲取應用程序。如果那樣的話,即使黑客將復制該應用程序,它仍然是加密過的。如果以加密形式(例如,由終端的公共密鑰以和通過交互信道發(fā)送的應用程序密鑰相同的方式加密)存儲應用程序密鑰,就不應該有盜版者能夠解密應用程序的輕松途徑。在這個例子中,授權是通過撥打額外費用電話號碼實現(xiàn)的。但是,有多種不同的途徑實現(xiàn)授權。獲取授權的一些可能的途徑有-終端提示用戶輸入信用卡細節(jié)。接收到信用卡細節(jié)后,終端聯(lián)系位于應用程序提供商50的付款授權實體55,傳送信用卡細節(jié)和公共密鑰。授權單元56可能需要聯(lián)系外部組織以檢查該信用卡細節(jié)是否有效。如果付款被接受,就如同前面一樣在交互信道上從應用程序提供商50返回加密的應用程序密鑰216給終端60。在應用程序提供商50知道終端所有者的情況下,可以將該信用卡細節(jié)和應用程序提供商所持有的細節(jié)進行比較;-終端提示用戶輸入訂購或俱樂部成員號,可能還帶有密碼或PIN。終端隨后聯(lián)系應用程序提供商50并提供這個信息和公共密鑰210。如果用戶通過了授權,就從應用程序提供商50發(fā)送加密的應用程序密鑰216給終端60。-終端從插入到終端60上的讀卡器中的智能卡(例如,德國GeldKarte)收取付款并和表示付款的消息和公共密鑰210一起發(fā)送給應用程序提供商50。從應用程序提供商50發(fā)送加密的應用程序密鑰216給終端60。將會意識到在終端聯(lián)系應用程序提供商50以獲取密鑰216的地方還可以使用任何其它裝置,優(yōu)選地是在以某種方式支付給應用程序提供商50之后。首選以加密形式發(fā)送應用程序密鑰215,而不是以明文發(fā)送,以降低第三方截獲該密鑰并散布的機會。用STB公共密鑰加密應用程序密鑰215確保了終端擁有它呈現(xiàn)給應用程序提供商50的證書。安全發(fā)送應用程序密鑰215的一種可選途徑是通過使用授權協(xié)議,例如安全套接字層(SSL)協(xié)議。終端的證書可被用作客戶端證書。圖5示出了本發(fā)明的一種替代實施方案,在該實施方案中是在加密的主應用程序320之前發(fā)送啟動器程序310。在這種實施方案中,是在啟動器程序而不是AIT或XML文件中攜帶與加密應用程序有關的信息,并且啟動器程序能夠創(chuàng)建通告加密應用程序的定制UI(用戶界面)。如果使用啟動器程序就需要API來支持解密。如果啟動器程序僅僅啟動加密的MHP應用程序,它可以使用函數(shù),例如靜態(tài)函數(shù),或特殊的類,例如publicBooleanstartEncryptedApp(intorg_id,intapp_id,byte[]key);終端從AIT接收應用程序信息但啟動器程序負責獲取應用程序密鑰,應用程序密鑰是通過一組字節(jié)傳送的。如果啟動器程序是主應用程序并且只想(通過Java反射API)加載加密模塊,那么需要另一由廠商定義的方法。publicstaticClassLoadercreateDecryptionClassLoader(EncryptionInfoinfo,String[]classpath,byte[]key);其中類“EncryptionInfo”包含關于所使用的加密系統(tǒng)的信息,“classpath”是類路徑的數(shù)組,“key”是密鑰。另一替代方法是publicstaticClassLoadercreateDocryptionClassLoador(DecryptionEnginedecryptor,String[]classpath);這還創(chuàng)建了一個新的ClassLoader,但這次進行實際解碼的類是被作為參數(shù)傳送的。DocryptionEngine將成為接口。新的ClassLoader讀取的任何東西將被首先傳送給DecryptionEngine并隨后由該ClassLoader讀回(解密的)。這樣,應用程序能夠發(fā)送它自己的解密實現(xiàn)(例如在已知要盒中的應用程序算法有裂紋時)。密鑰從不離開應用程序(盡管使用加密的密鑰(見上)或許是不可能的)。解密程序位于盒上,盡管也可以下載。啟動器程序指示終端60創(chuàng)建一個新的ClassLoader。在上述實施方案中授權實體55被示為應用程序提供商50的一部分。不一定非要這樣。授權實體55可以在物理上與應用程序提供商50分開并且代表應用程序提供商50完成授權功能。首選對應用程序(以及啟動器程序,如果有的話)進行模糊處理以使它們更難被反向操縱。這意味著對代碼進行處理以去除描述性的標簽或將其重新命名為描述性內容較少的標簽。因而,即使黑客成功地解密了應用程序,他們將會發(fā)現(xiàn)更難于修改應用程序的操作。使用更短、沒有描述性的標簽還有助于減少代碼量。本發(fā)明并不是只限于這里所說明的實施方案,在不偏離本發(fā)明的范圍的前提下還可對其進行修改或改動。權利要求1.數(shù)字廣播系統(tǒng)中在終端(60)接收加密應用程序的一種方法,該終端可以訪問能夠攜帶信令到外部方(55)的交互信道(85),該方法包括下列步驟接收與加密應用程序(320)有關的細節(jié);通過在交互信道(85)上發(fā)送授權請求(314)到授權實體,授權終端(60)訪問應用程序(320);隨著獲得授權,在交互信道(85)上接收密鑰(215);接收加密應用程序(320);用收到的密鑰(215)對該加密應用程序(320)解密。2.根據(jù)權利要求1的方法,其中接收與應用程序有關的細節(jié)的步驟包括接收用來授權該終端的啟動器程序(310)。3.根據(jù)權利要求1或2的方法,其中接收與應用程序有關的細節(jié)的步驟包括接收用來解密該應用程序(320)的啟動器程序(310)。4.根據(jù)權利要求2或3的方法,其中啟動器程序(310)是通過與加密應用程序(320)不同的傳送信道接收的。5.根據(jù)前面任一權利要求的方法,其中解密該應用程序的步驟是由應用程序加載器(316)完成的。6.根據(jù)權利要求5的方法,其中該應用程序加載器(316)是JavaClassLoader。7.根據(jù)前面任一權利要求的方法,其中接收到的細節(jié)包括下列一個或多個用來加密該應用程序的加密方法;該應用程序的費用;付款細節(jié)。8.根據(jù)前面任一權利要求的方法還包括從終端的用戶收集付款細節(jié)的步驟。9.根據(jù)前面任一權利要求的方法還包括從終端的用戶收取費用的步驟。10.根據(jù)前面任一權利要求的方法,其中終端有一個公共/私有密鑰對(210,220),并且聯(lián)系外部方(55)的步驟包括發(fā)送公共密鑰(210)到該外部方(55)。11.根據(jù)權利要求10的方法還包括從外部方接收已經(jīng)用公共密鑰(210)對其加密過的解密密鑰(216)。12.根據(jù)權利要求10或11的方法,其中該公共/私有密鑰對唯一標識該終端。13.根據(jù)權利要求10到12中任一權利要求的方法,其中該公共密鑰由終端制造商簽署。14.根據(jù)前面任一權利要求的方法,其中該數(shù)字廣播系統(tǒng)不使用條件訪問(CA)系統(tǒng)。15.根據(jù)前面任一權利要求的方法,其中該數(shù)字廣播系統(tǒng)是多媒體家用平臺(MHP)。16.用于被安排用來完成根據(jù)前面任一權利要求的方法的數(shù)字廣播系統(tǒng)中的終端的一種控制設備。17.用于以符合權利要求1到15中任意一個的方法的方式控制終端操作的軟件。18.并入了按照權利要求16的控制設備或按照權利要求17的軟件的一種終端。19.數(shù)字廣播系統(tǒng)中發(fā)送應用程序到終端(60)的一種方法,該終端可以訪問能夠攜帶信令到外部方(55)的交互信道(85),該方法包括下列步驟通過在交互信道(85)上發(fā)送授權請求(314)到授權實體(55)而發(fā)送與加密應用程序有關的細節(jié),包括被安排用來授權終端(60)訪問加密應用程序(320)的啟動器程序(320);隨著獲得授權,從交互信道(85)上接收密鑰(215);并用該密鑰(215)對應用程序解密;并,發(fā)送加密應用程序(320)。20.用于數(shù)字廣播系統(tǒng)中將應用程序發(fā)送到終端的軟件,該終端可以訪問能夠攜帶信令到外部方(55)的交互信道(85),該應用程序包括啟動器程序(310),該啟動器程序(310)包括的代碼在由該終端(60)中的處理器執(zhí)行時使處理器完成下列步驟通過在交互信道(85)上發(fā)送授權請求(314)到授權實體(55),和隨著獲得授權從交互信道(85)上接收密鑰(215)而授權終端(60)訪問加密應用程序(320);并,用接收到的密鑰(215)解密加密應用程序。21.在數(shù)字廣播系統(tǒng)中發(fā)送的信號,該系統(tǒng)包括了按照權利要求20的軟件。22.在沒有使用條件訪問(CA)系統(tǒng)的數(shù)字廣播系統(tǒng)中發(fā)送加密應用程序到終端的一種方法,該方法包括發(fā)送與加密應用程序有關的未加密細節(jié),該細節(jié)包括下列一個中的一個或多個用來加密應用程序的的方法;應用程序的費用;付款細節(jié);并發(fā)送加密應用程序。23.接收加密應用程序的方法、控制設備、軟件、終端,發(fā)送應用程序或信號的方法,實際上在這里都是參考附圖并按附圖中所示進行了說明。全文摘要一種數(shù)字廣播系統(tǒng),例如DVB-MHP,以加密形式發(fā)送應用程序到終端(60)。與應用程序有關的細節(jié),例如加密方法、費用和付款細節(jié)被發(fā)送到終端。終端用交互信道(85)從授權實體(55)獲得訪問應用程序(320)的授權。獲得授權的終端接收到可以用來解密加密應用程序(320)的密鑰。授權終端的功能可以位于終端(60)上或者形成由終端接收到的啟動器程序(310,圖5)的一部分。文檔編號H04N5/00GK1833224SQ200480022431公開日2006年9月13日申請日期2004年7月28日優(yōu)先權日2003年8月2日發(fā)明者J·G·福斯特,I·本耶斯申請人:皇家飛利浦電子股份有限公司