專利名稱:應(yīng)用程序認(rèn)證系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在具有移動電話等終端和IC卡等認(rèn)證模塊的系統(tǒng)中,通過認(rèn)證模塊對終端和由終端操作的應(yīng)用程序進(jìn)行認(rèn)證的技術(shù)。
背景技術(shù):
以前,在將IC卡裝入終端,與服務(wù)器進(jìn)行商業(yè)交易操作的系統(tǒng)中,由于在終端中不能保證具有防竄改的區(qū)域,所以在服務(wù)器內(nèi)操作的應(yīng)用程序要直接認(rèn)證IC卡,從而,終端只是對服務(wù)器和IC卡之間的通信進(jìn)行中繼。
另一方面,近些年來,可以在移動電話上從服務(wù)器下載應(yīng)用程序,可以在便攜式終端上操作。
但是,由于下載到移動電話等上的應(yīng)用程序有可能進(jìn)行非法操作,所以下載的應(yīng)用程序的操作受到嚴(yán)格限制。
例如,下載到移動電話等上的應(yīng)用程序在不能在裝入移動電話中的IC卡中寫入數(shù)據(jù)、以及各種接口的使用受到限制(禁止)等,本地資源的使用受到很大限制。
此外,下載到移動電話的應(yīng)用程序受到不能讀取和寫入有關(guān)個(gè)人的信息的限制,這些信息例如是移動電話和IC卡等保持的電話簿和住所本等中記錄的郵件地址、或存儲在電子郵件收件箱中的內(nèi)容等。這是因?yàn)?,該?yīng)用程序是正規(guī)的程序,不能檢驗(yàn)是否具有存取保持在移動電話和IC卡等內(nèi)部的信息的權(quán)利,或是否沒有進(jìn)行非法的動作。
這種情況成為在將來所希望的便攜工具的用途通用化(多樣化)及電子商務(wù)(EC)的應(yīng)用中成為極大的阻礙因素。
為了消除這種限制,就需要對下載的應(yīng)用程序進(jìn)行認(rèn)證,確認(rèn)應(yīng)用程序的基本屬性。例如,可考慮在應(yīng)用程序中將附加第三者的署名與應(yīng)用程序一起下載,將為驗(yàn)證該署名和署名是正確所需要的信息對IC卡提示進(jìn)行認(rèn)證。但是,在移動電話下載應(yīng)用程序和署名后,由于生成由該移動電話判斷署名正確所需要的信息(例如通過散列函數(shù)生成的摘要),所以有可能通過移動電話對IC卡提示與所下載的應(yīng)用程序上附加的署名不同的別的假署名、及進(jìn)行由該署名能驗(yàn)證的操作的摘要。因此存在對IC卡提示的署名和摘要,不能信賴實(shí)際所下載的應(yīng)用程序和IC卡,使所下載的應(yīng)用程序不能由IC卡進(jìn)行認(rèn)證的問題。
此外,為了能夠在IC卡中存取下載到移動電話等終端的應(yīng)用程序(以下簡稱終端應(yīng)用程序),并能夠讀取寫入存儲在IC卡中被保護(hù)的信息,同樣地,需要判斷該IC卡是否進(jìn)行向IC卡的存取的終端應(yīng)用程序的認(rèn)證處理,并許可存取。
作為IC卡等安全設(shè)備進(jìn)行用于認(rèn)證向其存取的終端應(yīng)用程序的處理,在以往,是進(jìn)行安全設(shè)備判斷終端應(yīng)用程序是否保持有與該設(shè)備保持的加密信息相同的信息的處理。但是,由于終端沒有具有防竄改區(qū)域等的用于將加密信息安全地保持的區(qū)域和功能。因此,這種秘密信息有可能發(fā)生泄漏。在以往的方法中,存在有不能排除終端應(yīng)用程序使用泄漏的信息的可能性,安全設(shè)備不能嚴(yán)格地認(rèn)證終端應(yīng)用程序的問題。
為了解決這一問題,在本發(fā)明中,在IC卡等認(rèn)證模塊內(nèi)的防竄改區(qū)域中具有為認(rèn)證移動電話等終端的ROM中寫入的程序(以下,有時(shí)寫成“程序庫”)的信息,認(rèn)證模塊對終端的ROM及TRM等不易改寫的區(qū)域(以下稱為ROM)中寫入的程序庫進(jìn)行認(rèn)證。
這樣被認(rèn)證的程序庫如果自己生成在與所下載的應(yīng)用程序的署名同時(shí)生成用于判斷署名正確所需要的信息,并對IC卡提示,則對IC卡來說,通過認(rèn)證的程序庫所提示的署名和信息,可以信賴是實(shí)際所下載的應(yīng)用程序,IC卡可以認(rèn)證下載到終端的應(yīng)用程序。結(jié)果,所認(rèn)證的應(yīng)用程序可以在IC卡中寫入數(shù)據(jù)等,可以實(shí)現(xiàn)比采用現(xiàn)有終端的商用交易操作更復(fù)雜的操作。
這樣,通過在終端中所下載的應(yīng)用程序由IC卡認(rèn)證,也可以在所下載的應(yīng)用程序中允許利用終端外部接口。
另外,在本發(fā)明的實(shí)施中,需要對所下載的應(yīng)用程序的署名進(jìn)行下載。因此,不必使應(yīng)用程序的署名與應(yīng)用程序分開下載,也可以對應(yīng)于現(xiàn)有的數(shù)據(jù)規(guī)格存放在應(yīng)用程序的定義文件中。因此,不需要使署名與應(yīng)用程序的下載分開下載。
圖1是實(shí)施例1中的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。
圖2是表示實(shí)施1中的應(yīng)用程序認(rèn)證系統(tǒng)的實(shí)施例圖。
圖3是表示實(shí)施1中的應(yīng)用程序認(rèn)證系統(tǒng)的實(shí)施例圖。
圖4是表示實(shí)施2中的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。
圖5是實(shí)施例2中的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。
圖6是說明應(yīng)用程序本體和署名同關(guān)系的圖。
圖7是說明實(shí)施例2的終端操作的流程圖。
圖8是說明實(shí)施例2的認(rèn)證模塊操作的流程圖。
圖9是實(shí)施例3中的認(rèn)證模塊的功能方框圖。
圖10是說明實(shí)施例3的認(rèn)證模塊操作的流程圖。
圖11是實(shí)施例3中的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。
圖12是說明實(shí)施例4的終端對認(rèn)證模塊進(jìn)行認(rèn)證的處理的流程圖。
圖13是實(shí)施例5中的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。
圖14是模式化表示應(yīng)用程序利用資源信息的圖。
圖15是模式化表示應(yīng)用程序利用資源信息與應(yīng)用程序一起下載的狀態(tài)圖。
圖16是實(shí)施例6中的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。
圖17是實(shí)施例7中的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。
圖18是實(shí)施例8中的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。
圖19是說明實(shí)施例8的終端操作的流程圖。
圖20是說明實(shí)施例8的認(rèn)證模塊操作的流程圖。
圖21是實(shí)施例9中的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。
圖22是說明實(shí)施例9的認(rèn)證模塊操作的流程圖。
圖23是說明實(shí)施例9的認(rèn)證模塊操作的流程圖。
圖24是實(shí)施例9中的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。
圖25是表示在IC卡上實(shí)現(xiàn)實(shí)施例9的例圖。
圖26是表示在IC卡上實(shí)現(xiàn)實(shí)施例9的例圖。
圖27是實(shí)施例10中的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。
圖28是實(shí)施例11中的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。
圖29是實(shí)施例12中的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。
圖30是說明實(shí)施例12中的應(yīng)用程序認(rèn)證系統(tǒng)操作的時(shí)序圖。
圖31是實(shí)施例13中的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。
圖32是說明實(shí)施例13中的應(yīng)用程序認(rèn)證系統(tǒng)操作的時(shí)序圖。
圖33是實(shí)施例14中的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。
圖34是模式化表示TAVA應(yīng)用程序的應(yīng)用程序本體和應(yīng)用程序定義文件的圖。
圖35是說明用可選用區(qū)域中所存放的署名,進(jìn)行應(yīng)用程序認(rèn)證的處理的流程圖。
圖36是實(shí)施例2的應(yīng)用程序認(rèn)證系統(tǒng)的TRM存取程序庫具有應(yīng)用程序管理程序和設(shè)備驅(qū)動程序的圖。
圖37是實(shí)施例16的終端的功能框圖。
圖38是實(shí)施例17的終端的功能框圖。
圖39是實(shí)施例17的終端的處理流程圖。
圖40是實(shí)施例18的應(yīng)用程序認(rèn)證系統(tǒng)的功能框圖。
圖41是實(shí)施例19的應(yīng)用程序認(rèn)證系統(tǒng)的功能框圖。
圖42是實(shí)施例19的應(yīng)用程序認(rèn)證系統(tǒng)的處理流程圖。
圖43是由3個(gè)設(shè)備構(gòu)成的應(yīng)用程序認(rèn)證系統(tǒng)的功能框圖。
圖44是第1設(shè)備的動作的流程圖。
圖45是第2設(shè)備的動作的流程圖。
圖46是由3個(gè)設(shè)備構(gòu)成應(yīng)用程序認(rèn)證系統(tǒng)時(shí)第3個(gè)設(shè)備的動作的流程圖。
圖47是由4個(gè)設(shè)備構(gòu)成應(yīng)用程序認(rèn)證系統(tǒng)的功能框圖。
圖48是由4個(gè)設(shè)備構(gòu)成應(yīng)用程序認(rèn)證系統(tǒng)時(shí)第3個(gè)設(shè)備的動作的流程圖。
圖49是由4個(gè)設(shè)備構(gòu)成應(yīng)用程序認(rèn)證系統(tǒng)時(shí)第4個(gè)設(shè)備的動作的流程圖。
圖50是由5個(gè)設(shè)備構(gòu)成的應(yīng)用程序認(rèn)證系統(tǒng)的功能框圖。
圖51是由N+1個(gè)設(shè)備構(gòu)成的應(yīng)用程序認(rèn)證系統(tǒng)的功能框圖。
圖52是第i個(gè)設(shè)備的動作的流程圖。
圖53是第(N+1)設(shè)備的動作的流程圖。
圖54是使用嵌套結(jié)構(gòu)連接設(shè)備的模式圖。
圖55是實(shí)施例21的第i個(gè)設(shè)備的動作的流程圖。
具體實(shí)施例方式
本發(fā)明是關(guān)于包括終端和認(rèn)證模塊的應(yīng)用程序認(rèn)證系統(tǒng),但是所謂“終端”也可以是以移動電話為代表的便攜式電子機(jī)器。另外,也可以是個(gè)人計(jì)算機(jī)及街頭所設(shè)置的公用終端那樣事實(shí)不能攜帶的機(jī)器,是以下說明的可安裝認(rèn)證模塊的電子機(jī)器,可以在內(nèi)部操作應(yīng)用程序的機(jī)器。如下所述,終端在其內(nèi)部具有各個(gè)部,但在終端上通過具有ROM、RAM、CPU,使這些部可通過軟件實(shí)現(xiàn)。
“認(rèn)證模塊”是指在其內(nèi)部有存儲區(qū)域,有(SD)存儲卡、IC卡、智能卡,當(dāng)從所安裝的終端輸入數(shù)據(jù)時(shí),進(jìn)行稱為對其回答的操作。另外,認(rèn)證模塊具有稱為防竄改區(qū)域、防止對該處所存放的信息進(jìn)行非法讀出及非法改寫的區(qū)域。以下說明的認(rèn)證模塊內(nèi)的一些部,也可以通過在這樣的IC卡內(nèi)操作的卡應(yīng)用程序?qū)崿F(xiàn)。
通常在終端上安裝認(rèn)證模塊,在終端和認(rèn)證模塊之間形成電氣電路,進(jìn)行信息的交換。不過也有終端的本體和安裝認(rèn)證模塊的部分是分離的,通過通信進(jìn)行信息交換的形態(tài)。
在終端上操作的應(yīng)用程序要進(jìn)行算術(shù)運(yùn)算、本地接口的利用、向服務(wù)器的存取、向防竄改區(qū)域的存取、向外部存儲器的存取中的一個(gè)以上的操作。“本地接口”是指終端具有的外部接口,例如可以是用于IrDA(紅外線通信接口)、Bluetooth(藍(lán)牙)、其他無線通信、及有線通信的接口等。
在上述中,說明的是終端和認(rèn)證模塊可以容易地分開,但也可以為認(rèn)證模塊壓接或焊接在終端電路上,從而裝在終端的內(nèi)部而不易分離。
此外,在上述中,雖然記載了“終端”,但本發(fā)明不限于可便攜的設(shè)備,可以設(shè)備個(gè)人計(jì)算機(jī)和工作站代替使用終端來進(jìn)行實(shí)施。
本發(fā)明可以應(yīng)用于在多個(gè)設(shè)備串聯(lián)連接的狀態(tài)下,由一端的設(shè)備認(rèn)證另一端的設(shè)備存儲的應(yīng)用程序的處理。
(實(shí)施例1)圖1是有關(guān)本發(fā)明實(shí)施例1的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖,在本實(shí)施例中的應(yīng)用程序認(rèn)證系統(tǒng)由終端100和認(rèn)證模塊101構(gòu)成。
終端100具有下載應(yīng)用程序的下載部102?!跋螺d應(yīng)用程序”是指從下載部102的外部讀入為執(zhí)行應(yīng)用程序的數(shù)據(jù)。此處“為實(shí)行應(yīng)用程序的數(shù)據(jù)”是指,如果應(yīng)用程序是由終端100直接可以執(zhí)行的二進(jìn)制數(shù)據(jù),則是該二進(jìn)制數(shù)據(jù),而如果應(yīng)用程序是由通過終端100解釋執(zhí)行的語言來記述的,則是該記述。下載部讀入用于執(zhí)行應(yīng)用程序的數(shù)據(jù),并保持該數(shù)據(jù)。
認(rèn)證模塊101具有TRM部103。TRM部103將應(yīng)用程序認(rèn)證處理的信息保持在防竄改區(qū)域中。“TRM”是“Tamper Resistant Module”的簡稱。“應(yīng)用程序”是指下載到終端100的下載部102上的應(yīng)用程序,“應(yīng)用程序認(rèn)證”是指確認(rèn)應(yīng)用程序是否是由可信賴的人發(fā)出的、是否接受了不進(jìn)行非法操作的保證、或者在從可信賴的人發(fā)出后是否在此之后進(jìn)行了竄改,或者保證不進(jìn)行不進(jìn)行非法操作之后是否之后進(jìn)行了竄改等確認(rèn)應(yīng)用程序沒有進(jìn)行非法操作?!皯?yīng)用程序認(rèn)證的處理”是指進(jìn)行這種確認(rèn)的處理。
該認(rèn)證的處理方法通常采用SHA一1(Secure Hash Standard-1)及MD 5(Message Digest 5)等散列函數(shù)(有時(shí)不叫“散列函數(shù)”而稱“歸納函數(shù)”,以執(zhí)行應(yīng)用程序的數(shù)據(jù)為輸入數(shù)據(jù),求出處理所得到的結(jié)果數(shù)據(jù),對其進(jìn)行加密(所謂“署名”)。此時(shí)的“散列函數(shù)”是這樣一種函數(shù),即將尋找對輸入數(shù)據(jù)進(jìn)行處理所得到的結(jié)果數(shù)據(jù)一致的二個(gè)不同輸入數(shù)據(jù)在計(jì)算量上很困難的結(jié)果予以返回的函數(shù)。從而“應(yīng)用程序認(rèn)證處理的信息”是該署名本身或者對署名解碼得到散列值所需要的解碼鑰?!胺栏Z改區(qū)域”是指認(rèn)證模塊的存儲區(qū)域,即很難對該存儲區(qū)域的數(shù)據(jù)進(jìn)行非法讀出、及對該存儲區(qū)域的數(shù)據(jù)進(jìn)行非法改寫的存儲區(qū)域。這樣的存儲區(qū)域,例如為了對該存儲區(qū)域進(jìn)行存取,必須通過如不進(jìn)行正規(guī)手續(xù)就不能存取的硬件,或者在存儲區(qū)域中所存儲的數(shù)據(jù)進(jìn)行加密來實(shí)現(xiàn)。
應(yīng)用程序的認(rèn)證求出終端100下載到下載部102中的應(yīng)用程序的散列值,將該散列值和署名一起提示給認(rèn)證模塊,認(rèn)證模塊101根據(jù)TRM部103中所保持的信息,檢查是否可以從該散列值生成其署名,或者該散列值是否與對署名解碼所得到的散列值一致。另外,也可以將終端100在下載部中下載的應(yīng)用程序本身和署名提示給認(rèn)證模塊,檢查應(yīng)用程序和署名間的關(guān)系進(jìn)行認(rèn)證。
通過這樣構(gòu)成的應(yīng)用程序認(rèn)證系統(tǒng),由于可以通過認(rèn)證模塊101的TRM部103中所保持的信息,認(rèn)證下載到下載部102中的應(yīng)用程序,所以能夠防止非法的應(yīng)用程序下載而在終端100內(nèi)執(zhí)行,或存放在認(rèn)證模塊101內(nèi)。
圖2表示本實(shí)施例的應(yīng)用程序認(rèn)證系統(tǒng)的一例。在該例中,在存放有應(yīng)用程序201的狀態(tài),業(yè)務(wù)提供公司200對認(rèn)證模塊101進(jìn)行分配。得到認(rèn)證模塊101的人當(dāng)在終端100上安裝認(rèn)證模塊101時(shí),從認(rèn)證模塊101向終端100的下載部102下載應(yīng)用程序201(箭頭203)。當(dāng)所下載的應(yīng)用程序202通過存放在認(rèn)證模塊101的TRM部中的信息進(jìn)行認(rèn)證時(shí),應(yīng)用程序202在終端100內(nèi)進(jìn)行操作,從業(yè)務(wù)提供公司200接受提供的服務(wù)(箭頭204)。
圖3表示本實(shí)施例應(yīng)用程序認(rèn)證系統(tǒng)的另一例。在該例中,業(yè)務(wù)提供公司200向終端100的下載部102下載應(yīng)用程序302(箭頭303)。通過認(rèn)證模塊101的TRM部中所保持的信息,對應(yīng)用程序302進(jìn)行認(rèn)證,當(dāng)確認(rèn)不是非法的應(yīng)用程序時(shí),將應(yīng)用程序301存放到認(rèn)證模塊101中(箭頭304)。然后應(yīng)用程序301根據(jù)需要被下載到終端100的下載部102中,在終端100內(nèi)執(zhí)行。
在圖2和圖3中,在終端100內(nèi)所執(zhí)行的應(yīng)用程序是從認(rèn)證模塊下載的,但是也可以從與終端連接的服務(wù)器下載,通過認(rèn)證模塊的TRM部中所保持的信息進(jìn)行認(rèn)證,當(dāng)確認(rèn)不是非法的應(yīng)用程序時(shí),在終端內(nèi)執(zhí)行該應(yīng)用程序。
而且,雖然使用了“終端”這個(gè)用語,但是并不意味著被限定為以移動電話為代表的可以移動的終端。例如,也可以是家用電氣化制品,也可以是被稱為信息家電或網(wǎng)絡(luò)家電的制品。如果對上述制品進(jìn)行舉例,則可以列舉空調(diào)、加濕器、除濕器、空氣清潔器、微波爐、烤箱、冰箱、洗碗機(jī)、熱水器、電熨斗、褲子整燙機(jī)、吸塵器、洗衣機(jī)、干燥機(jī)、電熱毛毯、電熱墊子、照明裝置、電視機(jī)、收音機(jī)、錄音機(jī)等音頻設(shè)備、照相機(jī)、IC存儲機(jī)、電話機(jī)、傳真機(jī)、復(fù)印機(jī)、打印機(jī)、掃描儀、個(gè)人計(jì)算機(jī)等。
(實(shí)施例2)圖4表示本發(fā)明的實(shí)施例2有關(guān)的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖,應(yīng)用程序認(rèn)證系統(tǒng)由終端100和認(rèn)證模塊101構(gòu)成。終端100具有下載部102和TRM存取程序庫401。認(rèn)證模塊101具有TRM部103和TRM存取程序庫認(rèn)證部402。
下載部102對應(yīng)用程序進(jìn)行下載。
TRM存取程序庫401以自身被認(rèn)證模塊101認(rèn)證為條件進(jìn)行應(yīng)用程序認(rèn)證的處理。即,TRM存取程序庫401首先在認(rèn)證模塊101上對自身進(jìn)行認(rèn)證,當(dāng)正確認(rèn)證時(shí),進(jìn)行應(yīng)用程認(rèn)證的處理。
TRM存取程序庫401在認(rèn)證模塊101上對自身認(rèn)證的方法,是將終端100中固有的信息輸出給認(rèn)證模塊101,認(rèn)證模塊101以輸出的信息是否與存放在防竄改區(qū)域的信息相符合進(jìn)行認(rèn)證。作為“終端100中固有的信息”,①終端是移動電話時(shí),例如是其電話號碼。另外,終端100中固有信息還可以是②確定終端100種類的識別符、及附加在終端100上的制造序號等各個(gè)終端所加不同的識別符。另外,還有③利用安裝在終端100上的應(yīng)用程序組合有關(guān)的信息,認(rèn)證TRM存取程序庫401的方法?!鞍惭b在終端100上的應(yīng)用程序”意思是終端100內(nèi)具有的應(yīng)用程序,是從終端外部所下載的應(yīng)用程序、及存放在終端的ROM中的應(yīng)用程序。這時(shí),TRM存取程序庫401向認(rèn)證模塊101輸出在終端100內(nèi)裝入哪個(gè)應(yīng)用程序的信息(例如,所裝入的應(yīng)用程序的識別符等),認(rèn)證模塊101對所輸出的信息是否符合防竄改區(qū)域中所存放的信息進(jìn)行認(rèn)證。或者通過在防竄改區(qū)域中是否存放有非法的終端信息,是否不符合非法的終端信息來進(jìn)行認(rèn)證。
上面列舉的③可認(rèn)為例如對接受服務(wù)A和服務(wù)B雙方提供的服務(wù)的會員的人提供新的服務(wù)C。這時(shí)以接受提供服務(wù)A的應(yīng)用程序A、及接受提供服務(wù)B的應(yīng)用程序B,已安裝在終端100上為條件,如果TRM程序庫部401可通過認(rèn)證模塊101認(rèn)證時(shí),則對于在終端上安裝的服務(wù)A和服務(wù)B的會員可以提供用于接受服務(wù)C的應(yīng)用程序C。
另外,還有采用識別TRM存取程序庫401的信息,認(rèn)證TRM存取程序庫401的方法。“識別TRM存取程序庫401的信息”,例如是對構(gòu)成TRM存取程序庫401的軟件進(jìn)行識別的信息,該軟件的名稱、版本序號、及序列號等。TRM程序庫部401,將識別TRM存取程序庫401的信息輸出給認(rèn)證模塊,認(rèn)證模塊101對所輸出的信息是否與防竄改區(qū)域中所存放的信息符合進(jìn)行認(rèn)證。
“應(yīng)用程序認(rèn)證的處理”是由下載部102所下載的應(yīng)用程序認(rèn)證的處理。也可以是由TRM存取程序庫401進(jìn)行有關(guān)應(yīng)用程序認(rèn)證的處理一部分。另外,由于TRM存取程序庫401通過認(rèn)證模塊進(jìn)行認(rèn)證,所以也可以進(jìn)行有關(guān)應(yīng)用程序認(rèn)證的全部處理。
TRM存取程序庫401進(jìn)行的處理不一定限于用于進(jìn)行應(yīng)用程序認(rèn)證的處理。例如,如圖36所示,TRM存取程序庫401可以在其內(nèi)部具有應(yīng)用程序管理程序和設(shè)備驅(qū)動程序,來進(jìn)行這些處理。
“應(yīng)用程序管理程序”是指,提供由下載部102下載的應(yīng)用程序的啟動、結(jié)束、中止等進(jìn)行應(yīng)用程序的動作控制的功能。應(yīng)用程序管理程序例如也可以稱為“應(yīng)用程序控制程序”。
“設(shè)備驅(qū)動程序”是指管理與認(rèn)證模塊的輸入輸出的程序。例如是用于吸收對各個(gè)認(rèn)證模塊不同的輸入輸出的操作形式,通過相同的接口的操作應(yīng)用程序進(jìn)行輸入輸出的程序?!霸O(shè)備驅(qū)動程序”也可以稱為“認(rèn)證模塊存取模塊”。
TRM部103將TRM存取程序庫認(rèn)證信息保持在防竄改區(qū)域中?!癟RM存取程序庫認(rèn)證信息”是為了認(rèn)證TRM存取程序庫401的信息。正如已經(jīng)說明的那樣,該信息有在移動電話號等終端100固有的信息的情況、在終端100上所安裝的應(yīng)用程序組合有關(guān)信息的情況、及為了識別TRM存取程序庫401的信息情況等。TRM存取程序庫認(rèn)證信息由于保持在防竄改區(qū)域中,所以有時(shí)也對移動電話號碼、為了識別安裝在終端100上的應(yīng)用程序的信息、為了識別TRM存取程序庫401的信息加密后保持。
TRM存取程序庫認(rèn)別部402根據(jù)TRM存取程序庫識別信息,對終端的TRM存取程序庫401進(jìn)行認(rèn)證。即,根據(jù)從TRM存取程序庫401輸出到認(rèn)證模塊上的認(rèn)證信息、及TRM部103中所保持的TRM存取程序庫認(rèn)證信息,對TRM存取程序庫401進(jìn)行認(rèn)證。
圖5是在本實(shí)施例的應(yīng)用程序認(rèn)證系統(tǒng)中,為了對應(yīng)用程序說明應(yīng)用程序認(rèn)證的方法的圖。圖4和圖5中所示的應(yīng)用程序認(rèn)證系統(tǒng)不同在于圖5的終端100的下載部102在對附加為認(rèn)證沒有竄改而采用的信息的署名應(yīng)用程序進(jìn)行下載方面、終端100還有署名認(rèn)證信息輸出部501方面、以及認(rèn)證模塊101還有署名認(rèn)證信息輸入部502、及署名認(rèn)證部503方面。
“為認(rèn)證沒有竄改而采用的信息的署名”是指為了確認(rèn)應(yīng)用程序未被竄改的信息。圖6表示應(yīng)用程序和署名的關(guān)系。將應(yīng)用程序本體601看成數(shù)據(jù),對其使用SHA-1及MD 5等散列函數(shù)所得到的值進(jìn)行加密的是署名602。在采用署名602確認(rèn)應(yīng)用程序本體未被竄改時(shí),首先對署名進(jìn)行解碼,得到散列值。然后對應(yīng)用程序本體使用散列函數(shù)確認(rèn)所得到的值與對署名解碼所得到的散列值是否相同?;蛘邔?yīng)用程序本體使用散列函數(shù)得到散列值,對其進(jìn)行加密,確認(rèn)所得到的是否與署名相同。前者的方法例如是署名采用公開鑰加密方式時(shí)普通利用的方法,署名對散列值由進(jìn)行署名的人的密鑰進(jìn)行加密,在確認(rèn)應(yīng)用程序本體未被竄改時(shí),通過對應(yīng)于進(jìn)行了署名的人的密鑰的公開鑰進(jìn)行解碼。后者的方法例如在確認(rèn)應(yīng)用程序本體未被竄改的人知道進(jìn)行署名的人的密鑰時(shí)、及采用通用鑰加密方式時(shí)使用。
在本實(shí)施例中,TRM存取程序庫401在認(rèn)證模塊認(rèn)證自身之后,進(jìn)行由下載部102下載的應(yīng)用程序認(rèn)證的處理一部分的處理,即從由下載部102所下載的應(yīng)用程序生成署名認(rèn)證用摘要,“署名認(rèn)證用摘要”是由上述的SHA-1及MD 5等散列函數(shù)得到的散列數(shù)。
署名認(rèn)證信息輸出部501,將包括由TRM存取程序庫401所生成的署名認(rèn)證用摘要504和署名505的署名認(rèn)證信息506輸出給認(rèn)證模塊。此處的“署名505”是附加在由下載部102所下載的應(yīng)用程序上的署名。
署名認(rèn)證信息輸入部502對從署名認(rèn)證信息輸出部501所輸出的署名認(rèn)證信息506進(jìn)行輸入。
署名認(rèn)證部503根據(jù)從署名認(rèn)證信息輸入部502輸入的署名認(rèn)證用摘要和署名進(jìn)行署名的驗(yàn)證。驗(yàn)證的方法例如當(dāng)用公開鑰加密方式的密鑰對署名進(jìn)行加密時(shí),用對應(yīng)于該密鑰的公開鑰進(jìn)行解碼,比較該解碼的結(jié)果和署名認(rèn)證用摘要是否相等來進(jìn)行認(rèn)證。或者在防竄改區(qū)域中保持共用鑰,以該共同鑰對署名進(jìn)行解碼,與署名認(rèn)證用摘要進(jìn)行比較的方法,或者將該密鑰保持在防竄改區(qū)域中,以該密鑰對署名認(rèn)證用摘要進(jìn)行加密,與署名進(jìn)行比較的方法。
圖7是說明終端100的操作的流程圖。進(jìn)行該流程圖處理的前提是TRM存取程序庫401通過認(rèn)證模塊進(jìn)行認(rèn)證。在步驟S701上,在下載部102上下載應(yīng)用程序。在步驟S702上,從下載的應(yīng)用程序由TRM存取程序庫401生成署名認(rèn)證用摘要。在步驟S703上,將包括由步驟S702所求出的署名認(rèn)證用摘要和在所下載的應(yīng)用程序上附加的署名的署名認(rèn)證信息506,從署名認(rèn)證信息輸出部501輸出到認(rèn)證模塊101。
圖8是說明認(rèn)證模塊101的署名認(rèn)證信息輸入部502和署名認(rèn)證部503的操作的流程圖。進(jìn)行該流程圖處理的前提是TRM存取程序庫401通過認(rèn)證模塊進(jìn)行了認(rèn)證。因此,例如TRM存取程序庫認(rèn)證部402將認(rèn)證的結(jié)果設(shè)定在認(rèn)證模塊101內(nèi),在進(jìn)行圖8的流程圖處理時(shí),參照該設(shè)定的認(rèn)證結(jié)果,只要認(rèn)證了TRM存取程序庫401時(shí),就可進(jìn)行圖8流程圖的處理。在步驟S801中,通過署名認(rèn)證信息輸入部502輸入署名認(rèn)證信息506。在步驟S802上,根據(jù)署名認(rèn)證用摘要504和署名505進(jìn)行署名的驗(yàn)證。署名的驗(yàn)證方法如上所說明。
在本實(shí)施例中,TRM存取程序庫401以通過認(rèn)證模塊101進(jìn)行了認(rèn)證為條件,生成由下載部102所下載的應(yīng)用程序的署名認(rèn)證用摘要,由于所生成的署名認(rèn)證用摘要輸入到認(rèn)證模塊101,所以署名認(rèn)證用摘要是可信賴的,認(rèn)證模塊101可以進(jìn)行由下載部102所下載的應(yīng)用程序的認(rèn)證。
(實(shí)施例3)圖9表示本發(fā)明的實(shí)施例3所涉及的認(rèn)證模塊101的功能方框圖。本實(shí)施例是使實(shí)施例2中的署名認(rèn)證信息的認(rèn)證方法更具體化的情況,實(shí)施例2的認(rèn)證模塊101還具有署名由來摘要生成信息取得部901、及署名由來摘要生成部902。
署名由來摘要生成信息取得部901利用署名認(rèn)證信息輸入部502輸入的署名,取得為生成署名由來摘要的署名由來摘要生成信息。如果署名是對應(yīng)用程序本體的散列值進(jìn)行加密,則“署名由來摘要生成信息”是對加密進(jìn)行解碼的解碼鑰。當(dāng)加密是使用公開鑰加密方式時(shí),為對應(yīng)用程序本體的散列值加密所使用的對應(yīng)于密鑰的公開鑰是署名由來摘要生成信息。該公開鑰也可以保持在認(rèn)證模塊中。另外,也可以經(jīng)過終端100等從適當(dāng)?shù)姆?wù)器取得。
署名由來摘要生成部902利用從署名認(rèn)證信息輸入部輸入的署名903、及署名由來摘要生成信息取得部中保持的署名由來摘要生成信息,生成署名由來摘要905。即,如果署名由來摘要生成信息是公開鑰,則由該公開鑰對署名903進(jìn)行解碼,生成應(yīng)用程序本體的散列值的署名由來摘要905。
署名認(rèn)證部503根據(jù)由署名由來摘要生成部902所生成的署名由來摘要905、及從署名認(rèn)證信息輸入部502輸入的署名認(rèn)證用摘要904,進(jìn)行認(rèn)證。即,對署名由來摘要905和署名認(rèn)證用摘要904進(jìn)行比較,如果相同,則對由下載部102所下載的應(yīng)用程序進(jìn)行認(rèn)證,如果不同,則不進(jìn)行認(rèn)證。
圖10是說明本實(shí)施例中的署名認(rèn)證信息輸入部502、署名由來摘要生成信息取得部901、署名由來摘要生成部902、及署名認(rèn)證部503操作的流程圖。進(jìn)行該流程圖處理的前提是TRM存取程序庫401通過認(rèn)證模塊101進(jìn)行了認(rèn)證。因此,例如有的方法TRM存取程序庫認(rèn)證部402將認(rèn)證結(jié)果設(shè)定在認(rèn)證模塊101內(nèi),在進(jìn)行圖10的流程圖處理時(shí),參照該設(shè)定的認(rèn)證結(jié)果,只要是認(rèn)證了TRM存取程序庫401時(shí),則應(yīng)進(jìn)行圖10的流程圖處理。在步驟S1001上,通過署名認(rèn)證信息輸入部502輸入署名認(rèn)證信息506,得到署名903和署名認(rèn)證用摘要904。在步驟S1002上,通過署名由來摘要生成信息取得部901取得署名由來摘要生成信息。在步驟S1003上,從署名903和署名由來摘要生成信息,在署名由來摘要生成部902中生成署名由來摘要905。在步驟S1004上,根據(jù)署名由來摘要905和署名認(rèn)證用摘要904,在署名認(rèn)證503中進(jìn)行認(rèn)證。
(實(shí)施例4)圖11表示有關(guān)本發(fā)明實(shí)施例4的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。在本實(shí)施例中,實(shí)施例2或?qū)嵤├?中的應(yīng)用程序認(rèn)證系統(tǒng)的終端還具有認(rèn)證模塊認(rèn)證部1101。
認(rèn)證模塊認(rèn)證部1101對認(rèn)證模塊101進(jìn)行認(rèn)證。該認(rèn)證方法有圖12中所示的流程圖的方法。采用該方法時(shí),對于認(rèn)證模塊,生成公開鑰加密方式的密鑰及與其對應(yīng)的公開鑰,認(rèn)證模塊以存放該密鑰為前提。在步驟S1201上認(rèn)證模塊認(rèn)證部1101產(chǎn)生隨機(jī)數(shù)。在步驟S1202上,通過認(rèn)證模塊101具有的公開鑰,對在步驟1201產(chǎn)生的隨機(jī)數(shù)進(jìn)行加密。在步驟S1203上,對請求認(rèn)證模擬101輸入由步驟S1202加密的隨機(jī)數(shù),并進(jìn)行解碼。在步驟S1204上,從認(rèn)證模塊101接收解碼的結(jié)果,在步驟S1205上,判斷在步驟S1201產(chǎn)生的隨機(jī)數(shù)和在步驟S1204接收的解碼結(jié)果是否相等。另一方法是,認(rèn)證模塊認(rèn)證部1101請求將產(chǎn)生的隨機(jī)數(shù)輸入到認(rèn)證模塊101,并將該隨機(jī)數(shù)由認(rèn)證模塊101的密鑰進(jìn)行加密的方法。認(rèn)證模塊認(rèn)證部1101得到該加密的結(jié)果,用認(rèn)證模塊101的公開鑰進(jìn)行解碼,判斷是否與認(rèn)證模塊101中輸入的隨機(jī)數(shù)相等。
這樣,通過終端100具有為對認(rèn)證模塊101進(jìn)行認(rèn)證的認(rèn)證模塊認(rèn)證部1101,終端100可以對認(rèn)證模塊101進(jìn)行認(rèn)證,當(dāng)在終端100內(nèi)操作的應(yīng)用程序?qū)C(jī)密性很高的信息(隱私信息、電子商務(wù)(EC)的記錄、銀行交易中的戶頭余額等)寫入認(rèn)證模塊101中時(shí),可以確認(rèn)認(rèn)證模塊101是否是正當(dāng)?shù)摹?br>
(實(shí)施例5)圖13表示有關(guān)本發(fā)明實(shí)施例5的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。本實(shí)施例是實(shí)施例4中的應(yīng)用程序認(rèn)證系統(tǒng)的TRM存取程序庫401還具有應(yīng)用程序利用資源信息保持裝置1301的形式。
應(yīng)用程序利用資源信息保持裝置1301保持應(yīng)用程序利用資源信息?!皯?yīng)用程序利用資源信息”是指關(guān)于對所認(rèn)證的應(yīng)用程序允許利用的資源的信息?!八J(rèn)證的應(yīng)用程序”是指由下載部102所下載的應(yīng)用程序,進(jìn)行由TRM存取程序庫401認(rèn)證的處理,并進(jìn)行了正確認(rèn)證的應(yīng)用程序。“資源”是指應(yīng)用程序利用的應(yīng)用程序外部資源。在資源中包括終端100及在其安裝的認(rèn)證模塊101的資源的本地資源、及其以外的資源,例如終端100的通信對象的服務(wù)器的資源。在本地資源中,包括存儲器的使用、文件的使用、IrDA的使用、Bluetooth的使用、通信的使用、TRM的使用、應(yīng)用程序的使用、非接觸/接觸IC卡I/F的使用等種類。另外,在本地資源中,當(dāng)存儲器的使用等時(shí),還有關(guān)于可使用的存儲量及存儲器地址等范圍。另外,也可以有可使用的時(shí)間的范圍。
圖14例舉了應(yīng)用程序利用資源信息。在圖14中,應(yīng)用程序利用資源信息1400由存儲器的使用1401、文件的使用1402、IrDA的使用1403、Bluetooth的使用1404、通信的使用1405、TRM的使用1406、應(yīng)用程序的使用1407、非接觸/接觸IC卡I/F的使用1408、操作1409、使用日期時(shí)間1410等項(xiàng)目構(gòu)成。
存儲器的使用1401的項(xiàng)目例如可以是存儲器可使用的量、可使用的范圍地址、可寫入的次數(shù)、可讀出的次數(shù)、存儲器可使用的日期時(shí)間、不能使用的日期時(shí)間等。對快速緩沖存儲器來說,由于寫入是增加負(fù)擔(dān)的操作,所以限制存儲器寫入的次數(shù)是特別有意義的。
文件的使用1402的項(xiàng)目例如是描述終端100具有的文件及認(rèn)證模塊101等對終端100上連接的外部存儲器具有文件的存取限制的項(xiàng)目,例如包括可存取的目錄名、可存取的文件名、可存取的文件種類(例如可由文件的張展符指定)、可使用的日期時(shí)間,不可使用的日期時(shí)間等。
IrDA的使用1403是表示是否允許使用終端100具有的紅外線通信功能的項(xiàng)目,該功能包括可以使用/不可以使用的時(shí)刻、可以使用的總時(shí)間、使用次數(shù)等。
Bluetooth的使用1404是表示是否允許使用終端100具有的Bluetooth的通信功能的項(xiàng)目,該功能除了可使用的時(shí)刻、可使用的總時(shí)間、使用次數(shù)之外,還可以有可使用的電波強(qiáng)度、隱現(xiàn)(ロ一ミンゲ)次數(shù)、可使用/不可使用的日期時(shí)間等。通過指定可使用的電波強(qiáng)度,可以指定可通信的距離。
通信的使用1405是表示,是否允許使用與服務(wù)器的通信功能的項(xiàng)目,該功能除了可使用/不可使用的時(shí)刻、可使用的總時(shí)間、使用次數(shù)、可使用的電波強(qiáng)度、隱現(xiàn)次數(shù)之外,還可以有可存取的服務(wù)器等。可存取的服務(wù)器是通過IP地址的地址指定、域名的指定、或者電子郵件服務(wù)器及FTP服務(wù)器等的服務(wù)器功能或與服務(wù)器間通信協(xié)議的指定,指定應(yīng)用程序是否可以利用服務(wù)器等。
TRM的使用1406是表示是否允許向認(rèn)證模塊101等的防竄改區(qū)域進(jìn)行存取的項(xiàng)目,包括向該防竄改區(qū)域可存取的日期時(shí)間、不能存取的日期時(shí)間、存取次數(shù)、在具有防竄改區(qū)域的IC卡內(nèi)操作的卡應(yīng)用程序、可以存取的卡應(yīng)用程序、可利用的IC卡命令的種類等。
應(yīng)用程序的使用1407是表示指定可與應(yīng)用程序相關(guān)聯(lián)的其他應(yīng)用程序的項(xiàng)目。例如地址薄及電子郵件、日程表、游戲等。另外,也可以包括與其他應(yīng)用程序相關(guān)聯(lián)的日期時(shí)間。當(dāng)終端100是移動電話時(shí),也可以指定在電話通話時(shí)是否允許應(yīng)用程序與通話并行操作,或者在通話開始時(shí)是否必須停止或結(jié)束。
接觸/非接觸IC卡I/F的使用1408是是否允許使用與終端100可進(jìn)行信息交換的接解/非接觸IC卡及與IC卡讀寫器進(jìn)行信息交換的接口的項(xiàng)目。包括該接口可使用的時(shí)刻、可使用的總時(shí)間、可使用/不可使用的次數(shù)、可使用I/F(Type A、TypeB、Type C等)、及可利用的IC卡命令的種類等。
使用日期時(shí)間1410指定應(yīng)用程序可操作的日期時(shí)間?;蛘咧付☉?yīng)停止應(yīng)用程序操作的日期時(shí)間。
由下載部102下載的應(yīng)用程序在使用資源時(shí),對TRM存取程序庫401提出資源使用請求,TRM存取程序庫401參照應(yīng)用程序利用資源信息保持裝置1301中所保持的應(yīng)用程序利用資源信息,判斷所請求的資源是否可以使用,如果可以使用,則該請求的資源在應(yīng)用程序中使用。
應(yīng)用程序利用資源信息也可以與由下載部102所下載的應(yīng)用程序同時(shí)下載,保持在應(yīng)用程序利用資源信息保持裝置1301中。圖15是模式化表示應(yīng)用程序利用資源與應(yīng)用程序同時(shí)下載的數(shù)據(jù)的圖。首先有應(yīng)用程序本體的應(yīng)用程序數(shù)據(jù)1501,接著是為認(rèn)證應(yīng)用程序數(shù)據(jù)1501的署名的應(yīng)用程序數(shù)據(jù)署名數(shù)據(jù)1502,之后有應(yīng)用程序利用資源信息1503,有為認(rèn)證應(yīng)用程序利用資源信息的應(yīng)用程序利用資源信息署名數(shù)據(jù)1504。在應(yīng)用程序利用資源信息1503中,加有標(biāo)號1505的部分,由“IrDA 1”表示可使用IrDA,由“Bluetooth 0”表示不可使用Bluetooth等。
另外,應(yīng)用程序利用資源信息也可以存放在認(rèn)證模塊101中,根據(jù)需要讀出,由應(yīng)用程序利用資源信息保持裝置1301保持。
這樣,通過TRM存取程序庫401具有應(yīng)有程序利用資源信息保持裝置1301的構(gòu)成,被下載的應(yīng)用程序可以限制可使用的資源。從而,可以進(jìn)行使應(yīng)用程序利用資源信息對應(yīng)用程序制作者及服務(wù)提供者等發(fā)行,得到報(bào)酬的商業(yè)行為。在該本地資源的允許控制中,可以使用應(yīng)用程序利用資源信息,對于特定的應(yīng)用程序可以使本地資源的利用更細(xì)地進(jìn)行允許/不允許。在進(jìn)行本地資源允許時(shí),如果對應(yīng)用程序利用資源信息的發(fā)行者支付使有費(fèi),則就可以成為應(yīng)用程序利用資源信息發(fā)行的商業(yè)交易。另外,終端100的利用者通過支付報(bào)酬,可以使對終端100上所下載的應(yīng)用程序資源使用的限制更少的得到應(yīng)用程序利用資源信息,也可以實(shí)現(xiàn)將終端100的利用者作為對方的商業(yè)交易。
在實(shí)施例2至實(shí)施例5中,下載部102也可以下載使用許諾書?!笆褂迷S諾書”是下載應(yīng)用程序帶署名的應(yīng)用程序利用資源信息?!跋螺d應(yīng)用程序”是由下載部102所下載的應(yīng)用程序?!皫鹈膽?yīng)用程序利用資源信息”是在應(yīng)用程序利用資源信息上附加該應(yīng)用程序利用資源信息的署名。應(yīng)用程序利用資源信息由于是為了下載的應(yīng)用程序使用終端100及認(rèn)證模塊101的資源的許可證,所以保證應(yīng)用程序利用資源的真正性是很重要的,為此在應(yīng)用程序利用資源信息上加署名。
所下載的應(yīng)用程序署名的驗(yàn)證、及應(yīng)用程序利用資源信息署名的驗(yàn)證,既可以同時(shí)進(jìn)行,也可不同時(shí)進(jìn)行。例如,最初進(jìn)行應(yīng)用程序署名的驗(yàn)證,操作應(yīng)用程序,在對資源存取時(shí),進(jìn)行應(yīng)用程序利用資源信息署名的驗(yàn)證,確認(rèn)是真正的后判斷是否允許資源的存取。另外,所下載的應(yīng)用程序署名和應(yīng)用程序利用資源署名的制作者,既可以是相同的也可以是不同的。署名的制作者不同的可能理由是由于有時(shí)應(yīng)用程序的制作者和應(yīng)用程序利用資源信息的發(fā)行者不同,前者對后者申請資源利用的許可,從后者接受應(yīng)用程序利用資源信息發(fā)行的緣故。在申請資源利用的許可時(shí),也可以進(jìn)行報(bào)酬的收受。
另外,在使用許諾書的應(yīng)用程序利用資源信息中,當(dāng)包括表示應(yīng)用程序可以存取資源的時(shí)間限度的期限日期信息時(shí),根據(jù)該期限日期信息允許的時(shí)間信息已經(jīng)到期限時(shí),下載部102也可以下載使用許諾書,并更新使用許諾書。
另外,當(dāng)執(zhí)行下載的應(yīng)用程序時(shí),或/及應(yīng)用程序認(rèn)證時(shí),也可以下載使用許諾書。使用許諾書的下載也可以從能夠與終端100通信的服務(wù)器進(jìn)行。另外,也可以從認(rèn)證模塊10進(jìn)行。
另外,下載部102也可考慮持續(xù)保持從服務(wù)器下載的使用許諾書,但是這時(shí)使用許諾書在服務(wù)器內(nèi)有時(shí)被更新的情況,由下載部102所保持的使用許諾書有可能失效。因此,下載部102在執(zhí)行下載的應(yīng)用程序時(shí),或/及應(yīng)用程序認(rèn)證時(shí),也可以向服務(wù)器詢問下載的使用許諾書的有效性。
另外,下載部102也可以由下載部102或終端100的其他部對服務(wù)器聯(lián)機(jī)詢問使用許諾書的內(nèi)容,也可以詢問應(yīng)用程序是否允許利用資源。
(實(shí)施例6)圖16表示,本發(fā)明實(shí)施例6有關(guān)的應(yīng)用程序認(rèn)證系統(tǒng)的功能示框圖。本實(shí)施例是實(shí)施例4或?qū)嵤├?的應(yīng)用程序認(rèn)證系統(tǒng)的終端100的TRM存取程序部401有應(yīng)用程序利用資源信息輸出裝置1601。
應(yīng)用程序利用資源輸出裝置1601對由認(rèn)證模塊認(rèn)證部1101進(jìn)行認(rèn)證的認(rèn)證模塊輸出應(yīng)用程序利用資源信息。
在本實(shí)施例中,認(rèn)證模塊101的TRM部103對從應(yīng)用程序利用資源輸出裝置1601所輸出的應(yīng)用程序利用資源信息,進(jìn)行可以改寫的保持在防竄改區(qū)域中。
這樣保持在防竄改區(qū)域中的應(yīng)用程序利用資源信息,可根據(jù)需要讀入終端100中,并當(dāng)由下載部102下載的資源信息要使用資源時(shí),為了判斷是否能使用該資源進(jìn)行參照。
這樣,通過終端100的TRM存取程序庫401具有應(yīng)用程序利用輸出裝置1601,并且TRM部103保持由應(yīng)用程序利用資源信息輸出裝置1601所輸出的應(yīng)用程序利用資源信息,即使在認(rèn)證模塊101中保持的狀態(tài)提供應(yīng)用程序利用資源信息之后,也可以根據(jù)需要改寫應(yīng)用程序利用資源信息。例如,可以改寫應(yīng)用程序利用資源的有效期限等。另外,例如通過服務(wù)的提供者及服務(wù)利用者支付等價(jià)費(fèi)用,可以使防竄改區(qū)域保持的應(yīng)用程序利用資源信息,更新為對應(yīng)用程序可使用的資源限制少。由于改寫是預(yù)先通過署名認(rèn)證信息輸入部502所認(rèn)證的TRM存取程序庫401進(jìn)行的,所以可以防止非法改寫。
(實(shí)施例7)圖17表示本發(fā)明實(shí)施例7有關(guān)的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。本實(shí)施例是實(shí)施例5或?qū)嵤├?中的應(yīng)用程序認(rèn)證系統(tǒng)的終端100具有應(yīng)用程序資源信息下載部1701。
應(yīng)用程序利用資源信息下載部1701對加有署名1703的應(yīng)用程序利用資源信息1702進(jìn)行下載。該下載也可以象圖15中所示的那樣與由下載部102下載的應(yīng)用程序一起進(jìn)行下載。另外也可以與下載部102所下載的應(yīng)用程序分開下載。例如,先下載應(yīng)用程序,而當(dāng)該應(yīng)用程序?qū)Y源進(jìn)行存取時(shí),再下載應(yīng)用程序利用資源信息。
在本實(shí)施例中,TRM存取程序庫401也可以對應(yīng)用程序利用資源信息下載部1701所下載的應(yīng)用程序利用資源信息1702上加的署名1703進(jìn)行認(rèn)證。由于TRM存取程序庫401通過認(rèn)證模塊101進(jìn)行認(rèn)證,所以通過可正確認(rèn)證的TRM存取程序庫401對應(yīng)用程序利用資源信息1702的署名1703進(jìn)行認(rèn)證的結(jié)果,對認(rèn)證模塊101來說是可以信賴的。從而根據(jù)這樣認(rèn)證的應(yīng)用程序利用資源信息1702,即使下載的應(yīng)用程序允許向認(rèn)證模塊101存取,也可保證不發(fā)生非法操作。
(實(shí)施例8)圖18表示本發(fā)明實(shí)施例8有關(guān)的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。本實(shí)施例是實(shí)施例5或?qū)嵤├?中的應(yīng)用程序認(rèn)證系統(tǒng)的終端100具有應(yīng)用程序利用資源信息下載部1701、及應(yīng)用程序利用資源信息署名認(rèn)證信息輸出部1801,認(rèn)證模塊101具有應(yīng)用程序利用資源信息署名認(rèn)證信息輸入部1802、及應(yīng)用程序利用資源信息署名認(rèn)證部1803。本實(shí)施例不是在實(shí)施例7中由TRM存取程序庫401對應(yīng)用程序利用資源信息1702上加的署名1703進(jìn)行認(rèn)證,而是通過認(rèn)證模塊認(rèn)證署名1703的形式。
應(yīng)用程序利用資源信息下載部1701對加有署名1703的應(yīng)用程序利用資源信息1702進(jìn)行下載。
在本實(shí)施例中,TRM存取程序庫401從應(yīng)用程序利用資源信息下載部1701所下載的應(yīng)用程序利用資源信息1702生成署名認(rèn)證用摘要,應(yīng)用程序利用資源信息署名認(rèn)證信息輸出部1801將包括所生成的署名認(rèn)證用摘要、及署名1703的署名認(rèn)證信息1806輸出給認(rèn)證模塊。
應(yīng)用程序利用資源信息署名認(rèn)證信息輸入部1802,對從應(yīng)用程序利用資源信息署名認(rèn)證信息輸出部1801所輸出的署名認(rèn)證信息1806進(jìn)行輸入。署名認(rèn)證信息1806包括TRM存取程序庫401生成的署名認(rèn)證用摘要1804、及在應(yīng)用程序利用資源信息1702上附加的署名1703的署名1805。
應(yīng)用程序利用資源信息署名認(rèn)證部1803根據(jù)從應(yīng)用程序利用資源信息署名認(rèn)證信息輸入部1802所輸入的署名認(rèn)證用摘要1804和署名1805,進(jìn)行署名的驗(yàn)證。
圖19是說明本實(shí)施例中的終端100操作的流程圖。在步驟S1901上,從應(yīng)用程序利用資源信息1702在TRM存取程序庫401上生成署名認(rèn)證用摘要1804。在步驟S1902上,通過應(yīng)用程序利用資源信息署名認(rèn)證信息輸出部1801,將包括署名認(rèn)證用摘要1804和署名1805的署名認(rèn)證信息1806輸出給認(rèn)證模塊101。在步驟S1903上;從認(rèn)證模塊101接收認(rèn)證結(jié)果。
圖20是說明本實(shí)施例中的認(rèn)證模塊101操作的流程圖。在步驟S2001上,通過應(yīng)用程序利用資源信息署名認(rèn)證信息輸入部1802,輸入署名認(rèn)證信息1806。在步驟S2002上,根據(jù)署名認(rèn)證用摘要1804和署名1805,在應(yīng)用程序利用資源信息署名認(rèn)證部1803,進(jìn)行署名1805的署名認(rèn)證。在步驟S2003上將認(rèn)證結(jié)果返給終端100。
在這樣的實(shí)施例中,由于根據(jù)由認(rèn)證模塊101認(rèn)證的TRM存取程序庫401所生成的署名認(rèn)證用摘要,認(rèn)證應(yīng)用程序利用資源信息1702的署名,所以該認(rèn)證的結(jié)果是可以信賴的。另外,由于在應(yīng)用程序利用資源信息署名認(rèn)證部1803上的認(rèn)證不是根據(jù)加密進(jìn)行的,也可以由是否適合于認(rèn)證模塊101的TRM部所存放的署名進(jìn)行認(rèn)證,所以用簡單的操作就可以進(jìn)行認(rèn)證。
(實(shí)施例9)本發(fā)明實(shí)施例9的特征是,在認(rèn)證模塊內(nèi)操作的認(rèn)證模塊內(nèi)應(yīng)用程序,以TRM存取程序庫通過認(rèn)證模塊進(jìn)行了認(rèn)證為條件,接受從終端內(nèi)操作的應(yīng)用程序的存取。
圖21表示本實(shí)施例有關(guān)的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。本實(shí)施例是實(shí)施例2至實(shí)施例3中應(yīng)用程序認(rèn)證系統(tǒng)的終端100具有終端應(yīng)用程序保持部2101,認(rèn)證模塊101具有包括認(rèn)證模塊內(nèi)應(yīng)用程序保持部2103的TRM部103。
終端應(yīng)用程序保持部2101保持對認(rèn)證模塊101的TRM部進(jìn)行存取的終端應(yīng)用程序2102?!敖K端應(yīng)用程序2102”是由終端100內(nèi)部所執(zhí)行的應(yīng)用程序。該應(yīng)用程序也可以是由下載部102下載的應(yīng)用程序,另外也可以是在終端的ROM中保持的應(yīng)用程序?!氨3帧笔强梢詧?zhí)行終端應(yīng)用程序2101。從而終端應(yīng)用程序保持部2101為了執(zhí)行終端應(yīng)用程序2102,可以通過安裝終端應(yīng)用程序2102的全部或一部分的終端100的可改寫的存儲區(qū)域?qū)崿F(xiàn)。
認(rèn)證模塊內(nèi)應(yīng)用程序保持部2103,保持認(rèn)證模塊內(nèi)應(yīng)用程序2104。“認(rèn)證模塊內(nèi)應(yīng)用程序2104”是在認(rèn)證模塊101內(nèi)操作的應(yīng)用程序。認(rèn)證模塊101如果是IC卡,則認(rèn)證模塊內(nèi)應(yīng)用程序2104是卡應(yīng)用程序?!氨3帧笔强梢詧?zhí)行認(rèn)證模塊內(nèi)應(yīng)用程序2104。從而,認(rèn)證模塊內(nèi)應(yīng)用程序保持部2103為了執(zhí)行認(rèn)證模塊內(nèi)應(yīng)用程序2104,可以通過安裝認(rèn)證模塊內(nèi)應(yīng)用程序2104的全部或一部分的認(rèn)證模塊的可改寫的存儲區(qū)域?qū)崿F(xiàn)。
在本實(shí)施例中,認(rèn)證模塊內(nèi)應(yīng)用程序2104以由TRM存取程序庫認(rèn)證部402進(jìn)行的TRM存取程序庫401的認(rèn)證為條件,接收從終端應(yīng)用程序2102的存取進(jìn)行操作。因此,在認(rèn)證模塊內(nèi)存放表示是否認(rèn)證了TRM存取程序庫401的值,如圖22中所示,在步驟S2201上,檢查該值本身、或這樣的值是否存在,判斷TRM存取程序庫401的認(rèn)證是否成功了。如果認(rèn)證成功,則轉(zhuǎn)到步驟S2202,接收從終端應(yīng)用程序2102的存取。步驟S2201的判斷有時(shí)由認(rèn)證模塊內(nèi)應(yīng)用程序2104進(jìn)行,有時(shí)在認(rèn)證模塊內(nèi)應(yīng)用程序2104以外進(jìn)行。在認(rèn)證模塊內(nèi)應(yīng)用程序2104進(jìn)行時(shí),認(rèn)證模塊內(nèi)應(yīng)用程序2104起動之后,到終端應(yīng)用程序2102存取之前之間,看表示是否認(rèn)證了TRM存取程序庫401的值,進(jìn)行判斷。當(dāng)在認(rèn)證模塊內(nèi)應(yīng)用程序?yàn)?104以外進(jìn)行步驟S2201的判斷時(shí),在認(rèn)證模塊內(nèi)應(yīng)用程序2104起動時(shí),確認(rèn)表示是否認(rèn)證了TRM存取程序庫401的值。
在認(rèn)證模塊101是IC卡時(shí),由于起動認(rèn)證模塊內(nèi)應(yīng)用程序2104的是卡管理程序,所以卡管理程序是否起動認(rèn)證模塊內(nèi)應(yīng)用程序2104,要看表示是否認(rèn)證了TRM存取程序庫401的值,進(jìn)行判斷。另外,與認(rèn)證模塊101的終端間的接口部分(在圖21中未畫出),在決定是否允許從終端應(yīng)用程序2102對認(rèn)證模塊內(nèi)應(yīng)用程序2104進(jìn)行存取時(shí),也可以看表示是否認(rèn)證了TRM存取程序庫401的值,進(jìn)行判斷。
另外,每當(dāng)認(rèn)證模塊內(nèi)應(yīng)用程序2104接受從終端應(yīng)用程序2102的存取時(shí),也可以要看表示是否認(rèn)證了TRM存取程序庫401的值,判斷是否接受該存取進(jìn)行操作。圖23是說明這時(shí)的認(rèn)證模塊內(nèi)應(yīng)用程序的操作的流程圖。在步驟S2301上,由認(rèn)證模塊內(nèi)應(yīng)用程序2104接受從終端應(yīng)用程序2102的存取。在步驟S2302上,認(rèn)證模塊內(nèi)應(yīng)用程序2104檢查表示是否認(rèn)證了TRM存取程序庫401的值,判斷TRM存取程序庫401的認(rèn)證是否成功了,如果該認(rèn)證成功,則在步驟S2303上,接受從終端應(yīng)用程序2102的存取,進(jìn)行操作。
圖24表示將表示是否認(rèn)證了TRM存取程序庫401的值,存放在TRM部103中的形式。TRM部103具有認(rèn)證結(jié)果識別符生成裝置2401。認(rèn)證結(jié)果識別符生成裝置2401以TRM存取程序庫認(rèn)證部402進(jìn)行的TRM存取程序庫401的認(rèn)證成功為條件,生成認(rèn)證結(jié)果識別符2402。認(rèn)證模塊內(nèi)應(yīng)用程序2104以認(rèn)證結(jié)果識別符2402的存在為條件,接受從終端應(yīng)用程序2102的存取。
認(rèn)證結(jié)果識別符2402,不只是表示TRM存取程序庫認(rèn)證部402進(jìn)行的TRM存取程序庫401的認(rèn)證成功,也可以具有表示認(rèn)證失敗的內(nèi)容。這時(shí),認(rèn)證結(jié)果識別符生成裝置2401,生成具有根據(jù)TRM存取程序庫認(rèn)證部402進(jìn)行的TRM存取程序庫401的認(rèn)證成功/失敗的內(nèi)容的認(rèn)證結(jié)果識別符2402。另外,認(rèn)證模塊內(nèi)應(yīng)用程序2104看認(rèn)證結(jié)果識別符2402的內(nèi)容,判斷認(rèn)證是否成功了。
圖25表示認(rèn)證模塊101為IC卡時(shí)的認(rèn)證結(jié)果識別符的實(shí)現(xiàn)方法。在圖25中,認(rèn)證TRM存取程序庫401的是卡應(yīng)用程序A(2501),當(dāng)TRM存取程序庫401被認(rèn)證時(shí),在可以改寫的存儲區(qū)域、例如RAM區(qū)域2503中設(shè)定認(rèn)證結(jié)果識別符。在圖25中,旗的標(biāo)記模式化地表示了認(rèn)證結(jié)果識別符。RAM區(qū)域2503是卡應(yīng)用程序A(2501)可以讀寫,但在IC卡內(nèi)的應(yīng)用程序之間,為了不受各種壞影響,通過使各應(yīng)用程序獨(dú)立起動的防火墻功能,別的卡應(yīng)用程序B(2502)不能直接存取RAM區(qū)域2503。因此,卡應(yīng)用程序A(2501)指定對方,利用可對接口公開的公開接口(Sharable Interface共享接口)功能,提供公開接口2504,通過該公開接口2504,從終端應(yīng)用程序2402進(jìn)行存取的卡應(yīng)用程序2502確認(rèn)在RAM區(qū)域2503中是否存在認(rèn)證結(jié)果識別符。
另外,圖26表示認(rèn)證模塊101是IC卡時(shí)的認(rèn)證結(jié)果識別符的另一實(shí)現(xiàn)方法。加有標(biāo)號2601、2602的矩形表示專用文件(DF)。各DF對應(yīng)于各卡應(yīng)用程序。因此,當(dāng)選擇DF時(shí),則起動對應(yīng)的卡應(yīng)用程序。以后,標(biāo)號2601的DF對應(yīng)于卡應(yīng)用程序A,同樣,標(biāo)號2602的DF對應(yīng)于應(yīng)用程序B。加有標(biāo)號2603、2604、2605、2606、2607的矩形表示基本文件(EF)。當(dāng)對應(yīng)于DF的卡應(yīng)用程序起動時(shí),就可以操作與其對應(yīng)的DF下面的EF。例如選擇標(biāo)號2601的DF,并起動卡應(yīng)用程序A時(shí),卡應(yīng)用程序A可以存取標(biāo)號2603、2604的EF。
以后,卡應(yīng)用程序A認(rèn)證TRM存取程序庫401,假定當(dāng)正確認(rèn)證時(shí),在標(biāo)號2604的EF上設(shè)置認(rèn)證結(jié)果識別符。通過將加有標(biāo)號2604的EF狀態(tài)包含在加有標(biāo)號2601的DF安全狀態(tài),可以對相當(dāng)于DF和EF形成的樹形結(jié)構(gòu)中加有標(biāo)號2601相當(dāng)于DF子孫的DF選擇進(jìn)行控制。即,標(biāo)號2602的DF的選擇,是加有標(biāo)號2601的DF子孫的某一個(gè),此處設(shè)定以加有標(biāo)號2604的EF內(nèi)識別符的存在為.條件。即,由于根據(jù)由卡應(yīng)用程序A進(jìn)行的TRM存取程序庫401的認(rèn)證結(jié)果,可以控制對應(yīng)于卡應(yīng)用程序B的DF的選擇,所以只在TRM存取程序庫401認(rèn)證卡應(yīng)用程序B時(shí)才可以起動。
根據(jù)這樣的實(shí)施例,只要TRM存取程序庫401不由認(rèn)證模塊101認(rèn)證,認(rèn)證模塊內(nèi)應(yīng)用程序2104就不會從終端應(yīng)用程序2102被存取,從而可保證認(rèn)證模塊101的安全性。
認(rèn)證模塊內(nèi)應(yīng)用程序保持部2103也可以在TRM部103的外部。這時(shí),認(rèn)證模塊內(nèi)應(yīng)用程序2104檢查是否由TRM存取程序庫認(rèn)證部402對TRM存取程序庫401進(jìn)行了認(rèn)證,接受終端應(yīng)用程序2102的存取,進(jìn)行操作。
(實(shí)施例10)圖27表示本發(fā)明實(shí)施例10有關(guān)的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。在本發(fā)明的實(shí)施例10中,認(rèn)證模塊內(nèi)應(yīng)用程序以在終端操作的應(yīng)用程序的認(rèn)證為條件,進(jìn)行從該應(yīng)用程序接受存取的操作。在本實(shí)施例的應(yīng)用程序認(rèn)證系統(tǒng)中,是實(shí)施例9中的應(yīng)用程序認(rèn)證系統(tǒng)的TRM部103具有應(yīng)用程序認(rèn)證結(jié)果識別符生成裝置2701的形態(tài)。
應(yīng)用程序認(rèn)證結(jié)果識別符生成裝置2701,以TRM存取程序庫401的應(yīng)用程序認(rèn)證的成功為條件,生成應(yīng)用程序認(rèn)證結(jié)果識別符2702。此處“應(yīng)用程序”是由下載部102下載的應(yīng)用程序。“TRM存取程序庫401進(jìn)行的應(yīng)用程序認(rèn)證”意思是根據(jù)應(yīng)用程序上所加的署名、及TRM存取程序庫401生成的署名認(rèn)證用摘要進(jìn)行的認(rèn)證。
在本實(shí)施例中,認(rèn)證模塊內(nèi)應(yīng)用程序2104以表示認(rèn)證成功的應(yīng)用程序認(rèn)證結(jié)果識別符的存在為條件,對于終端應(yīng)用程序,可以對認(rèn)證模塊內(nèi)應(yīng)用程序2104進(jìn)行存取,認(rèn)證模塊內(nèi)應(yīng)用程序2104接受從終端應(yīng)用程序的存取。
例如,最初,終端應(yīng)用程序2102進(jìn)行操作,與其相同,當(dāng)認(rèn)證模塊內(nèi)應(yīng)用程序還未操作時(shí),起動認(rèn)證模塊內(nèi)應(yīng)用程序時(shí),只要是存在應(yīng)用程序認(rèn)證結(jié)果識別符2702,就可起動認(rèn)證模塊內(nèi)應(yīng)用程序?;蛘弋?dāng)終端應(yīng)用程序2102和認(rèn)證模塊內(nèi)應(yīng)用程序2104雙方都起動了時(shí),如果發(fā)生了從終端應(yīng)用程序2102向認(rèn)證模塊內(nèi)應(yīng)用程序2104存取,則只要存在應(yīng)用程序認(rèn)證結(jié)果識別符2702,就可接受該存取。
如果在終端100內(nèi)對認(rèn)證模塊內(nèi)應(yīng)用程序進(jìn)行存取的終端應(yīng)用程序只有一個(gè)操作,則應(yīng)用程序認(rèn)證結(jié)果識別符2702只有一種就足夠了。但是,如果這樣的終端應(yīng)用程序在多數(shù)個(gè)終端100內(nèi)操作,則為了表示認(rèn)證哪個(gè)終端應(yīng)用程序,除了終端應(yīng)用程序之外,應(yīng)用程序認(rèn)證結(jié)果識別符通過應(yīng)用程序認(rèn)證結(jié)果識別符生成裝置2701生成?;蛘弋?dāng)保證不會有2個(gè)以上的終端應(yīng)用程序同時(shí)對認(rèn)證模塊內(nèi)應(yīng)用程序進(jìn)行存取時(shí),也可以應(yīng)用程序認(rèn)證識別符只生成一種,只在所認(rèn)證的終端應(yīng)用程序?qū)φJ(rèn)證模塊內(nèi)應(yīng)用程序進(jìn)行存取的瞬間,生成該應(yīng)用程序認(rèn)證識別符,當(dāng)所認(rèn)證的終端應(yīng)用程序進(jìn)行的認(rèn)證模塊內(nèi)應(yīng)用程序的存取結(jié)束時(shí),刪除該應(yīng)用程序認(rèn)證識別符。
根據(jù)這樣的實(shí)施例,只有接受認(rèn)證的應(yīng)用程序才能夠?qū)φJ(rèn)證模塊內(nèi)應(yīng)用程序進(jìn)行存取,確保認(rèn)證模塊101的安全性。
(實(shí)施例11)圖28表示本發(fā)明的實(shí)施例11有關(guān)的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。本實(shí)施例中的應(yīng)用程序認(rèn)證系統(tǒng)由終端、認(rèn)證模塊、及將應(yīng)用程序下載到終端上的服務(wù)器構(gòu)成。
在圖28中,終端2801具有下載部2804。下載部2804是下載應(yīng)用程序的部。例如從服務(wù)器2803下載應(yīng)用程序。
認(rèn)證模塊2802具有TRM部2805。TRM部2805將應(yīng)用程序認(rèn)證處理的信息保持在防竄改區(qū)域中。此處“應(yīng)用程序”的意思是在終端2801的下載部2804中下載的應(yīng)用程序。“應(yīng)用程序的認(rèn)證”是確認(rèn)應(yīng)用程序是不是由可信賴的人發(fā)行的,還是是否是接受保證不進(jìn)行非法操作的、或者是否是從可信賴的人發(fā)行之后保證不進(jìn)行竄改或不進(jìn)行非法操作之后不進(jìn)行竄改等應(yīng)用程序不進(jìn)行非法的操作。該處理方法通常采用SHA-1及MD5等輸入數(shù)據(jù)進(jìn)行處理得到的結(jié)果數(shù)據(jù)一致的很難發(fā)現(xiàn)二個(gè)不同輸入數(shù)據(jù)的散列函數(shù),求出以應(yīng)用程序的執(zhí)行數(shù)據(jù)為輸入數(shù)據(jù)進(jìn)行處理得到的結(jié)果數(shù)據(jù),將其進(jìn)行加密(所謂“署名”)。從而“應(yīng)用程序認(rèn)證處理的信息”是該署名本身,或者為對署名解碼得到散列值所需要的解密鑰?!胺栏Z改區(qū)域”是認(rèn)證模塊的存儲區(qū)域,是對該存儲區(qū)域難于非法讀出、及對該存儲區(qū)域的數(shù)據(jù)難于非法改寫的存儲區(qū)域。例如,為了對該存儲區(qū)域進(jìn)行存取,必須經(jīng)過當(dāng)不進(jìn)行正確的步驟時(shí)就不能存取的硬件,或者對存儲區(qū)域中所存儲的數(shù)據(jù)加密。
服務(wù)器2803具有終端認(rèn)證部2806。終端認(rèn)證部2806以經(jīng)過終端2801的認(rèn)證模塊2802的認(rèn)證成功為條件判斷終端2801的認(rèn)證已成功。即,服務(wù)器2803對認(rèn)證模塊2802進(jìn)行認(rèn)證。此時(shí),需要在服務(wù)器2803和認(rèn)證模塊2802之間進(jìn)行通信,但是該通信對終端2801中繼進(jìn)行。服務(wù)器2803進(jìn)行認(rèn)證模塊2802認(rèn)證的方法是服務(wù)器2803產(chǎn)生隨機(jī)數(shù),通過認(rèn)證模塊的公開鑰對該隨機(jī)數(shù)進(jìn)行加密,經(jīng)過終端2801向認(rèn)證模塊2802請求對加密的隨機(jī)數(shù)進(jìn)行解碼。認(rèn)證模塊2802通過采用防竄改區(qū)域中存放的認(rèn)證模塊2802密鑰的解碼,取得服務(wù)器2803產(chǎn)生的隨機(jī)數(shù),并通過終端2801的中繼將其返回服務(wù)器2803。服務(wù)器2803判斷產(chǎn)生的隨機(jī)數(shù)、與從認(rèn)證模塊2802傳輸來的隨機(jī)數(shù)是否相等進(jìn)行認(rèn)證?;蛘咭灿蟹?wù)器2803將隨機(jī)數(shù)直接傳送給認(rèn)證模塊2802,認(rèn)證模塊2802通過密鑰進(jìn)行加密,將該結(jié)果返回服務(wù)器2803,而服務(wù)器2803通過認(rèn)證模塊2802的公開鍵進(jìn)行解碼,用是否與傳輸給認(rèn)證模塊2803的隨機(jī)數(shù)相等來對認(rèn)證模塊進(jìn)行認(rèn)證的方法。
由于認(rèn)證模塊2802安裝在終端2801上,所以通過服務(wù)器2803對認(rèn)證模塊2802進(jìn)行認(rèn)證,安裝認(rèn)證模塊2802的終端2801也被認(rèn)證了。另外,如果以終端2801具有的固有信息,例如表示終端2801的制造序號、及機(jī)器種類的識別符、存放在終端2801的ROM中的識別符、版本序號存在于認(rèn)證模塊的防竄改區(qū)域中為條件,認(rèn)證模塊2802對終端2801進(jìn)行認(rèn)證,則認(rèn)證更為準(zhǔn)確。
這樣,服務(wù)器2803即使在終端2801中沒有防竄改區(qū)域也可以認(rèn)證終端2801,服務(wù)器2803可以準(zhǔn)確認(rèn)證終端2801,在服務(wù)器2803和終端2801之間就可進(jìn)行收費(fèi)處理、結(jié)算處理等。另外,可以從服務(wù)器2803向終端2801下載包含機(jī)密性很高數(shù)據(jù)在內(nèi)的應(yīng)用程序,復(fù)雜的商業(yè)交易操作可以在本實(shí)施例的應(yīng)用程序認(rèn)證系統(tǒng)中執(zhí)行。
(實(shí)施例12)圖29表示本發(fā)明實(shí)施例12有關(guān)的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。在本實(shí)施例中,應(yīng)用程序認(rèn)證系統(tǒng)如實(shí)施例11所示,由終端2801、認(rèn)證模塊2802、及將應(yīng)用程序下載到終端2801上的服務(wù)器2803組成。
終端2801具有下載部2804和TRM存取程序庫2901。下載部2804對應(yīng)用程序進(jìn)行下載。這時(shí),應(yīng)用程序從服務(wù)器2803下載?;蛘咭部梢詮姆?wù)器2803以外下載。TRM存取程序庫2901以在認(rèn)證模塊2802上認(rèn)證本身為條件,進(jìn)行應(yīng)用程序認(rèn)證的處理。即TRM存取程序庫2901在認(rèn)證模塊2802上對自己進(jìn)行認(rèn)證,當(dāng)正確認(rèn)證時(shí),進(jìn)行下載到下載部2804上的應(yīng)用程序認(rèn)證的處理。TRM存取程序庫2901在認(rèn)證模塊2802上對自己進(jìn)行認(rèn)證的方法有將終端2801的固有信息,例如表示制造序號、及種類的識別符、或?qū)崿F(xiàn)TRM存取程序庫2901的軟件序列號、版本序號等輸出給認(rèn)證模塊2802,在認(rèn)證模塊2802的防竄改區(qū)域中是否存在輸出的終端2801的固有信息、及序列號、版本序號等進(jìn)行的方法。
認(rèn)證模塊2802具有TRM部2805、及TRM存取程序庫認(rèn)證部2902。TRM部2805將認(rèn)證TRM存取程序庫2901的信息的TRM存取程序庫認(rèn)證信息保持在防竄改區(qū)域?!癟RM存取程序庫認(rèn)證信息”如上所述,包括終端2801的固有信息,例如表示制造序號、及種類的識別符,或者實(shí)現(xiàn)TRM存取程序庫2901的軟件序列號、版本序號等。TRM存取程序庫認(rèn)證部2902根據(jù)TRM存取程序庫認(rèn)證信息,對終端2801的TRM存取程序庫2901進(jìn)行認(rèn)證。其認(rèn)證方法如上所述,有TRM存取程序庫認(rèn)證部2902接收從TRM存取程序庫2901輸出的終端2801的固有信息、及TRM存取程序庫的序列號、版本序號等識別信息,在TRM部2805上是否存在該識別信息進(jìn)行的方法。該認(rèn)證結(jié)果從TRM存取程序庫認(rèn)證部2902輸出給TRM存取程序庫2901。另外,該認(rèn)證結(jié)果保持在認(rèn)證模塊2802內(nèi),此后與終端間信息交換時(shí)進(jìn)行參照,如果正確認(rèn)證了TRM存取程序庫2901,則認(rèn)證模塊2802則可進(jìn)行正確的信息交換,如果不是,則進(jìn)行不正確的信息交換。
服務(wù)器2803具有服務(wù)器TRM存取程序庫認(rèn)證部2903。服務(wù)器TRM存取程序庫認(rèn)證部2903以通過終端2801的存取程序庫2901的認(rèn)證模塊2802的TRM部2805的認(rèn)證成功為條件,判斷TRM存取程序庫2901的認(rèn)證成功了。服務(wù)器TRM存取程序庫認(rèn)證部2093經(jīng)過終端2801的存取程序庫2901進(jìn)行認(rèn)證模塊2802的TRM 2805認(rèn)證的方法如下。即,服務(wù)器2803產(chǎn)生隨機(jī)數(shù),通過認(rèn)證模塊2802的公開鑰對該隨機(jī)數(shù)進(jìn)行加密,經(jīng)過終端2801向認(rèn)證模塊2802請求對加密的隨機(jī)數(shù)進(jìn)行解碼。認(rèn)證模塊2802利用防竄改區(qū)域中存放的自身的密鑰,對隨機(jī)數(shù)解碼,經(jīng)過終端2801將其返回服務(wù)器2803。服務(wù)器2803判斷產(chǎn)生的隨機(jī)數(shù)、及從認(rèn)證模塊2802傳輸來的隨機(jī)數(shù)是否相等進(jìn)行認(rèn)證?;蛘?,也有服務(wù)器2803將隨機(jī)數(shù)直接傳輸給認(rèn)證模塊2802,認(rèn)證模塊2802通過自身的密鑰進(jìn)行加密,將其結(jié)果返回服務(wù)器2803,服務(wù)器2803通過認(rèn)證模塊2802的公開鑰進(jìn)行解碼,以是否與向認(rèn)證模塊2802傳送的隨機(jī)數(shù)相等來對認(rèn)證模塊進(jìn)行認(rèn)證的方法。
圖30是說明服務(wù)器TRM存取程序庫認(rèn)證部2903、TRM存取程序庫2901、及認(rèn)證模塊2802間相互作用的時(shí)序圖。在步驟S3001上,從TRM存取程序庫2901向認(rèn)證模塊2802輸出對自身進(jìn)行認(rèn)證的請求,在步驟S3002上,輸出認(rèn)證模塊上的認(rèn)證結(jié)果。在步驟S3003上,從服務(wù)器TRM存取程序庫認(rèn)證部2903向TRM取存程序庫部2901輸出認(rèn)證請求,與其相對應(yīng),在步驟S3004上,從TRM存取程序庫2901向認(rèn)證模塊2802輸出認(rèn)證請求,在步驟S3005上,向服務(wù)器TRM存取程序庫認(rèn)證部2903返回自身認(rèn)證的結(jié)果。這時(shí),通過是否正確認(rèn)證了TRM存取程序庫2901,返回正確的結(jié)果,或者返回不正確的結(jié)果。在步驟S3006上,TRM存取程序庫2901向服務(wù)器TRM存取程序庫認(rèn)證部2903返回從認(rèn)證模塊2802所輸出的結(jié)果。服務(wù)器TRM存取程序庫認(rèn)證部2903檢查該結(jié)果,如果認(rèn)證模塊2802能夠認(rèn)證,則判斷TRM存取程序庫2901也可認(rèn)證。
如上所述,TRM取存程序庫部2901的TRM存取程序庫認(rèn)證部2902的認(rèn)證結(jié)果保持在認(rèn)證模塊2802內(nèi),由于根據(jù)該認(rèn)證結(jié)果,認(rèn)證模塊2802能進(jìn)行或不能進(jìn)行正確的信息交換,所以服務(wù)器2803經(jīng)過TRM存取程序庫2801,進(jìn)行認(rèn)證模塊的TRM部的認(rèn)證,如果能正確認(rèn)證,則判斷TRM存取程序庫2901的認(rèn)證成功了。
這樣,服務(wù)器2803即使在終端2801中沒有防竄改區(qū)域也可以對終端2801進(jìn)行認(rèn)證,服務(wù)器2803可以正確認(rèn)證終端2801,可在服務(wù)器2803和終端2801之間進(jìn)行收費(fèi)處理、結(jié)算處理。另外,可以從服務(wù)器2803向終端2801下載包括機(jī)密性很高的數(shù)據(jù)在內(nèi)的應(yīng)用程序,可以在本實(shí)施例的應(yīng)用程序認(rèn)證系統(tǒng)中執(zhí)行復(fù)雜的操作。
另外,當(dāng)通過TRM存取程序庫認(rèn)證部2902認(rèn)證TRM存取程序庫2901時(shí),TRM存取程序庫2901通過認(rèn)證模塊可判斷是可以信賴的。這樣,當(dāng)將由下載部2804下載的應(yīng)用程序認(rèn)證處理的全部或一部分在TRM存取程序庫2901上進(jìn)行時(shí),由TRM存取程序庫2901進(jìn)行的應(yīng)用程序認(rèn)證處理的全部或一部分的結(jié)果對認(rèn)證模塊2802來說是可以信賴的。從而,采用TRM存取程序庫2901進(jìn)行的應(yīng)用程序認(rèn)證處理的全部或一部分的結(jié)果,認(rèn)證模塊2802可以進(jìn)行由下載部2804下載的應(yīng)用程序的認(rèn)證。對該結(jié)果正確認(rèn)證的應(yīng)用程序可以允許認(rèn)證模塊內(nèi)的數(shù)據(jù)存取,可以進(jìn)行復(fù)雜的商業(yè)交易操作。
而且,TRM存取程序庫2901進(jìn)行的應(yīng)用程序認(rèn)證的處理也可以以應(yīng)用程序向認(rèn)證模塊2802的TRM部2805的防竄改區(qū)域進(jìn)行了存取為條件進(jìn)行,這樣不對防竄改區(qū)域存取的應(yīng)用程序就不需要進(jìn)行認(rèn)證了。
另外,TRM存取程序庫2901也可以以應(yīng)用程序由下載部2804下載為條件進(jìn)行為了進(jìn)行應(yīng)用程序認(rèn)證的處理。這樣,就不必?fù)?dān)心所下載的應(yīng)用程序全部認(rèn)證,而在終端2801上執(zhí)行非法應(yīng)用程序了。
另外,TRM存取程序庫2901也可以以應(yīng)用程序的開始執(zhí)行為觸發(fā),進(jìn)行應(yīng)用程序認(rèn)證的處理。這樣,可以省略已下載的但不執(zhí)行的應(yīng)用程序的認(rèn)證。
(實(shí)施例13)圖31表示本發(fā)明實(shí)施例13有關(guān)的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。本實(shí)施例有關(guān)的應(yīng)用程序認(rèn)證系統(tǒng),由終端2801、認(rèn)證模塊2802、以及將應(yīng)用程序下載到終端2801上的服務(wù)器2803構(gòu)成。
終端2801具有下載部2804、及TRM存取程序庫2901,TRM存取程序庫2901包括署名用摘要生成裝置3101、下載應(yīng)用程序署名取得裝置3102、及應(yīng)用程序認(rèn)證數(shù)據(jù)輸出裝置3103。
下載部2804對應(yīng)用程序3104進(jìn)行下載。應(yīng)用程序3104也可以從服務(wù)器2803下載。另外,除服務(wù)器2803之外,例如也可以從認(rèn)證模塊2802下載。在本實(shí)施例中,應(yīng)用程序3104與應(yīng)用程序3104的署名3105一起下載?!芭c署名3105一起下載”意思是不只是可同時(shí)進(jìn)行下載,也可以使應(yīng)用程序3104的下載和署名3105的下載前后進(jìn)行,在下述的應(yīng)用程序3104的認(rèn)證進(jìn)行之前,下載了應(yīng)用程序3104和署名3105。
署名用摘要生成裝置3101從應(yīng)用程序中生成署名用摘要。即,從由下載部2804所下載的應(yīng)用程序生成署名用摘要?!笆鹈谜笔遣捎门c在生成署名3105時(shí)所使用的散列函數(shù)相同的散列函數(shù)所得到的值。
下載應(yīng)用程序署名取得裝置3102取得與應(yīng)用程序3104下載一起下載的署名3105。如上所述,“與應(yīng)用程序3104的下載一起下載”意思是不只是可同時(shí)進(jìn)行下載,也是在進(jìn)行下述的應(yīng)用程序3104的認(rèn)證之前,結(jié)束應(yīng)用程序3104和署名3105的下載。
應(yīng)用程序認(rèn)證數(shù)據(jù)輸出裝置將取得的署名、及由署名用摘要生成裝置3101生成的署名用摘要發(fā)送給服務(wù)器?!叭〉玫氖鹈笔怯上螺d應(yīng)用程序署名取得裝置3102取得的署名3105。
署名用摘要生成裝置3101、下載應(yīng)用程序署名取得裝置3102、及應(yīng)用程序認(rèn)證數(shù)據(jù)輸出裝置3103,進(jìn)行對由下載部2804所下載的應(yīng)用程序3104進(jìn)行認(rèn)證的處理。該處理也可以以TRM存取程序庫2901由認(rèn)證模塊2802進(jìn)行認(rèn)證為條件進(jìn)行。
認(rèn)證模塊具有TRM部2805和TRM存取程序庫認(rèn)證部2902。TRM部2805和TRM存取程序庫認(rèn)證部2902,與實(shí)施例12的TRM部和TRM存取程序庫相同。
服務(wù)器2803具有服務(wù)器TRM存取程序庫認(rèn)證部2903、應(yīng)用程序認(rèn)證數(shù)據(jù)輸入部3106、及服務(wù)器應(yīng)用程序認(rèn)證部3107。
服務(wù)器TRM存取程序庫認(rèn)證部2903,與實(shí)施例12中相同,以經(jīng)過終端2801的TRM存取程序庫2901的認(rèn)證模塊的TRM部2805的認(rèn)證成功為條件,判斷TRM存取程序庫2901的認(rèn)證成功了。
應(yīng)用程序認(rèn)證數(shù)據(jù)輸入部3106,對由服務(wù)器TRM存取程序庫認(rèn)證部2903判斷認(rèn)證成功的TRM存取程序庫2901的應(yīng)用程序認(rèn)證數(shù)據(jù)輸出裝置3103所輸出的署名用摘要、及署名進(jìn)行輸入。
服務(wù)器應(yīng)用程序認(rèn)證部3107,根據(jù)應(yīng)用程序認(rèn)證數(shù)據(jù)輸入部3106所輸入的署名用摘要、及署名,進(jìn)行應(yīng)用程序的認(rèn)證。認(rèn)證是通過對署名進(jìn)行解碼,求出摘要,判斷該摘要是否與署名用摘要相等來進(jìn)行。如果署名用公開鑰加密碼方式的服務(wù)器2803的密鑰進(jìn)行加密時(shí),則也可以用服務(wù)器2803的密鑰對應(yīng)用程序認(rèn)證數(shù)據(jù)輸入部3106所輸入的署名用摘要進(jìn)行加密,判斷所得到的署名與應(yīng)用程序認(rèn)證數(shù)據(jù)輸入部3106所輸入的署名是否相等。
圖32表示構(gòu)成本實(shí)施例中的應(yīng)用程序認(rèn)證系統(tǒng)的服務(wù)器2803、終端2801、認(rèn)證模塊2802間沿著時(shí)間的相互作用。從步驟S3201到步驟3206,與實(shí)施例12中的圖30的從步驟S3001到步驟3006相同。在步驟S3206之后,當(dāng)應(yīng)用程序3104下載到下載部2804時(shí),通過署名用摘要生成裝置3101,生成應(yīng)用程序3104的署名用摘要,通過下載應(yīng)用程序署名取得裝置3102,取得署名3105,通過應(yīng)用程序認(rèn)證數(shù)據(jù)輸出裝置3103,向應(yīng)用程序認(rèn)證數(shù)據(jù)輸入部3106輸入署名用摘要和署名(步驟S3207)。此后,通過服務(wù)器應(yīng)用程序認(rèn)證部3107根據(jù)向應(yīng)用程序認(rèn)證數(shù)據(jù)輸入部3106所輸入的署名用摘要和署名進(jìn)行應(yīng)用程序3104的認(rèn)證。
根據(jù)本實(shí)施例,以服務(wù)器2803的服務(wù)器TRM存取程序庫認(rèn)證部2903,經(jīng)過終端2801的TRM存取程序庫2901的認(rèn)證模塊2802的TRM部2805的認(rèn)證成功為條件,判斷終端2801的TRM存取程序庫2901的認(rèn)證成功了。因此,服務(wù)器2803可以判斷TRM存取程序庫2901的應(yīng)用程序認(rèn)證數(shù)據(jù)輸出裝置3103,向應(yīng)用程序認(rèn)證數(shù)據(jù)輸入部3106發(fā)送的應(yīng)用程序3104的署名用摘要和署名3105,實(shí)際上可以判斷為來源于應(yīng)用程序3104,服務(wù)器可以認(rèn)證應(yīng)用程序3104。
(實(shí)施例14)圖33表示本發(fā)明實(shí)施例14有關(guān)的應(yīng)用程序認(rèn)證系統(tǒng)的功能方框圖。在本實(shí)施例13中,由下載部2804下載的應(yīng)用程序認(rèn)證處理的一部分由服務(wù)器2803執(zhí)行的,但是在本實(shí)施例中,由服務(wù)器2803以外進(jìn)行應(yīng)用程序的認(rèn)證,服務(wù)器2803只取得認(rèn)證的結(jié)果。
終端2801具有下載部2804和TRM存取程序庫2901。下載部2804對應(yīng)用程序進(jìn)行下載。TRM存取程序庫2901包括認(rèn)證成功信息生成裝置3301和認(rèn)證成功信息輸出裝置3303。
認(rèn)證成功信息生成裝置3301生成表示應(yīng)用程序認(rèn)證成功的認(rèn)證成功信息3302。在本實(shí)施例中,應(yīng)用程序的認(rèn)證也可以只在TRM存取程序庫2901內(nèi)進(jìn)行。另外,也可以TRM存取程序庫2901和認(rèn)證模塊2802協(xié)調(diào)動作進(jìn)行。認(rèn)證成功信息生成裝置3301取得該認(rèn)證結(jié)果,生成表示認(rèn)證是否成功的認(rèn)證成功信息3302。這時(shí),也可以通過認(rèn)證模塊2802的密鑰及服務(wù)器2803的公開鑰對認(rèn)證成功信息3302進(jìn)行加密。
認(rèn)證成功信息輸出裝置3303對由認(rèn)證成功信息生成裝置3301所生成的認(rèn)證成功信息3302進(jìn)行輸出。如果認(rèn)證成功信息3302未加密時(shí),也可以通過認(rèn)證模塊2802的密鑰及服務(wù)器2803的公開鑰對認(rèn)證成功信息3302加密后輸出。
認(rèn)證模塊2802具有TRM部2805、及TRM存取程序庫認(rèn)證部2902,進(jìn)行與實(shí)施例相同的操作。
服務(wù)器2803具有服務(wù)器TRM存取程序庫認(rèn)證部、認(rèn)證成功信息輸入部3304、及服務(wù)器應(yīng)用程序認(rèn)證部3305。
服務(wù)器TRM存取程序庫認(rèn)證部進(jìn)行與實(shí)施例13相同的操作。
認(rèn)證成功信息輸入部3304,對通過服務(wù)器TRM程序庫部認(rèn)證部判斷為認(rèn)證成功的TRM存取程序庫的認(rèn)證成功信息輸出裝置所輸出的認(rèn)證成功信息進(jìn)行輸入。當(dāng)TRM存取程序庫2901通過服務(wù)器TRM存取程序庫認(rèn)證部判斷認(rèn)證成功時(shí),由TRM存取程序庫2901和認(rèn)證模塊2802所輸出的信息,對服務(wù)器2803來說是可以信賴的,所以認(rèn)證成功信息輸出裝置3303的內(nèi)容可以判斷是可以信賴的。
服務(wù)器應(yīng)用程序認(rèn)證部3305根據(jù)由認(rèn)證成功信息輸入部3304所輸入的認(rèn)證成功信息,進(jìn)行應(yīng)用程序的認(rèn)證。例如,當(dāng)通過認(rèn)證成功信息輸出裝置3303所輸出的認(rèn)證成功信息,由認(rèn)證模塊2802的密鑰及服務(wù)器2803的公開鑰進(jìn)行了加密時(shí),進(jìn)行解碼,檢查認(rèn)證成功信息的內(nèi)容,對由下載部2804下載的應(yīng)用程序進(jìn)行認(rèn)證。
(實(shí)施例15)在本發(fā)明中,為了認(rèn)證應(yīng)用程序,在進(jìn)行應(yīng)用程序的下載的同時(shí),還需要下載署名。下面在應(yīng)用程序中,說明存放應(yīng)用程序署名的應(yīng)用程序。
應(yīng)用程序通常可以分為應(yīng)用程序本體、及應(yīng)用程序定義文件?!皯?yīng)用程序本體”是為執(zhí)行應(yīng)用程序的代碼及數(shù)據(jù),“應(yīng)用程序定義文件”是描述應(yīng)用程序本體的屬性的文件,“應(yīng)用程序本體的屬性”,例如有應(yīng)用程序本體的大小、為執(zhí)行應(yīng)用程序的入口指針、在應(yīng)用程序執(zhí)行時(shí)應(yīng)轉(zhuǎn)交給應(yīng)用程序的參數(shù)(在Java中是主級的起動參數(shù))等。在應(yīng)用程序定義文件中,當(dāng)將描述應(yīng)用程序本體的屬性的部分稱為“屬性信息存放部”時(shí),在屬性信息存放部中有時(shí)存在應(yīng)用程序制作者可以自由利用的選用區(qū)域。為此,在該選用區(qū)域中,也可以存放應(yīng)用程序本體的署名數(shù)據(jù)。應(yīng)用程序本體也可以不是代碼和數(shù)據(jù)本身,而是對代碼和數(shù)據(jù)進(jìn)行壓縮的內(nèi)容。同樣,應(yīng)用程序定義文件也可以是對應(yīng)用程序本體的屬性的描述進(jìn)行壓縮的內(nèi)容。
圖34舉例表示了Java應(yīng)用程序,特別是i應(yīng)用的應(yīng)用程序的結(jié)構(gòu)。在i應(yīng)用中,應(yīng)用程序本體存放在JAR文件3401中,應(yīng)用程序定義文件以ADF文件3402提供。存放在ADF文件3402中的應(yīng)用程序本體的屬性以應(yīng)用程序的名稱,通過AppName的必須關(guān)鍵字進(jìn)行表示,應(yīng)用程序本體的大小通過App Size的必須關(guān)鍵字表示。應(yīng)用程序制作者可以自由利用的選用區(qū)域,用App Param的選用關(guān)鍵字表示。由該App Param表示的區(qū)域最長可利用255字節(jié)。另一方面,應(yīng)用程序本體的署名當(dāng)采用160位的橢圓密碼時(shí),需要20字節(jié),而如果用1024位的RSA密碼時(shí)需要128字節(jié),裝放在由App Param表示的區(qū)域中。從而可以將應(yīng)用程序本體的署名裝放在由App Param表示的區(qū)域中。
圖35是說明這樣在選用區(qū)域中存放應(yīng)用程序本體的署名數(shù)據(jù)對應(yīng)用程序進(jìn)行認(rèn)證時(shí)操作的流程圖。在步驟S3501上,從選用區(qū)域中取得署名數(shù)據(jù)。在步驟S3502上,利用由步驟3501所取得的署名數(shù)據(jù),對署名進(jìn)行認(rèn)證。這些步驟可以通過程序執(zhí)行。
另外,圖34也可以看作表示應(yīng)用程序的數(shù)據(jù)結(jié)構(gòu)。即也可以看成由存放代碼及數(shù)據(jù)壓縮文件的TAR文件的TAR文件部3401、及存放應(yīng)用程序定義文件的ADF文件的ADF文件部3402構(gòu)成的數(shù)據(jù)結(jié)構(gòu)。在這樣的數(shù)據(jù)結(jié)構(gòu)中,在ADF文件部3402的DAF文件中有存放主級起動參數(shù)等的由App Param表示的區(qū)域,在App Param表示的區(qū)域中存放由JAR文件部3401中所存放的JAR文件的署名。
在由App Param所示的區(qū)域中所存放的JAR文件的署名,也可以是保證應(yīng)用程序操作的人的署名。此處“保證應(yīng)用程序操作的人”是制作由裝放在JAR文件中的代碼和數(shù)據(jù)操作的應(yīng)用程序的人,分配該應(yīng)用程序的人、制作該應(yīng)用程序的人、驗(yàn)證該應(yīng)用程序的操作并保證不進(jìn)行非法操作的第三者等。
圖34中所示的應(yīng)用程序的數(shù)據(jù)結(jié)構(gòu),由于可以通過位串(位流)表示,所以可以制作記錄這種位串的(SD)存儲卡、軟盤、小型盤等記錄媒體。
通過這樣的應(yīng)用程序,下載應(yīng)用程序時(shí),不僅是應(yīng)用程序本體,而且也可下載應(yīng)用程序本體的署名,可以省去單獨(dú)下載署名的時(shí)間。
(實(shí)施例16)圖37是舉例表示本發(fā)明實(shí)施例16的終端的功能框圖。本實(shí)施例的特征為,在實(shí)施例1的應(yīng)用認(rèn)證系統(tǒng)終端內(nèi)部具有認(rèn)證模塊,并一體化。
在本實(shí)施例中,終端3700具有下載部3701、和TRM部3702。
下載部3701下載應(yīng)用程序,即具有與實(shí)施例1的下載部102相同的功能。
TRM部3702將用于認(rèn)證應(yīng)用程序的信息保持在防竄改區(qū)域。即具有與實(shí)施例的認(rèn)證模塊101內(nèi)的TRM部103相同的功能。
因此,在本實(shí)施例的終端,應(yīng)用程序的下載的步驟、下載應(yīng)用程序的認(rèn)證步驟可以與實(shí)施例1相同。
通過使用這種終端,在例如對從提供業(yè)務(wù)的公司向終端3700的下載部3701下載的應(yīng)用程序進(jìn)行認(rèn)證處理,該認(rèn)證處理成功的時(shí)候,對于應(yīng)用程序,可以安全地許可對TRM3702所保持的信息等存儲在終端的信息進(jìn)行存取。
而且,雖然使用了“終端”這個(gè)用語,但是并不意味著被限定為以移動電話為代表的可以移動的終端。例如,也可以是家用電氣化制品,也可以是被稱為信息家電或網(wǎng)絡(luò)家電的制品。如果對上述制品進(jìn)行舉例,則可以列舉空調(diào)、加濕器、除濕器、空氣清潔器、微波爐、烤箱、冰箱、洗碗機(jī)、熱水器、電熨斗、褲子整燙機(jī)、吸塵器、洗衣機(jī)、干燥機(jī)、電熱毛毯、電熱墊子、照明裝置、電視機(jī)、收音機(jī)、錄音機(jī)等音頻設(shè)備、照相機(jī)、IC存儲機(jī)、電話機(jī)、傳真機(jī)、復(fù)印機(jī)、打印機(jī)、掃描儀、個(gè)人計(jì)算機(jī)等。(這些也可以適用于實(shí)施例17中的“終端”)(實(shí)施例17)圖38是舉例表示本發(fā)明的實(shí)施例17的終端的功能框圖。本實(shí)施例的特征是,在實(shí)施例2等的應(yīng)用程序認(rèn)證系統(tǒng)的終端內(nèi)部,具有認(rèn)證模塊,終端和認(rèn)證模塊一體化。
在本實(shí)施例中,終端3800具有認(rèn)證模塊3801,并具有下載部3802、TRM存取程序庫3803。認(rèn)證模塊3801具有TRM3804和TRM存取程序庫認(rèn)證部3805。
認(rèn)證模塊3801將信息保持在防竄改區(qū)域中,利用該信息進(jìn)行認(rèn)證的處理。具體內(nèi)容后述。
下載部3702下載應(yīng)用程序,即具有與實(shí)施例2的下載部102相同的功能。
TRM存取程序庫3803以自身被認(rèn)證模塊3801認(rèn)證為條件,進(jìn)行應(yīng)用程序認(rèn)證的處理。即,具有與實(shí)施例2的TRM存取程序庫401相同的功能。“自身被認(rèn)證模塊3801認(rèn)證”是指,如后述那樣,通過TRM存取程序庫3805認(rèn)證部認(rèn)證。
TRM部3804將TRM存取程序庫認(rèn)證信息保持在上述防竄改區(qū)域。“TRM存取程序庫認(rèn)證信息”指用于認(rèn)證TRM存取程序庫的信息。與實(shí)施例2的定義相同。因此,TRM部3804具有與實(shí)施例2等的TRM部相同功能。防竄改區(qū)域可以在TRM部3804的內(nèi)部,也可以在認(rèn)證模塊3801的內(nèi)部、TRM部3804的外部。
TRM存取程序庫3805根據(jù)TRM存取程序庫認(rèn)證信息認(rèn)證TRM存取程序庫3803。因此,TRM存取程序庫3805具有與實(shí)施例2的TRM存取程序庫402相同的功能。
圖39是舉例說明本實(shí)施例的終端3800處理的流程。在該流程圖例舉的處理中,假定下載部3802下載了應(yīng)用程序。
在步驟S3901,通過TRM存取程序庫認(rèn)證部3805,進(jìn)行TRM存取程序庫3803的認(rèn)證處理。
在步驟S3902,判斷TRM存取程序庫3803是否被認(rèn)證,如果被認(rèn)證,進(jìn)入步驟S3903的處理。在圖39,如果沒有被認(rèn)證,處理結(jié)束,但也可以代之以清除下載到3802下載部中的應(yīng)用程序。
在步驟S3903,通過TRM存取程序庫3803進(jìn)行下載到下載部3802的應(yīng)用程序的認(rèn)證處理。
在步驟S3904,如果下載的應(yīng)用程序被認(rèn)證,則進(jìn)入步驟S3905的處理,如果S3905沒有被認(rèn)證,處理結(jié)束,但也可以換之以清除下載到3802下載部中的應(yīng)用程序。
在步驟S3905,許可下載的應(yīng)用程序?qū)φJ(rèn)證模塊的存取。進(jìn)行該許可的是認(rèn)證模塊3801?;蛘撸趹?yīng)用程序?qū)φJ(rèn)證模塊3801存取時(shí),如果必須利用TRM存取程序庫3803的功能,也可以許可通過TRM存取程序庫3803對認(rèn)證模塊的存取。
如實(shí)施例2所述,TRM存取程序庫3802具有應(yīng)用程序管理程序、設(shè)備驅(qū)動程序等。
根據(jù)本實(shí)施例,通過終端的內(nèi)部具有認(rèn)證模塊,可以在終端的內(nèi)部高度保持需要保護(hù)的信息,可以進(jìn)行下載到終端的應(yīng)用程序的認(rèn)證。
實(shí)施例18本發(fā)明的實(shí)施例18涉及由第一設(shè)備、認(rèn)證模塊構(gòu)成的應(yīng)用程序認(rèn)證系統(tǒng)。在本實(shí)施例中,認(rèn)證模塊利用保持的信息,認(rèn)證存儲在第一設(shè)備中的應(yīng)用程序。
圖40舉例說明本實(shí)施例的應(yīng)用程序認(rèn)證系統(tǒng)的功能框圖。應(yīng)用程序認(rèn)證系統(tǒng)由第一設(shè)備4001、認(rèn)證模塊4002構(gòu)成。第一設(shè)備不限于終端,例如可以是個(gè)人計(jì)算機(jī)、工作站、大型計(jì)算機(jī)、或服務(wù)器。并且,第一設(shè)備4001和認(rèn)證模塊4002不需要直接電連接。也不需要物理的接觸。例如,可以是無線連接。特別是,其網(wǎng)絡(luò)可以采用不使用光纜等電傳導(dǎo)的介質(zhì)來構(gòu)造。
第一設(shè)備4001具有應(yīng)用程序存儲部4003。應(yīng)用程序存儲部4003存儲應(yīng)用程序。應(yīng)用程序不限于通過第一設(shè)備4001動作的程序??梢允峭ㄟ^第一設(shè)備4001以外的設(shè)備動作的程序。此外,“存儲”是指保持應(yīng)用程序。與保持的時(shí)間長短無關(guān)。并與保持的目的無關(guān)。例如,其目的可以是通過第一設(shè)備4001使應(yīng)用程序工作。也可以是將應(yīng)用程序下載到第一設(shè)備4001進(jìn)行動作?;蛘?,也可以是在通過通信將應(yīng)用程序傳送來時(shí),第一設(shè)備4001為了中繼而暫時(shí)保持。或者,也可以是為了將應(yīng)用程序下載到第一設(shè)備4001以外的設(shè)備進(jìn)行保持。
認(rèn)證模塊4002具有TRM部4004。TRM部4004將用于應(yīng)用程序認(rèn)證處理的信息保持在防竄改區(qū)域。作為用于應(yīng)用程序的認(rèn)證處理的信息,例如可以例舉用于密碼的密鑰和用于確認(rèn)應(yīng)用程序的署名的真實(shí)性的證明書等。這里的應(yīng)用程序是指存儲在第一設(shè)備4001的應(yīng)用程序存儲部4003的應(yīng)用程序。因此,本實(shí)施例的認(rèn)證模塊的TRM部4004可以具有與實(shí)施例1的TRM部相同的功能。此時(shí),應(yīng)用程序的認(rèn)證處理的方法與實(shí)施例相同。
通過本實(shí)施例的應(yīng)用程序認(rèn)證系統(tǒng),可以進(jìn)行存儲在第一設(shè)備4001的應(yīng)用程序存儲部4003的應(yīng)用程序的認(rèn)證。例如,可以防止該應(yīng)用程序的非法的動作。
實(shí)施例19本發(fā)明的實(shí)施例19也與實(shí)施例18同樣,涉及由第一設(shè)備、認(rèn)證模塊構(gòu)成的應(yīng)用程序認(rèn)證系統(tǒng)。在本實(shí)施例中,在進(jìn)行存儲在第一設(shè)備的應(yīng)用程序的認(rèn)證時(shí),在第一設(shè)備內(nèi)進(jìn)行該認(rèn)證的部分通過認(rèn)證模塊來進(jìn)行認(rèn)證。
圖41舉例說明本實(shí)施例的應(yīng)用程序認(rèn)證系統(tǒng)的功能框圖。應(yīng)用程序認(rèn)證系統(tǒng)由第一設(shè)備4101、認(rèn)證模塊4102構(gòu)成。如實(shí)施例18那樣,第一設(shè)備4101和認(rèn)證模塊4102不需要直接電連接。且不需要物理的接觸。
第一設(shè)備4101具有應(yīng)用程序存儲部4103、TRM存取程序庫4104。
應(yīng)用程序存儲部4103存儲應(yīng)用程序。例如,具有與實(shí)施例18的應(yīng)用程序存儲部4003相同的功能。
TRM存取程序庫4104以自身被認(rèn)證模塊4102認(rèn)證為條件,進(jìn)行應(yīng)用程序的認(rèn)證處理。這里的“自身”是指TRM存取程序庫4104?;蛘摺白陨怼币部梢允前琓RM存取程序庫4104的部分。例如第一設(shè)備4101本身也可以是“自身”。
“應(yīng)用程序”是指存儲在應(yīng)用程序存儲部4003的應(yīng)用程序。
因此,TRM存取程序庫4104通過認(rèn)證模塊進(jìn)行自身的認(rèn)證處理,在該處理的結(jié)果為被正確認(rèn)證的情況下,進(jìn)行存儲在應(yīng)用程序存儲部4103的應(yīng)用程序的認(rèn)證處理。
TRM存取程序庫4104如實(shí)施例2說明的那樣,可以具有應(yīng)用程序管理程序和設(shè)備驅(qū)動程序,并進(jìn)行這些處理。
認(rèn)證模塊4102具有TRM部4105和TRM存取程序庫認(rèn)證部4106。
TRM部4105將TRM存取程序庫認(rèn)證信息保持在防竄改區(qū)域?!癟RM存取程序庫認(rèn)證信息”是指用于認(rèn)證TRM存取程序庫的信息。例如可以例舉用于確定第一設(shè)備的信息。作為這樣的信息,可以是第一設(shè)備的制造者編號和制造編號,在第一設(shè)備被分配電話號碼時(shí),可以是該電話號碼。而且,也可以是確定與第一設(shè)備連接的其他的設(shè)備的信息,或確定裝載在第一設(shè)備的部件的信息,或安裝在第一設(shè)備的程序的版本號等、表示第一設(shè)備的放置狀況等。此外,在第一設(shè)備能夠保持某些秘密信息,例如密鑰等時(shí),將用于檢測該密鑰是真實(shí)的信息作為TRM存取程序庫認(rèn)證信息。
關(guān)于防竄改區(qū)域,請參照實(shí)施例2的說明。
TRM存取程序庫認(rèn)證部4106根據(jù)TRM存取程序庫認(rèn)證信息認(rèn)證第一設(shè)備4101的TRM存取程序庫4104。即,取得從TRM存取程序庫4104送來的信息,判斷從TRM存取程序庫4104得到的信息是否符合TRM存取程序庫認(rèn)證信息,進(jìn)行認(rèn)證的處理。
TRM存取程序庫4106認(rèn)證的對象不限于TRM存取程序4104,也可以是包含TRM存取程序庫4104的部分,例如,可以是認(rèn)證第一設(shè)備4101的整體。此時(shí),TRM存取程序庫認(rèn)證信息可以使用第一設(shè)備4101的制造編號等和第一設(shè)備4101的放置狀況等。
圖42是舉例說明本實(shí)施例的應(yīng)用程序認(rèn)證系統(tǒng)的動作的流程圖。
在步驟4201,通過TRM存取程序庫4106,進(jìn)行TRM存取程序庫4104的處理。此時(shí),可以使用保持在防竄改區(qū)域中的TRM存取程序庫認(rèn)證信息。
在步驟S4202,通過步驟S4201的處理,判斷TRM存取程序庫4104是否被認(rèn)證。如果判斷被認(rèn)證,在步驟S4203,通過TRM存取程序庫4104進(jìn)行存儲在應(yīng)用程序存儲部4103中的應(yīng)用程序的認(rèn)證處理。
在本實(shí)施例中,通過認(rèn)證模塊4102的TRM存取程序庫認(rèn)證部4106認(rèn)證的TRM存取程序庫4104進(jìn)行應(yīng)用程序的認(rèn)證,因此,應(yīng)用程序的認(rèn)證的結(jié)果對于認(rèn)證模塊4102可以信賴。其結(jié)果,通過執(zhí)行存儲在應(yīng)用程序存儲部4103中的應(yīng)用程序,在產(chǎn)生對認(rèn)證模塊的存取時(shí),認(rèn)證模塊可以許可該存取。此外。即使例如應(yīng)用程序存儲部4103的目的是向其他的設(shè)備下載應(yīng)用程序,也可以許可從由應(yīng)用程序存儲部4103下載的應(yīng)用程序?qū)φJ(rèn)證模塊的存取??梢栽趹?yīng)用程序上附加表示由認(rèn)證模塊4102認(rèn)證的信息。由此,可以實(shí)現(xiàn)比以往的處理復(fù)雜的處理。
實(shí)施例20在實(shí)施例19等中的應(yīng)用程序認(rèn)證系統(tǒng)是由第1設(shè)備和認(rèn)證模塊2個(gè)主要的設(shè)備構(gòu)成。但是,在本實(shí)施例中,主要的設(shè)備不限定在2個(gè)。
圖43舉例說明主要的設(shè)備為3個(gè)時(shí)的應(yīng)用程序認(rèn)證系統(tǒng)的功能框圖。該應(yīng)用程序認(rèn)證系統(tǒng)由第1設(shè)備4301、第2設(shè)備4302、第3設(shè)備4303構(gòu)成。即應(yīng)用程序認(rèn)證系統(tǒng)具有3個(gè)主要部分。這3個(gè)主要部分串聯(lián)連接,但如實(shí)施例18和實(shí)施例19那樣,第1設(shè)備4101和認(rèn)證模塊4102不需要直接電連接。且不需要物理的接觸。此外,第1設(shè)備4301、第2設(shè)備4302、第3設(shè)備4303的所有者或占有者可以是一個(gè)人,這3個(gè)設(shè)備也可以由不同的人所有或占有。
與實(shí)施例19的應(yīng)用程序認(rèn)證系統(tǒng)的對應(yīng)如下。即,第1設(shè)備4301相當(dāng)于認(rèn)證模塊,第3設(shè)備4303相當(dāng)于終端和實(shí)施例19的第一設(shè)備4101。
第1設(shè)備4301具有TRM存儲部4304、第1認(rèn)證處理部4305。
TRM部4304將用于認(rèn)證第2設(shè)備的認(rèn)證信息保持在防竄改區(qū)域。由此,具有與實(shí)施例19的TRM部相同的功能。但是,在保持在防竄改區(qū)域的信息成為用于認(rèn)證第2設(shè)備的認(rèn)證信息這一點(diǎn)上不同。此外,在防竄改區(qū)域,不但保持用于認(rèn)證第2設(shè)備的信息,也可以保持用于認(rèn)證第3設(shè)備的信息。作為該認(rèn)證信息,與實(shí)施例19的TRM存取程序庫認(rèn)證信息同樣地,可以是設(shè)備的制造編號,表示設(shè)備被放置的狀況的信息,或者,在設(shè)備能夠保持密鑰和證明書時(shí),用于檢測該密鑰和說明書的真實(shí)性的信息。
第1認(rèn)證處理部4305根據(jù)上述認(rèn)證信息,認(rèn)證第2設(shè)備4302。“上述認(rèn)證信息”是指保持在防竄改區(qū)域的認(rèn)證信息。
第2設(shè)備4302具有第2認(rèn)證處理部4306。第2認(rèn)證處理部4306以自身被第1認(rèn)證處理部認(rèn)證為條件,認(rèn)證第3設(shè)備4303。這里的“自身”是指包含第2認(rèn)證處理部4306的第2設(shè)備3402。
第2設(shè)備4302被第1認(rèn)證處理部4305認(rèn)證的情況下,第2設(shè)備4302對于第設(shè)備4301是可以信賴的設(shè)備。由此,第1設(shè)備4301許可第2設(shè)備4302對保持在防竄改區(qū)域的信息進(jìn)行存取。因此,第2認(rèn)證處理部4306在認(rèn)證第3設(shè)備4303的情況下,可以使用保持在防竄改區(qū)域的信息。第2認(rèn)證處理部4306在認(rèn)證第3設(shè)備4303時(shí),可以采用保持在防竄改區(qū)域的信息。
這樣,第2認(rèn)證處理部4306可以具有用于存取第1設(shè)備4301的設(shè)備驅(qū)動程序的功能。
第2認(rèn)證處理部4306可以通過與第1設(shè)備和第3設(shè)備不同的其他的設(shè)備來取得用于認(rèn)證第3設(shè)備4303的信息。在取得該信息時(shí),第2認(rèn)證處理部4306可以提示表示第2設(shè)備4302通過第1認(rèn)證處理部4305被認(rèn)證的信息。
第3設(shè)備4303具有應(yīng)用程序存儲部4307和第3認(rèn)證處理部4308。應(yīng)用程序存儲部4307存儲應(yīng)用程序。因此,具有與實(shí)施例19等的應(yīng)用程序存儲部相同的功能。為此,不特別限定存儲應(yīng)用程序的時(shí)間的長短和存儲的目的。
第3認(rèn)證處理部4308以自身被第2設(shè)備4302認(rèn)證為條件,進(jìn)行用于認(rèn)證上述應(yīng)用程序的處理?!吧鲜鰬?yīng)用程序”是指存儲在應(yīng)用程序存儲部4307的應(yīng)用程序?!白陨怼笔侵傅?設(shè)備4303。
第3設(shè)備4303被第2認(rèn)證處理部4306認(rèn)證的情況下,第3設(shè)備4303對于第1設(shè)備4301是可以信賴的設(shè)備。由此,第1設(shè)備4301許可第3設(shè)備4303對保持在防竄改區(qū)域的信息進(jìn)行存取。因此,第3在認(rèn)證處理部4306認(rèn)證應(yīng)用程序的情況下,可以使用保持在防竄改區(qū)域的信息。
第3認(rèn)證處理部4308可以通過與第1設(shè)備和第2設(shè)備不同的其他的設(shè)備來取得用于認(rèn)證應(yīng)用程序的信息。在取得該信息時(shí),第3認(rèn)證處理部4308可以提示表示第3設(shè)備4302通過第2認(rèn)證處理部4306被認(rèn)證的信息。而且,此時(shí),也可以提示第2設(shè)備4302被第1認(rèn)證處理部4305認(rèn)證的信息。
圖44是舉例說明第1設(shè)備4301的動作的流程圖。在步驟S4401,第1認(rèn)證處理部4305取得TRM部4304保持在防竄改區(qū)域的認(rèn)證信息。在步驟S4402,判斷是否得到了認(rèn)證。如果得到了認(rèn)證,在步驟S4404,向第2設(shè)備傳遞得到了認(rèn)證的信息。
圖45舉例說明第2設(shè)備4302的動作的流程圖。在步驟4501,判斷是否通過第1認(rèn)證處理部4305得到了認(rèn)證。該判斷在圖44所述的步驟S4404中,通過判斷認(rèn)證的信息是否由第1設(shè)備4301進(jìn)行了傳遞來進(jìn)行。如果得到了認(rèn)證,在步驟S4502,通過第2認(rèn)證處理部4306進(jìn)行第3設(shè)備的認(rèn)證處理。在步驟S4503,判斷認(rèn)證是否完成。如果認(rèn)證完成,在步驟S4504,向第3設(shè)備傳達(dá)已被認(rèn)證的信息。
圖46舉例說明第3設(shè)備4303的動作的流程圖。在步驟4601,判斷是否通過第2認(rèn)證處理部4306得到了認(rèn)證。該判斷在圖45所述的步驟S4504中,通過判斷認(rèn)證的信息是否由第2設(shè)備4302進(jìn)行了傳遞來進(jìn)行。如果得到了認(rèn)證,在步驟S4602,進(jìn)行應(yīng)用程序的認(rèn)證處理。在圖46,在此結(jié)束處理,但也可以將應(yīng)用程序的認(rèn)證處理的結(jié)果例如向第1設(shè)備4301傳達(dá)。也可以向第2設(shè)備4302傳達(dá)。此外,在應(yīng)用程序向其他的設(shè)備存取時(shí),也可以提示表示由第3認(rèn)證處理部4308進(jìn)行了認(rèn)證的信息?;蛘?,在應(yīng)用程序中附加表示由第3認(rèn)證處理部4308進(jìn)行了認(rèn)證的信息。
以上是由3個(gè)主要的設(shè)備構(gòu)成應(yīng)用程序認(rèn)證系統(tǒng)的情況,但如圖47所示,應(yīng)用程序認(rèn)證系統(tǒng)也可以由4個(gè)主要的設(shè)備構(gòu)成。
在圖47中,應(yīng)用程序認(rèn)證系統(tǒng)由第1設(shè)備4701、第2設(shè)備4702、第3設(shè)備4703、第4設(shè)備4704構(gòu)成。第1設(shè)備4701具有TRM部4705、第1認(rèn)證處理部4706,它們與圖43中的TRM部4304、第1認(rèn)證處理部4305對應(yīng)。第2設(shè)備4702具有第2認(rèn)證處理部4707。它與圖43的第2認(rèn)證處理部4306對應(yīng)。
第3設(shè)備具有第3認(rèn)證處理部4708。第3認(rèn)證處理部4708以自身被第2認(rèn)證處理部4707認(rèn)證為條件,認(rèn)證第4設(shè)備4704。如果第3設(shè)備4703被第2認(rèn)證處理部4707認(rèn)證,第3設(shè)備4703對于第1設(shè)備4701是可以信賴的設(shè)備,因此,第1設(shè)備4701許可第3設(shè)備4703存取TRM部4705保持在防竄改區(qū)域中的信息。為此,第3認(rèn)證處理部4708可以取得TRM部4705保持在防竄改區(qū)域的信息,認(rèn)證第4設(shè)備4704。或者,取得保持在其他設(shè)備的信息,進(jìn)行認(rèn)證。
第3認(rèn)證處理部4708在取得TRM部4705保持在防竄改區(qū)域的信息時(shí),第3設(shè)備4703和第1設(shè)備4701為了直接進(jìn)行通信,第3設(shè)備4703和第1設(shè)備4701可以具有通信部?;蛘?,第2認(rèn)證處理部4707具有用于對第1設(shè)備4701存取的設(shè)備驅(qū)動程序的功能時(shí),可以如下那樣,即第3認(rèn)證處理部4708使用第2認(rèn)證處理部4707具有的設(shè)備驅(qū)動程序的功能,通過第2設(shè)備4702獲得TRM部4705保持在防竄改區(qū)域的信息。因此,第3認(rèn)證處理部4708具有用于對第2認(rèn)證處理部4707進(jìn)行存取的設(shè)備驅(qū)動程序的功能。
第4設(shè)備4704具有應(yīng)用程序存儲部4709和第4認(rèn)證處理部4710。應(yīng)用程序存儲部4709與圖43的應(yīng)用程序存儲部4307對應(yīng)。第4認(rèn)證處理部4710以自身被第3認(rèn)證處理部4708認(rèn)證為條件,認(rèn)證應(yīng)用程序。這里,“自身”是指第4設(shè)備。因此,如果第4設(shè)備被第2認(rèn)證處理部4708認(rèn)證,由于認(rèn)為被第1認(rèn)證處理部4706認(rèn)證,第4認(rèn)證處理部可以使用TRM部4705保持在防竄改區(qū)域的信息,進(jìn)行存儲在應(yīng)用程序存儲部4709的應(yīng)用程序的認(rèn)證。此外,第4認(rèn)證處理部4710也可以向其他設(shè)備提示表示由第3認(rèn)證處理部4708認(rèn)證的信息,獲得用于應(yīng)用程序的認(rèn)證的信息,進(jìn)行應(yīng)用程序的認(rèn)證。
這樣,4個(gè)主要設(shè)備構(gòu)成的應(yīng)用程序認(rèn)證系統(tǒng)的動作如下所述。第1設(shè)備4701的動作與圖44所示相同。同樣的,第2設(shè)備4702的動作如圖45所示。第3設(shè)備4703的動作如圖48所示。即,在步驟S4801,判斷第3設(shè)備4703是否被第2認(rèn)證處理部4707認(rèn)證。如果被認(rèn)證,在步驟S4802,進(jìn)行第4設(shè)備4704的認(rèn)證處理。在步驟S4803,判斷認(rèn)證是否完成,如果認(rèn)證完成,在步驟S4804,向第4設(shè)備4704傳達(dá)被認(rèn)證的信息。
第4設(shè)備的動作如圖49所示,在步驟S4901,判斷是否由第3認(rèn)證處理部4708進(jìn)行了認(rèn)證,如果被認(rèn)證,在步驟S4902,進(jìn)行應(yīng)用程序的認(rèn)證處理。可以將該應(yīng)用程序的認(rèn)證處理的結(jié)果傳達(dá)給第1設(shè)備4701。也可以傳達(dá)給第2設(shè)備4702。此外,在應(yīng)用程序向其他設(shè)備存取時(shí),也可以提示表示由第3認(rèn)證處理部4708進(jìn)行了認(rèn)證的信息?;蛘?,在應(yīng)用程序中附加表示由第3認(rèn)證處理部4708進(jìn)行了認(rèn)證的信息。
并且,主要的設(shè)備不限于4個(gè),如圖50所示,也可以由第1設(shè)備5001、第2設(shè)備5002、第3設(shè)備5003、第4設(shè)備5004、第5設(shè)備5005共5個(gè)設(shè)備構(gòu)成應(yīng)用程序認(rèn)證系統(tǒng)。
圖51是舉例說明將主要設(shè)備的數(shù)量一般化時(shí)的應(yīng)用程序認(rèn)證系統(tǒng)的功能框圖。在圖51中,應(yīng)用程序認(rèn)證系統(tǒng)是由從第1設(shè)備5101到第(N+1)的設(shè)備5105串聯(lián)連接的(N+1)個(gè)設(shè)備構(gòu)成。這里雖然寫的是“連接”,但并不只意味著電直接連接,或物理的接觸。例如,可以通過以因特網(wǎng)為代表的網(wǎng)絡(luò)進(jìn)行連接。特別地,可以通過使用了光纜的網(wǎng)絡(luò)連接。也可以通過無線連接。或者各個(gè)設(shè)備也可以相互連接。
第1設(shè)備5101具有TRM部5101和第1認(rèn)證處理部5102。TRM部5101將用于認(rèn)證第2設(shè)備5102的信息的認(rèn)證信息保持在防竄改區(qū)域。第1認(rèn)證處理部5102根據(jù)認(rèn)證信息認(rèn)證第2設(shè)備5102。
以下將從第2設(shè)備5102到第N設(shè)備中的一個(gè)設(shè)備記為第i設(shè)備。第i設(shè)備具有第i認(rèn)證處理部。第i認(rèn)證處理部以”自身”被第(i-1)認(rèn)證處理部認(rèn)證為條件,認(rèn)證第(i+1)設(shè)備。這里自身是指第i設(shè)備。因此,第i認(rèn)證處理部如果第i設(shè)備被第(i-1)認(rèn)證處理部認(rèn)證,認(rèn)證第(i+1)設(shè)備。如果第i設(shè)備被第(i-1)認(rèn)證處理部認(rèn)證,對于第1設(shè)備5101,第i設(shè)備可以認(rèn)為是可信賴的,因此,第1設(shè)備5101許可第i設(shè)備對TRM部5101保持在防竄改區(qū)域的信息進(jìn)行存取。第i設(shè)備可以使用保持在防竄改區(qū)域的信息,認(rèn)證第(i+1)的設(shè)備。
例如,第i認(rèn)證處理部可以具有用于對第(i-1)認(rèn)證處理部存取的設(shè)備驅(qū)動程序等的功能。通過具有該功能,從第i認(rèn)證處理部向第1認(rèn)證處理部5107依次輸出信息的請求,被請求的信息從第1認(rèn)證處理部5107依次向第i認(rèn)證處理部返回。
第(N+1)設(shè)備5105具有應(yīng)用程序存儲部5111和第(N+1)認(rèn)證處理部5112,應(yīng)用程序部5111存儲應(yīng)用程序。與存儲應(yīng)用程序的時(shí)間無關(guān),例如,為了通過第(N+1)設(shè)備5105執(zhí)行應(yīng)用程序,可以將應(yīng)用程序存儲。也可以只為了將應(yīng)用程序的傳遞進(jìn)行中繼,而暫時(shí)存儲。而且存儲的目的也沒有特別的關(guān)系。其目的不但可以是通過通過第(N+1)設(shè)備5105執(zhí)行應(yīng)用程序,也可以為了其他的設(shè)備的應(yīng)用程序的執(zhí)行而進(jìn)行的下載。另外,可以是以通過第(N+1)設(shè)備5105將應(yīng)用程序下載并執(zhí)行為目的。此外,雖然使用了應(yīng)用程序這一名稱,但也可以不必是程序,也可以是數(shù)據(jù)。
第(N+1)認(rèn)證處理部5112以自身被第N認(rèn)證處理部認(rèn)證為條件,認(rèn)證應(yīng)用程序。自身是指第(N+1)設(shè)備5105,應(yīng)用程序是指存儲在應(yīng)用程序存儲部5111中的應(yīng)用程序。
圖44舉例表示第1設(shè)備5101的動作的流程圖。
圖52是從第二設(shè)備至第N設(shè)備中的任一設(shè)備的動作的流程圖。在步驟S5201中,判斷是否由第(i-1)認(rèn)證處理部進(jìn)行了認(rèn)證。如果進(jìn)行了認(rèn)證,在步驟S5202。進(jìn)行第(i+1)設(shè)備的認(rèn)證處理,在步驟S5203中,判斷第(i+1)設(shè)備是否被認(rèn)證,如果被認(rèn)證,向第(i+1)設(shè)備傳達(dá)被認(rèn)證的信息,由此從第二設(shè)備依次至第N設(shè)備被認(rèn)證。
圖53是舉例說明第(N+1)設(shè)備5105的動作流程。在步驟S5301中,判斷是否由第N認(rèn)證部5105進(jìn)行了認(rèn)證,如果判斷進(jìn)行了認(rèn)證,在步驟S5302中,進(jìn)行應(yīng)用程序的認(rèn)證處理,如果進(jìn)行了應(yīng)用程序的認(rèn)證,將該結(jié)果向第1設(shè)備5101等傳達(dá),許可應(yīng)用程序?qū)Φ?設(shè)備5101進(jìn)行存取?;蛘咴趹?yīng)用程序中附加表示被認(rèn)證的信息。
在圖43、圖47、圖50、圖51中,設(shè)備是串連連接,但也可以使用嵌套結(jié)構(gòu)來連接設(shè)備。圖54表示使用嵌套結(jié)構(gòu)將設(shè)備連接的模式。安全設(shè)備5401相當(dāng)于第1設(shè)備,具有TRM部和第1認(rèn)證處理部。安全設(shè)備5402作為與第2設(shè)備相當(dāng)?shù)倪m配器5402的一部份被嵌入連接。適配器5402作為與第3設(shè)備相當(dāng)?shù)耐ㄐ拍K5403的一部份,被嵌入連接。通信模塊5403作為與第4設(shè)備相當(dāng)?shù)腜DA(個(gè)人數(shù)字助理)5404的一部分被嵌入連接。PDA5404通過服務(wù)器5405和通信線路等與相當(dāng)于第5設(shè)備的服務(wù)器連接。通過進(jìn)行這樣的連接,可以將例如存儲在服務(wù)器5405中的應(yīng)用程序,通過使用保持在安全設(shè)備5401的防竄改區(qū)域中的信息進(jìn)行認(rèn)證。
而且,第(N+1)的設(shè)備5105例如可以是家用電氣化制品,也可以是被稱為信息家電或網(wǎng)絡(luò)家電的制品。如果對上述制品進(jìn)行舉例,則可以列舉空調(diào)、加濕器、除濕器、空氣清潔器、微波爐、烤箱、冰箱、洗碗機(jī)、熱水器、電熨斗、褲子整燙機(jī)、吸塵器、洗衣機(jī)、干燥機(jī)、電熱毛毯、電熱墊子、照明裝置、電視機(jī)、收音機(jī)、錄音機(jī)等音頻設(shè)備、照相機(jī)、IC存儲機(jī)、電話機(jī)、傳真機(jī)、復(fù)印機(jī)、打印機(jī)、掃描儀、個(gè)人計(jì)算機(jī)等。
實(shí)施例21在實(shí)施例20中,當(dāng)將第2設(shè)備至第N設(shè)備中的某一個(gè)用第i設(shè)備來表示時(shí),第i設(shè)備可以保持用于進(jìn)行第(i+1)設(shè)備的認(rèn)證的必要的信息。例如,第i設(shè)備具有防竄改區(qū),在此保持進(jìn)行認(rèn)證所需的信息。
在能夠保持用于進(jìn)行第i設(shè)備認(rèn)證所需信息的認(rèn)證信息時(shí),第i設(shè)備可以具有第i認(rèn)證信息取得部。這里,第i認(rèn)證信息取得部是指在第i設(shè)備具有存儲認(rèn)證信息的區(qū)域即認(rèn)證信息存儲區(qū)域時(shí),從該認(rèn)證信息存儲區(qū)域取得認(rèn)證信息。此外,第i認(rèn)證信息取得部在認(rèn)證信息存儲在第1設(shè)備的TRM部中時(shí),通過從第2設(shè)備到第(i-1)設(shè)備的設(shè)備,從TRM部取得認(rèn)證信息。“通過第2設(shè)備至第(i-1)設(shè)備的設(shè)備”,表示以下內(nèi)容。即第i認(rèn)證信息取得部向第(i-1)認(rèn)證信息取得部輸出認(rèn)證信息的請求,最后,第2認(rèn)證信息取得部向第1設(shè)備輸出認(rèn)證信息的請求。當(dāng)?shù)?認(rèn)證信息取得部從第1設(shè)備取得認(rèn)證信息時(shí),向第三認(rèn)證信息取得部輸出認(rèn)證信號,最后,第(i-1)認(rèn)證信息取得部向第i認(rèn)證信息取得部輸出認(rèn)證信息。
圖55是舉例說明本實(shí)施例的第i設(shè)備的動作的流程圖。在步驟S5501中,判斷是否通過第(i-1)認(rèn)證處理部進(jìn)行了認(rèn)證。如果判斷進(jìn)行了認(rèn)證,轉(zhuǎn)移到步驟S5502的處理,判斷在認(rèn)證信息存儲區(qū)域內(nèi)是否存儲了第(i+1)設(shè)備的認(rèn)證信息。例如,讀取存儲在認(rèn)證信息存儲區(qū)域中的信息,判斷是否獲得認(rèn)證信息。如果沒有存儲,轉(zhuǎn)移到步驟S5503的處理,通過從第2設(shè)備至第(i-1)設(shè)備,從TRM部取得認(rèn)證信息。在步驟S5504中,進(jìn)行第(i+1)設(shè)備的認(rèn)證處理,在步驟S5505中判斷是否完成了認(rèn)證,如果完成了認(rèn)證,在步驟S5506中,向第(i+1)設(shè)備傳達(dá)被認(rèn)證的信息。
通過進(jìn)行這樣的處理,即使構(gòu)成應(yīng)用程序認(rèn)證系統(tǒng)的設(shè)備數(shù)量增加,如果設(shè)備具有認(rèn)證信息,并使用該認(rèn)證信息進(jìn)行認(rèn)證,則可以在短時(shí)間內(nèi)完成例如所有的設(shè)備的認(rèn)證。
(發(fā)明的效果)根據(jù)以上所述的本發(fā)明,通過對認(rèn)證模塊和終端進(jìn)行組合,用認(rèn)證模塊具有的信息認(rèn)證在終端內(nèi)操作的應(yīng)用程序,可以防止在終端內(nèi)執(zhí)行不希望的應(yīng)用程序。
另外,通過由認(rèn)證模塊對終端內(nèi)的TRM存取程序庫進(jìn)行認(rèn)證,TRM存取程序庫可以進(jìn)行應(yīng)用程序認(rèn)證的處理。結(jié)果,可以高安全性的執(zhí)行應(yīng)用程序,可以用終端進(jìn)行的商業(yè)交易操作。另外,由于防竄改區(qū)域只要存在于認(rèn)證模塊中即可,不需要在終端上安裝防竄改區(qū)域,所以可以降低終端的制造成本。
另外,通過對終端內(nèi)操作的應(yīng)用程序進(jìn)行認(rèn)證,可以保證應(yīng)用程序的出處,可以允許在應(yīng)用程序中進(jìn)行終端及認(rèn)證模塊的本地資源的存取。
另外,由于通過服務(wù)器對認(rèn)證模塊的TRM部進(jìn)行認(rèn)證,及可以進(jìn)行在終端內(nèi)操作的應(yīng)用程序的認(rèn)證,所以可以與在終端內(nèi)操作機(jī)密性很高的信息的應(yīng)用程序進(jìn)行交換??梢栽诜?wù)器、終端、認(rèn)證模塊間實(shí)現(xiàn)復(fù)雜的商業(yè)交易的操作。
另外,通過在選用區(qū)域中裝放應(yīng)用程序本體的署名,可以在應(yīng)用程序下載的同時(shí)下載應(yīng)用程序的署名,可以省去單獨(dú)下載應(yīng)用程序本體的署名所花的時(shí)間。
權(quán)利要求
1.一種應(yīng)用程序認(rèn)證系統(tǒng),由將從第1設(shè)備到第(N+1)設(shè)備串聯(lián)連接所得到的(N+1)個(gè)設(shè)備構(gòu)成,其特征在于,第1設(shè)備具有TRM部,將用于認(rèn)證第2設(shè)備的信息的認(rèn)證信息保持在防竄改區(qū)域;第1認(rèn)證處理部,根據(jù)上述認(rèn)證信息認(rèn)證第2設(shè)備;當(dāng)將第2設(shè)備至第N設(shè)備的某一個(gè)設(shè)備作為第i設(shè)備時(shí),上述第i設(shè)備具有第i認(rèn)證處理部;第i認(rèn)證處理部,以自身被第(i-1)認(rèn)證處理部認(rèn)證為條件,認(rèn)證第(i+1)設(shè)備;第(N+1)設(shè)備具有存儲應(yīng)用程序的應(yīng)用程序存儲部;第(N+1)認(rèn)證處理部,以自身被第N認(rèn)證處理部認(rèn)證為條件,進(jìn)行上述應(yīng)用程序的認(rèn)證處理。
2.根據(jù)權(quán)利要求1所述的應(yīng)用程序認(rèn)證系統(tǒng),其特征在于,上述第i設(shè)備具有第i認(rèn)證信息取得部,取得用于認(rèn)證上述第(i+1)設(shè)備的認(rèn)證信息;上述第i認(rèn)證處理部在第i設(shè)備具有存儲認(rèn)證信息的區(qū)域即認(rèn)證信息存儲區(qū)域時(shí),從該認(rèn)證信息存儲區(qū)域取得上述認(rèn)證信息,在第1設(shè)備的TRM部存儲上述認(rèn)證信息時(shí),通過從第2設(shè)備至第(i-1)設(shè)備的設(shè)備,從TRM部取得上述認(rèn)證信息。
全文摘要
本發(fā)明提供一種應(yīng)用程序認(rèn)證系統(tǒng),解決因在終端(100)下載的應(yīng)用程序可能進(jìn)行非法的操作,所以下載的應(yīng)用程序的操作要進(jìn)行嚴(yán)格限制,應(yīng)用程序不能使用終端的本地資源的問題。本發(fā)明采用認(rèn)證模塊(101)的防竄改區(qū)域中所保持的應(yīng)用程序認(rèn)證的信息,對由終端(100)的下載部(102)下載的應(yīng)用程序進(jìn)行認(rèn)證,進(jìn)行出處的確認(rèn)及是否未進(jìn)行竄改的確認(rèn)。通過只對被認(rèn)證的應(yīng)用程序允許利用終端(100)及認(rèn)證模塊(101)的本地資源,可以防止非法的應(yīng)用程序利用本地資源。另外,由于在終端上不需要具有防竄改區(qū)域,所以可以降低終端的制造成本。
文檔編號G06F21/00GK1783100SQ20051012018
公開日2006年6月7日 申請日期2002年11月26日 優(yōu)先權(quán)日2001年11月26日
發(fā)明者峰村淳 申請人:松下電器產(chǎn)業(yè)株式會社