首页> 中国专利> 用于NFC使能设备的多发行商安全元件分区架构

用于NFC使能设备的多发行商安全元件分区架构

摘要

一种用于为多个卡发行商提供用于NFC使能设备的安全元件分区的方法,该方法包括在NFC使能设备的安全元件中创建多个安全元件分区;以及将安全元件的所述安全元件分区分配到相应的卡发行商。

著录项

  • 公开/公告号CN104380652A

    专利类型发明专利

  • 公开/公告日2015-02-25

    原文格式PDF

  • 申请/专利权人 安全NFC私人有限公司;

    申请/专利号CN201380018745.4

  • 发明设计人 C.M.尼科劳;

    申请日2013-04-17

  • 分类号H04L9/12;

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人谢攀

  • 地址 澳大利亚维多利亚省

  • 入库时间 2023-12-17 04:53:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-08-11

    授权

    授权

  • 2015-03-25

    实质审查的生效 IPC(主分类):H04L9/12 申请日:20130417

    实质审查的生效

  • 2015-02-25

    公开

    公开

说明书

相关申请

本申请基于并要求2012年4月17日提交的AU申请号2012901495的提交和优先权日的利益,如所提交的内容通过引用将其全部内容并入本文中。

技术领域

本发明涉及信息技术安全(ITS)的领域,并且特别地但不排他地涉及用以使得能够实现被分配给诸如移动智能电话之类的NFC使能设备内的每个卡发行商的安全元件分区的共存的多发行商架构。

背景技术

近场通信(NFC)标准(18000-3)在流控制、消息格式、速度(106Kbs/密勒编码100%调制至424Kbs/曼彻斯特编码1%调制)和频率(13.56 MHz)方面定义了点对点NFC有源设备之间以及NFC有源设备和NFC无源“标签”之间的通信协议,但不是用于管理多个安全元件(SE)分区的方法。 

SE是能够嵌入智能卡级应用(例如支付、票务、访问控制等)安全特征的防篡改(像PCI/ PED)集成电路卡(ICC)芯片/ SIM卡/微型SD(安全数字)模块。SE被连接到NFC芯片,其充当非接触式前端射频(RFID)接口并除其他事物之外还包含卡发行商的安全域访问控制数据(用来管理多个应用安全域,其继而包含应用开发者的安全域访问控制数据)。

NFC技术提供高数据传输速度、通信协议简单性、以及低成本,但NFC技术已经引入了安全漏洞,所述安全漏洞允许例如:i)由未经授权方进行窃听(“监听”)、数据修改或插入,ii)由模仿者进行的数据操纵、腐化和插入(“网络钓鱼”),以及iii)由想象上可信方进行的病毒攻击和服务的拒绝(“干扰”) 。

为了保护NFC数据交换、处理和存储隐私性和完整性,主要的卡发行商已形成了与移动操作系统开发商或NFC设备制造商的联盟,并且使用公钥签名和消息加密和认证来实现了私有的端点证明协议。

然而,NFC使能设备(诸如智能电话)通常是单独消费者的性质或至少用于单独消费者的排他使用。此类消费者可以具有由多个金融或其他机构提供的多个信用卡、电子钱包等,但目前专用的安全解决方案和SE管理方法不允许多个SE存在于相同的NFC使能设备上。

发明内容

根据本发明的第一概括性方面,提供有一种用于为多个卡发行商提供针对NFC使能设备的安全元件分区的方法,该方法包括: 

在NFC使能设备的安全元件中(并且在一些情况下,在多于一个安全元件中)创建多个安全元件分区;以及

将安全元件(或多个安全元件)的所述安全元件分区分配到相应的卡发行商。 

该方法可以包括在NFC使能设备的存储器中创建或定位安全元件(或多个安全元件)。

应当认识到,在一些情况下,一个或多个安全元件将已经被创建在NFC使能设备中,并且因此该方法可能仅仅必须定位该安全元件以便然后在(一个或多个)安全元件中创建安全元件分区。 

