网络计算机中IC卡读写器子系统设计

2007-03-09 19:03:27来源: 互联网
摘要:针对网络计算机安全问题,提出了一种完整的智能IC卡读写器子系统设计方案。此方案讨论了基于单片机的IC卡读写器硬件和软件设计、基于PC/SC行业规范的读写器驱动程序设计和IC卡的软硬件选取。 关键词:网络计算机 安全 单片机 智能IC卡 IC卡读写器 PC/SC ISO7816 随着网络的飞速发展和计算机技术的不断进步,计算机应用模式正发生着巨大的变革。网络计算机(NC)的出现标志着计算机体系结构的革新,代表着未来计算机系统的发展方向。由于网络计算机可以采用开放源码操作系统,为发展带有自主知识产权的核心技术创造了有利条件。在开放源代码的操作系统中,Linux是一种较好的选择。它源代码公开,可以根据要求自行剪裁并且稳定,对资源要求低,有大量应用软件支持。按照网络电脑的特定需求,可以开发出具有自主智能产权的CPU,从而提高网络电脑的安全。网络电脑走的是一种网络服务器集中式管理的道路,具有成本低廉、管理费用低的优势。 为此,国家863计算机软硬件技术主题发展规划提出了以下要求:组织优势力量,研究网络计算机系统的关键技术,研制网络计算机系列产品,选择若干典型应用领域的进行应用示范,以此推动国产微处理器芯片和系统软件的发展,促进我国电子政务、网络教育、金融、社区服务、企业管理等方面的信息化建设。 随着计算机网络的迅速发展,网络计算机的安全问题显得非常突出。尤其在某些特殊领域,如电子政务等,安全问题显得极端重要。目前,在计算机安全方面,有各种不同的方法,但效果都不太好。本文提出的智能IC卡技术,在网络计算机是一种全新的方法,能够很好地实现网络计算机的安全。智能IC卡(Smart IC)具有较高的安全性,以前主要用在金融、电信等领域,笔者把此技术推广应用到网络计算机,以提高安全性。智能IC卡本身含有自行研制的COS(Chip OS)和加密算法,并采用多密钥、多加密算法体系,对所有的敏感数据文件加密保护。如图1所示。 IC卡子系统是整个网络计算机系统网络安全的核心,它保存了加密算法所需要的私有密钥,供加密算法对网络上传输的数据加密使用。 1 IC卡读写器硬件开发方案 IC卡作为一种信息技术可以广泛应用于许多行业领域,如金融、电信等,不同领域均有各自不同的应用特点、应用环境和应用要求。IC卡在某一领域的应用,必须适应该领域的特点。国际上有关组织及部分针对各个领域的不同要求,制定了IC卡在某一领域应用所应参考或遵循的应用标准。不过所有智能IC卡都必须符合国际标准化组织的ISO/IEC 7816国际标准。读写器的硬件也必须遵循ISO/IEC 7816国际标准。 ISO/IEC 7816标准要求IC卡与IC卡读写器使用串行通信,时序要求非常严格。常用的MCS51系列单片机速度较慢,每个指令周期需要12个机器周期,较难达到该标准所要求的严格时序。Microchip公司的PIC系列单片机采用RISC结构,每个指令周期为4个时钟周期,并且除转移指令外,所有指令都可以在一个指令周期内完成,速度较快,能够满足该标准对时序的严格要求。所以采用一片PIC16C73单片机作为IC卡读写器的控制器。 读写器与IC卡的通信,采用半双工的ISO 7916-3字符帧协议标准。3.57MHz的晶振为IC卡和读写器提供时钟。在缺省工作方式下,IC卡和读写器的通信速率为9600bps。即时钟频率为3.57MHz,每372个时钟输入或输出一个比特位。在未来需要较高通信速度时,可以在对程序作较小改动的前提下,提高晶振频率,如采用2%26;#215;3.57MHz的晶振。 IC卡读写器与NC之间的通信,可以采用USB接口、并口、串口、PS/2口等多种方案。采用USB接口可以实现即插即用和热拔插等功能。但使用USB接口,电路和协议都很复杂,并且增加USB接口器件会较大地增加系统成本。并口有较高的通信速度,但通信线路较多,硬件比较复杂,可靠性不好,且IC卡读写器并不需要太高的通信速度,故使用并口也不是理想的方案。而PS/2口一般固定给键盘和鼠标等标准外设使用,使用PS/2口就会占用这些标准外设的接口,故也不在考虑范围之内。使用串口通信虽然速度慢,但却具有硬件成本低、软件实现简单、运行可靠等优点。而通信速度完全可以满足IC卡读写器的要求。所以IC卡读写器采用了RS232串口与NC主机通信的方案。 整个系统使用5V电压供电。IC卡读写器采用低功耗设计,系统电源从RS232接口的信号线上获得。RS232接口的电压为%26;#177;12V,经过电源稳压器件LP2950将12V电压变为+5V,给IC卡读写器所有器件提供电源。 IC卡读写器硬件的原理框图如图2所示。 IC卡各引脚接到单片机I/O口上,由单片机对IC卡进行读写。由于PC(NC)机的RS232接口电平与单片机的逻辑电平不同,所以需要对串口信号进行电平转换。图2中使用了电平转换器件。它把单片机的TTL逻辑电平转化为RS232接口的%26;#177;12V电平,实现单片机与RS232的透明传输。转换后的信号直接接在RS232接口上。 2 IC卡读写器软件开发方案 IC卡读写器驱动程序由读写器与IC卡通信的通信程序、读写器与NC或PC通信的通信程序以及NC与读写器通信的驱动程序三部分组成。其中,NC与IC卡读写器通信的程序符合PC/SC规范,它与PC/SC规范的中间件结合,向应用程序提供符合PC/SC规范的API函数。 2.1 读写器与IC卡通信的通信程序 该通信程序采用ISO 7816-3字节协议标准编制。使用T=0,即字符协议,主要实现与IC卡的通信。由于选用的时钟为3.57MHz,在IC卡I/O口默认的9600bps通信速度下,每隔372个系统时钟脉冲,I/O状态可能变化一次。所以,为了准确读取IC卡I/O状态,在IC卡输出的每一位脉冲中间,即I/O启动186个时钟周期后,读取I/O状态。为了排除可能的干扰,在186个时钟周期的两侧再采样两点,共取样三点。三个采样点之间每两个点间隔24个时钟周期。如果三点取样值都为1,则输出为1;如果三点取样值都为0,则输出为0;如果三点取样值中有两点为1,一点为0,则输出为1;如果三点取样值中两点为0,一点为1,则输出为0。如图3所示。 2.2 读写器与NC的通信的通信程序 读写器与NC的通信程序采用异步串行口协议,双方通信先握手取得同步,然后再进行串行口通信。读写器通过串口接收NC发来的命令,并将执行结果通过串口发回。读写器与NC的通信在不影响读写器与IC卡通信的前提下完成。 2.3 NC的驱动程序 NC通信程序驻留于NC,它与读写器的通信程序通信。这个程序符合PC/SC规范。规范规定的分层模块结构见图4。 图4中的ICC就是Integrated Circuit Card,即IC卡。IFD就是Interface Devices,即IC卡读写器。IC卡插入读写器后,通过IC卡读写器IFD与NC驱动程序的IFD Handler层通信。ICC Resource Manager层管理各种不同的IC卡读写器和IC卡资源。每一种IC卡读写器通过各自的IFD Handler接口函数与ICC Resource Manager层通信,ICC Resource Manager层根据上层软件的要求,将上层软件发来的命令分别发到相应的IFD Handler,再通过它发给IC卡读写器和IC卡。而ICC-Aware Applications层对上层应用软件提供一个通用的API接口,以满足不同的应用程序对不同的IC卡和读写器的编程要求。Service Provider层介于ICC-Aware Applications层和ICC Resource Manager层之间,要吧提供文件的存取控制和驱动程序的加密通信功能。当然,在不使用加密通信功能时,也可以不用这一层。 NC的驱动程序根据规范要求,提供符合标准的IFD Handler层接口函数,其余各部分由符合规范的中间件提供。应用程序调用间件提供的API函数发送命令。中间件把应用程序发来的命令编译成动态链接库的IFD Handler接口函数发给IC卡读写器,最终发给IC卡。最后,IC卡将返回结果通过一系列相反的过程返回给应用程序。 3 Smart IC卡开发方案 IC卡芯片具有写入数据和存储数据的能力,IC卡存储器的内容根据需要可以有条件地由外部读取,以供内部信息处理的判定。根据卡中所嵌入的集成电路的不同可以分成三类: (1)存储器卡,卡中的集成电路为EEPROM(可以用电擦除的可编程只读存储器); (2)逻辑加密卡,卡中的集成电路具有加密逻辑和EEPROM; (3)CPU卡,卡中的集成电路包括中央处理器CPU、EEPROM、随机存储器RAM以及固化在只读存储器ROM中的片内操作系统COS(Chip Operating System)。 除此之外,IC卡根据读写方式不同,可分为接触式IC卡和非接触式IC卡两种。由于网络安全要求,IC卡在使用时必须一直插在读写器内。非接触IC卡由于其读写器没有专用卡座,尽管有寿命长等优点,但不适用于网络安全应用。 同时,由于CPU卡计算能力强,可以使用自己的COS操作系统,甚至使用硬件完成加密算法。而IC存储卡仅具有存储功能,安全性不如CPU卡好,的怪SNCS(Smart Network Computer System)的IC卡子系统采用接触式CPU卡。 网络计算机安全系统的IC卡设计满足标准化(国际标准)和智能化,既有安全性又有易维护性。它由硬件和软件两部分组成。 (1)硬件 采用CPU卡,它含有CPU及RAM、ROM等。具有优秀的安全性能,可能有效防止黑客对IC卡解密。 (2)软件 %26;#183;通信程序 IC卡软件即COS(Chip Operating Systarm),它是智能卡芯片内的一个监控软件,用于接收和处理外界发给智能卡的各种信息,管理卡内的存储器,并给出相应的应答信息。它有IC卡与读写器的通信程序。该通信程序完成与读写设备之间的通信,必须满足7816-3字符帧协议。该协议含有T=0字符传送协议和T=1数据块传送协议。 %26;#183;安全文件系统 COS文件系统与普通文件系统不同,它着重强调文件系统的安全性,除提供通常的字符流文件操作外,还提供记录文件的读写操作等。对每种不同的文件操作进行不同的访问权限保护。COS中的文件系统与上层应用软件的用户权限管理相结合,共同完成对IC卡文件的访问。由于IC卡的文件存储介质采用EEPROM,每次写文件操作时,必须对要写入的介质先进行擦除操作。 %26;#183;安全机制 安全机制用于身份鉴别和IC卡与读写设备双方的认证工作及各种数据的加密、数据完整性检查等操作。每个用户IC卡上都有用户的一个私钥,服务器把用公钥加密后的数据经IC瞳用自己的私钥解密后将正确的信息通过网络送给服务器,由服务器根据解密的信息完成对用户权限的鉴别。 %26;#183;加解密算法 加解密算法,用于对传入IC卡的数据进行加、解密,此外它还提供扩展接口,方便用户增加新的加密算法。 %26;#183;命令解译 命令解译是COS的上层软件,它实现ISO7816-4的各种命令和CA命令。 根据串口窃电IC卡读写器设计技术思想,IC卡读写器采用低功耗元器件(PIC16C73B低功耗单片机和74LV125A等),同时采用分离元件取代MAX系列的RS232接口电路,实现了无需外接电源的串口IC卡读写器。经实验测试,整个电路功耗低于10mA,完全可以由串口提供电源。 本项目实现的串口IC卡读写器完全符合ISO7816-1/2/3标准以及PC/SC规范;软件实现采用分层结构,实现了T=0的字符传输协议。 经实验测试,读写器稳定可靠地实现IC卡复位应答、读IC卡读写器件状态字、读一个随机数据、读取IC卡序列号以及选择一个文件等操作;在计算机与IC卡之间,可以实现数据的透明传输。此IC卡子系统既可以工作在Linux平台上,也可以工作在Windows系列平台上。

关键字:网络  网络计算  网络计算机  计算

编辑: 引用地址:http://www.eeworld.com.cn/wltx/qtjs/200703/2590.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
网络
网络计算
网络计算机
计算

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved