本发明涉及计算机技术,特别涉及一种se空间管理方法及装置。
背景技术:
随着移动互联网的发展和手机网民消费习惯的转变,移动支付已进入高速发展期。较传统支付而言,移动支付具备操作简便、交易快捷、安全性好等优点,已经越来越被人们所接受。
近距离无线通讯技术(nearfieldcommunication,nfc)支付是指采用nfc技术通过手机等手持设备完成支付,是一种新兴的移动支付方式。以电信运营商和金融机构为主导的nfc-swp方案,也已逐渐被更多的手机终端厂商、银行和第三方支付机构所支持。
现有技术中,可信服务管理平台(trustedservicemanager,tsm)作为可信服务管理平台,是nfc移动支付业务的核心,为用户提供应用下载/删除等安全元件(secureelement,se)操作和管理的功能。
tsm的工作系统架构图如图1所示,其中,主要功能单元包括:
se提供商tsm(即seitsm):支持同时接入多个服务提供商(serviceprovider,sp)以及sptsm。
seitsm负责对se的访问控制,并为其他功能单元提供卡内容管理。
服务提供商tsm(sptsm):可作为一个聚合器,支持多个sp的接入,是一个具有公信力的第三方平台。
sptsm接入seitsm,并在seitsm的委托授权下进行卡内容管理。
服务提供商(sp):为用户提供nfc业务的某个机构。
sp可通过其接入的sptsm,完成服务部署以及生命周期管理。简单模式下,sp也可直接接入seitsm,向seitsm提交应用,并由seitsm完成卡内容管理。
移动网络运营商:提供空间下载(over-the-airtechnology,ota)技术能力,接入移动网络环境。
安全元件(se):se可以有多种形态——包括sim卡(通常被移动运营商用作安全模块)、手机中嵌入的芯片以及直接与nfc无线芯片连接的microsd卡等。
目前运营商普遍采用的nfc-swp方案中,仅支持一机一卡的应用管理方式,即对于同一用户,tsm只能同时管理其一张nfc-sim卡。用户在使用nfc-sim卡时,需要先在tsm中完成注册,将手机号与nfc-sim卡的seid信息绑定。之后,才可通过tsm进行应用下载等操作。
在进行应用下载时,用户首先通过配套的终端发起应用程序下载请求,tsm接收到下载请求后,进行应用程序下载资格检查(进行用户身份验证、se空间审查、应用ac规则审查等),并与se之间通过安全域密钥保护建立端到端的安全通道。之后,再依次将应用程序安装及个人化指令下发到se中,由se完成应用程序安装及应用程序个人化处理。
例如,支持nfc-swp方案的组网结构图如图2所示。
然而,现有技术中,swp-sim卡提供给用户用于存储应用程序的空间总共只有300k,平均一个应用程序所占空间约为40k。而目前tsm上可供下载的应用程序有180多个,并且用户很可能需要同时下载并使用多个应用程序(如,多张银行卡的应用程序、城市公交应用程序及企业一卡通应用程序等等),极易产生卡片空间不足的窘境。此时,如果用户需要下载新的应用程序,只能通过删除部分已安装应用程序的方式换取可用空间,再完成新应用程序的下载。此方式繁琐且会给用户带来非常不好的体验,并且用户反复下载/删除应用程序,还会产生tsm平台管理资源以及通信资源的浪费。
因此,如何扩展并合理利用swp-sim卡中的se空间资源、为用户提供充足的se使用空间,是nfc-swp技术方案中亟需解决的问题。
技术实现要素:
本发明实施例提供一种se空间管理方法及装置,用以实现se空间资源的合理化应用。
本发明实施例提供的具体技术方案如下:
一种安全元件se空间管理方法,包括:
在应用程序下载过程中,终端将应用程序的个人化数据存储于主se中,以及将符合第一预设条件的应用程序的逻辑数据存储于主se中,将不符合第一预设条件的应用程序的逻辑数据存储于副se中;
在应用程序使用过程中,终端按照设定周期检测各个应用程序的使用状况,根据检测结果结合第二预设条件,对部分应用程序的逻辑数据的存储位置进行调整。
可选的,所述第一预设条件至少包含以下规则中的任意一项或任意组合:
若应用程序的逻辑数据为可共享数据,则将应用程序的逻辑数据存储于主se中,其中,所述主se为承载近距离无线通讯技术nfc功能的元件;
若针对指定类型的应用程序设置有以下规则:同一时间内同类型的应用程序只允许一个应用程序被激活;则将所述指定类型中被激活的应用程序逻辑数据存储于主se中,将所述指定类型中其他应用程序的逻辑数据存储于副se中;
将应用程序的逻辑数据大小与第一设定阈值进行比较,若小于第一设定阈值,则将应用程序的逻辑数据存储于主卡中,若大于等于第一设定阈值,则将应用程序的逻辑数据存储于副卡中。
可选的,所述第一设定阈值为管理人员根据经验设置的固定的阈值,或者,
所述第一设定阈值为基于主卡总容量和主卡剩余容量设置的动态变化的阈值。
可选的,进一步包括:
在使用所述第一预设条件的过程中,若所述第一预设条件中包含的至少两条规则发生冲突,则按照对应各个规则设置的优先级,执行所述至少两条规则中优先级最高的规则;或者,
将所述至少两条规则通知用户,根据用户指示执行相应的规则。
可选的,所述第二预设条件至少包括以下规则中的一种或任意组合
根据各个应用程序的使用情况,筛选出设定时长使用频次最高的n个应用程序,将所述n个应用程序的逻辑数据存储于主se中,其他应用程序的逻辑数据存储于副卡中;
若应用程序的逻辑数据为可共享数据,则将应用程序的逻辑数据存储于主se中,所谓主se即是承载了nfc功能的元件,如nfc-sim卡.
实际应用中,某些逻辑数据可以共享几套个人化数据,从而封装成不同的应用程序,因此,对于需要共享的逻辑数据,可存放于主se中。
若应用程序的逻辑数据为可共享数据,则将应用程序的逻辑数据存储于主se中,其中,所述主se为承载近距离无线通讯技术nfc功能的元件;
针对指定类型的应用程序设置有以下规则:同一时间内同类型的应用程序只允许一个应用程序被激活;则将所述指定类型中被激活的应用程序逻辑数据存储于主se中,将所述指定类型中其他应用程序的逻辑数据存储于副se中;
将应用程序的逻辑数据大小与第二设定阈值进行比较,若小于第二设定阈值,则将应用程序的逻辑数据存储于主卡中,若大于等于第二设定阈值,则将应用程序的逻辑数据存储于副卡中。
可选的,所述第二设定阈值为管理人员根据经验设置的固定的阈值,或者,
所述第二设定阈值为基于主卡总容量和主卡剩余容量设置的动态变化的阈值。
可选的,进一步包括:
在使用所述第二预设条件的过程中,若所述第二预设条件中包含的至少两条规则发生冲突,则按照对应各个规则设置的优先级,执行所述至少两条规则中优先级最高的规则;或者,
将所述至少两条规则通知用户,根据用户指示执行相应的规则。
可选的,进一步包括:
在每次检测结束后,统计逻辑数据的存储位置被调整的应用程序的占比;
若确定所述占比高于第一门限值,则按照第一设定步长缩短周期时长;
若确定所述占比低于第二门限值时,则按照第二设定步长延长周期时长。
可选的,进一步包括:、
接收第一应用程序的调用指令,其中,所述第一应用程序的个人化数据存储于主se中,逻辑数据存储于副se中;
从将副卡中存储的所述第一应用程序的逻辑数据缓存于主se;
从所述主se中调用所述第一应用程序的个人化数据完成验证流程,以及从所述主se中调用所述第一应用程序的逻辑数据以执行所述调用指令。
一种安全元件se空间管理装置,包括:
存储单元,用于在应用程序下载过程中,终端将应用程序的个人化数据存储于主se中,以及将符合第一预设条件的应用程序的逻辑数据存储于主se中,将不符合第一预设条件的应用程序的逻辑数据存储于副se中;
调整单元,用于在应用程序使用过程中,终端按照设定周期检测各个应用程序的使用状况,根据检测结果结合第二预设条件,对部分应用程序的逻辑数据的存储位置进行调整。
可选的,所述第一预设条件至少包含以下规则中的任意一项或任意组合:
若应用程序的逻辑数据为可共享数据,则将应用程序的逻辑数据存储于主se中,其中,所述主se为承载近距离无线通讯技术nfc功能的元件;
若针对指定类型的应用程序设置有以下规则:同一时间内同类型的应用程序只允许一个应用程序被激活;则将所述指定类型中被激活的应用程序逻辑数据存储于主se中,将所述指定类型中其他应用程序的逻辑数据存储于副se中;
将应用程序的逻辑数据大小与第一设定阈值进行比较,若小于第一设定阈值,则将应用程序的逻辑数据存储于主卡中,若大于等于第一设定阈值,则将应用程序的逻辑数据存储于副卡中。
可选的,所述第一设定阈值为管理人员根据经验设置的固定的阈值,或者,
所述第一设定阈值为基于主卡总容量和主卡剩余容量设置的动态变化的阈值。
可选的,所述存储单元进一步用于:
在使用所述第一预设条件的过程中,若所述第一预设条件中包含的至少两条规则发生冲突,则按照对应各个规则设置的优先级,执行所述至少两条规则中优先级最高的规则;或者,
将所述至少两条规则通知用户,根据用户指示执行相应的规则。
可选的,所述第二预设条件至少包括以下规则中的一种或任意组合
根据各个应用程序的使用情况,筛选出设定时长使用频次最高的n个应用程序,将所述n个应用程序的逻辑数据存储于主se中,其他应用程序的逻辑数据存储于副卡中;
若应用程序的逻辑数据为可共享数据,则将应用程序的逻辑数据存储于主se中,所谓主se即是承载了nfc功能的元件,如nfc-sim卡.
实际应用中,某些逻辑数据可以共享几套个人化数据,从而封装成不同的应用程序,因此,对于需要共享的逻辑数据,可存放于主se中。
若应用程序的逻辑数据为可共享数据,则将应用程序的逻辑数据存储于主se中,其中,所述主se为承载近距离无线通讯技术nfc功能的元件;
针对指定类型的应用程序设置有以下规则:同一时间内同类型的应用程序只允许一个应用程序被激活;则将所述指定类型中被激活的应用程序逻辑数据存储于主se中,将所述指定类型中其他应用程序的逻辑数据存储于副se中;
将应用程序的逻辑数据大小与第二设定阈值进行比较,若小于第二设定阈值,则将应用程序的逻辑数据存储于主卡中,若大于等于第二设定阈值,则将应用程序的逻辑数据存储于副卡中。
可选的,所述第二设定阈值为管理人员根据经验设置的固定的阈值,或者,
所述第二设定阈值为基于主卡总容量和主卡剩余容量设置的动态变化的阈值。
可选的,所述调整单元进一步用于:
在使用所述第二预设条件的过程中,若所述第二预设条件中包含的至少两条规则发生冲突,则按照对应各个规则设置的优先级,执行所述至少两条规则中优先级最高的规则;或者,
将所述至少两条规则通知用户,根据用户指示执行相应的规则。
可选的,所述调整单元进一步用于:
在每次检测结束后,统计逻辑数据的存储位置被调整的应用程序的占比;
若确定所述占比高于第一门限值,则按照第一设定步长缩短周期时长;
若确定所述占比低于第二门限值时,则按照第二设定步长延长周期时长。
进一步包括:
处理单元,用于接收第一应用程序的调用指令,其中,所述第一应用程序的个人化数据存储于主se中,逻辑数据存储于副se中;从将副卡中存储的所述第一应用程序的逻辑数据缓存于主se;从所述主se中调用所述第一应用程序的个人化数据完成验证流程,以及从所述主se中调用所述第一应用程序的逻辑数据以执行所述调用指令。
一种存储介质,存储有用于实现安全元件se空间管理的程序,所述程序被处理器运行时,执行以下步骤:
在应用程序下载过程中,终端将应用程序的个人化数据存储于主se中,以及将符合第一预设条件的应用程序的逻辑数据存储于主se中,将不符合第一预设条件的应用程序的逻辑数据存储于副se中;
在应用程序使用过程中,终端按照设定周期检测各个应用程序的使用状况,根据检测结果结合第二预设条件,对部分应用程序的逻辑数据的存储位置进行调整。
一种通信装置,包括一个或多个处理器;以及
一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行上述任一项所述的方法。
本发明有益效果如下:
本发明实施例中,提出了在下载过程中,将应用程序的个人化数据保存至具有nfc功能的主卡,以及基于第一预设条件将部分应用程序的逻辑数据保存至主卡,其他应用程序的逻辑数据保存至副卡,同时,在后续应用程序使用过程中,周期性检测应用程序的使用状况,并结合第二预设条件,实时对部分应用程序的逻辑数据的存储位置进行调整。这样,便实现了se空间的分布式存储,从而合理利用了主卡和副卡上的se空间,既缓解了用户下载多个应用程序时容易导致se空间不足的尴尬,给用户进行应用程序下载提供更多选择,同时尽可能让用户使用时无感知,保证了用户体验;进一步地,还能够减少用户多次删除/下载应用程序的可能性,节省平台资源及网络资源,从而有效提高了系统性能。且便于扩展。
附图说明
图1为现有技术下tsm的工作系统架构示意图;
图2为现有技术下支持nfc-swp方案的组网结构示意图;
图3为本发明实施例中系统架构示意图;
图4为本发明实施例中终端进行se空间管理流程图;
图5为本发明实施例中应用程序下载流程图;
图6为本发明实施例中应用程序使用流程图;
图7为本发明实施例中终端功能结构示意图。
具体实施方式
为了实现se空间资源的合理化应用,本发明实现提出了一种基于分布式存储的se空间管理方法,通过将应用程序的逻辑数据(applet)和个人化数据分开存储,将占用空间小、安全性要求高的个人化数据存储于se1(nfc-sim卡)中,将占用空间较大的applet存储于其他se介质中,由此,缓解用户使用nfc-sim卡下载卡应用时se空间不足的问题。
下面结合附图对本发明优选的实施方式作出进一步详细说明。
参阅图3所示,本发明实施例中,系统架构主要由三部分组成:tsm、终端及卡片。
tsm,作为发卡方可信服务管理平台,主要负责对用户、se资源进行统一管理,完成应用审核及发布,为用户提供应用程序下载、个人化处理等操作。
终端,本发明实施例中,在终端中加入了se管理模块,se管理模块的主要功能如下:
首先,检测功能。具体用于检测、读取终端所有卡槽中的se信息,并进行记录。
所谓se信息包括:se类型(是否nfc-swp卡)、nfc唯一识别码(seid)、可用存储空间大小、发行方信息、已下载的se应用程序信息等等,其中,已下载的se应用程序信息,至少包括应用名称、应用类型、应用大小、使用频次、是否为共享applet、applet存储位置、个人化数据存储位置。
其次,保存有分布式存储规则,在下载应用程序时,基于分布式存储规则,选择将应用程序存储在se1上,还是se2上。
再次,在对应用程序操作过程中进行数据同步。
在使用应用程序使用时,对应用程序的applet和个人化数据进行匹配,以完成应用程序使用等操作。
最后,将应用程序的applet和个人化数据分开存储。
在调用应用程序进行操作和使用时,需要将applet进行缓存,来完成应用程序的操作流程。应用程序可以缓存在终端的os层中,即可以临时存储于se2中;也可临时存储在nfc-sim卡的se1中。
卡片,分为主卡(记为se1)和副卡(记为se2),其中,主卡se1为nfc-sim卡(位于se1卡槽中),副卡se2可以是nfc-sim卡,也可以是其他se卡类型(如nfc-sd卡等)等。
本发明实施例中,可以基于以下原则设置分布式存储规则:进行应用下载和安装时,针对se1、se2的分布式存储可根据预先设定的应用存储规则来进行。假设se1为nfc-sim卡(主卡)、se2为sd卡(副卡),为合理利用se1的存储空间,可在se1中存放将部分应用的applet、所有应用个人化数据;se2中存放其余所有应用的applet。具体的分布式存储规则将在后续实施例中进行介绍。
基于上述系统架构,参阅图4所示,本发明实施例中,终端对se空间进行管理的具体方式如下:
步骤400:在应用程序下载过程中,终端将应用程序的个人化数据存储于主se中,以及将符合第一预设条件的应用程序的逻辑数据(即applet)存储于主se中,将不符合第一预设条件的应用程序的逻辑数据存储于副se中。
具体的,本发明实施例中,第一预设条件至少包含了以下规则中的任意一项或任意组合:
a)若应用程序的逻辑数据为可共享数据,则将应用程序的逻辑数据存储于主se(即se1)中,所谓主se即是承载了nfc功能的元件,如nfc-sim卡;
实际应用中,某些逻辑数据可以共享几套个人化数据,从而封装成不同的应用程序,因此,需要对于需要共享的逻辑数据,可存放于se1中。
b)若针对指定类型的应用程序设置有以下规则:同一时间内同类型的应用程序只允许一个应用程序被激活;则将所述指定类型中被激活的应用程序逻辑数据存储于主se中,将所述指定类型中其他应用程序的逻辑数据存储于副se中。
具体的,本发明实施例中,也可以按照应用程序类型进行分布式存储。可选的,部分类型的应用程序在同一时间内同类型的应用程序中只允许有一个应用程序被激活(例如,金融类应用程序,只能同时激活一个应用程序),因此,可以将此类型的应用程序中被激活的应用程序存储于se1中,其他应用程序存储于se2中。
c)将应用程序的逻辑数据大小与第一设定阈值进行比较,若小于第一设定阈值,则将应用程序的逻辑数据存储于se1中,若大于等于第二设定阈值,则将应用程序的逻辑数据存储于se2中。
具体的,上述第一设定阈值可以采用静态方式设定,也可以采用动态方式设定。
1)静态方式。
通常se1(如,nfc-sim卡的se)的可用空间大概是300kb,而逻辑数据一般通常有40kb的大小),因此,可以由管理人员根据经验设置一固定的阈值,如,20kb。
2)动态方式。
基于主卡总容量和主卡剩余容量设置一动态变化的阈值,其中,阈值的取值与“主卡总容量和第一设定参数”的比值呈正相关,与“主卡剩余容量和第二设定参数”的比值呈正相关,以及与第三设定参数呈正相关。
例如,其阈值生成公式为:
max(min((se1总容量/a),(se1剩余容量/b)),c),其中,a为第一预设参数,b为第二预设参数,c为第三预设参数,可选的,a的取值范围为[5,15],b的取值范围为[2,4],c的取值范围为[15kb,25kb]
通过上述公式可以看出,由于se1剩余容量/b的取值会随着应用程序下载数量的增加而动态变化,因此,(se1总容量/a)、(se1剩余容量/b)和c之间的大小比较关系也会随之变化,因此,采用上述公式设置的第一设定阈值,其取值会随着应用程序下载量的增加而逐步减小,从而可以更为合理的规划se空间。
进一步地,在使用上述第一预设条件的过程中,若第地预设条件中包含的至少两条规则发生冲突,则按照对应各个规则设置的优先级,执行上述至少两条规则中优先级最高的规则;或者,将上述至少两条规则通知用户,根据用户指示执行相应的规则。
步骤410:在应用程序使用过程中,终端按照设定周期检测各个应用程序的使用状况,根据检测结果结合第二预设条件,对部分应用程序的逻辑数据的存储位置进行调整。
具体的,本发明实施例中,第二预设条件至少包含了以下规则中的任意一项或任意组合:
a)根据各个应用程序的使用情况,筛选出设定时长(如,每月、每周等等)使用频次最高的n个应用程序,n为预设参数。然后,将上述n个应用程序的逻辑数据存储于主se中,其他应用程序的逻辑数据存储于副卡中。
由于用户的应用程序使用习惯是随时间变化而变化的,因此,终端需要定期将使用频资高的应用程序的逻辑数据转存入se1中,将使用频次低的应用程序的逻辑数据转存入se2中。
当然,转存是针对当前存储位置不符合第二预设条件的应用程序,如果使用频次高的应用程序当前已在se1中,则保持存储位置即可。
b)若应用程序的逻辑数据为可共享数据,则将应用程序的逻辑数据存储于主se中,所谓主se即是承载了nfc功能的元件,如nfc-sim卡.
实际应用中,某些逻辑数据可以共享几套个人化数据,从而封装成不同的应用程序,因此,需要对于需要共享的逻辑数据,可存放于se1中。
c)若针对指定类型的应用程序设置有以下规则:同一时间内同类型的应用程序只允许一个应用程序被激活;则将所述指定类型中被激活的应用程序逻辑数据存储于主se中,将所述指定类型中其他应用程序的逻辑数据存储于副se中。
具体的,本发明实施例中,也可以按照应用程序类型进行分布式存储。可选的,部分类型的应用程序在同一时间内同类型的应用程序中只允许有一个应用程序被激活(例如,金融类应用程序,只能同时激活一个应用程序),因此,可以将此类型的应用程序中被激活的应用程序存储于se1中,其他应用程序存储于se2中。
d)将应用程序的逻辑数据大小与第一设定阈值进行比较,若小于第一设定阈值,则将应用程序的逻辑数据存储于主se中,若大于等于第二设定阈值,则将应用程序的逻辑数据存储于副se中。
上述第二设定阈值的取值与规则c)中提及的第一设定阈值的取值可以相同,也可以不相同,由管理人员根据应用程序下载流程和应用程序使用流程的不同需求而灵活设置,在此不再赘述。
具体的,上述第二设定阈值可以采用静态方式设定,也可以采用动态方式设定。
1)静态方式。
通常se1(如,nfc-sim卡的se)的可用空间大概是300kb,而逻辑数据一般通常有40kb的大小),因此,可以由管理人员根据经验设置一固定的阈值,如,20kb。
2)动态方式。
基于主卡总容量和主卡剩余容量设置一动态变化的阈值,其中,阈值的取值与se1主卡总容量与第一设定参数的比值呈正相关,与主卡剩余容量与第二设定参数的比值呈正相关,以及与第三设定参数呈正相关。
例如,其阈值生成公式为:
max(min((se1总容量/a),(se1剩余容量/b)),c),其中,a为第一预设参数,b为第二预设参数,c为第三预设参数,可选的,a的取值范围为[5,15],b的取值范围为[2,4],c的取值范围为[15kb,25kb]
通过上述公式可以看出,由于se1剩余容量/b的取值会随着应用程序下载数量的增加而动态变化,因此,(se1总容量/a)、(se1剩余容量/b)和c之间的大小比较关系也会随之变化,因此,采用上述公式设置的第二设定阈值,其取值会随着应用程序下载量的增加而逐步减小,从而可以更为合理的规划se空间。
在使用所述第二预设条件的过程中,若所述第二预设条件中包含的至少两条规则发生冲突,则按照对应各个规则设置的优先级,执行所述至少两条规则中优先级最高的规则;或者,
将所述至少两条规则通知用户,根据用户指示执行相应的规则。
在上述实施例中,可选的,应用程序的使用状况的检测周期一般设为30天至90天,用户感受较好。
每个检测周期结束后,终端会基于检测结果重新调整主卡和副卡中的应用程序的逻辑数据的布局。进一步地,还会统计逻辑数据的存储位置被调整的应用程序的占比,确定上述占比高于第一门限值时,将按照第一设定步长缩短周期时长,而确定上述占比低于第二门限值时,则按照第二设定步长延长周期时长;其中,可选的,第一门限值的取值范围为[10%,40%],第二门限值的取值范围为[5%,20%],第一门限值大于第二门限值,而第一设定步长和第二设定步长可以相同也可以不同,其取值范围均为[10%,50%]。
进一步地,本发明实施例中,针对应用程序的逻辑数据和个人化数据均存储在同一se中的情况,可按照现有方式进行操作,但是对于应用程序的逻辑数据和个人化数据存储于不同se的情况,需要设计相应的应用程序下载流程和使用流程。
当然上述实施例中,仅以将se1作为主卡,将se2作为副卡为例,实际应用中,se1和se2均可以作为主卡或副卡使用,只需将具有nfc功能的卡作为主卡即可,即也可以将se2作为主卡,将se1作为副卡。
参阅图5所示,本发明实施例中,假设按照应用存储规则,该应用程序的逻辑数据应存储于se1中,个人化数据应存储于se2中,则下载应用程序的详细流程如下:
步骤501;用户通过终端触发应用程序下载流程。
步骤502:终端向tsm发起应用程序下载请求。
具体的,上述应用程序下载请求中携带有包含应用程序名称、应用程序aid信息等等。
步骤503:tsm进行应用程序审查,确定应用程序是否可下载,并返回应用程序信息。
具体的,上述应用程序信息中包括应用程序类型、应用程序大小、是否共享applet等等。);
步骤504:终端向se管理模块发送应用程序下载初始化请求。
步骤505:se管理模块进行应用程序下载初始化,执行应用存储规则,选取并确认可供存储应用程序的逻辑数据的se2的相关信息;
步骤506:se管理模块返回应用程序下载初始化响应。
上述应用程序下载初始化响应中至少包括:se2的标识(seid)、可用空间大小、是否可用等等。
步骤507:终端向tsm请求进行应用程序下载。
终端发送的请求中至少包括:se2的标识(seid)、可用空间大小等信息。
步骤508:tsm进行应用程序下载资格检查。
具体的,tsm需要判断se2的空间大小是否满足应用程序下载要求、安全域是否已建立、ac规则是否已下载等等。
步骤509:tsm生成应用下载及安装指令。
步骤510:tsm将应用下载及安装指令下发到终端。
步骤511:终端向se2转发应用下载及安装指令。
步骤512:se2执行应用下载及安装指令后,返回执行结果。
步骤513:终端将下载及安装的执行结果反馈给tsm。
步骤514:tsm记录应用程序下载及安装的执行结果,并返回应用程序下载响应。
步骤515:终端触发应用程序个人化初始化流程。
步骤516:终端向se管理模块发送应用程序个人化初始化请求。
步骤517:se管理模块进行应用程序个人化初始化,选取并确认存储用户个人化数据的区域为se1。
步骤518:se管理模块返回应用程序个人化初始化响应。
上述应用程序个人化初始化响应中至少包括:se1的标识、可用空间等信息。
步骤519:终端向tsm请求进行应用程序个人化。
步骤520:tsm进行应用程序个人化资格检查,判断se1的安全域密钥是否已更新。
步骤521:tsm向终端下发安全域密钥更新指令。
步骤522:终端向se1转发安全域密钥更新指令。
步骤523:se1执行安全域密钥更新指令,并返回执行结果。
步骤524:终端将密钥更新结果的执行结果转发给tsm。
步骤525:tsm生成应用程序个人化指令。
步骤526:tsm下发应用程序个人化指令。
步骤527:终端将应用程序个人化指令转发给se1。
步骤528:se1执行应用程序个人化指令,并返回执行结果。
步骤529:终端转发应用程序个人化指令给tsm。
步骤530:tsm记录应用程序个人化结果,并返回应用程序个人化响应。
在上述实施例中,终端先将应用程序的逻辑数据(applet)下载至se1中,再将应用程序的个人化数据下载至se2中,而执行安全域密钥更新是为了保护个人化数据从tsm到se2过程中的数据安全。
参阅图6所示,本发明实施例中,假设应用程序的逻辑数据存储于se2中,个人化数据应存储于se1中,则使用应用程序的详细流程如下:
步骤601:用户将具有nfc功能的终端置于pos终端上,pos终端向终端上的se管理模块发送应用程序选择指令。
上述应用程序选择指令至少包含应用程序的aid信息(假设为aid1)。
步骤602:终端执行se初始化流程。
具体的,终端会判断aid1对应的应用程序的逻辑数据和个人化数据各自所在的se位置,检测结果显示逻辑数据位于se2中。
步骤603:终端向se2发送se初始化指令,该se初始化指令中至少包括已选择使用的应用程序1的aid信息。
步骤604:se2将应用程序1的逻辑数据同步至se1的缓存中。
步骤605:se1安装应用程序1的逻辑数据后,向se2返回应用程序同步完成响应。
步骤606:se2向终端返回se初始化完成响应。
步骤607:终端向pos终端返回应用程序选择指令响应。
步骤608:pos终端选择应用程序1后,向终端发送应用程序初始化指令,请求读取应用程序1的逻辑数据。
根据应用程序1的逻辑数据,pos终端可以获知应用程序1具备的功能以及需要提供哪些支持。
步骤609:终端向se1转发应用程序初始化指令。
步骤610:se1向终端返回应用程序初始化指令响应。
步骤611:终端向pos终端返回应用初始化指令响应。
步骤612:pos终端向终端发送生成应用密文(generateac)指令,以获得应用程序1生成的授权请求密文(authorisationrequestcryptogram,arqc)密文以及应用程序1对应的银行卡的余额。
步骤613:终端将generateac指令转发至se1中。
在步骤607之后,应用程序1的逻辑数据和个人化数据便一起存在了se1中,因而,在步骤612中,终端可以通过读取应用程序1的逻辑数据以完成指令的接收和执行,以及终端可以通过读取应用程序1的个人化数据以完成密文校验以及银行卡余额查询等等。
步骤614:se1中的应用程序1基于generateac指令扣减资金。
步骤615:se1向终端返回generateac指令响应。
在generateac指令响应中至少包含了应用程序1对于此交易的处理决定(批准脱机,拒绝脱机,申请联机授权)。
步骤616:终端generateac指令响应转发给pos终端。
基于上述实施例,参阅图7所示,本发明实施例中,终端内的se管理模块至少包括存储单元70和调整单元71,其中,
存储单元70,用于在应用程序下载过程中,终端将应用程序的个人化数据存储于主se中,以及将符合第一预设条件的应用程序的逻辑数据存储于主se中,将不符合第一预设条件的应用程序的逻辑数据存储于副se中;
调整单元71,用于在应用程序使用过程中,终端按照设定周期检测各个应用程序的使用状况,根据检测结果结合第二预设条件,对部分应用程序的逻辑数据的存储位置进行调整。
可选的,所述第一预设条件至少包含以下规则中的任意一项或任意组合:
若应用程序的逻辑数据为可共享数据,则将应用程序的逻辑数据存储于主se中,其中,所述主se为承载近距离无线通讯技术nfc功能的元件;
若针对指定类型的应用程序设置有以下规则:同一时间内同类型的应用程序只允许一个应用程序被激活;则将所述指定类型中被激活的应用程序逻辑数据存储于主se中,将所述指定类型中其他应用程序的逻辑数据存储于副se中;
将应用程序的逻辑数据大小与第一设定阈值进行比较,若小于第一设定阈值,则将应用程序的逻辑数据存储于主卡中,若大于等于第一设定阈值,则将应用程序的逻辑数据存储于副卡中。
可选的,所述第一设定阈值为管理人员根据经验设置的固定的阈值,或者,
所述第一设定阈值为基于主卡总容量和主卡剩余容量设置的动态变化的阈值。
可选的,存储单元70进一步用于:
在使用所述第一预设条件的过程中,若所述第一预设条件中包含的至少两条规则发生冲突,则按照对应各个规则设置的优先级,执行所述至少两条规则中优先级最高的规则;或者,
将所述至少两条规则通知用户,根据用户指示执行相应的规则。
可选的,所述第二预设条件至少包括以下规则中的一种或任意组合
根据各个应用程序的使用情况,筛选出设定时长使用频次最高的n个应用程序,将所述n个应用程序的逻辑数据存储于主se中,其他应用程序的逻辑数据存储于副卡中;
若应用程序的逻辑数据为可共享数据,则将应用程序的逻辑数据存储于主se中,所谓主se即是承载了nfc功能的元件,如nfc-sim卡.
实际应用中,某些逻辑数据可以共享几套个人化数据,从而封装成不同的应用程序,因此,对于需要共享的逻辑数据,可存放于主se中。
若应用程序的逻辑数据为可共享数据,则将应用程序的逻辑数据存储于主se中,其中,所述主se为承载近距离无线通讯技术nfc功能的元件;
针对指定类型的应用程序设置有以下规则:同一时间内同类型的应用程序只允许一个应用程序被激活;则将所述指定类型中被激活的应用程序逻辑数据存储于主se中,将所述指定类型中其他应用程序的逻辑数据存储于副se中;
将应用程序的逻辑数据大小与第二设定阈值进行比较,若小于第二设定阈值,则将应用程序的逻辑数据存储于主卡中,若大于等于第二设定阈值,则将应用程序的逻辑数据存储于副卡中。
可选的,所述第二设定阈值为管理人员根据经验设置的固定的阈值,或者,
所述第二设定阈值为基于主卡总容量和主卡剩余容量设置的动态变化的阈值。
可选的,调整单元71进一步用于:
在使用所述第二预设条件的过程中,若所述第二预设条件中包含的至少两条规则发生冲突,则按照对应各个规则设置的优先级,执行所述至少两条规则中优先级最高的规则;或者,
将所述至少两条规则通知用户,根据用户指示执行相应的规则。
可选的,调整单元71进一步用于:
在每次检测结束后,统计逻辑数据的存储位置被调整的应用程序的占比;
若确定所述占比高于第一门限值,则按照第一设定步长缩短周期时长;
若确定所述占比低于第二门限值时,则按照第二设定步长延长周期时长。
进一步包括:
处理单元72,用于接收第一应用程序的调用指令,其中,所述第一应用程序的个人化数据存储于主se中,逻辑数据存储于副se中;从将副卡中存储的所述第一应用程序的逻辑数据缓存于主se;从所述主se中调用所述第一应用程序的个人化数据完成验证流程,以及从所述主se中调用所述第一应用程序的逻辑数据以执行所述调用指令。
一种存储介质,存储有用于实现安全元件se空间管理的程序,所述程序被处理器运行时,执行以下步骤:
在应用程序下载过程中,终端将应用程序的个人化数据存储于主se中,以及将符合第一预设条件的应用程序的逻辑数据存储于主se中,将不符合第一预设条件的应用程序的逻辑数据存储于副se中;
在应用程序使用过程中,终端按照设定周期检测各个应用程序的使用状况,根据检测结果结合第二预设条件,对部分应用程序的逻辑数据的存储位置进行调整。
一种通信装置,包括一个或多个处理器;以及
一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行上述任一项所述的方法。
综上所述,本发明实施例中,提出了在下载过程中,将应用程序的个人化数据保存至具有nfc功能的主卡,以及基于第一预设条件将部分应用程序的逻辑数据保存至主卡,其他应用程序的逻辑数据保存至副卡,同时,在后续应用程序使用过程中,周期性检测应用程序的使用状况,并结合第二预设条件,实时对部分应用程序的逻辑数据的存储位置进行调整。这样,便实现了se空间的分布式存储,从而合理利用了主卡和副卡上的se空间,既缓解了用户下载多个应用程序时容易导致se空间不足的尴尬,给用户进行应用程序下载提供更多选择,同时尽可能让用户使用时无感知,保证了用户体验;进一步地,还能够减少用户多次删除/下载应用程序的可能性,节省平台资源及网络资源,从而有效提高了系统性能。且便于扩展。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。