一种智能卡及其个人化数据的存储管理方法技术

技术编号:20546347 阅读:31 留言:0更新日期:2019-03-09 19:16
本申请公开了一种智能卡及其个人化数据的存储管理方法,涉及信息安全领域,所述智能卡包括:用户应用和服务应用;用户应用为当前需要接受个人化数据独立存储服务的应用,服务应用用来存储当前应用的个人化数据,当用户应用被删除时,服务应用内的个人化数据不会被同时删除。所述智能卡个人化数据的存储方法包括用户应用将个人化数据写入服务应用;服务应用在验证用户应用合法后,允许用户应用访问或修改个人化数据。采用本申请的智能卡及其个人化数据存储方法,不用担心删除Java智能卡中用户应用以后对个人化数据的影响,方便卡中应用代码升级,同时不影响修改后的应用代码在运行时数据的缺失,无需担心无法重新个人化的问题。

A Storage and Management Method of Smart Card and Its Personalized Data

This application discloses a storage and management method of smart card and its personalized data, which relates to the field of information security. The smart card includes: user application and service application; user application is an application that needs to accept personalized data independent storage service at present, and service application is used to store personalized data of current application. When user application is deleted, the individual in service application is used. The converted data will not be deleted at the same time. The storage method of the smart card personalized data includes that the user application writes the personalized data to the service application, and the service application allows the user application to access or modify the personalized data after verifying the validity of the user application. Using the smart card and its personalized data storage method, we need not worry about the impact of deleting the user application in Java smart card on the personalized data, facilitate the application code upgrade in the card, and do not affect the missing data of the modified application code at run time, without worrying about the problem of not being able to re-personalize.

【技术实现步骤摘要】
一种智能卡及其个人化数据的存储管理方法
本申请涉及信息安全领域,尤其涉及一种智能卡及其个人化数据的存储管理方法。
技术介绍
现有Java智能卡中的应用以Applet对象的形式存在。在卡片个人化过程中,卡中的Applet在接收到安装指令时会实例化为一个对象,而对象在个人化时会创建若干个数组或变量等非易失性存储空间用来存储个人化数据,以方便在接下来的应用流程中使用这些数据。当智能卡中的Applet对象或代码被删除时,存储在对象中的个人化数据也会被删除。如果想要再次使用此Applet对象时,需要重新进行实例化和个人化。想象一个测试场景,如果卡片个人化以后又发现卡片中Applet代码有小的BUG需要修改,而此时个人化又不能重新进行(如对于涉及到安全方面的智能卡,个人化过程需要连接加密机等,重新个人化的条件很难再现时),基于此,本申请应运而生。
技术实现思路
本申请的目的在于提供一种智能卡及其个人化数据的存储管理方法,降低运维成本,简化费用管理方式,方便联合经营和大面积推广应用。为达到上述目的,本申请提供一种智能卡,包括:用户应用和服务应用;用户应用为当前需要接受个人化数据独立存储服务的应用,服务应用用来存储当前应用的个人化数据,当用户应用被删除时,服务应用内的个人化数据不会被同时删除。本申请还提供一种智能卡个人化数据的存储管理方法,应用于上述智能卡,包括:用户应用将个人化数据写入服务应用;服务应用在验证用户应用合法后,允许用户应用访问或修改个人化数据。如上的,其中,用户应用将个人化数据写入服务应用,具体包括如下子步骤:用户应用获取或保存服务应用的句柄;服务应用接收并存储用户应用的应用标识;在服务应用验证用户应用合法性后,服务应用接收并存储用户应用发送的个人化数据。如上的,其中,用户应用在获取服务应用的句柄前,服务应用先判断是否已经存储有应用标识,如果是,则不允许用户应用写入个人化数据,否则将句柄返回给用户应用。如上的,其中,服务应用验证用户应用合法性,具体包括如下子步骤:用用户应用向服务应用发送加密的认证密钥和校验码;服务应用若解密认证密钥成功且验证校验码成功后,存储认证密钥,用户应用合法。如上的,其中,用户应用访问或修改个人化数据,具体包括如下子步骤:用户应用将个人化数据写入服务应用时,置位密文验证成功标识;服务应用在获取密文验证成功标识为置位状态后,用户应用调用服务应用提供的接口函数,获取或修改存储在服务应用中的个人化数据。如上的,其中,若用户应用需要重新进行个人化,则在服务应用重新验证用户应用合法性后,用户应用调用服务应用提供的接口函数,用户应用获取或修改存储在服务应用中的个人化数据。如上的,其中,验证用户应用合法性,具体包括如下子步骤:用户应用生成随机数,使用认证密钥对随机数进行加密,生成密文,将密文和随机数发送至服务应用;服务应用使用内部存储的认证密钥对接收到的密文和随机数进行解密验证,验证成功则验证用户应用合法。如上的,其中,在服务应用重新验证用户应用合法性前,还包括用户应用判断内部是否存储有服务应用的句柄,如果是,则用户应用调用服务应用提供的接口函数,获取或修改存储在服务应用中的个人化数据,否则根据用户应用的应用标识向服务应用请求获取服务应用的句柄。如上的,其中,服务应用判断接收到的用户应用的应用标识与内部存储的应用标识是否一致,如果是,则将服务应用的句柄返回用户应用,否则返回应用不匹配响应,不允许用户应用访问个人化数据。本申请实现的有益效果如下:采用本申请提供的智能卡存储方法,不用担心删除Java智能卡中用户应用以后对个人化数据的影响,方便卡中应用代码升级,同时不影响修改后的应用代码在运行时数据的缺失,无需担心无法重新个人化的问题。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1为一种智能卡个人化数据的存储管理方法流程图;图2为用户应用进行个人化存储的方法流程图;图3为用户应用进行个人化数据访问或修改方法流程图;图4为用户应用重新进行个人化方法流程图。具体实施方式下面结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一为了方便卡中Applet代码升级,同时不影响修改后的Applet代码在运行时数据的缺失,本申请提供一种智能卡,在本申请的智能卡中包括用户应用(ClientApplet)和服务应用(SeverApplet);用户应用为当前需要接受个人化数据独立存储服务的应用,服务应用用来实现存储当前应用的个人化数据,服务应用独立于用户应用,即当用户应用被删除时,服务应用内的个人化数据不会被同时删除。当用户应用需要使用个人化数据时,需要调用服务应用提供的访问接口进行数据访问和操作,优选的,使用Java卡JCRE提供的共享机制(即实现Sharable接口)进行访问,确保数据访问的安全性,防止被其他应用恶意访问或修改。实施例二本申请实施例二提供一种智能卡个人化数据的存储管理方法,如图1所示,包括:步骤11:用户应用将个人化数据写入服务应用;具体的,用户应用是在初次进行个人化时,将个人化数据写入服务应用,因此也只允许第一个个人化的用户应用有权访问此服务应用。参见图2,用户应用进行个人化存储的方式如下:步骤21:用户应用在接收到个人化指令后,获取服务应用的句柄;具体的,用户应用(ClientApplet)通过调用Java智能卡的两个API接口函数JCSystem.lookupAID()和JCSystem.getAppletShareableInterfaceObject(),获取服务应用的句柄,句柄即为服务应用的对象;需要说明的是,在进行初次个人化存储之前,服务应用已经实例化为一个对象;本步骤中,用户应用在获取服务应用句柄前,服务应用先判断是否已经存储有用户应用的应用标识AID或个人化数据,如果是,则返回已个人化响应,否则执行获取句柄操作。步骤22:用户应用存储获取到的服务应用的句柄;优选的,用户应用将服务应用的句柄保存在用户应用的非易失性存储器中;其中,为了使用户应用访问服务应用的性能更高,用户应用只在个人化指令时获取服务应用的句柄,并保存在非易失性存储器中,且在用户应用的代码或对象删除之前不需要再重复获取句柄。步骤23:用户应用调用服务应用提供的传入应用标识的接口函数;其中,服务应用提供的接口函数为setAID()函数,调用此函数,用户应用将用户应用的应用标识AID传送至服务应用。步骤24:服务应用接收到应用标识AID后,判断内部是否已经存储有应用标识AID,如果是,则向用户应用返回已存储响应,否则将接收到的用户应用的应用标识AID保存在服务应用的非易失性存储器中,向用户应用返回成功响应,执行步骤25;可选的,服务应用中如已存储有应用标识AID,则返回0,表示传送失败,如未存储应用标识AID,则返回1本文档来自技高网...

