周贤波 陈杰新
摘要:一卡通系统是数字校园建设的基础部分,也是学校信息化建设的重要内容之一。在一卡通系统的设计、部署和实施中,安全性是首要考虑问题。基于此从卡片、终端、网络、前端应用、应用服务、数据中心、纠错能力等几方面对校园一卡通系统的安全性进行设计,以进一步推进数字化校园建设。
关键词:一卡通;数据安全;密钥;数字化校园
中图分类号: TP393文献标识码:A文章编号:1009-3044(2012)24-5791-04
Security Research and Design of E-card System
ZHOU Xian-bo, CHEN Jie-xin
(Net Center, Ningbo City College of Vocational Technology, Ningbo 315100, China)
Abstract: E-card system is the basic part of digital campus construction, it is also one of the important contents of school information con struction. In the E-card system design, deployment and implementation, safety is the primary consideration. Here design E-card system se curity based on card, terminal, network, application, application services, data center, error correction capability and so on, in order to fur ther advance the construction of digital campus.
Key words: E-card; data security; key; digital campus
一卡通是持有者在学校里的一种身份证明,和学校内的多个信息系统密切结合,关系着广大师生的教学、学习和生活的正常进行,在学校内,可以真正实现“一卡在手,走遍校园”的功能。[1]因此,对一卡通系统的安全性有着很高的要求。安全性是一卡通系统的生命线,在一卡通系统的设计和建设过程中,要把安全性设计放在首位,要确保系统能够高效、安全和可靠地运行。[2]在一卡通整个项目过程中主要从卡片、终端、网络、软件、纠错能力等几方面来考虑系统的安全设计。
首先,整个一个卡通系统的安全需要按照系统工程来建设、保障。其次,系统涉及到的每个环节都要考虑安全特性。最后,必须有针对性的对系统薄弱环节作特殊处理,以提高整个系统的安全系数。
1卡片安全性设计
采用密钥控制卡片数据区,即卡片内每扇区都是密码控制,就是使用不同的密钥来控制不同的数据区,防止被盗滥用。[3]卡片内数据区可以分为两类,校园卡数据区和个性化子系统数据区,数据区具有公共、独立的信息共享区,形成一种统一而又分而治之的数据管理策略。校园卡数据区的读写由卡片注册时生成的密钥进行控制,校园卡数据区加入系统专用标识,采用专用算法,专用算法存储在终端设备或SAM卡种,能有效地防止伪卡。[4]校园卡个性化子系统数据区采用出厂密码进行控制,在建立个性化子系统时可以更改对应的控制密码。具体可分为三种情况。如果子系统的建设和升级均由一卡通建设方自己完成,那么根据一卡通系统密钥生成原则,可直接接入一卡通系统。如果建设和升级由第三方进行,那么可以通过变更密钥,更换子系统扇区的读写密码。第三方提供最终的生成密钥给子系统专用读卡器,由读卡器控制卡片的读写权限。如果向第三方公开这个数据块,那全部由第三方来控制读写权限。
卡片是符合国家标准的电子钱包,可以保证卡机交易时卡片余额的真实有效。为了杜绝恶性透支的情况,卡片必须只有在余额大于零时才可以消费。当用户卡片遗失后,用户可以对帐户进行挂失,由上位系统主动广播,实现准实时生效,最长生效时间不能超过30秒。一卡通系统必须能实时更新黑名单。消息广播中心可主动发布黑白名单信息,确保所有联网终端在第一时间感知黑白名单的变动情况,并及时更新黑白名单。为了避免卡片遗失后被人恶意刷卡造成严重损失,管理员可以根据学校的实际情况限定钱包金额和交易次数,包括单笔金额限制、日累金额限制、当日交易次数限制、日累交易次数限制。除了管理员的限定外,用户自己也可以采取密码限额,当超过用户的限定消费额度时,必须输入个人密码方可消费成功。当网络出现故障需要脱机消费时,可以分别采用不同的限额来启用个人密码、禁止消费,从而使丢失但来不及挂失的卡造成的损失最小。而这些密码只有用户本人知道,在系统上操作员看不到持卡人的个人密码,持卡人的权利得到保障。
2终端设备安全性设计
2.1终端设备的安全
处于系统的最前端的终端设备,其稳定性和可靠性直接关系到一卡通系统的安全与否,所以在一卡通系统中采取注册/授权双向认证来防止非法产品入网流通使用。[5]
为保证系统密钥安全,采用密钥分段管理的办法对密钥进行管理与控制,可以有效防止密钥泄露。[6]终端设备首先必须用授权卡授权密钥信息,其次终端设备还必须与主机连网,由主机下载另一部分密钥信息,终端对两部分信息组合得到完整密钥,才可对卡片操作。
每台终端设备应具有签到和签退功能,保证交易的合法性。另外,操作员也可以设置键盘锁定与开锁功能。当非法卡在终端机使用时,终端机使用黑、白名单技术对卡片的合法性进行验证,并对非法卡使用情况进行记录,有效防止非法卡片的流通。对黑卡以及各种非法卡使用状态,将自动识别并提示相应的报警代码,提示工作人员采取相应措施处理,防止流通使用。其中非法卡片包括了未被授权在此终端机上使用的卡片和过有效期卡片。
2.2终端设备交易数据的安全
首先,终端机的密钥保存在PSAM卡中,而且无法被读取,这样可以增加交易的安全性[7]。其次,每一台消费终端机器在系统管理中心都有唯一的一个机器识别号。另外,为了防止伪造和非法使用终端,保障终端使用的安全,因此,每个合法操作员都被分配一张操作员卡,用来验证操作员身份的合法性。只有经过操作员刷卡后,消费终端才可以进行正常消费交易。当消费者拿着卡到终端上刷卡消费时,用户卡将与终端进行双向身份认证,终端首先需要验证用户卡的合法性,如果验证通过,那终端将进一步检查此卡是否在黑名单中,或卡片是否过期,如果都不是,那么这张卡才可以在终端上进行消费,并且卡中消费额度都可以通过设置进行限制。用户消费后,终端会自动保存交易流水和交易认证码。终端中保存交易流水的同时保存交易认证码可以有效防止数据被篡改。当进行数据采集时候,交易流水和交易认证码会一并上传,结算中心通过交易认证码的校验,来保证数据的真实性和完整性。为了防止数据泄露,上传到数据中心的数据都是加密保存。
为了避免终端设备在断电后无法继续运行使用,在终端设备比较集中的场所,可以配置UPS,比如餐厅、超市等地方,在设备相对比较分散的地方,可以为终端设备配置后备电池,比如个体商户。最后,为了进一步提高消费过程和终端的安全性,一套完整的密钥管理体系是必不可少的。
3网络安全性设计
3.1网络安全整体规划
主要从以下几方面考虑:
1)实体安全。主要是机房建设的合理性及安全性。
2)平台安全。主要是操作系统、网络协议以及应用服务器,当然也涉及交换机和防火墙的安全。
3)数据安全。主要是数据的机密性和完整性。从两方面进行解决:一方面采取软件加密方式,在传输协议上采用金融报文交换格式ISO 8583标准,通过DES、数字签名、MD5等加密措施,使所有终端设备接入都采用动态密钥进行签到、签退。另一方面是硬件加密,采用通过国家密码委认定的硬件加密产品。
4)通信安全。利用交换机来划分虚拟子网(VLAN),在没有配置路由的情况下,不同虚拟子网间是不能够互相访问。5)应用安全。严格控制内部使用人员对网络共享资源的使用。
6)运行安全。包括系统软件的升级和补丁,应用软件的检查和评估。
7)管理安全。制定健全的安全管理体制将是网络安全得以实现的重要保证。
一卡通系统建设中网络设计主要从以上几方面进行全方位规划。但是对于边界网络应该给予特别的关注。
3.2边界网络安全设计
1)一卡通网络与校园网的安全
在网络设计上,通过双网卡应用服务器群,隔离一卡通网络和一卡通之外的校园网络(校园网),通过VPN设备和相关技术构建一卡通网络,保留原有的校园网不变。设备接入服务、应用接入服务、信息发布服务和系统对接服务都配置双网卡,分别连接原有校园网络和一卡通网络。[8]
2)一卡通网与银行网的安全
为了杜绝校园网内部直接对银行网络的地访问,需要通过双网卡隔离这两个逻辑望段。一卡通系统如果需要银行这边的数据则从设立的银行通信网关获取,由银行通信网关访问银行网络。
在公网或专网上传输数据的安全、数据报文传输的安全以及与银行前置机数据交换的安全主要由双向身份认证、加密和报文认证来保障的。对传送的数据包加校验码(MAC或LRC),而对关键数据可进行加密处理,所有传送数据需要按银行要求将数据打包成ISO8583格式报文[9]。
3)第三方接口安全性
第三方应用系统接入一卡通系统采用专用对接POS机和系统对接服务的方式实现,即保留原有子系统的结构,单独配置一台双网卡的系统对接服务器。系统对接服务器的作用相当于应用网关,提供第三方应用系统到一卡通系统的应用接口。
任何一个应用系统或终端想要使用一卡通系统的资源或接入到一卡通系统都必须通过一卡通系统的授权、认证才能接入平台。应用接入服务和设备接入服务为每一个应用系统及终端设备建立授权注册信息,保证信息的安全传递与存储。所有应用系统及终端设备都必须经过认证才能与中心数据库进行交易,如果不进行认证就进行交易申请,那么后台不会接受。[10]认证过程由一卡通的统一身份认证自动完成,对应用系统而言是透明的,应用系统接入的复杂度不会因为这个流程而增加,通过以上措施可以严格保证系统接入的安全性。
4软件安全性设计
一卡通系统采用三层架构,具体划分成以下三个层次:数据库层,即一卡通数据中心、应用服务层,即一卡通应用服务群和用户界面层,即一卡通前端应用系统。
4.1前端应用接入安全设计
前端应用系统只有在一卡通中心注册以后才能安全的接入一卡通应用服务支撑平台,另外应用接入服务支持与前端应用之间建立安全通道,防止合法的IP地址的非法的程序对应用服务的访问和攻击。
当前端应用系统给应用服务发送一个接入请求后,应用接入服务通过身份验证服务判定前端应用是否已经注册,如果是通过认证的,则把认证码返回给应用接入服务,应用接入服务允许操作员登陆,再通过身份验证服务的验证操作员是否允许登录,如果允许则通过认证,返回结果给应用接入服务,前端应用被允许启动,通过建立在前端应用系统和应用接入服务层之间安全通道,数据就可以通过加密通道递交。
4.2应用服务层安全设计
应用服务层是一卡通的核心部分,集中了一卡通系统的业务逻辑的处理,如身份认证、支付交易等。应用服务层的设计很大程度上决定了软件系统的健壮性、灵活性和可重用性,对以后软件系统的升级和维护有重要影响。
为了使应用服务层的设计达到最佳效果,需要对应用服务层作进一步的职能分析和层次细分。应用服务群包括设备接入服务、应用接入服务、系统对接服务、信息发布服务、支付交易服务、转帐充值服务、管理结算服务、身份验证服务、信息查询服务等,基于微软的.Net平台实现。
应用服务层(业务逻辑层)是一卡通系统业务逻辑处理集中的部分。从完整的角度来说,应用服务层处理了以下内容:数据的表示方式(考虑类或对象同关系型数据的映射)、数据的存取方式(处理系统同数据库的交互)、业务逻辑的组织方式(业务逻辑封装成组件)、业务服务的提供方式(调用)、层的部署和层间交互(不同的部分部署在不同的逻辑或物理设备上)。
应用服务层的安全主要从以下几方面进行考虑。
1)自定义安全通道
一卡通应用支撑平台采用MS .NET Remoting技术实现,我们采用了自定义的安全通道解决客户机与服务之间、服务与服务之
间的安全通信。[11]
客户端与进程内的代理对象进行通信。可以通过远程对象代理设置身份验证凭据(例如用户名、密码和证书等等)。方法调用通过接收链进行传递(可以实现自己的自定义接收来执行数据加密),并到达负责通过网络发送数据的传输接收。在服务器端,调用通过相同的管道进行传递,并向对象发出调用。
2)身份验证和授权
一卡通应用支撑平台提供身份验证服务,前端应用程序以及各类卡机具登录和签到时将递交身份验证服务,当通过验证以后,系统会给每一个签到和登录的卡机具及应用系统一个UID,然后才建立安全的通信通道,以后UID将参与所有的通信加密过程,保证只有合法的卡机具和应用程序才可以调用一卡通系统提供的服务,并且不同的角色提供的授权信息不同,只能访问可信资源。
3)应用服务分层模型
为了保护一卡通数据库的安全,应用服务分成两层,一层面向一卡通外网,安全接入各类卡机具和前端应用系统,同时用于外部系统的对接和信息发布,包括设备接入服务、应用接入服务、信息发布服务、系统对接服务以及数据代理服务;一层面向一卡通内网,一方面为供面向一卡通外网的应用服务调用,一方面访问一卡通数据库,包括支付交易服务、管理结算服务、转帐充值服务、设备监控服务、身份验证服务、信息查询服务
应用服务层通过一致的数据访问服务,不但使得前端应用系统不能直接访问数据库,同时各应用服务通过一个口子访问数据
库,保护数据库的安全。[12]
4.3数据中心安全设计
1)数据库备份设计
建议使用两台数据服务器,通过双机冗余软件实现两台数据服务器的冗余,如果其中一台数据服务器发生故障,那么另一台服务器将自动接替工作,保证一卡通系统安全稳定的运行。[13]数据服务器需要连接一台磁盘阵列或SAN系统,以完成系统备份。
2)数据访问逻辑隔离
逻辑隔离并非彻底隔离数据,而是通过软件使数据有选择地通过。[14]在设计时充分考虑了校园一卡通网络基于校园网络的现状,所以通过应用服务器群的部署,逻辑上隔离了外部应用程序或者电脑对一卡通数据库的直接访问,进一步保护了数据中心数据的安全。
5系统纠错能力设计
在一般正常情况下,交易流水除了回传给数据中心,在POS机、通讯控制器上也会保存交易流水,以便与数据中心的数据进行比对。
当网络故障时,消费终端可以通过脱机消费继续工作,交易流水保存在消费终端上,一旦网络恢复畅通,数据就回传到数据中心并进行对账。
当系统通讯出现问题时,交易流水分别被保存在POS机和通讯控制器中,以便通讯恢复时进行对账并将流水回传给数据中心。
如果设备损坏,并且交易流水没有正常回传,那么系统将自动采取对账、挂账机制,这样既保障了商户和消费者的利益,又确保系统账务和数据的准确。
万一出现交易流水没有正常上传,系统将采用独有的卡库对账机制。交易流水是由卡号、卡片交易流水号、终端交易流水号、卡余额、交易额、交易日期、时间和认证码等信息组成的。
当消费POS机坏了,造成数据丢失,则系统有的严格的查账机制。当系统进行日结时发现上传流水的流水号不连续,则后台中心数据库进行流水号的检测工作,将流水号不连续的记录同步到控制器,再由控制器将记录同步到各台消费POS机。[15]当卡片到消费终端刷卡时,POS机检测到此卡片有未上传的流水,系统会自动将检测到片内的消费流水信息即时回传到校园卡后台,再由后台进行平账。
6结束语
一卡通系统安全、稳定地运行是学校教学、科研、后勤生活等学校活动顺利开展的基础,随着学校需求的增加,它的应用范围也会越来越广,对安全提出的要求也越来越高。一卡通是数字校园建设的基础和核心系统,整个系统的分析、设计到实施都要充分体现安全性的理念。在这个安全性理念的指引下,一卡通建设对数字化校园建设起着非常重要的推动作用。
参考文献:
[1]崔景娜.一卡通管理体系的构建与实践[J].实验室研究与探索,2011(9): 341-342.
[2]胡敏.浅谈校园一卡通系统的管理与安全性分析[J].科技信息,2010(15):465-466.
[3]徐维.校园一卡通的安全技术研究[J].电脑知识与技术,2011(21):5104-5106.
[4]邓拥军.一卡通系统中卡片的安全设计[J].网络安全,2007(5):70-71.
[5]任洪琴.数字化校园一卡通系统安全问题探讨[J].医学信息学,2009(9):1720-1722.
[6]刘冰玉.IPSec在校园一卡通平台安全系统中的应用[D].沈阳:东北大学,2005.
[7]孙长智.校园一卡通系统的设计与实现[D].天津:安徽大学,2012.
[8]王洪军.浅谈高校一卡通系统的数据安全[J].科技创新导报,2010(24):32-33.
[9]朱晔.浙江树人大学校园一卡通系统的设计与实现[D].杭州:电子科技大学.2012.
[10]徐辰.第三方应用接入一卡通系统方式初探[J].电脑知识与技术,2011(1):229-230.
[11]陈卫卫,王艳.Microsoft.Net Remoting技术的应用研究[J].数字技术与应用,2010(6):22.
[12]赵飒飒.一卡通系统设计与研究[J].硅谷,2009(1):14.
[13]张莹.校园一卡通系统的规范化部署方案[J].信息科技,2011(8):204-207.
[14]余明,曲江.以安全网闸技术实现计算机网络安全[J].科学与管理,2008(3):88-91.
[15]郭明超,饶增仁.射频IC卡POS机软件设计[J].甘肃科技,2009(21):22-25 .