一种基于倒排技术的智能安全芯片的指令分发方法和系统的制作方法

文档序号:9844043阅读:421来源:国知局
一种基于倒排技术的智能安全芯片的指令分发方法和系统的制作方法
【技术领域】
[0001]本发明涉及通信领域指令分发技术领域,具体地,涉及一种基于倒排技术的智能安全芯片的指令分发方法和系统。
【背景技术】
[0002]在智能安全芯片尚未大规模使用之前,在相关领域被大量使用的产品主要有各种接口的存储卡、接口芯片、磁条卡。这些产品不具备对访问者的识别能力,存储数据不安全,易被伪造复制,访问者通过公开的协议可直接读取里面的数据。
[0003]在智能安全芯片行业兴起后,传统的产品渐渐被取代,目前智能安全芯片被广泛应用到了电信、银行、电力等领域,用于数据的安全存储、身份识别、安全控制等方面。智能安全芯片中包含了 CPU、存储器、安全协处理器,其产品形态包括卡片、嵌入式模块、USB设备等,对外提供的唯一接口可以是符合7816协议的接口、USB从接口、SPI接口、符合14443协议的感应接口中的一种。访问者通过接口进行应用层的指令流交互进行数据和控制的交换,指令流符合约定的传输协议。指令通常包含指令类型、指令字、参数、属性、数据域等部分组成,智能安全芯片接收指令时,进行轮询判别,确定指令是否支持,然后进行相应的解析执行。当智能安全芯片进行功能扩展时,需要对轮询机进行修改。
[0004]目前智能安全芯片领域的指令分发多采用指令轮询方式,指令分发的时间与指令被轮询到的顺序相关,对于指令数目多的系统,最后被轮询到的指令分发时间长。对于实时性要求较高、时间敏感度较高的应用,如部分电表、终端,这种时间开销会导致指令响应失败。
[0005]现有技术通过指令轮询方式的分发,指令分发时间与轮询顺序线性相关,最先被轮询到的指令分发时间短,最后被轮询到的指令分发时间最长,这种差异性不仅带来了较多的时间开销,也会带来通过分析指令分发时间差异进行攻击的隐患,降低了安全性。
[0006]现有技术在指令分发时,往往需要为每条指令的分发维护一个例程,包含了条件的判别、针对不同属性的处理、指令跳转。当智能安全芯片的指令扩展或删减时,需要增加或删除例程,而例程之间的相关性带来了维护工作的复杂,同时这些例程组成的轮询机制也比较繁冗。

【发明内容】