【技术保护点】
1.一种智能卡,其特征在于,包括:用户应用和服务应用;用户应用为当前需要接受个人化数据独立存储服务的应用,服务应用用来存储当前应用的个人化数据,当用户应用被删除时,服务应用内的个人化数据不会被同时删除。

【技术特征摘要】
1.一种智能卡,其特征在于,包括:用户应用和服务应用;用户应用为当前需要接受个人化数据独立存储服务的应用,服务应用用来存储当前应用的个人化数据,当用户应用被删除时,服务应用内的个人化数据不会被同时删除。2.一种智能卡个人化数据的存储管理方法,应用于如权利要求1所述的智能卡,其特征在于,包括:用户应用将个人化数据写入服务应用;服务应用在验证用户应用合法后,允许用户应用访问或修改个人化数据。3.如权利要求2所述的智能卡个人化数据的存储管理方法,其特征在于,用户应用将个人化数据写入服务应用,具体包括如下子步骤:用户应用获取或保存服务应用的句柄;服务应用接收并存储用户应用的应用标识;在服务应用验证用户应用合法性后,服务应用接收并存储用户应用发送的个人化数据。4.如权利要求3所述的智能卡个人化数据的存储管理方法,其特征在于,用户应用在获取服务应用的句柄前,服务应用先判断是否已经存储有应用标识,如果是,则不允许用户应用写入个人化数据,否则将句柄返回给用户应用。5.如权利要求3所述的智能卡个人化数据的存储管理方法,其特征在于,服务应用验证用户应用合法性,具体包括如下子步骤:用户应用向服务应用发送加密的认证密钥和校验码;服务应用若解密认证密钥成功且验证校验码成功后,存储认证密钥,用户应用合法。6.如权利要求2所述的智能卡个人化数据的存储管理方法,其特征在于,用户应用访问或修改个人...

【专利技术属性】
技术研发人员:李勇陆道如
申请(专利权)人:江苏恒宝智能系统技术有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1