该方法可以包括卡发行商中的一个或多个将安全元件数据和程序(其可以被认证/证实和签名)加载到被分配到相应的卡发行商的相应的安全元件分区中。 

例如,卡发行商的数据可以在由相应的交易收单器(acquirer)/处理器或可信服务管理器(TSM)所管理的任何NFC使能设备上被加载为收单器群组的虚拟钱包的一部分。

该方法可以包括在至少一个安全元件中创建8、16或32(或更多)个安全元件分区。

该方法可以包括将安全元件分区分配到相应的卡发行商的相应的卡。

该方法可以包括在安全元件分区的至少一个中创建用于存储相应的软件应用的多个应用安全域。

该方法可以包括创建针对一个或多个卡发行商的2、4或8(或更多)个应用安全域。

该方法可以包括在安全元件分区中提供一个或多个加密密钥的相应集合,其中加密密钥的每个集合针对卡发行商之一是唯一的。

在一个实施例中,加密密钥的每个集合包括256个随机字节密钥。每个密钥可以包括8位。实际上,每个密钥可以包括ASCII字符。

存储器可以在设备的SIM卡、设备的微型SD或设备的高速缓存中。

该方法可以包括在NFC使能设备中提供安全元件分区加载器、安全元件分区管理器、以及安全元件分区加密模块,以供实现该方法。

根据本发明的该方面,还提供有一种设有根据上述方法的安全元件分区的NFC使能设备。

根据本发明的第二概括性方面,提供有一种NFC使能设备,包括: 

安全元件,包括多个安全元件分区;

安全元件分区加载器,用于将可执行代码和数据更新或加载到每个安全元件分区中;以及

安全元件分区管理器,用于识别和选择被分配到特定卡发行商的安全元件分区之一;

其中每个安全元件分区具有安全域,包括具有访问规则和加密密钥的访问规则应用主控(master);以及

NFC使能设备还包括用于控制对安全元件分区的相应安全域的访问的安全元件分区加密模块。

根据本发明的第三概括性方面,存在一种提供的计算机程序产品,当在计算机上被执行时:

在NFC使能设备的至少一个安全元件中(并且在一些情况下,在多于一个安全元件中)创建多个安全元件分区;以及

将安全元件的所述安全元件分区分配到相应的卡发行商。

该计算机程序产品还可以在NFC使能设备的存储器中创建或定位至少一个安全元件。

该计算机程序产品还可以在安全元件分区的至少一个中创建用于存储相应的软件应用或数据或者软件应用和数据这二者的多个安全域。 

根据本发明的第四概括性方面,提供有一种具有根据第三概括性方面的计算机程序产品的计算机可读存储介质。

应当注意的是,本发明的上述方面中的每个的各单独特征中的任何一个以及本文描述的实施例的各单独特征中的任何一个能够如合适或期望地组合。

附图说明

为了可以更清楚地查明本发明,现在将参考附图通过示例的方式来描述实施例,在所述附图中:

图1是根据本发明的实施例的NFC使能的智能电话的示意性框图;

图2是图1的智能电话的微型SD和操作系统的操作组件中的一些的示意性框图;

图3是图1的智能电话的微型SD和操作系统以及它们与各外部方的系统的关系的示意性框图;

图4是图1的智能电话的架构的示意性框图;以及

图5A是将本发明具体化到图1的智能电话中的程序模块的安装的流程图; 

图5B是将本发明具体化到图1的智能电话中的程序模块的使用的流程图;以及

图6是图1的智能电话的操作系统的多发行商SE分区管理器的架构的示意性框图。

具体实施方式

图1是根据本发明的实施例的NFC使能设备(在该示例中,是智能电话10)的示意性框图。出于清楚起见,仅在图中图示并且在以下描述了针对理解本发明而言特别相关的特征。 

