客服一(QQ:40114597):
该资料价格:¥200
,查看汇款方式
本系统开发工具:JAVA
本设计包含内容:源代码+可执行程序+毕业论文+开题报告+答辩稿
基于java语言的智能卡系统
【摘要】1996年,各大智能卡生产厂商举行了一场被称为Java卡论坛(Java Card Forum)的会议。会议的目的是去定义一个用于智能卡的Java子集,规定Java解释器的概要(称之为Java虚拟机,或JVM),并规定通用6年。在欧洲,出现了一篇关于开放终端结构OTA(Open Terminal Architecture)的论文,该论文描述了用于终端的第四代解释器,并做出了主要的规定。其目的是建立用于中断的统一的软件结构以便奠定与硬件无关的终端编程基础。据此,一特定应用(诸如信用卡支付)只需要一次编程就能在不同厂商制造的所有终端杀过那运行而不必做任何修改。1997年,几乎所有的智能卡制造和开发商都在Sun公司参API和专用API(例如,用于GSM或金融交易卡)二者的区别。这些API形成了智能卡操作系统和Java之间的接口。本设计就是应用这些接口开发一个基于Java语言的智能卡系统。
【关键字】Java,Java Card,Java Card Applet,OCF(Open Card Framework)
目录
绪 论
智能卡的名称来源于英文名词“Smart card”,又称集成电路卡,即 IC卡(Integrated Circuitcard)。它将一个集成电路芯片镶嵌于塑料基片中,封装成卡的形式,其外形与覆盖磁条的磁卡相似。
IC卡的概念是7O年代初提出来的,法国布尔(BULL)公司于1976年首先创造出 IC卡产品,并将这项技术应用到金融、交通、医疗、身份证明等多个行业,它将徽电子技术和计算机技术结合在一起,提高了人们生活和工作的现代化程度。IC卡芯片具有写入数据和存储数据的能力,IC卡存储器中的内容根据需要可以有条件地供外部读取,成供内部信息处理和判定之用。
在IC卡推出之前,从世界范围来看,磁卡已得到广泛应用,为了从磁卡平稳过泼到IC卡,也是为了兼容,在IC卡上仍保留磁卡原有的功能。为了使用卡片,还需要有与IC卡配合工作的接口设备IFD(InterFace Device),或称为读写设备。IFD可以是一个由微处理器、键盘、显示器与I/O接口组成的独立设备,也可以是一个简单的接口电路。无论是磁卡或IC卡,在卡上能存储的信息总是有限的,因此大部分信息需要存放在接口设备或计算机中。在实际应用中,智能卡可分为以下四种:
1.信用卡 卡中预先建立允许透支的限额,即预先设置好可借用的资金额度,承谱到期归还并支讨利息的责仟。
2.现金卡(付款卡)供储蓄帐户使用,持卡使用的资金是窖户已经存放在银行中的存款。
3.ATM卡 只能在ATM中使用的现金卡或信用卡。
4.预付卡 按卡面价值购买,先购买后使用,例如电话和公共系统用的预付卡,电表预付卡等。
另外还有诸如大饭店内部使用的卡,客人进入饭店后,住宿、用餐、娱乐等都可凭卡记帐,离开饭店时结帐。
本课题实现的智能卡系统实现电子钱包功能,能够实现存取款操作,也能在POS终端刷卡消费。在操作时,首先对持卡人进行身份验证。
由于本人的水平及经验有限,设计过程中的难免会遇到有这样那样的问题和错误,希望望各位读者批评指正。
智能卡与信用卡尺寸相同,他靠嵌入塑料基片的硅片伤得电路储存和处理信息。智能卡是便携的防传改的计算机,与磁条卡不同,智能卡不仅存储信息,而且也具有信息处理能力。因此智能卡在进行业务处理时不需要对远程数据库进行读取。
智能卡具有很多优点,其中最主要的时智能卡内建计算能力、安全、便携。
智能卡将处理器,存储器和I/O接口封装在集成电路商。由于不存在易受攻击的外部资源,因此它有很强的防攻击能力。刺探智能卡内的信息需要知道卡的物理参数,硬件和软件的机密知识并了解附加专用设备。存储在智能卡上的数据可以被加密以保护物理存储器,在智能卡和外部世界的数据交换也采用签名和加密方法。另外,对智能卡的存取一般由卡的持有者进行并需要输入个人识别码PIN(Personal Identification Number),从而保护智能卡不被非授权人使用。此外,要分解就分析智能卡比分解分析传统的台式机更困难。
智能卡还具有便携性。我们可以把它放在口袋里,随身携带,几乎感觉不到他的存在。
智能卡的使用时非常方便的,只要将卡插入智能卡读写器即可。
1.2智能卡的分类
智能卡由多种分类方法,一般可分成存储卡和微处理卡。根据卡的机制不同也可分为接触卡与非接触卡。
早期大量生产的智能卡时存储卡,存储卡宾不是真正的智能卡,因为存储卡上没有微处理器。典型的存储卡可存储1K到4K的数据,基本上都是用作公共电话或其他货物以及服务的预付卡。由于没有CPU来处理数据,其数据处理只能由简单的电路来完成,这些简单的电路只能执行几条预编的指令。这样的电路只有有限的功能,并且不能从新编程,因此存储卡不能反复使用。根据存储数据安全性的需要,数据的读取用保护存储器或安全逻辑来保护。然而实际上存储卡很容易被伪造。存储卡的有点是制造技术简单,适合特别低成本的场合。
与存储卡对应的是微处理卡,他包含处理器。一般处理器卡能提供更高的安全性和更多的功能。在微处理器卡中,数据不能直接适应外部应用程序微处理器控制数据的处理,须根据外部应用程序给定的一组条件(密码、加密等等)和指令来进行存储器的读取。微处理器卡的许多流行方式的特点是内建加密支持。这种卡特别适合需要进行数据加密访问的场合。微处理器卡是非常灵活的,可以对弈个应用进行优化或被集成微几种不同的应用,其功能只受存储资源与计算能力限制。微处理器卡广泛用于存取控制、银行应用、零售应用和无线通信应用等,其中,安全性和机密性是考虑的主要方面。
接触卡必须插入卡接受设备内。在进行操作时必须以正确的方向和方式插入一个机械的卡接受设备,因此使用费时。非接触卡不需插入卡接受设备,它与外部世界的通信是通过缠绕在卡上的天线进行的。因此操作速度快,通常用于快速进行数据和处理的场合。非接触卡也有缺点,它必须在卡接受设备作用范围内才能交换速据。当非接触卡非常快地移出作用范围时,由于数据处理时间短而只交换了有限的数据。也有可能在卡的持有者完全不知情的情况下在卡上进行了事务处理或数据交换。而且,在同等条件下,非接触卡比接触卡更贵。
本课题主要讨论的是接触式的微处理卡。
4 需求分析
4.1 功能需求
本课题设计一个基于Java的智能卡系统,来实现电子钱包的应用。用户在终端输入正确的个人识别码(PIN)后,取得持卡人权限,就可以进行取款,存款,查询余额等操作了。用户只需知道如何在终端进行存取款等操作,无需了解其细节。该智能卡不能透支。
如前所述,智能卡系统可分为在卡端和脱卡端,因此,该系统可粗略的分为以下几个模块:
智能卡applet模块:由取款模块、存款模块、查询余额模块组成;
智能卡终端模块:由智能卡监听模块、智能卡通信模块组成;
智能卡服务端模块:由pin验证模块、命令服务模块、命令服务代理模块组成。

