[发明专利]一种提高JavaCard共享接口访问安全的认证方法及认证系统有效
申请号: | 201711247944.9 | 申请日: | 2017-12-01 |
公开(公告)号: | CN107968784B | 公开(公告)日: | 2019-08-30 |
发明(设计)人: | 李勇;陆道如 | 申请(专利权)人: | 恒宝股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 212355 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 提高 javacard 共享 接口 访问 安全 认证 方法 系统 | ||
技术领域
本申请涉及智能IC卡技术领域,具体涉及一种提高JavaCard共享接口访问安全的认证方法及认证系统。
背景技术
根据JCRE(Java Card Runtime Environment Java智能卡应用程序的运行环境)要求,在JavaCard中各个Applet(程序)之间都有防火墙保护。如果开发过程中遇到需要两个Applet之间进行数据共享,则需要使用JCRE提供的共享接口机制来实现相关功能。此时需要创建一个Sever Applet(服务器端程序)作为被访问者,而Client Applet(客户端程序)通过共享接口访问Sever Applet提供的方法(函数)。
目前JavaCard中建议的安全策略为,在Client Applet调用Sever Applet之前,Sever Applet仅通过AID来判断Applet对象是否为自己期望的访问者;如果不是合法访问对象则不允许Client Applet访问自己;如果是则可进行接下来的数据共享操作。然而这种级别的安全策略对于涉及到重要数据(如金额等)的Applet应用时是远远不够的。在知道共享接口的前提下,下载恶意Client Applet对象来攻击Sever Applet,有可能使得卡片中的重要数据被访问和篡改。
发明内容
本申请的目的在于提出一种提高JavaCard共享接口访问安全的认证方法及认证系统,用于解决现有技术中通过共享接口访问数据时的安全性低的技术问题。
本申请的提高JavaCard共享接口访问安全的认证方法,其特征在于,包括:
通过共享接口发送获取服务器端程序的SIO对象的请求;
通过共享接口接收服务器端程序返回的判断数据;
响应于服务器端程序返回的判断数据为SIO对象,进行数据认证,并通过共享接口向服务器端程序请求执行数据认证;
通过共享接口接收服务器端程序返回的认证结果,判断认证是否成功;
响应于认证成功,请求执行数据共享操作,并通过共享接口向服务器端程序发送数据共享请求;
通过共享接口接收服务器端程序返回的数据结果。
可选地,服务器端程序通过共享接口传来的客户端程序AID来判断客户端程序是否为合法的客户端程序。
进一步地,响应于服务器端程序判断客户端程序为合法的客户端程序,通过共享接口返回客户端程序的判断数据为SIO对象。
进一步地,响应于服务器端程序判断客户端程序为非法的客户端程序,通过共享接口返回客户端程序的判断数据为空。
优选地,响应于服务器端程序返回的数据为SIO对象,进行数据认证,并通过共享接口向服务器端程序请求执行数据认证的方法为:
执行GP外部认证,并记录认证状态;
收集认证数据,并对认证数据进行加密,生成密文认证数据;
调用服务器端程序提供的安全认证函数,并将GP认证状态和加密后的密文认证数据以及明文认证数据作为安全认证函数的参数发送给服务器端程序。
进一步地,服务器端程序通过安全认证函数的参数确认客户端程序是否有执行成功的GP外部认证。
进一步地,服务器端程序对安全认证函数的参数中的密文认证数据进行解密,并根据明文认证数据和事先约定的格式对解密后的认证数据进行格式和内容检查,判断解密后的认证数据是否正确。
可选地,响应于解密后的认证数据正确,服务器端程序记录认证状态并通过共享接口返回认证结果。
可选地,对认证数据进行加密、解密所用的密钥为个人化时约定存储的对称密钥或非对称密钥。
本申请的提高JavaCard共享接口访问安全的认证方法,在原有共享数据访问的基础上,通过增加共享接口的安全认证方式,增强了JavaCard多个Applet之间数据共享访问的安全性,降低了重要数据被访问和修改的可能性,使恶意攻击变得更困难。
本申请还提出一种提高JavaCard共享接口访问安全的认证系统,包括:
获取模块,通过共享接口发送获取服务器端程序的SIO对象的请求;
第一接收模块,通过共享接口接收服务器端程序返回的判断数据;
数据认证模块,响应于服务器端程序返回的判断数据为SIO对象,进行数据认证,并通过共享接口向服务器端程序请求执行数据认证;
第二接收模块,通过共享接口接收服务器端程序返回的认证结果,判断认证是否成功;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于恒宝股份有限公司,未经恒宝股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711247944.9/2.html,转载请声明来源钻瓜专利网。