智能卡安全防护方法及装置制造方法及图纸

技术编号:15438001 阅读:78 留言:0更新日期:2017-05-26 03:59
一种智能卡安全防护方法及装置,所述方法包括:接收访问智能卡数据区的指令;在对访问指令进行处理时,实时检测所述访问指令对应的目标数据是否处于目标数据区间内;当检测到所述访问指令对应的目标数据处于目标数据区间外时,判定所述智能卡受到攻击。采用所述方法及装置,可以有效降低智能卡的安全隐患。

Safety protection method and device for smart card

A smart card device and safety protection method, the method comprises: receiving access to the smart card data area command; to access instructions, whether the target data real-time detection of the access instructions corresponding to the target in the data range; when detecting the access instruction target data corresponding to the target data in the interval when determining that the smart card is under attack. By adopting the method and the device, the hidden danger of the smart card can be effectively reduced.

【技术实现步骤摘要】
智能卡安全防护方法及装置
本专利技术涉及智能卡
,尤其涉及一种智能卡安全防护方法及装置。
技术介绍
智能卡技术由于其良好的可靠性和便携性,在金融、交通、医疗、教育等各领域得到日趋广泛的应用。在智能卡的应用场景日趋复杂的今天,各类信息攻击技术也在同步发展,因此其安全性的需求也日益得到重视。Java智能卡以其支持后下载,多应用,跨平台的特性在各类环境下得到广泛使用和推广。随之而来的是,诸如恶意代码植入等软件攻击技术通过后下载的应用程序窥探Java智能卡的漏洞并进行数据篡改和破坏,已引起学术界和工业界的广泛研究。传统的Java智能卡,利用线下的字节码验证器(ByteCodeVerifier,BCV)对即将烧录到卡上的应用程序文件进行安全性检查,若检查通过则允许应用程序文件烧录到卡上,否则给出报警信息。然而,上述方法无法对Java智能卡在出厂后安装的应用程序文件进行安全性检查,导致Java智能卡存在安全隐患。
技术实现思路
本专利技术实施例解决的问题是如何降低Java智能卡的安全隐患。为解决上述问题,本专利技术实施例提供一种智能卡安全防护方法,包括:接收访问智能卡数据区的指令;在对访问指令进行处理时,实时检测所述访问指令对应的目标数据是否处于目标数据区间内;当检测到所述访问指令对应的目标数据处于目标数据区间外时,判定所述智能卡受到攻击。可选的,所述智能卡安全防护方法还包括:实时获取所述访问指令涉及的数据类型,以及所述访问指令指向的目标数据的数据类型;检测所述访问指令涉及的数据类型与所述目标数据的数据类型是否相同;当检测到所述访问指令涉及的数据类型与所述目标数据的数据类型不同时,判定所述智能卡受到攻击。可选的,在判定所述智能卡受到攻击后,还包括以下至少一种:发送报警信息;终止访问操作。可选的,所述智能卡数据区包括以下至少一种:栈数据区、静态变量数据区以及对象字段数据区。可选的,当所述访问指令为对所述栈数据区进行访问时,所述实时获取所述访问指令涉及的数据类型,包括:解析所述访问指令,获取所述访问指令携带的操作码和操作数,并获取所述操作码中包含的数据类型信息;所述获取所述访问指令指向的目标数据的数据类型,包括:获取所述操作数对应的栈数据区中的目标数据的数据类型。可选的,所述实时检测所述访问指令对应的目标数据是否处于预设范围内,包括:实时检测所述访问指令对应的目标数据是否处于所述栈数据区的预设范围内。可选的,所述实时检测所述访问指令对应的目标数据是否处于所述栈数据区的预设范围内,包括:当所述访问指令对应的操作包括压栈操作或弹栈操作时,实时获取与所述访问指令操作相关的数据单元的位置,检测所述数据单元的位置是否处于当前函数帧的操作数栈的上下边界;当函数调用产生新的函数帧时,检测存放函数特征信息的栈顶是否超出新函数帧的操作数栈上边界;当函数调用返回时,检测所述访问指令对应的栈顶信息弹出时是否超出整个栈的上边界。可选的,当所述访问指令为对静态变量数据区进行访问的指令时,所述实时检测所述访问指令对应的目标数据是否处于预设范围内,包括:解析所述访问指令,获取所述访问指令携带的操作码和操作数,并获取所述操作码中包含的数据类型信息;获取所述访问指令对应的目标数据包的静态镜像信息;根据所述静态镜像信息,检测所述操作数对应的静态数据地址是否处于所述静态镜像信息对应的数据区间内。可选的,所述检测所述访问指令涉及的数据类型与所述目标数据类型是否相同,包括:当所述操作数对应的静态数据为引用类型时,检测所述静态数据是否处于所述静态镜像信息对应的引用数据区间内;当所述操作数对应的静态数据为基本数据类型时,检测所述静态数据是否处于所述静态镜像信息对应的基本类型数据区间内。可选的,当所述访问指令为对所述对象字段数据区进行访问的指令时,所述检测所述访问指令涉及的数据类型与所述目标数据的数据类型是否相同,包括:解析所述访问指令,获取所述访问指令携带的操作码和操作数,并获取所述操作码中包含的数据类型信息;获取所述访问指令指向的对象的类信息;根据所述类信息获取所述对应的继承结构信息,以获取所述目标对象每层类结构中的引用类型数据以及基本类型数据;根据所述操作数以及所述操作码中包含的数据类型信息,遍历每次类结构;当所述操作码中包含的数据类型信息为引用类型时,检测所述目标数据是否处于引用类型数据区间;当所述操作码中包含的数据类型信息为基本数据类型时,检测所述目标数据是否处于基本数据类型区间。可选的,所述实时检测所述访问指令对应的目标数据是否处于预设范围内,包括:实时检测所述目标数据是否处于所述访问指令对应的对象的数据区间内。本专利技术实施例还提供了一种智能卡安全防护装置,包括:接收单元,用于接收访问智能卡数据区的指令;边界检测单元,用于对在对访问指令进行处理时,实时检测所述访问指令对应的目标数据是否处于目标数据区间内;判断单元,用于当检测到所述访问指令对应的目标数据处于目标数据区间外时,判定所述智能卡受到攻击。可选的,所述智能卡安全防护装置还包括:类型检测单元,用于获取所述访问指令涉及的数据类型,以及所述访问指令指向的目标数据的数据类型,并检测所述访问指令涉及的数据类型与所述目标数据的数据类型是否相同;所述判断单元还用于:当检测到所述访问指令涉及的数据类型与所述目标数据的数据类型不同时,判定所述智能卡受到攻击。可选的,所述智能卡安全防护装置还包括:安全控制单元,用于在所述判断单元判定所述智能卡受到攻击后,发送报警信息,终止访问操作。可选的,所述智能卡数据区包括以下至少一种:栈数据区、静态变量数据区以及对象字段数据区。可选的,当所述访问指令为对所述栈数据区进行访问时,所述类型检测单元用于:解析所述访问指令,获取所述访问指令携带的操作码和操作数,并获取所述操作码中包含的数据类型信息;以及获取所述操作数对应的栈数据区中的目标数据的数据类型。可选的,所述边界检测单元用于:实时检测所述访问指令对应的目标数据是否处于所述栈数据区的预设范围内。可选的,所述边界检测单元用于:当所述访问指令对应的操作包括压栈操作或弹栈操作时,实时获取与所述访问指令操作相关的数据单元的位置,检测所述数据单元的位置是否处于当前函数帧的操作数栈的上下边界;当函数调用产生新的函数帧时,检测存放函数特征信息的栈顶是否超出新函数帧的操作数栈上边界;当函数调用返回时,检测所述访问指令对应的栈顶信息弹出时是否超出整个栈的上边界。可选的,当所述访问指令为对静态变量数据区进行访问的指令时,所述边界检测单元用于:解析所述访问指令,获取所述访问指令携带的操作码和操作数,并获取所述操作码中包含的数据类型信息;获取所述访问指令对应的目标数据包的静态镜像信息;根据所述静态镜像信息,检测所述操作数对应的静态数据地址是否处于所述静态镜像信息对应的数据区间内。可选的,所述类型检测单元用于:当所述操作数对应的静态数据为引用类型时,检测所述静态数据是否处于所述静态镜像信息对应的引用数据区间内;当所述操作数对应的静态数据为基本数据类型时,检测所述静态数据是否处于所述静态镜像信息对应的基本类型数据区间内。可选的,当所述访问指令为对所述对象字段数据区进行访问的指令时,所述类型检测单元用于:解析所述访问指令,获取本文档来自技高网...
智能卡安全防护方法及装置

