專利名稱:許可用戶按條件使用發(fā)行應用程序包的應用程序包和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及安全系統(tǒng),尤其涉及一種方法和系統(tǒng),它許可合法用戶使用通過程序包或傳送媒體發(fā)行的收費信息,同時計費和控制使用所發(fā)行的收費信息。
背景技術(shù):
為了使用信息供應商所提供的諸如音樂、電影、游戲等等收費信息(信息供應商提供各種收費信息的程序),用戶通常要采取兩個步驟。第一步(或獲取步驟),用戶通過購買其上記錄所需程序(脫機發(fā)行或獲取)的程序包媒體,諸如FD(軟盤)、光盤(例如CD-ROM(緊湊盤只讀存儲器))和DVD(數(shù)字萬用盤或數(shù)字影像盤)等等,或通過按規(guī)定手續(xù)從信息供應商的服務計算機上卸載所需程序(聯(lián)機發(fā)行或獲取)獲得信息供應商之一所提供的所需程序。聯(lián)機獲取時,用戶或者在獲取同時就播放該節(jié)目,或者第一步在獲取同時存儲該節(jié)目,以后在第二步(或應用步驟)再執(zhí)行該程序。在脫機獲取的情況下,用戶在第二步將所獲取的記錄媒體裝入合適的設(shè)備并直接播放(或執(zhí)行該程序,或?qū)⒃摮绦蛞淮未嫒朐O(shè)備的存儲器內(nèi),然后播放該程序。
日本特開平公報7-295674(1995)披露了應用于第二步或應用步驟適合CD-ROM的一種安全系統(tǒng)。在該系統(tǒng)中,用戶可以使用與收費中心的公共密鑰(中心公共密鑰)一起記錄在CD-ROM上的加密信息,其中,通過中心公共密鑰對該加密信息加密并將包含在信息內(nèi)的所需程序的編碼和用戶密鑰送到信息供應商,并通過經(jīng)用戶密鑰加密和信息供應商所發(fā)送的加密密鑰解密該信息。然而,用戶身份未經(jīng)證實時,也許可使非法用戶獲得他人CD-ROM來使用它。再者,中心公共密鑰與加密信息一起壓縮在CD-ROM上,使之難以改變中心公共密鑰。而且,將引起想要采用不同中心公共密鑰的不同供應商強迫CD-ROM制造商在模壓CD-ROM時采用不同的原模(或印模)。
日本特開平公報7-288519(1995)披露了應用于第一步和第二步兩個步驟的一種安全系統(tǒng)。然而,該系統(tǒng)僅僅適用于聯(lián)機發(fā)行收費信息的一種系統(tǒng)。
日本特開平公報8-54951(1996)披露了所用軟件量受到監(jiān)視的一種系統(tǒng),如果軟件量超出預定量則阻止用戶進一步使用軟件。由于必須用復雜的硬件來阻止軟件的應用,該系統(tǒng)僅適用于聯(lián)機發(fā)行系統(tǒng)業(yè)務。
還有一種系統(tǒng)允許用戶僅在試用階段使用由限定了試用周期的數(shù)據(jù)發(fā)行的軟件。對于該系統(tǒng),非法用戶通過再次安裝該軟件或?qū)⒂脩粝到y(tǒng)時鐘設(shè)置為過去時間而可以再度使用該軟件。
發(fā)明內(nèi)容
針對這些和其它的問題,本發(fā)明的目的在于提供一種系統(tǒng),它僅僅許可合法的用戶(聯(lián)機或脫機地從信息供應商合法獲取收費信息的用戶)無任何限制地使用該收費信息,根據(jù)收費信息的類型每次在其使用后計費,或在容許的使用限量(例如所用量,自其購買日或當天開始用去的天數(shù))后計費。
根據(jù)本發(fā)明的一個方面,提供一種通過公共通信網(wǎng)絡將具有高度安全性的數(shù)據(jù)從第一設(shè)備送到第二設(shè)備的方法,包括如下步驟在所述第二設(shè)備中,產(chǎn)生一個偽隨機數(shù);將所述偽隨機數(shù)傳送到所述第一設(shè)備;在所述第一設(shè)備中,將具有所述傳送的偽隨機數(shù)的數(shù)據(jù)加密成加密數(shù)據(jù);用所述第二設(shè)備的公共密鑰將由所述偽隨機數(shù)和加密數(shù)據(jù)組成的串接數(shù)據(jù)加密成雙重加密數(shù)據(jù);將所述雙重加密數(shù)據(jù)送到所述第二設(shè)備;在所述第二設(shè)備中,用對應于所述公共密鑰的所述第二設(shè)備的密鑰,將所述雙重加密數(shù)據(jù)解密成由解密隨機數(shù)部分和另一解密部分組成的解密數(shù)據(jù);以及用所述傳送的隨機數(shù)解密所述另一解密部分以獲得所述數(shù)據(jù)。
根據(jù)本發(fā)明的另一方面,提供一種通過公共通信網(wǎng)絡將具有高度安全性的多個數(shù)據(jù)段從第一設(shè)備送到第二設(shè)備的方法,包括如下步驟在所述第二設(shè)備中,產(chǎn)生偽隨機數(shù);將所述偽隨機數(shù)傳送到所述第一設(shè)備;在所述第一設(shè)備中,用所述傳送的偽隨機數(shù)將每個所述數(shù)據(jù)段加密成加密的數(shù)據(jù)段;用所述第二設(shè)備的公共密鑰將包括所述偽隨機數(shù)和所述加密的數(shù)據(jù)段的串接數(shù)據(jù)加密成雙重加密數(shù)據(jù);將所述雙重加密數(shù)據(jù)傳送到所述第二設(shè)備;在所述第二設(shè)備中,用對應于所述公共密鑰的所述第二設(shè)備的密鑰,將所述雙重加密數(shù)據(jù)解密為包括解密的隨機數(shù)部分和多個解密的數(shù)據(jù)部分的解密數(shù)據(jù);以及用所述傳送的隨機數(shù)解密每個所述解密的部分以獲得所述數(shù)據(jù)段。
根據(jù)上述方法,進一步包括在解密所述雙重加密數(shù)據(jù)的步驟后執(zhí)行如下步驟僅當所述解密的隨機數(shù)部分與所述傳送的偽隨機數(shù)相一致時進入下一步驟;以及當所述解密的隨機數(shù)部分與所述傳送的偽隨機數(shù)不一致時,所述第二設(shè)備通知所述第一設(shè)備解密失敗。
根據(jù)本發(fā)明的另一方面,提供一種通過公共通信網(wǎng)絡將具有高度安全性的數(shù)據(jù)從第一設(shè)備傳送到第二設(shè)備的系統(tǒng),包括置于所述第二設(shè)備內(nèi)用以產(chǎn)生偽隨機數(shù)的裝置;置于所述第二設(shè)備內(nèi)將所述偽隨機數(shù)傳送到所述第一設(shè)備的裝置;置于所述第一設(shè)備內(nèi)用所述傳送的偽隨機數(shù)將所述數(shù)據(jù)加密成加密數(shù)據(jù)的裝置;置于所述第一設(shè)備內(nèi),用所述第二設(shè)備的公共密鑰將包括所述偽隨機數(shù)和加密數(shù)據(jù)的串接數(shù)據(jù)加密成雙重加密數(shù)據(jù)的裝置;
置于所述第一設(shè)備內(nèi),將所述雙重加密數(shù)據(jù)傳送到所述第二設(shè)備的裝置;置于所述第二設(shè)備內(nèi),將具有與所述公共密鑰對應的所述第二設(shè)備之密鑰的所述雙重加密數(shù)據(jù)解密為包括解密的隨機數(shù)部分和另一解密部分的解密數(shù)據(jù)的裝置;置于所述第二設(shè)備內(nèi),用所述傳送的隨機數(shù)解密所述另一解密部分以獲得所述數(shù)據(jù)的裝置。
根據(jù)本發(fā)明的另一方面,提供一種通過公共通信網(wǎng)絡將具有高度安全性的多個數(shù)據(jù)段從第一設(shè)備傳送到第二設(shè)備的系統(tǒng),包括置于所述第二設(shè)備內(nèi)用以產(chǎn)生偽隨機數(shù)的裝置;置于所述第二設(shè)備內(nèi)將所述偽隨機數(shù)傳送到所述第一設(shè)備的裝置;置于所述第一設(shè)備內(nèi)用所述傳送的偽隨機數(shù)將每個所述數(shù)據(jù)段加密成加密數(shù)據(jù)段的裝置;置于所述第一設(shè)備內(nèi),用所述第二設(shè)備的公共密鑰將包括所述偽隨機數(shù)和加密數(shù)據(jù)段的串接數(shù)據(jù)加密成雙重加密數(shù)據(jù)的裝置;置于所述第一設(shè)備內(nèi),將所述雙重加密數(shù)據(jù)傳送到所述第二設(shè)備的裝置;置于所述第二設(shè)備內(nèi),將具有與所述公共密鑰對應的所述第二設(shè)備之密鑰的所述雙重加密數(shù)據(jù)解密為包括解密的隨機數(shù)部分和多個解密的數(shù)據(jù)部分的裝置;以及置于所述第二設(shè)備內(nèi),用所述傳送的隨機數(shù)解密每個所述解密部分以獲得所述數(shù)據(jù)段的裝置。
根據(jù)上述系統(tǒng),其進一步包括置于所述第二設(shè)備內(nèi),在解密每個所述解密部分之前激活,并當判斷所述解密的隨機數(shù)部分與所述傳送的偽隨機數(shù)不一致時,通知所述第一設(shè)備解密失敗,控制不進入下一裝置的裝置。
根據(jù)本發(fā)明的原理,假定收費信息或應用程序包是經(jīng)程序包(或記錄)媒體或經(jīng)傳送媒體連同至少如媒體標題和媒體編碼一類的控制信息被發(fā)行。然而,主要將結(jié)合記錄在DVD和通過其發(fā)行的收費信息描述說明性的實施例。
對于任何類型的收費信息,當用戶獲取時,收費信息已經(jīng)用密鑰加了密并錄在DVD上。如果待播放的分發(fā)的收費信息是無限制可播放類型,則按以下方式實現(xiàn)收費信息處理首先按用戶公共密鑰-加密形式從DVD獲得密鑰,該密鑰在DVD出售時已記錄在DVD上;用存儲在IC卡內(nèi)的用戶密鑰將用戶公共密鑰-加密鑰解密為解密鑰;用解密鑰解密已加密的收費信息并使用(即播放或執(zhí)行)。該用戶公共密鑰加密鑰可以從用作客戶機的服務器(設(shè)備)上聯(lián)機獲取。
如果待播放的發(fā)行收費信息為按使用而定的收費類型,則用戶在每次使用信息時付費。如此,在運行收費信息之前,客戶機雙重加密并將用戶的信用卡號碼送到信息供應商的計費服務器之一;服務器將與信息有關(guān)的一個使用量(例如播放時間或期間)累加到卷數(shù)據(jù)表中總量(軟件計量器)字段的數(shù)值中,并將更新的總量值送給客戶機;客戶機顯示更新的總量。然后,客戶機啟動收費信息運行。
如果發(fā)行的待播放的收費信息為附加限制型,即信息的使用受到與信息消費有關(guān)的某一限制系數(shù)的限制,則僅當使用限制系數(shù)為預定限制范圍內(nèi)時才許可客戶機使用收費信息。在此類收費信息情況下,在運行收費信息之前客戶機將錄在DVD上的用戶指定應用的標識符(ID)碼送到服務器;在收到該ID碼后,服務器測試與用戶指定應用有關(guān)的使用限制系數(shù)是否在預定的限制范圍內(nèi);如否,服務器將測試結(jié)果通知客戶機,客戶機顯示該測試結(jié)果;如果該測試成功,服務器更新用戶限制系數(shù)計量器(或累加值),并將該更新值送給客戶機;根據(jù)該收到的更新值,客戶機顯示該更新值。然后,客戶機啟動收費信息操作。
從以下結(jié)合附圖所示對本發(fā)明較佳實施例的描述,本發(fā)明進一步的目的和優(yōu)點將變得更為清楚。附圖中圖1是一個方框圖,表示根據(jù)本發(fā)明第一個實施例的系統(tǒng)配置,它許可用戶在采用更高安全性的程序包的終端上使用發(fā)行的應用程序包;圖2是一個示意圖,表示記錄在本發(fā)明系統(tǒng)所用DVD上的應用(或收費信息)程序包的典型結(jié)構(gòu);圖3和圖4是一個示意圖,它分別詳細地表示卷描述符22和發(fā)行描述符23;圖5是根據(jù)本發(fā)明原理的卷控制程序的流程圖,該程序用以播放錄在DVD上的應用程序;圖6A是一個示意圖,它表示存儲在圖1所示服務器內(nèi)卷數(shù)據(jù)表的典型結(jié)構(gòu);圖6B是一個示意圖,它表示存儲在服務器8內(nèi)的應用數(shù)據(jù)表的典型結(jié)構(gòu);圖7是一個示意圖,它表示存儲在客戶機2的EEPROM 103內(nèi)的服務器表75的結(jié)構(gòu);圖8A和8B分別是在程序650、700和800開頭由客戶機2和服務器8交互執(zhí)行的起始子程序的流程圖;圖9是一個流程圖,它表示圖5中步驟650所示免費播放過程的步驟,其中用兩根流程線連接相鄰的方框,表示每個方框由客戶機和有關(guān)的服務器交互執(zhí)行;圖10A和10B是兩個流程圖,用來聯(lián)合表示交互執(zhí)行的所期望的播放時間通知程序的形成步驟;圖11A和11B是兩個流程圖,共同表示由交互執(zhí)行的、典型的計時播放和計量使用報告子程序所形成的程序,用以播放應用程序同時對持續(xù)時間計時并在播放之后顯示所計時的播放持續(xù)時間;圖12A和12B是兩個流程圖,共同表示由交互執(zhí)行的典型的計時應用程序播放子程序所形成的一個程序,用以播放應用程序同時對持續(xù)時間計時;圖13A和13B是兩個流程圖,共同表示由交互執(zhí)行的另一種計時應用程序播放子程序所形成的程序,其中用客戶機內(nèi)的計時器實現(xiàn)播放時間的計時;圖14是一個流程圖,它表示由控制器100執(zhí)行的、分別在圖12A和13A的步驟612和622中所調(diào)用的一個典型的應用程序播放子程序;圖15是一個流程圖,它表示圖5中步驟700所示付費播放過程700的一個程序;圖16A和16B是兩個流程圖,共同表示由交互執(zhí)行的典型的預期收費信息子程序;圖17A和17B是兩個流程圖,共同表示由交互執(zhí)行的圖15的方塊650中的子程序所形成的一個程序;圖18A和18B是兩個流程圖,共同表示由交互執(zhí)行的典型的計時播放和計量費用報告子程序所形成的一個程序,用以播放應用程序同時對持續(xù)時間計時,并在播放以后顯示費用和費用總量;圖19是一個流程圖,它表示圖5的操作方塊800中由客戶機2和服務器8交互執(zhí)行的一個程序,其中,用兩根流程線連接的方塊表示該方塊的操作由兩個部分2和8所完成;圖20A和20B是分別存儲在服務器內(nèi)的密鑰-加密的密鑰表以及用戶的公共密鑰表;圖20C是一個流程圖,它表示從服務器8獲得應用程序加密鑰KV的一個過程;圖21是根據(jù)本發(fā)明的IC卡IF中內(nèi)部的一個典型的解密器的方框圖;圖22是一個流程圖,它表示用圖20G所示的密碼系統(tǒng)替代系統(tǒng)1圖21的KV譯碼器126所用的KV譯碼器;圖23是一個示意圖,用以說明使用條件(TOU)碼和相應限值的含義;圖24是一個方框圖,它表示一種系統(tǒng)配置。根據(jù)本發(fā)明的第二個實施例,該系統(tǒng)在程序包的使用條件上播放發(fā)行的應用程序包,無需與任何服務器連通;圖25是一個流程圖,它示意性地表示圖24所示由控制器100a執(zhí)行的一個典型的控制程序;圖26和27是兩個流程圖,它們分別詳細和更詳細地表示圖25步驟650所示免費播放模式的操作;圖28是一個流程圖,它表示圖25步驟800a所示有限播放模式的操作。
具體實施例方式
為了更好地理解以下的說明,定義某些將要采用的術(shù)語是很有用的。
由信息供應商所供應的收費信息可以脫機發(fā)行(在脫機發(fā)行中)或聯(lián)機發(fā)行(在聯(lián)機發(fā)行中)。在脫機發(fā)行中,收費信息錄在程序包媒體或記錄媒體上,并通過供應商銷售網(wǎng)發(fā)行即經(jīng)銷售網(wǎng)內(nèi)商店出售。程序包媒體包括各類便攜式記錄媒體,諸如各類磁盤、各類光盤(例如CD、CD-ROM、DVD)以及磁帶和卡盤。在聯(lián)機發(fā)行中,收費信息通過傳輸媒體從位于供應商服務點的服務器以及與供應商聯(lián)營的批發(fā)商送到客戶機設(shè)備(例如需要收費信息的用戶的PC(個人計算機))并錄在客戶機設(shè)備的記錄媒體上。傳輸媒體包括允許在服務器與客戶機設(shè)備之間進行通信的任何通信信道。程序包媒體和傳輸媒體以下都稱為“發(fā)行媒體”。
收費信息可以是任何類型的軟件,諸如音樂、電影、游戲等等,以下統(tǒng)稱為“應用程序”,不再分述。收費信息的發(fā)行單元稱為“收費信息程序包”或“應用程序包”。在一個應用程序包內(nèi)可以包含一或多個應用程序。
本發(fā)明涉及一種系統(tǒng),它許可用戶具有高度安全性地按照程序包使用條件使用發(fā)行的應用程序包。
實施例1
為了簡要說明,首先描述的實施例中將程序包媒體用作發(fā)行媒體。
圖1是表示根據(jù)本發(fā)明第一實施例的一個系統(tǒng)配置的方框圖,該系統(tǒng)許可用戶具有高度安全性地按照DVD的使用條件利用錄在DVD上的應用程序,系統(tǒng)1包括客戶機或DVD播放機2用來播放DVD 3,通信網(wǎng)絡4以及位于供應商收費中心6的服務器8,該供應商供應DVD 3的應用程序包。
圖2是一個示意圖,它表示用于本發(fā)明系統(tǒng)1的錄在DVD 3上一個應用(或收費信息)程序包20的典型結(jié)構(gòu)。圖2中,應用程序包20至少包括一個應用程序21,卷(或程序包)描述符22包括與應用程序包20有關(guān)的數(shù)據(jù),發(fā)行描述符23包括主要在制作DVD 3后例如發(fā)行或銷售時所確定的數(shù)據(jù)。(卷描述符22和發(fā)行描述符23構(gòu)成了卷20的卷控制數(shù)據(jù))。本實施例假定與服務器8協(xié)作對應用程序包20的使用進行控制的卷(或程序包)控制程序包括在應用程序20中并隨它而被發(fā)行。這樣,應用程序包20進一步包括適合于程序包20使用條件的包控制程序24。應用程序21、卷描述符22和包(或卷)控制程序24在制作DVD 3時錄在DVD 3的數(shù)據(jù)區(qū)內(nèi),而發(fā)行描述符23則在例如銷售DVD 3的時候錄在突發(fā)刻紋區(qū)(burst cutting area)上。
圖3和圖4是示意圖,分別詳細表示卷描述符22和發(fā)行描述符23的典型數(shù)據(jù)結(jié)構(gòu)。圖3中,卷描述符22至少包含卷標識符(VIDV)25(應用程序包20的標題可能適用于它,如果程序包或卷20僅僅包含一個應用程序,則它與應用程序的標識符相同);供應商標識符26;卷生成日期和時間27(可以作為確定卷終止日期和時間的的基點,后面將作描述);以及卷有效日期和時間28(在此之前卷20可供使用)。如果卷20含有多于一個的應用程序,則卷描述符22進一步包含應用程序標識符(AIDa’s)29。
圖4中,發(fā)行描述符23包括這些字段卷發(fā)行號(NOV-i)30,它含有一個系列號,該系列號按發(fā)行次序提供給具有相同卷標識符(卷ID或標題)的每個發(fā)行應用程序包;服務器公共密鑰(PKs)31(其數(shù)據(jù)由位于供應商收費中心的服務器6提供);PKu(用戶公共密鑰)加密的應用程序加密鑰(KV)32;以及銷售日期和時間33。密鑰Pks31字段包含一個密鑰,它用于加密程序包20內(nèi)的每個應用程序21,并已由合法獲得該程序包20的用戶的一用戶公共密鑰(PKu)加密。在發(fā)行該程序包20,即本實施例在銷售DVD 3時,將適當?shù)臄?shù)據(jù)錄在所有的字段30至34內(nèi)。
發(fā)行描述符23進一步包括使用條件碼(模式碼)加上卷限值(卷限值字段)的字段34,對于每個應用程序ID 29則有使用條件碼加上應用程序ID 29(應用程序限值字段)限值的字段35。如果使用條件僅僅對卷20設(shè)置,無需字段35。如果使用條件對每個應用程序設(shè)置,則字段為空。
圖23是一個示意圖,它表示使用條件(TOU)碼的含義以及相應的限值。圖23中,使用條件碼例如可以為一個字節(jié)長。TOU碼的高位數(shù)字(X)表示使用條件所適用的對象,如表36所示。即高位數(shù)字0,1,2,…表示用這些數(shù)字開頭的TOU碼適用于整個卷、應用程序1、應用程序2等等。上述使用條件碼的低位數(shù)字(Y)表示設(shè)置了編碼且直接后跟相應限值的程序包20或應用程序21的使用條件,如圖23的表37所示。尤其是,例如00H的使用條件碼(或TOU碼)意指在發(fā)行后可免費使用卷20。例如,數(shù)值“31H”意指通過為每個播放期間單元付費就可以使用設(shè)置了TOU碼的應用程序3。低位數(shù)字2H或2H以上意味著在達到相應限值之前可以無償使用設(shè)置了TOU碼的卷20或應用程序,而進一步使用則無效。從表中可見,取決于其低位數(shù)為2H至5H的TOU碼的限用因素分別為當前日期和時間、終止日期和時間、所用時期量以及訪問計數(shù)。
由于發(fā)行描述符23可以如上設(shè)置,相對于常規(guī)的系統(tǒng)可以為供應商和用戶提供更多的適應性。
再如圖1,DVD播放機2包括控制整個DVD播放機2的控制器100;與未圖示的CPU(中央處理單元)連接的數(shù)據(jù)總線102;包括在控制器100內(nèi)未圖示的ROM(只讀存儲器)、RAM(隨機存取存儲器)101和EEPROM(電可擦可編程只讀存儲器)103;包括如鍵盤、聲輸入裝置、鼠標器、遙控器等等之類輸入裝置的人機接口(IF)110;連接總線102與IC卡5內(nèi)的ROM(未圖示)的IC卡接口(IF)120;用以讀出DVD 3上記錄的數(shù)據(jù)并用以解調(diào)和糾錯讀出數(shù)據(jù)的DVD驅(qū)動器130;用以接收MPEG 2位流并輸出視頻和音頻輸出信號的視頻和音頻輸出IF 140;顯示器146;揚聲器148以及通過公共通信網(wǎng)4進行通信的通信接口150。IC卡5存儲了用戶口令PWu和用戶密鑰SKu,它相應于結(jié)合PKU加密的AP密鑰(Kv)所述的用戶公共密鑰PKU,它包含錄在DVD 3的突發(fā)刻紋區(qū)域內(nèi)的發(fā)行描述符23的字段32。視頻和音頻輸出IF 140包括MPEG 2視頻解碼器142和MPEG 2音頻解碼器144。
至于獲得DVD 3可以有一些方法。如果某人打算在例如某些書店或通過郵訂購買DVD 3,他或她必須通過告知其錄在IC卡5上相應于其密鑰SKU的公共密鑰PKU,得到錄在所需DVD 3的突發(fā)刻紋區(qū)域內(nèi)PKU加密版本的應用密鑰(KV)。如果某人是DVD發(fā)行服務成員,他或她無需每次告知PKU即可獲得記錄PKU加密的AP密鑰,因為他或她在聯(lián)系服務時就必須告知該PKU。
操作時,用戶首先將所需的DVD 3置于DVD播放機2的DVD驅(qū)動器130,并通過合適的人機接口(IF)110向DVD播放機2發(fā)出開始指令。在收到該開始指令后,控制器100通過DVD驅(qū)動器130從DVD 3的數(shù)據(jù)區(qū)讀出卷控制程序24,同時將該讀出程序24載入控制器100的RAM101,然后執(zhí)行卷控制程序24。
圖5是根據(jù)本發(fā)明原理用以播放DVD 3上記錄的應用程序21的一個卷控制程序24的流程圖。圖5中,步驟500,控制器100首先檢驗AIDI字段,觀察卷20是否包含了單一應用程序。如否,步驟502,控制器100顯示字段29內(nèi)的應用程序ID,并提示用戶選擇合適的一個應用程序,步驟504,等待用戶選擇。如果步驟504中選擇了任一應用程序,步驟506,控制器100記錄了作為待播放的應用程序的應用程序ID,過程進入步驟508檢驗所選應用程序的使用條件(TOU)碼的字段35加上附加限值,以觀察該字段是否為空。如否,控制器100進入步驟510,讀取卷限值字段34。
另一方面,如果步驟500的測試結(jié)果為“是”,則控制器100記錄作為在步驟512待播放應用程序的卷ID,并在步驟510讀得卷限值34。
如步驟510完成,或步驟508的測試結(jié)果為NO,控制器100則檢驗使用條件(TOU)碼,步驟514觀察TOU碼的低位數(shù)字是否為0。如是,步驟650,由控制器100免費播放一應用程序,否則,步驟516進行另一檢驗,觀察TOU碼的低位數(shù)字是否為1,如是,控制器100在步驟700按使用付費方式播放應用程序,否則(如果TOU碼的低位數(shù)字為2或2以上),步驟800,僅當具有使用限量因子的軟件計量器低于預定值時才能播放應用程序。在完成任一步驟或經(jīng)歷步驟650至800后,控制器100結(jié)束程序24。這樣,DVD播放機2就根據(jù)已經(jīng)置于應用程序包或特定應用程序的TOU碼所確定的使用條件,播放由用戶指定的程序。
過程650、700和800是與有關(guān)的服務器8交互執(zhí)行的。為了執(zhí)行這些過程,服務器8需要各種數(shù)據(jù)并按表格形式存儲這種數(shù)據(jù)。
圖6A是一個示意圖,它表示存儲在服務器8內(nèi)的一種卷數(shù)據(jù)表的典型結(jié)構(gòu)。圖6A中,卷數(shù)據(jù)表60的每條記錄包括卷ID(VIDv)和發(fā)行號(NOv-i)字段。VIDv和NOv-i用作應用程序包20或DVD 3用戶的用戶ID。為此,對于DVD發(fā)行服務或類似服務的會員或訂戶而言,表60具有個人數(shù)據(jù)字段,它例如包括會員ID、姓名和地址等等。每條記錄進一步包括卷分鐘計量器字段(VM-METERv-I),它包含按分鐘計的播放時間軟件計量器,附加到卷20上(或與其有關(guān));含有軟件收費計量器的卷收費計量器(VC-METERv-i),它附加到卷20;限值(LVv-i),它包含了與TOU碼有關(guān)的限值(例如有效日期和時間、許可的終止日期和時間、許可的訪問等等);限值計量器(LV-METERv-i);含有應用程序名稱的應用程序ID(AIDv-i-a)字段,含有按分鐘計的播放時期軟件計量器(附加到AIDv-i-a應用程序)的應用程序分鐘計量器(AM-METERv-i-a)字段;用于按分鐘計量的播放時期軟件計量器(它附加到AIDv-i-a應用程序)的應用程序收費計量器(AC-METERv-i-a)字段;包含與TOU碼有關(guān)限值的限值(LVv-i-a);以及限值計量器(LV-METERv-i)。
圖6B是一個示意圖,它表示存儲在服務器8內(nèi)的一張應用程序數(shù)據(jù)表的典型結(jié)構(gòu)。圖6B中,應用程序數(shù)據(jù)表70包括這樣一些字段,例如應用程序碼(ACODEn)、應用程序名稱(AIDn)、持續(xù)期(D)、每次訪問的費用(RATE/ACCESS)、訪問計數(shù)、分鐘計量器等等。這里的持續(xù)期是為了播放應用程序所花費的時間周期。每次訪問費用是對播放整個應用程序的一次計費,它用以在播放前通知用戶預計的播放時期。每次播放費用是一次播放的費用,它用以計算實際播放時期的計費。該訪問計數(shù)和分鐘計量器字段包含訪問應用程序的次數(shù)以及播放時間總量,對于本發(fā)明而言這些不是必需的,但在例如品質(zhì)分析時將用于統(tǒng)計計算。
圖7是一個示意圖,它表示存儲在客戶機2的EEPROM 103內(nèi)的一個服務器表75的結(jié)構(gòu)。圖7中,表75的字段包括服務器公共密鑰(PKs)、服務器ID(SIDs)、服務器網(wǎng)絡地址(SADDs)等等,該表75連同發(fā)行描述符23中包含的服務器公共密鑰(PKs)一起使用,發(fā)行描述符與ID和網(wǎng)絡地址的DVD一起記錄在突發(fā)刻紋區(qū)域內(nèi)。
免費播放應用程序過程650、700和800的開始子程序是相同的。
圖8A和8B是開始子程序80a和80b的流程圖,它們分別是在過程650、700和800的開頭由客戶機2和服務器8交互執(zhí)行的。圖8中,步驟82,客戶機或DVD 2的控制器100將具有客戶機或DVD 2網(wǎng)絡地址CADDC的服務請求、附加限值的TOU碼、卷ID(VIDV)、發(fā)行號(NOv-i)、應用程序ID(AIDv-i-a)以及其他數(shù)據(jù)送到其ID為SIDs(通過使用錄在DVD 3上的公共密鑰從圖7的表75獲得SIDs)的有關(guān)服務器8,并在步驟92等待服務器(SIDs)8的回答。如果從服務器(SIDs)收到回答,客戶機2經(jīng)由內(nèi)含“A”的圓圈進入下一步驟。
另一方面,圖8B中,服務器(SIDs)8接收來自客戶機2的消息即服務請求和伴隨的數(shù)據(jù),并按預定位置存儲數(shù)據(jù)以便隨后在步驟84使用。然后,步驟86,服務器8分別在表60內(nèi)搜索卷ID內(nèi)含有VIDv和NOv-i的記錄及其發(fā)行號字段。如果搜索未成功,步驟88,服務器8增加對VIDv和NOv-i的記錄,并將與AIDv-i-a有關(guān)的字段和限值填入表60內(nèi),并進入步驟90。如果步驟86的搜索成功,服務器8進入步驟90,其中,服務器8根據(jù)TOU碼的數(shù)值選擇一個子程序執(zhí)行下一步,并通過其中標有“B”的圓圈進入所選擇的子程序。在此情況下,如果TOU碼=xOH(x一個任意的HEX(16進制)數(shù),末位字母H表示前述的數(shù)字是16進制的),則選擇免費播放應用程序的子程序。如果TOU碼=x1H,則選擇按使用付費播放應用程序的子程序。如果TOU碼x2H,則選擇僅當具有使用限制因素的軟件計量器在一個預定值以下時播放應用程序的子程序。
圖9是一個流程圖,它表示圖5中步驟650所示一個免費播放過程的程序,其中,由兩根流程線相鄰連接的方塊表示每個方塊由CADDC的客戶機和有關(guān)的服務器SIDs交互執(zhí)行,后面將詳細描述。如果圖5步驟514中,TOU碼為0,則如圖9所示客戶機(CADDC)進入免費播放過程650,方塊660,客戶機和服務器(SIDs)執(zhí)行最初的子程序80。方塊670,執(zhí)行一個預期播放時間信息子程序,即在播放一個應用程序之前顯示一個預期播放時間。方塊680中,執(zhí)行一個應用程序,播放和計量播放時間報告子程序。由于圖8詳細描述了子程序80,故以下將詳細描述預期的播放時間信息子程序和應用程序的播放和計量播放時間報告子程序。
圖10A和10B是兩個流程圖,共同表示分別由客戶機2和有關(guān)服務器8交互執(zhí)行的典型的預期播放時間信息子程序97a和97b所形成的一個程序。圖10B中,步驟91,服務器8按公知的方式從表70中檢索AIDv-i-a應用程序的持續(xù)時間(Dn)。下一步驟92,服務器8根據(jù)TOU碼的數(shù)值計算預期的播放時間總量。特別是,如果TOU碼為0xH,則客戶機增加通過表60內(nèi)的VIDV和NOV-i鑒定的記錄中VM-METERV-i字段的值和持續(xù)時間(Dn)。如果TOU碼為axH(a卷中特定應用程序的應用程序號),則客戶機增加通過表60內(nèi)的VIDV、NOV-i和AIDv-i-a鑒定的記錄中AM-METERV-i-a字段的值和持續(xù)時間(Dn)。然后,步驟93,服務器8將結(jié)果送到其網(wǎng)絡地址為CADDC的客戶機那里,并結(jié)束該流程。
另一方面,圖10A中,步驟94,客戶機2收到進入的消息或更新的計量器數(shù)值。下一步95,顯示作為使用總量的數(shù)值。然后,客戶機2結(jié)束該流程。
更新相關(guān)的計量器時,在圖10所述的子程序(預定值計量系統(tǒng))中已經(jīng)采用了一個預定的持續(xù)時間量。此種設(shè)置主要適用于諸如按恒定時間播放這樣的應用,除非用戶中止播放是不會產(chǎn)生問題的。從這一觀點來看,最好在計量(計時值計量系統(tǒng))時實際測量播放時間。然而,也應注意,在實際播放之前,預定值計量系統(tǒng)可用于通知用戶預期的播放時間。
圖11A和11B是兩個流程圖,它們聯(lián)合表示分別由客戶機和服務器交互執(zhí)行的、典型的計時播放和計量使用報告子程序675a和675b所形成的程序,用于播放應用程序同時對持續(xù)時間計時,并在播放以后顯示計時播放持續(xù)時間。子程序675中,步驟200,客戶機和服務器調(diào)用計時應用程序播放子程序,播放應用程序同時計時持續(xù)時間(播放時間)。
然后,服務器8進入步驟210,客戶機用與圖10B步驟92中相同的方式,根據(jù)TOU碼更新有關(guān)的計量。尤其是,如果TOU碼為0xH,則將播放時間加入通過表60內(nèi)的VIDV和NOV-i鑒定的記錄中VM-METERV-i字段的設(shè)置中。如果TOU碼為axH(a卷中特定應用程序的應用程序號),則將播放時間加入通過表60內(nèi)的VIDV、NOV-i和AIDv-i-a鑒定的記錄中AM-METERV-i-a字段的數(shù)值。然后,步驟212,服務器8將更新計量器(即播放時間總量)的數(shù)值和播放時間送到其網(wǎng)絡地址為CADDC的客戶機,并結(jié)束該流程。
另一方面,步驟200后,在步驟214,客戶機2進行測試以觀察是否從SIDsD服務器得到回答。該步驟重復進行,直至步驟216,客戶機2從服務器8收到應答,此時客戶機2收到新的消息或更新計量器的數(shù)值。
下一步驟218,客戶機2顯示播放時間和播放時間總量,然后結(jié)束子程序675。
圖12A和12B是兩個流程圖,它們聯(lián)合表示分別由客戶機2和服務器8執(zhí)行的、典型的計時應用程序播放子程序205a和205b所形成的程序,用于播放應用程序同時對持續(xù)時間計時。SIDs的服務器8等待步驟611的通知,以觀察客戶機是否已啟動播放應用程序。另一方面,步驟610,CADDC的客戶機2通知服務器已開始播放,并在步驟612立即調(diào)用應用程序播放子程序。由此使服務器8在步驟613中啟動計時器,并在步驟615等待來自客戶機2的停止播放通知。在完成步驟612后,步驟614,客戶機通知服務器8已停止播放。步驟617,響應于該通知,服務器8停止并讀出該計時作為播放時間。步驟614和617后,客戶機和服務器返回。
盡管上述配置在服務器一側(cè)采用計時器,但也可以在客戶機一側(cè)采用計時器。
圖13A和13B是兩個流程圖,它們共同表示分別由客戶機2和服務器8交互執(zhí)行的、另一種計時應用程序播放子程序205ac和205bc所形成的一種程序,其中,對播放時間的計時是用客戶機內(nèi)的計時器實現(xiàn)的。在另一個子程序205a中,步驟620,客戶機2啟動計時器,步驟622,調(diào)用一個應用程序播放子程序,步驟624,停止計時器,步驟626將播放時間送到服務器8,然后返回。另一方面,服務器8在啟動子程序295b后在步驟621等待來自CADDC客戶機的訪問,然后,步驟623,服務器8接收播放時間并返回。
然而,圖13的配置有容許惡意用戶偽造客戶機2的計時器的可能性。從該觀點來看,圖12所示的配置相對圖13的配置為更佳。
圖14是一個流程圖,它是由控制器100執(zhí)行的、分別在圖12A和13A的步驟612和622調(diào)用的、典型的應用程序播放子程序。
在描述該流程圖前,我們首先定義與加密和解密有關(guān)的表示。如果根據(jù)加密算法用密鑰EX加密X產(chǎn)生Y,則表示為e(EK,X)=Y(jié)。
同樣,如果根據(jù)解密算法用密鑰DK解密Y產(chǎn)生Z,則表示為d(DK,Y)=Z。
假設(shè)算法e和d以及密鑰EK和DK相互對應,即d(DK,Y)=X,由此得出d(DK,e(EK,X)=X。
現(xiàn)在回到圖14,步驟602,控制器100從DVD的發(fā)行描述符23的字段32讀出PKU加密的應用程序-加密(AP加密)密鑰(Kv)或e1(PKU,Kv)。這里,v=1,2,…V,其中,V是應用程序包的種類數(shù)。它表示不同的應用程序-加密密鑰K1至Kv分配至各種應用程序,即卷VID1至VIDV。
下一步604,從IC卡5讀出用戶密鑰SKu。再下一步606,用用戶密鑰SKu加密PKU加密的AP加密鑰e1(PKu,Kv),以獲得應用程序加密鑰Kv。然后,下一步608,用所獲得的AP加密鑰KV加密錄在DVD 3上的KV加密應用程序(AP),即e(KV,AP),同時,將所獲得的應用程序數(shù)據(jù)送到視頻和音頻輸出IF140。所獲得的應用程序數(shù)據(jù)具有一種MPEG 2位流形式。視頻和音頻輸出IF140通過MPEG 2視頻和音頻譯碼,將應用程序數(shù)據(jù)的MPEG 2位流轉(zhuǎn)換為視頻和音頻輸出信號。該視頻和音頻輸出信號分別加到顯示器146和揚聲器148。
按使用方式收費的系統(tǒng)中播放應用程序。
圖15是一個流程圖,它表示圖5中步驟700所示一個收費播放過程700的程序,其中,由兩條流程鏈接相鄰的方塊表示每個方塊由CADDC和有關(guān)的SIDs服務器交互執(zhí)行。圖15中,客戶機2經(jīng)由圖5的步驟516進入過程700并進入方塊630,客戶機2和有關(guān)的服務器8執(zhí)行開始子程序80。下一方塊640,客戶機2顯示從服務器8收到的預期費用和總費用量,并由用戶決定是否播放所需的應用程序。
圖16A和16B是兩個流程圖,它們共同分別表示由客戶機2和有關(guān)服務器8交互執(zhí)行的典型的預期費用信息子程序640a和640b。除了子程序640中,用RATEPER ACCESS和“費用”替代DURATION(Dn)或“播放時間”外,子程序640a和640b與子程序97非常相似;在步驟92a與93a之間加入了步驟641,由服務器在存儲器位置R’產(chǎn)生和存儲一個偽隨機數(shù)R;步驟93a,服務器發(fā)送該假的隨機數(shù),同樣,步驟94與95a之間加入一個步驟643,客戶機在存儲器位置R”存儲該收到的偽隨機數(shù)R,以供后用。通過訪問表70中的RATE PER ACCESS字段74而不是DURATION字段73,實現(xiàn)用RATE PER ACCESS替代DURATION(Dn)。此外,在子程序640中增加以下步驟在接著步驟96a后的步驟644中,客戶機2進行檢查以觀察用戶是否決定播放應用程序;如否,步驟645,客戶機2向SADDs的服務器發(fā)送一個退出消息,并結(jié)束該子程序640;另一方面,接著步驟93a的步驟642,SIDs的服務器8等待來自CADDC的客戶機2的請求;在收到來自客戶機的請求時,步驟646,服務器進行另一檢查,以觀察所收到的是否為退出消息;如是,客戶機結(jié)束該子程序640;如步驟644用戶決定播放應用程序,則意味著服務器所收到的不是退出消息,而是一個加密的信用卡號(以下將說明),于是客戶機2和服務器8進入圖15所示的步驟650。
下一方塊650,通過客戶機2保持該卡號的安全性(如圖17A和17B所示),服務器8獲得一個用戶信用卡號(CCNOU)。步驟647,客戶機2對已由用戶通過人機IF 110用密鑰輸入的用戶信用卡號(即已在圖16A的步驟643存儲在存儲器位置R”的偽隨機號)加密,獲得e2(R,CCNOu)。下一步648,客戶機2進一步用另一密鑰或從錄在DVD的突發(fā)刻紋區(qū)域內(nèi)的發(fā)行描述符23讀得的服務器公共密鑰對R+e2(R,CCNOU)進行加密,以獲得e1(PKs,R+e2(R,CCNOU))。
下一步649,客戶機2將加密的數(shù)據(jù)送到服務器8。經(jīng)圖16B的步驟646后,服務器進入步驟650,其中服務器8發(fā)現(xiàn)從客戶機CADDC收到的是加密數(shù)據(jù)。下一步651,服務器8從IC卡7讀出服務器密鑰SKs。下一步,服務器8用服務器密鑰SKs解密收到的加密數(shù)據(jù)如下d1(SKs,加密數(shù)據(jù))=d1(SKs,R+e2(R,CCNOU))=R+e2(R,CCNOU)。
步驟653,服務器8檢查觀察剛剛獲得的偽隨機數(shù)R與存儲在服務器的存儲器位置R’中的偽隨機數(shù)R是否一致。如是,服務器8將一個使能信號送到CADDC的客戶機,并在步驟655用偽隨機數(shù)R解密e2(R,CCNOU),以獲得用戶的信用卡號CCNOU。另一方面,步驟657,根據(jù)收到的使能信號,客戶機2退出該程序。步驟655后,服務器也退出該程序。如步驟653的結(jié)果為否,步驟656,服務器8將一個禁止信號送到客戶機,并結(jié)束該程序。然后,步驟657,客戶機響應于該禁止信號并在步驟658顯示該結(jié)果信息,然后結(jié)束該程序。
在方塊650的操作后,步驟663,客戶機2等待服務器有關(guān)發(fā)出信用卡號(CCNOU)的信用卡是否有效的報告,同時,步驟661,服務器8查閱與該信用卡號有關(guān)的信貸公司,以證實該信用卡是否有效。如否,步驟662,服務器8通知該客戶機2此信用卡失效并結(jié)束程序。如步驟661證實該信用卡為有效,步驟667,服務器8通知客戶機該信用卡有效。如步驟663,客戶機2收到服務器的報告,步驟664,客戶機進行又一檢查,以證實該報告是否表明該信用卡有效。如否,步驟665,客戶機顯示一消息以表明失效并結(jié)束程序。如步驟664,該報告表明為失效,則意味著步驟667完成,然后客戶機2和服務器8進入下一方塊670。
步驟670,客戶機2和服務器8執(zhí)行計時播放和計量收費報告子程序。圖18A和18B是兩個流程圖,它們共同表示為顯示應用程序而交互執(zhí)行的子程序675ac和675bc所形成的一個程序,同時在顯示后對持續(xù)時間計時,并顯示費用和費用總量。圖18中,除了用“費用”替代“時間”,并相應地用VC-METER和AC-METER替代VM-METER和AM-METER外,子程序675ac和675bc與圖11A和11B的子程序675a和675b相同。
客戶機2中,由圖15的方塊675或圖18A的步驟218執(zhí)行在使用收費系統(tǒng)上播放應用程序的操作。步驟212a后,步驟680,服務器8將播放費用記在圖17B步驟655所獲得的信用卡號碼CCNOU。這樣就完成了圖15所示的收費應用程序播放過程。
在此過程中,僅有收費信息提供給用戶。這樣,通過將步驟91至93和95補充到子程序640b和640a,并通過將步驟210和218補充到子程序675bc和675ac,可以很方便地提供關(guān)于時間和費用的信息。
如上所述,預期時間和/或計費在播放用戶指定的應用程序之前就顯示。這樣有助于用戶確定是否要播放該應用程序。此外,計費是根據(jù)實際計時的播放持續(xù)時間而作出的。從而使收費合理。
在以上描述中,安排成這樣,每次當用戶想要播放應用程序時,他或她必須輸入其信用卡號碼CCNOU。然而,信用卡號碼也可以按PWU加密形式存儲在非易失存儲器或EEPROM103內(nèi)。這樣,通過用用戶輸入的口令解密由PWU加密的CCNOU(例如e(PWU,CCNOU))而獲得CCNOU。即,d(輸入的口令,e(PWU,CCNOU))=CCNOU。
許可在預定限值內(nèi)播放圖19是一個流程圖,它表示在圖5所示的操作方塊800中由客戶機2和服務器8交互執(zhí)行的一個程序,其中用兩根流程線連接的方塊表示該方塊的操作由兩個部分2和8完成。如此,假如將一個預定限值錄在應用程序包上并在每次播放時從客戶機2送到服務器。經(jīng)圖5步驟516進入過程800時,客戶機2進入步驟801,由客戶機2和服務器8執(zhí)行開始子程序80。注意子程序80b中,如存在一條對VIDv和NOv-i的記錄,則圖6A表60中的限值(LVv-i)字段包含了由客戶機2發(fā)出的限值,否則,當步驟88附加對VIDv和NOv-i的記錄時,將收到的限值錄在LVv-i字段。
步驟810中,服務器檢驗與從客戶機2收到的TOU碼有關(guān)的計量器是否在限值以下。這種檢驗是通過比較與表60中的TOU碼有關(guān)的LV計量器字段和LV字段進行的。如果LV計量器的數(shù)值等于或大于LV字段值,步驟820,服務器將超載消息返回客戶機2。如否,步驟822,服務器8將限值以下的消息返回客戶機2,并進入步驟828。如果步驟824客戶機2收到超載消息,則客戶機2為此顯示一條消息。如否,客戶機2進入步驟828。
由于以上描述了預期的播放時間信息子程序97a和97b以及應用程序播放子程序600,故省略了對步驟828和830的描述。
根據(jù)本發(fā)明的特征,就可以限制使用收費信息。當許可事先為使用應用程序包而支付了費用的用戶在一個限值內(nèi)使用應用程序包時,這一特征特別有用。
盡管已經(jīng)假定該限值包含在應用程序包內(nèi),但該限值也可以從一開始就保持在供應商或發(fā)行商的服務器內(nèi)。此情況下,限值為固定。然而,如果在發(fā)行或銷售時允許將限值置于和錄在應用程序包內(nèi),則可以根據(jù)所支付的總量方便地設(shè)置該限值。
從以上所說可見,作為一種限值,任何使用限制因素都可以按量計量。這種限值例如為有效日期和時間,可允許的終止日期和時間,最大播放時間量,可允許的訪問計數(shù)。
還可以將該特征與收費應用程序播放特征組合一起。即可以這樣配置,允許用戶僅當與TOU有關(guān)的LV計量器值低于相應的LV值或錄在發(fā)行描述符的字段33或34時,才許可用戶按使用收費使用應用程序程序包。
改進1上述實施例中,如果卷內(nèi)的應用程序多于一個,用一個相同的應用程序加密鑰Kv對應用程序加密。然而,也可以用各自的AP加密鑰Ka對一個卷內(nèi)的應用程序APa加密,其中,AP和K后面的小寫“a”為分配給每個應用程序ID的序號。此情況下用用戶公共密鑰PKu對每個AP加密鑰Ka加密,并將其存儲在發(fā)行描述符23內(nèi)的Pku加密鑰(Ka)字段32a。
改進2假設(shè)DVD 3的用戶限于擁有DVD3上錄下的PKa加密AP加密鑰(Kv)的購買者。然而,該系統(tǒng)也可以設(shè)置成使預定的人例如該購買者的家庭成員FM1,F(xiàn)M2,…,F(xiàn)MN都能使用該DVD(N為家庭成員數(shù))。實現(xiàn)此舉的方法之一是用每個成員FMn(n=1,2,…N)的公共密鑰PKu-n加密AP加密鑰Kv,以獲得e1(PKu-1,Kv),e1(PKu-2,Kv),…,e1(PKu-n,Kv),并在購買DVD時將它們錄在發(fā)行描述符23的PKu-n加密的AP加密鑰e1(PKu-n,Kv)字段32。
改進3從服務器檢索Kv以上描述中,已經(jīng)將AP加密鑰Kv按PKu加密形式錄在DVD3上。然而,AP加密鑰Kv也可以由服務器8管理,每當使用DVD 3時,響應于DVD播放機2發(fā)出的播放請求將其發(fā)送到DVD播放機2或顧客。此時就無需提供具有PKu加密的AP加密鑰字段32的發(fā)行描述符23。這樣,每個服務器就必須在硬盤內(nèi)存儲一張AP加密鑰表(或Kv表)和PKu表(如圖20A和20B所示)。如圖20A所示,該Kv表中每條記錄有卷ID(VIDv)字段(作為記錄入口)和AP加密鑰(Kv)字段。圖20B中,PKu表的每條記錄包括一個卷ID(VIDv)字段(作為記錄入口),卷發(fā)行號(NOv-i)字段和PKu字段(通過僅顯示第一個出現(xiàn)的字段表示第一個字段中連續(xù)相同的數(shù)值)。此外,必須用圖20C的程序替代獲得AP加密鑰Kv的程序(或步驟)610,即應用程序播放子程序600中的一組步驟602、604和606。
圖20C是一個流程圖,其中表示客戶機DVD播放機2從服務器8獲得應用程序加密鑰Kv。步驟6 16中,服務器8利用VIDv從Kv表取出密鑰Kv。下一步618,用僅在當前程序中使用的任意數(shù)例如偽隨機數(shù)R對密鑰Kv加密,以獲得e2(R,Kv)。下一步620,通過讀出所記錄的PKu字段,服務器8從PKu表取出密鑰PKu,該記錄分別在VIDv和NOv-i字段中包含VIDv和NOv-i字段。下一步622,用取出的密鑰PKu加密R+e2(R,Kv)以獲得雙重加密的AP加密鑰e1(PKu,R+e2(R,Kv),下一步624,它返回到具有客戶機網(wǎng)絡地址CADDc的客戶機。
另一方面,步驟626,客戶機2的控制器100等待SIDs服務器8的響應。如步驟626從SIDs服務器8獲得任何響應,則步驟628,客戶機DVD 3從服務器8接收數(shù)據(jù)e1(PKu,R+e2(R,Kv))。下一步630,用從IC卡5讀出的用戶密鑰SKu解密收到的數(shù)據(jù)。尤其進行以下的計算d1(SKu,e1(PKu,R+e2(R,Kv)))==>Rf+e2(R,Kv)下一步632,用獲得的偽隨機數(shù)R解密e2(R,Kv)。尤其完成以下的計算d2(R,e2(R,Kv))==>Kv之后,控制器100進入圖14的步驟608。
該改進中,一個卷內(nèi)的應用程序APa可以用各個AP加密鑰Ka加密。此時,必須用Ka表替換Kv表,后者每條記錄都包含了應用程序ID(AIDa)字段和AP加密鑰(Ka)字段。步驟612,DVD播放機2的控制器100還必須將待播放的應用程序的應用程序ID送到服務器。
而且,該改進中,系統(tǒng)可以再次設(shè)置成使預定的人例如購買者的家庭成員FM1,F(xiàn)M2,…,F(xiàn)MN都能使用該DVD(N為家庭成員數(shù))。此時,對于每個成員FMn(n=1,2…,N),在加密AP加密鑰Kv時,服務器8必須采用成員自己的公共密鑰PKu-n。實現(xiàn)此舉的一種方法是在銷售DVD時向每個成員FMn發(fā)給一個卷發(fā)行號NOv-i-n,為DVD播放機2的非易失存儲器(未圖示)配備一張表,將用戶的口令PWn與卷發(fā)行號NOv-i-n聯(lián)系在一起,步驟612,發(fā)送與用戶口令有關(guān)的卷發(fā)行號(NOv- i-n),并且不采用PKu表而采用PKu-n表,其中,每條記錄都有以下的字段VIDv,NOv-i-n,Pku-n。
另一種方法是在銷售DVD時,不僅向所有的家庭成員發(fā)給和記錄一個卷發(fā)行號NOv-i-n,而且還發(fā)給家庭成員號FMNn,為DVD播放機2的非易失存儲器(未圖示)配備一張表,將用戶的口令PWn與相應的家庭成員號FMNn聯(lián)系在一起,步驟612,發(fā)送與用戶口令有關(guān)的卷發(fā)行號(NOv-i-n)和家庭成員號FMNn,并采用另一張Pku-n表,其中,每條記錄都有以下字段VIDv,NOv-i,F(xiàn)MNn,PKu-n。
圖20C的程序中,可以利用一對服務器密鑰和公共密鑰(SKs,PKs)通過公共密鑰密碼系統(tǒng)鑒定服務器8。此時,步驟622后,服務器8可以用簽名密鑰或服務器密鑰SKs簽發(fā)雙重加密的AP加密鑰e1(PKu,R+e2(R,Kv))同時,在步驟630前,用錄在DVD2突發(fā)刻紋區(qū)域內(nèi)發(fā)行描述符23的PKs字段31中所包含的測試密鑰或服務器公共密鑰PKs,客戶機或DVD播放機2可以測試服務器8的簽名。
然而,即使省略了對服務器8的上述鑒定,攻擊者也決不會針對比偷竊TOU碼附加限值、卷ID VIDv、卷發(fā)行號NOv-i以及客戶機網(wǎng)絡地址CADDc更長的長度。這并非是個嚴重的問題。
在圖20C的程序中,偽隨機號R被用作一個偽變量,每次執(zhí)行該程序時取不同的值。然而,作為偽變量,如果用它加密結(jié)果在每次執(zhí)行該程序時取不同的數(shù)值則它取任何值都行。
改進4在第一個實施例中,對應用程序的加密是通過軟件實現(xiàn)的。為此,控制器100必須通過總線102從IC卡5讀得用戶的密鑰SKu,這就有可能使黑客方便地通過總線102偷竊用戶密鑰SKu。為了防止這一點,可以用圖21所示的硬件實現(xiàn)由步驟604至608所實現(xiàn)的過程,圖21是一個典型的內(nèi)置解密器的IC卡IF的方框圖。圖21中,內(nèi)置解密器的IC卡IF120a包括IC卡插口121以及從該插口121延伸并與其固定的印刷電路板122。IC123安裝在印刷電路板122上。IC123包括存儲器IF 125,它通常將IC卡5的存儲器與總線102連接起來,并響應于來自控制器100的指令,讀得并將密鑰SKu傳送到下一級;一個Kv譯碼器126接收該密鑰SKu并用密鑰SKu加密e1(PKu,Kv),以產(chǎn)生Kv;AP譯碼器127接收密鑰Kv并加密e(Kv,AP)產(chǎn)生應用程序數(shù)據(jù)(AP)。印刷電路板122部分可以較佳地與IC卡插口121部分模壓在一起,使整體成為一塊板。這樣就可以防止用戶密鑰SKu的泄密。
這一改進也可以應用于采用圖20C密碼系統(tǒng)的系統(tǒng)1。此情況下,圖21的Kv譯碼器126必須由圖22所示的Kv譯碼器126a替換。圖22中,Kv譯碼器126a利用經(jīng)由存儲器IF 125的用戶密鑰SKu解密來自總線102的輸入數(shù)據(jù)e1(PKu,R+e2(R,Kv)),以獲得R+e2(R,Kv),同時用得到的隨機號R解密所獲得的數(shù)據(jù)e2(R,Kv)),并輸出密鑰Kv。
實施例2圖24是一個方框圖,它表示能夠播放發(fā)行的應用程序包的一個系統(tǒng)的配置,例如一個基于DVD使用條件的DVD,但無需按照本發(fā)明第二個實施例與任何服務器通信。圖24中,除了因無需與服務器通信而取消了通信IF150以及用控制器100a替代控制器100以外,系統(tǒng)1a與圖1的客戶機2相同??刂破?00a中,用以存儲控制程序(以下將描述)的未圖示的ROM和EEPROM103也已經(jīng)由新的ROM(未圖示)和EEPROM 103a所替代。為了扮演服務器8的角色,系統(tǒng)1a必須在任一非易失存儲器例如EEPROM 103a內(nèi)具有圖6A所示的表60,按圖6B的表70中所定義的每個應用程序的持續(xù)時間(播放時間)必須包括在每個應用程序包的控制數(shù)據(jù)內(nèi)。
圖25示意性地表示由圖24所示控制器100a執(zhí)行的一個典型的控制程序。除了因本實施例中系統(tǒng)1a不支持的附加限制播放模式而取消了步驟700和判斷步驟516,并用步驟650a和800a替代步驟650和800以外,圖25的控制程序也與圖5的相同。因此以下將描述步驟514后面的操作。
如果判斷步驟514中使用條件(TOU)的下標數(shù)字為0,則步驟650a,控制器100a以免費播放方式播放步驟506或512存儲在所選應用程序內(nèi)的應用程序,并結(jié)束該操作。注意,由于系統(tǒng)1a不具有收費播放方式,TOU碼的下標數(shù)字按如下定義使用條件碼的高位 相應限值 播放模式數(shù)(16進制)
因此,如果判斷步驟514中TOU碼的下標數(shù)字不為0,則步驟800a中,控制器100a按附加限制播放方式播放步驟506或512存儲在所選應用程序內(nèi)的應用程序,并結(jié)束該操作。
圖26和27分別詳細和更詳細地表示圖25中步驟650a所示免費播放方式的操作。圖26中,步驟660a,控制器100a執(zhí)行開始子程序80a,步驟670a,執(zhí)行預期播放時間信息子程序,步驟680a執(zhí)行應用程序播放和計量播放時間報告子程序。
如圖27所示,開始子程序80c中,步驟86,控制器100a搜索表60分別尋找在卷ID內(nèi)包含VIDv和NOv-i的記錄及其發(fā)行號字段。如果搜索未成功,步驟88,控制器100a增加VIDv和NOv-i的記錄并用AIDv-i-a和限值填入相應的字段(如表60中有的話),并進入步驟90。如果步驟86搜索成功,服務器8進入步驟90,其中,控制器100a根據(jù)TOU碼的值選擇一個子程序執(zhí)行下一步,并進入所選子程序。此情況下,如果TOU碼=xOH(x為任意的16進制數(shù),字母H表示前面的數(shù)字是16進制數(shù)),然后,選擇免費播放應用程序的子程序。如果TOU碼≥x1H,選擇一個子程序,僅當限用因素的軟件計量在一個預定值以下時才播放應用程序。
預期播放時間信息子程序670a與減去通信步驟93和94后的子程序97(圖10)是相同的,它包括上述步驟91、92和95。
同樣,從圖11和13A可見,在計時播放和計量使用報告子程序680a中,按該順序執(zhí)行上述步驟620、622、624、210和218。這樣,系統(tǒng)1a就許可用戶免費播放存儲在所選應用程序內(nèi)的應用程序(圖25的步驟506和512)。
圖28是一個流程圖,它表示圖25步驟800a所示附加限制播放方式的操作。由于該操作與圖19的操作極相似,因此僅簡要說明流程而省略對每個步驟的詳述。圖28中,控制器100a首先檢驗與TOU碼有關(guān)的計量是否達到了TOU碼所獲得的限值。如是,步驟820,服務器將一個超限消息返回控制器100a。否則,控制器100a進入執(zhí)行播放時間信息子程序828a(=670a),其中,控制器100a執(zhí)行上述步驟91、92和95,然后,步驟830調(diào)用應用程序播放子程序600,由此完成該操作。由于以上詳細描述了應用程序播放子程序600,故省略對其進一步描述。這樣,系統(tǒng)1a就許可用戶僅當與指定給卷的TOU碼有關(guān)的限值,或者用戶指定的應用程序未到達時才播放存儲在所選應用程序內(nèi)的應用程序(圖25的步驟506和512)。
根據(jù)第二個實施例,系統(tǒng)1a可以工作于免費播放方式或附加限制播放方式,無需與服務器通信。為此,系統(tǒng)1a也可以是便攜式的。
改進以上描述中,所述實施例是結(jié)合DVD描述的。同樣的討論也適用于諸如允許一次或多次寫入的程序包媒體。
再者,本發(fā)明還適用于通過傳輸媒體發(fā)行的應用程序包。此情況下,發(fā)行的應用程序包存儲在用戶設(shè)備中的大容量存儲器內(nèi)。應用程序包包括一個或多個應用程序和應用程序控制數(shù)據(jù),即,應用程序描述符和發(fā)行描述符。一個卷作為一個文件存儲。由于多個應用程序包可以存儲在一個存儲器內(nèi),故每個應用程序包就無需包含控制程序。可以通過程序包或傳輸媒體發(fā)行的一個控制程序足以適用于一臺用戶設(shè)備。當安裝控制程序時,存儲應用程序包的文件夾或目錄在控制程序中被設(shè)置為用戶指定的目錄。供應商根據(jù)用戶提供的信息,在應用程序包內(nèi)包含了要錄在發(fā)行描述符上的數(shù)據(jù)。
如上所述,許可使用應用程序包的人局限于擁有IC卡的人,該IC卡存儲了用戶密鑰SKu,它相應于用戶公共密鑰PKu,用以對應用程序包內(nèi)的AP加密鑰Kv進行加密。為此,即使某人不正當?shù)氐玫綉贸绦虬?,例如通過從其上錄有卷的DVD復制整個卷,但沒有DVD擁有者的IC卡,他或她也不能使用DVD。這樣,本發(fā)明的系統(tǒng)可以防止除了該應用程序包的合法擁有者以外任何他人使用該應用程序包(此例中為DVD)。
而且,本發(fā)明的系統(tǒng)還設(shè)置成在制造DVD的過程中通過模壓錄制大部分應用程序包,但至少一部分卷控制數(shù)據(jù)(即發(fā)行描述符)可以在例如制造過程后發(fā)行每個DVD的時候確定。由于無需改變印章即可方便地改變控制數(shù)據(jù),因而使系統(tǒng)較為靈活。
在圖8A和8B所示的開始子程序80a和80b中,可以按照與圖17所示傳送用戶信用卡號情況相同的方式對根據(jù)服務請求傳送的數(shù)據(jù)加密。然而,在開始子程序的情況下有多個數(shù)據(jù)。這些數(shù)據(jù)可以按以下的方法加密。
如果待加密的數(shù)據(jù)是D1,D2,…,則它們首先用密鑰R加密如下e2(R,D1),e2(R,D2)…然后,用服務器公共密鑰PKs作進一步的加密如下e1(PKs,R+e2(R,D1)+e2(R,D2),…)在圖17所示的程序中,可以通過采用一對用戶密鑰和公共密鑰(SKu,PKu)的一個公共密鑰密碼系統(tǒng)鑒定用戶。此情況下,客戶機2可以在步驟648后用簽名密鑰或用戶密鑰簽發(fā)雙重加密的信用卡號e1(PKs,R+e2(R,CCNOu))同時,步驟650之前,服務器用測試密鑰或用戶公共密鑰PKu測試客戶機2的簽名。
取代將單個服務器公共密鑰存入發(fā)行描述符23,可以記錄多個服務器公共密鑰或所有服務器公共密鑰。這樣,例如根據(jù)用戶通過合適地組合表70和75所選擇的服務器公共密鑰可以設(shè)置不同的費用。
而且,具有相同卷ID的應用程序包可以讓它記錄上不同的服務器公共密鑰。多個收費中心可以方便地提供相同題目的應用程序包。
為了防止非IC卡所有者的其他人使用IC卡,可以在Sku讀出步驟604之前增加一些步驟,提示用戶通過人機IF110輸入一個口令,并僅當輸入的口令與存儲在IC卡內(nèi)的用戶口令PWu相符時才進入步驟604。
盡管上述實施例中采用IC卡5,但也可以用磁卡閱讀器替換該IC卡IF120以許可使用磁卡。另外,也可以設(shè)置成在用戶每次使用DVD時即由用戶輸入他或她的口令。
替代在IC卡5內(nèi)存儲用戶密鑰SKu,密鑰SKu也可以按PWu加密方式存儲在非易失存儲器內(nèi)。此情況下,通過用用戶輸入的口令解密PWu加密的SKu獲得密鑰SKu。
對以上3段的討論適用于用以將服務器密鑰存入服務器的IC卡。然而,此情況下用戶必須作為收費中心的管理人。
在不脫離本發(fā)明精神和范圍的情況下還可以構(gòu)成本發(fā)明的更多不同的實施例??梢?,除了所附權(quán)利要求書所限定之外,本發(fā)明并不局限于所述的特定實施例。
權(quán)利要求
1.一種通過公共通信網(wǎng)絡將具有高度安全性的數(shù)據(jù)從第一設(shè)備送到第二設(shè)備的方法,其特征在于包括如下步驟在所述第二設(shè)備中,產(chǎn)生一個偽隨機數(shù);將所述偽隨機數(shù)傳送到所述第一設(shè)備;在所述第一設(shè)備中,將具有所述傳送的偽隨機數(shù)的數(shù)據(jù)加密成加密數(shù)據(jù);用所述第二設(shè)備的公共密鑰將由所述偽隨機數(shù)和加密數(shù)據(jù)組成的串接數(shù)據(jù)加密成雙重加密數(shù)據(jù);將所述雙重加密數(shù)據(jù)送到所述第二設(shè)備;在所述第二設(shè)備中,用對應于所述公共密鑰的所述第二設(shè)備的密鑰,將所述雙重加密數(shù)據(jù)解密成由解密隨機數(shù)部分和另一解密部分組成的解密數(shù)據(jù);以及用所述傳送的隨機數(shù)解密所述另一解密部分以獲得所述數(shù)據(jù)。
2.一種通過公共通信網(wǎng)絡將具有高度安全性的多個數(shù)據(jù)段從第一設(shè)備送到第二設(shè)備的方法,其特征在于包括如下步驟在所述第二設(shè)備中,產(chǎn)生偽隨機數(shù);將所述偽隨機數(shù)傳送到所述第一設(shè)備;在所述第一設(shè)備中,用所述傳送的偽隨機數(shù)將每個所述數(shù)據(jù)段加密成加密的數(shù)據(jù)段;用所述第二設(shè)備的公共密鑰將包括所述偽隨機數(shù)和所述加密的數(shù)據(jù)段的串接數(shù)據(jù)加密成雙重加密數(shù)據(jù);將所述雙重加密數(shù)據(jù)傳送到所述第二設(shè)備;在所述第二設(shè)備中,用對應于所述公共密鑰的所述第二設(shè)備的密鑰,將所述雙重加密數(shù)據(jù)解密為包括解密的隨機數(shù)部分和多個解密的數(shù)據(jù)部分的解密數(shù)據(jù);以及用所述傳送的隨機數(shù)解密每個所述解密的部分以獲得所述數(shù)據(jù)段。
3.如權(quán)利要求1或2所述的方法,其特征在于進一步包括在解密所述雙重加密數(shù)據(jù)的步驟后執(zhí)行如下步驟僅當所述解密的隨機數(shù)部分與所述傳送的偽隨機數(shù)相一致時進入下一步驟;以及當所述解密的隨機數(shù)部分與所述傳送的偽隨機數(shù)不一致時,所述第二設(shè)備通知所述第一設(shè)備解密失敗。
4.一種通過公共通信網(wǎng)絡將具有高度安全性的數(shù)據(jù)從第一設(shè)備傳送到第二設(shè)備的系統(tǒng),其特征在于包括置于所述第二設(shè)備內(nèi)用以產(chǎn)生偽隨機數(shù)的裝置;置于所述第二設(shè)備內(nèi)將所述偽隨機數(shù)傳送到所述第一設(shè)備的裝置;置于所述第一設(shè)備內(nèi)用所述傳送的偽隨機數(shù)將所述數(shù)據(jù)加密成加密數(shù)據(jù)的裝置;置于所述第一設(shè)備內(nèi),用所述第二設(shè)備的公共密鑰將包括所述偽隨機數(shù)和加密數(shù)據(jù)的串接數(shù)據(jù)加密成雙重加密數(shù)據(jù)的裝置;置于所述第一設(shè)備內(nèi),將所述雙重加密數(shù)據(jù)傳送到所述第二設(shè)備的裝置;置于所述第二設(shè)備內(nèi),將具有與所述公共密鑰對應的所述第二設(shè)備之密鑰的所述雙重加密數(shù)據(jù)解密為包括解密的隨機數(shù)部分和另一解密部分的解密數(shù)據(jù)的裝置;置于所述第二設(shè)備內(nèi),用所述傳送的隨機數(shù)解密所述另一解密部分以獲得所述數(shù)據(jù)的裝置。
5.一種通過公共通信網(wǎng)絡將具有高度安全性的多個數(shù)據(jù)段從第一設(shè)備傳送到第二設(shè)備的系統(tǒng),其特征在于包括置于所述第二設(shè)備內(nèi)用以產(chǎn)生偽隨機數(shù)的裝置;置于所述第二設(shè)備內(nèi)將所述偽隨機數(shù)傳送到所述第一設(shè)備的裝置;置于所述第一設(shè)備內(nèi)用所述傳送的偽隨機數(shù)將每個所述數(shù)據(jù)段加密成加密數(shù)據(jù)段的裝置;置于所述第一設(shè)備內(nèi),用所述第二設(shè)備的公共密鑰將包括所述偽隨機數(shù)和加密數(shù)據(jù)段的串接數(shù)據(jù)加密成雙重加密數(shù)據(jù)的裝置;置于所述第一設(shè)備內(nèi),將所述雙重加密數(shù)據(jù)傳送到所述第二設(shè)備的裝置;置于所述第二設(shè)備內(nèi),將具有與所述公共密鑰對應的所述第二設(shè)備之密鑰的所述雙重加密數(shù)據(jù)解密為包括解密的隨機數(shù)部分和多個解密的數(shù)據(jù)部分的裝置;以及置于所述第二設(shè)備內(nèi),用所述傳送的隨機數(shù)解密每個所述解密部分以獲得所述數(shù)據(jù)段的裝置。
6.如權(quán)利要求4或5所述的系統(tǒng),其特征在于進一步包括置于所述第二設(shè)備內(nèi),在解密每個所述解密部分之前激活,并當判斷所述解密的隨機數(shù)部分與所述傳送的偽隨機數(shù)不一致時,通知所述第一設(shè)備解密失敗,控制不進入下一裝置的裝置。
全文摘要
一種僅許可合法用戶按一預定操作如免費播放、收費播放、附加限制播放等方式播放發(fā)行的應用程序包內(nèi)所需應用程序的系統(tǒng),包括在服務器控制下播放應用程序的客戶機,該服務器通過通信網(wǎng)絡與客戶機連接。該應用程序包(卷)包括含有分配給卷及其應用程序之模式碼的發(fā)行描述符。在發(fā)行卷時按該描述符確定和存儲發(fā)行描述符的數(shù)據(jù)。該特征使系統(tǒng)更具靈活性。還揭示了無需與服務器通信即可操作的系統(tǒng)。
文檔編號G11B20/00GK1420443SQ0214272
公開日2003年5月28日 申請日期2002年9月13日 優(yōu)先權(quán)日1996年10月29日
發(fā)明者浦中祥子, 清野正樹 申請人:松下電器產(chǎn)業(yè)株式會社