非接触卡片APDU指令详解
需积分: 50 147 浏览量
更新于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指令对于开发和维护非接触式智能卡系统至关重要。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-03-31 上传
2020-08-06 上传
jgj222
- 粉丝: 3
- 资源: 6
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录