一种NFC智能卡应用数据迁移方法
技术领域
本发明涉及一种NFC智能卡应用数据迁移方法。
背景技术
NFC(Near Field Communication)技术是一种短距高频无线电技术,它也是RFID(Radio Frequency Identification)的一种。NFC芯片集成了卡模拟、读卡器模拟、点对点三项功能。现在主流手机及穿戴设备支持了NFC功能,而NFC三项功能中应用最广的就是卡模拟功能,用户可以手持NFC手机和穿戴设备刷门禁,刷公交,刷银行卡等,这给用户带来很多便捷。
对于NFC的模拟卡应用,已有了成熟的国际规范GP(GlobePlatform)规范来管理。GP规范定义了智能卡应用的下载、安装、删除等整个生命周期的管理。卡应用提供商管理模拟卡应用时,使用TSM(Trusted Service Management)来保护空中下发数据的安全性,TSM给手机或穿戴设备(以下简称设备)空中发送指令,完成了建立安全通道、下载模拟卡应用、个人化模拟卡应用等工作。当用户不使用设备内的模拟卡业务时,可以删除应用,一旦删除,原有的智能卡应用生命周期已经结束。
模拟智能卡从应用上分为两类,一种是绑定的是有实体卡的银行卡,存储了是这张实体卡的有效信息,后台账户仍旧是原实体卡的,更换设备时需要登记并绑定实体卡信息。另一类没有绑定实体卡,如模拟公交卡,卡内存储了可用金额,用户的交易记录等,后台也为此创建了账户来管理,用户要更换设备,现在的方案只是删除旧卡发行了新卡,而用户旧卡的信息没有被保存,应用发行商也需要注销原有账户。更换设备后,用户会丢失所有原设备内应用的数据,除了需要重新注册绑定外,还需要提前做余额转移的工作防止卡内金额的丢失。
用户更换设备时,现在主流的实现方案是丢弃原有模拟卡内数据。TSM删除旧设备中的模拟卡,原有卡内数据不作保留,在新设备中重新安装模拟智能卡应用后,按照重新注册的流程让用户填写信息,后台服务器将绑定用户与新模拟智能卡应用的关系。
当用户需要更换手机或穿戴设备时,除了传统的通讯录等信息外,如何把NFC模拟的门禁卡,公交卡,银行卡信息转移到新的手机或穿戴设备上是一个问题。
发明内容
本发明提供一种NFC智能卡应用数据迁移方法,采用数据迁移方法将旧设备中智能卡应用的数据转移到新设备中的智能卡应用中,使新设备里的智能卡应用的账户和密钥与原设备内完全一致,操作简单,为应用拓展提供了便利。
为了达到上述目的,本发明提供一种NFC智能卡应用数据迁移方法,包含以下步骤:将旧设备中的智能卡应用的业务数据迁出,保存在远程服务器中,使智能卡应用处于迁移状态,当在新设备中下载安装智能卡应用后,从远程服务器将原业务数据迁入新设备;
所述的智能卡应用的业务数据迁出的方法包含以下步骤:
当用户要更换设备时,通过设备端的应用程序APP提出智能卡应用迁出请求,SDK接口调用智能卡应用并向智能卡应用获取一个卡随机数,SDK接口将智能卡应用迁出请求发送给远程服务器上的TSM;
远程服务器上的TSM从智能卡业务平台获取应用迁出指令发送给设备端的智能卡应用;所述的应用迁出指令包含:应用迁移平台流水和应用迁移验证码;
SDK接口对设备端的智能卡应用执行应用迁出指令,获得应用迁移令牌发送给远程服务器上的TSM;所述的应用迁移令牌包含:应用业务数据密文、应用迁移平台流水、校验码;
远程服务器上的TSM储存应用迁移令牌;
所述的智能卡应用的业务数据迁入的方法包含以下步骤:
用户通过新设备的应用程序APP输入在业务数据迁出时TSM提供的应用迁移验证码,SDK接口向远程服务器上的TSM发送该应用迁移验证码;
远程服务器上的TSM验证应用迁移验证码后,下载智能卡应用, SDK接口将智能卡应用安装到设备端;
远程服务器上的TSM读取应用迁移认证码对应的应用迁移令牌,并向智能卡业务平台申请发卡密钥;所述的发卡密钥包含对智能卡应用进行个人化所需要的所有密钥,这些密钥和原智能卡应用中的密钥完全一致,该发卡密钥包含卡内迁移密钥;
远程服务器上的TSM将发卡数据发送给SDK接口;所述的发卡数据包含:对应用迁移令牌中的应用业务数据密文进行解密得到的智能卡应用中的所有业务数据、以及发卡密钥;
SDK接口完成对设备端的智能卡应用迁入,设备端的智能卡应用获得原设备端内的业务数据和密钥。
当智能卡应用从正常状态或关闭状态进入迁移状态的过程中,可以进行业务数据的迁出,当智能卡应用从安装状态进入正常状态的过程中,即智能卡应用进行个人化的过程中,可以进行业务数据的迁入。
当智能卡应用处于迁移状态时,智能卡应用中的所有密钥均失效,智能卡应用仅提供应用迁移令牌读取功能,但不能再进行任何交易;一旦智能卡应用进入迁移状态,则无法返回正常状态,一旦智能卡应用进入正常状态,则无法进行业务数据的迁入。
所述的应用迁移平台流水是智能卡业务平台提供的流水号;所述的应用迁移验证码是使用卡内迁移密钥,以卡随机数为初始向量,对应用迁移平台流水做MAC计算获得的计算数据。
所述的应用业务数据密文是使用卡内迁移密钥对智能卡应用中的所有业务数据进行加密获得的数据;所述的校验码是使用卡内迁移密钥,以应用迁移平台流水为初始向量,对应用业务数据密文做MAC计算得到的数据。
在远程服务器上的TSM储存应用迁移令牌之前,远程服务器上的TSM将应用迁移令牌发送给智能卡业务平台,智能卡业务平台校验应用迁移令牌的真伪,如果验证了应用迁移令牌为真,则TSM储存应用迁移令牌。
所述的校验应用迁移令牌的过程包含:智能卡业务平台根据校验码生成规则校验所述的校验码,若校验码正确,则应用迁移令牌为真。
本发明采用数据迁移方法将旧设备中智能卡应用的数据转移到新设备中的智能卡应用中,使新设备里的智能卡应用的账户和密钥与原设备内完全一致,操作简单,为应用拓展提供了便利。
附图说明
图1是智能卡应用的状态示意图。
图2是智能卡应用的业务数据迁出的流程图。
图3是智能卡应用的业务数据迁入的流程图。
具体实施方式
以下根据图1~图3,具体说明本发明的较佳实施例。
本发明提供一种NFC智能卡应用数据迁移方法,可以将旧设备中的智能卡应用的业务数据迁出,保存在远程服务器中,使智能卡应用处于迁移状态,当在新设备中下载安装智能卡应用后,在对智能卡应用进行个人化的过程中从远程服务器将原业务数据迁入新设备。
如图1所示,原有的智能卡应用的状态机中仅仅只有安装、正常和关闭三种状态,本发明在智能卡应用的状态机中增加迁移状态,当智能卡应用从正常状态或关闭状态进入迁移状态的过程中,可以进行业务数据的迁出,当智能卡应用从安装状态进入正常状态的过程中,即智能卡应用进行个人化的过程中,可以进行业务数据的迁入。
当智能卡应用处于迁移状态时,智能卡应用中的所有密钥均失效,智能卡应用仅提供应用迁移令牌(TOKEN)读取功能,但不能再进行任何交易。
一旦智能卡应用进入迁移状态,则无法返回正常状态,一旦智能卡应用进入正常状态,则无法进行业务数据的迁入。
如图2所示,在智能卡应用的业务数据迁出的过程中,除智能卡应用外,有四方参与,分别是:设备端安装的应用程序(APP)、设备端上的SDK接口(Software DevelopmentKit,该SDK接口可调用智能卡应用)、远程服务器上的TSM、以及卡应用提供商SP(SeviceProvider)的智能卡业务平台。
所述的智能卡应用的业务数据迁出的方法包含以下步骤:
步骤S1、当用户要更换设备时,通过设备端的应用程序APP提出智能卡应用迁出请求,SDK接口调用智能卡应用并向智能卡应用获取一个卡随机数,SDK接口将智能卡应用迁出请求发送给远程服务器上的TSM;
所述的卡随机数在之后会参与应用迁出指令计算,作用是验证TSM给的应用迁出指令是否真实,防止指令重放和伪TSM;
步骤S2、远程服务器上的TSM从智能卡业务平台获取应用迁出指令发送给设备端的智能卡应用;
所述的应用迁出指令包含:应用迁移平台流水和应用迁移验证码;所述的应用迁移平台流水是智能卡业务平台提供的流水号,用于验证令牌是否是本次应用迁移指令回复的数据;所述的应用迁移验证码是使用卡内迁移密钥(智能卡应用个人化时写入智能卡内的一个16字节的3DES密钥,由智能卡业务平台设计智能卡应用时指定),以卡随机数为初始向量,对应用迁移平台流水做MAC计算(使用ANSI x9.19方法计算)获得的计算数据;
步骤S3、SDK接口对设备端的智能卡应用执行应用迁出指令,获得应用迁移令牌发送给远程服务器上的TSM;
所述的应用迁移令牌为二进制串,其包含:应用业务数据密文、应用迁移平台流水、校验码;所述的应用业务数据密文是使用卡内迁移密钥对智能卡应用中的所有业务数据进行3DES加密获得的数据;所述的校验码是使用卡内迁移密钥,以应用迁移平台流水为初始向量,对应用业务数据密文做MAC计算得到的数据;所述的应用迁移平台流水和校验码用于验证应用迁移令牌的正确性;
步骤S4、远程服务器上的TSM向智能卡业务平台验证应用迁移令牌的真伪后,储存应用迁移令牌;
远程服务器上的TSM将应用迁移令牌发送给智能卡业务平台,智能卡业务平台校验应用迁移令牌的真伪,如果验证了应用迁移令牌为真,则TSM储存应用迁移令牌,并返回应用迁移处理结果给智能卡应用;
所述的校验应用迁移令牌的过程包含:智能卡业务平台根据校验码生成规则校验所述的校验码,若验证码正确,则应用迁移令牌为真。
如图3所示,在智能卡应用的业务数据迁入的过程中,除了智能卡应用外,有四方参与,分别是:设备端安装的应用程序(APP)、设备端上的SDK接口(该SDK接口可调用智能卡应用)、远程服务器上的TSM、以及卡应用提供商SP(Sevice Provider)的智能卡业务平台。其中TSM存有智能卡应用的下载包,智能卡业务平台存有业务数据及发卡密钥。
所述的智能卡应用的业务数据迁入的方法包含以下步骤:
步骤S1、用户通过新设备的应用程序APP提出智能卡应用迁入请求;
用户登录应用程序APP的原账号后,输入在业务数据迁出时TSM提供的应用迁移验证码;
步骤S2、调用SDK接口向远程服务器上的TSM发送该应用迁移验证码;
步骤S3、远程服务器上的TSM验证应用迁移验证码后,下载智能卡应用,SDK接口将智能卡应用安装到设备端;
步骤S4、远程服务器上的TSM读取应用迁移认证码对应的应用迁移令牌,并向智能卡业务平台申请发卡密钥;
所述的发卡密钥包含对智能卡应用进行个人化所需要的所有密钥,这些密钥和原智能卡应用中的密钥完全一致,该发卡密钥包含卡内迁移密钥;
步骤S5、远程服务器上的TSM将发卡数据发送给SDK接口;所述的发卡数据包含:对应用迁移令牌中的应用业务数据密文进行解密得到的智能卡应用中的所有业务数据、以及发卡密钥;
步骤S6、SDK接口完成对设备端的智能卡应用迁入,设备端的智能卡应用获得原设备端内的业务数据和密钥。
本发明能够有效解决用户更换设备后之智能卡应用信息不保留的缺点,更换设备时可把旧设备的智能卡应用的业务数据迁出,上传保存在远程服务器中,然后可以在新设备输入验证码后,就能下载安装包含原有业务数据的智能卡应用,新设备里的智能卡应用的账户和密钥与原设备内完全一致。
本发明除了可以解决新旧设备更换的场景,还可以解决智能卡应用短期租用的场景。对于一些应用发行商来说,他们的发卡数据是从实体卡发行商购买的,需要用户按账户支付开卡费,对于某些用户,因为发卡费的原因,就不会选择下载智能卡。应用提供商可以使用应用迁移的方案来减免发卡费,吸引用户使用。用户租用智能卡时,下载安装智能卡应用后,无需支付发卡费新建用户,而是使用提供的短期租用账户。在租用时间到期后,应用提供商会执行本发明提供的应用迁移方案,使用户的账户失效,应用提供商则可以继续租出该账户给其他用户。
对于用户来说,更换设备后下载的还是原来的智能卡内容,除了输入验证码确认身份外不需要其他工作;对于应用提供商来说,可提供短期租用NFC模拟智能卡的业务,为应用拓展提供便利。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。