專利名稱:遠程應用程序改正的制作方法
技術領域:
本發(fā)明涉及一種遠程地改正數(shù)據(jù)處理系統(tǒng)中數(shù)據(jù)的方法。所選擇的顯示本發(fā)明的例子為智能卡的例子,具體為耦合至便攜式產(chǎn)品(移動電話、PDA等等)的SIM(用戶識別模塊)一般地講,本發(fā)明可以用于所有智能卡產(chǎn)業(yè),而非只是GSM(全球數(shù)字移動電話系統(tǒng))產(chǎn)業(yè)。這意味著其用于無線系統(tǒng)(Over The Air)的所有其他智能卡產(chǎn)品或者具有遠程系統(tǒng)管理的任意智能卡產(chǎn)品。
對于有關于維護系統(tǒng)的新的業(yè)務方案,本發(fā)明非常有用。
背景技術:
當GSM SIM卡制造商不得不處理已經(jīng)售出的卡上的缺陷改正時,他們會面臨很大的問題。他們向電信運營商提供從成千上萬至上前萬數(shù)目的卡。他們還提供了具有各種復雜程度的各種應用。
有時,即使在經(jīng)過很長的集成與驗證階段之后,還會在這些些應用售出后發(fā)現(xiàn)某些存在問題。
對于電信運營商與卡制造商來說,改正這些缺陷是很痛苦的。因為他們不得不處理大量的卡,即使問題不大,改正缺陷也總是花費大量的金錢。在許多情況下,費用過高,以至無法進行改正。
智能卡基于芯片。在該芯片的核心,具體講在ROM(只讀存儲器)中,卡制造商放入其稱為“硬掩膜”(hardmask)的操作系統(tǒng),并且在EEPROM(電可擦除可編程只讀存儲器)中加載其應用程序。這些應用程序可以是“軟掩膜”與applet的組合。
掩膜(mask)為專用于智能卡微控制器的軟件。
一旦在智能卡上加載了應用程序并且當進行了個性化時,該卡就被鎖定了。此時,就不能下載其他軟掩膜應用程序。對于Java智能卡,可能下載另一applet,但是必須將先前的applet全部刪除。卡不售出就不能進行其他改正。只可能利用無線服務進行智能卡文件系統(tǒng)管理(創(chuàng)建或者刪除)。
發(fā)明內(nèi)容
本發(fā)明的目的在于簡化應用程序的改正。更具體地講,目的在于減少這些改正的時間與金錢費用。
根據(jù)本發(fā)明,智能卡包含用于存儲從遠程實體下載的文件的單元;智能卡還包含用于進行以下步驟的程序-在系統(tǒng)中進行數(shù)據(jù)改正之前,檢查步驟,其中所述程序(GS)檢查是否已經(jīng)下載了文件(F),-如果存在此類文件(F),則所述程序(GS)根據(jù)存儲在所述文件(F)中的數(shù)據(jù)修改應用程序(APP)。
所述程序?qū)⒛軌蛟试S遠程改正??床挥谜倩兀膊挥锰鎿Q。就將減少卡制造商的痛苦,并且極大地減少了改正費用。
通過閱讀以下作為例子給出的描述并且參照附圖,可以更容易地理解本發(fā)明。
圖1為可以應用本發(fā)明的系統(tǒng)的概括視圖。
圖2為包含不同步驟的顯示本發(fā)明的算法。
具體實施例方式
為了簡化描述,附圖中相同的部件具有相同的標號。
圖1為可以應用本發(fā)明的系統(tǒng)的示意圖。該系統(tǒng)包含耦合至移動電話MOB的SIM卡CAR。在SIM卡存儲了應用程序APP。
智能卡包含電子模塊(未顯示)。該模塊包含微控制器以及與外界通信的觸點。微控制器一般包含-執(zhí)行命令的微處理器,-非易失存儲器ROM(只讀存儲器),其內(nèi)容在工廠中燒制,因此不能被修改。該存儲器一般用來存儲硬掩膜,-非易失存儲器,例如EEPROM(電可擦除可編程只讀存儲器)。該存儲器一般用來存儲軟掩膜,-易失存儲器RAM,為執(zhí)行卡命令的工作空間,
-安全單元,考慮電源電壓、時鐘速率等,-連接所有部件的數(shù)據(jù)總線,輸入輸出總線,在該實現(xiàn)例子中,用來與移動電話MOB通信。
在所示例子中,電信運營商OP與移動電話MOB通過網(wǎng)絡NET通信。
目標是更新存儲在卡CAR中的應用程序APP。
根據(jù)本發(fā)明,SIM卡包含程序GS與用來在卡中存儲可以從網(wǎng)絡下載的文件F的單元。
圖1顯示文件F已經(jīng)從運營商下載到卡CAR中的例子。在該例子中,在專用文件DF或者主文件MF之下,具有特定ID(標識符)以及優(yōu)選地具有特定格式的文件F將包含修改配置數(shù)據(jù)。
根據(jù)項目的要求或者演進,ID可以在個性化時選擇,或者在項目生命周期內(nèi)設置。該文件F可以在卡生命周期內(nèi)的任意時刻創(chuàng)建,即在個性化期間,或者優(yōu)選地當卡售出后。因為其為文件,所以借助無線(OTA)服務可以容易地完成這一工作。
程序GS進行以下步驟-檢查步驟,其中程序GS檢查在該數(shù)據(jù)處理系統(tǒng)中是否存在下載的文件F;程序(GS)搜索用于進行應用程序(APP)的修改的標識符(ID)。
-如果存在此類文件(F),則在修改步驟中,程序GS根據(jù)存儲在所述文件F中的數(shù)據(jù)修改應用程序。
在該例子中,在卡初始化階段運行程序GS。優(yōu)選地,程序GS將被完全執(zhí)行一次,且只執(zhí)行一次。只有包含在文件F中的修復配置數(shù)據(jù)被下載并存儲在卡上,才發(fā)生該執(zhí)行。否則,將不僅進行該執(zhí)行。
優(yōu)選地,該文件F將包含格式化的數(shù)據(jù),其可以由程序GS正確解釋。自動地,存儲在SIM卡中的具有先前行為的當前應用程序APP將被替換為具有在下載的文件中描述的新行為。
圖2為顯示本發(fā)明的包含不同步驟的算法。
設想存在應用程序APP的新版本。例如,該新應用程序包含新的APDU(應用程序協(xié)議數(shù)據(jù)單元)命令。將新軟掩膜(在徹底測試之后)重新成型于修改配置數(shù)據(jù)文件F中。一旦創(chuàng)建了該修改配置數(shù)據(jù)文件F,則在該例子中,通過無線(OTA)服務從運營商實體下載該文件到卡CAR中。在該例子中,如上所述,在初始化時執(zhí)行程序GS。因此,下一次接通移動電話時,就會處理該修改。
顯示本發(fā)明的例子的步驟可以為以下步驟1(S1)移動電話被接通。
步驟2(S2)程序GS檢查在卡中是否存儲了具有特定ID的文件F。如果有,則進行步驟3;否則,不進行改正。
步驟3(S3)在該例子中,程序GS檢查是否該文件F被激活。換而言之,在程序(GS)找到標識符(ID)之后,其還檢查該文件(F)為激活還是停用;如果文件被激活,則程序(GS)進行修改(步驟4);如果文件未被激活,則程序(GS)不進行修改。
步驟4(S4)在該例子中,優(yōu)選地,程序GS檢查改正的類型。如果改正包含數(shù)據(jù)修改,則其進行步驟5A;如果改正包含代碼替換機制,則其進行步驟5B與6B。
步驟5A(S5)修改數(shù)據(jù)。
步驟5B(S5B)程序GS在修改配置文件F中搜索使用進入點。
步驟6B(S6B)替換數(shù)據(jù)。
步驟7(S7)優(yōu)選地,在進行改正之后,程序GS停用并刪除配置文件F。
步驟8(S8)完成改正處理。
在該例子中,參照1A與1B,在卡初始化時運行程序GS。然而,可以在任意時刻運行程序GS,例如在成功接收優(yōu)選地由03.48安全層以及為了更高的安全性由端到端加密保護的SMS(短消息服務)時。該程序也可以當在卡CAR中更新了配置區(qū)時運行。
在該實施方式中,如果程序GS在EEPROM存儲器中發(fā)現(xiàn)配置區(qū)頭部,則程序GS檢測配置區(qū)存在。程序還檢測該區(qū)激活,例如,如果在其頭部內(nèi)設置了激活參數(shù)。
在該例子中,可以進行兩種類型的改正數(shù)據(jù)或者代碼改正。數(shù)據(jù)改正意味著應用程序數(shù)據(jù)必須被修改,但是不修改程序本身。代碼修改意味著必須修改應用的當前代碼。
更具體地,對于數(shù)據(jù)修改,在配置區(qū)內(nèi),必須存儲EEPROM中的準確地址、新內(nèi)容數(shù)據(jù)及其大小。
對于代碼修改,在配置區(qū)內(nèi),必須存儲EEPROM中先前代碼的地址(進入點)、新代碼內(nèi)容及其大小。首先,程序停用先前代碼,然后行進到代碼替換。
配置區(qū)可以為格式為不能直接訪問的EEPROM區(qū)的文件。該配置區(qū)可以包含以下步驟-頭部,包含標準頭部區(qū)以及安全參數(shù)區(qū);-配置主體區(qū),其包含特定數(shù)據(jù),諸如改正的數(shù)目,改正的類型,以及對于每次改正的相關數(shù)據(jù)。
本發(fā)明還有關于一種存儲在卡CAR中的、包含用于進行以下步驟的代碼指令的計算機程序(GS)ο在所述系統(tǒng)中進行數(shù)據(jù)改正之前,其檢查文件(F)是否已經(jīng)被下載到所述系統(tǒng)(CAR)中,ο如果下載了,則其根據(jù)存儲在文件(F)中的數(shù)據(jù)修改應用程序(APP)。
現(xiàn)在可以看到本發(fā)明提供了其他明顯的優(yōu)點。本發(fā)明允許遠程修改應用程序,具體為錯誤的改正。智能卡不必被物理地返回到中心以進行修改改正。
程序GS優(yōu)選為軟掩膜。該程序GS為考慮到上述限制(被鎖定的卡、無線服務)的通用應用程序遠程錯誤改正系統(tǒng)。該程序還倚賴于硬掩膜(因為其參照當實現(xiàn)硬掩膜時由生產(chǎn)線組進行的存儲器影射)。該程序也可以在硬掩膜一側(cè)實現(xiàn),并且成為可以或不可以被激活的產(chǎn)品特征。該程序GS將為將被發(fā)布的任何新應用程序的一部分(其也可以是由顧客選擇的選項,作為對解決可能在全面應用程序驗證之后發(fā)生的未知問題的保證)。
使用上面定義的該程序GS與文件F,根據(jù)修改的復雜程度以及卡上的可用大小,可以修改、改變已經(jīng)售出的應用程序APP的行為。該修改對于終端用戶將是透明的。并且對于電信運營商將非常容易進行修改。
在運營商或者卡制造商分析問題并且對缺陷修改進行了可行性研究之后,將可能(例如)判斷該問題是否能夠被遠程地改正。如果可以,則卡制造商可以向電信運營商提供修改配置數(shù)據(jù),并且可以(例如)通過基本無線服務將這些數(shù)據(jù)通過送往卡。
所述軟掩膜自身為附加值服務。
權利要求
1.一種與遠程實體(OP)通信的數(shù)據(jù)處理系統(tǒng)(CAR),尤其是耦合至通信設備(MOB)的智能卡,其特征在于所述系統(tǒng)包含-用于存儲可以從所述遠程實體下載的文件(F)的單元;-用于執(zhí)行以下步驟的程序(GS)○在所述系統(tǒng)中進行數(shù)據(jù)改正之前,執(zhí)行檢查步驟,其中所述程序(GS)檢查文件(F)是否已經(jīng)被下載,○如果存在此類文件(F),則所述程序(GS)根據(jù)存儲在該文件(F)中的數(shù)據(jù)修改所述應用程序(APP)。
2.一種用于更新在數(shù)據(jù)處理系統(tǒng)(CAR),尤其是耦合至通信設備(MOB)的智能卡,的存儲器中存儲的應用程序(APP)的方法,所述系統(tǒng)能夠與遠程實體(OP)通信,其特征在于所述方法包含以下步驟在進行數(shù)據(jù)改正之前,在所述數(shù)據(jù)處理系統(tǒng)內(nèi)存儲的程序(GS)檢查文件(F)是否已經(jīng)被從所述實體下載到所述數(shù)據(jù)處理系統(tǒng)中,如果存在此類文件(F),則所述程序(GS)根據(jù)存儲在該下載的文件(F)中的數(shù)據(jù)修改所述應用程序(APP)。
3.根據(jù)權利要求2所述的方法,其特征在于當所述程序(GS)根據(jù)存儲在所述文件(F)中的數(shù)據(jù)修改應用程序(APP)時,所述程序(GS)寫入新代碼或者數(shù)據(jù),并且停用先前的代碼或者數(shù)據(jù)。
4.根據(jù)權利要求2所述的方法,其特征在于所述文件(F)具有預定標識符(ID),并且所述程序(GS)搜索該用于進行所述應用程序(APP)的修改的標識符(ID)。
5.根據(jù)權利要求4所述的方法,其特征在于在所述程序(GS)發(fā)現(xiàn)所述標識符(ID)之后,所述程序(GS)還檢查所述文件(F)為被激活還是被停用;如果該文件為激活的,則所述程序(GS)進行所述修改;如果該文件為停用,則所述程序(GS)不進行所述修改。
6.一種在數(shù)據(jù)處理系統(tǒng)(CAR),尤其是耦合至通信設備(CAR)的智能卡,中存儲的的計算機程序(GS),所述系統(tǒng)(CAR)包含具有執(zhí)行以下步驟代碼指令的微控制器在所述系統(tǒng)中進行數(shù)據(jù)改正之前,其檢查文件(F)是否已經(jīng)被下載到所述系統(tǒng)(CAR)中,如果是,則其根據(jù)存儲在該文件(F)中的數(shù)據(jù)修改所述應用程序(APP)。
全文摘要
本發(fā)明有關于一種與遠程實體(OP)通信的數(shù)據(jù)處理系統(tǒng)(CAR),尤其是耦合至通信設備(MOB)的智能卡,其特征在于所述系統(tǒng)包含用于存儲可以從所述遠程實體下載的文件(F)的單元;用于執(zhí)行以下步驟的程序在所述系統(tǒng)中進行數(shù)據(jù)改正之前,檢查步驟,其中所述程序(GS)檢查文件(F)是否已經(jīng)被下載;如果存在此類文件(F),則所述程序(GS)根據(jù)存儲在該文件(F)中的數(shù)據(jù)修改所述應用程序(APP)。
文檔編號G06Q20/00GK1685314SQ03812420
公開日2005年10月19日 申請日期2003年5月28日 優(yōu)先權日2002年5月30日
發(fā)明者法里德·哈米奇 申請人:阿克薩爾托股份有限公司