首页> 中国专利> 一种eSIM卡快速下载方法

一种eSIM卡快速下载方法

摘要

本发明公开一种eSIM卡快速下载方法,通过跨APDU事务机制,对关键数据写入进行原子性保护,既解决了下载过程中掉电带来的NVM数据不稳定问题,又解决了下载性能慢的问题。本发明提供的方法为:在eSIM卡开始下载profile时,启动事务处理;经过多条APDU处理后结束profile下载时,提交事务处理;在多条APDU处理过程中,仅启用一次事务处理。

著录项

  • 公开/公告号CN112188477A

    专利类型发明专利

  • 公开/公告日2021-01-05

    原文格式PDF

  • 申请/专利号CN202010959551.6

  • 发明设计人 闫建丽;袁巧;

    申请日2020-09-14

  • 分类号H04W8/20(20090101);H04W8/24(20090101);H04W8/18(20090101);

  • 代理机构

  • 代理人

  • 地址 102209 北京市昌平区北七家镇未来科技城南区中国电子网络安全和信息化产业基地C栋

  • 入库时间 2023-06-19 09:26:02

说明书

技术领域

本发明涉及智能卡技术领域,尤其是要求支持eSIM功能的智能卡领域。

背景技术

eSIM卡支持远程定制服务,支持多个电信Profile远程下载。在电信Profile下载过程中,会创建大量电信文件,创建MNOSD和SSD,下载Package,安装Applet。所有这些操作,都涉及到NVM区空间分配。NVM区空间分配,和系统表项(包括对象管理表和文件管理表等)中NVM地址的写入,需要保证原子性,以避免掉电不稳定和空间泄露(空间分配后无法回收)。

目前eSIM卡都是基于Java卡平台实现。在Java平台中,通过事务机制保证多次擦写NVM的原子性。但是事务机制,仅支持一条APDU处理过程中的NVM擦写原子性。

一个普通的电信Profile大约几K bytes,需要十几条到几十条APDU才能完成下载过程。如果采用Java平台的事务机制,需要多次事务处理才能完成。而事务机制最主要的两个操作为启动事务和提交事务。在提交事务时,需要多次写NVM,以设置备份数据为无效,会带来一些性能开销。因此,在Profile下载过程中,如果多次提交事务,会导致Profile下载性能很慢。

发明内容

针对目前eSIM卡下载性能慢的问题,本发明提供一种高性能的eSIM卡下载方法,可以显著减少Profile下载过程中的事务提交次数,提升eSIM卡产品的远程下载速度。

该发明通过减少事务次数,在Profile开始下载时启动事务,在APDU处理结束时不提交事务,而是在多条APDU处理后,Profile结束下载时提交事务,来保证关键数据(譬如空间分配表和对象管理表/文件管理表)写入的原子性保护。将Profile下载过程中的多次事务处理,降低到仅需1次事务处理,可显著提升eSIM卡下载性能。本发明提供的处理方式为首创,尚未发现有同类技术存在。

为实现上述发明目的,本发明采用的技术方法步骤如下:

步骤一、接收APDU。

步骤二、判断是否为Profile下载开始,如果是向下执行,否则跳至步骤四并向后执行。

步骤三、启动事务。

步骤四、处理APDU。

步骤五、判断APDU处理过程中是否出现异常,如果出现异常,执行步骤六;否则执行步骤七并向后执行。

步骤六、中止事务,返回下载失败,下载流程结束。

步骤七、判断Profile下载是否结束,如果结束,执行步骤八;否则执行步骤九。

步骤八、提交事务,返回下载成功,下载流程结束。

步骤九、返回APDU执行成功,跳至步骤一,下载流程继续。

附图说明

图1为Java平台事务处理流程图

图2为本发明eSIM下载跨APDU事务处理流程图

图3为实施例eSIM卡快速下载流程图

图4为实施例启动事务流程图

图5为实施例提交事务流程图

具体实施方式

Java卡平台通用事务处理流程,见图1。

本发明eSIM下载跨APDU事务处理流程,见图2。

以下结合附图和实例对本发明所提供的一种eSIM卡快速下载方法做进一步说明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

一、实施例eSIM快速下载流程图,如附图3所示。考虑eSIM卡为多应用卡,支持多个逻辑通道,在某一通道下载Profile时(eSIM卡不支持多个Profile同时下载),其他通道可能有应用需要使用Java平台提供的事务机制。因此,引入Profile下载通道号,用于兼容eSIM下载跨APDU事务处理和Java平台通用事务处理。该流程包括以下步骤:

S3001、卡片上电,进行初始化(设置下载通道号无效),发送复位信息。

S3002、接收APDU命令。

S3003、判断是否为Profile下载开始,如果是执行步骤S3004,否则跳至步骤S3006。

S3004、记录下载通道号,设置下载通道号为当前APDU通道号。

S3005、执行启动事务流程。

S3006、处理APDU命令,解析Profile,创建文件,安装SD或Applet等。

S3007、判断下载过程是否出现异常,如果是跳至步骤S3013;否则执行步骤S3008。

S3008、判断Profile下载是否结束,如果结束跳至步骤S3010;否则执行步骤S3009。

S3009、返回APDU处理成功,跳至步骤S3002,继续下载流程。

S3010、清除下载通道号,设置为无效值。

S3011、执行提交事务流程。

S3012、返回Profile下载成功信息,跳至步骤S3016。

S3013、清除下载通道号,设置为无效值。

S3014、中止事务,处理同Java平台中止事务流程一致。

S3015、返回Profile下载失败信息。

S3016、Profile下载流程结束。

二、实施例启动事务流程图,如附图4所示,包括以下步骤:

S4001、启动事务流程开始,获取当前通道号。

S4002、判断当前通道号是否与下载通道号相等,如果相等说明是下载流程调用,跳至步骤S4005;如果不等,说明为应用调用Java平台事务机制,执行步骤S4003。

S4003、判断下载通道号是否有效,如果有效说明在非当前通道有Profile正在下载,执行步骤S4004;否则,跳至步骤S4005。

S4004、结束当前Profile下载的跨APDU事务处理,准备启动应用调用的Java平台事务机制。

S4005、开始应用调用的Java平台事务处理。

S4006、启动事务流程结束。

三、实施例提交事务流程图,如附图5所示,包括以下步骤:

S5001、提交事务流程开始,获取当前通道号。

S5002、结束当前事务处理,可能包括清除原子保护标记、更新NVM数据、设置备份数据无效等操作。

S5003、判断当前通道号是否与下载通道号相等,如果相等说明是下载流程正常结束,跳至步骤S5006;如果不等,说明为应用调用Java平台事务机制执行提交流程,执行步骤S5004。

S5004、判断下载通道号是否有效,如果有效说明在非当前通道有Profile正在下载,执行步骤S5005;否则,跳至步骤S5006。

S5005、为Profile下载重启事务,开始事务处理。

S5006、提交事务流程结束。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号