基于JAVA技术的校园_一卡通_管理系统.pdf
《基于JAVA技术的校园_一卡通_管理系统.pdf》由会员分享,可在线阅读,更多相关《基于JAVA技术的校园_一卡通_管理系统.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于JAVA技术的校园“一卡通”管理系统陈志琦,苏德富(广西大学 计算机与信息工程学院,广西 南宁530004)收稿日期:2003212215 作者简介:陈志琦(1979-),女,广西桂平人,硕士研究生,主要研究方向为网络并行计算和分布式中间件技术。摘 要:通过分析智能卡的特点,介绍我于JAVA技术构建的“校园一卡通”管理系统的系统分析、系统设计和系统实现,并重点介绍了智能卡商务交易问题的解决方法 电子钱包的基本架构和实现过程。关键词:Smart卡;Java卡;电子钱包;APDU中图分类号:TP311 文献标识码:A 文章编号:16712654X(2004)01200692031 问题提出随着
2、计算机信息技术的发展进步,高等院校已逐步向数字化、信息化、网络化迈进,普遍使用计算机系统来进行各个部门的管理工作,大大提高了工作效率和管理效率,但仍然存在如下一些弊端和缺陷。1)各部门的管理信息系统起步不同,平台不同,统一管理比较困难。如我校图书馆管理系统、学生就餐管理系统起步较早,自成系统,面向全体教职员工和学生;教务管理、财务管理、人事管理等系统相对独立,主要面向教师。2)学生和教师手持多张不同的证件,如就餐卡、借书证、医疗证、上机卡等,使用上诸多不便,且容易丢失,不易保管。3)学校规模不断扩大,校区分散,客观上对管理带来一定难度。智能卡在校园管理中应用的对象是校内的教职员工和学生。对于学
3、生,目前已经实现就餐收费、科书借阅、医疗收费、上机计时收费、校内消费、早操出勤等管理,对教职工,可以实现到会考勤,图书借阅,金融转账,身份认证、校内消费、就餐等管理。下面介绍我院实施智能卡校园管理应用系统的特点。2 智能卡的选择智能卡在处理芯片的异同上可以分为存储卡,逻辑加密卡以及CPU卡;本文所讨论的校园一卡通计划中采用了CPU卡,相比其他两种卡片,CPU卡具有以下优点:CPU卡具有很高的数据处理能力、计算能力及较大的存储容量,尤其是CPU卡完善的安全技术体质及面向应用编程良好的适应性及灵活性,自出现以来就受到有关应用部门(领域)的极大关注及青睐。CPU卡采用的是CPU芯片,CPU芯片的性能
4、指标在很大程度上决定了CPU卡的性能特点。CPU芯片内部集成有MPU(微处理器)、ROM、RAM、EEPROM、安全逻辑、密码运算协处理器等一系列功能部件,CPU芯片的功能大部分决定于这些功能部件的设置(是否)及其功能的强弱。CPU卡内部除设置一般通用标准部件外,还设置高性能的CAU及安全罗辑等,其余部件的功能也经专门设计而有很大提高,其中CAU多支持如RSA的非对称密码算法。另外,此种芯片在制造上采取了较高的硬件安全保护措施,并且在安全生产管理上也十分周密、严格,即使很小缺陷的芯片也必须进行登记、销毁等处理。可以认为,此种芯片在软(管理等)硬(设计、制造)两方面条件的保证下,具有十分高的安全
5、性、可靠性等技术性能。3基于网络的“一卡通”管理系统技术方案311 系统架构“校园一卡通”系统的网络结构分为两层。第一层为以数据库服务器为中心的局域网的分布式结构。第34卷 第1期2004年3月 航 空 计 算 技 术Aeronautical Computer Technique Vol134 No11Mar12004第二层为第一层局域网的网络工作站作为控制主机的通讯网络结构,该层网络控制各个IC卡收费终端。如下图1所示。图1 系统架构312 卡片应用CPU卡与其他存储卡不同之处在于它可以利用内部自身的微型处理器以及一些小型的存储器通过翻译外部指令完成指定的一些“动作”。一个典型的例子即是“电
6、子钱包”,通过JAVA语言编程,导入CPU卡中,可以使CPU卡变成电子钱包,通过接收相应的信号完成入款、出款等操作。“一卡通”项目最关键的是资金流通问题,下面以“电子钱包”开发为实例,介绍CPU卡结合JAVA语方开发卡内程序的一般过程。4“电子钱包”的设计分析411 系统需求“电子钱包”作为“一卡通”经济商业的基础,应该满足以下几个条件:1)方便,CPU卡体积大小和一般的IP电话卡相似,小巧易于携带。2)易用性和可扩展性,CPU卡内置相应的处理器芯片和存储器,可以进行一般的逻辑以及数学计算,方便地进行卡内款额的出入项计算,款项出入只需一个或多个信号即可在卡内完成,不必等待终端进行计算。3)安全
7、性,CPU卡的安全性能很高,它除了可以利用前期内置RSA、DEA等对称加密算法进行保密外,还支持用户编程进行二次开发加密,使用用户自已的算法进行加密,形成了该卡加密的独有性。412 系统分析该系统位于CPU卡内部,经过验证接受外部终端输入的指令,同时进行相应的操作,由于指令是由816个字节组成,因此传输率很高,非常适合于商业应用,可以很好地满足一般的校内消费(如食堂、小百货消费)的要求。413 系统实现图2CPU卡消费应用过程通过以上介绍,我们可以设计JAVA卡中相应的Applet来实现整个电子钱包的功能。图3是JAVA卡图3 文件转换过程Applet生成时一些重要文件转化的简单过程,在系统设
8、计中由以下几个步骤实现:1)获得APDU指令的缓冲(buffer)使用getBuffer()方法来得到APDU指令的缓冲,在缓冲中有指令信息(CLA,INS,P 1,P2,LC)和数据(DaraField)。2)获得APDU指令中的数据如果APDU指令中包含数据(Data Field)的信息,那么我们必须用setlncomingAndReceive()方法来获取Data Field中 的 信 息。因 为 在 使 用setlncomingAn2dReceive()方法之前,APDU缓冲中只有指令信息有效,即只有CLA、INS、P1、P2和LC这前5个字节有效。只有使用了setlncomingAn
9、dReceive()方法后,数据信息(Data Field)才会被加到缓冲的中,并在这5个字节之后。使用这种方式,主要是因为数据信息(Data Field)并不是必须的,有些APDU指令是没有数据信息的,所以在处理APDU指令时,一般先得到指令INS,根据指令判断这一指令是否有数据信息,若有,则使用setln2comingAndReceive()方法,使数据信息先接收到缓冲中,并从缓冲的第6个字起获取数据信息;若无,则不调用setlncomingAndReceive()方法。3)分析处理APDU数据07 航 空 计 算 技 术 第34卷 第1期Applet收到数据后,对数据进行分析,并按照一定
10、的流程来处理数据.例如,本例子中,当Applet收到存款指令和存款金额后,会对存款金额进行值域的分析,若值域符合要求,则将当前的存款金额加到存储总金额上。4)返回数据Applet处理完数据后,向终端返回状态字与数据。一般它的处理过程如下:先用setlncoming()方法来设置数据传送的方向,表明是Applet输出数据,同时setlncomingAndReceive()方法会返回参数Le。Le是指智能卡能够回传数据的长度。然后,我们用setlncom2ingAndReceive()方法告诉终端Applet实际回传数据的长度。最后,我们将要回传的数据设置到APDU的缓冲(buffer)中,用se
11、ndBytas()方法来传送数据,具体参阅下面例子中的getBalance函数.5)返回状态字当process()方法正常执行后,Applet会给终端自动发出OX9000返回状态字,表明APDU指令操作成功。如果在process()方法执行过程中,Applet发现了解一些错误,将用ISOException,throwlt(short reason)方法向终端发送错误发生状态字。5 安全策略511 卡片安全作为信息载体的基本单元,本“校园一卡通”系统采用CPU卡为载体的JA V A可编程卡片,每个扇区有独立的二组密码及访问控制,密码标准采用国际标准DES算法。另外,每张卡片具有严密的逻辑运算和逻
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JAVA 技术 校园 一卡通 管理 系统
限制150内