專利名稱:服務(wù)器裝置及程序管理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種由信息處理終端執(zhí)行工作的程序的分配的服務(wù)器裝置,以及由服務(wù)器裝置和信息處理終端構(gòu)成的程序管理系統(tǒng),特別涉及企圖非法使用程序的信息處理終端的排除技術(shù)。
背景技術(shù):
近年來伴隨網(wǎng)絡(luò)的發(fā)展,已公布了許多通過網(wǎng)絡(luò)進行商務(wù)交易的電子商務(wù)交易系統(tǒng)(Electronic commerce system)和進行電影、音樂等的內(nèi)容發(fā)信的內(nèi)容發(fā)送系統(tǒng)。在這些系統(tǒng)中,在通過網(wǎng)絡(luò)而連接的設(shè)備之間,不僅可以更換內(nèi)容的使用權(quán)利、收費用密鑰等有價值的信息數(shù)據(jù),也可以更換音樂播放程序等程序自身。另外,這種程序的更換,除現(xiàn)有PC以外,預(yù)計在攜帶電話等的組裝設(shè)備中也能實現(xiàn)。
在通過網(wǎng)絡(luò)實現(xiàn)電子購物或內(nèi)容發(fā)信服務(wù)等伴隨有收費的商用系統(tǒng)時,如果心存惡意的使用者可以非法地改寫程序,則具有通過進行收費信息的操作免費購買商品或內(nèi)容等的非法行為的危險性。因此,在通過網(wǎng)絡(luò)更新程序進行非法修改或追加時,為了防止心存惡意的使用者的非法使用,需要驗證程序的正當性。
作為以往驗證程序正當性的方法,有使用電子署名的方法(例如,參照特開2000-339153號公報)。在該方法中,利用使用被稱為公開密鑰加密方式的2個為一對的密鑰組的加密數(shù)據(jù)交換方式。圖20是有關(guān)使用了該電子署名的程序的正當性驗證方法的說明圖。
程序發(fā)送者2000確認程序發(fā)送的身份,向作為擔保的第三者機構(gòu)的認證局(CACertification Authority)2010發(fā)送公開密鑰2001。然后,認證局2010確認并審查程序發(fā)送者2000的身份。在認證局2010判斷為可以信賴程序發(fā)送者2000的情況下,利用CA密鑰2012向程序發(fā)送者2000的公開密鑰2001發(fā)送進行電子署名的證明書2003。證明書2003包括識別公開密鑰所有者的身份的信息,認證局2010保證公開密鑰所有者的身份。認證局2010向程序發(fā)送者2000發(fā)送公開密鑰證明書2003。
程序發(fā)送者2000對分配給使用者2020的程序,利用自己的密鑰2002進行電子署名,并發(fā)送公開密鑰證明書2003及帶署名的程序2004。
使用者2020從認證局2010取得CA公開密鑰2011,使用CA公開密鑰2011驗證程序發(fā)送者的公開密鑰證明書2003的署名。在正確進行了署名驗證的情況下,使用公開密鑰證明書2003中包含的公開密鑰2001驗證帶署名的程序2004的署名。在正確進行了該署名驗證的情況下,所發(fā)送的程序是從程序發(fā)送者2000發(fā)送的程序,可以驗證未被篡改。
因此,在該正當性驗證方式中,通過向程序附加程序發(fā)送者2000的電子署名來保證程序的正當性,使用者2020可以驗證所取得的程序2021是從程序發(fā)送者2000正當發(fā)送的程序。
但是,在圖20所示正當性驗證方式中,雖然可以進行發(fā)送時的程序的正當性驗證,但對發(fā)送后的信息處理終端的程序不能保證正當性。另外,關(guān)于公開密鑰加密方式及證明書、署名、認證的結(jié)構(gòu),在各種文獻(例如,參照“AppliedCryptography”Bruce Schneier,John Wiley & Sons,Inc(1996))中有詳細記述。
作為解決該問題的方法有如下方法,使用程序發(fā)送地的使用者識別符,由程序發(fā)送地對程序進行加密并發(fā)送,使用者在使用時使用識別符對程序解密并執(zhí)行程序(例如,參照特開平7-295800號公報)。在該方法中,萬一程序被非法復制時,如果使用者識別符不一致,就不能對程序解密并執(zhí)行程序,所以可以防止非法復制和非法篡改。
另外,作為程序的發(fā)送裝置已公開有下述裝置,在進行程序發(fā)送時,根據(jù)程序的復制數(shù)和許可復制數(shù)之差判定發(fā)送的正當性,可以物理地防止進行無限制發(fā)送,使在物理上遵守有關(guān)程序復制的使用合同。
在本發(fā)明中,程序發(fā)送裝置可以形成存儲每個程序的信息處理裝置的發(fā)送地,根據(jù)復制許可數(shù)和復制數(shù)發(fā)送程序的程序發(fā)送裝置。
另一方面,在實現(xiàn)使用網(wǎng)絡(luò)的電子購物或內(nèi)容發(fā)送服務(wù)等伴隨有收費的商用系統(tǒng)的情況下,由于對使用者進行收費,所以需要對使用者進行確定的方法。作為該方法之一,有使程序或與程序一起發(fā)送的信息中,含有分配給每個使用者的ID和密鑰等固有信息的情況。該情況時,對每個使用者分配固有信息,在程序發(fā)送地的服務(wù)器裝置側(cè)管理固有信息,從而在使用者進行非法行為時,可以以固有信息為基礎(chǔ)來確定使用者。
圖21是以往的信息處理終端2101和服務(wù)器裝置2102及2103間的程序管理系統(tǒng)的參考圖。在圖21中,為了進行說明而分開表示為應(yīng)用數(shù)據(jù)用服務(wù)器裝置2103和程序用服務(wù)器裝置2102。
信息處理終端2101從作為程序發(fā)送地的服務(wù)器裝置2102,下載例如喜歡的音樂數(shù)據(jù),取得可以播放的音樂播放程序。在該音樂播放程序中含有固有信息“0101”。另外,為了實現(xiàn)程序的安全發(fā)送,通信路徑使用SSL(Sceure SocketLayer)進行加密,防止盜聽等竊聽行為。
在信息處理終端2101的使用者請求取得音樂數(shù)據(jù)等時,從信息處理終端2101向應(yīng)用數(shù)據(jù)用服務(wù)器裝置2103發(fā)送被賦予了所述固有信息“0101”的音樂數(shù)據(jù)取得請求。服務(wù)器裝置2103具有排除執(zhí)行非法音樂播放程序的信息處理終端的無效目錄(CRLcertificate revocation list),由于從信息處理終端2101根據(jù)音樂數(shù)據(jù)取得請求發(fā)送的固有信息“0101”被記載在CRL中,所以不向信息處理終端2101進行音樂數(shù)據(jù)的發(fā)送。另外,在CRL中未記載著固有信息時,向信息處理終端2101發(fā)送所請求的音樂數(shù)據(jù)。
這樣,如果確定非法使用程序的信息處理終端2101具有的程序的固有信息,就可以使用CRL排除企圖進行非法使用的信息處理終端2101。
另外,向從服務(wù)器裝置2102等下載到信息處理終端2101的數(shù)據(jù)附加電子署名,在信息處理終端2101側(cè)進行署名驗證,可以防止下載數(shù)據(jù)的篡改、偷換、盜聽等,保護下載數(shù)據(jù)在無非法行為下的安全發(fā)送。
但是,在上述的程序發(fā)送地進行與各使用者識別符相適應(yīng)的程序加密處理的方法,產(chǎn)生增大程序發(fā)送地的這種處理負擔的問題。
另外,上述的程序發(fā)送裝置對每個程序存儲信息處理裝置的發(fā)送地,根據(jù)復制許可數(shù)和復制數(shù)來發(fā)送程序的方法,是程序發(fā)送裝置針對程序的每個發(fā)送請求,確認發(fā)送的裝置ID,根據(jù)復制許可數(shù)來發(fā)送程序,并非用來防止程序的非法使用。
此外,在圖21所示的服務(wù)器裝置2103使用記載有程序的固有信息的CRL來排除企圖非法使用的信息處理終端2101的方法中,即使在信息處理終端2101嘗試非法地取得數(shù)據(jù),并通過服務(wù)器裝置2103的CRL把其作為非法終端來排除數(shù)據(jù)取得的情況下,也會產(chǎn)生下述問題信息處理終端2101的使用者從服務(wù)器裝置2102進行其他固有信息的下載,把程序的固有信息更新為新的固有信息,從而可以避免因使用了服務(wù)器裝置2103的CRL而被排除的問題。
發(fā)明內(nèi)容
本發(fā)明就是鑒于以上課題而提出的,其第1目的是提供一種服務(wù)器裝置,在作為程序發(fā)送方的服務(wù)器裝置中,防止通過使用了固有信息的目錄被排除的非法信息處理終端取得新的固有信息以回避被排除。另外,其目的還在于減少服務(wù)器裝置向信息處理終端發(fā)送程序時的處理負擔。
此外,本發(fā)明的目的在于提供一種程序管理系統(tǒng),即使在服務(wù)器裝置和信息處理終端之間進行程序發(fā)送的程序管理系統(tǒng)中,也能排除來自非法的信息處理終端取得新固有信息的請求,防止信息處理終端非法使用程序。
為了解決上述課題,本發(fā)明涉及的服務(wù)器裝置,通過網(wǎng)絡(luò)連接用于保持從外部不能進行改寫的終端ID的信息處理終端,保持所述信息處理終端執(zhí)行動作的程序,其特征在于,具有數(shù)據(jù)表保持單元,保持表示以前發(fā)送的程序和終端ID的關(guān)聯(lián)的數(shù)據(jù)表;和判定單元,參照所述數(shù)據(jù)表,判定對從所述信息處理終端發(fā)送的具有所述終端ID的程序取得請求發(fā)送程序是否正當。
另外,在本發(fā)明涉及的從服務(wù)器裝置發(fā)送給信息處理終端的程序中,包括所述信息處理終端執(zhí)行動作的程序主體和所述程序主體使用的固有信息即程序固有信息,所述判定單元的特征在于,在賦予給所述程序取得請求的所述終端ID被記錄在所述數(shù)據(jù)表中時,判定為禁止發(fā)送所述程序固有信息,僅向所述信息處理終端發(fā)送所述程序主體,在判定為所述終端ID未被記錄在所述數(shù)據(jù)表中時,判定為使所述終端ID與所述程序固有信息對應(yīng)并追加到所述數(shù)據(jù)表中,同時向所述信息處理裝置發(fā)送所述程序主體和所述程序固有信息。
由此,服務(wù)器裝置可以防止信息處理終端重新取得與以前發(fā)送的程序?qū)?yīng)的程序固有信息,能夠可靠防止取得新的程序固有信息而企圖躲避排除的信息處理終端的非法行為。
另外,為了解決上述課題,本發(fā)明涉及的程序管理系統(tǒng),由保持不能從外部進行改寫的終端ID的信息處理終端、和通過網(wǎng)絡(luò)連接該信息處理終端并保持所述信息處理終端執(zhí)行動作的程序的服務(wù)器裝置構(gòu)成,其特征在于,所述信息處理終端在請求取得所述程序時,向所述服務(wù)器裝置發(fā)送賦予了所述終端ID的程序取得請求,所述服務(wù)器裝置具有數(shù)據(jù)表保持單元,接收所述程序取得請求,保持表示以前發(fā)送的程序和終端ID的關(guān)聯(lián)的數(shù)據(jù)表;和判定單元,參照所述數(shù)據(jù)表,判定對從所述信息處理終端發(fā)送的賦予有所述終端ID的程序取得請求發(fā)送程序是否正當。
這樣,本發(fā)明不僅可以實現(xiàn)上述的服務(wù)器裝置,也可以實現(xiàn)以具有服務(wù)器裝置和信息處理終端間的程序管理系統(tǒng)或服務(wù)器裝置具備的單元為步驟的程序發(fā)送方法。另外,當然也可以實現(xiàn)使計算機等執(zhí)行該程序發(fā)送方法的程序,或通過CD-ROM等記錄介質(zhì)和通信網(wǎng)絡(luò)等傳送介質(zhì)使該程序可以流通。
圖1是表示實施方式1的信息處理終端和服務(wù)器裝置的構(gòu)成圖。
圖2是從本實施方式1涉及的服務(wù)器裝置向信息處理終端側(cè)發(fā)送的程序的整體結(jié)構(gòu)圖。
圖3(a)是表示存儲在程序標題中的信息的一個示例。
圖3(b)是表示存儲在程序中的信息的一個示例。
圖4(a)是表示存儲在固有信息標題中的信息的一個示例。
圖4(b)是表示存儲在程序固有信息的信息的一個示例。
圖5是表示在信息處理終端和服務(wù)器之間進行的程序更新系統(tǒng)的動作步驟的圖。
圖6是表示保持在固有信息發(fā)送履歷保持單元的固有信息發(fā)送履歷的信息存儲的一個示例的圖。
圖7是表示服務(wù)器裝置的程序發(fā)送步驟的流程圖。
圖8是表示使用本實施方式1涉及的服務(wù)器裝置的程序管理系統(tǒng)的整體圖。
圖9是表示本實施方式1涉及的程序標題和程序中包含的其他數(shù)據(jù)結(jié)構(gòu)的圖。
圖10是表示固有信息標題和程序固有信息中包含的其他數(shù)據(jù)結(jié)構(gòu)的圖。
圖11是表示本實施方式2涉及的信息處理終端和服務(wù)器裝置的構(gòu)成圖。
圖12(a)是表示本實施方式2涉及的固有信息發(fā)送履歷中包含的信息的一個示例圖。
圖12(b)是表示本實施方式2涉及的程序/固有信息對應(yīng)表中包含的信息的一個示例圖。
圖13是表示服務(wù)器裝置的程序發(fā)送步驟的流程圖。
圖14是表示本實施方式3涉及的信息處理終端和服務(wù)器裝置的構(gòu)成圖。
圖15是表示本實施方式3涉及的發(fā)送次數(shù)信息的信息存儲例的圖。
圖16是表示服務(wù)器裝置的程序發(fā)送步驟的流程圖。
圖17是表示本實施方式4涉及的信息處理終端和服務(wù)器裝置的構(gòu)成圖。
圖18(a)是表示本實施方式4涉及的發(fā)送次數(shù)信息中存儲的數(shù)據(jù)的一個示例圖。
圖18(b)是表示本實施方式4涉及的程序/固有信息對應(yīng)表中存儲的數(shù)據(jù)的一個示例。
圖19是表示服務(wù)器裝置的程序發(fā)送步驟的流程圖。
圖20是說明有關(guān)使用以往的電子署名的程序的正當性驗證方法的圖。
圖21是以往的信息處理終端和服務(wù)器之間的程序管理系統(tǒng)的參考圖。
具體實施例方式
以下,使用
本發(fā)明的實施方式涉及的服務(wù)器裝置及程序管理系統(tǒng)。
(實施方式1)圖1是表示本發(fā)明的實施方式1的信息處理終端100和服務(wù)器裝置120的構(gòu)成圖。
信息處理終端100是使用以下程序的終端裝置,該程序用于從服務(wù)器裝置120取得的電子商務(wù)交易或內(nèi)容發(fā)送等中,由以下部分構(gòu)成CPU101;RAM102;進行程序或數(shù)據(jù)等的加密及解密處理的加密處理單元103;與服務(wù)器裝置120進行通信的通信處理單元104;存儲程序的程序存儲單元105;存儲CA公開密鑰等不需要特別隱秘的信息的數(shù)據(jù)存儲單元106;以及存儲密鑰等需要隱秘的信息的隱秘信息存儲單元107。
程序存儲單元105存儲CPU101執(zhí)行動作的程序116。
數(shù)據(jù)存儲單元106存儲有信息處理終端100使用的數(shù)據(jù)中不需要特別隱秘的數(shù)據(jù),同時存儲信息處理終端100中存儲的程序的ID或版本號等作為存儲程序的管理信息的程序管理信息108及CA公開密鑰109。
隱秘信息存儲單元107存儲需要在信息處理終端100內(nèi)隱秘的信息,并存儲對每個信息處理終端不同的密鑰即終端固有密鑰110、作為對每個信息處理終端不同的公開密鑰對之一的終端加密密鑰111、程序使用的固有密鑰等的程序固有信息112、作為對每個信息處理終端不同的公開密鑰對的另一方的終端公開密鑰證明書113。終端公開密鑰證明書113包括唯一地識別信息處理終端100的ID即終端ID114,和認證局附加給終端公開密鑰證明書113的CA署名115。
另一方面,本發(fā)明涉及的服務(wù)器裝置120是發(fā)送信息處理終端100要求的程序的裝置,由以下部分構(gòu)成CPU121;RAM122;進行程序或數(shù)據(jù)等的加密和解密處理的加密處理單元123;與信息處理終端100進行通信的通信處理單元124;存儲CA公開密鑰等不需要特別隱秘的信息的數(shù)據(jù)存儲單元125;存儲發(fā)送給信息處理終端100的程序等的信息的發(fā)送信息存儲單元126;和固有信息發(fā)送履歷保持單元140。
本發(fā)明涉及的服務(wù)器裝置120的特征是具有固有信息發(fā)送履歷保持單元140。該固有信息發(fā)送履歷保持單元140保持用于管理發(fā)送給信息處理終端100的程序的程序固有信息的履歷的固有信息發(fā)送履歷600。
數(shù)據(jù)存儲單元125是存儲服務(wù)器裝置120使用的信息的區(qū)域,存儲作為公開密鑰對之一的服務(wù)器加密密鑰127、作為公開密鑰對的另一方的服務(wù)器公開密鑰證明書128、和CA公開密鑰129。服務(wù)器公開密鑰證明書128包括唯一地識別服務(wù)器的ID的服務(wù)器ID130和對服務(wù)器公開密鑰證明書附加了CA的CA署名131。發(fā)送信息存儲單元126是存儲服務(wù)器裝置120發(fā)送給信息處理終端100的信息的區(qū)域,存儲程序標題300、程序310、固有信息標題400、和程序固有信息420。另外,作為該發(fā)送信息的程序整體圖如后面的圖2所示。
存儲在發(fā)送信息存儲單元126的程序標題300、程序310、固有信息標題400、和程序固有信息420被附加上作為第三者認證機構(gòu)的CA署名,利用該CA署名保證發(fā)送信息是由正當?shù)陌l(fā)送方發(fā)送。
圖2是從本實施方式1涉及的服務(wù)器裝置120向信息處理終端100側(cè)發(fā)信的程序整體200的構(gòu)成圖。該程序整體200是被存儲在服務(wù)器裝置120的發(fā)送信息存儲單元126中的信息,在本實施方式1中,由程序標題300、程序310、固有信息標題400、和程序固有信息420構(gòu)成。另外,在本發(fā)明中的特征是,把程序整體200劃分為程序310和程序固有信息420,并進一步劃分為標題部分和數(shù)據(jù)部分。
另外,在本實施方式涉及的程序管理系統(tǒng)中,信息處理終端100在從服務(wù)器裝置120等取得在程序310使用的應(yīng)用數(shù)據(jù)時,向應(yīng)用數(shù)據(jù)取得請求賦予程序固有信息420進行發(fā)送。這樣,可以通過使用了服務(wù)器裝置120等具有的程序固有信息420的CRL,來排除非法的信息處理終端。
圖3(a)和(b)是表示存儲在程序標題300和程序310的信息的一個示例圖。
程序標題300用于存儲與程序310有關(guān)的信息,包括以下信息。
(1)表示程序標題300存儲的信息等是與哪個程序310對應(yīng)的信息的程序ID(301)。(2)對應(yīng)的程序310的版本號(302)。(3)對應(yīng)的程序310的程序大小(303)。(4)對應(yīng)的程序310的散列(hash)數(shù)據(jù)值(304)。(5)含有從所述(1)到(4)的信息的程序標題300整體的CA署名(305)。
并且,向程序310附加相對程序310的CA署名(311)。這樣,由于程序標題300和程序310均含有CA署名305和311,所以在信息處理終端100可以驗證程序標題、程序是從正當?shù)陌l(fā)送方發(fā)送的。
圖4(a)和(b)是表示存儲在固有信息標題400和程序固有信息420的信息的一個示例圖。
固有信息標題400用于存儲與程序固有信息420相關(guān)的信息,包括以下信息。
(1)表示固有信息標題400存儲的信息等是與哪個程序固有信息420對應(yīng)的信息的程序固有信息ID(401)。(2)使用對應(yīng)的程序固有信息420的程序310的程序ID(402)。(3)對應(yīng)的程序固有信息420存儲的固有信息數(shù)(403)。(4)對應(yīng)的程序固有信息420整體的大小(404)。(5)表示與對應(yīng)的程序固有信息420中包含的每個固有信息有關(guān)的信息的固有信息子標題(405)。固有信息子標題405僅存在程序固有信息420中包含的每個固有信息數(shù)(1~n)。(6)對含有從所述(1)到(5)的信息的固有信息標題400整體的CA署名(406)。
固有信息子標題405由用于識別每個固有信息的ID即程序固有信息子ID411和每個固有信息的大小(size)412構(gòu)成。
程序固有信息420包括多個程序固有信息(421)和對程序固有信息整體的CA署名(422)。因此,由于固有信息標題400、程序固有信息420均含有CA署名(406和422),所以在信息處理終端100能夠驗證固有信息標題400、程序固有信息420是從正當?shù)陌l(fā)送方發(fā)送的。
下面,使用圖5說明在信息處理終端100和服務(wù)器裝置120之間進行的程序更新系統(tǒng)的動作步驟的示例。在該程序更新系統(tǒng)中,信息處理終端100首先進行標題取得請求,進行空閑區(qū)域的確認。在服務(wù)器裝置120,通過從固有信息發(fā)送履歷保持單元140參照固有信息發(fā)送履歷600,可以排除企圖非法使用程序的信息處理終端100。
首先,信息處理終端100利用SSL進行與服務(wù)器裝置120的連接(S501)。此時,服務(wù)器裝置120取得信息處理終端100的終端ID。另外,SSL為了在兩點之間安全收發(fā)數(shù)據(jù),采取并用公開密鑰加密方式和隱秘密鑰加密方式,對數(shù)據(jù)加密后進行收發(fā)的機構(gòu)。由于在SSL僅在被稱為對話密鑰的該對話中共享有效的密鑰,所以在圖5所示S502以后的信息處理終端100和服務(wù)器裝置120之間的數(shù)據(jù)收發(fā)全部是利用使用了對話密鑰的加密數(shù)據(jù)來進行的。
然后,信息處理終端100向服務(wù)器裝置120指定想要取得的程序310的程序ID,進行標題取得請求(S502)。此時,服務(wù)器裝置120根據(jù)保持在固有信息發(fā)送履歷保持單元140的固有信息發(fā)送履歷600,確認終端ID和程序固有信息ID的對應(yīng)關(guān)系。即,針對信息處理終端100,確認是否已經(jīng)發(fā)送固有信息ID。在判斷為是來自正規(guī)的信息處理終端的標題取得請求時,接收到標題取得請求的服務(wù)器裝置120把存儲在發(fā)送信息存儲單元126的程序標題300發(fā)送給信息處理終端100(S503)。
從服務(wù)器裝置120接收到程序標題300的信息處理終端100,使用存儲在數(shù)據(jù)存儲單元106的CA公開密鑰109,驗證程序標題300中包含的CA署名(S504)。這樣,信息處理終端100驗證是從程序標題300未被篡改的正當發(fā)送方發(fā)送的信息。另外,在程序標題300存儲有程序的程序ID301、版本號302、大小303、程序的散列數(shù)據(jù)值304等與程序有關(guān)的信息,信息處理終端100比較這些信息和存儲在數(shù)據(jù)存儲單元106的程序管理信息108中記載的程序ID、版本信息、空閑容量信息,確認更新對象的程序310是否已從服務(wù)器裝置120被正確發(fā)送,是否存在存儲程序310的空閑容量(S504)。因此,本實施方式1涉及的信息處理終端100可以防止在程序310的下載中不能取得程序的弊端。
然后,服務(wù)器裝置120把存儲在發(fā)送信息存儲單元126的固有信息標題400發(fā)送給信息處理終端100(S505)。
從服務(wù)器裝置120接收到固有信息標題400的信息處理終端100,使用存儲在數(shù)據(jù)存儲單元106的CA公開密鑰109驗證固有信息標題400中包含的CA署名(S506)。這樣,信息處理終端100驗證固有信息標題400是未被篡改的從正當?shù)陌l(fā)送方發(fā)送的信息。在固有信息標題400存儲有唯一地識別程序固有信息420的程序固有信息ID401、與程序固有信息相關(guān)聯(lián)的程序的程序ID402、被發(fā)送的信息中包含的程序固有信息數(shù)403、大小404等與程序固有信息420相關(guān)的信息,信息處理終端100在下載程序310之前,比較這些信息和存儲在數(shù)據(jù)存儲單元106的程序管理信息108中記載的程序ID、空閑容量信息,確認與更新對象的程序310相關(guān)的程序固有信息420是否已從服務(wù)器裝置120被正確發(fā)送,是否存在存儲程序固有信息420的空閑容量(S506)。
信息處理終端100在判斷為可以取得程序310、程序固有信息420時,向服務(wù)器裝置120指定程序ID,請求取得程序(S507)。
接收到程序取得請求的服務(wù)器裝置120向信息處理終端100發(fā)送存儲在發(fā)送信息存儲單元126的程序310(S508)。從服務(wù)器裝置120接收到程序310的信息處理終端100使用存儲在數(shù)據(jù)存儲單元106的CA公開密鑰109驗證程序310中包含的CA署名(S509)。這樣,信息處理終端100驗證程序310是未被篡改的從正當?shù)陌l(fā)送方發(fā)送的信息。在可以驗證到取得數(shù)據(jù)的正當性的情況下,利用存儲在隱秘信息存儲單元107的終端固有密鑰110對所取得的程序310加密,存儲在程序存儲單元105(S509)。此時,把程序存儲位置和程序ID、版本號等存儲在程序管理信息108,進行程序的管理。
然后,在程序的存儲完成后,使用終端固有密鑰110對存儲在程序存儲單元105的程序116進行解密,算出散列數(shù)據(jù)值。進行所算出的值與存儲在程序標題300中的散列數(shù)據(jù)值的比較,確認程序被正確存儲(S510)。
然后,信息處理終端100向服務(wù)器裝置120指定程序ID,進行程序固有信息取得請求(S511)。
服務(wù)器裝置120向信息處理終端100發(fā)送存儲在發(fā)送信息存儲單元126的程序固有信息420(S512)。從服務(wù)器裝置120接收到程序固有信息420的信息處理終端100使用存儲在數(shù)據(jù)存儲單元106的CA公開密鑰109,驗證程序固有信息420中包含的CA署名(S513)。這樣,信息處理終端100驗證程序固有信息是未被篡改的從正當?shù)陌l(fā)送方發(fā)送的信息。在可以驗證到取得數(shù)據(jù)的正當性的情況下,把所取得的程序固有信息存儲在隱秘信息存儲單元107(S513)。
最后,在信息處理終端100的程序。程序固有信息的存儲完成后,切斷信息處理終端100和服務(wù)器裝置120之間的通信(S514)。
這樣,本實施方式1涉及的信息處理終端100通過進行標題取得請求,確認是否存在存儲程序310的空閑容量等,可以更安全地進行程序的下載。在這種情況下,也可以作如下考慮,算出程序310和程序固有信息420的散列數(shù)據(jù)值,通過比較所算出的散列數(shù)據(jù)值和程序標題300及程序固有信息標題400中存儲的散列數(shù)據(jù)值,確認是正當?shù)陌l(fā)送信息。
圖6是表示保持在固有信息發(fā)送履歷保持單元140的固有信息發(fā)送履歷600的信息存儲的一個示例圖。
服務(wù)器裝置120把記錄了與以前發(fā)送給信息處理終端100的程序?qū)?yīng)的程序固有信息420和該信息處理終端100的終端ID的數(shù)據(jù)表作為固有信息發(fā)送履歷600。
服務(wù)器裝置120把作為識別發(fā)送了程序固有信息420的信息處理終端100的ID的終端ID601、和作為識別所發(fā)送的程序固有信息420的ID的程序固有信息ID602存儲在固有信息發(fā)送履歷保持單元140。另外,根據(jù)需要把表示最后發(fā)送程序固有信息420的日期的最終發(fā)送日期603存儲在固有信息發(fā)送履歷600。
在圖6中,服務(wù)器裝置120向信息處理終端100已發(fā)送5個程序固有信息420,各自的終端ID601、程序固有信息ID602的組成為(終端ID、程序固有信息ID)=(0001,0001)、(0002,0002)、(0010,0003)、(0015,0004)、(0020,0005)。
圖7是表示服務(wù)器裝置120的程序310的發(fā)送步驟的流程圖。
首先,服務(wù)器裝置120從信息處理終端100接收程序發(fā)送請求(S701)。然后,服務(wù)器裝置120取得所接收的程序發(fā)送請求中包含的信息處理終端100的終端ID(S702),針對固有信息發(fā)送履歷600檢索所取得的終端ID(S703),進行固有信息發(fā)送履歷600中是否存儲有相同的終端ID的判斷(S704)。
服務(wù)器裝置120在固有信息發(fā)送履歷600中存儲有相同的終端ID時(S704為是),由于已向信息處理終端100發(fā)送程序固有信息420,所以僅發(fā)送程序310,并結(jié)束處理(S708)。
另外,服務(wù)器裝置120在固有信息發(fā)送履歷600中沒有存儲有相同的終端ID時(S704為否),針對信息處理終端100分配新的程序固有信息420(S705),對該新分配的程序固有信息420,追加終端ID601和程序固有信息ID602的對應(yīng),更新固有信息發(fā)送履歷600(S706)。服務(wù)器裝置120向信息處理終端100發(fā)送程序固有信息420,向信息處理終端100發(fā)送程序310,并結(jié)束處理(S708)。
這樣,通過在服務(wù)器裝置120使用固有信息發(fā)送履歷600來發(fā)送管理程序固有信息,可靠防止向一個信息處理終端100發(fā)送多個程序固有信息420。由此,服務(wù)器裝置120識別為是通過CRL等使用程序固有信息420的非法終端,并向被排除的信息處理終端100不分配新的程序固有信息420。因此,可以防止取得新的程序固有信息420,企圖逃避排除的信息處理終端100的非法行為。
圖8是表示使用了本實施方式1涉及的服務(wù)器裝置120的程序管理系統(tǒng)的整體圖。
程序用服務(wù)器裝置120a向信息處理終端100發(fā)送與程序取得請求對應(yīng)的程序。服務(wù)器裝置120b向信息處理終端100發(fā)送在信息處理終端100執(zhí)行的程序使用的應(yīng)用數(shù)據(jù)。另外,在圖8中,把信息處理終端100保持的程序的程序固有信息設(shè)為“0101”,說明為了企圖逃避被CRL800排除而非法取得新的程序固有信息的終端。此外,為了謀求程序的安全發(fā)送,通信路徑使用SSL作為加密通信路徑。
在信息處理終端100的使用者請求應(yīng)用數(shù)據(jù)時,把賦予了信息處理終端100保持的程序的程序固有信息“0101”的應(yīng)用取得請求發(fā)送給應(yīng)用數(shù)據(jù)用服務(wù)器裝置120b。
服務(wù)器裝置120b具有使用了程序固有信息的非法程序的無效目錄(CRL)800,由于賦予給來自信息處理終端100的取得請求的程序固有信息“0101”已記載在CRL800中,所以不進行應(yīng)用數(shù)據(jù)的發(fā)送,而進行非法信息處理終端的排除。另外,如果是未記載在CRL的程序固有信息時,服務(wù)器裝置120b向信息處理終端100發(fā)送應(yīng)用數(shù)據(jù)。并且,向從服務(wù)器裝置120a等下載的數(shù)據(jù)上附加CA署名,在信息處理終端100進行署名驗證,由此防止在下載數(shù)據(jù)的通信路徑上的篡改、偷換、盜聽等。
程序固有信息“0101”已被記載在CRL800的信息處理終端100的使用者,為了獲得新的其他程序固有信息,逃避被CRL排除,從程序用服務(wù)器裝置120a進行程序固有信息的取得請求。
在這種情況時,本發(fā)明涉及的服務(wù)器裝置120a在固有信息發(fā)送履歷保持單元140,關(guān)于以前發(fā)送的程序,具有記錄了信息處理終端100的終端ID“0102”和程序固有信息ID“0101”的固有信息發(fā)送履歷600。
在從信息處理終端100向服務(wù)器裝置120a進行新的程序固有信息取得請求時,服務(wù)器裝置120a判斷賦予給該程序固有信息取得請求的終端ID“0102”是否已記載在固有信息發(fā)送履歷600中,在已有記載的情況下,禁止發(fā)送程序固有信息,向所述信息處理終端100僅發(fā)送程序主體。并且,參照固有信息發(fā)送履歷600,在未記載與賦予給程序固有信息取得請求的終端ID對應(yīng)的程序固有信息ID的情況下,使終端ID和程序固有信息ID對應(yīng),追加到固有信息發(fā)送履歷600中,同時向信息處理終端100發(fā)送程序和程序固有信息。
另外,服務(wù)器裝置120a不向信息處理終端100再次發(fā)送的僅是程序固有信息,程序主體可以被發(fā)送2次以上。這是因為程序固有信息通過CRL800被無效化,只要程序固有信息不被更新,就能排除企圖非法使用的信息處理終端100的使用者取得新的應(yīng)用數(shù)據(jù)。
圖9是表示本實施方式1涉及的程序標題900和程序910中包含的其他數(shù)據(jù)結(jié)構(gòu)的圖。在圖9中,與圖3的不同之處是不向程序910附加CA署名311。
程序標題900用于存儲與程序910有關(guān)的信息,包括和上述的程序標題300相同的信息的程序ID(901)、版本號(902)、程序大小(903)、散列數(shù)據(jù)值(904)、CA署名(905)。
在信息處理終端100進行程序標題900和程序910的正當性驗證時,首先從服務(wù)器裝置120取得程序標題900,驗證附加給程序標題900的CA署名905。這樣,信息處理終端100驗證程序標題900是未被篡改的從正當發(fā)送方發(fā)送的信息。
然后,算出程序910的散列數(shù)據(jù)值。比較所算出的散列數(shù)據(jù)值和存儲在程序標題900的程序的散列數(shù)據(jù)值904,確認是一致的。這樣,信息處理終端100可以驗證到程序910是未被篡改的從正當發(fā)送方發(fā)送的信息。
這樣,在進行程序910的正當性驗證時通過使用存儲在程序標題900的程序的散列數(shù)據(jù)值904,向程序標題900僅附加CA署名905,可以降低程序910的CA署名的必要信息,與向程序標題900、程序910附加署名的情況時相同,可以進行正當性驗證。另外,當程序標題900和程序910的組合被非法變更的情況下,在信息處理終端100通過算出程序的散列數(shù)據(jù)值,可以檢測組合的異常。并且,通過不進行程序910的CA署名,沒必要把程序910轉(zhuǎn)發(fā)給認證局進行CA署名。
下面,圖10是表示固有信息標題1000和程序固有信息1020中包含的其他數(shù)據(jù)結(jié)構(gòu)的圖。在圖10中,與圖4的不同之處是,固有信息標題1000具有程序固有信息散列數(shù)據(jù)值1005,向程序固有信息1020不附加CA署名422。
固有信息標題1000用于存儲與程序固有信息1020有關(guān)的信息,由與存儲在上述固有信息標題400的信息相同的信息的程序固有信息ID1001、程序ID1002、固有信息數(shù)1003、程序固有信息整體的大小1004、程序固有信息整體的散列數(shù)據(jù)值1005、固有信息子標題1006、和對固有信息標題整體的CA署名1007構(gòu)成。
因此,信息處理終端100算出程序固有信息1020的散列數(shù)據(jù)值,比較所算出的散列數(shù)據(jù)值與存儲在固有信息標題1000的程序固有信息的散列數(shù)據(jù)值1005,確認是一致的,由此可以驗證程序固有信息1020未被篡改的從正當發(fā)送方發(fā)送的信息。
如上所述,本實施方式1涉及的服務(wù)器裝置120具有固有信息發(fā)送履歷保持單元140,由此服務(wù)器裝置120可以防止信息處理終端100重新取得與以前發(fā)送的程序?qū)?yīng)的程序固有信息。因此,可以避免企圖取得新的程序固有信息420逃避排除的信息處理終端100的竊聽等非法行為,實現(xiàn)安全下載。
另外,在信息處理終端100,通過利用記錄在僅可以從內(nèi)部存取的安全的閃存等上的終端固有密鑰110對從服務(wù)器裝置120取得的程序進行加密,不需要以往在服務(wù)器裝置利用信息處理終端的固有密鑰對程序進行加密的處理,可以減輕服務(wù)器裝置120的程序加密處理的負擔。另外,在這種情況下,在信息處理終端100用終端固有密鑰110進行加密的情況下,需要確認能夠正確進行加密。關(guān)于這一點,在本發(fā)明中,信息處理終端100在存儲程序后用終端固有密鑰110進行解密,利用明文程序的散列數(shù)據(jù)值進行驗證,從而不必有意識地對每個信息處理終端100利用不同的終端固有密鑰110進行加密,就可以判定程序存儲是否成功。
另外,服務(wù)器裝置120把程序整體劃分為程序310和程序固有信息420來分別生成。因此,服務(wù)器裝置120管理多個在各個信息處理終端100成為不同信息的容量較小的程序固有信息420,僅管理一個在所有信息處理終端100成為共同信息的容量大的程序310,從而進一步降低服務(wù)器裝置120管理的發(fā)送信息的容量,進而可以減輕信息管理的負擔。
在服務(wù)器裝置120,向固有信息標題1000存儲程序固有信息1020的散列數(shù)據(jù)值1005,僅向固有信息標題1000附加CA署名1007,由此可以一面降低程序910的CA署名所需要的信息,一面獲得與向固有信息標題1000、程序固有信息1020附加署名時相同的效果。并且,在固有信息標題1000和程序固有信息1020的組合被非法變更的情況下,在信息處理終端100,通過算出程序固有信息1020的散列數(shù)據(jù)值,可以檢測組合的異常。
另外,在本實施方式1所示的固有信息發(fā)送履歷保持單元140保持的固有信息發(fā)送履歷600的形式僅是一例,可以刪除最終發(fā)送日期603,也可以附加其他信息。在本實施方式1中,對記載在固有信息發(fā)送履歷600的終端ID601拒絕發(fā)送程序固有信息420,但只要不是非法取得,也可以對具有該終端ID601的信息處理終端100再次發(fā)送已經(jīng)發(fā)送的程序固有信息420。
在本實施方式1涉及的服務(wù)器裝置120中,來自信息處理終端100的請求可以是伴隨有程序發(fā)送的程序發(fā)送請求,或者不伴隨程序發(fā)送的程序固有信息發(fā)送請求中的任一種。
在本實施方式1中,在信息處理終端100和服務(wù)器裝置120之間進行使用了SSL的加密數(shù)據(jù)的收發(fā),但只要是在兩點間能夠安全收發(fā)數(shù)據(jù)的方法,不限于SSL,也可使用其他通信協(xié)議。
在本實施方式1中,數(shù)據(jù)存儲單元106和程序存儲單元105是兩個不同單元,但也可以形成同一個存儲單元。另外,在隱秘信息存儲單元107存儲終端公開密鑰證明書113,但也可以存儲在數(shù)據(jù)存儲單元106。
本實施方式1涉及的服務(wù)器裝置120把程序標題300、固有信息標題400作成不同的程序310、程序固有信息420,但也可以把程序310和程序標題300、程序固有信息420和固有信息標題400作成一體的信息,在從服務(wù)器裝置120發(fā)送之前,先抽出標題部分發(fā)送給信息處理終端100。
在本實施方式1中,表示了對程序310、程序固有信息420在發(fā)送時使用對話密鑰進行加密的示例,但也可以用不同于對話密鑰的密鑰進行加密,把該密鑰也發(fā)送給程序標題300、固有信息標題400。
在本實施方式1中對記載為散列數(shù)據(jù)值之處,作為散列數(shù)據(jù)算法,也可以使用SHA-1、MD5等已有的散列數(shù)據(jù)算法,還可以使用獨自的算法。另外,也可以取代散列數(shù)據(jù)算法,用檢查和等方法進行篡改檢測。另外,向每個信息處理終端100發(fā)送不需要不同的信息的程序時,不必進行程序固有信息的發(fā)送。
(實施方式2)圖11表示本發(fā)明的實施方式2涉及的信息處理終端1100和服務(wù)器裝置1120的構(gòu)成圖。在該圖中,與本實施方式1的不同之處是,服務(wù)器裝置1120具有程序/固有信息對應(yīng)表保持單元1150。
該程序/固有信息對應(yīng)表保持單元1150是保持程序/固有信息對應(yīng)表1210的存儲單元,該程序/固有信息對應(yīng)表1210表示唯一地識別程序固有信息的程序固有信息ID和唯一地確定使用程序固有信息的程序的程序ID的對應(yīng)關(guān)系。
圖12(a)和(b)是表示本實施方式2涉及的固有信息發(fā)送履歷1200和程序/固有信息對應(yīng)表1210中包含的信息的一個示例圖。
固有信息發(fā)送履歷保持單元1140與前述的實施方式1的固有信息發(fā)送履歷600不同,管理被附加了識別與所發(fā)送的程序固有信息對應(yīng)的程序的程序ID1202的固有信息發(fā)送履歷1200。關(guān)于存儲在固有信息發(fā)送履歷1200的終端ID1201、程序固有信息ID1203、及最終發(fā)送日期1204,和前述圖6相同,所以省略詳細說明。
在固有信息發(fā)送履歷1200的示例中,服務(wù)器裝置1120向信息處理終端1100已發(fā)送5個程序固有信息ID1203,各自的終端ID1201、程序ID1202、程序固有信息ID1203的組成為(終端ID、程序ID、程序固有信息ID)=(0001,0001,0001)、(0002,0001,0002)、(0010,0001,0003)、(0015,0001,0004)、(0020,0002、1001)。
程序/固有信息對應(yīng)表保持單元1150向程序/固有信息對應(yīng)表1210存儲服務(wù)器裝置1120管理的程序的程序ID1211、和識別各程序使用的程序固有信息的程序固有信息ID1212的對應(yīng)關(guān)系。
在圖12的示例中,服務(wù)器裝置1120管理程序ID是0001的程序,作為該程序使用的程序固有信息,管理程序固有信息ID為從0001到1000的程序固有信息。同樣,管理程序ID是0002的程序,和該程序使用的程序固有信息ID為從1001到2000的程序固有信息。另外,為了防止再次發(fā)送以及發(fā)送給信息處理終端1100的程序固有信息,在下次開始發(fā)送程序固有信息時,在程序/固有信息對應(yīng)表1210存儲作為應(yīng)該發(fā)送的程序固有信息的發(fā)送開始ID1213。
在圖12的示例中,表示對程序ID是0001的程序分配新的程序固有信息時,服務(wù)器裝置1120分配程序固有信息ID0123的程序固有信息。同樣,表示對程序ID是0002的程序分配新的程序固有信息時,服務(wù)器裝置1120分配程序固有信息ID1423的程序固有信息。
另外,服務(wù)器裝置1120使用該程序/固有信息對應(yīng)表1210,對來自信息處理終端1100的指定程序ID的程序發(fā)送請求,發(fā)送與該程序ID對應(yīng)的程序固有信息。
下面,使用圖13說明本發(fā)明的實施方式2的程序發(fā)送步驟。圖13是表示服務(wù)器裝置1120的程序發(fā)送步驟的流程圖。
首先,服務(wù)器裝置1120從信息處理終端1100接收程序發(fā)送請求(S1301)。該程序發(fā)送請求用于指定程序ID。
然后,服務(wù)器裝置1120從所接收的程序發(fā)送請求取得信息處理終端1100的終端ID和程序ID(S1302)。對固有信息發(fā)送履歷1200檢索所取得的終端ID、程序ID(S1303),確認固有信息發(fā)送履歷1200是否存儲有相同終端ID且相同程序ID的履歷(S1304)。
在固有信息發(fā)送履歷1200存儲有相同終端ID且相同程序ID的履歷時(S1304為是),服務(wù)器裝置1120由于已經(jīng)向信息處理終端1100發(fā)送相對已指定程序的程序固有信息1135,所以僅發(fā)送程序1133,并結(jié)束處理(S1309)。
在固有信息發(fā)送履歷1200沒有存儲相同終端ID且相同程序ID的履歷時(S1304為否),服務(wù)器裝置1120以存儲在程序/固有信息對應(yīng)表1210的發(fā)送開始ID的信息為基礎(chǔ),向信息處理終端1100分配新的程序固有信息1135(S1305)。
然后,服務(wù)器裝置1120針對新分配的程序固有信息1135,參照存儲在程序/固有信息對應(yīng)表保持單元1150的程序/固有信息對應(yīng)表1210,更新發(fā)送開始ID1213的值(S1306)。并且,對新分配的程序固有信息1135,向固有信息發(fā)送履歷1200追加終端ID和程序固有信息ID的對應(yīng)關(guān)系(S1307)。然后,服務(wù)器裝置1120向信息處理終端1100發(fā)送程序固有信息1135(S1308),發(fā)送程序1133,結(jié)束處理(S1309)。
如上所述,本實施方式2涉及的服務(wù)器裝置1120,具有固有信息發(fā)送履歷保持單元1140和程序/固有信息對應(yīng)表1150,使用固有信息發(fā)送履歷1200和程序/固有信息對應(yīng)表1210進行程序固有信息的發(fā)送管理,防止對由一個信息處理終端1100執(zhí)行的同一程序發(fā)送多個程序固有信息1135。因此,能夠防止企圖取得新的程序固有信息1135來逃避排除的信息處理終端1100取得新的程序固有信息1135。
本實施方式2涉及的服務(wù)器裝置1120,把下載對象的程序和執(zhí)行該程序的信息處理終端1100的對應(yīng)關(guān)系存儲在程序/固有信息對應(yīng)表1210中,按程序單位管理程序固有信息1135的發(fā)送,由此可以對每個程序判定可否發(fā)送程序固有信息1135。因此,服務(wù)器裝置1120參照程序/固有信息對應(yīng)表1210,可以防止向非執(zhí)行對象的信息處理終端1100發(fā)送程序。
另外,在本實施方式2中,數(shù)據(jù)存儲單元1106和程序存儲單元1105是兩個不同單元,但也可以形成同一個存儲單元。另外,在本實施方式2所示的固有信息發(fā)送履歷1200的形式僅是一例,可以刪除最終發(fā)送日期1204,也可以附加其他信息。同樣,程序/固有信息對應(yīng)表1210的形式也僅是一例,也可以用其他形式管理發(fā)送開始ID1213。例如,也可以設(shè)置具有存儲了所有程序固有信息ID的數(shù)據(jù)表,識別是否已對各個程序固有信息ID進行分配的旗標,由此管理程序固有信息1135的發(fā)送狀態(tài)。
在本實施方式2中,對記載在固有信息發(fā)送履歷1200的終端ID1201拒絕發(fā)送程序固有信息1135,但也可以對該信息處理終端1100再次發(fā)送已經(jīng)發(fā)送的程序固有信息1135。另外,在本實施方式2中,來自信息處理終端1100的請求可以是伴隨有程序發(fā)送的程序發(fā)送請求,或者不伴隨程序發(fā)送的程序固有信息發(fā)送請求。
(實施方式3)圖14表示本實施方式3涉及的信息處理終端1400和服務(wù)器裝置1420的構(gòu)成圖。在該圖中,與前述的實施方式1和實施方式2的不同之處是,服務(wù)器裝置1400具有發(fā)送次數(shù)信息保持單元1440。
該發(fā)送次數(shù)信息保持單元1440是保持用于管理從服務(wù)器裝置1420向同一信息處理終端1400發(fā)送程序固有信息1435的次數(shù)的發(fā)送次數(shù)信息1500的硬盤。
圖15是表示本實施方式3涉及的發(fā)送次數(shù)信息1500的信息存儲示例。
在發(fā)送次數(shù)信息1500中存儲作為識別發(fā)送了程序固有信息1435的信息處理終端1400的ID終端ID1501,和表示已發(fā)送次數(shù)的次數(shù)計數(shù)器1502。在該圖示例中,表示對終端ID是0001、0002的信息處理終端1400發(fā)送一次程序固有信息1435,對終端ID是0003的信息處理終端1400未發(fā)送程序固有信息1435。
圖16是表示服務(wù)器裝置1420的程序發(fā)送步驟的流程圖。
首先,服務(wù)器裝置1420從信息處理終端1400接收程序發(fā)送請求(S1601)。然后,服務(wù)器裝置1420取得在S1601所接收的程序發(fā)送請求中包含的信息處理終端1400的終端ID(S1602)。
服務(wù)器裝置1420使用保持在發(fā)送次數(shù)信息保持單元1440的發(fā)送次數(shù)信息1500檢索在S1602所取得的終端ID,取得次數(shù)計數(shù)器的值(S1603)。并且,判定所取得的次數(shù)計數(shù)器的值是否為規(guī)定值以上(S1604)。
當所取得的次數(shù)計數(shù)器的值是規(guī)定值以上時(S1604為是),服務(wù)器裝置1420由于已經(jīng)向信息處理終端1400發(fā)送規(guī)定次數(shù)以上的程序固有信息1435,所以僅發(fā)送程序1433,并結(jié)束處理(S1608)。
另一方面,當所取得的次數(shù)計數(shù)器的值不足規(guī)定值時(S1604為否),服務(wù)器裝置1420向信息處理終端1400分配新的程序固有信息1435(S1605)。并且,服務(wù)器裝置1420加算存儲在發(fā)送次數(shù)信息保持單元1440中的發(fā)送次數(shù)信息1500的次數(shù)計數(shù)器的值(S1606)。服務(wù)器裝置1420向信息處理終端1400發(fā)送程序固有信息1435(S1607),發(fā)送程序1433,結(jié)束處(S1608)。
這樣,本實施方式3涉及的服務(wù)器裝置1420具有發(fā)送次數(shù)信息保持單元1440,使用發(fā)送次數(shù)信息1500進行程序固有信息1435的發(fā)送管理,由此可以防止向一個信息處理終端1400發(fā)送規(guī)定值以上的程序固有信息1435。特別是,當把規(guī)定值設(shè)為1時,和本發(fā)明的實施方式1和實施方式2相同,服務(wù)器裝置1420使用程序固有信息1435包含的信息,可以防止對被識別為非法終端將被排除的信息處理終端1400分配新的程序固有信息1435,防止非法終端逃避排除。
另外,通過把表示程序固有信息1435的發(fā)送次數(shù)的規(guī)定值設(shè)為2以上,對因硬盤故障等非非法目的再次購買程序的使用者,可以正規(guī)地進行程序固有信息1435的再發(fā)送和重新分配。
在本實施方式3中,數(shù)據(jù)存儲單元1406和程序存儲單元1405是兩個不同單元,但也可以形成同一個存儲單元。另外,本實施方式3表示的發(fā)送次數(shù)信息1500的形式僅是一例,也可以附加其他信息。在本實施方式3中,來自信息處理終端1400的請求可以是伴隨有程序發(fā)送的程序發(fā)送請求,或者不伴隨程序發(fā)送的程序固有信息發(fā)送請求。
(實施方式4)圖17是本實施方式4涉及的信息處理終端1700和服務(wù)器裝置1720的構(gòu)成圖。在該圖中,與前述實施方式3的不同之處是,服務(wù)器裝置1720具有程序/固有信息對應(yīng)表保持單元1750。該程序/固有信息對應(yīng)表保持單元1750是與圖11中說明的程序/固有信息對應(yīng)表保持單元1150相同的存儲單元。
圖18(a)和(b)是表示本實施方式4涉及的發(fā)送次數(shù)信息1800和存儲在程序/固有信息對應(yīng)表1810的數(shù)據(jù)的一個示例圖。
發(fā)送次數(shù)信息1800存儲所發(fā)送的程序的程序ID1801、發(fā)送了程序固有信息1735的信息處理終端1700的終端ID1802、表示發(fā)送了程序固有信息的次數(shù)的次數(shù)計數(shù)器1803。與前述實施方式3的發(fā)送次數(shù)信息1500的不同之處是,附加了識別使用程序固有信息的程序的程序ID1801。
發(fā)送次數(shù)信息1800表示把使用程序ID是0001的程序的程序固有信息1735,對終端ID是0001、0002的信息處理終端1700發(fā)送一次,對終端ID是0003的信息處理終端1700不發(fā)送程序固有信息1735。同樣,把使用程序ID是0002的程序的程序固有信息1735,對終端ID是0001的信息處理終端1700發(fā)送一次,對終端ID是0002、0003的信息處理終端1700不發(fā)送程序固有信息1735。
另外,程序/固有信息對應(yīng)表1810和前述圖12的程序/固有信息對應(yīng)表1210相同,所以省略詳細說明。
圖19是表示服務(wù)器裝置1720的程序發(fā)送步驟的流程圖。
首先,服務(wù)器裝置1720從信息處理終端1700接收程序發(fā)送請求(S1901)。該程序發(fā)送請求包含信息處理終端1700請求取得的程序的程序ID。然后,服務(wù)器裝置1720取得在S1901所接收的程序發(fā)送請求中包含的信息處理終端1700的終端ID、程序ID(S1902)。
服務(wù)器裝置1720對發(fā)送次數(shù)信息1800檢索在S1902所取得的終端ID、程序ID,取得次數(shù)計數(shù)器的值(S1903)。并且,判定所取得的次數(shù)計數(shù)器的值是否為規(guī)定值以上(S1904)。
當所取得的次數(shù)計數(shù)器的值是規(guī)定值以上時(S1904為是),服務(wù)器裝置1720由于已經(jīng)向信息處理終端1700發(fā)送規(guī)定次數(shù)以上的程序固有信息1735,所以僅發(fā)送程序1733,并結(jié)束處理(S1909)。
然后,當所取得的次數(shù)計數(shù)器的值不足規(guī)定值時(S1904為否),服務(wù)器裝置1720以存儲在程序/固有信息對應(yīng)表1810的發(fā)送開始ID的信息為基礎(chǔ),向信息處理終端1700分配新的程序固有信息1735(S1905)。
并且,服務(wù)器裝置1720對在S1905新分配的程序固有信息1735,更新存儲在程序/固有信息對應(yīng)表1810的發(fā)送開始ID的值(S1906)。而且,加算存儲在發(fā)送次數(shù)信息1800的次數(shù)計數(shù)器的值(S1907),向信息處理終端1700發(fā)送程序固有信息1735(S1908),發(fā)送程序1733,結(jié)束處理(S1909)。
如上所述,本實施方式4涉及的服務(wù)器裝置1720具有發(fā)送次數(shù)信息保持單元1740和程序/固有信息對應(yīng)表保持單元1750,使用保持在各保持單元的發(fā)送次數(shù)信息1800和程序/固有信息對應(yīng)表1810,發(fā)送并管理程序固有信息1735,防止對由一個信息處理終端1700執(zhí)行的同一程序發(fā)送規(guī)定值以上的程序固有信息1735,可以排除企圖非法使用程序固有信息1735的信息處理終端1700。
另外,在本實施方式4中,服務(wù)器裝置1720通過按程序單位管理程序固有信息的發(fā)送,可以按每個程序判定可否發(fā)送程序固有信息1735。
另外,在本實施方式4中,數(shù)據(jù)存儲單元1706和程序存儲單元1705是兩個不同單元,但也可以形成同一個存儲單元。另外,本實施方式4表示的發(fā)送次數(shù)信息1800的形式僅是一例,也可以附加其他信息。同樣,程序/固有信息對應(yīng)表1810的形式僅是一例,也可以用其他形式來管理。在本實施方式4中,來自信息處理終端1700的請求可以是伴隨有程序發(fā)送的程序發(fā)送請求,或者不伴隨程序發(fā)送的程序固有信息發(fā)送請求。
如上所述,本發(fā)明涉及的服務(wù)器裝置具有固有信息發(fā)送履歷保持單元,可以防止信息處理終端程序取得與以前發(fā)送的程序?qū)?yīng)的程序固有信息,能夠可靠防止企圖取得新的程序固有信息來逃避被排除的信息處理終端的非法行為。
另外,本發(fā)明涉及的信息處理終端通過利用終端固有密鑰對從服務(wù)器裝置取得的程序進行加密,可以減輕服務(wù)器裝置的程序加密處理的負擔。并且,本發(fā)明涉及的服務(wù)器裝置把程序整體劃分為程序和程序固有信息來分別生成,所以服務(wù)器裝置能夠管理多個在各信息處理終端成為不同信息的容量較小的程序固有信息,而在所有信息處理終端成為共同信息的容量大的程序僅管理一個,可以降低服務(wù)器裝置管理的發(fā)送信息的容量,減輕信息管理的負擔。
另外,在從本發(fā)明涉及的服務(wù)器裝置發(fā)送給信息處理終端的程序整體中,包含由信息處理終端執(zhí)行的程序主體、程序標題、程序固有信息和固有信息標題,所以通過對構(gòu)成程序的各個信息使用CA署名或散列數(shù)據(jù)值,能夠確認從服務(wù)器裝置發(fā)送給信息處理終端的信息的正當性。
工業(yè)應(yīng)用性本發(fā)明涉及的服務(wù)器裝置和程序管理系統(tǒng)可以用作通過互聯(lián)網(wǎng)向具有通信功能的個人計算機、移動電話等信息處理終端發(fā)送程序的服務(wù)器裝置、及該服務(wù)器裝置和信息處理終端之間的程序管理系統(tǒng)。
權(quán)利要求
1.一種服務(wù)器裝置,通過網(wǎng)絡(luò)連接用于保持從外部不能進行改寫的終端ID的信息處理終端,保持所述信息處理終端執(zhí)行動作的程序,其特征在于,具有數(shù)據(jù)表保持單元,保持表示以前發(fā)送的程序和終端ID的關(guān)聯(lián)的數(shù)據(jù)表;和判定單元,參照所述數(shù)據(jù)表,判定是否對從所述信息處理終端發(fā)送的具有所述終端ID的程序取得請求發(fā)送程序。
2.根據(jù)權(quán)利要求1所述的服務(wù)器裝置,其特征在于,在所述程序中,包括所述信息處理終端執(zhí)行動作的程序主體和所述程序主體使用的固有信息即程序固有信息,所述判定單元,在賦予給所述程序取得請求的所述終端ID被記錄在所述數(shù)據(jù)表中時,判定為禁止發(fā)送所述程序固有信息,僅向所述信息處理終端發(fā)送所述程序主體,在判定為所述終端ID未被記錄在所述數(shù)據(jù)表中時,判定為使所述終端ID與所述程序固有信息對應(yīng)并追加到所述數(shù)據(jù)表中,同時向所述信息處理終端發(fā)送所述程序主體和所述程序固有信息。
3.根據(jù)權(quán)利要求2所述的服務(wù)器裝置,其特征在于,所述判定單元對來自所述信息處理終端的所述程序取得請求,判定為所述程序主體的發(fā)送是按每個所述程序取得請求進行的,而所述程序固有信息的發(fā)送僅進行一次。
4.根據(jù)權(quán)利要求1所述的服務(wù)器裝置,其特征在于,所述數(shù)據(jù)表保持單元保持表示所述終端ID和所述程序固有信息的發(fā)送次數(shù)的數(shù)據(jù)表,所述判定單元參照所述數(shù)據(jù)表,當與賦予給從所述信息處理終端發(fā)送的所述程序取得請求的所述終端ID對應(yīng)的發(fā)送次數(shù)達到規(guī)定值時,判定為禁止發(fā)送所述程序固有信息,向所述信息處理終端僅發(fā)送所述程序主體,當參照所述數(shù)據(jù)表,與賦予給從所述信息處理終端發(fā)送的所述程序取得請求的所述終端ID對應(yīng)的發(fā)送次數(shù)未達到規(guī)定值時,使與所述終端ID對應(yīng),更新記載在所述數(shù)據(jù)表中的發(fā)送次數(shù),并判定為向所述信息處理終端發(fā)送所述程序主體和所述程序固有信息。
5.根據(jù)權(quán)利要求4所述的服務(wù)器裝置,其特征在于,所述數(shù)據(jù)表保持單元保持表示向來自所述信息處理終端的程序取得請求賦予的所述終端ID、唯一地確定發(fā)送給所述終端ID的信息處理終端的所述程序主體的程序主體ID、和表示向所述終端ID的信息處理終端發(fā)送的程序固有信息的次數(shù)的發(fā)送次數(shù)的關(guān)聯(lián)的數(shù)據(jù)表,所述判定單元參照所述數(shù)據(jù)表,當與賦予給從所述信息處理終端發(fā)送的所述程序取得請求的所述終端ID和所述程序ID雙方對應(yīng)的發(fā)送次數(shù)達到規(guī)定值時,判定為禁止發(fā)送所述程序固有信息,向所述信息處理終端僅發(fā)送所述程序主體,當參照所述數(shù)據(jù)表,當與賦予給從所述信息處理終端發(fā)送的所述程序取得請求的所述終端ID和所述程序ID對應(yīng)的發(fā)送次數(shù)未達到規(guī)定值時,使所述終端ID和所述程序ID對應(yīng)并更新記載于所述數(shù)據(jù)表中的發(fā)送次數(shù),并判定為向所述信息處理終端發(fā)送所述程序主體和所述程序固有信息。
6.根據(jù)權(quán)利要求4或5所述的服務(wù)器裝置,其特征在于,所述規(guī)定值是表示從所述服務(wù)器裝置發(fā)送給所述信息處理終端的程序固有信息的發(fā)送次數(shù)的值。
7.根據(jù)權(quán)利要求1所述的服務(wù)器裝置,其特征在于,所述數(shù)據(jù)表保持單元保持表示賦予給來自所述信息處理終端的程序取得請求的所述終端ID、唯一地確定發(fā)送給所述終端ID的信息處理終端的所述程序主體的程序主體ID、和唯一地確定發(fā)送給所述終端ID的信息處理終端的程序固有信息的程序固有信息ID的關(guān)聯(lián)的數(shù)據(jù)表,所述判定單元參照所述數(shù)據(jù)表,當記載有與賦予給從所述信息處理終端發(fā)送的所述程序取得請求的所述終端ID和所述程序ID雙方對應(yīng)的程序固有信息ID時,判定為禁止發(fā)送所述程序固有信息,向所述信息處理終端僅發(fā)送所述程序主體,當參照所述數(shù)據(jù)表,當未記載與賦予給所述程序取得請求的所述終端ID和所述程序ID雙方對應(yīng)的程序固有信息ID時,使所述終端ID和所述程序固有信息ID和所述程序ID對應(yīng)并追加到所述數(shù)據(jù)表中,同時判定為向所述信息處理終端發(fā)送所述程序主體和所述程序固有信息。
8.根據(jù)權(quán)利要求2所述的服務(wù)器裝置,其特征在于,所述服務(wù)器裝置保持多個在各個信息處理終端信息不同的所述程序固有信息,并保持一個在所有信息處理終端信息相同的所述程序主體。
9.根據(jù)權(quán)利要求2所述的服務(wù)器裝置,其特征在于,所述數(shù)據(jù)表保持單元保持表示唯一地確定所述程序主體的程序主體ID和所述程序主體動作的所述信息處理終端的終端ID的關(guān)聯(lián)的數(shù)據(jù)表,所述判定單元參照所述數(shù)據(jù)表,當對應(yīng)記載賦予給從所述信息處理終端發(fā)送的所述程序取得請求的所述終端ID和所述程序ID時,判定為可以發(fā)送所述程序,當參照所述數(shù)據(jù)表,未對應(yīng)記載賦予給從所述信息處理終端發(fā)送的所述程序取得請求的所述終端ID和所述程序ID時,判定為不可發(fā)送所述程序。
10.一種程序管理系統(tǒng),由保持不能從外部進行改寫的終端ID的信息處理終端、和通過網(wǎng)絡(luò)連接該信息處理終端并保持所述信息處理終端執(zhí)行動作的程序的服務(wù)器裝置構(gòu)成,其特征在于,所述信息處理終端在請求取得所述程序時,向所述服務(wù)器裝置發(fā)送賦予了所述終端ID的程序取得請求,所述服務(wù)器裝置具有數(shù)據(jù)表保持單元,接收所述程序取得請求,保持表示以前發(fā)送的程序和終端ID的關(guān)聯(lián)的數(shù)據(jù)表;和判定單元,參照所述數(shù)據(jù)表,判定是否對從所述信息處理終端發(fā)送的賦予有所述終端ID的程序取得請求發(fā)送程序。
11.根據(jù)權(quán)利要求10所述的程序管理系統(tǒng),其特征在于,所述信息處理終端具有存儲單元,在不能從外部進行改寫的存儲器單元按每個所述信息處理終端存儲不同的固有密鑰,使用所述固有密鑰對從所述服務(wù)器裝置取得的所述程序進行加密并存儲在所述信息處理終端內(nèi)的存儲器單元。
12.根據(jù)權(quán)利要求10所述的程序管理系統(tǒng),其特征在于,所述程序包括由所述信息處理終端執(zhí)行動作的程序主體,存儲與該程序主體有關(guān)的信息的程序標題,所述程序主體使用的固有信息即程序固有信息,和存儲與該程序固有信息有關(guān)的信息的固有信息標題,所述信息處理終端進行向所述服務(wù)器裝置請求取得的程序中包含的所述程序標題和請求取得所述固有信息標題的標題取得請求,所述服務(wù)器裝置在所述判定單元判定為可以發(fā)送所述程序主體時,向所述信息處理終端發(fā)送所述程序標題和所述固有信息標題,所述信息處理終端具有根據(jù)所述程序標題和所述固有信息標題進行驗證的驗證單元,在利用該驗證單元進行驗證后,向所述服務(wù)器裝置發(fā)送所述程序取得請求。
13.根據(jù)權(quán)利要求12所述的程序管理系統(tǒng),其特征在于,所述程序標題包括可以唯一地確定所述程序的認證符,所述信息處理終端具有驗證單元,利用所述固有密鑰對用所述固有密鑰加密并存儲在所述信息處理終端內(nèi)的存儲器單元中的程序進行解密,使用所述認證符驗證是利用所述固有密鑰正確進行了加密。
14.根據(jù)權(quán)利要求12所述的程序管理系統(tǒng),其特征在于,所述程序、所述程序標題、所述程序固有信息、及所述固有信息標題被附加有電子署名。
15.根據(jù)權(quán)利要求12所述的程序管理系統(tǒng),其特征在于,所述程序標題包括可以唯一地確定所述程序的認證符,所述固有信息標題包括可以唯一地確定所述程序固有信息的認證符。
16.一種程序發(fā)送方法,由保持不能從外部進行改寫的終端ID的信息處理終端、和通過網(wǎng)絡(luò)連接該信息處理終端并保持所述信息處理終端執(zhí)行動作的程序的服務(wù)器裝置構(gòu)成,其特征在于,所述信息處理終端具有在請求取得所述程序時,向所述服務(wù)器裝置發(fā)送賦予了所述終端ID的程序取得請求的步驟,所述服務(wù)器裝置具有數(shù)據(jù)表保持步驟,接收所述程序取得請求,保持表示以前發(fā)送的程序和終端ID的關(guān)聯(lián)的數(shù)據(jù)表;和判定步驟,參照所述數(shù)據(jù)表,判定是否對從所述信息處理終端發(fā)送的賦予有所述終端ID的程序取得請求發(fā)送程序。
17.一種程序,由通過網(wǎng)絡(luò)連接用于保持不能從外部進行改寫的終端ID的信息處理終端,并保持所述信息處理終端執(zhí)行動作的程序的服務(wù)器裝置使用,其特征在于,使計算機執(zhí)行下述步驟數(shù)據(jù)表保持步驟,保持表示以前發(fā)送的程序和終端ID的關(guān)聯(lián)的數(shù)據(jù)表;和判定步驟,參照所述數(shù)據(jù)表,判定是否對從所述信息處理終端發(fā)送的賦予有所述終端ID的程序取得請求發(fā)送程序。
全文摘要
服務(wù)器裝置(120)具有CPU(121) RAM(122);進行加密及解密處理的加密處理單元(123);與信息處理終端(100)進行通信的通信處理單元(124);存儲不需要隱秘的信息的數(shù)據(jù)存儲單元(125);存儲將要發(fā)送的程序等的信息的發(fā)送信息存儲單元(126);以及固有信息發(fā)送履歷保持單元(140),保持用于管理以前發(fā)送給信息處理終端(100)的程序的程序固有信息的履歷的固有信息發(fā)送履歷(600)。
文檔編號G06F21/00GK1568447SQ03801278
公開日2005年1月19日 申請日期2003年4月16日 優(yōu)先權(quán)日2002年4月23日
發(fā)明者前田卓治, 三浦康史, 德田克己, 井上信治 申請人:松下電器產(chǎn)業(yè)株式會社