【技术保护点】
一种智能卡安全防护方法,其特征在于,包括:接收访问智能卡数据区的指令;在对访问指令进行处理时,实时检测所述访问指令对应的目标数据是否处于目标数据区间内;当检测到所述访问指令对应的目标数据处于目标数据区间外时,判定所述智能卡受到攻击。

【技术特征摘要】
1.一种智能卡安全防护方法,其特征在于,包括:接收访问智能卡数据区的指令;在对访问指令进行处理时,实时检测所述访问指令对应的目标数据是否处于目标数据区间内;当检测到所述访问指令对应的目标数据处于目标数据区间外时,判定所述智能卡受到攻击。2.如权利要求1所述的智能卡安全防护方法,其特征在于,还包括:实时获取所述访问指令涉及的数据类型,以及所述访问指令指向的目标数据的数据类型;检测所述访问指令涉及的数据类型与所述目标数据的数据类型是否相同;当检测到所述访问指令涉及的数据类型与所述目标数据的数据类型不同时,判定所述智能卡受到攻击。3.如权利要求1或2所述的智能卡安全防护方法,其特征在于,在判定所述智能卡受到攻击后,还包括以下至少一种:发送报警信息;终止访问操作。4.如权利要求2所述的智能卡安全防护方法,其特征在于,所述智能卡数据区包括以下至少一种:栈数据区、静态变量数据区以及对象字段数据区。5.如权利要求4所述的智能卡安全防护方法,其特征在于,当所述访问指令为对所述栈数据区进行访问时,所述实时获取所述访问指令涉及的数据类型,包括:解析所述访问指令,获取所述访问指令携带的操作码和操作数,并获取所述操作码中包含的数据类型信息;所述获取所述访问指令指向的目标数据的数据类型,包括:获取所述操作数对应的栈数据区中的目标数据的数据类型。6.如权利要求5所述的智能卡安全防护方法,其特征在于,所述实时检测所述访问指令对应的目标数据是否处于预设范围内,包括:实时检测所述访问指令对应的目标数据是否处于所述栈数据区的预设范围内。7.如权利要求6所述的智能卡安全防护方法,其特征在于,所述实时检测所述访问指令对应的目标数据是否处于所述栈数据区的预设范围内,包括:当所述访问指令对应的操作包括压栈操作或弹栈操作时,实时获取与所述访问指令操作相关的数据单元的位置,检测所述数据单元的位置是否处于当前函数帧的操作数栈的上下边界;当函数调用产生新的函数帧时,检测存放函数特征信息的栈顶是否超出新函数帧的操作数栈上边界;当函数调用返回时,检测所述访问指令对应的栈顶信息弹出时是否超出整个栈的上边界。8.如权利要求4所述的智能卡安全防护方法,其特征在于,当所述访问指令为对静态变量数据区进行访问的指令时,所述实时检测所述访问指令对应的目标数据是否处于预设范围内,包括:解析所述访问指令,获取所述访问指令携带的操作码和操作数,并获取所述操作码中包含的数据类型信息;获取所述访问指令对应的目标数据包的静态镜像信息;根据所述静态镜像信息,检测所述操作数对应的静态数据地址是否处于所述静态镜像信息对应的数据区间内。9.如权利要求8所述的智能卡安全防护方法,其特征在于,所述检测所述访问指令涉及的数据类型与所述目标数据类型是否相同,包括:当所述操作数对应的静态数据为引用类型时,检测所述静态数据是否处于所述静态镜像信息对应的引用数据区间内;当所述操作数对应的静态数据为基本数据类型时,检测所述静态数据是否处于所述静态镜像信息对应的基本类型数据区间内。10.如权利要求4所述的智能卡安全防护方法,其特征在于,当所述访问指令为对所述对象字段数据区进行访问的指令时,所述检测所述访问指令涉及的数据类型与所述目标数据的数据类型是否相同,包括:解析所述访问指令,获取所述访问指令携带的操作码和操作数,并获取所述操作码中包含的数据类型信息;获取所述访问指令指向的对象的类信息;根据所述类信息获取所述对应的继承结构信息,以获取所述目标对象每层类结构中的引用类型数据以及基本类型数据;根据所述操作数以及所述操作码中包含的数据类型信息,遍历每次类结构;当所述操作码中包含的数据类型信息为引用类型时,检测所述目标数据是否处于引用类型数据区间;当所述操作码中包含的数据类型信息为基本数据类型时,检测所述目标数据是否处于基本数据类型区间。11.如权利要求10所述的智能卡安全防护方法,其特征在于,所述实时检测所述访问指...

【专利技术属性】
技术研发人员:邬佳希陆继承王冬格廖鹏楼安琪阚宏进
申请(专利权)人:上海复旦微电子集团股份有限公司
类型:发明
国别省市:上海,31

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

1