智能电话10包括处理器12、操作系统14(例如,安卓(注册商标)、iOS(注册商标)、塞班(注册商标)、黑莓OS(注册商标)或Windows8(注册商标))、以及两种形式的存储器:设备存储器16和可移除微型SD(安全数字)存储卡18(下文为“微型SD 18”)。此外,智能电话10包括具有某一板上存储器的SIM卡20、以及在22处示意性地示出的用户界面,但其包括触摸屏24、麦克风26和扬声器28。智能电话10还包括NFC芯片30。

图2是根据本实施例的微型SD 18和操作系统14的操作组件中的一些的示意性框图。操作系统14包括操作系统(OS)内核30,其包括一个或多个设备应用32(出于清楚起见仅示出了其第一示例性设备应用)、应用管理器34、公用事业服务模块36、通信服务模块38、以及安全元件(SE)访问API 40。每个设备应用32包括数字签名42和数字证书44,并且与应用管理器34、公用事业服务模块36和通信服务模块38处于数据通信中。SE访问API 40包括访问控制实行器46(由GlobalPlatform(注册商标)定义的API)、以及实现本实施例的各种功能的程序模块,包括:SE分区管理器48,其主要作用是识别并选择在特定卡中被分配到特定卡发行商的SE分区;SE分区加载器50,其主要作用是将可执行代码和数据(规则、SCST等)更新(或替换)或加载到所选择的SE分区中;以及SE分区加密模块52,其主要作用是确保对安全域(SD)访问规则和SCST的仅经授权访问被加载到特定SE分区的所选择的卡发行商的ARA-M中。

微型SD 18包括一个或多个多分区安全元件(SE)60(出于清楚起见仅示出了其第一示例性多分区SE)。每个多分区SE 60被分成多个安全元件(SE)分区62(1)、62(2)、…、62(n);每个SE分区62(1)、62(2)、…62(n)被分配到相应的卡发行商1、2、…、n。在本实施例中,每个SE 60在该实施例中具有8、16或32个SE分区62(1)、62(2)、…、62(n)。

每个SE分区62(1)、62(2)、…、62(n)具有访问规则应用主控(ARA-M)64,其在SE分区62(1)的示例中包括存储相应的卡发行商的控制数据和访问规则的第一寄存器66和存储由相应的卡发行商针对保护该卡发行商的NFC卡而生成的随机密钥的唯一智能卡安全表(SCST)的第二寄存器68。每个SE分区62(1)、62(2)、…、62(n)也具有SCST版本no.寄存器(针对SE分区62(1)在69处指示),其具有由相应的卡发行商所使用的SCST版本号。由卡发行商发布的每个NFC卡利用该卡发行商的第二寄存器中的唯一SCST来初始化,因此每个NFC设备被加载有与预期要与该设备(在本实施例中,是智能电话10)一起使用的NFC卡相关联的相应的SCST和SCST版本号。 

因此,每个卡发行商可以利用其相应的访问规则和控制数据来规定其自身的一组访问规则,以供管理和控制多分区SE 60内的其专用的SE分区中的数据。操作系统14的访问控制实行器(ACE)46控制对ARA-M 64的访问。

每个SE分区62(1)、62(2)、…、62(n)中的SCST保存不同组的安全密钥,以供使每个相应的SE分区62(1)、62(2)、…、62(n)中的数据安全。任何合适的技术可以被用来生成安全密钥,但在本实施例中每个SCST由相应的卡发行商使用隐式密钥管理(IKM)模块70来生成并采用,这根据在2012年3月22日提交的第2012901149号澳大利亚专利申请和在2013年3月22日提交的第PCT/AU2013/000299号国际专利申请中公开的IKM方法,这二者的内容通过引用将其全部内容并入本文中。因此,SE分区62(1)中的SCST包含如根据IKM 模块70在那些专利申请中描述的用来加密/解密存储在相应的SE分区中的数据的每个8位的256个随机字节密钥,以针对与其他有源(对等智能电话、EFTPOS和其他设备)或无源设备(诸如接触和非接触智能卡和标签)交换的消息提供数据完整性、隐私性和不可否认性。其他SE分区包含具有不同组密钥的类似SCST。

