一种Java卡的应用身份验证方法及验证系统技术方案

技术编号:15518161 阅读:91 留言:0更新日期:2017-06-04 08:29
本发明专利技术公开了一种Java卡的应用身份验证方法,包括:第一应用发送第一通信信息至JCRE;所述JCRE对所述第一应用进行正向身份验证;所述JCRE发送第二通信信息至所述第二应用,所述第二通信信息包括所述第一应用的应用信息以及所述共享接口引用请求;所述第二应用根据所述应用信息判断所述第一应用是否具有共享接口引用权限;所述第二应用发送第三通信信息至所述JCRE,所述第三通信信息包括共享接口确认信息;所述JCRE发送所述第三通信信息至所述第一应用。本发明专利技术还公开了一种系统,用于实现上述方法。本发明专利技术实施例可增强应用身份验证可靠性,保障用户信息安全。

【技术实现步骤摘要】
一种Java卡的应用身份验证方法及验证系统
本专利技术涉及通信领域,尤其涉及一种Java卡的应用身份验证方法及验证系统。
技术介绍
智能卡(SmartCard)是一种带有微型处理器和存储器芯片的微型集成电路卡片,具有运算能力和信息存储功能。智能卡包括传统的智能卡和Java智能卡,与传统卡片相比,Java智能卡不仅具有平台无关性,更重要的是支持一卡多应用,且具有更高的安全性。Java卡的出现使得一卡多应用成为可能。在同一张卡片上安装来自不同领域的应用,带来的是应用之间的数据安全问题。Java卡设计规范中定义了防火墙来对不同的应用之间的内存空间进行隔离和访问控制。默认情况下,一个应用不能访问其他应用的方法、属性,即使其方法和属性是Public。但由于业务需要,应用间难免会有需要互相调用的情况,比如支付应用,在支付环节发送验证码验证用户信息时,需要调用短信应用程序。因此,Java卡防火墙提供一套用于不同应用程序之间数据共享的机制。主要实现方式是提供共享服务的应用程序通过继承指定接口程序,可为其他应用程序提供数据。共享机制的具体流程如下描述:1.应用程序应用B定义了一个共享接口SI,并在SI中定义将要被其他应用所访问的方法,用一个类C来实现该SI;2.应用程序应用A要调用应用B中的某个方法,需要通过调用系统获取SI对象的方法,向JCRE(Javacardrun-timeenvironment,Java卡运行时环境)请求应用B的共享接口对象引用;3.JCRE接收到请求后,查找内部应用注册表,找到应用B,将应用A的请求以Java卡API中的函数getShareAbleInterface(AID,PARA)的方法发送给B;4.应用B接到请求后,判断是否与A进行共享,如果同意,则返回一个共享接口对象的引用给JCRE,再转发给应用A。可以发现,JCRE是通过AID(applicationidentifier,应用标识)直接查找应用A和应用B的引用信息,且应用B是通过AID来判断对方的身份,这带来的安全隐患是:如果恶意应用设置了一个与A相同的AID,那么就可以实现对应用B的方法或数据的访问。若仅仅只是靠AID来验证,那安全系数比较低。考虑Java卡在安装应用时,AID应该是唯一的,即当卡片中已经存在一个应用A,那么不可能再安装一个AID与A相同的应用。然而,Java卡上的应用是可以被某些攻击进行反编译的,反编译时可以获得应用A的AID,然后再将应用A从卡片内删除,重新安装一个具有A的AID的恶意应用,这样就可以通过共享接口非法来获取应用B的数据。
技术实现思路
本专利技术实施例提供一种Java卡的应用身份验证方法及验证系统,以解决现有技术中,Java卡上多个应用进行共享时,应用验证可靠性低,信息安全性差的问题。第一方面,本专利技术实施例提供了一种Java卡的应用身份认证方法,应用于Java卡,包括:第一应用发送第一通信信息至JCRE,所述第一通信信息包括以第二应用为对象的共享接口引用请求;所述JCRE按预设步骤对所述第一应用进行正向身份验证;当所述正向身份验证通过后,所述JCRE发送第二通信信息至所述第二应用,所述第二通信信息包括所述第一应用的应用信息以及所述共享接口引用请求;所述第二应用根据所述应用信息判断所述第一应用是否具有共享接口引用权限;当所述第一应用具有所述共享接口引用权限时,所述第二应用发送第三通信信息至所述JCRE,所述第三通信信息包括共享接口确认信息;所述JCRE发送所述第三通信信息至所述第一应用。进一步,上述在所述当所述第一应用具有所述共享接口引用权限时,所述第二应用发送第三通信信息至所述JCRE,所述第三通信信息包括共享接口确认信息的步骤之后,还包括步骤:所述JCRE按所述预设步骤对所述第二应用进行反向身份验证;所述JCRE发送所述第三通信信息至所述第一应用的步骤,具体为:当所述反向身份验证通过后,所述JCRE发送所述第三通信信息至所述第一应用。进一步,上述所述第二应用根据所述应用信息判断所述第一应用是否具有共享接口引用权限的步骤,包括:所述第二应用获取共享接口权限库,所述共享接口权限库包括多个应用的应用信息;判断所述第一应用的应用信息是否与所述共享接口权限库中的任意应用信息匹配,生成判断结果。进一步,上述所述预设步骤,包括:获取待验证应用的安全域中的应用密钥和标准验证参数;根据所述密钥对所述待验证应用的安全组件进行解密,生成应用序列号;根据预设算法对所述应用序列号进行运算,生成待验证参数;根据所述待验证参数和所述标准验证参数,确定验证结果。进一步,上述所述预设算法为哈希算法。另一方面,本专利技术实施例还提供了一种一种Java卡的应用身份验证系统,包括:第一发送模块,用于控制第一应用发送第一通信信息至JCRE,所述第一通信信息包括以第二应用为对象的共享接口引用请求;验证模块,用于控制所述JCRE按预设步骤对所述第一应用进行正向身份验证;第二发送模块,用于在所述正向身份验证通过后,控制所述JCRE发送第二通信信息至所述第二应用,所述第二通信信息包括所述第一应用的应用信息以及所述共享接口引用请求;第一判断模块,用于控制所述第二应用根据所述应用信息判断所述第一应用是否具有共享接口引用权限;第三发送模块,用于在所述第一应用具有所述共享接口引用权限时,控制所述第二应用发送第三通信信息至所述JCRE,所述第三通信信息包括共享接口确认信息;第四发送模块,用于控制所述JCRE发送所述第三通信信息至所述第一应用。进一步,上述所述验证模块,还用于在第二应用发送第三通信信息至所述JCRE之后,控制所述JCRE按所述预设步骤对所述第二应用进行反向身份验证;所述第四发送模块,具体用于在当所述反向身份验证通过后,控制所述JCRE发送所述第三通信信息至所述第一应用。进一步,上述所述第一判断模块包括:第一获取单元,用于控制所述第二应用获取共享接口权限库,所述共享接口权限库包括多个应用的应用信息;判断单元,用于判断所述第一应用的应用信息是否与所述共享接口权限库中的任意应用信息匹配,生成判断结果。进一步,上述所述验证模块,包括:第二获取单元,用于获取待验证应用的安全域中的应用密钥和标准验证参数;第一生成单元,用于根据所述密钥对所述待验证应用的安全组件进行解密,生成应用序列号;第二生成单元,用于根据预设算法对所述应用序列号进行运算,生成待验证参数;确定单元,用于根据所述待验证参数和所述标准验证参数,确定验证结果。进一步,上述所述预设算法为哈希算法。本专利技术实施例通过JCRE分别与第一应用和第二应用进行通信,并在第一应用发送第一通信信息时,对第一应用进行正向身份验证,若第一应用通过正向身份验证,则表示第一应用为合法应用,将第一应用的应用信息以及共享接口引用请求发送至第二应用。本专利技术实施例可有效检测出第一应用被恶意篡改和替换的情况,提高第一应用和第二应用之间通信的数据安全性,防止用户隐私泄露。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术的Ja本文档来自技高网
...
一种Java卡的应用身份验证方法及验证系统

