專利名稱:用于便攜通信裝置如智能卡的個性化數(shù)據(jù)處理方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于如智能卡之類的便攜通信裝置個性化或初始化的方法或裝置。
隨著可編程序的開放式或封閉式智能卡的出現(xiàn),就能夠利用這些智能卡實施某些服務(wù)應(yīng)用,也就是說,可執(zhí)行來自各種源的可運算軟件程序。為此,可編程序卡包含一些能重新登記的存儲空間以便按照其應(yīng)用而存儲一種或多種應(yīng)用,以及能執(zhí)行這類應(yīng)用的處理程序。
這些服務(wù)應(yīng)用,也是公知的,英文詞是“applets”,都表現(xiàn)為復(fù)形程序,一般是利用漸進(jìn)語言諸如Java Card,C++,Visual Basic等設(shè)計的。每個服務(wù)應(yīng)用都包含一個“實施”部分它確保了程序按正規(guī)方式執(zhí)行,還包含一個“管理”部分它只是在初始階段起作用以便使持卡人個性化應(yīng)用。構(gòu)成該管理部分軟件裝置的儲存數(shù)據(jù)都標(biāo)記“管理代碼”或“個性化代碼”。這種代碼可占到形成應(yīng)用的全部代碼的百分之幾十。在本發(fā)明說明書中,“個性化”一詞還包含其它任何在應(yīng)用中要執(zhí)行的類似程序,例如參數(shù)初始化。
個性化代碼尤其用于在卡中加載適合于使用者的數(shù)據(jù),使得這些數(shù)據(jù)能夠在正常執(zhí)行應(yīng)用時按需要讀出及利用。通常,登入智能卡或其它便攜通信裝置中的個性化代碼應(yīng)保證以下作用-根據(jù)在卡外與個性化程序建立的協(xié)議進(jìn)行對話,那時可在卡上辨別含在重新寫入存儲空間內(nèi)的個性化代碼,以及識別例如含在遠(yuǎn)程終端或服務(wù)器中的卡外個性化代碼;-數(shù)據(jù)字段識別及加載指令的辨別,這些數(shù)據(jù)指定用于含有個性化的特定值;以及-在卡的存儲空間相應(yīng)寄存器中加載這些個性化值。
圖1簡要地描述了個性化數(shù)據(jù)通常加載過程中的幾個階段,這是當(dāng)該卡應(yīng)用個性化時從外部向各自儲存字段區(qū)進(jìn)行加載的。在實施例中,卡通過端子連接到服務(wù)器或遠(yuǎn)程終端,它可利用卡外個性化代碼通知各存儲字段區(qū)。
對于卡中要通知的每個字段來說,卡外個性化代碼包含指定用于卡上個性化程序的,第一個指令它指示出特定標(biāo)記字段。卡上的個性化代碼應(yīng)識別每個這種指令以便選擇標(biāo)記字段并因此而起作用。這種識別必需一個特定于每個字段的解碼指令,它應(yīng)該與卡上的個性化代碼一起儲存。
然后,卡外的個性化代碼使要寫入的個人數(shù)據(jù)傳輸?shù)较惹爸付ǖ淖侄?。在接收這些數(shù)據(jù)時,卡上的個性化代碼執(zhí)行必要的指令以便將數(shù)據(jù)加載到按照先前指令所指定的寄存器中。
一旦第一個字段這樣加載了,其它各個字段的加載過程以相同的方式重復(fù)。因此,在圖1的實施例中,n個個人信息元被加載到卡的各自字段中,每個信息元都出自一個特定指令,它應(yīng)該由卡上的個性化代碼識別。
作為實施例,指定于醫(yī)療連續(xù)支付卡方面的應(yīng)用個性化過程可提供以下字段字段1=姓名,字段2=名字,字段3=社會保險號,字段4=身高,字段5=體重,等等。同樣,另一種應(yīng)用例如指定用于銀行卡的個性化過程,將可提供以下字段字段1=個人識別號(PIN),字段2=試圖采集代碼的最大數(shù),字段3=授權(quán)一周供給量的限制,字段4=銀行代碼,字段5=代理碼,等等。
與每個字段相關(guān)的指令不僅應(yīng)該識別該字段而且還應(yīng)指示所含數(shù)據(jù)的形式(字?jǐn)?shù)及字型,格式化,等等)。
這些信息元適合于每個應(yīng)用,于是儲存在卡中的每個應(yīng)用都應(yīng)具有其特定的個性化代碼。由該個性化代碼在卡上所占的位置隨著所加載應(yīng)用數(shù)而增加,并且可以總共占有提供應(yīng)用的卡存儲空間的百分之幾十左右。
總之,這種通常的方法有以下缺點-它較難適應(yīng)遠(yuǎn)距離個性化,因為該方法通常都要求交換大量的控制指令,這可能很難確保在慢速網(wǎng)上實現(xiàn);以及-個性化的控制指令應(yīng)該按卡的各種應(yīng)用編碼,這占用了卡中大量的存儲空間。
鑒于這種情況,本發(fā)明提出一種新的更加接近的應(yīng)用個性化問題,尤其是當(dāng)該應(yīng)用包含在諸如智能卡類便攜通信裝置中時。
更具體地說,本發(fā)明根據(jù)最初的觀點方面設(shè)計出一種個性化或初始化數(shù)據(jù)處理方法以便傳輸?shù)奖銛y通信裝置,例如智能卡,數(shù)據(jù)含有多個信息元,每個信息元都?xì)w屬于一個由通信裝置所管理的字段。
其特征在于數(shù)據(jù)處理主要是在沒有明確指定字段的情況下,根據(jù)通信裝置可認(rèn)出的協(xié)議利用各自按序接連的數(shù)據(jù)塊形成信息元鏈接。
最好是,數(shù)據(jù)塊都是按照預(yù)先確定的幾種類型格式化的,為了在其所歸屬的數(shù)據(jù)塊中寫入信息元而使用的八位字節(jié)數(shù)是與該數(shù)據(jù)塊類型有關(guān)的??梢钥紤]幾個上述類型,其中至少一個固定型是由確定的八位字節(jié)數(shù)組成的以及一個可變格式是由一個可變八位字節(jié)數(shù)組成的,這個數(shù)是在數(shù)據(jù)塊中規(guī)定的。
數(shù)據(jù)能夠以加密形式傳輸。
根據(jù)第二個方面,本發(fā)明涉及在一種便攜通信裝置例如智能卡中應(yīng)用個性化或初始化的方法,個性化/初始化包括接收來自于外部源的數(shù)據(jù)以便從這些數(shù)據(jù)中提取要寫入到各自字段中的信息元。
其特征在于主要是在輸入端接收鏈接形式的所述數(shù)據(jù),其中所述信息元是,在沒有明確指定字段情況下,根據(jù)利用所述外部源及所述通信裝置認(rèn)出的協(xié)議由各自按序接連的數(shù)據(jù)塊確定的,所述鏈接的每個接收信息元都是根據(jù)其數(shù)據(jù)塊在所述鏈接中的位置及類型進(jìn)行識別的。
有利的是,每個信息元都參考信息元包含在其中的數(shù)據(jù)塊類型而提取的,每個字段的各個數(shù)據(jù)塊類型都是由協(xié)議確定的。最好是,從鏈接所提取的每個信息元都轉(zhuǎn)儲到便攜通信裝置相應(yīng)字段的儲存區(qū)中。
在所考慮的實施方式中,該方法可了解帶有在便攜通信裝置相應(yīng)地址中對應(yīng)值的每個字段的數(shù)據(jù)消息,其步驟如下-在初始階段,存儲所述協(xié)議以便知道字段在所述鏈接中出現(xiàn)的順序及相應(yīng)值含在其中的數(shù)據(jù)塊類型,-鏈接的儲存,以及對于每個字段數(shù)據(jù)消息來說-利用其中含有該值的數(shù)據(jù)塊類型的指定發(fā)送數(shù)值提取控制指令,提取是從所述鏈接的第一個八位字節(jié)開始的,或者從先前提取的最后八位字節(jié)的下一個八位字節(jié)開始,以及-把所述提取值轉(zhuǎn)存到歸屬于相應(yīng)字段的便攜器存儲區(qū)。
根據(jù)第三個方面,本發(fā)明涉及了在智能卡中應(yīng)用根據(jù)第二個方面所述的方法。
根據(jù)第四個方面,本發(fā)明涉及一種可傳輸?shù)奖銛y通信裝置例如智能卡的個性化或初始化數(shù)據(jù)處理裝置,數(shù)據(jù)包含多個信息元,每個信息元都?xì)w屬于所述裝置管理的字段。
其特征在于它包括一些器件可在未明確指定字段的情況下,按照由所述連接器認(rèn)出的協(xié)議利用鄰接排序的各自數(shù)據(jù)塊形成上述信息元的鏈接。
根據(jù)第五個方面,本發(fā)明涉及在便攜通信裝置例如智能卡中一種應(yīng)用的個性化或初始化裝置,個性化或初始化包括接收來自外部源的數(shù)據(jù)以便從這些數(shù)據(jù)中提取要寫入各自字段中的信息元。
其特征在于它包括一種器件可在輸入端接收鏈接形式數(shù)據(jù),其中所述信息元都是在沒有明確指定字段的情況下,按照由所述外部源和所述通信裝置所認(rèn)出的協(xié)議利用各自按序接連的數(shù)據(jù)塊確定的,以及一種器件用于根據(jù)其相應(yīng)數(shù)據(jù)塊的類型及在所述鏈接中的位置識別和提取所述鏈接的接收信息元。
根據(jù)第六個方面,本發(fā)明涉及一種通信裝置其特征在于;它集成了根據(jù)第五方面所述的裝置。
該通信裝置更具體地說可以是一種智能卡。
在根據(jù)前三個方面所述的方法范圍內(nèi)所表現(xiàn)出來的本發(fā)明優(yōu)選特征都能自行變換地適用于根據(jù)后四個方面所述的裝置和系統(tǒng)。
本發(fā)明及所引述的優(yōu)點可在閱讀了下面對幾個優(yōu)選實施方式的說明后更清楚地顯現(xiàn)出來,這幾個實施方式完全是作為非限定性實施例而給出的,還參照了幾個附圖,其中-圖1已描述過,它表示出當(dāng)應(yīng)用個性化時,尤其是用于提供個人數(shù)據(jù)字段時向智能卡所傳輸?shù)牟糠种噶睿?圖2是“開放式的”可編程序智能卡的主要信息元的簡要方框示意圖。
-圖3是一個說明示意圖它指出了按照本發(fā)明,當(dāng)以字符鏈接形式表示時,如何在數(shù)據(jù)庫文件上顯示個人數(shù)據(jù),以及-圖4是一些功能元件的方框示意圖,它可對個人數(shù)據(jù)及其同時在卡外與卡上處理的數(shù)據(jù)鏈接起作用。
在達(dá)到本發(fā)明個性化專一性之前,開放式的可編程序智能卡的總體外形結(jié)構(gòu)將參照圖2加以描述。在卡1的中心處有一個微處理器(CPU)2它確保了卡的各種內(nèi)處理功能以及已編程應(yīng)用的執(zhí)行。微處理器利用內(nèi)部總線系統(tǒng)4連接到三種類型的存儲器-一個ROM型電清零可編程存儲器(EEPROM)6。該存儲器指定用于加載一個或幾個能由微處理器2執(zhí)行的服務(wù)應(yīng)用;-一個掩碼ROM型存儲器8,含有卡的內(nèi)處理軟件的全部代碼及數(shù)值。在制備卡時就已寫入了這些數(shù)據(jù)。掩碼ROM存儲器8的內(nèi)容與智能卡的硬件緊密結(jié)合,代碼在正常情況下是由卡的制造者確定的;-一個RAM型存儲器10指定用于儲存臨時數(shù)據(jù),比如寄存器的內(nèi)容,要加載到微處理器中的代碼字組,等等。
內(nèi)部總線4另外還連接到通信接口12,這構(gòu)成了外界的輸入及輸出通道端對,并且保證了卡1的供電。該接口可呈現(xiàn)接點的形式指定用于與讀出器各觸點相接,和/或在所謂無觸點卡情況下與天線各觸點相接。通信接口14其間可用于與專為在EEPROM6中加載應(yīng)用而設(shè)計的端子進(jìn)行雙向數(shù)據(jù)交換。
本發(fā)明的總體設(shè)計方案將參考圖3和4加以描述。其中便攜通信裝置是一種參照圖2所描述的那類智能卡。然而可這樣理解這種描述說明可轉(zhuǎn)移到其它各類便攜通信裝置。
圖3描繪了利用智能卡外部控制中心例如服務(wù)器或遠(yuǎn)程終端所進(jìn)行的個性化數(shù)據(jù)處理。屬于持卡人的個人數(shù)據(jù)是以各種方式在那兒確定的。在實施例中,這些數(shù)據(jù)有兩種可能的來源-直接在熒屏上采集數(shù)據(jù)的當(dāng)?shù)亟邮諜C,它可集成到智能卡的讀出終端。在這種情況下,數(shù)據(jù)可以由持卡人直接記入,與此同時要在熒屏上完成質(zhì)詢;以及-來自于數(shù)據(jù)庫21的,持卡人特有的個人信息文件。
來自這些源的數(shù)據(jù)都利用個性化軟件模塊22處理以便在那兒按照預(yù)定的格式進(jìn)行編排及格式化,該格式是利用在卡上與程序相固定的個性化協(xié)議預(yù)先確定的,該卡是個性化的目標(biāo)。
個性化模塊22以電子形式產(chǎn)生一系列個人信息元V1至Vn,它們構(gòu)成了在相應(yīng)字段E1至En中的匯集數(shù)據(jù)。在圖中,這些全部信息元表現(xiàn)為數(shù)組表24的形式,帶有幾個不同字段,標(biāo)號為1至n,其前五個是姓,名字,社會保險號,持卡人的身高,體重。
一個數(shù)值Vi也就是對應(yīng)的個人數(shù)據(jù)(例如字段“姓”為“Durand”)與每個字段Ei相結(jié)合(i是1與n之間的數(shù))。如表24所示,數(shù)值Vi可以按照要提供的信息是數(shù)字的或字母的。“類型”的命名分類可應(yīng)用到每個數(shù)值Vi,這要按照下列表隨著其八位字節(jié)項的長度而變化表1類型與八位字節(jié)長之間的對應(yīng)。
類型 八位字節(jié)長八位字節(jié)表 >4(非決定論的)整體的 4(決定論的)短的 2(決定論的)八位字節(jié) 1(決定論的)(各類型所用的詞語也都是公知的,英文名稱按出現(xiàn)順序為“Byte-array”,“Integer”,“short ”及“Byte”。)八位字節(jié)表類型也是非決定論的,從這個意義上來說其長度不是固定的;反過來所有其它提到的類型是決定論的,其長度是固定的。
當(dāng)各數(shù)值構(gòu)成一個八位字節(jié)表時,尤其是前三個字段E1,E2及E3的情況,它們都是通過其八位字節(jié)長的顯示而預(yù)先確定的,這種顯示是按兩個八位字節(jié)編碼的。因此,對于字段E1來說,八位字節(jié)表從“06”開始以便指出跟隨的“Durand”值包含六個八位字節(jié)(每個數(shù)字符或字母字符都占用一個八位字節(jié))。
對于完整類型或短類型來說,所含數(shù)值,可按需要在開頭部分填補一個或兩個“0”以便得到分別為4和2的固定八位字節(jié)數(shù)。作為實施例,字段“號碼”是完整型,數(shù)值“178”將在前面加一個“0”形成了四個八位字節(jié)的數(shù)據(jù)塊“0178”。
表24的結(jié)尾數(shù)值Vn-1及Vn分別是“八位字節(jié)”型和“短”型。
按照本發(fā)明,這n個字段由類型所表達(dá)的數(shù)值都進(jìn)行鏈接處理,以便形成一種因而也是八位字節(jié)的字符鏈,26。首先把每個Vi值插入到數(shù)據(jù)塊Bi中,其格式是由表達(dá)該Vi值所用的類型確定的。因此,“八位字節(jié)表”型的數(shù)據(jù)塊Bi包含上述連續(xù)八位字節(jié)的預(yù)定兩個八位字節(jié),組成了值Vi。決定論型(完整的、短的、八位字節(jié))數(shù)據(jù)塊Bi是由一個或幾個Vi值本身的八位字節(jié)組成的,可能帶有一個或幾個補充“0”。
然后,在不插入其它數(shù)據(jù)的情況下,形成了這些數(shù)據(jù)塊Bi的鏈接。
尤其注意的是在鏈接26中沒有明確指定字段Ei,比如“姓”,“名字”等等。
因此,正如鏈接26中所表示的那樣,“06DURAND”八位字節(jié)表,形成了字段Ei的數(shù)據(jù)塊B1,緊跟著是“08PHILIPPE”八位字節(jié)表,形成了數(shù)據(jù)塊B2,等等。
要指出的是數(shù)據(jù)匯集更壓縮了,因為在每個數(shù)值前未插入字段名稱,與通常的符號靠攏相反。
鏈接26中的八位字節(jié)鏈以八位字節(jié)信息流的形式傳輸?shù)绞占说闹悄芸?,其中將進(jìn)行逆運算,即所謂的“解鏈”,它可以提取數(shù)據(jù)以便將其寫入到智能卡上應(yīng)用的預(yù)置字段E1,E2,E3,......,En中。
圖4中描繪了一些功能器件它們可以一方面進(jìn)行卡外個人數(shù)值的鏈接而另一方面可在智能卡1處進(jìn)行串行式數(shù)據(jù)處理用于應(yīng)用個性化。這些功能器件都是利用分布在卡外及卡上存儲器中的軟件模塊形成的。
在該圖4中,運算操作部分都用矩形表示,并且由這些部分產(chǎn)生的作用及結(jié)果都用橢圓圖形表示。
在卡外個性化器件方面,人們可辨認(rèn)出個性化單元40它尤其可用于根據(jù)圖3中的表24建立個人信息組,以便重復(fù)該實施例,還可以認(rèn)出鏈接模塊42,它與該單元40相配合以便實現(xiàn)數(shù)值鏈接26。傳輸裝置44設(shè)計在下游方用于保證使數(shù)值鏈接26轉(zhuǎn)存到智能卡。
在工作狀態(tài)下,卡外個性化單元與每個字段Ei建立一個由三個信息元組成的數(shù)據(jù)集字段名稱,其類型及應(yīng)該寫入的數(shù)值。
對于每個選定字段,在從第一個E1開始的同時,個性化單元向鏈接模塊42發(fā)送類型及數(shù)值46。由這些信息元,鏈接模塊將產(chǎn)生一個八位字節(jié)數(shù)據(jù)塊,其數(shù)目將根據(jù)上述表1由類型確定。該數(shù)據(jù)塊是由數(shù)值本身組成的作為預(yù)定的可能數(shù)據(jù)它指出了在八位字節(jié)類型情況下的八位字節(jié)數(shù)及前述的填充“0”。人們注意到數(shù)據(jù)塊可包含任意數(shù)的八位字節(jié),其中僅僅包括一個(一個八位字節(jié)類型的情況)。
與第一個字段相對應(yīng)的第一個數(shù)據(jù)塊在寄存器50的一端被插入48,比如一個FIFO型緩沖存儲器,它可以按照在數(shù)據(jù)塊中出現(xiàn)的次序順序地讀出八位字節(jié)。
之后,對于下一個字段程序過程,以同樣的方式重復(fù)(再循環(huán)L1)。如此得到的后面數(shù)據(jù)塊與第一個八位字節(jié)一起記錄,此第一個八位字節(jié)處在緊接著前面數(shù)據(jù)塊最后八位字節(jié)的位置。
把最末的數(shù)據(jù)塊插入到寄存器50以后,該寄存器含有鏈接26(即串行數(shù)據(jù))如圖3所示。
在卡1方面進(jìn)行個性化時,寄存器50的串行數(shù)據(jù)轉(zhuǎn)儲到傳輸器44以便隨后通過連接52傳輸?shù)皆摽?。傳輸器及連接的實現(xiàn)是通常的,涉及到串聯(lián)或并聯(lián)纜線的局部連接,或者是利用紅外光束或赫茲無線連接,甚至還涉及卡外及卡上遠(yuǎn)程終端之間利用因特網(wǎng)型電話網(wǎng)線的連接。
在接收數(shù)值鏈接26時,數(shù)值都儲存到卡的寄存器中(或許是在卡附近)同時要遵循八位字節(jié)的相繼順序。
卡上這些數(shù)據(jù)的處理是由個性化單元54保證的,此單元與解鏈模塊56(也用“程序庫”一詞表示)相配合。要指出的是這些傳輸?shù)娇ǖ臄?shù)據(jù)是應(yīng)用數(shù)據(jù)而不是控制數(shù)據(jù)。
如同單元40一樣,卡上個性化單元54用于為各個字段建立一組信息元。在此情況下,信息元組包含兩個信息元它們與卡外個性化單元40的信息元是共同的,即對于每個字段E1,E2,E3,......,En的字段名稱及其類型。
人們注意到,處于卡外及卡上的這些信息元之間存在一種準(zhǔn)確的相符,更具體地說,人們在卡外個性化單元40及在卡上個性化單元54方面重新發(fā)現(xiàn)有關(guān)如下幾點的一致性-實現(xiàn)鏈接的字段E1,E2,......,En,-這些字段為了分別在卡外及卡上的鏈接及解鏈所計算的順序,以及-對于每個字段,所含數(shù)值的類型八位字節(jié)表,完整的,短的或八位字節(jié)。不過,當(dāng)與字段相結(jié)合的類型是八位字節(jié)表時,個性化單元54不需要知道其長度,這個信息在所收到的鏈接26的數(shù)據(jù)中是明確表達(dá)的。
這種協(xié)調(diào)一致可通過協(xié)議預(yù)先確定或者它可以按照在卡外部分與卡上部分之間相一致的方式寫入相關(guān)時而得到。
除了這兩個信息元之外(字段及類型),前述卡上個性化單元的信息元組,對于每個字段,都包含一個與該字段結(jié)合的數(shù)值收件地址。該地址因而構(gòu)成了第三個組元,它可能是用于把數(shù)值儲存到卡中的存儲器的第一個地址值。
在卡上個性化過程那時首先是為每個字段提取含在鏈接26數(shù)據(jù)中的相應(yīng)值。
為此,個性化單元54向解鏈模塊56發(fā)送一個對應(yīng)所考慮字段數(shù)據(jù)類型的提取控制指令58。作為響應(yīng),解鏈模塊56從鏈接26的數(shù)據(jù)中提取數(shù)據(jù)塊的八位字節(jié)構(gòu)成了字段值。這些八位字節(jié)都是由鏈接模塊識別的,簡要的情況實際是-一方面組成相繼被處理字段的八位字節(jié)數(shù)據(jù)塊在鏈接數(shù)據(jù)26中是前后連接的,這就可以確定提取的初始點,以及-另一方面利用控制指令58的類型信號傳輸可以確定要提取的八位字節(jié)數(shù)。
因此,對于圖3實施例的第一個字段E1來說,類型提取的控制指令58主要是要求解鏈模塊56提取八位字節(jié)表類型。涉及第一個指令58,模塊定位于讀鏈接數(shù)據(jù)26的開頭,并且按照提取八位字節(jié)表的過程讀前兩個八位字節(jié),即“06”。模塊就如此被告知,它應(yīng)輸出鏈接數(shù)據(jù)的后六個八位字節(jié),即那些對“DURAND”值編碼的字節(jié)。這個值在輸出端60發(fā)送,從解鏈模塊56向個性化單元54。作為響應(yīng),該個性化單元產(chǎn)生并發(fā)送62數(shù)據(jù)集它是由這個值及其提供字段的目的地址組成的。這個數(shù)據(jù)集利用內(nèi)部管理裝置進(jìn)行處理以便達(dá)到使該值存儲到卡上的約定位置。這樣就得到了字段E1的更新(或形成)64,它對應(yīng)于名稱,帶有為了該個人信息所設(shè)置的卡存儲位置處的“DURAND”值。
個性化單元54隨后確定是否有后面字段66。如果是這種情況,它就執(zhí)行再循環(huán)L2以便達(dá)到該字段的處理。
對于后面字段E2,解鏈模塊56也被告知它應(yīng)該提取八位字節(jié)表。相關(guān)的八位字節(jié)數(shù)據(jù)塊視同于緊緊跟隨為先前字段E1所提取最后八位字節(jié)的數(shù)據(jù)塊。該名字字段“PHILIPPE”值就這樣利用相同的過程提取并進(jìn)行相同處理,數(shù)值50輸出到個性化單元54,其輸出帶有第二個字段地址62,并且形成字段64用于把數(shù)值寫入為了名字所設(shè)計的卡存儲位置中。
從串行數(shù)據(jù)26提取數(shù)值的每次操作運算的起點可利用地址指示字根據(jù)通常技術(shù)而確定。
當(dāng)n個字段的各個數(shù)值就這樣按照協(xié)議地址提取及存儲到卡中時,解鏈的過程就結(jié)束了。
本發(fā)明值得注意的一個方面就在于,卡外的鏈接模塊42及卡上的解鏈模塊58,從它們與特定服務(wù)應(yīng)用的個性化的專一勝無關(guān)的意義上來說,都完全是同一類的。實際上這些模塊不需要考慮它們所管理的數(shù)值的意義或目的性。它們的作用簡單地講,作為其號碼大小是由所屬類型確定的八位字節(jié)塊來說,是把它們鏈接起來(鏈接模塊42)以及把它們提取出來(解鏈模塊56)。
這樣,卡外的鏈接模塊42可安裝在各個有任務(wù)把個性化數(shù)據(jù)傳輸?shù)奖銛y裝置的終端中。如此配備的終端那時將具有一些優(yōu)點是對于各種受管理的服務(wù)應(yīng)用可傳送串行形式個性化數(shù)據(jù)。
在卡方面,僅僅同一個解鏈模塊56就可服務(wù)于不同的個性化單元54,尤其是在開放式或封閉式的多項服務(wù)卡的情況下,它包含幾種應(yīng)用其每種應(yīng)用都帶有其適宜的個性化單元。
本發(fā)明的設(shè)計概念是在軟件設(shè)備形式體系的特定考慮之外,通過關(guān)心簡易化而進(jìn)行描述的,這些方面將于一個實施例范圍內(nèi)涉及到,該實施例是以通常對于智能卡上應(yīng)用程序所用的Java Card語言為基礎(chǔ)的。Java Card語言是一種Java語言派生的,它考慮了卡的硬件儲量資源的限制,尤其是涉及到其存儲器容量。然而很顯然,本專業(yè)技術(shù)人員將會較容易地使該說明的一些信息元轉(zhuǎn)換及適應(yīng)到任何其它在此領(lǐng)域中所用的語言。
在軟件裝置方面,利用鏈接可對以下幾個方面有影響-在卡外機上執(zhí)行個性化代碼,例如涉及一種個性化機或遠(yuǎn)距離服務(wù)器;-個性化數(shù)據(jù)的編碼,這些數(shù)據(jù)是在八位字節(jié)信息流中產(chǎn)生的(參考圖3的數(shù)據(jù)26),同時使用一種唯一的便攜格式;-使由此產(chǎn)生的八位字節(jié)信息流傳輸?shù)娇?;以?利用自動化過程由卡確保八位字節(jié)信息流的解碼,是采用解鏈模塊54實施的。
在卡外方面(服務(wù)器),軟件設(shè)備包括一個數(shù)據(jù)程序庫它可以使使用者建立和預(yù)制與卡應(yīng)用中所用相同的目標(biāo),例如文件,個人識別碼,密鑰。該設(shè)備另外還包括一個軟件器件(鏈接模塊42)它可以采集這些目標(biāo)(初始化以后)并把他們轉(zhuǎn)換成八位字節(jié)信息流26,它是以單一和可傳送的方式編碼的。
在卡1方面,軟件設(shè)備包括一個一般的讀出器件(解鏈模塊56)其功能是解碼八位字節(jié)信息流的同類部分。對于每個可確定的目標(biāo)類型,設(shè)計了一種特定功能用于解碼一部分八位字節(jié)信息流,它描述了該特殊目標(biāo)的類型。
軟件設(shè)備的使用與個性化機的類型及所用卡的類型有關(guān)。
作為實施例,鏈接(以及相反地,解鏈)可以建立在適合于“JavaCard”語言的鏈接格式基礎(chǔ)上。
當(dāng)個性化機在安全環(huán)境下使用時,八位字節(jié)信息流沒有必要利用譯成密碼加強安全性,并且原始數(shù)據(jù),其任何檢驗值(所說的英文術(shù)語“checksums”)都可在個性化機與卡之間的線路上傳輸。
當(dāng)使用遠(yuǎn)程服務(wù)器時(例如經(jīng)過因特網(wǎng))通信最好應(yīng)該更安全些,并且八位字節(jié)信息流在那種情況下將譯成密碼并加以簽署(例如使用一種“message authentication coding”的簡稱為MAC公知型協(xié)議)。在某些情況下,可能只把數(shù)據(jù)流的敏感部分譯成密碼。
利用一種使有些應(yīng)用可由第三者寫入和加載到卡中的又能直接進(jìn)入的開放式卡,卡的主程序庫,即解鏈模塊將包含在軟件管理設(shè)備中,正常情況下為ROM固定存儲器形式,但是可解碼每個目標(biāo)內(nèi)容的程序庫,即個性化單元54,將包含在可確定目標(biāo)的應(yīng)用中。
利用一種封閉式卡,全部程序庫卡將集成到軟件管理設(shè)備中并且潛在的目標(biāo)數(shù)據(jù)集將被固定。
現(xiàn)在將考慮一種“Java Card”語言的應(yīng)用,它可以通過網(wǎng)絡(luò)由遠(yuǎn)程服務(wù)器進(jìn)行個性化。由于關(guān)注簡易化,人們將專心思考對于個人識別代碼所建立目標(biāo)(目標(biāo)PIN)的特殊情況。在實施例中,傳輸?shù)臄?shù)據(jù)是-所允許的試圖記入代碼的最大數(shù);-PIN代碼的最大號碼;-PIN代碼的實際號碼及數(shù)值;-可能的試圖初始數(shù)。
那時的想法就是在PIN目標(biāo)中確定兩個附加方法一個是PIN數(shù)據(jù)寫入方法以及另一個讀出這些PIN數(shù)據(jù)的方法。
在服務(wù)器上信息流中PIN數(shù)據(jù)的寫入方法可表現(xiàn)為Public void寫入Flux(Objectoutput out)throws IOException{out.writeByte(maxTries);out.writeByte(maxSize);out.writeByte(actualSize);out.write(PINValue,(short)0,actualSize);out.writeByte(ratif);}該方法將被指定“寫入Flux()”。
相應(yīng)地,從信息流(在卡上)讀出PIN數(shù)據(jù)的方法可表現(xiàn)為Public void讀出Flux(ObjectInput in)throwsIOExcepetion{maxTries =in.readByte();maxSize =in.readByte();actualSize =in.readByte();in.read(PINValue,(short)0,actualSize);ratof=in.readByte();}這種方法將被指定“讀Flux()?!崩谩癑ava Card”軟設(shè)備,由此產(chǎn)生的八位字節(jié)信息流包含各種由使用者描述的信息以及指定在卡上由一般解碼器所使用的信息系統(tǒng),即-在其中確定了類別的數(shù)據(jù)集AID。(AID是一個識別碼它是由編輯應(yīng)用目錄的國際標(biāo)準(zhǔn)化組織授予的);以及-在數(shù)據(jù)集內(nèi)的類別籌碼,(英文術(shù)語為token)。(籌碼是一種利用十六進(jìn)制數(shù)來識別類別的方式而不是利用名稱識別,以便節(jié)省卡上存儲空間。
因此,如果個人代碼PIN用在如下條件中-在com.gemplus.util(AID=A0 00 00 00 18 34)集內(nèi)的定義;-類別具有在該集中的籌碼0x21;
-個人代碼PIN是利用最多三個試圖值確定的,最大號碼6,PIN值為“1234”以及最多的當(dāng)前試圖數(shù)為3;那時相應(yīng)的八位字節(jié)信息流將是A0 00 00 00 18 34 集Aid21 類別 籌碼(token)03 最大試圖數(shù)06 最大號碼04 01 02 03 04 號碼及PIN值03 號碼及PIN值換句話說,鏈接數(shù)據(jù)流表現(xiàn)為A0 00 00 00 18 34 21 03 06 0401 02 03 04 03。
該數(shù)據(jù)流可以在服務(wù)器上利用前面所確定的“WriteExternal()”方法產(chǎn)生,然后譯成密碼,接著被傳送到卡,在那兒它將利用前面所定義的“readExteral()”方法解碼。
剛剛所描述的基本概念主要在于確定一個表達(dá)卡中數(shù)據(jù)的系統(tǒng)以及將它們加載到卡中的協(xié)議。從該說明書中,人們可考慮以下幾種變型1、不是從模擬器產(chǎn)生數(shù)據(jù),可能使用一種“控制”卡它按照普通方法個性化,隨后利用該控制卡得到一些外部數(shù)據(jù)。由此而產(chǎn)生的數(shù)據(jù)那時可以傳輸?shù)狡渌āR虼?,根?jù)該變型,控制卡執(zhí)行卡外裝置的作用,并且個性化操作系統(tǒng)是由一些卡實現(xiàn)的。
2、串行數(shù)據(jù)26當(dāng)把它們傳輸或儲存到存儲器時可按照確定的密碼協(xié)議譯成密碼。
3、串行數(shù)據(jù)26可以在卡的個人信息內(nèi)容存檔結(jié)束后保護(hù)在一定的位置上或者可以進(jìn)行新的個性化。
4、在形成保護(hù)措施之后(參考變型例3),能夠使通過英文術(shù)語中由“applets”一詞所認(rèn)出的應(yīng)用保存在有效儲存位置中,例如按照變型例2實現(xiàn)譯成密碼。數(shù)據(jù)也可以用于在來自服務(wù)器的另一個裝置上執(zhí)行應(yīng)用。
5、在段落(2)所確定的保護(hù)系統(tǒng)也可以在卡的使用壽命結(jié)束時用來作為診斷器或欺詐探測器。
6、在前面段落(2)所確定的安全保護(hù)系統(tǒng)可用于以安全的方式在卡之間交換數(shù)據(jù)。
人們注意到在Java Card語言基礎(chǔ)上實施本發(fā)明過程中,能夠部分地依靠與該語言已建立的數(shù)據(jù)鏈接技術(shù)。這些技術(shù)在很多與便攜裝置上應(yīng)用個性化不同的領(lǐng)域中都是公知的,即一些數(shù)據(jù)保護(hù)技術(shù)及計算機之間的任務(wù)分配技術(shù)。
本發(fā)明既可用于在產(chǎn)生預(yù)發(fā)送位置上的個性化又可用于發(fā)送后的遠(yuǎn)程個性化。
在涉及一種開放式卡或封閉式卡的各種情況下,人們得到了以下的一些技術(shù)效果-卡上個性化代碼的號碼減少。在卡上,個性化所需的代碼數(shù)量由于多方面的原因而大大減少了。首先,大部分代碼是同一類的并且包含在系統(tǒng)中,僅僅一種編排。之后,每個目標(biāo)類型所特定的代碼更確切地說是較小的,并且只需在卡中單一地址出現(xiàn);-便于遠(yuǎn)距離個性化,因為只有單一的要轉(zhuǎn)儲的八位字節(jié)信息流,在個性化過程中相互作用性的電平減少了,并且變得能夠利用甚至是低效率網(wǎng)絡(luò)而工作。此外,要交換的數(shù)據(jù)總量也趨于減少。
再有,可估計到-大部分個性化代碼都在卡外部,該卡只含信息流譯碼所需的同類代碼;-八位字節(jié)的唯一信息流可能比個性化的普通書寫更緊密,并且其結(jié)構(gòu)也很簡單,這就大大地便利了信息流向卡的轉(zhuǎn)儲;-個性化機或服務(wù)器可保留個性化的詳細(xì)歸檔。個性化代碼能夠以顯而易見的方式結(jié)合到服務(wù)代碼中;-八位字節(jié)信息流與所用卡的類型無關(guān),這就可提高個性化書寫的再利用潛力;-在“Java”服務(wù)器及“Java Card”卡的情況下,服務(wù)器可利用卡的軟設(shè)備執(zhí)行初始化,這就明顯地減少了可能出現(xiàn)錯誤的危險。
權(quán)利要求
1.用于傳輸?shù)嚼缰悄芸?1)便攜通信裝置的數(shù)據(jù)個性化或初始化處理方法,該數(shù)據(jù)包含多個信息元(Vi),每個信息元都?xì)w于由所述通信裝置管理的字段(Ei)。其特征在于所述處理方法主要是,在沒有明確指定字段的情況下,按照由所述通信裝置認(rèn)出的協(xié)議利用按序接連的各自數(shù)據(jù)塊(Bi)形成所述信息元(Vi)的鏈接26。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于數(shù)據(jù)塊(Bi)按照預(yù)定的幾個類型格式化,為了把信息元(Vi)寫入屬于它的數(shù)據(jù)塊中所用的八位字節(jié)數(shù)與該數(shù)據(jù)塊(Bi)的類型有關(guān)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于所述類型包括至少一個由固定八位字節(jié)數(shù)組成的固定類型以及一個由可變八位字節(jié)數(shù)組成的可變格式,該八位字節(jié)數(shù)是規(guī)定在數(shù)據(jù)塊中的。
4.根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于數(shù)據(jù)是以加密形式傳輸?shù)摹?br>
5.在例如智能卡(1)的便攜式通信裝置中一種應(yīng)用個性化或初始化的方法,所述個性化或初始化包括接收來自外部源(40-50)的數(shù)據(jù)以便從這些數(shù)據(jù)中提取要寫入各自字段(Ei)中的信息元(Vi),其特征在于它主要是在輸入端接收所述鏈接(26)形式的數(shù)據(jù),其中所述的信息元(Vi)都是按照由所述外部源(40-50)以及所述通信裝置(1)認(rèn)出的協(xié)議,在沒有明確指定字段的情況下,利用按序接連的各自數(shù)據(jù)塊(Bi)確定的,從所述鏈接所接收的每個信息元(Vi)都是根據(jù)其數(shù)據(jù)塊在所述鏈接中的位置及類型而識別的。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于每個信息元(Vi)都是參考被含在其中的數(shù)據(jù)塊(Bi)的類型而提取的,每個字段(Ei)的各數(shù)據(jù)塊類型都是由所述協(xié)議確定的。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于所述類型包括至少一個由固定八位字節(jié)數(shù)組成的固定型以及一個由可變八位字節(jié)數(shù)組成的可變格式,該數(shù)是規(guī)定在數(shù)據(jù)塊中的。
8.根據(jù)權(quán)利要求5至7中任一項所述的方法,其特征在于每個以所述鏈接(26)提取的信息元(Vi)都轉(zhuǎn)儲到便攜式通信裝置(1)的相應(yīng)字段(Ei)的儲存區(qū)中。
9.根據(jù)權(quán)利要求5至8中任一項所述的方法,其特征在于它可了解每個字段(Ei)的數(shù)據(jù)消息還利用了在便攜通信裝置相應(yīng)地址中的對應(yīng)值(Vi);步驟如下-在初始階段,存儲所述協(xié)議以便知道字段在所述鏈接(26)中出現(xiàn)的順序以及相應(yīng)值(Vi)含在其中的數(shù)據(jù)塊(Vi)的類型。-儲存所述鏈接(26),并且對于字段的每個數(shù)據(jù)消息來說-通過指定其中含有該值的數(shù)據(jù)塊(Bi)類型發(fā)送值(Vi)的提取控制指令,該提取是從所述鏈接(26)和第一個八位字節(jié)或從先前提取的最后八位字節(jié)的下一個八位字節(jié)進(jìn)行的,以及-把所述提取值轉(zhuǎn)儲到屬于相應(yīng)字段的便攜器(1)的存儲區(qū)。
10.在智能卡(1)中采用根據(jù)權(quán)利要求5至9中任一項所述的方法。
11.用于傳輸?shù)嚼缰悄芸?1)之類便攜通信裝置的數(shù)據(jù)個性化或初始化處理器,數(shù)據(jù)包含多個信息元(Vi),每個信息元都?xì)w屬于由所述處理器管理的一個字段(Ei),其特征在于它包括形成所述信息元(Vi)鏈接(26)的裝置(48,50),鏈接是在未明確指定字段的情況下,按照由所述通信裝置認(rèn)出的協(xié)議利用按序接連的各自數(shù)據(jù)塊(Bi)形成的。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,數(shù)據(jù)塊(Bi)是按照多種預(yù)定類型格式化的,為了使信息元(Vi)寫入到其所屬的數(shù)據(jù)塊中所用的八位字節(jié)數(shù)與該數(shù)據(jù)塊(Bi)的類型有關(guān)。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于所述類型包括至少一個由固定數(shù)八位字節(jié)組成的固定型以及一個由可變八位字節(jié)數(shù)組成的可變格式,該數(shù)是在數(shù)據(jù)塊中規(guī)定的。
14.在例如智能卡(1)便攜式通信裝置中的應(yīng)用個性化或初始化裝置,所述個性化/初始化包括接收來自外部源(40-50)的數(shù)據(jù)以便從這些數(shù)據(jù)中提取要寫入各自字段(Ei)中的信息元(Vi),其特征在于它包括用于在輸入端接收所述鏈接(26)形式數(shù)據(jù)的裝置(54),其中所述信息元(Vi)是在未明確指定字段的情況下,按照由所述外部源(40-50)及所述通信裝置(1)認(rèn)出的協(xié)議,利用按序接連的各自數(shù)據(jù)塊(Bi)確定的,還有裝置(56,58)用于識別和提取所述鏈接的各個接收信息元(Vi),這要根據(jù)其相應(yīng)數(shù)據(jù)塊在所述鏈接中的位置及類型而變化。
15.根據(jù)權(quán)利要求14所述的裝置,其特征在于每個信息元(Vi)是參考它所含在其中的數(shù)據(jù)塊(Bi)的類型而提取的,每個字段(Ei)的各個數(shù)據(jù)塊類型都是由所述協(xié)議確定的。
16.根據(jù)權(quán)利要求15所述的裝置,其特征在于所述類型包括至少一個由固定八位字節(jié)數(shù)組成的固定型及一個由可變八位字節(jié)數(shù)組成的可變格式,該數(shù)是在數(shù)據(jù)塊(Bi)中規(guī)定的。
17.根據(jù)權(quán)利要求14至16中任一項所述的裝置,其特征在于它包括每個字段(Ei)利用便攜通信裝置對應(yīng)地址中相應(yīng)值(Vi)的數(shù)據(jù)消息裝置,該裝置包含-所述協(xié)議的初始階段存儲器以便知道字段在所述鏈接(26)中出現(xiàn)的順序以及相應(yīng)值(Vi)含在其中的數(shù)據(jù)塊(Vi)的類型,-所述鏈接(26)的儲存裝置,-數(shù)值(Vi)的提取指令發(fā)送裝置,利用了它含在其中的數(shù)據(jù)塊(Bi)的類型進(jìn)行指定,提取是從第一個八位字節(jié)進(jìn)行的或者是從所述鏈接(26)先前提取的最后八位字節(jié)的下一個八位字節(jié)進(jìn)行的,還有,-使所述提取值轉(zhuǎn)儲到屬于相應(yīng)字段便攜器(1)存儲器區(qū)的裝置。
18.根據(jù)權(quán)利要求14至17中任一項所述的裝置,其特征在于它按實際集成到所述便攜式通信裝置(1)中。
19.智能卡(1),其特征在于它集成了根據(jù)權(quán)利要求14至17中任一項所述的裝置。
全文摘要
本發(fā)明能實現(xiàn)例如在可編程序智能卡(1)中所含應(yīng)用的個性化或初始化,同時還使用了最少的加載代碼。為此,傳輸?shù)娇ǖ膫€性化或初始化數(shù)據(jù)處理裝置包括器件(44,46)用于在未明確指定字段的情況下,按照由所述通信裝置認(rèn)出的協(xié)議由按序接連的各自數(shù)據(jù)塊(Bi)形成信息元(Vi)的鏈接(26)。在接收該數(shù)據(jù)行時,智能卡代碼可根據(jù)其號碼及其信息流中的位置識別信息元。
文檔編號G07F7/10GK1552044SQ02817211
公開日2004年12月1日 申請日期2002年7月2日 優(yōu)先權(quán)日2001年7月2日
發(fā)明者J·-J·范德瓦勒, E·維蒂拉, J -J 范德瓦勒, 倮 申請人:格姆普拉斯公司