此外,每个SE分区62(1)、62(2)、…、62(n)可以使用一个或多个应用安全域(SD)。特定的SE分区62(1)、62(2)、…、62(n)上的每个应用SD可以包含由对应的SE分区被分配到其的卡发行商所授权的应用;每个应用由相应的应用提供商所提供。

图2描绘与卡发行商1的SE分区62(1)相关联的应用SD 72(1)、72(2)、…、72(i)的示例,但是将理解,每个SE分区62(1)、62(2)、…、62(n)可以不具有或具有一个或多于一个应用SD。在本实施例中,每个SE分区62(1)、62(2)、…、62(n)包含2、4或8个应用SD 72(1)、72(2)、…、72(ⅰ),并且因此通常包含2、4或8个应用(尽管在其他实施例中,每SE分区可以存在更多的应用SD,并且因此对应地存在更多的应用)。与每SE的卡发行商SE分区的数目一样,每卡发行商SE分区的应用SD的数目由用来存储SE的介质(在本示例中,是微型SD 18)的存储器大小所限制??,并且预想每SE的卡发行商SE分区和每卡发行商SE分区的应用SD的更大数目将随着可用的介质增加而是可能的。

以下将SE分区62(1)的应用SD 72(1)描述为示例,但是SE分区62(1)的其他应用SD具有类似的特征(尽管不同的相应应用)。在本实施例中,存储在应用SD 72(1)中的应用是网络安全防护(CSS)74,其是用于在数据完整性、隐私性和不可否认性方面保护NFC和其他智能卡的内容以及此类智能卡和NFC使能设备之间的通信的应用。应用SD 72(1)还包括由卡发行商SE分区62(1)的ARA-M 64所管理的访问规则应用客户端(ARA-C)76和包含与SE分区62(1)被分配到的卡发行商共享应用(CSS 74)的任何其他卡发行商的ID的应用寄存器77。ARA-C 76包括一组访问规则和控制数据78。

共享应用的应用寄存器77(以及其他应用SD中的对应的应用寄存器)由SE分区管理器48来维护。如以上所提到的,这些应用寄存器包括其他经授权卡发行商的数据指示,以使得访问控制实行器46(如以上所描述的,控制对SE分区62(1)的ARA-M 64和对其他卡发行商SE分区的ARA-M的访问)可以确保仅经授权的(其他)卡发行商可以使用此类应用。 

在该示例中,SE分区62(1)的应用SD 72(2)包含EMV(其代表“Europay, MasterCard, Visa”),其是一种提供了用于信用和/或借记支付智能卡的增强安全性的应用。应用SD 72(2)包括:其自身的访问规则应用客户端(比较于应用SD72(1)的ARA-C 76),包括一组访问规则和控制数据并且还由卡发行商SE分区62(1)的ARA-M 64所管理;以及应用寄存器(比较于应用SD 72(1)的应用寄存器),包含与SE分区62(1)被分配到的卡发行商共享该应用的卡发行商的ID。

如所期望的,可以针对进一步的应用而创建一个或多个附加的应用SD。

在本实施例中,SE 60被包含在微型SD 18中,但是在其他实施例中,其可以位于SIM卡20上、设备高速缓存中(诸如设备存储器16中)或一些其他PCI PED安全模块中。 

图3是操作系统14和微型SD 18以及其与各方的系统的关系的示意性框图,所述各方是诸如卡发行商和根据本实施例的程序模块(在图中由“APP”指示),包括SE分区管理器48、SE分区加载器50和SE分区加密模块52。参考图3,将注意,控制机构(CA)80向提供程序模块的NFC应用提供商82(并且其从NFC应用开发商或所有者84接收证书)发行证书。NFC应用提供商82在NFC卡发行商88(其还向程序模块的所有者84或NFC应用开发商给予权限)的控制之下经由设备交易收单器(其执行SSD管理)或卡使能器86向NFC使能设备提供程序模块、证书和加密密钥。 

