当前位置:首页 > 测试测量 > 测试测量
[导读]1. 引 言智能卡(smart card又称集成电路卡)将一个集成电路芯片镶嵌于塑料基片中,封装成卡的形式,其外形与覆盖磁条的磁卡相似。笔者在利用北京市嵌入式系统重点实验室生产的智能卡进行符合中国人民银行金融卡规范的

1. 引 言

智能卡(smart card又称集成电路卡)将一个集成电路芯片镶嵌于塑料基片中,封装成卡的形式,其外形与覆盖磁条的磁卡相似。

笔者在利用北京市嵌入式系统重点实验室生产的智能卡进行符合中国人民银行金融卡规范的BES COS开发过程中,针对该款芯片的硬件特性进行了COS的设计与实现,并根据规范设计了测试用例,完成了测试。

2. 智能卡硬件概述

BES1332EF是一款基于8051的双界面智能卡芯片。非接触式接口支持ISO 14443 TYPE 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文件系统

主控文件(Master File , MF)。主控文件是整个文件系统的根(可看做根目录),每张卡有且只有一个主控文件。专用文件(Dedicated File,DF)。在MF下针对不同的应用建立起来的一种文件,是位于MF之下的含有EF的一种文件结构(可看做文件目录),它存储了某个应用的全部数据以及与应用操作相关的安全数据。基本文件(Elementary File,EF)。基本文件存储了各种应用的数据和管理信息,它存在于 MF和DF下。

3.4安全模块

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

4. 智能卡的测试

4.1测试环境

智能卡的测试主要分两个部分,一是硬件测试,二是软件测试。从硬件测试的层面来说,选取一个功能强的专用于测试读卡器是十分必要的。比如在IC卡的7816通信接口还没有完全实现的时候,通过普通的读卡器对卡片进行操作,返回值在读卡器这边是无法看到的,因为大多数读卡器屏蔽了不符合7816的TPDU规定的数据,而如果每次都用示波器观察硬件信号的话,效率又比较低。所以应该尽量选择可以看到底层交互数据的读卡器。

从软件测试的层面来说,选取一个对上层提供了友好的接口的读卡器也是十分必要的。例如我在开发BES COS时使用的读卡器 Collis,提供了与其配套的脚本开发环境Collis Conclusion,可以方便的设置读卡器的电压,频率,等待超时时间等。还提供了设定期望返回值的功能。

4.2测试脚本

测试脚本主要分为功能正确情况测试,功能异常情况测试,参数测试,安全机制测试以及应用流程测试。

功能正确情况测试是指在输入的参数都合法,执行的条件都具备,所执行的命令应该可以正常执行的情况下,检查所测命令是否能够正确执行涉及的功能步骤。功能异常情况测试是指在输入的参数都合法,但执行的条件不具备,检测COS是否都返回了相应的错误代码。参数测试是指,固定所测命令参数P1、P2、Lc和数据与正确且不变的情况下,利用穷举法便利每一个错误的CLA作为输入参数,测试COS是否都能正确响应错误代码,其他的参数测试同理。安全机制测试是指在操作一个基本文件时,该文件可能有一个或者多个安全控制机制。应用流程测试,是指将命令组合起来成为一个应用流程,检测整个流程是否都能正确执行,检测基本命令之间是否会有影响。

5. 结束语

目前COS已经通过了第三方的测试,目前正在准备上金融卡检测中心的测试平台。COS开发中昀大的困难就是调试不便,直到后来在芯片中加入了OCI,才可实现单步调试以及存储单元值的查看。COS的开发语言C/汇编也比较低级,影响了开发的效率以及易维护性。相信随着IC卡成本的降低,支持java语言的java卡会更加的普及。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

5月14日,迪拜智能卡支付及零售展览会(Seamless Middle East)开幕,紫光同芯携带其在金融、电信、身份识别领域的核心产品参展,包括金融IC卡、USB-Key、智能POS在内的多种支付解决方案。特别是其指...

关键字: 智能卡 紫光 POS ESIM

Windows Embedded Compact 7(简称WinCE)是一种专为嵌入式系统设计的操作系统,具有体积小、效率高、可定制性强的特点。在WinCE中设置自动运行软件,通常是为了满足设备在启动后自动执行特定任务的...

关键字: 嵌入式系统 软件 操作系统

本文中,小编将对nfc标签读卡器予以介绍,如果你想对nfc标签读卡器的详细情况有所认识,或者想要增进对nfc标签读卡器的了解程度,不妨请看以下内容哦。

关键字: NFC 读卡器

今天,小编将在这篇文章中为大家带来Windows 11系统的有关报道,通过阅读这篇文章,大家可以对Windows 11系统具备清晰的认识,主要内容如下。

关键字: Windows 操作系统

全新随插即用方案简化虚拟化实时IIoT平台的设置

关键字: 计算机模块 IIoT 操作系统

目前,HarmonyOS NEXT星河预览版已经正式面向开发者开放申请,面向鸿蒙原生应用及元服务开发者提供的集成开发环境——DevEco Studio也迎来功能更细化的4.1版本。

关键字: HarmonyOS 操作系统

华为P40是一款备受关注的高端智能手机,搭载了华为自研的鸿蒙操作系统。鸿蒙系统作为华为自主研发的操作系统,具有高度的可定制性和扩展性,能够为用户带来全新的使用体验。本文将详细介绍华为P40鸿蒙系统的升级方法,帮助用户更好...

关键字: 华为P40 智能手机 操作系统

安装Linux操作系统并不复杂,下面是一个大致的步骤指南,以帮助您完成安装。1. 下载Linux发行版:首先,您需要从Linux发行版官方网站下载最新的ISO镜像文件。

关键字: Linux 操作系统 ISO镜像

计算机是由一堆硬件组成的,为了有限的控制这些硬件资源,于是就有了操作系统的产生,操作系统是软件子系统的一部分,是硬件基础上的第一层软件。

关键字: Linux 操作系统 计算机

Linux操作系统是一套免费使用和自由传播的类Unix操作系统,通常被称为GNU/Linux。它是由林纳斯·托瓦兹在1991年首次发布的,并基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Lin...

关键字: Linux 操作系统
关闭
关闭