双界面智能卡操作系统的设计与测试
发布时间:2022-03-21 10:39
双界面CPU卡
提出了双界面智能卡操作系统的设计方案和测试方案。设计方案主要阐述了COS功能模块的划分,以及各个模块的功能和实现方法。测试计划包括测试中软硬件环境的选择,以及测试脚本需要覆盖的内容。目前,开发成果已应用于实践。

1 .简介
智能卡(Smart card也叫集成电路卡)是在塑料基板中嵌入集成电路芯片,封装成卡片,形状类似于磁卡覆盖磁条。
在用北京嵌入式系统重点实验室生产的智能卡开发BES COS的过程中,作者根据该芯片的硬件特点设计并实现了COS,根据规范设计了测试用例,并完成了测试。

2.智能卡硬件概述
BES1332EF是基于8051的双接口智能卡芯片。非接触式接口支持ISO 14443 A类协议,接触式接口支持ISO/IEC7816 T=0协议。有8K ROM,32K EFLASH,1K RAM,硬件随机数发生器,CRC模块,DES模块。

3.智能卡操作系统
智能卡操作系统是一种特殊的系统,与传统的操作系统有很大的不同。它更类似于一个监控程序。COS主要包括四个模块:通信、命令解释、文件系统和安全。

3.1通信模块
传输管理器负责智能卡和接口设备之间的数据通信。在接收过程中,应缓冲输入数据并发送过程控制数据。通信协议是ISO7816-3规定的T=0的异步半双工字符传输协议。当接口设备给卡加电时,卡首先向接口设备发送复位响应消息(ATR ),然后接口设备发送命令报头以开始命令处理过程。传输管理器正确接收到命令后,将其发送给下一个功能模块进行处理,然后将命令的执行结果返回给接口设备。

3.2命令解释模块
命令解释器解析外部输入的每一条命令,分析检查命令参数是否正确,然后根据命令参数的含义执行相应的功能模块。如果发现参数错误,模块将直接返回错误消息。

3.3文件系统
主文件(MF)。主文件是整个文件系统的根(可以看作是根目录),每张卡片只有一个主文件。专用文件(DF)。MF下为不同应用构建的文件是MF下包含EF的文件结构(可以看作是文件目录),它存储了一个应用的所有数据以及与应用运行相关的安全数据。基本文件。基础档案存储各种应用的数据和管理信息,存在于MF和DF下。

3.4安全模块
安全模块主要分为两部分。第一部分是数据加密和验证的基本功能模块。包括随机数生成、3DES加密、MAC计算模块、CRC计算模块等。第二部分是文件的权限控制模块。在BES COS中,MF、DF、EF在文件头都有权限范围,系统有某个时刻的当前权限值。如果权限值在权限范围内,则可以进行相应的操作;否则需要外部认证等手段来改变系统当前的权限值。

4.智能卡测试
4.1测试环境
智能卡的测试主要分为两部分,一是硬件测试,二是软件测试。从硬件测试的层面来说,需要选择一个功能强大的专门用于测试的读卡器。比如IC卡的7816通信接口没有完全实现的时候,卡是用普通读卡器操作的,在读卡器这边看不到返回值,因为大部分读卡器屏蔽了不符合7816 TPDU要求的数据,如果每次都用示波器观察硬件信号,效率比较低。所以你要尽量选择能看到底层交互数据的读卡器。
从软件测试的层面来说,也需要选择一个提供友好的上层接口的读卡器。比如我在开发BES COS时使用的读卡器Collis,它提供了一个脚本开发环境Collis结论,可以方便的设置电压、频率、等待超时等等。它还提供了设置预期返回值的功能。

4.2测试脚本
测试脚本主要分为功能正确性测试、功能异常测试、参数测试、安全机制测试和应用流程测试。
功能测试是在输入参数合法、执行条件全部满足、执行命令应能正常执行的情况下,检查被测命令是否能正确执行所涉及的功能步骤。异常函数测试是指当输入参数合法但执行条件不具备时,COS是否返回相应的错误代码。参数测试是指在被测命令参数P1、P2、Lc和数据正确固定不变的情况下,用穷举法方便地将每一个错误的CLA作为输入参数来测试COS是否能正确响应错误代码,其他参数同样测试。安全机制测试是指在操作一个基本文件时,该文件可能有一个或多个安全控制机制。应用程序进程测试是指将命令组合成一个应用程序进程,测试整个进程能否正确执行,测试基本命令是否会相互影响。

5.结论
目前COS已经通过第三方测试,目前正在筹备金融卡检测中心的测试平台。COS开发的主要困难是调试的不便。在芯片中加入OCI之前,可以实现单步调试和检查存储单元值。COS的开发语言C/ assembly也比较低级,影响了开发效率和可维护性。相信随着IC卡成本的降低,支持java语言的java卡会越来越普及。
Copyright © 深圳中鼎益丰技术有限公司 版权所有

友情链接 :|防静电地板|