图4是由卡发行商所生成的SE 60与操作系统14的集成和智能电话10的软件架构的示意框图90。各种NFC安全功能的执行对于智能电话10和卡使用者而言是透明的。诸如业务应用92之类的私有NFC安全API使能应用驻存在智能电话10中,以执行提供数据完整性、隐私性和不可否认性所需的加密功能。

图5A和5B分别是参考智能电话10的构成图1至3的实施例的程序模块的安装和使用的流程图100、102;流程图100、102描述了SE 60内的新SE分区如何被分配到新的卡发行商或替换现有的卡发行商,以及SE分区资料(particular)(数据、程序等)如何被用来保护与第三方有源或无源设备交换的消息。

图5A的流程图100示出了诸如智能电话10的NFC设备如何被加载有针对每个卡发行商的唯一SCST并且加载有实现图1至3的实施例的构成用于保护智能电话10免受安全攻击的NFC安全软件产品的程序模块,以及被分配到卡发行商的每个SE分区62(1)、62(2)、…、62(n)如何被用来处理智能电话的10与NFC卡或另一NFC使能设备之间的传入和传出的消息。图5B的流程图102图示了卡发行商的SE分区(即,SE分区62(1)、62(2)、…、或62(n))的使用。

参考图5A的流程图100,由卡发行商所监督的(智能电话10的、微型SD 18或SIM卡20(如果SE 60要被安装在SIM卡而不是微型SD中的话)的)装备制造商内部地或由所选择的交易收单器(处理器)远程地下载SCST和前述的程序模块。在步骤104处,因此,用于创建和管理卡发行商“m”的卡发行商SE分区的程序模块(在该图中针对名义上的卡发行商“m”通称为“SE APP”)被加载到微型SD 18上,并且在步骤106处,卡发行商“m”的SE APP的签名和证书被验证。这两个操作可以由适于验证经由任何类型的接口(例如,Wi-Fi、NFC、WAN、LAN)或从任何介质(例如,SIM、SAM、微型SD、存储器高速缓存)而被加载到设备中的任何应用的证书和源(端点证明)的任何NFC使能设备的标准功能来执行。

在步骤108处,卡发行商“m”的SE APP被安装以便为SE 60的卡发行商SE分区提供安全功能。在步骤110处,SE分区加载器50检查卡发行商ID,以确定该卡发行商是现有的卡发行商(即SE分区已经在SE 60中被分配到卡发行商“m”)还是新的卡发行商。

如果SE分区加载器50确定卡发行商ID指示现有的卡发行商,则处理在步骤112处继续,其中SE APP利用新的SE内容来替换卡发行商“m”的旧的SE内容(应用、规则、SCST等),并在如此做时,应用严格的版本控制,以使得新版本必须具有存储在被分配到卡发行商“m”的SE分区的第二寄存器68中的当前版本更高的版本号。处理然后转到步骤114,其中由活动报告程序显示作业完成消息,然后处理结束。

如果SE分区加载器50在步骤110处确定卡发行商ID指示新的卡发行商,则处理在步骤116处继续,其中SE分区加载器50确定SE 60是否具有足够的存储器空间以将新的SE分区分配到卡发行商“m”。如果否,则处理在步骤114处继续,其中由活动报告程序(其指示不足的空间)显示作业完成消息,然后处理结束。如果在步骤116处SE分区加载器确定SE 60具有足够的存储空间,则处理在步骤118处继续,其中SE分区加载器50将SE 60中的新的SE分区分配到卡发行商的“m”。第二寄存器68利用卡发行商的SCST的版本控制号来更新。随后,在步骤120处,一个或多个新的卡发行商经授权的应用一旦被验证则可以被加载到被分配到卡发行商“m”的SE 60的SE分区中,如果在每种情况下足够的存储器空间可用于该新的卡发行商的话。处理然后转到步骤114,其中由活动报告程序显示作业完成消息,然后处理结束。

图5B的流程图102图示了被配置为发行NFC命令的示例性读/写应用的操作。在步骤130处,NFC卡数据被读取并且SE分区管理器48根据NFC卡的个人帐号(PAN)的卡前缀来确定卡发行商ID。在步骤132处,SE分区管理器48启动读/写应用,其在步骤134处检查其被传递读命令还是写命令。

