亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

自主型集成電路卡的制作方法

文檔序號:6681404閱讀:415來源:國知局
專利名稱:自主型集成電路卡的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及集成電路(IC)卡,更具體地說,涉及一種可直接地且可自主地與直接或通過網(wǎng)絡(luò)而與IC卡終端相連的其他設(shè)備進行通信的自主型IC卡。
背景技術(shù)
圖1給出了在IC卡和IC卡終端之間進行信號交換的傳統(tǒng)系統(tǒng)示意圖。
這里,IC卡終端包括IC卡讀取器/寫入器200以及IC卡終端本體300。盡管這里所示意性說明的IC卡100和IC卡讀取器/寫入器200是獨立地,但是IC卡100和IC卡讀取器/寫入器200也可是那里所描述的無觸點型,或者,IC卡100和IC卡讀取器/寫入器200可以是IC卡100典型的插入到IC卡讀取器/寫入器200中的有觸點型。
當利用上述所描述的IC卡100來進行處理時,IC卡終端本體300用作主設(shè)備,IC卡100用作從設(shè)備。換句話說,當操作者意欲通過利用IC卡100來執(zhí)行處理時,操作者首先將一指令輸入到IC卡終端本體300的輸入端(未給出)。為響應(yīng)該指令,作為主設(shè)備的IC卡終端主體300通過IC卡讀取器/寫入器200將一命令傳送到IC卡100。一旦接收到該命令,作為從設(shè)備的IC卡100執(zhí)行與該命令相對應(yīng)的處理,并且通過IC卡讀取器/寫入器200而將執(zhí)行結(jié)果返回到IC卡終端主體300。
圖2給出了在兩個IC卡彼此進行通信的情況下傳統(tǒng)的系統(tǒng)進行信號交換的示意圖。
在附圖中,除了如圖1所示的結(jié)構(gòu)外,IC卡讀取器/寫入器200b還與IC卡終端主體300相連。這里,IC卡100b以無觸點方式或者有觸點方式與IC卡讀取器/寫入器200b相連。
與如圖1的情況相似,操作者首先將與IC卡間的通信有關(guān)的一指令輸入到IC卡終端本體300的輸入端(未給出)。為響應(yīng)該指令,IC卡終端主體300通過IC卡讀取器/寫入器200a將一命令傳送到IC卡100a。一旦接收到該命令,IC卡100a執(zhí)行與該命令相對應(yīng)的處理,并且輸出作為執(zhí)行結(jié)果的響應(yīng)A。通過IC卡讀取器/寫入器200a將IC卡100a所輸出的響應(yīng)A輸入到IC卡終端主體300。就這種情況下的響應(yīng)A而言,IC卡終端主體300執(zhí)行信息的中繼操作。通過IC卡讀取器/寫入器200b將IC卡終端主體300所輸出的響應(yīng)A輸入到IC卡100b。IC卡100b執(zhí)行與所輸入的響應(yīng)A相對應(yīng)的處理,并且輸出作為執(zhí)行結(jié)果的響應(yīng)B。通過IC卡讀取器/寫入器200b將IC卡100b所輸出的響應(yīng)B輸入到IC卡終端主體300。在這種情況下,IC卡終端主體300執(zhí)行與響應(yīng)B有關(guān)的信息的中繼操作。通過IC卡讀取器/寫入器200a將IC卡終端主體300所輸出的響應(yīng)B輸入到IC卡100a。
當在IC卡100a與IC卡100b間不斷進行上述交換時,該操作基本上相同。換句話說,IC卡終端主體300總是起這樣的作用,即對IC卡100a與IC卡100b間所交換的信息執(zhí)行中繼操作。
順便說一下,在IC卡間的傳統(tǒng)通信過程中,IC卡終端主體總是起這樣的作用,即對如上所述的IC卡間的通信有關(guān)的信息執(zhí)行中繼操作。因此,傳統(tǒng)地,由IC卡終端主體所表示的中間設(shè)備可篡改或竊取在IC卡間進行通信的信息。因此傳統(tǒng)地存在這樣的問題,即不能確保在IC卡間進行準確的信息通信。

發(fā)明內(nèi)容
根據(jù)先前的問題而提出了本發(fā)明。本發(fā)明的一個目的就是提供了一種自主型IC卡,當該卡與直接或通過網(wǎng)絡(luò)而與IC卡終端相連的其他通信設(shè)備進行通信時,通過將該卡直接與諸如IC卡終端這樣的其他通信設(shè)備進行通信而確保在IC卡與其他的通信設(shè)備間進行準確信息的安全通信。
為了獲得先前的目的,提出了一種自主型IC卡,該卡包括一邏輯主機接口、一邏輯外部通信接口、以及一IC芯片。該邏輯主機接口通過物理層與IC卡終端相連。該邏輯外部通信接口與通過物理的IC卡終端而連接在其上的通信設(shè)備進行通信。該IC芯片用于識別通信設(shè)備的連接并且通過外部通信接口與通信設(shè)備直接進行通信。
根據(jù)本發(fā)明,自主型IC卡可自主地識別通過IC卡終端而連接在其上的通信設(shè)備,并且與通信設(shè)備直接進行通信。
在本發(fā)明的優(yōu)選實施例中,IC芯片包括即就是軟件模塊的一通信控制單元,該通信控制單元通過邏輯外部通信接口可與通信設(shè)備直接進行通信。
根據(jù)本發(fā)明,通信控制單元可利用軟件模塊來進行處理,該軟件模塊未意識到相連的IC卡終端。
在本發(fā)明的優(yōu)選實施例中,通信控制單元包括一個可為通信設(shè)備建立會話通道路經(jīng)的會話管理命令組以及一個可為通信設(shè)備建立事務(wù)會話的事務(wù)管理命令組。
在本發(fā)明的優(yōu)選實施例中,IC芯片包括一加密處理單元,該單元執(zhí)行與通信設(shè)備的相互認證處理,并且對與和通信設(shè)備進行通信有關(guān)的信息進行加密和解密。
根據(jù)本發(fā)明,加密處理單元進行該通訊設(shè)備互相的認證處理過程,并且對有關(guān)通訊設(shè)備的通訊的信息進行加密和解密。
在本發(fā)明的優(yōu)選實施例中,IC芯片包括一個分配的唯一標識符。這里,IC芯片識別通信設(shè)備并根據(jù)該標識符來執(zhí)行相互認證處理。
在本發(fā)明的優(yōu)選實施例中,加密處理單元根據(jù)所識別的通信設(shè)備的類型而在多個認證處理和多個加密處理當中分別選擇適當?shù)恼J證處理和適當?shù)募用芴幚硪詧?zhí)行這些處理。
在本發(fā)明的優(yōu)選實施例中,IC芯片包括一個用于存儲值信息的存儲器。這里,IC芯片與通信設(shè)備進行與值信息有關(guān)的通信。
當結(jié)合隨后附圖來閱讀本發(fā)明時,根據(jù)下述詳細說明,本發(fā)明的特性、原理以及實用性則變得顯而易見。


