1 前言
随着芯片技术的发展以及运营商之间的业务扩展,手机智能卡将会突破个人身份识别的单应用平台向多应用平台方向发展,特别是移动支付平台。如今芯片生产商已经开发出了支持2.4 GHz频率的RF-SIM 卡,它是接触式智能卡与非接触式智能卡的结合,在设计上,接触式界面遵守ISO7816 接口标准,非接触式界面采用2.4G ISM频段进行通信。在硬件实现上,RF-SIM 卡有三芯片、双芯片和单芯片三种硬件实现架构方式[1] (如图1)。在安全方面,数据采用自动TDES 加密技术进行空中传输,防止窃听数据,在刷卡时采用双向认证的安全机制,所以它是可靠的连接和安全的通信。另外,在不用更换手机的前提下,RF-SIM卡能够完成更多手机终端无法完成的功能,所以基于RF-SIM卡的多行业多应用服务平台具有广阔的前景。在这个平台体系里,COS(Chip Operating System)是非常重要的,它既要管理底层硬件高效地工作,又要保证上层应用安全地运行。所以本文的目的就是设计一种基于RF-SIM卡的多应用COS结构。
2 COS结构模型的选择
虽然智能卡芯片的硬件资源有限,但是COS结构设计的要求却并不低,它需要综合考虑功能、性能、可移植性、可扩展性、灵活性和复杂度等诸多因素的要求:(1)功能上不但要求SIM 卡端能够实现电信方面的应用,而且还要求非接触式界面端能够实现无线方面的应用,如公交IC 刷卡。(2)性能要求是指能在有效的时间内利用有限的存储空间完成系统要求的功能。(3)可移植性要求COS能够方便地移植到其他环境中运行。(4)可扩展性是指多应用平台能够方便地扩展上层业务功能,方便地增加、修改和删除上层应用的功能模块。最后从实现环节上还需要考虑系统的灵活性和复杂性要求。如今常见的COS结构模型有简单结构、层次结构、微内核结构和外核结构4种,其特性分析详见表1。
显然微内核结构的综合特性较优,但时间性能和移植性却是一般,所以,在微内核结构模型基础上进行改良设计(如图2):在微内核层增设虚拟硬件层增强系统的可移植性和简化比较耗时的进程机制与中断处理机制提高系统时间性能。
3 多应用COS设计的关键技术
3.1 多应用文件系统的设计
多应用平台的设计本质上就是设计多应用文件系统,并在此基础上安全运行多个应用。所以文件系统是COS 的核心,它不仅负责存储、管理和维护卡内存储的数据而且为上层应用提供统一的透明访问机制。具体设计方案如下。
3.1.1 多样性存储设计
SIM 卡的文件结构遵守GSM11.11 规范,是以MF为根,DF为枝叶和EF为叶的树形结构(如图3)[2],而RF端的文件结构却可能没有统一的规范,它可能是某行业通用结构也可能是运营商的私有结构。因此,文件格式具有多样性,为方便管理和解决文件系统间格式混乱问题,把存储空间分成基本文件区、应用文件区(如GSM文件区和Mifare 文件区)和未分配存储区三部分。其中不仅每部分区域连续分配,而且每个应用文件系统也是连续分配存储空间(如图4)。基本文件区存储各文件系统的公共信息和注册信息,如空间分配情况表、GSM文件和Mifare 文件注册表、全局安全信息等。GSM文件结构区以隐式链接方式存储结构,用目录项表示MF、DF、EF之间的逻辑结构,分配连续区域存放目录项;统一把DF、EF放在实体文件区。Mifare 文件实际上就是一种结构化的记录块文件,结构规范、管理较简单、存储较方便,所以可以把该区域按记录形式存储操作。未分配存储区的容量是该芯片的大小减去应用文件区的大小,所以它是应用文件区的空间补集。它的作用主要有两方面:(1)为新应用分配存储空间:在卡片运营过程中,如果需要安装新的应用软件AppS1,那么从该区域划分等于或微大于AppS1 的存储空间安装它并且注册在应用文件区中,剩下的空间成为新的未存储分配区。(2)作为掉电保护的备份区之一。
3.1.2 文件API接口设计
为多个文件系统设置统一的文件API接口,使上层应用能够共享一套接口函数和存储管理机制。对此具体设置了5 个API 访问接口函数:FS_SeleteFile(选择文件),FS_CreateFile(创建文件),FS_DeleteFile(删除文件),FS_ReadFile(读文件),FS_WriteFile(写文件)。
3.1.3 文件安全性设计
智能卡的安全性就是对卡片内数据对象访问的安全控制能力,卡片安全体系的总体结构分为安全属性、安全状态和安全机制[3]。对于文件对象而言,首先设置多个级别的安全属性增强安全级别的灵活性和多样性设置,然后采取先鉴权后操作的访问机制,也就是说只有在鉴权通过时才能够执行后继操作,若不通过,则拒绝访问,例如选择文件,创建文件都必须通过要SCB(Secure Control Byte)字节的鉴权操作,如GSM11标准里的PIN码、PUK码和CDM码的共同构成SCB。
3.1.4 环境的适应性设计
一般来说,智能卡的应用环境是比较恶劣的,特别是供电不稳定和存储介质寿命约束问题。所以为保证系统的稳定性和延长卡片寿命设计了掉电保护和均衡磨损机制[4]。掉电保护是指在写数据块时,先把更新区数据备份到其他区域,防止在写数据过程中系统掉电而破坏原数据区的数据,可以从备份区把数据重新写回。具体算法如图5 所示(例如数据B要写到数据A区域)。
由上述算法可知,每完成一次掉电保护操作至少要写一次备份区C,因此从整体来说备份区C的读写是频繁的,但是对存储介质的读写次数有严格限制(如flash 的擦写次数为100 000~1 000 000 次),所以备份区C不能静态分配,需要动态选择。更本质上说,由于对存储块的读写访问不均匀,导致出现了“冷”“热”数据块,因此有必要协调好两者之间的关系,也就是尽量使数据块擦写趋于均衡,即均衡磨损机制。综合考虑芯片的硬件环境及算法实现的难易程度,本系统采用“冷热置换”策略:首先把当前应用的数据块擦除次数表(Data-block Erase Table,DET)调入RAM,对数据块的擦除都要更新DET,当某块S 的擦除次数大于某一阈值时(如256 次),选择一擦除次数最少的数据块置换。当DET表所有记录的擦除项为“满”(所有都为256 次)或者DET总更新次数大于或等于某临界值时(如1 000 次),DET 记录的擦除次数项全部清零,并且把DET 从RAM 中保存至flash 存储器。显然,这种“冷热置换”方式能够很好地保证应用系统内部数据块的均衡磨损,但是在掉电保护算法中,因为备份区C不需要置换,只是覆盖即可,所以对于备份区C的选择采用“循环写空闲块”的方式:从未分配区域和系统文件区(如GSM文件区)中通过循环查找的方式选择空闲块充当备份区。
3.2 多应用安全机制的设计
具体的单应用系统平台中,一般都设计了规范的或者行业间私有的安全机制,所以本部分重点讨论多文件系统环境下的安全问题。
3.2.1 数据内容安全管理:对文件中的数据进行加密来保证内容的安全,因为即使数据被非法读取,窃取的也只是密文,破解难度大。
3.2.2 非法越界管理:多应用文件系统的最大威胁就是非法越界访问其他文件系统数据,所以必须设计防止多应用文件间非法越界访问的安全机制[5]:因为各文件系统的存储空间是连续分配的,物理地址的范围可表述为Addr[上界,下界],所以可以通过Addr 中的上界和下界进行匹配隔离方式防止越界访问,这样就如同在文件系统的上界和下界处设置了一道坚固的隔离墙。
3.2.3 交互行为安全:某些事务逻辑中,需要在一次原子性操作过程中访问两个或以上的文件系统,如用手机银行为公交IC 卡充值。在交互过程中,设置日志管理机制来保证事务逻辑的原子性。为保证多个应用系统间交互操作的行为安全,建立信任机制,采用双向鉴权方式来增强行为安全的可信度,同时使用数字签名认证方式来界定安全责任,因为这种方式具有不可抵赖性。
3.3 双通道通信设计
RF-SIM卡具有接触和非接触两个界面,因此它存在SCD(接触式7816 接口)和SCR(非接触式RF接口)两个逻辑传输通道。两个通道既能够独立地进行数据传输又需要相互协调工作,当然也跟智能卡芯片内核密切联系,它们之间的调用关系如图6 所示。
为方便移植和其他模块对SCD 与SCR 通道进行透明调用,分别设置如下通道命令处理接口[6]:Scd_RecvByte(7816 接口接收一个字节数据),Scd_SendByte(7816 接口发送一个字节数据),Scd_Mode(SCD 通道收发模式转换),Scd_Close(SCD通道关闭),Scd_Reset(SCD通道重设),Set_Timer(SCD通道发送60 函数)Scr_Send(RF 发数据),Scr_Recv(RF 收数据),Scr_Data(RF数据缓存),Scr_param(RF的参数),Scr_Star(启动射频功能)。
4 实验测试
经过对各功能模块进行认真研究、仔细分析和逐步细化的过程,最后设计出基于RF-SIM卡的多应用COS结构图(图7)。随后在此COS结构基础上设计实验方案:硬件平台是以AT90SC320288RCT 安全芯片为基础的RF-SIM芯片卡,编译工具使用的是IAR EWAVR4.3A 开发平台,应用层设计了GSM 应用和RF 应用。GSM 应用是以电信EVDO 卡为例设计,RF 应用则以公交IC卡为例,在EVDO卡部分,文件模块、安全模块、命令模块和通信模块遵守GSM11.11 系列规范和ISO 7816 规范。RF 应用方面,射频通信符合ISO/IEC 14443系列标准,文件系统采用MAFIRE I 格式结构。同时设计了STK菜单,支撑GSM应用和公交IC 卡的数据交互。最后经过编码、内部测试、仿真、卡片下载流程之后,基本实现了电信EVDO卡和公交IC 卡的功能与性能等方面的要求,从而验证了本设计方案的可行性。但是本方案只是在结构上预留了其他应用接口,而对应用的动态更新还有待研究。
5 总结
在多应用环境下,重点对文件系统、安全机制和双通道通信管理进行了研究与设计,最后基于RF-SIM卡设计了一种多应用COS结构和实现了一个简单原型,具有较高的稳定性和安全性,对其他研究人员设计多应用COS有一定的借签价值。