- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
智能卡操作系统的测试技术
录入:edatop.com 点击:
引 言
具有稳定、可靠的卡内操作系统是智能卡正常工作的基础,智能卡操作系统控制外界与智能卡之间的通信,管理卡片的存储空间,并且在卡内对于各种命令进行处理,所以在COS 开发过程中有必要对COS 进行充分且全面的测试。COS 的主要特点: 它是一个专用系统; COS 一般是根据某种卡片的特点以及应用范围来设计开发的,具有高可靠性; COS 所要完成的功能需遵循相关的国际规范以及行业规范; 支持同一应用类型的COS 往往遵循同样的规范,这使得COS 的测试有一定的重用性。
以上特点决定了常规的软件测试方法不能直接用于COS 测试。
1 智能卡操作系统
1. 1 COS 组成结构
COS 的主要功能是从智能卡传出和传入数据,控制执行相关的命令,管理维护文件系统,管理与执行加密算法。其结构可划分为两个层次: 功能层和微内核层。
功能层主要实现COS 的业务逻辑,包含通信管理、安全管理、命令解释、文件管理四大模块。
1) 通信管理模块: 对输入缓冲区中收到的数据进行奇偶校验,以及对分组长度等进行正确性判断,但不对信息的内容进行判断,以ISO/ IEC 7816- 4 中有关命令结构作为判断的标准; 接收经过命令处理、文件管理处理、安全认证后的数据,并按照ISO/ IEC 7816- 4中有关命令结构要求将其打包成完整的结果报文,放入到输出缓冲区,发送结果报文。
2) 安全管理模块: 接受通信管理模块的调度,并将处理后的信息返回给通信管理模块; 对通信管理模块接收的数据进行安全验证,但不对数据内容进行验证,若安全验证失败,则直接返回验证失败。
3)命令解释模块: 接受安全管理模块的调度,并将处理后的数据信息( 与命令相对应的响应代码) 返回给安全管理模块; 需要作数据内容上的鉴别( 检查命令的各项参数是否正确) ,然后执行相应的操作,完成对卡内有关数据的操作,若对数据内容鉴别未通过,则直接返回错误码给通信管理模块。
4)文件管理模块: 接受命令管理模块的调度; 数据在卡内是以文件形式存在的,文件管理模块须提供文件的建立、修改、删除等基本操作,文件访问的安全控制等。
微内核的主要功能: 为上层的功能层提供硬件支持,实现终端与卡内硬件的通信。微内核分为接口层、驱动层,接口层为功能层提供服务,将功能层的服务请求转化成对驱动层的调用,为功能层提供统一的接口。驱动层主要实现对底层硬件的各种驱动操作。
1. 2 COS 的状态转移过程
各功能模块在完成特定请求的过程中可能还需要向其他功能模块发出请求。各模块之间是调度请求和数据响应的关系,在一对关系中调度请求表现为模块的输出,数据响应表现为模块的输入,调度和响应都用事务表示,事务所代表的是一组数据,以及对数据的操作。
系统请求/ 响应过程中的状态转换图,如图1 所示。
与其相对应的状态表,如表1 所示。
事务1: 智能卡收到终端的APDU 请求;
事务2: 智能卡向终端发出的APDU 响应;
事务3: 通信管理模块接收到APDU 命令,进行校验后,调用命令解释模块对APDU 指令进行处理;
事务4: 命令解释模块向通信管理模块返回处理后的数据或异常事件;
事务5: 命令解释模块在APDU 命令的处理过程中,需要访问文件而调用文件系统模块;
事务6: 文件系统模块将处理后的信息返回给命令解释模块;
事务7: 文件系统模块在对文件操作时需要进行安全控制时调用安全模块;
事务8: 安全管理模块在涉及安全性相关的文件时调用文件系统模块;
事务9: 命令解释模块向安全管理模块发出的响应事件;
事务10: 安全管理模块向命令解释模块发出的处理数据请求;
事务11: 安全管理模块向通信管理模块发出的响应事件或异常事件;
事务12: 通信管理模块为完成终端发出的APDU请求,向COS 微内核发出的调用底层硬件接口请求;
事务13: 命令解释模块为完成安全管理模块请求,向COS 微内核发出的调用底层硬件接口请求;
事务14: 文件系统模块为完成安全管理模块请求,向COS 微内核发出的调用底层硬件接口请求;
事务15: 安全管理模块为完成安全管理模块请求,向COS 微内核发出的调用底层硬件接口请求。
1. 3 智能卡通信过程
智能卡与终端之间的通信是通过命令--响应对实现的。终端向卡发送命令( 以C- APDU 形式) ,卡收到命令后,由COS 对接收的命令报文进行处理,然后将处理结果打包成响应报文( 以R- APDU 形式) 返回给终端。
C- APDU 由两部分组成 : 一个必备的连续4 字节的命令头,用CLA、I NS、P1 和P2 表示,以及一个可选的长度可变的条件体。在C- APDU 中发送的数据的字节数由1 字节的L c 定义,期望卡回送的R- APDU 数据字段的最大字节数由1 字节的L e 指定,格式见图2。
R- APDU 由两部分组成[: 可选的条件体以及必备的2 字节状态码SW1| SW2,格式见图3。
在智能卡上电复位之后,COS 便运行起来,开始执行卡片的初始化工作,完成初始化的COS 处于接收准备状态。COS 一旦查询到有命令输入,就采用已经被初始化了的通信协议参数接收数据,数据全部接收后,存放在内存中命令的缓冲区中,启动命令处理流程,对命令报文进行语法检查,然后根据命令的类别以及应用的类别去执行相应的命令处理程序,命令处理完成后,将需要返回的数据存放在响应数据缓冲区中,与命令处理结果的响应状态码一起回送给终端。
2 智能卡操作系统测试方案
COS 测试主要包括基本功能、防拔插、兼容性以及耐久性测试:
(1) COS 基本功能的测试,主要包括文件的测试、命令功能、命令的执行情况、命令出错处理等;
( 2) 由于智能卡在应用中往往会涉及到对一些敏感数据的操作,因此必须针对在COS 与终端进行交互的过程中被意外事件中断时其自动恢复能力进行测试,即防拔插测试;
( 3) 智能卡的使用寿命是有限的,对存储介质的过度损耗是导致智能卡损坏的主要原因,但可以采用软件优化来均衡对存储介质的访问从而延长智能卡的使用寿命,因此在COS 测试中需要对智能卡进行耐久性测试;
( 4) 智能卡与终端之间进行正常通信的前提是它们遵循相同的协议,因此在COS 的测试中需对协议的实现情况进行测试,即协议测试。
具有稳定、可靠的卡内操作系统是智能卡正常工作的基础,智能卡操作系统控制外界与智能卡之间的通信,管理卡片的存储空间,并且在卡内对于各种命令进行处理,所以在COS 开发过程中有必要对COS 进行充分且全面的测试。COS 的主要特点: 它是一个专用系统; COS 一般是根据某种卡片的特点以及应用范围来设计开发的,具有高可靠性; COS 所要完成的功能需遵循相关的国际规范以及行业规范; 支持同一应用类型的COS 往往遵循同样的规范,这使得COS 的测试有一定的重用性。
以上特点决定了常规的软件测试方法不能直接用于COS 测试。
1 智能卡操作系统
1. 1 COS 组成结构
COS 的主要功能是从智能卡传出和传入数据,控制执行相关的命令,管理维护文件系统,管理与执行加密算法。其结构可划分为两个层次: 功能层和微内核层。
功能层主要实现COS 的业务逻辑,包含通信管理、安全管理、命令解释、文件管理四大模块。
1) 通信管理模块: 对输入缓冲区中收到的数据进行奇偶校验,以及对分组长度等进行正确性判断,但不对信息的内容进行判断,以ISO/ IEC 7816- 4 中有关命令结构作为判断的标准; 接收经过命令处理、文件管理处理、安全认证后的数据,并按照ISO/ IEC 7816- 4中有关命令结构要求将其打包成完整的结果报文,放入到输出缓冲区,发送结果报文。
2) 安全管理模块: 接受通信管理模块的调度,并将处理后的信息返回给通信管理模块; 对通信管理模块接收的数据进行安全验证,但不对数据内容进行验证,若安全验证失败,则直接返回验证失败。
3)命令解释模块: 接受安全管理模块的调度,并将处理后的数据信息( 与命令相对应的响应代码) 返回给安全管理模块; 需要作数据内容上的鉴别( 检查命令的各项参数是否正确) ,然后执行相应的操作,完成对卡内有关数据的操作,若对数据内容鉴别未通过,则直接返回错误码给通信管理模块。
4)文件管理模块: 接受命令管理模块的调度; 数据在卡内是以文件形式存在的,文件管理模块须提供文件的建立、修改、删除等基本操作,文件访问的安全控制等。
微内核的主要功能: 为上层的功能层提供硬件支持,实现终端与卡内硬件的通信。微内核分为接口层、驱动层,接口层为功能层提供服务,将功能层的服务请求转化成对驱动层的调用,为功能层提供统一的接口。驱动层主要实现对底层硬件的各种驱动操作。
1. 2 COS 的状态转移过程
各功能模块在完成特定请求的过程中可能还需要向其他功能模块发出请求。各模块之间是调度请求和数据响应的关系,在一对关系中调度请求表现为模块的输出,数据响应表现为模块的输入,调度和响应都用事务表示,事务所代表的是一组数据,以及对数据的操作。
系统请求/ 响应过程中的状态转换图,如图1 所示。
与其相对应的状态表,如表1 所示。
事务1: 智能卡收到终端的APDU 请求;
事务2: 智能卡向终端发出的APDU 响应;
事务3: 通信管理模块接收到APDU 命令,进行校验后,调用命令解释模块对APDU 指令进行处理;
事务4: 命令解释模块向通信管理模块返回处理后的数据或异常事件;
事务5: 命令解释模块在APDU 命令的处理过程中,需要访问文件而调用文件系统模块;
事务6: 文件系统模块将处理后的信息返回给命令解释模块;
事务7: 文件系统模块在对文件操作时需要进行安全控制时调用安全模块;
事务8: 安全管理模块在涉及安全性相关的文件时调用文件系统模块;
事务9: 命令解释模块向安全管理模块发出的响应事件;
事务10: 安全管理模块向命令解释模块发出的处理数据请求;
事务11: 安全管理模块向通信管理模块发出的响应事件或异常事件;
事务12: 通信管理模块为完成终端发出的APDU请求,向COS 微内核发出的调用底层硬件接口请求;
事务13: 命令解释模块为完成安全管理模块请求,向COS 微内核发出的调用底层硬件接口请求;
事务14: 文件系统模块为完成安全管理模块请求,向COS 微内核发出的调用底层硬件接口请求;
事务15: 安全管理模块为完成安全管理模块请求,向COS 微内核发出的调用底层硬件接口请求。
1. 3 智能卡通信过程
智能卡与终端之间的通信是通过命令--响应对实现的。终端向卡发送命令( 以C- APDU 形式) ,卡收到命令后,由COS 对接收的命令报文进行处理,然后将处理结果打包成响应报文( 以R- APDU 形式) 返回给终端。
C- APDU 由两部分组成 : 一个必备的连续4 字节的命令头,用CLA、I NS、P1 和P2 表示,以及一个可选的长度可变的条件体。在C- APDU 中发送的数据的字节数由1 字节的L c 定义,期望卡回送的R- APDU 数据字段的最大字节数由1 字节的L e 指定,格式见图2。
R- APDU 由两部分组成[: 可选的条件体以及必备的2 字节状态码SW1| SW2,格式见图3。
在智能卡上电复位之后,COS 便运行起来,开始执行卡片的初始化工作,完成初始化的COS 处于接收准备状态。COS 一旦查询到有命令输入,就采用已经被初始化了的通信协议参数接收数据,数据全部接收后,存放在内存中命令的缓冲区中,启动命令处理流程,对命令报文进行语法检查,然后根据命令的类别以及应用的类别去执行相应的命令处理程序,命令处理完成后,将需要返回的数据存放在响应数据缓冲区中,与命令处理结果的响应状态码一起回送给终端。
2 智能卡操作系统测试方案
COS 测试主要包括基本功能、防拔插、兼容性以及耐久性测试:
(1) COS 基本功能的测试,主要包括文件的测试、命令功能、命令的执行情况、命令出错处理等;
( 2) 由于智能卡在应用中往往会涉及到对一些敏感数据的操作,因此必须针对在COS 与终端进行交互的过程中被意外事件中断时其自动恢复能力进行测试,即防拔插测试;
( 3) 智能卡的使用寿命是有限的,对存储介质的过度损耗是导致智能卡损坏的主要原因,但可以采用软件优化来均衡对存储介质的访问从而延长智能卡的使用寿命,因此在COS 测试中需要对智能卡进行耐久性测试;
( 4) 智能卡与终端之间进行正常通信的前提是它们遵循相同的协议,因此在COS 的测试中需对协议的实现情况进行测试,即协议测试。
13.56MHz NFC天线,13.56MHz RFID天线设计培训课程套装,让天线设计不再难
上一篇:RFID系统数据安全研究
下一篇:RFID技术在渣土车管理中的应用