圖1給出了在IC卡和IC卡終端之間進行信號交換的傳統(tǒng)系統(tǒng)示意圖2給出了在兩個IC卡彼此進行通信的情況下傳統(tǒng)的系統(tǒng)進行信號交換的示意圖3給出了根據(jù)本發(fā)明的一個IC卡實施例的邏輯結(jié)構(gòu)示意圖4給出了利用本發(fā)明的自主型IC卡來執(zhí)行IC卡間的通信的系統(tǒng)結(jié)構(gòu)示意圖5給出了利用本發(fā)明的自主型IC卡來執(zhí)行通信的另一個系統(tǒng)結(jié)構(gòu)示意圖6給出了通過公鑰加密來進行發(fā)行者模式中的認證方法的示意圖7給出了依據(jù)私鑰加密在主屬模式認證的方法的示意圖。
具體實施例方式
現(xiàn)在,參考隨后的附圖對根據(jù)本發(fā)明的自主型IC卡實施例進行詳細的說明。
圖3給出了根據(jù)本發(fā)明的一個IC卡實施例的邏輯結(jié)構(gòu)示意圖。
在圖3中,本發(fā)明的自主型IC卡包括一中央處理單元(CPU)10、一只讀存儲器(ROM)11、一隨機訪問存儲器(RAM)12、一非易失存儲器13、一加密處理單元14、一通信控制單元15、一外部通信接口16、以及一主機設(shè)備接口17。
這里,上述結(jié)構(gòu)是物理結(jié)構(gòu)(硬件)和邏輯結(jié)構(gòu)(軟件)的混合體。下面將對這兩個結(jié)構(gòu)分別進行詳細的說明。
主機設(shè)備接口17是傳統(tǒng)的用于執(zhí)行外部通信的物理接口。與現(xiàn)有技術(shù)相類似,主機設(shè)備接口17包括有觸點型和無觸點型。CPU10是可執(zhí)行除浮點操作之外的所有類型的操作這樣的中央處理單元。值得注意的是,專門提供了一個浮點處理單元(未給出)以執(zhí)行某些浮點操作。ROM11是一只讀存儲器,只有隨后所描述的本發(fā)明的自主型IC卡1和芯片ID才有的軟件(例如操作系統(tǒng)(OS)或程序)存儲在該ROM11中。RAM12是一存儲訪問存儲器,由在自主型IC卡內(nèi)進行操作的軟件所處理的數(shù)據(jù)被臨時存儲在該RAM12中。當電源停止向IC卡供電時,RAM12中的內(nèi)容被徹底刪除。
非易失存儲器13用于存儲隨后所描述的值信息。值信息即就是包含有諸如電子門票和電子貨幣這樣的值的數(shù)據(jù)。值得注意的是,因為非易失存儲器13是用于保存內(nèi)容的存儲器,因此即使電源停止了,其上的內(nèi)容也可被保存。
以下是物理結(jié)構(gòu)組件。
外部通信接口16是允許隨后所描述的本發(fā)明的芯片可執(zhí)行與外部的直接通信這樣的邏輯接口,上述芯片包括CPU10等等。傳統(tǒng)的IC卡只包括一邏輯接口以只與和其物理相連的設(shè)備進行通信,一般的,只與IC終端進行通信。然而,本發(fā)明的自主型IC卡1除了包括邏輯主機接口之外還包括外部通信接口16,該外部通信接口用于執(zhí)行與外部設(shè)備(具有體現(xiàn)在這里的本發(fā)明的芯片的服務(wù)客戶機,這將在后面進行描述)的直接通信。值得注意的是,該外部通信接口是根據(jù)在隨后詳細描述的“本發(fā)明的4.API協(xié)議”中的一協(xié)議來進行通信的一接口。
通信控制單元15是一軟件模塊,該通信控制單元控制通過外部通信接口16而與外部設(shè)備的通信。通信控制單元15是可完全實現(xiàn)隨后所詳細描述的“本發(fā)明的10.API協(xié)議”的軟件模塊。該軟件模塊尤其與“10.1會話管理命令組”以及“10.2事務(wù)管理命令組”最相關(guān)。利用該模塊可執(zhí)行與外部設(shè)備的直接通信。
加密處理單元14是根據(jù)隨后所描述的“3.4認證、訪問控制、以及加密”、“5.eTP密鑰證書”、以及“6.密鑰實體”所定義的各種類型的相互認證和加密通信。加密處理單元14在多個可選的相互認證和多個可選的加密通信中分別選擇適當?shù)南嗷フJ證和適當?shù)募用芡ㄐ挪ζ溥M行切換。這里,通過利用加密處理單元14來執(zhí)行相互認證和加密處理可進一步減小通過諸如IC卡終端這樣的中間設(shè)備可竊取數(shù)據(jù)內(nèi)容或篡改數(shù)據(jù)的風(fēng)險。
值得注意的是,根據(jù)本發(fā)明的如圖3所示結(jié)構(gòu)單元最好是利用單片微型計算機(在下文中被稱為“IC芯片”)來實現(xiàn)的,其詳細說明將列在實施例的說明的最后一部分。
現(xiàn)在,將對與包含在本發(fā)明自主型IC卡中的IC芯片有關(guān)的全部特性進行詳細的說明。
根據(jù)本發(fā)明的IC芯片作為分布式環(huán)境中的一節(jié)點。因此,如果一設(shè)備可通過一網(wǎng)絡(luò)而與諸如其他的IC卡進行物理通信,其中上述設(shè)備上的本發(fā)明IC卡以有觸點方式或無觸點方式與包括有IC卡讀取器/寫入器的IC卡終端主體相連,那么分別包括有根據(jù)本發(fā)明的IC芯片的這些IC卡均作為分布式環(huán)境中的一節(jié)點。此外,在這種情況下,IC卡讀取器/寫入器和IC卡終端主體起網(wǎng)關(guān)(電橋)的作用,以使該網(wǎng)絡(luò)的無觸點通訊物理層上可傳遞。換句話說,上述外部通信接口16控制IC卡通信以作為分布式系統(tǒng)中的一節(jié)點,同時主機設(shè)備接口1 7起這樣的作用,即作為無觸點通信的可傳遞物理層。
因此,為了起分布式環(huán)境中的一節(jié)點,根據(jù)本發(fā)明的IC芯片具有整個分布式系統(tǒng)中的唯一標識符(ID),作為最簡單的例子,該分布式系統(tǒng)由上述網(wǎng)絡(luò)來表示。
此外,包含在本發(fā)明自主型IC卡中的IC芯片識別多個設(shè)備并且首先執(zhí)行與這些設(shè)備的相互認證,這些設(shè)備通過網(wǎng)絡(luò)相連并分別提供了相似的IC芯片。在確認這些設(shè)備是具有資格的對象之后,IC卡于是執(zhí)行與這些設(shè)備的通信。當進行認證時存在兩種模式,即,(信息)發(fā)行者模式和所用者模式。在后面將對其進行詳細的說明。
另外,根據(jù)本發(fā)明的IC卡可采用基于上述ID的存儲控制列表以保護由IC芯片所擁有的資源。也就是說,將訪問控制列表添加到每一個芯片和文件(以及記錄)上。
根據(jù)本發(fā)明的IC芯片均等的處理“所用者”、“發(fā)行者”以及“其他的”服務(wù)客戶機。IC卡發(fā)布了一應(yīng)用編程接口(API)以根據(jù)每個服務(wù)客戶機所擁有的許可來改變訪問控制列表。按照這種方式,IC芯片可靈活的執(zhí)行對諸如訪問權(quán)的限制、免除、或傳輸這樣的控制。
同時,根據(jù)本發(fā)明的IC芯片支持一混合方式以保留內(nèi)容同時可將內(nèi)容分布到多個信息容器中,例如,將內(nèi)容分布到本發(fā)明的芯片與網(wǎng)絡(luò)上的值信息存儲服務(wù)器之間。根據(jù)本發(fā)明的IC芯片進一步提供了內(nèi)容間的鏈接功能以作為用于支持混合模式的機制。
接下來,對有關(guān)利用本發(fā)明的自主型IC卡來進行通信的具體例子進行詳細的描述。
圖4給出了利用本發(fā)明的自主型IC卡來執(zhí)行IC卡間的通信的系統(tǒng)結(jié)構(gòu)示意圖。
在該圖中,自主型IC卡1a以有觸點的方式或無觸點的方式與位于IC卡終端主體3上的IC卡讀取器/寫入器2a相連。同時,自主型IC卡1b以有觸點的方式或無觸點的方式與位于IC卡終端主體3上的IC卡讀取器/寫入器2b相連。
在如上所述的結(jié)構(gòu)中,當操作者想要使自主型IC卡1a與自主型IC卡1b進行通信時,操作者將一指令輸入到位于IC卡終端主體3上的輸入端(未給出)。為了響應(yīng)該指令,IC卡終端主體3通過IC卡讀取器/寫入器2a將一命令傳送到自主型IC卡1a。一旦接收到該命令,自主型IC卡1a以軟件的方式通過如圖3所述的外部通信接口與自主型IC卡1a進行直接且自主的通信。自主型IC卡1a可與自主型IC卡1b進行直接通信的原因就是自主型IC卡1a可起如上所述的分布式環(huán)境中一節(jié)點的作用。當這樣進行通信時,如果如圖3所示的加密處理單元14對通信數(shù)據(jù)進行加密和解密,則可必定防止在通信的過程中數(shù)據(jù)被篡改或竊取的風(fēng)險。
圖5給出了利用本發(fā)明的自主型IC卡來執(zhí)行通信的另一個系統(tǒng)結(jié)構(gòu)示意圖。
當利用本發(fā)明的自主型IC卡進行通信時,與其進行通信的另外一方不必是IC卡,但是可以是其他的通信設(shè)備。在附圖中,IC卡終端主體3通過網(wǎng)絡(luò)4與通信設(shè)備5相連。當自主型IC卡1通過網(wǎng)絡(luò)4與通信設(shè)備5進行通信時,其接收到來自IC卡終端主體3的命令的自主型IC卡1以軟件的方式與通信設(shè)備5進行直接且自主的通信。
現(xiàn)在,對有關(guān)IC芯片(在下文中被簡單的稱為“本芯片”)的詳細規(guī)范進行描述,該芯片包含在本發(fā)明的自主型IC卡中。在下述說明中,信息容器(CHs)對應(yīng)于上述自主型IC卡1和1a,服務(wù)客戶機(SCs)對應(yīng)于與自主型IC卡1和1a進行通信的所有設(shè)備,即就是,對應(yīng)于上述的IC卡終端主體3、自主型IC卡1b、以及通信設(shè)備5。
這里,為了便于理解概述,在下面給出了表的內(nèi)容,并且在下述說明中給出了IC芯片各個配置的索引。
表的內(nèi)容
1.介紹
1.1作為分布式環(huán)境中一節(jié)點的本芯片
1.2本芯片ID所指定的相互認證方法
1.3根據(jù)基于本芯片ID的訪問控制列表方法的資源保護機制
1.4實現(xiàn)芯片所用者、值信息發(fā)行者、以及值信息用戶易理解的訪問控制
1.5具有重新運行性能的事務(wù)機制
1.6具有鏈接功能的存儲結(jié)構(gòu)
1.7相關(guān)芯片系統(tǒng)的相容性
1.8與各種芯片相對應(yīng)的適度標準化
2.系統(tǒng)規(guī)范說明
2.1系統(tǒng)結(jié)構(gòu)
2.2本芯片的標識符(本芯片ID)
3.本芯片的概述
3.1本芯片
3.2數(shù)據(jù)結(jié)構(gòu)模型
3.3本芯片API
3.4認證、訪問控制以及加密
4.本芯片API協(xié)議
4.1包類型
4.2命令標識符列表(命令I(lǐng)D)
4.3錯誤代碼列表
4.4MAC,隨附信息組
4.5會話通信以及非會話通信
5.eTP密鑰證書
當在會話建立的期間進行認證時,要利用該證書
1.概述
2.詳細說明
6.密鑰實體
7.本發(fā)明的標準內(nèi)容格式
8.利用密鑰實體對本發(fā)明的操作標準內(nèi)容進行解決處理
9.本芯片API的規(guī)范說明(數(shù)據(jù)類型定義)
10.本芯片API的規(guī)范說明(命令定義)
10.1會話管理命令組
10.2事務(wù)管理命令組
10.3文件管理命令組
10.4記錄管理命令組
10.5密鑰實體管理命令組
10.6認證輔助管理命令組
實現(xiàn)加密的詳細說明
1.介紹
本芯片(添加有值信息的芯片)是一計算機系統(tǒng)(例如IC卡),該系統(tǒng)包括用于高功能分布式系統(tǒng)中的值信息的存儲介質(zhì)以及計算機系統(tǒng)的外部說明,其中與本發(fā)明有關(guān)的一方案針對的是上述分布式系統(tǒng)。假定將來技術(shù)進步了,本芯片可投入到一系列的8位CPU型、16位CPU型、以及32位CPU型,并且本芯片可提供與通用操作有關(guān)的一通用命令和一通用消息格式。在本芯片的規(guī)范說明的各種系統(tǒng)當中,在采用16位CPU型的IC芯片作為目標硬件的情況下,該描述特別解釋了該規(guī)范說明的概要。
在這章中,將對有關(guān)本芯片的特性進行詳細的說明以與其他現(xiàn)有的抗篡改型芯片相比較。
1.1作為分布式環(huán)境中一節(jié)點的本芯片
不像傳統(tǒng)的IC芯片那樣作為計算機外圍設(shè)備單元以通過讀取器/寫入器來進行操作,本芯片作為分布式環(huán)境中的一節(jié)點。位于一網(wǎng)絡(luò)和該芯片中的服務(wù)供應(yīng)商模塊、以及該芯片和一卡,在一個同等的基礎(chǔ)上執(zhí)行對等的通信。讀取器/寫入器設(shè)備構(gòu)成了一網(wǎng)關(guān)(橋)以與本地網(wǎng)絡(luò)(LAN)的可傳遞物理層進行無觸點通信。
在本芯片的結(jié)構(gòu)中,本芯片具有一標識符,該標識符是整個分布式系統(tǒng)中唯一的。本芯片ID不僅被用于物理的識別芯片,而且還可控制分布式環(huán)境中的路徑。這里,當進行許可的通信時,利用本芯片ID作為一標識符以與另一方進行通信。
因此,許可本芯片的目標不是讀取器/寫入器,而是網(wǎng)絡(luò)中的運算實體(信息容器),該運算實體通過網(wǎng)絡(luò)和讀取器/寫入器與芯片進行信息交換。
1.2本芯片ID所指定的相互認證方法
在執(zhí)行相互認證并因此確認與其進行通信的另一方是具有資格的對象之后本芯片執(zhí)行通信。在本芯片結(jié)構(gòu)中,包含有本芯片的信息容器(CHs)以及包含有本芯片的服務(wù)客戶機(SCs)均包括兼容唯一標識符(本芯片ID),并在相互認證之后確定與另一方進行通信的本芯片ID。
1.3根據(jù)基于本芯片ID的訪問控制列表方法的資源保護機制
本芯片指定了一SC,該SC通過相互認證而發(fā)布了本芯片的API。因此,基于本芯片ID的訪問控制列表被用于保護由本芯片所擁有的資源。本芯片此刻根據(jù)資源通過利用本芯片ID而表明了諸如“發(fā)行者”、“所用者”等等之類的屬性。此外,可通過利用存儲控制列表來指定由“發(fā)行者”、“所用者”以及“其他者”所發(fā)出的命令。
1.4實現(xiàn)芯片所用者、值信息發(fā)行者、以及值信息用戶易理解的訪問控制
本芯片實現(xiàn)了可存儲值信息的各種應(yīng)用。值信息包括各種類型。例如,可以想到的下述類型信息可作為芯片中的信息
—不能由芯片所用者來改變,但是僅可以由信息發(fā)行者來改變的信息(例如,電子門票的坐號);
—即使不能對芯片所用者也不能公開的信息(例如,擁有改變電子門票的密鑰);
—僅由芯片所用者來完全控制的信息(例如,芯片所用者的個人信息);以及
—可被任何人讀取的信息。
本芯片同等的對待訪問控制列表中的“發(fā)行者”、“所用者”以及“其他者”SCs,并且發(fā)布了一API以根據(jù)每個SC所擁有的授權(quán)來改變訪問控制列表。按照這種方式,本芯片可靈活的執(zhí)行對諸如訪問權(quán)的限制、免除、或傳輸這樣的控制。
1.5具有重新運行性能的事務(wù)機制
重要的是可安全地將值信息傳送到本芯片。因此,尤其與值信息的創(chuàng)建和刪除有關(guān)的是,本芯片提出了一事務(wù)機制以確保處理的可分性。在啟動一事務(wù)之后,一個所發(fā)行的命令所導(dǎo)致的操作,可通過提交一個命令來終止該事務(wù)。若發(fā)出的是一異常終止命令,或若約定命令未在所定義的超時時間之內(nèi)或之前到達,于是所發(fā)出的命令重新運行。類似的,如果本芯片在任何故障所造成的事務(wù)過程中斷電了,那么當本芯片再次工作時重新運行處理發(fā)生在初始狀態(tài)。
1.6具有鏈接功能的存儲結(jié)構(gòu)
就信息處理能力以及諸如存儲容量等等之類的資源而言,目前存在各種類型的防篡改芯片。在這些芯片中,存在這樣一種情況,即具有較小資源的硬件不能將可想到的應(yīng)用的所有值信息存儲在芯片中。同時,考慮到處理效率,因此所希望的是為了保留而采用將值信息分布到芯片中的方法。因此,本發(fā)明支持混合方法以將內(nèi)容分布到諸如本發(fā)明中的本芯片以及網(wǎng)絡(luò)中的值信息存儲服務(wù)器這樣的多個信息容器中并對其進行保留。另外,本發(fā)明提供了內(nèi)容間的鏈接功能以作為支持混合方法的機制。
1.7相關(guān)芯片系統(tǒng)的相容性
就API命令協(xié)約、錯誤代碼、靜態(tài)的且動態(tài)的處理資源的方法等等而言,本芯片具有與和本發(fā)明有關(guān)的方案的其他結(jié)構(gòu)的兼容性。例如,錯誤代碼的一般部分為相關(guān)芯片和本芯片間共有。按照這種方式,本芯片可幫助具有開發(fā)相關(guān)芯片結(jié)構(gòu)的經(jīng)驗的工程師來開發(fā)本芯片的應(yīng)用。
1.8與各種芯片相對應(yīng)的適度標準化
本芯片提供了與各種IC卡相兼容的API系統(tǒng),這些IC卡包括8位至32位CPUs、接觸型/不接觸型/雙重接觸面、以及無線電頻率識別(RF-IDs)的智能卡。
2.系統(tǒng)說明
2.1系統(tǒng)結(jié)構(gòu)
本芯片結(jié)構(gòu)是分布式系統(tǒng)結(jié)構(gòu)以可安全地存儲防篡改值信息并且可安全地對計算機網(wǎng)絡(luò)上的防篡改值信息進行交換。本芯片結(jié)構(gòu)基本上包括下述組件。
(A)值信息網(wǎng)絡(luò)基本結(jié)構(gòu)(實體網(wǎng)絡(luò)基本結(jié)構(gòu))
這是可對值信息進行交換的結(jié)構(gòu)并且包括下述兩個組件。
A-i)包含有本芯片的信息容器(CHs)
包含有本芯片的信息容器是分布式系統(tǒng)中的計算實體。包含有本芯片的信息容器存儲值信息并提供了包含API的本芯片,因此允許對來自外部的值信息進行操作。例如,包含有本芯片的信息容器包括以下
本芯片可安全地存儲值信息的防篡改LSI芯片。
本芯片盒防篡改盒內(nèi)的大容量電子安全罩,這可安全地存儲值信息。
A-ii)包含有本芯片的服務(wù)客戶機(SCs)
包含有本芯片的服務(wù)客戶機是用于通過本芯片API來對存儲在包含有本芯片的信息容器中的值信息進行訪問的計算實體。例如,包含有本芯片的服務(wù)客戶機包括下述類型。
本芯片一個較完善的本芯片還具有作為客戶機的功能。
發(fā)布服務(wù)器可發(fā)布值信息并將值信息存儲在包含有本芯片的信息容器中的服務(wù)器。
服務(wù)場系統(tǒng)使用存儲在本芯片中的值信息的應(yīng)用系統(tǒng)。服務(wù)場系統(tǒng)例如包括電子門票檢查門。
*注意還存在這樣一種計算實體,即可用作包含有本芯片的服務(wù)客戶機以及芯片盒。
(B)認證/加密網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)(AENI)
在本芯片可實現(xiàn)公鑰加密系統(tǒng)的認證和加密的情況下,這是一認證系統(tǒng)。認證站起主要的作用。
(C)應(yīng)用網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)(ANI)
這相當于取決于應(yīng)用的各種通信系統(tǒng)。在電子門票的情況下,例如,應(yīng)用網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)包括用于指示搜索或購買門票之類的網(wǎng)絡(luò)協(xié)議。在ANI幀內(nèi)執(zhí)行直至購買的指令,并且在可提供本芯片功能的ENI內(nèi)執(zhí)行將門票作為值信息進行傳送。
2.2本芯片標識符(本芯片ID)
包含本芯片的信息容器以及服務(wù)客戶機具有唯一的標識符,其每一個均是指本芯片標識符(本芯片IDs)。在網(wǎng)絡(luò)中使用本芯片ID以對包含有本芯片的信息容器和服務(wù)客戶機進行認證、對信息進行路徑控制等等。本芯片由16個八位字節(jié)(128位)來表示。
*本芯片ID是在ENI通信協(xié)議中所使用的標識符的變換格式。本芯片ID未定義本芯片內(nèi)的內(nèi)部保留格式。
*考慮到便于實現(xiàn)路徑控制,還可以想到的是采用可將ENI物理層上的一協(xié)議的標識符直接定義為本芯片ID的實現(xiàn)方法。例如,在無需修改的情況下,即可將網(wǎng)絡(luò)地址的較低位用于本芯片ID。
*將所用者的本芯片ID定位為“0x00~00”(全“0”)。
例如,如果在以所用者的認證模式來對包含有本芯片的服務(wù)客戶機進行認證之后,具有本芯片ID“X”的包含有本芯片的服務(wù)客戶機建立了一會話,且在會話中創(chuàng)建了一文件、文件的發(fā)行者ID存儲為“0”。
*將本芯片ID定義為“0xff~ff”(全“1”)。
3.關(guān)于本芯片的梗概
3.1本芯片
本芯片是一較小尺寸的計算實體以使用戶可攜帶值信息,利用該值信息上述用戶可直接接收來自各種企業(yè)的服務(wù)。本芯片是這些規(guī)范主要處理的對象。通常,認為本芯片主要是由諸如IC卡、智能卡、或便攜式終端這樣的硬件來實現(xiàn)的。考慮到信息處理能力與這些硬件所提供的資源之間存在很大的差異,并且考慮到防篡改技術(shù)仍然處于發(fā)展階段,因此本發(fā)明的規(guī)范提供了與各類硬件相對應(yīng)的各種規(guī)范,同時只使接口標準化,由此制成了一系列芯片。
表1
表一系列本芯片的規(guī)范
3.2數(shù)據(jù)結(jié)構(gòu)模型
從外面來看存儲在芯片盒或本芯片內(nèi)的值信息是可見的,因為它具有下述分層的數(shù)據(jù)結(jié)構(gòu)。
●文件夾(folder)
用于對多組文件進行編譯的結(jié)構(gòu)。
只有路由文件夾存在于本芯片/16中。
●文件
資源用于存儲值信息。盡管一記錄存儲在該文件中,但是本芯片/16采用這樣一種結(jié)構(gòu),即在該結(jié)構(gòu)中只有單一的記錄存儲在一文件中。
3.3本芯片API
本芯片是由包含有本芯片的服務(wù)客戶機中的本芯片API來操作的。
基本上,本芯片API是基于利用下述過程的一會話的協(xié)議
—在本芯片與包含有本芯片的服務(wù)客戶機之間進行相互認證并建立加密通信路徑,
→建立一會話(事務(wù));
—對命令消息進行傳輸;并且
—中止該會話(事務(wù))
*一個會話/事務(wù)方法包括頻繁的進行消息交換,因此這不適合需要諸如“&Go”這樣的高應(yīng)答的應(yīng)用。因此,認證或加密被用于每個命令消息。就部分命令而言,也可采用非會話協(xié)議。
*以非會話的方式來處理所發(fā)出的“會話ID=0”的命令。
■會話命令
eopn_ses打開會話
ecfm_ses確認會話
ecls_ses關(guān)閉會話
■事務(wù)命令
eopn_tra打開事務(wù)
ecfm_tra確認事務(wù)
ecom_tra關(guān)閉事務(wù)
eabo_tra異常中止事務(wù)
■文件操作命令
ecre_fil創(chuàng)建文件
edel_fil刪除文件
etra_fil傳輸文件
eupd_fil更新文件模式
eenc_fil加密文件
edec_fil解密文件
■記錄操作命令
eupd_rec更新紀錄
erea_rec讀取紀錄
■密鑰實體操作命令
ecre_key創(chuàng)建密鑰
edel_key刪除密鑰
eupd_key更新密鑰
■認證輔助命令
ecfm_cer確認認證(certificate)
■控制命令
epol_hp 輪詢芯片
eini_car初始化卡
eupd_cer更新My認證
eupd_cpk更新CA公鑰
3.4認證、訪問控制、以及加密
一旦建立了該會話,本芯片和包含有本芯片的服務(wù)客戶機則執(zhí)行相互認證。由于用于認證的各類具體算法是專用于包含在本芯片中的硬件等等,因此可使用上述用于認證的各類具體算法。
*認證模式
認證包括一(信息)發(fā)行者模式和一所用者模式,這兩種模式是在認證的過程中指定的。根據(jù)每個模式,認證算法(通常地)有極大的不同。
(信息)發(fā)行者模式
該模式用于認證作為文件發(fā)行者的包含有本芯片的服務(wù)客戶機。在由發(fā)行者模式進行認證之后,由包含有本芯片的服務(wù)客戶機所創(chuàng)建的文件可訪問發(fā)行者的授權(quán),并且其他的資源可訪問其他授權(quán)。
所用者模式
該模式是用于認證作為芯片所用者的包含有本芯片的服務(wù)客戶機。通常使用諸如口令這樣的友好認證。由所用者模式所認證的包含有本芯片的服務(wù)客戶機擁有所用者的授權(quán)。
·在相互認證之后的本芯片的狀況
在認證之后,本芯片保留了下述信息
—已被正式認證的包含有本芯片的服務(wù)客戶機的本芯片ID;
—用于對消息進行加密以將其傳送到包含有本芯片的服務(wù)客戶機上的公鑰;
—用于對來自包含有本芯片的服務(wù)客戶機處的消息進行解密的公鑰;
—會話ID;以及
—會話模式(發(fā)行者模式/所有者模式)。
·訪問控制
將下述信息附著于芯片和文件(以及記錄)上
—表示發(fā)行者的本芯片ID;以及
—訪問控制列表(取決于授權(quán)所允許的操作)。
該訪問受到由下述所定義的會話所擁有的授權(quán)的限制。
·文件訪問模式
可使具有本芯片ID=eid的SC可訪問本芯片(其可創(chuàng)建文件F=F.eid的本芯片SC的芯片ID)中的文件F的模式包括下面三種類型
1.所有者訪問
在通過了所有者認證之后,以會話方式進行訪問
*在這種情況下,eid=0x00(全“0”)
2.(信息)發(fā)行者訪問
在通過了(信息)發(fā)行者認證之后,以會話方式進行訪問,其中eid=F.eid。
3.其他訪問
在通過了創(chuàng)建者認證之后,訪問會話或以非會話方式訪問,其中eid?。紽.eid。
·路由文件夾的訪問控制列表
表2
ACL0=0/1ecre_fil所有者訪問不可/可以
*所有者的訪問是否會允許在路由文件夾中創(chuàng)建一文件
ACL1=0/1ecre_fil其他訪問不可/可以
*除所有者訪問之外的一訪問是否會允許在路由文件夾中創(chuàng)建一文件
ACL2=0/1edel_fil所有者訪問不可/可以
*所有者的訪問是否會允許從路由文件夾中刪除一文件
ACL3=0/1edel_fil其他訪問不可/可以
*除所有者訪問之外的一訪問是否會允許從路由文件夾中刪除一文件
ACL4=0/1etra_fil所有者訪問不可/可以
*所有者的訪問是否會允許對來自路由文件夾的一文件進行傳送
ACL5=0/1etra_fi其他訪問不可/可以
*除所有者訪問之外的一訪問是否會允許對來自路由文件夾的一文件進行傳送
表3
*路由文件夾的(信息)發(fā)行者作為所有者進行管理。
*換句話說,用于將值信息裝入路由文件夾且用于創(chuàng)建密鑰實體的通用值信息服務(wù)器根據(jù)路由文件夾而與“其他訪問”相對應(yīng)。
·一文件的訪問控制列表
表4
ACL0=0/1eupd_rec所有者訪問 不可/可以
ACL1=0/1eupd_rec其他訪問不可/可以
ACL2=0/1erea_rec所有者訪問 不可/可以
ACL3=0/1erea_rec其他訪問不可/可以
ACL4=0/1eupd_fim所有者訪問 不可/可以
ACL5=0/1eupd_fim其他訪問不可/可以
ACL6=0/1elst_fil所有者訪問 不可/可以
ACL7=0/1elst_fil其他訪問不可/可以
ACL8=0/1edel_fil 所有者訪問 不可/可以
ACL9=0/1edel_fil 其他訪問不可/可以
ACLa=0/1etra_fil 所有者訪問 不可/可以
ACLb=0/1etra_fil 其他訪問不可/可以
ACLc=0/1eenc_fil 所有者訪問 不可/可以
ACLd=0/1eenc_fil 其他訪問不可/可以
ACLe=0/1edec_fil 所有者訪問 不可/可以
ACLf=0/1edec_fil 其他訪問不可/可以
表5
·密鑰實體的訪問控制列表
表6
ACL0=0/1eupd_key所有者訪問 不可/可以
ACL1=0/1eupd_key其他訪問不可/可以
ACL2=0/1erea_key所有者訪問 不可/可以
ACL3=0/1erea_key其他訪問不可/可以
ACL4=0/1eupd_kym所有者訪問 不可/可以
ACL5=0/1eupd_kym其他訪問不可/可以
ACL8=0/1edel_key所有者訪問 不可/可以
ACL9=0/1edel_key其他訪問不可/可以
ACLc=0/1eenc_fit所有者訪問 不可/可以
ACLd=0/1eenc_fil其他訪問不可/可以
ACLe=0/1edec_fil所有者訪問 不可/可以
ACLf=0/1edec_fil其他訪問不可/可以
表7
4.本芯片API協(xié)議
4.1包類型
*包類型右端的符號“□”表示代碼化會話中的未加密部分,符號“■”表示代碼化會話中的已加密部分。
*利用低端在前格式來存儲等于或大于2個八位字節(jié)的數(shù)字數(shù)據(jù)。
路由報頭
表8
本芯片會話單元(向前)
表9
本芯片會話單元(向后)
表10
MAC,報尾
表11
*在加密之后將MAC附著于數(shù)據(jù)上。
4.2命令標識符的列表(命令I(lǐng)D)
一個由1字節(jié)的正整數(shù)來表示本芯片API的命令標識符(命令I(lǐng)D)。
通常按照一系列本芯片/8、16和32來定義命令標識符,如下所示。
表12
表本芯片API的命令標識符列表悔
*未填入本芯片/16第一版本
4.3錯誤代碼列表
由有符號整數(shù)來表示本芯片中的錯誤代碼。當正常結(jié)束操作時,將返回E_OK=0或一個表示操作結(jié)果的正數(shù)。如果未正常結(jié)束操作或發(fā)生了一些錯誤,則返回一個負數(shù)。通常由下述來表示錯誤代碼。
*“E_”表示在芯片中進行本地命令處理的過程中所出現(xiàn)的一般性錯誤(為相關(guān)芯片的錯誤代碼所共有)
*“EN_”表示有通信有關(guān)的一般性錯誤(除會話錯誤之外,為相關(guān)芯片的錯誤代碼所共有)
*“ES_”主要表示與安全相關(guān)的一般性錯誤(專用于本芯片)
表13
表本芯片API的錯誤代碼列表
4.4MAC,報尾
表14
1校驗總和
表15
2CRC-CCITT
CRC-CCITT中的一階多項式
G(X)=X^16+X^12+X^5+1
*當包號碼是多位數(shù)時,在將后半字節(jié)填充為空值后,執(zhí)行CRC。
表16
5具有MD5的HMAC[RFC 2085]
這在會話/事務(wù)加密通信路徑中使用。
用于加密通信路徑的密鑰加密的密鑰的最初64字節(jié)被作為密鑰K。這里,通過下述公式來計算HMAC。
MDS(K xor opad|MDS(K xor ipad|TEXT))
opad+the byte 0x36 repeated 64 times
ipad+the byte 0x36 repeated 64 times
“|”表示簡單位追加。
例如,(“0100”|“1001”)=(“01001001”)
*在建立會化之后執(zhí)行加密通信的情況下,使16字節(jié)的加密密鑰重復(fù)4次所獲得的數(shù)目,換句話說,通過如下追加而使在epon_ses()的RSA認證情況下所交換的隨機數(shù)被作為64字節(jié)的密鑰。
K=Ra|Rb|Ra|Rb|Ra|Rb|Ra|Rb|
表17
4.5會話通信和非會話通信
就與本芯片的通信而言,在“相互認證”之后建立了作為“加密”通信路徑的會話/事務(wù),并且此后執(zhí)行“已加密”信息的通信。就“erea_reccommand”而言(例如,讀取記錄的內(nèi)容),支持無需通過“認證”階段即可執(zhí)行的非會話通信。在這種情況下,可通過檢索具有“session ID=0”的命令來啟動,以代替建立一會話。若相關(guān)的文件允許“其他訪問”,則非會話通信的訪問是成功的。就這一點而言,訪問包是未加密的。這用在諸如門票控制這樣的非常需要“touch&go應(yīng)用程序”的地方。
*利用該模式服務(wù)提供者則要承受很高的風(fēng)險。下述聲源卡也被采用。
5.eTP密鑰證書
在會話建立的過程中進行認證時,使用該證書。
1.概述
在利用本芯片/16建立一會話的過程中所進行的相互認證是基于基本公鑰的且存在PKI這樣的前提。
—為包含有本芯片的CHs以及包含有本芯片的SCs的每一個均分配了本芯片ID,并且在配給的過程中分配了成對的公鑰和密鑰以用于認證。
—總是將包含有本芯片的CA所簽名的證書存儲在包含有本芯片的CH或包含有本芯片的SC內(nèi),因此在建立會話/事務(wù)時,包含有本芯片的CH和包含有本芯片的SC可表明彼此擁有正式所配給的一對本芯片ID和公鑰。
*盡管假定將來存在多個包含有本芯片的CA,但是包含有本芯片的CA并不局限于該版本的這一個。
—在證書中,包含有本芯片的CA的簽名(S_ca(id,PK_id))證明了本芯片ID、成對的公鑰、以及(id,PK_id)是正式所配給的。
2.詳細說明
由于在認證步驟之前存在一步驟,因此包含有本芯片的節(jié)點(共同涉及包含有本芯片的SC和包含有本芯片的CH)彼此傳送他們自己的本芯片的公鑰以作為本芯片設(shè)備的發(fā)行者所簽名的證書。*參見注釋(1)
包含有本芯片的節(jié)點具有證書形式的由證書發(fā)行者所簽發(fā)的一密鑰的公鑰。利用該密鑰既可確認其合法性。
因此,對下述進行證實。*參見注釋(2)
“從相對節(jié)點所傳送來的公鑰的正確性”=“發(fā)行著正式的簽署”+“有效期內(nèi)的證書”
當有效性未被確認,則中斷通信而無需建立會話。*參見注釋(3)
*注釋(1)
在對基本公鑰進行認證時,還應(yīng)當考慮與這樣一種情況有關(guān),即當對此后會話中的高位值進行傳輸/交換時證書被“取消且無效”。本芯片/16使用下述之一種
1.CRL(無效列表),(然而,數(shù)據(jù)量變大);或者
2.用于查詢指定的證書是否被“取消且無效”的服務(wù)器訪問。
*注釋(2)
此外,還可設(shè)置如注釋(1)所述的一查詢以確定證書是否被“取消且無效”。
*注釋(3)
在確認證書的有效性結(jié)束之前,行之有效的是實驗性的啟動認證步驟并采用由另外的任務(wù)來確認其有效性的實現(xiàn)方法,同時將認證所必需的信息包傳送到對方,或等待來自對方的認證所必需的信息包。盡管這樣的實現(xiàn)需要中斷和多任務(wù)OS以在芯片中實現(xiàn),但是這仍是有效的裝置以在短處理時期內(nèi)即可完成整個認證。
前述說明是可減少在對諸如本芯片或卡這樣的節(jié)點的通信進行初始化設(shè)置所需時間的設(shè)備。在服務(wù)機上所實現(xiàn)的節(jié)點總是首先脫機的確認簽名,然后確認“取消性和無效性”。這防止了由于對來自具有無效證書設(shè)備的無效任何憑證進行傳輸所造成的浪費服務(wù)器查詢處理的DoS。
eTP密鑰證書的格式(版本0.1)
表18
·ver證書格式的版本號,在0.1版本中將其設(shè)置為“1”。
·證書號本芯片ID的密鑰的證書序列號
·簽名方法簽名算法指定符
0直到證書的密鑰字段的部分采用SHA-1雜散數(shù),剩余部分采用RSA加密(實現(xiàn))
1保留
2保留
3保留
·發(fā)行者SIPO <DP n="34"> --><dp n="d34"/>#typedef UH RID;/*Record ID*/#typedef UH CACL; /*Chip Access Control List*/#typedef UH FACL; /*File Access Control List*/#typedef UH KEYACL; /*Key Entity Access Control List*/#define ISSUER_MODE1 /*Issuer Mode*/#define OWNER_MODE2 /*Owner Mode*/#define FILE_DYNAMIC 0x01 /*Dynamic Multi-record File*/#define FILE_STATIC 0x02/*Static Single-record File*/#typedef UH TME; /*Time*/
10.本芯片API的規(guī)范說明(命令的定義)
10.1會話管理命令組
會話結(jié)構(gòu)
打開/確認會話
本芯片構(gòu)建了安全的會話通信路徑。當路徑1符合要求時在使用認證的情況下可使用“eopn_ses”,并且在使用需要路徑2的認證的情況下按照這個次序使用“ecnf_ses”。
通過這個會話結(jié)構(gòu),可共享臨時的公用加密密鑰,該臨時的公用加密密鑰只是在包含有本芯片的客戶端、呼叫端、本芯片端、以及被呼叫端之間間進行會話期間有效。
根據(jù)包內(nèi)的參數(shù)可選擇認證和加密類型的方式。當指定了本芯片上的不可用的認證/加密時,則會出現(xiàn)錯誤。
ERR eopn_ses(ETRONID destid,ETRONID srcId,TIME t,
UB authmode,UB authAlgorithm,
Ub sessionAlogrithm,UH len,
UB*authData,UH*rlen,
UB**rAuthData)
DestId本芯片的芯片ID,本芯片即就是發(fā)出命令的對象
(目的本芯片ID)
srcId 包含有本芯片的服務(wù)客戶機的本芯片,服務(wù)客戶機是調(diào)用命令的
(源本芯片ID)
t 時間
authMode 指定認證模式
authAlgorithm 認證所使用的算法指定符
sessionAlgorithm 在認證之后會話的加密算法的指定符
len 輸出包長度(字節(jié)數(shù))
authData 用于認證的通過包含有本芯片的服務(wù)客戶機而到
達本芯片的數(shù)據(jù)(len-16)
rlen 返回包長度(字節(jié)數(shù))
rAuthData 用于認證的從本芯片返回至包含有本芯片的服務(wù)
客戶機的數(shù)據(jù)
□authMode
0x01 ISSUER 發(fā)行者模式
0x02 OWNER所有者模式
□authAlgorithm
0x01 保留
0x02 RSA(利用證書進行離線認證)
0x03 RSA(在線認證以用于確認CRL)
0x04 保留
□sessionAlgorithm
0x01 保留
0x02 保留
0x03 保留
0x04 保留
0x05 保留
在路徑1的認證中
>0 會話ID(當正常關(guān)閉時)
<0 錯誤代碼
在路徑2的認證中
<=0 錯誤代碼
表28
表29
表30
表31
ERR eopn_ses (ETRONID destid,ETRONID srcId,TIME t,
UH len,UB*authData,UH*rlen,
UB**rAuthData);
destId本芯片的芯片ID,本芯片即就是發(fā)出命令的對象
(目標該芯片ID)
srcId 包含有本芯片的服務(wù)客戶機的本芯片,服務(wù)客戶
機是調(diào)用命令的
(源芯片ID)
t 時間
len 輸出包長度(字節(jié)數(shù))
authData 用于認證的通過包含有本芯片的服務(wù)客戶機而到
達本芯片的數(shù)據(jù)(len-12)
rlen 返回包長度(字節(jié)數(shù))
rAuthData 用于認證的從本芯片返回至包含有本芯片的服務(wù)
客戶機的數(shù)據(jù)(rlen-8)
>0 會話ID(當正常關(guān)閉時)
<0 錯誤代碼
表32
表33
表34
表35
在對包含有本芯片的服務(wù)客戶機與本芯片之間的相互認證之后,“打開/確認命令”建立了一會話以作為安全的加密通信路徑。具體的運作取決于認證和加密的方式,并且該方式通常取決于本發(fā)明N芯片的加密支持功能(實現(xiàn)的相關(guān)性)。會話建立協(xié)議包括發(fā)行者模式中的認證以及所有者模式中的認證,由“打開會話”命令中的authmode參數(shù)來區(qū)分這兩者。
■通過公鑰加密來進行發(fā)行者模式中的認證(authmode=ISSUER)
圖6給出了通過公鑰加密來進行發(fā)行者模式中的認證方法的示意圖。以下參考圖6對該認證方法進行詳細的舉例說明。
(1)eopn_ses(A→B)
《參數(shù)例》
·authMode 0x02(發(fā)行者)
·authAlgorithm 0x03(RSA用于確認CRL的在線認證)
·sessionAlgorithm 0x02(3DES)
·authData 用于A的eTP公鑰證書
·MAC報尾 校驗總和
《B的作用》
·確認A的eTP證書的有效性
—確認eTP證書的終止日期
—通過使用CA站→(2)的公鑰來確認eTP證書上的簽名
—確認CRL列表
·取回A的公鑰
(2)ecfm_cer(B→CRL Rep.Server)
《參數(shù)例》
·checkMode 0x00
·certificateId ***********
·MAC報尾 校驗總和
(3)ecfm_cer(B←CRL Rep.Server)
《參數(shù)例》
·Error CodeE_OK或否
·MAC報尾 校驗總和
(4)eopn_ses(A←B)
《參數(shù)例》
·Error CodeE_OK或否
·authMode 0x02(發(fā)行者)
·authAlgorithm 0x03(RSA用于確認CRL的在線認證)
·sessionAlgorithm 0x02(3DES)
·authData 1.用于B的eTP公鑰證書
2.采用A的公鑰和64位隨機數(shù)Rb進行RSA
加密所獲得的值
·MAC報尾 校驗總和
《A端的作用》
·確認B的eTP證書的有效性
—確認eTP證書的終止日期
—確認→到(5)的CRL列表
—通過使用CA站的公鑰來確認eTP證書上的簽名
·從證書取回B的公鑰
·在采用A的密鑰解密之后,取回authdata2中接收到的隨機數(shù)Rb
·指定取回到的隨機數(shù)Rb作為用于會話加密的3DES的密鑰的一部分
·利用A的密鑰為取回到的隨機數(shù)Rb創(chuàng)建數(shù)字簽名
(5)ecfm_cer(A→CRL Rep.Server)
《參數(shù)例》
·checkMode 0x00
·certificateId ***********
·MAC報尾校驗總和
(6)ecfm_cer(A←CRL Rep.Server)
《參數(shù)例》
·Error Code E_OK或否
·MAC報尾校驗總和
(7)ecfm_ses(A→B)
《參數(shù)例》
·authData 1.采用B的公鑰和64位隨機數(shù)Rb進行RSA
加密所獲得的值,以及
2.附加并傳送采用A的私鑰進行RSA加密所
獲得的一個值,以及通過接受自B的隨機
數(shù)的A的私鑰的數(shù)字簽名
·MAC報尾 校驗總和
《B方作用》
*取回Ra和采用用于A的公鑰解密authData中接收到的數(shù)據(jù)從而獲得的數(shù)字簽名
·指定取回到的Ra作為用于會話加密的3DES的私鑰
·為利用B的私鑰取回到的Ra創(chuàng)建數(shù)字簽名
·確認取回到的帶有用于A的公鑰的簽名
(8)ecfm_ses(呼叫者←被叫者)
《參數(shù)例》
·Error Code E_OK或否
·authData 依據(jù)B的私鑰為來自A的隨機數(shù)Ra數(shù)字簽名
·MAC報尾校驗總和
《A端作用》
·利用B的公鑰確認所接收到的簽名
■認證算法(輔助)詳述
■算法詳述
·加密和認證的密鑰
私鑰sk=d
公鑰pk=(e,n)
·用于普通句m的加密算法
E_pk(m)=m^e mod n
·已加密句c的解密算法
D_sk(c)=c^d mod n
·為消息M創(chuàng)建數(shù)字簽名算法
f_sh(M)=(h(M))^d mod n
*此處,h(M)為諸如MD5或SHA-1的散列函數(shù)
·對消息M的數(shù)字簽名s的檢驗算法
g_pk(M,s)=if(h(M)==s^e mod n)then 1 else 0 endif
■相應(yīng)結(jié)點信息列表
·CA站(C)
CA公鑰pk_c(130B)
CA密鑰sk_c(128B)
·呼叫方(A)
A公鑰 pk_a(130B)
A密鑰 sk_a(128B)
A證書 cer_a(304B)
在A的證書上CA站的簽名 s_(a,c)=(128B)
CA站的公鑰 pk_c(130B)
在相互認證過程中創(chuàng)建的隨機數(shù)Ra(8B)
·被叫方(B)
B公鑰 pk_b(130B)
B密鑰 sk_b(128B)
B證書cer_b(304B)
在B的證書上CA站的簽名s_(b,c)=(128B)
CA站的公鑰 pk_c(130B)
在相互認證過程中創(chuàng)建的隨機數(shù)Rb(8B)
■基于RSAd的eTP的認證算法詳述
eopn_ses(A)→(B)(cer_a)*總共304字節(jié)
A的證書 cer_a包括pk_a和s_(a,c)
證書期滿確認
證書簽名確認g_(pk_c)(cer_a,s_(a,c))
證書的CRL確認
eopn_ses(A)←(B)(cer_b|rb) *總共432字節(jié)
B的證書 cer_b包括pk_b和s_(b,c)
B創(chuàng)建的隨機數(shù)(Rb)rb=E_(pk_a)(Rb)
證書期滿確認
證書簽名確認g_(pk_c)(cer_b,s_(b,c))
證書的CRL確認
消息(rb)解密Rb’=D_(sk_a)(rb)
為所接收到的隨機數(shù)(Rb’)創(chuàng)建簽名srb=f_(sk_a)(Rb’)
ecfm_ses(A)→(B)(x_a1|x_a2) *總共256字節(jié)
A創(chuàng)建的隨機數(shù)(Ra)和簽名(srb)x_a1=E_(pk_b)(Ra)
x_a2=E_(pk_b)(srb)
消息(x_a)解密 Ra’=D_(sk_b)(x_a1)
srb’=D_(sk_b)(x_a2)
檢驗所接收到的簽名(srb) g_(pk_a)(Rb,srb’)
為所接收到的隨機數(shù)(Ra’)創(chuàng)建簽名sra=f_(sk_b)(Ra’)
ecfm_ses(A)←(B)(x_b)*總共128字節(jié)
B創(chuàng)建的簽名(sra) x_b=E_(pk_a)(sra)
消息(x_b)解密 sra’=D_(sk_a)(x_b)
檢驗所接收到的簽名(sra)g_(pk_b)(Ra,sra’)
*這樣,A和B均有一對(Ra,Rb)且采用特定算法從中創(chuàng)建會話公鑰。
■在建立會話之后設(shè)置加密通信參數(shù)
例)3DES情況
基于E-D-E模式采用Ra-Rb-Ra執(zhí)行3DES加密。在此情況下,存儲在“eopen_ses()”輸出包的sid列中的值被用作會話ID。也就是說,首先被呼叫的呼叫者所指定的會話ID用得其所。
例)DES情況
將Rb作為密鑰進行DES加密。在此情況下,Ra被用作會話ID。
■依據(jù)私鑰加密在主屬模式(authmode=OWNER)認證
圖7給出了依據(jù)私鑰加密在主屬模式認證的方法的示意圖。以下將參考圖7描述依據(jù)采用“eopn_ses”和“ecfm_ses”的2路模式主屬認證來建立會話的操作例。此模式基本上采用圖7所示的方法。尤其,芯片內(nèi)存儲了主屬密碼,且利用密碼執(zhí)行認證。當開始認證時,當前芯片創(chuàng)建了一隨機數(shù)并將隨機數(shù)傳送至R/W。隨后,R/W方利用隨機數(shù)加密密碼,然后將密碼傳送至當前芯片。
(1)eopn_ses(A→B)
創(chuàng)建隨機數(shù)Ra,然后
·ID_A;且
·Ra被傳送至B
(2)eopn_ses(A←B)
創(chuàng)建隨機數(shù)Rb,然后,
·X1=E1_Key(ID_A|Ra);且
·計算X2=E2_P(Pb)并將其返回A
(3)ecfm_ses(A→B)
a.利用D1_Key(X1)解密并確認Ra。(執(zhí)行認證以確保當前芯片質(zhì)量)。
b.計算R_B=D2_P(X2)并解密X2以取回Rb。
c.通過部分位反相來修改R_B以創(chuàng)建R’b,然后,
·創(chuàng)建Y=E3_P(R’b)并傳送至B。
(4)ecfm_ses(A←B)
利用D3_p(Y)執(zhí)行解密并確認R’b。(執(zhí)行認證以確認有資格的主屬正通過當前芯片服務(wù)客戶機進行操作)
從Ra創(chuàng)建會話ID(sid)并返回至A
*此處,“|”為追加并加入位序列。例如,當A=“010010011”且B=“00100101”,那么,(A|B)=“01001001100100101”
ID_A和ID_B分別表示當前芯片服務(wù)客戶機(A)和當前芯片(B)的當前芯片ID(128位)。
*假設(shè)E2為DES操作,E3為其中一變元為位反相并屬于DES的操作。
會話的關(guān)閉
關(guān)閉會話
會話被關(guān)閉。
ERR ecls_ses(SID sid,ETRONID destId,ETRONID srcID,
TIME t,UH len,UH*rlen);
destId作為一命令對象的當前芯片的芯片ID(當前目的芯片ID)
srcId 調(diào)用命令的當前芯片服務(wù)客戶機的當前芯片ID(當前源芯片ID)
t 時間
len 一輸出包長(一字節(jié)數(shù))
rlen 一返回包長(一字節(jié)數(shù))
<=0 錯誤代碼
表38
表39
表40
表41
當前芯片服務(wù)客戶機可利用此命令來構(gòu)建會話。
關(guān)閉所建立會話。
10.2事務(wù)管理命令組
構(gòu)建事務(wù)會話
打開/確認事務(wù)
為當前芯片構(gòu)建一事務(wù)會話?!癳opn_tra”用在當滿足1路時認證的情況,且“eopn_tra”和“ecnf_tra”以此順序用于2路認證的情況
*基本操作類似于“eopn_ses”和“ecfm_ses”。然而,其不同在于對隨后處理的返回能力。
ERR eopn_tra(ETRONID destID,ETRONID scrID,TIME t,
UB authMode,UB authAlgorithm,
UBsessionAlgorithm,UH len,
UB*authData,UH*rlen,
UB**aAuthData);
destID 作為一命令對象的當前芯片的芯片ID(當前
目的芯片ID)
scrId調(diào)用命令的當前芯片服務(wù)客戶機的當前芯片
ID(當前源芯片ID)
t時間
authMode 規(guī)定認證模式
authAlgorithm用作認證的算法說明符
sessionAlgorithm 認證之后會話的加密算法說明符
len 一輸出包長(一字節(jié)數(shù))
authData 從當前芯片服務(wù)客戶機傳送到當前用于認證
的芯片的數(shù)據(jù)(len-16)
rlen 一返回包長(一字節(jié)數(shù))
rAuthData從當前芯片返回到當前用于認證的芯片服務(wù)
客戶機的數(shù)據(jù)(len-8)
參照“eopn_ses”
在1路認證中
>0會話ID(普通關(guān)閉)
<0錯誤代碼
在2路認證
<=0 錯誤代碼
表42
表43
表44
表45
ERR ecnf _sestra(ETRONID destId,ETRONID srcId,TIME t,
UH len,UB*authData,
UH*rlen,UB**rAuthData);
destId 作為一命令對象的當前芯片的芯片ID(當
前目的芯片ID)
srcId調(diào)用命令的當前芯片服務(wù)客戶機的當前芯
片ID(當前源芯片ID)
t時間
len 一輸出包長(一字節(jié)數(shù))
authData 從當前芯片服務(wù)客戶機傳送到當前用于認
證的芯片的數(shù)據(jù)(len-12)
rlen 一返回包長(一字節(jié)數(shù))
rAuthData 從當前芯片返回到當前用于認證的芯片
服務(wù)客戶機的數(shù)據(jù)(rlen-8)
>0會話ID(普通關(guān)閉)
<0錯誤代碼
表46
表47
表48
表49
類似于“eopn_ses”和“ecfm_ses”涉及認證和加密。
然而,在建立事務(wù)之后只可發(fā)布有以下當前芯片API。假如發(fā)布了其它API則將發(fā)生一錯誤。
●創(chuàng)建文件 ecre_fil
●刪除文件 edel_fil
●創(chuàng)建記錄 ecre_rec
●刪除記錄 edel_rec
●更新記錄 eupd_rec
必須保證當發(fā)布“econ_tra”時反映了此處發(fā)布的命令序列,且在發(fā)布“eabo_tra”或一段特定時間不發(fā)布“ecom_tra”后超時的情況下,保證完全返回命令序列。
關(guān)閉事務(wù)
提交/終止事務(wù)
關(guān)閉事務(wù)。“ecom_tra”用作關(guān)閉提交,且“eabo_tar”用作關(guān)閉終止。
ERR ecom_tra(SID sid,ETRONID destId,
ETRONID scrID,TIME t,UH len,
UH*rlen);
DestID 作為一命令對象的當前芯片的芯片ID(當前目的芯片ID)
srcI調(diào)用命令的當前芯片服務(wù)客戶機的當前芯片ID(當前源芯片ID)
t 時間
len 一輸出包長(一字節(jié)數(shù))
rlen一返回包長(一字節(jié)數(shù))
<=0錯誤代碼
表50
表51
表52
表53
ERR eabo_tra(SID sid,ETRONID destId,
ETRONID srcId,TIME t,UH len,
UH*rlen);
destID 作為一命令對象的當前芯片的芯片ID(當前目的
芯片ID)
srcId調(diào)用命令的當前芯片服務(wù)客戶機的當前芯片ID
(當前源芯片ID)
t時間
len 一輸出包長(一字節(jié)數(shù))
rlen 一返回包長(一字節(jié)數(shù))
<=0錯誤代碼
表54
表55
表56
表57
當前芯片服務(wù)客戶機可利用此命令來構(gòu)建會話。
●所建立的事務(wù)被提交或終止。
●當事務(wù)被提交時,在“ecfm_tra”和“ecom_tra”之間發(fā)布的所有命令被映射到當前芯片的非易失性存儲器。
●當事務(wù)被終止或等待特定時期之后未提交時,然后在“ecfm_tra”和“ecom_tra”之間發(fā)布的所有命令被映射到當前芯片的非易失性存儲器。
10.3文件管理命令組
此系統(tǒng)中的文件具有以下限制。
●可用文件數(shù)上限50
●文件ID0至49
●文件大小上限 256(字節(jié))
文件的創(chuàng)建
創(chuàng)建文件
創(chuàng)建一(空)文件。
ERR ecre_fil(SID sid,ETRONID destId,ETRONID srcId,
TIME t,UH len,F(xiàn)ID fid,UH blk,
UH cnt,F(xiàn)ACL facl,UH*rlen);
sid 會話ID
destId 作為一命令對象的當前芯片的芯片ID(當前目的
芯片ID)
srcId調(diào)用命令的當前芯片服務(wù)客戶機的當前芯片ID
(當前源芯片ID)
t時間
fid 將被創(chuàng)建的文件ID
facl 文件訪問控制列表的一初始值
blk 文件的一起始地址(此處調(diào)整成“1”)
cnt 一文件長(一字節(jié)數(shù))
len 一輸出包長(一字節(jié)數(shù))
rlen 一返回包長(一字節(jié)數(shù))
>0 所創(chuàng)建的文件ID(普通關(guān)閉)
<0 錯誤代碼
表58
表59
表60
表61
●總可用于發(fā)行者模式下(一父系文件夾的發(fā)行者的當前芯片ID等于構(gòu)建會話的SC的當前芯片ID)。
●假如父系文件夾的訪問控制列表允許,可用于主屬模式以及其他模式。
創(chuàng)建一文件ID為fid的文件。當已采用指定fid,一錯誤發(fā)生。
文件的刪除
刪除文件
刪除文件。
ERR edel_fil(SID sid,ETRONID destId,ETRONID srcId,
TIME t,UH len,F(xiàn)ID fid,UH*rlen);
sid 會話ID
destId作為一命令對象的當前芯片的芯片ID(當前目的
芯片ID)
srcId 調(diào)用命令的當前芯片服務(wù)客戶機的當前芯片ID
(當前源芯片ID)
t 時間
fid 將被刪除的文件ID
len 一輸出包長(一字節(jié)數(shù))
rlen 一返回包長(一字節(jié)數(shù))
<=0 錯誤代碼
表62
表63
表64
表65
●為運行“edel_fil”必須滿足以下條件。此處須注意包括兩種訪問控制列表。
(情況1)主屬認證訪問情況
1.必須允許命令“edel_fil”作為“主屬訪問”路由文件夾。也就是說,必須滿足“路由文件夾的ACL2==1”。
2.必須允許命令“edel_fil”作為“主屬訪問”目標文件。也就是說,必須滿足“文件的ACL8==1”。
(情況2)發(fā)行者認證訪問情況
1.必須允許命令“edel_fil”作為“其它訪問”路由文件夾。也就是說,必須滿足“路由文件夾的ACL3==1”。
2.目標文件與ACL無關(guān)(總OK)。
(情況3)其它訪問情況
1.必須允許命令“edel_fil”作為“其它訪問”路由文件夾。也就是說,必須滿足“路由文件夾的ACL3==1”。
2.必須允許命令“edel_fil”作為“其它訪問”目標文件。也就是說,必須滿足“文件的ACL9==1”。
刪除一文件ID為fid的文件。清除規(guī)定文件物理位置的一控制塊且釋放非易失性存儲器,而且存儲器中所有數(shù)據(jù)為設(shè)置為“0”或“1”
請求傳送一文件
請求文件傳送
將文件內(nèi)容傳送至其它當前芯片信息容器。
ERR atra_fil(SID sid,ETRONID destId,ETRONID srcID,
TIME t,UH len,F(xiàn)ID fid,
ETRONID targetID,F(xiàn)id targetFid,
UH*rlen);
sid會話ID
destId 作為一命令對象的當前芯片的芯片ID(當前目的
芯片ID)
srcId 調(diào)用命令的當前芯片服務(wù)客戶機的當前芯片ID
(當前源芯片ID)
t 時間
fid將被創(chuàng)建的文件ID
targetId 文件的傳送目的地的當前芯片ID
targetFid 在傳送目的地將被傳送的文件的文件ID
len 一輸出包長(一字節(jié)數(shù))
rlen 一返回包長(一字節(jié)數(shù))
>0 實際被更新的數(shù)據(jù)長(普通關(guān)閉)
<0 錯誤代碼
表66
表67
表68
表69
發(fā)生系統(tǒng)調(diào)用的芯片執(zhí)行以下一系列操作。
以下當前芯片API序列向傳送目的芯片發(fā)布。
●建立事務(wù)會話 eopn_tra
ecfm_tra
●創(chuàng)建文件 ecre_fil
●創(chuàng)建記錄 ecre_rec
· ·
· ·
●提交事務(wù) ecom_tra
假如中期檢測到任何異常則終止事物。其間,不映射會話命令除非提交命令正常。
文件數(shù)據(jù)的加密和解密
加密/解密文件
存儲已加密內(nèi)容的文件被解密。
ERR eenc_fil(SID sid,ETRONID destId,ETRONID srcID,
TIME t,UB len,F(xiàn)ID srcFid,
FID destFid,F(xiàn)ID keyed,UB*rlen,
UW*currentMoney,UW*payedmoney);
ERR ednc_fil(SID sid,ETRONID destId,ETRONID srcID,
TIME t,UB len,F(xiàn)ID srcFid,
FID destFid,F(xiàn)ID keyed,UB*rlen,
UW*currentMoney,UW*payedmoney);
sid 會話ID
destId作為一命令對象的當前芯片的芯片ID(當前目的
芯片ID)
srcId 調(diào)用命令的當前芯片服務(wù)客戶機的當前芯片ID
(當前源芯片ID)
t 時間
srcFid存儲已加密內(nèi)容的文件ID
destFid 存儲已解密內(nèi)容的文件ID
keyId 存儲將被用于解密處理的密鑰實體的文件ID
currentmoney 留在密鑰實體的錢款余額
payedmoney當前結(jié)算金額
len 一輸出包長(一字節(jié)數(shù))
rlen 一返回包長(一字節(jié)數(shù))
<=0錯誤代碼
表70
表71
表72
表73
■edec_fil()操作
表74
●已加密內(nèi)容 ●已解密內(nèi)容
(srcFid) (destFid)
■edec_fil()操作
表75
●原始內(nèi)容 ●已加密內(nèi)容
(srcFid) (destFid)
*利用“原始KEY”進行內(nèi)容加密。
*利用密鑰實體所規(guī)定的密鑰執(zhí)行KEY加密。
*在完成加密之后對數(shù)據(jù)簽名
*重復(fù)四次原始KEY所獲得的值被用作MD5的HMAC中64位私鑰K
改變文件的訪問控制列表
更新文件模式
文件的訪問控制列表被改變。
ERR eupd_fim(SID sid,ETRONID destId,ETRONID srcId,
TIME t,UH len,F(xiàn)ID fid,F(xiàn)ILACL filacl,
UH*rlen);
sid 會話ID
destId 作為一命令對象的當前芯片的芯片ID(當前目的
芯片ID)
srcId調(diào)用命令的當前芯片服務(wù)客戶機的當前芯片ID
(當前源芯片ID)
t時間
fid 訪問控制列表中所改變的對象的文件ID
filacl 文件訪問列表的更新數(shù)據(jù)
callerId 調(diào)用命令的當前芯片服務(wù)客戶機的當前芯片ID
len 一輸出包長(一字節(jié)數(shù))
rlen一返回包長(一字節(jié)數(shù))
<=0 錯誤代碼
表76
表77
表78
表79
●在關(guān)于對象文件的發(fā)行者模式總是可用的(一父系文件夾的發(fā)行者的當前芯片ID等于構(gòu)建會話的SC的當前芯片ID)
●假如對象文件的訪問控制列表允許,則在主屬模式以及其它模式總是可用的
文件的訪問控制列表改變?yōu)橐惶囟ㄖ怠?br> 所定義的文件列表的獲取
列出文件ID
獲取所定義的文件列表
ERR elst_fid(SID sid,ETRONID destId,ETRONID srcId,
TIME t,UH len,F(xiàn)ID fid,UH*rlen,
UB**fileCtrlBlk);
sid 會話ID
destId 作為一命令對象的當前芯片的芯片ID(當前目的
芯片ID)
srcId調(diào)用命令的當前芯片服務(wù)客戶機的當前芯片ID
(當前源芯片ID)
t 時間
fid 對象文件ID
fileCtrlBlk 對象文件的控制塊
len 一輸出包長(一字節(jié)數(shù))
rlen一返回包長(一字節(jié)數(shù))
<=0 錯誤代碼
表80
表81
表82
表83
●在關(guān)于對象文件的發(fā)行者模式總是可用的(一父系文件夾的發(fā)行者的當前芯片ID等于構(gòu)建會話的SC的當前芯片ID)
●假如對象文件的訪問控制列表允許,則在主屬模式以及其它模式總是可用的
10.4記錄管理命令組
更新記錄數(shù)據(jù)
更新記錄
一記錄內(nèi)容被改變。
ERR eupd_rec(SID sid,ETRONID destId,ETRONID srcId,
TIME t,UH len,F(xiàn)ID fid,UH blk,
UH cnt,UB*data,UH*rlen);
sid 會話ID
destId 作為一命令對象的當前芯片的芯片ID(當前目的
芯片ID)
srcId調(diào)用命令的當前芯片服務(wù)客戶機的當前芯片ID
(當前源芯片ID)
t時間
fid 將被改變的文件ID
blk 將被改變的記錄號(此處固定為1)
cnt 將被改變的一記錄數(shù)據(jù)長(一字節(jié)數(shù))
data 將被改變的數(shù)據(jù)內(nèi)容(cnt字節(jié))
len 一輸出包長(一字節(jié)數(shù))
rlen 一返回包長(一字節(jié)數(shù))
>0 實際更新的數(shù)據(jù)長(普通關(guān)閉)
<0 錯誤代碼
表84
表85
表86
表87
●在關(guān)于對象文件的發(fā)行者模式總是可用的(一父系文件夾的發(fā)行者的當前芯片ID等于構(gòu)建會話的SC的當前芯片ID)
●假如對象記錄的訪問控制列表允許,則在主屬模式以及其它模式總是可用的
發(fā)布一用于寫來自clk記錄開始處的cnt字節(jié)數(shù)據(jù)的請求。依據(jù)硬件條件為cnt提供一上限。實際所寫字節(jié)數(shù)被返回至rCnt。
從記錄中讀數(shù)據(jù)
讀記錄
記錄內(nèi)容被讀出。
ERR erea_rec(SID sid,ETRONID destId,ETRONID srcId,
TIME t,UH len,F(xiàn)ID fid,UH blk,
UH cnt,UH*rlen,UH*rCnt,UB*rData,);
sid 會話ID
destId 作為一命令對象的當前芯片的芯片ID(當前目的芯
片ID)
srcId調(diào)用命令的當前芯片服務(wù)客戶機的當前芯片ID(當
前源芯片ID)
t時間
fid 將被讀出的文件ID
blk 將被讀出的記錄ID
cnt 將被讀出的一數(shù)據(jù)長(一字節(jié)數(shù))
rCnt 實際讀出的數(shù)據(jù)長(一字節(jié)數(shù))
rData讀出的數(shù)據(jù)(rCnt字節(jié))
len 一輸出包長(一字節(jié)數(shù))
rlen 一返回包長(一字節(jié)數(shù))
<=0錯誤代碼
表88
表89
表90
表91
●在關(guān)于對象文件的發(fā)行者模式總是可用的(一父系文件夾的發(fā)行者的當前芯片ID等于構(gòu)建會話的SC的當前芯片ID)
●假如對象記錄的訪問控制列表允許,則在主屬模式以及其它模式總是可用的
發(fā)布一用于讀來自blk記錄開始處的cnt字節(jié)數(shù)據(jù)的請求。依據(jù)硬件條件為cnt提供一上限。實際所讀字節(jié)數(shù)被返回至rCnt。
通常在建立會話時發(fā)布并運行此命令。然而,未建立會話的當前芯片服務(wù)客戶機也可能通過專門的“touch&go”應(yīng)用且sid=0來調(diào)用此命令。在此情況下,記錄的訪問控制列表允許其它權(quán)利,讀出之后運行此命令。
10.5密鑰實體管理命令組
此系統(tǒng)中的密鑰具有以下限制。
●可用文件數(shù)上限10
●密鑰實體ID0至9
●密鑰實體大小上限 256(字節(jié))
一密鑰實體的創(chuàng)建
創(chuàng)建密鑰實體
ERR ecre_key(SID sid,ETRONID destId,ETRONID srcId,
TIME t,UH len,UH kid,
UH keyAlgorithm,UB*key,UH bankId,
KEYACL acl,UL initMoney Val,
UH*rlen);
sid 會話ID
destId 作為一命令對象的當前芯片的芯片ID(當前目的芯
片ID)
srcId調(diào)用命令的當前芯片服務(wù)客戶機的當前芯片ID(當
前源芯片ID)
t 時間
kid 密鑰實體ID
KeyAlgorithm 加密算法說明符
key 一加密密鑰
bankID一銀行ID
initMoney Val 一錢款初始量
acl 一初始訪問控制列表值(未用于第一版)
len 一輸出包長(一字節(jié)數(shù))
rlen 一返回包長(一字節(jié)數(shù))
<=0 錯誤代碼
表92
表93
表94
表95
密鑰實體的刪除
刪除密鑰實體
ERR edel_key(SID sid,ETRONID destId,ETRONID srcId,
TIME t,UH len,UH kid,UH*bankId,
UL*remainingMoney,UH*rsize,
UB**booklist,UH*rlen);
sid 會話ID
destId 作為一命令對象的當前芯片的芯片ID(當前目的芯
片ID)
srcId 調(diào)用命令的當前芯片服務(wù)客戶機的當前芯片ID(當
前源芯片ID)
t 時間
kid 將被刪除的密鑰實體ID
bankID 銀行ID
remainingMoney 錢款的剩余量
rsize 分配列表長
bookList分配列表
len 一輸出包長(一字節(jié)數(shù))
rlen一返回包長(一字節(jié)數(shù))
<=0 錯誤代碼
表96
表97
表98
表99
更新密鑰實體
更新密鑰實體
更新指定密鑰實體的錢款量。
ERR eupd_key(SID sid,ETRONID destId,ETRONID srcId,
TIME t,UH len,UH kid,UL addMoney,
UH*rlen,UL*currentMoney);
sid 會話ID
destId 作為一命令對象的當前芯片的芯片ID(當前目的
芯片ID)
srcId調(diào)用命令的當前芯片服務(wù)客戶機的當前芯片ID
(當前源芯片ID)
t時間
kid 將被更新的密鑰實體ID
addMoney 將被增加的錢款量
currentMoney 增加后的錢款量
len 一輸出包長(一字節(jié)數(shù))
rlen 一返回包長(一字節(jié)數(shù))
<=0錯誤代碼
表100
表101
表102
表103
讀密鑰實體的信息
讀密鑰實體
從特定密鑰實體中讀出錢款量信息。
ERR erea_key(SID sid,ETRONID destId,ETRONID srcId,
TIME t,UH len,UH kid,UH*rlen,
UL*currentMoney);
sid 會話ID
destId 作為一命令對象的當前芯片的芯片ID(當前目的
芯片ID)
srcId調(diào)用命令的當前芯片服務(wù)客戶機的當前芯片ID
(當前源芯片ID)
t時間
kid 作為用于讀錢款量信息的對象的密鑰實體ID
currentMoney 當前錢款量
len 一輸出包長(一字節(jié)數(shù))
rlen 一返回包長(一字節(jié)數(shù))
<=0錯誤代碼
表104
表105
表106
表107
更新密鑰實體的訪問控制列表
更新密鑰模式
密鑰實體的訪問控制列表被更新。
*第一版中未下載
ERR eupd_key(SID sid,ETRONID destId,ETRONID srcId,
TIME t,UH len,UH kid,KEYACL keyacl,
UH*rlen);
sid 會話ID
destId作為一命令對象的當前芯片的芯片ID(當前目的
芯片ID)
srcId 調(diào)用命令的當前芯片服務(wù)客戶機的當前芯片ID
(當前源芯片ID)
t 時間
kid 訪問控制列表中所改變的對象的密鑰實體ID
keyacl將被更新的密鑰實體訪問控制列表
len 一輸出包長(一字節(jié)數(shù))
rlen 一返回包長(一字節(jié)數(shù))
<=0 錯誤代碼
表108
表109
表110
表111
所定義的密鑰實體列表的獲取
列出密鑰實體ID
獲取所定義的密鑰實體列表
ERR elst_kid(SID sid,ETRONID destId,ETRONID srcId,
TIME t,UH len,KID kid,UH*rlen,
UB**keyCtrlBlk);
sid 會話ID
destId 作為一命令對象的當前芯片的芯片ID(當前目的芯
片ID)
srcId 調(diào)用命令的當前芯片服務(wù)客戶機的當前芯片ID(當
前源芯片ID)
t 時間
kid 對象密鑰實體ID
keyCtrlBlk 對象密鑰實體的控制塊
len 一輸出包長(一字節(jié)數(shù))
rlen一返回包長(一字節(jié)數(shù))
<=0 錯誤代碼
表112
表113
表114
表115
●在關(guān)于對象密鑰實體的發(fā)行者模式總是可用的(一父系文件夾的發(fā)行者的當前芯片ID等于構(gòu)建會話的SC的當前芯片ID)
●假如對象密鑰實體的訪問控制列表允許,則在主屬模式以及其它模式總是可用的
10.6認證輔助管理命令組
檢測eTP證書
確認證書
ERR ecfm_cer(SID sid,ETRONID destId,ETRONID srcId,
TIME t,UH len,UB checkMode,
UH serial,UH caId,UB*rlen,UB*crl);
sid 會話ID
destId作為一命令對象的當前芯片的芯片ID(當前目的
芯片ID)
srcId 調(diào)用命令的當前芯片服務(wù)客戶機的當前芯片ID
(當前源芯片ID)
t 時間
checkMode 將被無效的列表的檢測模式
serial將被確認的證書的證書號
caId 將被確認的證書的發(fā)行者ID
crl 一無效列表(當前芯片格式)
len 一輸出包長(一字節(jié)數(shù))
rlen 一返回包長(一字節(jié)數(shù))
0x00 只返回檢測
0x01 獲取相應(yīng)無效列表
>0 會話ID(普通關(guān)閉)
<0 錯誤代碼
表116
表113
表118
表119
■5.3準當前芯片API命令定義
如下所述的API命令具有類似于當前芯片API命令的格式。但是,以下命令不僅由當前芯片服務(wù)客戶機發(fā)布還可由其它實體發(fā)布。這些命令主要以取決于硬件的管理和操作為中心,且為用于支持低層通信的接口。這些命令可由芯片讀取/寫入單元發(fā)布或若生產(chǎn)則由一計算機發(fā)布。
輪詢一芯片
輪詢芯片
讀出當前芯片狀態(tài)(相關(guān)實現(xiàn)、相關(guān)操作)
ERR epol_cer(ETRONID*destId,ETRONID srcId,TIME t);
destId 輪詢返回的芯片ID
srcId調(diào)用命令的當前芯片服務(wù)客戶機的當前芯片ID
t時間
<=0錯誤代碼
表120
表121
表122
表123
*eared和clientId均附于一芯片頭并因此不包含在主體中。
此API總是可用的。
在會話過程中不總存在。
芯片的當前芯片ID被存儲并返回到“epol_car”的返回包的路由頭的srcID位置。因此,任何人可利用此用于在起始處獲得當前芯片ID的API。
任何人,即使不在該會話中,都能發(fā)出該命令。
芯片的初始化
初始化芯片
創(chuàng)建芯片管理部分以初始化當前芯片。
ERR eini_car(ETRONID destId,ETRONID srcId,TIME t,
UB initKey1[8],UB initKey2[8],
UB initPasswd[8],UB fileNum,
UB keyObjLen,UB swapLen,CACL cacl,
UB rsasecretKey[128],UH len,
UH*rlen);
destId 作為一命令對象的當前芯片的芯片ID
(當前目的芯片ID)
srcId 全“1”
t 時間
initKey1用于認證的一公鑰(1)
initKey2用于認證的一公鑰(2)
initPasswd 一初始密碼
fileNum 芯片上可創(chuàng)建的文件數(shù)上限
keyObjNum 密鑰實體數(shù)上限
swapLen 非易失性存儲器中交換區(qū)域大小
cacl芯片訪問控制列表
rsaSecretKey用于固有卡認證(RSA)的私鑰
len 一輸出包長(一字節(jié)數(shù))
rlen一返回包長(一字節(jié)數(shù))
<=0錯誤代碼
表124
表125
表126
表127
依據(jù)一給定變元初始化一系統(tǒng)控制塊。
所有其它存儲區(qū)域被清除并被設(shè)置成“0”。
僅在當前芯片的當前芯片ID=0xff…ff(全“1”)時,此命令被接收
轉(zhuǎn)換固有認證公鑰證書
更新我的證書
更新當前芯片的固有證書。
ERR eupd_cer(ETRONID destId,ETRONID srcId,TIME t,
UB*certificate,UH len,UH*rlen);
sid 會話ID
destId 作為一命令對象的當前芯片的芯片ID(當前目
的芯片ID)
srcId調(diào)用命令的包含當前芯片服務(wù)客戶機的當前芯
片ID(當前源芯片ID)
t時間
certificate 證書
len 一輸出包長(一字節(jié)數(shù))
rlen 一返回包長(一字節(jié)數(shù))
<=0錯誤代碼
表128
表129
表130
表131
轉(zhuǎn)換一CA站公鑰
更新CA公鑰
交換CA站的公鑰。
ERR eupd_cpk(ETRONID destId,ETRONID srcId,TIME t,
UB*caPublicKey,UH len,UH*rlen);
sid 會話ID
destId 作為一命令對象的當前芯片的芯片ID(當前目的
芯片ID)
srcId調(diào)用命令的包含當前芯片服務(wù)客戶機的當前芯片
ID(當前源芯片ID)
t時間
caPublicKey CA站的公鑰
len 一輸出包長(一字節(jié)數(shù))
rlen 一返回包長(一字節(jié)數(shù))
<=0錯誤代碼
表132
表133
表134
表135
加密實現(xiàn)說明
■DES
從64位密鑰創(chuàng)建56位DES密鑰的方法
指定每字節(jié)的最低位為奇偶校驗位,如下所示(一芯片僅忽略奇偶校驗位而不檢測它)。通過增加8字節(jié)的以上7位而獲得的56位被用作DES。
●密鑰(1)
b7b6b5b4b3b2b1b0b7b6b5b4b3b2b1b0b7b6b5b4b3b2b1b0
□□□□□□□■□□□□□□□■□□□□□□□■
b7b6b5b4b3b2b1b0
□□□□□□□■
●密鑰(2)
b7b6b5b4b3b2b1b0b7b6b5b4b3b2b1b0b7b6b5b4b3b2b1b0
□□□□□□□■□□□□□□□■□□□□□□□■
b7b6b5b4b3b2b1b0
□□□□□□□■
■RSA
一RSA密鑰的數(shù)據(jù)格式
密鑰如下所示。
d=1024位(128字節(jié))
n=1024位(128字節(jié))
e=固定為0x003(1字節(jié))
密鑰sk=d(128字節(jié))
公鑰pk=e(1字節(jié))|e(1字節(jié))|n(128字節(jié))的長度
如上所述,依據(jù)本發(fā)明,本發(fā)明的自主型IC卡自主識別將經(jīng)由一IC卡終端連接的通信設(shè)備并直接與此通信設(shè)備通信。因此,有可能保證準確信息的安全通信。而且,當本發(fā)明的自主型IC卡包括一用于相互執(zhí)行認證處理和加密解密包含與通信設(shè)備通信的信息的加密處理單元時,有可能判斷適當?shù)耐ㄐ旁O(shè)備并有效減少經(jīng)由中間設(shè)備盜竊數(shù)據(jù)內(nèi)容或偽造數(shù)據(jù)的危險。當數(shù)據(jù)與諸如一電子票的值信息相關(guān)時以上減少危險尤其有意義。而且,在依據(jù)所標識的通信設(shè)備種類的大量認證處理和大量加密處理當中,加密處理單元選擇并執(zhí)行適當認證處理和加密處理,此時有可能執(zhí)行適合于所標識的通信設(shè)備的處理。
可理解地,本發(fā)明的修改和適應(yīng)性改變對于本領(lǐng)域普通技術(shù)人員來說是顯而易見的且所附權(quán)利要求的范圍包含了此明顯的修改和改變。
權(quán)利要求
1.一種自主型集成電路卡包括
一邏輯主機接口,該邏輯主體接口通過物理層與集成電路卡終端相連;
一邏輯外部通信接口,以及該邏輯外部通信接口與通過集成電路卡終端而物理的連接在其上的通信設(shè)備進行通信;以及
一集成電路芯片,該芯片用于識別通信設(shè)備的連接并且通過外部通信接口與通信設(shè)備直接進行通信。
2.根據(jù)權(quán)利要求1的自主型集成電路卡,
其中自主型集成電路芯片包括一個即就是一軟件模塊的通信控制單元,該通信控制單元通過邏輯外部通信接口可與通信設(shè)備直接進行通信。
3.根據(jù)權(quán)利要求2的自主型集成電路卡,
其中通信控制單元包括
一個可為通信設(shè)備建立會話通信路經(jīng)的會話管理命令組;以及
一個可為通信設(shè)備建立事務(wù)會話的事務(wù)管理命令組。
4.根據(jù)權(quán)利要求1的自主型集成電路卡,
其中集成電路芯片包括一加密處理單元,該單元執(zhí)行與通信設(shè)備的相互認證處理,并且對與和通信設(shè)備進行通信有關(guān)的信息進行加密和解密。
5.根據(jù)權(quán)利要求4的自主型集成電路卡,
集成電路芯片包括一個分配的唯一標識符,且識別通信設(shè)備并根據(jù)該標識符來執(zhí)行相互認證處理。
6.根據(jù)權(quán)利要求4的自主型集成電路卡,
其中加密處理單元根據(jù)所識別的通信設(shè)備的類型而在多個認證處理和多個加密處理當中分別選擇適當?shù)恼J證處理和適當?shù)募用芴幚硪詧?zhí)行這些處理。
7.根據(jù)權(quán)利要求1的自主型集成電路卡,
其中集成電路芯片包括一個用于存儲值信息的存儲器,并且該芯片與通信設(shè)備進行與值信息有關(guān)的通信。
全文摘要
本發(fā)明涉及一種自主型集成電路卡,除通過物理層連接到集成卡讀/寫器的主機設(shè)備接口外還包括直接同通過網(wǎng)絡(luò)連接到一集成電路卡終端本體的通信設(shè)備聯(lián)系的一邏輯外部通信接口。一通信控制單元包含通過該外部通信接口直接同該通信設(shè)備通信的一軟件模塊。一個中央處理單元通過該通信控制單元進行認證并讀取存儲在非易失存儲器中的值信息。另外,中央處理單元通過利用加密處理單元給該讀值信息加密,并通過通信控制單元和該外部通信接口直接發(fā)送該加密的值信息給通信設(shè)備。
文檔編號G07F7/10GK1487468SQ0313797
公開日2004年4月7日 申請日期2003年6月10日 優(yōu)先權(quán)日2002年6月10日
發(fā)明者坂村健, 越塚登, 石井一彥, 森謙作, 青野博, 本郷節(jié)之, 之, 彥 申請人:坂村健, 越塚登, 株式會社Ntt都科摩
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1