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

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

Info

Publication number
CN105608022B
CN105608022B CN201410691480.0A CN201410691480A CN105608022B CN 105608022 B CN105608022 B CN 105608022B CN 201410691480 A CN201410691480 A CN 201410691480A CN 105608022 B CN105608022 B CN 105608022B
Authority
CN
China
Prior art keywords
instruction
record
distribution
chip
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410691480.0A
Other languages
English (en)
Other versions
CN105608022A (zh
Inventor
赖宇阳
张明明
赵云
钱斌
林伟斌
张乐平
胡珊珊
陈华军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China South Power Grid International Co ltd
Original Assignee
China South Power Grid International Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China South Power Grid International Co ltd filed Critical China South Power Grid International Co ltd
Priority to CN201410691480.0A priority Critical patent/CN105608022B/zh
Publication of CN105608022A publication Critical patent/CN105608022A/zh
Application granted granted Critical
Publication of CN105608022B publication Critical patent/CN105608022B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于倒排技术的智能安全芯片的指令分发方法和系统,其中,该方法包括:建立包含指令分发所需要的基本信息的指令记录;根据不同的芯片类型,为每种芯片类型的指令记录分配对应的唯一偏移地址;建立包含指令字和所述唯一偏移地址的指令倒排表,所述指令字对应多个唯一偏移地址,所述唯一偏移地址的个数与芯片类型数相同;自终端设备接收指令,根据所述指令的指令字和芯片类型确定对应的指令记录;根据所述指令的指令数据域标志和对应的指令记录,判断是否需要接收所述指令的数据域,如果是,则接收所述指令数据域,如果否,则跳过此步。

Description

一种基于倒排技术的智能安全芯片的指令分发方法和系统
技术领域
本发明涉及通信领域指令分发技术领域,具体地,涉及一种基于倒排技术的智能安全芯片的指令分发方法和系统。
背景技术
在智能安全芯片尚未大规模使用之前,在相关领域被大量使用的产品主要有各种接口的存储卡、接口芯片、磁条卡。这些产品不具备对访问者的识别能力,存储数据不安全,易被伪造复制,访问者通过公开的协议可直接读取里面的数据。
在智能安全芯片行业兴起后,传统的产品渐渐被取代,目前智能安全芯片被广泛应用到了电信、银行、电力等领域,用于数据的安全存储、身份识别、安全控制等方面。智能安全芯片中包含了CPU、存储器、安全协处理器,其产品形态包括卡片、嵌入式模块、USB设备等,对外提供的唯一接口可以是符合7816协议的接口、USB从接口、SPI接口、符合14443协议的感应接口中的一种。访问者通过接口进行应用层的指令流交互进行数据和控制的交换,指令流符合约定的传输协议。指令通常包含指令类型、指令字、参数、属性、数据域等部分组成,智能安全芯片接收指令时,进行轮询判别,确定指令是否支持,然后进行相应的解析执行。当智能安全芯片进行功能扩展时,需要对轮询机进行修改。
目前智能安全芯片领域的指令分发多采用指令轮询方式,指令分发的时间与指令被轮询到的顺序相关,对于指令数目多的系统,最后被轮询到的指令分发时间长。对于实时性要求较高、时间敏感度较高的应用,如部分电表、终端,这种时间开销会导致指令响应失败。
现有技术通过指令轮询方式的分发,指令分发时间与轮询顺序线性相关,最先被轮询到的指令分发时间短,最后被轮询到的指令分发时间最长,这种差异性不仅带来了较多的时间开销,也会带来通过分析指令分发时间差异进行攻击的隐患,降低了安全性。
现有技术在指令分发时,往往需要为每条指令的分发维护一个例程,包含了条件的判别、针对不同属性的处理、指令跳转。当智能安全芯片的指令扩展或删减时,需要增加或删除例程,而例程之间的相关性带来了维护工作的复杂,同时这些例程组成的轮询机制也比较繁冗。
发明内容
为了解决现有技术中存在的指令分发时间开销大、安全性差的问题,本发明提出了一种基于倒排技术的智能安全芯片的指令分发方法和系统。
根据本发明的基于倒排技术的智能安全芯片的指令分发方法,包括:
建立包含指令分发所需要的基本信息的指令记录;
根据不同的芯片类型,为每种芯片类型的指令记录分配对应的唯一偏移地址;
建立包含指令字和所述唯一偏移地址的指令倒排表,所述指令字对应多个唯一偏移地址,所述唯一偏移地址的个数与芯片类型数相同;
自终端设备接收指令,根据所述指令的指令字和芯片类型确定对应的指令记录;
根据所述指令的指令数据域标志和对应的指令记录,判断是否需要接收所述指令的数据域,如果是,则接收所述指令数据域,如果否,则跳过此步。
本发明的基于倒排技术的智能安全芯片的指令分发方法,对接收指令后的分发机制进行特别设计,进行指令的倒排查找、解析、跳转、返回,使得维护简单,指令分发的速度和安全性得以提高。解决了现有的指令分发过程中,轮询模式带来的分发时间不固定,开销大的问题。采用倒排技术,通过指令字、指令类型、指令属性等关键字查找指令记录,对于任意来自终端设备的指令请求,在相同的常数时间内快速完成指令分发,并根据指令记录进行指令跳转执行。通过设计指令记录和记录容器,吸取了构件化设计的优点,将指令的增删转化为对指令容器中指令记录的增加和删减,不需要修改指令分发器,便于系统维护。既满足了分发的需求,也有效防止了通过分析指令分发时间进行的攻击。
根据本发明的基于倒排技术的智能安全芯片的指令分发系统,包括:
记录建立模块,用于建立包含指令分发所需要的基本信息的指令记录;
地址分配模块,用于根据不同的芯片类型,为每种芯片类型的指令记录分配对应的唯一偏移地址;
倒排表建立模块,用于建立包含指令字和所述唯一偏移地址的指令倒排表,所述指令字对应多个唯一偏移地址,所述唯一偏移地址的个数与芯片类型数相同;
记录定位模块,用于自终端设备接收指令,根据所述指令的指令字和芯片类型确定对应的指令记录;
接收判断模块,用于根据所述指令的指令数据域标志和对应的指令记录,判断是否需要接收所述指令的数据域,如果是,则接收所述指令数据域,如果否,则跳过此步。
本发明的基于倒排技术的智能安全芯片的指令分发系统,对接收指令后的分发机制进行特别设计,进行指令的倒排查找、解析、跳转、返回,使得维护简单,指令分发的速度和安全性得以提高。解决了现有的指令分发过程中,轮询模式带来的分发时间不固定,开销大的问题。采用倒排技术,通过指令字、指令类型、指令属性等关键字查找指令记录,对于任意来自终端设备的指令请求,在相同的常数时间内快速完成指令分发,并根据指令记录进行指令跳转执行。通过设计指令记录和记录容器,吸取了构件化设计的优点,将指令的增删转化为对指令容器中指令记录的增加和删减,不需要修改指令分发器,便于系统维护。既满足了分发的需求,也有效防止了通过分析指令分发时间进行的攻击。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例的方法工作流程;
图2为本发明实施例的指令记录容器实例化示意图;
图3为本发明实施例的指令字与指令记录对应示意图;
图4为本发明实施例的系统结构示意图。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
为了解决现有技术中存在的指令分发时间开销大、安全性差的问题,本发明提出了一种基于倒排技术的智能安全芯片的指令分发方法和系统。
智能安全芯片与终端设备进行通信时,通过APDU命令进行信息交换,命令进入智能安全芯片时首先通过指令分发器,将指令分发到相应应用的功能模式完成指令的解析执行并返回。即接收到指令后,根据指令中的指令字和倒排表中唯一表征指令记录的偏移地址,确定相应的指令记录,然后分发到相应的功能模式进行执行。
如图1所示,该方法包括:
步骤S101:建立包含指令分发所需要的基本信息的指令记录;
具体的,根据终端设备与智能安全芯片的指令交换协议,设计满足指令分发的指令记录。指令记录包含了指令分发所需要的基本信息:芯片类型、应用类型、指令锁定标志、指令属性、指令类型、指令字、指令数据域标志、指令函数指针等信息。
Chip:芯片类型,智能安全芯片的功能类型,如“0”表示用户卡、“1”表示嵌入式模块、“2”表示母卡等;
App:应用类型,智能安全芯片的应用类型,用于区分多应用芯片,如“0”表示电力、“1”表示金融、“2”表示电动汽车等;
A_lock:指令锁定标志,表示该指令是否由于特定原因被锁定,如“0”表示未锁定、“1”表示已锁定;
A_att:指令属性,表示该指令适用的智能安全芯片的生命周期阶段,如“0”表示出厂正式态指令、“1”表示出厂前开发者调试指令、“2”表示出厂测试态指令;
A_cla:指令类型,表示该指令所属的传输类型,如“0x00”和“0x80”表示明文传的指令、“0x04”和“0x84”表示带保护的指令传输;
A_ins:指令字,用于唯一识别一条指令的关键字,长度为一个字节,表示范围为16进制的“0x00”-“0xFF”,共256个值;
A_data:指令数据域标志,用于标识指令流数据域是否为空,如“0”表示该指令只有固定长度的命令头、“1”表示该指令包含一定长度的数据体;
Func:指令函数指针,表示指令的执行入口;
步骤S102:根据不同的芯片类型,为每种芯片类型的指令记录分配对应的唯一偏移地址;具体的,生成指令记录容器,为所述指令记录的每个基本信息分配空间;将所述指令记录容器存储到本地;获取指令记录在所述指令记录容器中的唯一偏移地址。
指令记录容器包含了根据指令记录格式实例化的全部指令记录实例,包括:对记录的每个属性分配空间,为容器分配空间,容器中的记录长度相同;将指令记录容器下载到智能安全芯片的受保护的安全存储区;获取指令记录在容器中的唯一偏移地址,作为指令跳转的依据。如图2所示为指令记录容器实例化示意图。
步骤S103:建立包含指令字和所述唯一偏移地址的指令倒排表,所述指令字对应多个唯一偏移地址,所述唯一偏移地址的个数与芯片类型数相同;
每个指令字对应多个唯一的偏移地址,偏移地址的个数与芯片类型的个数相同,每种芯片类型的指令记录具有对应的唯一偏移地址。
指令倒排表,是一种通过指令字在指令记录容器中反向查找指令记录的数据结构。指令字,长度为1字节,其范围为“0x00”~“0xFF”,共256个值;在倒排表中只记录2上述的唯一偏移地址。
建立指令字与指令记录之间的对应关系,指令字具有唯一性,每个指令字对应的指令记录数与支持的芯片类型数相同;针对不同的应用类型设计不同的倒排表,下载到芯片的受保护存储区,在智能安全芯片与不同的应用设备连接时,加载相对应的倒排表。如图3所示为指令字与指令记录对应示意图。
步骤S104:自终端设备接收指令,根据所述指令的指令字和芯片类型确定对应的指令记录;
具体的,智能安全芯片上电工作时,根据与智能安全芯片相连的终端的应用类型,加载对应的倒排表;接收来自终端设备的指令,根据指令头中的指令字和芯片类型在倒排表中唯一定位指令记录。
步骤S105:根据所述指令的指令数据域标志和对应的指令记录,判断是否需要接收所述指令的数据域,如果是,则接收所述指令数据域,如果否,则跳过此步;
具体的,根据A_data标志判断是否需要接收数据域,如果是,则接收数据域,完成指令接收;如果否,则跳过此步。
步骤S106:如果在步骤S105中,接收所述指令数据域,则判断所述指令是否允许被分发,如果是,则进行指令跳转和执行,并返回执行结果;如果否,则返回错误信息。
具体的,根据指令中的其他字节是否与指令记录的A_lock、A_type、A_cla等属性是否匹配,判别指令是否允许被分发,如果允许分发则,根据确定的指令记录的唯一偏移地址和指令记录容器的地址,进行指令跳转、执行,并返回执行结果;如果禁止分发,则返回错误信息。
本发明的基于倒排技术的智能安全芯片的指令分发方法,对接收指令后的分发机制进行特别设计,进行指令的倒排查找、解析、跳转、返回,使得维护简单,指令分发的速度和安全性得以提高。解决了现有的指令分发过程中,轮询模式带来的分发时间不固定,开销大的问题。采用倒排技术,通过指令字、指令类型、指令属性等关键字查找指令记录,对于任意来自终端设备的指令请求,在相同的常数时间内快速完成指令分发,并根据指令记录进行指令跳转执行。通过设计指令记录和记录容器,吸取了构件化设计的优点,将指令的增删转化为对指令容器中指令记录的增加和删减,不需要修改指令分发器,便于系统维护。既满足了分发的需求,也有效防止了通过分析指令分发时间进行的攻击。
如图4所示,本发明的基于倒排技术的智能安全芯片的指令分发系统包括:
记录建立模块10,用于建立包含指令分发所需要的基本信息的指令记录;
地址分配模块20,用于根据不同的芯片类型,为每种芯片类型的指令记录分配对应的唯一偏移地址;
倒排表建立模块30,用于建立包含指令字和所述唯一偏移地址的指令倒排表,所述指令字对应多个唯一偏移地址,所述唯一偏移地址的个数与芯片类型数相同;
记录定位模块40,用于自终端设备接收指令,根据所述指令的指令字和芯片类型确定对应的指令记录;
接收判断模块50,用于根据所述指令的指令数据域标志和对应的指令记录,判断是否需要接收所述指令的数据域,如果是,则接收所述指令数据域,如果否,则跳过此步。
分发判断模块60,用于在接收所述指令数据域后,判断所述指令是否允许被分发,如果是,则进行指令跳转和执行,并返回执行结果;如果否,则返回错误信息。
在上述技术方案中,所述指令分发所需要的基本信息包括:芯片类型、应用类型、指令锁定标志、指令属性、指令类型、指令字、指令函数指针。
在上述技术方案中,所述倒排表建立模块30包括:
分配子模块301,用于生成指令记录容器,为所述指令记录的每个基本信息分配空间;
存储子模块302,用于将所述指令记录容器存储到本地;
获取子模块303,用于获取指令记录在所述指令记录容器中的唯一偏移地址。
在上述技术方案中,所述指令字长度为1字节,范围为16进制0x00-0xFF,共256个值。
本发明的基于倒排技术的智能安全芯片的指令分发系统,对接收指令后的分发机制进行特别设计,进行指令的倒排查找、解析、跳转、返回,使得维护简单,指令分发的速度和安全性得以提高。解决了现有的指令分发过程中,轮询模式带来的分发时间不固定,开销大的问题。采用倒排技术,通过指令字、指令类型、指令属性等关键字查找指令记录,对于任意来自终端设备的指令请求,在相同的常数时间内快速完成指令分发,并根据指令记录进行指令跳转执行。通过设计指令记录和记录容器,吸取了构件化设计的优点,将指令的增删转化为对指令容器中指令记录的增加和删减,不需要修改指令分发器,便于系统维护。既满足了分发的需求,也有效防止了通过分析指令分发时间进行的攻击。
本发明能有多种不同形式的具体实施方式,上面以图1-图4附图对本发明的技术方案作举例说明,这并不意味着本发明所应用的具体实例只能局限在特定的流程或实施例结构中,本领域的普通技术人员应当了解,上文所提供的具体实施方案只是多种优选用法中的一些示例,任何体现本发明权利要求的实施方式均应在本发明技术方案所要求保护的范围之内。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于倒排技术的智能安全芯片的指令分发方法,其特征在于,包括:
建立包含指令分发所需要的基本信息的指令记录;
根据不同的芯片类型,为每种芯片类型的指令记录分配对应的唯一偏移地址;
建立包含指令字和所述唯一偏移地址的指令倒排表,所述指令字对应多个唯一偏移地址,所述唯一偏移地址的个数与芯片类型数相同;
自终端设备接收指令,根据所述指令的指令字和芯片类型确定对应的指令记录;
根据所述指令的指令数据域标志和对应的指令记录,判断是否需要接收所述指令的数据域,如果是,则接收所述指令数据域,如果否,则跳过此步;
所述根据不同的芯片类型,为每种芯片类型的指令记录分配对应的唯一偏移地址的步骤包括:
生成指令记录容器,为所述指令记录的每个基本信息分配空间;
将所述指令记录容器存储到本地;
获取指令记录在所述指令记录容器中的唯一偏移地址。
2.根据权利要求1所述的方法,其特征在于,在接收所述指令数据域后,判断所述指令是否允许被分发,如果是,则进行指令跳转和执行,并返回执行结果;如果否,则返回错误信息。
3.根据权利要求1或2所述的方法,其特征在于,所述指令分发所需要的基本信息包括:芯片类型、应用类型、指令锁定标志、指令属性、指令类型、指令字、指令数据域标志、指令函数指针,所述指令属性表示指令适用的智能安全芯片的生命周期阶段。
4.根据权利要求1所述的方法,其特征在于,所述指令字长度为1字节,范围为16进制0x00-0xFF,共256个值。
5.一种基于倒排技术的智能安全芯片的指令分发系统,其特征在于,包括:
记录建立模块,用于建立包含指令分发所需要的基本信息的指令记录;
地址分配模块,用于根据不同的芯片类型,为每种芯片类型的指令记录分配对应的唯一偏移地址;
倒排表建立模块,用于建立包含指令字和所述唯一偏移地址的指令倒排表,所述指令字对应多个唯一偏移地址,所述唯一偏移地址的个数与芯片类型数相同;
记录定位模块,用于自终端设备接收指令,根据所述指令的指令字和芯片类型确定对应的指令记录;
接收判断模块,用于根据所述指令的指令数据域标志和对应的指令记录,判断是否需要接收所述指令的数据域,如果是,则接收所述指令数据域,如果否,则跳过此步;
所述地址分配模块包括:
分配子模块,用于生成指令记录容器,为所述指令记录的每个基本信息分配空间;
存储子模块,用于将所述指令记录容器存储到本地;
获取子模块,用于获取指令记录在所述指令记录容器中的唯一偏移地址。
6.根据权利要求5所述的系统,其特征在于,还包括:分发判断模块,用于在接收所述指令数据域后,判断所述指令是否允许被分发,如果是,则进行指令跳转和执行,并返回执行结果;如果否,则返回错误信息。
7.根据权利要求5或6所述的系统,其特征在于,所述指令分发所需要的基本信息包括:芯片类型、应用类型、指令锁定标志、指令属性、指令类型、指令字、指令数据域标志、指令函数指针,所述指令属性表示指令适用的智能安全芯片的生命周期阶段。
8.根据权利要求5所述的系统,其特征在于,所述指令字长度为1字节,范围为16进制0x00-0xFF,共256个值。
CN201410691480.0A 2014-11-25 2014-11-25 一种基于倒排技术的智能安全芯片的指令分发方法和系统 Active CN105608022B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410691480.0A CN105608022B (zh) 2014-11-25 2014-11-25 一种基于倒排技术的智能安全芯片的指令分发方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410691480.0A CN105608022B (zh) 2014-11-25 2014-11-25 一种基于倒排技术的智能安全芯片的指令分发方法和系统

Publications (2)

Publication Number Publication Date
CN105608022A CN105608022A (zh) 2016-05-25
CN105608022B true CN105608022B (zh) 2017-08-01

Family

ID=55987973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410691480.0A Active CN105608022B (zh) 2014-11-25 2014-11-25 一种基于倒排技术的智能安全芯片的指令分发方法和系统

Country Status (1)

Country Link
CN (1) CN105608022B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109409092A (zh) * 2018-10-11 2019-03-01 郑州云海信息技术有限公司 一种判断可信芯片类型的方法、装置及设备
TWI808328B (zh) * 2020-06-19 2023-07-11 新唐科技股份有限公司 系統單晶片及控制方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101071442A (zh) * 2007-06-26 2007-11-14 腾讯科技(深圳)有限公司 分布式索引文件的检索方法、检索系统及检索服务器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9183614B2 (en) * 2011-09-03 2015-11-10 Mireplica Technology, Llc Processor, system, and method for efficient, high-throughput processing of two-dimensional, interrelated data sets

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101071442A (zh) * 2007-06-26 2007-11-14 腾讯科技(深圳)有限公司 分布式索引文件的检索方法、检索系统及检索服务器

Also Published As

Publication number Publication date
CN105608022A (zh) 2016-05-25

Similar Documents

Publication Publication Date Title
CN101901221B (zh) 一种跨站脚本攻击的检测方法和装置
CN109977690A (zh) 一种数据处理方法、装置和介质
CN103297267B (zh) 一种网络行为的风险评估方法和系统
CN105608022B (zh) 一种基于倒排技术的智能安全芯片的指令分发方法和系统
CN105427098B (zh) 一种不同应用之间信息共享的实现方法及装置
CN101520854A (zh) 一种智能存储卡及其数据安全控制系统和方法
CN105574146A (zh) 网址拦截方法及装置
CN107135234A (zh) 一种数据流量监听控制的方法和装置
CN113225407A (zh) 一种设备标识信息管理方法、装置、电子设备及存储介质
CN113849789A (zh) 基于aop的权限校验方法、装置、设备及存储介质
CN110414651A (zh) 调试智能卡的方法及装置
CN101930361A (zh) 在线数据存储服务提供方法及系统
CN112329043A (zh) 信息加密处理方法、装置、计算机设备及介质
CN101719212B (zh) 串口读卡器的识别方法和装置
CN101699416B (zh) 主机与多卡座读卡器的通信方法和系统
CN113923268B (zh) 一种针对多版本通信规约的解析方法、设备及存储介质
CN103970599A (zh) 一种基于多进程并发的数据处理方法及装置
CN102855297B (zh) 一种控制数据传输的方法和连接器
CN108234405A (zh) 一种基于智能网关的终端设备自动识别认证方法
CN109040179A (zh) 一种消息处理方法及装置
CN103281221A (zh) 消防物联网系统测试方法
CN114095492A (zh) 一种电力系统主子站数据传输方法、系统及电子设备
CN105763370A (zh) 一种提取信令数据的方法及装置
CN103365690B (zh) OSGi中应用资源加载委派反转机制的模块间资源加载方法
CN115589307B (zh) 分布式系统的风险监测方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant