專利名稱:數(shù)據(jù)處理方法及其設備的制作方法
技術領域:
本發(fā)明涉及在利用嵌入卡或移動終端設備中的IC (集成電路)通 過網(wǎng)絡進行交換情況下有用的數(shù)據(jù)處理方法、其設備、其程序、半導 體電路和身份驗證設備。
背景技術:
目前,正在開發(fā)把IC卡等用于通過因特網(wǎng)及其它網(wǎng)絡的交易的通 信系統(tǒng)。
在這種通信系統(tǒng)中,服務器從IC卡的閱讀器/記錄器或者PC (個 人計算機)接收使用IC卡的處理請求,并進行用戶身份驗證、數(shù)據(jù)加 密和解密,以及其它處理。
但是,就上面說明的通信系統(tǒng)而言,設想同時或者在短時間內接 收關于大量IC卡的處理請求的情況。
這種情況下,服務器必須能夠有效地處理這樣的處理請求。
此外,服務器有時執(zhí)行處理與若干結算業(yè)務相關的手續(xù)的若千應 用程序,并且通過根據(jù)處理請求,利用選擇的應用程序進行處理。這 樣的處理請求也必須被有效處理。
此外,在上面說明的通信系統(tǒng)中,服務器執(zhí)行的應用程序必須說 明使用密匙信息訪問IC卡的代碼和操作IC卡的操作命令。這里,如 果要求使用IC卡的交易的安全性,則密匙信息和操作命令只可被服務 器的管理人員知道。
于是,在過去,服務器的管理人員來自上述服務提供者的請求,產(chǎn)生并定制應用程序。
但是,在服務器的管理人員以這種方式產(chǎn)生并定制應用程序的情 況下,存在管理人員的負擔變重的問題。
此外,在上面說明的服務器中,運行若千信用卡公司或其他企業(yè) 的應用程序。這種應用程序由單個的企業(yè)產(chǎn)生,并且通過利用個人計 算機等被下栽到服務器。
但是,如上所述,當上述服務器運行若干企業(yè)的應用程序時,必 須確保各個應用程序的處理不受另一應用程序監(jiān)視或者干擾。
另一方面,需要在應用程序之間傳送數(shù)據(jù)的時候,提供各種各樣 的服務。
此外,單個的企業(yè)把他們的應用程序下栽到服務器上,隨后根據(jù) 需要調試這些應用程序。
但是,當各企業(yè)以這種方式把應用程序下載到服務器,并調試這 些應用程序時,必須防止服務器中的程序受到非法干擾。
實現(xiàn)這一點的一種技術是當訪問服務器時使用密匙信息的身份驗 證處理技術。但是通常這種密匙信息保存在終端設備(個人計算機) 的存儲器中,因此存在非法使用的可能,并且存在安全問題。
此外,形成上述服務器的LSI具有內置CPU。 CPU有時訪問位于 LSI芯片之外的存儲器。
這種情況下,數(shù)據(jù)流過設置在LSI芯片和外部存儲器之間的總線, 從而通過探測總線可檢查數(shù)據(jù)。
但是,當上述服務器執(zhí)行電子商務交易、個人身份驗證和其他高 度機密的處理時,如上所述,如果數(shù)據(jù)被探測,則存在安全方面的問 題。
此外,上面說明的服務器有時由單個計算機構成。 這種情況下,單個計算機運行和由不同企業(yè)提供的若千服務相關 的若干程序。當這些服務處理高度機密的數(shù)據(jù),例如和結算相關的數(shù) 據(jù)時,存在各個企業(yè)擁有的高度機密數(shù)據(jù)被另一企業(yè)非法獲取或者竄 改的可能性。此外,當把常規(guī)的計算機用作如上所述的計算機時,存在下述問題。
圖133表示普通計算機601的基本結構。
在圖133中所示的計算機601中,CPU 602利用從存儲器6O3讀 取的指令和數(shù)據(jù)進行處理。
CPU 602把存儲器603中的訪問地址輸出給地址總線604。 此外,CPU 602根椐控制信號S602對存儲器603進行讀寫操作。 保存在存儲器603中的模塊A、模塊B和模塊C是程序的具有特
殊函數(shù)的處理單元。
在開發(fā)程序的時候,調試程序605檢查CPU 602的操作。它使用
HLAT信號臨時中斷CPU602的操作,讀取CPU602的內部信息,并
把該信息通知程序開發(fā)人員。
這里,在圖133中,假定模塊A具有由模塊B或模塊C使用的基
本函數(shù)。
這里,假定包含在模塊A中的基本函數(shù)的例程高度機密。這種情 況下,由于模塊A是基本函數(shù),它必須提供使模塊B或模塊C的開發(fā) 人員能夠開發(fā)其程序的環(huán)境。實現(xiàn)此目的的一種方式是分布函數(shù)庫的 方法。
這是以介于高級語言和機器語言(通常稱為"匯編語言")之間 的中級語言表迷的,但是分析相當容易。程序的要求保密的處理例程 最后很可能被知道。
此外,另一種方式是預先把基本模塊(本例中為模塊A)保存在 存儲器603中,而不是將其用作函數(shù)庫,開發(fā)人員在假定基本模塊存 在于特定位置的情況下開發(fā)軟件。
但是,即使利用這種方法,仍然存在模塊B和C的開發(fā)人員難以 讀取保存在存儲器603中的模塊A的問題。此時,讀取的內容是用 CPU 602執(zhí)行的機器語言表迷的,但是存在把這種機器語言轉換成匯 編語言的工具。能夠相當容易地分析例程。
此外,在開發(fā)人員開發(fā)程序的階段,在模塊A的執(zhí)行過程中,模塊B和C的開發(fā)人員可臨時暫停CPU 602的執(zhí)行,以便了解模塊A 的所處理數(shù)據(jù)或模塊A的內容,從而了解模塊A的程序的整個處理例 程。
另外,運行于上述服務器上的應用程序處理密鑰數(shù)據(jù)、收費數(shù)據(jù)、 日志數(shù)據(jù)以及服務提供者設置的其它高安全性數(shù)據(jù),因此需要保護這 些數(shù)據(jù)免受非法竄改或監(jiān)視。
本發(fā)明的第一目的是提供一種能夠根據(jù)大量的處理請求,有效地 進行處理的數(shù)據(jù)處理方法、半導體電路和程序。
本發(fā)明的第二目的是提供一種數(shù)據(jù)處理方法、半導體電路和程序, 在不允許用戶獲悉高度機密信息的情況下,使用戶能夠產(chǎn)生和定制將 由服務器執(zhí)行的用戶的應用程序。
本發(fā)明的第三目的是提供一種數(shù)據(jù)處理方法、半導體電路和程序, 當相同的半導體電路運行若干應用程序時,能夠防止各個單獨的應用 程序受到另一應用程序的影響。
本發(fā)明的第四目的是提供一種數(shù)據(jù)處理方法、半導體電路和程序, 當相同的半導體電路運行若干應用程序時,在防止各個應用程序受到 另一應用程序的用戶的非法竄改、監(jiān)視等的同時,允許根據(jù)需要在應 用程序之間傳送數(shù)據(jù)。
本發(fā)明的第五目的是提供一種數(shù)據(jù)處理方法、半導體電路、驗證 設備和程序,能夠根據(jù)服務器或者其它半導體電路的權限,限制對于
服務器或者其它半導體電路的訪問的內容。
本發(fā)明的第六目的是提供一種半導體電路和數(shù)據(jù)處理方法,即使 通過外部總線在半導體電路和半導體存儲電路之間傳送高度機密的數(shù) 據(jù)時,也能夠保持數(shù)據(jù)的機密性。
本發(fā)明的第七目的是提供一種當執(zhí)行若千程序時,能夠在程序之 間保持指令和數(shù)據(jù)的機密性的數(shù)據(jù)處理設備。
本發(fā)明的第八目的是提供一種能夠提高要執(zhí)行的程序的機密性的 半導體電路。
本發(fā)明的笫九目的是提供一種數(shù)據(jù)處理設備、其方法及其程序,當提供利用IC或者其它集成電路的服務時,能夠提高在服務器上運行
的應用程序的安全性。
發(fā)明內容
為了實現(xiàn)上述目的,本發(fā)明第一方面的數(shù)據(jù)處理方法是根據(jù)若干
處理請求,由半導體電路執(zhí)行的一種數(shù)據(jù)處理方法,包括下述步驟 為若千處理請求中的每個處理請求產(chǎn)生作業(yè)管理數(shù)據(jù),所述作業(yè)管理 數(shù)據(jù)包括作業(yè)執(zhí)行順序數(shù)據(jù)和狀態(tài)數(shù)據(jù),所述作業(yè)執(zhí)行順序數(shù)據(jù)表示 根據(jù)處理請求形成處理的若干作業(yè)的執(zhí)行順序,所述狀態(tài)數(shù)據(jù)表示所 述若干作業(yè)的執(zhí)行進程的狀態(tài),根據(jù)預定的規(guī)則,從產(chǎn)生的若干作業(yè) 管理數(shù)據(jù)中選擇一個作業(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ù)處理方法中,首先,半導體電路為若干 處理請求中的每個處理請求,產(chǎn)生包括作業(yè)執(zhí)行順序數(shù)據(jù)和狀態(tài)數(shù)據(jù) 的作業(yè)管理數(shù)據(jù),作業(yè)執(zhí)行順序數(shù)據(jù)表示根據(jù)處理請求形成處理的若 千作業(yè)的執(zhí)行順序,狀態(tài)數(shù)據(jù)表示若千處理作業(yè)的執(zhí)行進程的狀態(tài)。
其次,半導體電路根據(jù)預定的規(guī)則,從產(chǎn)生的若干作業(yè)管理數(shù)據(jù) 中選擇一個作業(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ù)處理方法最好還包括更新選擇的作 業(yè)管理數(shù)據(jù)的狀態(tài)數(shù)據(jù),隨后從若干數(shù)據(jù)模塊選擇一個作業(yè)管理數(shù)據(jù) 的步驟。
此外,本發(fā)明第一方面的數(shù)據(jù)處理方法最好還包括在更新選擇的 作業(yè)管理數(shù)據(jù)的狀態(tài)數(shù)據(jù)之后,從若干數(shù)據(jù)模塊選擇一個作業(yè)管理數(shù)據(jù)的步驟。
此外,本發(fā)明第一方面的數(shù)據(jù)處理方法最好還包括當根據(jù)處理請 求形成處理的所有作業(yè)完成執(zhí)行時,刪除作業(yè)管理數(shù)據(jù)的步驟。
此外,本發(fā)明第一方面的數(shù)據(jù)處理方法最好還包括從具有存儲器 的集成電路或者相對于集成電路輸入輸出數(shù)據(jù)的通信設備接收處理請 求的步驟,所述存儲器保存將用于借助半導體電路執(zhí)行的過程的處理 的數(shù)據(jù)。
本發(fā)明第二方面的半導體電路是一種根據(jù)若干處理請求處理數(shù)據(jù) 的半導體電路,包括輸入若干處理請求的接口,保存作業(yè)管理數(shù)據(jù)的 存儲電路,作業(yè)管理數(shù)據(jù)包括作業(yè)執(zhí)行順序數(shù)據(jù)和狀態(tài)數(shù)據(jù),作業(yè)執(zhí) 行順序數(shù)據(jù)表示根據(jù)處理請求形成處理的若干作業(yè)的執(zhí)行順序,狀態(tài) 數(shù)據(jù)表示若干作業(yè)的執(zhí)行進程的狀態(tài),和為輸入的若干處理請求中的 每個處理請求產(chǎn)生作業(yè)管理數(shù)據(jù)并將其保存在存儲電路中,從產(chǎn)生的 若干作業(yè)管理數(shù)據(jù)中選擇一個作業(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ā)明第二方面的半導體電路中,接口輸入若干處理請求。 隨后,控制電路產(chǎn)生作業(yè)管理數(shù)據(jù)并將其保存在存儲電路中,所
程的狀態(tài)的狀態(tài)數(shù)據(jù)。
接下來,控制電路從若干作業(yè)管理數(shù)據(jù)中選擇一個作業(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ā)明第三方面的程序是一種由半導體電路執(zhí)行的根據(jù)若干處理
請求處理數(shù)據(jù)的程序,包括為若干處理請求中的每個處理請求產(chǎn)生作
業(yè)管理數(shù)據(jù)的例程,作業(yè)管理數(shù)據(jù)包括作業(yè)執(zhí)行順序數(shù)據(jù)和狀態(tài)數(shù)據(jù),序,狀態(tài)數(shù)據(jù)表示若干作業(yè)的執(zhí)行進程的狀態(tài),從產(chǎn)生的若干作業(yè)管 理數(shù)據(jù)中選擇一個作業(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ù)處理方法是一種由半導體電路執(zhí)行的數(shù)據(jù) 處理方法,所述半導體電路運行和使用集成電路的過程有關的處理的 應用程序,其中半導體電路能夠查看對應性指示數(shù)據(jù),所述對應性指 示數(shù)據(jù)指示用于所述應用程序操作集成電路的操作代碼和操作的名
稱,即操作名稱之間的對應性,所述方法包括下述步驟使半導體電 路以輸入的形式接收利用操作名稱描述應用程序的操作的操作說明程 序,和使半導體電路通過查看對應性指示數(shù)據(jù),獲得和在操作說明程 序中描述的操作名稱相對應的操作代碼,并且使用獲得的操作代碼定 義應用程序的處理。
此外,根據(jù)本發(fā)明笫四方面的數(shù)據(jù)處理方法最好還包括使對應性 指示數(shù)據(jù)還顯示操作名稱和當集成電路執(zhí)行與這些搡作名稱對應的操 作時使用的密鑰信息之間的對應性,并且使半導體電路通過查看對應 性指示數(shù)據(jù),獲得和在操作說明程序中描述的操作名稱相對應的密鑰 信息,并且使用獲得的密鑰信息定義應用程序的處理。
此外,本發(fā)明第四方面的數(shù)據(jù)處理方法最好還包括使半導體電路 產(chǎn)生包括作業(yè)執(zhí)行順序數(shù)據(jù)和狀態(tài)數(shù)據(jù)的作業(yè)管理數(shù)據(jù),作業(yè)執(zhí)行順 序數(shù)據(jù)表示形成應用程序的處理的若千作業(yè)的執(zhí)行順序,狀態(tài)數(shù)據(jù)表 示所述若干作業(yè)的執(zhí)行進程的狀態(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ā)明第五方面的半導體電路是一種運行用于執(zhí)行和利用集成電 路的過程相關的處理的應用程序的半導體電路,包括保存對應性指示 數(shù)據(jù)的存儲電路,所述對應性指示數(shù)據(jù)指示用于應用程序操作集成電 路的操作代碼和操作的名稱,即操作名稱之間的對應性,輸入利用操作名稱描述應用程序的操作的操作說明程序的接口 ,和通過查看對應 性指示數(shù)據(jù),獲得和在輸入的操作說明程序中描述的操作名稱相對應 的操作代碼,并且使用獲得的操作代碼定義應用程序的處理的控制電 路。
在本發(fā)明第五方面的半導體電路中,接口輸入利用操作名稱描迷 應用程序的操作的操作說明程序。
隨后,控制電路通過查看對應性指示數(shù)據(jù),獲得和在輸入的操作 說明程序中描述的操作名稱相對應的操作代碼。
之后,控制電路使用獲得的操作代碼定義應用程序的處理。
本發(fā)明第六方面的程序是由運行執(zhí)行和利用集成電路的過程相關
的處理的應用程序的半導體電路執(zhí)行的程序,包括輸入利用集成電 路的操作的名稱,即操作名稱描述應用程序的操作的操作說明程序的 例程,查看指示由應用程序用于操作集成電路的操作代碼和操作名稱 之間的對應性的對應性指示數(shù)據(jù),從而獲得和在操作說明程序中描述 的操作名稱相對應的操作代碼的例程,以及利用獲得的操作代碼定義 應用程序的處理的例程。
本發(fā)明第七方面的數(shù)據(jù)處理方法是由執(zhí)行應用程序的半導體電路 完成的數(shù)據(jù)處理方法,包括下迷步驟利用若干防火墻中事先分配給 形成應用程序的若干程序模塊中的各個程序;f莫塊的防火墻保護該程序 模塊,記錄與識別分配給程序模塊的防火墻的防火墻識別信息鏈接的 程序模塊,并且以正在進行記錄為條件,執(zhí)行該程序模塊。
本發(fā)明第七方面的數(shù)據(jù)處理方法最好還包括允許記錄的由相同防 火墻識別信息鏈接的若干程序模塊之間的數(shù)據(jù)傳送或數(shù)據(jù)查看,并且 禁止記錄的由不同防火墻識別信息鏈接的若千程序模塊之間的數(shù)據(jù)傳 送或者數(shù)據(jù)查看的步驟。
本發(fā)明第七方面的數(shù)據(jù)處理方法最好還包括下述步驟
記錄還與當把程序模塊從半導體電路之外下栽到半導體電路時使 用的下載密鑰信息鏈接的程序模塊,并且當接收關于程序模塊的下栽 請求時,利用記錄的和該程序模塊鏈接的下載密鑰信息判斷下載是否可能,并且當判斷下載可能時,下載該程序;f莫塊。
本發(fā)明第八方面的半導體電路是運行應用程序,利用若干防火墻 中事先分配給形成應用程序的若干程序模塊中的各個程序模塊的防火 墻保護該程序模塊,記錄與識別分配給程序;f莫塊的防火墻的防火墻識 別信息鏈接的程序模塊,并且以記錄正在進行為條件,執(zhí)行該程序模 塊的半導體電路。
本發(fā)明第九方面的程序是由執(zhí)行應用程序的半導體電路執(zhí)行的程 序,包括利用若干防火墻中事先分配給形成應用程序的若干程序模塊 中的每個程序模塊的防火墻保護該程序模塊的例程,記錄與識別分配 給該程序模塊的防火墻的防火墻識別信息鏈接的程序模塊的例程,和 以記錄正在進行為條件,執(zhí)行該程序模塊的例程。
本發(fā)明第十方面的數(shù)據(jù)處理方法是由執(zhí)行應用程序的半導體電路
執(zhí)行的數(shù)據(jù)處理方法,包括下述步驟獨立執(zhí)行由防火墻保護的若干 應用程序,預先記錄允許通過防火墻在應用程序之間進行通信的條件, 當應用程序請求與另 一應用程序通信時,判斷通信請求是否滿足記錄 的條件,和當判斷通信請求滿足記錄的條件時,根據(jù)通信請求進行應 用程序之間的通信。
本發(fā)明第十一方面的半導體電路是獨立執(zhí)行受防火墻保護的若干 應用程序,事先記錄允許通過防火墻在應用程序之間進行通信的條件, 當應用程序請求與另 一應用程序通信時,判斷通信請求是否滿足記錄 的條件,和當判斷通信請求滿足記錄的條件時,根據(jù)通信請求進行應 用程序之間的通信的半導體電路。
第十一方面的半導體電路獨立執(zhí)行受防火墻保護的若千應用程序。
此外,半導體電路事先記錄允許通過防火墻在應用程序之間進行 通信的條件。
此外,當應用程序請求與另一應用程序通信時,半導體電路判斷 通信請求是否滿足記錄的條件。
此外,當判斷通信請求滿足記錄的條件時,半導體電路根據(jù)通信請求進行應用程序之間的通信。
本發(fā)明第十二方面的程序是使半導體電路執(zhí)行獨立執(zhí)行受防火墻 保護的若干應用程序的例程,事先記錄允許通過防火墻在應用程序之 間進行通信的條件的例程,當應用程序請求與另 一應用程序通信時, 判斷通信請求是否滿足記錄的條件的例程,和當判斷通信請求滿足記 錄的條件時,根據(jù)通信請求進行應用程序之間通信的例程的程序。
本發(fā)明第十三方面的數(shù)據(jù)處理方法是半導體電路或者半導體電路
:處i方法,包括下述步驟使半導體電路具有由若干層組成的軟件 結構,并使對應于每層的下栽簽名驗證密鑰信息能夠被半導體電路查 看,當接收下載請求時,使半導體電路利用下載簽名驗證密鑰信息驗 證根據(jù)下載請求產(chǎn)生的下載簽名信息,以下栽簽名信息合法為條件,
證密鑰信息相對應的一層的程序。
此外,本發(fā)明第十三方面的數(shù)據(jù)處理方法還包括下述步驟使驗 證設備保存和允許被下載的程序所屬 一層相對應的訪問主密鑰信息, 使驗證設備把下載請求傳送給半導體電路,和使驗證設備使用該訪問 主密鑰信息產(chǎn)生下載簽名信息,并把該下載簽名信息傳送給半導體電 路。
此外,本發(fā)明第十三方面的數(shù)據(jù)處理方法還包括下述步驟使驗 證設備保存半導體電路的識別信息,使驗證設備利用訪問主密鑰信息 對呈明文形式的識別信息加密,從而產(chǎn)生下載主密鑰信息,并且使用 該下載主密鑰信息產(chǎn)生下載簽名信息。
本發(fā)明第十四方面的半導體電路是具有由若干層組成的軟件結構 的半導體電路,其中半導體電路能夠查看對應于每層的下載簽名驗證 密鑰信息,當接收下載請求時,利用下載簽名驗證密鑰信息驗證根據(jù) 下載請求產(chǎn)生的下載簽名信息,并且以下載簽名信息合法為條件,允
許下載請求的發(fā)出者把和用于該驗證的下載簽名驗證密鑰信息相對應儲電路。
當接收下栽請求時,本發(fā)明第十四方面的半導體電路利用下載簽 名驗證密鑰信息,驗證對應于該下載請求產(chǎn)生的下載信號信息。
此外,以下載簽名信息合法為條件,該半導體電路允許下載請求
的發(fā)出者把和用于該驗證的下載簽名驗證密鑰信息相對應一層的程序 下載到該半導體電路或者該半導體電路可訪問的半導體存儲電路。
本發(fā)明第十五方面的驗證設備是當把在半導體電路中運行的程序
電路訪問的半導體存儲設備時,用于驗證的驗證設備,所述驗證設備 保存和允許被下載的程序所屬一層相對應的訪問主密鑰信息,把下載 請求傳送給該半導體電路,并且利用該訪問主密鑰信息產(chǎn)生下栽簽名 信息,和把該下載簽名信息傳送給該半導體電路。
本發(fā)明第十五方面的驗證設備首先把下載請求傳送給該半導體電路。
此外,該驗證設備使用訪問主密鑰信息產(chǎn)生下載簽名信息。 此外,驗證設備把下載簽名信息傳送給該半導體電路。 本發(fā)明第十六方面的程序是將由具有由若干層組成的軟件結構的 半導體電路執(zhí)行的程序,包括利用所述若干層中對應一層的下載簽名 驗證密鑰信息,驗證當接收下載請求時根據(jù)這樣的下載請求產(chǎn)生的下 載簽名信息的例程,和以下載簽名信息合法為條件,允許下載請求的 發(fā)出者把和用于該驗證的下載簽名驗證密鑰信息相對應一層的程序下
程。 " " p。," 、'
本發(fā)明第十七方面的半導體電路是具有數(shù)據(jù)處理電路和數(shù)據(jù)輸入 /輸出處理電路的半導體電路,其中數(shù)據(jù)處理電路通過數(shù)據(jù)輸入/輸出處 理電路相對于該半導體電路之外的總線輸入輸出數(shù)據(jù),數(shù)據(jù)輸入/輸出 電路對以預定數(shù)據(jù)長度為單位從數(shù)據(jù)處理電路輸入的數(shù)據(jù)加密,并把 加密后的數(shù)據(jù)輸出給該總線,對從總線輸入的數(shù)據(jù)解密,并把解密后
的數(shù)據(jù)輸出給數(shù)據(jù)處理電路,當Nc/Nb-n時,以m個數(shù)據(jù)輸入/輸出交易為單位,通過總線執(zhí)行數(shù)據(jù)輸入/輸出交易,這里總線的寬度為
Nb,數(shù)據(jù)長度為Nc, n或者更大值( ii or more )的最小整數(shù)為m。
本發(fā)明第十七方面的半導體電路通過數(shù)據(jù)輸入/輸出處理電路相 對于該半導體電路之外的總線輸入輸出數(shù)據(jù)。
此時,數(shù)據(jù)輸入/輸出電路對以預定數(shù)據(jù)長度為單位從數(shù)據(jù)處理電 路輸入的數(shù)據(jù)加密,并把加密后的數(shù)據(jù)輸出給該總線。
此外,數(shù)據(jù)輸入/輸出電路對從總線輸入的數(shù)據(jù)解密,并把解密后 的數(shù)據(jù)輸出給數(shù)據(jù)處理電路。
此時,當Nc/Nb=n時,該數(shù)據(jù)輸入/輸出設備以m個數(shù)據(jù)輸入/輸 出交易為單位,通過外部總線執(zhí)行數(shù)據(jù)輸入/輸出交易,這里總線的寬 度為Nb,數(shù)據(jù)長度為Nc, n或者更大值(nor more)的最小整數(shù)為 m。
此外,在本發(fā)明第十七方面的半導體電路中,當根據(jù)從數(shù)據(jù)處理 電路輸入的第一地址訪問半導體存儲電路時,數(shù)據(jù)輸入/輸出電路最好 把第一地址轉換成第二地址,以便以其中保存Nc的數(shù)據(jù)的存儲區(qū)為 單位訪問半導體存儲電路,并且使用第二地址訪問該半導體存儲電路。
本發(fā)明第十八方面的數(shù)據(jù)處理方法是當半導體電路和半導體存儲 電路通過總線相連時,當半導體電路訪問半導體存儲電路時,由半導 體電路執(zhí)行的數(shù)據(jù)處理方法,包括下述步驟對將以預定數(shù)據(jù)長度為 單位寫入半導體存儲電路的數(shù)據(jù)加密,并把加密數(shù)據(jù)輸出給總線,對 從總線輸入的數(shù)據(jù)解密,和當Nc/Nb=n時,以m個數(shù)據(jù)輸入/輸出交 易為單位,通過總線執(zhí)行數(shù)據(jù)輸入/輸出交易,這里總線的寬度為Nb, 數(shù)據(jù)長度為Nc, n或者更大值(nor more)的最小整數(shù)為m。
本發(fā)明第十九方面的數(shù)據(jù)處理設備包括保存若干程序的指令和數(shù) 據(jù)的存儲電路,通過傳輸線路訪問存儲電路,并使用若干程序的指令 和數(shù)據(jù)執(zhí)行若干程序的計算電路,置于傳輸線路和存儲電路之間,用 于根據(jù)控制信號把傳輸線路和存儲電路設置成連接狀態(tài)和斷開狀態(tài)之 一的連接轉換電路,根據(jù)為所述若干程序中的每個程序限定當計算電 路正在執(zhí)行所述若干程序時,存儲電路中能夠被訪問的地址范圍的訪問范圍定義數(shù)據(jù),存儲電路中計算電路為其發(fā)出訪問請求的地址,和 說明計算電路正在執(zhí)行所述若干程序中的哪個程序的執(zhí)行程序指示信 息產(chǎn)生控制信號,控制把傳輸線路和存儲電路設置成連接狀態(tài)和斷開 狀態(tài)之一的連接控制電路,和通過傳輸電路相對于計算電路輸入輸出 數(shù)據(jù),并且相對于該數(shù)據(jù)處理設備外部輸入輸出數(shù)據(jù)的輸入/輸出接口 電路。
此外,在本發(fā)明第十九方面的數(shù)據(jù)處理設備中,當存儲電路中計 算電路為其發(fā)出訪問請求的地址在由訪問范圍定義數(shù)據(jù)限定的和正被 執(zhí)行的程序對應的地址范圍之內時,連接控制電路最好產(chǎn)生指示把傳 輸線路和存儲電路設置成連接狀態(tài)的控制信號,并且當所述地址不在 該地址范圍之內時,產(chǎn)生指示把傳輸線路和存儲電路設置成斷開狀態(tài) 的控制信號。
本發(fā)明第二十方面的半導體電路是執(zhí)行程序的半導體電路,包括 第一傳輸線路,保存執(zhí)行程序的指令或數(shù)據(jù)的存儲電路,根據(jù)通過第 一傳輸線路從存儲電路讀取的指令操作的計算電路,根據(jù)第一控制信 號把第一傳輸線路和存儲電路設置成連接狀態(tài)和斷開狀態(tài)之一的第一 連接轉換電路,根據(jù)第二控制信號把該半導體電路之外的第二傳輸線 路和第一傳輸線路設置成連接狀態(tài)和斷開狀態(tài)之一的第二連接轉換電 路,和當把指示連接的第一控制信號輸出給第一連接轉換電路時,向 第二連接轉換電路輸出指示斷開的第二控制信號,當把指示斷開的第 一控制信號輸出給第一連接轉換電路時,向笫二連接轉換電路輸出指 示連接的第二控制信號的連接控制電路。
此外,在本發(fā)明第二十方面的半導體電路中,第二連接轉換電路 通過第二傳輸線路與位于該半導體電路之外的存儲設備相連。
此外,在本發(fā)明第二十方面的半導體電路中,當計算電路從存儲 電路讀取指令時,連接控制電路把指示連接的第一控制信號輸出給第 一連接轉換電路,并把指示斷開的第二控制信號輸出給第二連接轉換 電路。
本發(fā)明第二十一方面的半導體電路是一種執(zhí)行程序的半導體電路,包括保存程序的加密指令或數(shù)據(jù),對將通過該半導體電路之外的 第 一傳輸線路輸出給存儲設備的數(shù)據(jù)加密,并對通過第 一傳輸線路從 存儲設備輸入的加密指令或數(shù)據(jù)解密的加密/解密電路,利用解密指令 或數(shù)據(jù)進行計算的計算電路,根據(jù)控制信號選擇是否許可位于該半導 體電路之外的第二傳輸線路和計算電路之間的通信的選擇電路,當計 算電路正在利用該程序的指令或數(shù)據(jù)進行處理時,向選擇電路輸出指 示不允許第二傳輸線路和計算電路之間通信的控制信號的控制電路。
本發(fā)明第二十二方面的數(shù)據(jù)處理設備是包括存儲電路和半導體電 路的數(shù)據(jù)處理設備,所述存儲電路在預定的存儲區(qū)中保存均由若干數(shù) 據(jù)模塊構成的若干應用程序,所述若千數(shù)據(jù)模塊包括描述與集成電路 通信從而提供服務的處理例程的處理例程數(shù)據(jù),以及保存表示鏈接在 一起的數(shù)據(jù)模塊、用于在根據(jù)該數(shù)據(jù)模塊的處理中使用另 一數(shù)據(jù)模塊 的第一密鑰數(shù)據(jù),和用于在根據(jù)該數(shù)據(jù)模塊的處理中相對于集成電路 傳送數(shù)據(jù)的第二密鑰數(shù)據(jù)的管理數(shù)據(jù),所述半導體電路根據(jù)數(shù)據(jù)模塊 執(zhí)行和服務相關的處理,在該處理中查看管理數(shù)據(jù),利用對應于該數(shù)
據(jù)模塊的第一密鑰數(shù)據(jù)使用另一數(shù)據(jù)模塊,并且利用對應于該數(shù)據(jù)模 塊的第二密鑰數(shù)據(jù)相對于集成電路傳送數(shù)據(jù)。
此外,在本發(fā)明第二十二方面的數(shù)據(jù)處理設備中,存儲電路最好 以數(shù)據(jù)模塊的形式至少保存利用數(shù)據(jù)模塊執(zhí)行的處理的日志數(shù)據(jù),顯 示把數(shù)據(jù)模塊記錄到存儲區(qū)中的例程的程序數(shù)據(jù),顯示從存儲區(qū)刪除 數(shù)據(jù)模塊的記錄的例程的程序數(shù)據(jù),和顯示限定用于保存應用程序的 存儲區(qū)的例程的程序數(shù)據(jù)之一 。
此外,在本發(fā)明第二十二方面的數(shù)據(jù)處理設備中,當半導體電路 將執(zhí)行根據(jù)另 一數(shù)據(jù)模塊的處理時,半導體電路最好使用管理數(shù)據(jù)獲 得對應于預定數(shù)據(jù)模塊的第一密鑰數(shù)據(jù)和對應于另一數(shù)據(jù)模塊的第一 密鑰數(shù)據(jù),并且以獲得的兩個第一密鑰數(shù)據(jù)相符為條件,從正在執(zhí)行 的預定數(shù)據(jù)模塊使用所述另 一數(shù)據(jù)模塊。
本發(fā)明第二十三方面的數(shù)據(jù)處理方法是與集成電路通信,進行提
限理方法,包括下迷步驟當存儲電路在預定存儲區(qū)中保存均由包括描 述與集成電路通信從而提供服務的處理例程的處理例程數(shù)據(jù)在內的若 干數(shù)據(jù)模塊組成的若干應用程序,以及保存顯示鏈接在一起的數(shù)據(jù)模 塊,用于在根據(jù)該數(shù)據(jù)模塊的處理中使用另 一數(shù)據(jù)模塊的第 一密鑰數(shù) 據(jù),和用于在根據(jù)該數(shù)據(jù)模塊的處理中相對于集成電路傳送數(shù)據(jù)的第 二密鑰數(shù)據(jù)的管理數(shù)據(jù)時,使半導體電路根據(jù)該數(shù)據(jù)模塊執(zhí)行和服務 相關的處理,使半導體電路在與服務相關的處理中查看管理數(shù)據(jù),并 利用對應于該數(shù)據(jù)模塊的第 一密鑰數(shù)據(jù)使用另 一數(shù)據(jù)模塊,和使半導 體電路在與服務相關的處理中使用對應于該數(shù)據(jù)模塊的第二密鑰數(shù)據(jù) 相對于集成電路傳送數(shù)據(jù)。
本發(fā)明第二十四方面的程序是由半導體電路執(zhí)行的用于與集成電 路通信,從而執(zhí)行提供服務的處理,并且相對于存儲電路傳送數(shù)據(jù)的 程序,包括當存儲電路在預定存儲區(qū)中保存均由包括描述與集成電路
成的若干應用程序,以及保存顯示鏈接在一起的數(shù)據(jù)模塊,用于在根 據(jù)該數(shù)據(jù)模塊的處理中使用另 一數(shù)據(jù)模塊的第 一 密鑰數(shù)據(jù),和用于在 根據(jù)該數(shù)據(jù)模塊的處理中相對于集成電路傳送數(shù)據(jù)的第二密鑰數(shù)據(jù)的 管理數(shù)據(jù)時,根據(jù)該數(shù)據(jù)模塊執(zhí)行和服務相關的處理的例程,在與服 務相關的處理中查看管理數(shù)據(jù),并利用對應于該數(shù)據(jù)模塊的第一密鑰 數(shù)據(jù)使用另 一數(shù)據(jù)模塊的例程,和在與服務相關的處理中使用對應于 該數(shù)據(jù)模塊的第二密鑰數(shù)據(jù)相對于集成電路傳送數(shù)據(jù)的例程。 根據(jù)上面說明的本發(fā)明,可獲得下述效果。
即,根據(jù)本發(fā)明的第一到第三方面,能夠提供可根據(jù)大量處理請 求高效進行處理的數(shù)據(jù)處理方法、半導體電路和程序。
根據(jù)本發(fā)明的第四到笫六方面,可提供在不向用戶告知高度機密 信息的情況下,使用戶能夠產(chǎn)生并定制該用戶的將由服務器執(zhí)行的應 用程序。
根據(jù)本發(fā)明的第七到第九方面,能夠提供當在相同的半導體電路 上運行若干應用程序時,可防止每個應用程序受另 一應用程序影響的數(shù)據(jù)處理方法、半導體電路和程序。
根據(jù)本發(fā)明的第十到第十二方面,能夠提供考慮到上述現(xiàn)有技術 產(chǎn)生的,并且當在相同的半導體電路上運行若干應用程序時,在防止 每個應用程序受到另一應用程序的用戶的非法竄改、監(jiān)視等的同時, 允許根據(jù)需要在應用程序之間傳送數(shù)據(jù)的數(shù)據(jù)處理方法、半導體電路 和程序。
根據(jù)本發(fā)明的第十三到第十六方面,能夠提供可根據(jù)其權限限制
對服務器等的半導體電路的訪問內容的數(shù)據(jù)處理方法、半導體電路、
驗證設備和程序。
根據(jù)本發(fā)明的第十七和第十八方面,能夠提供即使當通過外部總 線在半導體電路和半導體存儲電路之間傳輸高度機密的數(shù)據(jù)時,也能
夠保持數(shù)據(jù)的機密性的半導體電路和數(shù)據(jù)處理方法。
根據(jù)本發(fā)明的第十九方面,能夠提供當執(zhí)行若干程序時,可保持 程序之間指令和數(shù)據(jù)的機密性的數(shù)據(jù)處理設備。
根據(jù)本發(fā)明的第二十和第二十 一 方面,能夠提供可提高被執(zhí)行程 序的機密性的半導體電路。
根據(jù)本發(fā)明的第二十二到第二十四方面,能夠提供當提供利用ic
卡或者其它集成電路時,可提高運行于服務器上的應用程序的安全性 的數(shù)據(jù)處理設備、方法和程序。
圖l是本發(fā)明的一個實施例的通信系統(tǒng)的整體結構的視圖。
圖2說明了圖1中所示的SAM芯片的軟件配置。
圖3是圖1中所示的IC卡的IC的功能方框圖。
圖4說明了保存在圖3中所示的存儲器中的信息。
圖5說明了保存在圖1中所示的SAM裝置的外部存儲器中的信
圖6說明了圖5中所示的服務定義表數(shù)據(jù)。
圖7說明了 SAM芯片中利用圖5中所示的服務定義表數(shù)據(jù)和腳本程序的處理。
圖8說明了腳本程序中使用的命令。 圖9是圖1中所示的SAM芯片的功能方框圖。 圖IO說明了保存在圖9中所示的存儲器中的數(shù)據(jù)。 圖ll說明了由SAM芯片產(chǎn)生的IC卡實體數(shù)據(jù)的格式。 圖12說明了圖11中所示的IC卡實體數(shù)據(jù)的狀態(tài)變換圖。 圖13說明了圖10中所示的IC卡過程管理任務的處理例程。 圖14說明了圖1中所示的通信系統(tǒng)的整體操作。 圖15說明了圖1中所示的通信系統(tǒng)的整體操作。 圖16說明了 IC卡和SAM芯片之間的通信協(xié)議。 圖17是更具體地表示圖9中所示的SAM芯片的功能塊的功能方 框圖。
圖18說明了 SAM芯片的另一種使用模式。
圖19是本發(fā)明 一個實施例的通信系統(tǒng)的整體結構的視圖。
圖20說明了圖19中所示的SAM芯片的軟件配置。
圖21是圖19中所示的IC卡的IC的功能方框圖。
圖22說明了保存在圖21中所示的存儲器中的信息。
圖23說明了圖19中所示的SAM裝置的外部存儲器。
圖24說明了圖23中所示的模塊管理數(shù)據(jù)的格式。
圖25是圖1中所示的SAM芯片的功能方框圖。
圖26說明了由圖25中所示的CPU執(zhí)行的任務。
圖27是說明把應用程序從個人計算機下載到圖19中所示的外部
存儲器的操作的流程圖。
圖28是說明執(zhí)行圖19中所示的應用程序的SAM芯片的操作的流程圖。
圖29說明了應用程序執(zhí)行過程中的操作。 圖30說明了圖19中所示的的系統(tǒng)的整體操作。 圖31是更詳細地表示圖25中所示的SAM芯片的功能塊的功能方 框圖。圖32說明了 SAM芯片的另一種使用模式。 圖33說明了本發(fā)明一個實施例的通信系統(tǒng)的整體結構。 圖34說明了圖33中所示的SAM芯片的軟件配置。 圖35是圖33中所示的IC卡的IC的功能方框圖。 圖36說明了保存在圖35中所示的存儲器中的信息。 圖37是圖33中所示的SAM裝置的外部存儲器的視圖。 圖38說明了圖37中所示的AP選擇數(shù)據(jù)。 圖39說明了圖37中所示的AP間通信數(shù)據(jù)。 圖40是圖33中所示的SAM芯片的功能方框圖。 圖41說明了由圖40中所示的CPU執(zhí)行的任務。 圖42說明了圖41中所示的結算處理例程任務的功能。 圖43是說明圖41中所示的AP間通信任務的處理的流程圖。 圖44說明了圖41中所示的SAM間通信任務。 圖45說明了圖33中所示的通信系統(tǒng)的整體操作。 圖46是更詳細地表示圖40中所示的SAM芯片的功能塊的功能方 框圖。
圖47說明了 SAM芯片的另一種使用模式。 圖48是本發(fā)明一個實施例的通信系統(tǒng)的整體結構的視圖。 圖49說明了圖48中所示的SAM芯片的軟件配置。 圖50是利用圖48中所示的應用程序的企業(yè)的身份驗證裝置的功 能方框圖。
圖51說明了圖50中所示的相互驗證裝置的功能。 圖52說明了圖50中所示的下載處理裝置的功能。 圖53是圖48中所示的處理程序層的軟件開發(fā)者的身份驗證裝置
的功能方框圖。
圖54說明了圖53中所示的下載處理裝置的功能。
圖55是圖48中所示的SAM芯片的管理人員的身份驗證裝置的功
能方框圖。
圖56說明了圖55中所示的下載處理裝置的功能。圖57說明了圖48中所示的SAM裝置的外部存儲器。
圖58是圖48中所示的SAM芯片的功能方框圖。
圖59是說明把應用程序從個人計算機下載到圖48中所示的外部
存儲器的操作的流程圖。
圖60說明了使用圖48中所示的通信系統(tǒng)的IC卡的交易的處理。 圖61是更詳細地表示圖58中所示的SAM芯片的功能塊的功能方框圖。
圖62說明了 SAM芯片的另一種使用模式。 圖63說明了圖48中所示的通信系統(tǒng)的f^改。 圖64是本發(fā)明一個實施例的通信系統(tǒng)的整體結構的視圖。 圖65說明了圖64中所示SAM芯片的軟件配置。 圖66說明了圖64中所示的SAM裝置的外部存儲器。 圖67是圖64中所示SAM芯片的功能方框圖。 圖68說明了圖66中所示的CPU、總線擾頻裝置和外部存儲器之 間的關系。
圖69說明了圖68中所示的CPU和外部存儲器之間的地址空間。 圖70是圖67中所示的總線擾頻裝置的功能方框圖。 圖71說明了由圖67中所示的總線擾頻裝置進行的外部存儲器的 寫操作。
圖72是圖71中所示操作的流程圖。
圖73說明了由圖67中所示的總線擾頻裝置進行的外部存儲器的 讀操作。
圖74是圖73中所示操作的流程圖。
圖75說明了圖70中所示的擾頻密鑰管理裝置中擾頻密鑰的交換 處理。
圖76說明了圖70中所示的擾頻密鑰管理裝置中擾頻密鑰的交換 處理。
圖77說明了圖70中所示的擾頻密鑰管理裝置中擾頻密鑰的交換 計時。圖78說明了圖70中所示的擾頻密鑰管理裝置中擾頻密鑰的交換 計時。
圖79說明了圖70中所示的流水線(pipeline )處理控制裝置進行
的流水線處理。
圖80說明了圖64中所示的通信系統(tǒng)的整體操作。
圖81是更詳細地表示圖67中所示的SAM芯片的功能塊的功能方框圖。
圖82說明了 SAM芯片的另一種使用模式。
圖83是構成本發(fā)明的相關技術的電子結算中使用的計算機的功 能方框圖。
圖84說明了圖83的計算機的軟件結構和本發(fā)明的一個實施例。
圖85說明了由圖83中所示的計算機處理的IC卡的類型。
圖86說明了寫入之前圖83中所示存儲器的存儲狀態(tài)。
圖87說明了寫入之后圖83中所示存儲器的存儲狀態(tài)。
圖88說明了應用程序和圖84中所示的IC卡類型之間的對應關系。
圖89是根據(jù)本發(fā)明一個實施例的計算機的結構的視圖。
圖卯是圖89中所示的判斷電路的結構。
圖91是圖卯中所示取出(fetch)判斷電路的結構的視圖。
圖92說明了圖91中所示的取出范圍限定數(shù)據(jù)。
圖93是圖91中所示的取出AP間調用關系限定數(shù)據(jù)的視圖。
圖94是圖90中所示的讀出判斷電路的結構的視圖。
圖95說明了圖94中所示的讀出范圍限定數(shù)據(jù)。
圖96說明了圖94中所示的讀出AP間調用關系限定數(shù)據(jù)。
圖97是圖90中所示的寫入判斷電路的結構的視圖。
圖98說明了圖97中所示的寫入范圍限定數(shù)據(jù)。
圖99說明了圖97中所示的寫入AP間調用關系限定數(shù)據(jù)。
圖IOO說明了本發(fā)明的另一實施例。
圖IOI說明了本發(fā)明的另一實施例。圖102是本發(fā)明第一實施例的半導體芯片的結構視圖。 圖103說明了圖102中所示的半導體芯片的軟件配置。 圖104說明了圖102中所示的程序模塊的結構。 圖105是本發(fā)明第二實施例的半導體芯片的結構視圖。 圖106說明了圖105中所示程序模塊的結構。 圖107說明了由圖105中所示的加密/解密電路執(zhí)行的加密和解密 單元以及奇偶校驗數(shù)據(jù)。
圖108說明了由圖105中所示的加密/解密電路保存的密鑰信息表。
圖109是本實施例的通信系統(tǒng)的整體結構的視圖。
圖IIO說明了圖109中所示的SAM芯片與之通信的另一SAM芯片。
圖lll說明了圖109中所示的SAM芯片與之通信的另一SAM芯片。
圖112是圖109中所示IC卡的功能方框圖。 圖113是說明圖112中所示存儲器的視圖。 圖114"^兌明了圖109中所示SAM芯片的軟件結構。 圖115說明了圖109中所示外部存儲器的存儲區(qū)。 圖116說明了圖115中所示的應用程序AP。 圖117說明了圖116中所示的應用單元數(shù)據(jù)APE的類型。 圖118說明了圖109中所示的SAM芯片的處理。 圖119說明了在圖118中所示的IC卡操作宏命令腳本程序中使用 的命令。
圖12(H兌明了圖115中所示的AP管理存儲區(qū)。
圖121說明了圖120中所示的AP管理表數(shù)據(jù)。
圖122說明了 SAM—ID。
圖123說明了圖120中所示的APP表數(shù)據(jù)。
圖124是圖109中所示的SAM芯片的功能方框圖。
圖125說明了保存在圖124中所示存儲器中的任務、程序和數(shù)據(jù)。圖126說明了 IC卡實體數(shù)據(jù)73—x的格式。
圖127說明了圖126中所示實體狀態(tài)數(shù)據(jù)的狀態(tài)變換。
圖128是由IC卡過程管理任務執(zhí)行的處理的流程圖。
圖129說明了當根據(jù)執(zhí)行圖128的步驟ST4的作業(yè)時,由應用單
元數(shù)據(jù)APE限定的例程,訪問或處理由其它應用單元數(shù)據(jù)APE限定
的數(shù)據(jù)時,SAM芯片執(zhí)行的處理。
圖130說明了當根據(jù)執(zhí)行圖128的步驟ST4的作業(yè)時,由應用單
元數(shù)據(jù)APE限定的例程,訪問或處理由其它應用單元數(shù)據(jù)APE限定
的數(shù)據(jù)時,SAM芯片執(zhí)行的處理。
圖131說明了圖109中所示的通信系統(tǒng)的整體操作。 圖132說明了圖109中所示的通信系統(tǒng)的整體操作。 圖133是說明現(xiàn)有技術的視圖。
具體實施例方式
下面將參考
本發(fā)明的實施例。 第一實施例
本實施例是對應于本發(fā)明的第 一到第六方面的實施例。 圖1是本實施例的通信系統(tǒng)1的總體結構。
如圖1中所示,通信系統(tǒng)1使用服務器2、 IC卡3、讀卡機/寫卡 機4、個人計算機5、 ASP (應用服務提供者)服務器6和SAM (保 密應用模塊)裝置9通過因特網(wǎng)IO通信,并且利用IC卡3 (本發(fā)明 的集成電路)完成結算處理或者其它過程的處理。
SAM裝置9具有外部存儲器7和SAM芯片(本發(fā)明的半導體電 路)8。
SAM芯片8具有如圖2中所示的軟件配置。
如圖2中所示,從底層到頂層,SAM芯片8具有HW(硬件)層、 OS層、低級處理程序層、高級處理程序層和AP層。 低級處理程序層包括驅動程序層。
這里,AP層包括確定信用卡公司或者圖1中所示的其它企業(yè)15—1、 15_2和15_3使用IC卡3的過程的應用程序AP_1、 AP—2和 AP—3。
在AP層,在應用程序AP—1、 AP_2及AP_3和高級處理程序層 之間設置防火墻FW。
應用程序AP一1由后面說明的保存在外部存儲器7中的服務定義 表數(shù)據(jù)(對應性指令數(shù)據(jù))20_1和腳本程序(操作描述程序)21一1確 定。
應用程序AP一2由后面說明的保存在外部存儲器7中的服務定義 表數(shù)據(jù)(對應性指令數(shù)據(jù))20_2和腳本程序(操作描述程序)21—2確 定。
應用程序AP—3由后面說明的保存在外部存儲器7中的服務定義 表數(shù)據(jù)(對應性指令數(shù)據(jù))20_3和腳本程序(操作描述程序)21—3確 定。
SAM芯片8通過SCSI端口 、以太網(wǎng)等與ASP服務器6相連。 ASP服務器6通過因特網(wǎng)10與若干終端設備相連,包括最終用戶的個 人計算機5和企業(yè)15—1、 15一2和15—3的個人計算機16_1、 16—2和 16_3。
個人計算機5通過串口或USB端口與Dumb型讀卡機/寫卡機4 相連。讀卡機/寫卡機4實現(xiàn)與IC卡3的物理無線通信。
在SAM裝置9 一側產(chǎn)生發(fā)送給IC卡3的操作命令并分析來自于 IC卡3的響應分組。于是,讀卡機/寫卡機4、個人計算機5、和置于 它們之間的ASP服務器6只起把命令或響應內容保存在數(shù)據(jù)有效負載 部分中并且中繼數(shù)據(jù)有效負載部分的作用。它們不參與數(shù)據(jù)的加密或 解密、身份驗證和IC卡3中的其它實際操作。
個人計算機16—1、 16—2和16—3可把后面說明的腳本程序下載到 SAM芯片上,從而定制它們的應用程序AP_1、 AP—2和AP—3。
下面說明圖1中所示的組件。
圖9是圖1中所示的SAM芯片的功能方框圖。
如圖9中所示,SAM芯片8具有ASPS通信接口裝置60,外部存 儲器通信接口裝置61,總線擾頻裝置62,隨機數(shù)發(fā)生器63,加密/解 密裝置64,存儲器65和CPU66。
SAM芯片8是防竄改模塊。
ASPS通信接口裝置60是用于和圖1中所示的ASP服務器6的數(shù) 據(jù)輸入和輸出的接口。
外部存儲器通信接口裝置61是用于和外部存儲器7的數(shù)據(jù)輸入和 輸出的接口。
當通過外部存儲器通信接口裝置61輸入和輸出數(shù)據(jù)時,總線擾頻
裝置62對輸出數(shù)據(jù)編碼加密并對輸入數(shù)據(jù)解密。
隨機數(shù)發(fā)生器63產(chǎn)生身份驗證處理時使用的隨機數(shù)。 加密/解密裝置64對數(shù)據(jù)加密并對加密數(shù)據(jù)解密。 如后所述,存儲器65保存CPU66使用的任務、程序和數(shù)據(jù)。 CPU66根據(jù)預定的程序(本發(fā)明的程序),從而執(zhí)行后面說明的
腳本下載任務、腳本解釋任務、實體產(chǎn)生任務(作業(yè)管理數(shù)據(jù)產(chǎn)生任
務)和IC卡過程管理任務(作業(yè)管理數(shù)據(jù)管理任務),以及其它任務。 下面說明保存在存儲器65中的任務、程序和數(shù)據(jù)。 圖10說明了保存在存儲器65中的任務、程序和數(shù)據(jù)。 如圖IO中所示,存儲器65保存腳本下栽任務69、腳本解釋任務
70、實體產(chǎn)生任務71、 IC卡過程管理任務72、 IC卡操作宏命令腳本程序21—1-21_3、服務定義表20_1-20—3、IC卡實體模板數(shù)據(jù)30—1-30—3、 1(:卡實體數(shù)據(jù)73_乂、輸入數(shù)據(jù)塊31—xl、輸出數(shù)據(jù)塊32—x2、日志數(shù) 據(jù)塊33一x3、和計算定義數(shù)據(jù)塊34_x4。
如圖7中所示,腳本下載任務69從企業(yè)的計算機下栽服務定義表 數(shù)據(jù)20—1-20_3,并把它們加載到SAM芯片8中。
腳本解釋任務70使用服務定義表數(shù)據(jù)和腳本程序產(chǎn)生各個企業(yè) 的IC卡實體模板數(shù)據(jù)、輸入數(shù)據(jù)塊、輸出數(shù)據(jù)塊、日志數(shù)據(jù)塊和計算 定義數(shù)據(jù)塊。
為各個企業(yè)產(chǎn)生的數(shù)據(jù)塊的數(shù)目不受特別限制。
當實體產(chǎn)生任務71從ASP服務器6接收實體產(chǎn)生請求時,它相 對于IC卡3進行輪詢,隨后利用對應于企業(yè)的IC卡實體模板數(shù)據(jù)產(chǎn) 生ic卡實體數(shù)據(jù),所述IC卡實體數(shù)據(jù)用于IC卡3和該企業(yè)之間的 過程的處理。此時,IC卡實體模板數(shù)據(jù)變成類別,以該類別的實例的 形式產(chǎn)生IC卡實體數(shù)據(jù)。
實體產(chǎn)生任務71產(chǎn)生IC卡實體數(shù)據(jù)的處理將在后面詳細說明。
IC卡過程管理任務72使用存在于存儲器65中的一個或多個IC 卡實體數(shù)據(jù)73_x執(zhí)行IC卡3和企業(yè)15—1-15_3之間的過程的處理。
本實施例中,在若干IC卡3和企業(yè)15一1一15—3之間執(zhí)行的過程的 若干處理同時進行。
IC卡過程管理任務72并行執(zhí)行多個過程的若干處理。
當 一 系列的過程完成時,IC卡過程管理任務72刪除IC卡實體數(shù) 據(jù)73一x。
IC卡過程管理任務72的處理將在后面詳細說明。 腳本程序21_1—21_3由腳本下載任務69從外部存儲器7輸入存儲 器65。
服務定義表數(shù)據(jù)20—1-20—3由腳本下載任務69從外部存儲器7輸 入并保存到存儲器65中。
IC卡實體模板數(shù)據(jù)30—1-30—3由腳本解釋任務70產(chǎn)生,并且當 產(chǎn)生與相應企業(yè)有關的過程的IC卡實體數(shù)據(jù)73—x時,被用作才莫板(類別)。
通過利用IC卡實體模板數(shù)據(jù)30—1-30—3作為類別,實體產(chǎn)生任務 71以類別的一個實例的形式產(chǎn)生IC卡實體數(shù)據(jù)73—x。
輸入數(shù)據(jù)塊31一xl、輸出數(shù)據(jù)塊32—x2、日志數(shù)據(jù)塊33—x3和計算 定義數(shù)據(jù)塊34一x4由腳本解釋任務70產(chǎn)生。
下面說明IC卡實體數(shù)據(jù)73一x。
當SAM芯片8從ASP服務器6接收利用IC卡3和預定企業(yè)的 應用程序進行處理的處理請求時,通過利用SAM芯片8中已由實體 產(chǎn)生任務71產(chǎn)生的對應企業(yè)的IC卡實體沖莫板數(shù)據(jù)產(chǎn)生IC卡實體數(shù) 據(jù)73一x。
圖11說明了 IC卡實體數(shù)據(jù)73一x的格式。
如圖11中所示,IC卡實體數(shù)據(jù)73j具有管理指針信息80、實體 ID信息81、實體狀態(tài)信息(狀態(tài)數(shù)據(jù))82、 IC卡類型信息83、服務 類型單元指定信息84、處理順序信息(處理順序數(shù)據(jù))85、預處理信 息86和后處理信息87。
管理指針信息80是用于管理存儲器65中的IC卡實體數(shù)據(jù)73—x 的雙向指針。
實體ID信息81用于IC卡實體數(shù)據(jù)73_x的產(chǎn)生、進程狀態(tài)的確 認、刪除或者剩余的一系列使用IC卡實體數(shù)據(jù)73—x的處理的請求。 實體ID信息81還變成給予最終用戶的返回值。當在通用文件系統(tǒng)中 打開文件時,實體ID信息81對應于描述符。
實體狀態(tài)信息82表示與IC卡3相關的過程的進程的狀態(tài)。
如圖12中所示,IC卡實體數(shù)據(jù)73—x的基本狀態(tài)包括調查IC卡 3能夠使用的服務的處理的狀態(tài)(RS) , SAM芯片8借助其驗證IC 卡3的處理的狀態(tài)(Al) , IC卡3借助其驗證SAM芯片8的處理的 狀態(tài)(A2),從IC卡3讀取數(shù)據(jù)的處理的狀態(tài)(R)和把數(shù)據(jù)寫入 IC卡3的處理的狀態(tài)(W)。
本實施例中,調查企業(yè)的處理,SAM芯片8驗證IC卡3的處理, IC卡3驗證SAM芯片8的處理,從IC卡3讀取數(shù)據(jù)的處理和把數(shù)據(jù)寫入IC卡3的處理對應于作業(yè)。
如后所述,"作業(yè)"是IC卡過程管理任務72為其確定執(zhí)行順序 的處理單元。
注意Al和A2構成IC卡3和SAM芯片8之間的相互驗證處理。 此外,本實施例中,考慮到因特網(wǎng)10上的通信時間,如圖12的 狀態(tài)變換圖中所示,上面提及的基本狀態(tài)被分成啟動后(在發(fā)出命令 之后)狀態(tài)和完成(在接收響應之后)狀態(tài)。
具體地說,使用IC卡實體數(shù)據(jù)73_x的處理的狀態(tài)由實例產(chǎn)生(IC 卡實體數(shù)據(jù)產(chǎn)生)狀態(tài)、RS啟動后狀態(tài)、RS完成狀態(tài)、Al啟動后狀 態(tài)、Al完成狀態(tài)、A2啟動后狀態(tài)、A2完成狀態(tài)、R啟動后狀態(tài)、R 完成狀態(tài)、W啟動后狀態(tài)、W完成狀態(tài)和實例(IC卡實體數(shù)據(jù))刪 除狀態(tài)管理。
IC卡類型信息83是用于確定發(fā)出IC卡3的企業(yè)的信息。
在產(chǎn)生IC卡實體數(shù)據(jù)73一x時,利用由上面提及的腳本程序中的 CI命令確定的信息設置IC卡類型信息83。
服務類型單元指定信息84表示在利用IC卡實體數(shù)據(jù)73_x的處理 中所使用的服務定義表數(shù)據(jù)中定義的服務的服務類型單元。
在產(chǎn)生IC卡實體數(shù)據(jù)73一x時,利用上面提及的腳本程序中的CS 命令指定的一個或多個服務類型單元設置服務類型單元指定信息84。
處理順序信息85表示在利用IC卡實體數(shù)據(jù)73_x中使用的服務 (作業(yè))的執(zhí)行順序,即圖12中所示的狀態(tài)變換。
即,處理順序信息85使用服務類型單元表示對應于IC卡3的基 本操作的作業(yè)的執(zhí)行順序。
這里如后所述,作業(yè)對應于圖12中所示的RS、 Al、 A2、 R和W。 關于IC卡3的具體操作由利用作業(yè)指定的處理順序實現(xiàn)。例如,對于 在只存在讀取而不進行相互驗證的情況下使用IC卡3的處理來說,利 用"RS—R"設置處理順序信息85。此外,就進行相互驗證的讀取和 寫入來說,利用"RS—Al—A2—R—W"設置處理順序信息85。
當產(chǎn)生IC卡實體數(shù)據(jù)73 x時,利用圖12中所示的和在上面提及的腳本程序中的cs命令中指定的服務單元的順序對應的作業(yè)順序設 置處理順序信息85。
利用用于執(zhí)行使用IC卡實體數(shù)據(jù)73—x的管理數(shù)據(jù),從ASP服務 器6 —側設置預處理信息86。
例如,利用在SF數(shù)據(jù)塊中指定的服務的計算公式的點數(shù)設置預 處理^f言息86。
此外,當沒有定義服務間計算函數(shù)時,利用所請求的處理費用 (charge) i殳置預處理4言息86。
例如,就結算來說,設置和賦予的費用數(shù)額或者點數(shù)等相關的狀態(tài)。
利用在ASP服務器6 —側所需的IC卡實體數(shù)據(jù)73一x的處理結果 的數(shù)據(jù)設置后處理信息87。例如,就結算來說,利用表示正常結束結 算的數(shù)據(jù)設置后處理信息87。
下面將說明圖10中所示的和使用若干IC卡實體數(shù)據(jù)73_x的若干 IC卡3相關的IC卡過程管理任務72進行的處理的例程。
IC卡過程管理任務72持續(xù)不斷地在圖9中所示的SAM芯片8 的CPU 66上^皮起動。
圖13是IC卡過程管理任務72執(zhí)行的處理的流程圖。
步驟ST1:
IC卡過程管理任務72從存在于存儲器65中的若干IC卡實體數(shù) 據(jù)73_x中選擇一個IC卡實體數(shù)據(jù)73—x用于執(zhí)行下一處理。
選擇IC卡實體數(shù)據(jù)73_x的方法可能是依次選擇存在于存儲器65 中的IC卡實體數(shù)據(jù)73_x,或者分配優(yōu)先級順序,并按照最高優(yōu)先級 的順序依據(jù)優(yōu)先級進行選擇。
步驟ST2:
IC卡過程管理任務72判斷在步驟ST1選擇的IC卡實體數(shù)據(jù)73—x 的作業(yè)是否已被啟動。當判斷該作業(yè)已被啟動時,它進行到步驟ST5 的處理,而當判斷該作業(yè)還未被啟動時,則轉到步驟ST3的處理。
步驟ST3:IC卡過程管理任務72根據(jù)在步驟ST1選擇的IC卡實體數(shù)據(jù)73_x 的圖11中所示的實體狀態(tài)信息82判斷和該實體數(shù)據(jù)相關的處理處于 圖12中所示的狀態(tài)變換圖中的哪一狀態(tài),并且根據(jù)處理順序信息85 確定下一步要執(zhí)行的作業(yè)。
此時,處理順序信息85利用如前所述的服務定義表數(shù)據(jù)中設置的 服務單元確定作業(yè)的執(zhí)行順序。
步驟ST4:
IC卡過程管理任務72啟動在步驟ST3選擇的作業(yè)。 IC卡過程管理任務72利用上面提及的輸入數(shù)據(jù)塊31—xl,輸出數(shù) 據(jù)塊32_x2,日志數(shù)據(jù)塊33_x3和計算定義數(shù)據(jù)塊34一x4中和該作業(yè) 相關的數(shù)據(jù)塊執(zhí)行該作業(yè)。
此時,當向執(zhí)行作業(yè)的IC卡3發(fā)出命令時,IC卡過程管理任務 72把對應于該作業(yè)的服務單元用作搜索服務定義表數(shù)據(jù),從而獲得對 應于該服務單元的服務編號的關鍵字(IC卡3的操作命令能夠被IC 卡3分析)。此外,IC卡過程管理任務72使用獲得的服務編號向IC 卡3發(fā)布命令。
此外,如同利用圖4說明的那樣,當訪問IC卡3a的存儲區(qū)需要 密鑰信息時,IC卡過程管理任務72使用對應于該作業(yè)的服務單元搜 索服務定義表數(shù)據(jù),并獲得對應于該^^務單元的密鑰信息。此外,IC 卡過程管理任務72使用該密鑰信息完成和IC卡3的相互驗證,數(shù)據(jù) 的加密和解密,以及其它處理,并獲得訪問IC卡3的預定存儲區(qū)的權 限。
步驟ST5:
當IC卡過程管理任務72向IC卡3發(fā)出命令,并且正在等待IC 卡3的處理結果時,執(zhí)行步驟ST5。
當IC卡過程管理任務72從IC卡3接收處理結果時,它把該結 果放置在IC卡實體數(shù)據(jù)73一x中。
步驟ST6:
IC卡過程管理任務72更新圖11中所示的IC卡實體數(shù)據(jù)73一x的實體狀態(tài)信息。
這樣,在本實施例中,IC卡過程管理任務72并行進行存在于SAM 芯片8中的若干IC卡3的處理,同時按照順序選擇若干IC卡3的IC 卡實體數(shù)據(jù)73—x。于是,即使當接收使用若干IC卡3的過程的處理 請求時,SAM芯片8也可同時繼續(xù)進行處理。
下面將說明圖1中所示的通信系統(tǒng)的所有操作。
圖14和圖15說明了圖1中所示的通信系統(tǒng)1的所有操作。
步驟ST21:
企業(yè)15_1-15—3或者被這些企業(yè)請求的一方在圖1中所示的個人 計算機16_1、 16—2和16—3上產(chǎn)生描述由使用IC卡3的企業(yè)進行的交 易的處理的腳本程序21—1、 21—2和21—3。
此外,SAM芯片8的管理人員產(chǎn)生對應于企業(yè)15_1-15—3的服務 定義表數(shù)據(jù)20_1、 20—2和20—3。
步驟ST22:
在步驟ST21中產(chǎn)生的服務定義表數(shù)據(jù)20—1、 20—2和20—3被保 存在外部存儲器7中。
此外,通過因特網(wǎng)10、ASP服務器6和SAM芯片8把在步驟ST21 產(chǎn)生的腳本程序21—1、 21—2和21_3從個人計算機16—1、 16_2和16—3 下載到外部存儲器7。如圖7中所示,該下栽處理由SAM芯片8中的 腳本下載任務69管理。
步驟ST23:
圖7中所示的SAM芯片中的腳本解釋任務70使用服務定義表數(shù) 據(jù)和腳本程序產(chǎn)生每個企業(yè)的IC卡實體模板數(shù)據(jù),輸入數(shù)據(jù)塊,輸出 數(shù)據(jù)塊,日志數(shù)據(jù)塊和計算定義數(shù)據(jù)塊。
產(chǎn)生的數(shù)據(jù)被保存在圖9中所示的SAM芯片8的存儲器65中。
步驟ST24:
用戶被發(fā)給IC卡3。
如圖4中所示,IC卡3的IC 3a的存儲器50保存用于用戶和企 業(yè)達成的交易的密鑰信息。注意在發(fā)行IC卡3之后,用戶和企業(yè)還可通過因特網(wǎng)10等相互 訂立合同。
步驟ST25:
例如,當用戶使用個人計算機5通過因特網(wǎng)10訪問服務器2,試 圖購買產(chǎn)品時,服務器2通過因特網(wǎng)10向ASP服務器6發(fā)出處理請求。
當ASP服務器6從服務器2接收處理請求時,它通過因特網(wǎng)10 訪問個人計算機5。此外,如圖16A中所示,由IC卡3的讀卡機/寫 卡機4發(fā)出的處理請求通過個人計算機5、因特網(wǎng)IO和ASP服務器6 被傳送給SAM芯片8。
步驟ST26:
ASP服務器6向SAM芯片8輸出實體產(chǎn)生請求。 實體產(chǎn)生請求保存顯示IC卡3的發(fā)行者的信息。 步驟S27:
當SAM芯片8接收實體產(chǎn)生請求時,如圖16B中所示,它執(zhí)行 對于IC卡3的輪詢。 步驟ST28:
輪詢結束之后,SAM芯片8的實體產(chǎn)生任務71判斷存在于SAM 芯片8中的IC卡實體數(shù)據(jù)73_x的數(shù)目是否在由腳本程序的SC命令 確定的最大數(shù)目之內。如果在最大數(shù)目之內,則它轉到步驟ST29的 處理,如果不在最大數(shù)目之內,則結束處理。
步驟ST29:
實體產(chǎn)生任務71根據(jù)保存在實體產(chǎn)生請求中的顯示IC卡3的發(fā) 行者的信息,指定要使用哪個企業(yè)的IC卡實體模板數(shù)據(jù),并且使用指 定的IC卡實體才莫板數(shù)據(jù)產(chǎn)生IC卡實體數(shù)據(jù)73—x。
這對應于圖12中所示的實例產(chǎn)生。
步驟ST30:
SAM芯片8把在步驟ST29產(chǎn)生的IC卡實體數(shù)據(jù)73—x的實體ID 輸出給ASP服務器6。步驟ST31:
SAM芯片8的IC卡過程管理任務72調查IC卡3能夠使用的服務。
這是對應于圖12中所示的作業(yè)RS的處理。 步驟ST32:
SAM芯片8的IC卡過程管理任務72驗證IC卡3的合法性。 這是對應于圖12中所示的作業(yè)Al的處理。 步驟ST33:
IC卡3驗證SAM芯片8的合法性。 這是對應于圖12中所示的作業(yè)A2的處理。
借助步驟ST32和ST33, IC卡3和SAM芯片8相互驗證。這對 應于圖16C。 步驟ST34:
SAM芯片8的IC卡過程管理任務72讀取和寫入關于IC卡3的
過程所必需的數(shù)據(jù)。
這是對應于圖12和圖16D及16E中所示的作業(yè)R和W的處理。 此外,IC卡過程管理任務72使用根據(jù)IC卡實體數(shù)據(jù)73_x的預
處理信息指定的計算公式進行使用從IC卡3讀取的數(shù)據(jù)的預定計算處理。
步驟ST35:
如圖16F中所示,SAM芯片8的IC卡過程管理任務72把步驟 ST34的處理結果輸出給ASP服務器6。 步驟ST36:
例如,IC卡過程管理任務72刪除IC卡實體數(shù)據(jù)73—x。 如上所述,根據(jù)通信系統(tǒng)l,能夠為和IC卡一同發(fā)生的過程的各 個處理產(chǎn)生IC卡實體數(shù)據(jù)73一x,并且使IC卡過程管理任務72使用 若干IC卡實體數(shù)據(jù)73一x同時繼續(xù)進行關于若干IC卡3的處理。
此外,根據(jù)驗證系統(tǒng)l,由于把實際用于IC卡3的處理的IC卡 實體數(shù)據(jù)73 3保存到存儲器65中就足夠了 ,因此能夠有效地使用存儲器65的存儲區(qū)。
另外,根據(jù)驗證系統(tǒng)l,如圖12中所示,由于IC卡過程管理任 務72所處理作業(yè)的執(zhí)行狀態(tài)被分成啟動后狀態(tài)和完成狀態(tài),因此在開 始執(zhí)行一個作業(yè)之后,能夠在等待來自于IC卡3的數(shù)據(jù)的狀態(tài)下開始 另一作業(yè)的處理。于是,能夠消除通過因特網(wǎng)10與IC卡3傳送數(shù)據(jù) 引起的等待時間。
此外,根據(jù)驗證系統(tǒng)1,服務定義表數(shù)據(jù)描述表示各個企業(yè)提供 的服務類型的名稱,即服務類型單元,IC卡3中使用的服務的編號, 以及當提供該服務時使用的密鑰信息。這保存在外部存儲器7中。于 是,不是SAM芯片8的開發(fā)者的企業(yè)15_1-15一3能夠借助腳本程序 21—1、21_2和21—3產(chǎn)生他們自己的運行于SAM芯片8上的應用程序, 并且通過SAM芯片8把這些應用程序下栽到外部存儲器7中以供定 制。即,在不把密鑰信息、直接操作IC卡3的操作命令或者其它高度 機密的信息告知企業(yè)15_1-15—3的情況下,這些企業(yè)可定制他們自己 的應用程序。此外,當企業(yè)定制其應用程序時,它不必知道密鑰信息 或者卡操作命令,從而減輕了企業(yè)的負擔。
此外,根據(jù)驗證系統(tǒng)l,由于能夠定義生成若干服務的計算內容, 因此能夠在IC卡3 —側提供組合經(jīng)批準同時執(zhí)行的大量服務中的若干 服務的不同服務。
此外,根據(jù)驗證系統(tǒng)1,通過引入數(shù)椐塊的概念,能夠容易地管 理關于IC卡3的數(shù)據(jù)輸入和數(shù)據(jù)輸出以及日志數(shù)據(jù)。
圖17是更具體地表示圖9中所示SAM芯片8的功能塊的功能方 框圖。
如圖9中所示,SAM芯片8通過內部總線90與ASPS通信接口 裝置60、外部存儲器通信接口裝置61、總線擾頻裝置62、隨機數(shù)發(fā) 生器63、加密/解密裝置64、存儲器65和CPU66。
在圖17中所示的SAM芯片8中,如圖18中所示,還能夠使和 內部總線卯相連的卡I/F裝置91與SAM與芯片8外的RF接收/發(fā)射 裝置92相連,并且通過RF接收/發(fā)射裝置92的天線92a借助非接觸式系統(tǒng)與IC卡3傳送數(shù)據(jù)。 第二實施例
本實施例是對應于本發(fā)明的第七到第九方面的實施例。 圖19是本實施例的通信系統(tǒng)101的整體結構的示意圖。 如圖19中所示,通信系統(tǒng)101使用服務器102、 IC卡103(本發(fā) 明的集成電路)、讀卡機/寫卡機104、個人計算機105、 ASP (應用 服務提供者)服務器106、 SAM (保密應用模塊)裝置109、個人計 算機116—1、 116—2和116—3、以及身份驗證裝置117_1、 117—2和117—3 通過因特網(wǎng)IO通信,并且執(zhí)行使用IC卡103的過程的結算處理或者 其它處理。
SAM裝置109具有外部存儲器107 (本發(fā)明的半導體存儲電路) 和SAM芯片108 (本發(fā)明的半導體電路)。
SAM芯片108具有圖20中所示的軟件配置。
如圖20中所示,從底層到頂層,SAM芯片108具有HW()哽件) 層、OS層、低級處理程序層、高級處理程序層和AP層。
低級處理程序層包括驅動程序層。
這里,AP層包括確定信用卡公司或者圖19中所示的其它企業(yè)
115— 1、 115—2和115—3使用IC卡103的過程的應用程序AP_1、 AP—2 和AP_3。
在AP層,在應用程序AP—1、 AP一2及AP—3和高級處理程序層 之間設置防火墻FW(本發(fā)明的防火墻)。
SAM芯片108通過SCSI端口、以太網(wǎng)等與ASP服務器106相連。 ASP服務器106通過因特網(wǎng)110與若干終端設備相連,包括最終用戶 的個人計算機105和企業(yè)115一1、115—2和115—3的個人計算機116—1、
116— 2和116一3。
個人計算機105通過串口或USB端口與Dumb型讀卡機/寫卡機 104相連。讀卡機/寫卡機104實現(xiàn)與IC卡103的物理無線通信。
在SAM裝置109 —側產(chǎn)生發(fā)送給IC卡103的操作命令并分析來 自于IC卡103的響應分組。于是,讀卡機/寫卡機104、個人計算機105、和它們之間的ASP服務辨106只起把命令或響應內容保存在數(shù)
據(jù)有效負載部分中并且中繼數(shù)據(jù)有效負栽部分的作用,它們不參與數(shù) 據(jù)的加密或解密、身份驗證和IC卡103中的其它實際操作。
企業(yè)115—1、 115_2和115—3使用他們的個人計算機116_1、 116_2 和116_3產(chǎn)生應用程序AP—1、 AP—2和AP—3,并且通過SAM芯片 108經(jīng)驗證裝置117—1、 117—2和117_3把產(chǎn)生的應用程序下栽到外部 存儲器107中的預定存儲區(qū)中。
此時,由于企業(yè)115_1、 115—2和115—3彼此無關,因此SAM芯 片108事先確定外部存儲器107中應用程序AP—1、 AP一2和AP—3可 被下載到的存儲區(qū),以及驗證是否有權下載到這樣的存儲區(qū)。
此外,在執(zhí)行應用程序AP—1、 AP一2和AP一3的時候,防火墻FW 限制應用程序AP_1、 AP_2和AP—3之間的數(shù)據(jù)傳送和查看。
當把應用程序AP_1、 AP_2和AP—3下載到SAM芯片108時, 如后所述,驗證裝置117_1、 117—2和117—3執(zhí)行與SAM芯片108的 相互驗證,產(chǎn)生下載簽名驗證密鑰信息等等。
下面說明圖19中所示的組件。
圖21是IC卡103的功能方框圖。
如圖21中所示,IC卡103具有配有存儲器150和處理器151的 IC (集成電路)103a。
如圖22中所示,存儲器150具有由信用卡公司或其它企業(yè)115一1 使用的存儲區(qū)155—1,由企業(yè)115一2使用的存儲區(qū)155—2和由企業(yè) 115一3使用的存儲區(qū)155—3。
此外,存儲器150保存用于判斷對存儲區(qū)155—1的權限的存在的 密鑰信息,用于判斷對存儲區(qū)155—2的訪問權限的密鑰信息和用于判 斷對存儲區(qū)155_3的訪問權限的密鑰信息。密鑰信息專用于相互身份 驗證、數(shù)據(jù)的加密和解密等等。
此外,存儲器150保存IC卡103或IC卡103用戶的身份識別信
命下面將更詳細地說明SAM裝置109。 [外部存儲器10"
圖23說明了外部存儲器107的存儲區(qū)。
如圖23中所示,外部存儲器107的存儲區(qū)包括保存企業(yè)115_1的 應用程序AP—1的AP存儲區(qū)120—l,保存企業(yè)115—2的應用程序AP—2 的AP存儲區(qū)120_2,保存企業(yè)115—3的應用程序AP—3的AP存儲區(qū) 120一3,由SAM芯片108的管理人員4吏用的AP管理存儲區(qū)121和密 鑰信息存儲區(qū)122。
保存在AP存儲區(qū)120_1中的應用程序AP_1由若干程序模塊組 成。對AP存儲區(qū)120—1的訪問由防火墻FW—1限制。
保存在AP存儲區(qū)120—2中的應用程序AP一2由若干程序模塊組 成。對AP存儲區(qū)120—2的訪問由防火墻FW一2限制。
保存在AP存儲區(qū)120—3中的應用程序AP一3由若干程序模塊組 成。對AP存儲區(qū)120—3的訪問由防火墻FW—3限制。
本實施例中,上面的程序模塊是從SAM裝置109之外下載到外 部存儲器107的最小單元。構成每個應用程序的程序模塊的數(shù)目可由 相應的企業(yè)自由確定。
此外,保存在外部存儲器107中的應用程序AP_1、 AP—2和AP—3 被加密編碼。當被讀入SAM芯片108時,這些應用程序被解除加密 編碼。
此外,應用程序AP—1、 AP_2和AP—3由使用圖19中所示的個人 計算機116_1、 116—2和116一3的企業(yè)115_1、 115_2和115—3產(chǎn)生, 并且通過SAM芯片108被下載到外部存儲器107。
對AP管理存儲區(qū)121的訪問由防火墻FW—4限制。 注意防火墻FW_1、 FW—2、 FW_3和FW—4對應于圖20中所示 的防火墻FW。
AP管理存儲區(qū)121保存圖24中所示的模塊管理數(shù)據(jù)130。 模塊管理數(shù)據(jù)130事先記錄從個人計算機116—1、 116_2和116_3
下載的程序模塊的模塊名稱和下載簽名驗證密鑰信息(本發(fā)明的下載密鑰信息)。
即,以具有事先記錄于其中的下載簽名驗證密鑰信息的模塊管理
數(shù)據(jù)130為條件允許程序模塊的下載。
此外,模塊管理數(shù)據(jù)130把由SAM芯片108執(zhí)行的程序模塊的 模塊名稱和執(zhí)行簽名驗證密鑰信息記錄于其中。
即,以具有事先記錄于其中的執(zhí)行簽名驗證密鑰信息的模塊管理
數(shù)據(jù)130為條件,獲得將由SAM芯片108執(zhí)行程序模塊的權限。
如圖24中所示,模塊管理數(shù)據(jù)130表示限制訪問程序模塊的防火 墻的防火墻編號(本發(fā)明的防火墻識別信息)的一致性,開始地址, 地址長度,下栽簽名驗證密鑰信息,執(zhí)行簽名驗證密鑰信息和保存在 AP存儲區(qū)120_1、 120_2和120—3中的應用程序AP_1、 AP—2和AP_3 的各個程序模塊的模塊名稱。
這里,防火墻編號表示防止對程序模塊的訪問的防火墻的編號。 開始地址表示防火墻限制訪問的存儲區(qū)的開始地址。 地址長度表示防火墻限制防問的存儲區(qū)的地址長度。 下栽簽名驗證密鑰信息是用于當通過SAM芯片108把程序模塊 下栽到外部存儲器107時執(zhí)行的簽名驗證的密鑰信息。
執(zhí)行簽名驗證密鑰信息用于驗證當SAM芯片108執(zhí)行程序模塊 時,給予程序模塊的簽名信息。例如,本實施例中,每個程序模塊被 賦予證明其合法性的簽名信息。當程序模塊已被非法修改或者竄改, 可使用執(zhí)行簽名驗證密鑰信息驗證簽名信息,以確認程序模塊的合法 性。
模塊名稱是分配給程序模塊的名稱。
密鑰信息存儲區(qū)122保存當執(zhí)行應用程序AP一l,訪問圖22中所 示的IC卡103的存儲區(qū)155—1時所使用的加密密鑰信息Kj:i,當執(zhí) 行應用程序AP—2,訪問圖22中所示的IC卡103的存儲區(qū)155_2時 所使用的加密密鑰信息K一C2,以及當執(zhí)行應用程序AP—3,訪問圖22 中所示的IC卡103的存儲區(qū)155—3時所使用的加密密鑰信息K一C3。
利用密鑰信息K X對密鑰信息K一C1、 K一C2和K一C3加密。只有SAM芯片108的管理人員才允許對密鑰信息存儲區(qū)122的 訪問。
圖25是圖19中所示的SAM芯片108的功能方框圖。 如圖25中所示,SAM芯片108具有ASPS通信接口裝置160、外 部存儲器通信接口裝置161,總線擾頻裝置162,簽名處理裝置163, 驗證處理裝置164,加密/解密裝置165,存儲器166和CPU 167。 SAM芯片108是防竄改模塊。
ASPS通信接口裝置160是用于關于圖19中所示的ASP服務器 106輸入輸出數(shù)據(jù)的接口。
外部存儲器通信接口裝置161是用于關于外部存儲器107輸入輸 出數(shù)據(jù)的接口。
當通過外部存儲器通信接口裝置161輸入和輸出數(shù)據(jù)時,總線擾 頻裝置162對輸出數(shù)據(jù)編碼加密并對輸入數(shù)據(jù)解密。
如后所述,當通過因特網(wǎng)110把應用程序下栽到外部存儲器107 時,以及當執(zhí)行該應用程序時,簽名處理裝置163產(chǎn)生簽名并驗證簽 名。
當通過因特網(wǎng)110把應用程序下載到外部存儲器107時,驗證處
理裝置164執(zhí)行關于另 一方的相互驗證。
加密/解密裝置165對數(shù)據(jù)加密,并對加密數(shù)據(jù)解密。
存儲器166保存用于對保存在上面提及的外部存儲器107的密鑰
信息存儲區(qū)122中的密鑰信息K—Cl、 K_C2和K_C3解密的密鑰信息
K一X。
CPU 167根據(jù)預定程序(本發(fā)明的程序)執(zhí)行如后所述的任務, 并且執(zhí)行按照這些任務的執(zhí)行所指定的應用程序。 圖26說明了由CPU 167執(zhí)行的任務。
如圖26中所示,CPU 167執(zhí)行下載任務170、系統(tǒng)任務171、 AP 任務172 (本發(fā)明的程序)和結算處理例程任務173。
如后所述,下載任務170執(zhí)行通過SAM芯片108,從SAM裝置109之外把應用程序下載到外部存儲器107的處理。
系統(tǒng)任務171是執(zhí)行只有IC卡103才有的驅動器管理操作,以及 其它處理的任務。
AP任務172全面管理當SAM芯片108從ASP服務器106或者從 SAM芯片108之外的其它地方接收處理請求時執(zhí)行的應用程序AP—1、 AP—2和AP一3的執(zhí)行。
結算處理例程任務173確定當SAM芯片108從ASP服務器106 接收涉及IC卡103的處理請求時,將使用應用程序AP—1、 AP一2和 AP—3中的哪一個。
下面將說明通信系統(tǒng)101的操作的例子。
圖27是說明把應用程序AP—l從圖19中所示的個人計算機116一1 下栽到外部存儲器107的操作的流程圖。 步驟ST101:
圖19中所示的個人計算機116—1通過驗證裝置117—l把指定將下 載的各個程序模塊的模塊名稱的下載請求傳送給SAM芯片108。 步驟ST102:
運行于圖26中所示的SAM芯片108上的下載任務170執(zhí)行關于 和個人計算機116—1相連的驗證裝置117_1的相互驗證。此外,當相 互驗證確認了相互的合法性時,執(zhí)行步驟ST103的處理。
注意,在本實施例中,可把各種技術用作相互驗證技術,不過使 用了下述技術。
驗證裝置117—1和SAM芯片108都保存有SAM芯片108的身份 識別信息,即SAM一ID,和相互驗證主密鑰信息。
此外,驗證裝置117_1利用相互驗證主密鑰信息對SAMJD加密, 并將其傳送給SAM芯片108。 SAM芯片108利用相互驗證主密鑰對 接收的加密SAM一ID解密,并將其和它自己保存的SAM一ID進行比較。 如果匹配,則確認驗證裝置117—1的合法性。此外,與此相反,SAM 芯片108利用相互驗證主密鑰信息對SAM—ID加密,并將其傳送給驗證裝置117_1。驗證裝置117_1利用相互驗證主密鑰對接收的加密 SAM—ID解密,并將其和它自己保存的SAM_ID進行比較。如果匹配, 則確i人SAM芯片108的合法性。 步驟ST紙
下載任務170判斷在步驟ST101由下載請求指定的各個模塊名稱 是否記錄到模塊管理數(shù)據(jù)130中,所述模塊管理數(shù)據(jù)130保存在外部 存儲器107的AP管理存儲區(qū)121中。
步驟ST104:
當在步驟ST103判斷各個模塊名稱未被記錄時,在不進行下載處 理的情況下結束處理,而當判斷各個模塊名稱被記錄時,執(zhí)行步驟 ST105的處理。
步驟ST105:
驗證裝置117—1利用AP主密鑰KEY-A對作為明文的SAM_ID 加密,產(chǎn)生下載簽名驗證密鑰信息。
此外,它把下載簽名驗證密鑰信息或者利用該下載簽名驗證密鑰 信息產(chǎn)生的簽名信息傳送給SAM芯片108。
步驟ST106:
當在步驟ST105收到下載簽名驗證密鑰信息時,下載任務170判 斷接收的下載簽名驗證密鑰信息是否和模塊管理數(shù)據(jù)130中的對應模 塊名稱的下載簽名驗證密鑰信息匹配。
此外,當在步驟ST105收到簽名信息時,下載任務170使用模塊 管理數(shù)據(jù)130中的對應模塊名稱的下載簽名驗證密鑰信息來判斷簽名 信息的合法性。
步驟ST107:
當在步驟ST106判斷下載簽名驗證密鑰信息匹配時,或者當判斷 簽名信息合法時,下載任務170轉到步驟S108的處理,而在其它情況 下結束處理。
步驟ST108:
下載任務170通過查看模塊管理數(shù)據(jù)130,指定外部存儲器107中和在步驟ST101指定的模塊名稱對應的地址,并且把程序模塊從個 人計算機116—1下載到外部存儲器107上的指定地址。 [執(zhí)行應用程序的操作]
圖28是說明圖19中所示的SAM芯片108執(zhí)行應用程序AP_1的 操作的流程圖。 步驟ST111:
當SAM芯片108從ASP服務器106接收執(zhí)行應用程序AP—1的 請求時,圖26中所示的AP任務172執(zhí)行步驟ST112的處理。 步驟ST112:
在AP任務172執(zhí)行應用程序AP_1的程序模塊時,通過參考模塊 管理數(shù)據(jù)130,它可獲得對應于程序模塊的模塊名稱的執(zhí)行簽名驗證 密鑰信息。
步驟ST113:
AP任務172使用在步驟ST112獲得的執(zhí)行簽名驗證密鑰信息驗 證該程序模塊的信號信息的合法性。
即,它判斷程序模塊是否已被非法變更或竄改。 步驟ST114:
當AP任務172在步驟ST113驗證該簽名信息合法時,它轉到步 驟ST115的處理,而當它判斷該簽名信息不合法時,結束處理。 步驟ST115:
AP任務172執(zhí)行其簽名信息已被判斷為合法的程序模塊。 注意,作為程序中的子例程,程序模塊也可由圖25中所示的CPU 167執(zhí)行。
圖40是圖33中所示的SAM芯片208的功能方框圖。如圖40中所示,SAM芯片208具有ASPS通信接口裝置260、外部存儲器通信接口裝置261,總線擾頻裝置262,簽名處理裝置263,驗證處理裝置264,加密/解密裝置265,存儲器266和CPU267。 SAM芯片208是防竄改模塊。
ASPS通信接口裝置160是用于關于圖33中所示的ASP服務器 206輸入輸出數(shù)據(jù)的接口。
外部存儲器通信接口裝置261是用于關于外部存儲器207輸入輸 出數(shù)據(jù)的接口。
當通過外部存儲器通信接口裝置261輸入和輸出數(shù)據(jù)時,總線擾 頻裝置262對輸出數(shù)據(jù)擾頻并對輸入數(shù)據(jù)解擾頻。 即,外部存儲器207以解擾頻狀態(tài)保存數(shù)據(jù)。
在當通過因特網(wǎng)210把應用程序下栽到外部存儲器207時,以及 當執(zhí)行該應用程序時,如后所述的簽名處理裝置263產(chǎn)生簽名并驗證 簽名。
當通過因特網(wǎng)210把應用程序下載到外部存儲器207時,如后所 述,驗證處理裝置264執(zhí)行關于另一方的相互驗證。
加密/解密裝置265對數(shù)據(jù)加密,并對加密數(shù)據(jù)解密。
存儲器266保存CPU 267的處理所需的數(shù)據(jù)。
CPU 267根據(jù)預定程序(本發(fā)明的程序)執(zhí)行如后所述的任務, 并且執(zhí)行按照這些任務的執(zhí)行所指定的應用程序。
圖41說明了由CPU 267執(zhí)行的4壬務。
如圖41中所示,CPU167執(zhí)行下載任務270、系統(tǒng)任務271、 AP 任務272、結算處理例程任務273、 AP間通信任務274和SAM間通 信任務275。
如后所述,下載任務270執(zhí)行通過SAM芯片208,從SAM裝置 209之外把應用程序下載到外部存儲器207的處理。
系統(tǒng)任務271是執(zhí)行只有IC卡203才有的驅動器管理操作,或者 其它處理的任務。
AP任務272全面管理當SAM芯片208從ASP服務器206或者從 SAM芯片208外的其它地方接收程序請求時執(zhí)行的應用程序AP_1、 AP 2和AP 3的執(zhí)行。如圖42中所示,當SAM芯片208從ASP服務器206接收關于 IC卡203的處理請求時,結算處理例程任務273根據(jù)圖38中所示的 AP選擇數(shù)據(jù)231獲得對應于包含在處理請求中的IC卡類型信息的AP 的身份識別信息,并且選擇和執(zhí)行對應于該AP身份識別信息的應用 程序AP_1、 AP_2和AP—3。
AP間通信任務274管理應用程序之間的通信。 圖43是說明AP間通信任務274的處理的流程圖。 這里,所給出的說明舉例描述應用程序AP—1發(fā)出把數(shù)據(jù)寫入 AP—2的通信請求的情況。 步驟ST201:
當正在執(zhí)行的應用程序AP—1發(fā)出把數(shù)據(jù)寫入AP—2的通信請求 時,執(zhí)4亍步驟ST202的處理。 步驟ST202:
在步驟ST201發(fā)出的通信請求由AP間通信任務274接收。 步驟ST203:
AP間通信任務274查看圖39中所示的AP間通信數(shù)據(jù)232,并且 判斷通信程序AP—1是否能夠和AP—2通信。 步驟ST204:
當AP間通信任務274在步驟ST203判斷可進行通信時,它執(zhí)行 步驟ST205的處理,而當不能進行通信時,結束處理。
本例中,根據(jù)圖39,應用程序AP—1能夠與AP—2通信,因此執(zhí) 行步驟ST205的處理。
步驟ST205:
在AP間通信任務274的控制下,應用程序AP_1把數(shù)據(jù)寫入圖 37中所示的AP間通信存儲區(qū)233中。 步驟ST206:
AP間通信任務274向應用程序AP一2通知數(shù)據(jù)正被寫入的事實。 步驟ST207:
應用程序AP 2根據(jù)在步驟ST206接收的通知,從AP間通信存儲區(qū)233讀取數(shù)據(jù)。
由此,完成通過防火墻中繼的應用程序AP一1和AP—2之間的通信。 如圖44中所示,根據(jù)需要,SAM間通信任務275能夠起動位于 SAM芯片208之外的SAM芯片208x的SAM間通信任務275,并且 向SAM芯片208x的SAM間通信任務275發(fā)出遠程命令。
當SAM芯片208的處理負荷變大,并且它不能適當?shù)貓?zhí)行處理 時,這種遠程命令由SAM芯片208的SAM間通信任務275發(fā)送給 SAM芯片208x的SAM間通信任務275,請求SAM芯片208x至少執(zhí) 行分配給SAM芯片208的部分處理。
下面將說明圖33中所示的通信系統(tǒng)201的整體操作。 圖45說明了圖33中所示的通信系統(tǒng)201的整體操作。 步驟ST231:
企業(yè)215_1-215_3或者被這些企業(yè)請求的一方在圖33中所示的個 人計算機216_1、 216_2和216_3上產(chǎn)生這些企業(yè)的應用程序AP—1、 AP_2和AP_3,以i更執(zhí)行關于利用IC卡203的交易的處理。
步驟ST232:
應用程序AP—1、 AP—2和AP—3通過驗證裝置217—1、 217—2和 217—3從個人計算機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等締結。
步驟ST234:
例如,當用戶希望使用個人計算機205通過因特網(wǎng)210訪問服務 器202并購買產(chǎn)品時,服務器202通過因特網(wǎng)210向ASP服務器206 發(fā)送處理請求。
當ASP服務器206從服務器202接收處理請求時,ASP服務器206通過因特網(wǎng)210訪問個人計算機205。此外,由讀卡機/寫卡機204 發(fā)出的關于IC卡203的處理請求通過個人計算機205、因特網(wǎng)210 和ASP服務器206被發(fā)送給SAM芯片208。 步驟ST235:
根據(jù)在步驟ST234接收的處理處理請求,SAM芯片208借助結算 處理例程任務273選擇應用程序,并且執(zhí)行選擇的應用程序。
在應用程序的執(zhí)行中,在應用程序之間進行的任意通信由如上提 及的圖43中所示的AP間通信任務274完成。
步驟ST236:
SAM芯片208把應用程序的執(zhí)行結果輸出給ASP服務器206。 如上所述,根據(jù)通信系統(tǒng)201,如圖34和圖37中所示,防火墻 限制應用程序APJ、 AP—2和AP—3相互訪問,因此能夠防止應用程 序受到非法監(jiān)視和竄改。此外,能夠提高各個應用程序的機密性。 此外,根據(jù)通信系統(tǒng)201,通過圖41中所示的AP間通信任務274 使用圖37中所示的外部存儲器207的AP管理存儲區(qū)221完成圖43 中所示的處理,在預先許可的范圍內允許應用程序之間的通信。 于是,能夠通過若干應用程序的同步和合作提供不同的服務。 就這種不同的服務而論,例如,存在圖41中所示的結算處理例程 273自動選擇應用程序的情況。即,雖然計算內容的層次相同,但 是對于按照IC卡203的發(fā)行者在結算協(xié)議方面不同的結算處理來 說,如果已知IC卡203的類型,則可自動確定對應的應用程序。于 是,通過在結算處理例程任務273的層次記錄結算處理,則可自動 確定IC卡203的類型和對應的應用程序。由此,可減輕應用程序開 發(fā)人員的負擔。
此外,根據(jù)通信系統(tǒng)201,由于保存在外部存儲器207中的信息 被圖40中所示的SAM芯片208的總線擾頻裝置262擾頻,因此對 于來自外部的分析來說,存在相當高的機密性。
此外,根據(jù)通信系統(tǒng)201,通過提供圖41中所示的SAM間通信 任務275,能夠把SAM芯片208的處理負擔分散給其它SAM芯片。于是,當把SAM芯片208安裝在必須同時應付來自于若干終端設 備的關于結算處理的處理請求的商店服務器等中時,能夠使用SAM 間通信任務275的功能提高使用若干SAM芯片208的結算處理能 力。
圖46是更詳細地表示圖40中所示的SAM芯片208的功能塊的 方框圖。
如圖46中所示,SAM芯片208通過內部總線290與ASPS通信 接口裝置260、外部存儲器通信接口裝置261、總線擾頻裝置262、 加密/解密裝置265、存儲器266和CPU 267相連。
圖40中所示的簽名處理裝置263和驗證處理裝置264的部分功能 由CPU 267實現(xiàn)。
如圖47中所示,圖46中所示的SAM芯片208還可使與內部總 線290相連的卡I/F裝置291和SAM芯片208之外的RF接收/發(fā)射 裝置292相連,并且通過RF接收/發(fā)射裝置292的天線292a,借助 非接觸式系統(tǒng)與IC卡203傳送數(shù)據(jù)。
第四實施例
該實施例是對應于本發(fā)明的第13 ~ 16方面的實施例。 圖48是本實施例的通信系統(tǒng)301的整體結構的視圖。 如圖48中所示,通信系統(tǒng)301使用服務器302, IC卡303 (本發(fā) 明的集成電路),讀卡機/寫卡機304,個人計算機305, ASP(應用 服務提供者)服務器306, SAM (保密應用模塊)裝置309,個人 計算機316—1、 316—2、 316_3、 316—4和316—5,身份驗證裝置317—1、 317—2、 317_3、 317—4和317—5 (本發(fā)明的驗證設備)和ICE (線路 內仿真器)318通過因特網(wǎng)310通信,開發(fā)或者定制SAM芯片308 的軟件,執(zhí)行利用IC卡303的結算處理,等等。
SAM裝置309具有外部存儲器307 (本發(fā)明的半導體存儲電路) 和SAM芯片308 (本發(fā)明的半導體電路)。 SAM芯片308具有如圖49中所示的軟件配置。 如圖49中所示,從底層到頂層,SAM芯片308具有HW(硬件)層、OS層、低級處理程序層、高級處理程序層和應用(AP)層。
低級處理程序層確定不依賴于應用程序的處理,并且對應于OSI
協(xié)議中的傳送層、網(wǎng)絡層和數(shù)據(jù)鏈路層。 低級處理程序層包括驅動程序層。 驅動程序層執(zhí)行和LSI的操作有關的處理。
高級處理程序層確定依賴于應用程序的處理,并且對應于OSI協(xié) 議中比傳送層高的層次。
這里,OS層對應于本發(fā)明的第一層,低級處理程序層、驅動程序 層和高級處理程序層對應于本發(fā)明的第二層,AP層對應于本發(fā)明的第 三層。
AP層包括確定信用卡公司和圖48中所示的其它企業(yè)315—AP1、
315— AP2和315—AP3使用IC卡303的過程的應用程序AP—1、 AP_2 和AP—3。
在AP層中,在應用程序AP—1、 AP—2及AP—3和高級處理程序 層之間設置防火墻FW(本發(fā)明的防火墻)。
在圖49中所示的軟件配置中,AP層確定各個企業(yè)專用的處理,例 如,使用IC卡303的結算處理的內容。直接操作IC卡303的處理由 高級處理程序層以下(on down)各層確定。
SAM芯片308通過SCSI端口 、以太網(wǎng)等與ASP服務器306相連。
ASP服務器306通過因特網(wǎng)310與個人計算機305、316—1 、316—2、
316— 3、 316_4和316—5相連。
個人計算機316一1由SAM芯片308所執(zhí)行的應用程序AP—1的企 業(yè)315_AP1使用。
個人計算機316一2由SAM芯片308所執(zhí)行的應用程序AP_1的企 業(yè)315—AP2使用。
個人計算機316—3由SAM芯片308所執(zhí)行的應用程序AP_1的企 業(yè)315_AP3使用。
個人計算機316—4由能夠開發(fā)SAM芯片308的高級處理程序層 和包括驅動程序層的低級處理程序層的軟件開發(fā)者315 MID使用。個人計算機316—5由SAM芯片308的制造者,即有權整體管理 SAM芯片308的軟件開發(fā)者315_SUP使用。
企業(yè)315—API 、 315—AP2和315—AP3使用個人計算機316—1 、316—2 和316—3產(chǎn)生應用程序AP—1、 AP_2和AP—3,并且通過SAM芯片 308,經(jīng)驗證裝置317—1、 317—2和317—3把產(chǎn)生的應用程序下載到外 部存儲器307中預先分配的存儲區(qū)中。
此時,企業(yè)315—APl、 315—AP2和315_AP3相互毫無關系,因此 事先確定外部存儲器307中可下載應用程序AP_1、 AP_2和AP一3的 存儲區(qū)。SAM芯片308驗證應用程序是否有權下載到這樣的存儲區(qū)。
此外,在應用程序AP—1、 AP一2和AP一3的執(zhí)行過程中,防火墻 FW限止應用程序AP_1、 AP一2和AP一3之間的數(shù)據(jù)傳送和數(shù)據(jù)查看。
軟件開發(fā)者315一MID根據(jù)需要,通過驗證裝置317一4把預定程序 下栽到SAM芯片308,以便定制SAM芯片308的圖49中所示的高級 處理程序層和包括驅動程序層的低級處理程序層等等。
此外,軟件開發(fā)者315—SUP通過驗證裝置317—5把預定程序下載 到SAM芯片308,以便定制圖49中所示的所有各層。
如后所述,當把預定程序從個人計算機316—1-316—5下載到SAM 芯片308時,驗證裝置371一1-317一5相互驗證,并且利用SAM芯片 308產(chǎn)生下載簽名驗證密鑰信息等等。
個人計算機305由IC卡303的所有者,即最終用戶使用。
個人計算機305通過串行端口或者USP端口與Dumb型讀卡才幾/ 寫卡機304相連。讀卡機/寫卡機304實現(xiàn)與IC止303的物理無線通 信。
在SAM裝置309 —側產(chǎn)生發(fā)送給IC卡303的操作命令并分析來 自于IC卡303的響應分組。于是,讀卡機/寫卡機304、個人計算機 305、和介于它們之間的ASP服務器306只起把命令或響應內容保存 在數(shù)據(jù)有效負載部分中,并且中繼數(shù)據(jù)有效負載部分的作用,它們不 參與數(shù)據(jù)的加密或解密、身份驗證、或者IC卡303中的其它操作。
此外,ICE 318是當調試運行于SAM芯片308上的程序時4吏用的仿真器。
下面將說明圖48中所示的組件。 IC卡303
IC卡303保存使用SAM芯片308的結算處理所必需的密鑰信息 等等。
身份驗證裝置317 1-317 5
圖50是驗證裝置317一1的功能方框圖。
如圖50中所示,驗證裝置317—1具有存儲器350—1和處理器 351」。
如圖50中所示,存儲器350—1保存SAM一ID、相互驗證主密鑰信 息Kl和訪問主密鑰信息KA。
SAM—ID是SAM芯片308的身份識別信息。
如后所述,相互驗證主密鑰信息Kl用于產(chǎn)生相互驗證密鑰信息K2。
如后所述,訪問主密鑰信息KA用于產(chǎn)生當把程序下栽到外部存 儲器307中時使用的下栽簽名信息。
訪問主密鑰信息KA是把圖49中所示的SAM芯片308的軟件結 構的AP層的程序下載到外部存儲器307所必需的密鑰信息。
如圖50中所示,處理器351_1具有相互驗證裝置352—1和下載處 理器353—1。
如圖51中所示,當把程序下載到外部存儲器307時,相互驗證裝 置352—1利用相互驗證主密鑰信息Kl對呈明文形式的SAM一ID加密, 產(chǎn)生相互驗證密鑰信息K2,并且把該相互驗證密鑰信息K2用于和 SAM芯片308的相互驗證。
如圖52中所示,當把程序下載到外部存儲器307時,下載處理器 353—1利用訪問主密鑰信息KA對呈明文形式的SAMJQ)加密,產(chǎn)生 下載密鑰信息K—DA。此外,下載處理器353_1使用下載密鑰信息 K^DA產(chǎn)生下載簽名信息,并將其傳送給SAM芯片308。
驗證裝置317 2和317 3的結構和上面說明的驗證裝置317 1相同。但是,各個驗證裝置的訪問主密鑰信息KA的內容各不相同。 圖53是驗證裝置317_4的功能方框圖。
如圖53中所示,驗證裝置317_4具有存儲器350—4和處理器 351—4。
如圖53中所示,存儲器350—4保存SAM—ID、相互驗證主密鑰信 息Kl和訪問主密鑰信息KA和KM。
SAM一ID、相互驗證主密鑰信息Kl和訪問主密鑰信息KA和上面 說明的相同。
訪問主密鑰信息KM是用于把圖49中所示SAM芯片308的軟件 結構的高級處理程序層和包括驅動程序層的低級處理程序層的程序下 載到外部存儲器307或者SAM芯片308的密鑰信息。
如圖53中所示,處理器351—4具有相互驗證裝置352—4和下載處 理器353—4。
相互驗證裝置352—4和圖51中說明的相互驗證裝置352_1相同。 如圖54中所示,當把程序下載到外部存儲器307時,下載處理器 353—4利用訪問主密鑰信息KA對呈明文形式的SAMJD加密,產(chǎn)生 下載密鑰信息K^DA。隨后,下栽處理裝置353_4利用訪問主密鑰信 息KM對作為明文的下載密鑰信息K一DA加密,產(chǎn)生下載密鑰信息 K一DM。之后,下載處理裝置353—4使用下載密鑰信息K—DM產(chǎn)生下 載簽名信息,并將其傳送給SAM芯片308。 圖55是驗證裝置317一5的功能方框圖。
如圖55中所示,驗證裝置317—5具有存儲器350_5和處理器 351 5。
如圖55中所示,存儲器350_5保存SAM_ID、相互驗證主密鑰信 息Kl和訪問主密鑰4言息KA、 KM及KS。
SAM一ID、相互驗證主密鑰信息Kl和訪問主密鑰信息KA及KM 和上面說明的相同。
訪問主密鑰信息KS是把圖49中所示SAM芯片308的軟件結構 的OS層的程序下栽到外部存儲器307或者SAM芯片308所需的密鑰4§息。
如圖55中所示,處理器351—5具有相互驗證裝置352一5和下載處 理器353一5。
相互驗證裝置352—5和上面提及的圖51中所示的相互驗證裝置
352— 1相同。
如圖56中所示,當把程序下載到外部存儲器307時,下載處理器
353— 5利用訪問主密鑰信息KA對作為明文的SAMJD加密,產(chǎn)生下 載密鑰信息K—DA。隨后,下栽處理器353—5利用訪問主密鑰信息KM 對作為明文的下載密鑰信息K一DA加密,產(chǎn)生下載密鑰信息K一DM。 之后,下載處理器353_5利用訪問主密鑰信息KS對作為明文的下栽 密鑰信息KUDM加密,產(chǎn)生下載密鑰信息K_DS。然后,下載處理器 353—5使用下載密鑰信息K—DS產(chǎn)生下載簽名信息,并將其傳送給 SAM芯片308。
本實施例中,驗證裝置317_1、 317—4和317_5安全地把信息保存 在存儲器350—1、 350_4和350_5中。當這些信息受到外界因素的破壞 或者被強制打開時,這將被檢測裝置檢測到,保存在存儲器350—1、 350—4和350—5中的信息被刪除。
SAM裝置309
使總線擾頻裝置461使用的加密算法的加密塊長度為Nc,使總線 419的數(shù)據(jù)總線寬度為Nb。在下面的例子中,考慮Nc為Nb的整倍 的情況,即整數(shù)n (=Nc/Nb)。
注意由于增加奇偶校驗和地址擾頻的緣故,CPU 466的地址空間 (SAM芯片408中的地址空間)和當總線擾頻裝置461訪問外部存儲 器407時使用的地址空間(下面也稱為"外部存儲器地址空間")不 同。
于是,如圖68中所示,通過利用預定的映射f (地址變換算法), 總線擾頻裝置461把從CPU 466輸入的地址CPU_ADR (本發(fā)明的第 一地址)轉換成外部存儲器地址空間的地址MEM一ADR (本發(fā)明的第二地址)。總線擾頻裝置461 -使用地址MEM_ADR訪問外部存儲器 407。
如圖69中所示,只有當?shù)刂穉l (地址CPU—ADR)為"al mod Nc/Nb-0"時才定義該映射f。對于另一地址a2,利用f ( a2-( a2 mod Nc/Nb))訪問外部存儲器407。
這里,"xmody"是在用y去除x之后的余數(shù)。
即,總線擾頻裝置461以加密塊長度Nc為單位相對于外部存儲 器407讀取和寫入數(shù)據(jù)。
這里,當Nc/Nb=n,并且n或更大值(nor more)的最小整數(shù)為 m時,總線擾頻裝置461以m個交易為單位執(zhí)行通過總線419訪問外 部存儲器407的交易(本發(fā)明的數(shù)據(jù)輸入/輸出交易)。
圖70是總線擾頻裝置461的功能方框圖。
如圖70中所示,總線擾頻裝置461具有加密裝置431,解密裝置 432,地址管理裝置433,擾頻密鑰管理裝置434,奇偶校驗處理裝置 435,流水線處理控制裝置436,工作存儲器437和控制器438。
加密裝置431利用預定的擾頻密鑰K對從CPU 466輸入的數(shù)據(jù)加密。
解密裝置432利用預定的擾頻密鑰K對從外部存儲器407讀取的 數(shù)據(jù)解密。
如上所述,地址管理裝置433把從CPU 466輸入的地址CPI^ADR 轉換成地址MEM—ADR。
擾頻密鑰管理裝置434管理在加密裝置431和解密裝置432使用 的擾頻密鑰K,并且恰當?shù)亟粨Q擾頻密鑰K。
奇偶校驗裝置435把奇偶校驗數(shù)據(jù)添加到要寫入外部存儲器407 的數(shù)據(jù)沖,并且驗證添加到從外部存儲器407讀取的數(shù)據(jù)中的奇偶校 驗數(shù)據(jù)。
流水線處理控制裝置436把總線擾頻裝置461的處理分成若干階 段,并且控制系統(tǒng)以階段為單位進行流水線處理。工作存儲器437用于總線擾頻裝置461的處理。 控制器438全面控制總線擾頻裝置461的處理。 [對于外部存儲器407的寫操作I
圖71說明了當圖67中所示的CPU 466把數(shù)據(jù)寫入外部存儲器 407時總線擾頻裝置461的操作。
圖72是說明圖71中所示操作的流程圖。 步驟ST401:
CPU 466把要寫入的數(shù)據(jù)DATA,即"d32"和地址CPU一ADR, 即"a3"輸出給總線擾頻裝置461。
數(shù)據(jù)"d32"被寫入圖70中所示的總線擾頻裝置461的工作存儲 器437中。
步驟ST402:
當Nc〉Nb時,圖70中所示的地ii管理裝置433使用地址"a3,, 查找映射f ( a3- ( a3 mod Nc/Nb )),則映射f ( a3-l),并把映射 f (a3-l)用作外部存儲器地址空間的地址MEIVLADR。
步驟ST403:
圖70中所示的控制器438使用在步驟ST402獲得的地址 MEM—ADR f ( a3-l )從外部存儲器407讀取加密數(shù)據(jù)塊e ( {XI, X2}),并將其寫入工作存儲器437。
步驟ST404:
圖70中所示的解密裝置432對從工作存儲器437讀取的數(shù)據(jù)塊e ((X1, X2))解密,產(chǎn)生數(shù)據(jù)塊(X1, X2}。此外,奇偶校驗處理裝置 435把添加到數(shù)據(jù)塊e ({XI, X2})的奇偶校驗數(shù)據(jù)用于奇偶校驗處 理,隨后再次把數(shù)據(jù)塊(X1, X2)寫入工作存儲器437。 步驟ST405:
控制器438重寫對應于和從工作存儲器437所讀取地址對應的數(shù) 據(jù)塊(X1, X2)中的地址"a3,,,并且已被解密成寫入數(shù)據(jù)"d32"的 "X2",以便產(chǎn)生數(shù)據(jù)塊(X1, d32},并將其寫入工作存儲器437。
步驟ST406:奇偶校驗處理裝置435產(chǎn)生數(shù)據(jù)塊(X1, d32)的奇偶校驗數(shù)據(jù)。 步驟ST407:
加密裝置431利用擾頻密鑰K對從工作存儲器437讀取的數(shù)據(jù)塊 {XI, d32)加密。 步驟ST408:
控制器438在外部存儲器407的地址MEM—ADR f ( a3-l)寫入 數(shù)據(jù)塊(X1, d32},并且在外部存儲器407的預定區(qū)域中寫入在步驟 ST406產(chǎn)生的奇偶校驗數(shù)據(jù)。
注意在步驟ST407對數(shù)據(jù)塊加密之前,控制器438判斷接下來從 CPU466輸入的地址是否為"a3-l"。如果是"a3-l",則利用寫入數(shù) 據(jù)重寫該數(shù)據(jù)塊Xl,隨后對其加密并將其寫入外部存儲器407。
由此,能夠減少對連續(xù)地址進行寫操作情況下的步驟數(shù)目。
此外,即使當把數(shù)據(jù)長度為Nb的數(shù)據(jù)寫入外部存儲器407時, 控制器438對該數(shù)據(jù)填充數(shù)據(jù)長度為(Nc-Nb)的數(shù)據(jù),以便獲得數(shù) 據(jù)長度為Nc的數(shù)據(jù),隨后對其加密,并將其寫入外部存儲器407。
即,外部存儲器407中數(shù)據(jù)長度為Nc的存儲區(qū)被均勻分配給數(shù) 據(jù)長度為Nb的數(shù)據(jù)。
圖73說明了從外部存儲器407到總線擾頻裝置的讀取操作。
圖74是說明該讀取操作的流程圖。
步驟ST411:
CPU 466把要讀取的地址CPU—ADR輸出給總線擾頻裝置461。 步驟ST412:
當Nc〉Nb時,圖70中所示的地址管理裝置433使用地址"a3" 查找映射f U3- ( a3 mod Nc/Nb )),即映射f ( a3-l),并且把映 射f ( a3-l)用作外部存儲器地址空間的地址MEM—ADR。
步驟ST413:
圖67中所示的CPU 466使用在步驟ST402獲得的地址 MEM ADR f ( a3-l)從外部存儲器407讀取加密(擾頻)數(shù)據(jù)塊e({d31, d32}),并將其寫入工作存儲器437。 步驟ST414:
圖70中所示的解密裝置432對從工作存儲器437讀取的數(shù)據(jù)塊e ({d31, d32))解密,產(chǎn)生(d31, d32}。此外,奇偶校驗處理裝置435 把添加到數(shù)據(jù)塊e( {d31, d32})中的奇偶校驗數(shù)據(jù)用于奇偶校驗處理, 隨后再次把數(shù)據(jù)塊(d31, d32》寫入工作存儲器437。
步驟ST415:
控制器438取出和從工作存儲器437讀取的數(shù)據(jù)塊(d31, d32)中 的CPU—ADR " a3"對應,并且已^皮解密的數(shù)據(jù)"d32",并將其輸出 給CPU 466。
即,控制器438取出數(shù)據(jù)塊中第"(a3modNc/Nb) +1"數(shù)據(jù), 并將其輸出給CPU466。 [擾頻密鑰的管理]
圖70中所示的擾頻密鑰管理裝置434如下管理在加密裝置431和 解密裝置432中使用的擾頻密鑰。
對于外部存儲器407中的每個地址,擾頻密鑰管理裝置434可使 用不同的密鑰。于是,必須保存若干擾頻密鑰。下面表示了保存若干 擾頻密鑰的方法的一個例子。
如圖75中所示,擾頻密鑰管理裝置434保存若干擾頻密鑰Kl、 K2和K3。它根據(jù)來自于CPU 466的地址交換使用的密鑰,并且將其 輸出給加密裝置431和解密裝置432。
具體地說,當訪問地址"al"時,它使用擾頻密鑰Kl,當訪問地 址"a2"時,它4吏用擾頻密鑰K2,當訪問地址"a3"時,它4吏用擾頻 密鑰K3。
此外,如圖76中所示,擾頻密鑰管理裝置434中的計算電路434a 利用形成類別的密鑰Ks和從CPU 466輸入的地址執(zhí)行處理,并且把 作為擾頻密鑰K的計算結果輸出給加密裝置431和解密裝置432。
計算可包括利用Ks對填充地址編號加密或解密,得到異或 (XOR),或者其它計算。此外,總線擾頻裝置461可把擾頻密鑰保存在總線的預定位置, 并且通過總線輸入和CPU466發(fā)出的地址對應的擾頻密鑰。這種情況 下,由于傳送擾頻密鑰的數(shù)據(jù)總線和總線擾頻器的總線相同,必須由 存儲器控制器進行控制。保存擾頻密鑰的位置可以是SAM芯片408 內外的任意地方,但是如果在芯片之外,為了確保到芯片的路徑的安 全性,擾頻密鑰由傳送密鑰加密,并在到達總線擾頻裝置461時被解 密。總線擾頻裝置461以硬件或軟件的形式持有傳送密鑰。
但是,在總線擾頻裝置461中,即使相對于從CPU 466輸入的每 個地址改變擾頻密鑰,如果連續(xù)訪問某一地址,通過花費一定的時間, 地址區(qū)的雜亂性被分析的可能性增大。于是,擾頻密鑰不是一個不變 的擾頻密鑰。借助如下所述的技術使之可變。
例如,當給SAM芯片408等通電時,擾頻密鑰管理裝置434導 致產(chǎn)生隨機數(shù),以便產(chǎn)生擾頻密鑰。本質上擾頻密鑰只需被總線擾頻 器知道,因此不會產(chǎn)生密鑰傳送、同步之類的問題。
此外,擾頻密鑰管理裝置434交換用于相對于外部存儲器407的 各次訪問的擾頻密鑰。這種情況下,對已存在于外部存儲器407中的 數(shù)據(jù)加密的密鑰和當前持有的密鑰必須不同。
于是,例如,如圖77和圖78中所示更新擾頻密鑰。
加密裝置431從CPU 466輸入數(shù)據(jù)"d3",而總線擾頻裝置 461從CPU 466輸入地址"al"。:解密裝置432對數(shù)據(jù)"e ( {dl, d2})"解密,產(chǎn)生數(shù)據(jù)"{dl, d2},,。
此時,擾頻密鑰管理裝置434選擇擾頻密鑰Kl,而解密裝置432 利用擾頻密鑰Kl進行解密。
此外,由數(shù)據(jù)"d3"進行重寫,產(chǎn)生數(shù)據(jù)"{d3, d2}"。
本實施例中,在流水線處理控制器436的控制下,總線擾頻裝置 461的處理被分成若干階段,以階段為單位形成流水線,從而能夠縮 短CPU 466觀察到的相對于外部存儲器407的訪問時間。
即,當不形成流水線時,從CPU 466到外部存儲器407的一次存 儲器訪問至少需要處理一個加密塊所需的時間。
例如,如果為根據(jù)CPU 466發(fā)出的地址"al"的數(shù)據(jù)的讀取指令, 由總線擾頻裝置461執(zhí)行的處理形成流水線,則當CPU 466依據(jù)程序 代碼等從地址"al,,開始連續(xù)請求更高地址的數(shù)據(jù)時,如果總線擾頻 裝置461事先讀取地址"f Ul),,之后的地址"f (al+Nc/Nb),, 的數(shù)據(jù),則能夠消除加密和解密處理的開銷。
例如,如果考慮忽略存儲器訪問的時間的情況,則在如同三重DES 之類的三循環(huán)(round)中執(zhí)行各個數(shù)據(jù)的加密, 一個加密循環(huán)需要一 個時鐘脈沖,并且Nc/Nb-l, CPU 466發(fā)出指定地址"al", " al+l" 和"al+2"的指令,以便從外部存儲器407連續(xù)讀取數(shù)據(jù)。
此時,必需進行三輪解密,并且對每個數(shù)據(jù)解密需要三個時鐘脈沖。
如果不執(zhí)行流水線處理,如圖79A中所示,CPU466發(fā)出第一個 讀取指令之后的三個時鐘脈沖,利用地址"al,,從外部存儲器407讀 取的數(shù)據(jù)"e3 (dl)"被解密三次,獲得數(shù)據(jù)"dl,,,所述數(shù)據(jù)"dl" 隨后凈皮輸入CPU 466。隨后,在另外的三個時鐘脈沖之后,利用地址 "al+l"從外部存儲器407讀取的數(shù)據(jù)"e3 (d2),,被解密三次,獲得 隨后被輸入CPU 466的數(shù)據(jù)"d2"。之后,在另外的三個時鐘脈沖之 后,利用地址"al+2"從外部存儲器407讀取的數(shù)據(jù)"e3 ( d3 ),,被 解密三次,獲得隨后被輸入CPU 466的數(shù)據(jù)"d3,,。
即,在CPU 466發(fā)出第一個讀取指令后的九個時鐘脈沖時,數(shù)據(jù) "dl"、 "d2"和"d3"被輸入CPU 466。
與此相反,在本實施例中,通過把每個循環(huán)作為一個階段,流水線處理控制器436把解密裝置432的解密處理轉換成如圖79B中所示 的三階段流水線處理。
由此,另一方面,雖然從CPU 466首次發(fā)出讀取指令開始,把對 應于地址"al,,的數(shù)據(jù)輸入CPU 466用了三個時鐘脈沖,但是隨后每 個時鐘脈沖把對應于地址"al+l,,和"al+2"的數(shù)據(jù)連續(xù)輸入CPU 466。
由此,在CPU 466首次發(fā)出讀取指令之后五個時鐘脈沖,所有 的數(shù)據(jù)"dl"、 "d2"和"d3,,被輸入CPU 466。
注意,當CPU 466請求"al,,之后遠離地址"al,,的地址"a2,, 的數(shù)據(jù)時,流水線上的數(shù)據(jù)被丟棄,在流水線中包裝地址"a2"、 "a2+l"…的數(shù)據(jù)。
首先說明執(zhí)行本發(fā)明相關技術的使用IC卡的交易商業(yè)程序的計 算機。
圖83是供本發(fā)明相關技術的電子結算之用的計算機501的功能方 框圖。
如圖83中所示,計算機501具有CPU 502、存儲器503和通信電 路504。
CPU 502、存儲器503和通信電路504與CPU數(shù)據(jù)總線506相連。 CPU 502和通信電路504與CPU地址總線507相連。 CPU502全面控制計算機501的操作,根據(jù)保存在存儲器503中
的程序的指令工作,并且在其工作過程中訪問存儲器503。
通信電路504通過接觸式系統(tǒng)或者非4妄觸式系統(tǒng)與IC卡508通
信。就接觸式類型來說,IC卡508和通信電路504由電觸點相連。此外,就非接觸式類型來說,IC卡508和通信電路504通過電磁波或者 光線等相連。
通過通信電路504從IC卡508接收的數(shù)據(jù)由CPU 502按照保存 在存儲器503中的程序進行處理。此外,通過CPU 502的處理獲得的 數(shù)據(jù)通過通信電路504 ^皮傳送給IC卡508。
此外,CPU 502把與IC卡508通信產(chǎn)生的結算結果寫入存儲器
503。
圖84說明了圖83中所示的CPU 502的軟件配置。 在圖84中,最底層是硬件層,即,圖83中所示的CPU502的硬 件組件。
硬件層上是通信驅動程序層。通信驅動程序層中安置有控制與 CPU 502相連的通信電路504的通信驅動程序層。通信驅動程序層的 程序通常被保存在非易失性存儲器中。
通信驅動程序層上是提供構成CPU 502的操作基礎的程序的操作 系統(tǒng)(OS)層。和下面各層相比,OS層向最高應用(AP)層提供更 高的概念服務。例如,其例子包括后面說明的函數(shù)"get card type()", "read card data (),,和"write card data (),,。
此外,OS層上是確定由計算機501實現(xiàn)的特定功能(服務)的 AP層。AP層具有應用程序MAIN、 AP—1、 AP—2和AP_3。
本實施例中,將以應用程序的形式舉例說明結算或者使用IC卡 508的其它交易的準備。
例如,在OS層和AP層中,確定IC卡類型508的函數(shù)由"get card type ()"定義。
在OS層和AP層中,通過調用該函數(shù)可確定IC卡508的類型。 例如,假定存在三種類型的IC卡508,即類型A、 B和C。該函數(shù)關 于IC卡508的返回值,皮定義成如圖85中所示。
例如,假定使用B類IC卡508,則函數(shù)"get card type ()"的 執(zhí)行結果的返回值變成"2"。
此外,在OS層和AP層中,"read data ( *rp ),,被定義成從IC卡508的內部存儲器讀取數(shù)據(jù)的函數(shù)。
這里,"葉p"在概念上類似于C語言中的指針,"*"表示后面 的變量是指針變量,"rp,,表示IC卡508的內部存儲器中的具體位置。 當顯示"、p,,時,這表示IC卡508的存儲器中"rp地址"的內容。 現(xiàn)在假定內部存儲器如圖86中所示保存數(shù)據(jù)。
jt匕夕卜,i口果假定"rp=102H",貝'J函數(shù)"read data ( *rp ),,的返 回值變成"56H",能夠讀取"102H地址,,的數(shù)據(jù)。
此外,在OS層和AP層中,"write data ( *wp, wdata ),,被定 義成在IC卡508的內部存儲器的特定地址寫入數(shù)據(jù)的函數(shù)。這里, "-wp"在概念上類似于C語言中的指針,"*"表示后面的變量是指針 變量,"wp,,表示IC卡508的內部存儲器的具體地址。當顯示"*wp,, 時,指示IC卡508的內部存儲器的wp地址的內容。"wdata,,是寫 數(shù)據(jù)中的變量?,F(xiàn)在假定IC卡508的存儲器如圖87中所示保存數(shù)據(jù)。 這里,如果"wp-102H"并且"wdata=73H,,,并執(zhí)行函數(shù)"write data (*wp, wdata),,,如圖87中所示,該存儲器的"102H地址" 的數(shù)據(jù)被重寫成"73H"。
圖84中所示的應用程序AP_1、 AP一2和AP—3確定和不同類型的 IC卡508相關的交易的處理。圖88中表示了對應關系。
在圖84中,在啟動計算才幾501時首次執(zhí)行應用程序MAIN。應用 程序MAIN使用上面提及的函數(shù)"get card type ()"確定使用的IC 卡508的類型。CPU 502按照根據(jù)圖88中所示的對應關系表確定的 IC卡508的類型,選擇并執(zhí)行相應的應用程序。
如果想像A類、B類和C類IC卡508由不同企業(yè)使用的情況, 則應用程序AP1、 AP2和AP3由單個企業(yè)產(chǎn)生。此外,IC卡508的 內部存儲器的存儲區(qū)被應用程序AP1、 AP2和AP3共享。應用程序使 用事先分配給它們的分區(qū)。
如上所述,應用程序AP1、 AP2和AP3由單個企業(yè)產(chǎn)生,但是有 時程序中存在錯誤,另一企業(yè)的應用程序被某一企業(yè)利用該企業(yè)的非 法程序惡意讀取,或者IC卡508中不允i午訪問的存儲區(qū)4皮非法訪問。[本發(fā)明的實施例〗
圖89是根據(jù)本發(fā)明的實施例的計算機551的結構視圖。 如圖89中所示,計算機551具有CPU 552、存儲器553、通信電
路504、判斷電路560和開關電路561。
這里,CPU 552對應于本發(fā)明的計算電路,存儲器553對應于本
發(fā)明的存儲電路,通信電路504對應于本發(fā)明的通信電路,判斷電路
560對應于本發(fā)明的連接控制電路,開關電路561對應于本發(fā)明的連
接開關電路。
CPU數(shù)據(jù)總線506使CPU 552、開關電路561、判斷電路560和 通信電路504與之相連。
CPU數(shù)據(jù)總線506對應于本發(fā)明的傳輸線路。
此外,開關電路561通過存儲器數(shù)據(jù)總線562與存儲器553相連。
此外,CPU地址總線507使存儲器553、判斷電路560和通信電 路504與之相連。
當CPU552訪問存儲器553或者計算機551之外的外圍裝置時, CPU地址總線507傳送表示地址的CPU—ADR。
在圖89中,被賦予和圖83中相同附圖標記的通信電路504和IC 卡508和圖83中說明的相同。
此外,CPU 552具有和上面利用圖84說明的相同軟件結構。即, 確定和三種IC卡508,即A類、B類和C類相關的交易的處理的程 序被用作應用程序AP1、 AP2和AP3。
通過通信電路504從IC卡508接收的數(shù)據(jù)由CPU 552才艮據(jù)l呆存 在存儲器553中的程序進行處理。此外,通過CPU 552的處理獲得的 數(shù)據(jù)通過通信電路504被傳送給IC卡508。
此外,CPU 552把通過與IC卡508通信而產(chǎn)生的結算結果寫入 存儲器553中。
開關電路561根據(jù)來自判斷電路560的判斷結果信號S560 (本發(fā) 明的控制信號),在連接狀態(tài)和斷開狀態(tài)之間切換CPU數(shù)據(jù)總線506 和存儲器數(shù)據(jù)總線562。此外,CPU 552執(zhí)行從存儲器553取出(讀出)的圖84中所示的 OS層的程序,程序MAIN和應用程序API 、 AP2和AP3的指令(代 碼)。
CPU 552根據(jù)這些指令的執(zhí)行產(chǎn)生指令類型說明信號S552a,執(zhí) 行AP說明信號S552b,被調用AP說明信號S552c (如果需要),并 且把這些信號輸出給判斷電路560。
這里,指令類型說明信號S552a是指出CPU 552執(zhí)行取出指令、 讀取指令和寫入指令中的哪個指令的信號。
這里,取出指令是用于CPU 552通過CPU數(shù)據(jù)總線506取出指 令代碼的指令。
讀取指令是用于CPU 552通過CPU數(shù)據(jù)總線506讀取數(shù)據(jù)的指令。
寫入指令是用于CPU 552通過CPU數(shù)據(jù)總線506寫入數(shù)據(jù)的指令。
此外,執(zhí)行AP說明信號S552b是表示圖84中所示的應用程序 AP1、 AP2、 AP3和MAIN及OS程序的指令中,正被CPU 552執(zhí)行 的指令屬于哪個程序的信號。
當CPU 552正在執(zhí)行的程序模塊調用另一程序模塊時,被調用 AP說明信號S552c表示調用目的地的程序模塊屬于應用程序AP1、 AP2、 AP3和MAIN及OS程序中的哪個程序。
此外,當如后所述開關電路561進入斷開狀態(tài)時,CPU 552暫停 CPU數(shù)據(jù)總線506及其操作。
下面詳細說明判斷電路560。
判斷電路560根據(jù)從CPU 552輸入的指令類型說明信號S552a和 執(zhí)行AP說明信號S552b,以及通過CPU地址總線507從CPU 552輸 入的地址CPU一ADR,產(chǎn)生判斷結果信號S560,并把判斷結果信號 S560輸出給開關電路561。
圖90是圖89中所示判斷電路的結構視圖。
如圖卯中所示,判斷電路560具有選擇電路570、取出判斷電路
1571、讀取判斷電路572和寫入判斷電路573。
選擇電路570根據(jù)圖89中所示從CPU 552輸入的指令類型說明 信號S552a,使開關574和端子575—1、 575—2及575—3中的一個端子 相連。
具體地說,當指令類型說明信號S552a指示取出指令時,選擇電 路570 4吏開關574b和端子575一1相連。
由此,從取出判斷電路571輸出的取出判斷結果信號S571通過端 子575—1和開關574以判斷結果信號S560的形式從判斷電路560輸出 給開關電路561。
此外,當指令類型說明信號S552a指示讀取指令時,選擇電路570 使開關574和端子575—2相連。
由此,從讀取判斷電路572輸出的讀取判斷結果信號S572通過端 子575—2和開關574以判斷結果信號S560的形式從判斷電路560輸出 給開關電路561。
此外,當指令類型說明信號S552a指示寫入指令時,選擇電路570 使開關574和端子575_3相連。
由此,從寫入判斷電路573輸出的寫入判斷結果信號S573通過端 子575_3和開關574以判斷結果信號S560的形式從判斷電路560輸出 給開關電路561。
取出判斷電路571使用從CPU 552輸入的執(zhí)行AP說明信號 S552b、被調用AP說明信號S552c和地址CPU—ADR產(chǎn)生取出判斷結 果信號S571,并將其輸出給選擇電路570的端子575_1。 圖91是圖90中所示的取出判斷電路571的結構視圖。 如圖91中所示,取出判斷電路571具有存儲器581—1和判斷裝置 582—1。
存儲器581_1保存取出范圍限定數(shù)據(jù)584一1和取出AP間調用關 系限定數(shù)據(jù)58。
取出范圍限定數(shù)據(jù)584—1為CPU 552正在執(zhí)行OS層程序和圖84 中所示的應用程序MAIN、 AP1、 AP2及AP3的各種情況,限定當CPU552執(zhí)行取出指令時,存儲器553中可訪問的地址。 圖92說明了取出范圍限定數(shù)據(jù)584—1 。
圖92中的列(垂直)方向表示OS層的程序和圖84中所示的應 用程序MAIN、 AP1、 AP2及AP3。
行(水平)方向中的"FROM"表示存儲器553中允許存儲對應 列的程序的存儲區(qū)的起始地址。
行方向中的"FROM"表示存儲器553中允許訪問對應列的程序 的地址范圍的起始地址。
行方向中的"TO,,表示存儲器553中允許訪問對應列的程序的地 址范圍的結束地址。
例如,允許應用程序API訪問存儲器553的地址"2000H"-"2FFFH"的范圍。
當CPU 552執(zhí)行取出指令時,取出AP間調用關系限定數(shù)據(jù)585一1 表示當調用某一程序模塊時,從其發(fā)出調用或者被調用的程序模塊所 屬的程序的組合。
圖93說明了取出AP間調用關系限定數(shù)據(jù)585—1 。 圖93的列方向表示OS層的程序和圖84中所示的應用程序 MAIN、 AP1、 AP2和AP3。
圖93的行方向表示OS層的程序和圖84中所示的應用程序 MAIN、 AP1、 AP2和AP3。
行列的相交位置表示是否允許相應列的程序的程序模塊調用相應 行的程序的程序模塊。"o"表示許可調用。而"x"表示不許可調用。 例如,允許應用程序API的程序才莫塊調用OS程序、MAIN和應 用程序AP3的程序模塊,但是不允許調用應用程序AP2的程序模塊。 判斷裝置582—1根據(jù)從圖89中所示的CPU 552輸入的執(zhí)行AP 說明信號S552b和地址CPU_ADR,以及從存儲器581_1讀取的取出 范圍限定數(shù)據(jù)584—1,判斷地址CPU—ADR是否包含在圖92中所示 的和由執(zhí)行AP說明信號S552b指示的程序對應的列的"FROM"及 "TO,,限定的存儲器553的地址范圍中。當判斷該地址包含在所述地址范圍中時,判斷裝置582_1產(chǎn)生說 明連接的取出判斷結果信號S571,并且把該信號輸出給圖90中所示 的選擇電路570的端子575—1。
另一方面,當判斷該地址不包含在所述地址范圍中時,判斷裝置 582—1產(chǎn)生說明斷開的取出判斷結果信號S571,并且把該信號輸出給 圖90中所示的選擇電路570的端子575—1。
此外,當正被CPU 552執(zhí)行的程序的程序模塊調用另一程序的程 序模塊時,判斷裝置582—1根據(jù)從圖89中所示的CPU 552輸入的執(zhí) 行AP說明信號S552b和被調用AP說明信號S552c,以及從存儲器 581—1讀取的取出AP間調用關系限定數(shù)據(jù)585一1,判斷該調用是否 被由圖93中所示的取出AP間調用關系限定數(shù)據(jù)585—1表示的組合 所允許。
當判斷調用被許可時,判斷裝置582—1產(chǎn)生指示連接的取出判斷 結果信號S571,并且把該信號輸出給圖90中所示選擇電路570的端 子575_1。
另一方面,當判斷調用不被許可時,判斷裝置582一1產(chǎn)生指示斷 開的取出判斷結果信號S571,并且把該信號輸出給圖90中所示選擇 電路570的端子575一1。
讀取判斷電路572使用從CPU 552輸入的執(zhí)行AP指令信號 S552b,被調用AP說明信號S552c和地址CPU—ADR產(chǎn)生讀取判斷 結果信號S572,并且把該信號輸出給選擇電路570的端子575—2。
圖94是圖90中所示的讀取判斷電路572的結構視圖。
如圖94中所示,讀取判斷電路572具有存儲器581—2和判斷裝置 582_2。
存儲器581一2保存讀出范圍限定數(shù)據(jù)584一2和讀取AP間調用關 系限定數(shù)據(jù)585一2。
讀出范圍限定數(shù)據(jù)584一2為CPU 552正在執(zhí)行OS層的程序和圖 84中所示的應用程序MAIN、 AP1、 AP2和AP3的各種情況,確定 當CPU 552正在執(zhí)行讀取指令時,存儲器553中可訪問的地址。圖95說明了讀出范圍限定數(shù)據(jù)584—2。
圖95中的列(垂直)方向表示OS層的程序和圖84中所示的應 用程序MAIN、 AP1、 AP2和AP3。
行(水平)方向上的"FROM"表示存儲器553中允許存儲對應 列的程序的存儲區(qū)的起始地址。
行方向中的"FROM"表示存儲器553中允許訪問對應列的程序 的地址范圍的起始地址。
行方向中的"TO"表示存儲器553中允許訪問對應列的程序的地 址范圍的結束地址。
當CPU 552執(zhí)行讀取指令時,讀取AP間調用關系限定數(shù)據(jù)585一2 表示當調用某一程序模塊時,可發(fā)出調用或者可被調用的程序模塊所 屬程序的組合。
圖96說明了讀取AP間調用關系限定數(shù)據(jù)585_2。 圖96的列方向表示OS層的程序和圖84中所示的應用程序 MAIN、 AP1、 AP2和AP3。
圖96的行方向表示OS層的程序和圖84中所示的應用程序 MAIN、 AP1、 AP2和AP3。
行列的相交位置表示是否允許相應列的程序的程序模塊調用相應 行的程序的程序模塊。"o,,表示許可調用。而"x"表示不許可調用。 判斷裝置582—2根據(jù)從圖89中所示的CPU 552輸入的執(zhí)行AP 說明信號S552b和地址CPU—ADR,以及從存儲器581_2讀取的讀取 范圍限定數(shù)據(jù)584一2,判斷地址CPl^ADR是否包含在圖95中所示 的和由執(zhí)行AP說明信號S552b指示的程序對應的列的"FROM"及 "TO,,限定的存儲器553的地址范圍中。
當判斷該地址包含在所述地址范圍中時,判斷裝置582—2產(chǎn)生說 明連接的讀取判斷結果信號S572,并且把該信號輸出給圖90中所示 的選擇電路570的端子575—2。
另一方面,當判斷該地址不包含在所述地址范圍中時,判斷裝置 582 2產(chǎn)生說明斷開的讀取判斷結果信號S572,并且把該信號輸出給圖90中所示的選擇電路570的端子575_2。
此外,當正被CPU 552執(zhí)行的程序的程序模塊調用另 一程序的程 序模塊時,判斷裝置582—2根據(jù)從圖89中所示的CPU 552輸入的執(zhí) 行AP說明信號S552b和被調用AP說明信號S552c,以及從存儲器
581— 2讀取的讀取AP間調用關系限定數(shù)據(jù)585_2,判斷該調用是否 被由圖96中所示的讀取AP間調用關系限定數(shù)據(jù)585—2表示的組合 所允許。
當判斷調用被許可時,判斷裝置582_2產(chǎn)生指示連接的讀取判斷 結果信號S572,并且把該信號輸出給圖90中所示選擇電路570的端 子575一2。
另一方面,當判斷調用不被許可時,判斷裝置582一2產(chǎn)生指示斷 開的讀取判斷結果信號S572,并且把該信號輸出給圖卯中所示選擇 電路570的端子575—2。
寫入判斷電路573使用從CPU 552輸入的執(zhí)行AP指令信號 S552b,被調用AP說明信號S552c和地址CPU_ADR產(chǎn)生寫入判斷 結果信號S573,并且把該信號輸出給選擇電路570的端子575—3。
圖97是圖90中所示的寫入判斷電路的結構視圖。
如圖97中所示,寫入判斷電路573具有存儲器581—3和判斷裝置
582— 3。
存儲器581—3保存寫入范圍限定數(shù)據(jù)584_3和寫入AP間調用關 系限定數(shù)據(jù)585—3。
寫入范圍限定數(shù)據(jù)584_3為CPU 552正在執(zhí)行OS層的程序和圖 84中所示的應用程序MAIN、 AP1、 AP2和AP3的各種情況,確定 當CPU 552正在執(zhí)行寫入指令時,存儲器553中可訪問的地址。
圖98說明了寫入范圍限定數(shù)據(jù)584一3。
圖98中列(垂直)方向表示OS層的程序和圖84中所示的應用 程序MAIN、 AP1、 AP2和AP3。
行(水平)方向上的"FROM"表示存儲器553中允許存儲對應 列的程序的存儲區(qū)的起始地址。行方向中的"FROM"表示存儲器553中允許訪問對應列的程序 的地址范圍的起始地址。
行方向中的"TO,,表示存儲器553中允許訪問對應列的程序的地 址范圍的結束地址。
當CPU 552執(zhí)行讀取指令時,寫入AP間調用關系限定數(shù)據(jù)585—3 表示當調用某一程序模塊時,可發(fā)出調用或者可被調用的程序模塊所 屬程序的組合。
圖99說明了寫入AP間調用關系限定數(shù)據(jù)585_3 。 圖99的列方向表示OS層的程序和圖84中所示的應用程序 MAIN、 AP1、 AP2和AP3。
圖99的行方向表示OS層的程序和圖84中所示的應用程序 MAIN、 AP1、 AP2和AP3。
行列的相交位置表示是否允許相應列的程序的程序模塊調用相應 行的程序的程序模塊。"o"表示許可調用。而"x"表示不許可調用。 判斷裝置582_3根據(jù)從圖89中所示的CPU 552輸入的執(zhí)行AP 說明信號S552b和地址CPU—ADR,以及從存儲器581—3讀取的寫入 范圍限定數(shù)據(jù)584一3,判斷地址CPU—ADR是否包含在圖98中所示 的和由執(zhí)行AP說明信號S552b所指示程序對應的列的"FROM"及 "TO,,限定的存儲器553的地址范圍中。
當判斷該地址包含在所述地址范圍中時,判斷裝置582—3產(chǎn)生說 明連接的寫入判斷結果信號S573,并且把該信號輸出給圖90中所示 的選擇電路570的端子575一3。
另一方面,當判斷該地址不包含在所述地址范圍中時,判斷裝置 582一3產(chǎn)生說明斷開的寫入判斷結果信號S573,并且把該信號輸出給 圖90中所示的選擇電路570的端子575_3。
此外,當正被CPU 552執(zhí)行的程序的程序模塊調用另 一程序的程 序模塊時,判斷裝置582—3根據(jù)從圖89中所示的CPU 552輸入的執(zhí) 行AP說明信號S552b和被調用AP說明信號S552c,以及從存儲器 581 3讀取的寫入AP間調用關系限定數(shù)據(jù)585_3,判斷該調用是否被由圖99中所示的寫入AP間調用關系限定數(shù)據(jù)585—3表示的組合 所允許。
當判斷調用被許可時,判斷裝置582—3產(chǎn)生指示連接的寫入判斷 結果信號S573,并且把該信號輸出給圖90中所示選擇電路570的端 子575—3。
另一方面,當判斷調用不被許可時,判斷裝置582—3產(chǎn)生指示斷 開的寫入判斷結果信號S573,并且把該信號輸出給圖90中所示選擇 電路570的端子575—3。
下面說明選擇電路570。
選擇電路570根據(jù)來自于CPU 552的指令類型說明信號S552a使 開關574和端子575—1、 575—2和575—3相連。
具體地說,當指令類型說明信號S552a指示取出指令時,選擇電 路570使開關574和端子575_1相連,并且以判斷結果S560的形式把 取出判斷結果信號S571輸出給開關電路561。由此,開關電路561的 連接/斷開由取出判斷結果信號S571控制。
此外,當指令類型說明信號S552a指示讀取指令時,選擇電路570 使開關574和端子575_2相連,并且以判斷結果S560的形式把讀取判 斷結果信號S572輸出給開關電路561。由此,開關電路561的連接/ 斷開由讀取判斷結果信號S572控制。
此外,當指令類型說明信號S552a指示寫入指令時,選擇電路570 使開關574和端子575—3相連,并且以判斷結果S560的形式把寫入判 斷結果信號S573輸出給開關電路561。由此,開關電路561的連接/ 斷開由寫入判斷結果信號S573控制。
下面說明計算機551的操作的例子。
下面說明計算機551在執(zhí)行應用程序API的程序模塊的過程中執(zhí) 行取出指令,并且指定地址存儲器553的地址"2100H,,時的操作例 子。
這種情況下,指示"2100H,,的CPl^ADR在CPU地址總線507上流動,指示取出指令的指令類型說明信號S552a和指示API的執(zhí)行 AP說明信號S552b從CPU 552被輸出給判斷電路560。
此外,圖91中所示的判斷裝置582—1根據(jù)從CPU 552輸入的執(zhí) 行AP說明信號S552b和地址CPU—ADR,以及從存儲器581讀取的 圖92中所示的取出范圍限定數(shù)據(jù)584—1,判斷地址"2100H"是否包 含由在圖92中對應于API的列的"FROM"和"TO"限定的存儲器 553的地址范圍"2000H"- " 2FFFH,,中。
此外,判斷裝置582—1產(chǎn)生說明連接的取出判斷結果信號S571, 并將其輸出給圖90中所示的選擇電路的端子575—1。
此外,由于指令類型說明信號S552a指示取出,因此選擇電路570 4吏開關574和端子575—1相連。
由此,說明連接的取出判斷結果信號S571通過選擇電路570以判 斷結果信號S560的形式被輸出給圖89中所示的開關電路561。
此外,開關電路561使CPU數(shù)據(jù)總線506和存儲器數(shù)據(jù)總線562 處于連接狀態(tài),以便允許CPU 552訪問存儲器553。
注意,在上面說明的情況中,當?shù)刂稢PU—ADR指示"3100H" 時,由于該地址不包含在地址范圍"2000H,,-"2FFFH,,中,說明斷開 的取出判斷結果信號S571從選擇電路570被輸出給開關電路561。由 此,開關電路561使CPU數(shù)據(jù)總線506和存儲器數(shù)據(jù)總線562處于斷 開狀態(tài),以防止CPU 552訪問存儲器553。
下面將說明當計算機551執(zhí)行讀取指令時,應用程序AP2的程序 模塊調用應用程序API的程序情況下的操作例子。
這種情況下,顯示AP2的執(zhí)行AP說明信號S552b和顯示API 的被調用AP說明信號S552c從CPU 552被輸出給讀取判斷電路572。
讀取判斷電路572的判斷裝置582一2查看圖96中所示的讀取AP 間調用關系限定數(shù)據(jù)585_2 ,并且判斷是否允許從AP2調用API 。
此外,判斷裝置582一2產(chǎn)生說明連接的讀取判斷結果信號S572, 并且將其輸出給圖90中所示的選擇電路570的端子575_2。
1此外,由于指令類型說明信號S552a指示讀取指令,因此選擇電 路570使開關574和端子575一2相連。
由此,說明連接的讀取判斷結果信號S572通過選擇電路570以判 斷結果信號S560的形式被輸出給圖89中所示的開關電路561。
此外,開關電路561把CPU數(shù)據(jù)總線506和存儲器數(shù)據(jù)總線562 設置成連接狀態(tài),從而CPU 552能夠訪問存儲器553。
另一方面,在上述情況中,當應用程序AP2的程序模塊調用應用 程序AP3的程序時,根據(jù)圖96中所示的讀取AP間調用關系限定數(shù)據(jù) 585_2判斷不允許從AP2到AP3的調用。
此外,判斷裝置582_2產(chǎn)生說明斷開的讀取判斷結果信號S572, 并且將其輸出給圖90沖所示選擇電路570的端子575—2。
由此,說明斷開的讀取判斷結果信號S572通過選擇電路570以判 斷結杲信號S560的形式被輸出給圖89中所示的開關電路561。
此外,開關電路561把CPU數(shù)據(jù)總線506和存儲器數(shù)據(jù)總線562 i殳置成斷開狀態(tài),以防止CPU 552訪問存儲器553。
如上所述,根據(jù)CPU552執(zhí)行的程序,判斷電路560和開關電路 561根據(jù)事先按照各個程序確定的數(shù)據(jù),確定存儲器553和CPU數(shù)據(jù) 總線506之間的連接狀態(tài)。
于是,可防止正被CPU 552執(zhí)行的應用程序非法訪問保存在存儲 器553中的另一應用程序的指令和數(shù)據(jù),并且即使當CPU 552正在執(zhí) 行若千應用程序時,也可在各個應用程序之間獲得高的安全性。
本發(fā)明并不局限于上述實施例。
例如,在上面說明的實施例中,舉例說明了判斷電路560保存取 出范圍限定數(shù)據(jù)584—1 、取出AP間調用關系限定數(shù)據(jù)585_1 、讀取范 圍限定數(shù)據(jù)584—2、讀取AP間調用關系限定數(shù)據(jù)585一2、寫入范圍限 定數(shù)據(jù)584_3和寫入AP間調用關系限定數(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間調用關系限定數(shù)據(jù)585_1、讀取范圍限 定數(shù)據(jù)584一2、讀取AP間調用關系限定數(shù)據(jù)585—2、寫入范圍限定數(shù) 據(jù)584—3和寫入AP間調用關系限定數(shù)據(jù)585一3,并且使用通過利用預 定解密程序590和密鑰信息K解密的取出范圍限定數(shù)據(jù)584_1、取出 AP間調用關系限定數(shù)據(jù)585一1、讀取范圍限定數(shù)據(jù)584_2、讀取AP 間調用關系限定數(shù)據(jù)585_2、寫入范圍限定數(shù)據(jù)584_3和寫入AP間調 用關系限定數(shù)據(jù)585一3。
此外,本發(fā)明可把上面的解密程序加密保存在IC卡558中,通過 通信電路504和CPU數(shù)據(jù)總線506把所述解密程序讀入判斷電路560, 由判斷電路560利用預定的密鑰信息對其解密,把解密后的解密程序 保存在存儲器553中,并且使判斷電路560從存儲器553讀取并執(zhí)行 解密程序。
此外,在上面i兌明的實施例中,表示了 CPU 552向判斷電路560 輸出執(zhí)行AP說明信號S552b和被調用AP說明信號S552c的情況, 但是如圖101中所示,這些信號也可由監(jiān)視CPU地址總線507的判斷 電路560產(chǎn)生。
第七實施例
本實施例是對應于本發(fā)明第20-21方向的實施例。
圖102是本發(fā)明的實施例的半導體芯片631的結構視圖。
如圖102中所示,半導體芯片631具有內部存儲器632、開關電
路633、開關電路634,判斷電路635,選擇電路636和CPU 637。 內部存儲器632、開關電路633、開關電路634、判斷電路635和
CPU 637與CPU數(shù)據(jù)總線640相連。
內部存儲器632、判斷電路635和CPU 637與地址總線641相連。 內部存儲器632、判斷電路635和CPU 637與信號線642相連。 此外,內部存儲器632還與內部數(shù)據(jù)總線643相連。 此外,開關電路634還通過外部數(shù)據(jù)總線644與外部存儲器660相連。此外,選擇電路636還通過外部數(shù)據(jù)總線645與調試器661相連。 這里,半導體芯片631對應于本發(fā)明第一方面的半導體電路,CPU 數(shù)據(jù)總線640對應于第一半導體電路的笫一傳輸線路,程序模塊PM一1 對應于執(zhí)行本發(fā)明第一方面的程序的指令,內部存儲器632對應于本 發(fā)明第一方面的存儲電路,CPU 637對應于本發(fā)明第一方面的處理電 路,開關電路633對應于本發(fā)明第一方面的第一連接轉換電路,開關 電路634對應于本發(fā)明第一方面的第二連接轉換電路,判斷電路635 對應于本發(fā)明第一方面的連接控制電路,選擇電路636對應于本發(fā)明 第一方面的第三連接轉換電路,外部存儲器660對應于本發(fā)明第一方 面的存儲設備,調試器661對應于本發(fā)明第一方面的外部設備。
此外,信號線642對應于本發(fā)明第一方面的第三傳輸線路,而地 址總線641對應于本發(fā)明第一方面的第四傳輸線路。
此外,判斷結果信號S635a對應于本發(fā)明第一方面的第一控制信 號,判斷結果信號S635b對應于本發(fā)明第一方面的第二控制信號,判 斷結果信號S635c對應于本發(fā)明第一方面的第三控制信號。
圖103說明了圖102中所示的半導體芯片631的軟件配置。 在圖103中,最底層是硬件層,即,圖102中所示的半導體芯片 631的石更件組件。
硬件層上是通信驅動程序層。通信驅動程序層中安置有控制通信 的通信驅動程序層。通信驅動程序層的程序通常被保存在非易失性存 儲器中。
通信驅動程序層上是提供構成半導體芯片631的操作基礎的程序 的操作系統(tǒng)(OS)層。和下面各層相比,OS層向最高應用(AP)層 提供更高的概念服務。
此外,OS層上是確定由半導體芯片631實現(xiàn)的特定功能(服務) 的AP層。AP層具有由圖102中所示的程序模塊PM—1、PM—2和PJVL3 實現(xiàn)的應用程序AP1、 AP2和AP3。
內部存儲器632保存圖103中所示應用程序API的程序模塊 PM 1。圖104說明了程序模塊PM一1的結構。
如圖104中所示,程序模塊PMJ由若千功能模塊組成。圖104 表示了程序模塊PM—1由n個功能才莫塊FM—l-FM—n組成的情況。
如圖104中所示,位于各個功能模塊FM_1-FM—n的頭部的指令 (代碼)是解鎖指令,而末尾的指令是鎖定指令。
這里,鎖定指令是指令后面說明的判斷電路635在下一解鎖指令 之前,使開關電路633保持連接狀態(tài)的指令。
此外,解鎖指令是指令開關電路633轉換到斷開狀態(tài)的指令。
開關電路633介于CPU數(shù)據(jù)總線640和內部數(shù)據(jù)總線643之間。
開關電路633根據(jù)從判斷電路635輸入的判斷結果信號S635a變 成連接狀態(tài)或者斷開狀態(tài)。
開關電路634介于CPU數(shù)據(jù)總線640和外部數(shù)據(jù)總線644之間。
開關電路634根據(jù)從判斷電路635輸入的判斷結果信號S635b變 成連接狀態(tài)或者斷開狀態(tài)。
判斷電路635監(jiān)視地址總線641和信號線642。當CPU 637輸出 給地址總線641的地址信號指示內部存儲器632中保存程序模塊 PM一1的地址,并且CPU 637輸出給信號線642的指令類型說明信號 S637a指示取出指令時,它產(chǎn)生指示連接的判斷結果信號S635a。在其 它情況下,它產(chǎn)生指示斷開的判斷結果信號S635a。
判斷電路635把判斷結果信號S635a輸出給開關電路633。
此外,當判斷電路635產(chǎn)生指示連接的判斷結果信號S635a時, 它產(chǎn)生指示斷開的判斷結果信號S635b,并將其輸出給開關電路634。
此外,當判斷電路635產(chǎn)生指示斷開的判斷結果信號S635a時, 它產(chǎn)生指示連接的判斷結果信號S635b,并將其輸出給開關電路634。
此外,當判斷電路635產(chǎn)生指示連接的判斷結果信號S635a時, 它產(chǎn)生指示無效/斷開的判斷結果信號S635c,并將其輸出給選擇電路 636。
此外,當判斷電路635產(chǎn)生指示斷開的判斷結果信號S635a時, 它產(chǎn)生指示有效/連接的判斷結果信號S635c,并將其輸出給選擇電路636。
此外,在CPU 637執(zhí)行圖104中所示的程序模塊PM一1的過程中, 當程序模塊PM—1中的功能模塊被包含在正由CPU 637執(zhí)行的另一功 能模塊中的分支指令調用時,以位于首次啟動數(shù)據(jù)取出的被調用功能 模塊的頭部的指令為條件(即,當指定位于被調用功能模塊頭部的指 令的分支指令被執(zhí)行時),判斷電路635把指示連接的判斷結果信號 S635a輸出給開關電路633。
如同利用圖104說明的一樣,由于每個功能模塊的頭部具有設置 于該處的解鎖指令(本發(fā)明第一方面的斷開釋放指令),因此在執(zhí)行 下一鎖定指令(本發(fā)明第 一方面的斷開開始指令)之前,判斷電路635 根據(jù)解鎖指令,把指示連接的判斷結果信號S635a輸出給開關電路 633。此時,如前所述,指示斷開的判斷結果信號S635b被發(fā)給開關電 路634,而指示無效/斷開的判斷結果信號S635c被發(fā)給選擇電路636, 因此調試器661不可能臨時停止CPU 637的操作,或者不可能從CPU 637采集CPU內部狀態(tài)信息。于是,不能從存在于外部存儲器660中 的程序才莫塊PM一2和PM—3或者調試器661訪問圖104中所示的功能 模塊FM—1-FM—n。
此外,在CPU 637正在執(zhí)行圖104中所示的程序模塊PM_1的時 候,當程序模塊PM一1中的功能模塊被執(zhí)行包含在另一功能模塊中的 分支指令的CPU637調用時,當首次取出除位于調用目的地的功能模 塊頭部的指令之外的指令時,判斷電路635把指示斷開的判斷結果信 號S635a輸出給開關電路633。此外,這種情況下,判斷電路635暫 停CPU 637的操作或者執(zhí)行預定的錯誤處理。
當來自判斷電路635的判斷結果信號S635c指示無效/斷開時,選 擇電路636使從調試器661輸入的HALT信號S661a (本發(fā)明第一方 面的操作暫停請求)無效,并且不將其輸出給CPU637。這里,HALT 信號S661a是指示臨時停止CPU 637的操作的信號。
當來自判斷電路635的判斷結果信號S635c指示無效/斷開時,選 擇電路636使從調試器661輸入的CPU內部狀態(tài)讀取請求信號S661b和CPU內部狀態(tài)重寫請求信號S661c無效,并且不把這些信號輸出給 CPU 637。
這里,CPU內部狀態(tài)讀取請求信號S661b是請求顯示CPU 637 的內部狀態(tài)的信息的信號。
CPU內部狀態(tài)重寫請求信號S661c是請求重寫顯示CPU 637內部 狀態(tài)的信息的信號。
另一方面,當來自判斷電路635的判斷結果信號S635c指示有效/ 連接時,選擇電路636把從調試器661輸入的HALT信號S661a輸出 給CPU 637。
當來自判斷電路635的判斷結果信號S635c指示有效/連接時,選 擇電路636把從調試器661輸入的CPU內部狀態(tài)讀取請求信號S661b 和CPU內部狀態(tài)重寫請求信號S661c輸出給CPU 637。此外,選擇電 路636把根據(jù)CPU內部狀態(tài)讀取請求信號S661b從CPU 637輸入的 CPU內部狀態(tài)信號S637d輸出給調試器661。
CPU 637把內部存儲器632的地址輸出給地址總線641,把表示 正被執(zhí)行的指令的類型的指令類型說明信號S637a輸出給信號線642, 并且根據(jù)上述信號,執(zhí)行使用通過開關電路633和CPU數(shù)據(jù)總線640 從內部存儲器632讀取的程序模塊PM一1的指令和數(shù)據(jù)的處理。
此外,CPU 637把外部存儲器660的地址輸出給地址總線641, 把指令類型說明信號S637a輸出給信號線642,并且根據(jù)上述信號執(zhí) 行利用通過外部數(shù)據(jù)總線644、開關電路634和CPU數(shù)據(jù)總線640從 外部存儲器660讀取的程序模塊PM—2、 PM—3的指令和數(shù)據(jù)的處理。
當通過選擇電路636從調試器661輸入HALT信號S661a時,CPU 637停止CPU 637的操作。
此外,當CPU 637接收通過選擇電路636從調試器661輸入的 CPU內部狀態(tài)讀取請求信號S661b時,它通過選擇電路636把包括表 示由信號S661b指定的CPU 637中內部狀態(tài)的信息的內部狀態(tài)信號 S637d輸出給調試器661。
此外,當CPU 637接收通過選擇電路636從調試器661輸入的CPU內部狀態(tài)重寫請求信號S661c,它利用由該信號S661c指定的內 容重寫表示CPU 637的內部狀態(tài)的信息。
調試器661根據(jù)調試對象使用HALT信號S661a控制CPU 637 的操作,利用內部狀態(tài)讀取請求信號S661b和內部狀態(tài)信號S637d監(jiān) 視CPU 637的操作,并且利用CPU內部狀態(tài)重寫請求信號S661c定 制CPU 637。
下面說明半導體芯片631的操作例子。
例如,考慮CPU 637正在通過開關電路634和外部數(shù)據(jù)總線644 訪問外部存儲器660的情況。
這種情況下,由于來自判斷電路635的判斷結果信號S635b和S635c的緣故,開關電路634和選擇電路636變成連接狀態(tài),但是由 于判斷結果信號S635a的緣故,開關電路633變成斷開狀態(tài)。于是, 不能從外部數(shù)據(jù)總線644和645訪問內部存儲器632。
如上所述,在半導體芯片631中,當內部存儲器632和CPU數(shù)據(jù) 總線640處于連接狀態(tài)時,不允許自外部數(shù)據(jù)總線644和645的外部 訪問。
于是,根據(jù)半導體芯片631,能夠可靠地防止從半導體芯片631 之外非法訪問保存在內部存儲器632中的程序模塊PM—1,于是能夠 維持程序模塊PM—1的機密性。
此外,根據(jù)半導體芯片631,不能從外部監(jiān)視和分析CPU 637執(zhí) 行程序模塊PM_1的過程。
此外,根據(jù)半導體芯片631,能夠防止從保存在外部存儲器660 中的程序沖莫塊PM一2和PM_3非法訪問機密程序模塊PM一1。
第八實施例
本實施例是對應于本發(fā)明第20和第21方面的實施例。 圖105是本發(fā)明的實施例的半導體芯片6131的結構視圖。 如圖105中所示,半導體芯片6131具有加密/解密電路6134,判
斷電路6135,選擇電路6136和CPU 6137。
加密/解密電路6134和CPU 6137與CPU數(shù)據(jù)總線6140相連。
判斷電路6135和CPU 6137與地址總線6141相連。
判斷電路6135和CPU 6137與信號線6142相連。
此外,加密/解密電路6134還通過外部數(shù)據(jù)總線6144與外部存儲
器6160相連。
此外,選擇電路6136還通過外部數(shù)據(jù)總線6145與調試器6161相連。
注意在半導體芯片6131中同樣類似地應用圖103中所示的軟件結構。
這里,半導體芯片6131對應于本發(fā)明第二方面的半導體芯片,外 部數(shù)據(jù)總線6144對應于本發(fā)明第一方面的第一傳輸線路,外部存儲器6160對應于本發(fā)明第二方面的存儲設備,程序模塊PM—1對應于執(zhí)行 本發(fā)明第二方面的程序的指令,加密/解密電路6134對應于本發(fā)明第 二方面的加密/解密電路,判斷電路6135對應于本發(fā)明第二方面的控 制電路,選擇電路6136對應于本發(fā)明第二方面的選擇電路,CPU 6137 對應于第二計算電路,外部數(shù)據(jù)總線6145對應于本發(fā)明第二方面的第 二傳輸線路。
首先說明外部存儲器6160。
如圖105中所示,外部存儲器6160保存程序模塊PM—1、 PM—2 和PM—3。
本實施例中,將舉例說明程序模塊PM—1具有機密性的情況。 機密程序模塊PM一1被加密并保存在外部存儲器6160中。非機密 程序模塊PM—2和PM—3可被加密也可不加密。 圖106說明了程序模塊PM—1的結構。
如圖106中所示,程序模塊PM一1由若干功能模塊組成。圖106 表示了它由n個功能模塊FM—l-FM_n組成的情況。
如圖106中所示,功能模塊FM_1-FM—n的頭部設置有指示ID號 的ID號指示信息。ID號指示指令不被加密。
這里,ID號是識別對應功能模塊的信息。如后所述,當加密/解 密電路6134對功能模塊解密時,ID號被用于確定用于該解密的密鑰 信息。
此夕卜,在功能模塊FMJ-FM—n的末端設置指示ID號為"#0"的 指令(指示后面的指令不使用密鑰,即不被加密的指令)。
如圖107中所示,以預定數(shù)據(jù)長度的數(shù)據(jù)塊為單位對功能模塊加 密。數(shù)據(jù)塊l-n具有添加于其中的奇偶校驗數(shù)據(jù)l-n。
例如,如圖107中所示,加密/解密電路6134以預定數(shù)據(jù)塊為單 位,對將被寫入外部存儲器6160中的程序模塊PM一1的圖106中所示 的功能模塊加密。
此時,加密/解密電路6134利用任意密鑰信息對各個功能塊加密, 并且如同利用圖106說明的那樣,在每個功能塊的頭部設置指定用于識別功能模塊的ID號的末加密(明文)ID號指示指令(信息)。
此外,加密/解密電路6134產(chǎn)生并保持圖108中所示的密鑰信息 表6190,所述密鑰信息表6190表示為功能塊指定的ID號(本發(fā)明第 二方面的密鑰指定信息)和用于對鏈接在一起的功能模塊加密的密鑰化息。
此外,當加密/解密電路6134對數(shù)據(jù)塊加密時,如圖107中所示, 它產(chǎn)生數(shù)據(jù)塊的奇偶校驗數(shù)據(jù),并且把和對應數(shù)據(jù)塊鏈接的奇偶校驗 數(shù)據(jù)保存在外部存儲器6160中。此時,加密/解密電路6134產(chǎn)生奇偶 校驗數(shù)據(jù),以致數(shù)據(jù)塊和奇偶校驗數(shù)據(jù)的總和變成預定值。
此外,加密/解密電路6134通過把由位于功能模塊頭部的ID號指 定指令指定的ID號用作密鑰,查看圖108中所示的密鑰信息表61卯, 獲得關于從外部存儲器6160輸入的功能模塊的密鑰信息。此外,加密 /解密電路6134使用該密鑰信息以上面提及的數(shù)據(jù)塊為單位對該功能 模塊加密。
此外,加密/解密電路6134對該功能模塊解密,隨后判斷對應于 該功能模塊的奇偶校驗數(shù)據(jù)的合法性。此時,如果判斷該奇偶校驗數(shù) 據(jù)合法,則把解密后的數(shù)據(jù)輸出給CPU 6137。另一方面,如果判斷該 奇偶校驗數(shù)據(jù)不合法,則停止CPU 6137的操作或者執(zhí)行預定的錯誤 處理。
注意,在本實施例中,數(shù)據(jù)塊的數(shù)據(jù)長度和功能模塊的數(shù)據(jù)長度 可以相同或不同。
判斷電路6135產(chǎn)生指示無效/斷開的判斷結果信號S6135,并且當 CPU 6137正在訪問(例如取出)機密程序模塊PM—1時,將其輸出給 選擇電路6136。
此外,判斷電路6135產(chǎn)生指示有效/連接的判斷結果信號S6135, 并且當CPU 6137不訪問(例如取出)機密程序模塊PM_1時,將其 輸出給選擇電路6136。
判斷電路6135監(jiān)視CPU 6137輸出的并且流過地址總線6141和 信號線6142的地址和指令,并根據(jù)所述地址和指令判斷CPU 6137是否正在訪問程序才莫塊PM—1。
當來自判斷電路6135的判斷結果信號S6135指示無效/斷開時, 選擇電路6136使從調試器6161輸入的HALT信號S6161a(本發(fā)明第 二方面的操作停止請求)無效,并且不將其輸出給CPU 6137。這里, HALT信號S6161a是指令暫時停止CPU 6137的操作的信號。
當來自判斷電路6135的判斷結果信號S6135指示無效/斷開時, 選擇電路6136使從調試器6161輸入的CPU內部狀態(tài)讀取請求信號 S6161b和CPU內部狀態(tài)重寫請求信號S6161c無效,并且不把它們輸 出給CPU 6137。
這里,CPU內部狀態(tài)讀取請求信號S6161b是請求顯示CPU 6137 的內部狀態(tài)的信息的信號。
CPU內部狀態(tài)重寫請求信號S6161c是請求重寫顯示CPU 6137 的內部狀態(tài)的信息的信號。
另一方面,當來自判斷電路6135的判斷結果信號S6135指示有效 /連接時,選擇電路6136把從調試器6161輸入的HALT信號S6161a 輸出給CPU 6137。
當來自判斷電路6135的判斷結果信號S6135指示有效/連接時, 選擇電路6136把從調試器6161輸入的CPU內部狀態(tài)讀取請求信號 S6161b和CPU內部狀態(tài)重寫請求信號S6161c輸出給CPU 6137。此 外,選擇電路6136把根據(jù)CPU內部狀態(tài)讀取請求信號S6161b從CPU 6137輸入的CPU內部狀態(tài)信號S6137d輸出給調試器6161。
CPU 6137把外部存儲器6160的地址輸出給地址總線6141,把顯 示正被執(zhí)行的指令的類型的指令類型說明信號S6137a輸出給信號線 6142,并且根據(jù)這些信號,利用通過外部數(shù)據(jù)總線6144和加密/解密 電路6134從外部存儲器6160讀取的程序才莫塊PM—1、 PM—2和PM_3 的指令和數(shù)據(jù)進行處理。
當CPU 6137接收通過選擇電路6136從調試器6161輸入的HALT 信號S6161a時,CPU 6137的操作被停止。
此外,當CPU 6137接收通過選擇電路6136從調試器6161輸入的CPU內部狀態(tài)讀取請求信號S6161b時,它通過選擇電路6136把包 括顯示由信號S6161b指定的CPU 6137中的內部狀態(tài)的信息的內部狀 態(tài)信號S6137d輸出給調試器6161。
此外,當CPU 6137通過選擇電路6136從調試器6161接收CPU 內部狀態(tài)重寫請求信號S6161c時,它利用由信號S6161c指定的內容 重寫顯示CPU 6137的內部狀態(tài)的信息。由此,CPU 6137的操作由調 試器6161控制。
調試器6161〗吏用對應于調試目標的HLAT信號S6161a控制CPU 6137的操作,利用內部狀態(tài)讀取請求信號S6161b和內部狀態(tài)信號 S6137d監(jiān)^f見CPU 6137的操作,并且利用CPU內部狀態(tài)重寫請求信 號S6161c定制CPU 6137。
下面說明圖105中所示半導體芯片的操作例子。
圖112是IC卡703的功能方框圖。
如圖112中所示,IC卡703具有配有存儲器750和CPU 751的 IC (集成電路)703a。
如圖113中所示,存儲器750具有由信用卡公司或者其它服務企業(yè) 715一1使用的存儲區(qū)755一1、由服務企業(yè)715一2使用的存儲區(qū)755一2和 由服務企業(yè)715_3使用的存儲區(qū)755_3。
此外,存儲器750保存用于判斷對于存儲區(qū)755 1的訪問權限的密鑰數(shù)據(jù),用于判斷對于存儲區(qū)755一2的訪問權限的密鑰數(shù)據(jù),和用 于判斷對于存儲區(qū)755—3的訪問權限的密鑰數(shù)據(jù)。密鑰數(shù)據(jù)用于相互 驗證,數(shù)據(jù)加密和解密等等。
此外,存儲器750保存IC卡703或者IC卡703的用戶的身份識 別信息。
下面詳細"i兌明SAM裝置709。
如前所述,SAM裝置709具有外部存儲器707 (本發(fā)明的存儲電 路)和SAM芯片708 (本發(fā)明的半導體電路)。
SAM芯片708具有如圖114中所示的軟件配置。
如圖114中所示,從底層到頂層,SAM芯片708具有HW (硬件 層)、OS層、低級處理程序層、高級處理程序層和AP層。
低級處理程序層包括驅動程序層。
這里,在AP層中,從外部存儲器707讀取并運行定義信用卡公 司或者其它企業(yè)715_1、 715—2和715—3 4吏用IC卡703的過程的應用 程序AP—1、 AP—2和AP—3 (本發(fā)明的應用程序)。
在AP層中,應用程序AP—1、 AP_2和AP—3與高級處理程序層 之間i殳置防火墻FW。
[外部存儲器7(T7
圖115說明了外部存儲器707的存儲區(qū)。
如圖115中所示,外部存儲器707的存儲區(qū)包括保存服務企業(yè) 715—1的應用程序AP—1的AP存儲區(qū)7220—1,保存服務企業(yè)715—2 的應用程序AP—2的AP存儲區(qū)7220—2,保存服務企業(yè)715—3的應用 程序AP—3的AP存儲區(qū)7220—3,以及由SAM芯片708的管理人員使 用的AP管理存儲區(qū)7221。
保存在AP存儲區(qū)7220_1中的應用程序AP_1由后面i兌明的若千 應用單元數(shù)據(jù)APE (本發(fā)明的數(shù)據(jù)模塊)組成。對AP存儲區(qū)7220_1 的訪問由防火墻FW—1限制。
保存在AP存儲區(qū)7220_2中的應用程序AP—2由后面說明的若千應用單元數(shù)據(jù)APE組成。對AP存儲區(qū)7220_2的訪問由防火墻FW_1 限制。
保存在AP存儲區(qū)7220—3中的應用程序AP_3由后面說明的若干 應用單元數(shù)據(jù)APE組成。對AP存儲區(qū)7220—3的訪問由防火墻FW_1 限制。
本實施例中,應用單元數(shù)據(jù)APE是從SAM裝置709之外下栽到
外部存儲器707的最小單位。構成各個應用程序的應用單元數(shù)據(jù)APE
的數(shù)目可由相應的服務企業(yè)自由確定。
此外,保存在外部存儲器707中的應用程序AP_1、 AP—2和AP—3
被擾頻。當被讀入SAM芯片708中時,它們被解擾頻。
此外,應用程序AP_1、 AP—2和AP—3由利用圖109中所示的個
人計算機716—1、 716一2和716_3的服務企業(yè)715—1、 715—2和715_3
產(chǎn)生,并且通過SAM芯片708被下載到外部存儲器707。 下面將詳細說明應用程序AP—1 、 AP—2和AP—3。 在SAM中存在每個服務企業(yè)的一個或多個應用程序。 如圖116中所示,應用程序AP—1、 AP—2和AP—3 (下面稱為AP)
均由用于識別應用程序AP的識別數(shù)據(jù)AP_ID,表示包括在應用程序
中的應用程序單元數(shù)據(jù)APE的數(shù)目的數(shù)據(jù)APE_NUM,和一個或多個
應用單元數(shù)據(jù)APE。
識別數(shù)據(jù)AP_ID被設置成對于各個服務企業(yè)都不同。
如圖116中所示,應用單元數(shù)據(jù)APE由表示應用單元數(shù)據(jù)APE
的數(shù)據(jù)大小的數(shù)據(jù)APE—SIZE,識別應用單元數(shù)據(jù)APE的識別數(shù)據(jù)
APE ID和數(shù)據(jù)特征( proper)組成。
這里,識別數(shù)據(jù)APEJD由表示應用單元數(shù)據(jù)APE的類型的數(shù)據(jù)
APE—TYPE和表示該類型內的應用單元數(shù)據(jù)APE的識別號(實例識
別號)的數(shù)據(jù)INS—NUM組成。數(shù)據(jù)IND—NUM由最終用戶(服務企
業(yè)) 一方管理。
例如,當應用單元數(shù)據(jù)APE是文件系統(tǒng)配置時,數(shù)據(jù)APE_TYPE 變成"2",數(shù)據(jù)INS NUM變成"1"。由此,如果SAM相同,則能夠利用識別數(shù)據(jù)APE—ID明確地確定應用單元數(shù)據(jù)APE。
圖115中所示的外部存儲器707以應用程序包APP的形式保存利 用SAM裝置709之外的加密密鑰數(shù)據(jù)K—AP加密的上述應用程序AP (AP_1、 AP—2和AP—3)。
相對于各個應用程序而不同的加密密鑰數(shù)據(jù)被用作加密密鑰數(shù)據(jù) K—AP。
下面將說明利用圖116說明的應用單元數(shù)據(jù)APE的類型。 圖117表示了保存在一個AP區(qū)中的應用單元數(shù)據(jù)APE的例子。 如圖117中所示,AP區(qū)把卡訪問密鑰數(shù)據(jù)、文件系統(tǒng)配置數(shù)據(jù)、 SAM相互驗證密鑰數(shù)據(jù)、SAM間密鑰包密鑰數(shù)據(jù)、IC卡操作宏命令 腳本程序(本發(fā)明的處理例程數(shù)據(jù))、存儲器劃分密鑰包、區(qū)域記錄 (registration)密鑰包、區(qū)域刪除密鑰包、月良務記錄密鑰包、服務刪 除密鑰包、和AP資源密鑰數(shù)據(jù)K—APE保存為應用單元數(shù)據(jù)APE。 下面將說明圖117中所示的應用單元數(shù)據(jù)APE。 o卡訪問密鑰數(shù)據(jù)
卡訪問密鑰數(shù)據(jù)是用于相對于IC卡703的存儲器750的讀取或寫 入操作的密鑰數(shù)據(jù)。此外,將被后面說明的IC卡操作宏命令腳本程序
元數(shù)據(jù)APE中。
o文件系統(tǒng)配置數(shù)據(jù)
文件系統(tǒng)配置數(shù)據(jù)包括運行記錄數(shù)據(jù)、負(negative)數(shù)據(jù)和種類 (genre )數(shù)據(jù)。
運行記錄數(shù)據(jù)是應用單元數(shù)據(jù)APE的使用歷史的數(shù)據(jù),負數(shù)據(jù)是 IC卡的期滿信息,種類數(shù)據(jù)是在SAM的執(zhí)行記錄。
例如,文件系統(tǒng)配置選擇文件訪問的類型(記錄密鑰標志分類環(huán)), 并且如果是記錄密鑰,則設置記錄大小、整體記錄的數(shù)目、記錄簽名 版本、記錄簽名方法類型、記錄數(shù)據(jù)大小、和記錄簽名密鑰。此外, 當從外部把數(shù)據(jù)寫入文件系統(tǒng)中時,它指示是否執(zhí)行簽名驗證等。這 里,"記錄"是文件數(shù)據(jù)的寫入/讀取的最小單位。oSAM相互驗證密鑰數(shù)據(jù)
這也用于相同SAM中AP之間的相互驗證。
SAM相互驗證密鑰數(shù)據(jù)是當從相同SAM或者另一 SAM中的另 一 AP訪問對應的應用單元數(shù)據(jù)APE時使用的密鑰數(shù)據(jù)。 oSAM間密鑰包密鑰
SAM間密鑰包密鑰是在SAM間相互驗證之后,當交換卡訪問密 鑰數(shù)據(jù)或者其它數(shù)據(jù)時使用的加密密鑰數(shù)據(jù)。 oIC卡操作宏命令腳本程序
IC卡操作宏命令腳本程序由服務企業(yè)自身產(chǎn)生,并且描述涉及IC 卡703的處理,或者與ASP服務器719的交易的順序。IC卡操作宏 命令腳本程序設置在SAM裝置709中,隨后由SAM芯片708分析, 從而產(chǎn)生對應的IC卡實體數(shù)據(jù)。
o存儲器劃分密鑰包
存儲器劃分密鑰包是在服務企業(yè)開始利用IC卡703進行服務之 前,用于劃分外部存儲器707或者IC卡703的存儲器的存儲區(qū)的數(shù)據(jù)。 o區(qū)域記錄密鑰包
區(qū)域記錄密鑰包是在服務企業(yè)開始利用IC卡703進行服務之前, 當在IC卡703的存儲器的存儲區(qū)中進行區(qū)域記錄時使用的數(shù)據(jù)。 o區(qū)域刪除密鑰包(內部產(chǎn)生)
區(qū)域刪除密鑰包是可根據(jù)卡訪問密鑰數(shù)據(jù)在SAM中自動產(chǎn)生的 密鑰包。
o服務記錄密鑰(內部產(chǎn)生)
服務記錄密鑰包用于在服務企業(yè)開始利用IC卡703進行服務之前 記錄外部存儲器707的應用單元數(shù)據(jù)APE。
服務記錄密鑰包是可根據(jù)卡訪問密鑰數(shù)據(jù)在SAM中自動產(chǎn)生的 密鑰包。
o服務刪除密鑰包(內部產(chǎn)生)
服務刪除密鑰包用于刪除在外部存儲器707中記錄的應用單元數(shù) 據(jù)APE。服務刪除密鑰包是可根據(jù)卡訪問密鑰數(shù)據(jù)在SAM中自動產(chǎn)生的 密鑰包。
o密鑰數(shù)據(jù)K—APE
當設置應用單元數(shù)據(jù)APE時,密鑰數(shù)據(jù)K一APE被用作加密密鑰。 為每個AP區(qū)分配用于設置應用單元數(shù)據(jù)APE的不同密鑰數(shù)據(jù) K APE。
下面詳細說明上述IC卡操作宏命令腳本程序(下面也稱為腳本程 序)。
腳本程序是用于確定運行于SAM芯片708上的服務企業(yè)715_1、 715—2和715_3的應用程序AP_1、 AP—2和AP—3,以及當執(zhí)行應用程 序時由IC卡703執(zhí)行的處理過程的程序。
本實施例中,如后所述,如圖118中所示,SAM芯片708根據(jù)腳 本下載任務769和腳本解釋任務770進行處理,并且根據(jù)AP管理表 數(shù)據(jù)和腳本程序產(chǎn)生IC卡實體模板數(shù)據(jù)730_1、輸入數(shù)據(jù)塊731_xl、 輸出數(shù)據(jù)塊732—x2、運行記錄數(shù)據(jù)塊733_x3、和用于涉及服務企業(yè) 715—1、 715—2和715—3的過程的計算定義數(shù)據(jù)塊734—x4。
圖119說明了用于描述IC卡操作宏命令腳本程序的命令。
就命令而言,關于SAM芯片708自身的命令被賦予首字母"S", 而涉及IC卡703的操作的命令被賦予首字母"C"。
此外,根據(jù)應用有選擇地使用第二字母。例如,對于IC卡703 的發(fā)行者設置說明,第二字母為"I",對于應用單元APE的說明(服 務類型單元說明),第二字母為"S",對于相對于IC卡703的簡單 讀取說明,第二字母為"R",對于相對于IC卡703的簡單寫入說明, 第二字母為"W",對于應用單元數(shù)據(jù)APE計算定義,第二字母為 "F,,。
用于描述腳本程序721—1、 721—2和721—3的命令包括SC命令、 SO命令、SI命令、SL命令、SF命令、CI命令、CS命令、CR命令
和cw命令。
SC命令是說明SAM芯片708可同時處理的IC卡實體數(shù)據(jù)的最大數(shù)目。
當SAM芯片708可同時處理1000組IC卡實體數(shù)據(jù)時,描述 "SC: 1000"。
SO命令是說明當根據(jù)后述IC卡實體數(shù)據(jù)利用IC卡703執(zhí)行處 理時,在SAM芯片708中提供的數(shù)據(jù)塊中,構成將保存從IC卡703 讀取的數(shù)據(jù)的輸出數(shù)據(jù)塊732—x2的數(shù)據(jù)塊的命令。
例如,當提供數(shù)據(jù)塊1-10時,當把從IC卡703讀取的數(shù)據(jù)保存 在數(shù)據(jù)塊l中時,描述"SO: 1"。
SI命令是說明當根據(jù)后述IC卡實體數(shù)據(jù)利用IC卡703進行處理 時,在SMA芯片708中提供的數(shù)據(jù)塊中,構成保存將被寫入IC卡703 的數(shù)據(jù)的輸入數(shù)據(jù)塊731—xl的數(shù)據(jù)塊的命令。
例如,當提供數(shù)據(jù)塊1-10時,當把要寫入IC卡703的數(shù)據(jù)保存 在數(shù)據(jù)塊2, 3中時,描迷"SI: 2, 3"。
SL命令是說明當根據(jù)后述IC卡實體數(shù)據(jù)利用IC卡703進行處 理時,在SAM芯片708中提供的數(shù)據(jù)塊中,構成用于保存和操作相 關的運行記錄數(shù)據(jù)的運行記錄數(shù)據(jù)塊733一x3的數(shù)據(jù)塊的命令。
例如,當提供數(shù)據(jù)塊1-10時,當把運行記錄數(shù)據(jù)保存在數(shù)據(jù)塊4 中時,描述"SL: 4"。
SF命令是提供構成計算定義數(shù)據(jù)塊734_x4的數(shù)據(jù)塊的命令,所 述教育處限定數(shù)據(jù)塊734一x4描述相對于IC卡703的應用單元數(shù)據(jù) APE之間的關系的定義。
計算定義數(shù)據(jù)塊73tx4的內容變成IC卡實體數(shù)據(jù)的預處理信息。
CI命令是說明IC卡703的發(fā)行者(服務企業(yè))的命令。
確定由CI命令限定的服務企業(yè)的數(shù)據(jù)變成IC卡實體數(shù)據(jù)的IC 卡類型信息。
CS命令是通過引用應用單元數(shù)據(jù)APE (服務類型單元)的名稱 APE一N,向IC卡703說明若干服務的同時操作的命令。CS命令也可 說明由名稱APE一N指定的應用單元數(shù)據(jù)APE內的功能定義處理。
例如,能夠說明"CS:"Rc"+" Wc"+" Wd,,"。根據(jù)CS命令的內容,確定IC卡實體數(shù)據(jù)的APE—N指定信息和 處理順序信息。
CR命令說明當應用單元數(shù)據(jù)APE之間的關系不確定(當沒有描 述SF命令)時,把從IC卡703讀取的數(shù)據(jù)保存在指定數(shù)據(jù)塊中。
例如,當把從IC卡703讀取的數(shù)據(jù)保存到數(shù)據(jù)塊1中時,說明 "CR: SO: l-"Rc""。
CW命令說明當應用單元數(shù)據(jù)APE之間的關系不確定時,把保存 在指定數(shù)據(jù)塊中的數(shù)據(jù)寫入IC卡703。
例如,當把保存在數(shù)據(jù)塊2中的數(shù)據(jù)寫入IC卡703時,說明 "CW: SI: 2="Wc,,,,。
CF命令說明用于描述計算內容生成服務的數(shù)據(jù)塊。
例如,當在SF數(shù)據(jù)塊1中描述計算內容生成服務時,描述"CF: CES_FUNC=SF: 1"。
此外,SF數(shù)據(jù)塊1在其中描述了例如""Wc"-If ( " Wc"> 10 ) then ( " Wc,,畫lO;" Wd,,= " Wc,,*0.8+ " Wd"),,。該乂>式表 述當服務的剩余數(shù)目Wc大于10時,從Wc的值中減去10,并且把對 應于8%的Wc的點數(shù)作為累積點數(shù)增加到Wd中的操作。
下面將說明保存在圖115中所示的外部存儲器707的AP管理存 儲區(qū)7221中的數(shù)據(jù)。
對AP管理保存區(qū)7221的訪問由防火墻FW—4限制。
注意,防火墻FW—4對應于圖114中所示的防火墻FW。
圖120說明了保存在AP管理保存區(qū)722中的數(shù)據(jù)的細節(jié)。
如圖120中所示,AP管理存儲區(qū)7221保存AP管理表數(shù)據(jù)7300—1 、 7300—2和7300—3(本發(fā)明的管理數(shù)據(jù))和APP表數(shù)據(jù)7310—1、 7310_2 和7310—3 (本發(fā)明的應用許可數(shù)據(jù))。
這里,在配置SAM芯片708的時候預先記錄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的管理人員重寫。相對于每個應用程序AP定義AP管理表數(shù)據(jù)7300_1、 7300—2和 7300—3。
此外,相對于每個SAM相互驗證密鑰數(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中所示,它表示相對于IC卡操作宏命令腳本程序中使用 的被查看應用單元數(shù)據(jù)APE的各個名稱APE—N鏈接在一起的識別數(shù) 據(jù)APE_ID、內部/外部指示數(shù)據(jù)IEI、識別數(shù)據(jù)SAM—ID、識別數(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。
應用單元數(shù)據(jù)APE的名稱APE_N是分配給由服務企業(yè)715—1、 715—2和715—3的應用程序提供的服務(應用單元數(shù)據(jù)APE )的名稱。 名稱APE一N是被查看的標識符,而不是各個服務企業(yè)的應用程序能 夠使用的服務的服務名稱。
這里,識別數(shù)據(jù)APE—ID是應用單元數(shù)據(jù)APE的識別數(shù)據(jù)。
外部/內部指示數(shù)據(jù)IEI是用于區(qū)分APE是以實體的形式存在(內 部指定)還是由另一SAM提及(外部指定)的標志。
識別數(shù)據(jù)SAM—ID是當SAM芯片708正在執(zhí)行涉及該應用單元 數(shù)據(jù)APE的處理時,位于傳送數(shù)據(jù)的另一方的SAM的識別數(shù)據(jù)。
圖122說明了 SAM—ID。
SAM—ID是4字節(jié)的數(shù)據(jù),并且具有類似于TCP/IP的網(wǎng)絡掩碼 的概念。可以位為單位設置網(wǎng)絡掩碼。
例如,如圖122中所示的網(wǎng)絡掩碼被分成三類,即A類、B類和 C類。此外,在^皮分配相同網(wǎng)絡掩碼的SAM之間,用于相互驗證的 一類密鑰數(shù)據(jù)就足夠了。例如,在本實施例中,相同的服務企業(yè)被分 配相同的網(wǎng)絡掩碼。
在圖122中,A類網(wǎng)絡掩碼由"255.XX.XX.XX"指示,頭一個字節(jié)被分配用于指定該類別的預定數(shù)值,后三個字節(jié)被分配用于指定屬
于該類別的單個SAM的數(shù)值。這里,"XX"可被設置成任意數(shù)值。 即,A類網(wǎng)絡掩碼可用于確定屬于A類的16777215個SAM_ID。
此外,B類網(wǎng)絡掩碼由"255.255.XX.XX"指示,頭兩個字節(jié)被分 配用于指定該類型的預定數(shù)值,后兩個字節(jié)被分配用于指定屬于該類 別的單個SAM的數(shù)值。即,B類網(wǎng)絡掩碼可用于確定屬于B類的65535 個SAM一ID。
此外,C類網(wǎng)絡掩碼由"255.255.255.XX,,指示,頭三個字節(jié)被賦 予用于指定該類別的預定數(shù)值,最后一個字節(jié)被賦予指定屬于該類別 的單個SAM的數(shù)值。即,B類網(wǎng)絡掩碼可用于確定屬于C類的255 個SAM—ID 。
識別數(shù)據(jù)AP—ID是當SAM芯片708執(zhí)行涉及應用單元數(shù)據(jù)APE 的處理時,由傳送數(shù)據(jù)的另一方的SAM執(zhí)行的應用程序的識別數(shù)據(jù)。
密鑰數(shù)據(jù)K—CARDA是當SAM芯片708執(zhí)行涉及應用單元數(shù)據(jù) APE的處理時,用于與IC卡703的存儲器750傳送數(shù)據(jù)的密鑰數(shù)據(jù)。
密鑰數(shù)據(jù)K—SAM是當SAM芯片708執(zhí)行涉及應用單元數(shù)據(jù)APE 的處理時,用于與另一 SAM傳送數(shù)據(jù)的密鑰數(shù)據(jù)。
數(shù)據(jù)SET—APP是用于指定當SAM芯片708執(zhí)行涉及應用單元數(shù) 據(jù)APE的處理時,所使用(查看)的APP表數(shù)據(jù)7310—1、 7310_2和 7310_3的數(shù)據(jù)。
數(shù)據(jù)FLAG—IP是表示是否向另一 SAM芯片708等公開由SAM 芯片708管理(持有)的數(shù)據(jù)的標志數(shù)據(jù)。
數(shù)據(jù)FLAG一STR是表示是否允許SAM芯片708管理(持有)的 數(shù)據(jù)被另一 SAM芯片708等持有的標志數(shù)據(jù)。
在圖121中,APE_N "服務A,,是該SAM芯片708中由應用程序 確定的IC卡703的訪問密鑰。"服務A"的密鑰數(shù)據(jù)被設置成不公開, 因此另一SAM的應用程序或者同一SAM的另一應用程序不能查看所 述密鑰數(shù)據(jù)。
此外,"服務C"是由該應用程序確定的IC卡703的訪問密鑰。當該SAM被分配后面說明的C類網(wǎng)絡掩碼時,向具有SAM—ID "43.17.19.XX,,的SAM上的應用程序公開"服務C"的密鑰數(shù)據(jù)。此 時,SAM相互驗證密鑰為"TTl..., TTn"。此外確定在下一次使用 之前,另一SAM是否能夠持有"服務C"的密鑰數(shù)據(jù)。當能夠時, 當另一 SAM接著使用該卡上的"服務C,,時,不必再次從SAM獲得 卡訪問密鑰。服務B的訪問密鑰不從該SAM獲得,而是從具有 SAM—ID " 43.17.19.XX,,的SAM獲得。"SSl…SSn,,被用作SAM之 間的相互驗證密鑰。
在下一次使用之前是否可持有"服務B"的訪問密鑰由該SAM 指定的標志確定。
"服務B運行記錄"指示其中保存運行記錄數(shù)據(jù)的文件, "43.13.137.XX,,的SAM—ID被分配給該運行記錄。"服務B運行記 錄,,是和"服務B,,相同的SAM網(wǎng)絡掩碼,因此相互驗證密鑰使用 "SSl...SSn"。這里,為各個相互驗證密鑰提供APP表數(shù)據(jù)。本例中, 在其它SAM的APP表數(shù)據(jù)7310中確定訪問"H務B運行記錄"和 "服務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表示每個應用單元數(shù)據(jù)APE 的識別數(shù)據(jù)APE—ID以及是否可從另一應用程序(另一應用單元數(shù)據(jù) APE)讀取、寫入或執(zhí)行該應用單元數(shù)據(jù)APE。
例如,圖123中所示的APP表數(shù)據(jù)7310_1表示對于"服務B 運行記錄",讀取是可能的,寫入是可能的,執(zhí)行(刪除)是不可能的。
此外,當圖115中所示的外部存儲器707的AP管理存儲區(qū)7221 保存顯示鏈接在一起的IC卡類型數(shù)據(jù)和AP_ID的AP選擇數(shù)據(jù)。
IC卡類型數(shù)據(jù)表示圖109中所示的IC卡的類型,并且是執(zhí)行使 用IC卡703的交易的結算的信用卡公司的識別數(shù)據(jù)。在本實施例中,IC卡操作宏命令腳本程序在其中定義(描述)組 合若干應用單元數(shù)據(jù)APE的名稱APE一N的服務內容。通過在后面說 明的IC卡實體數(shù)據(jù)(作業(yè)管理數(shù)據(jù))中描述所述服務內容,能夠提供 組合對應于若干應用單元數(shù)據(jù)APE的服務的服務。
例如,可在IC卡實體數(shù)據(jù)中定義組合從IC卡703讀取數(shù)據(jù)的讀 取服務和把數(shù)據(jù)寫入服務器702的寫入服務的服務。
此外,當執(zhí)行由服務企業(yè)715_1、 715—2和715—3提供的服務時, APE_N或其服務號碼是發(fā)送給IC卡703的操作命令,并且能夠被IC 卡703分析。
應用程序AP_1由保存在外部存儲器707中的AP管理表數(shù)據(jù) 7300—1和預定的IC卡操作宏命令腳本程序確定。
應用程序AP_2由保存在外部存儲器707中的AP管理表數(shù)據(jù) 7300—2和預定的IC卡操作宏命令腳本程序確定。
應用程序AP_3由保存在外部存儲器707中的AP管理表數(shù)據(jù) 7300_3和預定的IC卡操作宏命令腳本程序確定。
[SAM芯片708
SAM芯片708通過SCSI端口 、以太網(wǎng)等與ASP服務器719相連。 ASP服務器719通過因特網(wǎng)710與包括最終用戶的個人計算機705和 服務企業(yè)715_1、 715—2及715—3的個人計算機716—1、 716—2及716—3 在內的若干終端設備相連。
個人計算機705通過串行端口或USB端口與Dumb型讀卡機/寫 卡才幾704相連。讀卡才幾/寫卡才幾704實現(xiàn)與IC卡703的物理無線通信。
在SAM裝置709 —側產(chǎn)生發(fā)送給IC卡703的操作命令并分析來 自于IC卡703的響應分組。于是,讀卡機/寫卡機704、個人計算機 705、和置于它們之間的ASP服務器719只起把命令或響應內容保存 在數(shù)據(jù)有效負載部分中并且中繼數(shù)據(jù)有效負載部分的作用,它們不參 與數(shù)據(jù)的加密或解密、身份驗證、或者IC卡703中的其它實際操作。
個人計算機716_1、 716_2和716_3可把后面說明的腳本程序下載 到SAM芯片708上,從而定制應用程序AP 1、 AP 2和AP 3。
143圖124是圖109中所示的SAM芯片708的功能方框圖。
如圖124中所示,SAM芯片708具有ASPS通信接口裝置760,
外部存儲器通信接口裝置761,總線擾頻裝置762,隨機數(shù)發(fā)生器763,
加密/解密裝置764,存儲器765和CPU 766。 SAM芯片708是防竄改模塊。
ASPS通信接口裝置760是用于相對于圖109中所示的ASP服務 器719輸入輸出數(shù)據(jù)的接口。
外部存儲器通信接口裝置761是用于相對于外部存儲器7輸入輸 出數(shù)據(jù)的接口。
當通過外部存儲器通信接口裝置761輸入和輸出數(shù)據(jù)時,總線擾 頻裝置762對輸出數(shù)據(jù)擾頻并對輸入數(shù)據(jù)解擾頻。
隨機數(shù)發(fā)生器763產(chǎn)生身份驗證處理時使用的隨機數(shù)。 加密/解密裝置764對數(shù)據(jù)加密并對加密數(shù)據(jù)解密。 如后所述,存儲器765保存CPU766使用的任務、程序和數(shù)據(jù)。 CPU 766根據(jù)預定的程序(本發(fā)明的程序),執(zhí)行后面說明的腳 本下載任務、腳本解釋任務、實體產(chǎn)生任務(作業(yè)管理數(shù)據(jù)產(chǎn)生任務) 和IC卡過程管理任務(作業(yè)管理數(shù)據(jù)管理任務),以及其它任務。 下面說明保存在存儲器765中的任務、程序和數(shù)據(jù)。 圖125說明了保存在存儲器765中的任務、程序和數(shù)據(jù)。 如圖125中所示,存儲器765保存腳本下載任務769、腳本解釋 任務770、實體產(chǎn)生任務771、 IC卡過程管理任務772、 IC卡操作宏 命令腳本程序721—1-721—3、 AP管理表數(shù)據(jù)7300_1-7300_3、 APP表 數(shù)據(jù)7310—1-7310—3、 IC卡實體模板數(shù)據(jù)730—1-730—3、 IC卡實體數(shù) 據(jù)773一x、輸入數(shù)據(jù)塊731—xl、輸出數(shù)據(jù)塊732一x2、日志數(shù)據(jù)塊733_乂3、 和計算定義數(shù)據(jù)塊734—x4。
如圖118中所示,腳本下載任務769從各個服務企業(yè)的計算機下 載AP管理表數(shù)據(jù)7300_1-7300_3 (如果需要,APP表數(shù)據(jù) 7310—1-7310—3),并把它們加載到SAM芯片708中。
腳本解釋任務770使用服務定義表數(shù)據(jù)(如果需要,APP表數(shù)據(jù)7310—1-7310—3)和腳本程序產(chǎn)生各個企業(yè)的IC卡實體模板數(shù)據(jù)、輸 入數(shù)據(jù)塊、輸出數(shù)據(jù)塊、日志數(shù)據(jù)塊和計算定義數(shù)據(jù)塊。
為各個企業(yè)產(chǎn)生的數(shù)據(jù)塊的數(shù)目不受特別限制。
當實體產(chǎn)生任務771從ASP服務器719接收實體產(chǎn)生請求時,它 相對于IC卡703進行輪詢,隨后利用對應于服務企業(yè)的IC卡實體模 板數(shù)據(jù)產(chǎn)生IC卡實體數(shù)據(jù),所述IC卡實體數(shù)據(jù)用于IC卡703和該 服務企業(yè)之間的過程的處理。此時,IC卡實體模板數(shù)據(jù)變成類別,以 該類別的實例的形式產(chǎn)生IC卡實體數(shù)據(jù)。
實體產(chǎn)生任務771產(chǎn)生IC卡實體數(shù)據(jù)的處理將在后面詳細說明。
IC卡過程管理任務772使用存在于存儲器765中的一個或多個IC 卡實體數(shù)據(jù)773_x執(zhí)行IC卡703和服務企業(yè)715_1-715—3之間的過程 的處理。
本實施例中,在若干IC卡703和服務企業(yè)715—1—715—3之間執(zhí)行
的過程的若干處理被同時進行。
IC卡過程管理任務772并行執(zhí)行多個過程的這些若干處理。 當一系列的過程完成時,IC卡過程管理任務772刪除IC卡實體
數(shù)據(jù)773一x。
IC卡過程管理任務772的處理將在后面詳細說明。
腳本程序721—1—721_3由腳本下載任務769從外部存儲器707輸 入并保存在存儲器765中。
AP管理表數(shù)據(jù)7300_l-7300—3由腳本下載任務769從外部存儲器 707輸入并保存到存儲器765中。
APP表數(shù)據(jù)7310—1-7310—3由腳本下栽任務769從外部存儲器707 輸入,并被保存到存儲器765中。
IC卡實體模板數(shù)據(jù)730一1-730一3由腳本解釋任務770產(chǎn)生,并且 當產(chǎn)生與服務企業(yè)有關的過程的IC卡實體數(shù)據(jù)773一x時,被用作模板 (類別)。
通過把IC卡實體模板數(shù)據(jù)730一1-730一3用作類別,實體產(chǎn)生任務 771以類別的一個實例的形式產(chǎn)生IC卡實體數(shù)據(jù)773 x。輸入數(shù)據(jù)塊731jl、輸出數(shù)據(jù)塊732—x2、日志數(shù)據(jù)塊733—x3和 計算定義數(shù)據(jù)塊734一x4由腳本解釋任務770產(chǎn)生。 下面說明IC卡實體數(shù)據(jù)773—x。
當SAM芯片708從ASP服務器719接收利用IC卡3和預定服 務企業(yè)的應用程序進行處理的處理請求時,通過利用已產(chǎn)生的該服務 企業(yè)的相應IC卡實體模板數(shù)據(jù),在SAM芯片708中由實體產(chǎn)生任務 771產(chǎn)生IC卡實體數(shù)據(jù)773—x。
圖126說明了 IC卡實體數(shù)據(jù)773_x的格式。
如圖126中所示,IC卡實體數(shù)據(jù)773_x具有管理指針數(shù)據(jù)780、 實體ID數(shù)據(jù)781、實體狀態(tài)數(shù)據(jù)(狀態(tài)數(shù)據(jù))782、 IC卡類型信息783、 APE—N指定數(shù)據(jù)784、處理順序數(shù)據(jù)、預處理數(shù)據(jù)786和后處理數(shù)據(jù) 787。
管理指針數(shù)據(jù)780是用于管理存儲器765中的IC卡實體數(shù)據(jù) 773—x的雙向指針。
實體ID數(shù)據(jù)781用于IC卡實體數(shù)據(jù)773_x的產(chǎn)生、進程狀態(tài)的 確認、刪除或者其它的一系列使用IC卡實體數(shù)據(jù)773—x的處理的請求。 實體ID數(shù)據(jù)781也是將給予最終用戶的返回值。當在通用文件系統(tǒng)中 打開文件時,實體ID信息781對應于描述符。
實體狀態(tài)數(shù)據(jù)782表示與IC卡703相關的過程的進程的狀態(tài)。
如圖127中所示,IC卡實體數(shù)據(jù)773—x的基本狀態(tài)包括調查IC 卡703能夠使用的服務的處理的狀態(tài)(RS) , SAM芯片708借助其 驗證IC卡703的處理的狀態(tài)(Al) , IC卡703借助其驗證SAM芯 片708的處理的狀態(tài)(A2),從IC卡703讀取數(shù)據(jù)的處理的狀態(tài)(R) 和把數(shù)據(jù)寫入IC卡703的處理的狀態(tài)(W)。
本實施例中,調查服務企業(yè)的處理,SAM芯片708驗證IC卡703 的處理,IC卡703驗證SAM芯片708的處理,從IC卡703讀取數(shù) 據(jù)的處理和把數(shù)據(jù)寫入IC卡703的處理對應于作業(yè)。
如后所述,"作業(yè),,是IC卡過程管理任務772為其確定執(zhí)行順 序的處理單元。注意Al和A2構成IC卡703和SAM芯片708之間的相互驗證 處理。
此外,本實施例中,考慮到因特網(wǎng)710上的通信時間,如圖127 的狀態(tài)變換圖中所示,上面提及的基本狀態(tài)被分成啟動后(在發(fā)出命 令之后)狀態(tài)和完成(在接收響應之后)狀態(tài)。
具體地說,使用IC卡實體數(shù)據(jù)773—x的處理的狀態(tài)由實例產(chǎn)生 (IC卡實體數(shù)據(jù)產(chǎn)生)狀態(tài)、RS啟動后狀態(tài)、RS完成狀態(tài)、Al啟 動后狀態(tài)、Al完成狀態(tài)、A2啟動后狀態(tài)、A2完成狀態(tài)、R啟動后狀 態(tài)、R完成狀態(tài)、W啟動后狀態(tài)、W完成狀態(tài)和實例(IC卡實體數(shù) 據(jù))刪除狀態(tài)管理。
IC卡類型信息783是用于確定發(fā)出IC卡703的服務企業(yè)的信息。
在產(chǎn)生IC卡實體數(shù)據(jù)773一x時,利用由上面提及的腳本程序中的 CI命令確定的數(shù)據(jù)設置IC卡類型數(shù)據(jù)783。
服務類型單元指定數(shù)據(jù)784表示AP管理表數(shù)據(jù)7300—1-7300_3 和在利用IC卡實體數(shù)據(jù)773—x的處理中所使用的APP表數(shù)據(jù) 7310一1-7310—3中定義的應用單元數(shù)據(jù)APE。
在產(chǎn)生IC卡實體數(shù)據(jù)773一x時,利用上面提及的腳本程序中的 CS命令指定的一個或多個應用單元數(shù)據(jù)APE設置服務類型單元指定 數(shù)據(jù)784。
處理順序數(shù)據(jù)785表示在利用IC卡實體數(shù)據(jù)773_x中使用的服務 (作業(yè))的執(zhí)行順序,即圖127中所示的狀態(tài)變換。
即,處理順序數(shù)據(jù)785使用應用單元數(shù)據(jù)APE對應于IC卡703 的基本操作的作業(yè)的執(zhí)行順序。
這里如后所述,作業(yè)對應于圖127中所示的RS、 Al、 A2、 R和 W。關于IC卡703的具體操作由利用作業(yè)指定的處理順序實現(xiàn)。例如, 對于在只存在讀取而不進行相互驗證的情況下使用IC卡703的處理來 說,處理順序信息785被設置成"RS—R"。此外,就進行相互驗證 的讀取和寫入來說,處理順序信息 785被設置成 "RS—Al—A2—R—W"。當產(chǎn)生IC卡實體數(shù)據(jù)773一x時,利用圖127中所示的和在上面提及的腳本程序中的CS命令中指定的服務單元的順序對應的作業(yè)順序設置處理順序信息785。
利用用于執(zhí)行使用IC卡實體數(shù)據(jù)773一x的管理數(shù)據(jù),從ASP月艮務器719 —側設置預處理信息786。
例如,利用在SF數(shù)據(jù)塊(應用單元數(shù)據(jù)APE)中指定服務的計算公式的點數(shù)設置預處理信息786。
此外,當沒有定義服務間處理函數(shù)時,利用所請求的處理費用(charge )設置預處理信息786。
例如,就結算來說,設置和賦予的費用數(shù)額或者點數(shù)等相關的狀態(tài)。
利用在ASP服務器719 —側所需的IC卡實體數(shù)據(jù)773—x的處理結果的數(shù)據(jù)設置后處理信息787。例如,就結算來說,利用表示正常結束結算的數(shù)據(jù)設置后處理信息787。
下面將說明由圖125所示的和使用若干IC卡實體數(shù)據(jù)773_x的若干IC卡703相關的IC卡過程管理任務772進行的處理例程。
IC卡過程管理任務772持續(xù)不斷地在圖124中所示的SAM芯片708的CPU 766上被起動。
圖128是IC卡過程管理任務772執(zhí)行的處理的流程圖。
步驟ST701:
IC卡過程管理任務772從存在于存儲器765中的若干IC卡實體數(shù)據(jù)773一x中選擇一個IC卡實體數(shù)據(jù)773—x執(zhí)行下一處理。
選擇IC卡實體數(shù)據(jù)773一x的方法可能是依次選擇存在于存儲器765中的IC卡實體數(shù)據(jù)773_x,或者分配優(yōu)先級順序,并按照最高優(yōu)先級的順序依據(jù)優(yōu)先級進行選擇。
步驟ST702:
IC卡過程管理任務772判斷在步驟ST701選擇的IC卡實體數(shù)據(jù)773一x的作業(yè)是否已被啟動。當判斷該作業(yè)已被啟動時,它進行到步驟ST705的處理,而當判斷該作業(yè)還未被啟動時,則轉到步驟ST703的處理。
步驟ST703:
IC卡過程管理任務772根據(jù)在步驟ST701選擇的IC卡實體數(shù)據(jù)773一x的圖126中所示的實體狀態(tài)信息782判斷和該實體數(shù)據(jù)相關的處理處于圖172中所示的狀態(tài)變換圖中的哪一狀態(tài),并且根據(jù)處理順序信息785確定下一步要執(zhí)行的作業(yè)。
此時,處理順序信息785利用如前所述的服務定義表數(shù)據(jù)中設置的服務單元確定作業(yè)的執(zhí)行順序。
步驟ST704:
IC卡過程管理任務772啟動在步驟ST703選擇的作業(yè)。
IC卡過程管理任務772使用上面利用圖125說明的輸入數(shù)據(jù)塊731—xl,輸出數(shù)據(jù)塊732—x2,日志數(shù)據(jù)塊733—x3和計算定義數(shù)據(jù)塊734—x4中和該作業(yè)相關的數(shù)據(jù)塊執(zhí)行該作業(yè)。
此時,當向執(zhí)行作業(yè)的IC卡703發(fā)出命令時,IC卡過程管理任務772把對應于該作業(yè)的服務單元用作搜索AP管理表數(shù)據(jù)7300—1-7300—3,從而獲得對應于該服務單元的服務編號的關鍵字(IC卡703的操作命令能夠被IC卡703分析)。此外,IC卡過程管理任務772使用獲得的服務編號向IC卡703發(fā)布命令。
此外,如同利用圖113說明的那樣,當訪問IC卡703a的存儲區(qū)需要密鑰信息時,IC卡過程管理任務772使用對應于該作業(yè)的服務單元搜索AP管理表數(shù)據(jù)7300—1-7300—3,并獲得對應于該服務單元的密鑰信息。此外,IC卡過程管理任務772使用該密鑰信息完成和IC卡703的相互驗證,對數(shù)據(jù)加密和解密,或者進行其它處理,并且獲得訪問IC卡703的預定存儲區(qū)的;k限。
步驟ST705:
當IC卡過程管理任務772向IC卡703發(fā)出命令,并且等待IC卡703的處理結果時,執(zhí)行步驟ST705。
當IC卡過程管理任務772從IC卡703接收處理結果時,它把該結果放置在IC卡實體數(shù)據(jù)773_x中。步驟ST706:
IC卡過程管理任務772更新圖126中所示的IC卡實體數(shù)據(jù)773—x的實體狀態(tài)信息782。
這樣,在本實施例中,IC卡過程管理任務772并行進行存在于SAM芯片708中的若干IC卡703的處理,同時按照順序選擇所述若干IC卡703的IC卡實體數(shù)據(jù)773一x。于是,即使當接收使用若干IC卡703的過程的處理請求時,SAM芯片708也可同時繼續(xù)進行處理。
圖129和圖130說明了當在上述圖128中的步驟S704執(zhí)行作業(yè)時,,根據(jù)當訪問由SAM芯片708執(zhí)行的數(shù)據(jù)時,由應用單元數(shù)據(jù)APE或者處理確定的例程,由另一應用單元數(shù)據(jù)APE確定的處理。
步驟ST741:
當根據(jù)預定應用單元數(shù)據(jù)APE執(zhí)行處理時,指定供使用(訪問)的應用程序和該應用程序中的應用單元數(shù)據(jù)。
此外,所述使用指定該應用單元數(shù)據(jù)APE的讀取、寫入和執(zhí)行之
步驟S742:
SAM芯片708判斷在步驟ST741指定的應用單元數(shù)據(jù)APE是否存在于該SAM芯片708中。如果確定不存在于該SAM芯片708中,則轉到步驟ST743的處理,而如果確定存在于該SAM芯片708中,則轉到步驟ST745的處理。
步驟ST743:
SAM芯片708查看對應于正在執(zhí)行的應用程序的AP管理表數(shù)據(jù)7300—1-7300—3,獲得對應于相應服務(應用單元數(shù)據(jù)APE )的密鑰數(shù)據(jù)K—SAM,并且使用該密鑰數(shù)據(jù)K—SAM和具有要使用的應用單元數(shù)據(jù)APE的SAM芯片708a進行相互驗證。
步驟ST744:
如果在步驟ST743的相互驗證中,SAM芯片708和708a確認彼此的合法性,則SAM芯片708轉到步驟ST747的處理。如果沒有確認彼此的合法性,則轉到步驟ST751。步驟ST745:
SAM芯片708查看對應于正被執(zhí)行的應用程序的AP管理表數(shù)據(jù)7300一1-7300—3,獲得對應于該服務(應用單元數(shù)據(jù)APE)的密鑰數(shù)據(jù)K—SAM。
此外,對于同樣在步驟ST741指定的要使用的應用單元數(shù)據(jù)APE,SAM芯片708類似地查看對應于該應用單元數(shù)據(jù)APE的AP管理表數(shù)據(jù)7300—1-7300—3,獲得和相應服務(應用單元數(shù)據(jù)APE)對應的密鑰數(shù)據(jù)K一SAM。
此外,SAM芯片708比較所獲得的兩個密鑰數(shù)據(jù)K—SAM。
擾頻器746:
當SAM芯片708判斷在步驟ST745的處理所比較的兩個密鑰數(shù)據(jù)K—SAM相符,則例程轉到步驟ST747的處理,否則思索到步驟ST751。
步驟ST747:
SAM芯片708或708a查看對應于在步驟ST741指定的應用程序的AP管理表數(shù)據(jù)7300—1-7300—3,并且確定對應于所使用的應用單元數(shù)據(jù)APE的APP表數(shù)據(jù)7310_1-7310_3。
步驟ST748:
SAM芯片708或708a根據(jù)在步驟ST747指定的APP表數(shù)據(jù)7310_1-7310—3判斷要使用(訪問)的應用單元數(shù)據(jù)APE的訪問權限。
具體地說,它判斷讀取、寫入和執(zhí)行要使用的應用單元數(shù)據(jù)APE的權限。
步驟ST749:
當SAM芯片708或者708a判斷在步驟ST748存在訪問;^又限,則轉到步驟ST750,否則轉到步驟ST751的處理。步驟ST750:
SAM芯片708或708a把在步驟ST741指定的應用單元數(shù)據(jù)APE用于在步驟ST741指定的應用。步驟ST751:SAM芯片708或708a不把在步驟ST741指定的應用單元數(shù)據(jù)APE用于在步驟ST741指定的應用。
此外,在在上面說明的圖128的步驟ST704執(zhí)行作業(yè)時,當SAM芯片708根據(jù)由應用單元數(shù)據(jù)APE確定的例程相對于IC卡703傳送數(shù)據(jù)時,SAM芯片708查看圖125中所示的AP管理表數(shù)據(jù)7300—l-7300一3 ,獲得對應于該應用單元數(shù)據(jù)APE的密鑰數(shù)據(jù)K—CADR,并且4吏用該密鑰數(shù)據(jù)K—CARD訪問IC卡703的存儲器750。
下面將說明圖109中所示的通信系統(tǒng)的整體操作。
圖131和圖132說明了圖109中所示通信系統(tǒng)701的整體操作。
步驟ST721:
服務企業(yè)715—1-715_3或者這些企業(yè)所請求的一方在圖109中所示個人計算機716—1、 716—2和716—3上產(chǎn)生腳本程序721—1、 721_2和721_3,所述腳本程序721_1、 721—2和721—3描述服務企業(yè)利用IC卡703進行的交易的處理。
此外,SAM芯片708的管理人員產(chǎn)生對應于服務企業(yè)715—1-715—3的AP管理表數(shù)據(jù)7300—1-7300—3。
步驟ST722:
在步驟ST721產(chǎn)生的AP管理表數(shù)據(jù)7300一1-7300—3 ^皮保存在外部存儲器707中。
此外,在步驟ST721產(chǎn)生的腳本程序721_1、 721—2和721—3通過因特網(wǎng)710、ASP服務器719和SAM芯片708從個人計算機716—1、716—2和716_3#^下載到外部存儲器707。如圖118中所示,關于下載的處理由SAM芯片708中的腳本下載任務769管理。
步驟ST723:
圖118中所示的SAM芯片中708中的腳本解釋任務770使用AP管理表數(shù)據(jù)7300_1-7300一3和腳本程序產(chǎn)生每個服務企業(yè)的IC卡實體模板數(shù)據(jù),輸入數(shù)據(jù)塊,輸出數(shù)據(jù)塊,日志數(shù)據(jù)塊和計算定義數(shù)據(jù)塊。
產(chǎn)生的數(shù)據(jù)被保存在圖124中所示的SAM芯片708的存儲器765中。
步驟ST724:用戶被發(fā)給IC卡703。
如圖113中所示,IC卡703的IC 703a的存儲器750保存用于用戶和服務企業(yè)達成的交易的密鑰信息。
注意在發(fā)行IC卡703之后,用戶和服務企業(yè)之間的合同還可通過因特網(wǎng)710等締結。
步驟ST725:
例如,當用戶使用個人計算機705通過因特網(wǎng)710訪問服務器702,試圖購買產(chǎn)品時,服務器702通過因特網(wǎng)710向ASP服務器719發(fā)出處理請求。
當ASP服務器719從服務器702接收處理請求時,它通過因特網(wǎng)710訪問個人計算機705。此外,從讀卡機/寫卡機704發(fā)出的涉及IC卡703處理請求通過個人計算機705、因特網(wǎng)710和ASP服務器719被傳送給SAM芯片708。
步驟ST726:
ASP服務器719向SAM芯片708輸出實體產(chǎn)生請求。該實體產(chǎn)生請求保存顯示IC卡703的發(fā)行者的信息。步驟S727:
當SAM芯片708接收實體產(chǎn)生請求時,它執(zhí)行對于IC卡703的輪詢。
步驟ST728:
輪詢結束之后,SAM芯片708的實體產(chǎn)生任務771判斷存在于SAM芯片708中的IC卡實體數(shù)據(jù)773—x的數(shù)目是否在由腳本程序的SC命令確定的最大數(shù)目之內。如果在最大數(shù)目之內,則轉到步驟ST729的處理,如果不在最大數(shù)目之內,則結束處理。
步驟ST729:
實體產(chǎn)生任務771根據(jù)保存在實體產(chǎn)生請求中的顯示IC卡703的發(fā)行者的信息,指定要使用哪個服務企業(yè)的IC卡實體模板數(shù)據(jù),并且使用指定的IC卡實體模板數(shù)據(jù)產(chǎn)生IC卡實體數(shù)據(jù)773一x。這對應于圖127中所示的實例產(chǎn)生。步驟ST730:
SAM芯片708把在步驟ST729產(chǎn)生的IC卡實體數(shù)據(jù)773—x的實體ID輸出給ASP服務器719。步驟ST731:
SAM芯片708的IC卡過程管理任務772調查IC卡703能夠使用的服務。
這是對應于圖127中所示作業(yè)RS的處理。步驟ST732:
SAM芯片708的IC卡過程管理任務772驗證IC卡703的合法性。
這是對應于圖127中所示作業(yè)Al的處理。步驟ST733:
IC卡703驗證SAM芯片708的合法性。這是對應于圖127中所示作業(yè)A2的處理。
根據(jù)步驟ST32和ST33,IC卡703和SAM芯片708被相互驗證。此時,如前所述,根據(jù)正凈皮SAM芯片708執(zhí)行的應用單元數(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之間的相互驗證。步驟ST734:
SAM芯片708的IC卡過程管理任務772讀取和寫入關于IC卡703的過程所需的數(shù)據(jù)。
這是對應于圖127中所示的作業(yè)R和W的處理。
此外,IC卡過程管理任務772使用根據(jù)IC卡實體數(shù)據(jù)773一x的預處理數(shù)據(jù)指定的處理公式,并且使用從IC卡703讀取的數(shù)據(jù)進行預定的計算處理。
步驟ST735:SAM芯片708的IC卡過程管理任務772把步驟ST734的處理結果輸出給ASP服務器719。步驟ST736:
例如,IC卡過程管理任務772刪除IC卡實體數(shù)據(jù)773—x。如上所述,根據(jù)通信系統(tǒng)701和SAM裝置709,通過配置使用若干應用單元數(shù)據(jù)APE的應用程序AP,并且使用AP管理表數(shù)據(jù)和APP表數(shù)據(jù)定義應用單元數(shù)據(jù)APE的計算內容,能夠提供使用IC卡703的不同服務。
此外,根據(jù)通信系統(tǒng)701,能夠在保持高度機密的同時,使用AP管理表數(shù)據(jù)和APP表數(shù)據(jù)靈活實現(xiàn)相同SAM中應用單元數(shù)據(jù)APE的利用,以及不同SAM之間應用單元數(shù)據(jù)APE的利用。
此外,根據(jù)通信系統(tǒng)701,當在不同SAM之間使用應用單元數(shù)據(jù)APE時,由于在SAM之間進行相互驗證,因此能夠提高應用程序的機密性。
此外,根據(jù)通信系統(tǒng)701,通過向相同服務企業(yè)的應用程序分配同類的SAM一ID,能夠防止在相同企業(yè)的應用程序的應用單元數(shù)據(jù)APE之間執(zhí)行復雜的相互驗證處理,從而減輕SAM芯片的密鑰信息管理和處理的負擔。
此外,根據(jù)通信系統(tǒng)701,能夠為和IC卡703 —同發(fā)生的過程的各個處理產(chǎn)生IC卡實體數(shù)據(jù)773一x,并且使IC卡過程管理任務772使用若干IC卡實體數(shù)據(jù)773_x同時繼續(xù)進行涉及所述若干IC卡703的處理。
此外,根據(jù)驗證系統(tǒng)701,由于把實際用于IC卡703的處理的IC卡實體數(shù)據(jù)773_3保存到存儲器765中就足夠了 ,因此能夠有效地使用存儲器765的存儲區(qū)。
另外,根據(jù)驗證系統(tǒng)701,如圖127中所示,由于IC卡過程管理任務772所處理作業(yè)的執(zhí)行狀態(tài)被分成啟動后狀態(tài)和完成狀態(tài),因此在開始執(zhí)行一個作業(yè)之后,能夠在等待來自于IC卡703的數(shù)據(jù)的狀態(tài)下開始另一作業(yè)的處理。于是,能夠消除通過因特網(wǎng)10與IC卡703傳送數(shù)據(jù)引起的等待時間。
此外,根據(jù)驗證系統(tǒng)701, AP管理表數(shù)據(jù)7300—1-7300—3其中描述表示由各個服務企業(yè)提供的服務類型的名稱,即APE一N, IC卡703中使用的服務的編號,以及當提供這些服務時使用的密鑰信息。這些保存在外部存儲器707中。于是,不是SAM芯片708的開發(fā)者的服務企業(yè)715—1-715—3可通過產(chǎn)生腳本程序721—1、 721—2和721_3,并且通過SAM芯片708把這些腳本程序下栽到外部存儲器707,定制他們自己的運行于SAM芯片708上的應用程序。即,在不把直接操作IC卡703的密鑰信息或操作命令,或者其它高度機密的信息告知服務企業(yè)715_1-715_3的情況下,這些服務企業(yè)可定制他們自己的應用程序。此外,當定制應用程序時,服務企業(yè)不必知道密鑰數(shù)據(jù)或者卡操作命令,從而減輕了服務企業(yè)的負擔。
此外,根據(jù)驗證系統(tǒng)701,由于能夠定義生成若干服務的計算內容,因此能夠在IC卡3 —側提供把經(jīng)批準同時執(zhí)行的大量服務中的若干服務組合起來的不同服務。
此外,根據(jù)驗證系統(tǒng)701,通過引入數(shù)據(jù)塊的概念,能夠容易地管理相對于IC卡703的數(shù)據(jù)輸入輸出以及日志數(shù)據(jù)。附閨標記
l...通信系統(tǒng),2...服務器,3...IC卡,4...讀卡機/寫卡機,5…個人計算機,6…ASP服務器,7…外部存儲器,8..,SAM芯片,9…SAM裝置,IO...因特網(wǎng),15_1、 15—2、 15_3...信用卡企業(yè),16_1、 16—2、16一3,.,個人計算機
101…通信系統(tǒng),102…服務器,103…IC卡,104…讀卡機/寫卡機,105…個人計算機,106…ASP服務器,107…外部存儲器,108... SAM芯片,109…SAM裝置,IIO...因特網(wǎng),115—1、 115-2和115—3…信用卡企業(yè),U6—1、 116—2和116_3,..個人計算機,117—1、 117—2、 117—3…驗證裝置
201…通信系統(tǒng),202…服務器,203…IC卡,2(M…讀卡機/寫卡機,205…個人計算機,206…ASP服務器,2CV7…外部存儲器,208...SAM芯片,209...SAM裝置,210…因特網(wǎng),215_1、 215—2、 215一3…信用卡企業(yè),216—1、 216—2、 216—3…個人計算機,217—1、 217_2、 217一3…驗證裝置
301…通信系統(tǒng),302…服務器,303…IC卡,304…讀卡機/寫卡機,
305...個人計算機,306…ASP服務器,307,..外部存儲器,308..,SAM芯片,309...SAM裝置,310…因特網(wǎng),315—1、 315—2、 315—3…信用卡企業(yè),315—4…處理程序層的開發(fā)者,315—S…SAM芯片管理人員,316 1、 316 2、 316 3...個人計算機,317 1、 317 2、 317 3…驗證裝置,318…ICE
401...通信系統(tǒng),402...服務器,403…IC卡,404…讀卡機/寫卡機,405...個人計算機,406…ASP服務器,407…外部存儲器,408…SAM芯片,409...SAM裝置,410…因特網(wǎng),415—1、 415—2、 415一3…信用
卡企業(yè),416—1、 416一2、 416—3…個人計算機,417一1、 417—2、 417—3...驗證裝置501…計算機,502…CPU, 503…存儲器,504…通信電路,506...CPU數(shù)據(jù)總線,507...CPU地址總線,508…1C卡,5S1."計算機,5S2...CPU, 5S3…存儲器,560,..判斷電路,561...開關電路,562...存儲器數(shù)據(jù)總線,570...選擇電路,571...取出判斷電路,572...讀取判斷電路,573.,.寫入判斷電路
631...半導體電路,632...內部存儲器,633.,.開關電路,634...開關電路,635…判斷電路,636…選擇電路,637…CPU, 660…外部存儲器,6131...半導體芯片,6134...加密/解密電路,6135...判斷電路,6136...選擇電路,6137…CPU, 6160…外部存儲器,6190...密鑰信息表
701…通信系統(tǒng),702…服務器,703…IC卡,704…讀卡機/寫卡機,705…個人計算機,707、 707a…外部存儲器,708、 708a…SAM芯片,709、 709a…SAM裝置,715—1 - 715—3…服務企業(yè),719…ASP服務器。
權利要求
1.一種由執(zhí)行應用程序的半導體電路完成的數(shù)據(jù)處理方法,所述數(shù)據(jù)處理方法包括下述步驟利用多個防火墻中事先分配給形成所述應用程序的多個程序模塊中的各個程序模塊的防火墻保護該程序模塊,記錄與識別分配給程序模塊的防火墻的防火墻識別信息鏈接的程序模塊,和以所述記錄正在進行為條件,執(zhí)行所述程序模塊。
2. 按照權利要求1所述的數(shù)據(jù)處理方法,還包括允許記錄的與相 同防火墻識別信息鏈接的多個程序模塊之間的數(shù)據(jù)傳送或數(shù)據(jù)查看, 并且禁止記錄的與不同防火墻識別信息鏈接的多個程序模塊之間的數(shù) 據(jù)傳送或者數(shù)據(jù)查看的步驟。
3. 按照權利要求1所述的數(shù)據(jù)處理方法,還包括下述步驟 記錄還與當把程序模塊從所述半導體電路之外下裁到所述半導體電路時使用的下栽密鑰信息鏈接的程序模塊,和當接收關于所述程序模塊的下載請求時,利用記錄的和所述程序 模塊鏈接的所述下載密鑰信息判斷下栽是否可能,并且當判斷下載可 能時,下載該程序一莫塊。 」
4. 按照權利要求3所述的數(shù)據(jù)處理方法,還包括當對應于所述程 序模塊的所述下載密鑰信息未被記錄時,不下栽程序模塊的步驟。
5. 按照權利要求3所述的數(shù)據(jù)處理方法,還包括關于所述下載請 求的發(fā)出者進行相互驗證,以便確認所述發(fā)出者的合法性,隨后判斷 所述下栽是否可能的步驟。
6. 按照權利要求3所述的數(shù)據(jù)處理方法,還包括下述步驟 記錄還與在執(zhí)行所述程序模塊之前使用的密鑰信息鏈接的程序模塊,和利用和關于其的執(zhí)行請求被接收的程序模塊對應的所述密鑰信息 來判斷所述程序模塊是否已被改變或者被竄改,當判斷所述程序模塊未被改變或者被竄改時,執(zhí)行所述程序模塊。
7. 按照權利要求3所述的數(shù)據(jù)處理方法,還包括下述步驟 當把程序模塊保存在設置于所述半導體電路之外的半導體存儲電路中時,所述半導體電路對所述程序模塊擾頻,隨后將其寫入所述半導體 存儲電路中,和所述半導體電路對從所述半導體存儲電路讀取的程序4莫塊解擾頻。
8. 按照權利要求3所述的數(shù)據(jù)處理方法,還包括下述步驟 當所述應用程序定義利用集成電路相對于所述半導體電路傳送數(shù)據(jù)的過程的處理時,所述半導體電路利用第二密鑰信息對用于所述集成電路的操作的第一密鑰信息加密,并將其保存在所述半導體存儲電路中,和所述半導體電路把所述第二密鑰信息保存在所述半導體電路中。
9,按照權利要求3所述的數(shù)據(jù)處理方法,其中所述集成電路安裝在卡上。
10. 按照權利要求3所述的數(shù)據(jù)處理方法,還包括下述步驟 所述半導體電路執(zhí)行與提供利用所述集成電路執(zhí)行的過程的多個過程提供者對應的多個應用程序,及所述半導體電路利用相同的防火墻保護形成相同應用程序的多個 所述程序模塊。
11. 一種運行應用程序的半導體電路, 所述半導體電路利用多個防火墻中事先分配給形成所述應用程序的多個程序模塊 中的各個程序模塊的防火墻保護該程序模塊,記錄與識別分配給該程序模塊的防火墻的防火墻識別信息鏈接的 程序模塊,和以所述記錄正在進行為條件,執(zhí)行所述程序模塊。
12. 按照權利要求ll所述的半導體電路,所述半導體電路允許記錄的與相同防火墻識別信息鏈接的多個程序模塊之間的數(shù)據(jù)傳送或數(shù) 據(jù)查看,并且禁止記錄的與不同防火墻識別信息鏈接的多個程序模塊 之間的數(shù)據(jù)傳送或者數(shù)據(jù)查看。
13. 按照權利要求11所述的半導體電路,所述半導體電路 記錄還與當把程序模塊從所述半導體電路之外下載到所述半導體電路時使用的下載密鑰信息鏈接的程序模塊,和當接收關于所述程序模塊的下載請求時,利用記錄的和所述程序 模塊鏈接的所述下栽密鑰信息判斷下載是否可能,當判斷下栽可能時, 下載該程序模塊。
14. 按照權利要求13所述的半導體電路,當對應于所述程序模塊 的所述下載密鑰信息未被記錄時,所述半導體電路不下載程序模塊。
15. 按照權利要求13所述的半導體電路,所述半導體電路相對于 所述下栽請求的發(fā)出者進行相互驗證,以便確認所述發(fā)出者的合法性, 隨后判斷所述下栽是否可能。
16. 按照權利要求11所述的半導體電路,所述半導體電路 記錄還與在執(zhí)行所述程序模塊之前使用的密鑰信息鏈接的程序模塊,和利用和關于其的執(zhí)行請求被接收的程序模塊對應的所述密鑰信息 來判斷所述程序模塊是否已被改變或者竄改,當判斷所述程序模塊未 被改變或者竄改時,執(zhí)行所述程序模塊。
17. 按照權利要求11所述的半導體電路,其中當把程序模塊保存在設置于所述半導體電路之外的半導體存儲電 路中時,所述半導體電路對所述程序模塊擾頻,隨后將其寫入所述半導體 存儲電路中,和所述半導體電路對從所述半導體存儲電路讀取的程序模塊解擾頻。
18. 按照權利要求11所述的半導體電路,所述半導體電路, 當所述應用程序定義利用集成電路相對于所述半導體電路傳送數(shù)據(jù)的過程的處理時,利用第二密鑰信息對用于所述集成電路的操作的第一密鑰信息加 密,并將其保存在所述半導體存儲電路中,和把所述第二密鑰信息保存在所述半導體電路中。
19. 按照權利要求11所述的半導體電路,其中所述集成電路安裝 在卡上。
20. 按照權利要求18所迷的半導體電路,其中所述半導體電路 執(zhí)行與提供利用所述集成電路執(zhí)行的過程的多個過程提供者對應的多個應用程序,及利用相同的防火墻保護形成相同應用程序的多個所述程序模塊。
21. —種由半導體電路執(zhí)行的用于執(zhí)行應用程序的數(shù)據(jù)處理方法,所述數(shù)據(jù)處理方法包括下述步驟 獨立執(zhí)行由防火墻保護的多個應用程序,預先記錄允許在所述應用程序之間進行的通信穿過所述防火墻的 條件,當應用程序請求與另 一應用程序通信時,判斷通信請求是否滿足 所述記錄條件,和當判斷通信請求滿足所述記錄條件時,根據(jù)所述通信請求進行應 用程序之間的通信。
22. 按照權利要求21所述的數(shù)據(jù)處理方法,還包括把指示允許通 過所述防火墻的通信的所述通信請求的發(fā)出者的應用程序和所述另一 應用程序的組合的信息記錄為允許所述通信的條件的步驟。
23. 按照權利要求21所述的數(shù)據(jù)處理方法,還包括下述步驟, 當所述半導體電路從所述半導體電路之外接收處理請求時, 在所述多個應用程序之間選擇和所述處理請求對應的應用程序,和根據(jù)選擇的所述應用程序,執(zhí)行和所述處理請求相符的處理。
24. 按照權利要求21所迷的數(shù)據(jù)處理方法,還包括利用所述半導間通信的數(shù)據(jù)的步驟。
25. 按照權利要求24所述的數(shù)據(jù)處理方法,還包括下述步驟 數(shù)據(jù)發(fā)送一方的應用程序把數(shù)據(jù)寫入所述預定存儲區(qū), 數(shù)據(jù)發(fā)送一方的應用程序把寫入操作正在進行的事實通知數(shù)據(jù)接收一方的應用程序,和數(shù)據(jù)接收一方的應用程序根據(jù)所述通知從所述預定存儲區(qū)讀取所 述數(shù)據(jù)。
26. 按照權利要求24所述的數(shù)據(jù)處理方法,還包括當產(chǎn)生關于所 述預定存儲區(qū)的訪問請求時,借助防火墻判斷所述訪問的合法性,并 且只有對被判斷為合法的訪問請求,才允許訪問所述預定存儲區(qū)的步
27. 按照權利要求24所述的數(shù)據(jù)處理方法,還包括對和所述應用 程序之間的通信一起傳送的數(shù)據(jù)擾頻,隨后將其保存在所述預定存儲 區(qū)中的步驟。
28. 按照權利要求21所述的數(shù)據(jù)處理方法,還包括所述半導體電 路向另一半導體電路請求伴隨所述應用程序的執(zhí)行的至少部分處理的 步驟。
29. —種半導體電路,所述半導體電路 獨立執(zhí)行受防火墻保護的多個應用程序,事先記錄允許在所述應用程序之間進行的通信穿過所述防火墻的 條件,當應用程序請求與另 一應用程序通信時,判斷通信請求是否滿足 所述記錄條件,和當判斷通信請求滿足所述記錄條件時,根據(jù)所述通信請求進行所 述應用程序之間的通信。
30. 按照權利要求29所述的半導體電路,所述半導體電路把指示 允許通過所述防火墻的通信的所述通信請求的發(fā)出者的應用程序和所 述其它應用程序的組合的信息記錄為允許所述通信的條件。
31. 按照權利要求29所述的半導體電路,所述半導體電路 當從外部接收處理請求時,在所述多個應用程序之間選擇和所述處理請求對應的應用程序,和根據(jù)選擇的所述應用程序,執(zhí)行和所述處理請求相符的處理。
32. 按照權利要求29所述的半導體電路,所述半導體電路利用所程序之間通信的數(shù)據(jù)。
33. 按照權利要求32所述的半導體電路,所述半導體電路 在數(shù)據(jù)發(fā)送一方的應用程序中把數(shù)據(jù)寫入所述預定存儲區(qū), 把寫入操作正在進行的事實通知數(shù)據(jù)接收一方的應用程序,和 根據(jù)所述通知把所述數(shù)據(jù)從所述預定存儲區(qū)讀入數(shù)據(jù)接收一 方的應用程序。
34. 按照權利要求32所述的半導體電路,當產(chǎn)生關于所述預定存 儲區(qū)的訪問請求時,所迷半導體電路借助防火墻判斷所述訪問的合法 性,并且只有對被判斷為合法的訪問請求,才允許訪問所述預定存儲 區(qū)。
35. 按照權利要求32所述的半導體電路,所述半導體電路對和所 述應用程序之間的通信一起傳送的數(shù)據(jù)擾頻,隨后將其保存在所述預 定存儲區(qū)中。
36. 按照權利要求29所述的半導體電路,所述半導體電路向另一 半導體電路請求伴隨所述應用程序的執(zhí)行的至少部分處理。
37. —種數(shù)據(jù)處理方法,借助該數(shù)據(jù)處理方法半導體電路或者所 述半導體電路可訪問的半導體存儲設備下載在所述半導體電路中運行 的程序其中所述半導體電路具有由多層組成的軟件結構,并使對應于每 層的下栽簽名驗證密鑰信息能夠被所述半導體電路查看, 所述數(shù)據(jù)處理方法包括下述步驟當接收所述下載請求時,所述半導體電路利用所述下栽簽名驗證密鑰信息驗證根據(jù)下載請求產(chǎn)生的下栽簽名信息,以所述下栽簽名信息合法為條件,所述半導體電路允許所述下載 請求的發(fā)出者下栽與用于該驗證的下栽簽名驗證密鑰信息對應的那一 層的程序。
38. 按照權利要求37所述的數(shù)據(jù)處理方法,還包括下述步驟 驗證設備保存與允許被下載的程序所屬那層對應的訪問主密鑰信息,所述驗證設備把所述下載請求傳送給所述半導體電路,和 所述驗證設備使用該訪問主密鑰信息產(chǎn)生所述下栽簽名信息,并 把該下載簽名信息傳送給所述半導體電路。
39. 按照權利要求37所述的數(shù)據(jù)處理方法,還包括下述步驟 驗證設備保存所述半導體電路的識別信息,和所述驗證設備利用所述訪問主密鑰信息對呈明文形式的所述識別 信息加密,產(chǎn)生下載主密鑰信息,并且使用該下栽主密鑰信息產(chǎn)生所 述下載簽名信息。
40. 按照權利要求38所述的數(shù)據(jù)處理方法,還包括下述步驟第一訪問主密鑰信息和與所述層的一個或多個更高層對應的一個或多 個第二訪問主密鑰信息,和所述驗證設備使用所述第 一訪問主密鑰信息和所述一 個或多個第 二訪問主密鑰信息產(chǎn)生所述下載簽名信息。
41. 按照權利要求38所述的數(shù)據(jù)處理方法,還包括所述驗證設備 相對于所迷半導體電路進行相互驗證,隨后把所述下載簽名信息傳送 給所述半導體電路的步驟。
42. 按照權利要求41所述的數(shù)據(jù)處理方法,還包括下述步驟 所述驗證設備保存所述半導體電路的相互驗證主密鑰信息和識別信息,所述驗證設備利用所述相互驗證主密鑰信息對呈明文形式的所述 識別信息加密,產(chǎn)生相互驗證密鑰信息,和所述驗證設備把所述相互驗證密鑰信息用于和所述半導體電路的 相互驗證。
43. 按照權利要求37所述的數(shù)據(jù)處理方法,其中所述半導體電路 的軟件結構被分成只有所述半導體電路的管理人員被賦予下載權的第 一層,設置在所述第一層之上的第二層,操作預定集成電路的程序屬 于該第二層,設置在所述第二層之上的第三層,定義使用所述集成電 路的交易過程內容的應用程序屬于該第三層。
44. 按照權利要求43所述的數(shù)據(jù)處理方法,其中 所述集成電路安裝在卡上,并且所述半導體電路通過通信線路和與所述通信線路相連的通信設備 訪問所述集成電路。
45. 按照權利要求43所述的數(shù)據(jù)處理方法,其中與執(zhí)行使用所述 集成電路的交易的多個企業(yè)對應的應用程序屬于所述第三層,為所述 多個應用程序定義防火墻,并且限制通過所述防火墻的所述應用程序 之間的數(shù)據(jù)傳送或數(shù)據(jù)查看。
46. 按照權利要求38所述的數(shù)據(jù)處理方法,還包括當檢測到施加 于所述驗證設備上的物理外力,借助所迷外力,所述訪問主密鑰信息 可能被非法起動時,所述驗證設備自動刪除所述保存的訪問主密鑰信
47. —種具有由多層組成的軟件結構的半導體電路, 所述半導體電路能夠查看對應于各層的下載簽名驗證密鑰信息, 當接收下載請求時,利用所述下栽簽名驗證密鑰信息驗證根據(jù)下載請求產(chǎn)生的下載簽名信息,和以所述下載簽名信息合法為條件,允許所述下栽請求的發(fā)出者把 和用于該驗證的下載簽名驗證密鑰信息對應的一層的程序下載到該半 導體電路或者所述半導體電路可訪問的半導體存儲電路。
48. 按照權利要求47所述的半導體電路,其中所述半導體電路的 軟件結構被分成只有所述半導體電路的管理人員被賦予下載權的第一 層,設置在所述第一層之上的笫二層,操作預定集成電路的程序屬于該第二層,設置在所述第二層之上的第三層,定義使用所述集成電路 的交易過程內容的應用程序屬于該第三層。
49. 按照權利要求47所述的半導體電路,其中 所述集成電路安裝在卡上,并且所述半導體電路通過通信線路和與所述通信線路相連的通信設備 訪問所述集成電路。
50. 按照權利要求49所述的半導體電路,其中與執(zhí)行使用所述集 成電路的交易的多個企業(yè)對應的應用程序屬于所述第三層,為所述多 個應用程序定義防火墻,并且限制通過所述防火墻的所述應用程序之 間的數(shù)據(jù)傳送或數(shù)據(jù)查看。
51. —種當把在半導體電路中運行的程序下栽到具有由多層組成 的軟件結構的半導體電路或者可被該半導體電路訪問的半導體存儲設 備時,用于驗證的驗證設備,所述驗證設備保存與允許被下載的程序所屬層相對應的訪問主密鑰信息, 把所述下載請求傳送給所述半導體電路,和 利用該訪問主密鑰信息產(chǎn)生所述下載簽名信息,并把該下載簽名 信息傳送給所述半導體電路。
52. 按照權利要求51所述的驗證設備,所述驗證設備 保存所述半導體電路的識別信息,和利用所述訪問主密鑰信息對呈明文形式的所述識別信息加密,從 而產(chǎn)生下栽主密鑰信息,并且使用該下載主密鑰信息產(chǎn)生所述下載簽 名信息。
53. 按照權利要求52所述的驗證設備,所述驗證設備 保存與允許下栽到所述半導體電路的所述層對應的第一訪問主密鑰信息和與所述層的一個或多個更高層對應的一個或多個第二訪問主 密鑰信息,并且利用所述第一訪問主密鑰信息和所述一個或多個第二訪問主密鑰 信息產(chǎn)生所述下栽簽名信息。
54. 按照權利要求52所述的驗證設備,所述驗證設備執(zhí)行和所述 半導體電路的相互驗證,隨后把所述下載簽名信息傳送給所述半導體 電路。
55. 按照權利要求54所述的驗證設備,所述驗證設備 保存所述半導體電路的相互驗證主密鑰信息和識別信息,利用所述相互驗證主密鑰信息對呈明文形式的所述識別信息加 密,產(chǎn)生相互驗證密鑰信息,和把所述相互驗證密鑰信息用于和所述半導體電路的相互驗證。
56. 按照權利要求52所述的驗證設備,其中當檢測到施加于所述 驗證設備上的物理外力,借助所述外力,所述訪問主密鑰信息可能被 非法起動時,所述驗證設備自動刪除保存的所述訪問主密鑰信息。
57. —種具有數(shù)據(jù)處理電路和數(shù)據(jù)輸入/輸出處理電路的半導體電 路,其中所述數(shù)據(jù)處理電路通過所述數(shù)據(jù)輸入/輸出處理電路借助于該半 導體電路之外的總線輸入輸出數(shù)據(jù),和 所述數(shù)據(jù)輸入/輸出電路對以預定數(shù)據(jù)長度為單位從所述數(shù)據(jù)處理電路輸入的數(shù)據(jù)加密, 并把加密后的數(shù)據(jù)輸出給所述總線,對從所述總線輸入的數(shù)椐解密,并把解密后的數(shù)據(jù)輸出給所述數(shù) 據(jù)處理電路,并且當Nc/Nb=n時,以m個數(shù)據(jù)輸入/輸出交易為單位,通過所述總 線執(zhí)行數(shù)據(jù)輸入/輸出交易,這里所述總線的總線寬度為Nb,數(shù)據(jù)長 度為Nc, n或者更大值(n or more )的最小整數(shù)為m。
58. 按照權利要求57所述的半導體電路,其中, 所述數(shù)據(jù)輸入/輸出電路,當根據(jù)從所述數(shù)據(jù)處理電路輸入的第一地址通過所述總線訪問半 導體存儲電路時,把所述第一地址轉換成第二地址,以便以保存Nc的數(shù)據(jù)的存儲區(qū) 為單位訪問所述半導體存儲電路,并且使用所述第二地址訪問所述半導體存儲電路。
59. 按照權利要求58所述的半導體電路,其中所述數(shù)據(jù)輸入/輸出 電路,當所述數(shù)據(jù)處理電路接收把第 一數(shù)據(jù)寫入第 一地址的指令時, 把所述第 一地址轉換成所述第二地址,使用所述第二地址從所述半導體存儲電路讀取包括所述第一地址 的預定地址范圍的數(shù)據(jù),對所述讀取的數(shù)據(jù)解密,把對應于所述第一地址的數(shù)據(jù)重新寫入所述解密數(shù)據(jù)中, 對包括所迷重寫數(shù)據(jù)的預定地址范圍的所述數(shù)據(jù)加密,并且 利用所述第二地址把所述加密數(shù)據(jù)寫入所述半導體存儲電路。
60. 按照權利要求58所述的半導體電路,其中所述數(shù)據(jù)輸入/輸出 電路,當所述數(shù)據(jù)處理電路接收從第一地址讀取數(shù)據(jù)的指令時, 把所述第 一地址轉換成所述第二地址,使用所述第二地址從所述半導體存儲電路讀取包括所述第一地址 的預定地址范圍的數(shù)據(jù),對所述讀取的數(shù)據(jù)解密,把對應于所述第一地址的數(shù)據(jù)重新寫入所述解密數(shù)據(jù)中,并且 取出所述解密數(shù)據(jù)中與所述第一地址對應的數(shù)據(jù),并將其輸出給 所述數(shù)據(jù)處理電路。
61. 按照權利要求57所述的半導體電路,其中以當對所述數(shù)據(jù)加 密以便寫入所述半導體存儲電路時使用的密鑰數(shù)據(jù)和當從所述半導體數(shù)據(jù)輸入:輸出電路恰當?shù)亟粨Q;于所述加密和解密的i鑰數(shù)據(jù)。、'
62. 按照權利要求61所述的半導體電路,其中 所述數(shù)據(jù)輸入/輸出電路保存多個所述密鑰, 所述多個密鑰被恰當?shù)亟粨Q以供使用。
63. 按照權利要求61所述的半導體電路,其中所述數(shù)據(jù)輸入/輸出電路把訪問所述半導體存儲電路的地址用于計算,以便產(chǎn)生所述密鑰。
64. 按照權利要求61所述的半導體電路,其中所述數(shù)據(jù)輸入/輸出 電路根據(jù)要寫入所述半導體存儲電路的數(shù)據(jù)產(chǎn)生奇偶校驗數(shù)據(jù),把所 述奇偶校驗數(shù)據(jù)寫入和所述數(shù)據(jù)鏈接的所述半導體存儲電路中,和所 述數(shù)據(jù)的讀取一起讀取對應的奇偶校驗數(shù)據(jù),并且根據(jù)所述奇偶校驗 數(shù)據(jù)驗證所述讀取數(shù)據(jù)的合法性。
65. 按照權利要求57所述的半導體電路,其中所述數(shù)據(jù)輸入/輸出 電路將把數(shù)據(jù)寫入所述半導體存儲電路的處理和從所述半導體存儲電 路讀取數(shù)據(jù)的處理的至少之一劃分成多個處理,并且以所述劃分后的 處理為單位進行流水線處理。
66. 按照權利要求65所述的半導體電路,其中所述數(shù)據(jù)輸入/輸出 電路對從所述數(shù)據(jù)處理電路輸入的地址擾頻,從而產(chǎn)生第二地址。
67. —種當半導體電路和半導體存儲電路通過總線相連時,當訪 問半導體存儲電路時,半導體電路所執(zhí)行的數(shù)據(jù)處理方法,所述數(shù)據(jù)處理方法包括下述步驟對將以預定數(shù)據(jù)長度為單位寫入所述半導體存儲電路的數(shù)據(jù)加 密,并把加密數(shù)據(jù)輸出給所述總線, 對從所述總線輸入的數(shù)據(jù)解密,和當Nc/Nb=n時,以m個數(shù)據(jù)輸入/輸出交易為單位,通過所述總 線執(zhí)行數(shù)據(jù)輸入/輸出交易,這里所述總線的總線寬度為Nb,所述數(shù) 據(jù)長度為Nc, n或者更大值(nor more)的最小整數(shù)為m。
68. 按照權利要求67所述的數(shù)據(jù)處理方法,還包括產(chǎn)生當訪問所 述半導體存儲電路時使用的地址,以便以保存Nc長度的數(shù)據(jù)的存儲 區(qū)為單位訪問所述半導體存儲電路的步驟。
69. 按照權利要求68所述的數(shù)據(jù)處理方法,還包括下述步驟 使用所述產(chǎn)生的地址從所述半導體存儲電路讀取預定地址范圍的數(shù)據(jù),對所述讀取的數(shù)據(jù)解密, 把必要的數(shù)據(jù)重新寫入所述解密數(shù)據(jù)中,對包括所述重寫數(shù)據(jù)的預定地址范圍的所述數(shù)據(jù)加密,和 利用所述產(chǎn)生的地址把所述加密數(shù)據(jù)寫入所述半導體存儲電路。
70. 按照權利要求68所述的數(shù)據(jù)處理方法,還包括下述步驟 使用所述產(chǎn)生的地址從所述半導體存儲電路讀取預定地址范圍的數(shù)據(jù),對所述讀取的數(shù)據(jù)解密,和 取出并處理所述解密數(shù)據(jù)中的必要數(shù)據(jù)。
71. 按照權利要求67所述的數(shù)據(jù)處理方法,還包括以當對所述數(shù) 據(jù)加密以便寫入所述半導體存儲電路時使用的密鑰數(shù)據(jù)和當從所述半 導體存儲電路讀取并對所述數(shù)據(jù)解密時使用的密鑰數(shù)據(jù)相同為條件, 恰當?shù)亟粨Q用于所述加密和解密的密鑰數(shù)據(jù)的步驟。
72. 按照權利要求71所述的數(shù)據(jù)處理方法,還包括下述步驟 保存多個所述密鑰,和 恰當?shù)亟粨Q所述多個密鑰以供使用。
73. 按照權利要求71所述的數(shù)據(jù)處理方法,還包括把訪問所述半 導體存儲電路的地址用于計算,以便產(chǎn)生所述密鑰。
74. 按照權利要求67所述的數(shù)據(jù)處理方法,還包括從要寫入所述 半導體存儲電路的數(shù)據(jù)產(chǎn)生奇偶校驗數(shù)據(jù),把所述奇偶校驗數(shù)據(jù)寫入 和所述數(shù)據(jù)鏈接的所述半導體存儲電路中,與所述數(shù)據(jù)的讀取一起讀 取對應的奇偶檢驗數(shù)據(jù),并根據(jù)所述奇偶校驗數(shù)據(jù)驗證所述讀取數(shù)據(jù) 的合法性的步驟。
75. 按照權利要求67所述的數(shù)據(jù)處理方法,還包括將把數(shù)據(jù)寫入的至少之一劃分成多個處理,并且以所述劃分后的處理為單位進行流 水線處理的步驟。
76. —種數(shù)據(jù)處理設備,包括保存多個程序的指令和數(shù)據(jù)的存儲電路,通過傳輸線路訪問所述存儲電路,并使用所述多個程序的指令和 數(shù)據(jù)執(zhí)行所述多個程序的計算電路,介于所述傳輸線路和所述存儲電路之間,根據(jù)控制信號把所述傳 輸線路和所述存儲電路設置成連接狀態(tài)和斷開狀態(tài)之一的連接轉換電 路,根據(jù)為所述多個程序中的每個程序限定當計算電路正在執(zhí)行所述 多個程序時所述存儲電路中能夠被訪問的地址范圍的訪問范圍定義數(shù) 據(jù)、所述存儲電路中所述計算電路對其發(fā)出訪問請求的地址和說明所息,產(chǎn)生控制把所述傳輸線路和所述存儲電路設置成連接狀態(tài)和斷開 狀態(tài)之一的控制信號的連接控制電路,和通過所述傳輸線相對于所述 計算電路輸入輸出數(shù)據(jù),并且相對于該數(shù)據(jù)處理設備外部輸入輸出數(shù) 據(jù)的輸入/輸出接口電路。
77. 按照權利要求76所述的數(shù)據(jù)處理設備,其中當所述存儲電路 中所述計算電路對其發(fā)出訪問請求的地址在由所述訪問范圍定義數(shù)據(jù) 限定的與正被執(zhí)行的程序對應的地址范圍之內時,連接控制電路產(chǎn)生 指示把所述傳輸線路和所述存儲電路設置成連接狀態(tài)的所述控制信 號,并且當所述地址不在該地址范圍之內時,產(chǎn)生指示把所述傳輸線 路和所述存儲電路設置成斷開狀態(tài)的所述控制信號。
78. 按照權利要求76所述的數(shù)據(jù)處理設備,其中所述連接控制電路根據(jù)以所述訪問范圍定義數(shù)據(jù)為基礎正在執(zhí)行的指令,產(chǎn)生所述控制信號,所述訪問范圍定義數(shù)據(jù)根據(jù)所述計算電路正在執(zhí)行取出、讀 取和寫入指令中的哪個指令來定義所述存儲電路中可被訪問的地址范圍。
79. 按照權利要求76所述的數(shù)據(jù)處理設備,其中所述連接控制電 路具有保存所述訪問范圍定義數(shù)據(jù)的存儲器。
80. 按照權利要求76所述的數(shù)據(jù)處理設備,其中 所述輸入/輸出接口電路相對于保存在所述數(shù)據(jù)處理設備之外加密的所述訪問范圍定義數(shù)據(jù)的集成電路傳送數(shù)據(jù),所述計算電路通過所述傳輸線路和所述通信電路訪問所述集成電 路,和所述連接控制電路保存預定的密鑰信息,通過所述通信電路和所 述傳輸線路從所述集成電路接收所述加密的訪問范圍定義數(shù)據(jù),利用 所述密鑰信息對所述接收的訪問范圍定義數(shù)據(jù)解密,并使用所述解密 的訪問范圍定義數(shù)據(jù)產(chǎn)生所述控制信號。
81. 按照權利要求80所述的數(shù)據(jù)處理設備,其中所述連接控制電 路通過所述輸入/輸出接口電路和所述傳輸線路接收已加密的用于進 行所述解密的解密程序,對所述接收的解密程序解密,將其保存在所 述存儲電路中,并使用保存在所述存儲電路中的所述解密程序對所述 訪問范圍定義數(shù)據(jù)解密。
82. 按照權利要求76所述的數(shù)據(jù)處理設備,其中當所述連接控制 電路把所述傳輸線路和所述存儲電路設置成斷開狀態(tài)時,所述計算電 路停止所述計算電路的操作。
83. 按照權利要求76所述的數(shù)據(jù)處理設備,其中當正被所述計算 電路執(zhí)行的所迷程序調用另 一程序的函數(shù)時,所述連接控制電路根據(jù) 預先定義調用者和允許調用的調用者的程序的組合的程序間調用關系 定義數(shù)據(jù),判斷所述調用是否被許可,當判斷所述調用被許可時,產(chǎn) 生把所述傳輸線路和所述存儲電路設置成連接狀態(tài)的所述控制信號, 以及當判斷所迷調用不被許可時,產(chǎn)生把所述傳輸線路和所述存儲電 路設置成斷開狀態(tài)的所述控制信號。
84. 按照權利要求83所述的數(shù)據(jù)處理設備,其中所述連接控制電 路根據(jù)以所述程序間調用關系定義數(shù)據(jù)為基礎正在執(zhí)行的指令,產(chǎn)生 所述控制信號,所述程序間調用關系定義數(shù)據(jù)根據(jù)所述計算電路正在 執(zhí)行取出、讀取和寫入指令中的哪個指令來定義程序的組合。
85. 按照權利要求83所述的數(shù)據(jù)處理設備,其中所述連接控制電 路具有保存所述程序間調用關系定義數(shù)據(jù)的存儲器。
86. 按照權利要求83所述的數(shù)據(jù)處理設備,其中 所述輸入/輸出接口電路相對于保存在所述數(shù)據(jù)處理設備之外加密的所述程序間調用關系定義數(shù)據(jù)的集成電路傳送數(shù)據(jù),所述計算電路通過所述傳輸線路和所述通信電路訪問所述集成電路,和所述連接控制電路保存預定的密鑰信息,通過所述通信電路和所 述傳輸線路從所述集成電路接收所述加密的程序間調用關系定義數(shù) 據(jù),利用所述密鑰信息對所述接收的程序間調用關系定義數(shù)據(jù)解密, 并使用所述解密的程序間調用關系定義數(shù)據(jù)產(chǎn)生所述控制信號。
87. 按照權利要求86所述的數(shù)據(jù)處理設備,其中所述連接控制電 路通過所述輸入/輸出接口電路和所述傳輸線路接收已加密的用于進 行所述解密的解密程序,對所述接收的解密程序解密,將其保存在所 述存儲電路中,并使用保存在所述存儲電路中的所述解密程序對所述 程序間調用關系定義數(shù)據(jù)解密。
88. —種執(zhí)行程序的半導體電路, 所述半導體電路包括 第一傳輸線路,保存執(zhí)行所述程序的指令或數(shù)據(jù)的存儲電路,根據(jù)通過所述笫一傳輸線路從所述存儲電路讀取的所述指令操作 的計算電路,根據(jù)第一控制信號把所述第一傳輸線路和所述存儲電路設置成連 接狀態(tài)和斷開狀態(tài)之一的第一連接轉換電路,根據(jù)第二控制信號把該半導體電路之外的第二傳輸線路和所述第 一傳輸線路設置成連接狀態(tài)和斷開狀態(tài)之一的第二連接轉換電路,和當把指示連接的所述第一控制信號輸出給所述第一連接轉換電路 時,向所述第二連接轉換電路輸出指示斷開的所述第二控制信號,當 把指示斷開的所述第一控制信號輸出給所述第一連接轉換電路時,向 所述第二連接轉換電路輸出指示連接的所述第二控制信號的連接控制 電路。
89. 按照權利要求88所述的半導體電路,其中所述第二連接轉換 電路通過所述第二傳輸線路與位于所述半導體電路之外的存儲設備相 連。
90. 按照權利要求88所述的半導體電路,其中,當所述計算電路從所述存儲電路讀取指令時,所述連接控制電路把指示連接的所述第 一控制信號輸出給所述第 一連接轉換電路,并把指示斷開的所述第二控制信號輸出給所述第二 連接轉換電路。
91. 按照權利要求90所述的半導體電路,其中 所述計算電路把顯示要執(zhí)行指令的類型的信號輸出給第三傳輸線路,把將被所述指令訪問的存儲區(qū)的地址輸出給第四傳輸線路,并且 所述連接控制電路監(jiān)視所述笫三傳輸線路和所述第四傳輸線路,并且當判斷所述計 算電路正在執(zhí)行取出指令和訪問所述存儲電路時,把指示連接的所述第一控制信號輸出給所述第一連接轉換電路, 并把指示斷開的所迷第二控制信號輸出給所述第二連接轉換電路。
92. 按照權利要求88所述的半導體電路,其中, 所述存儲電路保存用于執(zhí)行所述程序并且保存多個指令的多個功能模塊,所述多個指令包括置于它們頭部的斷開釋放指令和置于它們 尾部的斷開開始指令,當所述計算電路執(zhí)行斷開釋放指令時,所述連接控制電路把指示 連接的所述第一控制信號輸出給所述第一連接轉換電路,并且當所述 計算電路執(zhí)行斷開開始指令時,把指示斷開的所述第一控制信號輸出 給所述第一連接轉換電路。
93. 按照權利要求92所述的半導體電路,其中在執(zhí)行所述斷開釋 放指令之后,所述連接控制電路把所述笫一控制信號輸出給所述笫一 連接轉換電路,以便把所述第一傳輸線路和所述存儲電路持續(xù)地設置 成連接狀態(tài),直到所述計算電路下次執(zhí)行斷開開始指令。
94. 按照權利要求88所述的半導體電路,還包括 與向所述計算電路發(fā)出所述計算電路的內部狀態(tài)的讀取請求、所述內部狀態(tài)的重寫請求和所述計算電路的操作停止請求中至少之一的 外部設備相連,并且根據(jù)第三控制信號確定是否輸出所述讀取請求、 所述重寫請求和所述操作停止請求的第三連接轉換電路,并且當把指示連接的所述第一控制信號輸出給所述第一連接轉換電路 時,所述連接控制電路把指示不向所述計算電路輸出所述讀取請求、 所述重寫請求和所述操作停止請求的所述第三控制信號輸出給所述第 三連接轉換電路,當把指示斷開的所述笫一控制信號輸出給所述第一 連接轉換電路時,把指示向所述計算電路輸出所述讀取請求、所述重 寫請求和所述操作停止請求的所述第三控制信號輸出給所述第三連接 轉換電路。
95. —種執(zhí)行程序的半導體電路, 所述半導體電路包括保存所述程序的加密指令或數(shù)據(jù),對將通過該半導體電路之外的 第一傳輸線路輸出給存儲設備的數(shù)據(jù)加密,并對通過所述第一傳輸線 路從所述存儲設備輸入的加密指令或數(shù)據(jù)解密的加密/解密電路,利用所述解密指令或數(shù)據(jù)進行計算的計算電路,根據(jù)控制信號選擇是否許可位于所述半導體電路之外的第二傳輸 線路和所述計算電路之間的通信的選擇電路,和當所述計算電路正在利用所述程序的指令或數(shù)據(jù)進行處理時,向 所述選擇電路輸出指示不允許所述第二傳輸線路和所述計算電路之間 通信的所述控制信號的控制電路。
96. 按照權利要求95所述的半導體電路,其中所述選擇電路是與 所述笫二傳輸線路相連的外部設備,并且介于向所述計算電路發(fā)出所 述計算電路的內部狀態(tài)的讀取請求、所述內部狀態(tài)的重寫請求及操作 停止請求中至少之一 的外部設備和所述計算電路之間。
97. 按照權利要求95所述的半導體電路,其中所述加密/解密電路 利用預定的密鑰信息對形成所述程序的功能模塊加密,產(chǎn)生指定用于 借助明文對所述功能模塊加密的密鑰信息的密鑰指定信息,并且把所 述密鑰指定信息輸出給與所述加密的功能模塊鏈接的所述存儲設備。
98. 按照權利要求95所述的半導體電路,其中所述加密/解密電路 保存用于所述加密的多個密鑰信息,并且使用根據(jù)從所述存儲設備輸 入的所述密鑰指定信息指定的密鑰信息對通過所述第二傳輸線路從所述存儲設備輸入的所述功能^f莫塊解密。
99. 按照權利要求97所述的半導體電路,其中所迷加密/解密電路 以預定數(shù)據(jù)長度的數(shù)據(jù)塊為單位,對所述功能模塊加密和解密。
100. 按照權利要求99所述的半導體電路,其中當對所述功能模 塊加密時,所述加密/解密電路以所述數(shù)據(jù)塊為單位產(chǎn)生奇偶校驗信 息,并把所述奇偶校驗數(shù)據(jù)保存在與所述數(shù)據(jù)塊鏈接的所述存儲設備 中。
101. 按照權利要求100所述的半導體電路,其中所述加密/解密電 路產(chǎn)生所述奇偶校驗數(shù)據(jù),以致所述數(shù)據(jù)塊與奇偶校驗數(shù)據(jù)的數(shù)值的 總和為預定的數(shù)值。
102. 按照權利要求100所述的半導體電路,其中所述加密/解密電 路對通過所述第一傳輸線路從所述存儲設備輸入的數(shù)據(jù)塊解密,隨后 判斷對應于該數(shù)據(jù)塊的奇偶校驗數(shù)據(jù)的合法性,當判斷該奇偶校驗數(shù) 據(jù)不合法時,停止所述計算電路的操作或者執(zhí)行預定的錯誤處理。
103. 按照權利要求97所述的半導體電路,其中所述數(shù)據(jù)塊的數(shù) 據(jù)長度和所述功能模塊的數(shù)據(jù)長度相同。
104. —種數(shù)據(jù)處理設備,包括在預定的存儲區(qū)中保存均由多個數(shù)據(jù)模塊構成的多個應用程序, 以及保存管理數(shù)據(jù)的存儲電路,所述多個數(shù)據(jù)模塊包括描述與集成電 路通信從而提供服務的處理例程的處理例程數(shù)據(jù),所述管理數(shù)據(jù)表示 鏈接在一起的數(shù)據(jù)模塊、用于在根據(jù)該數(shù)據(jù)模塊的處理中使用另 一數(shù) 據(jù)模塊的第一密鑰數(shù)據(jù)和用于在根據(jù)該數(shù)據(jù)模塊的處理中相對于所述 集成電路傳送數(shù)據(jù)的第二密鑰數(shù)據(jù),和根據(jù)數(shù)據(jù)模塊執(zhí)行與服務相關的處理,在該處理中查看所述管理 數(shù)據(jù),利用對應于該數(shù)據(jù)模塊的所述第一密鑰數(shù)據(jù)使用另一數(shù)據(jù)模塊, 并且利用對應于該數(shù)據(jù)模塊的所述第二密鑰數(shù)據(jù)相對于所述集成電路 傳送數(shù)據(jù)的半導體電路。
105. 按照權利要求104所述的數(shù)據(jù)處理設備,其中所述存儲電路 以數(shù)據(jù)模塊的形式保存利用所述數(shù)據(jù)模塊執(zhí)行的處理的日志數(shù)據(jù)、顯示把所述數(shù)據(jù)模塊記錄到存儲區(qū)中的例程的程序數(shù)據(jù)、顯示從所述存 儲區(qū)刪除所述數(shù)據(jù)模塊的記錄的例程的程序數(shù)據(jù)和顯示限定用于保存 所述應用程序的所述存儲區(qū)的例程的程序數(shù)據(jù)的至少之一。
106. 按照權利要求104所述的數(shù)據(jù)處理設備,其中當半導體電路 將執(zhí)行根據(jù)另 一數(shù)據(jù)模塊的處理時,所述半導體電路使用所述管理數(shù) 據(jù)獲得對應于所述預定數(shù)據(jù)模塊的第一密鑰數(shù)據(jù)和對應于所述另一數(shù) 據(jù)模塊的所述第一密鑰數(shù)據(jù),并且以獲得的兩個第一密鑰數(shù)據(jù)相符為 條件,從正被執(zhí)行的所述預定數(shù)據(jù)模塊使用所述另 一數(shù)據(jù)模塊。
107. 按照權利要求106所述的數(shù)據(jù)處理設備,其中 所述存儲電路保存各個所述數(shù)據(jù)模塊的應用許可數(shù)據(jù),所述應用許可數(shù)據(jù)表示數(shù)據(jù)模塊的應用許可方式,并且當所述兩個第一密鑰數(shù)據(jù)相符時,所述半導體電路根據(jù)所述應用 許可數(shù)據(jù)以與所述另 一數(shù)據(jù)模塊對應的所述應用許可數(shù)據(jù)許可的方式 使用另一數(shù)據(jù)模塊。
108. 按照權利要求104所述的數(shù)據(jù)處理設備,其中當另一半導體 電路正在執(zhí)行根據(jù)另 一數(shù)據(jù)模塊的處理時,所述半導體電路4吏用所述 管理數(shù)據(jù)獲得與所述預定數(shù)據(jù)模塊對應的所述第 一密鑰數(shù)據(jù),使用所 述第一密鑰數(shù)據(jù)進行與所述另一半導體電路的相互驗證,并且以相互 的合法性得到證實為條件,從正被執(zhí)行的所述預定數(shù)據(jù)模塊使用所述 另一數(shù)據(jù)模塊。
109. 按照權利要求108所述的數(shù)據(jù)處理設備,其中當所述相互合 法性被證實時,所述半導體電路根據(jù)應用許可數(shù)據(jù)以所述應用許可數(shù) 據(jù)許可的方式使用所述另一數(shù)據(jù)模塊,應用許可數(shù)據(jù)指示許可使用所 述另一數(shù)據(jù)模塊的方式。
110. 按照權利要求104所述的數(shù)據(jù)處理設備,其中所述第一密鑰 數(shù)據(jù)被定義為對于形成相同應用程序的數(shù)據(jù)模塊來說所述第 一 密鑰數(shù) 據(jù)相同。
111. 按照權利要求104所述的數(shù)據(jù)處理設備,其中所述存儲電路 保存利用唯一分配給所述應用程序的密鑰數(shù)據(jù)加密的所述應用程序。
112.按照權利要求104所述的數(shù)據(jù)處理設備,其中所述半導體電路:根據(jù)所述數(shù)據(jù)模塊數(shù)據(jù)產(chǎn)生包括作業(yè)執(zhí)行順序數(shù)據(jù)和狀態(tài)數(shù)據(jù)的 作業(yè)管理數(shù)據(jù),所述作業(yè)執(zhí)行順序數(shù)據(jù)表示形成所述應用程序的處理 的多個作業(yè)的執(zhí)行順序,所述狀態(tài)數(shù)據(jù)表示所述多個作業(yè)的執(zhí)行進程 的狀態(tài),下一步要執(zhí)行的作業(yè),執(zhí)行選擇的所述作業(yè),并且根據(jù)所述作業(yè)的執(zhí)行,更新選擇的所述作業(yè)管理數(shù)據(jù)的所述狀態(tài) 數(shù)據(jù)。
113.按照權利要求112所述的數(shù)據(jù)處理設備,其中所述半導體電路模板數(shù)據(jù),并且利用所述模板數(shù)據(jù),根據(jù)處理請求產(chǎn)生所述作業(yè)管理數(shù)據(jù)。
114, 按照權利要求113所述的數(shù)據(jù)處理設備,其中所述半導體電路為多個處理請求中的每個處理請求產(chǎn)生所述作業(yè)管理數(shù)據(jù), 從所述多個數(shù)據(jù)模塊中選擇一個作業(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ù),和在所述更新之后,從所述多個數(shù)據(jù)模塊中選擇一個作業(yè)管理數(shù)據(jù)。
115. 按照權利要求114所述的數(shù)據(jù)處理設備,其中當根據(jù)處理請 求完成的形成處理的所有作業(yè)被執(zhí)行時,所述半導體電路刪除所迷作 業(yè)管理數(shù)據(jù)。
116. —種數(shù)據(jù)處理方法,借助該數(shù)據(jù)處理方法,與集成電路通信, 所述數(shù)據(jù)處理方法包括下述步驟當所述存儲電路在預定存儲區(qū)中保存均由包括描述用于與集成電 路通信從而提供服務的處理例程的處理例程數(shù)據(jù)在內的多個數(shù)據(jù)模塊 組成的多個應用程序,以及保存顯示鏈接在一起的數(shù)據(jù)模塊、用于在 根據(jù)該數(shù)據(jù)模塊的處理中使用另一數(shù)據(jù)模塊的第一密鑰數(shù)據(jù)、和用于 在根據(jù)該數(shù)據(jù)模塊的處理中相對于所述集成電路傳送數(shù)據(jù)的第二密鑰 數(shù)據(jù)的管理數(shù)據(jù)時,所述半導體電路根據(jù)所述數(shù)據(jù)模塊執(zhí)行與服務相關的處理, 所述半導體電路在與所述服務相關的處理中查看所述管理數(shù)據(jù), 并利用對應于一個數(shù)據(jù)模塊的所述第一密鑰數(shù)據(jù)使用另一數(shù)據(jù)模塊, 和模塊的所述第二密鑰數(shù)據(jù)相對于所述集成電路傳送數(shù)據(jù)。
117. 按照權利要求116所述的數(shù)據(jù)處理方法,還包括當所述半導 體電路將執(zhí)行根據(jù)所述另一數(shù)據(jù)模塊的處理時,所述半導體電路使用 所述管理數(shù)據(jù)獲得對應于所述預定數(shù)據(jù)模塊的第一密鑰數(shù)據(jù)和對應于 所述另一數(shù)據(jù)模塊的所述第一密鑰數(shù)據(jù),并且以所述兩個第一密鑰數(shù) 據(jù)相符為條件,從正被執(zhí)行的所述預定數(shù)據(jù)模塊使用所述另 一數(shù)據(jù)模 塊的步驟。
118. 按照權利要求116所述的數(shù)據(jù)處理方法,還包括下述步驟 當所述存儲電路保存各個所述數(shù)據(jù)模塊的表示數(shù)據(jù)模塊的應用許可方式的應用許可數(shù)據(jù)時,當所述兩個第一密鑰數(shù)據(jù)相符時,所述半導體電路根據(jù)所述應用 許可數(shù)據(jù)以與所述另 一數(shù)據(jù)模塊對應的所述應用許可數(shù)據(jù)許可的方式 使用另一數(shù)據(jù)模塊。
119. 按照權利要求116所述的數(shù)據(jù)處理方法,還包括當另一半導 體電路正在執(zhí)行根據(jù)另 一數(shù)據(jù)模塊的處理時,所述半導體電路使用所述管理數(shù)據(jù)獲得與所述預定數(shù)據(jù)模塊對應的所述第一密鑰數(shù)據(jù),使用 所述第一密鑰數(shù)據(jù)進行與所述另一半導體電路的相互驗證,并且以相 互合法性得到證實為條件,從正被執(zhí)行的所述預定數(shù)椐模塊使用所述 另一數(shù)據(jù)模塊的步驟。
120. 按照權利要求119所述的數(shù)據(jù)處理方法,還包括當所述相互 合法性被證實時,所述半導體電路根據(jù)應用許可數(shù)據(jù)以所述應用許可 數(shù)據(jù)許可的方式使用所述另 一數(shù)據(jù)模塊的步驟,應用許可數(shù)據(jù)指示許 可使用所述另 一數(shù)據(jù)模塊的方式。
121. 按照權利要求116所述的數(shù)據(jù)處理方法,其中所述第一密鑰 數(shù)據(jù)被定義為對于形成相同應用程序的數(shù)據(jù)模塊來說所述第一密鑰數(shù) 據(jù)相同。
122. 按照權利要求116所述的數(shù)據(jù)處理方法,還包括下述步驟 所述半導體電路根據(jù)所述數(shù)據(jù)模塊數(shù)據(jù)產(chǎn)生包括作業(yè)執(zhí)行順序數(shù)據(jù)和狀態(tài)數(shù)據(jù)的作業(yè)管理數(shù)據(jù),所述作業(yè)執(zhí)行順序數(shù)據(jù)表示形成所述 應用程序的處理的多個作業(yè)的執(zhí)行順序,所述狀態(tài)數(shù)據(jù)表示所述多個 作業(yè)的執(zhí)行進程的狀態(tài),理順序數(shù)據(jù)選擇下一步要執(zhí)行的作業(yè),所述半導體電路執(zhí)行選擇的所述作業(yè),并且所述半導體電路根據(jù)所述作業(yè)的執(zhí)行,更新選擇的所述作業(yè)管理 數(shù)據(jù)的所述狀態(tài)數(shù)據(jù)。
123. 按照權利要求122所述的數(shù)據(jù)處理方法,還包括下述步驟 所述半導體電路使用所述處理順序數(shù)據(jù)和所述管理數(shù)據(jù)產(chǎn)生所述作業(yè)管理數(shù)據(jù)的模板數(shù)據(jù),和所述半導體電路利用所述模板數(shù)據(jù),根據(jù)處理請求產(chǎn)生所述作業(yè) 管理數(shù)據(jù)。
124. 按照權利要求123所述的數(shù)據(jù)處理方法,還包括下述步驟管理數(shù)據(jù),所述半導體電路從所述多個數(shù)據(jù)碎莫塊中選擇一個作業(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ù),和在所述更新之后,所述半導體電路從所述多個數(shù)據(jù)模塊中選擇一 個作業(yè)管理數(shù)據(jù)。
125.按照權利要求124所述的數(shù)據(jù)處理方法,還包括當根據(jù)處理 請求完成的形成處理的所有作業(yè)被執(zhí)行時,所述半導體電路刪除所述 作業(yè)管理數(shù)據(jù)的步驟。
全文摘要
本發(fā)明涉及數(shù)據(jù)處理方法及其設備。由執(zhí)行應用程序的半導體電路完成的數(shù)據(jù)處理方法包括下述步驟利用多個防火墻中事先分配給形成所述應用程序的多個程序模塊中的各個程序模塊的防火墻保護該程序模塊;記錄與識別分配給程序模塊的防火墻的防火墻識別信息鏈接的程序模塊;并且以正在進行所述記錄為條件,執(zhí)行所述程序模塊。
文檔編號G09C1/00GK101526982SQ200910004389
公開日2009年9月9日 申請日期2002年2月15日 優(yōu)先權日2001年2月16日
發(fā)明者久保野文夫, 末吉正弘, 館野啟 申請人:索尼株式會社