您当前的位置:首页 > 经济论文>邮电经济论文

自助加油终端机智能卡系统的实现

2015-07-24 09:41 来源:学术参考网 作者:未知

摘 要:由于传统的M1智能卡遭到破解,因此,原有加油站的智能卡系统必须进行升级才能解决。文章针对自主加油终端的特点,给出了智能卡系统的实现方案,包括智能卡的选择,读卡器的选择与安装,驱动程序的安装,PC/SC系统服务的设定等。

关键词:终端机;CPU智能卡;数字签名;实现

  1.引言
  由于M1智能卡遭到破解[1],前不久,工业和信息部发布了《关于做好应对部分IC卡出现严重安全漏洞工作的通知》,各机关和部门都相应地开展了对IC卡使用情况调查及应对工作。另外,由于目前越来越多的加油站加油作弊,造成用户信任问题,客观上需要真正引入可信任的第三方进行实质公证。交易时没有使用电子签名进行身份认证,不符合《中华人民共和国电子签名法》。因此,无论从何种角度考虑,原来使用M1智能卡的自助加油终端,必然要对卡片和终端机进行升级。升级方案之一是改用更为安全的CPU智能卡来替代传统的M1卡[2]。加油终端机融合CPU智能卡,既可以实现目前多种业务的综合经营,也可以实现与银行的接轨。
  2 智能卡的选择
  在工业界,智能卡通常分为以M1卡为代表的普通智能卡(即逻辑加密智能卡)和带有CPU和操作系统的CPU智能卡。
  2.1 M1卡的破解
  M1卡也就是Mifare卡,集计算机技术、自动控制技术、网络通讯技术、智能卡技术、传感技术、模式识别技术和机电一体化技术于一体。M1卡是我国各大中城市普遍使用的公交卡,学校使用的校园卡,公路使用的缴费卡,商场餐厅使用的消费卡。它占我国非接触智能卡市场的95%,发卡量在中国已超过1.5亿。
  2009年来看,从来没有一件事情比M1卡被破解更令人瞩目,也使得国家机关被迅速行动起来。日前工业和信息部发布了,《关于做好应对部分IC卡出现严重安全漏洞工作的通知》,各机关和部门都相应地开展了对IC卡使用情况调查及应对工作。2008年,德国研究员亨里克·普洛茨和美国弗吉尼亚大学计算机科学在读博士卡尔斯滕·诺尔就享受到了成功的喜悦:他们最先利用电脑成功破解了恩智浦半导体的Mifare经典芯片(简称M1芯片)的安全算法。M1破解之后,如果数据区域没有加密,那么很容易遭到数据篡改,如果数据区域被加密,那么复制卡的缺陷很难避免。由于加油站人员流动性很大,因此,根本不能避免卡被复制的问题。按照国际惯例,一旦卡片被复制造成了消费,那么肯定不能有原始持有人承担责任。所以升级系统变得刻不容缓。
  因此,必须采用CPU智能卡来替代普通的M1智能卡。
  2.2  CPU智能卡选择
  智能卡(SmartCard)[3],也叫IC卡。CPU卡内具有中央处理器(CPU)、随机存储器(RAM)、程序存储器(ROM)、数据存储器(EEPROM)以及片内操作系统COS (Chip Operating System),CPU卡不仅仅是单一的非接触卡,而是一个带有片内操作系统(COS)的应用平台。用COS实现对卡内数据的保护,如用户和系统的相互认证、应用顺序控制和管理、随机数的产生和传输、密钥管理、加密、解密、信息的安全传输等。装有COS的CPU卡相当于一台微型计算机,不仅具有数据存储功能,同时具有命令处理、计算和数据加密等功能,具有信息量大、防伪安全性高、可脱机作业、可多功能开发等优点。CPU卡是真正意义上的智能卡就是人们常说的SmartCard。
  由于目前逻辑加密卡的安全隐患现状,大力推进CPU卡应用就显得势在必行。而国家相关部门也做了大量工作,建设部IC卡应用服务中心在2008年就制订了两项国家行业标准,同时向建设部申报三项城市互联互通卡系列标准。所以,在加油终端机上采用CPU智能卡就成为必然的选择。 
  3 读卡器的选择与安装
  3.1 读卡器的选择
