專利名稱:自動選擇能夠由設備實現(xiàn)的應用的方法和設備的制作方法
技術領域:
本發(fā)明涉及適合于與外部實體進行通信的多應用電子設備的技術領域,優(yōu)選地, 所述設備可便攜。
背景技術:
具體地當并非以非限制方式,本發(fā)明適用于微電路卡(智能卡),該微電路卡適合 于與智能卡讀取器進行通信,以實現(xiàn)一個或多個應用(支付交易、控制訪問、...)。文獻US2008/0306849描述了一種能夠由用于與智能卡進行通信的讀取器實現(xiàn)的 方法,該方法適用于實現(xiàn)符合ISO 14443-4協(xié)議的應用,以及符合MIFARE協(xié)議的應用。在 該方法中,需要讀取器認識到智能卡所支持的應用,以便能夠選擇這些應用。本發(fā)明足以避免這種限制。
發(fā)明內容
在第一方面中,本發(fā)明提供了一種電子設備,包括 用于接收外部實體所發(fā)送的消息的裝置; 用于使用相同協(xié)議實現(xiàn)與所述外部實體進行通信的至少兩個應用的裝置; 產(chǎn)生器裝置,適合于在接收到從所述實體接收的至少一個特定消息時,或在初始 化與所述實體的通信的情況下,產(chǎn)生預定事件;以及 選擇裝置,適合于檢測所述事件,并在所述應用之中選擇一個應用,與從所述外 部實體接收到的任何消息無關地,選擇所選應用。以相應的方式,本發(fā)明還提供了一種能夠由電子設備實現(xiàn)的選擇方法,該電子設 備適合于與外部實體進行通信,并適合于實現(xiàn)至少兩個應用,至少兩個應用使用相同協(xié)議 與所述外部實體進行通信,該方法包括步驟 在接收到從所述實體接收的至少一個特定消息時,或在初始化與所述實體的通 信的情況下,產(chǎn)生預定事件; 檢測所述事件; 在所述應用之中選擇一個應用,與從所述外部實體接收到的任何消息無關地,選 擇所選應用。因此,以非常有利的方式,本發(fā)明能夠在外部單元不發(fā)送用于選擇應用的任何命 令的情況下,選擇由電子設備實現(xiàn)的應用。在特定實施例里,本發(fā)明的電子設備包括 用于執(zhí)行第一計算機模塊的裝置,該第一計算機模塊適合于發(fā)起第二計算機模 塊的執(zhí)行,該第二模塊適合于實現(xiàn)所述應用;以及 由第一模塊實現(xiàn)的事件產(chǎn)生裝置。當對于電子設備而言實現(xiàn)上述應用的第二計算機模塊以“黑盒”形式出現(xiàn)時,實現(xiàn) 本發(fā)明的優(yōu)選、但非限制的應用。
這通常適用于在第三方已經(jīng)開發(fā)了第二計算機模塊時。本文中,“計算機模塊”的概念應當廣義地理解具體地,它涵蓋了計算機程序、計 算機子程序、函數(shù)、或函數(shù)庫。在本發(fā)明的一個特定實施例中 第一模塊適合于與應用ISO 14443-1至ISO 14443-3標準的外部實體進行通 所述應用是MIFARE (注冊商標)應用;以及 第二模塊適合于實現(xiàn)應用,以便在MIFARE應用的上下文中產(chǎn)生與外部實體交換 的消息的發(fā)送和接收。注意MIFARE技術依賴于IS014443type A標準,并且與該標準的不同之處在于用 專有MIFARE協(xié)議代替了 ISO 14443-4層,“IS014443type A”和MIFARE技術共同共享ISO 14443-1、ISO 14443-2 和 ISO 14443-3 協(xié)議。對于更多關于MIFARE技術的信息,本領域技術人員可參考2008年1月29日的文 獻"MF1ICS50, functional specification, Rev. 5. 3"。以已知方式,在MIFARE應用的上下文中,由讀取器(或更通常地由外部實體)發(fā) 送到智能卡(或更通常地到便攜式電子設備)的消息實質上在于,用于獲得對存儲器的讀 寫訪問的控制消息,該存儲器專用于MIFARE應用。在該特定領域中,使用術語“MIFARE應用”來指示存儲器本身是慣用技術手段。因 此,需要區(qū)分 MIFARE應用,即存儲器;以及 產(chǎn)生與讀取器交換的消息以便訪問用于讀或寫的存儲器的應用。因此,在特定實現(xiàn)中,本發(fā)明能夠選擇例如由智能卡實現(xiàn)的MIFARE應用,以便執(zhí) 行與所述卡的讀取器的交易,而無需所述讀取器發(fā)出任何命令,來選擇MIFARE應用或專用 于MIFARE應用的存儲器。在本發(fā)明的實施例中,第一模塊在接收到可由其解釋的命令時,產(chǎn)生預定事件。當?shù)谝荒K適合于在ISO 14443-1至ISO 14443-3標準的應用中與外部實體進行 通信時,產(chǎn)生本發(fā)明意義上的預定事件的特定消息具體可以選自于 由讀取器周期性發(fā)出的REQA輪詢消息; 用于選擇卡(本發(fā)明意義上的電子設備)的SEL消息;或者 如ISO 14443-3標準所定義的結束交易的HALT消息。有利地,該實施例能夠在第一 MIFARE交易結束之后,且不管第一 MIFARE應用終止 的方式(例如由于讀取器發(fā)送HALT消息或者由于電磁場受到干擾),都能夠選擇MIFARE應用。在特定情況下,外部實體能夠若干次發(fā)出特定消息,例如,若干輪詢消息。本領域技術人員將理解,在這種情況下,某些應用永遠不被選擇。本發(fā)明提出兩種避免上述問題的解決方案 在發(fā)起第二模塊的執(zhí)行之前立即產(chǎn)生預定事件;或者 在接收到不可由第一模塊解釋的命令時,產(chǎn)生預定事件。在一個特定實施例中,第二模塊執(zhí)行之后,第一模塊重新開始執(zhí)行,并且在重新開
5始執(zhí)行之后后,第一模塊產(chǎn)生預定事件。根本上需要清楚注意的是,根據(jù)本發(fā)明,應用選擇(即,從可能的應用之中選擇一 個應用)以與正從讀取器接收的任何消息無關地進行。在特定實施例中,本發(fā)明的設備的選擇裝置順序地逐一選擇應用。在變型中,可以循環(huán)地或隨機地選擇應用。在特定實施例中,選擇方法的不同步驟由計算機程序指令來確定。因此,本發(fā)明還提供了一種在數(shù)據(jù)介質上的計算機程序,該程序適合于在通信電 子設備中,或更通常地在計算機中實現(xiàn),該程序包括適合于執(zhí)行如上所述選擇方法的步驟 的指令。該程序可使用任何編程語言,其可以采用源代碼、目標碼或介于源代碼和目標碼 之間的代碼形式,例如部分編譯形式或任何其它期望形式。本發(fā)明還提供了一種計算機可讀并包括如上所述計算機程序的指令的數(shù)據(jù)介質。數(shù)據(jù)介質可以是能夠存儲程序的任何實體或設備。例如,該介質可包括諸如只 讀存儲器(ROM)(例如,光盤(CD)ROM或微電子電路ROM)等的存儲裝置,或真正磁記錄裝置 (例如,軟盤或硬盤)。此外,數(shù)據(jù)介質可以是可傳輸介質,例如電或光信號,可以經(jīng)由電纜或光纜以無線 或其他方式進行傳遞。具體地,本發(fā)明的程序可以從互聯(lián)網(wǎng)類型的網(wǎng)絡上下載。備選地,數(shù)據(jù)介質可以其中并入了程序的集成電路,該電路適于執(zhí)行所討論的方 法,或用于執(zhí)行所討論的方法。在上面所提到的發(fā)明的第一變型實施例中,在被事件的發(fā)生觸發(fā)時,電子設備判 定選擇應用,該事件與從讀取器接收到的特定消息的接收有關。在第二方面中,本發(fā)明還提供了一種電子設備,包括 用于實現(xiàn)至少兩個MIFARE應用的裝置;以及 用于已經(jīng)執(zhí)行所述MIFARE應用之一之后系統(tǒng)地選擇所述MIFARE應用之一的裝置。因此,本發(fā)明提供了一種可由電子設備實現(xiàn)的選擇方法,該電子設備適合于實現(xiàn) 至少兩個MIFARE應用,該方法始終在執(zhí)行MIFARE應用之一之后,選擇所述MIFARE應用之一。也可以順序地、循環(huán)地或隨機地選擇MIFARE應用。在該第二變型的特定實施例中,本發(fā)明的電子設備包括用于執(zhí)行第一計算機 模塊的裝置,第一計算機模塊適合于發(fā)起第二計算機模塊的執(zhí)行,第二模塊適合于實現(xiàn) MIFARE應用,由第一模塊實現(xiàn)選擇裝置。在特定實施例中,在發(fā)起第二模塊的執(zhí)行之前,第一模塊立即選擇MIFARE應用。
參照示出了不具有限制特性的實施例的附圖,根據(jù)以下給出的描述,本發(fā)明的其 它特征和優(yōu)點將變得顯而易見。附圖中圖1示出了根據(jù)本發(fā)明特定實施例的電子設備;圖2示出了該設備的細節(jié);以及
圖3A至3D以及圖4是示出了根據(jù)本發(fā)明不同實現(xiàn)方式的選擇方法的流程圖。
具體實施例方式圖1示出了根據(jù)本發(fā)明特定實施例的選擇設備1000。選擇設備1000是移動電話。選擇設備包括處理器1300,適合于實現(xiàn)移動電話的傳統(tǒng)操作,即涉及電話技術, 發(fā)送和接收消息,以及管理人/機界面的操作。在這里描述的實施例中,設備1000具有用于與外部讀取器100進行非接觸式通信 的裝置。這些非接觸式通信裝置主要由天線1100和符合近場通信(NFC)標準或ISO 14443 的微處理器1200構成。在這里描述的實施例中,移動電話1000包括經(jīng)由電路L1由天線1100供電的智 能卡(用戶識別模塊(SIM)卡)1400。在這里描述的實施例中,微處理器1200執(zhí)行模數(shù)轉換器和調制器/解調器功能, 以經(jīng)由天線1100進行通信。這樣的微處理器通常被稱作非接觸式前端(CLF)。在這里描述的實施例中,SIM卡1400經(jīng)由連接L2并符合單線協(xié)議(SWP)與微處 理器1200進行通信。圖2詳細示出了移動電話1000的SIM卡1400。優(yōu)選地,SIM卡符合IS07816標準,包括輸入/輸出接口 1410,R0M1430、以及電可 擦除可編程ROM(EEPROM)類型的可重寫非易失性存儲器1440,這些元件通過總線連接至微 處理器1420。在這里描述的實施例中,可重寫非易失性EEPR0M 1440包括 三個存儲器M1、M2、M3,其中的每一個構成MIFARE技術意義上的應用;以及 指針PTR,在給定時刻指向Ml至M3中所選的一個。在這里描述的實施例中,R0M1430具有兩個計算機程序,即 第一計算機程序PG1,該程序具體包括SIM卡1400的操作系統(tǒng)、實現(xiàn) IS014443-1至14443-3協(xié)議的指令、以及使得能夠選擇MIFARE應用Ml至M3的模塊;以及 計算機程序PG2,適合于實現(xiàn)應用,以及適合于在所述MIFARE應用Ml至M3的上 下文中,管理與外部實體100交換的消息的發(fā)送與接收。參照圖3A,隨后描述了根據(jù)本發(fā)明第一選擇方法的主要步驟,該方法由上述參照 圖1和圖2描述的移動電話1000來實現(xiàn)。首先,假定用戶將移動電話1000移至讀取器100的幾厘米范圍內,使得移動電話 的天線1100進入由所述讀取器所產(chǎn)生的電磁場中。因此,SIM卡1400由電路L1或電話的電池供電。在這里描述的實施例中,然后SIM 卡的微處理器1420執(zhí)行第一計算機程序PG1。例如,假定在初步個性化階段期間初始化指針PTR,以便指向MIFARE應用Ml。假定在步驟E8期間,讀取器100發(fā)送由模塊PG1接收的輪詢消息REQA。該消息的接收構成了本發(fā)明意義上的事件。在這里描述的實施例中,程序PG1包括順序地移動指針PTR的步驟E40,使得其隨 后指向MIFARE應用M2。
然后在步驟E50期間,程序PG1發(fā)起第二計算機程序PG2,以在所述MIFARE應用 M2上下文中管理與外部實體100交換的消息的交換。參考圖3B,描述了根據(jù)本發(fā)明第二選擇方法的步驟。在該實施例中,第一計算機程序PG1適合于實現(xiàn)ISO 14443-1至ISO 14443-3標 準。在該實施例里,非易失EEPR0M 1440包括寄存器,該寄存器適合于存儲初始被設 置為0的標記FLAG的值。在這里描述的實施例中,將指針PTR初始化為,指向MIFARE存儲器Ml。在這里描述的實施例中,當?shù)谝挥嬎銠C程序PG1接收到輪詢消息REQA時,在步驟 E10期間第一計算機程序PG1驗證存儲在非易失性EEPR0M 1440內的標記包含預定值“ 1 ”, 還是其它值。如果確實包含值“ 1 ”,則在步驟E40期間移動指針PTR并且在步驟E14將標記設置 為“0”值。在這里所描述的示例中,用“0”值初始化標記,使得在輪詢消息REQA的該第一次 接收時,不執(zhí)行步驟E12和E14,這是由于在該階段還沒有檢測到事件。根據(jù)ISO 14443-1至ISO 14443-3協(xié)議,根據(jù)本發(fā)明的設備1000在步驟E16期間 通過發(fā)送消息ATQA來響應請求REQA。然后,在步驟E18期間,根據(jù)本發(fā)明的讀取器100和電子設備1000實現(xiàn)本領域技 術人員所公知的一般步驟E18作為“防沖突循環(huán)”,該循環(huán)使得讀取器100實際能夠從其他 智能卡或位于讀取器100的電磁場內的設備之中,選擇本發(fā)明的設備1000。在該沖突管理階段結束時,設備1000在步驟E20期間開始向讀取器100發(fā)送標示 符UID,該標識符以唯一的方式標識設備1000。根據(jù)ISO 14443-1至ISO 14443-3協(xié)議,在步驟E22期間讀取器100通過發(fā)送消 息SEL(UID)來選擇設備1000,同時電話1000通過發(fā)送選擇肯定應答(SAK)消息來肯定應 答該選擇。這些不同的消息(REQA, ATQA,防沖突循環(huán),UID,SEL(UID),和SAK)是使用ISO 14443-4協(xié)議的應用和符合MIFARE技術的應用所共用的消息。現(xiàn)在假定在步驟E25期間,讀取器100發(fā)送消息MSG。在測試E26期間,第一模塊PG1驗證消息是否符合ISO 14443-4協(xié)議。如果不符合,則測試E26的結果為肯定。在測試之后是,根據(jù)ISO 14443-4協(xié)議由讀取器100和移動電話1000實現(xiàn)互認證 步驟E28,然后是一般步驟E36,在該一般步驟E36期間,電話1000根據(jù)ISO 14443-4協(xié)議 與讀取器100進行通信。如果在步驟E26期間,第一模塊PG1檢測到在步驟E25中接收到的消息MSG不符 合ISO 14443-4協(xié)議,則測試E26的結果為否定。測試之后是步驟E44,在步驟E44期間第一計算機程序PG1將標記設置為“ 1 ”值。之后,在步驟E50期間,第一計算機程序PG1發(fā)起第二計算機程序PG2。然后可以在讀取器100和移動電話1000的MIFARE應用Ml之間實現(xiàn)MIFARE交易。隨后,當移動電話1000接收到新的輪詢消息REQA時(在步驟E8中),關于標記值的測試E10的結果為肯定,使得執(zhí)行步驟E12(移動指針PTR)和E14(將標記重新初始化為 “0”值)。電話1000隨后選擇MIFARE應用M2。在該第二實施例中,第一計算機程序PG1不能解釋的消息的接收構成本發(fā)明意義 上的事件。在如圖3C所示的第三實施例中,在執(zhí)行MIFARE應用之后,第二計算機程序PG2將 控制返回到第一計算機程序PG1,并且在步驟E40,在以這種方式返回控制后移動指針。該實施例避免使用標記。在圖3D所示的第四實施例中,在接收不可解釋的消息之后并且緊鄰發(fā)起第二模 塊PG2的執(zhí)行之前,第一模塊PG1移動指針PTR (步驟E40)。在上文描述的實施例中,指針PTR順序移動。在變型中,可以循環(huán)地移動或隨機選擇指針。圖4示出了根據(jù)本發(fā)明的第二變型的選擇方法。在該實施例中,第一計算機程序PG1適合于通過監(jiān)控對存儲器Ml至M3的訪問,來 檢測第二計算機程序PG2是否在執(zhí)行MIFARE應用。在這里描述的實施例中,在步驟E100期間第一計算機程序PG1使用預定持續(xù)時間 來初始化定時器。只要發(fā)生了對存儲器Ml至M3之一的訪問(測試E120為肯定),就假定在讀取器 100中進行MIFARE應用,并且用同樣的持續(xù)時間重新初始化定時器。否則,如果在此持續(xù)時間沒有發(fā)生對存儲器Ml至M3中任何一個的訪問(測試E40 為肯定),就假定沒有進行MIFARE應用(或者從未有過一個MIFARE應用或該MIFARE應用 已終止),并選擇MIFARE應用。在大多數(shù)情況下,以這種方式所選擇的MIFARE應用與目前的MIFARE應用不同。然而,在本發(fā)明的一個實施例中,隨機選擇MIFARE應用,因此會出現(xiàn)同一 MIFARE 應用連續(xù)被選擇若干次。在所有上述實施例中(圖3A至3D及圖4),可重寫非易失性EEPR0M 1440具有三 個不同的存儲器Ml,M2和M3。在變型中,可重寫非易失性EEPR0M 1440僅具有一個存儲器M,每次MIFARE應用變 化時,將MIFARE應用的內容拷貝到所述存儲器M中。在該變型中,不需要使用指針PTR,這 是由于能夠通過將存儲器M的內容與沒有MIFARE應用進行比較,來確定當前的MIFARE應用。在上述實施例中,本發(fā)明主要在移動電話1000的智能卡1400內實現(xiàn)。在變型中,能夠在移動電話自身中實現(xiàn)本發(fā)明,同時由電話的處理器1300執(zhí)行計 算機程序PG1和PG2。本發(fā)明也可在其他類型的電子設備中實現(xiàn),尤其是在配備非接觸通信裝置(具體 地,天線)的智能卡中。
權利要求
一種電子設備(1000),包括用于接收由外部實體(100)發(fā)送的消息的裝置(1100);用于實現(xiàn)至少兩個應用(M1,M2,M3)的裝置(1420),所述至少兩個應用(M1,M2,M3)使用相同協(xié)議與所述外部實體進行通信;所述設備(1000)的特征在于,包括產(chǎn)生器裝置(PG1),適合于在接收到從所述實體(100)接收的至少一個特定消息時,或在初始化與所述實體(100)的通信的情況下,產(chǎn)生預定事件;以及選擇裝置(PG2),適合于檢測所述事件,并在所述應用(M1,M2,M3)之中選擇一個應用,其中,與從所述外部實體(100)接收到的任何消息無關地,選擇所選應用。
2.根據(jù)權利要求1所述的電子設備,其特征在于所述電子設備包括用于執(zhí)行第一計算機模塊(PG1)的裝置,所述第一計算機模塊 (PG1)適合于發(fā)起第二計算機模塊(PG2)的執(zhí)行,所述第二模塊(PG2)適合于實現(xiàn)所述應用 (M1,M2,M3);以及所述事件產(chǎn)生裝置由第一模塊(PG1)實現(xiàn)。
3.根據(jù)權利要求2所述的電子設備,其特征在于,所述第一模塊(PG1)在接收到由所述 第一模塊(PG1)可解釋的命令(REQA)時,產(chǎn)生所述預定事件。
4.根據(jù)權利要求2所述的電子設備,其特征在于,所述第一模塊(PG1)在發(fā)起所述第二 模塊(PG2)的執(zhí)行之后,立即產(chǎn)生所述預定事件。
5.根據(jù)權利要求4所述的電子設備,其特征在于,所述第一模塊(PG1)在接收到不可由 所述第一模塊(PG1)解釋的命令(REQA)時,產(chǎn)生所述預定事件。
6.根據(jù)權利要求2所述的電子設備,其中,在執(zhí)行所述第二模塊(PG2)之后,所述第一 模塊(PG1)重新開始執(zhí)行,所述設備的特征在于,在所述重新開始執(zhí)行之后,所述第一模塊 (PG1)產(chǎn)生所述預定事件。
7.根據(jù)權利要求2至5中任一項所述的電子設備,其特征在于所述第一模塊(PG1)適合于在ISO 14443-1至ISO 14443-3標準的應用中與所述外部 實體(100)進行通信;所述應用(Ml,M2,M3)是MIFARE應用;以及所述第二模塊(PG2)適合于,實現(xiàn)應用(1432),以在所述MIFARE應用(Ml,M2,M3)的 上下文中產(chǎn)生與所述外部實體(100)交換的消息的發(fā)送與接收。
8.根據(jù)權利要求1至6中任一項所述的電子設備,其特征在于,所述選擇裝置順序地從 所述應用之中選擇應用。
9.一種能夠由電子設備(1000)實現(xiàn)的選擇方法,所述電子設備適合于與外部實體進 行通信,并適合于實現(xiàn)至少兩個應用(M1,M2,M3),所述至少兩個應用(M1,M2,M3)使用相同 協(xié)議與所述外部實體進行通信,所述方法包括步驟在接收到從所述實體接收的至少一個特定消息時,或在初始化與所述實體的通信的情 況下,產(chǎn)生預定事件;檢測所述事件;以及在所述應用之中選擇一個應用,其中,與從所述外部實體接收到的任何消息無關地,選 擇所選應用。
10.一種計算機程序,包括當所述程序由計算機執(zhí)行時用于執(zhí)行根據(jù)權利要求9所述 的選擇方法的步驟的指令。
11.一種計算機可讀并且其上記錄有計算機程序的記錄介質,所述程序包括用于執(zhí)行 根據(jù)權利要求10所述的選擇方法的步驟的指令。
12.一種電子設備(1000),包括用于實現(xiàn)至少兩個MIFARE應用(M1,M2,M3)的裝置(1420);以及用于在已執(zhí)行所述MIFARE應用之一之后,系統(tǒng)地選擇所述MIFARE應用之一的裝置 (PG1)。
13.根據(jù)權利要求12所述的電子設備,其特征在于,包括用于執(zhí)行第一計算機模塊 (PG1)的裝置,所述第一計算機模塊(PG1)適合于發(fā)起第二計算機模塊(PG2)的執(zhí)行,所述 第二模塊(PG2)適合于實現(xiàn)所述MIFARE應用(M1,M2,M3),所述選擇裝置由第一模塊(PG1) 實現(xiàn)。
14.根據(jù)權利要求13所述的電子設備,其特征在于,所述第一模塊(PG1)在緊鄰發(fā)起所 述第二模塊(PG2)的執(zhí)行之前,選擇所述MIFARE應用。
15.一種能夠由電子設備(1000)實現(xiàn)的選擇方法,所述電子設備適合于實現(xiàn)至少兩個 MIFARE應用(Ml,M2,M3),所述方法的特征在于,在執(zhí)行所述MIFARE應用之一之后,系統(tǒng)地 選擇所述MIFARE應用(Ml,M2,M3)之一。
全文摘要
本發(fā)明提供了一種電子設備(1000),包括用于接收由外部實體(100)發(fā)送的消息的裝置(1100);以及用于實現(xiàn)至少兩個應用的裝置,所述至少兩個應用使用相同協(xié)議與所述外部實體進行通信;產(chǎn)生器裝置,適合于在接收到從所述實體(100)接收的至少一個特定消息時,或在初始化與所述實體(100)的通信的情況下,產(chǎn)生預定事件;以及選擇裝置,適合于檢測所述事件,并在所述應用(M1,M2,M3)之中選擇一個應用,與從所述外部實體(100)接收到的任何消息無關地,選擇所選應用。
文檔編號G07F7/10GK101853351SQ20101019965
公開日2010年10月6日 申請日期2010年3月26日 優(yōu)先權日2009年3月27日
發(fā)明者吉米·德布里托, 弗蘭克·布里庫, 索菲·迪亞洛 申請人:歐貝特科技公司