目录介绍
- 01.整体概述介绍
- 1.1 项目背景说明
- 1.2 IC智能卡说明
- 1.3 基础概念介绍
- 02.CPU卡基础学习
- 2.1 CPU操作流程
- 2.2 读卡器与卡交互指令
- 2.3 APDU指令格式
- 2.4 APDU指令组成
- 2.5 发送指令详细剖析
- 2.6 响应指令详细解析
- 03.M1卡基础学习
- 3.1 什么是M1卡
- 3.2 M1卡数据结构
- 3.3 M1扇区密码结构
- 3.4 M1扇区数据块结构
- 3.5 M1卡片操作步骤
- 3.6 M1卡运作机理
- 3.7 M1卡开发思路
- 04.IC卡开发设计
- 4.1 总体设计思路
- 4.2 卡操作流程设计
- 4.3 接口设计
- 05.轮询识别卡操作
- 5.1 读写卡分析
- 5.2 如何设计轮询方案
- 5.3 轮询设计思路
1.1 项目背景说明
- IC卡使用场景说明
- 总所周知,IC卡(智能卡)在身份验证、公共交通、门禁系统、银行、保险等领域随处可见。
- IC卡基本概念和相关知识
- IC卡 (Integrated Circuit Card,集成电路卡),也称智能卡(Smart card)、智慧卡(Intelligent card)、微电路卡(Microcircuit card)或微芯片卡等。
- IC卡与读写器之间的通讯方式可以是接触式,也可以是非接触式。
1.2 IC智能卡说明
- IC卡种类
- 按功能分为复合卡(可刷、又可插、还能碰触)和普通卡(碰触,如二代身份证)
- 按卡片协议类型:卡片类型ISO 14443 A类和B类、ISO 7816 A、B和C类等
- 按智能卡接口:PICC (非接触)、ICC(接触)、SAM
- 日常生活常见的ID卡
- 公交卡、社保卡、CPU卡、M1卡、、SAM卡、PSAM卡等等都属于IC卡。
- 二代身份证属于IC卡
- 还有我们的二代身份证属于CPU卡或ID 卡,确切来说属于非接触式CPU卡(采用的标准ISO 14443 TYPE B协议),里面的芯片采用的加密算法是国密(SM1),芯片的提供商有大唐微电子、华虹、华大和同方微电子等厂商。
1.3 基础概念介绍
- IC卡读写过程数据传输协议
- 在传输协议中定义了两种协议:字符传输协议(T=0)和块传输协议(T=1)。IC卡可以选择支持T=0协议或者T=1协议,终端一般都支持这两种协议。
- 在ATR中的TD1规定了后续传输中所采用的传输协议(T=0或T=1),如果TD1在ATR中不存在的话则假定采用T=0。
- 什么叫做ATR
- ATR也叫复位应答,是一个字节序列,这些字节是由卡作为对复位命令的响应发送给读卡器的。
- 在I/O电路上,每个成功的复位操作都会导致I/O上的一个由初始字符TS开始,后跟最多32个字符的复位应答。
- ATR的作用是告诉读卡器,我是一张什么样的卡片,以便读卡器知道接下来该以什么样的方式和卡片通信。
02.CPU卡基础学习
2.1 CPU操作流程
- 如何去操作CPU卡
- 手机去感应非接触式CPU卡一般都是通过NFC,想用手机去感应身份证有两个前提:一你手机支持NFC功能,二你得知道对操作身份证的指令。
- 比如读取身份的指令,知道指令后你就可以开发个手机app然后进行感应读取身份。
- 读卡器APDU流程,接触过的读卡器基本都下面这些步骤,基本相同,不同的是命令发送和数据解析
- ICC(接触读取):1.打开阅读器;2.对卡片上电