非接触卡片APDU指令详解
需积分: 50 185 浏览量
更新于2024-07-20
4
收藏 340KB DOCX 举报
"本文主要介绍了非接触卡片中使用的APDU指令,包括其格式、命令头域、命令体、响应数据格式以及一些常见的APDU指令。APDU是智能卡与读卡器之间通信的标准协议,遵循7816-4规范。"
在智能卡技术中,APDU(Application Protocol Data Unit)指令是卡片与读卡器交互的基础,它们用于执行各种操作,如选择应用、读取或写入数据等。APDU指令格式由7816-4标准定义,通常包含四种情况,这些情况定义了数据传输的不同模式。
APDU命令格式由4字节的命令头和可变长度的命令体组成。命令头包括CLA、INS、P1、P2四个字段,分别表示类别字、指令代码、参数1和参数2,它们共同确定了要执行的具体操作。命令体可能包含Lc、Data和Le字段,Lc指示Data字段的长度,Data用于传递数据,Le指定期望的响应数据长度。
APDU响应数据由返回数据(如果有的话)和两个状态字SW1SW2组成。状态字提供了关于命令执行结果的信息,例如成功执行还是出现错误。SW1表示状态,SW2可能是更具体的错误代码或者补充信息。某些特定的SW1值如高半字节为'9'或'6',可能具有特定的应用含义。
文章还列举了一些交通行业中常见的APDU指令,这些指令广泛应用于非接触式卡片操作:
1. SELECT:选择卡片上的特定应用。
2. READBINARY:读取卡片上指定位置的二进制数据。
3. READRECORD:读取卡片记录,通常用于结构化的数据存储。
4. UPDATEBINARY:修改卡片上的二进制数据。
5. UPDATERECORD:更新卡片记录。
6. GETRESPONSE:获取卡片对前一条命令的响应。
7. GETCHALLENGE:请求卡片生成一个随机数,常用于认证过程。
8. EXTERNALAUTHENTICATION:使用外部密钥进行认证。
9. INTERNALAUTHENTICATION:在卡片内部进行认证。
10. VERIFY:验证个人识别码(PIN)。
11. PINCHANGE/UNBLOCK:PIN码的修改或解锁功能。
12. APPLICATIONBLOCK/UNBLOCK:应用级别的锁定和解锁操作。
13. CARDBLOCK:卡片的整体锁定,防止进一步的交易。
这些指令是智能卡系统中不可或缺的部分,它们确保了卡片和读卡设备之间的高效和安全通信。理解和掌握APDU指令对于开发和维护非接触式智能卡系统至关重要。
1319 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
jgj222
- 粉丝: 4
- 资源: 6
最新资源
- GCC 中文手册
- The C++ Programming Language 3rd(Bjarne Stroustrup)
- 基于因特网的学籍管理系统
- 单片机ATmega128手册
- 图书馆书籍管理数据库系统
- 基于DS18B20的温控系统
- Rootkits.Subverting.the.Windows.Kernel
- java面试题(面试必备)
- Struts2权威指南.pdf
- java课程设计的辕马 关于车辆管理
- 2007年4月操作系统试题
- 减速器课程设计说明书
- 诺基亚求职宝典--笔试面试经历
- 2008年下半年系统分析师试题
- TSAPI for Avaya Communication Manager Programmer's Reference
- Matlab张智星课件