CN106326791A - 从接收消息在安全元件中隐式选择应用的改进方法和系统 - Google Patents
从接收消息在安全元件中隐式选择应用的改进方法和系统 Download PDFInfo
- Publication number
- CN106326791A CN106326791A CN201610601333.9A CN201610601333A CN106326791A CN 106326791 A CN106326791 A CN 106326791A CN 201610601333 A CN201610601333 A CN 201610601333A CN 106326791 A CN106326791 A CN 106326791A
- Authority
- CN
- China
- Prior art keywords
- application
- parameter
- selection
- safety element
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 120
- 230000001976 improved effect Effects 0.000 title abstract description 4
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 62
- 238000004891 communication Methods 0.000 claims abstract description 25
- 230000008859 change Effects 0.000 claims description 13
- 230000003068 static effect Effects 0.000 claims description 11
- 238000009434 installation Methods 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 230000004069 differentiation Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 72
- 108091006146 Channels Proteins 0.000 description 30
- 238000007726 management method Methods 0.000 description 25
- 230000007246 mechanism Effects 0.000 description 25
- 238000012360 testing method Methods 0.000 description 25
- 230000004899 motility Effects 0.000 description 6
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 6
- 230000011664 signaling Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 241000208340 Araliaceae Species 0.000 description 3
- 101100269850 Caenorhabditis elegans mask-1 gene Proteins 0.000 description 3
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 3
- 235000003140 Panax quinquefolius Nutrition 0.000 description 3
- 230000004913 activation Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 235000008434 ginseng Nutrition 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000005672 electromagnetic field Effects 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/0004—Hybrid readers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/77—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/23—Reliability checks, e.g. acknowledgments or fault reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/60—Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Stored Programmes (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
Abstract
本发明涉及从接收消息在安全元件中隐式选择应用的改进方法和系统.本发明涉及通信和尤其在具有多种应用的安全元件中选择应用.本发明通过扩展消息识别算法定义的可能性、尤其在非接触协议参数中的参数‘83’内延伸GlobalPlatform标准。新标识符允许级联多种识别算法的定义,以便响应于安全元件与不同异构读取器的通信的GlobalPlatform的固有问题。
Description
技术领域
本发明涉及通信,尤其是允许在具有多个应用的安全元件中选择应用的机制的大体领域。本发明在管理嵌入式软件领域的标准的情况下具有特别的应用,其中以尤其通过文件“GlobalPlatform Card Specification Version 2.2.1”(GlobalPlatform Card说明书版本2.2.1)定义的GlobalPlatform Card标准为例。
背景技术
安全元件(“Secure Element”)可为智能卡类型的,例如以SIM卡的名称广泛用于移动网络领域中的UICC或eUICC卡(表示“embedded Universal Integrated CircuitCard”,嵌入式通用集成电路卡),或者为eSE(表示“embedded Secure Element”,嵌入式安全元件)类型的。以通常方式,安全元件可以是可移除的,例如被嵌入在智能卡类型的便携移动装置、移动电话、汽车等中,或为固定式或为便携式。其具有至少一个微处理器和至少一个存储器。
以传统方式,这样的安全元件具有可在一个或更多个通信信道上与外部通信的一个或更多个应用,例如针对支付外部终端的支付应用、针对移动终端的移动电话应用、针对城市网络外部读取器的城市运输应用等。
应用被配置为处理从外部终端或装置接收的命令和用于生成相关联的响应并将其发送给外部终端或装置。
安全元件的通信智能化和通信资源被限制,通常一次仅一个应用是激活的,即被选择用于接收和处理在发生激活的通信信道上输入的接下来的命令(因此由外部终端传送)。
为了允许该选择,标准通常通过定义应用选择命令来实施应用的显式选择,应用选择命令通常是借助被命名为AID的唯一应用标识符来标识待选择的应用的SELECT命令的版本,AID表示“Application Identifier(应用标识符)”。
然而存在不支持通过AID进行SELECT选择的机制的应用。因此开发出其它机制以克服该问题并允许在接收消息的安全元件中标识和隐式选择这些应用,通常为APDU形式(unité de donnée de protocole d’application,应用协议数据单元)。
GlobalPlatform Card标准规定例如在需要时定义针对给定应用在其安装时的消息识别算法。尤其是,建议使用互为变型的两种算法:通过字符串的识别算法和通过二进制掩码的识别算法,如在文件“GlobalPlatform Contactless Services CardSpecification v2.2-Amendment C Version 1.1.1”(“GlobalPlatform非接触式服务卡规范v2.2-修正C版本1.1.1”)中所解释的。
因此,如果安全元件中当前没有选择任何应用,则消息的接收触发执行与应用相关联的识别算法。根据优先级顺序一个接一个地测试这些应用。该顺序通常基于在应用安装时分配给应用的静态优先级(通常根据安装顺序)。
然而在GlobalPlatform标准中,存在允许为单一应用或为应用组(在该情况下,该组内部的优先级规则最终使得仅一个应用将实际上具有该可变优先级的分配)声明可变优先级的工具,该可变优选级取代静态优先级。可变优选级被存储在易失性存储器中用于通信的当前会话期间,直到应用转向例如或者禁止状态(“deactivated”),或例如直到重启卡或”卡复位”(“Card Reset”)(尤其非接触式接口的复位),或例如直到切断安全元件的电源(power off)为止。
在借助算法(即所得结果是预期的:对于通过字符串的识别算法,在图案和部分消息之间的二进制对应;对于通过二进制掩码的识别算法,等于0的结果)识别消息的情况下,相关联应用被选择用于执行所接收的消息。
如果通过借助SELECT命令的选择的显式机制或者通过借助与所安装应用相关联的识别算法的选择的隐式机制最终未选择任何应用,则建议使用应用的默认选择过程。
在GlobalPlatform Card标准范围内,可借助参数‘CF’对每个非接触式逻辑信道定义默认应用,即隐式选择。只要默认应用被声明为诸如(‘CF’)、且被声明是标准意义上可选择和激活的,那么该默认应用被选择。
GlobalPlatform Card标准内设置的补充级别的默认应用导致在缺少利用参数‘CF’声明为”默认”的应用的情况下,那么具有”卡复位”权限的应用(其为唯一的)被选择,如果后者存在的话。然而”卡复位”权限仅对基础逻辑信道有效(标记为‘0’)。
安全元件中的这种应用选择机制不是没有缺点。
在其中使用安全元件和目标应用的基础架构可以被证实是不均匀的。例如,在公共运输网络的基础架构中,可安装装配有新读取器的新访问框架且可与不必须有相同消息格式的旧一代读取器共存。应用的隐式选择的实际机制不允许接受这种非均匀性,除非读取器的一部分不再可操作。
在使用灵活性的情况下,因此存在改善安全元件上的应用的隐式选择的需要。
根据标准,默认应用的选择机制被限制在用于逻辑信道的单一应用,该应用借助参数‘CF’或者借助”卡复位”权限被声明用于基础逻辑信道。
为允许指明新的默认应用,需要删除当前定义的默认应用的字符‘CF’或”卡复位”。然而,在所安装应用的使用寿命期间参数‘CF’或”卡复位”权限是不可以改变的。因此可以证实需要删除该应用并通过正确地配置参数‘CF’或通过向其赋予”卡复位”权限来安装新的应用。
为了实施这些操作,进行使用密钥组开启安全信道并执行安全过程。该多种操作是繁琐的,并且因此妨碍安全元件中默认可选应用的动态管理。
在使用灵活性的情况下,因此存在改善安全元件上声明和选择默认应用的需要。
发明内容
本发明旨在解决这些缺点的全部或一部分。
根据本发明的第一方面,一种选择被安装在多应用安全元件中的目标应用的方法,包括如下步骤,在安全元件中:
a)接收至少一条消息;
b)获得存储器中与目标应用相关联的选择参数,选择参数指示待应用于所接收的消息的至少两种消息识别算法,用于确定目标应用是否能被选择;
c)对所接收的消息执行由与目标应用相关联的选择参数指示的识别算法;
d)仅在其中一种识别算法的结果是肯定的情况下选择目标应用。
相应地,本发明还涉及一种安全元件,包括:在存储器中的多个应用,以及:
被配置为接收至少一条消息的通信接口;
参数获得模块,被配置为获得在存储器中与目标应用相关联的选择参数,选择参数指示待应用于所接收的消息的至少两种消息识别算法以确定目标应用是否能被选择;
处理器,被配置为对所接收的消息执行由与目标应用相关联的选择参数指示的识别算法;
应用选择模块,被配置为仅在其中一个识别算法的结果是肯定的情况下选择目标应用。
本发明为安装在安全元件中的应用提供更大的使用灵活性。
事实上,借助上面定义的本发明,在安全元件中通过异构读取器对相同应用的隐式选择和使用是可能的。这通过实施指示至少两种识别算法的新选择参数而获得,因此允许根据这些不同算法的对相同应用的隐式选择,而现有技术且尤其是GlobalPlatformCard标准以强制方式最多仅允许定义单一识别算法。
在从属权利要求中描述根据实施方式的方法和装置的其它特征,实质上借助方法术语进行描述,特征可转用于此处为安全元件的装置。包含本发明的安全元件可被整合或安置在如移动电话之类的更复杂的系统中。
以举例方式,移动电话可具有由配有安全元件的非接触式通信接口使用的非接触式通信天线。
根据一种实施方式,所述方法还包括如下步骤:
获得安装在安全元件中的包含目标应用的一个或更多个应用的有序列表,每个应用与存储器中的相应的选择参数相关联,选择参数识别待应用于所接收的消息的至少一种识别算法以便确定相关联的应用是否可被选择;
只要还未选择任何应用,就遍历有序列表并对每个被遍历的应用执行步骤c)和d)。
列表的遍历使得取回每个被遍历应用的选择参数,以便执行步骤c)和d)。
该设置提供从多个应用中隐式选择一个应用的确定机制。
要注意到实际上,可获得有序列表,其列出未被定义任何识别算法的一个或更多个应用。在该情况下,相关联的选择参数被认为是空或无值。
根据一种实施方式,所述方法还包括如下步骤:
如果遍历所述有序列表结束时未选择有序列表中的任何应用,那么选择默认应用。
实际上,默认应用的选择可包括,在遍历有序列表时,验证与每个被遍历的应用相关联的选择参数是否指示第一预定值的验证步骤;
和(从全部应用中)选择其相关联的选择参数指示所述第一预定值的较高级别应用的选择步骤。
有序列表中的该第一预定值的使用允许实现默认可选应用的动态管理,反之,现有技术尤其是GlobalPlatform Card标准,其仅允许以强制方式定义单一默认可选应用而不易于按需要改变。
根据具体特征,根据分配给所述应用的优先级来排序应用的所述列表,在每个应用安装时将静态优先级分配给每个应用,以及在安全元件的易失性存储器中,将大于全部静态优先级的可变优先级分配给最多一个应用或一个应用组(和经由优先级规则(如在GlobalPlatform标准中定义的那样),最终在该组内仅一个应用将具有该分配),和
该方法还包括将分配给第一应用或第一应用组的可变优先级改变为分配给第二应用或第二应用组的分配改变步骤。
该设置示出有利的默认可选应用的动态和灵活的管理。事实上,可借助使用专用API(应用编程接口)的简单midlet(利用MIDP Java平台产生的应用)实现可变优先级特征的改变,而无需打开安全会话。反之,现有技术尤其是GlobalPlatform Card标准,仅允许以强制方式定义单一默认可选应用(通过标签‘CF’)而不易于按需要改变,除了要通过需要打开安全会话的繁琐操作来删除该默认可选应用之外。
根据具体特征,该方法还可包括在遍历有序列表时,验证与被遍历的应用相关联的选择参数是否指示第二预定值的验证步骤,
并且如果验证了与其中一个应用相关联的选择参数指示所述第二预定值,那么所述较高级别的应用的选择被禁止。特别地,如果选择参数指示第一预定值,那么在验证标准的基础上任何应用均未被选择。
该设置有助于更有效地动态管理可选应用,同时尤其允许在实施根据本发明的默认应用的选择和实施根据如GlobalPlatform Card的现有技术的默认应用的选择之间的容易转换。
例如,该方法还可包括如果遍历有序列表结束时未选择任何较高级别的应用,那么选择预定的应用。例如在GlobalPlatform Card情况下,其涉及选择具有用于任何逻辑信道的参数‘CF’、或者具有用于单一基础逻辑信道的”卡复位“权限的应用。
根据本发明的一种实施方式,所述方法还包括如果默认应用既未激活、又在安全元件中不可选择、也未被准许访问安全元件的通信接口(例如非接触式),那么选择任一应用。该设置允许以有效方式仅选择适合且被准许处理与外部读取器交换的消息的应用。
根据本发明的一种实施方式,所述方法还包括在接收符合GlobalPlatform Card标准的INSTALL命令时预先安装目标应用的预先安装步骤,INSTALL命令包含与目标应用相关联的所述选择参数。
特别地,与应用相关联的选择参数可包含在被定义用于符合GlobalPlatformCard标准的所述应用的非接触协议参数中的由值‘83’标识的参数。
根据具体的特征,与应用相关联的选择参数包含唯一算法标识符和至少一个算法参数,其中有:
i)等于值‘01’的算法标识符和相关联的参数,用于指示根据字符串进行的唯一识别算法。该标识符符合GlobalPlatform Card标准,
ii)等于值‘02’的算法标识符和相关联的参数,用于指示根据二进制掩码进行的唯一识别算法。该标识符符合GlobalPlatform Card标准,
iii)在可能的情况下,第一预定值和第二预定值共用的算法标识符和区分这两个预定值的相关联的参数。该标识符在默认应用的选择机制干预所述第一和第二预定值时实施,
iv)等于与i)、ii)和iii)的标识符不同的另一值的算法标识符以及相关联的参数,所述相关联的参数包括算法标识符和根据i)和/或ii)和/或可能还有iii)的相关联的参数的列表。该标识符的值允许经由相关联的参数来定义例如尤其用于上述目标应用的至少两种识别算法。
这些不同设置允许保持与GlobalPlatform Card标准的兼容性。
根据一种实施方式,所述消息是符合ISO 7816-4标准的应用协议数据单元类型或APDU。
根据一种实施方式,所述消息不同于由Javacard规范或等同物定义的SELECT[byname]命令。事实上,在命令不明确表述这种选择时发生应用的隐式选择。
根据一种实施方式,该方法还包括如下步骤:
仅在安全元件中将应用的参数设置为激活的和可选的、并被准许访问安全元件的通信接口(例如非接触式)的情况下,选择安装在安全元件中的应用。
根据一种实施方式,由被选应用执行所接收的消息。该消息因此允许隐式选择执行该消息所需要的应用。
根据第二方面,一种被安装在多应用安全元件中的应用的选择方法,包括如下步骤,在安全元件中:
接收至少一条消息;
根据所接收的消息执行应用的选择主过程;
如果在主过程结束时未选择任何应用,那么选择默认应用,
在该方法中,默认应用的选择包括如下步骤,在安全元件中:
获得被安装在安全元件中一个或更多个应用的有序列表,在存储器中每个应用与相应的选择参数相关联,该选择参数被定义在符合GlobalPlatform Card标准被安装的所述应用的非接触协议参数(例如通过GlobalPlatform中的值/标签‘A0’标识)中;
遍历有序列表并验证与被遍历的应用相关联的选择参数是否指示第一预定值;
选择其相关联的选择参数指示所述第一预定值的较高级别应用。
相应地,本发明还涉及一种安全元件,包括存储器中的多个应用,以及:
被配置为接收至少一条消息的通信接口;
应用选择模块,被配置为根据所接收的消息执行应用的选择主过程,和如果在主过程结束时未选择任何应用,那么选择默认应用;
其中配置选择用于选择默认应用的模块,以便:
获得被安装在安全元件中的一个或更多个应用的有序列表,在存储器中每个应用与相应的选择参数相关联,选择参数被定义在符合GlobalPlatform Card标准被安装的所述应用的非接触协议参数中;
遍历有序列表并验证与被遍历的应用相关联的选择参数是否指示第一预定值;
选择其相关联的选择参数指示所述第一预定值的较高级别的应用。
本发明因此允许动态管理默认可选应用。这借助使用GlobalPlatform Card标准的识别算法参数中的特定值而获得,其允许根据所安装应用的优先级的顺序指示待优选地选择的默认应用。
事实上,如接下来描述的,使应用激活/禁止或对应用分配/取消分配可变优先级的简单动态操作允许以动态方式定义优先的默认可选应用。
在从属权利要求中描述根据实施方式的方法和装置的其它特征,实质上借助方法术语进行描述,这些特征可转用于安全元件。包含本发明的安全元件可被整合或安置在如移动电话之类的更复杂的系统中。
以举例方式,移动电话可具有由配有安全元件的非接触式通信接口使用的非接触式通信天线。
因此,可经由非接触式通信接口接收消息。
在一种实施方式中,根据分配给所述应用的优先级来排序应用的所述列表,在每个应用安装时将静态优先级分配给每个应用,以及在安全元件的易失性存储器中,将大于全部静态优先级的可变优先级分配给最多一个应用或一个应用组(和经由优先权规则(如在GlobalPlatform标准中定义的),最终在该组内仅有单一应用具有该分配),和
所述方法还包括将分配给第一应用或第一应用组的可变优先级改变为分配给第二应用或第二应用组的分配改变步骤。
可恰好在默认应用的新选择过程之前执行该改变。该配置示出有利的默认可选应用的动态和灵活管理。事实上,可借助使用专用API(应用编程接口)的简单midlet(借助MIDPJava平台产生的应用)实现可变优先级特征的改变,而无需打开安全会话。反之,现有技术尤其是GlobalPlatform Card标准,仅允许以强制方式定义单一默认可选应用(通过标签‘CF’)而不易于按需要改变,除了要通过需要打开安全会话的繁琐操作删除该默认可选应用之外。
在一种实施方式中,被安装在安全元件中的全部应用呈现活跃状态和非活跃状态中的一种状态,在活跃(或激活;指被激活的应用)状态中,应用是可选的以及在非活跃(或禁止;指被取消激活的应用)状态中,应用不是可选的,和
所述方法还包括将所安装的除了一个呈现活跃状态的应用之外的全部应用的状态改变为非活跃状态的步骤。
因此除了一个应用,其它应用均被取消激活。如果其具有指示所述第一预定值的选择参数,那么默认选择该应用。因此鉴于应用各自的选择参数被预先配置以指示所述第一预定值,通过简单的应用激活/取消激活,上面的设置还示出默认可选应用的动态且灵活的管理。
在一种实施方式中,该方法还包括在遍历有序列表时,验证与被遍历的应用相关联的选择参数是否指示第二预定值的步骤;
在该方法中,如果验证了与其中一个应用相关联的选择参数指示所述第二预定值,那么所述较高级别的应用选择被禁止。特别地,如果选择参数指示第一预定值,那么在验证标准基础上任何应用均未被选择。
该设置改善默认可选应用的动态管理。
在一种实施方式中,该方法包括如果在遍历有序列表结束时未选择任何较高级别的应用,那么选择预定的应用。
在一种实施方式中,与应用相关联的所述选择参数由非接触协议参数中的值‘83’标识,所述非接触协议参数由GlobalPlatform Card标准中的值‘A0’标识。
在一种具体实施方式中,所述第一预定值由算法标识符和算法参数形成;并且形成第一预定值的所述标识符不同于标识符‘01’和‘02’,它们分别指明符合GlobalPlatformCard标准的根据字符串的识别算法和根据二进制值的识别算法。
根据具体的特征,由与所述第一预定值相同的算法识别符和不同的算法参数形成第二预定值。
这些设置保持与GlobalPlatform Card标准的兼容性。
根据一种实施方式,所接收的消息是通过Javacard规范或等同物定义的SELECT[by name]命令,和
选择主过程包括如果这样的应用存在于安全元件中,那么选择在所接收的SELECT[by name]命令中标识的应用。
因此在智能卡中应用的无效隐式选择后,进行根据本发明第二方面的默认应用的改进选择方法。
同样,根据一种实施方式,所接收的消息不同于由Javacard规范或等同物定义的SELECT[by name]命令,并且与有序列表的每个应用相关联的选择参数标识待应用于所接收的消息的至少一种识别算法,以确定相关联的应用是否可被选择,和
选择主过程具有如下步骤,在借助识别算法遍历有序列表且只要未选择任何应用时:
对所接收的消息执行由与被遍历的应用相关联的选择参数指示的一种或更多种识别算法;
仅在其中一种识别算法的结果是肯定的情况下选择被遍历的应用。
因此在安全元件中应用的无效隐式选择后,进行根据本发明第二方面的默认应用的改善选择方法。如上面指示的,安全元件实际上获得可包括一个或更多个应用的有序列表,其中未对这些应用定义任何识别算法。在该情况下,选择参数可被认为是无或空,以便允许实施接下来描述的处理。
根据具体的特征,由所选应用执行不同于SELECT[by name]命令的所接收的消息。
根据一种实施方式,所述消息是符合ISO 7816-4标准的应用协议数据单元或APDU类型。
根据一种实施方式,所述方法还包括如下步骤:
仅在安全元件中将应用的参数设置为激活的和可选的、且被准许访问安全元件的通信接口(例如非接触式)的情况下,选择安装在安全元件中的应用。
本发明的目的还在于提供一种包括指令的计算机程序产品,当程序在计算机上执行时,所述指令适于实施前面所述方法之一的每个步骤。这样的根据本发明的计算机程序产品具有与前面结合所述方法所揭示的优点类似的优点。
附图说明
在以下由所附附图示出的详细描述中,本发明的其它特性和优点将变得清楚,其中:
-图1a至1c示出根据GlobalPlatform标准的应用的INSTALL命令中告知的非接触式具体参数;
-图2借助逻辑图示出根据GlobalPlatform标准的安全元件中的不同的应用选择机制的管理;
-图3示出在实施GlobalPlatform标准时应用的隐式选择出现故障,尤其由于访问安全元件的读取器的异构性的情况;
-图4示出图1c模型上结合本发明实施方式的在安全元件中的应用的安装参数的信令的示例;
-图5示出通过本发明实施方式的实施,图3情况下的应用的隐式选择的改善;和
-图6和6b借助逻辑图示出根据本发明实施方式的基于图3信令使用的安全元件中应用选择的管理。
具体实施方式
NFC(表示Near Field Communication-近场通信)型的非接触运行的应用在如智能卡(UICC或eUICC)、eSE等的安全元件领域中强劲发展。
读取器在安全元件附近发射电磁场,其本身被(在需要时以可移除方式)嵌入在移动装置中(例如移动电话)。借助被设置在安全元件本身或者在移动装置中且(例如经由电接触点)连接到安全元件的通信天线,电磁场可由设置在安全元件中的非接触式通信接口检测。
非接触式应用的示例为准许访问公共运输网的应用:在订阅时向订户提供安全元件,并且安全元件允许例如通过经过配有非接触式读取器的框架来访问运输服务。
现今,专用于城市运输服务的安全元件在另一城市中是不可操作的,这是由于运输网络、服务运营商、读取器和应用是不同的。
考虑到现今可访问的大量服务,用户拥有相对应的大量安全元件。因此需要设置其中安装有多个应用的安全元件。
GlobalPlatform Card标准描述一种过程,用于发起在非接触式接口上的交易,即在通常为非接触式智能卡类型的安全元件与非接触式读取器之间交换消息,特别地用于多应用移动平台。
该过程的目的在于标识和选择待使用的应用,流量(读取器接收的消息)被路由向该应用。
该过程包括应用的显式选择过程和应用的隐式选择过程,这两种过程相互排斥。最后,在这些选择的主过程失败的情况下,执行默认应用的隐式选择过程。
具体地,显式选择过程具有通过读取器发送的具有应用标识符AID的SELECT命令。在上述标准、但还在ISO/IEC 7816-4标准中定义APDU类型的命令。
在接收命令时,安全元件中的GlobalPlatform环境(为标准中命名为”OPEN“的环境)借助AID在所安装应用列表中定位目标应用。
然后,如果确定位置的目标应用在GlobalPlatform标准的意义上是激活的(根据标准为ACTIVATED)和可选的,那么该目标应用成为用于选择的有效候选者,并且被配置为访问非接触式接口。
如果确定位置的应用不是有效候选者,那么OPEN继续寻找另一有效候选者。
在确认以上条件的情况下,OPEN于是选择有效的目标应用。如果该有效目标的应用拒绝选择,则只要还未达到列表末端,OPEN就尝试定位下一个应用,该下一个应用通过返回以上定位步骤来验证AID。
反之,隐式选择过程开始于接收消息,该消息不同于显式地标识目标应用的命令,因此不同于以上引入的SELECT命令。事实上,该过程专用于不以SELECT命令开始的会话或交易。
第一会话或交易消息是在基础逻辑信道上接收的,例如若其涉及APDU类型的消息的话。作为变型,消息可为另外类型(非APDU),例如在DESFire标准中使用的命令。
如果存在,那么隐式选择过程实施消息识别算法。
为此,安全元件的GlobalPlatform环境、即OPEN获得被安装在安全元件中的一个或更多个应用的有序列表。应用可被与待应用于消息的识别算法的定义相关联地安装,以确定该应用是否可被选择。
根据分配给所述应用的优先级来为应用列表排序。事实上,在安装各个应用时向其分配静态优先级。另外,大于所有静态优先级的可变优先级可被分配给至多一个应用或应用组(在该情况中,该组内的优先级规则最终实际上使得仅一个应用具有该可变优先级的分配)。借助安全元件的易失性存储器中的参数定义该可变优先级,用于当前通信会话期间。
而且,该可变优先级保持有效,直到应用变为例如或者禁止状态(“deactivated”),或例如直到重启卡或“卡复位”(尤其是非接触式接口的复位),或例如直到切断安全元件的电源(power off)为止。
因此,OPEN遍历有序列表以搜索以下应用,该应用(i)或者在GlobalPlatform标准意义上是可选的,(ii)或者是ACTIVATED且配置用于访问非接触式接口,和(iii)或者与提供关于由安全元件接收的消息的肯定结果的消息识别算法相关联。因此在所述接收的消息上执行识别算法。
在验证这些条件的情况下,OPEN于是选择应用。如果该应用拒绝选择,那么只要元任何应用被实际选择或者只要未到达列表末端,OPEN就继续遍历列表。
如标准中所定义的,消息识别算法提供标识和选择非接触式应用的能力,该应用不支持基于AID、基于非接触式接口的基础逻辑信道的SELECT命令。应用的隐式选择被在对应于与该应用相关联定义的(在算法结果是肯定的情况下)一组参数的接收的消息(或该消息的一部分)上实施。
在安装相对应的应用时实现该算法和相关联参数的定义。用于在安全元件中装载并安装应用的流程基于上述标准中定义的INSTALL命令。该命令包含大量允许应用运行的参数、以及尤其是专用于与其非接触式接口一起使用的参数。消息识别算法的定义是后面这些参数的一部分。
图1a表示应用的INSTALL命令中告知的非接触式特定参数。以结构TLV(tag-length-value,即,标签-长度-值)形式列出的这些参数包含由标签‘A0’标识、其本身以TLV结构形式定义且在图1b中表示出的非接触式协议参数。
在后面这些参数中,定义消息识别算法的参数由标签‘83’标识且在文件“GlobalPlatform Contactless Services Card Specification v2.2-Amendment CVersion 1.1.1”的第6.5章节中被详细定义。
这些参数是如图1c所示的格式LV(length-value,即,长度-值)。尤其是,其值包括唯一算法标识符和至少一个算法参数,其中:
i)等于值‘01’的算法标识符和相关联参数,用于通过字符串指明唯一识别算法。附图中提供实施的细节;
ii)等于值‘02’的算法标识符和相关联参数,用于通过二进制掩码指明唯一识别算法。附图中提供实施的细节。
借助以下TLV结构,该格式仅允许定义与所安装的应用相关联的单个识别算法:
标签[EF](长度)标签[A0](长度)标签[83](长度)[算法ID-算法参数]
以下两种TLV结构中仅一个或另一个可变化:
[EF](长度)[A0](长度)[83](长度)[[01][偏移][图案]]
[EF](长度)[A0](长度)[83](长度)[[02][参考数据][掩码]]
如果无论根据SELECT类型命令进行的显式选择主过程,还是根据消息识别算法进行的隐式选择主过程,都不导致应用的实际选择,则实施默认应用的选择过程。
为此,OPEN寻找作为候选者的已安装应用用于“默认”选择而不管接口的类型。
该应用为已被安装于安全元件中的应用,其具有在GlobalPlatform标准中标记为‘CF’、被正确声明用于所使用的逻辑信道的隐式选择参数。在缺少这样的配有正确声明的‘CF’参数的应用的情况下,如果所使用的逻辑信道为基础逻辑信道,那么具有标准的意义上的”卡复位”权限的应用就被标识。
如果被如此标识的‘CF’或“卡复位”应用是ACTIVATED,则该应用成为用于选择的有效候选者,其在标准的意义上是可选择的并且被配置为访问非接触式接口。
在缺少用于选择的有效候选者的情况下,任何应用未被选择。如果所使用的逻辑信道是基础信道,其保持开放。
否则,应用被OPEN有效地选择。如果该应用拒绝选择,那么任何应用未被选择,且如果逻辑信道是基础逻辑信道,那么其保持开放。
当然,如果基础逻辑信道保持开放而无任何应用被选择,那么当在该相同基础逻辑信道上接收新消息时(例如APDU命令),上面描述的机制被重新执行。
图2借助逻辑图示出安全元件中的这些不同的应用选择机制的管理。
图2的算法具有分别对应以下的三个处理块:
-根据所接收的SELECT命令进行的显式选择主过程。即块2A;
-借助消息识别算法进行的隐式选择主过程。即块2B;
-默认应用的选择过程。即块2C。
在步骤200,首先在非接触式逻辑信道上接收APDU消息或命令。在步骤205中,确定其是否涉及指示AID的SELECT命令。
在肯定情况下,在步骤210中遍历被安装在安全元件中的应用的有序列表(根据各自的优先级)以确定用于选择的有效候选者。
在步骤215中,确定是否已标识至少一个有效候选者(如果有多个,则它们被按列表210的优先级顺序考虑)。
在否定情况下,处理过程继续到接下来描述的步骤230。
在肯定情况下,OPEN在步骤220中从较高优先级进行有效候选者的选择。如果从选择的应用接收到拒绝选择(测试225),则处理验证是否还有未被处理的候选者(步骤226),以便考虑按照列表210的优先级顺序的接下来的有效候选者(步骤227)。然后对该新候选者进行选择操作220。
如果在步骤226中不留有任何待考虑的有效候选者,则在步骤228中确定当前管理规则。事实上,可使用不同的管理规则。例如第一规则R1可适用于,如果全部有效候选者均拒绝其选择,那么根据块2C进行默认应用的选择,即继续进行接下来描述的在步骤230的处理。
如果全部有效候选者均拒绝其选择,发送错误消息SW=6999(步骤229),那么第二规则R2是适合的。根据该第二规则,如果存在有效候选者,那么不考虑任何默认应用的选择。
如果在步骤220中未接收任何拒绝(测试225的输出“是”),则应用被有效地选择并且处理结束于步骤295。
在测试205为否定的情况下(SELECT命令的不同接收APDU),则采用隐式选择过程,包括在步骤235时遍历被安装的应用的有序列表,以确定有效候选应用(其中尤其是识别算法给出关于在步骤200接收的APDU消息的肯定结果)。
以与步骤215-229相似的方式,这些不同的候选应用被测试(步骤240然后250-252)以选择(步骤245),直到有效选择其中之一(输出295)。如果无任何选择是有效的,那么全部有效候选应用已被测试(测试251是否定的),在应用规则R2的情况下发送错误消息SW=6999(步骤254);否则(应用规则R1),处理进行到步骤230,标识“默认”应用的选择过程的开始。同样如果不存在任何有效候选者(测试240是否定的),则处理进行到步骤230。
在步骤230中,因此判断是否已声明“默认”应用,即所安装的应用之一是否已被通过相关联的参数‘CF’指明或具有“卡复位”权限。
在否定情况下,最终未选择任何应用,且在处理结束前(步骤295),在步骤255中,如果逻辑信道是基础逻辑信道,那么该基础逻辑信道保持开放。
在肯定情况下,测试应用以进行选择(步骤260)。如果从如此选择的应用接收到选择拒绝(测试265),那么最终未选择任何应用,并且在步骤255中,在处理结束前(步骤295),如果逻辑信道是基础逻辑信道,那么该基础逻辑信道保持开启。反之,如果未接收任何拒绝(测试265是肯定的),那么应用被有效地选择并且处理结束于步骤295。
然而这些机制不是令人满意的。
众所周知,部署的基础架构通常随时间变化而变为异构的。这尤其是允许访问公共运输服务的基础架构的情况,其中配有安全元件读取器的访问框架(用于订阅)是被定期地但逐渐地更新、升级,并且不是全部基于相同通信格式(交易的发起的第一消息可根据不同读取器而变化)。
由于基础架构的发展(改变、升级),嵌入在安全元件中的相对应的应用显得不再是可操作的。在安全元件中存在多个应用的情况下,通过相关联的识别算法进行的ad hoc应用的隐式选择于是变得很难处理,特别地由于在应用的安装时同时只能定义单一算法(单一对{算法标识符和相关联参数}),因此限制了对于该智能卡的可操作的读取器。
在图3的示例中,如果第一读取器READER_1发送与SELECT命令不同类型的第一类型的命令COMMAND_1,以选择所安装的运输应用(APPLICATION_1),则其应具有针对该COMMAND_1确定参数(或根据字符串图案或根据二进制掩码)的识别算法,以执行选择。
但是如果具有与第一读取器READER_1不同的性能的另一读取器READER_2(可为被全新安装的读取器),发送与COMMAND_1不同类型的命令COMMAND_2,以选择相同的运输应用,那么该应用不能被有效选择,这是由于识别算法未被确定参数。
对于根据与读取器READER_1不同的格式(用于命令COMMAND_N)操作的其它读取器READER_N产生相同的情况。
然而,仅存在单一解决方案用于允许从不同于READER_1的另一读取器隐式选择该应用,该解决方案包括重新安装应用或通过结合待使用的新读取器的命令在本次定义识别算法(即相关联的参数)来实例化该应用的新版本。
或者由于需要总是重新安装应用、或者由于需要安装相同应用的大量实例以体现基础架构的全部异构性,该解决方案不太现实,在该情况下可快速发生存储器饱和的问题。
因此存在改善该情况的需要,以便尤其在由于例如进行中的配备导致的异构基础结构的情况下提供安全元件的更大使用灵活性。
另一方面,默认应用的隐式选择也不是令人满意的。
由GlobalPlatform标准提出的机制仅允许借助参数‘CF’(或借助“卡复位”权限用于基础逻辑信道)通过逻辑信道定义单一“默认”应用,在应用选择的主过程(隐式或显式)失败的情况下将选择该唯一“默认”二应用。
然而,可能期望根据使用情况、或随时修改“默认”应用。但是,GlobalPlatform标准未提出任何允许将默认应用切换至另一个应用的机制。
因此可能的解决方案或者使用在嵌入安全元件的移动装置上的midlet(表示Mobile Information Device profile,即用于嵌入式应用的Java简档(Java profile))应用、或者卸载声明为“默认”的应用,以便借助参数‘CF’声明新的应用(在新安装时)。
然而借助于Midlet应用要求将Midlet应用的编辑证书存储在移动装置中,由于安全的原因这是很难实现的。
卸载的方式还在寻找安全元件上的应用的动态管理的情况下显露问题。尤其是,卸载和重新安装需要打开安全会话,实施繁琐。
因此还存在改善这种情况的需要,以允许动态管理在安全元件内的默认可选应用,其不应繁琐和复杂。
通过如前面概述和接下来参考具体实施方式揭示的本发明机制,上述两种所识别的需要可被独立或一起解决。
发明人提出的一种解决方案为例如在GlobalPlatform中扩展现有信令,以准许安全元件中应用选择的灵活性和动态管理,同时保持与实际定义的标准相兼容。
尤其提出扩展根据GlobalPlatform定义消息识别算法的参数‘83’(在非接触式协议的参数内)。为此,已存在的两个算法标识符‘01’和‘02’(图1c)被用一个或更多个标识符补充完整,所述一个或更多个标识符分别允许改善通过识别算法进行应用的选择或改善默认应用的动态管理。
图4示出图1c模型上的在安全元件中的应用的安装的参数的信令的示例(即在INSTALL命令中),其中结合针对参数‘83’引入两个新算法标识符的本发明的实施方式。
当然,其它实施方式可考虑仅引入两个新标识符其中的一个。
采用附图上的值‘7E’(但标准中未使用的其它任何值可以适用)的第一算法标识符允许如此安装的应用管理“默认可选应用”的身份。通过使用该新标识符,因此可定义大量安装的应用为默认可选的,而不再仅是单一应用(由参数‘CF’指明或具有用于基础逻辑信道的“卡复位”权限)。另外,定位该参数,并且经由使用例如MIDLET和/或应用装置CRS(表示GlobalPlatform标准中定义的Contactless Registry Service,即接触式注册表服务)和/或CREL(表示GlobalPlatform标准中定义的Contactless Registry Event Listener,即非接触式注册表事件监听器),将其关联到操纵例如应用的可变优先级、或例如应用的激活/禁止的可能性,允许在安全元件中获得应用或默认可选应用的动态管理。
与该新标识符相关联的算法参数允许具体地定义该“默认可选”身份,例如通过提供对应于”SET_SELECTION“身份的值‘01’。
如在传统处理中(图2),按应用优先级顺序遍历应用列表(步骤235,兼顾静态优先级和可变优先级),可借助参数‘7E’,实现较高级别的应用选择(换句话说,首先被遍历的应用),其中相关联的选择的参数指示预期值,此处为‘7E01’。这一点在下文联系图6和6b进行描述。当然,正如子值‘7E’仅为示例,另一子值‘01’也仅为示例,并且其它可用的值可作为变型使用。
在一种实施方式中,还在选择参数的值基础上定义较高级别的应用的该选择功能的禁止身份。为了允许便于管理,该禁止身份可被定义在任何应用上(例如新安装在卡中的应用),这避免了具有“默认可选”身份的已安装应用的删除操作。
该禁止身份可通过为选择参数使用另一值获得,例如‘00’用于如图所示的“CANCEL_SELECTION”身份。因此,如果与被遍历应用相关联的选择参数指示‘7E00’,那么所述较高级别的应用的选择是禁止的。特别地,如果选择参数等于‘7E01’,那么在验证标准基础上未选择任何应用。再次地,正如子-值‘7E’仅为示例,另一子值‘00’也仅为示例,以及其它可用的值可作为变型使用。
在该选择机制禁止的情况下以及同样地如果这不导致应用的选择,则如果使用管理规则R1,那么实施默认应用的传统选择算法(根据GlobalPlatform)。如前面所述,在全部有效候选应用的拒绝选择的情况下,规则R2的使用可致使发送消息‘6999’。
本发明的该实施方式中引入的第二算法标识符采用图上的值‘7F’(但任何其它未使用的值可以是适用的)。其允许指示要应用于所接收的消息的至少两种消息识别算法,以确定相关联的应用是否可被选择。由下文参考图6和6b详细描述的该机制因此允许异构基础架构设备(读取器)更大灵活性地选择相同应用。
通过与该新标识符相关联的算法参数、通过GlobalPlatform中定义的两个或更多个成对项[算法标识符‘01’或‘02’-算法参数]来定义与已安装的应用相关联的识别算法列表。
在必要的情况下,如果实现基于以上标识符‘7E’的默认应用的选择机制,那么针对‘7F’的这些算法参数也可具有项[‘7E’-算法参数‘00’或‘01’],用于指示已安装应用的“默认可选”身份。
换句话说,如此引入的参数‘7F’允许多个对的级联[算法标识符-相关联算法参数]用于所安装的应用。这表明应用此后可被通过多种类型的命令以隐式方式选择。这由采用图3情况的图5示出。
此后,通过与分别针对COMMAND_1、COMMAND_2、......、COMMAND_N命令定义的多种识别算法相关联,安装应用APPLICATION_1。因此,在安全元件接收到COMMAND_2命令和COMMAND_N命令时,其中一个识别算法的结果为肯定的,从而准许有效选择应用APPIICATION_1(如果该应用在安全元件中是激活的且可选的,而且被准许访问安全元件的非接触式接口)。
图4中提出的用于INSTALL命令的新格式此后通过TLV结构提供丰富的应用的选择算法定义(与用于GlobalPlatform的当前可能的两种定义相比较),例如如下非穷举性的定义(仅根据参数‘83’):
[83](长度)[01][偏移][图案]
[83](长度)[02][参考数据][掩码]
[83](长度)[7E][00]
[83](长度)[7E][01]
[83](长度)[7F](长度)[01][偏移][图案]
[83](长度)[7F](长度)[02][参考数据][掩码]
[83](长度)[7F][02][7E][00]
[83](长度)[7F][02][7E][01]
[83](长度)[7F](长度)[01][偏移1][图案1](长度)[01][偏移2][图案2]
因此定义两种根据字符串的识别算法
[83](长度)[7F](长度)[01][偏移][图案][02][参考数据][掩码]
因此定义两种识别算法,一种根据字符串,另一种根据二进制掩码
[83](长度)[7F](长度)[01][偏移][图案][02][7E][00]
[83](长度)[7F](长度)[01][偏移][图案][02][7E][01]
[83](长度)[7F](长度)[01][偏移1][图案1](长度)[01][偏移2][图案2]
[02][7E][01](长度)[02][参考数据1][掩码1]
因此混合根据字符串和根据二进制掩码的三种识别算法
[83](长度)[7F](长度)[02][参考数据1][掩码1](长度)[02][参考数据2][掩码2]...(长度)[02][参考数据n][掩码n]
因此定义n种根据二进制掩码的识别算法
[83](长度)[7F](长度)[01][偏移1][图案1](长度)[01][偏移2][图案2]...(长度)[01][偏移n][图案n]
因此定义n种根据字符串的识别算法
[83](长度)[7F](长度)[01][偏移1][图案1](长度)[01][偏移2][图案2]...(长度)[01][偏移n][图案n](长度)[02][参考数据1][掩码1](长度)[02][参考数据2][掩码2]...(长度)[02][参考数据m][掩码m]
如此混合n种根据字符串的识别算法和m种根据二进制掩码定义的识别算法。
当然,多种其它定义是可能的。
要注意到算法标识符的“条件的”存在指示它们相互排斥的。换句话说,应存在这些标识符中的仅一个标识符。
算法‘7F’中的参数“可选的”存在指示对其使用无任何限制。
图6和6b借助流程图示出根据本发明实施方式的基于图5的信令使用的安全元件中的应用选择管理。
采用与图2步骤中相同的附图标记的步骤与图2的步骤相同。
图6和6b的算法具有四个处理块,分别对应于:
-根据所接收的SELECT命令进行的显式选择主过程。即块2A,与图2相同;
-借助消息识别算法进行的隐式选择主过程。即块6B,在本发明实施方式中,其应处理前面提及的扩展‘7F’。在未实施扩展‘7F’时,该块6B可对应于块2B;
-根据本发明实施方式的默认应用的隐式选择过程。即基于前面提及的扩展‘7E’的块6D。在未实施扩展‘7F’时,该块6D可被省略(例如如同图2上的设置那样);
-默认应用的选择过程。即块2C,与图2相同。
具体地,APDU消息接收步骤200和确定是否涉及SELECT命令的步骤205与图2步骤200和步骤205相同。在SELECT命令情况下,以与图2相同的方式实施显式选择主过程2A。如果该主过程2A结束时实际上未选择任何应用(包括未检测到任何候选应用的情况),将如下面描述那样实施默认应用的隐式选择过程6D。为此,在步骤600中,指示作为该隐式选择6D目标的默认应用的变量TARGET_UIS被初始化为NULL,并且指示选择主过程属性的变量PR被设为FALSE(如果所使用的主过程为显式选择过程,那么PR=FALSE;如果其涉及隐式选择过程,那么PR=TRUE)。除了初始值NULL,变量TARGET_UIS可采用标识已安装的默认应用的值(例如经由应用的唯一标识符),或在该选择过程6D禁止时采用CANCEL值。然后将在步骤235遍历应用的有序列表。
如果是相反情况,所接收的消息不是SELECT命令,那么实施隐式选择主过程6B。
其具有初始化变量TARGET_UIS(为NULL)和将PR初始化为TRUE(以指示实施隐式选择主过程)的初始步骤602。然后在步骤235中遍历应用的有序列表。
只要存在未被遍历的候选应用(较高优先级应用的初始选择605,然后测试251),就按列表顺序处理候选应用中的每一个(选择252)。为此,确定是否存在与当前被遍历的应用相关联的识别算法并且该识别算法是否还未被处理(测试610)。实际上其涉及测试算法标识符(属于参数‘83’)是否还未被处理。
在否定的情况下,经由步骤251和252转向下一个候选应用。
如果这样标识符还未被处理,则在步骤615中确定其值。在值无效的情况下(即不同于‘01’、‘02'、‘7E'或‘7F’),则返回步骤251以处理还未被考虑的候选应用。
如果其值为‘7F’,则返回步骤610以考虑被定义在与扩展‘7F'相关联的参数中的不同对[算法标识符-相关联的算法参数]。
如果其值为常规值中的一个‘01’或‘02’,则在步骤620中测试PR值以确定是否适时执行隐式选择主过程6B。事实上,根据GlobalPlatform标准,该隐式选择主过程是与显式选择主过程2A相排斥的。此外,如果PR=FALSE(在步骤600中定义),则不应执行根据字符串或二进制掩码进行的消息识别算法。因此,在测试620(PR=TRUE?)为否定的情况下,过程返回步骤610以便遍历全部备定义用于当前应用的标识符并确定该应用是否可被默认选择(由于经由标识符‘7E’定义)。
反之,如果测试620为肯定的情况,这表明未执行任何显示选择主过程2A,测试625用于区分两个标识符‘01’和‘02'以便对输入端接收(步骤200)的消息执行相应的识别算法(分别为步骤630和635)。接下来的步骤640,包括确定算法执行结果在GlobalPlatorm标准的意义上是否是肯定的,在该情况下,OPEN在步骤245中测试当前应用的选择。根据所获得的结果(是否拒绝选择-测试250),处理结束于步骤295(如果有效选择)或继续到步骤610(如果拒绝选择)。
如果在步骤640中算法执行结果是否定的,那么处理直接继续进行步骤610。
这样,隐式选择主过程6B终止,在其过程中,只要未有效地选择任何应用,在选择结束时已遍历和测试列表的每个应用,如果与该应用相关联地定义的消息识别算法被证明为肯定的话。
如果最后在选择主过程2A和6B的过程中的一个或另一个过程中均未选择任何应用,那么在使用管理规则R1时(测试253)发起默认应用的隐式选择过程6D。否则,发送消息‘6999’(步骤254)。
默认应用的隐式选择过程6D由两部分构成,一部分被嵌入在遍历被针对有序列表的应用而定义的全部识别算法的循环中,另一部分利用该循环的结果。
由于隐式选择主过程6B失败,所以在循环251-252过程中已测试列表的全部应用。
对于每个被遍历的应用,如果在步骤615中被测试的算法标识符为‘7E’,那么在步骤645中测试相关联参数的值。
如果该值为‘CANCEL_SELECTION’,则将变量TARGET_UIS设为‘CANCEL',以便根据由本发明提出的过程6D使默认应用的选择禁止。这涉及步骤650,该步骤后处理返回步骤610。
如果与标识符‘7E’相关联的参数的值为‘SET_SELECTION',则在步骤655中测试变量TARGET_UIS的值。
如果变量TARGET_UIS的该值为‘CANCEL'(步骤650中设的值)或应用的标识符‘XXXX’(测试输出“否”),那么处理转向接下来的在步骤610的识别算法。
如果该值为‘NULL',则当前应用为所遍历列表中较高级别的应用,对于该应用,与‘7E’相关联的参数值为‘SET_SELECTION',即用于默认隐式选择的较高级别应用。而且,在步骤660中,变量TARGET_UIS采用当前应用的标识符值‘XXXX'。然后处理继续进行步骤610。
最后,在已遍历全部应用时(测试605输出“否”),变量TARGET_UIS可采用三个值:
-如果未针对具有值‘CANCEL_SELECTION'或‘SET_SELECTION'的应用定义任何算法‘7E’,那么采用值‘NULL';
-如果至少一个应用具有‘7E’类型的相关联识别算法(参数为‘CANCEL_SELECTION'),那么采用值‘CANCEL'。在该情况下,不应使用基于标识符‘7E’的本发明的该机制来默认选择任何应用;和
-采用较高级别应用的标识符‘XXXX',对于该应用而言相关联算法‘7E’具有设为‘SET_SELECTION'的参数。在该情况下,没有安装任何具有使默认应用的隐式选择机制6B禁止的相关联的‘7E’参数的应用。
考虑到这些可能的各种不同值,过程6B接下来包括在步骤665之后的确定变量TARGET_UIS是否标识应用(值‘XXXX’)。如果是这种情况,在与步骤220和245相似的步骤670中测试该应用以进行选择。在成功的情况下(测试680),处理结束(步骤295)。
在失败的情况下(测试680)或如果TARGET-UIS不指明应用,则处理继续进行根据GlobalPlatform传统机制、尤其基于‘CF’参数和/或“卡复位”权限进行的默认应用的选择过程2C。如果该过程失败,则在处理结束(步骤295)之前,在步骤255中,如果逻辑信道是基础逻辑信道,那么其保持开放。
上面可见标签‘7E’允许将默认应用的隐式选择扩展至更大可能数量的应用。该标签与可变优先权机制的结合获得默认选择的应用的管理中的动态和灵活的优点。
事实上,配有可变优先级并具有等于‘01’的标签‘7E'的应用是默认选择的。然而该可变优先级可借助简单的midlet容易地被改变(尤其是不借助安全会话):例如,一种用法可打开主机装置中的交互菜单并选择希望隐式地成为默认可选的应用。因此,本发明允许以优先方式容易地改变默认选择的应用。
以举例的方式,联合使用MIDLET和/或应用装置CRS和/或CREL允许定义并改变可变优先级的属性。
CREL专用于安装在安全元件上的非接触式应用。在其安装过程中,这些应用可参考CREL(经由专用参数),即对照CREL注册。借助该参考,CREL可直接作用于应用、尤其是作用于操作这些应用的注册表,用来例如删除应用的可变优先级字符、激活/禁止一个或多个应用等。
CRS专用于安装在安全元件上的非接触式应用的管理。其向用户提供的装置尤其允许用户取回全部应用(单一应用或应用组)的列表、允许激活或禁止应用、允许改变应用在非接触式接口上的优先级或可变优先级。
除了经由可变优先级的动态管理之外,默认选择的应用的动态管理同样可依赖于在其它简单机制。
例如,用户可经由midlet请求装置CREL和/或CRS用于使除了所期望的而且其标签‘7E’设置为‘01’的应用之外的所有非接触式应用禁止。因此该应用以优先于具有标签‘CF’或“卡复位”属性的全部应用(通过接触或非接触)的方式是隐式可选的。
在另一例子中,特定事件可经由middlet和/或CRS和/或经由CREL自动启动,使除了具有设为‘01’的标签‘7E’的期望应用之外的全部非接触式应用禁止。以示意性方式,该特定事件可为通过主机装置获得的地理位置事件,该事件允许将安全元件所处的地理区域的公共交通应用设为激活和默认可选的。
前述示例表明,使用上面提出的一个或更多个扩展,用于已安装应用的非接触式协议的参数的适当参数选择,提供在智能卡中的应用的隐式选择过程的改善了的并且更完整的控制,而无需具有应用供应商的证书或授权。
所述示例仅为本发明的实施方式,本发明不限于这些实施方式。
Claims (17)
1.一种选择被安装在多应用安全元件中的目标应用的方法,包括如下步骤,在安全元件中:
a)接收至少一条消息;
b)获得存储器中与目标应用相关联的选择参数,选择参数指示待应用于所接收的消息的至少两种消息识别算法,以便确定目标应用是否能被选择;
c)对所接收的消息执行由与目标应用相关联的选择参数指示的识别算法;
d)仅在其中一种识别算法的结果是肯定的情况下选择目标应用。
2.根据权利要求1所述的方法,还包括如下步骤:
获得安装在安全元件中的包含目标应用的一个或更多个应用的有序列表,每个应用与在存储器中的相应的选择参数相关联,选择参数指示待应用于所接收的消息的至少一个识别算法以便确定相关联的应用是否可被选择;
只要还未选择任何应用,就遍历有序列表并对每个被遍历的应用执行步骤c)和d)。
3.根据权利要求2所述的方法,还包括如下步骤:
如果遍历所述有序列表结束时未选择有序列表中的任何应用,那么选择默认应用。
4.根据权利要求3所述的方法,其中默认应用的选择包括,在遍历有序列表时,验证与每个被遍历的应用相关联的选择参数是否指示第一预定值的验证步骤;以及
选择相关联的选择参数指示所述第一预定值的较高级别应用的选择步骤。
5.根据权利要求4所述的方法,其中根据分配给所述应用的优先级来排序所述应用列表,静态优先级是在每个应用安装时分配给每个应用的,以及大于全部静态优先级的可变优先级是在安全元件的易失性存储器中分配给最多一个应用或一个应用组的,以及
该方法还包括将分配给第一应用或第一应用组的可变优先级改变为分配给第二应用或第二应用组的改变步骤。
6.根据权利要求4或5所述的方法,还包括在遍历有序列表时,验证与被遍历的应用相关联的选择参数是否指示第二预定值的验证步骤,并且
如果验证了与其中一个应用相关联的选择参数指示所述第二预定值,那么所述较高级别的应用的选择被禁止。
7.根据权利要求4、5或6所述的方法,还包括如果在遍历有序列表结束时未选择任何较高级别的应用,那么选择预定应用。
8.根据权利要求3至7之一所述的方法,还包括如果默认应用既未激活、又在安全元件中不可选择、也未被准许访问安全元件的通信接口,那么选择任一应用。
9.根据权利要求1至8之一所述的方法,还包括在接收符合GlobalPlatformCard标准的INSTALL命令时预先安装目标应用的预先安装步骤,INSTALL命令包含与目标应用相关联的所述选择参数。
10.根据权利要求9所述的方法,其中与应用相关联的选择参数包含在被定义用于符合GlobalPlatform Card标准的所述应用的非接触协议参数中的由值‘83'标识的参数。
11.根据权利要求10所述的方法,其中与应用相关联的选择参数包括唯一算法标识符和至少一个算法参数,其中有:
i)等于值‘01’的算法标识符和相关联的参数,用于指示根据字符串进行的唯一识别算法,
ii)等于值‘02’的算法标识符和相关联的参数,用于指示根据二进制掩码进行的唯一识别算法,
iii)在可能的情况下,第一预定值和第二预定值共用的算法标识符和区分这两个预定值的相关联的参数,
iv)等于与i)、ii)和iii)的标识符不同的另一值的算法标识符以及相关联的参数,所述相关联的参数包括算法标识符和根据i)和/或ii)和/或可能还有iii)的相关联的参数的列表。
12.根据权利要求1至11中任一项所述的方法,其中所述消息是符合ISO7816-4标准的应用协议数据单元或APDU类型。
13.根据权利要求1至12中任一项所述的方法,其中由被选择的应用执行所接收的消息。
14.根据权利要求1至13中任一项所述的方法,其中所述消息不同于由Javacard规范或等同物定义的SELECT[by name]命令。
15.根据权利要求1至14中任一项所述的方法,还包括如下步骤:
仅在安装于安全元件中的应用的参数被设置为在安全元件中是激活的和能选择的、并被准许访问安全元件的通信接口的情况下,选择安装在安全元件中的该应用。
16.一种安全元件,包括:存储器中的多个应用,以及:
被配置为接收至少一条消息的通信接口;
参数获得模块,被配置为获得在存储器中的与目标应用相关联的选择参数,选择参数指示待应用于所接收的消息的至少两种消息识别算法以确定目标应用是否可被选择
处理器,被配置为对所接收的消息执行由与目标应用相关联的选择参数指示的识别算法;
应用选择模块,被配置为仅在其中一个识别算法的结果是肯定的情况下选择目标应用。
17.一种计算机程序产品,包括指令,在程序在计算机上执行时,所述指令适于实施根据权利要求1至15中任意一项所述的方法的每个步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1555712A FR3037685B1 (fr) | 2015-06-22 | 2015-06-22 | Procede et systeme ameliores de selection implicite d'une application dans un element securise, a partir d'un message recu |
FR1555712 | 2015-06-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106326791A true CN106326791A (zh) | 2017-01-11 |
CN106326791B CN106326791B (zh) | 2019-01-01 |
Family
ID=55072753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610601333.9A Active CN106326791B (zh) | 2015-06-22 | 2016-06-22 | 从接收消息在安全元件中隐式选择应用的改进方法和系统 |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR101965033B1 (zh) |
CN (1) | CN106326791B (zh) |
FR (1) | FR3037685B1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115167952A (zh) * | 2022-08-25 | 2022-10-11 | 深圳市汇顶科技股份有限公司 | 一种安全元件、应用程序管理方法及电子设备、存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1533555A (zh) * | 2001-05-18 | 2004-09-29 | ��������ķ������ | 从智能卡配置应用程序 |
KR20100013363A (ko) * | 2008-07-31 | 2010-02-10 | 주식회사 신한은행 | 글로벌 플랫폼 기반 아이씨 카드와 그 운영 방법 및 이를위한 기록매체 |
CN101833817A (zh) * | 2009-03-11 | 2010-09-15 | 中兴通讯股份有限公司 | 一种非接触电子支付中实现应用选择的方法及终端 |
CN101866463A (zh) * | 2009-04-14 | 2010-10-20 | 中兴通讯股份有限公司 | 一种eNFC终端、eNFC智能卡及其通信方法 |
CN101939963A (zh) * | 2007-12-07 | 2011-01-05 | 法国电信公司 | 用于控制在与移动终端相关联的安全模块上安装的应用的方法、相关联的安全模块、移动终端、和服务器 |
CN102047748A (zh) * | 2008-03-27 | 2011-05-04 | 摩托罗拉移动公司 | 用于使用多个发现管理器在电子装置中进行自动应用程序选择的方法和设备 |
CN102612026A (zh) * | 2011-12-19 | 2012-07-25 | 大唐微电子技术有限公司 | 适用于专用移动通信需求的智能卡及其安全控制方法 |
CN103843022A (zh) * | 2011-10-04 | 2014-06-04 | 英赛瑟库尔公司 | 执行支持多个应用和同一应用的多个实例的非接触式交易的方法和系统 |
EP2048590B1 (en) * | 2007-10-09 | 2014-10-01 | Vodafone Holding GmbH | Method for communication, communication device and secure processor |
-
2015
- 2015-06-22 FR FR1555712A patent/FR3037685B1/fr active Active
-
2016
- 2016-06-22 CN CN201610601333.9A patent/CN106326791B/zh active Active
- 2016-06-22 KR KR1020160077912A patent/KR101965033B1/ko active IP Right Grant
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1533555A (zh) * | 2001-05-18 | 2004-09-29 | ��������ķ������ | 从智能卡配置应用程序 |
EP2048590B1 (en) * | 2007-10-09 | 2014-10-01 | Vodafone Holding GmbH | Method for communication, communication device and secure processor |
CN101939963A (zh) * | 2007-12-07 | 2011-01-05 | 法国电信公司 | 用于控制在与移动终端相关联的安全模块上安装的应用的方法、相关联的安全模块、移动终端、和服务器 |
CN102047748A (zh) * | 2008-03-27 | 2011-05-04 | 摩托罗拉移动公司 | 用于使用多个发现管理器在电子装置中进行自动应用程序选择的方法和设备 |
KR20100013363A (ko) * | 2008-07-31 | 2010-02-10 | 주식회사 신한은행 | 글로벌 플랫폼 기반 아이씨 카드와 그 운영 방법 및 이를위한 기록매체 |
CN101833817A (zh) * | 2009-03-11 | 2010-09-15 | 中兴通讯股份有限公司 | 一种非接触电子支付中实现应用选择的方法及终端 |
CN101866463A (zh) * | 2009-04-14 | 2010-10-20 | 中兴通讯股份有限公司 | 一种eNFC终端、eNFC智能卡及其通信方法 |
CN103843022A (zh) * | 2011-10-04 | 2014-06-04 | 英赛瑟库尔公司 | 执行支持多个应用和同一应用的多个实例的非接触式交易的方法和系统 |
CN102612026A (zh) * | 2011-12-19 | 2012-07-25 | 大唐微电子技术有限公司 | 适用于专用移动通信需求的智能卡及其安全控制方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115167952A (zh) * | 2022-08-25 | 2022-10-11 | 深圳市汇顶科技股份有限公司 | 一种安全元件、应用程序管理方法及电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
FR3037685B1 (fr) | 2018-11-02 |
KR20160150608A (ko) | 2016-12-30 |
KR101965033B1 (ko) | 2019-04-02 |
CN106326791B (zh) | 2019-01-01 |
FR3037685A1 (fr) | 2016-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9256749B2 (en) | Method for invoking application in screen lock environment | |
US9208483B2 (en) | Sharing or reselling NFC applications among mobile communications devices | |
CN102630320B (zh) | 信息处理装置以及应用程序不正当协作防止方法 | |
US8807440B1 (en) | Routing secure element payment requests to an alternate application | |
US8725211B2 (en) | Trusted service manager managing reports of lost or stolen mobile communication devices | |
US7757296B2 (en) | Method of managing software components that are integrated into an embedded system | |
EP0942349A2 (en) | Cryptographic apparatus for an international cryptography framework | |
CN101755271A (zh) | 用于在连接受限设备配置和开放服务网关联盟环境中管理访问特权的方法和装置 | |
CN101809579A (zh) | 用于管理受信应用的访问权的方法、系统、受信服务管理器、服务提供商以及存储器元件 | |
CN107077565A (zh) | 一种安全指示信息的配置方法及设备 | |
CN106133739A (zh) | 数据到安全元件的非易失性存储器中的加载的安全保护 | |
CN107645406A (zh) | 用于配置移动装置的方法和系统 | |
CN110673907A (zh) | 多角色页面跳转方法、装置、计算机设备及可读存储介质 | |
KR101069744B1 (ko) | 이동단말기의 애플리케이션 관리 방법 및 그를 위한 시스템 | |
CN106326791A (zh) | 从接收消息在安全元件中隐式选择应用的改进方法和系统 | |
CN109361806A (zh) | 黑号码存储方法、黑号码标记方法、系统及装置 | |
CN106228090A (zh) | 一种多主安全域Java智能卡及其实现方法 | |
US8844827B2 (en) | Chip card, and method for the software-based modification of a chip card | |
CN107154936B (zh) | 登录方法、装置和系统 | |
KR20150119297A (ko) | 관리 장치, 관리 방법, 단말 장치, 제어 방법 및 프로그램 | |
US20190147193A1 (en) | Method for a first start-up operation of a secure element which is not fully customized | |
US20080222036A1 (en) | Mobile terminal | |
CN113360251B (zh) | 智能合约执行与跨合约调用方法、装置及存储介质 | |
US7451492B2 (en) | Portable information terminal, and electronic information authenticating system and method using same terminal | |
CN107229490A (zh) | 一种多应用智能卡交易方法及多应用智能卡 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Cologne, France Patentee after: Ai Demiyafaguo Address before: Cologne, France Patentee before: OBERTHUR TECHNOLOGIES |