如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
万方数据智能卡芯片操作系统命令的分析与实现6圜黧明皤安宝技7ft与应用COS体系结构COS基本功能模块2.1通信管理模块2.2文件系统模块2.3安全控制模块议,对由读写设备发出的命令进行接收,同时把对命令的响郭剑岚1陈俞强1郭鸿志21东莞职业技术学院计算机工程系广东5238082广东工业大学计算机学院广东510006摘要:智能卡作为存储个人信息、电子支付、数据加密等的手段和工具,被要求具有更高的安全性、良好的兼容性和可扩充性,作为智能卡的软件平台的芯片操作系统COS,具有十分重要的地位和作用。如何开发一个高效率,低成本、易扩充的COS具有十分积极的意义。本文从实现命令系统的角度,提出了命令设计模型与开发方法,并以PKI为例对COS命令的实现进行验证。关键词:COS命令}PKI。体系结构,模块刖茜本文主要阐述了智能卡COS的体系结构、基本功能模块和工作原理等内容,同时对智能卡命令系统的相关理论作了着重阐述,包括了命令特征分析、命令分类方法,命令系统模型和开发方法的探讨等。接着用特殊应用的命令设计与实现来举例说明,以此验证理论的正确与否。1COS直接运行于芯片平台上,是智能卡内软件的核心部分,也是卡片所支持全部应用的基础。COS的主要任务是从智能卡传出和传人数据、控制命令的执行、管理文件、维护内存空间、管理和执行加密算法、执行应用代码。因此,可以将智能卡COS的体系结构模型划分为COS内核层和应用层两大部分(如图1所示)。2根据智能卡COS的体系结构模型,可以得到COS内核的逻辑功能模块主要分为四大部分:通信管理模块、文件系统模块、安全控制模块和命令解释模块。下面分别论述各个模块的具体功能。通信管理模块主要是依据智能卡所使用的信息传输协应按照传输协议的格式发送出去。通信管理模块确保智能卡与终端的信息传输正确无误,保证双方对传输的信息解析具有一致性。整个通信过程中需要处理ATR的发送、通信参数的PPS协商、APDU报文格式和具体的通信协议T=0或T=I协议等几个重要的问题。文件系统是COS的重要模块之一,它负责组织、管理和维护智能卡内存储的所有的数据。智能卡上的数据或应用是以文件的形式存放在FLASH或EEPROM等存储介质中的,COS通过对智能卡内的文件系统的管理和组织来实现对数据信息和应用的存储和管理。安全控制模块是智能卡COS中最为核心的模块,它对智能卡内数据提供安全保障,同时也对外提供安全定义。在智能卡中,COS安全模块的内容主要包括加密算法的实现、系统的安全服务和安全控制策略的实现。它涉及到卡的鉴权与验证方式的选择,包括COS在对卡中文件进行访问时的权限控制机制,还关系到卡中信息的保密机制。图1智能卡COS体系结构模型U2010.8万方数据酉熙功能主要用于对数据进行非对称算掷-,SA算法)的加密计算,2.△命令解释模块COS功能模块之间的状态转换及调度关系COS命令在PKI中的实现2010.8瞰嶂茜安呈技7ft与应用89+命令解释模块是芯片操作系统的重要组成部分,它负责解析卡片与终端之间交互的信息指令,并作相应的处理。命令是卡片和外界交互的基础,命令处理是COS的主要职能,它也是系统代码和应用代码之间的重要接口。终端和卡片之间的通信过程都是基于命令响应的方式处理的,COS利用IO接口接受命令报文,通过命令解释器来解释报文内容,并进行相应的处理,最终通过IO接口返回响应状态和响应数据。COS命令解释的调度流程包括外部命令的接受,命令处理流程的启动以及命令响应数据和状态的送回。其中,APDU命令报文的接收是按照CLA、INS、P1、P2、P3、DATA数据域的顺序依次接收,并将接收结果保存在命令缓冲区的相应字段中。若数据接收失败,则命令报文的输人中断退出。不同的命令具有惟一的指令代码INS,COS主守护流程根据终端发出的APDU命令的INS,跳转到相应的命令处理模块中进行处理。在命令解释模块中,不仅要对相应的命令的参敬P1、P2、P3进行严格检查,还应对命令的执行的安全条件进行检测。3传统的COS各模块之间的调度关系一般采用层次调度关系,COS中所有从文件系统中到终端的数据都需要经过安全模块的处理,包括数据的加解密,对文件访问是否符合当前的安全条件,命令的执行操作是否在安全环境中。改进的COS各模块之间的调用关系采用与层次结构相似的调度方式,但与传统的调用方式相比,具有更高的效率。改进的调用方式主要体现在安全控制模块的设置上(如图2所示)。改进的COS模块调用方式中,不是所有信息都需要进行安全处理,例如连续对同一文件进行访同时就不需要重复进行安全处理,而是根据命令的类别来进行适当的安全处理。这样节省了系统开销,提高了系统的效率。功能层各模块之间的关系为程序调度请求和数据响应关系,模块的输出为程序调度请求,输入为调度