自助加油终端机智能卡系统的实现 - 中国一卡通网
用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

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

来源:中国一卡通网  作者:不详  发布时间:2014-05-16 10:55:08  字体:[ ]

关键字:智能卡  IC卡  CPU卡  读卡器  

摘   要:无论从何种角度考虑,原来使用M1智能卡的自助加油终端,必然要对卡片和终端机进行升级。升级方案之一是改用更为安全的CPU智能卡来替代传统的M1卡。加油终端机融合CPU智能卡,既可以实现目前多种业务的综合经营,也可以实现与银行的接轨。

  1 引言

  由于M1智能卡遭到破解,前不久,工业和信息部发布了《关于做好应对部分IC卡出现严重安全漏洞工作的通知》,各机关和部门都相应地开展了对IC卡使用情况调查及应对工作。另外,由于目前越来越多的加油站加油作弊,造成用户信任问题,客观上需要真正引入可信任的第三方进行实质公证。交易时没有使用电子签名进行身份认证,不符合《中华人民共和国电子签名法》。因此,无论从何种角度考虑,原来使用M1智能卡的自助加油终端,必然要对卡片和终端机进行升级。升级方案之一是改用更为安全的CPU智能卡来替代传统的M1卡。加油终端机融合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智能卡除具有安全性外,还可以保存数字签名。因此,该自助终端机访问网络更加合法、安全、稳定,并具有不可抵赖性。

更多

新闻投稿合作邮箱:yktchina-admin@163.com    字体[ ] [收藏] [进入论坛]

推荐文章

论坛热帖