JAVA卡工作原理
一、什么是JAVA卡?
JAVA卡是一种可以运行JAVA程序的智能卡。该智能卡由CPU、EEPROM(存储)、RAM(内存)、加密协处理等组成,很像一台小型的PC,主要用于安全服务场景。
二、工作模型
JAVA卡上电以后系统就会自动运行,主机通过发送APDU访问JAVA卡的功能。JAVA卡只接受2种APDU:选择应用APDU(系统实现),应用功能APDU(应用实现)。
典型工作流:
1、JAVA卡上电
2、发送APDU选择应用1 –> JAVA卡调度应用1 –> 发送功能APDU -> 应用1响应功能APDU
3、发送APDU选择应用2 –> JAVA卡调度应用2 –> 发送功能APDU -> 应用2响应功能APDU
4、JAVA卡下电
JAVA卡虚拟机:解释执行JAVA字节码指令。
JAVA卡标准API:是J2SE的一个子集,详情请参考下面。
1、java.lang,定义Object和Throwable等基础类
2、javacard.framework,核心框架类(应用框架、消息传输、瞬时内存、事务处理等)
3、javacard.security,定义安全框架基础类
4、javacardx.crypto,定义了Cipher和KeyEncryption等基础类
5、org. globalplatform,GP规范的应用编程接口
JAVA卡私有API:卡商自定义的API,提供提供附加实用功能。
JAVA卡应用:系统自带的应用或用户编写的应用,系统自带的应用必须有Card Manager(AID=A000000003000000),负责上传应用、安装应用、删除应用、其他管理功能等。
APDU:定义了主机和JAVA卡之间交互的数据格式,JAVA卡由process方法处理APDU。
三、编写、生成JAVA卡应用
1、利用JAVA卡的API编写JAVA应用代码。
2、编译JAVA应用代码为Class字节码(注意必须使用JDK1.5编译,或在eclipse中设置,因为转换工具只支持这个版本)。
3、利用converter.bat(参见java_card_kit-2_2_2使用介绍,JCOP支持自动生成)将Class文件和Export文件(链接信息)转换为CAP应用文件。
说明:因为JAVA卡平台CPU主频比较低,存储和内存都很受限,所以要转换为CAP文件提高资源效率。
-
隔磁片的作用:在RFID/NFC线圈模块抗金属干扰[2020-06-08]
-
超高频RFID射频识别技术常见的三种应用[2020-07-27]
-
CPU卡加密系统与M1加密系统比较[2020-09-03]
-
物联网行业五大关键技术[2020-07-22]
-
物联网之RFID二[2020-05-31]
-
射频标识RFID测试技术[2020-05-19]
-
基于MSP430F2012和IA4420主动式RFID标签设计[2020-05-26]
-
我国将再添一项RFID安全领域国际标准[2020-04-20]
-
NXP JCOP系列芯片JAVA卡CPU卡参数与分类说明[2020-04-20]
-
PBOC规范下的java卡介绍[2020-06-19]
-
Java Card_kit 2.2.2使用介绍[2020-04-22]
-
JavaCard应用程序开发三部曲 - 基础篇[2020-12-05]