【技术保护点】
一种Java卡的应用身份认证方法,应用于Java卡,其特征在于,包括:第一应用发送第一通信信息至JCRE,所述第一通信信息包括以第二应用为对象的共享接口引用请求;所述JCRE按预设步骤对所述第一应用进行正向身份验证;当所述正向身份验证通过后,所述JCRE发送第二通信信息至所述第二应用,所述第二通信信息包括所述第一应用的应用信息以及所述共享接口引用请求;所述第二应用根据所述应用信息判断所述第一应用是否具有共享接口引用权限;当所述第一应用具有所述共享接口引用权限时,所述第二应用发送第三通信信息至所述JCRE,所述第三通信信息包括共享接口确认信息;所述JCRE发送所述第三通信信息至所述第一应用。

【技术特征摘要】
1.一种Java卡的应用身份认证方法,应用于Java卡,其特征在于,包括:第一应用发送第一通信信息至JCRE,所述第一通信信息包括以第二应用为对象的共享接口引用请求;所述JCRE按预设步骤对所述第一应用进行正向身份验证;当所述正向身份验证通过后,所述JCRE发送第二通信信息至所述第二应用,所述第二通信信息包括所述第一应用的应用信息以及所述共享接口引用请求;所述第二应用根据所述应用信息判断所述第一应用是否具有共享接口引用权限;当所述第一应用具有所述共享接口引用权限时,所述第二应用发送第三通信信息至所述JCRE,所述第三通信信息包括共享接口确认信息;所述JCRE发送所述第三通信信息至所述第一应用。2.根据权利要求1所述的方法,其特征在于,在所述当所述第一应用具有所述共享接口引用权限时,所述第二应用发送第三通信信息至所述JCRE,所述第三通信信息包括共享接口确认信息的步骤之后,还包括步骤:所述JCRE按所述预设步骤对所述第二应用进行反向身份验证;所述JCRE发送所述第三通信信息至所述第一应用的步骤,具体为:当所述反向身份验证通过后,所述JCRE发送所述第三通信信息至所述第一应用。3.根据权利要求1所述的方法,其特征在于,所述第二应用根据所述应用信息判断所述第一应用是否具有共享接口引用权限的步骤,包括:所述第二应用获取共享接口权限库,所述共享接口权限库包括多个应用的应用信息;判断所述第一应用的应用信息是否与所述共享接口权限库中的任意应用信息匹配,生成判断结果。4.根据权利要求1至3任一项所述的方法,其特征在于,所述预设步骤,包括:获取待验证应用的安全域中的应用密钥和标准验证参数;根据所述密钥对所述待验证应用的安全组件进行解密,生成应用序列号;根据预设算法对所述应用序列号进行运算,生成待验证参数;根据所述待验证参数和所述标准验证参数,确定验证结果。5.根据权利要求1至3任一项所述的方法,其特征在于,所述预设算法为哈希算法。6.一种Java卡的应用身份...

【专利技术属性】
技术研发人员:胡建国洪佳欣王鲸寓凌森丁颜玉
申请(专利权)人:广州智慧城市发展研究院中山大学
类型:发明
国别省市:广东,44

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

1