为了使得系统兼容性更好,CPU智能卡读卡器采用基于PC/SC规范的读卡器[4]。PC/SC规范是由微软公司与世界其它著名的智能卡厂商组成的PC/SC工作组提出的。PC/SC规范是一个基于Windows平台的一个标准用户接口(AP1),提供了一个从个人电脑(Personal Computer)到智能卡(SmartCard)的整合环境,虽然到目前为止,Windows是唯一支持PC/SC标准的操作系统平台,但由于Windows的影响力,PC/SC规范也为智能卡业界所接受。其PC/SC中间件的安装采用 University of Applied Sciences Winterthur in Switzerland.设计的安装包。值得注意的是,该中间件仅仅提供了基本的PC/SC支持,而且使用比较复杂。所以在实际应用的时候,在其基础上对API进行了包装和扩展。这样非常有利于应用程序的开发。厂商驱动采用厂商提供的Scr33 for linux9 驱动程序。该驱动程序提供硬件和PC/SC中间件的连接工作。在测试中,身份验证智能卡暂时使用某种比较通用的智能卡,但是其COS和内置的算法做了某种改变,其中,内置了标准的DES算法。
  3.2 驱动程序的安装
通常,终端机系统工作在Linux平台,这里以该平台为例进行介绍。首先应该以ROOT 用户登录,并且有编译工具如gcc等。
首先安装PC/SC中间件。假设PC/SC的包名称为pcsc-lite-X.Y.Z.tar.gz,X.Y.Z为版本号。请注意其中的版本号码,最好阅读一下README文件,确认是否适合你的系统和具体的安装过程。一般情况下,执行下列命令:
  bash# tar -xvzf pcsc-lite-1.2.0.tar.gz
  bash# cd pcsc-lite-1.2.0
  bash# ./configure  --enable-usb --enable-daemon
  //允许作为守护进程运行。在这个系统中,由于要实现使用智能卡来做身份认证工作,所以必须做为守护进程来运行。
  bash# make
  bash# make install
值得注意的是,由于Linux系统的不断升级,加上卡本身驱动的升级,虽然使用的智能卡都是基于PC/SC规范的卡,但是具体的安装过程依然比较麻烦。如果采用的是新版本的fedora 9,由于其内置了智能卡的驱动,那么,就可以省略这一步。如果安装不成功的话,请更改为其它版本的驱动程序。在本部分,必须多多进行研究,因为很少有厂家提供比较完善的Linux9支持。
安装中间件后。一般要进行测试。运行可执行程序pcscd――stdout &,然后用PSTREE查看是否存在pcscd守护进程。如果存在,表明pcsc中间件的安装已经完成。
然后。进行厂家驱动的安装。一般情况下,按照厂家提供的驱动程序,大体都能安装成功。这里不再赘述。
  3.3 PC/SC系统服务的设定
由于操作系统需要在系统启动后就能获取智能卡的内容,所以pcscd守护进程 要随系统自启动。关于pcscd的介绍及安装过程见上节。本部分仅仅介绍如何将已有的程序加为随系统启动的守护进程。 
  (1)编写pcscd脚本。
  (2)将pcscd放入/etc/init.d 目录下,执行命令cp  -f  pcscd  /etc/init.d/
  (3)在指定的rc.d目录下作连接
  执行命令:ln -sf /etc/init.d/pcscd  /etc/rc.d/rc$i.d/S94pcscd。其中$i表示在哪个启动级别下运行。在本系统中要在图形界面即级别5下运行,故i取5。
重新启动系统,使用命令pstree可以见到pcscd守护进程随系统自启动。
  4 结语
  到此为止,完成了自助加油在终端机中智能卡系统的设计。由于CPU智能卡除具有安全性外,还可以保存数字签名。因此,该自助终端机访问网络更加合法、安全、稳定,并具有不可抵赖性。
参考文献:
[1]王左利.积极应对M1卡的安全挑战[J]. 中国教育网络, 2009.7.
[2]佟秋利.CPU卡或成主流[J]. 中国教育网络, 2009.7.
[3]陈作炳, 张鸿宇, 陈燕飞, 李欣, 刘军. CPU卡技术及应用系统设计研究[J]. 武汉理工大学学报 , 2002,(09).
[4]张建军, 包国峰,马一兵. FM1208非接触CPU卡读写系统的研制 [J] .单片机与嵌入式系统应用,2009,12.

相关文章
学术参考网 · 手机版
https://m.lw881.com/
首页