如果检测到写命令,则处理在步骤136处继续,其中读/写应用选择被分配到所识别的卡发行商的对应SE分区。NFC卡写入功能要求要写入的数据在其传输到NFC卡之前被认证和加密。在步骤138处程序模块使用第二寄存器68中的卡发行商的SCST来生成一组隐式密钥和相关联的矢量。在步骤140处消息由新生成的ENCRYPT密钥1进行加密,并且在步骤142处由AUTH密钥2进行认证。在步骤144处,加密和认证密钥被破坏,并且在步骤146处该消息通过利用与隐式密钥相关联的矢量给经加密和认证的消息加前缀而构建。在步骤148处,结果所得的消息被发送(即,写入)到微型SD 18上(或者在其他示例中,写到另一NFC卡或存储器存储,或发送(张贴)到对等NFC使能设备)。然后处理结束。

如果在步骤134处,读/写应用确定它被传递了读命令,则处理在步骤150处继续,其中读/写应用选择被分配到所识别的卡发行商的对应SE域。接下来,在步骤152处NFC卡读取功能使用附加到消息/记录的矢量来重新生成用来加密和认证消息的隐式密钥。一旦DES/3DES密钥(CRYPTO和AUTH)被重新生成,则在步骤154处使用CRYPTO密钥1来解密消息,并且在步骤156处消息真实性针对其完整性使用AUTH密钥2来查证。在步骤158处,消息内容被处理(即,读取),并且在步骤160处密钥和矢量被破坏。然后处理结束。

因此,NFC使能设备可以在驻存的ACE 46的控制之下在被呈现有有效PAN或在由用户从支付菜单的卡/方法选择虚拟卡时选择正确的卡发行商分区,如下: 

                                                 

当发送者身份的验证和所接收的数据内容的认证继续进行时,经签名和证实的数据和程序可以被加载到卡发行商分区中并且被维护,如下: 

 

在特定卡发行商的信息和数据的使用可以被加密并写回到卡发行商的分区中之前,可以解密卡发行商的分区的内容,如下: 

 

图6是根据本实施例的操作系统14的多发行商SE分区管理器48的架构的示意性框图170。访问控制实行器46 使用SE分区管理器48的服务来管理智能电话10中的每个单独的卡发行商的SE分区的加载、维护、访问和使用。

在本实施例中,SE分区62(1)的第二寄存器68中的SCST的大小是仅256个字节,并且实现本发明的该实施例的软件组件具有以可执行形式的小的大小(大约1KB)并且与所有SE分区共享。如上所讨论的,应用寄存器77仅保存卡发行商的ID和权限(执行、更新、删除)级别的列表,以供共享应用SD 72(1)中的特定应用。因此,与智能电话10的设备存储器16的存储器空间(即16GB)或微型SD 10的存储器空间(即32GB)相比,或者甚至当与NFC有源卡(其通常具有至少8KB)相比时,由本实施例所需的存储器空间是非常小的。

本发明的范围内的修改可以由本领域的技术人员容易地实现。

例如,对于本领域技术人员将显而易见的是,本发明的实施例具有许多实例中的应用,其中需要安全数据存储和两个NFC设备之间的通信的安全,并且可以在不偏离本发明的基本概念的情况下对上述实施例的安全方法和架构做出许多更改和修改并且应该被视为在其范围内。因此要理解,本发明不限于上文通过示例的方式所描述的特定实施例。 

在跟着的权利要求中和在本发明的前面的描述中,除非其中上下文另有要求,否则由于表达语言或必要的暗示,词语“包括”或诸如“包括了”、“包括有”之类的变形在包括的意义上使用,也就是以便指定所叙述的特征的存在但不排除本发明的各实施例中的进一步特征的存在或添加。 

此外,本文对现有技术的任何引用不意在暗示此类现有技术形成或形成了任何国家中的公知常识的一部分。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号