【具体实施方式】
本发明的详细描述主要通过程序、步骤、逻辑块、过程或其他象征性的描述来直接或间接地模拟本发明技术方案的运作。为透彻的理解本发明,在接下来的描述中陈述了很多特定细节。而在没有这些特定细节时,本发明则可能仍可实现。所属领域内的技术人员使用此处的这些描述和陈述向所属领域内的其他技术人员有效的介绍他们的工作本质。换句话说,为避免混淆本发明的目的,由于熟知的方法和程序已经容易理解,因此它们并未被详细描述。
此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。此外,表示一个或多个实施例的方法、流程图或功能框图中的模块顺序并非固定的指代任何特定顺序,也不构成对本发明的限制。本文中的密钥集是指一组密钥。
下面参考图1A-图9来介绍本发明的各个实施例。然而,所属领域内的普通技术人员容易理解的是这里根据这些附图列出的细节描述仅仅是解释性的,本发明并不仅限于这些实施例。
当具有近场通信(Near Field Communication,简称NFC)功能的移动电话用于诸如支付服务、交通票务、信用服务、物理访问控制和其他令人兴奋的新服务时,NFC显示出重大的商机。为了支持这种快速演变的商务环境,包括金融机构、各种具有NFC功能的移动电话的制造商(manufacturer,或称制造者)、软件开发商(developer,或称开发者)以及移动网络运营商(Mobile Network Operators,简称MNO)的多个实体参与进NFC移动生态***。由于他们单独角色的特性,这些参与者需要互相交流并以一种可靠的、彼此协作的方式交换信息。
下载至并存储于执行无接触***易(contactless transactions)的具有NFC功能的手持电话的数据和敏感应用的机密性和安全性的继续提高对于上述各个实体都是同等重要的。在移动电话中提供安全性和机密性以支持各种商业模型的组件可以被称为安全元件(Secure Element,简称SE)。总体来讲,安全元件是一个防篡改平台(比如,单芯片安全微控制器),其能够根据一组被广为认同的可信专家(well-identified trusted authorities)起草的规则和安全需求安全的主管各种应用和他们的保密和加密数据(比如密钥管理)。安全元件的常见形式包括嵌入有安全元件的通用集成电路卡(UICC)和微SD卡(microSD)。UICC和microSD都是可移除的。在本发明的一个实施例中,软件模组可以作为安全元件,通过重写该软件模组的所有组件中的一部分的方式更新该软件模组。不管什么形式,每种形式都会导致不同的商业实现,并满足不同的市场需求。
图1A示出了计算装置100的简单架构。除非特别说明,“计算装置”、“移动装置”、“手持装置”、“移动电话”或“手持电话”将在本文中可互相替代的使用,然而所属领域内的普通技术人员能够理解上述词汇也可以指代其他装置,比如智 能电话、笔记本电脑、无接触性智能卡和其他便携式装置。所述移动装置100包括NFC控制器101,该NFC控制器101使得所述移动装置100能够与其它装置无线通信以交换数据。比如,用户可以将所述移动装置100用作电子钱包(e-purse)进行购买支付。在操作时,所述电子钱包由安全元件102来控制。所述安全元件102可以使得这样的一个移动装置100以一种安全的方式来执行金融交易、交通票务、信用服务、物理访问控制和其他令人兴奋的服务。为了提供这样的服务,所述安全元件102可以支持各种Java applet程序、应用或模块(图1A中仅示出了两个实例104和106)。在实现时,这些模块可以是嵌入或***其内的硬件模块,也可以是通过数据网络从一个或多个服务器上下载的软件模块。
当最早购买移动装置或最早将移动装置交付给客户时,在所述移动装置的安全元件102上安装一组默认密钥(a set of default keys,或称为默认密钥集),比如由安全元件制造者(manufacter)设置的发行者安全域(Issuer Security Domain,简称ISD)密钥集(Keyset)。在一个实施例中,所述安全元件102是防篡改芯片,根据需求的安全级别,该芯片可以嵌入智能卡级应用(比如支付、传输)。如图1A所示,所述安全元件102嵌入或配合无接触性NFC相关的应用,并与所述NFC控制器101连接以作为无接触性前端。典型的,符合标准的安全元件与一个发行者安全域(issuer security domain,简称ISD)和一个或多个补充安全域(supplemental security domains,简称SSD)的选择一起供给。每个域中包括一组密钥(a set of key,或称密钥集)。在一个实施例中,所述安全元件102是嵌入所述移动装置100内的或通过卡接口109***移动装置100的小型卡内的芯片。在另一个实施例中,所述安全元件102是或包括装载入所述移动装置内的安全存储空间107内的软件模组。可以通过所述移动装置100内的网络接口103(比如3G网络或LTE(Long Term Evolution)网络)从指定服务器下载更新组件以更新所述软件模组。
所述安全元件102在使用前需要经过个人化(Personalization或Personalizing)过程。在一个实施例中,所述个人化过程是根据选择的卡发行者(比如所谓的安全元件发行者)的派生个人化密钥集(derived personalized key set)为所述安全元件102装载或更新一密钥集。根据情况,安全元件发行者(SE issuer)和安全元件制造者(SE manufacturer)可以是两个分离的实体,也可以是一个单独的实体。为了方便本发明的描述,安全元件发行者和安全元件制造 者在这里被描述为两个分离的实体。进一步的,个人化过程(personalization process)也可以称为配置过程(provisioning process)。根据一个实施例,在安装应用或使能服务(比如应用安装和个人化)时以无线方式(Over the air)执行SE配置过程以个人化所述安全元件。当将所述安全元件关联到一个安全元件发行者时,才执行所述安全元件的个人化。当用户订购或安装应用时,需要为每个应用执行应用安装和配置。
在一个实施例中,在更新或升级所述安全元件102时,为避免从头开始个人化所述安全元件102,只用新的更新替换所述安全元件102中的一个或一些组件。在实现时,可以自动地或手动获取这些新的更新,并将它们装载至所述移动装置100。在一个实施例中,根据相应的安全元件发行者和TSM,具有NFC功能的移动装置可以从服务器或TSM入口或门户(TSM portal)下载应用。
TSM是指可信服务管理(Trusted Service Management),是一种服务集合。所述TSM的一个主要角色是帮助服务提供者(service provider)为他们的使用移动网络的客户安全的发布和管理无接触***。所述TSM或它的服务器不必需要参与使用NFC装置的实际无接触***易(transaction)。这些交易通常由服务提供者和他们的商业合作伙伴提供的***处理。所述TSM的另一个角色是通过作为商业中间人加速移动NFC应用的成功部署和提升,其有利于合同安排和不同各方之间的商业关系的其它方面,这样使得移动网络商务成为可能。
可以到服务中心执行所述个人化过程,也可以通过TSM服务器的网页入口(web portal)远程执行所述个人化过程。在第一种场景下,客户可以到服务中心,让服务代表个人化移动装置内的安全元件。在位于指定地方(比如服务中心)的连接有NFC读卡器的电脑中,配置管理器(provisioning manager)可以是安装的应用或连接至后端TSM的基于网页的应用。所述配置管理器用来与移动装置的安全元件进行通讯(比如通过读卡器)。这样的个人化过程也可以被称为基于网络(Over the Internet)的过程。
在第二种场景下,客户通过服务器(TSM网页门户)注册他/她的移动电话。所述TSM服务器可以将配置管理器的通用资源识别码(universal resource identifier,简称URI)发送至已注册的移动电话。基于所述移动装置的类型,发送方式可以是短信服务推送(Short Message Service Push)或谷歌安卓推送(Google Android Push)。所述客户可以将所述配置管理器下载至所述移动装置 中,并开始所述个人化过程。这样的个人化过程被称为基于无线的过程。
在任一个场景下,所述配置管理器作为移动装置的安全元件和TSM服务器之间的代理。现参考图1B所示,其示出了根据本发明的一个实施例的个人化安全元件的流程或过程110。在实现时,所述过程110可以由软件或软件和硬件的结合来实现。当用户收到一个新的NFC装置(比如移动装置的一部分),需要个人化其内的所述安全元件。
在操作112中,确定所述新的NFC装置是否是真正的NFC装置。一个例子是检查与所述NFC装置相关的序列号(serial number)。所述序列号可以通过与TSM服务器相关的数据库进行认证。在NFC移动装置的例子中,所述移动装置的装置序列号可以用来进行认证。现在假设所述NFC装置是一个真正的NFC装置,即可由移动操作者识别的。所述过程110将进入操作114,使所述NFC装置与专用服务器进行通讯。在一个实施例中,所述专用服务器是TSM***的一部分,并可通过无线网络、互联网或无线和有线的结合(这里称为数据网络或简称为网络)对其进行访问。
在操作116中,使所述NFC装置向所述服务器注册。一旦所述NFC装置成为所述TSM***的一部分,各种服务和数据可以通过网络与所述NFC装置进行通讯。作为个人化过程的一部分,在操作118中,所述服务器请求所述安全元件的装置信息。在一个实施例中,所述服务器发送数据请求(比如服务信息,WAP PUSH)到所述NFC装置上。响应所述数据请求,所述NFC装置发回从所述安全元件中提取的卡产品寿命周期(Card Product Life Cycle,简称CPLC)信息。所述CPLC信息包括安全元件产品信息(比如智能卡ID、制造者信息和批次号等)。基于所述CPLC信息,所述服务器能够从其制造者、授权代理者(authorized distributor)或服务提供者处提取这个安全元件的对应默认发行者安全域(Issuer Security Domain,简称ISD)信息。在实现时,所述服务器与安全元件制造者有两种通讯方式,具体将在下文的合适部分给予详细描述。
在操作120中,由所述制造者确定是否更新所述装置信息。通常,当一个安全元件由其制造者发出时,所述安全元件嵌入有一些默认装置信息。如果确定所述默认装置信息(比如CPLC数据)需要与所述制造者进行更新,所述过程110进入操作122,所述制造者将相应的更新装置信息上传至所述服务器。在操作124中,将所述更新装置信息传输至所述NFC移动装置,并存储于所述安全 元件中。如果确定所述安全元件的默认装置信息不需要与所述制造者进行更新,所述过程110进入操作124,将提取的默认装置信息存储入与TSM服务器相关的数据库中。在一个实施例中,所述服务器包括获取派生密钥集(derived key set)的接口。在一个实施例中,根据所述安全元件的装置信息(比如,ISD)产生所述派生密钥集。当所述安全元件中成功安装上派生ISD密钥集时,通知相应的安全元件发行者所述派生ISD密钥集已经使用。
根据本发明的一个实施例,在操作126中,所述装置信息(默认的或更新的)用来产生密钥集(或称一组密钥)。在一个实施例中,所述服务器用来使用默认ISD在他的硬件安全模块(hardware security module,简称HSM)和所述安全元件之间建立安全通道。所述服务器还用来为所述安全元件计算派生密钥集。基于业务协定,安全元件的发行者的主ISD密钥可以设置于与所述服务器相关的硬件安全模块或所述安全元件发行者的本地硬件安全模块中。所述硬件安全模块是一种安全加密处理器,其用于管理数字密钥,加速加密过程,以及对访问服务器应用的关键密钥提供有效的认证。如果设置于所述服务器中的硬件安全模块内,所述服务器用来指令所述硬件安全模块去计算所述派生密钥集。随后,所述服务器提供一种机制(比如PUT KEY APDU)并使用默认通道,用所述派生密钥集替代在所述安全元件中的默认密钥集。如果所述安全元件发行者(SE issurer)的主ISD密钥在所述安全元件发行者的本地硬件安全模块中,所述服务器还用来与远端的硬件安全模块交互以提取所述主ISD密钥。
在操作128中,将所述密钥集安全的传递至所述安全元件。就这样将密钥集个人化入所述安全元件中,所述密钥集用于利用NFC装置进行的各种安全操作或服务中。在操作130,所述服务器用来将所述安全元件与其发行者或提供者进行同步(比如,将有关安全元件状态的通知发送至所述发行者或提供者)。在个人化后,可以使用所述SE发行者的个人化ISD密钥来访问所述安全元件。基于每个服务提供商的安全需求,所述TSM可以为各个提供者提供额外的SSD以个人化他们的相应应用(比如,图1A中的模块104或106)。
如上文所述,有两种方式可以用来在与所述制造者的交互过程中从所述安全元件中提取相应的默认ISD信息。基于基础架构,制造者可以选择使用实时方式(real-time approach)或批量(或称批处理)方式(batch approach)。
在实时方式中,当所述TSM服务器个人化所述安全元件时,所述服务 器被设置用来与制造者(比如它的服务器)进行通讯。这样,所述默认密钥集是经要求从制造者的服务器提取的。在一个实施例中,所述TSM服务器包括与每个制造者进行通讯的插件模组。
在批量方式中,可以以在线模式执行,也可以以离线模式执行。在离线模式下,所述安全元件制造者通过加密媒介为支持的所有安全元件传递默认ISD信息。所述TSM或计算装置的管理器可以被设置用来将所述物理媒介中的信息输入一个计算装置。随后,解密并提取所述默认ISD信息,并存储于一个数据库中。在在线模式下,所述SE制造商通过网络上传其支持的安全元件的默认ISD信息。随后,解密并提取所述默认ISD信息,并存储于一个数据库中。然后,所述TSM只需要在安全元件个人化过程中访问在其自己的硬件安全模块或数据库。图1C展示了在离线和在线模式时SE制造者、TSM管理器、TSM***之间的关系。根据本发明的一个实施例,图1D示出了NFC装置(比如NFC移动电话)的用户、NFC装置、TSM服务器、相应的SE制造者和SE发行者之间的数据流程图。
一方面,可以认为图1A中的安全元件102是智能卡中的预载操作***,其提供PIN管理和用于卡个人化(card personalization)的安全通道(或称安全域)的平台。所述安全元件102结合智能卡发行者、供应商、产业组、公共实体和科技公司的兴趣,为运行于智能卡上的多个应用定义需求和技术标准。作为一个例子,作为电子钱包安全的一个模块104定义一组协议,该组协议使得小额支付交易能够通过有线或无线环境执行。对于存储于智能卡的电子钱包,在所述电子钱包被发行后将一组密钥(对称的或非对称的)个人化入所述电子钱包。在交易过程中,为了使所述电子钱包与安全认证模组(Security Authentication Module,SAM)或后端服务器之间的信息通道安全,所述电子钱包使用一组各自的密钥进行加密和MAC计算。对于单功能卡片来说,所述电子钱包安全模块104用来作为保护在单功能卡上执行的实际操作的门。在个人化期间,通过电子钱包交易密钥将所述单功能卡片访问密钥(或他的转换)个人化入所述电子钱包。
作为一个例子,假设安装应用、电子钱包已经经由所述安全元件被配置。图1E根据本发明的一个实施例,示出了基于平台的SAM或网络电子钱包服务器152,作为门卫的电子钱包154和单功能标签156,这三个实体之间的个人化数据流程150。所述基于平台的SAM或网络电子钱包服务器152和电子钱 包154之间的通信将按照一种类型的命令(比如APDU,应用协议数椐单元)进行,而电子钱包154和单功能标签156之间的通讯将按照另一种类型的命令进行,其中所述电子钱包起到门卫的作用,以保证只有安全可靠且经过授权的数据交互才会被准许进行。
在一个实施例中,电子钱包的物理安全在一个模拟器中实现。这里使用的模拟器是指其他模块期望与其交互的一个硬件装置或一段程序,或自称是另一个特别的装置或程序。所述电子钱包安全是在用于提供电子钱包功能和与支付服务器通讯的一个或多个Java程序applet之间实现的。支持电子钱包的安全元件负责更新安全密钥以在支付服务器和Java程序applet之间建立交互的合适通道,其中电子钱包程序作为门卫去调节或控制所述数据交换。
现在参考图2A所示,其示出了一个移动生态***200,其中参与入所述移动生态***中的相关方依次列出。在一个实施例中,允许一个NFC装置从相应指定服务器202(比如应用管理提供者)中下载或安装一个或多个应用,其中这些应用是由应用开发者204最初开发出来,并由服务提供者210、应用管理提供者202或其他相关方发布。假设有安全元件提供者208提供的安全元件206已经经由TSM或可信赖第三方(比如,金融机构212)个人化。
一旦在所述NFC装置上安装上一个应用,下一步将是通过所述安全元件配置所述应用。应用的配置过程可以以几种方式开始。其中的一种方式是一个安全元件拥有者在移动装置上从TSM入口中选择一个应用,并开始配置过程。另一种方式是所述安全元件拥有者在移动装置上接收来自代表应用提供者的TSM的应用配置通知。
所述TSM或应用提供者可以在TSM入口或门户上发布他们的应用,以供下载到具有安全元件和/或签订用户请求(比如SE拥有者)的移动装置上。在一个实施例中,所述TSM为多个SE发行者提供云服务。这样,来自各个服务提供者的许多应用可以从TSM入口处获取。然而,当登入所述TSM入口时,安全元件拥有者只可以看那些经过他的安全元件提供者认证的应用。基于安全元件和服务提供者之间的协议,使用安全元件的ISD密钥集或服务提供者的指定的SSD密钥集可以实现应用的下载/安装/个人化。如果在所述安全元件中并未安装有SSD密钥集,则可以在一个应用安装的过程中安装它。
所述TSM知晓安全元件针对各个SSD的存储状态。基于SSD的存储 分配策略和所述安全元件的存储状态,对于在应用商店中的针对各种SSD的可用应用可以标记为不同的指示,比如“可以安装”或“安装存储不足”。这样可以防止用户不必要的失败。
一旦在一个NFC装置上安装一个应用,所述应用自己启动配置过程,或TSM服务器通过蜂窝网络或无线数据网络给所述NFC装置发送配置通知。根据所述NFC装置的类型,有很多种发送消息(PUSH message,或称为推广消息)的方式以使得所述NFC装置开始所述配置过程。发送方法的一个例子包括短信发送或安卓谷歌发送。一旦用户收到所述通知,所述配置过程开始。在认为合适的时候,将详细描述配置过程。
作为所述应用配置的一个部分,TSM服务器执行一些保护性机制。一个是防止安全元件意外锁定。另一个是如果在安全元件中没有足够存储空间时阻止应用的下载。在一些实例中,在安全通道建立期间如果有太多的相互认证失败,则安全元件可能永久性锁定自己。为了防止所述安全元件意外锁定,当在两方(entities)之间建立安全通道时,所述TSM持续跟踪安全元件和TSM之间的认证失败的数目。在一个实施例中,如果达到预定极限,所述TSM将拒绝任何进一步的请求。如果在服务中心手动的重启所述安全元件,所述TSM可以继续处理SE请求。
所述TSM也持续跟踪每个安全元件的存储使用。所述TSM基于由所述SE发行者分配给每个服务提供者的存储分配决定一个应用是否可以安装于一个安全元件上。根据一个实施例,有三种类型的策略:
●预分配一个固定存储空间,这是保证空间;
●预分配一个最小存储空间,这是保证最小空间(暗示所述容量在一些情况下可以被扩展);
●最大努力(比如,合同规定,需要安全元件发行者使用他最大的努力执行他的责任,以使得用户得到的利益最大化)。
在一个实施例中,所述安全元件发行者使用所述TSM网页入口完成这项工作。
1.对于一批安全元件,所述安全元件发行者可以为服务提供者预分配一个存储策略以通过TSM网页入口安装它的应用;
2.当移动装置请求安装一个应用时,TSM服务器认证相应的服务提供者 的空间是否符合它的存储策略;如果不符合,则拒绝这个请求;否则,所述TSM服务器将处理所述配置请求;
3.如果配置成功,所述TSM将积累这个应用服务的存储大小。
当一个移动用户订阅一个移动应用(假如它已经安装),在所述应用使用之前该应用需要经由移动装置上的安全元件配置。在一个实施例中,所述配置过程包括四个主要阶段;
●如果需要,在所述安全元件上创建补充安全域(SSD);
●在所述安全元件上下载并安装一个应用;
●在所述安全元件个人化所述应用;
●下载UI(用户界面)组件至移动装置上。
图2B示出了根据本发明的一个实施例的配置一个或多个应用的流程或过程220。所述过程220可以实现为软件或软件和硬件的组合。在一个实施例中,所述应用配置过程220需要进入在移动装置上的配置管理器(比如代理)以与其内的安全元件交互。
如图2B所示,在操作222处,所述应用配置过程220可以是自动或手动开始。比如,假设它还未被配置,用户可以通过选择一个已安装应用去订购相关服务以启动所述配置过程,或在激活所述已安装应用时启动所述配置过程。在另一个实施例中,应用提供者发送一个信息(比如短信)至所述移动电话以开始所述配置过程。
在任何情况下,所述程序220进入操作224,从移动装置的安全元件中提取所述装置信息(比如,CPLC)后,与专用服务器(比如TSM服务器或由应用发行者运营的服务器)建立通信。在操作226处,所述装置信息与识别应用的标识符一起被传送至所述服务器。在操作228,所述服务器首先基于所述装置信息识别所述安全元件的发行者,以在230操作中确定是所述安全元件是否已经被个人化。如果所述安全元件还未被个人化,所述过程220进入操作232,以个人化所述安全元件,所述操作232的一个实施例可以根据图1B中的过程110来实现。
现假设移动装置中的安全元件已经被个人化。所述过程220进入操作234,在这里使用派生ISD与所述安全元件建立安全通道。根据谁为ISD提供硬件安全模块HSM(比如TSM或SE发行者),所述服务器将联系所述硬件安全模 块去为所述安全元件计算派生ISD,并使用该派生ISD与所述安全元件建立安全通道。随后,在操作中236,所述服务器检查是否有与该应用相关的一个SSD。如果该应用没有一个对应的SSD,所述服务器将检查数据库看它是否已经安装于所述安全元件上。如果需要SSD安装,所述流程220进入240去安装所述SSD。在一个实施例中,提醒所述用户所述SSD(密钥)的安装。在操作238,假设用户拒绝安装所述SSD,所述过程220停止并进入操作222,重新开始所述配置过程220。
现假设在操作240中执行安装SSD过程。安装所述SSD与安装ISD类似。所述TSM服务器联系其内有主SSD密钥的硬件安全模块HSM,为所述安全元件计算派生SSD密钥集。所述主SSD密钥可以在TSM、服务提供者、或安全元件发行者中,这主要取决于各方是如何协定的。
为了在安全元件中下载/安装应用,在操作242,所述服务器用来使用派生SSD与所述安全元件建立安全通道。在一个实施例中,这类似于如何基于派生ISD建立安全通道。在操作244,准备所述应用的数据,它的细节将在下文详细描述。根据一个实施例,所述服务器联系所述服务提供者,以准备存储数据应用协议数据单元APDUs。根据安装于移动装置中一个应用,所述服务器可以重复发布存储数据以个人化所述应用。假如成功执行了所述配置程序,包括一个适当接口(比如,每个移动装置的应用的用户接口)的额外数据可以被下载。在操作246,所述服务器向一个应用提供者通知已经配置的应用的状态。根据一个实施例和上文所述,图2C示出了当配置一个应用时不同方之间交互的数据流程250。
如图2B中的操作244,配置应用的一个重要应用在于为目标安全元件准备定制应用数据。比如,对于电子钱包应用,该应用的个人化数据包括基于安全元件的装置信息(比如CPLC信息)产生的各种个人化交易密钥。为了搬运电子钱包,个人化数据的部分包括源自Mifare卡片的标识符的Mifare访问密钥,所述服务器既可以个人化Java卡片应用,也可以个人化Mifare4Mobile服务目标。通常,至少有两种不同的准备数据的方式,以方便随后的交易。
为了数据准备,本发明的一个实施例支持与所述服务提供者交互的两种模式以计算个人化应用数据。对于第一种模式,所述TSM服务器不直接访问与服务提供者关联的硬件安全模块。所述服务提供者可以使与它的硬件安全模块 交互的服务器产生应用密钥(比如,传输、电子钱包或Mifare密钥)。所述TSM数据准备实现是使用应用程序接口(API)或服务器提供的协议去请求派生应用密钥(derived application key)。第二种模式是数据准备实现可以直接访问与服务提供者相关的硬件安全模块以产生应用密钥。
根据一个实施例,图2D示出了在配置一个应用过程中准备应用数据时不同方交互的数据流程255。图2D为第一模式,其中所述TSM服务器不直接访问与服务提供者关联的硬件安全模块。除了所述应用数据准备实现将直接与服务提供者的硬件安全模块交互外,第二种模式具有相似的流程。
除了支持配置过程,本发明的一个实施例还支持安全元件的寿命周期管理。所述寿命周期管理包括但不限于,安全元件锁定、安全元件解锁和应用删除(非使能)。可以通过TSM通知来开始这些活动。在移动装置的实际使用中,图2E示出了锁定已安装应用的流程或过程260。一个NFC装置可能已经安装了一定数量的运行于安全元件上的应用。因为一些原因(比如,长时间没有活动或期满),一个应用需要由其发行者或提供者非使能或锁定。
图2E示出了非使能一个已安装应用的过程260。非使能一个已安装应用的过程260开始于操作262。在一个实施例中,所述过程260由操作者通过TSM网页入口手动启动。在另一个实施例中,所述过程260由服务提供者内部工作流程(比如使用TSM网页服务API)自动启动。一旦所述过程260启动,发送一条信息至一个NFC装置(比如移动装置内),其内的一个应用需要被非使能。在实现时,这样的消息可以有不同格式。在一个实施例中,所述消息是一个PUSH命令。在另一个实施例中,所述消息是一个通过网络传递至所述NFC装置内的TCP/IP请求。在操作264中,服务器(比如TSM服务器)发送所述消息。在实现时,这样的一个消息包括标识将被锁定或非使能的应用的标识符。在接收到这样的消息时,在操作266,所述NFC装置上的卡管理器代理(card manager proxy)用来通过回复一条信息来认证这样的信息是否确实来自它的原始发行者或提供者。在一个实施例中,将所述消息发送至TSM服务器进行认证。如果认证失败,即对这样的查询没有回应,所述过程260将结束。
假设所述认证通过,即来自所述装置的针对所述应用的提供者的查询收到了回复确认,所述原始请求被证明是真实的。通常,在操作268,这样的回复确认包括将要锁定的应用的标识符。所述TSM服务器用来建立一个与安全元 件的安全通道。随后,所述TSM服务器通过所述卡管理器代理为所述安全元件准备适当的APDUs(比如SET STATUS(设置状态),或/和DELETE(删除))。在操作270,所述装置向所述安全元件发出操作请求,以锁定特定应用。
不管怎样,响应所述命令,在步骤272,所述安全元件SE锁定或非使能所述应用。根据一个实施例,所述SE被致使与应用分离,这样使得该已安装的应用不再能使用所述安全元件。在操作274,所述安全元件用来发出确认以通知相关方,这个应用不再运行于所述装置中了。在一个实施例中,所述确认发送至TMS服务器,所述TMS服务器中有一个记录哪些应用安装于哪些装置中以及每个应用的相应状态的数据库。所述数据库根据来自所述安全元件的确认(acknowledgement)进行更新。
图2E示出了非使能或锁定已安装应用的流程或过程。对于本领域内的普通技术人员来说,其它操作,比如解锁或使能一个已安装应用,延长一个已安装应用的期限,是与图2E示出的过程相似的。
参照图2F,图2F根椐本发明的一个具体实施例,展示了便携设备作为电子钱包执行电子商务和移动商务时的架构示意图280。所述图280包括内嵌了智能卡模块的便携式电话282。此类便携式电话的一个实例是支持近距离通信(NFC,Near Field Communication),并且包含SmartMX(SMX)模块的便携式电话。需要注意的是安全元件和应用可以是集成的。除非特别说明,接下来的描述将不会指出哪个部分来执行安全元件的功能,哪个部分来作为应用。本领域内的普通技术人员应该可以理解的是根据下文给定的详细描述合适的部分或功能将被执行。
所述SMX模块预先装载有Mifare模拟器288(即单功能卡),以用来存储数值(values)。所述便携式电话装有非接触界面(例如ISO14443RFID),以允许所述便携式电话起到标签的作用。此外,所述SMX模块是能够运行Java applet程序的Java卡片(JavaCard)。所述电子钱应用包被设置为能够通过密码访问所述Mifare模拟器的数据结构,所述密码由所述访问密钥在所述安全元件被个人化时经过适当的转换后得到。
所述便携式电话282中提供了电子钱包管理器MIDIet程序284。为了实现移动商务,所述MIDIet程序284充当了电子钱包applet程序286及一个或多个支付网络和服务器290之间的通信代理,以使各方之间的交易顺利进行。 此处所说的MIDIet程序是适合在便携设备上运行的软件组件。所述电子钱包管理器MIDIet程序284可以被实现为Java便携式电话上的“MIDIet程序”,或个人数字助理(PDA)设备上的“可执行应用程序”。所述电子钱包管理器MIDIet程序284的功能之一是接入无线网络,并与运行在相同的设备或外部智能卡上的电子钱包applet程序进行通信。此外,MIDIet程序284还被设置为可以提供管理功能,例如更改个人识别号码(PIN)、查看电子钱包余额和交易历史日志。在一例应用中卡片发行商提供了用于支持和认证在卡片和对应服务器(亦即支付服务器)之间进行的任意交易的安全识别模块(SAM)292。如图2F所示,应用协议数椐模块(APDU)命令由能够访问安全识别模块(SAM)292的服务器290所创建,其中所述APDU模块是读取器和卡片之间的通信模块。所述APDU模块的构造根据ISO7816标准制定。通常,APDU命令被嵌入网络消息中并被传送至所述服务器290或所述电子钱包applet程序286以接受处理。
为了进行电子商务,在计算机(未示出)上运行的web代理294负责与一个非接触读取器(例如一个ISO14443RFID读取器)以及所述网络服务器290交互。在实际操作中,所述代理294通过所述非接触读取器296向在便携式电话282上运行的所述电子钱包applet程序286发送APDU命令,或通过相同途径从所述电子钱包applet程序286处接收相应回复。另一方面,所述代理294可生成网络请求(例如HTTP)并从所述支付服务器290处接收相应回复。
当个人化便携式电话282时,图3A中的结构图300展示了相关模块互相作用,以完成电子钱包由授权人进行个人化的过程。图3B中的结构图320展示了相关模块互相作用,以完成如图2F所示的电子钱包由其用户进行个人化的过程。
图3C中的流程或过程图350展示了根据本发明的一个具体实施例,个人化电子钱包applet程序的过程。图3C建议与图3A和图3B结合起来一同理解。过程图350可以通过软件、硬件或软硬件结合的方式实现。
如前所述,电子钱包管理器建立于已经个人化的安全元件之上,以提供个人化电子钱包applet程序时所需的安全机制。在实际操作中,安全域被用来建立连接个人化应用服务器与所述电子钱包applet程序的安全通道。根据一个具体实施例,经过个人化并被存入所述电子钱包applet程序的关键数据包括一个或多个操作密钥(例如载入或充值密钥和购买密钥),预设的个人识别号码, 管理密钥(例如阻塞解除PIN密钥和重新载入PIN密钥),以及密码〔例如来自Mifare的密码〕。
假定用户想要个人化内嵌在便携设备(例如一台便携式电话)中的电子钱包applet程序。在图3C的步骤352中,个人化过程被启动。根据具体实现的不同,个人化过程可能在便携设备内的模块中实现,并由手动或自动方式激活,也可能实现为由授权人(通常是与卡片发行商有联系的人员)启动的一个物理过程。如图3A所示,授权人启动个人化过程304,以个人化用户的电子钱包applet程序,所述个人化过程304在现有的(existing)新电子钱包安全识别模块306和现有的安全识别模块308上,通过作为界面的非接触读取器310来进行。卡片管理器311执行至少两项功能:(1)通过安全域建立安全通道,以在卡片个人化过程中,安装和个人化外部应用程序〔例如电子钱包applet程序〕;以及〔2〕创建安全措施(例如个人识别号码),以在后续的操作中保护所述应用程序。作为所述个人化过程使用个人化应用服务器304的结果,所述电子钱包applet程序312和模拟器314被个人化。
相似地,如图3B所示,电子钱包用户希望启动个人化过程,以通过无线方式(例如通过图2中的移动商务路径)个人化电子钱包applet程序。与图3A不同,图3B允许所述个人化过程由手动或自动方式激活。例如,便携式电话上装有一个装置,如果该装置被按下,则激活所述个人化过程。在另一种方案中,“未个人化”的状态提示可被提交给用户以启动所述个人化过程。如前所述,便携设备中的MIDlet程序322〔即一个服务管理器〕充当代理以协助支付服务器324与电子钱包applet程序312以及模拟器314之间的通信,其中支付服务器324拥有访问现有的新电子钱包安全识别模块306和现有的安全识别模块308的权限。经过所述个人化过程,电子钱包applet程序312和模拟器314被个人化。
现在转回参见图3C,在图3A中所示的个人化过程被启动以后,非接触读取器310被激活并在步骤354中从设备内的智能卡中读取标签标识符(ID)(即RFID标签ID)和关键数据。通过应用安全域(例如卡片发行商的默认安全设置),在步骤356中建立连接新电子钱包安全识别模块(例如图3A中的安全识别模块306)与便携设备中电子钱包applet程序(例如图3A中的电子钱包applet程序312)的安全通道。
全球平台的每个应用安全域都包括三个DES密钥。例如:
密钥1:255/1/DES-ECB/404142434445464748494a4b4c4d4e4f
密钥2:255/2/DES-ECB/404142434445464748494a4b4c4d4e4f
密钥3:255/3/DES-ECB/404142434445464748494a4b4c4d4e4f
安全域被用来为两个实体之间的安全会话生成会话密钥,所述两个实体可以是卡片管理器applet程序和主应用程序(host application),其中所述主应用程序可能是桌面机中的个人化应用程序,也可能是由后端服务器提供的网络化的个人化服务。
默认的应用域可由卡片发行商安装,并分配给不同的应用/服务提供商。各应用程序所有者可在个人化过程之前(或在所述过程的最初阶段)变更各自密钥组的数值。之后应用程序可以使用所述的新密钥组来创建用于执行个人化过程的安全通道。
通过由应用提供商的应用安全域建立的所述安全通道,第一组数据可被个人化并存入电子钱包applet程序。第二组数椐同样可以通过同一条通道进行个人化。但是,如果所述数据保存在不同的安全识别模块中,则一条使用相同密钥组(或不同密钥组)的新的安全通道可被用于个人化所述第二组数据。
在步骤358中,通过新电子钱包安全识别模块306生成一组电子钱包操作密钥和个人识别号码,以用于新电子钱包安全识别模块与电子钱包applet程序之间的数据交换,并在实质上个人化所述电子钱包applet程序。
在步骤360中第二条安全通道在现有安全识别模块(例如图3A中的安全识别模块308)与便携设备中的电子钱包applet程序(例如图3A中的电子钱包applet程序312〕之间被建立。步骤362中使用所述现有安全识别模块和标签ID生成一组转换后的密钥。所述转换后的密钥保存在所述模拟器中以用于之后的数据访问认证。步骤358中使用所述现有安全识别模块和标签ID生成一组MF密码,并将所述密码存入电子钱包applet程序以用于之后的数据访问认证。上述操作全部完成后,所述电子钱包,包括所述电子钱包applet程序和对应的模拟器,将被设置为“已个人化”状态。
基于本发明的一个具体实施例,图4A和图4B一起展示了为电子钱包筹资或注资的流程或过程图400。过程400通过图2中的移动商务路径实施。为了更好地理解过程400,图4C展示了一幅具有代表性的方块图,图中相关方 块相互作用以完成所述的过程400。根据本发明实际应用的不同情况,所述过程400可能通过软件、硬件、或软硬件结合的方式实现。
假设用户得到了一台安装了电子钱包的便携设备(例如一台便携式电话〕。所述用户希望从银行的账户中向所述电子钱包注入资金。在步骤402,所述用户输入一组个人识别号码(PIN)。假定所述个人识别号码有效,便携设备中的电子钱包管理器被激活,并在步骤404中发起请求(也被称为空中(OTA,Over-the-Air)充值请求)。在步骤406中便携设备内的MIDIet程序向电子钱包applet程序发送请求,图4C中描绘了所述步骤406中电子钱包管理器MIDIet程序434与电子钱包applet程序436之间通信的过程。
在步骤408中,电子钱包applet程序生成用于回应所述MIDlet程序请求的回复。收到所述回复后,所述MIDIet程序将所述回复通过蜂窝通信网络发送至支付网络和服务器。如图4C所示,电子钱包管理器MIDIet程序434与电子钱包applet程序436通信以获取回复,所述回复随即被发送至支付网络和服务器440。在步骤410,过程400需要核实所述回复的有效性。如果所述回复无法被核实,过程400将终止。如果所述回复被核实为有效,则过程400进入步骤412并查对银行中相对应的账户。如果所述账户的确存在,资金过户请求将被启动。在步骤414中,所述银行收到所述请求后会返回回复以回应所述请求。通常,所述支付网络和服务器与所述银行之间的信息交换需遵守网络协议〔例如国际互联网使用的HTTP协议〕。
在步骤416中,所述银行返回的回复被传送至支付网络和服务器。在步骤418中,MIDIet程序从所述回复中提取出处APDU命令并将所述命令转发给电子钱包applet程序。在步骤420中所述电子钱包applet程序核实所述命令,如果所述命令被核实为已被授权,则将该命令发送至步骤420中的模拟器,同时更新交易日志。步骤422中生成标签(ticket)以用来制定向所述支付服务器发送的回复(例如APDU格式的回复)。在步骤424中,所述支付服务器收到回复后更新并向所述MIDIet程序发送成功状态信息,同时保存所述APDU回复以便以后查对。
如图4C所示,支付网络和服务器440收到电子钱包管理器MIDIet程序434发出的回复,并与安全识别模块444核实所述回复最初是由经过授权的电子钱包applet程序436所发出。所述回复被核实之后,支付网络和服务器440 向提供资金的银行442发出请求,假定用户432在所述银行中有帐户。所述银行会核实并授权所述请求,然后按照预定的消息格式返回授权号码。从银行442接收到所述回复之后,支付服务器440会向MIDIet程序434发送一个网络回复以拒绝或批准所述请求。
电子钱包管理器434核实所述网络回复的有效性(例如是否是APDU格式),然后向模拟器438发送命令并更新交易日志。至此,电子钱包applet程序436完成了所需的步骤并向而MIDlet程序434返回一个回复,所述MIDlet程序434再向支付服务器440转发一条内嵌(APDU)回复的网络请求。
尽管过程400被描述为向电子钱包中注入资金,本领域中的其他技术人员能够容易地得出使用电子钱包通过网络进行购买的过程与过程400本质上是一样的结论,因此所述进行购买的过程不再在此单独讨论。
根据本发明的一个具体实施例,图5A中展示了使便携设备530能够在蜂窝通信网络520(例如一个GPRS网络)上进行电子商务和移动商务的第一个示例架构500。所述便携设备530由基带524和安全元件529(例如智能卡)组成。所述便携设备的一个实例是支持近距离通信或近场通信(NFC,Near Field Communication)的便携设备(例如便携式电话或个人数字助理(PDA))。所述基带524提供了一个电子平台或环境(例如微型版Java(JME,Java Micro Edition),或移动信息设备框架(MIDP,Mobile Information Device Profile)),在其上可执行或运行应用MIDIet程序523和服务器管理器522。所述安全元件529包含有全球平台(GP)卡片管理器526,模拟器528以及其他组件比如个人识别号码管理器〔未示出〕。
为支持所述便携设备530执行电子商务和移动商务,需要在其上预先安装和设置一个或多个服务/应用。服务管理器522的一个实例(例如一个有图形用户界面的MIDlet程序)需要被激活。在一个具体实施例中,服务管理器522可以被下载并安装。在另一个具体实施例中,服务管理器522可以被预先载入。无论采用何种方式,一旦服务管理器522被激活,包含各种服务的目录列表将被显示。所述目录列表可能包含与用户的签约信息有关的服务项目,也可能包括独立于用户签约信息的推荐项目。所述目录列表可从目录服务器512上的目录库502中得到。目录服务器512为各种可能向注册者提供产品和/或服务的服务提供者(例如安装服务器,个人化服务器)起到了交流中心(central hub)的作 用(如黄页功能)。所述目录服务器512的黄页功能可以包括服务规划信息(例如服务收费,开始日期,结束日期等〕、安装、个人化和/或MIDIet程序下载地点(如国际互联网地址)。所述安装和个人化过程可能是由两个不同的商业实体所提供,比如所述安装过程可能由安全元件529的发行商所提供,而所述个人化过程可能由持有特定应用程序的应用处理密钥的服务提供商所提供。
根据一个具体实施例,服务管理器522被配置为通过蜂窝通信网络520连接服务提供商的一个或多个服务器514。假定用户已经从呈现给他的服务目录中选择了一个应用。在所述一台或多台服务器514与全球平台管理器526之间将建立一条安全通道518,以安装/下载所述用户选择的应用applet程序527,然后再个人化此应用applet程序527及可选的模拟器528,并最终下载应用MIDIet程序523。Applet程序库504和MIDlet程序库506分别提供一般的应用applet程序和应用MIDIet程序。全球平台安全识别模块516和应用程序安全识别模块517被用来建立安全通道518以进行个人化操作。
根据本发明的另一个具体实施例,图5B展示了使便携设备530能够在公共网络521上执行电子商务和移动商务的第二个示例架构540。所述第二个架构540中的大多数组件本质上与图5A第一个架构500中的组件相类似。不同之处在于第一个架构500是基于蜂窝通信网络520上的操作,而第二个架构540则使用了公共网络521〔例如国际互联网)。所述公共网络521可能包括局域网(LAN,Local Area Network)、一个广域网(WAN,Wide Area Network)、WiFi(IEEE802.11)无线连接、一个Wi-Max(IEEE802.16)无线连接等。为了在所述公共网络521上进行服务操作,服务管理器532的一个实例(即与服务管理器MIDIet程序522功能相同或相似的实例)将被安装在接入公共网络521的计算机538上。所述计算机538可以是桌面个人电脑(PC)、笔记本电脑、或其他能运行服务管理器532的所述实例,并接入公共网络521的计算设备。所述计算机538和便携设备530之间的连接通过一个非接触读取器534来进行。服务管理器532充当了代理的角色,以协助服务提供商的一个或多个服务器514与全球平台卡片管理器526之间,通过安全通道519进行的安装和个人化过程。【0121】图5C是一张流程图,根据本发明的一个具体实施例,描绘了使便携设备能够进行电子商务和移动商务功能的过程550。所述过程550根据具体实现的不同,可以通过软件、硬件、或软硬件结合的方式实现。为了更好地理解所述过 程550,以下的描述中将引用若干较早的图示,尤其是图5A和图5B。
在过程550开始之前,服务管理器522或532的一个实例已被下载或预装在便携设备530或计算机538上。在步骤552,服务管理器被激活并向服务提供商处的服务器514发送服务请求。在用户被识别以及便携设备被核实为有效之后,在步骤554中,所述过程550依据便携设备530的用户的签约(subscription)信息提供服务/应用程序的目录列表。例如,所述列表可能包含移动销售点应用程序、电子钱包应用程序、电子票务应用程序、以及其他商业化的服务。然后一个服务/应用程序被从所述目录列表中选中。例如,电子钱包或移动销售点可被选中用来配置便携设备530。作为对用户选择的回应,过程550在步骤556下载并安装所述被选中的服务/应用程序。例如,电子钱包applet应用程序(即应用applet程序527)从applet程序库504中下载并安装在安全元件529中。所述下载或安装的路径可以是安全通道518或519。在步骤558中,如果需要,过程550将个人化所述已被下载的应用applet程序和所述模拟器528。一些被下载的应用applet程序不需要被个人化,另外一些则需要个人化。在一个具体实施例中,移动销售点应用applet程序(“销售点安全识别模块(POSSAM)”)需要被个人化,则以下信息或数据组是必须提供的:
(a)唯一基于底层安全元件独特标识符的安全识别模块ID;
(b)一组借记主密钥(debit master key);
(c)一个转换后的消息加密密钥;
(d)一个转换后的消息识别密钥;
(e)每笔线下交易的备注部分可以被允许的最大长度;
(f)一个转换后的批量交易密钥;以及
(g)一个全球平台个人识别号码(GP PIN)。
在另一个具体实施例中,为单功能卡片个人化电子钱包applet程序时,不仅需要将特定数据(即个人识别号码、转换后的密钥、开始日期、结束日期等)配置在电子钱包中,而且还要将模拟器设置为可以在开放的***中工作。最后,在步骤560中,过程550下载并根据选择启动应用MIDlet程序523。所述应用applet程序中的某些个人化数据可被访问和显示,或由用户提供。所述过程550在所有服务/应用组件均被下载、安装和个人化后结束。
根据一个具体实施例,使便携设备530能够作为一个移动销售点来使 用的一个代表性过程如下:
(a)接入安装服务器(即服务提供商的一台服务器514),并请求所述服务器建立第一条安全通道(例如安全通道518),以连接一个发行商域〔即applet程序库504〕与运行于安全元件529上的全球平台卡片管理器526;
(b)接收一条或多条网络消息,所述消息中包含封装销售点安全识别模块applet程序(例如来自applet程序库504的一个Java Cap文件)的若干APDU请求;
(c)从接收到的所述网络消息中提取所述APDU请求;
(d)向全球平台卡片管理器526按照正确的顺序发送提取出的APDU请求,以在安全元件529上安装销售点安全识别模块(即应用applet程序527);
(e)接入一个个人化服务器〔即一台服务提供商的服务器514〕,以开通第二条连接个人化服务器与新下载的applet程序(即销售点安全识别模块)之间的安全通道(根据服务器和/或路径的不同,所述安全通道可能是也可能不是安全通道518)。
(f)接收一条或多条网络消息以获得一个或多个单独的“数据存储APDU(STORE DATAAPTU)”;
(g)提取并发送所述“数据存储APDU(STORE DATAAPTU)”,以个人化销售点安全识别模块;以及
(h)下载并启动销售点管理器(即应用MIDIet过程序523)。
图6A展示了一个代表性的架构600,根椐本发明的一个具体实施例,其中便携设备630作为移动销售点,以执行电子商务和移动商务。所述便携设备630由基带624和安全元件629组成。销售点管理器623被下载并安装在所述基带624中,销售点安全识别模块628则被个人化并安装在安全元件629中,以使便携设备630能够充当移动销售点的角色。这样实时的交易639可以在支持移动销售点的便携设备630与支持电子代币的装置636(例如单功能卡片或支持电子钱包的移动设备)之间进行。所述电子代币可能代表设备中的电子货币(e-money)、电子购物券(e-coupon)、电子票(e-ticket)、电子凭单(e-voucher)或任何其他形式的支付代币。
实时交易639可以在线下进行(即不将便携设备接入后端销售点交易处理服务器613)。但是,在特定的实际情况中,例如交易量超过了预定的门限 时,或支持电子代币的设备636需要充值或虚拟充值时,或(单一或批量)交易上传时,所述便携设备630可以通过蜂窝网络520接入所述后端销售点交易处理服务器613。
累积的线下交易记录需要被上传至后端销售点交易处理服务器613进行处理。所述上传操作由通过安全通道618接入销售点交易处理服务器613的便携设备630执行。与所述安装和个人化过程相似,上传操作可以经由两条不同的路线执行:蜂窝通信网络520;或公共网络521。图6A描绘了所述第一条路线。
所述第二条路线如图6B所示,根椐本发明的一个具体实施例,图6B展示了一个代表性的架构640,其中便携设备630作为移动销售点并在公共网络521上执行交易批量上传的操作。所述移动销售点中的线下交易记录一般被堆积保存在销售点安全识别模块628中的交易日志中。所述交易日志由非接触读取器634所读取并存入安装在计算机638中的销售点代理633。所述销售点代理633再在公共网络521上通过安全通道619接入销售点交易处理服务器613。每个包含一条或多条交易记录的上传操作都标记为一个单独的批量上传操作。销售点安全识别模块628、非接触读取器634以及销售点代理632三者之间的数据通信釆用格式并包含所述交易记录。封装APDU(例如HTTP)的网络消息则被用于销售点代理632和销售点交易处理服务器613之间的通信。
在一个具体实施例中,一个来自销售点管理器623或销售点代理633的具有代表性的批量上传过程包括:
(a)向销售点安全识别模块628发送请求以发起批量上传操作;
(b)在所述销售点安全识别模块628同意所述批量上传请求后,从所述销售点安全识别模块628中被标记的“一批”或“一组”中以APDU命令的形式取回累积的交易记录;
(c)创建一条或多条包含所述取回的APDU命令的网络消息;
(d)通过安全通道619将所述一条或多条网络消息发送至销售点交易处理服务器613;
(e)从所述销售点交易处理服务器613中接收确认签名消息;
(f)将所述确认签名消息以APDU的形式转送至所述销售点安全识别模块628以进行核实,然后删除经确认已被上传的交易记录;以及
(g)如果所述同一“批”或“组”中仍然有其他未被上传的交易记录,则重复步骤(b)至步骤(f)。
图6C展示了一幅流程图,根据本发明的一个具体实施例,描绘了使用充当移动销售点的便携设备630与作为单功能卡片使用并支持电子代币的装置636进行移动商务的过程650。为了更便于理解,最好将过程650与之前的图示,尤其是图6A和图6B关联起来一同考察。所述过程650可以用软件、硬件、或软硬结合的方式实现。
当支持电子代币装置(例如Mifare卡片或支持电子钱包并模拟单功能卡片的便携式电话)的持有者,希望通过移动销售点(即便携设备630)购买物品或订购服务时,过程650(例如图6A中的销售点管理器623所执行的过程〉便会被启动。在步骤652,便携设备630读取所述支持电子代币的装置并取回电子代币(例如Mifare卡片的标签ID)。然后,过程650在步骤654中核实所述取回的电子代币是否有效。如果图6A中支持电子代币的装置636是单功能卡片(例如Mifare),则由销售点管理器623执行的所述核实过程包括:(i)读取所述卡片的卡片标识(ID),所述卡片标识保存在不受保护或仅受公知密钥保护的区域上;(ii)向销售点安全识别模块628发送包含所述卡片标识的请求;(iii)接收一个或多个由销售点安全识别模块628生成的转换后密钥〔例如用于交易计数、发行商数据等的密钥〕。如果所述接收到的一个或多个转换后密钥为无效,即所述取回的电子代币为无效,则结束过程650。否则过程650将沿着“是”分支推进至步骤656,在步骤656中将判定在所述取回的电子代币中是否有足够的余额以支付当前交易所需的费用。如果步骤656判定的结果为“否”,过程650可以选择提议所述持有者在步骤657中为其电子代币充值(即载入、注入或筹集资金)。如果所述持有者选择“否定”所述提议,则过程650结束。否则如果所述持有者同意为所述支持电子代币的装置进行实时充值,则过程650在步骤658中执行充值或虛拟充值操作。之后过程650返回步骤656。如果在电子代币中有足够的币余额,过程650在步骤660中从支持电子代币装置636的电子代币中扣除或借记完成所述购买需要支付的数额。在所述单功能卡片的情况中,所述一个或多个转换后密钥被用来授权所述扣除操作。最后在步骤662,销售点安全识别模块628中积累的一个或多个线下交易记录被上传至销售点交易处理服务器613进行处理。所述上传操作可通过蜂窝通信网络520或公共域网络521对单个交易或批量交易 进行。
图4A中的过程400描述了前述的充值操作。虚拟充值操作是所述充值操作的特殊类型,通常被赞助人或捐助者用来提高电子代币的信用额度。为了能够使用虚拟充值操作,所述赞助人需要设立一个账户,并将所述账户与支持电子代币的装置(例如单功能卡片、多功能卡片、支持电子代币的便携式电话等等)绑定。例如,由商业实体(例如企业、银行等等)提供的线上账户。一旦所述赞助人向所述线上账户中充入了电子代币,支持电子代币装置的持有者便能在接入移动销售点时从所述线上账户中收到电子代币。多种不同的安全措施将被贯彻执行以确保所述虚拟充值操作是安全而且可靠的。所述虚拟充值的一个具有代表性的应用情景是父(母)亲(即赞助人)可以向一个线上账户中充入电子代币,所述线上账户与一位儿童(即设备持有人)的便携式电话(即支持电子代币的装置)相连接,因此当所述儿童在移动销售点购买物品时,所述儿童就能收到所述被充入的电子代币。除了此处描述的各种电子商务和移动商务功能以外,销售点管理器623还被设置为可提供多种查询操作,例如,(a)检查销售点安全识别模块中累积的未形成批量(即未被上传)的收支记录,(b)列出销售点安全识别模块中的未形成批量的交易日志,(c)显示保存在销售点安全识别模块中的特定交易的细节,(d)检查支持电子代币的装置的当前余额,(e)列出支持电子代币的装置的交易日志,以及(f)显示支持电子代币的装置的特定交易的细节。
图6D中的流程图,根据本发明的一个具体实施例,描绘了使用可充当移动销售点的便携设备630与作为多功能卡片使用并支持电子代币的装置636,进行移动商务的具有代表性的过程670。为了更便于理解,最好将过程670与之前的图示,尤其是图6A和图6B联系起来一同考察。所述过程670可以用软件、硬件、或软硬结合的方式实现。
当支持电子代币装置636(例如多功能卡片或支持电子钱包并模拟多功能卡片的便携式电话)的持有者希望通过移动销售点(即便携设备630)购买物品或订购服务时,过程670(例如图6A中销售点管理器623所执行的过程)便会被启动。在步骤672,过程670向支持电子代币的装置636发送初始购买请求。购买费用与所述初始购买请求(例如命令)一同发送。然后过程670进行至判定步骤674。当支持电子代币的装置636中没有足够的余额时,销售点管理器623将收到拒绝所述初始购买请求的回应消息。结果是过程670由于所述购买 请求被拒绝而结束。如果支持电子代节的装置636中有足够的余额,判定步骤674的结果为“是”,过程670将沿着“是”分支进行至步骤676。从支持电子代币的装置636那里收到的回复(例如APDU命令)将被转发至销售点安全识别模块628。所述回复中的信息包括电子代币密钥的版本,以及将被用于建立安全通道的随机数,所述安全通道将连接支持电子代币的装置636上的applet程序(例如电子钱包applet)与便携设备630上安装的销售点安全识别模块628。然后,在步骤678,过程670收到由销售点安全识别模块628为了回应所述转发回复(即步骤676中的回复)而生成的借记请求(例如APDU命令)。所述借记请求包含消息识别代码(MAC,Message Authentication Code)以便applet程序〔即电子钱包applet程序〕核实即将进行的借记操作,其中所述即将进行的借记操作是为了回应步骤680中发送的借记请求而进行的。过程670推进到步骤682,收到所述借记操作的确认消息。所述确认消息中包含被销售点安全识别模块628和销售点交易处理服务器613分别用来核实和处理的附加消息识别代码。接下来在步骤684,所述借记确认消息被转发至销售点安全识别模块628以进行核实。一旦所述消息识别代码被核实为有效,并且购买交易被记录在销售点安全识别模块628中,所述被记录的交易在步骤686中被显示,然后过程670结束。需要注意的是前述电子商务交易可在线下或线上通过销售点交易处理服务器613进行。并且当支持电子代币的装置中的余额不足时,可以按照图4A和图4B中描绘的过程400执行充值或注资操作。
图7展示了便携设备被用于电子票务应用时的具有代表性的设置。便携设备730被配置为包括电子钱包724。当所述便携设备730的拥有者或持有人希望购买参加一个特定活动的票据(例如音乐会票、球赛门票等)时,所述拥有者可使用电子钱包724通过一个电子票服务提供商720购票。所述电子票服务提供商720可联系传统的票房预定***716或线上票务应用程序710来预定和购买所述票据。之后电子代币(例如电子货币)被从便携设备730的电子钱包724中扣除,以向信用/借记***714(例如金融机构,银行)支付票据购买费用。安全识别模块718被接入所述电子票务服务提供商720,以确保便携设备730中的电子钱包724被正确识别。在收到付款确认后,电子票通过空中连接(例如蜂窝通信网络)被传送至便携设备730,并以电子化的方式被存储在安全元件726上,例如以电子票代码、密钥或密码的方式。之后,当所述便携设备730 的拥有者,即所述电子票的持有者出席所述特定活动时,所述电子票持有者只需要让入口登记读取器734读取便携设备730中保存的电子票代码或密钥。在一个具体实施例中,所述入口登记读取器734是一个非接触读取器(例如遵守ISO14443的超短距离耦合装置)。所述便携设备730是支持近距离通信(NFC)的移动电话。
现在参考图8A所示,其示出了在一个实施例中的由一个业务运行或安排的TSM所涉及的多方(multiple parties)的示意图。TSM运营团队802包括负责为用户管理账户的管理者(administration,简称admin,或称之为管理器或管理),这些用户已经通过TSM或其他任务个人化了他们的安全元件。在一个实施例中,所述TSM运营团队802包括管理所述账户的一些人,管理***资源(比如管理HSM,创建HSM索引(index)和GP密钥映射)的一些人。此外,所述团队还负责从一个或多个SE制造者离线输入默认ISD信息。所述团队还包括被称为鉴定工程师(certification engineer)的一些人,它们负责根据应用批准流程(application approval process)与服务提供者和SE发行者合作。所述TSM销售团队804,其也被称为业务账户管理者,其负责销售和TSM的供应商(vendor)的账户管理。所述团队804中的一些成员可以只为所述SE制造者工作,一些成员可以只为所述SE发行者工作,其他人可以为多个类型的供应商工作。所述TSM合作服务团队806,也可以被称为支持工程师,其负责为TSM的供应商(比如SE发行者和服务提供者)提供技术支持。所述TSM合作服务团队806,不直接与移动用户联系,但是却可以帮助合作伙伴分析审计日志(audit logs)。所述供应商808包括SE发行者、SE制造者和服务提供者中的一个或多个。SE发行者负责安全元件的发行,并拥有所述安全元件的ISD。SE发行者与所述TSM团队一起工作,如果需要其可以为服务提供者安装额外的SSD。SE制造者,顾名思义,用来负责制造所述安全元件,并在安全元件内安装默认ISD。它也可以与TSM团队一起工作,提供这些默认的ISD密钥集。所述服务提供者负责开发NFC移动应用。来自所述服务提供者的应用示例包括但不限于交通钱包、银行电子钱包和***。小服务提供者可以是提供用作房间密钥的应用的那些人。
图8B示出了在一个实施例中的TSM涉及的各方之间的相关关操作过程。所述操作的描述没有在这里详细描述以避免模糊本发明的一个实施例的重点。图8C示出了一个示例的TSM中在各方之间建立互相同意协议的工作流程。 SE发行者或服务提供者要求TSM保存其GP密钥集。在一个实施例中,对于SE发行者来说,这个GP密钥集最有可能被用作ISD。对于服务提供者来说,这个GP密钥集被用作SSD。如图8C所示,创建密钥集的过程涉及在HSM中创建密钥和在TSM***中创建映射(mapping)。所述映射的有效范围将被设置到合约失效日期(contract expiring date)。总体来讲,HSM密钥索引(key index)不能在同一时间对于多个映射有效。
当所述密钥集将要期满时,可以进行更新。所述更新流程与图8C中所示的创建过程相似。根据一个实施例,在所述密钥集期满的几个月前,所述TSM将会定期的给所述密钥集的拥有者将发送通知。一旦所述密钥集的拥有者更新所述合约,则停止所述通知。所述密钥集的拥有者可以通过创建一个工作请求或项目来开始所述更新过程。一个可靠的TSM业务账户管理者批准或拒绝所述工作项目。在接收到所述已经被批准的工作项目时,所述TSM管理者根据所述更新的合约更新所述密钥集的期满日期。
相似的,所述密钥集可以较早的期满或结束。所述结束流程与图8C所示的创建流程类似。所述密钥集拥有者可以请求在一个未来日期停止所述密钥集。所述可靠的TSM业务账户管理者将会立即核实,并批准或拒绝所述请求。所述TSM管理者设置所述映射的期满日期为指定日期。所述TSM为其他供应商再生所述HSM密钥索引。保存审计日志以记录所述交易的痕迹。
图8D示出了SE发行者和TSM之间ISD映射的数据流程。总体来说,所述ISD映射由每个SE发行者直接管理。SE发行者能够创建一个映射去绑定一个外部或内部密钥集至一个ISD密钥索引(index)。外部密钥集是未存在于与TSM相关的HSM中的密钥集,内部密钥集是存在于所述HSM中的密钥集。通常,所述SE发行者应该不需要指定默认ISD,由于默认ISD是来自所述SE制造者的。然而,如果需要,SE发行者可以选择去重写这个默认ISD。
如图8D所示,所述SE发行者为卡操作***(Card OS)创建了一个ISD映射去绑定密钥集和ISD密钥索引(比如从1-127的范围)。如果密钥集不是不外部的,所述TSM将确保与它的HSM的密钥集映射存在。在操作时,所述SE发行者可以直接修改或删除所述ISD映射。如上文所述,SE制造者具有所述安全元件的默认ISD信息。所述TSM为SE制造者提供批量和实时方式去共享这些信息。基于与TSM的协议,所述SE制造者可以使用批量或实时方式, 其已经被描述过了。
为了安全原因,所述服务提供者(service provider,简称SP)为了个人化他的应用可能希望有他们自己的SSD。所述SSD映射由SE发行者创建以绑定分配给所述服务提供者的一个密钥索引至SP密钥集。图8E示出了在TSM、SE发行者、服务提供者之间的相应数据流程。类似于所述SSD的创建,服务提供者可以请求所述SE发行者去删除一个SSD映射。所述工作流程与所述SSD创建过程基本类似。
如上文所示,服务提供者为用户提供的应用。在移动用户订购和下载一个应用前,需要批准或发布所述应用。例如,服务提供者需要提交一个应用给SE发行者和TSM以待批准。图8F示出了由SE发行者批准一个应用的数据流程。如果需要专用SSD,所述服务提供者可以如上预先请求一个SSD,或在请求中指出。在批准的应用对于普通大众可用之前,所述服务提供者或所述SE发行者可以启动所述公开过程。在所述TSM中为用户公开所述应用前,两方都必须同意。随后,通知所述供应商所述应用的日期和有效性。
在一些实例中,安全元件需要被替换。在移动用户或他的SE发行者请求时,可以替换所述安全元件。通常,为了更多服务和更大的存储空间需要更新安全元件。应当注意以下三点:
●对于这些应用,需要从老的安全元件中迁移出他们的应用状况,所述老的安全元件需要仍能被应用访问(通过TSM);
●对于不需要状态迁移的这些应用,所述TSM仅仅需要重新设置和个人化所述应用;
●然而,如果一个应用,其状态在安全元件中,但是不支持状态迁移,所述TSM不能迁移他们的状态。对于这些应用,他们将被以第二种方式对待(即,所述应用必须被重新设置和个人化)。
图8G示出了替换安全元件的流程。安全元件发行者通知TSM关于:
●SE发行者通知TSM关于SE替换请求;
●TSM与服务提供者协作以准备APDU命令,以收集在老的SE上的应用的状态;
●对于每个应用,TSM执行命令所述APDU命令以提取应用状态,并锁定所述应用;
●TSM通知移动用户去物理的改变新的安全元件。移动用户可以改变他/她的主意去撤销或返回(rollback)所述替换请求。在这个步骤之后将没有撤销或返回;
●如果它还没有被处理,TSM将更新所述默认ISD;
●与服务提供者协作,TSM将安装和个人化或配置每个应用。如果需要,TSM将为服务提供者安装所述SSD。基于所述服务提供者的静态数据和动态应用状态准备所述个人化数据。
如图9所示,其示出了个人化的安全元件的一个账户的显示屏的快照示例。如所述菜单(menu),所述账户维持(mantains)有已经个人化的安全元件的详细信息。此外,所述账户包括一系列配置的应用和安全密钥。也可以维持其他信息,比如应用拥有者(开发所述应用的人)、TSM的可靠联系、SE日志和应用日志。
本发明更适合采用软件形式实现,但也可用硬件或软硬件结合的形式实现。本发明也可被实现为计算机可读媒体上的可被计算机读取的代码。所述计算机可读媒体是任何可以保存能够被计算机***读取的数据的数椐存储装置。计算机可读媒体的实例包括只读存储器,随机存取存储器,CD光盘(CD-ROM),数字化视频光盘(DVD),磁带,光学数据存储装置,以及载波。所述计算机可读媒体也可分布在通过网络相连的多台计算机***中,这样所述可被计算机读取的代码将以分布式的方式存储和运行。
上述说明已经充分揭露了本发明的具体实施方式。需要指出的是,熟悉该领域的技术人员对本发明的具体实施方式所做的任何改动均不脱离本发明的权利要求书的范围。相应地,本发明的权利要求的范围也并不仅仅局限于前述具体实施方式。