基于开源系统的IC卡系统的设计与实现

时间:2022-04-27 01:14:44

基于开源系统的IC卡系统的设计与实现

摘要:本文对基于开源系统的IC卡系统的设计与实现做了简要介绍。

关键词:开源系统IC卡系统

当前,很多城市已经开通了公交IC卡收费系统和城市一卡通收费系统(以后统称为IC卡系统)。这些城市运行的IC卡系统中,基本上是采用C/S结构进行开发的,并且采用的操作系统是Windows。但是在实际应用中,用户面临以下问题:①由于城市规模的不断扩大,IC卡服务网点也在不断的增加,给程序的安装、升级、维护带来了不便。②随着我国版权保护的不断深入,运营商在IC卡系统建设中对硬件设备及软件方面的投入也在不断的加大,建设和运营成本也在不断的上升。③计算机病毒对系统的危害巨大,如何有效防止计算机病毒的侵害。④随着网络技术的不断提升,以及网络资费的不断下降,运营商有意愿采用实时在线方式进行业务处理。从而降低业务数据丢失的风险。

为了解决以上的问题,我们考虑采用以下设计思路来实现:

1 体系结构

系统采用J2EE进行开发,采用SSH架构进行设计。服务端增加了Servlet技术,实现对加密机、数据库、文件系统等设备的控制。客户端采用Applet技术,实现对本地串口设备的驱动。

为了保证客户端的安全性,客户端的操作必须使用密钥卡(CPU卡)进行操作员身份的安全认证,合法用户才能进行相关功能的操作。

为了保证数据通讯过程的安全性,在客户端Applet与服务端Servlet通讯时,采用密文传输,并且通讯密钥动态更新,防止数据被篡改。

由于JAVA具有跨平台的特性,IC卡系统可以支持多种操作系统及多种浏览器,客户端浏览器在访问页面时,自动判断操作系统类型和浏览器类型,并自动下载驱动程序到客户端,真正实现客户端的简单式操作。

对于与业务关系不太紧密的功能(如数据查询、分析报表等),考虑将其安排到一个独立数据库服务器中,并且定时进行数据同步,减轻业务系统的访问压力。

作为开源软件的领军产品,Linux以其精简的内核,安全性高、性能高、稳定性高、多任务等特点,已经应用到很多领域。Linux适用于不同的CPU,支持多种体系结构,如X86、ARM、MIPS、ALPHA、SPARC等,因此用户在硬件的选择上更加多样。

将Linux安装在基于x86的计算机和服务器上,采用开源的postgres数据库进行数据的存储与管理,硬件和软件的成本显著降低。

2设计原理

2.1 采用三层体系结构。将数据与程序、数据控制与应用逻辑分层独立管理,能更严格地控制信息访问;信息传递中采用数据加密技术,可进一步减低信息失密的风险。应用服务器内建安全控制数据库,实现应用服务器与数据服务器的双重权限控制,对权限的划分更准确、灵活、严格。系统在信息访问、传递和存储三个环节上均有严格的安全措施。

将大部分数据处理从客户端转移到应用服务器和数据库服务器上。这样,尽管客户端与应用服务器之间可能存在着几十个甚至数百个的连接,但是应用服务器与数据库服务器之间的连接却只有少数几个,从而达到可伸缩性的目标,使得在用户数量急剧增加时还能保持系统性能的稳定。

2.2 采用BS结构。用户界面完全通过浏览器实现,可以在任何地方进行操作而不用安装任何专门的软件,客户端零维护。通过将业务逻辑集中到中间层,系统获得了对业务逻辑的独立性,当用户的需求改变时,开发人员可以迅速地在中间层上更新业务逻辑,而无需将更新后的应用提交到众多的PC终端系统上去,客户端无需任何改动,实现系统的无缝升级。

2.3 针对客户端操作系统的一些配置参数,采用本地文件进行管理的方式。如驱动文件文件地址、读写器的连接串口号、打印机的端口名称等等。客户端登录时,自动读取配置参数。

2.4 在业务系统操作时,操作人员登录系统,必须通过密钥卡(CPU卡)、口令认证和页面登录用户名、口令认证的双重校验,非本系统的操作人员很难进入业务系统。由于业务系统属于联机系统,如果发生密钥卡或账户的挂失,系统可以立即停止该账户的所有功能的操作。为了进一步保证系统的安全性,还可以考虑将业务系统采用专线连接(VPN)的方式,并设置独立的IP地址。服务端将客户端的IP地址进行绑定,从而防止非法用户的使用。

2.5 在业务系统中,实现IC卡的售卡、充值等的操作,必须保证IC卡密钥的安全性。因此考虑将IC卡的根密钥导入加密机中,同时将加密机放在后台中心。每次操作IC卡的时候,均需要服务器端实时生成密钥。客户端页面嵌入Applet程序,可以与服务器端的Servlet进行通讯,完成获取密钥,访问数据库的操作。

2.6 客户端Applet程序主要负责对IC卡进行操作。为了保证系统的安全性,我们将对IC卡的操作指令封装在读卡器中,读卡器只接收密文数据,由读卡器对密文解析后,根据解析后的数据内容,进行进一步的操作。有后台服务器的Servlet程序,负责生成密文数据报文。

3技术特点

3.1 采用开源系统,降低采购成本。

3.2 获得良好的跨平台特性,支持Linux、Unix、windows等多种桌面操作系统,同时支持多种浏览。

3.3 采用三层结构,能有效提高系统安全性。

3.4 采用B/S结构设计,实现系统无缝升级,降低维护成本。

上一篇:浅谈铁路运输计算机联锁技术 下一篇:关于高校人事档案数字化平台建设的若干思考