專利名稱:數(shù)據(jù)處理方法及其設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在利用嵌入卡或移動(dòng)終端設(shè)備中的IC (集成電路)通 過網(wǎng)絡(luò)進(jìn)行交換情況下有用的數(shù)據(jù)處理方法、其設(shè)備、其程序、半導(dǎo) 體電路和身份驗(yàn)證設(shè)備。
背景技術(shù):
目前,正在開發(fā)把IC卡等用于通過因特網(wǎng)及其它網(wǎng)絡(luò)的交易的通 信系統(tǒng)。
在這種通信系統(tǒng)中,服務(wù)器從IC卡的閱讀器/記錄器或者PC (個(gè) 人計(jì)算機(jī))接收使用IC卡的處理請(qǐng)求,并進(jìn)行用戶身份驗(yàn)證、數(shù)據(jù)加 密和解密,以及其它處理。
但是,就上面說明的通信系統(tǒng)而言,設(shè)想同時(shí)或者在短時(shí)間內(nèi)接 收關(guān)于大量IC卡的處理請(qǐng)求的情況。
這種情況下,服務(wù)器必須能夠有效地處理這樣的處理請(qǐng)求。
此外,服務(wù)器有時(shí)執(zhí)行處理與若干結(jié)算業(yè)務(wù)相關(guān)的手續(xù)的若千應(yīng) 用程序,并且通過根據(jù)處理請(qǐng)求,利用選擇的應(yīng)用程序進(jìn)行處理。這 樣的處理請(qǐng)求也必須被有效處理。
此外,在上面說明的通信系統(tǒng)中,服務(wù)器執(zhí)行的應(yīng)用程序必須說 明使用密匙信息訪問IC卡的代碼和操作IC卡的操作命令。這里,如 果要求使用IC卡的交易的安全性,則密匙信息和操作命令只可被服務(wù) 器的管理人員知道。
于是,在過去,服務(wù)器的管理人員來自上述服務(wù)提供者的請(qǐng)求,產(chǎn)生并定制應(yīng)用程序。
但是,在服務(wù)器的管理人員以這種方式產(chǎn)生并定制應(yīng)用程序的情 況下,存在管理人員的負(fù)擔(dān)變重的問題。
此外,在上面說明的服務(wù)器中,運(yùn)行若千信用卡公司或其他企業(yè) 的應(yīng)用程序。這種應(yīng)用程序由單個(gè)的企業(yè)產(chǎn)生,并且通過利用個(gè)人計(jì) 算機(jī)等被下栽到服務(wù)器。
但是,如上所述,當(dāng)上述服務(wù)器運(yùn)行若干企業(yè)的應(yīng)用程序時(shí),必 須確保各個(gè)應(yīng)用程序的處理不受另一應(yīng)用程序監(jiān)視或者干擾。
另一方面,需要在應(yīng)用程序之間傳送數(shù)據(jù)的時(shí)候,提供各種各樣 的服務(wù)。
此外,單個(gè)的企業(yè)把他們的應(yīng)用程序下栽到服務(wù)器上,隨后根據(jù) 需要調(diào)試這些應(yīng)用程序。
但是,當(dāng)各企業(yè)以這種方式把應(yīng)用程序下載到服務(wù)器,并調(diào)試這 些應(yīng)用程序時(shí),必須防止服務(wù)器中的程序受到非法干擾。
實(shí)現(xiàn)這一點(diǎn)的一種技術(shù)是當(dāng)訪問服務(wù)器時(shí)使用密匙信息的身份驗(yàn) 證處理技術(shù)。但是通常這種密匙信息保存在終端設(shè)備(個(gè)人計(jì)算機(jī)) 的存儲(chǔ)器中,因此存在非法使用的可能,并且存在安全問題。
此外,形成上述服務(wù)器的LSI具有內(nèi)置CPU。 CPU有時(shí)訪問位于 LSI芯片之外的存儲(chǔ)器。
這種情況下,數(shù)據(jù)流過設(shè)置在LSI芯片和外部存儲(chǔ)器之間的總線, 從而通過探測(cè)總線可檢查數(shù)據(jù)。
但是,當(dāng)上述服務(wù)器執(zhí)行電子商務(wù)交易、個(gè)人身份驗(yàn)證和其他高 度機(jī)密的處理時(shí),如上所述,如果數(shù)據(jù)被探測(cè),則存在安全方面的問 題。
此外,上面說明的服務(wù)器有時(shí)由單個(gè)計(jì)算機(jī)構(gòu)成。 這種情況下,單個(gè)計(jì)算機(jī)運(yùn)行和由不同企業(yè)提供的若千服務(wù)相關(guān) 的若干程序。當(dāng)這些服務(wù)處理高度機(jī)密的數(shù)據(jù),例如和結(jié)算相關(guān)的數(shù) 據(jù)時(shí),存在各個(gè)企業(yè)擁有的高度機(jī)密數(shù)據(jù)被另一企業(yè)非法獲取或者竄 改的可能性。此外,當(dāng)把常規(guī)的計(jì)算機(jī)用作如上所述的計(jì)算機(jī)時(shí),存在下述問題。
圖133表示普通計(jì)算機(jī)601的基本結(jié)構(gòu)。
在圖133中所示的計(jì)算機(jī)601中,CPU 602利用從存儲(chǔ)器6O3讀 取的指令和數(shù)據(jù)進(jìn)行處理。
CPU 602把存儲(chǔ)器603中的訪問地址輸出給地址總線604。 此外,CPU 602根椐控制信號(hào)S602對(duì)存儲(chǔ)器603進(jìn)行讀寫操作。 保存在存儲(chǔ)器603中的模塊A、模塊B和模塊C是程序的具有特
殊函數(shù)的處理單元。
在開發(fā)程序的時(shí)候,調(diào)試程序605檢查CPU 602的操作。它使用
HLAT信號(hào)臨時(shí)中斷CPU602的操作,讀取CPU602的內(nèi)部信息,并
把該信息通知程序開發(fā)人員。
這里,在圖133中,假定模塊A具有由模塊B或模塊C使用的基
本函數(shù)。
這里,假定包含在模塊A中的基本函數(shù)的例程高度機(jī)密。這種情 況下,由于模塊A是基本函數(shù),它必須提供使模塊B或模塊C的開發(fā) 人員能夠開發(fā)其程序的環(huán)境。實(shí)現(xiàn)此目的的一種方式是分布函數(shù)庫的 方法。
這是以介于高級(jí)語言和機(jī)器語言(通常稱為"匯編語言")之間 的中級(jí)語言表迷的,但是分析相當(dāng)容易。程序的要求保密的處理例程 最后很可能被知道。
此外,另一種方式是預(yù)先把基本模塊(本例中為模塊A)保存在 存儲(chǔ)器603中,而不是將其用作函數(shù)庫,開發(fā)人員在假定基本模塊存 在于特定位置的情況下開發(fā)軟件。
但是,即使利用這種方法,仍然存在模塊B和C的開發(fā)人員難以 讀取保存在存儲(chǔ)器603中的模塊A的問題。此時(shí),讀取的內(nèi)容是用 CPU 602執(zhí)行的機(jī)器語言表迷的,但是存在把這種機(jī)器語言轉(zhuǎn)換成匯 編語言的工具。能夠相當(dāng)容易地分析例程。
此外,在開發(fā)人員開發(fā)程序的階段,在模塊A的執(zhí)行過程中,模塊B和C的開發(fā)人員可臨時(shí)暫停CPU 602的執(zhí)行,以便了解模塊A 的所處理數(shù)據(jù)或模塊A的內(nèi)容,從而了解模塊A的程序的整個(gè)處理例 程。
另外,運(yùn)行于上述服務(wù)器上的應(yīng)用程序處理密鑰數(shù)據(jù)、收費(fèi)數(shù)據(jù)、 日志數(shù)據(jù)以及服務(wù)提供者設(shè)置的其它高安全性數(shù)據(jù),因此需要保護(hù)這 些數(shù)據(jù)免受非法竄改或監(jiān)視。
本發(fā)明的第一目的是提供一種能夠根據(jù)大量的處理請(qǐng)求,有效地 進(jìn)行處理的數(shù)據(jù)處理方法、半導(dǎo)體電路和程序。
本發(fā)明的第二目的是提供一種數(shù)據(jù)處理方法、半導(dǎo)體電路和程序, 在不允許用戶獲悉高度機(jī)密信息的情況下,使用戶能夠產(chǎn)生和定制將 由服務(wù)器執(zhí)行的用戶的應(yīng)用程序。
本發(fā)明的第三目的是提供一種數(shù)據(jù)處理方法、半導(dǎo)體電路和程序, 當(dāng)相同的半導(dǎo)體電路運(yùn)行若干應(yīng)用程序時(shí),能夠防止各個(gè)單獨(dú)的應(yīng)用 程序受到另一應(yīng)用程序的影響。
本發(fā)明的第四目的是提供一種數(shù)據(jù)處理方法、半導(dǎo)體電路和程序, 當(dāng)相同的半導(dǎo)體電路運(yùn)行若干應(yīng)用程序時(shí),在防止各個(gè)應(yīng)用程序受到 另一應(yīng)用程序的用戶的非法竄改、監(jiān)視等的同時(shí),允許根據(jù)需要在應(yīng) 用程序之間傳送數(shù)據(jù)。
本發(fā)明的第五目的是提供一種數(shù)據(jù)處理方法、半導(dǎo)體電路、驗(yàn)證 設(shè)備和程序,能夠根據(jù)服務(wù)器或者其它半導(dǎo)體電路的權(quán)限,限制對(duì)于
服務(wù)器或者其它半導(dǎo)體電路的訪問的內(nèi)容。
本發(fā)明的第六目的是提供一種半導(dǎo)體電路和數(shù)據(jù)處理方法,即使 通過外部總線在半導(dǎo)體電路和半導(dǎo)體存儲(chǔ)電路之間傳送高度機(jī)密的數(shù) 據(jù)時(shí),也能夠保持?jǐn)?shù)據(jù)的機(jī)密性。
本發(fā)明的第七目的是提供一種當(dāng)執(zhí)行若千程序時(shí),能夠在程序之 間保持指令和數(shù)據(jù)的機(jī)密性的數(shù)據(jù)處理設(shè)備。
本發(fā)明的第八目的是提供一種能夠提高要執(zhí)行的程序的機(jī)密性的 半導(dǎo)體電路。
本發(fā)明的笫九目的是提供一種數(shù)據(jù)處理設(shè)備、其方法及其程序,當(dāng)提供利用IC或者其它集成電路的服務(wù)時(shí),能夠提高在服務(wù)器上運(yùn)行
的應(yīng)用程序的安全性。
發(fā)明內(nèi)容
為了實(shí)現(xiàn)上述目的,本發(fā)明第一方面的數(shù)據(jù)處理方法是根據(jù)若干
處理請(qǐng)求,由半導(dǎo)體電路執(zhí)行的一種數(shù)據(jù)處理方法,包括下述步驟 為若千處理請(qǐng)求中的每個(gè)處理請(qǐng)求產(chǎn)生作業(yè)管理數(shù)據(jù),所述作業(yè)管理 數(shù)據(jù)包括作業(yè)執(zhí)行順序數(shù)據(jù)和狀態(tài)數(shù)據(jù),所述作業(yè)執(zhí)行順序數(shù)據(jù)表示 根據(jù)處理請(qǐng)求形成處理的若干作業(yè)的執(zhí)行順序,所述狀態(tài)數(shù)據(jù)表示所 述若干作業(yè)的執(zhí)行進(jìn)程的狀態(tài),根據(jù)預(yù)定的規(guī)則,從產(chǎn)生的若干作業(yè) 管理數(shù)據(jù)中選擇一個(gè)作業(yè)管理數(shù)據(jù),根據(jù)選擇的作業(yè)管理數(shù)據(jù)的狀態(tài) 數(shù)據(jù)和處理順序數(shù)據(jù)選擇下一步要執(zhí)行的作業(yè),執(zhí)行選擇的作業(yè),并 且根據(jù)該作業(yè)的執(zhí)行,更新選擇的作業(yè)管理數(shù)據(jù)的狀態(tài)數(shù)據(jù)。
在本發(fā)明第一方面的數(shù)據(jù)處理方法中,首先,半導(dǎo)體電路為若干 處理請(qǐng)求中的每個(gè)處理請(qǐng)求,產(chǎn)生包括作業(yè)執(zhí)行順序數(shù)據(jù)和狀態(tài)數(shù)據(jù) 的作業(yè)管理數(shù)據(jù),作業(yè)執(zhí)行順序數(shù)據(jù)表示根據(jù)處理請(qǐng)求形成處理的若 千作業(yè)的執(zhí)行順序,狀態(tài)數(shù)據(jù)表示若千處理作業(yè)的執(zhí)行進(jìn)程的狀態(tài)。
其次,半導(dǎo)體電路根據(jù)預(yù)定的規(guī)則,從產(chǎn)生的若干作業(yè)管理數(shù)據(jù) 中選擇一個(gè)作業(yè)管理數(shù)據(jù)。
接下來,半導(dǎo)體電路根據(jù)選擇的作業(yè)管理數(shù)據(jù)的狀態(tài)數(shù)據(jù)和處理 順序數(shù)據(jù)選擇下一步要執(zhí)行的作業(yè)。
隨后,半導(dǎo)體電路執(zhí)行選擇的作業(yè)。
最后,半導(dǎo)體電路根據(jù)該作業(yè)的執(zhí)行,更新選擇的作業(yè)管理數(shù)據(jù) 的狀態(tài)數(shù)據(jù)。
此外,本發(fā)明第一方面的數(shù)據(jù)處理方法最好還包括更新選擇的作 業(yè)管理數(shù)據(jù)的狀態(tài)數(shù)據(jù),隨后從若干數(shù)據(jù)模塊選擇一個(gè)作業(yè)管理數(shù)據(jù) 的步驟。
此外,本發(fā)明第一方面的數(shù)據(jù)處理方法最好還包括在更新選擇的 作業(yè)管理數(shù)據(jù)的狀態(tài)數(shù)據(jù)之后,從若干數(shù)據(jù)模塊選擇一個(gè)作業(yè)管理數(shù)據(jù)的步驟。
此外,本發(fā)明第一方面的數(shù)據(jù)處理方法最好還包括當(dāng)根據(jù)處理請(qǐng) 求形成處理的所有作業(yè)完成執(zhí)行時(shí),刪除作業(yè)管理數(shù)據(jù)的步驟。
此外,本發(fā)明第一方面的數(shù)據(jù)處理方法最好還包括從具有存儲(chǔ)器 的集成電路或者相對(duì)于集成電路輸入輸出數(shù)據(jù)的通信設(shè)備接收處理請(qǐng) 求的步驟,所述存儲(chǔ)器保存將用于借助半導(dǎo)體電路執(zhí)行的過程的處理 的數(shù)據(jù)。
本發(fā)明第二方面的半導(dǎo)體電路是一種根據(jù)若干處理請(qǐng)求處理數(shù)據(jù) 的半導(dǎo)體電路,包括輸入若干處理請(qǐng)求的接口,保存作業(yè)管理數(shù)據(jù)的 存儲(chǔ)電路,作業(yè)管理數(shù)據(jù)包括作業(yè)執(zhí)行順序數(shù)據(jù)和狀態(tài)數(shù)據(jù),作業(yè)執(zhí) 行順序數(shù)據(jù)表示根據(jù)處理請(qǐng)求形成處理的若干作業(yè)的執(zhí)行順序,狀態(tài) 數(shù)據(jù)表示若干作業(yè)的執(zhí)行進(jìn)程的狀態(tài),和為輸入的若干處理請(qǐng)求中的 每個(gè)處理請(qǐng)求產(chǎn)生作業(yè)管理數(shù)據(jù)并將其保存在存儲(chǔ)電路中,從產(chǎn)生的 若干作業(yè)管理數(shù)據(jù)中選擇一個(gè)作業(yè)管理數(shù)據(jù),根據(jù)選擇的作業(yè)管理數(shù) 據(jù)的狀態(tài)數(shù)據(jù)和處理順序數(shù)據(jù)選擇并執(zhí)行下一步要執(zhí)行的作業(yè),并且 根據(jù)該作業(yè)的執(zhí)行,更新選擇的作業(yè)管理數(shù)據(jù)的狀態(tài)數(shù)據(jù)的控制電路。 在本發(fā)明第二方面的半導(dǎo)體電路中,接口輸入若干處理請(qǐng)求。 隨后,控制電路產(chǎn)生作業(yè)管理數(shù)據(jù)并將其保存在存儲(chǔ)電路中,所
程的狀態(tài)的狀態(tài)數(shù)據(jù)。
接下來,控制電路從若干作業(yè)管理數(shù)據(jù)中選擇一個(gè)作業(yè)管理數(shù)據(jù)。 之后,控制電路根據(jù)選擇的作業(yè)管理數(shù)據(jù)的狀態(tài)數(shù)據(jù)和處理順序
數(shù)據(jù),選擇并執(zhí)行下一步要執(zhí)行的作業(yè),并且根據(jù)該作業(yè)的執(zhí)行,更
新選擇的作業(yè)管理數(shù)據(jù)的狀態(tài)數(shù)據(jù)。
本發(fā)明第三方面的程序是一種由半導(dǎo)體電路執(zhí)行的根據(jù)若干處理
請(qǐng)求處理數(shù)據(jù)的程序,包括為若干處理請(qǐng)求中的每個(gè)處理請(qǐng)求產(chǎn)生作
業(yè)管理數(shù)據(jù)的例程,作業(yè)管理數(shù)據(jù)包括作業(yè)執(zhí)行順序數(shù)據(jù)和狀態(tài)數(shù)據(jù),序,狀態(tài)數(shù)據(jù)表示若干作業(yè)的執(zhí)行進(jìn)程的狀態(tài),從產(chǎn)生的若干作業(yè)管 理數(shù)據(jù)中選擇一個(gè)作業(yè)管理數(shù)據(jù)的例程,根據(jù)選擇的作業(yè)管理數(shù)據(jù)的 狀態(tài)數(shù)據(jù)和處理順序數(shù)據(jù)選擇下一步要執(zhí)行的作業(yè)的例程,執(zhí)行選擇 作業(yè)的例程,和根據(jù)該作業(yè)的執(zhí)行,更新選擇的作業(yè)管理數(shù)據(jù)的所述 狀態(tài)數(shù)據(jù)的例程。
本發(fā)明第四方面的數(shù)據(jù)處理方法是一種由半導(dǎo)體電路執(zhí)行的數(shù)據(jù) 處理方法,所述半導(dǎo)體電路運(yùn)行和使用集成電路的過程有關(guān)的處理的 應(yīng)用程序,其中半導(dǎo)體電路能夠查看對(duì)應(yīng)性指示數(shù)據(jù),所述對(duì)應(yīng)性指 示數(shù)據(jù)指示用于所述應(yīng)用程序操作集成電路的操作代碼和操作的名
稱,即操作名稱之間的對(duì)應(yīng)性,所述方法包括下述步驟使半導(dǎo)體電 路以輸入的形式接收利用操作名稱描述應(yīng)用程序的操作的操作說明程 序,和使半導(dǎo)體電路通過查看對(duì)應(yīng)性指示數(shù)據(jù),獲得和在操作說明程 序中描述的操作名稱相對(duì)應(yīng)的操作代碼,并且使用獲得的操作代碼定 義應(yīng)用程序的處理。
此外,根據(jù)本發(fā)明笫四方面的數(shù)據(jù)處理方法最好還包括使對(duì)應(yīng)性 指示數(shù)據(jù)還顯示操作名稱和當(dāng)集成電路執(zhí)行與這些搡作名稱對(duì)應(yīng)的操 作時(shí)使用的密鑰信息之間的對(duì)應(yīng)性,并且使半導(dǎo)體電路通過查看對(duì)應(yīng) 性指示數(shù)據(jù),獲得和在操作說明程序中描述的操作名稱相對(duì)應(yīng)的密鑰 信息,并且使用獲得的密鑰信息定義應(yīng)用程序的處理。
此外,本發(fā)明第四方面的數(shù)據(jù)處理方法最好還包括使半導(dǎo)體電路 產(chǎn)生包括作業(yè)執(zhí)行順序數(shù)據(jù)和狀態(tài)數(shù)據(jù)的作業(yè)管理數(shù)據(jù),作業(yè)執(zhí)行順 序數(shù)據(jù)表示形成應(yīng)用程序的處理的若千作業(yè)的執(zhí)行順序,狀態(tài)數(shù)據(jù)表 示所述若干作業(yè)的執(zhí)行進(jìn)程的狀態(tài),根據(jù)作業(yè)管理數(shù)據(jù)的狀態(tài)數(shù)據(jù)和 處理順序數(shù)據(jù)選擇下一步要執(zhí)行的作業(yè),執(zhí)行選擇的作業(yè),并且根據(jù) 該作業(yè)的執(zhí)行,更新選擇的作業(yè)管理數(shù)據(jù)的狀態(tài)數(shù)據(jù)。
本發(fā)明第五方面的半導(dǎo)體電路是一種運(yùn)行用于執(zhí)行和利用集成電 路的過程相關(guān)的處理的應(yīng)用程序的半導(dǎo)體電路,包括保存對(duì)應(yīng)性指示 數(shù)據(jù)的存儲(chǔ)電路,所述對(duì)應(yīng)性指示數(shù)據(jù)指示用于應(yīng)用程序操作集成電 路的操作代碼和操作的名稱,即操作名稱之間的對(duì)應(yīng)性,輸入利用操作名稱描述應(yīng)用程序的操作的操作說明程序的接口 ,和通過查看對(duì)應(yīng) 性指示數(shù)據(jù),獲得和在輸入的操作說明程序中描述的操作名稱相對(duì)應(yīng) 的操作代碼,并且使用獲得的操作代碼定義應(yīng)用程序的處理的控制電 路。
在本發(fā)明第五方面的半導(dǎo)體電路中,接口輸入利用操作名稱描迷 應(yīng)用程序的操作的操作說明程序。
隨后,控制電路通過查看對(duì)應(yīng)性指示數(shù)據(jù),獲得和在輸入的操作 說明程序中描述的操作名稱相對(duì)應(yīng)的操作代碼。
之后,控制電路使用獲得的操作代碼定義應(yīng)用程序的處理。
本發(fā)明第六方面的程序是由運(yùn)行執(zhí)行和利用集成電路的過程相關(guān)
的處理的應(yīng)用程序的半導(dǎo)體電路執(zhí)行的程序,包括輸入利用集成電 路的操作的名稱,即操作名稱描述應(yīng)用程序的操作的操作說明程序的 例程,查看指示由應(yīng)用程序用于操作集成電路的操作代碼和操作名稱 之間的對(duì)應(yīng)性的對(duì)應(yīng)性指示數(shù)據(jù),從而獲得和在操作說明程序中描述 的操作名稱相對(duì)應(yīng)的操作代碼的例程,以及利用獲得的操作代碼定義 應(yīng)用程序的處理的例程。
本發(fā)明第七方面的數(shù)據(jù)處理方法是由執(zhí)行應(yīng)用程序的半導(dǎo)體電路 完成的數(shù)據(jù)處理方法,包括下迷步驟利用若干防火墻中事先分配給 形成應(yīng)用程序的若干程序模塊中的各個(gè)程序;f莫塊的防火墻保護(hù)該程序 模塊,記錄與識(shí)別分配給程序模塊的防火墻的防火墻識(shí)別信息鏈接的 程序模塊,并且以正在進(jìn)行記錄為條件,執(zhí)行該程序模塊。
本發(fā)明第七方面的數(shù)據(jù)處理方法最好還包括允許記錄的由相同防 火墻識(shí)別信息鏈接的若干程序模塊之間的數(shù)據(jù)傳送或數(shù)據(jù)查看,并且 禁止記錄的由不同防火墻識(shí)別信息鏈接的若千程序模塊之間的數(shù)據(jù)傳 送或者數(shù)據(jù)查看的步驟。
本發(fā)明第七方面的數(shù)據(jù)處理方法最好還包括下述步驟
記錄還與當(dāng)把程序模塊從半導(dǎo)體電路之外下栽到半導(dǎo)體電路時(shí)使 用的下載密鑰信息鏈接的程序模塊,并且當(dāng)接收關(guān)于程序模塊的下栽 請(qǐng)求時(shí),利用記錄的和該程序模塊鏈接的下載密鑰信息判斷下載是否可能,并且當(dāng)判斷下載可能時(shí),下載該程序;f莫塊。
本發(fā)明第八方面的半導(dǎo)體電路是運(yùn)行應(yīng)用程序,利用若干防火墻 中事先分配給形成應(yīng)用程序的若干程序模塊中的各個(gè)程序模塊的防火 墻保護(hù)該程序模塊,記錄與識(shí)別分配給程序;f莫塊的防火墻的防火墻識(shí) 別信息鏈接的程序模塊,并且以記錄正在進(jìn)行為條件,執(zhí)行該程序模 塊的半導(dǎo)體電路。
本發(fā)明第九方面的程序是由執(zhí)行應(yīng)用程序的半導(dǎo)體電路執(zhí)行的程 序,包括利用若干防火墻中事先分配給形成應(yīng)用程序的若干程序模塊 中的每個(gè)程序模塊的防火墻保護(hù)該程序模塊的例程,記錄與識(shí)別分配 給該程序模塊的防火墻的防火墻識(shí)別信息鏈接的程序模塊的例程,和 以記錄正在進(jìn)行為條件,執(zhí)行該程序模塊的例程。
本發(fā)明第十方面的數(shù)據(jù)處理方法是由執(zhí)行應(yīng)用程序的半導(dǎo)體電路
執(zhí)行的數(shù)據(jù)處理方法,包括下述步驟獨(dú)立執(zhí)行由防火墻保護(hù)的若干 應(yīng)用程序,預(yù)先記錄允許通過防火墻在應(yīng)用程序之間進(jìn)行通信的條件, 當(dāng)應(yīng)用程序請(qǐng)求與另 一應(yīng)用程序通信時(shí),判斷通信請(qǐng)求是否滿足記錄 的條件,和當(dāng)判斷通信請(qǐng)求滿足記錄的條件時(shí),根據(jù)通信請(qǐng)求進(jìn)行應(yīng) 用程序之間的通信。
本發(fā)明第十一方面的半導(dǎo)體電路是獨(dú)立執(zhí)行受防火墻保護(hù)的若干 應(yīng)用程序,事先記錄允許通過防火墻在應(yīng)用程序之間進(jìn)行通信的條件, 當(dāng)應(yīng)用程序請(qǐng)求與另 一應(yīng)用程序通信時(shí),判斷通信請(qǐng)求是否滿足記錄 的條件,和當(dāng)判斷通信請(qǐng)求滿足記錄的條件時(shí),根據(jù)通信請(qǐng)求進(jìn)行應(yīng) 用程序之間的通信的半導(dǎo)體電路。
第十一方面的半導(dǎo)體電路獨(dú)立執(zhí)行受防火墻保護(hù)的若千應(yīng)用程序。
此外,半導(dǎo)體電路事先記錄允許通過防火墻在應(yīng)用程序之間進(jìn)行 通信的條件。
此外,當(dāng)應(yīng)用程序請(qǐng)求與另一應(yīng)用程序通信時(shí),半導(dǎo)體電路判斷 通信請(qǐng)求是否滿足記錄的條件。
此外,當(dāng)判斷通信請(qǐng)求滿足記錄的條件時(shí),半導(dǎo)體電路根據(jù)通信請(qǐng)求進(jìn)行應(yīng)用程序之間的通信。
本發(fā)明第十二方面的程序是使半導(dǎo)體電路執(zhí)行獨(dú)立執(zhí)行受防火墻 保護(hù)的若干應(yīng)用程序的例程,事先記錄允許通過防火墻在應(yīng)用程序之 間進(jìn)行通信的條件的例程,當(dāng)應(yīng)用程序請(qǐng)求與另 一應(yīng)用程序通信時(shí), 判斷通信請(qǐng)求是否滿足記錄的條件的例程,和當(dāng)判斷通信請(qǐng)求滿足記 錄的條件時(shí),根據(jù)通信請(qǐng)求進(jìn)行應(yīng)用程序之間通信的例程的程序。
本發(fā)明第十三方面的數(shù)據(jù)處理方法是半導(dǎo)體電路或者半導(dǎo)體電路
:處i方法,包括下述步驟使半導(dǎo)體電路具有由若干層組成的軟件 結(jié)構(gòu),并使對(duì)應(yīng)于每層的下栽簽名驗(yàn)證密鑰信息能夠被半導(dǎo)體電路查 看,當(dāng)接收下載請(qǐng)求時(shí),使半導(dǎo)體電路利用下載簽名驗(yàn)證密鑰信息驗(yàn) 證根據(jù)下載請(qǐng)求產(chǎn)生的下載簽名信息,以下栽簽名信息合法為條件,
證密鑰信息相對(duì)應(yīng)的一層的程序。
此外,本發(fā)明第十三方面的數(shù)據(jù)處理方法還包括下述步驟使驗(yàn) 證設(shè)備保存和允許被下載的程序所屬 一層相對(duì)應(yīng)的訪問主密鑰信息, 使驗(yàn)證設(shè)備把下載請(qǐng)求傳送給半導(dǎo)體電路,和使驗(yàn)證設(shè)備使用該訪問 主密鑰信息產(chǎn)生下載簽名信息,并把該下載簽名信息傳送給半導(dǎo)體電 路。
此外,本發(fā)明第十三方面的數(shù)據(jù)處理方法還包括下述步驟使驗(yàn) 證設(shè)備保存半導(dǎo)體電路的識(shí)別信息,使驗(yàn)證設(shè)備利用訪問主密鑰信息 對(duì)呈明文形式的識(shí)別信息加密,從而產(chǎn)生下載主密鑰信息,并且使用 該下載主密鑰信息產(chǎn)生下載簽名信息。
本發(fā)明第十四方面的半導(dǎo)體電路是具有由若干層組成的軟件結(jié)構(gòu) 的半導(dǎo)體電路,其中半導(dǎo)體電路能夠查看對(duì)應(yīng)于每層的下載簽名驗(yàn)證 密鑰信息,當(dāng)接收下載請(qǐng)求時(shí),利用下載簽名驗(yàn)證密鑰信息驗(yàn)證根據(jù) 下載請(qǐng)求產(chǎn)生的下載簽名信息,并且以下載簽名信息合法為條件,允
許下載請(qǐng)求的發(fā)出者把和用于該驗(yàn)證的下載簽名驗(yàn)證密鑰信息相對(duì)應(yīng)儲(chǔ)電路。
當(dāng)接收下栽請(qǐng)求時(shí),本發(fā)明第十四方面的半導(dǎo)體電路利用下載簽 名驗(yàn)證密鑰信息,驗(yàn)證對(duì)應(yīng)于該下載請(qǐng)求產(chǎn)生的下載信號(hào)信息。
此外,以下載簽名信息合法為條件,該半導(dǎo)體電路允許下載請(qǐng)求
的發(fā)出者把和用于該驗(yàn)證的下載簽名驗(yàn)證密鑰信息相對(duì)應(yīng)一層的程序 下載到該半導(dǎo)體電路或者該半導(dǎo)體電路可訪問的半導(dǎo)體存儲(chǔ)電路。
本發(fā)明第十五方面的驗(yàn)證設(shè)備是當(dāng)把在半導(dǎo)體電路中運(yùn)行的程序
電路訪問的半導(dǎo)體存儲(chǔ)設(shè)備時(shí),用于驗(yàn)證的驗(yàn)證設(shè)備,所述驗(yàn)證設(shè)備 保存和允許被下載的程序所屬一層相對(duì)應(yīng)的訪問主密鑰信息,把下載 請(qǐng)求傳送給該半導(dǎo)體電路,并且利用該訪問主密鑰信息產(chǎn)生下栽簽名 信息,和把該下載簽名信息傳送給該半導(dǎo)體電路。
本發(fā)明第十五方面的驗(yàn)證設(shè)備首先把下載請(qǐng)求傳送給該半導(dǎo)體電路。
此外,該驗(yàn)證設(shè)備使用訪問主密鑰信息產(chǎn)生下載簽名信息。 此外,驗(yàn)證設(shè)備把下載簽名信息傳送給該半導(dǎo)體電路。 本發(fā)明第十六方面的程序是將由具有由若干層組成的軟件結(jié)構(gòu)的 半導(dǎo)體電路執(zhí)行的程序,包括利用所述若干層中對(duì)應(yīng)一層的下載簽名 驗(yàn)證密鑰信息,驗(yàn)證當(dāng)接收下載請(qǐng)求時(shí)根據(jù)這樣的下載請(qǐng)求產(chǎn)生的下 載簽名信息的例程,和以下載簽名信息合法為條件,允許下載請(qǐng)求的 發(fā)出者把和用于該驗(yàn)證的下載簽名驗(yàn)證密鑰信息相對(duì)應(yīng)一層的程序下
程。 " " p。," 、'
本發(fā)明第十七方面的半導(dǎo)體電路是具有數(shù)據(jù)處理電路和數(shù)據(jù)輸入 /輸出處理電路的半導(dǎo)體電路,其中數(shù)據(jù)處理電路通過數(shù)據(jù)輸入/輸出處 理電路相對(duì)于該半導(dǎo)體電路之外的總線輸入輸出數(shù)據(jù),數(shù)據(jù)輸入/輸出 電路對(duì)以預(yù)定數(shù)據(jù)長(zhǎng)度為單位從數(shù)據(jù)處理電路輸入的數(shù)據(jù)加密,并把 加密后的數(shù)據(jù)輸出給該總線,對(duì)從總線輸入的數(shù)據(jù)解密,并把解密后
的數(shù)據(jù)輸出給數(shù)據(jù)處理電路,當(dāng)Nc/Nb-n時(shí),以m個(gè)數(shù)據(jù)輸入/輸出交易為單位,通過總線執(zhí)行數(shù)據(jù)輸入/輸出交易,這里總線的寬度為
Nb,數(shù)據(jù)長(zhǎng)度為Nc, n或者更大值( ii or more )的最小整數(shù)為m。
本發(fā)明第十七方面的半導(dǎo)體電路通過數(shù)據(jù)輸入/輸出處理電路相 對(duì)于該半導(dǎo)體電路之外的總線輸入輸出數(shù)據(jù)。
此時(shí),數(shù)據(jù)輸入/輸出電路對(duì)以預(yù)定數(shù)據(jù)長(zhǎng)度為單位從數(shù)據(jù)處理電 路輸入的數(shù)據(jù)加密,并把加密后的數(shù)據(jù)輸出給該總線。
此外,數(shù)據(jù)輸入/輸出電路對(duì)從總線輸入的數(shù)據(jù)解密,并把解密后 的數(shù)據(jù)輸出給數(shù)據(jù)處理電路。
此時(shí),當(dāng)Nc/Nb=n時(shí),該數(shù)據(jù)輸入/輸出設(shè)備以m個(gè)數(shù)據(jù)輸入/輸 出交易為單位,通過外部總線執(zhí)行數(shù)據(jù)輸入/輸出交易,這里總線的寬 度為Nb,數(shù)據(jù)長(zhǎng)度為Nc, n或者更大值(nor more)的最小整數(shù)為 m。
此外,在本發(fā)明第十七方面的半導(dǎo)體電路中,當(dāng)根據(jù)從數(shù)據(jù)處理 電路輸入的第一地址訪問半導(dǎo)體存儲(chǔ)電路時(shí),數(shù)據(jù)輸入/輸出電路最好 把第一地址轉(zhuǎn)換成第二地址,以便以其中保存Nc的數(shù)據(jù)的存儲(chǔ)區(qū)為 單位訪問半導(dǎo)體存儲(chǔ)電路,并且使用第二地址訪問該半導(dǎo)體存儲(chǔ)電路。
本發(fā)明第十八方面的數(shù)據(jù)處理方法是當(dāng)半導(dǎo)體電路和半導(dǎo)體存儲(chǔ) 電路通過總線相連時(shí),當(dāng)半導(dǎo)體電路訪問半導(dǎo)體存儲(chǔ)電路時(shí),由半導(dǎo) 體電路執(zhí)行的數(shù)據(jù)處理方法,包括下述步驟對(duì)將以預(yù)定數(shù)據(jù)長(zhǎng)度為 單位寫入半導(dǎo)體存儲(chǔ)電路的數(shù)據(jù)加密,并把加密數(shù)據(jù)輸出給總線,對(duì) 從總線輸入的數(shù)據(jù)解密,和當(dāng)Nc/Nb=n時(shí),以m個(gè)數(shù)據(jù)輸入/輸出交 易為單位,通過總線執(zhí)行數(shù)據(jù)輸入/輸出交易,這里總線的寬度為Nb, 數(shù)據(jù)長(zhǎng)度為Nc, n或者更大值(nor more)的最小整數(shù)為m。
本發(fā)明第十九方面的數(shù)據(jù)處理設(shè)備包括保存若干程序的指令和數(shù) 據(jù)的存儲(chǔ)電路,通過傳輸線路訪問存儲(chǔ)電路,并使用若干程序的指令 和數(shù)據(jù)執(zhí)行若干程序的計(jì)算電路,置于傳輸線路和存儲(chǔ)電路之間,用 于根據(jù)控制信號(hào)把傳輸線路和存儲(chǔ)電路設(shè)置成連接狀態(tài)和斷開狀態(tài)之 一的連接轉(zhuǎn)換電路,根據(jù)為所述若干程序中的每個(gè)程序限定當(dāng)計(jì)算電 路正在執(zhí)行所述若干程序時(shí),存儲(chǔ)電路中能夠被訪問的地址范圍的訪問范圍定義數(shù)據(jù),存儲(chǔ)電路中計(jì)算電路為其發(fā)出訪問請(qǐng)求的地址,和 說明計(jì)算電路正在執(zhí)行所述若干程序中的哪個(gè)程序的執(zhí)行程序指示信 息產(chǎn)生控制信號(hào),控制把傳輸線路和存儲(chǔ)電路設(shè)置成連接狀態(tài)和斷開 狀態(tài)之一的連接控制電路,和通過傳輸電路相對(duì)于計(jì)算電路輸入輸出 數(shù)據(jù),并且相對(duì)于該數(shù)據(jù)處理設(shè)備外部輸入輸出數(shù)據(jù)的輸入/輸出接口 電路。
此外,在本發(fā)明第十九方面的數(shù)據(jù)處理設(shè)備中,當(dāng)存儲(chǔ)電路中計(jì) 算電路為其發(fā)出訪問請(qǐng)求的地址在由訪問范圍定義數(shù)據(jù)限定的和正被 執(zhí)行的程序?qū)?yīng)的地址范圍之內(nèi)時(shí),連接控制電路最好產(chǎn)生指示把傳 輸線路和存儲(chǔ)電路設(shè)置成連接狀態(tài)的控制信號(hào),并且當(dāng)所述地址不在 該地址范圍之內(nèi)時(shí),產(chǎn)生指示把傳輸線路和存儲(chǔ)電路設(shè)置成斷開狀態(tài) 的控制信號(hào)。
本發(fā)明第二十方面的半導(dǎo)體電路是執(zhí)行程序的半導(dǎo)體電路,包括 第一傳輸線路,保存執(zhí)行程序的指令或數(shù)據(jù)的存儲(chǔ)電路,根據(jù)通過第 一傳輸線路從存儲(chǔ)電路讀取的指令操作的計(jì)算電路,根據(jù)第一控制信 號(hào)把第一傳輸線路和存儲(chǔ)電路設(shè)置成連接狀態(tài)和斷開狀態(tài)之一的第一 連接轉(zhuǎn)換電路,根據(jù)第二控制信號(hào)把該半導(dǎo)體電路之外的第二傳輸線 路和第一傳輸線路設(shè)置成連接狀態(tài)和斷開狀態(tài)之一的第二連接轉(zhuǎn)換電 路,和當(dāng)把指示連接的第一控制信號(hào)輸出給第一連接轉(zhuǎn)換電路時(shí),向 第二連接轉(zhuǎn)換電路輸出指示斷開的第二控制信號(hào),當(dāng)把指示斷開的第 一控制信號(hào)輸出給第一連接轉(zhuǎn)換電路時(shí),向笫二連接轉(zhuǎn)換電路輸出指 示連接的第二控制信號(hào)的連接控制電路。
此外,在本發(fā)明第二十方面的半導(dǎo)體電路中,第二連接轉(zhuǎn)換電路 通過第二傳輸線路與位于該半導(dǎo)體電路之外的存儲(chǔ)設(shè)備相連。
此外,在本發(fā)明第二十方面的半導(dǎo)體電路中,當(dāng)計(jì)算電路從存儲(chǔ) 電路讀取指令時(shí),連接控制電路把指示連接的第一控制信號(hào)輸出給第 一連接轉(zhuǎn)換電路,并把指示斷開的第二控制信號(hào)輸出給第二連接轉(zhuǎn)換 電路。
本發(fā)明第二十一方面的半導(dǎo)體電路是一種執(zhí)行程序的半導(dǎo)體電路,包括保存程序的加密指令或數(shù)據(jù),對(duì)將通過該半導(dǎo)體電路之外的 第 一傳輸線路輸出給存儲(chǔ)設(shè)備的數(shù)據(jù)加密,并對(duì)通過第 一傳輸線路從 存儲(chǔ)設(shè)備輸入的加密指令或數(shù)據(jù)解密的加密/解密電路,利用解密指令 或數(shù)據(jù)進(jìn)行計(jì)算的計(jì)算電路,根據(jù)控制信號(hào)選擇是否許可位于該半導(dǎo) 體電路之外的第二傳輸線路和計(jì)算電路之間的通信的選擇電路,當(dāng)計(jì) 算電路正在利用該程序的指令或數(shù)據(jù)進(jìn)行處理時(shí),向選擇電路輸出指 示不允許第二傳輸線路和計(jì)算電路之間通信的控制信號(hào)的控制電路。
本發(fā)明第二十二方面的數(shù)據(jù)處理設(shè)備是包括存儲(chǔ)電路和半導(dǎo)體電 路的數(shù)據(jù)處理設(shè)備,所述存儲(chǔ)電路在預(yù)定的存儲(chǔ)區(qū)中保存均由若干數(shù) 據(jù)模塊構(gòu)成的若干應(yīng)用程序,所述若千數(shù)據(jù)模塊包括描述與集成電路 通信從而提供服務(wù)的處理例程的處理例程數(shù)據(jù),以及保存表示鏈接在 一起的數(shù)據(jù)模塊、用于在根據(jù)該數(shù)據(jù)模塊的處理中使用另 一數(shù)據(jù)模塊 的第一密鑰數(shù)據(jù),和用于在根據(jù)該數(shù)據(jù)模塊的處理中相對(duì)于集成電路 傳送數(shù)據(jù)的第二密鑰數(shù)據(jù)的管理數(shù)據(jù),所述半導(dǎo)體電路根據(jù)數(shù)據(jù)模塊 執(zhí)行和服務(wù)相關(guān)的處理,在該處理中查看管理數(shù)據(jù),利用對(duì)應(yīng)于該數(shù)
據(jù)模塊的第一密鑰數(shù)據(jù)使用另一數(shù)據(jù)模塊,并且利用對(duì)應(yīng)于該數(shù)據(jù)模 塊的第二密鑰數(shù)據(jù)相對(duì)于集成電路傳送數(shù)據(jù)。
此外,在本發(fā)明第二十二方面的數(shù)據(jù)處理設(shè)備中,存儲(chǔ)電路最好 以數(shù)據(jù)模塊的形式至少保存利用數(shù)據(jù)模塊執(zhí)行的處理的日志數(shù)據(jù),顯 示把數(shù)據(jù)模塊記錄到存儲(chǔ)區(qū)中的例程的程序數(shù)據(jù),顯示從存儲(chǔ)區(qū)刪除 數(shù)據(jù)模塊的記錄的例程的程序數(shù)據(jù),和顯示限定用于保存應(yīng)用程序的 存儲(chǔ)區(qū)的例程的程序數(shù)據(jù)之一 。
此外,在本發(fā)明第二十二方面的數(shù)據(jù)處理設(shè)備中,當(dāng)半導(dǎo)體電路 將執(zhí)行根據(jù)另 一數(shù)據(jù)模塊的處理時(shí),半導(dǎo)體電路最好使用管理數(shù)據(jù)獲 得對(duì)應(yīng)于預(yù)定數(shù)據(jù)模塊的第一密鑰數(shù)據(jù)和對(duì)應(yīng)于另一數(shù)據(jù)模塊的第一 密鑰數(shù)據(jù),并且以獲得的兩個(gè)第一密鑰數(shù)據(jù)相符為條件,從正在執(zhí)行 的預(yù)定數(shù)據(jù)模塊使用所述另 一數(shù)據(jù)模塊。
本發(fā)明第二十三方面的數(shù)據(jù)處理方法是與集成電路通信,進(jìn)行提
限理方法,包括下迷步驟當(dāng)存儲(chǔ)電路在預(yù)定存儲(chǔ)區(qū)中保存均由包括描 述與集成電路通信從而提供服務(wù)的處理例程的處理例程數(shù)據(jù)在內(nèi)的若 干數(shù)據(jù)模塊組成的若干應(yīng)用程序,以及保存顯示鏈接在一起的數(shù)據(jù)模 塊,用于在根據(jù)該數(shù)據(jù)模塊的處理中使用另 一數(shù)據(jù)模塊的第 一密鑰數(shù) 據(jù),和用于在根據(jù)該數(shù)據(jù)模塊的處理中相對(duì)于集成電路傳送數(shù)據(jù)的第 二密鑰數(shù)據(jù)的管理數(shù)據(jù)時(shí),使半導(dǎo)體電路根據(jù)該數(shù)據(jù)模塊執(zhí)行和服務(wù) 相關(guān)的處理,使半導(dǎo)體電路在與服務(wù)相關(guān)的處理中查看管理數(shù)據(jù),并 利用對(duì)應(yīng)于該數(shù)據(jù)模塊的第 一密鑰數(shù)據(jù)使用另 一數(shù)據(jù)模塊,和使半導(dǎo) 體電路在與服務(wù)相關(guān)的處理中使用對(duì)應(yīng)于該數(shù)據(jù)模塊的第二密鑰數(shù)據(jù) 相對(duì)于集成電路傳送數(shù)據(jù)。
本發(fā)明第二十四方面的程序是由半導(dǎo)體電路執(zhí)行的用于與集成電 路通信,從而執(zhí)行提供服務(wù)的處理,并且相對(duì)于存儲(chǔ)電路傳送數(shù)據(jù)的 程序,包括當(dāng)存儲(chǔ)電路在預(yù)定存儲(chǔ)區(qū)中保存均由包括描述與集成電路
成的若干應(yīng)用程序,以及保存顯示鏈接在一起的數(shù)據(jù)模塊,用于在根 據(jù)該數(shù)據(jù)模塊的處理中使用另 一數(shù)據(jù)模塊的第 一 密鑰數(shù)據(jù),和用于在 根據(jù)該數(shù)據(jù)模塊的處理中相對(duì)于集成電路傳送數(shù)據(jù)的第二密鑰數(shù)據(jù)的 管理數(shù)據(jù)時(shí),根據(jù)該數(shù)據(jù)模塊執(zhí)行和服務(wù)相關(guān)的處理的例程,在與服 務(wù)相關(guān)的處理中查看管理數(shù)據(jù),并利用對(duì)應(yīng)于該數(shù)據(jù)模塊的第一密鑰 數(shù)據(jù)使用另 一數(shù)據(jù)模塊的例程,和在與服務(wù)相關(guān)的處理中使用對(duì)應(yīng)于 該數(shù)據(jù)模塊的第二密鑰數(shù)據(jù)相對(duì)于集成電路傳送數(shù)據(jù)的例程。 根據(jù)上面說明的本發(fā)明,可獲得下述效果。
即,根據(jù)本發(fā)明的第一到第三方面,能夠提供可根據(jù)大量處理請(qǐng) 求高效進(jìn)行處理的數(shù)據(jù)處理方法、半導(dǎo)體電路和程序。
根據(jù)本發(fā)明的第四到笫六方面,可提供在不向用戶告知高度機(jī)密 信息的情況下,使用戶能夠產(chǎn)生并定制該用戶的將由服務(wù)器執(zhí)行的應(yīng) 用程序。
根據(jù)本發(fā)明的第七到第九方面,能夠提供當(dāng)在相同的半導(dǎo)體電路 上運(yùn)行若干應(yīng)用程序時(shí),可防止每個(gè)應(yīng)用程序受另 一應(yīng)用程序影響的數(shù)據(jù)處理方法、半導(dǎo)體電路和程序。
根據(jù)本發(fā)明的第十到第十二方面,能夠提供考慮到上述現(xiàn)有技術(shù) 產(chǎn)生的,并且當(dāng)在相同的半導(dǎo)體電路上運(yùn)行若干應(yīng)用程序時(shí),在防止 每個(gè)應(yīng)用程序受到另一應(yīng)用程序的用戶的非法竄改、監(jiān)視等的同時(shí), 允許根據(jù)需要在應(yīng)用程序之間傳送數(shù)據(jù)的數(shù)據(jù)處理方法、半導(dǎo)體電路 和程序。
根據(jù)本發(fā)明的第十三到第十六方面,能夠提供可根據(jù)其權(quán)限限制
對(duì)服務(wù)器等的半導(dǎo)體電路的訪問內(nèi)容的數(shù)據(jù)處理方法、半導(dǎo)體電路、
驗(yàn)證設(shè)備和程序。
根據(jù)本發(fā)明的第十七和第十八方面,能夠提供即使當(dāng)通過外部總 線在半導(dǎo)體電路和半導(dǎo)體存儲(chǔ)電路之間傳輸高度機(jī)密的數(shù)據(jù)時(shí),也能
夠保持?jǐn)?shù)據(jù)的機(jī)密性的半導(dǎo)體電路和數(shù)據(jù)處理方法。
根據(jù)本發(fā)明的第十九方面,能夠提供當(dāng)執(zhí)行若干程序時(shí),可保持 程序之間指令和數(shù)據(jù)的機(jī)密性的數(shù)據(jù)處理設(shè)備。
根據(jù)本發(fā)明的第二十和第二十 一 方面,能夠提供可提高被執(zhí)行程 序的機(jī)密性的半導(dǎo)體電路。
根據(jù)本發(fā)明的第二十二到第二十四方面,能夠提供當(dāng)提供利用ic
卡或者其它集成電路時(shí),可提高運(yùn)行于服務(wù)器上的應(yīng)用程序的安全性 的數(shù)據(jù)處理設(shè)備、方法和程序。
圖l是本發(fā)明的一個(gè)實(shí)施例的通信系統(tǒng)的整體結(jié)構(gòu)的視圖。
圖2說明了圖1中所示的SAM芯片的軟件配置。
圖3是圖1中所示的IC卡的IC的功能方框圖。
圖4說明了保存在圖3中所示的存儲(chǔ)器中的信息。
圖5說明了保存在圖1中所示的SAM裝置的外部存儲(chǔ)器中的信
圖6說明了圖5中所示的服務(wù)定義表數(shù)據(jù)。
圖7說明了 SAM芯片中利用圖5中所示的服務(wù)定義表數(shù)據(jù)和腳本程序的處理。
圖8說明了腳本程序中使用的命令。 圖9是圖1中所示的SAM芯片的功能方框圖。 圖IO說明了保存在圖9中所示的存儲(chǔ)器中的數(shù)據(jù)。 圖ll說明了由SAM芯片產(chǎn)生的IC卡實(shí)體數(shù)據(jù)的格式。 圖12說明了圖11中所示的IC卡實(shí)體數(shù)據(jù)的狀態(tài)變換圖。 圖13說明了圖10中所示的IC卡過程管理任務(wù)的處理例程。 圖14說明了圖1中所示的通信系統(tǒng)的整體操作。 圖15說明了圖1中所示的通信系統(tǒng)的整體操作。 圖16說明了 IC卡和SAM芯片之間的通信協(xié)議。 圖17是更具體地表示圖9中所示的SAM芯片的功能塊的功能方 框圖。
圖18說明了 SAM芯片的另一種使用模式。
圖19是本發(fā)明 一個(gè)實(shí)施例的通信系統(tǒng)的整體結(jié)構(gòu)的視圖。
圖20說明了圖19中所示的SAM芯片的軟件配置。
圖21是圖19中所示的IC卡的IC的功能方框圖。
圖22說明了保存在圖21中所示的存儲(chǔ)器中的信息。
圖23說明了圖19中所示的SAM裝置的外部存儲(chǔ)器。
圖24說明了圖23中所示的模塊管理數(shù)據(jù)的格式。
圖25是圖1中所示的SAM芯片的功能方框圖。
圖26說明了由圖25中所示的CPU執(zhí)行的任務(wù)。
圖27是說明把應(yīng)用程序從個(gè)人計(jì)算機(jī)下載到圖19中所示的外部
存儲(chǔ)器的操作的流程圖。
圖28是說明執(zhí)行圖19中所示的應(yīng)用程序的SAM芯片的操作的流程圖。
圖29說明了應(yīng)用程序執(zhí)行過程中的操作。 圖30說明了圖19中所示的的系統(tǒng)的整體操作。 圖31是更詳細(xì)地表示圖25中所示的SAM芯片的功能塊的功能方 框圖。圖32說明了 SAM芯片的另一種使用模式。 圖33說明了本發(fā)明一個(gè)實(shí)施例的通信系統(tǒng)的整體結(jié)構(gòu)。 圖34說明了圖33中所示的SAM芯片的軟件配置。 圖35是圖33中所示的IC卡的IC的功能方框圖。 圖36說明了保存在圖35中所示的存儲(chǔ)器中的信息。 圖37是圖33中所示的SAM裝置的外部存儲(chǔ)器的視圖。 圖38說明了圖37中所示的AP選擇數(shù)據(jù)。 圖39說明了圖37中所示的AP間通信數(shù)據(jù)。 圖40是圖33中所示的SAM芯片的功能方框圖。 圖41說明了由圖40中所示的CPU執(zhí)行的任務(wù)。 圖42說明了圖41中所示的結(jié)算處理例程任務(wù)的功能。 圖43是說明圖41中所示的AP間通信任務(wù)的處理的流程圖。 圖44說明了圖41中所示的SAM間通信任務(wù)。 圖45說明了圖33中所示的通信系統(tǒng)的整體操作。 圖46是更詳細(xì)地表示圖40中所示的SAM芯片的功能塊的功能方 框圖。
圖47說明了 SAM芯片的另一種使用模式。 圖48是本發(fā)明一個(gè)實(shí)施例的通信系統(tǒng)的整體結(jié)構(gòu)的視圖。 圖49說明了圖48中所示的SAM芯片的軟件配置。 圖50是利用圖48中所示的應(yīng)用程序的企業(yè)的身份驗(yàn)證裝置的功 能方框圖。
圖51說明了圖50中所示的相互驗(yàn)證裝置的功能。 圖52說明了圖50中所示的下載處理裝置的功能。 圖53是圖48中所示的處理程序?qū)拥能浖_發(fā)者的身份驗(yàn)證裝置
的功能方框圖。
圖54說明了圖53中所示的下載處理裝置的功能。
圖55是圖48中所示的SAM芯片的管理人員的身份驗(yàn)證裝置的功
能方框圖。
圖56說明了圖55中所示的下載處理裝置的功能。圖57說明了圖48中所示的SAM裝置的外部存儲(chǔ)器。
圖58是圖48中所示的SAM芯片的功能方框圖。
圖59是說明把應(yīng)用程序從個(gè)人計(jì)算機(jī)下載到圖48中所示的外部
存儲(chǔ)器的操作的流程圖。
圖60說明了使用圖48中所示的通信系統(tǒng)的IC卡的交易的處理。 圖61是更詳細(xì)地表示圖58中所示的SAM芯片的功能塊的功能方框圖。
圖62說明了 SAM芯片的另一種使用模式。 圖63說明了圖48中所示的通信系統(tǒng)的f^改。 圖64是本發(fā)明一個(gè)實(shí)施例的通信系統(tǒng)的整體結(jié)構(gòu)的視圖。 圖65說明了圖64中所示SAM芯片的軟件配置。 圖66說明了圖64中所示的SAM裝置的外部存儲(chǔ)器。 圖67是圖64中所示SAM芯片的功能方框圖。 圖68說明了圖66中所示的CPU、總線擾頻裝置和外部存儲(chǔ)器之 間的關(guān)系。
圖69說明了圖68中所示的CPU和外部存儲(chǔ)器之間的地址空間。 圖70是圖67中所示的總線擾頻裝置的功能方框圖。 圖71說明了由圖67中所示的總線擾頻裝置進(jìn)行的外部存儲(chǔ)器的 寫操作。
圖72是圖71中所示操作的流程圖。
圖73說明了由圖67中所示的總線擾頻裝置進(jìn)行的外部存儲(chǔ)器的 讀操作。
圖74是圖73中所示操作的流程圖。
圖75說明了圖70中所示的擾頻密鑰管理裝置中擾頻密鑰的交換 處理。
圖76說明了圖70中所示的擾頻密鑰管理裝置中擾頻密鑰的交換 處理。
圖77說明了圖70中所示的擾頻密鑰管理裝置中擾頻密鑰的交換 計(jì)時(shí)。圖78說明了圖70中所示的擾頻密鑰管理裝置中擾頻密鑰的交換 計(jì)時(shí)。
圖79說明了圖70中所示的流水線(pipeline )處理控制裝置進(jìn)行
的流水線處理。
圖80說明了圖64中所示的通信系統(tǒng)的整體操作。
圖81是更詳細(xì)地表示圖67中所示的SAM芯片的功能塊的功能方框圖。
圖82說明了 SAM芯片的另一種使用模式。
圖83是構(gòu)成本發(fā)明的相關(guān)技術(shù)的電子結(jié)算中使用的計(jì)算機(jī)的功 能方框圖。
圖84說明了圖83的計(jì)算機(jī)的軟件結(jié)構(gòu)和本發(fā)明的一個(gè)實(shí)施例。
圖85說明了由圖83中所示的計(jì)算機(jī)處理的IC卡的類型。
圖86說明了寫入之前圖83中所示存儲(chǔ)器的存儲(chǔ)狀態(tài)。
圖87說明了寫入之后圖83中所示存儲(chǔ)器的存儲(chǔ)狀態(tài)。
圖88說明了應(yīng)用程序和圖84中所示的IC卡類型之間的對(duì)應(yīng)關(guān)系。
圖89是根據(jù)本發(fā)明一個(gè)實(shí)施例的計(jì)算機(jī)的結(jié)構(gòu)的視圖。
圖卯是圖89中所示的判斷電路的結(jié)構(gòu)。
圖91是圖卯中所示取出(fetch)判斷電路的結(jié)構(gòu)的視圖。
圖92說明了圖91中所示的取出范圍限定數(shù)據(jù)。
圖93是圖91中所示的取出AP間調(diào)用關(guān)系限定數(shù)據(jù)的視圖。
圖94是圖90中所示的讀出判斷電路的結(jié)構(gòu)的視圖。
圖95說明了圖94中所示的讀出范圍限定數(shù)據(jù)。
圖96說明了圖94中所示的讀出AP間調(diào)用關(guān)系限定數(shù)據(jù)。
圖97是圖90中所示的寫入判斷電路的結(jié)構(gòu)的視圖。
圖98說明了圖97中所示的寫入范圍限定數(shù)據(jù)。
圖99說明了圖97中所示的寫入AP間調(diào)用關(guān)系限定數(shù)據(jù)。
圖IOO說明了本發(fā)明的另一實(shí)施例。
圖IOI說明了本發(fā)明的另一實(shí)施例。圖102是本發(fā)明第一實(shí)施例的半導(dǎo)體芯片的結(jié)構(gòu)視圖。 圖103說明了圖102中所示的半導(dǎo)體芯片的軟件配置。 圖104說明了圖102中所示的程序模塊的結(jié)構(gòu)。 圖105是本發(fā)明第二實(shí)施例的半導(dǎo)體芯片的結(jié)構(gòu)視圖。 圖106說明了圖105中所示程序模塊的結(jié)構(gòu)。 圖107說明了由圖105中所示的加密/解密電路執(zhí)行的加密和解密 單元以及奇偶校驗(yàn)數(shù)據(jù)。
圖108說明了由圖105中所示的加密/解密電路保存的密鑰信息表。
圖109是本實(shí)施例的通信系統(tǒng)的整體結(jié)構(gòu)的視圖。
圖IIO說明了圖109中所示的SAM芯片與之通信的另一SAM芯片。
圖lll說明了圖109中所示的SAM芯片與之通信的另一SAM芯片。
圖112是圖109中所示IC卡的功能方框圖。 圖113是說明圖112中所示存儲(chǔ)器的視圖。 圖114"^兌明了圖109中所示SAM芯片的軟件結(jié)構(gòu)。 圖115說明了圖109中所示外部存儲(chǔ)器的存儲(chǔ)區(qū)。 圖116說明了圖115中所示的應(yīng)用程序AP。 圖117說明了圖116中所示的應(yīng)用單元數(shù)據(jù)APE的類型。 圖118說明了圖109中所示的SAM芯片的處理。 圖119說明了在圖118中所示的IC卡操作宏命令腳本程序中使用 的命令。
圖12(H兌明了圖115中所示的AP管理存儲(chǔ)區(qū)。
圖121說明了圖120中所示的AP管理表數(shù)據(jù)。
圖122說明了 SAM—ID。
圖123說明了圖120中所示的APP表數(shù)據(jù)。
圖124是圖109中所示的SAM芯片的功能方框圖。
圖125說明了保存在圖124中所示存儲(chǔ)器中的任務(wù)、程序和數(shù)據(jù)。圖126說明了 IC卡實(shí)體數(shù)據(jù)73—x的格式。
圖127說明了圖126中所示實(shí)體狀態(tài)數(shù)據(jù)的狀態(tài)變換。
圖128是由IC卡過程管理任務(wù)執(zhí)行的處理的流程圖。
圖129說明了當(dāng)根據(jù)執(zhí)行圖128的步驟ST4的作業(yè)時(shí),由應(yīng)用單
元數(shù)據(jù)APE限定的例程,訪問或處理由其它應(yīng)用單元數(shù)據(jù)APE限定
的數(shù)據(jù)時(shí),SAM芯片執(zhí)行的處理。
圖130說明了當(dāng)根據(jù)執(zhí)行圖128的步驟ST4的作業(yè)時(shí),由應(yīng)用單
元數(shù)據(jù)APE限定的例程,訪問或處理由其它應(yīng)用單元數(shù)據(jù)APE限定
的數(shù)據(jù)時(shí),SAM芯片執(zhí)行的處理。
圖131說明了圖109中所示的通信系統(tǒng)的整體操作。 圖132說明了圖109中所示的通信系統(tǒng)的整體操作。 圖133是說明現(xiàn)有技術(shù)的視圖。
具體實(shí)施例方式
下面將參考
本發(fā)明的實(shí)施例。 第一實(shí)施例
本實(shí)施例是對(duì)應(yīng)于本發(fā)明的第 一到第六方面的實(shí)施例。 圖1是本實(shí)施例的通信系統(tǒng)1的總體結(jié)構(gòu)。
如圖1中所示,通信系統(tǒng)1使用服務(wù)器2、 IC卡3、讀卡機(jī)/寫卡 機(jī)4、個(gè)人計(jì)算機(jī)5、 ASP (應(yīng)用服務(wù)提供者)服務(wù)器6和SAM (保 密應(yīng)用模塊)裝置9通過因特網(wǎng)IO通信,并且利用IC卡3 (本發(fā)明 的集成電路)完成結(jié)算處理或者其它過程的處理。
SAM裝置9具有外部存儲(chǔ)器7和SAM芯片(本發(fā)明的半導(dǎo)體電 路)8。
SAM芯片8具有如圖2中所示的軟件配置。
如圖2中所示,從底層到頂層,SAM芯片8具有HW(硬件)層、 OS層、低級(jí)處理程序?qū)印⒏呒?jí)處理程序?qū)雍虯P層。 低級(jí)處理程序?qū)影?qū)動(dòng)程序?qū)印?br>
這里,AP層包括確定信用卡公司或者圖1中所示的其它企業(yè)15—1、 15_2和15_3使用IC卡3的過程的應(yīng)用程序AP_1、 AP—2和 AP—3。
在AP層,在應(yīng)用程序AP—1、 AP_2及AP_3和高級(jí)處理程序?qū)?之間設(shè)置防火墻FW。
應(yīng)用程序AP一1由后面說明的保存在外部存儲(chǔ)器7中的服務(wù)定義 表數(shù)據(jù)(對(duì)應(yīng)性指令數(shù)據(jù))20_1和腳本程序(操作描述程序)21一1確 定。
應(yīng)用程序AP一2由后面說明的保存在外部存儲(chǔ)器7中的服務(wù)定義 表數(shù)據(jù)(對(duì)應(yīng)性指令數(shù)據(jù))20_2和腳本程序(操作描述程序)21—2確 定。
應(yīng)用程序AP—3由后面說明的保存在外部存儲(chǔ)器7中的服務(wù)定義 表數(shù)據(jù)(對(duì)應(yīng)性指令數(shù)據(jù))20_3和腳本程序(操作描述程序)21—3確 定。
SAM芯片8通過SCSI端口 、以太網(wǎng)等與ASP服務(wù)器6相連。 ASP服務(wù)器6通過因特網(wǎng)10與若干終端設(shè)備相連,包括最終用戶的個(gè) 人計(jì)算機(jī)5和企業(yè)15—1、 15一2和15—3的個(gè)人計(jì)算機(jī)16_1、 16—2和 16_3。
個(gè)人計(jì)算機(jī)5通過串口或USB端口與Dumb型讀卡機(jī)/寫卡機(jī)4 相連。讀卡機(jī)/寫卡機(jī)4實(shí)現(xiàn)與IC卡3的物理無線通信。
在SAM裝置9 一側(cè)產(chǎn)生發(fā)送給IC卡3的操作命令并分析來自于 IC卡3的響應(yīng)分組。于是,讀卡機(jī)/寫卡機(jī)4、個(gè)人計(jì)算機(jī)5、和置于 它們之間的ASP服務(wù)器6只起把命令或響應(yīng)內(nèi)容保存在數(shù)據(jù)有效負(fù)載 部分中并且中繼數(shù)據(jù)有效負(fù)載部分的作用。它們不參與數(shù)據(jù)的加密或 解密、身份驗(yàn)證和IC卡3中的其它實(shí)際操作。
個(gè)人計(jì)算機(jī)16—1、 16—2和16—3可把后面說明的腳本程序下載到 SAM芯片上,從而定制它們的應(yīng)用程序AP_1、 AP—2和AP—3。
下面說明圖1中所示的組件。
圖9是圖1中所示的SAM芯片的功能方框圖。
如圖9中所示,SAM芯片8具有ASPS通信接口裝置60,外部存 儲(chǔ)器通信接口裝置61,總線擾頻裝置62,隨機(jī)數(shù)發(fā)生器63,加密/解 密裝置64,存儲(chǔ)器65和CPU66。
SAM芯片8是防竄改模塊。
ASPS通信接口裝置60是用于和圖1中所示的ASP服務(wù)器6的數(shù) 據(jù)輸入和輸出的接口。
外部存儲(chǔ)器通信接口裝置61是用于和外部存儲(chǔ)器7的數(shù)據(jù)輸入和 輸出的接口。
當(dāng)通過外部存儲(chǔ)器通信接口裝置61輸入和輸出數(shù)據(jù)時(shí),總線擾頻
裝置62對(duì)輸出數(shù)據(jù)編碼加密并對(duì)輸入數(shù)據(jù)解密。
隨機(jī)數(shù)發(fā)生器63產(chǎn)生身份驗(yàn)證處理時(shí)使用的隨機(jī)數(shù)。 加密/解密裝置64對(duì)數(shù)據(jù)加密并對(duì)加密數(shù)據(jù)解密。 如后所述,存儲(chǔ)器65保存CPU66使用的任務(wù)、程序和數(shù)據(jù)。 CPU66根據(jù)預(yù)定的程序(本發(fā)明的程序),從而執(zhí)行后面說明的
腳本下載任務(wù)、腳本解釋任務(wù)、實(shí)體產(chǎn)生任務(wù)(作業(yè)管理數(shù)據(jù)產(chǎn)生任
務(wù))和IC卡過程管理任務(wù)(作業(yè)管理數(shù)據(jù)管理任務(wù)),以及其它任務(wù)。 下面說明保存在存儲(chǔ)器65中的任務(wù)、程序和數(shù)據(jù)。 圖10說明了保存在存儲(chǔ)器65中的任務(wù)、程序和數(shù)據(jù)。 如圖IO中所示,存儲(chǔ)器65保存腳本下栽任務(wù)69、腳本解釋任務(wù)
70、實(shí)體產(chǎn)生任務(wù)71、 IC卡過程管理任務(wù)72、 IC卡操作宏命令腳本程序21—1-21_3、服務(wù)定義表20_1-20—3、IC卡實(shí)體模板數(shù)據(jù)30—1-30—3、 1(:卡實(shí)體數(shù)據(jù)73_乂、輸入數(shù)據(jù)塊31—xl、輸出數(shù)據(jù)塊32—x2、日志數(shù) 據(jù)塊33一x3、和計(jì)算定義數(shù)據(jù)塊34_x4。
如圖7中所示,腳本下載任務(wù)69從企業(yè)的計(jì)算機(jī)下栽服務(wù)定義表 數(shù)據(jù)20—1-20_3,并把它們加載到SAM芯片8中。
腳本解釋任務(wù)70使用服務(wù)定義表數(shù)據(jù)和腳本程序產(chǎn)生各個(gè)企業(yè) 的IC卡實(shí)體模板數(shù)據(jù)、輸入數(shù)據(jù)塊、輸出數(shù)據(jù)塊、日志數(shù)據(jù)塊和計(jì)算 定義數(shù)據(jù)塊。
為各個(gè)企業(yè)產(chǎn)生的數(shù)據(jù)塊的數(shù)目不受特別限制。
當(dāng)實(shí)體產(chǎn)生任務(wù)71從ASP服務(wù)器6接收實(shí)體產(chǎn)生請(qǐng)求時(shí),它相 對(duì)于IC卡3進(jìn)行輪詢,隨后利用對(duì)應(yīng)于企業(yè)的IC卡實(shí)體模板數(shù)據(jù)產(chǎn) 生ic卡實(shí)體數(shù)據(jù),所述IC卡實(shí)體數(shù)據(jù)用于IC卡3和該企業(yè)之間的 過程的處理。此時(shí),IC卡實(shí)體模板數(shù)據(jù)變成類別,以該類別的實(shí)例的 形式產(chǎn)生IC卡實(shí)體數(shù)據(jù)。
實(shí)體產(chǎn)生任務(wù)71產(chǎn)生IC卡實(shí)體數(shù)據(jù)的處理將在后面詳細(xì)說明。
IC卡過程管理任務(wù)72使用存在于存儲(chǔ)器65中的一個(gè)或多個(gè)IC 卡實(shí)體數(shù)據(jù)73_x執(zhí)行IC卡3和企業(yè)15—1-15_3之間的過程的處理。
本實(shí)施例中,在若干IC卡3和企業(yè)15一1一15—3之間執(zhí)行的過程的 若干處理同時(shí)進(jìn)行。
IC卡過程管理任務(wù)72并行執(zhí)行多個(gè)過程的若干處理。
當(dāng) 一 系列的過程完成時(shí),IC卡過程管理任務(wù)72刪除IC卡實(shí)體數(shù) 據(jù)73一x。
IC卡過程管理任務(wù)72的處理將在后面詳細(xì)說明。 腳本程序21_1—21_3由腳本下載任務(wù)69從外部存儲(chǔ)器7輸入存儲(chǔ) 器65。
服務(wù)定義表數(shù)據(jù)20—1-20—3由腳本下載任務(wù)69從外部存儲(chǔ)器7輸 入并保存到存儲(chǔ)器65中。
IC卡實(shí)體模板數(shù)據(jù)30—1-30—3由腳本解釋任務(wù)70產(chǎn)生,并且當(dāng) 產(chǎn)生與相應(yīng)企業(yè)有關(guān)的過程的IC卡實(shí)體數(shù)據(jù)73—x時(shí),被用作才莫板(類別)。
通過利用IC卡實(shí)體模板數(shù)據(jù)30—1-30—3作為類別,實(shí)體產(chǎn)生任務(wù) 71以類別的一個(gè)實(shí)例的形式產(chǎn)生IC卡實(shí)體數(shù)據(jù)73—x。
輸入數(shù)據(jù)塊31一xl、輸出數(shù)據(jù)塊32—x2、日志數(shù)據(jù)塊33—x3和計(jì)算 定義數(shù)據(jù)塊34一x4由腳本解釋任務(wù)70產(chǎn)生。
下面說明IC卡實(shí)體數(shù)據(jù)73一x。
當(dāng)SAM芯片8從ASP服務(wù)器6接收利用IC卡3和預(yù)定企業(yè)的 應(yīng)用程序進(jìn)行處理的處理請(qǐng)求時(shí),通過利用SAM芯片8中已由實(shí)體 產(chǎn)生任務(wù)71產(chǎn)生的對(duì)應(yīng)企業(yè)的IC卡實(shí)體沖莫板數(shù)據(jù)產(chǎn)生IC卡實(shí)體數(shù) 據(jù)73一x。
圖11說明了 IC卡實(shí)體數(shù)據(jù)73一x的格式。
如圖11中所示,IC卡實(shí)體數(shù)據(jù)73j具有管理指針信息80、實(shí)體 ID信息81、實(shí)體狀態(tài)信息(狀態(tài)數(shù)據(jù))82、 IC卡類型信息83、服務(wù) 類型單元指定信息84、處理順序信息(處理順序數(shù)據(jù))85、預(yù)處理信 息86和后處理信息87。
管理指針信息80是用于管理存儲(chǔ)器65中的IC卡實(shí)體數(shù)據(jù)73—x 的雙向指針。
實(shí)體ID信息81用于IC卡實(shí)體數(shù)據(jù)73_x的產(chǎn)生、進(jìn)程狀態(tài)的確 認(rèn)、刪除或者剩余的一系列使用IC卡實(shí)體數(shù)據(jù)73—x的處理的請(qǐng)求。 實(shí)體ID信息81還變成給予最終用戶的返回值。當(dāng)在通用文件系統(tǒng)中 打開文件時(shí),實(shí)體ID信息81對(duì)應(yīng)于描述符。
實(shí)體狀態(tài)信息82表示與IC卡3相關(guān)的過程的進(jìn)程的狀態(tài)。
如圖12中所示,IC卡實(shí)體數(shù)據(jù)73—x的基本狀態(tài)包括調(diào)查IC卡 3能夠使用的服務(wù)的處理的狀態(tài)(RS) , SAM芯片8借助其驗(yàn)證IC 卡3的處理的狀態(tài)(Al) , IC卡3借助其驗(yàn)證SAM芯片8的處理的 狀態(tài)(A2),從IC卡3讀取數(shù)據(jù)的處理的狀態(tài)(R)和把數(shù)據(jù)寫入 IC卡3的處理的狀態(tài)(W)。
本實(shí)施例中,調(diào)查企業(yè)的處理,SAM芯片8驗(yàn)證IC卡3的處理, IC卡3驗(yàn)證SAM芯片8的處理,從IC卡3讀取數(shù)據(jù)的處理和把數(shù)據(jù)寫入IC卡3的處理對(duì)應(yīng)于作業(yè)。
如后所述,"作業(yè)"是IC卡過程管理任務(wù)72為其確定執(zhí)行順序 的處理單元。
注意Al和A2構(gòu)成IC卡3和SAM芯片8之間的相互驗(yàn)證處理。 此外,本實(shí)施例中,考慮到因特網(wǎng)10上的通信時(shí)間,如圖12的 狀態(tài)變換圖中所示,上面提及的基本狀態(tài)被分成啟動(dòng)后(在發(fā)出命令 之后)狀態(tài)和完成(在接收響應(yīng)之后)狀態(tài)。
具體地說,使用IC卡實(shí)體數(shù)據(jù)73_x的處理的狀態(tài)由實(shí)例產(chǎn)生(IC 卡實(shí)體數(shù)據(jù)產(chǎn)生)狀態(tài)、RS啟動(dòng)后狀態(tài)、RS完成狀態(tài)、Al啟動(dòng)后狀 態(tài)、Al完成狀態(tài)、A2啟動(dòng)后狀態(tài)、A2完成狀態(tài)、R啟動(dòng)后狀態(tài)、R 完成狀態(tài)、W啟動(dòng)后狀態(tài)、W完成狀態(tài)和實(shí)例(IC卡實(shí)體數(shù)據(jù))刪 除狀態(tài)管理。
IC卡類型信息83是用于確定發(fā)出IC卡3的企業(yè)的信息。
在產(chǎn)生IC卡實(shí)體數(shù)據(jù)73一x時(shí),利用由上面提及的腳本程序中的 CI命令確定的信息設(shè)置IC卡類型信息83。
服務(wù)類型單元指定信息84表示在利用IC卡實(shí)體數(shù)據(jù)73_x的處理 中所使用的服務(wù)定義表數(shù)據(jù)中定義的服務(wù)的服務(wù)類型單元。
在產(chǎn)生IC卡實(shí)體數(shù)據(jù)73一x時(shí),利用上面提及的腳本程序中的CS 命令指定的一個(gè)或多個(gè)服務(wù)類型單元設(shè)置服務(wù)類型單元指定信息84。
處理順序信息85表示在利用IC卡實(shí)體數(shù)據(jù)73_x中使用的服務(wù) (作業(yè))的執(zhí)行順序,即圖12中所示的狀態(tài)變換。
即,處理順序信息85使用服務(wù)類型單元表示對(duì)應(yīng)于IC卡3的基 本操作的作業(yè)的執(zhí)行順序。
這里如后所述,作業(yè)對(duì)應(yīng)于圖12中所示的RS、 Al、 A2、 R和W。 關(guān)于IC卡3的具體操作由利用作業(yè)指定的處理順序?qū)崿F(xiàn)。例如,對(duì)于 在只存在讀取而不進(jìn)行相互驗(yàn)證的情況下使用IC卡3的處理來說,利 用"RS—R"設(shè)置處理順序信息85。此外,就進(jìn)行相互驗(yàn)證的讀取和 寫入來說,利用"RS—Al—A2—R—W"設(shè)置處理順序信息85。
當(dāng)產(chǎn)生IC卡實(shí)體數(shù)據(jù)73 x時(shí),利用圖12中所示的和在上面提及的腳本程序中的cs命令中指定的服務(wù)單元的順序?qū)?yīng)的作業(yè)順序設(shè) 置處理順序信息85。
利用用于執(zhí)行使用IC卡實(shí)體數(shù)據(jù)73—x的管理數(shù)據(jù),從ASP服務(wù) 器6 —側(cè)設(shè)置預(yù)處理信息86。
例如,利用在SF數(shù)據(jù)塊中指定的服務(wù)的計(jì)算公式的點(diǎn)數(shù)設(shè)置預(yù) 處理^f言息86。
此外,當(dāng)沒有定義服務(wù)間計(jì)算函數(shù)時(shí),利用所請(qǐng)求的處理費(fèi)用 (charge) i殳置預(yù)處理4言息86。
例如,就結(jié)算來說,設(shè)置和賦予的費(fèi)用數(shù)額或者點(diǎn)數(shù)等相關(guān)的狀態(tài)。
利用在ASP服務(wù)器6 —側(cè)所需的IC卡實(shí)體數(shù)據(jù)73一x的處理結(jié)果 的數(shù)據(jù)設(shè)置后處理信息87。例如,就結(jié)算來說,利用表示正常結(jié)束結(jié) 算的數(shù)據(jù)設(shè)置后處理信息87。
下面將說明圖10中所示的和使用若干IC卡實(shí)體數(shù)據(jù)73_x的若干 IC卡3相關(guān)的IC卡過程管理任務(wù)72進(jìn)行的處理的例程。
IC卡過程管理任務(wù)72持續(xù)不斷地在圖9中所示的SAM芯片8 的CPU 66上^皮起動(dòng)。
圖13是IC卡過程管理任務(wù)72執(zhí)行的處理的流程圖。
步驟ST1:
IC卡過程管理任務(wù)72從存在于存儲(chǔ)器65中的若干IC卡實(shí)體數(shù) 據(jù)73_x中選擇一個(gè)IC卡實(shí)體數(shù)據(jù)73—x用于執(zhí)行下一處理。
選擇IC卡實(shí)體數(shù)據(jù)73_x的方法可能是依次選擇存在于存儲(chǔ)器65 中的IC卡實(shí)體數(shù)據(jù)73_x,或者分配優(yōu)先級(jí)順序,并按照最高優(yōu)先級(jí) 的順序依據(jù)優(yōu)先級(jí)進(jìn)行選擇。
步驟ST2:
IC卡過程管理任務(wù)72判斷在步驟ST1選擇的IC卡實(shí)體數(shù)據(jù)73—x 的作業(yè)是否已被啟動(dòng)。當(dāng)判斷該作業(yè)已被啟動(dòng)時(shí),它進(jìn)行到步驟ST5 的處理,而當(dāng)判斷該作業(yè)還未被啟動(dòng)時(shí),則轉(zhuǎn)到步驟ST3的處理。
步驟ST3:IC卡過程管理任務(wù)72根據(jù)在步驟ST1選擇的IC卡實(shí)體數(shù)據(jù)73_x 的圖11中所示的實(shí)體狀態(tài)信息82判斷和該實(shí)體數(shù)據(jù)相關(guān)的處理處于 圖12中所示的狀態(tài)變換圖中的哪一狀態(tài),并且根據(jù)處理順序信息85 確定下一步要執(zhí)行的作業(yè)。
此時(shí),處理順序信息85利用如前所述的服務(wù)定義表數(shù)據(jù)中設(shè)置的 服務(wù)單元確定作業(yè)的執(zhí)行順序。
步驟ST4:
IC卡過程管理任務(wù)72啟動(dòng)在步驟ST3選擇的作業(yè)。 IC卡過程管理任務(wù)72利用上面提及的輸入數(shù)據(jù)塊31—xl,輸出數(shù) 據(jù)塊32_x2,日志數(shù)據(jù)塊33_x3和計(jì)算定義數(shù)據(jù)塊34一x4中和該作業(yè) 相關(guān)的數(shù)據(jù)塊執(zhí)行該作業(yè)。
此時(shí),當(dāng)向執(zhí)行作業(yè)的IC卡3發(fā)出命令時(shí),IC卡過程管理任務(wù) 72把對(duì)應(yīng)于該作業(yè)的服務(wù)單元用作搜索服務(wù)定義表數(shù)據(jù),從而獲得對(duì) 應(yīng)于該服務(wù)單元的服務(wù)編號(hào)的關(guān)鍵字(IC卡3的操作命令能夠被IC 卡3分析)。此外,IC卡過程管理任務(wù)72使用獲得的服務(wù)編號(hào)向IC 卡3發(fā)布命令。
此外,如同利用圖4說明的那樣,當(dāng)訪問IC卡3a的存儲(chǔ)區(qū)需要 密鑰信息時(shí),IC卡過程管理任務(wù)72使用對(duì)應(yīng)于該作業(yè)的服務(wù)單元搜 索服務(wù)定義表數(shù)據(jù),并獲得對(duì)應(yīng)于該^^務(wù)單元的密鑰信息。此外,IC 卡過程管理任務(wù)72使用該密鑰信息完成和IC卡3的相互驗(yàn)證,數(shù)據(jù) 的加密和解密,以及其它處理,并獲得訪問IC卡3的預(yù)定存儲(chǔ)區(qū)的權(quán) 限。
步驟ST5:
當(dāng)IC卡過程管理任務(wù)72向IC卡3發(fā)出命令,并且正在等待IC 卡3的處理結(jié)果時(shí),執(zhí)行步驟ST5。
當(dāng)IC卡過程管理任務(wù)72從IC卡3接收處理結(jié)果時(shí),它把該結(jié) 果放置在IC卡實(shí)體數(shù)據(jù)73一x中。
步驟ST6:
IC卡過程管理任務(wù)72更新圖11中所示的IC卡實(shí)體數(shù)據(jù)73一x的實(shí)體狀態(tài)信息。
這樣,在本實(shí)施例中,IC卡過程管理任務(wù)72并行進(jìn)行存在于SAM 芯片8中的若干IC卡3的處理,同時(shí)按照順序選擇若干IC卡3的IC 卡實(shí)體數(shù)據(jù)73—x。于是,即使當(dāng)接收使用若干IC卡3的過程的處理 請(qǐng)求時(shí),SAM芯片8也可同時(shí)繼續(xù)進(jìn)行處理。
下面將說明圖1中所示的通信系統(tǒng)的所有操作。
圖14和圖15說明了圖1中所示的通信系統(tǒng)1的所有操作。
步驟ST21:
企業(yè)15_1-15—3或者被這些企業(yè)請(qǐng)求的一方在圖1中所示的個(gè)人 計(jì)算機(jī)16_1、 16—2和16—3上產(chǎn)生描述由使用IC卡3的企業(yè)進(jìn)行的交 易的處理的腳本程序21—1、 21—2和21—3。
此外,SAM芯片8的管理人員產(chǎn)生對(duì)應(yīng)于企業(yè)15_1-15—3的服務(wù) 定義表數(shù)據(jù)20_1、 20—2和20—3。
步驟ST22:
在步驟ST21中產(chǎn)生的服務(wù)定義表數(shù)據(jù)20—1、 20—2和20—3被保 存在外部存儲(chǔ)器7中。
此外,通過因特網(wǎng)10、ASP服務(wù)器6和SAM芯片8把在步驟ST21 產(chǎn)生的腳本程序21—1、 21—2和21_3從個(gè)人計(jì)算機(jī)16—1、 16_2和16—3 下載到外部存儲(chǔ)器7。如圖7中所示,該下栽處理由SAM芯片8中的 腳本下載任務(wù)69管理。
步驟ST23:
圖7中所示的SAM芯片中的腳本解釋任務(wù)70使用服務(wù)定義表數(shù) 據(jù)和腳本程序產(chǎn)生每個(gè)企業(yè)的IC卡實(shí)體模板數(shù)據(jù),輸入數(shù)據(jù)塊,輸出 數(shù)據(jù)塊,日志數(shù)據(jù)塊和計(jì)算定義數(shù)據(jù)塊。
產(chǎn)生的數(shù)據(jù)被保存在圖9中所示的SAM芯片8的存儲(chǔ)器65中。
步驟ST24:
用戶被發(fā)給IC卡3。
如圖4中所示,IC卡3的IC 3a的存儲(chǔ)器50保存用于用戶和企 業(yè)達(dá)成的交易的密鑰信息。注意在發(fā)行IC卡3之后,用戶和企業(yè)還可通過因特網(wǎng)10等相互 訂立合同。
步驟ST25:
例如,當(dāng)用戶使用個(gè)人計(jì)算機(jī)5通過因特網(wǎng)10訪問服務(wù)器2,試 圖購買產(chǎn)品時(shí),服務(wù)器2通過因特網(wǎng)10向ASP服務(wù)器6發(fā)出處理請(qǐng)求。
當(dāng)ASP服務(wù)器6從服務(wù)器2接收處理請(qǐng)求時(shí),它通過因特網(wǎng)10 訪問個(gè)人計(jì)算機(jī)5。此外,如圖16A中所示,由IC卡3的讀卡機(jī)/寫 卡機(jī)4發(fā)出的處理請(qǐng)求通過個(gè)人計(jì)算機(jī)5、因特網(wǎng)IO和ASP服務(wù)器6 被傳送給SAM芯片8。
步驟ST26:
ASP服務(wù)器6向SAM芯片8輸出實(shí)體產(chǎn)生請(qǐng)求。 實(shí)體產(chǎn)生請(qǐng)求保存顯示IC卡3的發(fā)行者的信息。 步驟S27:
當(dāng)SAM芯片8接收實(shí)體產(chǎn)生請(qǐng)求時(shí),如圖16B中所示,它執(zhí)行 對(duì)于IC卡3的輪詢。 步驟ST28:
輪詢結(jié)束之后,SAM芯片8的實(shí)體產(chǎn)生任務(wù)71判斷存在于SAM 芯片8中的IC卡實(shí)體數(shù)據(jù)73_x的數(shù)目是否在由腳本程序的SC命令 確定的最大數(shù)目之內(nèi)。如果在最大數(shù)目之內(nèi),則它轉(zhuǎn)到步驟ST29的 處理,如果不在最大數(shù)目之內(nèi),則結(jié)束處理。
步驟ST29:
實(shí)體產(chǎn)生任務(wù)71根據(jù)保存在實(shí)體產(chǎn)生請(qǐng)求中的顯示IC卡3的發(fā) 行者的信息,指定要使用哪個(gè)企業(yè)的IC卡實(shí)體模板數(shù)據(jù),并且使用指 定的IC卡實(shí)體才莫板數(shù)據(jù)產(chǎn)生IC卡實(shí)體數(shù)據(jù)73—x。
這對(duì)應(yīng)于圖12中所示的實(shí)例產(chǎn)生。
步驟ST30:
SAM芯片8把在步驟ST29產(chǎn)生的IC卡實(shí)體數(shù)據(jù)73—x的實(shí)體ID 輸出給ASP服務(wù)器6。步驟ST31:
SAM芯片8的IC卡過程管理任務(wù)72調(diào)查IC卡3能夠使用的服務(wù)。
這是對(duì)應(yīng)于圖12中所示的作業(yè)RS的處理。 步驟ST32:
SAM芯片8的IC卡過程管理任務(wù)72驗(yàn)證IC卡3的合法性。 這是對(duì)應(yīng)于圖12中所示的作業(yè)Al的處理。 步驟ST33:
IC卡3驗(yàn)證SAM芯片8的合法性。 這是對(duì)應(yīng)于圖12中所示的作業(yè)A2的處理。
借助步驟ST32和ST33, IC卡3和SAM芯片8相互驗(yàn)證。這對(duì) 應(yīng)于圖16C。 步驟ST34:
SAM芯片8的IC卡過程管理任務(wù)72讀取和寫入關(guān)于IC卡3的
過程所必需的數(shù)據(jù)。
這是對(duì)應(yīng)于圖12和圖16D及16E中所示的作業(yè)R和W的處理。 此外,IC卡過程管理任務(wù)72使用根據(jù)IC卡實(shí)體數(shù)據(jù)73_x的預(yù)
處理信息指定的計(jì)算公式進(jìn)行使用從IC卡3讀取的數(shù)據(jù)的預(yù)定計(jì)算處理。
步驟ST35:
如圖16F中所示,SAM芯片8的IC卡過程管理任務(wù)72把步驟 ST34的處理結(jié)果輸出給ASP服務(wù)器6。 步驟ST36:
例如,IC卡過程管理任務(wù)72刪除IC卡實(shí)體數(shù)據(jù)73—x。 如上所述,根據(jù)通信系統(tǒng)l,能夠?yàn)楹虸C卡一同發(fā)生的過程的各 個(gè)處理產(chǎn)生IC卡實(shí)體數(shù)據(jù)73一x,并且使IC卡過程管理任務(wù)72使用 若干IC卡實(shí)體數(shù)據(jù)73一x同時(shí)繼續(xù)進(jìn)行關(guān)于若干IC卡3的處理。
此外,根據(jù)驗(yàn)證系統(tǒng)l,由于把實(shí)際用于IC卡3的處理的IC卡 實(shí)體數(shù)據(jù)73 3保存到存儲(chǔ)器65中就足夠了 ,因此能夠有效地使用存儲(chǔ)器65的存儲(chǔ)區(qū)。
另外,根據(jù)驗(yàn)證系統(tǒng)l,如圖12中所示,由于IC卡過程管理任 務(wù)72所處理作業(yè)的執(zhí)行狀態(tài)被分成啟動(dòng)后狀態(tài)和完成狀態(tài),因此在開 始執(zhí)行一個(gè)作業(yè)之后,能夠在等待來自于IC卡3的數(shù)據(jù)的狀態(tài)下開始 另一作業(yè)的處理。于是,能夠消除通過因特網(wǎng)10與IC卡3傳送數(shù)據(jù) 引起的等待時(shí)間。
此外,根據(jù)驗(yàn)證系統(tǒng)1,服務(wù)定義表數(shù)據(jù)描述表示各個(gè)企業(yè)提供 的服務(wù)類型的名稱,即服務(wù)類型單元,IC卡3中使用的服務(wù)的編號(hào), 以及當(dāng)提供該服務(wù)時(shí)使用的密鑰信息。這保存在外部存儲(chǔ)器7中。于 是,不是SAM芯片8的開發(fā)者的企業(yè)15_1-15一3能夠借助腳本程序 21—1、21_2和21—3產(chǎn)生他們自己的運(yùn)行于SAM芯片8上的應(yīng)用程序, 并且通過SAM芯片8把這些應(yīng)用程序下栽到外部存儲(chǔ)器7中以供定 制。即,在不把密鑰信息、直接操作IC卡3的操作命令或者其它高度 機(jī)密的信息告知企業(yè)15_1-15—3的情況下,這些企業(yè)可定制他們自己 的應(yīng)用程序。此外,當(dāng)企業(yè)定制其應(yīng)用程序時(shí),它不必知道密鑰信息 或者卡操作命令,從而減輕了企業(yè)的負(fù)擔(dān)。
此外,根據(jù)驗(yàn)證系統(tǒng)l,由于能夠定義生成若干服務(wù)的計(jì)算內(nèi)容, 因此能夠在IC卡3 —側(cè)提供組合經(jīng)批準(zhǔn)同時(shí)執(zhí)行的大量服務(wù)中的若干 服務(wù)的不同服務(wù)。
此外,根據(jù)驗(yàn)證系統(tǒng)1,通過引入數(shù)椐塊的概念,能夠容易地管 理關(guān)于IC卡3的數(shù)據(jù)輸入和數(shù)據(jù)輸出以及日志數(shù)據(jù)。
圖17是更具體地表示圖9中所示SAM芯片8的功能塊的功能方 框圖。
如圖9中所示,SAM芯片8通過內(nèi)部總線90與ASPS通信接口 裝置60、外部存儲(chǔ)器通信接口裝置61、總線擾頻裝置62、隨機(jī)數(shù)發(fā) 生器63、加密/解密裝置64、存儲(chǔ)器65和CPU66。
在圖17中所示的SAM芯片8中,如圖18中所示,還能夠使和 內(nèi)部總線卯相連的卡I/F裝置91與SAM與芯片8外的RF接收/發(fā)射 裝置92相連,并且通過RF接收/發(fā)射裝置92的天線92a借助非接觸式系統(tǒng)與IC卡3傳送數(shù)據(jù)。 第二實(shí)施例
本實(shí)施例是對(duì)應(yīng)于本發(fā)明的第七到第九方面的實(shí)施例。 圖19是本實(shí)施例的通信系統(tǒng)101的整體結(jié)構(gòu)的示意圖。 如圖19中所示,通信系統(tǒng)101使用服務(wù)器102、 IC卡103(本發(fā) 明的集成電路)、讀卡機(jī)/寫卡機(jī)104、個(gè)人計(jì)算機(jī)105、 ASP (應(yīng)用 服務(wù)提供者)服務(wù)器106、 SAM (保密應(yīng)用模塊)裝置109、個(gè)人計(jì) 算機(jī)116—1、 116—2和116—3、以及身份驗(yàn)證裝置117_1、 117—2和117—3 通過因特網(wǎng)IO通信,并且執(zhí)行使用IC卡103的過程的結(jié)算處理或者 其它處理。
SAM裝置109具有外部存儲(chǔ)器107 (本發(fā)明的半導(dǎo)體存儲(chǔ)電路) 和SAM芯片108 (本發(fā)明的半導(dǎo)體電路)。
SAM芯片108具有圖20中所示的軟件配置。
如圖20中所示,從底層到頂層,SAM芯片108具有HW()哽件) 層、OS層、低級(jí)處理程序?qū)?、高?jí)處理程序?qū)雍虯P層。
低級(jí)處理程序?qū)影?qū)動(dòng)程序?qū)印?br>
這里,AP層包括確定信用卡公司或者圖19中所示的其它企業(yè)
115— 1、 115—2和115—3使用IC卡103的過程的應(yīng)用程序AP_1、 AP—2 和AP_3。
在AP層,在應(yīng)用程序AP—1、 AP一2及AP—3和高級(jí)處理程序?qū)?之間設(shè)置防火墻FW(本發(fā)明的防火墻)。
SAM芯片108通過SCSI端口、以太網(wǎng)等與ASP服務(wù)器106相連。 ASP服務(wù)器106通過因特網(wǎng)110與若干終端設(shè)備相連,包括最終用戶 的個(gè)人計(jì)算機(jī)105和企業(yè)115一1、115—2和115—3的個(gè)人計(jì)算機(jī)116—1、
116— 2和116一3。
個(gè)人計(jì)算機(jī)105通過串口或USB端口與Dumb型讀卡機(jī)/寫卡機(jī) 104相連。讀卡機(jī)/寫卡機(jī)104實(shí)現(xiàn)與IC卡103的物理無線通信。
在SAM裝置109 —側(cè)產(chǎn)生發(fā)送給IC卡103的操作命令并分析來 自于IC卡103的響應(yīng)分組。于是,讀卡機(jī)/寫卡機(jī)104、個(gè)人計(jì)算機(jī)105、和它們之間的ASP服務(wù)辨106只起把命令或響應(yīng)內(nèi)容保存在數(shù)
據(jù)有效負(fù)載部分中并且中繼數(shù)據(jù)有效負(fù)栽部分的作用,它們不參與數(shù) 據(jù)的加密或解密、身份驗(yàn)證和IC卡103中的其它實(shí)際操作。
企業(yè)115—1、 115_2和115—3使用他們的個(gè)人計(jì)算機(jī)116_1、 116_2 和116_3產(chǎn)生應(yīng)用程序AP—1、 AP—2和AP—3,并且通過SAM芯片 108經(jīng)驗(yàn)證裝置117—1、 117—2和117_3把產(chǎn)生的應(yīng)用程序下栽到外部 存儲(chǔ)器107中的預(yù)定存儲(chǔ)區(qū)中。
此時(shí),由于企業(yè)115_1、 115—2和115—3彼此無關(guān),因此SAM芯 片108事先確定外部存儲(chǔ)器107中應(yīng)用程序AP—1、 AP一2和AP—3可 被下載到的存儲(chǔ)區(qū),以及驗(yàn)證是否有權(quán)下載到這樣的存儲(chǔ)區(qū)。
此外,在執(zhí)行應(yīng)用程序AP—1、 AP一2和AP一3的時(shí)候,防火墻FW 限制應(yīng)用程序AP_1、 AP_2和AP—3之間的數(shù)據(jù)傳送和查看。
當(dāng)把應(yīng)用程序AP_1、 AP_2和AP—3下載到SAM芯片108時(shí), 如后所述,驗(yàn)證裝置117_1、 117—2和117—3執(zhí)行與SAM芯片108的 相互驗(yàn)證,產(chǎn)生下載簽名驗(yàn)證密鑰信息等等。
下面說明圖19中所示的組件。
圖21是IC卡103的功能方框圖。
如圖21中所示,IC卡103具有配有存儲(chǔ)器150和處理器151的 IC (集成電路)103a。
如圖22中所示,存儲(chǔ)器150具有由信用卡公司或其它企業(yè)115一1 使用的存儲(chǔ)區(qū)155—1,由企業(yè)115一2使用的存儲(chǔ)區(qū)155—2和由企業(yè) 115一3使用的存儲(chǔ)區(qū)155—3。
此外,存儲(chǔ)器150保存用于判斷對(duì)存儲(chǔ)區(qū)155—1的權(quán)限的存在的 密鑰信息,用于判斷對(duì)存儲(chǔ)區(qū)155—2的訪問權(quán)限的密鑰信息和用于判 斷對(duì)存儲(chǔ)區(qū)155_3的訪問權(quán)限的密鑰信息。密鑰信息專用于相互身份 驗(yàn)證、數(shù)據(jù)的加密和解密等等。
此外,存儲(chǔ)器150保存IC卡103或IC卡103用戶的身份識(shí)別信
命下面將更詳細(xì)地說明SAM裝置109。 [外部存儲(chǔ)器10"
圖23說明了外部存儲(chǔ)器107的存儲(chǔ)區(qū)。
如圖23中所示,外部存儲(chǔ)器107的存儲(chǔ)區(qū)包括保存企業(yè)115_1的 應(yīng)用程序AP—1的AP存儲(chǔ)區(qū)120—l,保存企業(yè)115—2的應(yīng)用程序AP—2 的AP存儲(chǔ)區(qū)120_2,保存企業(yè)115—3的應(yīng)用程序AP—3的AP存儲(chǔ)區(qū) 120一3,由SAM芯片108的管理人員4吏用的AP管理存儲(chǔ)區(qū)121和密 鑰信息存儲(chǔ)區(qū)122。
保存在AP存儲(chǔ)區(qū)120_1中的應(yīng)用程序AP_1由若干程序模塊組 成。對(duì)AP存儲(chǔ)區(qū)120—1的訪問由防火墻FW—1限制。
保存在AP存儲(chǔ)區(qū)120—2中的應(yīng)用程序AP一2由若干程序模塊組 成。對(duì)AP存儲(chǔ)區(qū)120—2的訪問由防火墻FW一2限制。
保存在AP存儲(chǔ)區(qū)120—3中的應(yīng)用程序AP一3由若干程序模塊組 成。對(duì)AP存儲(chǔ)區(qū)120—3的訪問由防火墻FW—3限制。
本實(shí)施例中,上面的程序模塊是從SAM裝置109之外下載到外 部存儲(chǔ)器107的最小單元。構(gòu)成每個(gè)應(yīng)用程序的程序模塊的數(shù)目可由 相應(yīng)的企業(yè)自由確定。
此外,保存在外部存儲(chǔ)器107中的應(yīng)用程序AP_1、 AP—2和AP—3 被加密編碼。當(dāng)被讀入SAM芯片108時(shí),這些應(yīng)用程序被解除加密 編碼。
此外,應(yīng)用程序AP—1、 AP_2和AP—3由使用圖19中所示的個(gè)人 計(jì)算機(jī)116_1、 116—2和116一3的企業(yè)115_1、 115_2和115—3產(chǎn)生, 并且通過SAM芯片108被下載到外部存儲(chǔ)器107。
對(duì)AP管理存儲(chǔ)區(qū)121的訪問由防火墻FW—4限制。 注意防火墻FW_1、 FW—2、 FW_3和FW—4對(duì)應(yīng)于圖20中所示 的防火墻FW。
AP管理存儲(chǔ)區(qū)121保存圖24中所示的模塊管理數(shù)據(jù)130。 模塊管理數(shù)據(jù)130事先記錄從個(gè)人計(jì)算機(jī)116—1、 116_2和116_3
下載的程序模塊的模塊名稱和下載簽名驗(yàn)證密鑰信息(本發(fā)明的下載密鑰信息)。
即,以具有事先記錄于其中的下載簽名驗(yàn)證密鑰信息的模塊管理
數(shù)據(jù)130為條件允許程序模塊的下載。
此外,模塊管理數(shù)據(jù)130把由SAM芯片108執(zhí)行的程序模塊的 模塊名稱和執(zhí)行簽名驗(yàn)證密鑰信息記錄于其中。
即,以具有事先記錄于其中的執(zhí)行簽名驗(yàn)證密鑰信息的模塊管理
數(shù)據(jù)130為條件,獲得將由SAM芯片108執(zhí)行程序模塊的權(quán)限。
如圖24中所示,模塊管理數(shù)據(jù)130表示限制訪問程序模塊的防火 墻的防火墻編號(hào)(本發(fā)明的防火墻識(shí)別信息)的一致性,開始地址, 地址長(zhǎng)度,下栽簽名驗(yàn)證密鑰信息,執(zhí)行簽名驗(yàn)證密鑰信息和保存在 AP存儲(chǔ)區(qū)120_1、 120_2和120—3中的應(yīng)用程序AP_1、 AP—2和AP_3 的各個(gè)程序模塊的模塊名稱。
這里,防火墻編號(hào)表示防止對(duì)程序模塊的訪問的防火墻的編號(hào)。 開始地址表示防火墻限制訪問的存儲(chǔ)區(qū)的開始地址。 地址長(zhǎng)度表示防火墻限制防問的存儲(chǔ)區(qū)的地址長(zhǎng)度。 下栽簽名驗(yàn)證密鑰信息是用于當(dāng)通過SAM芯片108把程序模塊 下栽到外部存儲(chǔ)器107時(shí)執(zhí)行的簽名驗(yàn)證的密鑰信息。
執(zhí)行簽名驗(yàn)證密鑰信息用于驗(yàn)證當(dāng)SAM芯片108執(zhí)行程序模塊 時(shí),給予程序模塊的簽名信息。例如,本實(shí)施例中,每個(gè)程序模塊被 賦予證明其合法性的簽名信息。當(dāng)程序模塊已被非法修改或者竄改, 可使用執(zhí)行簽名驗(yàn)證密鑰信息驗(yàn)證簽名信息,以確認(rèn)程序模塊的合法 性。
模塊名稱是分配給程序模塊的名稱。
密鑰信息存儲(chǔ)區(qū)122保存當(dāng)執(zhí)行應(yīng)用程序AP一l,訪問圖22中所 示的IC卡103的存儲(chǔ)區(qū)155—1時(shí)所使用的加密密鑰信息Kj:i,當(dāng)執(zhí) 行應(yīng)用程序AP—2,訪問圖22中所示的IC卡103的存儲(chǔ)區(qū)155_2時(shí) 所使用的加密密鑰信息K一C2,以及當(dāng)執(zhí)行應(yīng)用程序AP—3,訪問圖22 中所示的IC卡103的存儲(chǔ)區(qū)155—3時(shí)所使用的加密密鑰信息K一C3。
利用密鑰信息K X對(duì)密鑰信息K一C1、 K一C2和K一C3加密。只有SAM芯片108的管理人員才允許對(duì)密鑰信息存儲(chǔ)區(qū)122的 訪問。
圖25是圖19中所示的SAM芯片108的功能方框圖。 如圖25中所示,SAM芯片108具有ASPS通信接口裝置160、外 部存儲(chǔ)器通信接口裝置161,總線擾頻裝置162,簽名處理裝置163, 驗(yàn)證處理裝置164,加密/解密裝置165,存儲(chǔ)器166和CPU 167。 SAM芯片108是防竄改模塊。
ASPS通信接口裝置160是用于關(guān)于圖19中所示的ASP服務(wù)器 106輸入輸出數(shù)據(jù)的接口。
外部存儲(chǔ)器通信接口裝置161是用于關(guān)于外部存儲(chǔ)器107輸入輸 出數(shù)據(jù)的接口。
當(dāng)通過外部存儲(chǔ)器通信接口裝置161輸入和輸出數(shù)據(jù)時(shí),總線擾 頻裝置162對(duì)輸出數(shù)據(jù)編碼加密并對(duì)輸入數(shù)據(jù)解密。
如后所述,當(dāng)通過因特網(wǎng)110把應(yīng)用程序下栽到外部存儲(chǔ)器107 時(shí),以及當(dāng)執(zhí)行該應(yīng)用程序時(shí),簽名處理裝置163產(chǎn)生簽名并驗(yàn)證簽 名。
當(dāng)通過因特網(wǎng)110把應(yīng)用程序下載到外部存儲(chǔ)器107時(shí),驗(yàn)證處
理裝置164執(zhí)行關(guān)于另 一方的相互驗(yàn)證。
加密/解密裝置165對(duì)數(shù)據(jù)加密,并對(duì)加密數(shù)據(jù)解密。
存儲(chǔ)器166保存用于對(duì)保存在上面提及的外部存儲(chǔ)器107的密鑰
信息存儲(chǔ)區(qū)122中的密鑰信息K—Cl、 K_C2和K_C3解密的密鑰信息
K一X。
CPU 167根據(jù)預(yù)定程序(本發(fā)明的程序)執(zhí)行如后所述的任務(wù), 并且執(zhí)行按照這些任務(wù)的執(zhí)行所指定的應(yīng)用程序。 圖26說明了由CPU 167執(zhí)行的任務(wù)。
如圖26中所示,CPU 167執(zhí)行下載任務(wù)170、系統(tǒng)任務(wù)171、 AP 任務(wù)172 (本發(fā)明的程序)和結(jié)算處理例程任務(wù)173。
如后所述,下載任務(wù)170執(zhí)行通過SAM芯片108,從SAM裝置109之外把應(yīng)用程序下載到外部存儲(chǔ)器107的處理。
系統(tǒng)任務(wù)171是執(zhí)行只有IC卡103才有的驅(qū)動(dòng)器管理操作,以及 其它處理的任務(wù)。
AP任務(wù)172全面管理當(dāng)SAM芯片108從ASP服務(wù)器106或者從 SAM芯片108之外的其它地方接收處理請(qǐng)求時(shí)執(zhí)行的應(yīng)用程序AP—1、 AP—2和AP一3的執(zhí)行。
結(jié)算處理例程任務(wù)173確定當(dāng)SAM芯片108從ASP服務(wù)器106 接收涉及IC卡103的處理請(qǐng)求時(shí),將使用應(yīng)用程序AP—1、 AP一2和 AP—3中的哪一個(gè)。
下面將說明通信系統(tǒng)101的操作的例子。
圖27是說明把應(yīng)用程序AP—l從圖19中所示的個(gè)人計(jì)算機(jī)116一1 下栽到外部存儲(chǔ)器107的操作的流程圖。 步驟ST101:
圖19中所示的個(gè)人計(jì)算機(jī)116—1通過驗(yàn)證裝置117—l把指定將下 載的各個(gè)程序模塊的模塊名稱的下載請(qǐng)求傳送給SAM芯片108。 步驟ST102:
運(yùn)行于圖26中所示的SAM芯片108上的下載任務(wù)170執(zhí)行關(guān)于 和個(gè)人計(jì)算機(jī)116—1相連的驗(yàn)證裝置117_1的相互驗(yàn)證。此外,當(dāng)相 互驗(yàn)證確認(rèn)了相互的合法性時(shí),執(zhí)行步驟ST103的處理。
注意,在本實(shí)施例中,可把各種技術(shù)用作相互驗(yàn)證技術(shù),不過使 用了下述技術(shù)。
驗(yàn)證裝置117—1和SAM芯片108都保存有SAM芯片108的身份 識(shí)別信息,即SAM一ID,和相互驗(yàn)證主密鑰信息。
此外,驗(yàn)證裝置117_1利用相互驗(yàn)證主密鑰信息對(duì)SAMJD加密, 并將其傳送給SAM芯片108。 SAM芯片108利用相互驗(yàn)證主密鑰對(duì) 接收的加密SAM一ID解密,并將其和它自己保存的SAM一ID進(jìn)行比較。 如果匹配,則確認(rèn)驗(yàn)證裝置117—1的合法性。此外,與此相反,SAM 芯片108利用相互驗(yàn)證主密鑰信息對(duì)SAM—ID加密,并將其傳送給驗(yàn)證裝置117_1。驗(yàn)證裝置117_1利用相互驗(yàn)證主密鑰對(duì)接收的加密 SAM—ID解密,并將其和它自己保存的SAM_ID進(jìn)行比較。如果匹配, 則確i人SAM芯片108的合法性。 步驟ST紙
下載任務(wù)170判斷在步驟ST101由下載請(qǐng)求指定的各個(gè)模塊名稱 是否記錄到模塊管理數(shù)據(jù)130中,所述模塊管理數(shù)據(jù)130保存在外部 存儲(chǔ)器107的AP管理存儲(chǔ)區(qū)121中。
步驟ST104:
當(dāng)在步驟ST103判斷各個(gè)模塊名稱未被記錄時(shí),在不進(jìn)行下載處 理的情況下結(jié)束處理,而當(dāng)判斷各個(gè)模塊名稱被記錄時(shí),執(zhí)行步驟 ST105的處理。
步驟ST105:
驗(yàn)證裝置117—1利用AP主密鑰KEY-A對(duì)作為明文的SAM_ID 加密,產(chǎn)生下載簽名驗(yàn)證密鑰信息。
此外,它把下載簽名驗(yàn)證密鑰信息或者利用該下載簽名驗(yàn)證密鑰 信息產(chǎn)生的簽名信息傳送給SAM芯片108。
步驟ST106:
當(dāng)在步驟ST105收到下載簽名驗(yàn)證密鑰信息時(shí),下載任務(wù)170判 斷接收的下載簽名驗(yàn)證密鑰信息是否和模塊管理數(shù)據(jù)130中的對(duì)應(yīng)模 塊名稱的下載簽名驗(yàn)證密鑰信息匹配。
此外,當(dāng)在步驟ST105收到簽名信息時(shí),下載任務(wù)170使用模塊 管理數(shù)據(jù)130中的對(duì)應(yīng)模塊名稱的下載簽名驗(yàn)證密鑰信息來判斷簽名 信息的合法性。
步驟ST107:
當(dāng)在步驟ST106判斷下載簽名驗(yàn)證密鑰信息匹配時(shí),或者當(dāng)判斷 簽名信息合法時(shí),下載任務(wù)170轉(zhuǎn)到步驟S108的處理,而在其它情況 下結(jié)束處理。
步驟ST108:
下載任務(wù)170通過查看模塊管理數(shù)據(jù)130,指定外部存儲(chǔ)器107中和在步驟ST101指定的模塊名稱對(duì)應(yīng)的地址,并且把程序模塊從個(gè) 人計(jì)算機(jī)116—1下載到外部存儲(chǔ)器107上的指定地址。 [執(zhí)行應(yīng)用程序的操作]
圖28是說明圖19中所示的SAM芯片108執(zhí)行應(yīng)用程序AP_1的 操作的流程圖。 步驟ST111:
當(dāng)SAM芯片108從ASP服務(wù)器106接收?qǐng)?zhí)行應(yīng)用程序AP—1的 請(qǐng)求時(shí),圖26中所示的AP任務(wù)172執(zhí)行步驟ST112的處理。 步驟ST112:
在AP任務(wù)172執(zhí)行應(yīng)用程序AP_1的程序模塊時(shí),通過參考模塊 管理數(shù)據(jù)130,它可獲得對(duì)應(yīng)于程序模塊的模塊名稱的執(zhí)行簽名驗(yàn)證 密鑰信息。
步驟ST113:
AP任務(wù)172使用在步驟ST112獲得的執(zhí)行簽名驗(yàn)證密鑰信息驗(yàn) 證該程序模塊的信號(hào)信息的合法性。
即,它判斷程序模塊是否已被非法變更或竄改。 步驟ST114:
當(dāng)AP任務(wù)172在步驟ST113驗(yàn)證該簽名信息合法時(shí),它轉(zhuǎn)到步 驟ST115的處理,而當(dāng)它判斷該簽名信息不合法時(shí),結(jié)束處理。 步驟ST115:
AP任務(wù)172執(zhí)行其簽名信息已被判斷為合法的程序模塊。 注意,作為程序中的子例程,程序模塊也可由圖25中所示的CPU 167執(zhí)行。
圖40是圖33中所示的SAM芯片208的功能方框圖。如圖40中所示,SAM芯片208具有ASPS通信接口裝置260、外部存儲(chǔ)器通信接口裝置261,總線擾頻裝置262,簽名處理裝置263,驗(yàn)證處理裝置264,加密/解密裝置265,存儲(chǔ)器266和CPU267。 SAM芯片208是防竄改模塊。
ASPS通信接口裝置160是用于關(guān)于圖33中所示的ASP服務(wù)器 206輸入輸出數(shù)據(jù)的接口。
外部存儲(chǔ)器通信接口裝置261是用于關(guān)于外部存儲(chǔ)器207輸入輸 出數(shù)據(jù)的接口。
當(dāng)通過外部存儲(chǔ)器通信接口裝置261輸入和輸出數(shù)據(jù)時(shí),總線擾 頻裝置262對(duì)輸出數(shù)據(jù)擾頻并對(duì)輸入數(shù)據(jù)解擾頻。 即,外部存儲(chǔ)器207以解擾頻狀態(tài)保存數(shù)據(jù)。
在當(dāng)通過因特網(wǎng)210把應(yīng)用程序下栽到外部存儲(chǔ)器207時(shí),以及 當(dāng)執(zhí)行該應(yīng)用程序時(shí),如后所述的簽名處理裝置263產(chǎn)生簽名并驗(yàn)證 簽名。
當(dāng)通過因特網(wǎng)210把應(yīng)用程序下載到外部存儲(chǔ)器207時(shí),如后所 述,驗(yàn)證處理裝置264執(zhí)行關(guān)于另一方的相互驗(yàn)證。
加密/解密裝置265對(duì)數(shù)據(jù)加密,并對(duì)加密數(shù)據(jù)解密。
存儲(chǔ)器266保存CPU 267的處理所需的數(shù)據(jù)。
CPU 267根據(jù)預(yù)定程序(本發(fā)明的程序)執(zhí)行如后所述的任務(wù), 并且執(zhí)行按照這些任務(wù)的執(zhí)行所指定的應(yīng)用程序。
圖41說明了由CPU 267執(zhí)行的4壬務(wù)。
如圖41中所示,CPU167執(zhí)行下載任務(wù)270、系統(tǒng)任務(wù)271、 AP 任務(wù)272、結(jié)算處理例程任務(wù)273、 AP間通信任務(wù)274和SAM間通 信任務(wù)275。
如后所述,下載任務(wù)270執(zhí)行通過SAM芯片208,從SAM裝置 209之外把應(yīng)用程序下載到外部存儲(chǔ)器207的處理。
系統(tǒng)任務(wù)271是執(zhí)行只有IC卡203才有的驅(qū)動(dòng)器管理操作,或者 其它處理的任務(wù)。
AP任務(wù)272全面管理當(dāng)SAM芯片208從ASP服務(wù)器206或者從 SAM芯片208外的其它地方接收程序請(qǐng)求時(shí)執(zhí)行的應(yīng)用程序AP_1、 AP 2和AP 3的執(zhí)行。如圖42中所示,當(dāng)SAM芯片208從ASP服務(wù)器206接收關(guān)于 IC卡203的處理請(qǐng)求時(shí),結(jié)算處理例程任務(wù)273根據(jù)圖38中所示的 AP選擇數(shù)據(jù)231獲得對(duì)應(yīng)于包含在處理請(qǐng)求中的IC卡類型信息的AP 的身份識(shí)別信息,并且選擇和執(zhí)行對(duì)應(yīng)于該AP身份識(shí)別信息的應(yīng)用 程序AP_1、 AP_2和AP—3。
AP間通信任務(wù)274管理應(yīng)用程序之間的通信。 圖43是說明AP間通信任務(wù)274的處理的流程圖。 這里,所給出的說明舉例描述應(yīng)用程序AP—1發(fā)出把數(shù)據(jù)寫入 AP—2的通信請(qǐng)求的情況。 步驟ST201:
當(dāng)正在執(zhí)行的應(yīng)用程序AP—1發(fā)出把數(shù)據(jù)寫入AP—2的通信請(qǐng)求 時(shí),執(zhí)4亍步驟ST202的處理。 步驟ST202:
在步驟ST201發(fā)出的通信請(qǐng)求由AP間通信任務(wù)274接收。 步驟ST203:
AP間通信任務(wù)274查看圖39中所示的AP間通信數(shù)據(jù)232,并且 判斷通信程序AP—1是否能夠和AP—2通信。 步驟ST204:
當(dāng)AP間通信任務(wù)274在步驟ST203判斷可進(jìn)行通信時(shí),它執(zhí)行 步驟ST205的處理,而當(dāng)不能進(jìn)行通信時(shí),結(jié)束處理。
本例中,根據(jù)圖39,應(yīng)用程序AP—1能夠與AP—2通信,因此執(zhí) 行步驟ST205的處理。
步驟ST205:
在AP間通信任務(wù)274的控制下,應(yīng)用程序AP_1把數(shù)據(jù)寫入圖 37中所示的AP間通信存儲(chǔ)區(qū)233中。 步驟ST206:
AP間通信任務(wù)274向應(yīng)用程序AP一2通知數(shù)據(jù)正被寫入的事實(shí)。 步驟ST207:
應(yīng)用程序AP 2根據(jù)在步驟ST206接收的通知,從AP間通信存儲(chǔ)區(qū)233讀取數(shù)據(jù)。
由此,完成通過防火墻中繼的應(yīng)用程序AP一1和AP—2之間的通信。 如圖44中所示,根據(jù)需要,SAM間通信任務(wù)275能夠起動(dòng)位于 SAM芯片208之外的SAM芯片208x的SAM間通信任務(wù)275,并且 向SAM芯片208x的SAM間通信任務(wù)275發(fā)出遠(yuǎn)程命令。
當(dāng)SAM芯片208的處理負(fù)荷變大,并且它不能適當(dāng)?shù)貓?zhí)行處理 時(shí),這種遠(yuǎn)程命令由SAM芯片208的SAM間通信任務(wù)275發(fā)送給 SAM芯片208x的SAM間通信任務(wù)275,請(qǐng)求SAM芯片208x至少執(zhí) 行分配給SAM芯片208的部分處理。
下面將說明圖33中所示的通信系統(tǒng)201的整體操作。 圖45說明了圖33中所示的通信系統(tǒng)201的整體操作。 步驟ST231:
企業(yè)215_1-215_3或者被這些企業(yè)請(qǐng)求的一方在圖33中所示的個(gè) 人計(jì)算機(jī)216_1、 216_2和216_3上產(chǎn)生這些企業(yè)的應(yīng)用程序AP—1、 AP_2和AP_3,以i更執(zhí)行關(guān)于利用IC卡203的交易的處理。
步驟ST232:
應(yīng)用程序AP—1、 AP—2和AP—3通過驗(yàn)證裝置217—1、 217—2和 217—3從個(gè)人計(jì)算機(jī)216—1、 216—2和216—3被下載到SAM芯片208。 步驟ST233: 用戶被發(fā)給IC卡203。
如圖36中所示,IC卡203的IC 203a保存用于用戶與簽約企業(yè) 的交易的密鑰信息。
注意,用戶和企業(yè)之間的交易可在發(fā)行IC卡203之后,通過因特 網(wǎng)2110等締結(jié)。
步驟ST234:
例如,當(dāng)用戶希望使用個(gè)人計(jì)算機(jī)205通過因特網(wǎng)210訪問服務(wù) 器202并購買產(chǎn)品時(shí),服務(wù)器202通過因特網(wǎng)210向ASP服務(wù)器206 發(fā)送處理請(qǐng)求。
當(dāng)ASP服務(wù)器206從服務(wù)器202接收處理請(qǐng)求時(shí),ASP服務(wù)器206通過因特網(wǎng)210訪問個(gè)人計(jì)算機(jī)205。此外,由讀卡機(jī)/寫卡機(jī)204 發(fā)出的關(guān)于IC卡203的處理請(qǐng)求通過個(gè)人計(jì)算機(jī)205、因特網(wǎng)210 和ASP服務(wù)器206被發(fā)送給SAM芯片208。 步驟ST235:
根據(jù)在步驟ST234接收的處理處理請(qǐng)求,SAM芯片208借助結(jié)算 處理例程任務(wù)273選擇應(yīng)用程序,并且執(zhí)行選擇的應(yīng)用程序。
在應(yīng)用程序的執(zhí)行中,在應(yīng)用程序之間進(jìn)行的任意通信由如上提 及的圖43中所示的AP間通信任務(wù)274完成。
步驟ST236:
SAM芯片208把應(yīng)用程序的執(zhí)行結(jié)果輸出給ASP服務(wù)器206。 如上所述,根據(jù)通信系統(tǒng)201,如圖34和圖37中所示,防火墻 限制應(yīng)用程序APJ、 AP—2和AP—3相互訪問,因此能夠防止應(yīng)用程 序受到非法監(jiān)視和竄改。此外,能夠提高各個(gè)應(yīng)用程序的機(jī)密性。 此外,根據(jù)通信系統(tǒng)201,通過圖41中所示的AP間通信任務(wù)274 使用圖37中所示的外部存儲(chǔ)器207的AP管理存儲(chǔ)區(qū)221完成圖43 中所示的處理,在預(yù)先許可的范圍內(nèi)允許應(yīng)用程序之間的通信。 于是,能夠通過若干應(yīng)用程序的同步和合作提供不同的服務(wù)。 就這種不同的服務(wù)而論,例如,存在圖41中所示的結(jié)算處理例程 273自動(dòng)選擇應(yīng)用程序的情況。即,雖然計(jì)算內(nèi)容的層次相同,但 是對(duì)于按照IC卡203的發(fā)行者在結(jié)算協(xié)議方面不同的結(jié)算處理來 說,如果已知IC卡203的類型,則可自動(dòng)確定對(duì)應(yīng)的應(yīng)用程序。于 是,通過在結(jié)算處理例程任務(wù)273的層次記錄結(jié)算處理,則可自動(dòng) 確定IC卡203的類型和對(duì)應(yīng)的應(yīng)用程序。由此,可減輕應(yīng)用程序開 發(fā)人員的負(fù)擔(dān)。
此外,根據(jù)通信系統(tǒng)201,由于保存在外部存儲(chǔ)器207中的信息 被圖40中所示的SAM芯片208的總線擾頻裝置262擾頻,因此對(duì) 于來自外部的分析來說,存在相當(dāng)高的機(jī)密性。
此外,根據(jù)通信系統(tǒng)201,通過提供圖41中所示的SAM間通信 任務(wù)275,能夠把SAM芯片208的處理負(fù)擔(dān)分散給其它SAM芯片。于是,當(dāng)把SAM芯片208安裝在必須同時(shí)應(yīng)付來自于若干終端設(shè) 備的關(guān)于結(jié)算處理的處理請(qǐng)求的商店服務(wù)器等中時(shí),能夠使用SAM 間通信任務(wù)275的功能提高使用若干SAM芯片208的結(jié)算處理能 力。
圖46是更詳細(xì)地表示圖40中所示的SAM芯片208的功能塊的 方框圖。
如圖46中所示,SAM芯片208通過內(nèi)部總線290與ASPS通信 接口裝置260、外部存儲(chǔ)器通信接口裝置261、總線擾頻裝置262、 加密/解密裝置265、存儲(chǔ)器266和CPU 267相連。
圖40中所示的簽名處理裝置263和驗(yàn)證處理裝置264的部分功能 由CPU 267實(shí)現(xiàn)。
如圖47中所示,圖46中所示的SAM芯片208還可使與內(nèi)部總 線290相連的卡I/F裝置291和SAM芯片208之外的RF接收/發(fā)射 裝置292相連,并且通過RF接收/發(fā)射裝置292的天線292a,借助 非接觸式系統(tǒng)與IC卡203傳送數(shù)據(jù)。
第四實(shí)施例
該實(shí)施例是對(duì)應(yīng)于本發(fā)明的第13 ~ 16方面的實(shí)施例。 圖48是本實(shí)施例的通信系統(tǒng)301的整體結(jié)構(gòu)的視圖。 如圖48中所示,通信系統(tǒng)301使用服務(wù)器302, IC卡303 (本發(fā) 明的集成電路),讀卡機(jī)/寫卡機(jī)304,個(gè)人計(jì)算機(jī)305, ASP(應(yīng)用 服務(wù)提供者)服務(wù)器306, SAM (保密應(yīng)用模塊)裝置309,個(gè)人 計(jì)算機(jī)316—1、 316—2、 316_3、 316—4和316—5,身份驗(yàn)證裝置317—1、 317—2、 317_3、 317—4和317—5 (本發(fā)明的驗(yàn)證設(shè)備)和ICE (線路 內(nèi)仿真器)318通過因特網(wǎng)310通信,開發(fā)或者定制SAM芯片308 的軟件,執(zhí)行利用IC卡303的結(jié)算處理,等等。
SAM裝置309具有外部存儲(chǔ)器307 (本發(fā)明的半導(dǎo)體存儲(chǔ)電路) 和SAM芯片308 (本發(fā)明的半導(dǎo)體電路)。 SAM芯片308具有如圖49中所示的軟件配置。 如圖49中所示,從底層到頂層,SAM芯片308具有HW(硬件)層、OS層、低級(jí)處理程序?qū)?、高?jí)處理程序?qū)雍蛻?yīng)用(AP)層。
低級(jí)處理程序?qū)哟_定不依賴于應(yīng)用程序的處理,并且對(duì)應(yīng)于OSI
協(xié)議中的傳送層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層。 低級(jí)處理程序?qū)影?qū)動(dòng)程序?qū)印?驅(qū)動(dòng)程序?qū)訄?zhí)行和LSI的操作有關(guān)的處理。
高級(jí)處理程序?qū)哟_定依賴于應(yīng)用程序的處理,并且對(duì)應(yīng)于OSI協(xié) 議中比傳送層高的層次。
這里,OS層對(duì)應(yīng)于本發(fā)明的第一層,低級(jí)處理程序?qū)?、?qū)動(dòng)程序 層和高級(jí)處理程序?qū)訉?duì)應(yīng)于本發(fā)明的第二層,AP層對(duì)應(yīng)于本發(fā)明的第 三層。
AP層包括確定信用卡公司和圖48中所示的其它企業(yè)315—AP1、
315— AP2和315—AP3使用IC卡303的過程的應(yīng)用程序AP—1、 AP_2 和AP—3。
在AP層中,在應(yīng)用程序AP—1、 AP—2及AP—3和高級(jí)處理程序 層之間設(shè)置防火墻FW(本發(fā)明的防火墻)。
在圖49中所示的軟件配置中,AP層確定各個(gè)企業(yè)專用的處理,例 如,使用IC卡303的結(jié)算處理的內(nèi)容。直接操作IC卡303的處理由 高級(jí)處理程序?qū)右韵?on down)各層確定。
SAM芯片308通過SCSI端口 、以太網(wǎng)等與ASP服務(wù)器306相連。
ASP服務(wù)器306通過因特網(wǎng)310與個(gè)人計(jì)算機(jī)305、316—1 、316—2、
316— 3、 316_4和316—5相連。
個(gè)人計(jì)算機(jī)316一1由SAM芯片308所執(zhí)行的應(yīng)用程序AP—1的企 業(yè)315_AP1使用。
個(gè)人計(jì)算機(jī)316一2由SAM芯片308所執(zhí)行的應(yīng)用程序AP_1的企 業(yè)315—AP2使用。
個(gè)人計(jì)算機(jī)316—3由SAM芯片308所執(zhí)行的應(yīng)用程序AP_1的企 業(yè)315_AP3使用。
個(gè)人計(jì)算機(jī)316—4由能夠開發(fā)SAM芯片308的高級(jí)處理程序?qū)?和包括驅(qū)動(dòng)程序?qū)拥牡图?jí)處理程序?qū)拥能浖_發(fā)者315 MID使用。個(gè)人計(jì)算機(jī)316—5由SAM芯片308的制造者,即有權(quán)整體管理 SAM芯片308的軟件開發(fā)者315_SUP使用。
企業(yè)315—API 、 315—AP2和315—AP3使用個(gè)人計(jì)算機(jī)316—1 、316—2 和316—3產(chǎn)生應(yīng)用程序AP—1、 AP_2和AP—3,并且通過SAM芯片 308,經(jīng)驗(yàn)證裝置317—1、 317—2和317—3把產(chǎn)生的應(yīng)用程序下載到外 部存儲(chǔ)器307中預(yù)先分配的存儲(chǔ)區(qū)中。
此時(shí),企業(yè)315—APl、 315—AP2和315_AP3相互毫無關(guān)系,因此 事先確定外部存儲(chǔ)器307中可下載應(yīng)用程序AP_1、 AP_2和AP一3的 存儲(chǔ)區(qū)。SAM芯片308驗(yàn)證應(yīng)用程序是否有權(quán)下載到這樣的存儲(chǔ)區(qū)。
此外,在應(yīng)用程序AP—1、 AP一2和AP一3的執(zhí)行過程中,防火墻 FW限止應(yīng)用程序AP_1、 AP一2和AP一3之間的數(shù)據(jù)傳送和數(shù)據(jù)查看。
軟件開發(fā)者315一MID根據(jù)需要,通過驗(yàn)證裝置317一4把預(yù)定程序 下栽到SAM芯片308,以便定制SAM芯片308的圖49中所示的高級(jí) 處理程序?qū)雍桶?qū)動(dòng)程序?qū)拥牡图?jí)處理程序?qū)拥鹊取?br>
此外,軟件開發(fā)者315—SUP通過驗(yàn)證裝置317—5把預(yù)定程序下載 到SAM芯片308,以便定制圖49中所示的所有各層。
如后所述,當(dāng)把預(yù)定程序從個(gè)人計(jì)算機(jī)316—1-316—5下載到SAM 芯片308時(shí),驗(yàn)證裝置371一1-317一5相互驗(yàn)證,并且利用SAM芯片 308產(chǎn)生下載簽名驗(yàn)證密鑰信息等等。
個(gè)人計(jì)算機(jī)305由IC卡303的所有者,即最終用戶使用。
個(gè)人計(jì)算機(jī)305通過串行端口或者USP端口與Dumb型讀卡才幾/ 寫卡機(jī)304相連。讀卡機(jī)/寫卡機(jī)304實(shí)現(xiàn)與IC止303的物理無線通 信。
在SAM裝置309 —側(cè)產(chǎn)生發(fā)送給IC卡303的操作命令并分析來 自于IC卡303的響應(yīng)分組。于是,讀卡機(jī)/寫卡機(jī)304、個(gè)人計(jì)算機(jī) 305、和介于它們之間的ASP服務(wù)器306只起把命令或響應(yīng)內(nèi)容保存 在數(shù)據(jù)有效負(fù)載部分中,并且中繼數(shù)據(jù)有效負(fù)載部分的作用,它們不 參與數(shù)據(jù)的加密或解密、身份驗(yàn)證、或者IC卡303中的其它操作。
此外,ICE 318是當(dāng)調(diào)試運(yùn)行于SAM芯片308上的程序時(shí)4吏用的仿真器。
下面將說明圖48中所示的組件。 IC卡303
IC卡303保存使用SAM芯片308的結(jié)算處理所必需的密鑰信息 等等。
身份驗(yàn)證裝置317 1-317 5
圖50是驗(yàn)證裝置317一1的功能方框圖。
如圖50中所示,驗(yàn)證裝置317—1具有存儲(chǔ)器350—1和處理器 351」。
如圖50中所示,存儲(chǔ)器350—1保存SAM一ID、相互驗(yàn)證主密鑰信 息Kl和訪問主密鑰信息KA。
SAM—ID是SAM芯片308的身份識(shí)別信息。
如后所述,相互驗(yàn)證主密鑰信息Kl用于產(chǎn)生相互驗(yàn)證密鑰信息K2。
如后所述,訪問主密鑰信息KA用于產(chǎn)生當(dāng)把程序下栽到外部存 儲(chǔ)器307中時(shí)使用的下栽簽名信息。
訪問主密鑰信息KA是把圖49中所示的SAM芯片308的軟件結(jié) 構(gòu)的AP層的程序下載到外部存儲(chǔ)器307所必需的密鑰信息。
如圖50中所示,處理器351_1具有相互驗(yàn)證裝置352—1和下載處 理器353—1。
如圖51中所示,當(dāng)把程序下載到外部存儲(chǔ)器307時(shí),相互驗(yàn)證裝 置352—1利用相互驗(yàn)證主密鑰信息Kl對(duì)呈明文形式的SAM一ID加密, 產(chǎn)生相互驗(yàn)證密鑰信息K2,并且把該相互驗(yàn)證密鑰信息K2用于和 SAM芯片308的相互驗(yàn)證。
如圖52中所示,當(dāng)把程序下載到外部存儲(chǔ)器307時(shí),下載處理器 353—1利用訪問主密鑰信息KA對(duì)呈明文形式的SAMJQ)加密,產(chǎn)生 下載密鑰信息K—DA。此外,下載處理器353_1使用下載密鑰信息 K^DA產(chǎn)生下載簽名信息,并將其傳送給SAM芯片308。
驗(yàn)證裝置317 2和317 3的結(jié)構(gòu)和上面說明的驗(yàn)證裝置317 1相同。但是,各個(gè)驗(yàn)證裝置的訪問主密鑰信息KA的內(nèi)容各不相同。 圖53是驗(yàn)證裝置317_4的功能方框圖。
如圖53中所示,驗(yàn)證裝置317_4具有存儲(chǔ)器350—4和處理器 351—4。
如圖53中所示,存儲(chǔ)器350—4保存SAM—ID、相互驗(yàn)證主密鑰信 息Kl和訪問主密鑰信息KA和KM。
SAM一ID、相互驗(yàn)證主密鑰信息Kl和訪問主密鑰信息KA和上面 說明的相同。
訪問主密鑰信息KM是用于把圖49中所示SAM芯片308的軟件 結(jié)構(gòu)的高級(jí)處理程序?qū)雍桶?qū)動(dòng)程序?qū)拥牡图?jí)處理程序?qū)拥某绦蛳?載到外部存儲(chǔ)器307或者SAM芯片308的密鑰信息。
如圖53中所示,處理器351—4具有相互驗(yàn)證裝置352—4和下載處 理器353—4。
相互驗(yàn)證裝置352—4和圖51中說明的相互驗(yàn)證裝置352_1相同。 如圖54中所示,當(dāng)把程序下載到外部存儲(chǔ)器307時(shí),下載處理器 353—4利用訪問主密鑰信息KA對(duì)呈明文形式的SAMJD加密,產(chǎn)生 下載密鑰信息K^DA。隨后,下栽處理裝置353_4利用訪問主密鑰信 息KM對(duì)作為明文的下載密鑰信息K一DA加密,產(chǎn)生下載密鑰信息 K一DM。之后,下載處理裝置353—4使用下載密鑰信息K—DM產(chǎn)生下 載簽名信息,并將其傳送給SAM芯片308。 圖55是驗(yàn)證裝置317一5的功能方框圖。
如圖55中所示,驗(yàn)證裝置317—5具有存儲(chǔ)器350_5和處理器 351 5。
如圖55中所示,存儲(chǔ)器350_5保存SAM_ID、相互驗(yàn)證主密鑰信 息Kl和訪問主密鑰4言息KA、 KM及KS。
SAM一ID、相互驗(yàn)證主密鑰信息Kl和訪問主密鑰信息KA及KM 和上面說明的相同。
訪問主密鑰信息KS是把圖49中所示SAM芯片308的軟件結(jié)構(gòu) 的OS層的程序下栽到外部存儲(chǔ)器307或者SAM芯片308所需的密鑰4§息。
如圖55中所示,處理器351—5具有相互驗(yàn)證裝置352一5和下載處 理器353一5。
相互驗(yàn)證裝置352—5和上面提及的圖51中所示的相互驗(yàn)證裝置
352— 1相同。
如圖56中所示,當(dāng)把程序下載到外部存儲(chǔ)器307時(shí),下載處理器
353— 5利用訪問主密鑰信息KA對(duì)作為明文的SAMJD加密,產(chǎn)生下 載密鑰信息K—DA。隨后,下栽處理器353—5利用訪問主密鑰信息KM 對(duì)作為明文的下載密鑰信息K一DA加密,產(chǎn)生下載密鑰信息K一DM。 之后,下載處理器353_5利用訪問主密鑰信息KS對(duì)作為明文的下栽 密鑰信息KUDM加密,產(chǎn)生下載密鑰信息K_DS。然后,下載處理器 353—5使用下載密鑰信息K—DS產(chǎn)生下載簽名信息,并將其傳送給 SAM芯片308。
本實(shí)施例中,驗(yàn)證裝置317_1、 317—4和317_5安全地把信息保存 在存儲(chǔ)器350—1、 350_4和350_5中。當(dāng)這些信息受到外界因素的破壞 或者被強(qiáng)制打開時(shí),這將被檢測(cè)裝置檢測(cè)到,保存在存儲(chǔ)器350—1、 350—4和350—5中的信息被刪除。
SAM裝置309
使總線擾頻裝置461使用的加密算法的加密塊長(zhǎng)度為Nc,使總線 419的數(shù)據(jù)總線寬度為Nb。在下面的例子中,考慮Nc為Nb的整倍 的情況,即整數(shù)n (=Nc/Nb)。
注意由于增加奇偶校驗(yàn)和地址擾頻的緣故,CPU 466的地址空間 (SAM芯片408中的地址空間)和當(dāng)總線擾頻裝置461訪問外部存儲(chǔ) 器407時(shí)使用的地址空間(下面也稱為"外部存儲(chǔ)器地址空間")不 同。
于是,如圖68中所示,通過利用預(yù)定的映射f (地址變換算法), 總線擾頻裝置461把從CPU 466輸入的地址CPU_ADR (本發(fā)明的第 一地址)轉(zhuǎn)換成外部存儲(chǔ)器地址空間的地址MEM一ADR (本發(fā)明的第二地址)。總線擾頻裝置461 -使用地址MEM_ADR訪問外部存儲(chǔ)器 407。
如圖69中所示,只有當(dāng)?shù)刂穉l (地址CPU—ADR)為"al mod Nc/Nb-0"時(shí)才定義該映射f。對(duì)于另一地址a2,利用f ( a2-( a2 mod Nc/Nb))訪問外部存儲(chǔ)器407。
這里,"xmody"是在用y去除x之后的余數(shù)。
即,總線擾頻裝置461以加密塊長(zhǎng)度Nc為單位相對(duì)于外部存儲(chǔ) 器407讀取和寫入數(shù)據(jù)。
這里,當(dāng)Nc/Nb=n,并且n或更大值(nor more)的最小整數(shù)為 m時(shí),總線擾頻裝置461以m個(gè)交易為單位執(zhí)行通過總線419訪問外 部存儲(chǔ)器407的交易(本發(fā)明的數(shù)據(jù)輸入/輸出交易)。
圖70是總線擾頻裝置461的功能方框圖。
如圖70中所示,總線擾頻裝置461具有加密裝置431,解密裝置 432,地址管理裝置433,擾頻密鑰管理裝置434,奇偶校驗(yàn)處理裝置 435,流水線處理控制裝置436,工作存儲(chǔ)器437和控制器438。
加密裝置431利用預(yù)定的擾頻密鑰K對(duì)從CPU 466輸入的數(shù)據(jù)加密。
解密裝置432利用預(yù)定的擾頻密鑰K對(duì)從外部存儲(chǔ)器407讀取的 數(shù)據(jù)解密。
如上所述,地址管理裝置433把從CPU 466輸入的地址CPI^ADR 轉(zhuǎn)換成地址MEM—ADR。
擾頻密鑰管理裝置434管理在加密裝置431和解密裝置432使用 的擾頻密鑰K,并且恰當(dāng)?shù)亟粨Q擾頻密鑰K。
奇偶校驗(yàn)裝置435把奇偶校驗(yàn)數(shù)據(jù)添加到要寫入外部存儲(chǔ)器407 的數(shù)據(jù)沖,并且驗(yàn)證添加到從外部存儲(chǔ)器407讀取的數(shù)據(jù)中的奇偶校 驗(yàn)數(shù)據(jù)。
流水線處理控制裝置436把總線擾頻裝置461的處理分成若干階 段,并且控制系統(tǒng)以階段為單位進(jìn)行流水線處理。工作存儲(chǔ)器437用于總線擾頻裝置461的處理。 控制器438全面控制總線擾頻裝置461的處理。 [對(duì)于外部存儲(chǔ)器407的寫操作I
圖71說明了當(dāng)圖67中所示的CPU 466把數(shù)據(jù)寫入外部存儲(chǔ)器 407時(shí)總線擾頻裝置461的操作。
圖72是說明圖71中所示操作的流程圖。 步驟ST401:
CPU 466把要寫入的數(shù)據(jù)DATA,即"d32"和地址CPU一ADR, 即"a3"輸出給總線擾頻裝置461。
數(shù)據(jù)"d32"被寫入圖70中所示的總線擾頻裝置461的工作存儲(chǔ) 器437中。
步驟ST402:
當(dāng)Nc〉Nb時(shí),圖70中所示的地ii管理裝置433使用地址"a3,, 查找映射f ( a3- ( a3 mod Nc/Nb )),則映射f ( a3-l),并把映射 f (a3-l)用作外部存儲(chǔ)器地址空間的地址MEIVLADR。
步驟ST403:
圖70中所示的控制器438使用在步驟ST402獲得的地址 MEM—ADR f ( a3-l )從外部存儲(chǔ)器407讀取加密數(shù)據(jù)塊e ( {XI, X2}),并將其寫入工作存儲(chǔ)器437。
步驟ST404:
圖70中所示的解密裝置432對(duì)從工作存儲(chǔ)器437讀取的數(shù)據(jù)塊e ((X1, X2))解密,產(chǎn)生數(shù)據(jù)塊(X1, X2}。此外,奇偶校驗(yàn)處理裝置 435把添加到數(shù)據(jù)塊e ({XI, X2})的奇偶校驗(yàn)數(shù)據(jù)用于奇偶校驗(yàn)處 理,隨后再次把數(shù)據(jù)塊(X1, X2)寫入工作存儲(chǔ)器437。 步驟ST405:
控制器438重寫對(duì)應(yīng)于和從工作存儲(chǔ)器437所讀取地址對(duì)應(yīng)的數(shù) 據(jù)塊(X1, X2)中的地址"a3,,,并且已被解密成寫入數(shù)據(jù)"d32"的 "X2",以便產(chǎn)生數(shù)據(jù)塊(X1, d32},并將其寫入工作存儲(chǔ)器437。
步驟ST406:奇偶校驗(yàn)處理裝置435產(chǎn)生數(shù)據(jù)塊(X1, d32)的奇偶校驗(yàn)數(shù)據(jù)。 步驟ST407:
加密裝置431利用擾頻密鑰K對(duì)從工作存儲(chǔ)器437讀取的數(shù)據(jù)塊 {XI, d32)加密。 步驟ST408:
控制器438在外部存儲(chǔ)器407的地址MEM—ADR f ( a3-l)寫入 數(shù)據(jù)塊(X1, d32},并且在外部存儲(chǔ)器407的預(yù)定區(qū)域中寫入在步驟 ST406產(chǎn)生的奇偶校驗(yàn)數(shù)據(jù)。
注意在步驟ST407對(duì)數(shù)據(jù)塊加密之前,控制器438判斷接下來從 CPU466輸入的地址是否為"a3-l"。如果是"a3-l",則利用寫入數(shù) 據(jù)重寫該數(shù)據(jù)塊Xl,隨后對(duì)其加密并將其寫入外部存儲(chǔ)器407。
由此,能夠減少對(duì)連續(xù)地址進(jìn)行寫操作情況下的步驟數(shù)目。
此外,即使當(dāng)把數(shù)據(jù)長(zhǎng)度為Nb的數(shù)據(jù)寫入外部存儲(chǔ)器407時(shí), 控制器438對(duì)該數(shù)據(jù)填充數(shù)據(jù)長(zhǎng)度為(Nc-Nb)的數(shù)據(jù),以便獲得數(shù) 據(jù)長(zhǎng)度為Nc的數(shù)據(jù),隨后對(duì)其加密,并將其寫入外部存儲(chǔ)器407。
即,外部存儲(chǔ)器407中數(shù)據(jù)長(zhǎng)度為Nc的存儲(chǔ)區(qū)被均勻分配給數(shù) 據(jù)長(zhǎng)度為Nb的數(shù)據(jù)。
圖73說明了從外部存儲(chǔ)器407到總線擾頻裝置的讀取操作。
圖74是說明該讀取操作的流程圖。
步驟ST411:
CPU 466把要讀取的地址CPU—ADR輸出給總線擾頻裝置461。 步驟ST412:
當(dāng)Nc〉Nb時(shí),圖70中所示的地址管理裝置433使用地址"a3" 查找映射f U3- ( a3 mod Nc/Nb )),即映射f ( a3-l),并且把映 射f ( a3-l)用作外部存儲(chǔ)器地址空間的地址MEM—ADR。
步驟ST413:
圖67中所示的CPU 466使用在步驟ST402獲得的地址 MEM ADR f ( a3-l)從外部存儲(chǔ)器407讀取加密(擾頻)數(shù)據(jù)塊e({d31, d32}),并將其寫入工作存儲(chǔ)器437。 步驟ST414:
圖70中所示的解密裝置432對(duì)從工作存儲(chǔ)器437讀取的數(shù)據(jù)塊e ({d31, d32))解密,產(chǎn)生(d31, d32}。此外,奇偶校驗(yàn)處理裝置435 把添加到數(shù)據(jù)塊e( {d31, d32})中的奇偶校驗(yàn)數(shù)據(jù)用于奇偶校驗(yàn)處理, 隨后再次把數(shù)據(jù)塊(d31, d32》寫入工作存儲(chǔ)器437。
步驟ST415:
控制器438取出和從工作存儲(chǔ)器437讀取的數(shù)據(jù)塊(d31, d32)中 的CPU—ADR " a3"對(duì)應(yīng),并且已^皮解密的數(shù)據(jù)"d32",并將其輸出 給CPU 466。
即,控制器438取出數(shù)據(jù)塊中第"(a3modNc/Nb) +1"數(shù)據(jù), 并將其輸出給CPU466。 [擾頻密鑰的管理]
圖70中所示的擾頻密鑰管理裝置434如下管理在加密裝置431和 解密裝置432中使用的擾頻密鑰。
對(duì)于外部存儲(chǔ)器407中的每個(gè)地址,擾頻密鑰管理裝置434可使 用不同的密鑰。于是,必須保存若干擾頻密鑰。下面表示了保存若干 擾頻密鑰的方法的一個(gè)例子。
如圖75中所示,擾頻密鑰管理裝置434保存若干擾頻密鑰Kl、 K2和K3。它根據(jù)來自于CPU 466的地址交換使用的密鑰,并且將其 輸出給加密裝置431和解密裝置432。
具體地說,當(dāng)訪問地址"al"時(shí),它使用擾頻密鑰Kl,當(dāng)訪問地 址"a2"時(shí),它4吏用擾頻密鑰K2,當(dāng)訪問地址"a3"時(shí),它4吏用擾頻 密鑰K3。
此外,如圖76中所示,擾頻密鑰管理裝置434中的計(jì)算電路434a 利用形成類別的密鑰Ks和從CPU 466輸入的地址執(zhí)行處理,并且把 作為擾頻密鑰K的計(jì)算結(jié)果輸出給加密裝置431和解密裝置432。
計(jì)算可包括利用Ks對(duì)填充地址編號(hào)加密或解密,得到異或 (XOR),或者其它計(jì)算。此外,總線擾頻裝置461可把擾頻密鑰保存在總線的預(yù)定位置, 并且通過總線輸入和CPU466發(fā)出的地址對(duì)應(yīng)的擾頻密鑰。這種情況 下,由于傳送擾頻密鑰的數(shù)據(jù)總線和總線擾頻器的總線相同,必須由 存儲(chǔ)器控制器進(jìn)行控制。保存擾頻密鑰的位置可以是SAM芯片408 內(nèi)外的任意地方,但是如果在芯片之外,為了確保到芯片的路徑的安 全性,擾頻密鑰由傳送密鑰加密,并在到達(dá)總線擾頻裝置461時(shí)被解 密??偩€擾頻裝置461以硬件或軟件的形式持有傳送密鑰。
但是,在總線擾頻裝置461中,即使相對(duì)于從CPU 466輸入的每 個(gè)地址改變擾頻密鑰,如果連續(xù)訪問某一地址,通過花費(fèi)一定的時(shí)間, 地址區(qū)的雜亂性被分析的可能性增大。于是,擾頻密鑰不是一個(gè)不變 的擾頻密鑰。借助如下所述的技術(shù)使之可變。
例如,當(dāng)給SAM芯片408等通電時(shí),擾頻密鑰管理裝置434導(dǎo) 致產(chǎn)生隨機(jī)數(shù),以便產(chǎn)生擾頻密鑰。本質(zhì)上擾頻密鑰只需被總線擾頻 器知道,因此不會(huì)產(chǎn)生密鑰傳送、同步之類的問題。
此外,擾頻密鑰管理裝置434交換用于相對(duì)于外部存儲(chǔ)器407的 各次訪問的擾頻密鑰。這種情況下,對(duì)已存在于外部存儲(chǔ)器407中的 數(shù)據(jù)加密的密鑰和當(dāng)前持有的密鑰必須不同。
于是,例如,如圖77和圖78中所示更新擾頻密鑰。
加密裝置431從CPU 466輸入數(shù)據(jù)"d3",而總線擾頻裝置 461從CPU 466輸入地址"al"。:解密裝置432對(duì)數(shù)據(jù)"e ( {dl, d2})"解密,產(chǎn)生數(shù)據(jù)"{dl, d2},,。
此時(shí),擾頻密鑰管理裝置434選擇擾頻密鑰Kl,而解密裝置432 利用擾頻密鑰Kl進(jìn)行解密。
此外,由數(shù)據(jù)"d3"進(jìn)行重寫,產(chǎn)生數(shù)據(jù)"{d3, d2}"。
本實(shí)施例中,在流水線處理控制器436的控制下,總線擾頻裝置 461的處理被分成若干階段,以階段為單位形成流水線,從而能夠縮 短CPU 466觀察到的相對(duì)于外部存儲(chǔ)器407的訪問時(shí)間。
即,當(dāng)不形成流水線時(shí),從CPU 466到外部存儲(chǔ)器407的一次存 儲(chǔ)器訪問至少需要處理一個(gè)加密塊所需的時(shí)間。
例如,如果為根據(jù)CPU 466發(fā)出的地址"al"的數(shù)據(jù)的讀取指令, 由總線擾頻裝置461執(zhí)行的處理形成流水線,則當(dāng)CPU 466依據(jù)程序 代碼等從地址"al,,開始連續(xù)請(qǐng)求更高地址的數(shù)據(jù)時(shí),如果總線擾頻 裝置461事先讀取地址"f Ul),,之后的地址"f (al+Nc/Nb),, 的數(shù)據(jù),則能夠消除加密和解密處理的開銷。
例如,如果考慮忽略存儲(chǔ)器訪問的時(shí)間的情況,則在如同三重DES 之類的三循環(huán)(round)中執(zhí)行各個(gè)數(shù)據(jù)的加密, 一個(gè)加密循環(huán)需要一 個(gè)時(shí)鐘脈沖,并且Nc/Nb-l, CPU 466發(fā)出指定地址"al", " al+l" 和"al+2"的指令,以便從外部存儲(chǔ)器407連續(xù)讀取數(shù)據(jù)。
此時(shí),必需進(jìn)行三輪解密,并且對(duì)每個(gè)數(shù)據(jù)解密需要三個(gè)時(shí)鐘脈沖。
如果不執(zhí)行流水線處理,如圖79A中所示,CPU466發(fā)出第一個(gè) 讀取指令之后的三個(gè)時(shí)鐘脈沖,利用地址"al,,從外部存儲(chǔ)器407讀 取的數(shù)據(jù)"e3 (dl)"被解密三次,獲得數(shù)據(jù)"dl,,,所述數(shù)據(jù)"dl" 隨后凈皮輸入CPU 466。隨后,在另外的三個(gè)時(shí)鐘脈沖之后,利用地址 "al+l"從外部存儲(chǔ)器407讀取的數(shù)據(jù)"e3 (d2),,被解密三次,獲得 隨后被輸入CPU 466的數(shù)據(jù)"d2"。之后,在另外的三個(gè)時(shí)鐘脈沖之 后,利用地址"al+2"從外部存儲(chǔ)器407讀取的數(shù)據(jù)"e3 ( d3 ),,被 解密三次,獲得隨后被輸入CPU 466的數(shù)據(jù)"d3,,。
即,在CPU 466發(fā)出第一個(gè)讀取指令后的九個(gè)時(shí)鐘脈沖時(shí),數(shù)據(jù) "dl"、 "d2"和"d3"被輸入CPU 466。
與此相反,在本實(shí)施例中,通過把每個(gè)循環(huán)作為一個(gè)階段,流水線處理控制器436把解密裝置432的解密處理轉(zhuǎn)換成如圖79B中所示 的三階段流水線處理。
由此,另一方面,雖然從CPU 466首次發(fā)出讀取指令開始,把對(duì) 應(yīng)于地址"al,,的數(shù)據(jù)輸入CPU 466用了三個(gè)時(shí)鐘脈沖,但是隨后每 個(gè)時(shí)鐘脈沖把對(duì)應(yīng)于地址"al+l,,和"al+2"的數(shù)據(jù)連續(xù)輸入CPU 466。
由此,在CPU 466首次發(fā)出讀取指令之后五個(gè)時(shí)鐘脈沖,所有 的數(shù)據(jù)"dl"、 "d2"和"d3,,被輸入CPU 466。
注意,當(dāng)CPU 466請(qǐng)求"al,,之后遠(yuǎn)離地址"al,,的地址"a2,, 的數(shù)據(jù)時(shí),流水線上的數(shù)據(jù)被丟棄,在流水線中包裝地址"a2"、 "a2+l"…的數(shù)據(jù)。
首先說明執(zhí)行本發(fā)明相關(guān)技術(shù)的使用IC卡的交易商業(yè)程序的計(jì) 算機(jī)。
圖83是供本發(fā)明相關(guān)技術(shù)的電子結(jié)算之用的計(jì)算機(jī)501的功能方 框圖。
如圖83中所示,計(jì)算機(jī)501具有CPU 502、存儲(chǔ)器503和通信電 路504。
CPU 502、存儲(chǔ)器503和通信電路504與CPU數(shù)據(jù)總線506相連。 CPU 502和通信電路504與CPU地址總線507相連。 CPU502全面控制計(jì)算機(jī)501的操作,根據(jù)保存在存儲(chǔ)器503中
的程序的指令工作,并且在其工作過程中訪問存儲(chǔ)器503。
通信電路504通過接觸式系統(tǒng)或者非4妄觸式系統(tǒng)與IC卡508通
信。就接觸式類型來說,IC卡508和通信電路504由電觸點(diǎn)相連。此外,就非接觸式類型來說,IC卡508和通信電路504通過電磁波或者 光線等相連。
通過通信電路504從IC卡508接收的數(shù)據(jù)由CPU 502按照保存 在存儲(chǔ)器503中的程序進(jìn)行處理。此外,通過CPU 502的處理獲得的 數(shù)據(jù)通過通信電路504 ^皮傳送給IC卡508。
此外,CPU 502把與IC卡508通信產(chǎn)生的結(jié)算結(jié)果寫入存儲(chǔ)器
503。
圖84說明了圖83中所示的CPU 502的軟件配置。 在圖84中,最底層是硬件層,即,圖83中所示的CPU502的硬 件組件。
硬件層上是通信驅(qū)動(dòng)程序?qū)?。通信?qū)動(dòng)程序?qū)又邪仓糜锌刂婆c CPU 502相連的通信電路504的通信驅(qū)動(dòng)程序?qū)?。通信?qū)動(dòng)程序?qū)拥?程序通常被保存在非易失性存儲(chǔ)器中。
通信驅(qū)動(dòng)程序?qū)由鲜翘峁?gòu)成CPU 502的操作基礎(chǔ)的程序的操作 系統(tǒng)(OS)層。和下面各層相比,OS層向最高應(yīng)用(AP)層提供更 高的概念服務(wù)。例如,其例子包括后面說明的函數(shù)"get card type()", "read card data (),,和"write card data (),,。
此外,OS層上是確定由計(jì)算機(jī)501實(shí)現(xiàn)的特定功能(服務(wù))的 AP層。AP層具有應(yīng)用程序MAIN、 AP—1、 AP—2和AP_3。
本實(shí)施例中,將以應(yīng)用程序的形式舉例說明結(jié)算或者使用IC卡 508的其它交易的準(zhǔn)備。
例如,在OS層和AP層中,確定IC卡類型508的函數(shù)由"get card type ()"定義。
在OS層和AP層中,通過調(diào)用該函數(shù)可確定IC卡508的類型。 例如,假定存在三種類型的IC卡508,即類型A、 B和C。該函數(shù)關(guān) 于IC卡508的返回值,皮定義成如圖85中所示。
例如,假定使用B類IC卡508,則函數(shù)"get card type ()"的 執(zhí)行結(jié)果的返回值變成"2"。
此外,在OS層和AP層中,"read data ( *rp ),,被定義成從IC卡508的內(nèi)部存儲(chǔ)器讀取數(shù)據(jù)的函數(shù)。
這里,"葉p"在概念上類似于C語言中的指針,"*"表示后面 的變量是指針變量,"rp,,表示IC卡508的內(nèi)部存儲(chǔ)器中的具體位置。 當(dāng)顯示"、p,,時(shí),這表示IC卡508的存儲(chǔ)器中"rp地址"的內(nèi)容。 現(xiàn)在假定內(nèi)部存儲(chǔ)器如圖86中所示保存數(shù)據(jù)。
jt匕夕卜,i口果假定"rp=102H",貝'J函數(shù)"read data ( *rp ),,的返 回值變成"56H",能夠讀取"102H地址,,的數(shù)據(jù)。
此外,在OS層和AP層中,"write data ( *wp, wdata ),,被定 義成在IC卡508的內(nèi)部存儲(chǔ)器的特定地址寫入數(shù)據(jù)的函數(shù)。這里, "-wp"在概念上類似于C語言中的指針,"*"表示后面的變量是指針 變量,"wp,,表示IC卡508的內(nèi)部存儲(chǔ)器的具體地址。當(dāng)顯示"*wp,, 時(shí),指示IC卡508的內(nèi)部存儲(chǔ)器的wp地址的內(nèi)容。"wdata,,是寫 數(shù)據(jù)中的變量?,F(xiàn)在假定IC卡508的存儲(chǔ)器如圖87中所示保存數(shù)據(jù)。 這里,如果"wp-102H"并且"wdata=73H,,,并執(zhí)行函數(shù)"write data (*wp, wdata),,,如圖87中所示,該存儲(chǔ)器的"102H地址" 的數(shù)據(jù)被重寫成"73H"。
圖84中所示的應(yīng)用程序AP_1、 AP一2和AP—3確定和不同類型的 IC卡508相關(guān)的交易的處理。圖88中表示了對(duì)應(yīng)關(guān)系。
在圖84中,在啟動(dòng)計(jì)算才幾501時(shí)首次執(zhí)行應(yīng)用程序MAIN。應(yīng)用 程序MAIN使用上面提及的函數(shù)"get card type ()"確定使用的IC 卡508的類型。CPU 502按照根據(jù)圖88中所示的對(duì)應(yīng)關(guān)系表確定的 IC卡508的類型,選擇并執(zhí)行相應(yīng)的應(yīng)用程序。
如果想像A類、B類和C類IC卡508由不同企業(yè)使用的情況, 則應(yīng)用程序AP1、 AP2和AP3由單個(gè)企業(yè)產(chǎn)生。此外,IC卡508的 內(nèi)部存儲(chǔ)器的存儲(chǔ)區(qū)被應(yīng)用程序AP1、 AP2和AP3共享。應(yīng)用程序使 用事先分配給它們的分區(qū)。
如上所述,應(yīng)用程序AP1、 AP2和AP3由單個(gè)企業(yè)產(chǎn)生,但是有 時(shí)程序中存在錯(cuò)誤,另一企業(yè)的應(yīng)用程序被某一企業(yè)利用該企業(yè)的非 法程序惡意讀取,或者IC卡508中不允i午訪問的存儲(chǔ)區(qū)4皮非法訪問。[本發(fā)明的實(shí)施例〗
圖89是根據(jù)本發(fā)明的實(shí)施例的計(jì)算機(jī)551的結(jié)構(gòu)視圖。 如圖89中所示,計(jì)算機(jī)551具有CPU 552、存儲(chǔ)器553、通信電
路504、判斷電路560和開關(guān)電路561。
這里,CPU 552對(duì)應(yīng)于本發(fā)明的計(jì)算電路,存儲(chǔ)器553對(duì)應(yīng)于本
發(fā)明的存儲(chǔ)電路,通信電路504對(duì)應(yīng)于本發(fā)明的通信電路,判斷電路
560對(duì)應(yīng)于本發(fā)明的連接控制電路,開關(guān)電路561對(duì)應(yīng)于本發(fā)明的連
接開關(guān)電路。
CPU數(shù)據(jù)總線506使CPU 552、開關(guān)電路561、判斷電路560和 通信電路504與之相連。
CPU數(shù)據(jù)總線506對(duì)應(yīng)于本發(fā)明的傳輸線路。
此外,開關(guān)電路561通過存儲(chǔ)器數(shù)據(jù)總線562與存儲(chǔ)器553相連。
此外,CPU地址總線507使存儲(chǔ)器553、判斷電路560和通信電 路504與之相連。
當(dāng)CPU552訪問存儲(chǔ)器553或者計(jì)算機(jī)551之外的外圍裝置時(shí), CPU地址總線507傳送表示地址的CPU—ADR。
在圖89中,被賦予和圖83中相同附圖標(biāo)記的通信電路504和IC 卡508和圖83中說明的相同。
此外,CPU 552具有和上面利用圖84說明的相同軟件結(jié)構(gòu)。即, 確定和三種IC卡508,即A類、B類和C類相關(guān)的交易的處理的程 序被用作應(yīng)用程序AP1、 AP2和AP3。
通過通信電路504從IC卡508接收的數(shù)據(jù)由CPU 552才艮據(jù)l呆存 在存儲(chǔ)器553中的程序進(jìn)行處理。此外,通過CPU 552的處理獲得的 數(shù)據(jù)通過通信電路504被傳送給IC卡508。
此外,CPU 552把通過與IC卡508通信而產(chǎn)生的結(jié)算結(jié)果寫入 存儲(chǔ)器553中。
開關(guān)電路561根據(jù)來自判斷電路560的判斷結(jié)果信號(hào)S560 (本發(fā) 明的控制信號(hào)),在連接狀態(tài)和斷開狀態(tài)之間切換CPU數(shù)據(jù)總線506 和存儲(chǔ)器數(shù)據(jù)總線562。此外,CPU 552執(zhí)行從存儲(chǔ)器553取出(讀出)的圖84中所示的 OS層的程序,程序MAIN和應(yīng)用程序API 、 AP2和AP3的指令(代 碼)。
CPU 552根據(jù)這些指令的執(zhí)行產(chǎn)生指令類型說明信號(hào)S552a,執(zhí) 行AP說明信號(hào)S552b,被調(diào)用AP說明信號(hào)S552c (如果需要),并 且把這些信號(hào)輸出給判斷電路560。
這里,指令類型說明信號(hào)S552a是指出CPU 552執(zhí)行取出指令、 讀取指令和寫入指令中的哪個(gè)指令的信號(hào)。
這里,取出指令是用于CPU 552通過CPU數(shù)據(jù)總線506取出指 令代碼的指令。
讀取指令是用于CPU 552通過CPU數(shù)據(jù)總線506讀取數(shù)據(jù)的指令。
寫入指令是用于CPU 552通過CPU數(shù)據(jù)總線506寫入數(shù)據(jù)的指令。
此外,執(zhí)行AP說明信號(hào)S552b是表示圖84中所示的應(yīng)用程序 AP1、 AP2、 AP3和MAIN及OS程序的指令中,正被CPU 552執(zhí)行 的指令屬于哪個(gè)程序的信號(hào)。
當(dāng)CPU 552正在執(zhí)行的程序模塊調(diào)用另一程序模塊時(shí),被調(diào)用 AP說明信號(hào)S552c表示調(diào)用目的地的程序模塊屬于應(yīng)用程序AP1、 AP2、 AP3和MAIN及OS程序中的哪個(gè)程序。
此外,當(dāng)如后所述開關(guān)電路561進(jìn)入斷開狀態(tài)時(shí),CPU 552暫停 CPU數(shù)據(jù)總線506及其操作。
下面詳細(xì)說明判斷電路560。
判斷電路560根據(jù)從CPU 552輸入的指令類型說明信號(hào)S552a和 執(zhí)行AP說明信號(hào)S552b,以及通過CPU地址總線507從CPU 552輸 入的地址CPU一ADR,產(chǎn)生判斷結(jié)果信號(hào)S560,并把判斷結(jié)果信號(hào) S560輸出給開關(guān)電路561。
圖90是圖89中所示判斷電路的結(jié)構(gòu)視圖。
如圖卯中所示,判斷電路560具有選擇電路570、取出判斷電路
1571、讀取判斷電路572和寫入判斷電路573。
選擇電路570根據(jù)圖89中所示從CPU 552輸入的指令類型說明 信號(hào)S552a,使開關(guān)574和端子575—1、 575—2及575—3中的一個(gè)端子 相連。
具體地說,當(dāng)指令類型說明信號(hào)S552a指示取出指令時(shí),選擇電 路570 4吏開關(guān)574b和端子575一1相連。
由此,從取出判斷電路571輸出的取出判斷結(jié)果信號(hào)S571通過端 子575—1和開關(guān)574以判斷結(jié)果信號(hào)S560的形式從判斷電路560輸出 給開關(guān)電路561。
此外,當(dāng)指令類型說明信號(hào)S552a指示讀取指令時(shí),選擇電路570 使開關(guān)574和端子575—2相連。
由此,從讀取判斷電路572輸出的讀取判斷結(jié)果信號(hào)S572通過端 子575—2和開關(guān)574以判斷結(jié)果信號(hào)S560的形式從判斷電路560輸出 給開關(guān)電路561。
此外,當(dāng)指令類型說明信號(hào)S552a指示寫入指令時(shí),選擇電路570 使開關(guān)574和端子575_3相連。
由此,從寫入判斷電路573輸出的寫入判斷結(jié)果信號(hào)S573通過端 子575_3和開關(guān)574以判斷結(jié)果信號(hào)S560的形式從判斷電路560輸出 給開關(guān)電路561。
取出判斷電路571使用從CPU 552輸入的執(zhí)行AP說明信號(hào) S552b、被調(diào)用AP說明信號(hào)S552c和地址CPU—ADR產(chǎn)生取出判斷結(jié) 果信號(hào)S571,并將其輸出給選擇電路570的端子575_1。 圖91是圖90中所示的取出判斷電路571的結(jié)構(gòu)視圖。 如圖91中所示,取出判斷電路571具有存儲(chǔ)器581—1和判斷裝置 582—1。
存儲(chǔ)器581_1保存取出范圍限定數(shù)據(jù)584一1和取出AP間調(diào)用關(guān) 系限定數(shù)據(jù)58。
取出范圍限定數(shù)據(jù)584—1為CPU 552正在執(zhí)行OS層程序和圖84 中所示的應(yīng)用程序MAIN、 AP1、 AP2及AP3的各種情況,限定當(dāng)CPU552執(zhí)行取出指令時(shí),存儲(chǔ)器553中可訪問的地址。 圖92說明了取出范圍限定數(shù)據(jù)584—1 。
圖92中的列(垂直)方向表示OS層的程序和圖84中所示的應(yīng) 用程序MAIN、 AP1、 AP2及AP3。
行(水平)方向中的"FROM"表示存儲(chǔ)器553中允許存儲(chǔ)對(duì)應(yīng) 列的程序的存儲(chǔ)區(qū)的起始地址。
行方向中的"FROM"表示存儲(chǔ)器553中允許訪問對(duì)應(yīng)列的程序 的地址范圍的起始地址。
行方向中的"TO,,表示存儲(chǔ)器553中允許訪問對(duì)應(yīng)列的程序的地 址范圍的結(jié)束地址。
例如,允許應(yīng)用程序API訪問存儲(chǔ)器553的地址"2000H"-"2FFFH"的范圍。
當(dāng)CPU 552執(zhí)行取出指令時(shí),取出AP間調(diào)用關(guān)系限定數(shù)據(jù)585一1 表示當(dāng)調(diào)用某一程序模塊時(shí),從其發(fā)出調(diào)用或者被調(diào)用的程序模塊所 屬的程序的組合。
圖93說明了取出AP間調(diào)用關(guān)系限定數(shù)據(jù)585—1 。 圖93的列方向表示OS層的程序和圖84中所示的應(yīng)用程序 MAIN、 AP1、 AP2和AP3。
圖93的行方向表示OS層的程序和圖84中所示的應(yīng)用程序 MAIN、 AP1、 AP2和AP3。
行列的相交位置表示是否允許相應(yīng)列的程序的程序模塊調(diào)用相應(yīng) 行的程序的程序模塊。"o"表示許可調(diào)用。而"x"表示不許可調(diào)用。 例如,允許應(yīng)用程序API的程序才莫塊調(diào)用OS程序、MAIN和應(yīng) 用程序AP3的程序模塊,但是不允許調(diào)用應(yīng)用程序AP2的程序模塊。 判斷裝置582—1根據(jù)從圖89中所示的CPU 552輸入的執(zhí)行AP 說明信號(hào)S552b和地址CPU_ADR,以及從存儲(chǔ)器581_1讀取的取出 范圍限定數(shù)據(jù)584—1,判斷地址CPU—ADR是否包含在圖92中所示 的和由執(zhí)行AP說明信號(hào)S552b指示的程序?qū)?yīng)的列的"FROM"及 "TO,,限定的存儲(chǔ)器553的地址范圍中。當(dāng)判斷該地址包含在所述地址范圍中時(shí),判斷裝置582_1產(chǎn)生說 明連接的取出判斷結(jié)果信號(hào)S571,并且把該信號(hào)輸出給圖90中所示 的選擇電路570的端子575—1。
另一方面,當(dāng)判斷該地址不包含在所述地址范圍中時(shí),判斷裝置 582—1產(chǎn)生說明斷開的取出判斷結(jié)果信號(hào)S571,并且把該信號(hào)輸出給 圖90中所示的選擇電路570的端子575—1。
此外,當(dāng)正被CPU 552執(zhí)行的程序的程序模塊調(diào)用另一程序的程 序模塊時(shí),判斷裝置582—1根據(jù)從圖89中所示的CPU 552輸入的執(zhí) 行AP說明信號(hào)S552b和被調(diào)用AP說明信號(hào)S552c,以及從存儲(chǔ)器 581—1讀取的取出AP間調(diào)用關(guān)系限定數(shù)據(jù)585一1,判斷該調(diào)用是否 被由圖93中所示的取出AP間調(diào)用關(guān)系限定數(shù)據(jù)585—1表示的組合 所允許。
當(dāng)判斷調(diào)用被許可時(shí),判斷裝置582—1產(chǎn)生指示連接的取出判斷 結(jié)果信號(hào)S571,并且把該信號(hào)輸出給圖90中所示選擇電路570的端 子575_1。
另一方面,當(dāng)判斷調(diào)用不被許可時(shí),判斷裝置582一1產(chǎn)生指示斷 開的取出判斷結(jié)果信號(hào)S571,并且把該信號(hào)輸出給圖90中所示選擇 電路570的端子575一1。
讀取判斷電路572使用從CPU 552輸入的執(zhí)行AP指令信號(hào) S552b,被調(diào)用AP說明信號(hào)S552c和地址CPU—ADR產(chǎn)生讀取判斷 結(jié)果信號(hào)S572,并且把該信號(hào)輸出給選擇電路570的端子575—2。
圖94是圖90中所示的讀取判斷電路572的結(jié)構(gòu)視圖。
如圖94中所示,讀取判斷電路572具有存儲(chǔ)器581—2和判斷裝置 582_2。
存儲(chǔ)器581一2保存讀出范圍限定數(shù)據(jù)584一2和讀取AP間調(diào)用關(guān) 系限定數(shù)據(jù)585一2。
讀出范圍限定數(shù)據(jù)584一2為CPU 552正在執(zhí)行OS層的程序和圖 84中所示的應(yīng)用程序MAIN、 AP1、 AP2和AP3的各種情況,確定 當(dāng)CPU 552正在執(zhí)行讀取指令時(shí),存儲(chǔ)器553中可訪問的地址。圖95說明了讀出范圍限定數(shù)據(jù)584—2。
圖95中的列(垂直)方向表示OS層的程序和圖84中所示的應(yīng) 用程序MAIN、 AP1、 AP2和AP3。
行(水平)方向上的"FROM"表示存儲(chǔ)器553中允許存儲(chǔ)對(duì)應(yīng) 列的程序的存儲(chǔ)區(qū)的起始地址。
行方向中的"FROM"表示存儲(chǔ)器553中允許訪問對(duì)應(yīng)列的程序 的地址范圍的起始地址。
行方向中的"TO"表示存儲(chǔ)器553中允許訪問對(duì)應(yīng)列的程序的地 址范圍的結(jié)束地址。
當(dāng)CPU 552執(zhí)行讀取指令時(shí),讀取AP間調(diào)用關(guān)系限定數(shù)據(jù)585一2 表示當(dāng)調(diào)用某一程序模塊時(shí),可發(fā)出調(diào)用或者可被調(diào)用的程序模塊所 屬程序的組合。
圖96說明了讀取AP間調(diào)用關(guān)系限定數(shù)據(jù)585_2。 圖96的列方向表示OS層的程序和圖84中所示的應(yīng)用程序 MAIN、 AP1、 AP2和AP3。
圖96的行方向表示OS層的程序和圖84中所示的應(yīng)用程序 MAIN、 AP1、 AP2和AP3。
行列的相交位置表示是否允許相應(yīng)列的程序的程序模塊調(diào)用相應(yīng) 行的程序的程序模塊。"o,,表示許可調(diào)用。而"x"表示不許可調(diào)用。 判斷裝置582—2根據(jù)從圖89中所示的CPU 552輸入的執(zhí)行AP 說明信號(hào)S552b和地址CPU—ADR,以及從存儲(chǔ)器581_2讀取的讀取 范圍限定數(shù)據(jù)584一2,判斷地址CPl^ADR是否包含在圖95中所示 的和由執(zhí)行AP說明信號(hào)S552b指示的程序?qū)?yīng)的列的"FROM"及 "TO,,限定的存儲(chǔ)器553的地址范圍中。
當(dāng)判斷該地址包含在所述地址范圍中時(shí),判斷裝置582—2產(chǎn)生說 明連接的讀取判斷結(jié)果信號(hào)S572,并且把該信號(hào)輸出給圖90中所示 的選擇電路570的端子575—2。
另一方面,當(dāng)判斷該地址不包含在所述地址范圍中時(shí),判斷裝置 582 2產(chǎn)生說明斷開的讀取判斷結(jié)果信號(hào)S572,并且把該信號(hào)輸出給圖90中所示的選擇電路570的端子575_2。
此外,當(dāng)正被CPU 552執(zhí)行的程序的程序模塊調(diào)用另 一程序的程 序模塊時(shí),判斷裝置582—2根據(jù)從圖89中所示的CPU 552輸入的執(zhí) 行AP說明信號(hào)S552b和被調(diào)用AP說明信號(hào)S552c,以及從存儲(chǔ)器
581— 2讀取的讀取AP間調(diào)用關(guān)系限定數(shù)據(jù)585_2,判斷該調(diào)用是否 被由圖96中所示的讀取AP間調(diào)用關(guān)系限定數(shù)據(jù)585—2表示的組合 所允許。
當(dāng)判斷調(diào)用被許可時(shí),判斷裝置582_2產(chǎn)生指示連接的讀取判斷 結(jié)果信號(hào)S572,并且把該信號(hào)輸出給圖90中所示選擇電路570的端 子575一2。
另一方面,當(dāng)判斷調(diào)用不被許可時(shí),判斷裝置582一2產(chǎn)生指示斷 開的讀取判斷結(jié)果信號(hào)S572,并且把該信號(hào)輸出給圖卯中所示選擇 電路570的端子575—2。
寫入判斷電路573使用從CPU 552輸入的執(zhí)行AP指令信號(hào) S552b,被調(diào)用AP說明信號(hào)S552c和地址CPU_ADR產(chǎn)生寫入判斷 結(jié)果信號(hào)S573,并且把該信號(hào)輸出給選擇電路570的端子575—3。
圖97是圖90中所示的寫入判斷電路的結(jié)構(gòu)視圖。
如圖97中所示,寫入判斷電路573具有存儲(chǔ)器581—3和判斷裝置
582— 3。
存儲(chǔ)器581—3保存寫入范圍限定數(shù)據(jù)584_3和寫入AP間調(diào)用關(guān) 系限定數(shù)據(jù)585—3。
寫入范圍限定數(shù)據(jù)584_3為CPU 552正在執(zhí)行OS層的程序和圖 84中所示的應(yīng)用程序MAIN、 AP1、 AP2和AP3的各種情況,確定 當(dāng)CPU 552正在執(zhí)行寫入指令時(shí),存儲(chǔ)器553中可訪問的地址。
圖98說明了寫入范圍限定數(shù)據(jù)584一3。
圖98中列(垂直)方向表示OS層的程序和圖84中所示的應(yīng)用 程序MAIN、 AP1、 AP2和AP3。
行(水平)方向上的"FROM"表示存儲(chǔ)器553中允許存儲(chǔ)對(duì)應(yīng) 列的程序的存儲(chǔ)區(qū)的起始地址。行方向中的"FROM"表示存儲(chǔ)器553中允許訪問對(duì)應(yīng)列的程序 的地址范圍的起始地址。
行方向中的"TO,,表示存儲(chǔ)器553中允許訪問對(duì)應(yīng)列的程序的地 址范圍的結(jié)束地址。
當(dāng)CPU 552執(zhí)行讀取指令時(shí),寫入AP間調(diào)用關(guān)系限定數(shù)據(jù)585—3 表示當(dāng)調(diào)用某一程序模塊時(shí),可發(fā)出調(diào)用或者可被調(diào)用的程序模塊所 屬程序的組合。
圖99說明了寫入AP間調(diào)用關(guān)系限定數(shù)據(jù)585_3 。 圖99的列方向表示OS層的程序和圖84中所示的應(yīng)用程序 MAIN、 AP1、 AP2和AP3。
圖99的行方向表示OS層的程序和圖84中所示的應(yīng)用程序 MAIN、 AP1、 AP2和AP3。
行列的相交位置表示是否允許相應(yīng)列的程序的程序模塊調(diào)用相應(yīng) 行的程序的程序模塊。"o"表示許可調(diào)用。而"x"表示不許可調(diào)用。 判斷裝置582_3根據(jù)從圖89中所示的CPU 552輸入的執(zhí)行AP 說明信號(hào)S552b和地址CPU—ADR,以及從存儲(chǔ)器581—3讀取的寫入 范圍限定數(shù)據(jù)584一3,判斷地址CPU—ADR是否包含在圖98中所示 的和由執(zhí)行AP說明信號(hào)S552b所指示程序?qū)?yīng)的列的"FROM"及 "TO,,限定的存儲(chǔ)器553的地址范圍中。
當(dāng)判斷該地址包含在所述地址范圍中時(shí),判斷裝置582—3產(chǎn)生說 明連接的寫入判斷結(jié)果信號(hào)S573,并且把該信號(hào)輸出給圖90中所示 的選擇電路570的端子575一3。
另一方面,當(dāng)判斷該地址不包含在所述地址范圍中時(shí),判斷裝置 582一3產(chǎn)生說明斷開的寫入判斷結(jié)果信號(hào)S573,并且把該信號(hào)輸出給 圖90中所示的選擇電路570的端子575_3。
此外,當(dāng)正被CPU 552執(zhí)行的程序的程序模塊調(diào)用另 一程序的程 序模塊時(shí),判斷裝置582—3根據(jù)從圖89中所示的CPU 552輸入的執(zhí) 行AP說明信號(hào)S552b和被調(diào)用AP說明信號(hào)S552c,以及從存儲(chǔ)器 581 3讀取的寫入AP間調(diào)用關(guān)系限定數(shù)據(jù)585_3,判斷該調(diào)用是否被由圖99中所示的寫入AP間調(diào)用關(guān)系限定數(shù)據(jù)585—3表示的組合 所允許。
當(dāng)判斷調(diào)用被許可時(shí),判斷裝置582—3產(chǎn)生指示連接的寫入判斷 結(jié)果信號(hào)S573,并且把該信號(hào)輸出給圖90中所示選擇電路570的端 子575—3。
另一方面,當(dāng)判斷調(diào)用不被許可時(shí),判斷裝置582—3產(chǎn)生指示斷 開的寫入判斷結(jié)果信號(hào)S573,并且把該信號(hào)輸出給圖90中所示選擇 電路570的端子575—3。
下面說明選擇電路570。
選擇電路570根據(jù)來自于CPU 552的指令類型說明信號(hào)S552a使 開關(guān)574和端子575—1、 575—2和575—3相連。
具體地說,當(dāng)指令類型說明信號(hào)S552a指示取出指令時(shí),選擇電 路570使開關(guān)574和端子575_1相連,并且以判斷結(jié)果S560的形式把 取出判斷結(jié)果信號(hào)S571輸出給開關(guān)電路561。由此,開關(guān)電路561的 連接/斷開由取出判斷結(jié)果信號(hào)S571控制。
此外,當(dāng)指令類型說明信號(hào)S552a指示讀取指令時(shí),選擇電路570 使開關(guān)574和端子575_2相連,并且以判斷結(jié)果S560的形式把讀取判 斷結(jié)果信號(hào)S572輸出給開關(guān)電路561。由此,開關(guān)電路561的連接/ 斷開由讀取判斷結(jié)果信號(hào)S572控制。
此外,當(dāng)指令類型說明信號(hào)S552a指示寫入指令時(shí),選擇電路570 使開關(guān)574和端子575—3相連,并且以判斷結(jié)果S560的形式把寫入判 斷結(jié)果信號(hào)S573輸出給開關(guān)電路561。由此,開關(guān)電路561的連接/ 斷開由寫入判斷結(jié)果信號(hào)S573控制。
下面說明計(jì)算機(jī)551的操作的例子。
下面說明計(jì)算機(jī)551在執(zhí)行應(yīng)用程序API的程序模塊的過程中執(zhí) 行取出指令,并且指定地址存儲(chǔ)器553的地址"2100H,,時(shí)的操作例 子。
這種情況下,指示"2100H,,的CPl^ADR在CPU地址總線507上流動(dòng),指示取出指令的指令類型說明信號(hào)S552a和指示API的執(zhí)行 AP說明信號(hào)S552b從CPU 552被輸出給判斷電路560。
此外,圖91中所示的判斷裝置582—1根據(jù)從CPU 552輸入的執(zhí) 行AP說明信號(hào)S552b和地址CPU—ADR,以及從存儲(chǔ)器581讀取的 圖92中所示的取出范圍限定數(shù)據(jù)584—1,判斷地址"2100H"是否包 含由在圖92中對(duì)應(yīng)于API的列的"FROM"和"TO"限定的存儲(chǔ)器 553的地址范圍"2000H"- " 2FFFH,,中。
此外,判斷裝置582—1產(chǎn)生說明連接的取出判斷結(jié)果信號(hào)S571, 并將其輸出給圖90中所示的選擇電路的端子575—1。
此外,由于指令類型說明信號(hào)S552a指示取出,因此選擇電路570 4吏開關(guān)574和端子575—1相連。
由此,說明連接的取出判斷結(jié)果信號(hào)S571通過選擇電路570以判 斷結(jié)果信號(hào)S560的形式被輸出給圖89中所示的開關(guān)電路561。
此外,開關(guān)電路561使CPU數(shù)據(jù)總線506和存儲(chǔ)器數(shù)據(jù)總線562 處于連接狀態(tài),以便允許CPU 552訪問存儲(chǔ)器553。
注意,在上面說明的情況中,當(dāng)?shù)刂稢PU—ADR指示"3100H" 時(shí),由于該地址不包含在地址范圍"2000H,,-"2FFFH,,中,說明斷開 的取出判斷結(jié)果信號(hào)S571從選擇電路570被輸出給開關(guān)電路561。由 此,開關(guān)電路561使CPU數(shù)據(jù)總線506和存儲(chǔ)器數(shù)據(jù)總線562處于斷 開狀態(tài),以防止CPU 552訪問存儲(chǔ)器553。
下面將說明當(dāng)計(jì)算機(jī)551執(zhí)行讀取指令時(shí),應(yīng)用程序AP2的程序 模塊調(diào)用應(yīng)用程序API的程序情況下的操作例子。
這種情況下,顯示AP2的執(zhí)行AP說明信號(hào)S552b和顯示API 的被調(diào)用AP說明信號(hào)S552c從CPU 552被輸出給讀取判斷電路572。
讀取判斷電路572的判斷裝置582一2查看圖96中所示的讀取AP 間調(diào)用關(guān)系限定數(shù)據(jù)585_2 ,并且判斷是否允許從AP2調(diào)用API 。
此外,判斷裝置582一2產(chǎn)生說明連接的讀取判斷結(jié)果信號(hào)S572, 并且將其輸出給圖90中所示的選擇電路570的端子575_2。
1此外,由于指令類型說明信號(hào)S552a指示讀取指令,因此選擇電 路570使開關(guān)574和端子575一2相連。
由此,說明連接的讀取判斷結(jié)果信號(hào)S572通過選擇電路570以判 斷結(jié)果信號(hào)S560的形式被輸出給圖89中所示的開關(guān)電路561。
此外,開關(guān)電路561把CPU數(shù)據(jù)總線506和存儲(chǔ)器數(shù)據(jù)總線562 設(shè)置成連接狀態(tài),從而CPU 552能夠訪問存儲(chǔ)器553。
另一方面,在上述情況中,當(dāng)應(yīng)用程序AP2的程序模塊調(diào)用應(yīng)用 程序AP3的程序時(shí),根據(jù)圖96中所示的讀取AP間調(diào)用關(guān)系限定數(shù)據(jù) 585_2判斷不允許從AP2到AP3的調(diào)用。
此外,判斷裝置582_2產(chǎn)生說明斷開的讀取判斷結(jié)果信號(hào)S572, 并且將其輸出給圖90沖所示選擇電路570的端子575—2。
由此,說明斷開的讀取判斷結(jié)果信號(hào)S572通過選擇電路570以判 斷結(jié)杲信號(hào)S560的形式被輸出給圖89中所示的開關(guān)電路561。
此外,開關(guān)電路561把CPU數(shù)據(jù)總線506和存儲(chǔ)器數(shù)據(jù)總線562 i殳置成斷開狀態(tài),以防止CPU 552訪問存儲(chǔ)器553。
如上所述,根據(jù)CPU552執(zhí)行的程序,判斷電路560和開關(guān)電路 561根據(jù)事先按照各個(gè)程序確定的數(shù)據(jù),確定存儲(chǔ)器553和CPU數(shù)據(jù) 總線506之間的連接狀態(tài)。
于是,可防止正被CPU 552執(zhí)行的應(yīng)用程序非法訪問保存在存儲(chǔ) 器553中的另一應(yīng)用程序的指令和數(shù)據(jù),并且即使當(dāng)CPU 552正在執(zhí) 行若千應(yīng)用程序時(shí),也可在各個(gè)應(yīng)用程序之間獲得高的安全性。
本發(fā)明并不局限于上述實(shí)施例。
例如,在上面說明的實(shí)施例中,舉例說明了判斷電路560保存取 出范圍限定數(shù)據(jù)584—1 、取出AP間調(diào)用關(guān)系限定數(shù)據(jù)585_1 、讀取范 圍限定數(shù)據(jù)584—2、讀取AP間調(diào)用關(guān)系限定數(shù)據(jù)585一2、寫入范圍限 定數(shù)據(jù)584_3和寫入AP間調(diào)用關(guān)系限定數(shù)據(jù)585_3的情況,但是如 圖100中所示,也可使用IC卡558利用密鑰信息K加密保存這樣的 數(shù)據(jù)。
這種情況下,判斷電路560持有密鑰信息K和解密程序590,通過CPU 506和通信電路504訪問IC卡558,從IC卡558讀取取出范 圍限定數(shù)據(jù)584一1、取出AP間調(diào)用關(guān)系限定數(shù)據(jù)585_1、讀取范圍限 定數(shù)據(jù)584一2、讀取AP間調(diào)用關(guān)系限定數(shù)據(jù)585—2、寫入范圍限定數(shù) 據(jù)584—3和寫入AP間調(diào)用關(guān)系限定數(shù)據(jù)585一3,并且使用通過利用預(yù) 定解密程序590和密鑰信息K解密的取出范圍限定數(shù)據(jù)584_1、取出 AP間調(diào)用關(guān)系限定數(shù)據(jù)585一1、讀取范圍限定數(shù)據(jù)584_2、讀取AP 間調(diào)用關(guān)系限定數(shù)據(jù)585_2、寫入范圍限定數(shù)據(jù)584_3和寫入AP間調(diào) 用關(guān)系限定數(shù)據(jù)585一3。
此外,本發(fā)明可把上面的解密程序加密保存在IC卡558中,通過 通信電路504和CPU數(shù)據(jù)總線506把所述解密程序讀入判斷電路560, 由判斷電路560利用預(yù)定的密鑰信息對(duì)其解密,把解密后的解密程序 保存在存儲(chǔ)器553中,并且使判斷電路560從存儲(chǔ)器553讀取并執(zhí)行 解密程序。
此外,在上面i兌明的實(shí)施例中,表示了 CPU 552向判斷電路560 輸出執(zhí)行AP說明信號(hào)S552b和被調(diào)用AP說明信號(hào)S552c的情況, 但是如圖101中所示,這些信號(hào)也可由監(jiān)視CPU地址總線507的判斷 電路560產(chǎn)生。
第七實(shí)施例
本實(shí)施例是對(duì)應(yīng)于本發(fā)明第20-21方向的實(shí)施例。
圖102是本發(fā)明的實(shí)施例的半導(dǎo)體芯片631的結(jié)構(gòu)視圖。
如圖102中所示,半導(dǎo)體芯片631具有內(nèi)部存儲(chǔ)器632、開關(guān)電
路633、開關(guān)電路634,判斷電路635,選擇電路636和CPU 637。 內(nèi)部存儲(chǔ)器632、開關(guān)電路633、開關(guān)電路634、判斷電路635和
CPU 637與CPU數(shù)據(jù)總線640相連。
內(nèi)部存儲(chǔ)器632、判斷電路635和CPU 637與地址總線641相連。 內(nèi)部存儲(chǔ)器632、判斷電路635和CPU 637與信號(hào)線642相連。 此外,內(nèi)部存儲(chǔ)器632還與內(nèi)部數(shù)據(jù)總線643相連。 此外,開關(guān)電路634還通過外部數(shù)據(jù)總線644與外部存儲(chǔ)器660相連。此外,選擇電路636還通過外部數(shù)據(jù)總線645與調(diào)試器661相連。 這里,半導(dǎo)體芯片631對(duì)應(yīng)于本發(fā)明第一方面的半導(dǎo)體電路,CPU 數(shù)據(jù)總線640對(duì)應(yīng)于第一半導(dǎo)體電路的笫一傳輸線路,程序模塊PM一1 對(duì)應(yīng)于執(zhí)行本發(fā)明第一方面的程序的指令,內(nèi)部存儲(chǔ)器632對(duì)應(yīng)于本 發(fā)明第一方面的存儲(chǔ)電路,CPU 637對(duì)應(yīng)于本發(fā)明第一方面的處理電 路,開關(guān)電路633對(duì)應(yīng)于本發(fā)明第一方面的第一連接轉(zhuǎn)換電路,開關(guān) 電路634對(duì)應(yīng)于本發(fā)明第一方面的第二連接轉(zhuǎn)換電路,判斷電路635 對(duì)應(yīng)于本發(fā)明第一方面的連接控制電路,選擇電路636對(duì)應(yīng)于本發(fā)明 第一方面的第三連接轉(zhuǎn)換電路,外部存儲(chǔ)器660對(duì)應(yīng)于本發(fā)明第一方 面的存儲(chǔ)設(shè)備,調(diào)試器661對(duì)應(yīng)于本發(fā)明第一方面的外部設(shè)備。
此外,信號(hào)線642對(duì)應(yīng)于本發(fā)明第一方面的第三傳輸線路,而地 址總線641對(duì)應(yīng)于本發(fā)明第一方面的第四傳輸線路。
此外,判斷結(jié)果信號(hào)S635a對(duì)應(yīng)于本發(fā)明第一方面的第一控制信 號(hào),判斷結(jié)果信號(hào)S635b對(duì)應(yīng)于本發(fā)明第一方面的第二控制信號(hào),判 斷結(jié)果信號(hào)S635c對(duì)應(yīng)于本發(fā)明第一方面的第三控制信號(hào)。
圖103說明了圖102中所示的半導(dǎo)體芯片631的軟件配置。 在圖103中,最底層是硬件層,即,圖102中所示的半導(dǎo)體芯片 631的石更件組件。
硬件層上是通信驅(qū)動(dòng)程序?qū)?。通信?qū)動(dòng)程序?qū)又邪仓糜锌刂仆ㄐ?的通信驅(qū)動(dòng)程序?qū)?。通信?qū)動(dòng)程序?qū)拥某绦蛲ǔ1槐4嬖诜且资源?儲(chǔ)器中。
通信驅(qū)動(dòng)程序?qū)由鲜翘峁?gòu)成半導(dǎo)體芯片631的操作基礎(chǔ)的程序 的操作系統(tǒng)(OS)層。和下面各層相比,OS層向最高應(yīng)用(AP)層 提供更高的概念服務(wù)。
此外,OS層上是確定由半導(dǎo)體芯片631實(shí)現(xiàn)的特定功能(服務(wù)) 的AP層。AP層具有由圖102中所示的程序模塊PM—1、PM—2和PJVL3 實(shí)現(xiàn)的應(yīng)用程序AP1、 AP2和AP3。
內(nèi)部存儲(chǔ)器632保存圖103中所示應(yīng)用程序API的程序模塊 PM 1。圖104說明了程序模塊PM一1的結(jié)構(gòu)。
如圖104中所示,程序模塊PMJ由若千功能模塊組成。圖104 表示了程序模塊PM—1由n個(gè)功能才莫塊FM—l-FM—n組成的情況。
如圖104中所示,位于各個(gè)功能模塊FM_1-FM—n的頭部的指令 (代碼)是解鎖指令,而末尾的指令是鎖定指令。
這里,鎖定指令是指令后面說明的判斷電路635在下一解鎖指令 之前,使開關(guān)電路633保持連接狀態(tài)的指令。
此外,解鎖指令是指令開關(guān)電路633轉(zhuǎn)換到斷開狀態(tài)的指令。
開關(guān)電路633介于CPU數(shù)據(jù)總線640和內(nèi)部數(shù)據(jù)總線643之間。
開關(guān)電路633根據(jù)從判斷電路635輸入的判斷結(jié)果信號(hào)S635a變 成連接狀態(tài)或者斷開狀態(tài)。
開關(guān)電路634介于CPU數(shù)據(jù)總線640和外部數(shù)據(jù)總線644之間。
開關(guān)電路634根據(jù)從判斷電路635輸入的判斷結(jié)果信號(hào)S635b變 成連接狀態(tài)或者斷開狀態(tài)。
判斷電路635監(jiān)視地址總線641和信號(hào)線642。當(dāng)CPU 637輸出 給地址總線641的地址信號(hào)指示內(nèi)部存儲(chǔ)器632中保存程序模塊 PM一1的地址,并且CPU 637輸出給信號(hào)線642的指令類型說明信號(hào) S637a指示取出指令時(shí),它產(chǎn)生指示連接的判斷結(jié)果信號(hào)S635a。在其 它情況下,它產(chǎn)生指示斷開的判斷結(jié)果信號(hào)S635a。
判斷電路635把判斷結(jié)果信號(hào)S635a輸出給開關(guān)電路633。
此外,當(dāng)判斷電路635產(chǎn)生指示連接的判斷結(jié)果信號(hào)S635a時(shí), 它產(chǎn)生指示斷開的判斷結(jié)果信號(hào)S635b,并將其輸出給開關(guān)電路634。
此外,當(dāng)判斷電路635產(chǎn)生指示斷開的判斷結(jié)果信號(hào)S635a時(shí), 它產(chǎn)生指示連接的判斷結(jié)果信號(hào)S635b,并將其輸出給開關(guān)電路634。
此外,當(dāng)判斷電路635產(chǎn)生指示連接的判斷結(jié)果信號(hào)S635a時(shí), 它產(chǎn)生指示無效/斷開的判斷結(jié)果信號(hào)S635c,并將其輸出給選擇電路 636。
此外,當(dāng)判斷電路635產(chǎn)生指示斷開的判斷結(jié)果信號(hào)S635a時(shí), 它產(chǎn)生指示有效/連接的判斷結(jié)果信號(hào)S635c,并將其輸出給選擇電路636。
此外,在CPU 637執(zhí)行圖104中所示的程序模塊PM一1的過程中, 當(dāng)程序模塊PM—1中的功能模塊被包含在正由CPU 637執(zhí)行的另一功 能模塊中的分支指令調(diào)用時(shí),以位于首次啟動(dòng)數(shù)據(jù)取出的被調(diào)用功能 模塊的頭部的指令為條件(即,當(dāng)指定位于被調(diào)用功能模塊頭部的指 令的分支指令被執(zhí)行時(shí)),判斷電路635把指示連接的判斷結(jié)果信號(hào) S635a輸出給開關(guān)電路633。
如同利用圖104說明的一樣,由于每個(gè)功能模塊的頭部具有設(shè)置 于該處的解鎖指令(本發(fā)明第一方面的斷開釋放指令),因此在執(zhí)行 下一鎖定指令(本發(fā)明第 一方面的斷開開始指令)之前,判斷電路635 根據(jù)解鎖指令,把指示連接的判斷結(jié)果信號(hào)S635a輸出給開關(guān)電路 633。此時(shí),如前所述,指示斷開的判斷結(jié)果信號(hào)S635b被發(fā)給開關(guān)電 路634,而指示無效/斷開的判斷結(jié)果信號(hào)S635c被發(fā)給選擇電路636, 因此調(diào)試器661不可能臨時(shí)停止CPU 637的操作,或者不可能從CPU 637采集CPU內(nèi)部狀態(tài)信息。于是,不能從存在于外部存儲(chǔ)器660中 的程序才莫塊PM一2和PM—3或者調(diào)試器661訪問圖104中所示的功能 模塊FM—1-FM—n。
此外,在CPU 637正在執(zhí)行圖104中所示的程序模塊PM_1的時(shí) 候,當(dāng)程序模塊PM一1中的功能模塊被執(zhí)行包含在另一功能模塊中的 分支指令的CPU637調(diào)用時(shí),當(dāng)首次取出除位于調(diào)用目的地的功能模 塊頭部的指令之外的指令時(shí),判斷電路635把指示斷開的判斷結(jié)果信 號(hào)S635a輸出給開關(guān)電路633。此外,這種情況下,判斷電路635暫 停CPU 637的操作或者執(zhí)行預(yù)定的錯(cuò)誤處理。
當(dāng)來自判斷電路635的判斷結(jié)果信號(hào)S635c指示無效/斷開時(shí),選 擇電路636使從調(diào)試器661輸入的HALT信號(hào)S661a (本發(fā)明第一方 面的操作暫停請(qǐng)求)無效,并且不將其輸出給CPU637。這里,HALT 信號(hào)S661a是指示臨時(shí)停止CPU 637的操作的信號(hào)。
當(dāng)來自判斷電路635的判斷結(jié)果信號(hào)S635c指示無效/斷開時(shí),選 擇電路636使從調(diào)試器661輸入的CPU內(nèi)部狀態(tài)讀取請(qǐng)求信號(hào)S661b和CPU內(nèi)部狀態(tài)重寫請(qǐng)求信號(hào)S661c無效,并且不把這些信號(hào)輸出給 CPU 637。
這里,CPU內(nèi)部狀態(tài)讀取請(qǐng)求信號(hào)S661b是請(qǐng)求顯示CPU 637 的內(nèi)部狀態(tài)的信息的信號(hào)。
CPU內(nèi)部狀態(tài)重寫請(qǐng)求信號(hào)S661c是請(qǐng)求重寫顯示CPU 637內(nèi)部 狀態(tài)的信息的信號(hào)。
另一方面,當(dāng)來自判斷電路635的判斷結(jié)果信號(hào)S635c指示有效/ 連接時(shí),選擇電路636把從調(diào)試器661輸入的HALT信號(hào)S661a輸出 給CPU 637。
當(dāng)來自判斷電路635的判斷結(jié)果信號(hào)S635c指示有效/連接時(shí),選 擇電路636把從調(diào)試器661輸入的CPU內(nèi)部狀態(tài)讀取請(qǐng)求信號(hào)S661b 和CPU內(nèi)部狀態(tài)重寫請(qǐng)求信號(hào)S661c輸出給CPU 637。此外,選擇電 路636把根據(jù)CPU內(nèi)部狀態(tài)讀取請(qǐng)求信號(hào)S661b從CPU 637輸入的 CPU內(nèi)部狀態(tài)信號(hào)S637d輸出給調(diào)試器661。
CPU 637把內(nèi)部存儲(chǔ)器632的地址輸出給地址總線641,把表示 正被執(zhí)行的指令的類型的指令類型說明信號(hào)S637a輸出給信號(hào)線642, 并且根據(jù)上述信號(hào),執(zhí)行使用通過開關(guān)電路633和CPU數(shù)據(jù)總線640 從內(nèi)部存儲(chǔ)器632讀取的程序模塊PM一1的指令和數(shù)據(jù)的處理。
此外,CPU 637把外部存儲(chǔ)器660的地址輸出給地址總線641, 把指令類型說明信號(hào)S637a輸出給信號(hào)線642,并且根據(jù)上述信號(hào)執(zhí) 行利用通過外部數(shù)據(jù)總線644、開關(guān)電路634和CPU數(shù)據(jù)總線640從 外部存儲(chǔ)器660讀取的程序模塊PM—2、 PM—3的指令和數(shù)據(jù)的處理。
當(dāng)通過選擇電路636從調(diào)試器661輸入HALT信號(hào)S661a時(shí),CPU 637停止CPU 637的操作。
此外,當(dāng)CPU 637接收通過選擇電路636從調(diào)試器661輸入的 CPU內(nèi)部狀態(tài)讀取請(qǐng)求信號(hào)S661b時(shí),它通過選擇電路636把包括表 示由信號(hào)S661b指定的CPU 637中內(nèi)部狀態(tài)的信息的內(nèi)部狀態(tài)信號(hào) S637d輸出給調(diào)試器661。
此外,當(dāng)CPU 637接收通過選擇電路636從調(diào)試器661輸入的CPU內(nèi)部狀態(tài)重寫請(qǐng)求信號(hào)S661c,它利用由該信號(hào)S661c指定的內(nèi) 容重寫表示CPU 637的內(nèi)部狀態(tài)的信息。
調(diào)試器661根據(jù)調(diào)試對(duì)象使用HALT信號(hào)S661a控制CPU 637 的操作,利用內(nèi)部狀態(tài)讀取請(qǐng)求信號(hào)S661b和內(nèi)部狀態(tài)信號(hào)S637d監(jiān) 視CPU 637的操作,并且利用CPU內(nèi)部狀態(tài)重寫請(qǐng)求信號(hào)S661c定 制CPU 637。
下面說明半導(dǎo)體芯片631的操作例子。
例如,考慮CPU 637正在通過開關(guān)電路634和外部數(shù)據(jù)總線644 訪問外部存儲(chǔ)器660的情況。
這種情況下,由于來自判斷電路635的判斷結(jié)果信號(hào)S635b和S635c的緣故,開關(guān)電路634和選擇電路636變成連接狀態(tài),但是由 于判斷結(jié)果信號(hào)S635a的緣故,開關(guān)電路633變成斷開狀態(tài)。于是, 不能從外部數(shù)據(jù)總線644和645訪問內(nèi)部存儲(chǔ)器632。
如上所述,在半導(dǎo)體芯片631中,當(dāng)內(nèi)部存儲(chǔ)器632和CPU數(shù)據(jù) 總線640處于連接狀態(tài)時(shí),不允許自外部數(shù)據(jù)總線644和645的外部 訪問。
于是,根據(jù)半導(dǎo)體芯片631,能夠可靠地防止從半導(dǎo)體芯片631 之外非法訪問保存在內(nèi)部存儲(chǔ)器632中的程序模塊PM—1,于是能夠 維持程序模塊PM—1的機(jī)密性。
此外,根據(jù)半導(dǎo)體芯片631,不能從外部監(jiān)視和分析CPU 637執(zhí) 行程序模塊PM_1的過程。
此外,根據(jù)半導(dǎo)體芯片631,能夠防止從保存在外部存儲(chǔ)器660 中的程序沖莫塊PM一2和PM_3非法訪問機(jī)密程序模塊PM一1。
第八實(shí)施例
本實(shí)施例是對(duì)應(yīng)于本發(fā)明第20和第21方面的實(shí)施例。 圖105是本發(fā)明的實(shí)施例的半導(dǎo)體芯片6131的結(jié)構(gòu)視圖。 如圖105中所示,半導(dǎo)體芯片6131具有加密/解密電路6134,判
斷電路6135,選擇電路6136和CPU 6137。
加密/解密電路6134和CPU 6137與CPU數(shù)據(jù)總線6140相連。
判斷電路6135和CPU 6137與地址總線6141相連。
判斷電路6135和CPU 6137與信號(hào)線6142相連。
此外,加密/解密電路6134還通過外部數(shù)據(jù)總線6144與外部存儲(chǔ)
器6160相連。
此外,選擇電路6136還通過外部數(shù)據(jù)總線6145與調(diào)試器6161相連。
注意在半導(dǎo)體芯片6131中同樣類似地應(yīng)用圖103中所示的軟件結(jié)構(gòu)。
這里,半導(dǎo)體芯片6131對(duì)應(yīng)于本發(fā)明第二方面的半導(dǎo)體芯片,外 部數(shù)據(jù)總線6144對(duì)應(yīng)于本發(fā)明第一方面的第一傳輸線路,外部存儲(chǔ)器6160對(duì)應(yīng)于本發(fā)明第二方面的存儲(chǔ)設(shè)備,程序模塊PM—1對(duì)應(yīng)于執(zhí)行 本發(fā)明第二方面的程序的指令,加密/解密電路6134對(duì)應(yīng)于本發(fā)明第 二方面的加密/解密電路,判斷電路6135對(duì)應(yīng)于本發(fā)明第二方面的控 制電路,選擇電路6136對(duì)應(yīng)于本發(fā)明第二方面的選擇電路,CPU 6137 對(duì)應(yīng)于第二計(jì)算電路,外部數(shù)據(jù)總線6145對(duì)應(yīng)于本發(fā)明第二方面的第 二傳輸線路。
首先說明外部存儲(chǔ)器6160。
如圖105中所示,外部存儲(chǔ)器6160保存程序模塊PM—1、 PM—2 和PM—3。
本實(shí)施例中,將舉例說明程序模塊PM—1具有機(jī)密性的情況。 機(jī)密程序模塊PM一1被加密并保存在外部存儲(chǔ)器6160中。非機(jī)密 程序模塊PM—2和PM—3可被加密也可不加密。 圖106說明了程序模塊PM—1的結(jié)構(gòu)。
如圖106中所示,程序模塊PM一1由若干功能模塊組成。圖106 表示了它由n個(gè)功能模塊FM—l-FM_n組成的情況。
如圖106中所示,功能模塊FM_1-FM—n的頭部設(shè)置有指示ID號(hào) 的ID號(hào)指示信息。ID號(hào)指示指令不被加密。
這里,ID號(hào)是識(shí)別對(duì)應(yīng)功能模塊的信息。如后所述,當(dāng)加密/解 密電路6134對(duì)功能模塊解密時(shí),ID號(hào)被用于確定用于該解密的密鑰 信息。
此夕卜,在功能模塊FMJ-FM—n的末端設(shè)置指示ID號(hào)為"#0"的 指令(指示后面的指令不使用密鑰,即不被加密的指令)。
如圖107中所示,以預(yù)定數(shù)據(jù)長(zhǎng)度的數(shù)據(jù)塊為單位對(duì)功能模塊加 密。數(shù)據(jù)塊l-n具有添加于其中的奇偶校驗(yàn)數(shù)據(jù)l-n。
例如,如圖107中所示,加密/解密電路6134以預(yù)定數(shù)據(jù)塊為單 位,對(duì)將被寫入外部存儲(chǔ)器6160中的程序模塊PM一1的圖106中所示 的功能模塊加密。
此時(shí),加密/解密電路6134利用任意密鑰信息對(duì)各個(gè)功能塊加密, 并且如同利用圖106說明的那樣,在每個(gè)功能塊的頭部設(shè)置指定用于識(shí)別功能模塊的ID號(hào)的末加密(明文)ID號(hào)指示指令(信息)。
此外,加密/解密電路6134產(chǎn)生并保持圖108中所示的密鑰信息 表6190,所述密鑰信息表6190表示為功能塊指定的ID號(hào)(本發(fā)明第 二方面的密鑰指定信息)和用于對(duì)鏈接在一起的功能模塊加密的密鑰化息。
此外,當(dāng)加密/解密電路6134對(duì)數(shù)據(jù)塊加密時(shí),如圖107中所示, 它產(chǎn)生數(shù)據(jù)塊的奇偶校驗(yàn)數(shù)據(jù),并且把和對(duì)應(yīng)數(shù)據(jù)塊鏈接的奇偶校驗(yàn) 數(shù)據(jù)保存在外部存儲(chǔ)器6160中。此時(shí),加密/解密電路6134產(chǎn)生奇偶 校驗(yàn)數(shù)據(jù),以致數(shù)據(jù)塊和奇偶校驗(yàn)數(shù)據(jù)的總和變成預(yù)定值。
此外,加密/解密電路6134通過把由位于功能模塊頭部的ID號(hào)指 定指令指定的ID號(hào)用作密鑰,查看圖108中所示的密鑰信息表61卯, 獲得關(guān)于從外部存儲(chǔ)器6160輸入的功能模塊的密鑰信息。此外,加密 /解密電路6134使用該密鑰信息以上面提及的數(shù)據(jù)塊為單位對(duì)該功能 模塊加密。
此外,加密/解密電路6134對(duì)該功能模塊解密,隨后判斷對(duì)應(yīng)于 該功能模塊的奇偶校驗(yàn)數(shù)據(jù)的合法性。此時(shí),如果判斷該奇偶校驗(yàn)數(shù) 據(jù)合法,則把解密后的數(shù)據(jù)輸出給CPU 6137。另一方面,如果判斷該 奇偶校驗(yàn)數(shù)據(jù)不合法,則停止CPU 6137的操作或者執(zhí)行預(yù)定的錯(cuò)誤 處理。
注意,在本實(shí)施例中,數(shù)據(jù)塊的數(shù)據(jù)長(zhǎng)度和功能模塊的數(shù)據(jù)長(zhǎng)度 可以相同或不同。
判斷電路6135產(chǎn)生指示無效/斷開的判斷結(jié)果信號(hào)S6135,并且當(dāng) CPU 6137正在訪問(例如取出)機(jī)密程序模塊PM—1時(shí),將其輸出給 選擇電路6136。
此外,判斷電路6135產(chǎn)生指示有效/連接的判斷結(jié)果信號(hào)S6135, 并且當(dāng)CPU 6137不訪問(例如取出)機(jī)密程序模塊PM_1時(shí),將其 輸出給選擇電路6136。
判斷電路6135監(jiān)視CPU 6137輸出的并且流過地址總線6141和 信號(hào)線6142的地址和指令,并根據(jù)所述地址和指令判斷CPU 6137是否正在訪問程序才莫塊PM—1。
當(dāng)來自判斷電路6135的判斷結(jié)果信號(hào)S6135指示無效/斷開時(shí), 選擇電路6136使從調(diào)試器6161輸入的HALT信號(hào)S6161a(本發(fā)明第 二方面的操作停止請(qǐng)求)無效,并且不將其輸出給CPU 6137。這里, HALT信號(hào)S6161a是指令暫時(shí)停止CPU 6137的操作的信號(hào)。
當(dāng)來自判斷電路6135的判斷結(jié)果信號(hào)S6135指示無效/斷開時(shí), 選擇電路6136使從調(diào)試器6161輸入的CPU內(nèi)部狀態(tài)讀取請(qǐng)求信號(hào) S6161b和CPU內(nèi)部狀態(tài)重寫請(qǐng)求信號(hào)S6161c無效,并且不把它們輸 出給CPU 6137。
這里,CPU內(nèi)部狀態(tài)讀取請(qǐng)求信號(hào)S6161b是請(qǐng)求顯示CPU 6137 的內(nèi)部狀態(tài)的信息的信號(hào)。
CPU內(nèi)部狀態(tài)重寫請(qǐng)求信號(hào)S6161c是請(qǐng)求重寫顯示CPU 6137 的內(nèi)部狀態(tài)的信息的信號(hào)。
另一方面,當(dāng)來自判斷電路6135的判斷結(jié)果信號(hào)S6135指示有效 /連接時(shí),選擇電路6136把從調(diào)試器6161輸入的HALT信號(hào)S6161a 輸出給CPU 6137。
當(dāng)來自判斷電路6135的判斷結(jié)果信號(hào)S6135指示有效/連接時(shí), 選擇電路6136把從調(diào)試器6161輸入的CPU內(nèi)部狀態(tài)讀取請(qǐng)求信號(hào) S6161b和CPU內(nèi)部狀態(tài)重寫請(qǐng)求信號(hào)S6161c輸出給CPU 6137。此 外,選擇電路6136把根據(jù)CPU內(nèi)部狀態(tài)讀取請(qǐng)求信號(hào)S6161b從CPU 6137輸入的CPU內(nèi)部狀態(tài)信號(hào)S6137d輸出給調(diào)試器6161。
CPU 6137把外部存儲(chǔ)器6160的地址輸出給地址總線6141,把顯 示正被執(zhí)行的指令的類型的指令類型說明信號(hào)S6137a輸出給信號(hào)線 6142,并且根據(jù)這些信號(hào),利用通過外部數(shù)據(jù)總線6144和加密/解密 電路6134從外部存儲(chǔ)器6160讀取的程序才莫塊PM—1、 PM—2和PM_3 的指令和數(shù)據(jù)進(jìn)行處理。
當(dāng)CPU 6137接收通過選擇電路6136從調(diào)試器6161輸入的HALT 信號(hào)S6161a時(shí),CPU 6137的操作被停止。
此外,當(dāng)CPU 6137接收通過選擇電路6136從調(diào)試器6161輸入的CPU內(nèi)部狀態(tài)讀取請(qǐng)求信號(hào)S6161b時(shí),它通過選擇電路6136把包 括顯示由信號(hào)S6161b指定的CPU 6137中的內(nèi)部狀態(tài)的信息的內(nèi)部狀 態(tài)信號(hào)S6137d輸出給調(diào)試器6161。
此外,當(dāng)CPU 6137通過選擇電路6136從調(diào)試器6161接收CPU 內(nèi)部狀態(tài)重寫請(qǐng)求信號(hào)S6161c時(shí),它利用由信號(hào)S6161c指定的內(nèi)容 重寫顯示CPU 6137的內(nèi)部狀態(tài)的信息。由此,CPU 6137的操作由調(diào) 試器6161控制。
調(diào)試器6161〗吏用對(duì)應(yīng)于調(diào)試目標(biāo)的HLAT信號(hào)S6161a控制CPU 6137的操作,利用內(nèi)部狀態(tài)讀取請(qǐng)求信號(hào)S6161b和內(nèi)部狀態(tài)信號(hào) S6137d監(jiān)^f見CPU 6137的操作,并且利用CPU內(nèi)部狀態(tài)重寫請(qǐng)求信 號(hào)S6161c定制CPU 6137。
下面說明圖105中所示半導(dǎo)體芯片的操作例子。
圖112是IC卡703的功能方框圖。
如圖112中所示,IC卡703具有配有存儲(chǔ)器750和CPU 751的 IC (集成電路)703a。
如圖113中所示,存儲(chǔ)器750具有由信用卡公司或者其它服務(wù)企業(yè) 715一1使用的存儲(chǔ)區(qū)755一1、由服務(wù)企業(yè)715一2使用的存儲(chǔ)區(qū)755一2和 由服務(wù)企業(yè)715_3使用的存儲(chǔ)區(qū)755_3。
此外,存儲(chǔ)器750保存用于判斷對(duì)于存儲(chǔ)區(qū)755 1的訪問權(quán)限的密鑰數(shù)據(jù),用于判斷對(duì)于存儲(chǔ)區(qū)755一2的訪問權(quán)限的密鑰數(shù)據(jù),和用 于判斷對(duì)于存儲(chǔ)區(qū)755—3的訪問權(quán)限的密鑰數(shù)據(jù)。密鑰數(shù)據(jù)用于相互 驗(yàn)證,數(shù)據(jù)加密和解密等等。
此外,存儲(chǔ)器750保存IC卡703或者IC卡703的用戶的身份識(shí) 別信息。
下面詳細(xì)"i兌明SAM裝置709。
如前所述,SAM裝置709具有外部存儲(chǔ)器707 (本發(fā)明的存儲(chǔ)電 路)和SAM芯片708 (本發(fā)明的半導(dǎo)體電路)。
SAM芯片708具有如圖114中所示的軟件配置。
如圖114中所示,從底層到頂層,SAM芯片708具有HW (硬件 層)、OS層、低級(jí)處理程序?qū)?、高?jí)處理程序?qū)雍虯P層。
低級(jí)處理程序?qū)影?qū)動(dòng)程序?qū)印?br>
這里,在AP層中,從外部存儲(chǔ)器707讀取并運(yùn)行定義信用卡公 司或者其它企業(yè)715_1、 715—2和715—3 4吏用IC卡703的過程的應(yīng)用 程序AP—1、 AP—2和AP—3 (本發(fā)明的應(yīng)用程序)。
在AP層中,應(yīng)用程序AP—1、 AP_2和AP—3與高級(jí)處理程序?qū)?之間i殳置防火墻FW。
[外部存儲(chǔ)器7(T7
圖115說明了外部存儲(chǔ)器707的存儲(chǔ)區(qū)。
如圖115中所示,外部存儲(chǔ)器707的存儲(chǔ)區(qū)包括保存服務(wù)企業(yè) 715—1的應(yīng)用程序AP—1的AP存儲(chǔ)區(qū)7220—1,保存服務(wù)企業(yè)715—2 的應(yīng)用程序AP—2的AP存儲(chǔ)區(qū)7220—2,保存服務(wù)企業(yè)715—3的應(yīng)用 程序AP—3的AP存儲(chǔ)區(qū)7220—3,以及由SAM芯片708的管理人員使 用的AP管理存儲(chǔ)區(qū)7221。
保存在AP存儲(chǔ)區(qū)7220_1中的應(yīng)用程序AP_1由后面i兌明的若千 應(yīng)用單元數(shù)據(jù)APE (本發(fā)明的數(shù)據(jù)模塊)組成。對(duì)AP存儲(chǔ)區(qū)7220_1 的訪問由防火墻FW—1限制。
保存在AP存儲(chǔ)區(qū)7220_2中的應(yīng)用程序AP—2由后面說明的若千應(yīng)用單元數(shù)據(jù)APE組成。對(duì)AP存儲(chǔ)區(qū)7220_2的訪問由防火墻FW_1 限制。
保存在AP存儲(chǔ)區(qū)7220—3中的應(yīng)用程序AP_3由后面說明的若干 應(yīng)用單元數(shù)據(jù)APE組成。對(duì)AP存儲(chǔ)區(qū)7220—3的訪問由防火墻FW_1 限制。
本實(shí)施例中,應(yīng)用單元數(shù)據(jù)APE是從SAM裝置709之外下栽到
外部存儲(chǔ)器707的最小單位。構(gòu)成各個(gè)應(yīng)用程序的應(yīng)用單元數(shù)據(jù)APE
的數(shù)目可由相應(yīng)的服務(wù)企業(yè)自由確定。
此外,保存在外部存儲(chǔ)器707中的應(yīng)用程序AP_1、 AP—2和AP—3
被擾頻。當(dāng)被讀入SAM芯片708中時(shí),它們被解擾頻。
此外,應(yīng)用程序AP_1、 AP—2和AP—3由利用圖109中所示的個(gè)
人計(jì)算機(jī)716—1、 716一2和716_3的服務(wù)企業(yè)715—1、 715—2和715_3
產(chǎn)生,并且通過SAM芯片708被下載到外部存儲(chǔ)器707。 下面將詳細(xì)說明應(yīng)用程序AP—1 、 AP—2和AP—3。 在SAM中存在每個(gè)服務(wù)企業(yè)的一個(gè)或多個(gè)應(yīng)用程序。 如圖116中所示,應(yīng)用程序AP—1、 AP—2和AP—3 (下面稱為AP)
均由用于識(shí)別應(yīng)用程序AP的識(shí)別數(shù)據(jù)AP_ID,表示包括在應(yīng)用程序
中的應(yīng)用程序單元數(shù)據(jù)APE的數(shù)目的數(shù)據(jù)APE_NUM,和一個(gè)或多個(gè)
應(yīng)用單元數(shù)據(jù)APE。
識(shí)別數(shù)據(jù)AP_ID被設(shè)置成對(duì)于各個(gè)服務(wù)企業(yè)都不同。
如圖116中所示,應(yīng)用單元數(shù)據(jù)APE由表示應(yīng)用單元數(shù)據(jù)APE
的數(shù)據(jù)大小的數(shù)據(jù)APE—SIZE,識(shí)別應(yīng)用單元數(shù)據(jù)APE的識(shí)別數(shù)據(jù)
APE ID和數(shù)據(jù)特征( proper)組成。
這里,識(shí)別數(shù)據(jù)APEJD由表示應(yīng)用單元數(shù)據(jù)APE的類型的數(shù)據(jù)
APE—TYPE和表示該類型內(nèi)的應(yīng)用單元數(shù)據(jù)APE的識(shí)別號(hào)(實(shí)例識(shí)
別號(hào))的數(shù)據(jù)INS—NUM組成。數(shù)據(jù)IND—NUM由最終用戶(服務(wù)企
業(yè)) 一方管理。
例如,當(dāng)應(yīng)用單元數(shù)據(jù)APE是文件系統(tǒng)配置時(shí),數(shù)據(jù)APE_TYPE 變成"2",數(shù)據(jù)INS NUM變成"1"。由此,如果SAM相同,則能夠利用識(shí)別數(shù)據(jù)APE—ID明確地確定應(yīng)用單元數(shù)據(jù)APE。
圖115中所示的外部存儲(chǔ)器707以應(yīng)用程序包APP的形式保存利 用SAM裝置709之外的加密密鑰數(shù)據(jù)K—AP加密的上述應(yīng)用程序AP (AP_1、 AP—2和AP—3)。
相對(duì)于各個(gè)應(yīng)用程序而不同的加密密鑰數(shù)據(jù)被用作加密密鑰數(shù)據(jù) K—AP。
下面將說明利用圖116說明的應(yīng)用單元數(shù)據(jù)APE的類型。 圖117表示了保存在一個(gè)AP區(qū)中的應(yīng)用單元數(shù)據(jù)APE的例子。 如圖117中所示,AP區(qū)把卡訪問密鑰數(shù)據(jù)、文件系統(tǒng)配置數(shù)據(jù)、 SAM相互驗(yàn)證密鑰數(shù)據(jù)、SAM間密鑰包密鑰數(shù)據(jù)、IC卡操作宏命令 腳本程序(本發(fā)明的處理例程數(shù)據(jù))、存儲(chǔ)器劃分密鑰包、區(qū)域記錄 (registration)密鑰包、區(qū)域刪除密鑰包、月良務(wù)記錄密鑰包、服務(wù)刪 除密鑰包、和AP資源密鑰數(shù)據(jù)K—APE保存為應(yīng)用單元數(shù)據(jù)APE。 下面將說明圖117中所示的應(yīng)用單元數(shù)據(jù)APE。 o卡訪問密鑰數(shù)據(jù)
卡訪問密鑰數(shù)據(jù)是用于相對(duì)于IC卡703的存儲(chǔ)器750的讀取或?qū)?入操作的密鑰數(shù)據(jù)。此外,將被后面說明的IC卡操作宏命令腳本程序
元數(shù)據(jù)APE中。
o文件系統(tǒng)配置數(shù)據(jù)
文件系統(tǒng)配置數(shù)據(jù)包括運(yùn)行記錄數(shù)據(jù)、負(fù)(negative)數(shù)據(jù)和種類 (genre )數(shù)據(jù)。
運(yùn)行記錄數(shù)據(jù)是應(yīng)用單元數(shù)據(jù)APE的使用歷史的數(shù)據(jù),負(fù)數(shù)據(jù)是 IC卡的期滿信息,種類數(shù)據(jù)是在SAM的執(zhí)行記錄。
例如,文件系統(tǒng)配置選擇文件訪問的類型(記錄密鑰標(biāo)志分類環(huán)), 并且如果是記錄密鑰,則設(shè)置記錄大小、整體記錄的數(shù)目、記錄簽名 版本、記錄簽名方法類型、記錄數(shù)據(jù)大小、和記錄簽名密鑰。此外, 當(dāng)從外部把數(shù)據(jù)寫入文件系統(tǒng)中時(shí),它指示是否執(zhí)行簽名驗(yàn)證等。這 里,"記錄"是文件數(shù)據(jù)的寫入/讀取的最小單位。oSAM相互驗(yàn)證密鑰數(shù)據(jù)
這也用于相同SAM中AP之間的相互驗(yàn)證。
SAM相互驗(yàn)證密鑰數(shù)據(jù)是當(dāng)從相同SAM或者另一 SAM中的另 一 AP訪問對(duì)應(yīng)的應(yīng)用單元數(shù)據(jù)APE時(shí)使用的密鑰數(shù)據(jù)。 oSAM間密鑰包密鑰
SAM間密鑰包密鑰是在SAM間相互驗(yàn)證之后,當(dāng)交換卡訪問密 鑰數(shù)據(jù)或者其它數(shù)據(jù)時(shí)使用的加密密鑰數(shù)據(jù)。 oIC卡操作宏命令腳本程序
IC卡操作宏命令腳本程序由服務(wù)企業(yè)自身產(chǎn)生,并且描述涉及IC 卡703的處理,或者與ASP服務(wù)器719的交易的順序。IC卡操作宏 命令腳本程序設(shè)置在SAM裝置709中,隨后由SAM芯片708分析, 從而產(chǎn)生對(duì)應(yīng)的IC卡實(shí)體數(shù)據(jù)。
o存儲(chǔ)器劃分密鑰包
存儲(chǔ)器劃分密鑰包是在服務(wù)企業(yè)開始利用IC卡703進(jìn)行服務(wù)之 前,用于劃分外部存儲(chǔ)器707或者IC卡703的存儲(chǔ)器的存儲(chǔ)區(qū)的數(shù)據(jù)。 o區(qū)域記錄密鑰包
區(qū)域記錄密鑰包是在服務(wù)企業(yè)開始利用IC卡703進(jìn)行服務(wù)之前, 當(dāng)在IC卡703的存儲(chǔ)器的存儲(chǔ)區(qū)中進(jìn)行區(qū)域記錄時(shí)使用的數(shù)據(jù)。 o區(qū)域刪除密鑰包(內(nèi)部產(chǎn)生)
區(qū)域刪除密鑰包是可根據(jù)卡訪問密鑰數(shù)據(jù)在SAM中自動(dòng)產(chǎn)生的 密鑰包。
o服務(wù)記錄密鑰(內(nèi)部產(chǎn)生)
服務(wù)記錄密鑰包用于在服務(wù)企業(yè)開始利用IC卡703進(jìn)行服務(wù)之前 記錄外部存儲(chǔ)器707的應(yīng)用單元數(shù)據(jù)APE。
服務(wù)記錄密鑰包是可根據(jù)卡訪問密鑰數(shù)據(jù)在SAM中自動(dòng)產(chǎn)生的 密鑰包。
o服務(wù)刪除密鑰包(內(nèi)部產(chǎn)生)
服務(wù)刪除密鑰包用于刪除在外部存儲(chǔ)器707中記錄的應(yīng)用單元數(shù) 據(jù)APE。服務(wù)刪除密鑰包是可根據(jù)卡訪問密鑰數(shù)據(jù)在SAM中自動(dòng)產(chǎn)生的 密鑰包。
o密鑰數(shù)據(jù)K—APE
當(dāng)設(shè)置應(yīng)用單元數(shù)據(jù)APE時(shí),密鑰數(shù)據(jù)K一APE被用作加密密鑰。 為每個(gè)AP區(qū)分配用于設(shè)置應(yīng)用單元數(shù)據(jù)APE的不同密鑰數(shù)據(jù) K APE。
下面詳細(xì)說明上述IC卡操作宏命令腳本程序(下面也稱為腳本程 序)。
腳本程序是用于確定運(yùn)行于SAM芯片708上的服務(wù)企業(yè)715_1、 715—2和715_3的應(yīng)用程序AP_1、 AP—2和AP—3,以及當(dāng)執(zhí)行應(yīng)用程 序時(shí)由IC卡703執(zhí)行的處理過程的程序。
本實(shí)施例中,如后所述,如圖118中所示,SAM芯片708根據(jù)腳 本下載任務(wù)769和腳本解釋任務(wù)770進(jìn)行處理,并且根據(jù)AP管理表 數(shù)據(jù)和腳本程序產(chǎn)生IC卡實(shí)體模板數(shù)據(jù)730_1、輸入數(shù)據(jù)塊731_xl、 輸出數(shù)據(jù)塊732—x2、運(yùn)行記錄數(shù)據(jù)塊733_x3、和用于涉及服務(wù)企業(yè) 715—1、 715—2和715—3的過程的計(jì)算定義數(shù)據(jù)塊734—x4。
圖119說明了用于描述IC卡操作宏命令腳本程序的命令。
就命令而言,關(guān)于SAM芯片708自身的命令被賦予首字母"S", 而涉及IC卡703的操作的命令被賦予首字母"C"。
此外,根據(jù)應(yīng)用有選擇地使用第二字母。例如,對(duì)于IC卡703 的發(fā)行者設(shè)置說明,第二字母為"I",對(duì)于應(yīng)用單元APE的說明(服 務(wù)類型單元說明),第二字母為"S",對(duì)于相對(duì)于IC卡703的簡(jiǎn)單 讀取說明,第二字母為"R",對(duì)于相對(duì)于IC卡703的簡(jiǎn)單寫入說明, 第二字母為"W",對(duì)于應(yīng)用單元數(shù)據(jù)APE計(jì)算定義,第二字母為 "F,,。
用于描述腳本程序721—1、 721—2和721—3的命令包括SC命令、 SO命令、SI命令、SL命令、SF命令、CI命令、CS命令、CR命令
和cw命令。
SC命令是說明SAM芯片708可同時(shí)處理的IC卡實(shí)體數(shù)據(jù)的最大數(shù)目。
當(dāng)SAM芯片708可同時(shí)處理1000組IC卡實(shí)體數(shù)據(jù)時(shí),描述 "SC: 1000"。
SO命令是說明當(dāng)根據(jù)后述IC卡實(shí)體數(shù)據(jù)利用IC卡703執(zhí)行處 理時(shí),在SAM芯片708中提供的數(shù)據(jù)塊中,構(gòu)成將保存從IC卡703 讀取的數(shù)據(jù)的輸出數(shù)據(jù)塊732—x2的數(shù)據(jù)塊的命令。
例如,當(dāng)提供數(shù)據(jù)塊1-10時(shí),當(dāng)把從IC卡703讀取的數(shù)據(jù)保存 在數(shù)據(jù)塊l中時(shí),描述"SO: 1"。
SI命令是說明當(dāng)根據(jù)后述IC卡實(shí)體數(shù)據(jù)利用IC卡703進(jìn)行處理 時(shí),在SMA芯片708中提供的數(shù)據(jù)塊中,構(gòu)成保存將被寫入IC卡703 的數(shù)據(jù)的輸入數(shù)據(jù)塊731—xl的數(shù)據(jù)塊的命令。
例如,當(dāng)提供數(shù)據(jù)塊1-10時(shí),當(dāng)把要寫入IC卡703的數(shù)據(jù)保存 在數(shù)據(jù)塊2, 3中時(shí),描迷"SI: 2, 3"。
SL命令是說明當(dāng)根據(jù)后述IC卡實(shí)體數(shù)據(jù)利用IC卡703進(jìn)行處 理時(shí),在SAM芯片708中提供的數(shù)據(jù)塊中,構(gòu)成用于保存和操作相 關(guān)的運(yùn)行記錄數(shù)據(jù)的運(yùn)行記錄數(shù)據(jù)塊733一x3的數(shù)據(jù)塊的命令。
例如,當(dāng)提供數(shù)據(jù)塊1-10時(shí),當(dāng)把運(yùn)行記錄數(shù)據(jù)保存在數(shù)據(jù)塊4 中時(shí),描述"SL: 4"。
SF命令是提供構(gòu)成計(jì)算定義數(shù)據(jù)塊734_x4的數(shù)據(jù)塊的命令,所 述教育處限定數(shù)據(jù)塊734一x4描述相對(duì)于IC卡703的應(yīng)用單元數(shù)據(jù) APE之間的關(guān)系的定義。
計(jì)算定義數(shù)據(jù)塊73tx4的內(nèi)容變成IC卡實(shí)體數(shù)據(jù)的預(yù)處理信息。
CI命令是說明IC卡703的發(fā)行者(服務(wù)企業(yè))的命令。
確定由CI命令限定的服務(wù)企業(yè)的數(shù)據(jù)變成IC卡實(shí)體數(shù)據(jù)的IC 卡類型信息。
CS命令是通過引用應(yīng)用單元數(shù)據(jù)APE (服務(wù)類型單元)的名稱 APE一N,向IC卡703說明若干服務(wù)的同時(shí)操作的命令。CS命令也可 說明由名稱APE一N指定的應(yīng)用單元數(shù)據(jù)APE內(nèi)的功能定義處理。
例如,能夠說明"CS:"Rc"+" Wc"+" Wd,,"。根據(jù)CS命令的內(nèi)容,確定IC卡實(shí)體數(shù)據(jù)的APE—N指定信息和 處理順序信息。
CR命令說明當(dāng)應(yīng)用單元數(shù)據(jù)APE之間的關(guān)系不確定(當(dāng)沒有描 述SF命令)時(shí),把從IC卡703讀取的數(shù)據(jù)保存在指定數(shù)據(jù)塊中。
例如,當(dāng)把從IC卡703讀取的數(shù)據(jù)保存到數(shù)據(jù)塊1中時(shí),說明 "CR: SO: l-"Rc""。
CW命令說明當(dāng)應(yīng)用單元數(shù)據(jù)APE之間的關(guān)系不確定時(shí),把保存 在指定數(shù)據(jù)塊中的數(shù)據(jù)寫入IC卡703。
例如,當(dāng)把保存在數(shù)據(jù)塊2中的數(shù)據(jù)寫入IC卡703時(shí),說明 "CW: SI: 2="Wc,,,,。
CF命令說明用于描述計(jì)算內(nèi)容生成服務(wù)的數(shù)據(jù)塊。
例如,當(dāng)在SF數(shù)據(jù)塊1中描述計(jì)算內(nèi)容生成服務(wù)時(shí),描述"CF: CES_FUNC=SF: 1"。
此外,SF數(shù)據(jù)塊1在其中描述了例如""Wc"-If ( " Wc"> 10 ) then ( " Wc,,畫lO;" Wd,,= " Wc,,*0.8+ " Wd"),,。該乂>式表 述當(dāng)服務(wù)的剩余數(shù)目Wc大于10時(shí),從Wc的值中減去10,并且把對(duì) 應(yīng)于8%的Wc的點(diǎn)數(shù)作為累積點(diǎn)數(shù)增加到Wd中的操作。
下面將說明保存在圖115中所示的外部存儲(chǔ)器707的AP管理存 儲(chǔ)區(qū)7221中的數(shù)據(jù)。
對(duì)AP管理保存區(qū)7221的訪問由防火墻FW—4限制。
注意,防火墻FW—4對(duì)應(yīng)于圖114中所示的防火墻FW。
圖120說明了保存在AP管理保存區(qū)722中的數(shù)據(jù)的細(xì)節(jié)。
如圖120中所示,AP管理存儲(chǔ)區(qū)7221保存AP管理表數(shù)據(jù)7300—1 、 7300—2和7300—3(本發(fā)明的管理數(shù)據(jù))和APP表數(shù)據(jù)7310—1、 7310_2 和7310—3 (本發(fā)明的應(yīng)用許可數(shù)據(jù))。
這里,在配置SAM芯片708的時(shí)候預(yù)先記錄AP管理表數(shù)據(jù) 7300_1、7300—2和7300—3以及APP表數(shù)據(jù)7310—1、 7310—2和7310_3。 此外,AP管理表數(shù)據(jù)7300—1、 7300—2和7300_1以及APP表數(shù)據(jù) 7310 1、 7310 2和7310 3只可凈皮SAM芯片708的管理人員重寫。相對(duì)于每個(gè)應(yīng)用程序AP定義AP管理表數(shù)據(jù)7300_1、 7300—2和 7300—3。
此外,相對(duì)于每個(gè)SAM相互驗(yàn)證密鑰數(shù)據(jù)定義APP表數(shù)據(jù) 7310—1、 7310一2和7310—3。
圖121說明了 AP管理表數(shù)據(jù)7300—1。 AP管理表數(shù)椐7300—2和 7300_3的格式和AP管理表數(shù)據(jù)7300_1相同。
如圖121中所示,它表示相對(duì)于IC卡操作宏命令腳本程序中使用 的被查看應(yīng)用單元數(shù)據(jù)APE的各個(gè)名稱APE—N鏈接在一起的識(shí)別數(shù) 據(jù)APE_ID、內(nèi)部/外部指示數(shù)據(jù)IEI、識(shí)別數(shù)據(jù)SAM—ID、識(shí)別數(shù)據(jù) AP—ID、密鑰數(shù)據(jù)K—CARDA (本發(fā)明的第二密鑰數(shù)據(jù))、密鑰數(shù)據(jù) K—SAM (本發(fā)明的第一密鑰數(shù)據(jù))、數(shù)據(jù)SET_APP、數(shù)據(jù)FLAG—IP 和數(shù)據(jù)FLAG—STR。
應(yīng)用單元數(shù)據(jù)APE的名稱APE_N是分配給由服務(wù)企業(yè)715—1、 715—2和715—3的應(yīng)用程序提供的服務(wù)(應(yīng)用單元數(shù)據(jù)APE )的名稱。 名稱APE一N是被查看的標(biāo)識(shí)符,而不是各個(gè)服務(wù)企業(yè)的應(yīng)用程序能 夠使用的服務(wù)的服務(wù)名稱。
這里,識(shí)別數(shù)據(jù)APE—ID是應(yīng)用單元數(shù)據(jù)APE的識(shí)別數(shù)據(jù)。
外部/內(nèi)部指示數(shù)據(jù)IEI是用于區(qū)分APE是以實(shí)體的形式存在(內(nèi) 部指定)還是由另一SAM提及(外部指定)的標(biāo)志。
識(shí)別數(shù)據(jù)SAM—ID是當(dāng)SAM芯片708正在執(zhí)行涉及該應(yīng)用單元 數(shù)據(jù)APE的處理時(shí),位于傳送數(shù)據(jù)的另一方的SAM的識(shí)別數(shù)據(jù)。
圖122說明了 SAM—ID。
SAM—ID是4字節(jié)的數(shù)據(jù),并且具有類似于TCP/IP的網(wǎng)絡(luò)掩碼 的概念??梢晕粸閱挝辉O(shè)置網(wǎng)絡(luò)掩碼。
例如,如圖122中所示的網(wǎng)絡(luò)掩碼被分成三類,即A類、B類和 C類。此外,在^皮分配相同網(wǎng)絡(luò)掩碼的SAM之間,用于相互驗(yàn)證的 一類密鑰數(shù)據(jù)就足夠了。例如,在本實(shí)施例中,相同的服務(wù)企業(yè)被分 配相同的網(wǎng)絡(luò)掩碼。
在圖122中,A類網(wǎng)絡(luò)掩碼由"255.XX.XX.XX"指示,頭一個(gè)字節(jié)被分配用于指定該類別的預(yù)定數(shù)值,后三個(gè)字節(jié)被分配用于指定屬
于該類別的單個(gè)SAM的數(shù)值。這里,"XX"可被設(shè)置成任意數(shù)值。 即,A類網(wǎng)絡(luò)掩碼可用于確定屬于A類的16777215個(gè)SAM_ID。
此外,B類網(wǎng)絡(luò)掩碼由"255.255.XX.XX"指示,頭兩個(gè)字節(jié)被分 配用于指定該類型的預(yù)定數(shù)值,后兩個(gè)字節(jié)被分配用于指定屬于該類 別的單個(gè)SAM的數(shù)值。即,B類網(wǎng)絡(luò)掩碼可用于確定屬于B類的65535 個(gè)SAM一ID。
此外,C類網(wǎng)絡(luò)掩碼由"255.255.255.XX,,指示,頭三個(gè)字節(jié)被賦 予用于指定該類別的預(yù)定數(shù)值,最后一個(gè)字節(jié)被賦予指定屬于該類別 的單個(gè)SAM的數(shù)值。即,B類網(wǎng)絡(luò)掩碼可用于確定屬于C類的255 個(gè)SAM—ID 。
識(shí)別數(shù)據(jù)AP—ID是當(dāng)SAM芯片708執(zhí)行涉及應(yīng)用單元數(shù)據(jù)APE 的處理時(shí),由傳送數(shù)據(jù)的另一方的SAM執(zhí)行的應(yīng)用程序的識(shí)別數(shù)據(jù)。
密鑰數(shù)據(jù)K—CARDA是當(dāng)SAM芯片708執(zhí)行涉及應(yīng)用單元數(shù)據(jù) APE的處理時(shí),用于與IC卡703的存儲(chǔ)器750傳送數(shù)據(jù)的密鑰數(shù)據(jù)。
密鑰數(shù)據(jù)K—SAM是當(dāng)SAM芯片708執(zhí)行涉及應(yīng)用單元數(shù)據(jù)APE 的處理時(shí),用于與另一 SAM傳送數(shù)據(jù)的密鑰數(shù)據(jù)。
數(shù)據(jù)SET—APP是用于指定當(dāng)SAM芯片708執(zhí)行涉及應(yīng)用單元數(shù) 據(jù)APE的處理時(shí),所使用(查看)的APP表數(shù)據(jù)7310—1、 7310_2和 7310_3的數(shù)據(jù)。
數(shù)據(jù)FLAG—IP是表示是否向另一 SAM芯片708等公開由SAM 芯片708管理(持有)的數(shù)據(jù)的標(biāo)志數(shù)據(jù)。
數(shù)據(jù)FLAG一STR是表示是否允許SAM芯片708管理(持有)的 數(shù)據(jù)被另一 SAM芯片708等持有的標(biāo)志數(shù)據(jù)。
在圖121中,APE_N "服務(wù)A,,是該SAM芯片708中由應(yīng)用程序 確定的IC卡703的訪問密鑰。"服務(wù)A"的密鑰數(shù)據(jù)被設(shè)置成不公開, 因此另一SAM的應(yīng)用程序或者同一SAM的另一應(yīng)用程序不能查看所 述密鑰數(shù)據(jù)。
此外,"服務(wù)C"是由該應(yīng)用程序確定的IC卡703的訪問密鑰。當(dāng)該SAM被分配后面說明的C類網(wǎng)絡(luò)掩碼時(shí),向具有SAM—ID "43.17.19.XX,,的SAM上的應(yīng)用程序公開"服務(wù)C"的密鑰數(shù)據(jù)。此 時(shí),SAM相互驗(yàn)證密鑰為"TTl..., TTn"。此外確定在下一次使用 之前,另一SAM是否能夠持有"服務(wù)C"的密鑰數(shù)據(jù)。當(dāng)能夠時(shí), 當(dāng)另一 SAM接著使用該卡上的"服務(wù)C,,時(shí),不必再次從SAM獲得 卡訪問密鑰。服務(wù)B的訪問密鑰不從該SAM獲得,而是從具有 SAM—ID " 43.17.19.XX,,的SAM獲得。"SSl…SSn,,被用作SAM之 間的相互驗(yàn)證密鑰。
在下一次使用之前是否可持有"服務(wù)B"的訪問密鑰由該SAM 指定的標(biāo)志確定。
"服務(wù)B運(yùn)行記錄"指示其中保存運(yùn)行記錄數(shù)據(jù)的文件, "43.13.137.XX,,的SAM—ID被分配給該運(yùn)行記錄。"服務(wù)B運(yùn)行記 錄,,是和"服務(wù)B,,相同的SAM網(wǎng)絡(luò)掩碼,因此相互驗(yàn)證密鑰使用 "SSl...SSn"。這里,為各個(gè)相互驗(yàn)證密鑰提供APP表數(shù)據(jù)。本例中, 在其它SAM的APP表數(shù)據(jù)7310中確定訪問"H務(wù)B運(yùn)行記錄"和 "服務(wù)B"的許可,所述其它SAM上的AP管理表數(shù)據(jù)查看所述訪問 許可。
圖123說明了 APP表數(shù)據(jù)7310—1。
APP表數(shù)據(jù)7310—2、 7310—3和7310的格式與APP表數(shù)據(jù)7310—1相同。
如圖123中所示,APP表數(shù)據(jù)7310—l表示每個(gè)應(yīng)用單元數(shù)據(jù)APE 的識(shí)別數(shù)據(jù)APE—ID以及是否可從另一應(yīng)用程序(另一應(yīng)用單元數(shù)據(jù) APE)讀取、寫入或執(zhí)行該應(yīng)用單元數(shù)據(jù)APE。
例如,圖123中所示的APP表數(shù)據(jù)7310_1表示對(duì)于"服務(wù)B 運(yùn)行記錄",讀取是可能的,寫入是可能的,執(zhí)行(刪除)是不可能的。
此外,當(dāng)圖115中所示的外部存儲(chǔ)器707的AP管理存儲(chǔ)區(qū)7221 保存顯示鏈接在一起的IC卡類型數(shù)據(jù)和AP_ID的AP選擇數(shù)據(jù)。
IC卡類型數(shù)據(jù)表示圖109中所示的IC卡的類型,并且是執(zhí)行使 用IC卡703的交易的結(jié)算的信用卡公司的識(shí)別數(shù)據(jù)。在本實(shí)施例中,IC卡操作宏命令腳本程序在其中定義(描述)組 合若干應(yīng)用單元數(shù)據(jù)APE的名稱APE一N的服務(wù)內(nèi)容。通過在后面說 明的IC卡實(shí)體數(shù)據(jù)(作業(yè)管理數(shù)據(jù))中描述所述服務(wù)內(nèi)容,能夠提供 組合對(duì)應(yīng)于若干應(yīng)用單元數(shù)據(jù)APE的服務(wù)的服務(wù)。
例如,可在IC卡實(shí)體數(shù)據(jù)中定義組合從IC卡703讀取數(shù)據(jù)的讀 取服務(wù)和把數(shù)據(jù)寫入服務(wù)器702的寫入服務(wù)的服務(wù)。
此外,當(dāng)執(zhí)行由服務(wù)企業(yè)715_1、 715—2和715—3提供的服務(wù)時(shí), APE_N或其服務(wù)號(hào)碼是發(fā)送給IC卡703的操作命令,并且能夠被IC 卡703分析。
應(yīng)用程序AP_1由保存在外部存儲(chǔ)器707中的AP管理表數(shù)據(jù) 7300—1和預(yù)定的IC卡操作宏命令腳本程序確定。
應(yīng)用程序AP_2由保存在外部存儲(chǔ)器707中的AP管理表數(shù)據(jù) 7300—2和預(yù)定的IC卡操作宏命令腳本程序確定。
應(yīng)用程序AP_3由保存在外部存儲(chǔ)器707中的AP管理表數(shù)據(jù) 7300_3和預(yù)定的IC卡操作宏命令腳本程序確定。
[SAM芯片708
SAM芯片708通過SCSI端口 、以太網(wǎng)等與ASP服務(wù)器719相連。 ASP服務(wù)器719通過因特網(wǎng)710與包括最終用戶的個(gè)人計(jì)算機(jī)705和 服務(wù)企業(yè)715_1、 715—2及715—3的個(gè)人計(jì)算機(jī)716—1、 716—2及716—3 在內(nèi)的若干終端設(shè)備相連。
個(gè)人計(jì)算機(jī)705通過串行端口或USB端口與Dumb型讀卡機(jī)/寫 卡才幾704相連。讀卡才幾/寫卡才幾704實(shí)現(xiàn)與IC卡703的物理無線通信。
在SAM裝置709 —側(cè)產(chǎn)生發(fā)送給IC卡703的操作命令并分析來 自于IC卡703的響應(yīng)分組。于是,讀卡機(jī)/寫卡機(jī)704、個(gè)人計(jì)算機(jī) 705、和置于它們之間的ASP服務(wù)器719只起把命令或響應(yīng)內(nèi)容保存 在數(shù)據(jù)有效負(fù)載部分中并且中繼數(shù)據(jù)有效負(fù)載部分的作用,它們不參 與數(shù)據(jù)的加密或解密、身份驗(yàn)證、或者IC卡703中的其它實(shí)際操作。
個(gè)人計(jì)算機(jī)716_1、 716_2和716_3可把后面說明的腳本程序下載 到SAM芯片708上,從而定制應(yīng)用程序AP 1、 AP 2和AP 3。
143圖124是圖109中所示的SAM芯片708的功能方框圖。
如圖124中所示,SAM芯片708具有ASPS通信接口裝置760,
外部存儲(chǔ)器通信接口裝置761,總線擾頻裝置762,隨機(jī)數(shù)發(fā)生器763,
加密/解密裝置764,存儲(chǔ)器765和CPU 766。 SAM芯片708是防竄改模塊。
ASPS通信接口裝置760是用于相對(duì)于圖109中所示的ASP服務(wù) 器719輸入輸出數(shù)據(jù)的接口。
外部存儲(chǔ)器通信接口裝置761是用于相對(duì)于外部存儲(chǔ)器7輸入輸 出數(shù)據(jù)的接口。
當(dāng)通過外部存儲(chǔ)器通信接口裝置761輸入和輸出數(shù)據(jù)時(shí),總線擾 頻裝置762對(duì)輸出數(shù)據(jù)擾頻并對(duì)輸入數(shù)據(jù)解擾頻。
隨機(jī)數(shù)發(fā)生器763產(chǎn)生身份驗(yàn)證處理時(shí)使用的隨機(jī)數(shù)。 加密/解密裝置764對(duì)數(shù)據(jù)加密并對(duì)加密數(shù)據(jù)解密。 如后所述,存儲(chǔ)器765保存CPU766使用的任務(wù)、程序和數(shù)據(jù)。 CPU 766根據(jù)預(yù)定的程序(本發(fā)明的程序),執(zhí)行后面說明的腳 本下載任務(wù)、腳本解釋任務(wù)、實(shí)體產(chǎn)生任務(wù)(作業(yè)管理數(shù)據(jù)產(chǎn)生任務(wù)) 和IC卡過程管理任務(wù)(作業(yè)管理數(shù)據(jù)管理任務(wù)),以及其它任務(wù)。 下面說明保存在存儲(chǔ)器765中的任務(wù)、程序和數(shù)據(jù)。 圖125說明了保存在存儲(chǔ)器765中的任務(wù)、程序和數(shù)據(jù)。 如圖125中所示,存儲(chǔ)器765保存腳本下載任務(wù)769、腳本解釋 任務(wù)770、實(shí)體產(chǎn)生任務(wù)771、 IC卡過程管理任務(wù)772、 IC卡操作宏 命令腳本程序721—1-721—3、 AP管理表數(shù)據(jù)7300_1-7300_3、 APP表 數(shù)據(jù)7310—1-7310—3、 IC卡實(shí)體模板數(shù)據(jù)730—1-730—3、 IC卡實(shí)體數(shù) 據(jù)773一x、輸入數(shù)據(jù)塊731—xl、輸出數(shù)據(jù)塊732一x2、日志數(shù)據(jù)塊733_乂3、 和計(jì)算定義數(shù)據(jù)塊734—x4。
如圖118中所示,腳本下載任務(wù)769從各個(gè)服務(wù)企業(yè)的計(jì)算機(jī)下 載AP管理表數(shù)據(jù)7300_1-7300_3 (如果需要,APP表數(shù)據(jù) 7310—1-7310—3),并把它們加載到SAM芯片708中。
腳本解釋任務(wù)770使用服務(wù)定義表數(shù)據(jù)(如果需要,APP表數(shù)據(jù)7310—1-7310—3)和腳本程序產(chǎn)生各個(gè)企業(yè)的IC卡實(shí)體模板數(shù)據(jù)、輸 入數(shù)據(jù)塊、輸出數(shù)據(jù)塊、日志數(shù)據(jù)塊和計(jì)算定義數(shù)據(jù)塊。
為各個(gè)企業(yè)產(chǎn)生的數(shù)據(jù)塊的數(shù)目不受特別限制。
當(dāng)實(shí)體產(chǎn)生任務(wù)771從ASP服務(wù)器719接收實(shí)體產(chǎn)生請(qǐng)求時(shí),它 相對(duì)于IC卡703進(jìn)行輪詢,隨后利用對(duì)應(yīng)于服務(wù)企業(yè)的IC卡實(shí)體模 板數(shù)據(jù)產(chǎn)生IC卡實(shí)體數(shù)據(jù),所述IC卡實(shí)體數(shù)據(jù)用于IC卡703和該 服務(wù)企業(yè)之間的過程的處理。此時(shí),IC卡實(shí)體模板數(shù)據(jù)變成類別,以 該類別的實(shí)例的形式產(chǎn)生IC卡實(shí)體數(shù)據(jù)。
實(shí)體產(chǎn)生任務(wù)771產(chǎn)生IC卡實(shí)體數(shù)據(jù)的處理將在后面詳細(xì)說明。
IC卡過程管理任務(wù)772使用存在于存儲(chǔ)器765中的一個(gè)或多個(gè)IC 卡實(shí)體數(shù)據(jù)773_x執(zhí)行IC卡703和服務(wù)企業(yè)715_1-715—3之間的過程 的處理。
本實(shí)施例中,在若干IC卡703和服務(wù)企業(yè)715—1—715—3之間執(zhí)行
的過程的若干處理被同時(shí)進(jìn)行。
IC卡過程管理任務(wù)772并行執(zhí)行多個(gè)過程的這些若干處理。 當(dāng)一系列的過程完成時(shí),IC卡過程管理任務(wù)772刪除IC卡實(shí)體
數(shù)據(jù)773一x。
IC卡過程管理任務(wù)772的處理將在后面詳細(xì)說明。
腳本程序721—1—721_3由腳本下載任務(wù)769從外部存儲(chǔ)器707輸 入并保存在存儲(chǔ)器765中。
AP管理表數(shù)據(jù)7300_l-7300—3由腳本下載任務(wù)769從外部存儲(chǔ)器 707輸入并保存到存儲(chǔ)器765中。
APP表數(shù)據(jù)7310—1-7310—3由腳本下栽任務(wù)769從外部存儲(chǔ)器707 輸入,并被保存到存儲(chǔ)器765中。
IC卡實(shí)體模板數(shù)據(jù)730一1-730一3由腳本解釋任務(wù)770產(chǎn)生,并且 當(dāng)產(chǎn)生與服務(wù)企業(yè)有關(guān)的過程的IC卡實(shí)體數(shù)據(jù)773一x時(shí),被用作模板 (類別)。
通過把IC卡實(shí)體模板數(shù)據(jù)730一1-730一3用作類別,實(shí)體產(chǎn)生任務(wù) 771以類別的一個(gè)實(shí)例的形式產(chǎn)生IC卡實(shí)體數(shù)據(jù)773 x。輸入數(shù)據(jù)塊731jl、輸出數(shù)據(jù)塊732—x2、日志數(shù)據(jù)塊733—x3和 計(jì)算定義數(shù)據(jù)塊734一x4由腳本解釋任務(wù)770產(chǎn)生。 下面說明IC卡實(shí)體數(shù)據(jù)773—x。
當(dāng)SAM芯片708從ASP服務(wù)器719接收利用IC卡3和預(yù)定服 務(wù)企業(yè)的應(yīng)用程序進(jìn)行處理的處理請(qǐng)求時(shí),通過利用已產(chǎn)生的該服務(wù) 企業(yè)的相應(yīng)IC卡實(shí)體模板數(shù)據(jù),在SAM芯片708中由實(shí)體產(chǎn)生任務(wù) 771產(chǎn)生IC卡實(shí)體數(shù)據(jù)773—x。
圖126說明了 IC卡實(shí)體數(shù)據(jù)773_x的格式。
如圖126中所示,IC卡實(shí)體數(shù)據(jù)773_x具有管理指針數(shù)據(jù)780、 實(shí)體ID數(shù)據(jù)781、實(shí)體狀態(tài)數(shù)據(jù)(狀態(tài)數(shù)據(jù))782、 IC卡類型信息783、 APE—N指定數(shù)據(jù)784、處理順序數(shù)據(jù)、預(yù)處理數(shù)據(jù)786和后處理數(shù)據(jù) 787。
管理指針數(shù)據(jù)780是用于管理存儲(chǔ)器765中的IC卡實(shí)體數(shù)據(jù) 773—x的雙向指針。
實(shí)體ID數(shù)據(jù)781用于IC卡實(shí)體數(shù)據(jù)773_x的產(chǎn)生、進(jìn)程狀態(tài)的 確認(rèn)、刪除或者其它的一系列使用IC卡實(shí)體數(shù)據(jù)773—x的處理的請(qǐng)求。 實(shí)體ID數(shù)據(jù)781也是將給予最終用戶的返回值。當(dāng)在通用文件系統(tǒng)中 打開文件時(shí),實(shí)體ID信息781對(duì)應(yīng)于描述符。
實(shí)體狀態(tài)數(shù)據(jù)782表示與IC卡703相關(guān)的過程的進(jìn)程的狀態(tài)。
如圖127中所示,IC卡實(shí)體數(shù)據(jù)773—x的基本狀態(tài)包括調(diào)查IC 卡703能夠使用的服務(wù)的處理的狀態(tài)(RS) , SAM芯片708借助其 驗(yàn)證IC卡703的處理的狀態(tài)(Al) , IC卡703借助其驗(yàn)證SAM芯 片708的處理的狀態(tài)(A2),從IC卡703讀取數(shù)據(jù)的處理的狀態(tài)(R) 和把數(shù)據(jù)寫入IC卡703的處理的狀態(tài)(W)。
本實(shí)施例中,調(diào)查服務(wù)企業(yè)的處理,SAM芯片708驗(yàn)證IC卡703 的處理,IC卡703驗(yàn)證SAM芯片708的處理,從IC卡703讀取數(shù) 據(jù)的處理和把數(shù)據(jù)寫入IC卡703的處理對(duì)應(yīng)于作業(yè)。
如后所述,"作業(yè),,是IC卡過程管理任務(wù)772為其確定執(zhí)行順 序的處理單元。注意Al和A2構(gòu)成IC卡703和SAM芯片708之間的相互驗(yàn)證 處理。
此外,本實(shí)施例中,考慮到因特網(wǎng)710上的通信時(shí)間,如圖127 的狀態(tài)變換圖中所示,上面提及的基本狀態(tài)被分成啟動(dòng)后(在發(fā)出命 令之后)狀態(tài)和完成(在接收響應(yīng)之后)狀態(tài)。
具體地說,使用IC卡實(shí)體數(shù)據(jù)773—x的處理的狀態(tài)由實(shí)例產(chǎn)生 (IC卡實(shí)體數(shù)據(jù)產(chǎn)生)狀態(tài)、RS啟動(dòng)后狀態(tài)、RS完成狀態(tài)、Al啟 動(dòng)后狀態(tài)、Al完成狀態(tài)、A2啟動(dòng)后狀態(tài)、A2完成狀態(tài)、R啟動(dòng)后狀 態(tài)、R完成狀態(tài)、W啟動(dòng)后狀態(tài)、W完成狀態(tài)和實(shí)例(IC卡實(shí)體數(shù) 據(jù))刪除狀態(tài)管理。
IC卡類型信息783是用于確定發(fā)出IC卡703的服務(wù)企業(yè)的信息。
在產(chǎn)生IC卡實(shí)體數(shù)據(jù)773一x時(shí),利用由上面提及的腳本程序中的 CI命令確定的數(shù)據(jù)設(shè)置IC卡類型數(shù)據(jù)783。
服務(wù)類型單元指定數(shù)據(jù)784表示AP管理表數(shù)據(jù)7300—1-7300_3 和在利用IC卡實(shí)體數(shù)據(jù)773—x的處理中所使用的APP表數(shù)據(jù) 7310一1-7310—3中定義的應(yīng)用單元數(shù)據(jù)APE。
在產(chǎn)生IC卡實(shí)體數(shù)據(jù)773一x時(shí),利用上面提及的腳本程序中的 CS命令指定的一個(gè)或多個(gè)應(yīng)用單元數(shù)據(jù)APE設(shè)置服務(wù)類型單元指定 數(shù)據(jù)784。
處理順序數(shù)據(jù)785表示在利用IC卡實(shí)體數(shù)據(jù)773_x中使用的服務(wù) (作業(yè))的執(zhí)行順序,即圖127中所示的狀態(tài)變換。
即,處理順序數(shù)據(jù)785使用應(yīng)用單元數(shù)據(jù)APE對(duì)應(yīng)于IC卡703 的基本操作的作業(yè)的執(zhí)行順序。
這里如后所述,作業(yè)對(duì)應(yīng)于圖127中所示的RS、 Al、 A2、 R和 W。關(guān)于IC卡703的具體操作由利用作業(yè)指定的處理順序?qū)崿F(xiàn)。例如, 對(duì)于在只存在讀取而不進(jìn)行相互驗(yàn)證的情況下使用IC卡703的處理來 說,處理順序信息785被設(shè)置成"RS—R"。此外,就進(jìn)行相互驗(yàn)證 的讀取和寫入來說,處理順序信息 785被設(shè)置成 "RS—Al—A2—R—W"。當(dāng)產(chǎn)生IC卡實(shí)體數(shù)據(jù)773一x時(shí),利用圖127中所示的和在上面提及的腳本程序中的CS命令中指定的服務(wù)單元的順序?qū)?yīng)的作業(yè)順序設(shè)置處理順序信息785。
利用用于執(zhí)行使用IC卡實(shí)體數(shù)據(jù)773一x的管理數(shù)據(jù),從ASP月艮務(wù)器719 —側(cè)設(shè)置預(yù)處理信息786。
例如,利用在SF數(shù)據(jù)塊(應(yīng)用單元數(shù)據(jù)APE)中指定服務(wù)的計(jì)算公式的點(diǎn)數(shù)設(shè)置預(yù)處理信息786。
此外,當(dāng)沒有定義服務(wù)間處理函數(shù)時(shí),利用所請(qǐng)求的處理費(fèi)用(charge )設(shè)置預(yù)處理信息786。
例如,就結(jié)算來說,設(shè)置和賦予的費(fèi)用數(shù)額或者點(diǎn)數(shù)等相關(guān)的狀態(tài)。
利用在ASP服務(wù)器719 —側(cè)所需的IC卡實(shí)體數(shù)據(jù)773—x的處理結(jié)果的數(shù)據(jù)設(shè)置后處理信息787。例如,就結(jié)算來說,利用表示正常結(jié)束結(jié)算的數(shù)據(jù)設(shè)置后處理信息787。
下面將說明由圖125所示的和使用若干IC卡實(shí)體數(shù)據(jù)773_x的若干IC卡703相關(guān)的IC卡過程管理任務(wù)772進(jìn)行的處理例程。
IC卡過程管理任務(wù)772持續(xù)不斷地在圖124中所示的SAM芯片708的CPU 766上被起動(dòng)。
圖128是IC卡過程管理任務(wù)772執(zhí)行的處理的流程圖。
步驟ST701:
IC卡過程管理任務(wù)772從存在于存儲(chǔ)器765中的若干IC卡實(shí)體數(shù)據(jù)773一x中選擇一個(gè)IC卡實(shí)體數(shù)據(jù)773—x執(zhí)行下一處理。
選擇IC卡實(shí)體數(shù)據(jù)773一x的方法可能是依次選擇存在于存儲(chǔ)器765中的IC卡實(shí)體數(shù)據(jù)773_x,或者分配優(yōu)先級(jí)順序,并按照最高優(yōu)先級(jí)的順序依據(jù)優(yōu)先級(jí)進(jìn)行選擇。
步驟ST702:
IC卡過程管理任務(wù)772判斷在步驟ST701選擇的IC卡實(shí)體數(shù)據(jù)773一x的作業(yè)是否已被啟動(dòng)。當(dāng)判斷該作業(yè)已被啟動(dòng)時(shí),它進(jìn)行到步驟ST705的處理,而當(dāng)判斷該作業(yè)還未被啟動(dòng)時(shí),則轉(zhuǎn)到步驟ST703的處理。
步驟ST703:
IC卡過程管理任務(wù)772根據(jù)在步驟ST701選擇的IC卡實(shí)體數(shù)據(jù)773一x的圖126中所示的實(shí)體狀態(tài)信息782判斷和該實(shí)體數(shù)據(jù)相關(guān)的處理處于圖172中所示的狀態(tài)變換圖中的哪一狀態(tài),并且根據(jù)處理順序信息785確定下一步要執(zhí)行的作業(yè)。
此時(shí),處理順序信息785利用如前所述的服務(wù)定義表數(shù)據(jù)中設(shè)置的服務(wù)單元確定作業(yè)的執(zhí)行順序。
步驟ST704:
IC卡過程管理任務(wù)772啟動(dòng)在步驟ST703選擇的作業(yè)。
IC卡過程管理任務(wù)772使用上面利用圖125說明的輸入數(shù)據(jù)塊731—xl,輸出數(shù)據(jù)塊732—x2,日志數(shù)據(jù)塊733—x3和計(jì)算定義數(shù)據(jù)塊734—x4中和該作業(yè)相關(guān)的數(shù)據(jù)塊執(zhí)行該作業(yè)。
此時(shí),當(dāng)向執(zhí)行作業(yè)的IC卡703發(fā)出命令時(shí),IC卡過程管理任務(wù)772把對(duì)應(yīng)于該作業(yè)的服務(wù)單元用作搜索AP管理表數(shù)據(jù)7300—1-7300—3,從而獲得對(duì)應(yīng)于該服務(wù)單元的服務(wù)編號(hào)的關(guān)鍵字(IC卡703的操作命令能夠被IC卡703分析)。此外,IC卡過程管理任務(wù)772使用獲得的服務(wù)編號(hào)向IC卡703發(fā)布命令。
此外,如同利用圖113說明的那樣,當(dāng)訪問IC卡703a的存儲(chǔ)區(qū)需要密鑰信息時(shí),IC卡過程管理任務(wù)772使用對(duì)應(yīng)于該作業(yè)的服務(wù)單元搜索AP管理表數(shù)據(jù)7300—1-7300—3,并獲得對(duì)應(yīng)于該服務(wù)單元的密鑰信息。此外,IC卡過程管理任務(wù)772使用該密鑰信息完成和IC卡703的相互驗(yàn)證,對(duì)數(shù)據(jù)加密和解密,或者進(jìn)行其它處理,并且獲得訪問IC卡703的預(yù)定存儲(chǔ)區(qū)的;k限。
步驟ST705:
當(dāng)IC卡過程管理任務(wù)772向IC卡703發(fā)出命令,并且等待IC卡703的處理結(jié)果時(shí),執(zhí)行步驟ST705。
當(dāng)IC卡過程管理任務(wù)772從IC卡703接收處理結(jié)果時(shí),它把該結(jié)果放置在IC卡實(shí)體數(shù)據(jù)773_x中。步驟ST706:
IC卡過程管理任務(wù)772更新圖126中所示的IC卡實(shí)體數(shù)據(jù)773—x的實(shí)體狀態(tài)信息782。
這樣,在本實(shí)施例中,IC卡過程管理任務(wù)772并行進(jìn)行存在于SAM芯片708中的若干IC卡703的處理,同時(shí)按照順序選擇所述若干IC卡703的IC卡實(shí)體數(shù)據(jù)773一x。于是,即使當(dāng)接收使用若干IC卡703的過程的處理請(qǐng)求時(shí),SAM芯片708也可同時(shí)繼續(xù)進(jìn)行處理。
圖129和圖130說明了當(dāng)在上述圖128中的步驟S704執(zhí)行作業(yè)時(shí),,根據(jù)當(dāng)訪問由SAM芯片708執(zhí)行的數(shù)據(jù)時(shí),由應(yīng)用單元數(shù)據(jù)APE或者處理確定的例程,由另一應(yīng)用單元數(shù)據(jù)APE確定的處理。
步驟ST741:
當(dāng)根據(jù)預(yù)定應(yīng)用單元數(shù)據(jù)APE執(zhí)行處理時(shí),指定供使用(訪問)的應(yīng)用程序和該應(yīng)用程序中的應(yīng)用單元數(shù)據(jù)。
此外,所述使用指定該應(yīng)用單元數(shù)據(jù)APE的讀取、寫入和執(zhí)行之
步驟S742:
SAM芯片708判斷在步驟ST741指定的應(yīng)用單元數(shù)據(jù)APE是否存在于該SAM芯片708中。如果確定不存在于該SAM芯片708中,則轉(zhuǎn)到步驟ST743的處理,而如果確定存在于該SAM芯片708中,則轉(zhuǎn)到步驟ST745的處理。
步驟ST743:
SAM芯片708查看對(duì)應(yīng)于正在執(zhí)行的應(yīng)用程序的AP管理表數(shù)據(jù)7300—1-7300—3,獲得對(duì)應(yīng)于相應(yīng)服務(wù)(應(yīng)用單元數(shù)據(jù)APE )的密鑰數(shù)據(jù)K—SAM,并且使用該密鑰數(shù)據(jù)K—SAM和具有要使用的應(yīng)用單元數(shù)據(jù)APE的SAM芯片708a進(jìn)行相互驗(yàn)證。
步驟ST744:
如果在步驟ST743的相互驗(yàn)證中,SAM芯片708和708a確認(rèn)彼此的合法性,則SAM芯片708轉(zhuǎn)到步驟ST747的處理。如果沒有確認(rèn)彼此的合法性,則轉(zhuǎn)到步驟ST751。步驟ST745:
SAM芯片708查看對(duì)應(yīng)于正被執(zhí)行的應(yīng)用程序的AP管理表數(shù)據(jù)7300一1-7300—3,獲得對(duì)應(yīng)于該服務(wù)(應(yīng)用單元數(shù)據(jù)APE)的密鑰數(shù)據(jù)K—SAM。
此外,對(duì)于同樣在步驟ST741指定的要使用的應(yīng)用單元數(shù)據(jù)APE,SAM芯片708類似地查看對(duì)應(yīng)于該應(yīng)用單元數(shù)據(jù)APE的AP管理表數(shù)據(jù)7300—1-7300—3,獲得和相應(yīng)服務(wù)(應(yīng)用單元數(shù)據(jù)APE)對(duì)應(yīng)的密鑰數(shù)據(jù)K一SAM。
此外,SAM芯片708比較所獲得的兩個(gè)密鑰數(shù)據(jù)K—SAM。
擾頻器746:
當(dāng)SAM芯片708判斷在步驟ST745的處理所比較的兩個(gè)密鑰數(shù)據(jù)K—SAM相符,則例程轉(zhuǎn)到步驟ST747的處理,否則思索到步驟ST751。
步驟ST747:
SAM芯片708或708a查看對(duì)應(yīng)于在步驟ST741指定的應(yīng)用程序的AP管理表數(shù)據(jù)7300—1-7300—3,并且確定對(duì)應(yīng)于所使用的應(yīng)用單元數(shù)據(jù)APE的APP表數(shù)據(jù)7310_1-7310_3。
步驟ST748:
SAM芯片708或708a根據(jù)在步驟ST747指定的APP表數(shù)據(jù)7310_1-7310—3判斷要使用(訪問)的應(yīng)用單元數(shù)據(jù)APE的訪問權(quán)限。
具體地說,它判斷讀取、寫入和執(zhí)行要使用的應(yīng)用單元數(shù)據(jù)APE的權(quán)限。
步驟ST749:
當(dāng)SAM芯片708或者708a判斷在步驟ST748存在訪問;^又限,則轉(zhuǎn)到步驟ST750,否則轉(zhuǎn)到步驟ST751的處理。步驟ST750:
SAM芯片708或708a把在步驟ST741指定的應(yīng)用單元數(shù)據(jù)APE用于在步驟ST741指定的應(yīng)用。步驟ST751:SAM芯片708或708a不把在步驟ST741指定的應(yīng)用單元數(shù)據(jù)APE用于在步驟ST741指定的應(yīng)用。
此外,在在上面說明的圖128的步驟ST704執(zhí)行作業(yè)時(shí),當(dāng)SAM芯片708根據(jù)由應(yīng)用單元數(shù)據(jù)APE確定的例程相對(duì)于IC卡703傳送數(shù)據(jù)時(shí),SAM芯片708查看圖125中所示的AP管理表數(shù)據(jù)7300—l-7300一3 ,獲得對(duì)應(yīng)于該應(yīng)用單元數(shù)據(jù)APE的密鑰數(shù)據(jù)K—CADR,并且4吏用該密鑰數(shù)據(jù)K—CARD訪問IC卡703的存儲(chǔ)器750。
下面將說明圖109中所示的通信系統(tǒng)的整體操作。
圖131和圖132說明了圖109中所示通信系統(tǒng)701的整體操作。
步驟ST721:
服務(wù)企業(yè)715—1-715_3或者這些企業(yè)所請(qǐng)求的一方在圖109中所示個(gè)人計(jì)算機(jī)716—1、 716—2和716—3上產(chǎn)生腳本程序721—1、 721_2和721_3,所述腳本程序721_1、 721—2和721—3描述服務(wù)企業(yè)利用IC卡703進(jìn)行的交易的處理。
此外,SAM芯片708的管理人員產(chǎn)生對(duì)應(yīng)于服務(wù)企業(yè)715—1-715—3的AP管理表數(shù)據(jù)7300—1-7300—3。
步驟ST722:
在步驟ST721產(chǎn)生的AP管理表數(shù)據(jù)7300一1-7300—3 ^皮保存在外部存儲(chǔ)器707中。
此外,在步驟ST721產(chǎn)生的腳本程序721_1、 721—2和721—3通過因特網(wǎng)710、ASP服務(wù)器719和SAM芯片708從個(gè)人計(jì)算機(jī)716—1、716—2和716_3#^下載到外部存儲(chǔ)器707。如圖118中所示,關(guān)于下載的處理由SAM芯片708中的腳本下載任務(wù)769管理。
步驟ST723:
圖118中所示的SAM芯片中708中的腳本解釋任務(wù)770使用AP管理表數(shù)據(jù)7300_1-7300一3和腳本程序產(chǎn)生每個(gè)服務(wù)企業(yè)的IC卡實(shí)體模板數(shù)據(jù),輸入數(shù)據(jù)塊,輸出數(shù)據(jù)塊,日志數(shù)據(jù)塊和計(jì)算定義數(shù)據(jù)塊。
產(chǎn)生的數(shù)據(jù)被保存在圖124中所示的SAM芯片708的存儲(chǔ)器765中。
步驟ST724:用戶被發(fā)給IC卡703。
如圖113中所示,IC卡703的IC 703a的存儲(chǔ)器750保存用于用戶和服務(wù)企業(yè)達(dá)成的交易的密鑰信息。
注意在發(fā)行IC卡703之后,用戶和服務(wù)企業(yè)之間的合同還可通過因特網(wǎng)710等締結(jié)。
步驟ST725:
例如,當(dāng)用戶使用個(gè)人計(jì)算機(jī)705通過因特網(wǎng)710訪問服務(wù)器702,試圖購買產(chǎn)品時(shí),服務(wù)器702通過因特網(wǎng)710向ASP服務(wù)器719發(fā)出處理請(qǐng)求。
當(dāng)ASP服務(wù)器719從服務(wù)器702接收處理請(qǐng)求時(shí),它通過因特網(wǎng)710訪問個(gè)人計(jì)算機(jī)705。此外,從讀卡機(jī)/寫卡機(jī)704發(fā)出的涉及IC卡703處理請(qǐng)求通過個(gè)人計(jì)算機(jī)705、因特網(wǎng)710和ASP服務(wù)器719被傳送給SAM芯片708。
步驟ST726:
ASP服務(wù)器719向SAM芯片708輸出實(shí)體產(chǎn)生請(qǐng)求。該實(shí)體產(chǎn)生請(qǐng)求保存顯示IC卡703的發(fā)行者的信息。步驟S727:
當(dāng)SAM芯片708接收實(shí)體產(chǎn)生請(qǐng)求時(shí),它執(zhí)行對(duì)于IC卡703的輪詢。
步驟ST728:
輪詢結(jié)束之后,SAM芯片708的實(shí)體產(chǎn)生任務(wù)771判斷存在于SAM芯片708中的IC卡實(shí)體數(shù)據(jù)773—x的數(shù)目是否在由腳本程序的SC命令確定的最大數(shù)目之內(nèi)。如果在最大數(shù)目之內(nèi),則轉(zhuǎn)到步驟ST729的處理,如果不在最大數(shù)目之內(nèi),則結(jié)束處理。
步驟ST729:
實(shí)體產(chǎn)生任務(wù)771根據(jù)保存在實(shí)體產(chǎn)生請(qǐng)求中的顯示IC卡703的發(fā)行者的信息,指定要使用哪個(gè)服務(wù)企業(yè)的IC卡實(shí)體模板數(shù)據(jù),并且使用指定的IC卡實(shí)體模板數(shù)據(jù)產(chǎn)生IC卡實(shí)體數(shù)據(jù)773一x。這對(duì)應(yīng)于圖127中所示的實(shí)例產(chǎn)生。步驟ST730:
SAM芯片708把在步驟ST729產(chǎn)生的IC卡實(shí)體數(shù)據(jù)773—x的實(shí)體ID輸出給ASP服務(wù)器719。步驟ST731:
SAM芯片708的IC卡過程管理任務(wù)772調(diào)查IC卡703能夠使用的服務(wù)。
這是對(duì)應(yīng)于圖127中所示作業(yè)RS的處理。步驟ST732:
SAM芯片708的IC卡過程管理任務(wù)772驗(yàn)證IC卡703的合法性。
這是對(duì)應(yīng)于圖127中所示作業(yè)Al的處理。步驟ST733:
IC卡703驗(yàn)證SAM芯片708的合法性。這是對(duì)應(yīng)于圖127中所示作業(yè)A2的處理。
根據(jù)步驟ST32和ST33,IC卡703和SAM芯片708被相互驗(yàn)證。此時(shí),如前所述,根據(jù)正凈皮SAM芯片708執(zhí)行的應(yīng)用單元數(shù)據(jù)APE,查看圖211中所示的AP管理表數(shù)據(jù)7300—1-7300—3,獲得密鑰數(shù)據(jù)K一CARD,并且該密鑰數(shù)據(jù)K_CARD被用于SAM芯片708和IC卡703的CPU 751之間的相互驗(yàn)證。步驟ST734:
SAM芯片708的IC卡過程管理任務(wù)772讀取和寫入關(guān)于IC卡703的過程所需的數(shù)據(jù)。
這是對(duì)應(yīng)于圖127中所示的作業(yè)R和W的處理。
此外,IC卡過程管理任務(wù)772使用根據(jù)IC卡實(shí)體數(shù)據(jù)773一x的預(yù)處理數(shù)據(jù)指定的處理公式,并且使用從IC卡703讀取的數(shù)據(jù)進(jìn)行預(yù)定的計(jì)算處理。
步驟ST735:SAM芯片708的IC卡過程管理任務(wù)772把步驟ST734的處理結(jié)果輸出給ASP服務(wù)器719。步驟ST736:
例如,IC卡過程管理任務(wù)772刪除IC卡實(shí)體數(shù)據(jù)773—x。如上所述,根據(jù)通信系統(tǒng)701和SAM裝置709,通過配置使用若干應(yīng)用單元數(shù)據(jù)APE的應(yīng)用程序AP,并且使用AP管理表數(shù)據(jù)和APP表數(shù)據(jù)定義應(yīng)用單元數(shù)據(jù)APE的計(jì)算內(nèi)容,能夠提供使用IC卡703的不同服務(wù)。
此外,根據(jù)通信系統(tǒng)701,能夠在保持高度機(jī)密的同時(shí),使用AP管理表數(shù)據(jù)和APP表數(shù)據(jù)靈活實(shí)現(xiàn)相同SAM中應(yīng)用單元數(shù)據(jù)APE的利用,以及不同SAM之間應(yīng)用單元數(shù)據(jù)APE的利用。
此外,根據(jù)通信系統(tǒng)701,當(dāng)在不同SAM之間使用應(yīng)用單元數(shù)據(jù)APE時(shí),由于在SAM之間進(jìn)行相互驗(yàn)證,因此能夠提高應(yīng)用程序的機(jī)密性。
此外,根據(jù)通信系統(tǒng)701,通過向相同服務(wù)企業(yè)的應(yīng)用程序分配同類的SAM一ID,能夠防止在相同企業(yè)的應(yīng)用程序的應(yīng)用單元數(shù)據(jù)APE之間執(zhí)行復(fù)雜的相互驗(yàn)證處理,從而減輕SAM芯片的密鑰信息管理和處理的負(fù)擔(dān)。
此外,根據(jù)通信系統(tǒng)701,能夠?yàn)楹虸C卡703 —同發(fā)生的過程的各個(gè)處理產(chǎn)生IC卡實(shí)體數(shù)據(jù)773一x,并且使IC卡過程管理任務(wù)772使用若干IC卡實(shí)體數(shù)據(jù)773_x同時(shí)繼續(xù)進(jìn)行涉及所述若干IC卡703的處理。
此外,根據(jù)驗(yàn)證系統(tǒng)701,由于把實(shí)際用于IC卡703的處理的IC卡實(shí)體數(shù)據(jù)773_3保存到存儲(chǔ)器765中就足夠了 ,因此能夠有效地使用存儲(chǔ)器765的存儲(chǔ)區(qū)。
另外,根據(jù)驗(yàn)證系統(tǒng)701,如圖127中所示,由于IC卡過程管理任務(wù)772所處理作業(yè)的執(zhí)行狀態(tài)被分成啟動(dòng)后狀態(tài)和完成狀態(tài),因此在開始執(zhí)行一個(gè)作業(yè)之后,能夠在等待來自于IC卡703的數(shù)據(jù)的狀態(tài)下開始另一作業(yè)的處理。于是,能夠消除通過因特網(wǎng)10與IC卡703傳送數(shù)據(jù)引起的等待時(shí)間。
此外,根據(jù)驗(yàn)證系統(tǒng)701, AP管理表數(shù)據(jù)7300—1-7300—3其中描述表示由各個(gè)服務(wù)企業(yè)提供的服務(wù)類型的名稱,即APE一N, IC卡703中使用的服務(wù)的編號(hào),以及當(dāng)提供這些服務(wù)時(shí)使用的密鑰信息。這些保存在外部存儲(chǔ)器707中。于是,不是SAM芯片708的開發(fā)者的服務(wù)企業(yè)715—1-715—3可通過產(chǎn)生腳本程序721—1、 721—2和721_3,并且通過SAM芯片708把這些腳本程序下栽到外部存儲(chǔ)器707,定制他們自己的運(yùn)行于SAM芯片708上的應(yīng)用程序。即,在不把直接操作IC卡703的密鑰信息或操作命令,或者其它高度機(jī)密的信息告知服務(wù)企業(yè)715_1-715_3的情況下,這些服務(wù)企業(yè)可定制他們自己的應(yīng)用程序。此外,當(dāng)定制應(yīng)用程序時(shí),服務(wù)企業(yè)不必知道密鑰數(shù)據(jù)或者卡操作命令,從而減輕了服務(wù)企業(yè)的負(fù)擔(dān)。
此外,根據(jù)驗(yàn)證系統(tǒng)701,由于能夠定義生成若干服務(wù)的計(jì)算內(nèi)容,因此能夠在IC卡3 —側(cè)提供把經(jīng)批準(zhǔn)同時(shí)執(zhí)行的大量服務(wù)中的若干服務(wù)組合起來的不同服務(wù)。
此外,根據(jù)驗(yàn)證系統(tǒng)701,通過引入數(shù)據(jù)塊的概念,能夠容易地管理相對(duì)于IC卡703的數(shù)據(jù)輸入輸出以及日志數(shù)據(jù)。附閨標(biāo)記
l...通信系統(tǒng),2...服務(wù)器,3...IC卡,4...讀卡機(jī)/寫卡機(jī),5…個(gè)人計(jì)算機(jī),6…ASP服務(wù)器,7…外部存儲(chǔ)器,8..,SAM芯片,9…SAM裝置,IO...因特網(wǎng),15_1、 15—2、 15_3...信用卡企業(yè),16_1、 16—2、16一3,.,個(gè)人計(jì)算機(jī)
101…通信系統(tǒng),102…服務(wù)器,103…IC卡,104…讀卡機(jī)/寫卡機(jī),105…個(gè)人計(jì)算機(jī),106…ASP服務(wù)器,107…外部存儲(chǔ)器,108... SAM芯片,109…SAM裝置,IIO...因特網(wǎng),115—1、 115-2和115—3…信用卡企業(yè),U6—1、 116—2和116_3,..個(gè)人計(jì)算機(jī),117—1、 117—2、 117—3…驗(yàn)證裝置
201…通信系統(tǒng),202…服務(wù)器,203…IC卡,2(M…讀卡機(jī)/寫卡機(jī),205…個(gè)人計(jì)算機(jī),206…ASP服務(wù)器,2CV7…外部存儲(chǔ)器,208...SAM芯片,209...SAM裝置,210…因特網(wǎng),215_1、 215—2、 215一3…信用卡企業(yè),216—1、 216—2、 216—3…個(gè)人計(jì)算機(jī),217—1、 217_2、 217一3…驗(yàn)證裝置
301…通信系統(tǒng),302…服務(wù)器,303…IC卡,304…讀卡機(jī)/寫卡機(jī),
305...個(gè)人計(jì)算機(jī),306…ASP服務(wù)器,307,..外部存儲(chǔ)器,308..,SAM芯片,309...SAM裝置,310…因特網(wǎng),315—1、 315—2、 315—3…信用卡企業(yè),315—4…處理程序?qū)拥拈_發(fā)者,315—S…SAM芯片管理人員,316 1、 316 2、 316 3...個(gè)人計(jì)算機(jī),317 1、 317 2、 317 3…驗(yàn)證裝置,318…ICE
401...通信系統(tǒng),402...服務(wù)器,403…IC卡,404…讀卡機(jī)/寫卡機(jī),405...個(gè)人計(jì)算機(jī),406…ASP服務(wù)器,407…外部存儲(chǔ)器,408…SAM芯片,409...SAM裝置,410…因特網(wǎng),415—1、 415—2、 415一3…信用
卡企業(yè),416—1、 416一2、 416—3…個(gè)人計(jì)算機(jī),417一1、 417—2、 417—3...驗(yàn)證裝置501…計(jì)算機(jī),502…CPU, 503…存儲(chǔ)器,504…通信電路,506...CPU數(shù)據(jù)總線,507...CPU地址總線,508…1C卡,5S1."計(jì)算機(jī),5S2...CPU, 5S3…存儲(chǔ)器,560,..判斷電路,561...開關(guān)電路,562...存儲(chǔ)器數(shù)據(jù)總線,570...選擇電路,571...取出判斷電路,572...讀取判斷電路,573.,.寫入判斷電路
631...半導(dǎo)體電路,632...內(nèi)部存儲(chǔ)器,633.,.開關(guān)電路,634...開關(guān)電路,635…判斷電路,636…選擇電路,637…CPU, 660…外部存儲(chǔ)器,6131...半導(dǎo)體芯片,6134...加密/解密電路,6135...判斷電路,6136...選擇電路,6137…CPU, 6160…外部存儲(chǔ)器,6190...密鑰信息表
701…通信系統(tǒng),702…服務(wù)器,703…IC卡,704…讀卡機(jī)/寫卡機(jī),705…個(gè)人計(jì)算機(jī),707、 707a…外部存儲(chǔ)器,708、 708a…SAM芯片,709、 709a…SAM裝置,715—1 - 715—3…服務(wù)企業(yè),719…ASP服務(wù)器。
權(quán)利要求
1.一種由執(zhí)行應(yīng)用程序的半導(dǎo)體電路完成的數(shù)據(jù)處理方法,所述數(shù)據(jù)處理方法包括下述步驟利用多個(gè)防火墻中事先分配給形成所述應(yīng)用程序的多個(gè)程序模塊中的各個(gè)程序模塊的防火墻保護(hù)該程序模塊,記錄與識(shí)別分配給程序模塊的防火墻的防火墻識(shí)別信息鏈接的程序模塊,和以所述記錄正在進(jìn)行為條件,執(zhí)行所述程序模塊。
2. 按照權(quán)利要求1所述的數(shù)據(jù)處理方法,還包括允許記錄的與相 同防火墻識(shí)別信息鏈接的多個(gè)程序模塊之間的數(shù)據(jù)傳送或數(shù)據(jù)查看, 并且禁止記錄的與不同防火墻識(shí)別信息鏈接的多個(gè)程序模塊之間的數(shù) 據(jù)傳送或者數(shù)據(jù)查看的步驟。
3. 按照權(quán)利要求1所述的數(shù)據(jù)處理方法,還包括下述步驟 記錄還與當(dāng)把程序模塊從所述半導(dǎo)體電路之外下裁到所述半導(dǎo)體電路時(shí)使用的下栽密鑰信息鏈接的程序模塊,和當(dāng)接收關(guān)于所述程序模塊的下載請(qǐng)求時(shí),利用記錄的和所述程序 模塊鏈接的所述下載密鑰信息判斷下栽是否可能,并且當(dāng)判斷下載可 能時(shí),下載該程序一莫塊。 」
4. 按照權(quán)利要求3所述的數(shù)據(jù)處理方法,還包括當(dāng)對(duì)應(yīng)于所述程 序模塊的所述下載密鑰信息未被記錄時(shí),不下栽程序模塊的步驟。
5. 按照權(quán)利要求3所述的數(shù)據(jù)處理方法,還包括關(guān)于所述下載請(qǐng) 求的發(fā)出者進(jìn)行相互驗(yàn)證,以便確認(rèn)所述發(fā)出者的合法性,隨后判斷 所述下栽是否可能的步驟。
6. 按照權(quán)利要求3所述的數(shù)據(jù)處理方法,還包括下述步驟 記錄還與在執(zhí)行所述程序模塊之前使用的密鑰信息鏈接的程序模塊,和利用和關(guān)于其的執(zhí)行請(qǐng)求被接收的程序模塊對(duì)應(yīng)的所述密鑰信息 來判斷所述程序模塊是否已被改變或者被竄改,當(dāng)判斷所述程序模塊未被改變或者被竄改時(shí),執(zhí)行所述程序模塊。
7. 按照權(quán)利要求3所述的數(shù)據(jù)處理方法,還包括下述步驟 當(dāng)把程序模塊保存在設(shè)置于所述半導(dǎo)體電路之外的半導(dǎo)體存儲(chǔ)電路中時(shí),所述半導(dǎo)體電路對(duì)所述程序模塊擾頻,隨后將其寫入所述半導(dǎo)體 存儲(chǔ)電路中,和所述半導(dǎo)體電路對(duì)從所述半導(dǎo)體存儲(chǔ)電路讀取的程序4莫塊解擾頻。
8. 按照權(quán)利要求3所述的數(shù)據(jù)處理方法,還包括下述步驟 當(dāng)所述應(yīng)用程序定義利用集成電路相對(duì)于所述半導(dǎo)體電路傳送數(shù)據(jù)的過程的處理時(shí),所述半導(dǎo)體電路利用第二密鑰信息對(duì)用于所述集成電路的操作的第一密鑰信息加密,并將其保存在所述半導(dǎo)體存儲(chǔ)電路中,和所述半導(dǎo)體電路把所述第二密鑰信息保存在所述半導(dǎo)體電路中。
9,按照權(quán)利要求3所述的數(shù)據(jù)處理方法,其中所述集成電路安裝在卡上。
10. 按照權(quán)利要求3所述的數(shù)據(jù)處理方法,還包括下述步驟 所述半導(dǎo)體電路執(zhí)行與提供利用所述集成電路執(zhí)行的過程的多個(gè)過程提供者對(duì)應(yīng)的多個(gè)應(yīng)用程序,及所述半導(dǎo)體電路利用相同的防火墻保護(hù)形成相同應(yīng)用程序的多個(gè) 所述程序模塊。
11. 一種運(yùn)行應(yīng)用程序的半導(dǎo)體電路, 所述半導(dǎo)體電路利用多個(gè)防火墻中事先分配給形成所述應(yīng)用程序的多個(gè)程序模塊 中的各個(gè)程序模塊的防火墻保護(hù)該程序模塊,記錄與識(shí)別分配給該程序模塊的防火墻的防火墻識(shí)別信息鏈接的 程序模塊,和以所述記錄正在進(jìn)行為條件,執(zhí)行所述程序模塊。
12. 按照權(quán)利要求ll所述的半導(dǎo)體電路,所述半導(dǎo)體電路允許記錄的與相同防火墻識(shí)別信息鏈接的多個(gè)程序模塊之間的數(shù)據(jù)傳送或數(shù) 據(jù)查看,并且禁止記錄的與不同防火墻識(shí)別信息鏈接的多個(gè)程序模塊 之間的數(shù)據(jù)傳送或者數(shù)據(jù)查看。
13. 按照權(quán)利要求11所述的半導(dǎo)體電路,所述半導(dǎo)體電路 記錄還與當(dāng)把程序模塊從所述半導(dǎo)體電路之外下載到所述半導(dǎo)體電路時(shí)使用的下載密鑰信息鏈接的程序模塊,和當(dāng)接收關(guān)于所述程序模塊的下載請(qǐng)求時(shí),利用記錄的和所述程序 模塊鏈接的所述下栽密鑰信息判斷下載是否可能,當(dāng)判斷下栽可能時(shí), 下載該程序模塊。
14. 按照權(quán)利要求13所述的半導(dǎo)體電路,當(dāng)對(duì)應(yīng)于所述程序模塊 的所述下載密鑰信息未被記錄時(shí),所述半導(dǎo)體電路不下載程序模塊。
15. 按照權(quán)利要求13所述的半導(dǎo)體電路,所述半導(dǎo)體電路相對(duì)于 所述下栽請(qǐng)求的發(fā)出者進(jìn)行相互驗(yàn)證,以便確認(rèn)所述發(fā)出者的合法性, 隨后判斷所述下栽是否可能。
16. 按照權(quán)利要求11所述的半導(dǎo)體電路,所述半導(dǎo)體電路 記錄還與在執(zhí)行所述程序模塊之前使用的密鑰信息鏈接的程序模塊,和利用和關(guān)于其的執(zhí)行請(qǐng)求被接收的程序模塊對(duì)應(yīng)的所述密鑰信息 來判斷所述程序模塊是否已被改變或者竄改,當(dāng)判斷所述程序模塊未 被改變或者竄改時(shí),執(zhí)行所述程序模塊。
17. 按照權(quán)利要求11所述的半導(dǎo)體電路,其中當(dāng)把程序模塊保存在設(shè)置于所述半導(dǎo)體電路之外的半導(dǎo)體存儲(chǔ)電 路中時(shí),所述半導(dǎo)體電路對(duì)所述程序模塊擾頻,隨后將其寫入所述半導(dǎo)體 存儲(chǔ)電路中,和所述半導(dǎo)體電路對(duì)從所述半導(dǎo)體存儲(chǔ)電路讀取的程序模塊解擾頻。
18. 按照權(quán)利要求11所述的半導(dǎo)體電路,所述半導(dǎo)體電路, 當(dāng)所述應(yīng)用程序定義利用集成電路相對(duì)于所述半導(dǎo)體電路傳送數(shù)據(jù)的過程的處理時(shí),利用第二密鑰信息對(duì)用于所述集成電路的操作的第一密鑰信息加 密,并將其保存在所述半導(dǎo)體存儲(chǔ)電路中,和把所述第二密鑰信息保存在所述半導(dǎo)體電路中。
19. 按照權(quán)利要求11所述的半導(dǎo)體電路,其中所述集成電路安裝 在卡上。
20. 按照權(quán)利要求18所迷的半導(dǎo)體電路,其中所述半導(dǎo)體電路 執(zhí)行與提供利用所述集成電路執(zhí)行的過程的多個(gè)過程提供者對(duì)應(yīng)的多個(gè)應(yīng)用程序,及利用相同的防火墻保護(hù)形成相同應(yīng)用程序的多個(gè)所述程序模塊。
21. —種由半導(dǎo)體電路執(zhí)行的用于執(zhí)行應(yīng)用程序的數(shù)據(jù)處理方法,所述數(shù)據(jù)處理方法包括下述步驟 獨(dú)立執(zhí)行由防火墻保護(hù)的多個(gè)應(yīng)用程序,預(yù)先記錄允許在所述應(yīng)用程序之間進(jìn)行的通信穿過所述防火墻的 條件,當(dāng)應(yīng)用程序請(qǐng)求與另 一應(yīng)用程序通信時(shí),判斷通信請(qǐng)求是否滿足 所述記錄條件,和當(dāng)判斷通信請(qǐng)求滿足所述記錄條件時(shí),根據(jù)所述通信請(qǐng)求進(jìn)行應(yīng) 用程序之間的通信。
22. 按照權(quán)利要求21所述的數(shù)據(jù)處理方法,還包括把指示允許通 過所述防火墻的通信的所述通信請(qǐng)求的發(fā)出者的應(yīng)用程序和所述另一 應(yīng)用程序的組合的信息記錄為允許所述通信的條件的步驟。
23. 按照權(quán)利要求21所述的數(shù)據(jù)處理方法,還包括下述步驟, 當(dāng)所述半導(dǎo)體電路從所述半導(dǎo)體電路之外接收處理請(qǐng)求時(shí), 在所述多個(gè)應(yīng)用程序之間選擇和所述處理請(qǐng)求對(duì)應(yīng)的應(yīng)用程序,和根據(jù)選擇的所述應(yīng)用程序,執(zhí)行和所述處理請(qǐng)求相符的處理。
24. 按照權(quán)利要求21所迷的數(shù)據(jù)處理方法,還包括利用所述半導(dǎo)間通信的數(shù)據(jù)的步驟。
25. 按照權(quán)利要求24所述的數(shù)據(jù)處理方法,還包括下述步驟 數(shù)據(jù)發(fā)送一方的應(yīng)用程序把數(shù)據(jù)寫入所述預(yù)定存儲(chǔ)區(qū), 數(shù)據(jù)發(fā)送一方的應(yīng)用程序把寫入操作正在進(jìn)行的事實(shí)通知數(shù)據(jù)接收一方的應(yīng)用程序,和數(shù)據(jù)接收一方的應(yīng)用程序根據(jù)所述通知從所述預(yù)定存儲(chǔ)區(qū)讀取所 述數(shù)據(jù)。
26. 按照權(quán)利要求24所述的數(shù)據(jù)處理方法,還包括當(dāng)產(chǎn)生關(guān)于所 述預(yù)定存儲(chǔ)區(qū)的訪問請(qǐng)求時(shí),借助防火墻判斷所述訪問的合法性,并 且只有對(duì)被判斷為合法的訪問請(qǐng)求,才允許訪問所述預(yù)定存儲(chǔ)區(qū)的步
27. 按照權(quán)利要求24所述的數(shù)據(jù)處理方法,還包括對(duì)和所述應(yīng)用 程序之間的通信一起傳送的數(shù)據(jù)擾頻,隨后將其保存在所述預(yù)定存儲(chǔ) 區(qū)中的步驟。
28. 按照權(quán)利要求21所述的數(shù)據(jù)處理方法,還包括所述半導(dǎo)體電 路向另一半導(dǎo)體電路請(qǐng)求伴隨所述應(yīng)用程序的執(zhí)行的至少部分處理的 步驟。
29. —種半導(dǎo)體電路,所述半導(dǎo)體電路 獨(dú)立執(zhí)行受防火墻保護(hù)的多個(gè)應(yīng)用程序,事先記錄允許在所述應(yīng)用程序之間進(jìn)行的通信穿過所述防火墻的 條件,當(dāng)應(yīng)用程序請(qǐng)求與另 一應(yīng)用程序通信時(shí),判斷通信請(qǐng)求是否滿足 所述記錄條件,和當(dāng)判斷通信請(qǐng)求滿足所述記錄條件時(shí),根據(jù)所述通信請(qǐng)求進(jìn)行所 述應(yīng)用程序之間的通信。
30. 按照權(quán)利要求29所述的半導(dǎo)體電路,所述半導(dǎo)體電路把指示 允許通過所述防火墻的通信的所述通信請(qǐng)求的發(fā)出者的應(yīng)用程序和所 述其它應(yīng)用程序的組合的信息記錄為允許所述通信的條件。
31. 按照權(quán)利要求29所述的半導(dǎo)體電路,所述半導(dǎo)體電路 當(dāng)從外部接收處理請(qǐng)求時(shí),在所述多個(gè)應(yīng)用程序之間選擇和所述處理請(qǐng)求對(duì)應(yīng)的應(yīng)用程序,和根據(jù)選擇的所述應(yīng)用程序,執(zhí)行和所述處理請(qǐng)求相符的處理。
32. 按照權(quán)利要求29所述的半導(dǎo)體電路,所述半導(dǎo)體電路利用所程序之間通信的數(shù)據(jù)。
33. 按照權(quán)利要求32所述的半導(dǎo)體電路,所述半導(dǎo)體電路 在數(shù)據(jù)發(fā)送一方的應(yīng)用程序中把數(shù)據(jù)寫入所述預(yù)定存儲(chǔ)區(qū), 把寫入操作正在進(jìn)行的事實(shí)通知數(shù)據(jù)接收一方的應(yīng)用程序,和 根據(jù)所述通知把所述數(shù)據(jù)從所述預(yù)定存儲(chǔ)區(qū)讀入數(shù)據(jù)接收一 方的應(yīng)用程序。
34. 按照權(quán)利要求32所述的半導(dǎo)體電路,當(dāng)產(chǎn)生關(guān)于所述預(yù)定存 儲(chǔ)區(qū)的訪問請(qǐng)求時(shí),所迷半導(dǎo)體電路借助防火墻判斷所述訪問的合法 性,并且只有對(duì)被判斷為合法的訪問請(qǐng)求,才允許訪問所述預(yù)定存儲(chǔ) 區(qū)。
35. 按照權(quán)利要求32所述的半導(dǎo)體電路,所述半導(dǎo)體電路對(duì)和所 述應(yīng)用程序之間的通信一起傳送的數(shù)據(jù)擾頻,隨后將其保存在所述預(yù) 定存儲(chǔ)區(qū)中。
36. 按照權(quán)利要求29所述的半導(dǎo)體電路,所述半導(dǎo)體電路向另一 半導(dǎo)體電路請(qǐng)求伴隨所述應(yīng)用程序的執(zhí)行的至少部分處理。
37. —種數(shù)據(jù)處理方法,借助該數(shù)據(jù)處理方法半導(dǎo)體電路或者所 述半導(dǎo)體電路可訪問的半導(dǎo)體存儲(chǔ)設(shè)備下載在所述半導(dǎo)體電路中運(yùn)行 的程序其中所述半導(dǎo)體電路具有由多層組成的軟件結(jié)構(gòu),并使對(duì)應(yīng)于每 層的下栽簽名驗(yàn)證密鑰信息能夠被所述半導(dǎo)體電路查看, 所述數(shù)據(jù)處理方法包括下述步驟當(dāng)接收所述下載請(qǐng)求時(shí),所述半導(dǎo)體電路利用所述下栽簽名驗(yàn)證密鑰信息驗(yàn)證根據(jù)下載請(qǐng)求產(chǎn)生的下栽簽名信息,以所述下栽簽名信息合法為條件,所述半導(dǎo)體電路允許所述下載 請(qǐng)求的發(fā)出者下栽與用于該驗(yàn)證的下栽簽名驗(yàn)證密鑰信息對(duì)應(yīng)的那一 層的程序。
38. 按照權(quán)利要求37所述的數(shù)據(jù)處理方法,還包括下述步驟 驗(yàn)證設(shè)備保存與允許被下載的程序所屬那層對(duì)應(yīng)的訪問主密鑰信息,所述驗(yàn)證設(shè)備把所述下載請(qǐng)求傳送給所述半導(dǎo)體電路,和 所述驗(yàn)證設(shè)備使用該訪問主密鑰信息產(chǎn)生所述下栽簽名信息,并 把該下載簽名信息傳送給所述半導(dǎo)體電路。
39. 按照權(quán)利要求37所述的數(shù)據(jù)處理方法,還包括下述步驟 驗(yàn)證設(shè)備保存所述半導(dǎo)體電路的識(shí)別信息,和所述驗(yàn)證設(shè)備利用所述訪問主密鑰信息對(duì)呈明文形式的所述識(shí)別 信息加密,產(chǎn)生下載主密鑰信息,并且使用該下栽主密鑰信息產(chǎn)生所 述下載簽名信息。
40. 按照權(quán)利要求38所述的數(shù)據(jù)處理方法,還包括下述步驟第一訪問主密鑰信息和與所述層的一個(gè)或多個(gè)更高層對(duì)應(yīng)的一個(gè)或多 個(gè)第二訪問主密鑰信息,和所述驗(yàn)證設(shè)備使用所述第 一訪問主密鑰信息和所述一 個(gè)或多個(gè)第 二訪問主密鑰信息產(chǎn)生所述下載簽名信息。
41. 按照權(quán)利要求38所述的數(shù)據(jù)處理方法,還包括所述驗(yàn)證設(shè)備 相對(duì)于所迷半導(dǎo)體電路進(jìn)行相互驗(yàn)證,隨后把所述下載簽名信息傳送 給所述半導(dǎo)體電路的步驟。
42. 按照權(quán)利要求41所述的數(shù)據(jù)處理方法,還包括下述步驟 所述驗(yàn)證設(shè)備保存所述半導(dǎo)體電路的相互驗(yàn)證主密鑰信息和識(shí)別信息,所述驗(yàn)證設(shè)備利用所述相互驗(yàn)證主密鑰信息對(duì)呈明文形式的所述 識(shí)別信息加密,產(chǎn)生相互驗(yàn)證密鑰信息,和所述驗(yàn)證設(shè)備把所述相互驗(yàn)證密鑰信息用于和所述半導(dǎo)體電路的 相互驗(yàn)證。
43. 按照權(quán)利要求37所述的數(shù)據(jù)處理方法,其中所述半導(dǎo)體電路 的軟件結(jié)構(gòu)被分成只有所述半導(dǎo)體電路的管理人員被賦予下載權(quán)的第 一層,設(shè)置在所述第一層之上的第二層,操作預(yù)定集成電路的程序?qū)?于該第二層,設(shè)置在所述第二層之上的第三層,定義使用所述集成電 路的交易過程內(nèi)容的應(yīng)用程序?qū)儆谠摰谌龑印?br>
44. 按照權(quán)利要求43所述的數(shù)據(jù)處理方法,其中 所述集成電路安裝在卡上,并且所述半導(dǎo)體電路通過通信線路和與所述通信線路相連的通信設(shè)備 訪問所述集成電路。
45. 按照權(quán)利要求43所述的數(shù)據(jù)處理方法,其中與執(zhí)行使用所述 集成電路的交易的多個(gè)企業(yè)對(duì)應(yīng)的應(yīng)用程序?qū)儆谒龅谌龑?,為所?多個(gè)應(yīng)用程序定義防火墻,并且限制通過所述防火墻的所述應(yīng)用程序 之間的數(shù)據(jù)傳送或數(shù)據(jù)查看。
46. 按照權(quán)利要求38所述的數(shù)據(jù)處理方法,還包括當(dāng)檢測(cè)到施加 于所述驗(yàn)證設(shè)備上的物理外力,借助所迷外力,所述訪問主密鑰信息 可能被非法起動(dòng)時(shí),所述驗(yàn)證設(shè)備自動(dòng)刪除所述保存的訪問主密鑰信
47. —種具有由多層組成的軟件結(jié)構(gòu)的半導(dǎo)體電路, 所述半導(dǎo)體電路能夠查看對(duì)應(yīng)于各層的下載簽名驗(yàn)證密鑰信息, 當(dāng)接收下載請(qǐng)求時(shí),利用所述下栽簽名驗(yàn)證密鑰信息驗(yàn)證根據(jù)下載請(qǐng)求產(chǎn)生的下載簽名信息,和以所述下載簽名信息合法為條件,允許所述下栽請(qǐng)求的發(fā)出者把 和用于該驗(yàn)證的下載簽名驗(yàn)證密鑰信息對(duì)應(yīng)的一層的程序下載到該半 導(dǎo)體電路或者所述半導(dǎo)體電路可訪問的半導(dǎo)體存儲(chǔ)電路。
48. 按照權(quán)利要求47所述的半導(dǎo)體電路,其中所述半導(dǎo)體電路的 軟件結(jié)構(gòu)被分成只有所述半導(dǎo)體電路的管理人員被賦予下載權(quán)的第一 層,設(shè)置在所述第一層之上的笫二層,操作預(yù)定集成電路的程序?qū)儆谠摰诙?,設(shè)置在所述第二層之上的第三層,定義使用所述集成電路 的交易過程內(nèi)容的應(yīng)用程序?qū)儆谠摰谌龑印?br>
49. 按照權(quán)利要求47所述的半導(dǎo)體電路,其中 所述集成電路安裝在卡上,并且所述半導(dǎo)體電路通過通信線路和與所述通信線路相連的通信設(shè)備 訪問所述集成電路。
50. 按照權(quán)利要求49所述的半導(dǎo)體電路,其中與執(zhí)行使用所述集 成電路的交易的多個(gè)企業(yè)對(duì)應(yīng)的應(yīng)用程序?qū)儆谒龅谌龑?,為所述?個(gè)應(yīng)用程序定義防火墻,并且限制通過所述防火墻的所述應(yīng)用程序之 間的數(shù)據(jù)傳送或數(shù)據(jù)查看。
51. —種當(dāng)把在半導(dǎo)體電路中運(yùn)行的程序下栽到具有由多層組成 的軟件結(jié)構(gòu)的半導(dǎo)體電路或者可被該半導(dǎo)體電路訪問的半導(dǎo)體存儲(chǔ)設(shè) 備時(shí),用于驗(yàn)證的驗(yàn)證設(shè)備,所述驗(yàn)證設(shè)備保存與允許被下載的程序所屬層相對(duì)應(yīng)的訪問主密鑰信息, 把所述下載請(qǐng)求傳送給所述半導(dǎo)體電路,和 利用該訪問主密鑰信息產(chǎn)生所述下載簽名信息,并把該下載簽名 信息傳送給所述半導(dǎo)體電路。
52. 按照權(quán)利要求51所述的驗(yàn)證設(shè)備,所述驗(yàn)證設(shè)備 保存所述半導(dǎo)體電路的識(shí)別信息,和利用所述訪問主密鑰信息對(duì)呈明文形式的所述識(shí)別信息加密,從 而產(chǎn)生下栽主密鑰信息,并且使用該下載主密鑰信息產(chǎn)生所述下載簽 名信息。
53. 按照權(quán)利要求52所述的驗(yàn)證設(shè)備,所述驗(yàn)證設(shè)備 保存與允許下栽到所述半導(dǎo)體電路的所述層對(duì)應(yīng)的第一訪問主密鑰信息和與所述層的一個(gè)或多個(gè)更高層對(duì)應(yīng)的一個(gè)或多個(gè)第二訪問主 密鑰信息,并且利用所述第一訪問主密鑰信息和所述一個(gè)或多個(gè)第二訪問主密鑰 信息產(chǎn)生所述下栽簽名信息。
54. 按照權(quán)利要求52所述的驗(yàn)證設(shè)備,所述驗(yàn)證設(shè)備執(zhí)行和所述 半導(dǎo)體電路的相互驗(yàn)證,隨后把所述下載簽名信息傳送給所述半導(dǎo)體 電路。
55. 按照權(quán)利要求54所述的驗(yàn)證設(shè)備,所述驗(yàn)證設(shè)備 保存所述半導(dǎo)體電路的相互驗(yàn)證主密鑰信息和識(shí)別信息,利用所述相互驗(yàn)證主密鑰信息對(duì)呈明文形式的所述識(shí)別信息加 密,產(chǎn)生相互驗(yàn)證密鑰信息,和把所述相互驗(yàn)證密鑰信息用于和所述半導(dǎo)體電路的相互驗(yàn)證。
56. 按照權(quán)利要求52所述的驗(yàn)證設(shè)備,其中當(dāng)檢測(cè)到施加于所述 驗(yàn)證設(shè)備上的物理外力,借助所述外力,所述訪問主密鑰信息可能被 非法起動(dòng)時(shí),所述驗(yàn)證設(shè)備自動(dòng)刪除保存的所述訪問主密鑰信息。
57. —種具有數(shù)據(jù)處理電路和數(shù)據(jù)輸入/輸出處理電路的半導(dǎo)體電 路,其中所述數(shù)據(jù)處理電路通過所述數(shù)據(jù)輸入/輸出處理電路借助于該半 導(dǎo)體電路之外的總線輸入輸出數(shù)據(jù),和 所述數(shù)據(jù)輸入/輸出電路對(duì)以預(yù)定數(shù)據(jù)長(zhǎng)度為單位從所述數(shù)據(jù)處理電路輸入的數(shù)據(jù)加密, 并把加密后的數(shù)據(jù)輸出給所述總線,對(duì)從所述總線輸入的數(shù)椐解密,并把解密后的數(shù)據(jù)輸出給所述數(shù) 據(jù)處理電路,并且當(dāng)Nc/Nb=n時(shí),以m個(gè)數(shù)據(jù)輸入/輸出交易為單位,通過所述總 線執(zhí)行數(shù)據(jù)輸入/輸出交易,這里所述總線的總線寬度為Nb,數(shù)據(jù)長(zhǎng) 度為Nc, n或者更大值(n or more )的最小整數(shù)為m。
58. 按照權(quán)利要求57所述的半導(dǎo)體電路,其中, 所述數(shù)據(jù)輸入/輸出電路,當(dāng)根據(jù)從所述數(shù)據(jù)處理電路輸入的第一地址通過所述總線訪問半 導(dǎo)體存儲(chǔ)電路時(shí),把所述第一地址轉(zhuǎn)換成第二地址,以便以保存Nc的數(shù)據(jù)的存儲(chǔ)區(qū) 為單位訪問所述半導(dǎo)體存儲(chǔ)電路,并且使用所述第二地址訪問所述半導(dǎo)體存儲(chǔ)電路。
59. 按照權(quán)利要求58所述的半導(dǎo)體電路,其中所述數(shù)據(jù)輸入/輸出 電路,當(dāng)所述數(shù)據(jù)處理電路接收把第 一數(shù)據(jù)寫入第 一地址的指令時(shí), 把所述第 一地址轉(zhuǎn)換成所述第二地址,使用所述第二地址從所述半導(dǎo)體存儲(chǔ)電路讀取包括所述第一地址 的預(yù)定地址范圍的數(shù)據(jù),對(duì)所述讀取的數(shù)據(jù)解密,把對(duì)應(yīng)于所述第一地址的數(shù)據(jù)重新寫入所述解密數(shù)據(jù)中, 對(duì)包括所迷重寫數(shù)據(jù)的預(yù)定地址范圍的所述數(shù)據(jù)加密,并且 利用所述第二地址把所述加密數(shù)據(jù)寫入所述半導(dǎo)體存儲(chǔ)電路。
60. 按照權(quán)利要求58所述的半導(dǎo)體電路,其中所述數(shù)據(jù)輸入/輸出 電路,當(dāng)所述數(shù)據(jù)處理電路接收從第一地址讀取數(shù)據(jù)的指令時(shí), 把所述第 一地址轉(zhuǎn)換成所述第二地址,使用所述第二地址從所述半導(dǎo)體存儲(chǔ)電路讀取包括所述第一地址 的預(yù)定地址范圍的數(shù)據(jù),對(duì)所述讀取的數(shù)據(jù)解密,把對(duì)應(yīng)于所述第一地址的數(shù)據(jù)重新寫入所述解密數(shù)據(jù)中,并且 取出所述解密數(shù)據(jù)中與所述第一地址對(duì)應(yīng)的數(shù)據(jù),并將其輸出給 所述數(shù)據(jù)處理電路。
61. 按照權(quán)利要求57所述的半導(dǎo)體電路,其中以當(dāng)對(duì)所述數(shù)據(jù)加 密以便寫入所述半導(dǎo)體存儲(chǔ)電路時(shí)使用的密鑰數(shù)據(jù)和當(dāng)從所述半導(dǎo)體數(shù)據(jù)輸入:輸出電路恰當(dāng)?shù)亟粨Q;于所述加密和解密的i鑰數(shù)據(jù)。、'
62. 按照權(quán)利要求61所述的半導(dǎo)體電路,其中 所述數(shù)據(jù)輸入/輸出電路保存多個(gè)所述密鑰, 所述多個(gè)密鑰被恰當(dāng)?shù)亟粨Q以供使用。
63. 按照權(quán)利要求61所述的半導(dǎo)體電路,其中所述數(shù)據(jù)輸入/輸出電路把訪問所述半導(dǎo)體存儲(chǔ)電路的地址用于計(jì)算,以便產(chǎn)生所述密鑰。
64. 按照權(quán)利要求61所述的半導(dǎo)體電路,其中所述數(shù)據(jù)輸入/輸出 電路根據(jù)要寫入所述半導(dǎo)體存儲(chǔ)電路的數(shù)據(jù)產(chǎn)生奇偶校驗(yàn)數(shù)據(jù),把所 述奇偶校驗(yàn)數(shù)據(jù)寫入和所述數(shù)據(jù)鏈接的所述半導(dǎo)體存儲(chǔ)電路中,和所 述數(shù)據(jù)的讀取一起讀取對(duì)應(yīng)的奇偶校驗(yàn)數(shù)據(jù),并且根據(jù)所述奇偶校驗(yàn) 數(shù)據(jù)驗(yàn)證所述讀取數(shù)據(jù)的合法性。
65. 按照權(quán)利要求57所述的半導(dǎo)體電路,其中所述數(shù)據(jù)輸入/輸出 電路將把數(shù)據(jù)寫入所述半導(dǎo)體存儲(chǔ)電路的處理和從所述半導(dǎo)體存儲(chǔ)電 路讀取數(shù)據(jù)的處理的至少之一劃分成多個(gè)處理,并且以所述劃分后的 處理為單位進(jìn)行流水線處理。
66. 按照權(quán)利要求65所述的半導(dǎo)體電路,其中所述數(shù)據(jù)輸入/輸出 電路對(duì)從所述數(shù)據(jù)處理電路輸入的地址擾頻,從而產(chǎn)生第二地址。
67. —種當(dāng)半導(dǎo)體電路和半導(dǎo)體存儲(chǔ)電路通過總線相連時(shí),當(dāng)訪 問半導(dǎo)體存儲(chǔ)電路時(shí),半導(dǎo)體電路所執(zhí)行的數(shù)據(jù)處理方法,所述數(shù)據(jù)處理方法包括下述步驟對(duì)將以預(yù)定數(shù)據(jù)長(zhǎng)度為單位寫入所述半導(dǎo)體存儲(chǔ)電路的數(shù)據(jù)加 密,并把加密數(shù)據(jù)輸出給所述總線, 對(duì)從所述總線輸入的數(shù)據(jù)解密,和當(dāng)Nc/Nb=n時(shí),以m個(gè)數(shù)據(jù)輸入/輸出交易為單位,通過所述總 線執(zhí)行數(shù)據(jù)輸入/輸出交易,這里所述總線的總線寬度為Nb,所述數(shù) 據(jù)長(zhǎng)度為Nc, n或者更大值(nor more)的最小整數(shù)為m。
68. 按照權(quán)利要求67所述的數(shù)據(jù)處理方法,還包括產(chǎn)生當(dāng)訪問所 述半導(dǎo)體存儲(chǔ)電路時(shí)使用的地址,以便以保存Nc長(zhǎng)度的數(shù)據(jù)的存儲(chǔ) 區(qū)為單位訪問所述半導(dǎo)體存儲(chǔ)電路的步驟。
69. 按照權(quán)利要求68所述的數(shù)據(jù)處理方法,還包括下述步驟 使用所述產(chǎn)生的地址從所述半導(dǎo)體存儲(chǔ)電路讀取預(yù)定地址范圍的數(shù)據(jù),對(duì)所述讀取的數(shù)據(jù)解密, 把必要的數(shù)據(jù)重新寫入所述解密數(shù)據(jù)中,對(duì)包括所述重寫數(shù)據(jù)的預(yù)定地址范圍的所述數(shù)據(jù)加密,和 利用所述產(chǎn)生的地址把所述加密數(shù)據(jù)寫入所述半導(dǎo)體存儲(chǔ)電路。
70. 按照權(quán)利要求68所述的數(shù)據(jù)處理方法,還包括下述步驟 使用所述產(chǎn)生的地址從所述半導(dǎo)體存儲(chǔ)電路讀取預(yù)定地址范圍的數(shù)據(jù),對(duì)所述讀取的數(shù)據(jù)解密,和 取出并處理所述解密數(shù)據(jù)中的必要數(shù)據(jù)。
71. 按照權(quán)利要求67所述的數(shù)據(jù)處理方法,還包括以當(dāng)對(duì)所述數(shù) 據(jù)加密以便寫入所述半導(dǎo)體存儲(chǔ)電路時(shí)使用的密鑰數(shù)據(jù)和當(dāng)從所述半 導(dǎo)體存儲(chǔ)電路讀取并對(duì)所述數(shù)據(jù)解密時(shí)使用的密鑰數(shù)據(jù)相同為條件, 恰當(dāng)?shù)亟粨Q用于所述加密和解密的密鑰數(shù)據(jù)的步驟。
72. 按照權(quán)利要求71所述的數(shù)據(jù)處理方法,還包括下述步驟 保存多個(gè)所述密鑰,和 恰當(dāng)?shù)亟粨Q所述多個(gè)密鑰以供使用。
73. 按照權(quán)利要求71所述的數(shù)據(jù)處理方法,還包括把訪問所述半 導(dǎo)體存儲(chǔ)電路的地址用于計(jì)算,以便產(chǎn)生所述密鑰。
74. 按照權(quán)利要求67所述的數(shù)據(jù)處理方法,還包括從要寫入所述 半導(dǎo)體存儲(chǔ)電路的數(shù)據(jù)產(chǎn)生奇偶校驗(yàn)數(shù)據(jù),把所述奇偶校驗(yàn)數(shù)據(jù)寫入 和所述數(shù)據(jù)鏈接的所述半導(dǎo)體存儲(chǔ)電路中,與所述數(shù)據(jù)的讀取一起讀 取對(duì)應(yīng)的奇偶檢驗(yàn)數(shù)據(jù),并根據(jù)所述奇偶校驗(yàn)數(shù)據(jù)驗(yàn)證所述讀取數(shù)據(jù) 的合法性的步驟。
75. 按照權(quán)利要求67所述的數(shù)據(jù)處理方法,還包括將把數(shù)據(jù)寫入的至少之一劃分成多個(gè)處理,并且以所述劃分后的處理為單位進(jìn)行流 水線處理的步驟。
76. —種數(shù)據(jù)處理設(shè)備,包括保存多個(gè)程序的指令和數(shù)據(jù)的存儲(chǔ)電路,通過傳輸線路訪問所述存儲(chǔ)電路,并使用所述多個(gè)程序的指令和 數(shù)據(jù)執(zhí)行所述多個(gè)程序的計(jì)算電路,介于所述傳輸線路和所述存儲(chǔ)電路之間,根據(jù)控制信號(hào)把所述傳 輸線路和所述存儲(chǔ)電路設(shè)置成連接狀態(tài)和斷開狀態(tài)之一的連接轉(zhuǎn)換電 路,根據(jù)為所述多個(gè)程序中的每個(gè)程序限定當(dāng)計(jì)算電路正在執(zhí)行所述 多個(gè)程序時(shí)所述存儲(chǔ)電路中能夠被訪問的地址范圍的訪問范圍定義數(shù) 據(jù)、所述存儲(chǔ)電路中所述計(jì)算電路對(duì)其發(fā)出訪問請(qǐng)求的地址和說明所息,產(chǎn)生控制把所述傳輸線路和所述存儲(chǔ)電路設(shè)置成連接狀態(tài)和斷開 狀態(tài)之一的控制信號(hào)的連接控制電路,和通過所述傳輸線相對(duì)于所述 計(jì)算電路輸入輸出數(shù)據(jù),并且相對(duì)于該數(shù)據(jù)處理設(shè)備外部輸入輸出數(shù) 據(jù)的輸入/輸出接口電路。
77. 按照權(quán)利要求76所述的數(shù)據(jù)處理設(shè)備,其中當(dāng)所述存儲(chǔ)電路 中所述計(jì)算電路對(duì)其發(fā)出訪問請(qǐng)求的地址在由所述訪問范圍定義數(shù)據(jù) 限定的與正被執(zhí)行的程序?qū)?yīng)的地址范圍之內(nèi)時(shí),連接控制電路產(chǎn)生 指示把所述傳輸線路和所述存儲(chǔ)電路設(shè)置成連接狀態(tài)的所述控制信 號(hào),并且當(dāng)所述地址不在該地址范圍之內(nèi)時(shí),產(chǎn)生指示把所述傳輸線 路和所述存儲(chǔ)電路設(shè)置成斷開狀態(tài)的所述控制信號(hào)。
78. 按照權(quán)利要求76所述的數(shù)據(jù)處理設(shè)備,其中所述連接控制電路根據(jù)以所述訪問范圍定義數(shù)據(jù)為基礎(chǔ)正在執(zhí)行的指令,產(chǎn)生所述控制信號(hào),所述訪問范圍定義數(shù)據(jù)根據(jù)所述計(jì)算電路正在執(zhí)行取出、讀 取和寫入指令中的哪個(gè)指令來定義所述存儲(chǔ)電路中可被訪問的地址范圍。
79. 按照權(quán)利要求76所述的數(shù)據(jù)處理設(shè)備,其中所述連接控制電 路具有保存所述訪問范圍定義數(shù)據(jù)的存儲(chǔ)器。
80. 按照權(quán)利要求76所述的數(shù)據(jù)處理設(shè)備,其中 所述輸入/輸出接口電路相對(duì)于保存在所述數(shù)據(jù)處理設(shè)備之外加密的所述訪問范圍定義數(shù)據(jù)的集成電路傳送數(shù)據(jù),所述計(jì)算電路通過所述傳輸線路和所述通信電路訪問所述集成電 路,和所述連接控制電路保存預(yù)定的密鑰信息,通過所述通信電路和所 述傳輸線路從所述集成電路接收所述加密的訪問范圍定義數(shù)據(jù),利用 所述密鑰信息對(duì)所述接收的訪問范圍定義數(shù)據(jù)解密,并使用所述解密 的訪問范圍定義數(shù)據(jù)產(chǎn)生所述控制信號(hào)。
81. 按照權(quán)利要求80所述的數(shù)據(jù)處理設(shè)備,其中所述連接控制電 路通過所述輸入/輸出接口電路和所述傳輸線路接收已加密的用于進(jìn) 行所述解密的解密程序,對(duì)所述接收的解密程序解密,將其保存在所 述存儲(chǔ)電路中,并使用保存在所述存儲(chǔ)電路中的所述解密程序?qū)λ?訪問范圍定義數(shù)據(jù)解密。
82. 按照權(quán)利要求76所述的數(shù)據(jù)處理設(shè)備,其中當(dāng)所述連接控制 電路把所述傳輸線路和所述存儲(chǔ)電路設(shè)置成斷開狀態(tài)時(shí),所述計(jì)算電 路停止所述計(jì)算電路的操作。
83. 按照權(quán)利要求76所述的數(shù)據(jù)處理設(shè)備,其中當(dāng)正被所述計(jì)算 電路執(zhí)行的所迷程序調(diào)用另 一程序的函數(shù)時(shí),所述連接控制電路根據(jù) 預(yù)先定義調(diào)用者和允許調(diào)用的調(diào)用者的程序的組合的程序間調(diào)用關(guān)系 定義數(shù)據(jù),判斷所述調(diào)用是否被許可,當(dāng)判斷所述調(diào)用被許可時(shí),產(chǎn) 生把所述傳輸線路和所述存儲(chǔ)電路設(shè)置成連接狀態(tài)的所述控制信號(hào), 以及當(dāng)判斷所迷調(diào)用不被許可時(shí),產(chǎn)生把所述傳輸線路和所述存儲(chǔ)電 路設(shè)置成斷開狀態(tài)的所述控制信號(hào)。
84. 按照權(quán)利要求83所述的數(shù)據(jù)處理設(shè)備,其中所述連接控制電 路根據(jù)以所述程序間調(diào)用關(guān)系定義數(shù)據(jù)為基礎(chǔ)正在執(zhí)行的指令,產(chǎn)生 所述控制信號(hào),所述程序間調(diào)用關(guān)系定義數(shù)據(jù)根據(jù)所述計(jì)算電路正在 執(zhí)行取出、讀取和寫入指令中的哪個(gè)指令來定義程序的組合。
85. 按照權(quán)利要求83所述的數(shù)據(jù)處理設(shè)備,其中所述連接控制電 路具有保存所述程序間調(diào)用關(guān)系定義數(shù)據(jù)的存儲(chǔ)器。
86. 按照權(quán)利要求83所述的數(shù)據(jù)處理設(shè)備,其中 所述輸入/輸出接口電路相對(duì)于保存在所述數(shù)據(jù)處理設(shè)備之外加密的所述程序間調(diào)用關(guān)系定義數(shù)據(jù)的集成電路傳送數(shù)據(jù),所述計(jì)算電路通過所述傳輸線路和所述通信電路訪問所述集成電路,和所述連接控制電路保存預(yù)定的密鑰信息,通過所述通信電路和所 述傳輸線路從所述集成電路接收所述加密的程序間調(diào)用關(guān)系定義數(shù) 據(jù),利用所述密鑰信息對(duì)所述接收的程序間調(diào)用關(guān)系定義數(shù)據(jù)解密, 并使用所述解密的程序間調(diào)用關(guān)系定義數(shù)據(jù)產(chǎn)生所述控制信號(hào)。
87. 按照權(quán)利要求86所述的數(shù)據(jù)處理設(shè)備,其中所述連接控制電 路通過所述輸入/輸出接口電路和所述傳輸線路接收已加密的用于進(jìn) 行所述解密的解密程序,對(duì)所述接收的解密程序解密,將其保存在所 述存儲(chǔ)電路中,并使用保存在所述存儲(chǔ)電路中的所述解密程序?qū)λ?程序間調(diào)用關(guān)系定義數(shù)據(jù)解密。
88. —種執(zhí)行程序的半導(dǎo)體電路, 所述半導(dǎo)體電路包括 第一傳輸線路,保存執(zhí)行所述程序的指令或數(shù)據(jù)的存儲(chǔ)電路,根據(jù)通過所述笫一傳輸線路從所述存儲(chǔ)電路讀取的所述指令操作 的計(jì)算電路,根據(jù)第一控制信號(hào)把所述第一傳輸線路和所述存儲(chǔ)電路設(shè)置成連 接狀態(tài)和斷開狀態(tài)之一的第一連接轉(zhuǎn)換電路,根據(jù)第二控制信號(hào)把該半導(dǎo)體電路之外的第二傳輸線路和所述第 一傳輸線路設(shè)置成連接狀態(tài)和斷開狀態(tài)之一的第二連接轉(zhuǎn)換電路,和當(dāng)把指示連接的所述第一控制信號(hào)輸出給所述第一連接轉(zhuǎn)換電路 時(shí),向所述第二連接轉(zhuǎn)換電路輸出指示斷開的所述第二控制信號(hào),當(dāng) 把指示斷開的所述第一控制信號(hào)輸出給所述第一連接轉(zhuǎn)換電路時(shí),向 所述第二連接轉(zhuǎn)換電路輸出指示連接的所述第二控制信號(hào)的連接控制 電路。
89. 按照權(quán)利要求88所述的半導(dǎo)體電路,其中所述第二連接轉(zhuǎn)換 電路通過所述第二傳輸線路與位于所述半導(dǎo)體電路之外的存儲(chǔ)設(shè)備相 連。
90. 按照權(quán)利要求88所述的半導(dǎo)體電路,其中,當(dāng)所述計(jì)算電路從所述存儲(chǔ)電路讀取指令時(shí),所述連接控制電路把指示連接的所述第 一控制信號(hào)輸出給所述第 一連接轉(zhuǎn)換電路,并把指示斷開的所述第二控制信號(hào)輸出給所述第二 連接轉(zhuǎn)換電路。
91. 按照權(quán)利要求90所述的半導(dǎo)體電路,其中 所述計(jì)算電路把顯示要執(zhí)行指令的類型的信號(hào)輸出給第三傳輸線路,把將被所述指令訪問的存儲(chǔ)區(qū)的地址輸出給第四傳輸線路,并且 所述連接控制電路監(jiān)視所述笫三傳輸線路和所述第四傳輸線路,并且當(dāng)判斷所述計(jì) 算電路正在執(zhí)行取出指令和訪問所述存儲(chǔ)電路時(shí),把指示連接的所述第一控制信號(hào)輸出給所述第一連接轉(zhuǎn)換電路, 并把指示斷開的所迷第二控制信號(hào)輸出給所述第二連接轉(zhuǎn)換電路。
92. 按照權(quán)利要求88所述的半導(dǎo)體電路,其中, 所述存儲(chǔ)電路保存用于執(zhí)行所述程序并且保存多個(gè)指令的多個(gè)功能模塊,所述多個(gè)指令包括置于它們頭部的斷開釋放指令和置于它們 尾部的斷開開始指令,當(dāng)所述計(jì)算電路執(zhí)行斷開釋放指令時(shí),所述連接控制電路把指示 連接的所述第一控制信號(hào)輸出給所述第一連接轉(zhuǎn)換電路,并且當(dāng)所述 計(jì)算電路執(zhí)行斷開開始指令時(shí),把指示斷開的所述第一控制信號(hào)輸出 給所述第一連接轉(zhuǎn)換電路。
93. 按照權(quán)利要求92所述的半導(dǎo)體電路,其中在執(zhí)行所述斷開釋 放指令之后,所述連接控制電路把所述笫一控制信號(hào)輸出給所述笫一 連接轉(zhuǎn)換電路,以便把所述第一傳輸線路和所述存儲(chǔ)電路持續(xù)地設(shè)置 成連接狀態(tài),直到所述計(jì)算電路下次執(zhí)行斷開開始指令。
94. 按照權(quán)利要求88所述的半導(dǎo)體電路,還包括 與向所述計(jì)算電路發(fā)出所述計(jì)算電路的內(nèi)部狀態(tài)的讀取請(qǐng)求、所述內(nèi)部狀態(tài)的重寫請(qǐng)求和所述計(jì)算電路的操作停止請(qǐng)求中至少之一的 外部設(shè)備相連,并且根據(jù)第三控制信號(hào)確定是否輸出所述讀取請(qǐng)求、 所述重寫請(qǐng)求和所述操作停止請(qǐng)求的第三連接轉(zhuǎn)換電路,并且當(dāng)把指示連接的所述第一控制信號(hào)輸出給所述第一連接轉(zhuǎn)換電路 時(shí),所述連接控制電路把指示不向所述計(jì)算電路輸出所述讀取請(qǐng)求、 所述重寫請(qǐng)求和所述操作停止請(qǐng)求的所述第三控制信號(hào)輸出給所述第 三連接轉(zhuǎn)換電路,當(dāng)把指示斷開的所述笫一控制信號(hào)輸出給所述第一 連接轉(zhuǎn)換電路時(shí),把指示向所述計(jì)算電路輸出所述讀取請(qǐng)求、所述重 寫請(qǐng)求和所述操作停止請(qǐng)求的所述第三控制信號(hào)輸出給所述第三連接 轉(zhuǎn)換電路。
95. —種執(zhí)行程序的半導(dǎo)體電路, 所述半導(dǎo)體電路包括保存所述程序的加密指令或數(shù)據(jù),對(duì)將通過該半導(dǎo)體電路之外的 第一傳輸線路輸出給存儲(chǔ)設(shè)備的數(shù)據(jù)加密,并對(duì)通過所述第一傳輸線 路從所述存儲(chǔ)設(shè)備輸入的加密指令或數(shù)據(jù)解密的加密/解密電路,利用所述解密指令或數(shù)據(jù)進(jìn)行計(jì)算的計(jì)算電路,根據(jù)控制信號(hào)選擇是否許可位于所述半導(dǎo)體電路之外的第二傳輸 線路和所述計(jì)算電路之間的通信的選擇電路,和當(dāng)所述計(jì)算電路正在利用所述程序的指令或數(shù)據(jù)進(jìn)行處理時(shí),向 所述選擇電路輸出指示不允許所述第二傳輸線路和所述計(jì)算電路之間 通信的所述控制信號(hào)的控制電路。
96. 按照權(quán)利要求95所述的半導(dǎo)體電路,其中所述選擇電路是與 所述笫二傳輸線路相連的外部設(shè)備,并且介于向所述計(jì)算電路發(fā)出所 述計(jì)算電路的內(nèi)部狀態(tài)的讀取請(qǐng)求、所述內(nèi)部狀態(tài)的重寫請(qǐng)求及操作 停止請(qǐng)求中至少之一 的外部設(shè)備和所述計(jì)算電路之間。
97. 按照權(quán)利要求95所述的半導(dǎo)體電路,其中所述加密/解密電路 利用預(yù)定的密鑰信息對(duì)形成所述程序的功能模塊加密,產(chǎn)生指定用于 借助明文對(duì)所述功能模塊加密的密鑰信息的密鑰指定信息,并且把所 述密鑰指定信息輸出給與所述加密的功能模塊鏈接的所述存儲(chǔ)設(shè)備。
98. 按照權(quán)利要求95所述的半導(dǎo)體電路,其中所述加密/解密電路 保存用于所述加密的多個(gè)密鑰信息,并且使用根據(jù)從所述存儲(chǔ)設(shè)備輸 入的所述密鑰指定信息指定的密鑰信息對(duì)通過所述第二傳輸線路從所述存儲(chǔ)設(shè)備輸入的所述功能^f莫塊解密。
99. 按照權(quán)利要求97所述的半導(dǎo)體電路,其中所迷加密/解密電路 以預(yù)定數(shù)據(jù)長(zhǎng)度的數(shù)據(jù)塊為單位,對(duì)所述功能模塊加密和解密。
100. 按照權(quán)利要求99所述的半導(dǎo)體電路,其中當(dāng)對(duì)所述功能模 塊加密時(shí),所述加密/解密電路以所述數(shù)據(jù)塊為單位產(chǎn)生奇偶校驗(yàn)信 息,并把所述奇偶校驗(yàn)數(shù)據(jù)保存在與所述數(shù)據(jù)塊鏈接的所述存儲(chǔ)設(shè)備 中。
101. 按照權(quán)利要求100所述的半導(dǎo)體電路,其中所述加密/解密電 路產(chǎn)生所述奇偶校驗(yàn)數(shù)據(jù),以致所述數(shù)據(jù)塊與奇偶校驗(yàn)數(shù)據(jù)的數(shù)值的 總和為預(yù)定的數(shù)值。
102. 按照權(quán)利要求100所述的半導(dǎo)體電路,其中所述加密/解密電 路對(duì)通過所述第一傳輸線路從所述存儲(chǔ)設(shè)備輸入的數(shù)據(jù)塊解密,隨后 判斷對(duì)應(yīng)于該數(shù)據(jù)塊的奇偶校驗(yàn)數(shù)據(jù)的合法性,當(dāng)判斷該奇偶校驗(yàn)數(shù) 據(jù)不合法時(shí),停止所述計(jì)算電路的操作或者執(zhí)行預(yù)定的錯(cuò)誤處理。
103. 按照權(quán)利要求97所述的半導(dǎo)體電路,其中所述數(shù)據(jù)塊的數(shù) 據(jù)長(zhǎng)度和所述功能模塊的數(shù)據(jù)長(zhǎng)度相同。
104. —種數(shù)據(jù)處理設(shè)備,包括在預(yù)定的存儲(chǔ)區(qū)中保存均由多個(gè)數(shù)據(jù)模塊構(gòu)成的多個(gè)應(yīng)用程序, 以及保存管理數(shù)據(jù)的存儲(chǔ)電路,所述多個(gè)數(shù)據(jù)模塊包括描述與集成電 路通信從而提供服務(wù)的處理例程的處理例程數(shù)據(jù),所述管理數(shù)據(jù)表示 鏈接在一起的數(shù)據(jù)模塊、用于在根據(jù)該數(shù)據(jù)模塊的處理中使用另 一數(shù) 據(jù)模塊的第一密鑰數(shù)據(jù)和用于在根據(jù)該數(shù)據(jù)模塊的處理中相對(duì)于所述 集成電路傳送數(shù)據(jù)的第二密鑰數(shù)據(jù),和根據(jù)數(shù)據(jù)模塊執(zhí)行與服務(wù)相關(guān)的處理,在該處理中查看所述管理 數(shù)據(jù),利用對(duì)應(yīng)于該數(shù)據(jù)模塊的所述第一密鑰數(shù)據(jù)使用另一數(shù)據(jù)模塊, 并且利用對(duì)應(yīng)于該數(shù)據(jù)模塊的所述第二密鑰數(shù)據(jù)相對(duì)于所述集成電路 傳送數(shù)據(jù)的半導(dǎo)體電路。
105. 按照權(quán)利要求104所述的數(shù)據(jù)處理設(shè)備,其中所述存儲(chǔ)電路 以數(shù)據(jù)模塊的形式保存利用所述數(shù)據(jù)模塊執(zhí)行的處理的日志數(shù)據(jù)、顯示把所述數(shù)據(jù)模塊記錄到存儲(chǔ)區(qū)中的例程的程序數(shù)據(jù)、顯示從所述存 儲(chǔ)區(qū)刪除所述數(shù)據(jù)模塊的記錄的例程的程序數(shù)據(jù)和顯示限定用于保存 所述應(yīng)用程序的所述存儲(chǔ)區(qū)的例程的程序數(shù)據(jù)的至少之一。
106. 按照權(quán)利要求104所述的數(shù)據(jù)處理設(shè)備,其中當(dāng)半導(dǎo)體電路 將執(zhí)行根據(jù)另 一數(shù)據(jù)模塊的處理時(shí),所述半導(dǎo)體電路使用所述管理數(shù) 據(jù)獲得對(duì)應(yīng)于所述預(yù)定數(shù)據(jù)模塊的第一密鑰數(shù)據(jù)和對(duì)應(yīng)于所述另一數(shù) 據(jù)模塊的所述第一密鑰數(shù)據(jù),并且以獲得的兩個(gè)第一密鑰數(shù)據(jù)相符為 條件,從正被執(zhí)行的所述預(yù)定數(shù)據(jù)模塊使用所述另 一數(shù)據(jù)模塊。
107. 按照權(quán)利要求106所述的數(shù)據(jù)處理設(shè)備,其中 所述存儲(chǔ)電路保存各個(gè)所述數(shù)據(jù)模塊的應(yīng)用許可數(shù)據(jù),所述應(yīng)用許可數(shù)據(jù)表示數(shù)據(jù)模塊的應(yīng)用許可方式,并且當(dāng)所述兩個(gè)第一密鑰數(shù)據(jù)相符時(shí),所述半導(dǎo)體電路根據(jù)所述應(yīng)用 許可數(shù)據(jù)以與所述另 一數(shù)據(jù)模塊對(duì)應(yīng)的所述應(yīng)用許可數(shù)據(jù)許可的方式 使用另一數(shù)據(jù)模塊。
108. 按照權(quán)利要求104所述的數(shù)據(jù)處理設(shè)備,其中當(dāng)另一半導(dǎo)體 電路正在執(zhí)行根據(jù)另 一數(shù)據(jù)模塊的處理時(shí),所述半導(dǎo)體電路4吏用所述 管理數(shù)據(jù)獲得與所述預(yù)定數(shù)據(jù)模塊對(duì)應(yīng)的所述第 一密鑰數(shù)據(jù),使用所 述第一密鑰數(shù)據(jù)進(jìn)行與所述另一半導(dǎo)體電路的相互驗(yàn)證,并且以相互 的合法性得到證實(shí)為條件,從正被執(zhí)行的所述預(yù)定數(shù)據(jù)模塊使用所述 另一數(shù)據(jù)模塊。
109. 按照權(quán)利要求108所述的數(shù)據(jù)處理設(shè)備,其中當(dāng)所述相互合 法性被證實(shí)時(shí),所述半導(dǎo)體電路根據(jù)應(yīng)用許可數(shù)據(jù)以所述應(yīng)用許可數(shù) 據(jù)許可的方式使用所述另一數(shù)據(jù)模塊,應(yīng)用許可數(shù)據(jù)指示許可使用所 述另一數(shù)據(jù)模塊的方式。
110. 按照權(quán)利要求104所述的數(shù)據(jù)處理設(shè)備,其中所述第一密鑰 數(shù)據(jù)被定義為對(duì)于形成相同應(yīng)用程序的數(shù)據(jù)模塊來說所述第 一 密鑰數(shù) 據(jù)相同。
111. 按照權(quán)利要求104所述的數(shù)據(jù)處理設(shè)備,其中所述存儲(chǔ)電路 保存利用唯一分配給所述應(yīng)用程序的密鑰數(shù)據(jù)加密的所述應(yīng)用程序。
112.按照權(quán)利要求104所述的數(shù)據(jù)處理設(shè)備,其中所述半導(dǎo)體電路:根據(jù)所述數(shù)據(jù)模塊數(shù)據(jù)產(chǎn)生包括作業(yè)執(zhí)行順序數(shù)據(jù)和狀態(tài)數(shù)據(jù)的 作業(yè)管理數(shù)據(jù),所述作業(yè)執(zhí)行順序數(shù)據(jù)表示形成所述應(yīng)用程序的處理 的多個(gè)作業(yè)的執(zhí)行順序,所述狀態(tài)數(shù)據(jù)表示所述多個(gè)作業(yè)的執(zhí)行進(jìn)程 的狀態(tài),下一步要執(zhí)行的作業(yè),執(zhí)行選擇的所述作業(yè),并且根據(jù)所述作業(yè)的執(zhí)行,更新選擇的所述作業(yè)管理數(shù)據(jù)的所述狀態(tài) 數(shù)據(jù)。
113.按照權(quán)利要求112所述的數(shù)據(jù)處理設(shè)備,其中所述半導(dǎo)體電路模板數(shù)據(jù),并且利用所述模板數(shù)據(jù),根據(jù)處理請(qǐng)求產(chǎn)生所述作業(yè)管理數(shù)據(jù)。
114, 按照權(quán)利要求113所述的數(shù)據(jù)處理設(shè)備,其中所述半導(dǎo)體電路為多個(gè)處理請(qǐng)求中的每個(gè)處理請(qǐng)求產(chǎn)生所述作業(yè)管理數(shù)據(jù), 從所述多個(gè)數(shù)據(jù)模塊中選擇一個(gè)作業(yè)管理數(shù)據(jù), 根據(jù)選擇的所述作業(yè)管理數(shù)據(jù)的所述狀態(tài)數(shù)據(jù)和所述處理順序數(shù) 據(jù),選擇下一步要執(zhí)行的作業(yè), 執(zhí)行選擇的所述作業(yè),根據(jù)所述作業(yè)的執(zhí)行,更新所述選擇的作業(yè)管理數(shù)據(jù)的所述狀態(tài) 數(shù)據(jù),和在所述更新之后,從所述多個(gè)數(shù)據(jù)模塊中選擇一個(gè)作業(yè)管理數(shù)據(jù)。
115. 按照權(quán)利要求114所述的數(shù)據(jù)處理設(shè)備,其中當(dāng)根據(jù)處理請(qǐng) 求完成的形成處理的所有作業(yè)被執(zhí)行時(shí),所述半導(dǎo)體電路刪除所迷作 業(yè)管理數(shù)據(jù)。
116. —種數(shù)據(jù)處理方法,借助該數(shù)據(jù)處理方法,與集成電路通信, 所述數(shù)據(jù)處理方法包括下述步驟當(dāng)所述存儲(chǔ)電路在預(yù)定存儲(chǔ)區(qū)中保存均由包括描述用于與集成電 路通信從而提供服務(wù)的處理例程的處理例程數(shù)據(jù)在內(nèi)的多個(gè)數(shù)據(jù)模塊 組成的多個(gè)應(yīng)用程序,以及保存顯示鏈接在一起的數(shù)據(jù)模塊、用于在 根據(jù)該數(shù)據(jù)模塊的處理中使用另一數(shù)據(jù)模塊的第一密鑰數(shù)據(jù)、和用于 在根據(jù)該數(shù)據(jù)模塊的處理中相對(duì)于所述集成電路傳送數(shù)據(jù)的第二密鑰 數(shù)據(jù)的管理數(shù)據(jù)時(shí),所述半導(dǎo)體電路根據(jù)所述數(shù)據(jù)模塊執(zhí)行與服務(wù)相關(guān)的處理, 所述半導(dǎo)體電路在與所述服務(wù)相關(guān)的處理中查看所述管理數(shù)據(jù), 并利用對(duì)應(yīng)于一個(gè)數(shù)據(jù)模塊的所述第一密鑰數(shù)據(jù)使用另一數(shù)據(jù)模塊, 和模塊的所述第二密鑰數(shù)據(jù)相對(duì)于所述集成電路傳送數(shù)據(jù)。
117. 按照權(quán)利要求116所述的數(shù)據(jù)處理方法,還包括當(dāng)所述半導(dǎo) 體電路將執(zhí)行根據(jù)所述另一數(shù)據(jù)模塊的處理時(shí),所述半導(dǎo)體電路使用 所述管理數(shù)據(jù)獲得對(duì)應(yīng)于所述預(yù)定數(shù)據(jù)模塊的第一密鑰數(shù)據(jù)和對(duì)應(yīng)于 所述另一數(shù)據(jù)模塊的所述第一密鑰數(shù)據(jù),并且以所述兩個(gè)第一密鑰數(shù) 據(jù)相符為條件,從正被執(zhí)行的所述預(yù)定數(shù)據(jù)模塊使用所述另 一數(shù)據(jù)模 塊的步驟。
118. 按照權(quán)利要求116所述的數(shù)據(jù)處理方法,還包括下述步驟 當(dāng)所述存儲(chǔ)電路保存各個(gè)所述數(shù)據(jù)模塊的表示數(shù)據(jù)模塊的應(yīng)用許可方式的應(yīng)用許可數(shù)據(jù)時(shí),當(dāng)所述兩個(gè)第一密鑰數(shù)據(jù)相符時(shí),所述半導(dǎo)體電路根據(jù)所述應(yīng)用 許可數(shù)據(jù)以與所述另 一數(shù)據(jù)模塊對(duì)應(yīng)的所述應(yīng)用許可數(shù)據(jù)許可的方式 使用另一數(shù)據(jù)模塊。
119. 按照權(quán)利要求116所述的數(shù)據(jù)處理方法,還包括當(dāng)另一半導(dǎo) 體電路正在執(zhí)行根據(jù)另 一數(shù)據(jù)模塊的處理時(shí),所述半導(dǎo)體電路使用所述管理數(shù)據(jù)獲得與所述預(yù)定數(shù)據(jù)模塊對(duì)應(yīng)的所述第一密鑰數(shù)據(jù),使用 所述第一密鑰數(shù)據(jù)進(jìn)行與所述另一半導(dǎo)體電路的相互驗(yàn)證,并且以相 互合法性得到證實(shí)為條件,從正被執(zhí)行的所述預(yù)定數(shù)椐模塊使用所述 另一數(shù)據(jù)模塊的步驟。
120. 按照權(quán)利要求119所述的數(shù)據(jù)處理方法,還包括當(dāng)所述相互 合法性被證實(shí)時(shí),所述半導(dǎo)體電路根據(jù)應(yīng)用許可數(shù)據(jù)以所述應(yīng)用許可 數(shù)據(jù)許可的方式使用所述另 一數(shù)據(jù)模塊的步驟,應(yīng)用許可數(shù)據(jù)指示許 可使用所述另 一數(shù)據(jù)模塊的方式。
121. 按照權(quán)利要求116所述的數(shù)據(jù)處理方法,其中所述第一密鑰 數(shù)據(jù)被定義為對(duì)于形成相同應(yīng)用程序的數(shù)據(jù)模塊來說所述第一密鑰數(shù) 據(jù)相同。
122. 按照權(quán)利要求116所述的數(shù)據(jù)處理方法,還包括下述步驟 所述半導(dǎo)體電路根據(jù)所述數(shù)據(jù)模塊數(shù)據(jù)產(chǎn)生包括作業(yè)執(zhí)行順序數(shù)據(jù)和狀態(tài)數(shù)據(jù)的作業(yè)管理數(shù)據(jù),所述作業(yè)執(zhí)行順序數(shù)據(jù)表示形成所述 應(yīng)用程序的處理的多個(gè)作業(yè)的執(zhí)行順序,所述狀態(tài)數(shù)據(jù)表示所述多個(gè) 作業(yè)的執(zhí)行進(jìn)程的狀態(tài),理順序數(shù)據(jù)選擇下一步要執(zhí)行的作業(yè),所述半導(dǎo)體電路執(zhí)行選擇的所述作業(yè),并且所述半導(dǎo)體電路根據(jù)所述作業(yè)的執(zhí)行,更新選擇的所述作業(yè)管理 數(shù)據(jù)的所述狀態(tài)數(shù)據(jù)。
123. 按照權(quán)利要求122所述的數(shù)據(jù)處理方法,還包括下述步驟 所述半導(dǎo)體電路使用所述處理順序數(shù)據(jù)和所述管理數(shù)據(jù)產(chǎn)生所述作業(yè)管理數(shù)據(jù)的模板數(shù)據(jù),和所述半導(dǎo)體電路利用所述模板數(shù)據(jù),根據(jù)處理請(qǐng)求產(chǎn)生所述作業(yè) 管理數(shù)據(jù)。
124. 按照權(quán)利要求123所述的數(shù)據(jù)處理方法,還包括下述步驟管理數(shù)據(jù),所述半導(dǎo)體電路從所述多個(gè)數(shù)據(jù)碎莫塊中選擇一個(gè)作業(yè)管理數(shù)據(jù),所述半導(dǎo)體電路根據(jù)選擇的所述作業(yè)管理數(shù)據(jù)的所述狀態(tài)數(shù)據(jù)和 所述處理順序數(shù)據(jù),選擇下一步要執(zhí)行的作業(yè), 所述半導(dǎo)體電路執(zhí)行選擇的所述作業(yè),所述半導(dǎo)體電路根據(jù)所述作業(yè)的執(zhí)行,更新所述選擇的作業(yè)管理數(shù)據(jù)的所述狀態(tài)數(shù)據(jù),和在所述更新之后,所述半導(dǎo)體電路從所述多個(gè)數(shù)據(jù)模塊中選擇一 個(gè)作業(yè)管理數(shù)據(jù)。
125.按照權(quán)利要求124所述的數(shù)據(jù)處理方法,還包括當(dāng)根據(jù)處理 請(qǐng)求完成的形成處理的所有作業(yè)被執(zhí)行時(shí),所述半導(dǎo)體電路刪除所述 作業(yè)管理數(shù)據(jù)的步驟。
全文摘要
本發(fā)明涉及數(shù)據(jù)處理方法及其設(shè)備。由執(zhí)行應(yīng)用程序的半導(dǎo)體電路完成的數(shù)據(jù)處理方法包括下述步驟利用多個(gè)防火墻中事先分配給形成所述應(yīng)用程序的多個(gè)程序模塊中的各個(gè)程序模塊的防火墻保護(hù)該程序模塊;記錄與識(shí)別分配給程序模塊的防火墻的防火墻識(shí)別信息鏈接的程序模塊;并且以正在進(jìn)行所述記錄為條件,執(zhí)行所述程序模塊。
文檔編號(hào)G09C1/00GK101526982SQ200910004389
公開日2009年9月9日 申請(qǐng)日期2002年2月15日 優(yōu)先權(quán)日2001年2月16日
發(fā)明者久保野文夫, 末吉正弘, 館野啟 申請(qǐng)人:索尼株式會(huì)社