将应用数据写入到安全元件的制作方法
【专利说明】
[0001] 分案说明
[0002] 本申请属于发明日为2011年12月16日的中国发明专利申请201180060864. 7的 分案申请。
[0003] 相关申请
[0004] 本申请要求2011年9月26日提交的标题为"将应用数据写入到安全元件 (WritingApplicationDatatoaSecureElement) " 的美国申请号 13/244, 767 的 优先权,所述美国申请号13/244, 767要求2010年12月17日提交的标题为"用于在 非接触式支付设备中管理、配备和加密信息的系统和方法(SystemsandMethodsfor Managing,Provisioning,andEncryptingInformationinaContactlessPayment Device) "的美国临时专利申请号61/424, 606的优先权。上述优先权申请的全部内容在此 通过引用完全并入本文中。
技术领域
[0005] 本公开大体上涉及用于对非接触式智能卡设备中的安全元件的名称空间进行划 分并且用于使用来自在所述安全元件外的软件应用程序的请求将应用数据写入到所述安 全元件中的计算机实施的系统、方法以及设备。
[0006] 背景
[0007] 出于事务处理目的,非接触式事务处理系统使用安全非接触式智能卡。某些示例 性事务处理系统包括交通运输卡、身份认证卡、停车卡以及电话卡。一种示例性安全非接 触式智能卡是来自恩智浦半导体公司(NXPSemiconductors)的MIFARE?卡或来自HID Global的iClass?卡。某些常规智能卡使用射频标识(RFID)标准来将信息发射到读卡器 设备以及从读卡器设备接收信息。基于RFID的非接触式智能卡设备由用于智能卡和读卡 器的国际标准化组织和国际电工协会标准(IS0/IEC) 14443支持。某些非接触式卡类型设 备能够使用电子部件(如天线和安全存储器)并且支持半导体部件(如存储器管理单元、 处理器以及密码生成器)。
[0008] 不同类型的软件应用程序或应用数据存储区域包括随机存取存储器(RAM)、只读 存储器(ROM)以及非易失性闪存。这些存储区域典型地是安全存储区域,并且存储运行软 件应用程序所需的所有安全信息,以便实现访问、成员隶属或支付目的。某些低端非接触式 智能卡可能并不具有显著处理能力;这些智能卡通常是被动的,并且用来自被动存储器的 信息发射射频。此外,每个安全存储区域被指派特定应用功能,所述特定应用功能被包括在 非接触式智能卡内的安全元件区域中。
[0009] 某些非接触式智能卡包括用于硬件和软件的平台,其支持EMV(电子信用卡标准) 和MIFARE?:操作功能。此类卡进一步包括处理器,其用于在非接触式智能卡设备的组合 的或分开的安全元件内保持不同区域。可以得到不同存储大小的非接触式智能卡,例如, 4KB的EEPR0M(闪存)或1KB的EEPR0M包。然而,某些广泛使用的智能卡并不具有任何智 能处理能力,并且经过软件编码,以使得只有某些存储区域能够仅由某些读卡器读取。在许 多广泛使用的非接触式事务卡(如MIFAREClassic?:)中,可以在智能卡内获得有限量的 资源来实现进一步开发。例如,对于4KB卡,存在卡内所有4KB应当在任何给定时间处有效 的要求。
[0010] 在非接触式卡内的一些安全元件名称空间(也称作"存储区域")中,可用存储器 被静态地划分,并且分区在读卡器中进一步被编码。最终,读卡器只读取预定分区。已经 超额订制的名称空间的这种分割导致频繁的冲突,并且因此产生进一步减少可用存储空间 的防冲突协议。此外,针对不具有任何处理器能力的卡强制执行有限安全性协议。与(例 如)通常用于信用卡应用的EMV型卡相比,这种强制执行可能减少卡和读卡器内的安全性 选项。
[0011] 一些软件应用程序可以限制存储在卡内的信息,并且限制对安全密钥所有者的信 息控制。在包括多个应用的非接触式智能卡上,由于共享存储器而产生冲突和错误。此外, 如果第二家公司需要保护卡上部分数据,那么这种保护将因为一个密钥无法提供超越另一 密钥的安全性而不可行。在当前应用中,有限的应用空间、数据空间以及受到多方关注的安 全性存在不足。此外,在没有密钥"B"所有者的准许时,无法更新卡上的存取密钥。
[0012] 概述
[0013] 在某些示例性实施方案中,一种用于通过安全元件内的控制软件应用程序来将所 述安全元件的名称空间划分成至少两个存储类型的计算机实施的方法包括:在所述控制软 件应用程序中针对所述安全元件名称空间内的多个存储块至少定义第一存取类型、第二存 取类型、第一存取密钥以及第二存取密钥,其中所述第一存取密钥和所述第二存取密钥中 的每一个针对所述安全元件名称空间内的所述多个存储块提供以下之一:所述第一存取类 型、所述第二存取类型,或所述第一存取类型与所述第二存取类型的组合;由所述控制软件 应用程序从所述安全元件名称空间内的所述多个存储块至少选择第一存储块组、第二存储 块组以及用于所选存储块组中的每一个的存取类型,其中每个所选存储块组中的至少一个 存储块是存取存储块,其用于将所述所选存储块组的数据存储块内的软件应用程序或应用 数据的所选存取类型提供给外部数据请求设备;以及从所述控制软件应用程序传输第一存 取密钥、第二存取密钥以及用于每个相应所选存储块组的所选存取类型,以用于存储在所 选存储块组中的每一个的存取存储块中,进而将所述安全元件的所述名称空间划分成至少 两个存储类型。
[0014] 在某些示例性实施方案中,一种用于使用驻存在安全元件外的用户接口软件应用 程序来将应用数据写入到安全元件名称空间中的计算机实施的方法包括:从所述用户接口 软件应用程序向远程可信服务管理器(TSM)计算机传输针对应用数据和用于写入存取类 型的至少一个存取密钥的请求,所述应用数据将被写入到所述安全元件名称空间;在安全 存储器中从所述远程TSM计算机接收所请求的应用数据和所请求的存取密钥;以及由所述 安全元件中的控制软件应用程序将所述所请求的应用数据从所述安全存储器写入到所述 安全元件名称空间的数据存储块,其中所述安全元件名称空间的所述数据存储块由所述控 制软件应用程序使用所述所请求的存取密钥进行存取。
[0015] 附图简述
[0016] 图1示出根据某些示例性实施方案的用于对非接触式智能卡设备中的安全元件 的名称空间进行划分并且用于使用来自在所述安全元件外的软件应用程序的请求将应用 数据写入到所述安全元件中的计算机实施的系统和设备。
[0017] 图2示出根据某些示例性实施方案的用于对非接触式智能卡设备中的安全元件 的名称空间进行划分并且用于使用来自在所述安全元件外的软件应用程序的请求将应用 数据写入到所述安全元件中的计算机实施的系统和设备。
[0018] 图3示出根据某些示例性实施方案的用于非接触式智能卡设备中的安全元件的 名称空间的数据结构以及与控制所述安全元件名称空间中的划分和应用数据存储的控制 软件应用程序相关联的应用数据。
[0019] 图4示出根据某些示例性实施方案的用于通过安全元件内的控制软件应用程序 将安全元件的名称空间划分成至少两个存储类型的计算机实施的方法。
[0020] 图5示出根据某些示例性实施方案的用于使用来自驻存在安全元件外的用户接 口软件应用程序的请求来将应用数据写入到安全元件名称空间中的计算机实施的方法。
[0021] 图6示出根据某些示例性实施方案的用于在非接触式智能卡设备的安全元件内 本地实施可信服务管理器(TSM)的计算机实施的方法。
[0022] 图7示出根据某些示例性实施方案的出于划分和配备目的而控制对安全元件名 称空间的存取的计算机实施的方法。
[0023] 示例性实施方案详述
[0024] 应用目录表将安全元件名称空间中的特殊块保留为元数据块。这些块包含应用标 识符(AID)到槽/块的逻辑映射,所述槽/块包含要呈现给外部读卡器设备的软件应用程 序。当外部读卡器设备遇到非接触式智能卡时,所述外部读卡器设备尝试用所述读卡器和 软件应用程序已知的所定义的存取密钥来向目录中标识出的特殊元数据块进行验证。当块 是有效的时,读卡器读取在所指派的块中的应用目录表的内容,并且执行查找来找出应用 ID映射到哪些扇区/块。举例来说,当零售商的积分卡的AID是' 10'时,目标读卡器设备 将读取安全元件名称空间的数据存储块中的应用目录表,并且查找AID' 10'。尽管目录服 务是一项有用服务,但其需要充分使用块及其AID名称空间,并且是由第三方在外部进行 管理。
[0025] 在非接触式智能卡内的应用标识符(AID)是16位代码,这个16位代码被分割成 功能群集和应用代码,各自具有8位长度。扇区0的密钥"A"或"A密钥"是带有6字节代 码的公共扇区,而扇区0的密钥"B"或"B密钥"是由非接触式智能卡发行商或卡所有者确 定的,其中卡发行商控制某些存取密钥和控制软件应用程序或在非接触式智能卡上的其它 软件应用程序的某些方面。
[0026]术语"卡发行商"或"卡所有者"在本文中可互换地使用,并且大体上指代将安全 元件和应用目录放置在非接触式智能卡内的实体。NFC服务提供商可以是卡发行商类型实 体的一个实例。
[0027] B密钥可为6字节代码,其被保密,用来对相关存储块内的软件应用程序或应用数 据做出改变。
[0028] 本文所用的"应用数据"定义这样的数据:所述数据向软件应用程序增补、更新或 提供数据。本文所用的"软件应用程序"指代以任何格式从外部计算机获得的任何软件应用 程序,所述软件应用程序可以在非接触式智能卡的安全元件内进行安装和执行。此外,"软 件应用程序"和"应用数据"在本文中可互换地用来指代来自外部计算机的存储在安全元件 内的那些类型的数据。除非另有描述,否则术语"软件应用程序"还包括所有格式的软件应 用程序,包括下载格式、任何中间格式以及最终执行格式。
[0029] 在安全元件名称空间中的用于应用目录表的数据存储块中,通过使用用于存取控 制的单字节群集代码和作为软件应用程序代码或最低有效位(LSB)的另一单字节,软件应 用程序使用其2字节应用标识符(AID)来进行映射。
[0030] 在某些示例性实施方案(即,某些非接触式智能卡或非接触式智能卡的实施方 式)中,安全元件名称空间可以被分割成用于不同卡类型的不同分区,所述不同卡类型包 括不同卡协议或平台,例如,在JavaCard平台上的EMVCo、用于接近感测的近场通信(NFC) 或MIFARE。在一个实施方案中,安全元件名称空间被虚拟地分割成多个扇区,其中每个扇区 包括各自长度为16字节的4个存储块,其中扇区可以选择将大小调整成不同于默认的16 字节。每个扇区的尾块是专用存取存储块,所述专用存取存储块被分割成3个存储区段,用 于将存取信息存储到存储块的剩余部分。存取信息包括A密钥、存取存储块内的存取位以 及B密钥。存取存储块依据用于对存储块进行存取的单独存取密钥或存取密钥的组合来控 制对扇区中的其余块的存取。扇区中的存储块的剩余部分是数据存储块,所述数据存储块 包含应用数据或软件应用程序。软件应用程序还可以通过提供指向前一扇区中的软件应用 程序的结束字节的指针或连续性信息来跨扇区存储。指针可以包括软件应用程序的AID以 及软件应用程序的连续区段的块位置和扇区位置。
[0031] 在某些示例性实施方案中,存取存储块中的存取密钥支持对扇区0中的用于应用 数据或应用目录表的数据存储块的不同存取类型。存取控制块可以被配置来描述密钥A的 权限,而密钥B维持在控制块中旋转密钥以及盖写存取控制块内的存取位的能力。在扇区 0的包括应用目录表的数据存储块中,密钥B可以用来编辑目录,改变AID到扇区和存储块 位置的映射,并且通过在安全元件名称空间内改变存取类型来重新分配存储块。这些功能 性允许非接触式智能卡在功能上支持多个应用和存取类型,这取决于存取存储块中的存取 密钥和存取位。可供用于非接触式智能卡的存取类型包括写入存取、读取存取、递增存取、 递减存取,或读取、写入、递增和递减存取中的每一个的两个或更多个的组合。写入存取包 括将软件应用程序或应用数据写入或安装到安全元件名称空间内的数据存储块的能力。<