[0007]为了解决现有技术中存在的指令分发时间开销大、安全性差的问题,本发明提出了一种基于倒排技术的智能安全芯片的指令分发方法和系统。
[0008]根据本发明的基于倒排技术的智能安全芯片的指令分发方法,包括:
[0009]建立包含指令分发所需要的基本信息的指令记录;
[0010]根据不同的芯片类型,为每种芯片类型的指令记录分配对应的唯一偏移地址;
[0011]建立包含指令字和所述唯一偏移地址的指令倒排表,所述指令字对应多个唯一偏移地址,所述唯一偏移地址的个数与芯片类型数相同;
[0012]自终端设备接收指令,根据所述指令的指令字和芯片类型确定对应的指令记录;
[0013]根据所述指令的指令数据域标志和对应的指令记录,判断是否需要接收所述指令的数据域,如果是,则接收所述指令数据域,如果否,则跳过此步。
[0014]本发明的基于倒排技术的智能安全芯片的指令分发方法,对接收指令后的分发机制进行特别设计,进行指令的倒排查找、解析、跳转、返回,使得维护简单,指令分发的速度和安全性得以提高。解决了现有的指令分发过程中,轮询模式带来的分发时间不固定,开销大的问题。采用倒排技术,通过指令字、指令类型、指令属性等关键字查找指令记录,对于任意来自终端设备的指令请求,在相同的常数时间内快速完成指令分发,并根据指令记录进行指令跳转执行。通过设计指令记录和记录容器,吸取了构件化设计的优点,将指令的增删转化为对指令容器中指令记录的增加和删减,不需要修改指令分发器,便于系统维护。既满足了分发的需求,也有效防止了通过分析指令分发时间进行的攻击。
[0015]根据本发明的基于倒排技术的智能安全芯片的指令分发系统,包括:
[0016]记录建立模块,用于建立包含指令分发所需要的基本信息的指令记录;
[0017]地址分配模块,用于根据不同的芯片类型,为每种芯片类型的指令记录分配对应的唯一偏移地址;
[0018]倒排表建立模块,用于建立包含指令字和所述唯一偏移地址的指令倒排表,所述指令字对应多个唯一偏移地址,所述唯一偏移地址的个数与芯片类型数相同;
[0019]记录定位模块,用于自终端设备接收指令,根据所述指令的指令字和芯片类型确定对应的指令记录;
[0020]接收判断模块,用于根据所述指令的指令数据域标志和对应的指令记录,判断是否需要接收所述指令的数据域,如果是,则接收所述指令数据域,如果否,则跳过此步。
[0021]本发明的基于倒排技术的智能安全芯片的指令分发系统,对接收指令后的分发机制进行特别设计,进行指令的倒排查找、解析、跳转、返回,使得维护简单,指令分发的速度和安全性得以提高。解决了现有的指令分发过程中,轮询模式带来的分发时间不固定,开销大的问题。采用倒排技术,通过指令字、指令类型、指令属性等关键字查找指令记录,对于任意来自终端设备的指令请求,在相同的常数时间内快速完成指令分发,并根据指令记录进行指令跳转执行。通过设计指令记录和记录容器,吸取了构件化设计的优点,将指令的增删转化为对指令容器中指令记录的增加和删减,不需要修改指令分发器,便于系统维护。既满足了分发的需求,也有效防止了通过分析指令分发时间进行的攻击。
[0022]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0023]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【附图说明】
[0024]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0025]图1为本发明实施例的方法工作流程;
[0026]图2为本发明实施例的指令记录容器实例化示意图;
[0027]图3为本发明实施例的指令字与指令记录对应示意图;
[0028]图4为本发明实施例的系统结构示意图。
【具体实施方式】
[0029]下面结合附图,对本发明的【具体实施方式】进行详细描述,但应当理解本发明的保护范围并不受【具体实施方式】的限制。
[0030]为了解决现有技术中存在的指令分发时间开销大、安全性差的问题,本发明提出了一种基于倒排技术的智能安全芯片的指令分发方法和系统。
[0031]智能安全芯片与终端设备进行通信时,通过APDU命令进行信息交换,命令进入智能安全芯片时首先通过指令分发器,将指令分发到相应应用的功能模式完成指令的解析执行并返回。即接收到指令后,根据指令中的指令字和倒排表中唯一表征指令记录的偏移地址,确定相应的指令记录,然后分发到相应的功能模式进行执行。
[0032]如图1所示,该方法包括:
[0033]步骤SlOl:建立包含指令分发所需要的基本信息的指令记录;
[0034]具体的,根据终端设备与智能安全芯片的指令交换协议,设计满足指令分发的指令记录。指令记录包含了指令分发所需要的基本信息:芯片类型、应用类型、指令锁定标志、指令属性、指令类型、指令字、指令数据域标志、指令函数指针等信息。
[0035]Chip:芯片类型,智能安全芯片的功能类型,如“O”表示用户卡、“I”表示嵌入式模块、“2”表TK母卡等;
[0036]App:应用类型,智能安全芯片的应用类型,用于区分多应用芯片,如“O”表示电力、“I”表示金融、“2”表示电动汽车等;
[0037]A_lock:指令锁定标志,表示该指令是否由于特定原因被锁定,如“O”表示未锁定、“I”表示已锁定;
[0038]A_att:指令属性,表示该指令适用的智能安全芯片的生命周期阶段,如“O”表示出厂正式态指令、“I”表示出厂前开发者调试指令、“2”表示出厂测试态指令;
[0039]A_cla:指令类型,表示该指令所属的传输类型,如“0x00”和“0x80”表示明文传的指令、“ 0x04 ”和“ 0x84 ”表示带保护的指令传输;
[0040]A_ins:指令字,用于唯一识别一条指令的关键字,长度为一个字节,表示范围为16 进制的 “0x00”- “OxFF”,共 256 个值;
[0041]A_data:指令数据域标志,用于标识指令流数据域是否为空,如“O”表示该指令只有固定长度的命令头、“I”表示该指令包含一定长度的数据体;
[0042]Func:指令函数指针,表示指令的执行入口 ;
[0043]步骤S102:根据不同的芯片类型,为每种芯片类型的指令记录分配对应的唯一偏移地址;具体的,生成指令记录容器,为所述指令记录的每个基本信息分配空间;将所述指令记录容器存储到本地;获取指令记录在所述指令记录容器中的唯一偏移地址。
[0044]指令记录容器包含了根据指令记录格式实例化的全部指令记录实例,包括:对记录的每个属性分配空间,为容器分配空间,容器中的记录长度相同;将指令记录容器下载到智能安全芯片的受保护的安全存储区;获取指令记录在容器中的唯一偏移地址,作为指令跳转的依据。如图2所示为指令记录容器实例化示意图。
[0045]步骤S103:建立包含指令字和所述唯一偏移地址的指令倒排表,所述指令字对应多个唯一偏移地址,所述唯一偏移地址的个数与芯片类型数相同;
[0046]每个指令字对应多个唯一的偏移地址,偏移地址的个数与芯片类型的个数相同,每种芯片类型的指令记录具有对应的唯一偏移地址。
[0047]指令倒排表,是一种通过指令字在指令记录容器中反向查找
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1