国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      從接收消息在安全元件中隱式選擇應(yīng)用的改進(jìn)方法和系統(tǒng)與流程

      文檔序號:12600833閱讀:332來源:國知局
      從接收消息在安全元件中隱式選擇應(yīng)用的改進(jìn)方法和系統(tǒng)與流程

      本發(fā)明涉及通信,尤其是允許在具有多個應(yīng)用的安全元件中選擇應(yīng)用的機制的大體領(lǐng)域。本發(fā)明在管理嵌入式軟件領(lǐng)域的標(biāo)準(zhǔn)的情況下具有特別的應(yīng)用,其中以尤其通過文件“GlobalPlatform Card Specification Version 2.2.1”(GlobalPlatform Card說明書版本2.2.1)定義的GlobalPlatform Card標(biāo)準(zhǔn)為例。



      背景技術(shù):

      安全元件(“Secure Element”)可為智能卡類型的,例如以SIM卡的名稱廣泛用于移動網(wǎng)絡(luò)領(lǐng)域中的UICC或eUICC卡(表示“embedded Universal Integrated Circuit Card”,嵌入式通用集成電路卡),或者為eSE(表示“embedded Secure Element”,嵌入式安全元件)類型的。以通常方式,安全元件可以是可移除的,例如被嵌入在智能卡類型的便攜移動裝置、移動電話、汽車等中,或為固定式或為便攜式。其具有至少一個微處理器和至少一個存儲器。

      以傳統(tǒng)方式,這樣的安全元件具有可在一個或更多個通信信道上與外部通信的一個或更多個應(yīng)用,例如針對支付外部終端的支付應(yīng)用、針對移動終端的移動電話應(yīng)用、針對城市網(wǎng)絡(luò)外部讀取器的城市運輸應(yīng)用等。

      應(yīng)用被配置為處理從外部終端或裝置接收的命令和用于生成相關(guān)聯(lián)的響應(yīng)并將其發(fā)送給外部終端或裝置。

      安全元件的通信智能化和通信資源被限制,通常一次僅一個應(yīng)用是激活的,即被選擇用于接收和處理在發(fā)生激活的通信信道上輸入的接下來的命令(因此由外部終端傳送)。

      為了允許該選擇,標(biāo)準(zhǔn)通常通過定義應(yīng)用選擇命令來實施應(yīng)用的顯式選擇,應(yīng)用選擇命令通常是借助被命名為AID的唯一應(yīng)用標(biāo)識符來標(biāo)識待選擇的應(yīng)用的SELECT命令的版本,AID表示“Application Identifier(應(yīng)用標(biāo)識符)”。

      然而存在不支持通過AID進(jìn)行SELECT選擇的機制的應(yīng)用。因此開發(fā)出其它機制以克服該問題并允許在接收消息的安全元件中標(biāo)識和隱式選擇這些應(yīng)用,通常為APDU形式(unité de donnée de protocole d’application,應(yīng)用協(xié)議數(shù)據(jù)單元)。

      GlobalPlatform Card標(biāo)準(zhǔn)規(guī)定例如在需要時定義針對給定應(yīng)用在其安裝時的消息識別算法。尤其是,建議使用互為變型的兩種算法:通過字符串的識別算法和通過二進(jìn)制掩碼的識別算法,如在文件“GlobalPlatform Contactless Services Card Specification v2.2-Amendment C Version 1.1.1”(“GlobalPlatform非接觸式服務(wù)卡規(guī)范v2.2-修正C版本1.1.1”)中所解釋的。

      因此,如果安全元件中當(dāng)前沒有選擇任何應(yīng)用,則消息的接收觸發(fā)執(zhí)行與應(yīng)用相關(guān)聯(lián)的識別算法。根據(jù)優(yōu)先級順序一個接一個地測試這些應(yīng)用。該順序通?;谠趹?yīng)用安裝時分配給應(yīng)用的靜態(tài)優(yōu)先級(通常根據(jù)安裝順序)。

      然而在GlobalPlatform標(biāo)準(zhǔn)中,存在允許為單一應(yīng)用或為應(yīng)用組(在該情況下,該組內(nèi)部的優(yōu)先級規(guī)則最終使得僅一個應(yīng)用將實際上具有該可變優(yōu)先級的分配)聲明可變優(yōu)先級的工具,該可變優(yōu)選級取代靜態(tài)優(yōu)先級??勺儍?yōu)選級被存儲在易失性存儲器中用于通信的當(dāng)前會話期間,直到應(yīng)用轉(zhuǎn)向例如或者禁止?fàn)顟B(tài)(“deactivated”),或例如直到重啟卡或”卡復(fù)位”(“Card Reset”)(尤其非接觸式接口的復(fù)位),或例如直到切斷安全元件的電源(power off)為止。

      在借助算法(即所得結(jié)果是預(yù)期的:對于通過字符串的識別算法,在圖案和部分消息之間的二進(jìn)制對應(yīng);對于通過二進(jìn)制掩碼的識別算法,等于0的結(jié)果)識別消息的情況下,相關(guān)聯(lián)應(yīng)用被選擇用于執(zhí)行所接收的消息。

      如果通過借助SELECT命令的選擇的顯式機制或者通過借助與所安裝應(yīng)用相關(guān)聯(lián)的識別算法的選擇的隱式機制最終未選擇任何應(yīng)用,則建議使用應(yīng)用的默認(rèn)選擇過程。

      在GlobalPlatform Card標(biāo)準(zhǔn)范圍內(nèi),可借助參數(shù)‘CF’對每個非接觸式邏輯信道定義默認(rèn)應(yīng)用,即隱式選擇。只要默認(rèn)應(yīng)用被聲明為諸如(‘CF’)、且被聲明是標(biāo)準(zhǔn)意義上可選擇和激活的,那么該默認(rèn)應(yīng)用被選擇。

      GlobalPlatform Card標(biāo)準(zhǔn)內(nèi)設(shè)置的補充級別的默認(rèn)應(yīng)用導(dǎo)致在缺少利用參數(shù)‘CF’聲明為”默認(rèn)”的應(yīng)用的情況下,那么具有”卡復(fù)位”權(quán)限的應(yīng)用(其為唯一的)被選擇,如果后者存在的話。然而”卡復(fù)位”權(quán)限僅對基礎(chǔ)邏輯信道有效(標(biāo)記為‘0’)。

      安全元件中的這種應(yīng)用選擇機制不是沒有缺點。

      在其中使用安全元件和目標(biāo)應(yīng)用的基礎(chǔ)架構(gòu)可以被證實是不均勻的。例如,在公共運輸網(wǎng)絡(luò)的基礎(chǔ)架構(gòu)中,可安裝裝配有新讀取器的新訪問框架且可與不必須有相同消息格式的舊一代讀取器共存。應(yīng)用的隱式選擇的實際機制不允許接受這種非均勻性,除非讀取器的一部分不再可操作。

      在使用靈活性的情況下,因此存在改善安全元件上的應(yīng)用的隱式選擇的需要。

      根據(jù)標(biāo)準(zhǔn),默認(rèn)應(yīng)用的選擇機制被限制在用于邏輯信道的單一應(yīng)用,該應(yīng)用借助參數(shù)‘CF’或者借助”卡復(fù)位”權(quán)限被聲明用于基礎(chǔ)邏輯信道。

      為允許指明新的默認(rèn)應(yīng)用,需要刪除當(dāng)前定義的默認(rèn)應(yīng)用的字符‘CF’或”卡復(fù)位”。然而,在所安裝應(yīng)用的使用壽命期間參數(shù)‘CF’或”卡復(fù)位”權(quán)限是不可以改變的。因此可以證實需要刪除該應(yīng)用并通過正確地配置參數(shù)‘CF’或通過向其賦予”卡復(fù)位”權(quán)限來安裝新的應(yīng)用。

      為了實施這些操作,進(jìn)行使用密鑰組開啟安全信道并執(zhí)行安全過程。該多種操作是繁瑣的,并且因此妨礙安全元件中默認(rèn)可選應(yīng)用的動態(tài)管理。

      在使用靈活性的情況下,因此存在改善安全元件上聲明和選擇默認(rèn)應(yīng)用的需要。



      技術(shù)實現(xiàn)要素:

      本發(fā)明旨在解決這些缺點的全部或一部分。

      根據(jù)本發(fā)明的第一方面,一種選擇被安裝在多應(yīng)用安全元件中的目標(biāo)應(yīng)用的方法,包括如下步驟,在安全元件中:

      a)接收至少一條消息;

      b)獲得存儲器中與目標(biāo)應(yīng)用相關(guān)聯(lián)的選擇參數(shù),選擇參數(shù)指示待應(yīng)用于所接收的消息的至少兩種消息識別算法,用于確定目標(biāo)應(yīng)用是否能被選擇;

      c)對所接收的消息執(zhí)行由與目標(biāo)應(yīng)用相關(guān)聯(lián)的選擇參數(shù)指示的識別算法;

      d)僅在其中一種識別算法的結(jié)果是肯定的情況下選擇目標(biāo)應(yīng)用。

      相應(yīng)地,本發(fā)明還涉及一種安全元件,包括:在存儲器中的多個應(yīng)用,以及:

      被配置為接收至少一條消息的通信接口;

      參數(shù)獲得模塊,被配置為獲得在存儲器中與目標(biāo)應(yīng)用相關(guān)聯(lián)的選擇參數(shù),選擇參數(shù)指示待應(yīng)用于所接收的消息的至少兩種消息識別算法以確定目標(biāo)應(yīng)用是否能被選擇;

      處理器,被配置為對所接收的消息執(zhí)行由與目標(biāo)應(yīng)用相關(guān)聯(lián)的選擇參數(shù)指示的識別算法;

      應(yīng)用選擇模塊,被配置為僅在其中一個識別算法的結(jié)果是肯定的情況下選擇目標(biāo)應(yīng)用。

      本發(fā)明為安裝在安全元件中的應(yīng)用提供更大的使用靈活性。

      事實上,借助上面定義的本發(fā)明,在安全元件中通過異構(gòu)讀取器對相同應(yīng)用的隱式選擇和使用是可能的。這通過實施指示至少兩種識別算法的新選擇參數(shù)而獲得,因此允許根據(jù)這些不同算法的對相同應(yīng)用的隱式選擇,而現(xiàn)有技術(shù)且尤其是GlobalPlatform Card標(biāo)準(zhǔn)以強制方式最多僅允許定義單一識別算法。

      在從屬權(quán)利要求中描述根據(jù)實施方式的方法和裝置的其它特征,實質(zhì)上借助方法術(shù)語進(jìn)行描述,特征可轉(zhuǎn)用于此處為安全元件的裝置。包含本發(fā)明的安全元件可被整合或安置在如移動電話之類的更復(fù)雜的系統(tǒng)中。

      以舉例方式,移動電話可具有由配有安全元件的非接觸式通信接口使用的非接觸式通信天線。

      根據(jù)一種實施方式,所述方法還包括如下步驟:

      獲得安裝在安全元件中的包含目標(biāo)應(yīng)用的一個或更多個應(yīng)用的有序列表,每個應(yīng)用與存儲器中的相應(yīng)的選擇參數(shù)相關(guān)聯(lián),選擇參數(shù)識別待應(yīng)用于所接收的消息的至少一種識別算法以便確定相關(guān)聯(lián)的應(yīng)用是否可被選擇;

      只要還未選擇任何應(yīng)用,就遍歷有序列表并對每個被遍歷的應(yīng)用執(zhí)行步驟c)和d)。

      列表的遍歷使得取回每個被遍歷應(yīng)用的選擇參數(shù),以便執(zhí)行步驟c)和d)。

      該設(shè)置提供從多個應(yīng)用中隱式選擇一個應(yīng)用的確定機制。

      要注意到實際上,可獲得有序列表,其列出未被定義任何識別算法的一個或更多個應(yīng)用。在該情況下,相關(guān)聯(lián)的選擇參數(shù)被認(rèn)為是空或無值。

      根據(jù)一種實施方式,所述方法還包括如下步驟:

      如果遍歷所述有序列表結(jié)束時未選擇有序列表中的任何應(yīng)用,那么選擇默認(rèn)應(yīng)用。

      實際上,默認(rèn)應(yīng)用的選擇可包括,在遍歷有序列表時,驗證與每個被遍歷的應(yīng)用相關(guān)聯(lián)的選擇參數(shù)是否指示第一預(yù)定值的驗證步驟;

      和(從全部應(yīng)用中)選擇其相關(guān)聯(lián)的選擇參數(shù)指示所述第一預(yù)定值的較高級別應(yīng)用的選擇步驟。

      有序列表中的該第一預(yù)定值的使用允許實現(xiàn)默認(rèn)可選應(yīng)用的動態(tài)管理,反之,現(xiàn)有技術(shù)尤其是GlobalPlatform Card標(biāo)準(zhǔn),其僅允許以強制方式定義單一默認(rèn)可選應(yīng)用而不易于按需要改變。

      根據(jù)具體特征,根據(jù)分配給所述應(yīng)用的優(yōu)先級來排序應(yīng)用的所述列表,在每個應(yīng)用安裝時將靜態(tài)優(yōu)先級分配給每個應(yīng)用,以及在安全元件的易失性存儲器中,將大于全部靜態(tài)優(yōu)先級的可變優(yōu)先級分配給最多一個應(yīng)用或一個應(yīng)用組(和經(jīng)由優(yōu)先級規(guī)則(如在GlobalPlatform標(biāo)準(zhǔn)中定義的那樣),最終在該組內(nèi)僅一個應(yīng)用將具有該分配),和

      該方法還包括將分配給第一應(yīng)用或第一應(yīng)用組的可變優(yōu)先級改變?yōu)榉峙浣o第二應(yīng)用或第二應(yīng)用組的分配改變步驟。

      該設(shè)置示出有利的默認(rèn)可選應(yīng)用的動態(tài)和靈活的管理。事實上,可借助使用專用API(應(yīng)用編程接口)的簡單midlet(利用MIDP Java平臺產(chǎn)生的應(yīng)用)實現(xiàn)可變優(yōu)先級特征的改變,而無需打開安全會話。反之,現(xiàn)有技術(shù)尤其是GlobalPlatform Card標(biāo)準(zhǔn),僅允許以強制方式定義單一默認(rèn)可選應(yīng)用(通過標(biāo)簽‘CF’)而不易于按需要改變,除了要通過需要打開安全會話的繁瑣操作來刪除該默認(rèn)可選應(yīng)用之外。

      根據(jù)具體特征,該方法還可包括在遍歷有序列表時,驗證與被遍歷的應(yīng)用相關(guān)聯(lián)的選擇參數(shù)是否指示第二預(yù)定值的驗證步驟,

      并且如果驗證了與其中一個應(yīng)用相關(guān)聯(lián)的選擇參數(shù)指示所述第二預(yù)定值,那么所述較高級別的應(yīng)用的選擇被禁止。特別地,如果選擇參數(shù)指示第一預(yù)定值,那么在驗證標(biāo)準(zhǔn)的基礎(chǔ)上任何應(yīng)用均未被選擇。

      該設(shè)置有助于更有效地動態(tài)管理可選應(yīng)用,同時尤其允許在實施根據(jù)本發(fā)明的默認(rèn)應(yīng)用的選擇和實施根據(jù)如GlobalPlatform Card的現(xiàn)有技術(shù)的默認(rèn)應(yīng)用的選擇之間的容易轉(zhuǎn)換。

      例如,該方法還可包括如果遍歷有序列表結(jié)束時未選擇任何較高級別的應(yīng)用,那么選擇預(yù)定的應(yīng)用。例如在GlobalPlatform Card情況下,其涉及選擇具有用于任何邏輯信道的參數(shù)‘CF’、或者具有用于單一基礎(chǔ)邏輯信道的”卡復(fù)位“權(quán)限的應(yīng)用。

      根據(jù)本發(fā)明的一種實施方式,所述方法還包括如果默認(rèn)應(yīng)用既未激活、又在安全元件中不可選擇、也未被準(zhǔn)許訪問安全元件的通信接口(例如非接觸式),那么選擇任一應(yīng)用。該設(shè)置允許以有效方式僅選擇適合且被準(zhǔn)許處理與外部讀取器交換的消息的應(yīng)用。

      根據(jù)本發(fā)明的一種實施方式,所述方法還包括在接收符合GlobalPlatform Card標(biāo)準(zhǔn)的INSTALL命令時預(yù)先安裝目標(biāo)應(yīng)用的預(yù)先安裝步驟,INSTALL命令包含與目標(biāo)應(yīng)用相關(guān)聯(lián)的所述選擇參數(shù)。

      特別地,與應(yīng)用相關(guān)聯(lián)的選擇參數(shù)可包含在被定義用于符合GlobalPlatform Card標(biāo)準(zhǔn)的所述應(yīng)用的非接觸協(xié)議參數(shù)中的由值‘83’標(biāo)識的參數(shù)。

      根據(jù)具體的特征,與應(yīng)用相關(guān)聯(lián)的選擇參數(shù)包含唯一算法標(biāo)識符和至少一個算法參數(shù),其中有:

      i)等于值‘01’的算法標(biāo)識符和相關(guān)聯(lián)的參數(shù),用于指示根據(jù)字符串進(jìn)行的唯一識別算法。該標(biāo)識符符合GlobalPlatform Card標(biāo)準(zhǔn),

      ii)等于值‘02’的算法標(biāo)識符和相關(guān)聯(lián)的參數(shù),用于指示根據(jù)二進(jìn)制掩碼進(jìn)行的唯一識別算法。該標(biāo)識符符合GlobalPlatform Card標(biāo)準(zhǔn),

      iii)在可能的情況下,第一預(yù)定值和第二預(yù)定值共用的算法標(biāo)識符和區(qū)分這兩個預(yù)定值的相關(guān)聯(lián)的參數(shù)。該標(biāo)識符在默認(rèn)應(yīng)用的選擇機制干預(yù)所述第一和第二預(yù)定值時實施,

      iv)等于與i)、ii)和iii)的標(biāo)識符不同的另一值的算法標(biāo)識符以及相關(guān)聯(lián)的參數(shù),所述相關(guān)聯(lián)的參數(shù)包括算法標(biāo)識符和根據(jù)i)和/或ii)和/或可能還有iii)的相關(guān)聯(lián)的參數(shù)的列表。該標(biāo)識符的值允許經(jīng)由相關(guān)聯(lián)的參數(shù)來定義例如尤其用于上述目標(biāo)應(yīng)用的至少兩種識別算法。

      這些不同設(shè)置允許保持與GlobalPlatform Card標(biāo)準(zhǔn)的兼容性。

      根據(jù)一種實施方式,所述消息是符合ISO 7816-4標(biāo)準(zhǔn)的應(yīng)用協(xié)議數(shù)據(jù)單元類型或APDU。

      根據(jù)一種實施方式,所述消息不同于由Javacard規(guī)范或等同物定義的SELECT[by name]命令。事實上,在命令不明確表述這種選擇時發(fā)生應(yīng)用的隱式選擇。

      根據(jù)一種實施方式,該方法還包括如下步驟:

      僅在安全元件中將應(yīng)用的參數(shù)設(shè)置為激活的和可選的、并被準(zhǔn)許訪問安全元件的通信接口(例如非接觸式)的情況下,選擇安裝在安全元件中的應(yīng)用。

      根據(jù)一種實施方式,由被選應(yīng)用執(zhí)行所接收的消息。該消息因此允許隱式選擇執(zhí)行該消息所需要的應(yīng)用。

      根據(jù)第二方面,一種被安裝在多應(yīng)用安全元件中的應(yīng)用的選擇方法,包括如下步驟,在安全元件中:

      接收至少一條消息;

      根據(jù)所接收的消息執(zhí)行應(yīng)用的選擇主過程;

      如果在主過程結(jié)束時未選擇任何應(yīng)用,那么選擇默認(rèn)應(yīng)用,

      在該方法中,默認(rèn)應(yīng)用的選擇包括如下步驟,在安全元件中:

      獲得被安裝在安全元件中一個或更多個應(yīng)用的有序列表,在存儲器中每個應(yīng)用與相應(yīng)的選擇參數(shù)相關(guān)聯(lián),該選擇參數(shù)被定義在符合GlobalPlatform Card標(biāo)準(zhǔn)被安裝的所述應(yīng)用的非接觸協(xié)議參數(shù)(例如通過GlobalPlatform中的值/標(biāo)簽‘A0’標(biāo)識)中;

      遍歷有序列表并驗證與被遍歷的應(yīng)用相關(guān)聯(lián)的選擇參數(shù)是否指示第一預(yù)定值;

      選擇其相關(guān)聯(lián)的選擇參數(shù)指示所述第一預(yù)定值的較高級別應(yīng)用。

      相應(yīng)地,本發(fā)明還涉及一種安全元件,包括存儲器中的多個應(yīng)用,以及:

      被配置為接收至少一條消息的通信接口;

      應(yīng)用選擇模塊,被配置為根據(jù)所接收的消息執(zhí)行應(yīng)用的選擇主過程,和如果在主過程結(jié)束時未選擇任何應(yīng)用,那么選擇默認(rèn)應(yīng)用;

      其中配置選擇用于選擇默認(rèn)應(yīng)用的模塊,以便:

      獲得被安裝在安全元件中的一個或更多個應(yīng)用的有序列表,在存儲器中每個應(yīng)用與相應(yīng)的選擇參數(shù)相關(guān)聯(lián),選擇參數(shù)被定義在符合GlobalPlatform Card標(biāo)準(zhǔn)被安裝的所述應(yīng)用的非接觸協(xié)議參數(shù)中;

      遍歷有序列表并驗證與被遍歷的應(yīng)用相關(guān)聯(lián)的選擇參數(shù)是否指示第一預(yù)定值;

      選擇其相關(guān)聯(lián)的選擇參數(shù)指示所述第一預(yù)定值的較高級別的應(yīng)用。

      本發(fā)明因此允許動態(tài)管理默認(rèn)可選應(yīng)用。這借助使用GlobalPlatform Card標(biāo)準(zhǔn)的識別算法參數(shù)中的特定值而獲得,其允許根據(jù)所安裝應(yīng)用的優(yōu)先級的順序指示待優(yōu)選地選擇的默認(rèn)應(yīng)用。

      事實上,如接下來描述的,使應(yīng)用激活/禁止或?qū)?yīng)用分配/取消分配可變優(yōu)先級的簡單動態(tài)操作允許以動態(tài)方式定義優(yōu)先的默認(rèn)可選應(yīng)用。

      在從屬權(quán)利要求中描述根據(jù)實施方式的方法和裝置的其它特征,實質(zhì)上借助方法術(shù)語進(jìn)行描述,這些特征可轉(zhuǎn)用于安全元件。包含本發(fā)明的安全元件可被整合或安置在如移動電話之類的更復(fù)雜的系統(tǒng)中。

      以舉例方式,移動電話可具有由配有安全元件的非接觸式通信接口使用的非接觸式通信天線。

      因此,可經(jīng)由非接觸式通信接口接收消息。

      在一種實施方式中,根據(jù)分配給所述應(yīng)用的優(yōu)先級來排序應(yīng)用的所述列表,在每個應(yīng)用安裝時將靜態(tài)優(yōu)先級分配給每個應(yīng)用,以及在安全元件的易失性存儲器中,將大于全部靜態(tài)優(yōu)先級的可變優(yōu)先級分配給最多一個應(yīng)用或一個應(yīng)用組(和經(jīng)由優(yōu)先權(quán)規(guī)則(如在GlobalPlatform標(biāo)準(zhǔn)中定義的),最終在該組內(nèi)僅有單一應(yīng)用具有該分配),和

      所述方法還包括將分配給第一應(yīng)用或第一應(yīng)用組的可變優(yōu)先級改變?yōu)榉峙浣o第二應(yīng)用或第二應(yīng)用組的分配改變步驟。

      可恰好在默認(rèn)應(yīng)用的新選擇過程之前執(zhí)行該改變。該配置示出有利的默認(rèn)可選應(yīng)用的動態(tài)和靈活管理。事實上,可借助使用專用API(應(yīng)用編程接口)的簡單midlet(借助MIDPJava平臺產(chǎn)生的應(yīng)用)實現(xiàn)可變優(yōu)先級特征的改變,而無需打開安全會話。反之,現(xiàn)有技術(shù)尤其是GlobalPlatform Card標(biāo)準(zhǔn),僅允許以強制方式定義單一默認(rèn)可選應(yīng)用(通過標(biāo)簽‘CF’)而不易于按需要改變,除了要通過需要打開安全會話的繁瑣操作刪除該默認(rèn)可選應(yīng)用之外。

      在一種實施方式中,被安裝在安全元件中的全部應(yīng)用呈現(xiàn)活躍狀態(tài)和非活躍狀態(tài)中的一種狀態(tài),在活躍(或激活;指被激活的應(yīng)用)狀態(tài)中,應(yīng)用是可選的以及在非活躍(或禁止;指被取消激活的應(yīng)用)狀態(tài)中,應(yīng)用不是可選的,和

      所述方法還包括將所安裝的除了一個呈現(xiàn)活躍狀態(tài)的應(yīng)用之外的全部應(yīng)用的狀態(tài)改變?yōu)榉腔钴S狀態(tài)的步驟。

      因此除了一個應(yīng)用,其它應(yīng)用均被取消激活。如果其具有指示所述第一預(yù)定值的選擇參數(shù),那么默認(rèn)選擇該應(yīng)用。因此鑒于應(yīng)用各自的選擇參數(shù)被預(yù)先配置以指示所述第一預(yù)定值,通過簡單的應(yīng)用激活/取消激活,上面的設(shè)置還示出默認(rèn)可選應(yīng)用的動態(tài)且靈活的管理。

      在一種實施方式中,該方法還包括在遍歷有序列表時,驗證與被遍歷的應(yīng)用相關(guān)聯(lián)的選擇參數(shù)是否指示第二預(yù)定值的步驟;

      在該方法中,如果驗證了與其中一個應(yīng)用相關(guān)聯(lián)的選擇參數(shù)指示所述第二預(yù)定值,那么所述較高級別的應(yīng)用選擇被禁止。特別地,如果選擇參數(shù)指示第一預(yù)定值,那么在驗證標(biāo)準(zhǔn)基礎(chǔ)上任何應(yīng)用均未被選擇。

      該設(shè)置改善默認(rèn)可選應(yīng)用的動態(tài)管理。

      在一種實施方式中,該方法包括如果在遍歷有序列表結(jié)束時未選擇任何較高級別的應(yīng)用,那么選擇預(yù)定的應(yīng)用。

      在一種實施方式中,與應(yīng)用相關(guān)聯(lián)的所述選擇參數(shù)由非接觸協(xié)議參數(shù)中的值‘83’標(biāo)識,所述非接觸協(xié)議參數(shù)由GlobalPlatform Card標(biāo)準(zhǔn)中的值‘A0’標(biāo)識。

      在一種具體實施方式中,所述第一預(yù)定值由算法標(biāo)識符和算法參數(shù)形成;并且形成第一預(yù)定值的所述標(biāo)識符不同于標(biāo)識符‘01’和‘02’,它們分別指明符合GlobalPlatform Card標(biāo)準(zhǔn)的根據(jù)字符串的識別算法和根據(jù)二進(jìn)制值的識別算法。

      根據(jù)具體的特征,由與所述第一預(yù)定值相同的算法識別符和不同的算法參數(shù)形成第二預(yù)定值。

      這些設(shè)置保持與GlobalPlatform Card標(biāo)準(zhǔn)的兼容性。

      根據(jù)一種實施方式,所接收的消息是通過Javacard規(guī)范或等同物定義的SELECT[by name]命令,和

      選擇主過程包括如果這樣的應(yīng)用存在于安全元件中,那么選擇在所接收的SELECT[by name]命令中標(biāo)識的應(yīng)用。

      因此在智能卡中應(yīng)用的無效隱式選擇后,進(jìn)行根據(jù)本發(fā)明第二方面的默認(rèn)應(yīng)用的改進(jìn)選擇方法。

      同樣,根據(jù)一種實施方式,所接收的消息不同于由Javacard規(guī)范或等同物定義的SELECT[by name]命令,并且與有序列表的每個應(yīng)用相關(guān)聯(lián)的選擇參數(shù)標(biāo)識待應(yīng)用于所接收的消息的至少一種識別算法,以確定相關(guān)聯(lián)的應(yīng)用是否可被選擇,和

      選擇主過程具有如下步驟,在借助識別算法遍歷有序列表且只要未選擇任何應(yīng)用時:

      對所接收的消息執(zhí)行由與被遍歷的應(yīng)用相關(guān)聯(lián)的選擇參數(shù)指示的一種或更多種識別算法;

      僅在其中一種識別算法的結(jié)果是肯定的情況下選擇被遍歷的應(yīng)用。

      因此在安全元件中應(yīng)用的無效隱式選擇后,進(jìn)行根據(jù)本發(fā)明第二方面的默認(rèn)應(yīng)用的改善選擇方法。如上面指示的,安全元件實際上獲得可包括一個或更多個應(yīng)用的有序列表,其中未對這些應(yīng)用定義任何識別算法。在該情況下,選擇參數(shù)可被認(rèn)為是無或空,以便允許實施接下來描述的處理。

      根據(jù)具體的特征,由所選應(yīng)用執(zhí)行不同于SELECT[by name]命令的所接收的消息。

      根據(jù)一種實施方式,所述消息是符合ISO 7816-4標(biāo)準(zhǔn)的應(yīng)用協(xié)議數(shù)據(jù)單元或APDU類型。

      根據(jù)一種實施方式,所述方法還包括如下步驟:

      僅在安全元件中將應(yīng)用的參數(shù)設(shè)置為激活的和可選的、且被準(zhǔn)許訪問安全元件的通信接口(例如非接觸式)的情況下,選擇安裝在安全元件中的應(yīng)用。

      本發(fā)明的目的還在于提供一種包括指令的計算機程序產(chǎn)品,當(dāng)程序在計算機上執(zhí)行時,所述指令適于實施前面所述方法之一的每個步驟。這樣的根據(jù)本發(fā)明的計算機程序產(chǎn)品具有與前面結(jié)合所述方法所揭示的優(yōu)點類似的優(yōu)點。

      附圖說明

      在以下由所附附圖示出的詳細(xì)描述中,本發(fā)明的其它特性和優(yōu)點將變得清楚,其中:

      -圖1a至1c示出根據(jù)GlobalPlatform標(biāo)準(zhǔn)的應(yīng)用的INSTALL命令中告知的非接觸式具體參數(shù);

      -圖2借助邏輯圖示出根據(jù)GlobalPlatform標(biāo)準(zhǔn)的安全元件中的不同的應(yīng)用選擇機制的管理;

      -圖3示出在實施GlobalPlatform標(biāo)準(zhǔn)時應(yīng)用的隱式選擇出現(xiàn)故障,尤其由于訪問安全元件的讀取器的異構(gòu)性的情況;

      -圖4示出圖1c模型上結(jié)合本發(fā)明實施方式的在安全元件中的應(yīng)用的安裝參數(shù)的信令的示例;

      -圖5示出通過本發(fā)明實施方式的實施,圖3情況下的應(yīng)用的隱式選擇的改善;和

      -圖6和6b借助邏輯圖示出根據(jù)本發(fā)明實施方式的基于圖3信令使用的安全元件中應(yīng)用選擇的管理。

      具體實施方式

      NFC(表示Near Field Communication-近場通信)型的非接觸運行的應(yīng)用在如智能卡(UICC或eUICC)、eSE等的安全元件領(lǐng)域中強勁發(fā)展。

      讀取器在安全元件附近發(fā)射電磁場,其本身被(在需要時以可移除方式)嵌入在移動裝置中(例如移動電話)。借助被設(shè)置在安全元件本身或者在移動裝置中且(例如經(jīng)由電接觸點)連接到安全元件的通信天線,電磁場可由設(shè)置在安全元件中的非接觸式通信接口檢測。

      非接觸式應(yīng)用的示例為準(zhǔn)許訪問公共運輸網(wǎng)的應(yīng)用:在訂閱時向訂戶提供安全元件,并且安全元件允許例如通過經(jīng)過配有非接觸式讀取器的框架來訪問運輸服務(wù)。

      現(xiàn)今,專用于城市運輸服務(wù)的安全元件在另一城市中是不可操作的,這是由于運輸網(wǎng)絡(luò)、服務(wù)運營商、讀取器和應(yīng)用是不同的。

      考慮到現(xiàn)今可訪問的大量服務(wù),用戶擁有相對應(yīng)的大量安全元件。因此需要設(shè)置其中安裝有多個應(yīng)用的安全元件。

      GlobalPlatform Card標(biāo)準(zhǔn)描述一種過程,用于發(fā)起在非接觸式接口上的交易,即在通常為非接觸式智能卡類型的安全元件與非接觸式讀取器之間交換消息,特別地用于多應(yīng)用移動平臺。

      該過程的目的在于標(biāo)識和選擇待使用的應(yīng)用,流量(讀取器接收的消息)被路由向該應(yīng)用。

      該過程包括應(yīng)用的顯式選擇過程和應(yīng)用的隱式選擇過程,這兩種過程相互排斥。最后,在這些選擇的主過程失敗的情況下,執(zhí)行默認(rèn)應(yīng)用的隱式選擇過程。

      具體地,顯式選擇過程具有通過讀取器發(fā)送的具有應(yīng)用標(biāo)識符AID的SELECT命令。在上述標(biāo)準(zhǔn)、但還在ISO/IEC 7816-4標(biāo)準(zhǔn)中定義APDU類型的命令。

      在接收命令時,安全元件中的GlobalPlatform環(huán)境(為標(biāo)準(zhǔn)中命名為”O(jiān)PEN“的環(huán)境)借助AID在所安裝應(yīng)用列表中定位目標(biāo)應(yīng)用。

      然后,如果確定位置的目標(biāo)應(yīng)用在GlobalPlatform標(biāo)準(zhǔn)的意義上是激活的(根據(jù)標(biāo)準(zhǔn)為ACTIVATED)和可選的,那么該目標(biāo)應(yīng)用成為用于選擇的有效候選者,并且被配置為訪問非接觸式接口。

      如果確定位置的應(yīng)用不是有效候選者,那么OPEN繼續(xù)尋找另一有效候選者。

      在確認(rèn)以上條件的情況下,OPEN于是選擇有效的目標(biāo)應(yīng)用。如果該有效目標(biāo)的應(yīng)用拒絕選擇,則只要還未達(dá)到列表末端,OPEN就嘗試定位下一個應(yīng)用,該下一個應(yīng)用通過返回以上定位步驟來驗證AID。

      反之,隱式選擇過程開始于接收消息,該消息不同于顯式地標(biāo)識目標(biāo)應(yīng)用的命令,因此不同于以上引入的SELECT命令。事實上,該過程專用于不以SELECT命令開始的會話或交易。

      第一會話或交易消息是在基礎(chǔ)邏輯信道上接收的,例如若其涉及APDU類型的消息的話。作為變型,消息可為另外類型(非APDU),例如在DESFire標(biāo)準(zhǔn)中使用的命令。

      如果存在,那么隱式選擇過程實施消息識別算法。

      為此,安全元件的GlobalPlatform環(huán)境、即OPEN獲得被安裝在安全元件中的一個或更多個應(yīng)用的有序列表。應(yīng)用可被與待應(yīng)用于消息的識別算法的定義相關(guān)聯(lián)地安裝,以確定該應(yīng)用是否可被選擇。

      根據(jù)分配給所述應(yīng)用的優(yōu)先級來為應(yīng)用列表排序。事實上,在安裝各個應(yīng)用時向其分配靜態(tài)優(yōu)先級。另外,大于所有靜態(tài)優(yōu)先級的可變優(yōu)先級可被分配給至多一個應(yīng)用或應(yīng)用組(在該情況中,該組內(nèi)的優(yōu)先級規(guī)則最終實際上使得僅一個應(yīng)用具有該可變優(yōu)先級的分配)。借助安全元件的易失性存儲器中的參數(shù)定義該可變優(yōu)先級,用于當(dāng)前通信會話期間。

      而且,該可變優(yōu)先級保持有效,直到應(yīng)用變?yōu)槔缁蛘呓範(fàn)顟B(tài)(“deactivated”),或例如直到重啟卡或“卡復(fù)位”(尤其是非接觸式接口的復(fù)位),或例如直到切斷安全元件的電源(power off)為止。

      因此,OPEN遍歷有序列表以搜索以下應(yīng)用,該應(yīng)用(i)或者在GlobalPlatform標(biāo)準(zhǔn)意義上是可選的,(ii)或者是ACTIVATED且配置用于訪問非接觸式接口,和(iii)或者與提供關(guān)于由安全元件接收的消息的肯定結(jié)果的消息識別算法相關(guān)聯(lián)。因此在所述接收的消息上執(zhí)行識別算法。

      在驗證這些條件的情況下,OPEN于是選擇應(yīng)用。如果該應(yīng)用拒絕選擇,那么只要元任何應(yīng)用被實際選擇或者只要未到達(dá)列表末端,OPEN就繼續(xù)遍歷列表。

      如標(biāo)準(zhǔn)中所定義的,消息識別算法提供標(biāo)識和選擇非接觸式應(yīng)用的能力,該應(yīng)用不支持基于AID、基于非接觸式接口的基礎(chǔ)邏輯信道的SELECT命令。應(yīng)用的隱式選擇被在對應(yīng)于與該應(yīng)用相關(guān)聯(lián)定義的(在算法結(jié)果是肯定的情況下)一組參數(shù)的接收的消息(或該消息的一部分)上實施。

      在安裝相對應(yīng)的應(yīng)用時實現(xiàn)該算法和相關(guān)聯(lián)參數(shù)的定義。用于在安全元件中裝載并安裝應(yīng)用的流程基于上述標(biāo)準(zhǔn)中定義的INSTALL命令。該命令包含大量允許應(yīng)用運行的參數(shù)、以及尤其是專用于與其非接觸式接口一起使用的參數(shù)。消息識別算法的定義是后面這些參數(shù)的一部分。

      圖1a表示應(yīng)用的INSTALL命令中告知的非接觸式特定參數(shù)。以結(jié)構(gòu)TLV(tag-length-value,即,標(biāo)簽-長度-值)形式列出的這些參數(shù)包含由標(biāo)簽‘A0’標(biāo)識、其本身以TLV結(jié)構(gòu)形式定義且在圖1b中表示出的非接觸式協(xié)議參數(shù)。

      在后面這些參數(shù)中,定義消息識別算法的參數(shù)由標(biāo)簽‘83’標(biāo)識且在文件“GlobalPlatform Contactless Services Card Specification v2.2-Amendment C Version 1.1.1”的第6.5章節(jié)中被詳細(xì)定義。

      這些參數(shù)是如圖1c所示的格式LV(length-value,即,長度-值)。尤其是,其值包括唯一算法標(biāo)識符和至少一個算法參數(shù),其中:

      i)等于值‘01’的算法標(biāo)識符和相關(guān)聯(lián)參數(shù),用于通過字符串指明唯一識別算法。附圖中提供實施的細(xì)節(jié);

      ii)等于值‘02’的算法標(biāo)識符和相關(guān)聯(lián)參數(shù),用于通過二進(jìn)制掩碼指明唯一識別算法。附圖中提供實施的細(xì)節(jié)。

      借助以下TLV結(jié)構(gòu),該格式僅允許定義與所安裝的應(yīng)用相關(guān)聯(lián)的單個識別算法:

      標(biāo)簽[EF](長度)標(biāo)簽[A0](長度)標(biāo)簽[83](長度)[算法ID-算法參數(shù)]

      以下兩種TLV結(jié)構(gòu)中僅一個或另一個可變化:

      [EF](長度)[A0](長度)[83](長度)[[01][偏移][圖案]]

      [EF](長度)[A0](長度)[83](長度)[[02][參考數(shù)據(jù)][掩碼]]

      如果無論根據(jù)SELECT類型命令進(jìn)行的顯式選擇主過程,還是根據(jù)消息識別算法進(jìn)行的隱式選擇主過程,都不導(dǎo)致應(yīng)用的實際選擇,則實施默認(rèn)應(yīng)用的選擇過程。

      為此,OPEN尋找作為候選者的已安裝應(yīng)用用于“默認(rèn)”選擇而不管接口的類型。

      該應(yīng)用為已被安裝于安全元件中的應(yīng)用,其具有在GlobalPlatform標(biāo)準(zhǔn)中標(biāo)記為‘CF’、被正確聲明用于所使用的邏輯信道的隱式選擇參數(shù)。在缺少這樣的配有正確聲明的‘CF’參數(shù)的應(yīng)用的情況下,如果所使用的邏輯信道為基礎(chǔ)邏輯信道,那么具有標(biāo)準(zhǔn)的意義上的”卡復(fù)位”權(quán)限的應(yīng)用就被標(biāo)識。

      如果被如此標(biāo)識的‘CF’或“卡復(fù)位”應(yīng)用是ACTIVATED,則該應(yīng)用成為用于選擇的有效候選者,其在標(biāo)準(zhǔn)的意義上是可選擇的并且被配置為訪問非接觸式接口。

      在缺少用于選擇的有效候選者的情況下,任何應(yīng)用未被選擇。如果所使用的邏輯信道是基礎(chǔ)信道,其保持開放。

      否則,應(yīng)用被OPEN有效地選擇。如果該應(yīng)用拒絕選擇,那么任何應(yīng)用未被選擇,且如果邏輯信道是基礎(chǔ)邏輯信道,那么其保持開放。

      當(dāng)然,如果基礎(chǔ)邏輯信道保持開放而無任何應(yīng)用被選擇,那么當(dāng)在該相同基礎(chǔ)邏輯信道上接收新消息時(例如APDU命令),上面描述的機制被重新執(zhí)行。

      圖2借助邏輯圖示出安全元件中的這些不同的應(yīng)用選擇機制的管理。

      圖2的算法具有分別對應(yīng)以下的三個處理塊:

      -根據(jù)所接收的SELECT命令進(jìn)行的顯式選擇主過程。即塊2A;

      -借助消息識別算法進(jìn)行的隱式選擇主過程。即塊2B;

      -默認(rèn)應(yīng)用的選擇過程。即塊2C。

      在步驟200,首先在非接觸式邏輯信道上接收APDU消息或命令。在步驟205中,確定其是否涉及指示AID的SELECT命令。

      在肯定情況下,在步驟210中遍歷被安裝在安全元件中的應(yīng)用的有序列表(根據(jù)各自的優(yōu)先級)以確定用于選擇的有效候選者。

      在步驟215中,確定是否已標(biāo)識至少一個有效候選者(如果有多個,則它們被按列表210的優(yōu)先級順序考慮)。

      在否定情況下,處理過程繼續(xù)到接下來描述的步驟230。

      在肯定情況下,OPEN在步驟220中從較高優(yōu)先級進(jìn)行有效候選者的選擇。如果從選擇的應(yīng)用接收到拒絕選擇(測試225),則處理驗證是否還有未被處理的候選者(步驟226),以便考慮按照列表210的優(yōu)先級順序的接下來的有效候選者(步驟227)。然后對該新候選者進(jìn)行選擇操作220。

      如果在步驟226中不留有任何待考慮的有效候選者,則在步驟228中確定當(dāng)前管理規(guī)則。事實上,可使用不同的管理規(guī)則。例如第一規(guī)則R1可適用于,如果全部有效候選者均拒絕其選擇,那么根據(jù)塊2C進(jìn)行默認(rèn)應(yīng)用的選擇,即繼續(xù)進(jìn)行接下來描述的在步驟230的處理。

      如果全部有效候選者均拒絕其選擇,發(fā)送錯誤消息SW=6999(步驟229),那么第二規(guī)則R2是適合的。根據(jù)該第二規(guī)則,如果存在有效候選者,那么不考慮任何默認(rèn)應(yīng)用的選擇。

      如果在步驟220中未接收任何拒絕(測試225的輸出“是”),則應(yīng)用被有效地選擇并且處理結(jié)束于步驟295。

      在測試205為否定的情況下(SELECT命令的不同接收APDU),則采用隱式選擇過程,包括在步驟235時遍歷被安裝的應(yīng)用的有序列表,以確定有效候選應(yīng)用(其中尤其是識別算法給出關(guān)于在步驟200接收的APDU消息的肯定結(jié)果)。

      以與步驟215-229相似的方式,這些不同的候選應(yīng)用被測試(步驟240然后250-252)以選擇(步驟245),直到有效選擇其中之一(輸出295)。如果無任何選擇是有效的,那么全部有效候選應(yīng)用已被測試(測試251是否定的),在應(yīng)用規(guī)則R2的情況下發(fā)送錯誤消息SW=6999(步驟254);否則(應(yīng)用規(guī)則R1),處理進(jìn)行到步驟230,標(biāo)識“默認(rèn)”應(yīng)用的選擇過程的開始。同樣如果不存在任何有效候選者(測試240是否定的),則處理進(jìn)行到步驟230。

      在步驟230中,因此判斷是否已聲明“默認(rèn)”應(yīng)用,即所安裝的應(yīng)用之一是否已被通過相關(guān)聯(lián)的參數(shù)‘CF’指明或具有“卡復(fù)位”權(quán)限。

      在否定情況下,最終未選擇任何應(yīng)用,且在處理結(jié)束前(步驟295),在步驟255中,如果邏輯信道是基礎(chǔ)邏輯信道,那么該基礎(chǔ)邏輯信道保持開放。

      在肯定情況下,測試應(yīng)用以進(jìn)行選擇(步驟260)。如果從如此選擇的應(yīng)用接收到選擇拒絕(測試265),那么最終未選擇任何應(yīng)用,并且在步驟255中,在處理結(jié)束前(步驟295),如果邏輯信道是基礎(chǔ)邏輯信道,那么該基礎(chǔ)邏輯信道保持開啟。反之,如果未接收任何拒絕(測試265是肯定的),那么應(yīng)用被有效地選擇并且處理結(jié)束于步驟295。

      然而這些機制不是令人滿意的。

      眾所周知,部署的基礎(chǔ)架構(gòu)通常隨時間變化而變?yōu)楫悩?gòu)的。這尤其是允許訪問公共運輸服務(wù)的基礎(chǔ)架構(gòu)的情況,其中配有安全元件讀取器的訪問框架(用于訂閱)是被定期地但逐漸地更新、升級,并且不是全部基于相同通信格式(交易的發(fā)起的第一消息可根據(jù)不同讀取器而變化)。

      由于基礎(chǔ)架構(gòu)的發(fā)展(改變、升級),嵌入在安全元件中的相對應(yīng)的應(yīng)用顯得不再是可操作的。在安全元件中存在多個應(yīng)用的情況下,通過相關(guān)聯(lián)的識別算法進(jìn)行的ad hoc應(yīng)用的隱式選擇于是變得很難處理,特別地由于在應(yīng)用的安裝時同時只能定義單一算法(單一對{算法標(biāo)識符和相關(guān)聯(lián)參數(shù)}),因此限制了對于該智能卡的可操作的讀取器。

      在圖3的示例中,如果第一讀取器READER_1發(fā)送與SELECT命令不同類型的第一類型的命令COMMAND_1,以選擇所安裝的運輸應(yīng)用(APPLICATION_1),則其應(yīng)具有針對該COMMAND_1確定參數(shù)(或根據(jù)字符串圖案或根據(jù)二進(jìn)制掩碼)的識別算法,以執(zhí)行選擇。

      但是如果具有與第一讀取器READER_1不同的性能的另一讀取器READER_2(可為被全新安裝的讀取器),發(fā)送與COMMAND_1不同類型的命令COMMAND_2,以選擇相同的運輸應(yīng)用,那么該應(yīng)用不能被有效選擇,這是由于識別算法未被確定參數(shù)。

      對于根據(jù)與讀取器READER_1不同的格式(用于命令COMMAND_N)操作的其它讀取器READER_N產(chǎn)生相同的情況。

      然而,僅存在單一解決方案用于允許從不同于READER_1的另一讀取器隱式選擇該應(yīng)用,該解決方案包括重新安裝應(yīng)用或通過結(jié)合待使用的新讀取器的命令在本次定義識別算法(即相關(guān)聯(lián)的參數(shù))來實例化該應(yīng)用的新版本。

      或者由于需要總是重新安裝應(yīng)用、或者由于需要安裝相同應(yīng)用的大量實例以體現(xiàn)基礎(chǔ)架構(gòu)的全部異構(gòu)性,該解決方案不太現(xiàn)實,在該情況下可快速發(fā)生存儲器飽和的問題。

      因此存在改善該情況的需要,以便尤其在由于例如進(jìn)行中的配備導(dǎo)致的異構(gòu)基礎(chǔ)結(jié)構(gòu)的情況下提供安全元件的更大使用靈活性。

      另一方面,默認(rèn)應(yīng)用的隱式選擇也不是令人滿意的。

      由GlobalPlatform標(biāo)準(zhǔn)提出的機制僅允許借助參數(shù)‘CF’(或借助“卡復(fù)位”權(quán)限用于基礎(chǔ)邏輯信道)通過邏輯信道定義單一“默認(rèn)”應(yīng)用,在應(yīng)用選擇的主過程(隱式或顯式)失敗的情況下將選擇該唯一“默認(rèn)”二應(yīng)用。

      然而,可能期望根據(jù)使用情況、或隨時修改“默認(rèn)”應(yīng)用。但是,GlobalPlatform標(biāo)準(zhǔn)未提出任何允許將默認(rèn)應(yīng)用切換至另一個應(yīng)用的機制。

      因此可能的解決方案或者使用在嵌入安全元件的移動裝置上的midlet(表示Mobile Information Device profile,即用于嵌入式應(yīng)用的Java簡檔(Java profile))應(yīng)用、或者卸載聲明為“默認(rèn)”的應(yīng)用,以便借助參數(shù)‘CF’聲明新的應(yīng)用(在新安裝時)。

      然而借助于Midlet應(yīng)用要求將Midlet應(yīng)用的編輯證書存儲在移動裝置中,由于安全的原因這是很難實現(xiàn)的。

      卸載的方式還在尋找安全元件上的應(yīng)用的動態(tài)管理的情況下顯露問題。尤其是,卸載和重新安裝需要打開安全會話,實施繁瑣。

      因此還存在改善這種情況的需要,以允許動態(tài)管理在安全元件內(nèi)的默認(rèn)可選應(yīng)用,其不應(yīng)繁瑣和復(fù)雜。

      通過如前面概述和接下來參考具體實施方式揭示的本發(fā)明機制,上述兩種所識別的需要可被獨立或一起解決。

      發(fā)明人提出的一種解決方案為例如在GlobalPlatform中擴展現(xiàn)有信令,以準(zhǔn)許安全元件中應(yīng)用選擇的靈活性和動態(tài)管理,同時保持與實際定義的標(biāo)準(zhǔn)相兼容。

      尤其提出擴展根據(jù)GlobalPlatform定義消息識別算法的參數(shù)‘83’(在非接觸式協(xié)議的參數(shù)內(nèi))。為此,已存在的兩個算法標(biāo)識符‘01’和‘02’(圖1c)被用一個或更多個標(biāo)識符補充完整,所述一個或更多個標(biāo)識符分別允許改善通過識別算法進(jìn)行應(yīng)用的選擇或改善默認(rèn)應(yīng)用的動態(tài)管理。

      圖4示出圖1c模型上的在安全元件中的應(yīng)用的安裝的參數(shù)的信令的示例(即在INSTALL命令中),其中結(jié)合針對參數(shù)‘83’引入兩個新算法標(biāo)識符的本發(fā)明的實施方式。

      當(dāng)然,其它實施方式可考慮僅引入兩個新標(biāo)識符其中的一個。

      采用附圖上的值‘7E’(但標(biāo)準(zhǔn)中未使用的其它任何值可以適用)的第一算法標(biāo)識符允許如此安裝的應(yīng)用管理“默認(rèn)可選應(yīng)用”的身份。通過使用該新標(biāo)識符,因此可定義大量安裝的應(yīng)用為默認(rèn)可選的,而不再僅是單一應(yīng)用(由參數(shù)‘CF’指明或具有用于基礎(chǔ)邏輯信道的“卡復(fù)位”權(quán)限)。另外,定位該參數(shù),并且經(jīng)由使用例如MIDLET和/或應(yīng)用裝置CRS(表示GlobalPlatform標(biāo)準(zhǔn)中定義的Contactless Registry Service,即接觸式注冊表服務(wù))和/或CREL(表示GlobalPlatform標(biāo)準(zhǔn)中定義的Contactless Registry Event Listener,即非接觸式注冊表事件監(jiān)聽器),將其關(guān)聯(lián)到操縱例如應(yīng)用的可變優(yōu)先級、或例如應(yīng)用的激活/禁止的可能性,允許在安全元件中獲得應(yīng)用或默認(rèn)可選應(yīng)用的動態(tài)管理。

      與該新標(biāo)識符相關(guān)聯(lián)的算法參數(shù)允許具體地定義該“默認(rèn)可選”身份,例如通過提供對應(yīng)于”SET_SELECTION“身份的值‘01’。

      如在傳統(tǒng)處理中(圖2),按應(yīng)用優(yōu)先級順序遍歷應(yīng)用列表(步驟235,兼顧靜態(tài)優(yōu)先級和可變優(yōu)先級),可借助參數(shù)‘7E’,實現(xiàn)較高級別的應(yīng)用選擇(換句話說,首先被遍歷的應(yīng)用),其中相關(guān)聯(lián)的選擇的參數(shù)指示預(yù)期值,此處為‘7E01’。這一點在下文聯(lián)系圖6和6b進(jìn)行描述。當(dāng)然,正如子值‘7E’僅為示例,另一子值‘01’也僅為示例,并且其它可用的值可作為變型使用。

      在一種實施方式中,還在選擇參數(shù)的值基礎(chǔ)上定義較高級別的應(yīng)用的該選擇功能的禁止身份。為了允許便于管理,該禁止身份可被定義在任何應(yīng)用上(例如新安裝在卡中的應(yīng)用),這避免了具有“默認(rèn)可選”身份的已安裝應(yīng)用的刪除操作。

      該禁止身份可通過為選擇參數(shù)使用另一值獲得,例如‘00’用于如圖所示的“CANCEL_SELECTION”身份。因此,如果與被遍歷應(yīng)用相關(guān)聯(lián)的選擇參數(shù)指示‘7E00’,那么所述較高級別的應(yīng)用的選擇是禁止的。特別地,如果選擇參數(shù)等于‘7E01’,那么在驗證標(biāo)準(zhǔn)基礎(chǔ)上未選擇任何應(yīng)用。再次地,正如子-值‘7E’僅為示例,另一子值‘00’也僅為示例,以及其它可用的值可作為變型使用。

      在該選擇機制禁止的情況下以及同樣地如果這不導(dǎo)致應(yīng)用的選擇,則如果使用管理規(guī)則R1,那么實施默認(rèn)應(yīng)用的傳統(tǒng)選擇算法(根據(jù)GlobalPlatform)。如前面所述,在全部有效候選應(yīng)用的拒絕選擇的情況下,規(guī)則R2的使用可致使發(fā)送消息‘6999’。

      本發(fā)明的該實施方式中引入的第二算法標(biāo)識符采用圖上的值‘7F’(但任何其它未使用的值可以是適用的)。其允許指示要應(yīng)用于所接收的消息的至少兩種消息識別算法,以確定相關(guān)聯(lián)的應(yīng)用是否可被選擇。由下文參考圖6和6b詳細(xì)描述的該機制因此允許異構(gòu)基礎(chǔ)架構(gòu)設(shè)備(讀取器)更大靈活性地選擇相同應(yīng)用。

      通過與該新標(biāo)識符相關(guān)聯(lián)的算法參數(shù)、通過GlobalPlatform中定義的兩個或更多個成對項[算法標(biāo)識符‘01’或‘02’-算法參數(shù)]來定義與已安裝的應(yīng)用相關(guān)聯(lián)的識別算法列表。

      在必要的情況下,如果實現(xiàn)基于以上標(biāo)識符‘7E’的默認(rèn)應(yīng)用的選擇機制,那么針對‘7F’的這些算法參數(shù)也可具有項[‘7E’-算法參數(shù)‘00’或‘01’],用于指示已安裝應(yīng)用的“默認(rèn)可選”身份。

      換句話說,如此引入的參數(shù)‘7F’允許多個對的級聯(lián)[算法標(biāo)識符-相關(guān)聯(lián)算法參數(shù)]用于所安裝的應(yīng)用。這表明應(yīng)用此后可被通過多種類型的命令以隱式方式選擇。這由采用圖3情況的圖5示出。

      此后,通過與分別針對COMMAND_1、COMMAND_2、......、COMMAND_N命令定義的多種識別算法相關(guān)聯(lián),安裝應(yīng)用APPLICATION_1。因此,在安全元件接收到COMMAND_2命令和COMMAND_N命令時,其中一個識別算法的結(jié)果為肯定的,從而準(zhǔn)許有效選擇應(yīng)用APPIICATION_1(如果該應(yīng)用在安全元件中是激活的且可選的,而且被準(zhǔn)許訪問安全元件的非接觸式接口)。

      圖4中提出的用于INSTALL命令的新格式此后通過TLV結(jié)構(gòu)提供豐富的應(yīng)用的選擇算法定義(與用于GlobalPlatform的當(dāng)前可能的兩種定義相比較),例如如下非窮舉性的定義(僅根據(jù)參數(shù)‘83’):

      [83](長度)[01][偏移][圖案]

      [83](長度)[02][參考數(shù)據(jù)][掩碼]

      [83](長度)[7E][00]

      [83](長度)[7E][01]

      [83](長度)[7F](長度)[01][偏移][圖案]

      [83](長度)[7F](長度)[02][參考數(shù)據(jù)][掩碼]

      [83](長度)[7F][02][7E][00]

      [83](長度)[7F][02][7E][01]

      [83](長度)[7F](長度)[01][偏移1][圖案1](長度)[01][偏移2][圖案2]

      因此定義兩種根據(jù)字符串的識別算法

      [83](長度)[7F](長度)[01][偏移][圖案][02][參考數(shù)據(jù)][掩碼]

      因此定義兩種識別算法,一種根據(jù)字符串,另一種根據(jù)二進(jìn)制掩碼

      [83](長度)[7F](長度)[01][偏移][圖案][02][7E][00]

      [83](長度)[7F](長度)[01][偏移][圖案][02][7E][01]

      [83](長度)[7F](長度)[01][偏移1][圖案1](長度)[01][偏移2][圖案2]

      [02][7E][01](長度)[02][參考數(shù)據(jù)1][掩碼1]

      因此混合根據(jù)字符串和根據(jù)二進(jìn)制掩碼的三種識別算法

      [83](長度)[7F](長度)[02][參考數(shù)據(jù)1][掩碼1](長度)[02][參考數(shù)據(jù)2][掩碼2]...(長度)[02][參考數(shù)據(jù)n][掩碼n]

      因此定義n種根據(jù)二進(jìn)制掩碼的識別算法

      [83](長度)[7F](長度)[01][偏移1][圖案1](長度)[01][偏移2][圖案2]...(長度)[01][偏移n][圖案n]

      因此定義n種根據(jù)字符串的識別算法

      [83](長度)[7F](長度)[01][偏移1][圖案1](長度)[01][偏移2][圖案2]...(長度)[01][偏移n][圖案n](長度)[02][參考數(shù)據(jù)1][掩碼1](長度)[02][參考數(shù)據(jù)2][掩碼2]...(長度)[02][參考數(shù)據(jù)m][掩碼m]

      如此混合n種根據(jù)字符串的識別算法和m種根據(jù)二進(jìn)制掩碼定義的識別算法。

      當(dāng)然,多種其它定義是可能的。

      要注意到算法標(biāo)識符的“條件的”存在指示它們相互排斥的。換句話說,應(yīng)存在這些標(biāo)識符中的僅一個標(biāo)識符。

      算法‘7F’中的參數(shù)“可選的”存在指示對其使用無任何限制。

      圖6和6b借助流程圖示出根據(jù)本發(fā)明實施方式的基于圖5的信令使用的安全元件中的應(yīng)用選擇管理。

      采用與圖2步驟中相同的附圖標(biāo)記的步驟與圖2的步驟相同。

      圖6和6b的算法具有四個處理塊,分別對應(yīng)于:

      -根據(jù)所接收的SELECT命令進(jìn)行的顯式選擇主過程。即塊2A,與圖2相同;

      -借助消息識別算法進(jìn)行的隱式選擇主過程。即塊6B,在本發(fā)明實施方式中,其應(yīng)處理前面提及的擴展‘7F’。在未實施擴展‘7F’時,該塊6B可對應(yīng)于塊2B;

      -根據(jù)本發(fā)明實施方式的默認(rèn)應(yīng)用的隱式選擇過程。即基于前面提及的擴展‘7E’的塊6D。在未實施擴展‘7F’時,該塊6D可被省略(例如如同圖2上的設(shè)置那樣);

      -默認(rèn)應(yīng)用的選擇過程。即塊2C,與圖2相同。

      具體地,APDU消息接收步驟200和確定是否涉及SELECT命令的步驟205與圖2步驟200和步驟205相同。在SELECT命令情況下,以與圖2相同的方式實施顯式選擇主過程2A。如果該主過程2A結(jié)束時實際上未選擇任何應(yīng)用(包括未檢測到任何候選應(yīng)用的情況),將如下面描述那樣實施默認(rèn)應(yīng)用的隱式選擇過程6D。為此,在步驟600中,指示作為該隱式選擇6D目標(biāo)的默認(rèn)應(yīng)用的變量TARGET_UIS被初始化為NULL,并且指示選擇主過程屬性的變量PR被設(shè)為FALSE(如果所使用的主過程為顯式選擇過程,那么PR=FALSE;如果其涉及隱式選擇過程,那么PR=TRUE)。除了初始值NULL,變量TARGET_UIS可采用標(biāo)識已安裝的默認(rèn)應(yīng)用的值(例如經(jīng)由應(yīng)用的唯一標(biāo)識符),或在該選擇過程6D禁止時采用CANCEL值。然后將在步驟235遍歷應(yīng)用的有序列表。

      如果是相反情況,所接收的消息不是SELECT命令,那么實施隱式選擇主過程6B。

      其具有初始化變量TARGET_UIS(為NULL)和將PR初始化為TRUE(以指示實施隱式選擇主過程)的初始步驟602。然后在步驟235中遍歷應(yīng)用的有序列表。

      只要存在未被遍歷的候選應(yīng)用(較高優(yōu)先級應(yīng)用的初始選擇605,然后測試251),就按列表順序處理候選應(yīng)用中的每一個(選擇252)。為此,確定是否存在與當(dāng)前被遍歷的應(yīng)用相關(guān)聯(lián)的識別算法并且該識別算法是否還未被處理(測試610)。實際上其涉及測試算法標(biāo)識符(屬于參數(shù)‘83’)是否還未被處理。

      在否定的情況下,經(jīng)由步驟251和252轉(zhuǎn)向下一個候選應(yīng)用。

      如果這樣標(biāo)識符還未被處理,則在步驟615中確定其值。在值無效的情況下(即不同于‘01’、‘02'、‘7E'或‘7F’),則返回步驟251以處理還未被考慮的候選應(yīng)用。

      如果其值為‘7F’,則返回步驟610以考慮被定義在與擴展‘7F'相關(guān)聯(lián)的參數(shù)中的不同對[算法標(biāo)識符-相關(guān)聯(lián)的算法參數(shù)]。

      如果其值為常規(guī)值中的一個‘01’或‘02’,則在步驟620中測試PR值以確定是否適時執(zhí)行隱式選擇主過程6B。事實上,根據(jù)GlobalPlatform標(biāo)準(zhǔn),該隱式選擇主過程是與顯式選擇主過程2A相排斥的。此外,如果PR=FALSE(在步驟600中定義),則不應(yīng)執(zhí)行根據(jù)字符串或二進(jìn)制掩碼進(jìn)行的消息識別算法。因此,在測試620(PR=TRUE?)為否定的情況下,過程返回步驟610以便遍歷全部備定義用于當(dāng)前應(yīng)用的標(biāo)識符并確定該應(yīng)用是否可被默認(rèn)選擇(由于經(jīng)由標(biāo)識符‘7E’定義)。

      反之,如果測試620為肯定的情況,這表明未執(zhí)行任何顯示選擇主過程2A,測試625用于區(qū)分兩個標(biāo)識符‘01’和‘02'以便對輸入端接收(步驟200)的消息執(zhí)行相應(yīng)的識別算法(分別為步驟630和635)。接下來的步驟640,包括確定算法執(zhí)行結(jié)果在GlobalPlatorm標(biāo)準(zhǔn)的意義上是否是肯定的,在該情況下,OPEN在步驟245中測試當(dāng)前應(yīng)用的選擇。根據(jù)所獲得的結(jié)果(是否拒絕選擇-測試250),處理結(jié)束于步驟295(如果有效選擇)或繼續(xù)到步驟610(如果拒絕選擇)。

      如果在步驟640中算法執(zhí)行結(jié)果是否定的,那么處理直接繼續(xù)進(jìn)行步驟610。

      這樣,隱式選擇主過程6B終止,在其過程中,只要未有效地選擇任何應(yīng)用,在選擇結(jié)束時已遍歷和測試列表的每個應(yīng)用,如果與該應(yīng)用相關(guān)聯(lián)地定義的消息識別算法被證明為肯定的話。

      如果最后在選擇主過程2A和6B的過程中的一個或另一個過程中均未選擇任何應(yīng)用,那么在使用管理規(guī)則R1時(測試253)發(fā)起默認(rèn)應(yīng)用的隱式選擇過程6D。否則,發(fā)送消息‘6999’(步驟254)。

      默認(rèn)應(yīng)用的隱式選擇過程6D由兩部分構(gòu)成,一部分被嵌入在遍歷被針對有序列表的應(yīng)用而定義的全部識別算法的循環(huán)中,另一部分利用該循環(huán)的結(jié)果。

      由于隱式選擇主過程6B失敗,所以在循環(huán)251-252過程中已測試列表的全部應(yīng)用。

      對于每個被遍歷的應(yīng)用,如果在步驟615中被測試的算法標(biāo)識符為‘7E’,那么在步驟645中測試相關(guān)聯(lián)參數(shù)的值。

      如果該值為‘CANCEL_SELECTION’,則將變量TARGET_UIS設(shè)為‘CANCEL',以便根據(jù)由本發(fā)明提出的過程6D使默認(rèn)應(yīng)用的選擇禁止。這涉及步驟650,該步驟后處理返回步驟610。

      如果與標(biāo)識符‘7E’相關(guān)聯(lián)的參數(shù)的值為‘SET_SELECTION',則在步驟655中測試變量TARGET_UIS的值。

      如果變量TARGET_UIS的該值為‘CANCEL'(步驟650中設(shè)的值)或應(yīng)用的標(biāo)識符‘XXXX’(測試輸出“否”),那么處理轉(zhuǎn)向接下來的在步驟610的識別算法。

      如果該值為‘NULL',則當(dāng)前應(yīng)用為所遍歷列表中較高級別的應(yīng)用,對于該應(yīng)用,與‘7E’相關(guān)聯(lián)的參數(shù)值為‘SET_SELECTION',即用于默認(rèn)隱式選擇的較高級別應(yīng)用。而且,在步驟660中,變量TARGET_UIS采用當(dāng)前應(yīng)用的標(biāo)識符值‘XXXX'。然后處理繼續(xù)進(jìn)行步驟610。

      最后,在已遍歷全部應(yīng)用時(測試605輸出“否”),變量TARGET_UIS可采用三個值:

      -如果未針對具有值‘CANCEL_SELECTION'或‘SET_SELECTION'的應(yīng)用定義任何算法‘7E’,那么采用值‘NULL';

      -如果至少一個應(yīng)用具有‘7E’類型的相關(guān)聯(lián)識別算法(參數(shù)為‘CANCEL_SELECTION'),那么采用值‘CANCEL'。在該情況下,不應(yīng)使用基于標(biāo)識符‘7E’的本發(fā)明的該機制來默認(rèn)選擇任何應(yīng)用;和

      -采用較高級別應(yīng)用的標(biāo)識符‘XXXX',對于該應(yīng)用而言相關(guān)聯(lián)算法‘7E’具有設(shè)為‘SET_SELECTION'的參數(shù)。在該情況下,沒有安裝任何具有使默認(rèn)應(yīng)用的隱式選擇機制6B禁止的相關(guān)聯(lián)的‘7E’參數(shù)的應(yīng)用。

      考慮到這些可能的各種不同值,過程6B接下來包括在步驟665之后的確定變量TARGET_UIS是否標(biāo)識應(yīng)用(值‘XXXX’)。如果是這種情況,在與步驟220和245相似的步驟670中測試該應(yīng)用以進(jìn)行選擇。在成功的情況下(測試680),處理結(jié)束(步驟295)。

      在失敗的情況下(測試680)或如果TARGET-UIS不指明應(yīng)用,則處理繼續(xù)進(jìn)行根據(jù)GlobalPlatform傳統(tǒng)機制、尤其基于‘CF’參數(shù)和/或“卡復(fù)位”權(quán)限進(jìn)行的默認(rèn)應(yīng)用的選擇過程2C。如果該過程失敗,則在處理結(jié)束(步驟295)之前,在步驟255中,如果邏輯信道是基礎(chǔ)邏輯信道,那么其保持開放。

      上面可見標(biāo)簽‘7E’允許將默認(rèn)應(yīng)用的隱式選擇擴展至更大可能數(shù)量的應(yīng)用。該標(biāo)簽與可變優(yōu)先權(quán)機制的結(jié)合獲得默認(rèn)選擇的應(yīng)用的管理中的動態(tài)和靈活的優(yōu)點。

      事實上,配有可變優(yōu)先級并具有等于‘01’的標(biāo)簽‘7E'的應(yīng)用是默認(rèn)選擇的。然而該可變優(yōu)先級可借助簡單的midlet容易地被改變(尤其是不借助安全會話):例如,一種用法可打開主機裝置中的交互菜單并選擇希望隱式地成為默認(rèn)可選的應(yīng)用。因此,本發(fā)明允許以優(yōu)先方式容易地改變默認(rèn)選擇的應(yīng)用。

      以舉例的方式,聯(lián)合使用MIDLET和/或應(yīng)用裝置CRS和/或CREL允許定義并改變可變優(yōu)先級的屬性。

      CREL專用于安裝在安全元件上的非接觸式應(yīng)用。在其安裝過程中,這些應(yīng)用可參考CREL(經(jīng)由專用參數(shù)),即對照CREL注冊。借助該參考,CREL可直接作用于應(yīng)用、尤其是作用于操作這些應(yīng)用的注冊表,用來例如刪除應(yīng)用的可變優(yōu)先級字符、激活/禁止一個或多個應(yīng)用等。

      CRS專用于安裝在安全元件上的非接觸式應(yīng)用的管理。其向用戶提供的裝置尤其允許用戶取回全部應(yīng)用(單一應(yīng)用或應(yīng)用組)的列表、允許激活或禁止應(yīng)用、允許改變應(yīng)用在非接觸式接口上的優(yōu)先級或可變優(yōu)先級。

      除了經(jīng)由可變優(yōu)先級的動態(tài)管理之外,默認(rèn)選擇的應(yīng)用的動態(tài)管理同樣可依賴于在其它簡單機制。

      例如,用戶可經(jīng)由midlet請求裝置CREL和/或CRS用于使除了所期望的而且其標(biāo)簽‘7E’設(shè)置為‘01’的應(yīng)用之外的所有非接觸式應(yīng)用禁止。因此該應(yīng)用以優(yōu)先于具有標(biāo)簽‘CF’或“卡復(fù)位”屬性的全部應(yīng)用(通過接觸或非接觸)的方式是隱式可選的。

      在另一例子中,特定事件可經(jīng)由middlet和/或CRS和/或經(jīng)由CREL自動啟動,使除了具有設(shè)為‘01’的標(biāo)簽‘7E’的期望應(yīng)用之外的全部非接觸式應(yīng)用禁止。以示意性方式,該特定事件可為通過主機裝置獲得的地理位置事件,該事件允許將安全元件所處的地理區(qū)域的公共交通應(yīng)用設(shè)為激活和默認(rèn)可選的。

      前述示例表明,使用上面提出的一個或更多個擴展,用于已安裝應(yīng)用的非接觸式協(xié)議的參數(shù)的適當(dāng)參數(shù)選擇,提供在智能卡中的應(yīng)用的隱式選擇過程的改善了的并且更完整的控制,而無需具有應(yīng)用供應(yīng)商的證書或授權(quán)。

      所述示例僅為本發(fā)明的實施方式,本發(fā)明不限于這些實施方式。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1