智能卡(SMART Card)是一种内置CPU的集成电路芯片卡,具有芯片操作系统(COS),能够进行数据读写和进行复杂的运算,它是微电子技术和计算机技术结合的结晶。智能卡自1976年由Bull公司生产出来以后,它被广泛地应用于金融、通讯、电子商务等等诸多领域,并以惊人的速度发展,始终保持着不断扩大的趋势。
智能卡除了内置有处理器CPU、只读存储器ROM、可擦除可编程只读存储器EEPROM、随机存储器RAM等一般的计算机系统组件,还有专门的密码协处理器,可以从硬件上提高密码算法运算的效率。一般智能卡密码协处理器都支持对称密钥算法DES、3DES、非对称密钥算法RSA、单向散列Hash算法MD5、SHA等等密码算法。智能卡所具有的独特的密码算法支持功能使得它在信息安全领域有着广泛的应用。在PKI、CA体系、电子商务、版权保护、数字电视收费等领域中,智能卡在身份认证和提供密钥服务功能方面有着不可替代的地位。
JAVA智能卡是JAVA语言与智能卡相结合的产物。概括说来,JAVA卡就是能运行JAVA语言的CPU卡。JAVA卡采用的是一种新的智能卡编程系统,它在智能卡上建立JAVA虚拟机及相应的运行环境,JAVA卡程序用标准的JAVA开发工具编写,然后下载到智能卡上由虚拟机解释执行。
JAVA卡有其独特的优点:
1、跨平台应用
JAVA编译器产生不依赖于平台的字节码,字节码在虚拟机中运行。它的代码独立于平台,可移植性好,可以跨平台运行,达到“编写一次,到处运行”的理想境界。基于JAVA语言开发的智能卡应用程序可以运行在所有的JAVA智能卡上。
2、开发效率高
其它的智能卡应用程序在开发时都以汇编语言外加C语言为主,需要对智能卡硬件有很深的专业知识,编程复杂,开发速度慢,成本高。JAVA语言是面向对象的高级语言,提供大量的通用API和密码算法API,使得编程应用变的简单。
3、安全性好
JAVA卡有用防火墙来隔离Applet之间的非法访问。JAVA语言的“解释性”执行的特点,使得它可以在执行时对代码进行彻底的检查,以防篡改、病毒和其它威胁,其安全程度远远超过了传统的预编译代码。
4、标准兼容
JAVA卡技术以ISO-7816标准为基础,因此可以兼容按ISO-7816开发的所有智能卡系统和应用系统。Applet不仅能在JAVA智能卡上相互执行,而且也能被现有的IC卡或智能卡读写设备所接受,因此JAVA智能卡具有很好的标准兼容性。
5、可扩展性好
非JAVA智能卡新增业务的时候,需要根据业务需求修改底层的用汇编编写的卡操作系统(COS);对于JAVA智能卡,开发人员不需要了解底层的硬件结构和相关指令集,只需要调用卡上提供的一套通用的API就可以增加新业务而不必修改底层系统。