上海复旦微电子股份有限公司设计文件
编制:
审核:
标准化:
批准:
发行版本:1.0
日期:
日期:
日期:
日期:
上海复旦微电子股份有限公司
中国 上海
FMCOS 2.0 目录
FMCOS 2.0 目录 ......................................................................................................... 2
1. FMCOS 简介 ......................................................................................................... 9
1.1. FMCOS 特点 ................................................................................................................................. 9
1.2. FMCOS V2.0 内部结构 ................................................................................................................ 9
1.2.1. CPU 及加密逻辑 .................................................................................................................... 9
1.2.2. RAM ........................................................................................................................................ 9
1.2.3. ROM ........................................................................................................................................ 9
1.2.4. EEPROM ................................................................................................................................. 9
1.3. 功能模块 ..................................................................................................................................... 10
1.4. 命令列表 ..................................................................................................................................... 11
2. 初始化和防冲突 ................................................................................................... 12
2.1. 轮询 ............................................................................................................................................. 12
2.2. 类型 A-初始化和防冲突 ............................................................................................................ 12
2.2.1. 帧格式和时序 ....................................................................................................................... 12
2.2.2. PICC 状态 ............................................................................................................................. 15
2.2.3. 命令集 ................................................................................................................................... 17
2.2.4. 选择序列 ............................................................................................................................... 18
3. 传输协议 ............................................................................................................... 25
3.1. 类型 A PICC 的协议激活 ........................................................................................................... 25
3.1.1. 选择应答请求 ....................................................................................................................... 26
3.1.2. 选择应答 ............................................................................................................................... 27
3.1.3. 协议和参数选择请求 ........................................................................................................... 31
3.1.4. 协议和参数选择响应 ........................................................................................................... 32
3.1.5. 差错检测和恢复 ................................................................................................................... 33
3.2. 半双工块传输协议 ..................................................................................................................... 34
3.2.1. 块格式 ................................................................................................................................... 34
3.2.2. 帧等待时间(FWT) ........................................................................................................... 37
3.2.3. 帧等待时间扩展 ................................................................................................................... 37
3.2.4. 功率水平指示 ....................................................................................................................... 38
3.2.5. 协议操作 ............................................................................................................................... 38
3.3. 类型 A PICC 的协议停活 ........................................................................................................... 41
3.3.1. 停活帧等待时间 ................................................................................................................... 41
3.3.2. 差错检测和恢复 ................................................................................................................... 41
4. FMCOS 文件结构 ............................................................................................... 42
4.1. 文件结构 ..................................................................................................................................... 42
4.1.1. MF 文件 ................................................................................................................................ 42
4.1.2. DF 文件 ................................................................................................................................. 42
4.1.3. EF 文件 ................................................................................................................................. 43
4.2. 文件空间结构 ............................................................................................................................. 43
4.3. 文件访问方式 ............................................................................................................................. 44
4.4. 文件类型及命令集 ..................................................................................................................... 45
4.5. 文件标识符与文件名称 ............................................................................................................. 46
5. FMCOS 独特的安全体系 ................................................................................... 47
5.1. 安全状态 ..................................................................................................................................... 47
5.2. 安全属性 ..................................................................................................................................... 47
5.3. 安全机制 ..................................................................................................................................... 47
5.4. 密码算法 ..................................................................................................................................... 48
6. 命令与应答 ........................................................................................................... 49
6.1. 命令与应答结构 ......................................................................................................................... 49
6.2. 状态字 SW1、SW2 的意义........................................................................................................ 49
7. FMCOS 命令 ....................................................................................................... 51
7.1. 外部认证 EXTERNAL AUTHENTICATE ................................................................................. 51
7.1.1. 定义和范围 ........................................................................................................................... 51
7.1.2. 命令报文 ............................................................................................................................... 51
7.1.3. 命令报文数据域 ................................................................................................................... 51
7.1.4. 响应报文数据域 ................................................................................................................... 51
7.1.5. 响应报文状态码 ................................................................................................................... 51
7.2. 取随机数 GET CHALLENGE .................................................................................................... 53
7.2.1. 定义和范围 ........................................................................................................................... 53
7.2.2. 命令报文 ............................................................................................................................... 53
7.2.3. 命令报文数据域 ................................................................................................................... 53
7.2.4. 响应报文数据域 ................................................................................................................... 53
7.2.5. 响应报文状态码 ................................................................................................................... 53
7.3. 内部认证 INTERNAL AUTHENTICATE .................................................................................. 54
7.3.1. 定义和范围 ........................................................................................................................... 54
7.3.2. 命令报文 ............................................................................................................................... 54
7.3.3. 命令报文数据域 ................................................................................................................... 54
7.3.4. 响应报文数据域 ................................................................................................................... 54
7.3.5. 响应报文状态码 ................................................................................................................... 54
7.4. 选择文件 SELECT ...................................................................................................................... 56
7.4.1. 定义和范围 ........................................................................................................................... 56
7.4.2. 命令报文 ............................................................................................................................... 56
7.4.3. 命令报文数据域 ................................................................................................................... 56
7.4.4. 响应报文数据域 ................................................................................................................... 56
7.4.5. 响应报文状态码 ................................................................................................................... 57
7.5. 读二进制文件 READ BINARY .................................................................................................. 59
7.5.1. 定义和范围 ........................................................................................................................... 59
7.5.2. 命令报文 ............................................................................................................................... 59
7.5.3. 命令报文数据域 ................................................................................................................... 59
7.5.4. 响应报文数据域 ................................................................................................................... 59
7.5.5. 响应报文状态码 ................................................................................................................... 59
7.6. 读记录文件 READ RECORD ..................................................................................................... 61
7.6.1. 定义和范围 ........................................................................................................................... 61
7.6.2. 命令报文 ............................................................................................................................... 61
7.6.3. 命令报文数据域 ................................................................................................................... 61
7.6.4. 响应报文数据域 ................................................................................................................... 61
7.6.5. 响应报文状态码 ................................................................................................................... 61
7.7. 写二进制文件 UPDATE BINARY ............................................................................................. 63
7.7.1. 定义和范围 ........................................................................................................................... 63
7.7.2. 命令报文 ............................................................................................................................... 63
7.7.3. 命令报文数据域 ................................................................................................................... 63
7.7.4. 响应报文数据域 ................................................................................................................... 63
7.7.5. 响应报文状态码 ................................................................................................................... 63
7.8. 写记录文件 UPDATE RECORD ................................................................................................ 65
7.8.1. 定义和范围 ........................................................................................................................... 65
7.8.2. 命令报文 ............................................................................................................................... 65
7.8.3. 命令报文数据域 ................................................................................................................... 65
7.8.4. 响应报文数据域 ................................................................................................................... 65
7.8.5. 响应报文状态码 ................................................................................................................... 66
7.9. 添加记录文件 APPEND RECORD ........................................................................................... 68
7.9.1. 定义和范围 ........................................................................................................................... 68
7.9.2. 命令报文 ............................................................................................................................... 68
7.9.3. 命令报文数据域 ................................................................................................................... 68
7.9.4. 响应报文数据域 ................................................................................................................... 68
7.9.5. 响应报文状态码 ................................................................................................................... 68
7.10. 验证口令 VERIFY PIN ............................................................................................................... 70
7.10.1. 定义和范围 ......................................................................................................................... 70
7.10.2. 命令报文 ............................................................................................................................. 70
7.10.3. 命令报文数据域 ................................................................................................................. 70
7.10.4. 响应报文数据域 ................................................................................................................. 70
7.10.5. 响应报文状态码 ................................................................................................................. 70
7.11. 擦除目录文件 ERASE DF ......................................................................................................... 72
7.11.1. 定义和范围 ......................................................................................................................... 72
7.11.2. 命令报文 ............................................................................................................................. 72
7.11.3. 命令报文数据域 ................................................................................................................. 72
7.11.4. 响应报文数据域 ................................................................................................................. 72
7.11.5. 响应报文状态码 ................................................................................................................. 72
7.12. 增加或修改密钥 WRITE KEY .................................................................................................. 73
7.12.1. 定义和范围 ......................................................................................................................... 73
7.12.2. 命令报文 ............................................................................................................................. 73
7.12.3. 命令报文数据域 ................................................................................................................. 73
7.12.4. 响应报文数据域 ................................................................................................................. 75
7.12.5. 响应报文状态码 ................................................................................................................. 75
7.13. 建立文件 CREATE FILE............................................................................................................ 77
7.13.1. 定义和范围 ......................................................................................................................... 77
7.13.2. 命令报文 ............................................................................................................................. 77
7.13.3. 命令报文数据域 ................................................................................................................. 77
7.13.4. 响应报文数据域 ................................................................................................................. 78
7.13.5. 响应报文状态码 ................................................................................................................. 78
8. 中国金融 IC 卡专用命令 .................................................................................... 79
8.1. 卡片锁定 CARD BLOCK ........................................................................................................... 79
8.1.1. 定义和范围 ........................................................................................................................... 79
8.1.2. 命令报文 ............................................................................................................................... 79
8.1.3. 命令报文数据域 ................................................................................................................... 79
8.1.4. 响应报文数据域 ................................................................................................................... 79
8.1.5. 响应报文状态码 ................................................................................................................... 79
8.2. 应用解锁 APPLICATION UNBLOCK ...................................................................................... 80
8.2.1. 定义和范围 ........................................................................................................................... 80
8.2.2. 命令报文 ............................................................................................................................... 80
8.2.3. 命令报文数据域 ................................................................................................................... 80
8.2.4. 响应报文数据域 ................................................................................................................... 80
8.2.5. 响应报文状态码 ................................................................................................................... 80
8.3. 应用锁定 APPLICATION BLOCK ............................................................................................ 81
8.3.1. 定义和范围 ........................................................................................................................... 81
8.3.2. 命令报文 ............................................................................................................................... 81
8.3.3. 命令报文数据域 ................................................................................................................... 81
8.3.4. 响应报文数据域 ................................................................................................................... 81
8.3.5. 响应报文状态码 ................................................................................................................... 81
8.4. 口令密钥解锁 PIN UNBLOCK ................................................................................................. 83
8.4.1. 定义和范围 ........................................................................................................................... 83
8.4.2. 命令报文 ............................................................................................................................... 83
8.4.3. 命令报文数据域 ................................................................................................................... 83
8.4.4. 响应报文数据域 ................................................................................................................... 83
8.4.5. 响应报文状态码 ................................................................................................................... 83
8.5. 重装/修改口令密钥 RELOAD/CHANGE PIN .......................................................................... 85
8.5.1. 定义和范围 ........................................................................................................................... 85
8.5.2. 命令报文 ............................................................................................................................... 85
8.5.3. 命令报文数据域 ................................................................................................................... 85
8.5.4. 响应报文数据域 ................................................................................................................... 85
8.5.5. 响应报文状态码 ................................................................................................................... 85
8.6. 修改口令密钥命令 CHANGE PIN ............................................................................................ 87
8.6.1. 修改口令密钥命令定义和范围 ........................................................................................... 87
8.6.2. 命令报文 ............................................................................................................................... 87
8.6.3. 命令报文数据域 ................................................................................................................... 87
8.6.4. 响应报文数据域 ................................................................................................................... 87
8.6.5. 响应报文状态码 ................................................................................................................... 87
8.7. 圈存命令 ..................................................................................................................................... 89
8.7.1. 圈存初始化 INITIALIZE FOR LOAD ................................................................................. 89
8.7.2. 圈存命令 CREDIT FOR LOAD ........................................................................................... 91
8.7.3. 圈存交易流程图 ................................................................................................................... 93
8.8. 消费交易(存折或钱包) ......................................................................................................... 94
8.8.1. 消费初始化 INITIALIZE FOR PURCHASE ....................................................................... 94
8.8.2. 消费命令 DEBIT FOR CAPP PURCHASE .......................................................................... 96
8.8.3. 消费交易流程图 ................................................................................................................... 98
8.9. 复合应用消费交易(钱包)...................................................................................................... 99
8.9.1. 消费初始化 INITIALIZE FOR CAPP PURCHASE ............................................................. 99
8.9.2. 更新复合应用数据缓存 UPDATE CAPP DATA CACHE ................................................. 101
8.9.3. 复合应用消费命令 DEBIT FOR CAPP PURCHASE ........................................................ 103
8.9.4. 复合应用消费交易流程图 ................................................................................................. 105
8.10. 圈提交易(存折) ................................................................................................................... 106
8.10.1. 圈提初始化 INITIALIZE FOR UNLOAD ....................................................................... 106
8.10.2. 圈提命令 CREDIT FOR UNLOAD .................................................................................. 108
8.10.3. 圈提交易流程图 ............................................................................................................... 110
8.11. 取现交易(存折) ................................................................................................................... 111
8.11.1. 取现初始化 INITIALIZE FOR CASH WITHDRAW ....................................................... 111
8.11.2. 取现命令 DEBIT FOR CASH WITHDRAW .................................................................... 113
8.11.3. 取现交易流程图 ............................................................................................................... 115
8.12. 修改透支限额交易(存折).................................................................................................... 116
8.12.1. 初始化修改透支限额命令 INITIALIZE FOR UPDATE ................................................. 116
8.12.2. 修改透支限额命令 UPDATE OVERDRAW LIMIT ........................................................ 118
8.12.3. 修改透支限额交易流程图 ............................................................................................... 120
8.13. 取交易认证 GET TRANSACTION PROVE............................................................................ 121
8.13.1. 定义和范围 ....................................................................................................................... 121
8.13.2. 命令报文 ........................................................................................................................... 121
8.13.3. 响应报文数据域 ............................................................................................................... 121
8.13.4. 响应报文状态码 ............................................................................................................... 121
8.13.5. 防拔功能 ........................................................................................................................... 122
8.14. 读余额 GET BALANCE .......................................................................................................... 123
8.14.1. 定义和范围 ....................................................................................................................... 123
8.14.2. 命令报文 ........................................................................................................................... 123
8.14.3. 响应报文数据域 ............................................................................................................... 123
8.14.4. 响应报文状态码 ............................................................................................................... 123
9. 加油卡交易命令 ................................................................................................. 124
9.1. 灰锁初始化 INITIALIZE FOR CS LOCK ............................................................................... 124
9.1.1. 灰锁初始化命令定义和范围 ............................................................................................. 124
9.1.2. 命令报文 ............................................................................................................................. 124
9.1.3. 命令报文数据域 ................................................................................................................. 124
9.1.4. 响应报文数据域 ................................................................................................................. 124
9.2. 灰锁命令 CS LOCK ................................................................................................................. 126
9.2.1. 灰锁命令定义和范围 ......................................................................................................... 126
10. 建设事业 IC 卡交易命令 ................................................................................ 134
10.1. 充值/消费初始化 INITIALIZE FOR CHARGE/PULL ............................................................ 134
10.1.1. 圈存初始化命令定义和范围 ........................................................................................... 134
10.1.2. 命令报文 ........................................................................................................................... 134
10.1.3. 命令报文数据域 ............................................................................................................... 134
10.1.4. 响应报文数据域 ............................................................................................................... 134
10.1.5. 响应报文的状态码 ........................................................................................................... 135
10.2. 建设部充值命令 CHARGE ...................................................................................................... 136
10.2.1. 圈存命令定义和范围 ....................................................................................................... 136
10.2.2. 命令报文 ........................................................................................................................... 136
10.2.3. 命令报文数据域 ............................................................................................................... 136
10.2.4. 响应报文数据域 ............................................................................................................... 136
10.2.5. 响应报文状态码 ............................................................................................................... 136
10.3. 建设部消费命令 PULL ............................................................................................................ 138
10.3.1. 定义和范围 ....................................................................................................................... 138
10.3.2. 命令报文 ........................................................................................................................... 138
10.3.3. 命令报文数据域 ............................................................................................................... 138
10.3.4. 响应报文数据域 ............................................................................................................... 138
11. FMCOS 内部测试命令 .................................................................................... 140
11.1. 写数据 EEPROM 命令 WRITE EEPROM .............................................................................. 140
11.1.1. 定义和范围 ....................................................................................................................... 140
11.1.2. 命令报文 ........................................................................................................................... 140
11.1.3. 命令报文数据域 ............................................................................................................... 140
11.1.4. 响应报文数据域 ............................................................................................................... 140
11.1.5. 响应报文状态码 ............................................................................................................... 140
11.2. 读数据 EEPROM 命令 READ EEPROM ................................................................................ 141
11.2.1. 定义和范围 ....................................................................................................................... 141
11.2.2. 命令报文 ........................................................................................................................... 141
11.2.3. 命令报文数据域 ............................................................................................................... 141
11.2.4. 响应报文数据域 ............................................................................................................... 141
11.2.5. 响应报文状态码 ............................................................................................................... 141
11.3. 初始化 EEPROM 命令 INITIAL EEPROM ............................................................................ 142
11.3.1. 定义和范围 ....................................................................................................................... 142
11.3.2. 命令报文 ........................................................................................................................... 142
11.3.3. 命令报文数据域 ............................................................................................................... 142
11.3.4. 响应报文数据域 ............................................................................................................... 142
11.3.5. 响应报文状态码 ............................................................................................................... 142
11.4. 计算程序 ROM CRC 命令 CALCULATE ROM CRC ............................................................. 143
11.4.1. 定义和范围 ....................................................................................................................... 143
11.4.2. 命令报文 ........................................................................................................................... 143
11.4.3. 命令报文数据域 ............................................................................................................... 143
11.4.4. 响应报文数据域 ............................................................................................................... 143
11.4.5. 响应报文状态码 ............................................................................................................... 143
11.5. 读程序 ROM 命令 READ ROM .............................................................................................. 144
11.5.1. 定义和范围 ....................................................................................................................... 144
11.5.2. 命令报文 ........................................................................................................................... 144
11.5.3. 命令报文数据域 ............................................................................................................... 144
11.5.4. 响应报文数据域 ............................................................................................................... 144
11.5.5. 响应报文状态码 ............................................................................................................... 144
12. 安全报文传送 ................................................................................................... 146
12.1. 安全报文传送 ........................................................................................................................... 146
12.2. 如何实现安全报文传送 ........................................................................................................... 146
12.3. MAC 的计算 ............................................................................................................................. 146
12.4. 数据加密/解密的计算 .............................................................................................................. 148
12.4.1. 数据加密计算 ................................................................................................................... 148
12.4.2. 数据解密计算 ................................................................................................................... 149
12.5. 安全报文传送的命令情况 ....................................................................................................... 150
附录 A. 电子存折/电子钱包应用的基本数据文件 .............................................. 151
附录 B. 术语和定义 ............................................................................................... 153
附录 C. 协议说明书 ............................................................................................... 155
C.1. 记法 ........................................................................................................................................... 155
C.2. 无差错操作 ............................................................................................................................... 155
C.2.1. 块的交换 ............................................................................................................................ 155
C.2.2. 等待时间扩展请求 ............................................................................................................ 155
C.2.3. DESELECT ........................................................................................................................ 156
C.2.4. 链接 .................................................................................................................................... 156
C.3. 差错处理 ................................................................................................................................... 157
C.3.1. 块的交换 ............................................................................................................................ 157
C.3.2. 等待时间扩展请求 ............................................................................................................ 158
C.3.3. DESELECT ........................................................................................................................ 160
C.3.4. 链接 .................................................................................................................................... 160