一卡通IC卡数据结构.docx
- 文档编号:12847761
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:29
- 大小:49.30KB
一卡通IC卡数据结构.docx
《一卡通IC卡数据结构.docx》由会员分享,可在线阅读,更多相关《一卡通IC卡数据结构.docx(29页珍藏版)》请在冰豆网上搜索。
一卡通IC卡数据结构
项目名称:
天津城市一卡通项目
消费卡应用规范
(版本:
2.04)
天津城市一卡通有限公司
·天津
2008年5月29日
文档修订记录
序号
修改时间
修改人
审核人
备注
1.
贾冬梅
2.
2011-6-10
董志欣
黄总、贾冬梅,韩鹏
在公共信息区(正副本)增加了联程优惠交易时间。
天津城市一卡通IC卡数据结构
——非接触式IC卡
概述
本数据结构基于A类非接触式IC卡设计,可用于城市交通自动收费和小额消费领域。
天津城市一卡通交易流程遵循建设部《建设事业IC卡应用技术》(CJ/T166-2002)和《天津市建设事业IC卡应用技术》(CJ/T166—2002)。
本结构遵循以下原则:
Ø采用文件方式设计,使用目录文件作为应用索引,支持多应用;
Ø采用两级的文件层次,即每个应用文件中包括多个基本文件负责完成不同的功能,而应用之间相互独立;
Ø应用的扩展方便,专用文件可灵活设置;
卡片内基本的文件逻辑结构见下图所示。
目前使用范围最广的A类逻辑加密卡是Philips公司的Mifare系列,容量为1K字节.
卡基本内存结构
扇区0(Sector0)
BLOCK0
制造商专用数据
BLOCK1
用户数据
BLOCK2
用户数据
BLOCK3
密钥数据
扇区1(Sector1)
BLOCK0
用户数据
BLOCK1
用户数据
BLOCK2
用户数据
BLOCK3
密钥数据
……
扇区15(Sector15)
BLOCK0
用户数据
BLOCK1
用户数据
BLOCK2
用户数据
BLOCK3
密钥数据
每个数据块包含16字节。
IC卡内存总容量:
16*4*16=1024字节
实际的用户数据总容量:
32+16*3*15=752字节
该卡有16个扇区,每个扇区包含4个由16字节组成的数据块,各扇区的数据结构定义如表1所示:
表1TYPEA非接触逻辑加密卡用户卡数据结构表
Sector
Block
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0(00)
0
0
唯一代码(CSN)
LRC
厂商信息
应用标识目录区
1
1
00
01
10
03
03
03
06
11
12
13
14
15
16
17
18
FF
2
2
城市代码
行业代码
发行流水备份
卡认证码备份
00
00
00
校验
3
3
KeyA0(读)
访问控制字
KeyB0(写)
1(01)
4
0
城市代码
行业代码
发行流水
卡认证码
启用标志
卡类
押金
校验
发行区
5
1
发行日期(年月日)
有效日期(年月日)
启用日期(年月日)
年检日期YMD
校验
6
2
充值时间(年月日时)
充值原额
本次充值
操作员工号
00
00
校验
7
3
KeyA1(读)
访问控制字
KeyB1(写)
2(10)
8
0
累计充值额
允许最大余额(HEX)
充值设备编号
00
00
00
校验
公用钱包区
9
1
钱包
钱包
钱包
校验
10
2
钱包备份
钱包备份
钱包备份
校验
11
3
KeyA2(读/减)
访问控制字
KeyB2(写/加)
3(03)
12
0
交易时间
月日时分
原额
交易金额
交易类型
终端号
交易记录区A
13
1
交易时间
原额
交易金额
交易类型
终端号
14
2
交易时间
原额
交易金额
交易类型
终端号
15
3
KeyA3(读/写)
访问控制字
KeyB3(读/写)
4(03)
16
0
交易时间
原额
交易金额
交易类型
终端号
交易记录区B
17
1
交易时间
原额
交易金额
交易类型
终端号
18
2
交易时间
原额
交易金额
交易类型
终端号
19
3
KeyA4(读/写)
访问控制字
KeyB4(读/写)
5(03)
20
0
交易时间
原额
交易金额
交易类型
终端号
交易记录区C
21
1
交易时间
原额
交易金额
交易类型
终端号
22
2
交易时间
原额
交易金额
交易类型
终端号
23
3
KeyA5(读/写)
访问控制字
KeyB5(读/写)
6(06)
24
0
交易记录指针
钱包累计交易次数
交易进程标志
月票累计交易次数
黑名单标志
文件标识
轨道交通专用标识
联程优惠交易时间
(年月日时分)
00
校验
公用信息区
25
1
交易记录指针
钱包累计交易次数
交易进程标志
月票累计交易次数
黑名单标志
文件标识
轨道交通专用标识
联程优惠交易时间
(年月日时分)
00
校验
26
2
公交充次终端号
公交充次操作员
充次日期(年月日)
原剩余次数
充入次数
标识
校验
27
3
KeyA6(读/写)
访问控制字
KeyB6(读/写)
7(11)
28
0
市区基本次数/月
启用日期(年月)
固定0x32
终止日期(年月)
固定0x32
月票充值
计数器1
区域编号
专线线路号
票卡类型
校验
公交月票文件
29
1
月(年季旬)票计数器
月(年季旬)票计数器
月(年季旬)票计数器
校验
30
2
月(年季旬)票计数器备份
月(年季旬)票计数器备份
月(年季旬)票计数器备份
校验
31
3
KeyA7(读/减)
访问控制字
KeyB7(写/加)
8(12)
32
0
郊区基本次数/月
启用日期(年月)
固定0x32
终止日期(年月)
固定0x32
月票充值
计数器2
公司
编号
专线
线路号1
专线
线路号2
校验
公交郊区月票文件
33
1
月(年季旬)票计数器
月(年季旬)票计数器
月(年季旬)票计数器
校验
34
2
月(年季旬)票计数器备份
月(年季旬)票计数器备份
月(年季旬)票计数器
校验
35
3
KeyA8(读/减)
访问控制字
KeyB8(写/加)
9(13)
36
0
进站标志
交易时间-进站
设备标识
交易金额
00
00
00
校验
轨道交通过程文件
37
1
出站标志
交易时间-出站
设备标识
交易金额
00
00
00
校验
38
2
备份标志
地铁充次终端号
地铁充次操作员
充次日期(年月日时)
原剩余次数
充入次数
校验
39
3
KeyA9(读/写)
访问控制字
KeyB9(读/写)
10(14)
40
0
类型
次数或金额
启用年月日
终止年月日
线路
站号
线路
站号
00
00
校验
地铁文件
41
1
月(年季旬)票计数器
月(年季旬)票计数器
月(年季旬)票计数器
校验
42
2
月(年季旬)票计数器备份
月(年季旬)票计数器备份
月(年季旬)票计数器备份
校验
43
3
KeyA10(读/减)
访问控制字
KeyB10(写/加)
11(15)
44
0
进站标志
交易时间-进站
设备标识
交易金额
00
00
00
校验
轻轨过程文件
45
1
出站标志
交易时间-出站
设备标识
交易金额
00
00
00
校验
46
2
备份标志
校验
47
3
KeyA11(读/写)
访问控制字
KeyB11(读/写)
12(16)
48
0
进站标志
交易时间-进
路网编号
设备标示
车辆类型
00
00
00
校验
高速公路文件
49
1
出站标志
交易时间-出
路网编号
设备标示
车辆类型
00
00
00
校验
50
2
51
3
KeyA12(读/写)
访问控制字
KeyB12(读/写)
13(17)
52
0
类型
启用年月日
终止年月日
校验
轻轨文件和自行车文件
53
1
交易标记
交易时间
终端编号
00
交易认证码
校验
54
2
交易标记
交易时间
终端编号
00
交易认证码
校验
55
3
KeyA13(读/写)
访问控制字
KeyB13(读/写)
14(18)
56
0
交易时间-入库
网点编号
00
00
00
00
00
00
校验
停车场过程文件
57
1
备份标志
车牌照号
00
00
00
00
00
00
00
校验
58
2
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
校验
59
3
KeyA14(读/写)
访问控制字
KeyB14(读/写)
15(FF)
60
0
行业预留文件
61
1
62
2
63
3
KeyA15
访问控制字
KeyB15
注:
阴影区域是钱包区反码标志
1.应用标识目录区文件(0扇区):
●0扇区(应用标识目录区)第1块16个字节分别代表16个扇区在应用上文件类型相对应的编码,应用文件类型的编码如表2:
表2应用文件类型编码表
应用文件类型编码
应用文件名称
应用文件类型编码
应用文件名称
00
目录文件
13
轨道交通过程文件
01
发行区文件
14
地铁文件
03
交易记录区文件
15
轻轨文件
06
公共信息区文件
16
高速公路过程文件
10
公用钱包文件
17
预留
11
公交月票文件
18
预留
12
预留
FF
行业预留文件
●0扇区(应用标识目录区)第2块是对扇区1卡号部分的备份。
数据定义参见1扇区。
●校验:
检验字,计算方法为:
检验字=前15个字节的半加和,下同。
●访问条件:
目录区的KeyA为“0xA0,0xA1,0xA2,0xA3,0xA4,0xA5”,认证目录区文件的KeyA可以对目录区实现读操作;
目录区的KeyB由安全模块计算,认证目录区的KeyB可以对目录区实现写的操作。
2.发行区文件(1扇区):
●卡号:
卡号由卡的发卡城市代码、行业代码、发卡机构在对卡进行初始化时给出的流水号和卡的认证码构成。
其中卡的发卡城市代码按邮政的城市代码的前4位确定;行业代码按建设部的规定确定。
卡的认证码(MAC码)顺序由卡的用户卡的城市代码、唯一代码(CSN)、发行流水号与ISAM卡内部的Key,经过加密运算得到,并写入卡内。
机具在验证卡的合法性时,同样以上述方式从PSAM卡中得到MAC码,与消费卡内的MAC码进行核对,用以认证用户卡的合法性。
卡号、认证码(MAC)的数据结构如表3:
表3构成卡号的数据结构:
名称
字节数
数据格式
发卡城市代码
2
BCD
行业代码
2
BCD
发行流水号
4
HEX
卡的认证码MAC
4
HEX
行业代码使用2字节,第一字节固定为0x00,后一个字节为该卡可使用的应用行业的代码,见表4:
。
表4应用行业代码表
行业编码
行业名称
行业编码
行业名称
行业编码
行业名称
00
城市通用
10
文化娱乐
20
供电
01
公交及快速道
11
环卫系统
21
自来水
02
出租汽车
12
商业批发
22
煤气天然气
03
地铁
13
零售
23
供热
04
轻轨
14
餐饮旅馆服务
24
工商税务
05
轮渡
15
邮电通讯
25
体育健身
06
园林景点
16
金融保险
26
自行车租赁
07
路桥
17
教育系统
08
旅游大巴
18
厂矿企业
09
停车场
19
石油化工
31
行政机关
●启用标志(HEX码):
记录卡的启用标志,为卡的发行机构初始化后的标志位,其定义如表5:
表5启用标志:
编码
意义
01
未启用
02
启用
03
停用
04
黑名单卡
●押金:
表示在用户购卡时付的卡的押金,HEX码,单位:
元;
●卡类:
卡的应用类型,见表6:
。
表6卡类型编码
卡类型名称
代码
普通卡
0x00
老人卡
0z01
老人卡纪念卡
0x02
旅游卡
0x03
旅游卡纪念卡
0x04
停车卡
0x05
测试卡
0x06
联名卡
0x07
纪念卡
0x08
京津互联互通
Oxo9
城市会卡
0x10
备用
0x11~0x18
卡类型名称
代码
用于地铁、轻轨行业
0x19~0x7F
非接触管理用卡
0x80~0x9F
备用
0xAO~0xEF
●发行日期、有效期限和启用日期和年检日期:
:
记录卡的首次发行日期、卡的有效期限和启用日期和应该年检的日期。
卡的发行日期有效期限、启用日期和年检日期的年、月、日表示方法应符合GB/T7408规定,其数据结构如表7:
表7发行有效启用日期数据结构:
名称
字节数
内容
数据格式
发行日期
4
年月日(YYYYMMDD)
BCD
有效日期
4
年月日(YYYYMMDD)
BCD
启用日期
4
年月日(YYYYMMDD)
BCD
年检日期
3
年月日(YYMMDD)
BCD
●充值记录:
充值记录包括充值时间、充值原额、本次充值、操作员工号、累计充值额、允许最大余额、充值设备编号。
其中累计充值额、允许最大余额、充值设备编号存储在公共钱包区第0块。
充值时间:
记录当前充值的时间,其年月日时表示为YYMMDDHH的BCD码
充值原额:
记录本次充值前卡内钱包的剩余金额。
补码表示。
单位为分,HEX码表示,逆序(由左到右:
低位在前,高位在后)。
本次充值:
记录当次充值金额。
以元为单位,BCD码。
操作员工号:
记录完成当次充值的操作员工号。
累计充值额:
记录钱包的累计充值总额,每次充值操作时改写。
逆序(由左到右:
低位在前,高位在后)。
允许最大余额:
最大值限定为100000(分)。
逆序(由左到右:
低位在前,高位在后)。
充值设备编号:
记录完成当次充值的终端设备编号。
●充值记录的数据结构如表8:
表8充值记录的数据结构
名称
长度(byte)
内容
数据格式
充值时间
4
年、月、日、时
BCD
充值前原额
4
以分为单位,低位在前,补码
HEX
本次充值金额
2
以元为单位
BCD
允许最大余额
4
100000(分),低位在前
HEX
累计充值额
4
以分为单位,低位在前
HEX
充值设备编号
4
高位在前
BCD
操作员工号
3
高位在前
BCD
●访问条件:
发行区的KeyA=4字节卡号+卡号的前2字节[CSN(4)+CSN
(2)],认证发行区文件的KeyA可以对发行区实现读操作。
发行区文件的KeyB由安全模块计算,认证发行区文件的KeyB可以对发行区实现写的操作。
对于发行区在本系统中只有发行机构的卡初始化机和充值机具有读和改写的功能,其他设备只具有读的能力。
卡在机具上充值和消费,应判断卡的启动标志、卡的启动日期、卡的有效期等。
3.公用钱包区文件(2扇区):
钱包文件包括部分充值记录和一个电子钱包。
累计充值额、允许最大余额、充值设备编号存储在公共钱包区的0块内;
电子钱包包括钱包、钱包备份和钱包校验码等信息,钱包和钱包备份为Hex码,补码表示。
逆序(由左到右:
低位在前,高位在后),它们被分别存贮在同一扇区的1块和2块内。
卡在每次充值或交易时,备份数据应与钱包数据作比较,如两者数据不一致,应将正确的数据拷贝到不正确的数据块。
●钱包与钱包备份数据块校验:
检验字为该数据块最后四个字节,固定为00FF00FF
●访问条件:
认证钱包文件的KeyA可对钱包实现读和减操作,钱包和钱包备份可传输和恢复。
认证钱包文件的KeyB可对钱包实现写和加操作,钱包和钱包备份可传输和恢复。
块0存放充值记录,0块与钱包之间不可以传输和恢复。
4.交易记录区文件(3、4、5扇区):
交易记录文件使用连续的3个扇区(3、4、5扇区),每个扇区记录3条刷卡信息。
卡在每次交易后,产生的交易信息将被存放在卡内。
卡内共存放交易记录9条,每条记录长16个字节,内容包括交易时间精确到秒、原额、交易金额、交易类型、终端号等信息,交易记录采取循环方式存储。
●交易时间:
交易时间记录当次交易的时间,4字节BCD,其月日时分表示为MMDDHHMI。
●原额:
原额记录当次交易前的钱包金额,HEX码,逆序(从左到右:
低位在前,高位在后),4字节。
●交易金额:
交易金额记录当次交易的扣款金额,HEX码,逆序(从左到右:
低位在前,高位在后),3字节。
●交易类型:
交易类型记录当次交易的交易类型,它与访问的扇区有直接的关系。
交易类型为HEX码,1字节。
交易类型代码及对应的扇区如表9:
表9交易类型编码及扇区对应表
交易类型
编码
交易类型
编码
本地钱包消费
01H
轨道交通进站
41H
乘次消费
02H
轨道交通出站
81H
售卡
86H
激活
87H
非计次非钱包消费
03H
充值
88H
异地钱包消费
51H
退卡
8AH
透支消费
61H
圈存到公交月票
8BH
轨道交通更新交易
62H
锁卡交易
99H
公交市区月票消费
10H
公交月票充次
11H
小额消费
04H
公交郊区月票消费
12H
●终端号:
终端号记录执行当次交易的终端机具编号,BCD码,4字节。
●交易记录在IC卡消费完成后按上述流水记录格式写入记录区,同时公共信息区的记录指针+1(指针数为1~9),相应交易累计次数+1。
交易记录不设校验码,仅用于参考。
●访问条件:
认证文件的KeyA和KeyB可以对交易记录文件实现读和写的操作。
5.公共信息区文件(6扇区):
公共信息是指地铁、公交、轮渡、出租汽车、燃气、自来水等建设事业的各种应用共用的交易记录信息区,公共交易信息包含交易记录指针、钱包累计交易次数、月票累计交易次数、交易进程标志、黑名单标志、文件标识等。
占用1个扇区,0块为公共信息区,1块为公共信息区备份。
●交易记录指针:
交易记录指针存储的是前次交易记录存储的位置,HEX码,1字节,合法数据为1~9。
钱包交易记录区不使用时,该指针也不用。
●钱包累计交易次数:
钱包累计交易次数记录钱包性质的累计交易次数,包含与公共钱包及乘次有关的消费、充值等交易的累计次数。
●交易进程标志:
交易进程标志记录当次交易的过程,用于出错数据恢复。
交易进程标志的意义如表10:
表10交易进程标志编码表:
编号
类型
编号
类型
01
钱包扣款开始
05
市区月乘次票扣次开始
02
钱包扣款完成
06
市区月乘次票扣次完成
03
过程消费开始
07
郊区月乘次票扣次开始
04
过程消费完成
08
郊区月乘次票扣次完成
●轨道交易专用标志:
1字节HEX编码,55允许出站,66允许进站,与轨道交通过程文件扇区保持一致。
●月票累计交易次数:
月票累计交易次数记录公交月票区的累计交易次数,包含与公交月票有关的扣次、充值等交易的累计次数。
●黑名单标志:
黑名单标志是用于在某次交易时发现该卡为黑名单卡时做的标记,交易时只要在公共信息区发现黑名单标志,不需要查黑名单即可判定该卡为黑名单卡。
黑名单标志为HEX码,1字节,其值为0x04。
●文件标识:
文件标识是指当前交易对应的钱包文件(含公交月票文件、地铁乘次票文件等)的标识(由目录区指定)。
●联程优惠交易时间:
联程优惠交易时间是指具有联程优惠功能的终端(公交、地铁),记录的当前交易时间,5字节BCD码,其年月日时分表示为YYMMDDHHMI。
●访问条件:
认证公共信息区文件的KeyA和KeyB可以对公共信息区实现读和写的操作。
6.公交市区月票文件(7扇区)
公交市区月票文件记录持卡人公交市区月票的使用计数器。
起始和终止时间的表示方法应符合GB/T7408-94规定。
●市区基本次数/月:
本次卡片操作增加的月票计数器次数。
高位在前,低位在后
●启始年月和月票标志:
月票的起始年月(BCD码),月票标志固定为0x32。
●终止年月和月票标志:
月票的终止年月(BCD码),月票标志固定为0x32。
●月票的启用年月同时兼做年检日期使用。
●区域编号:
月票使用的区域编号。
●专线线路号:
月票可使用的专线线路编号。
●月票票卡类型:
公交行业内部定义的卡片类型
表11公交月票卡类型编码:
编码
意义
使用月票扇区
0x01
老人月票卡
7
0x03
学生月票卡
7
0x04
郊区月票市区卡
8
0x05
成人月票卡
7
0x0A
残疾军人月票卡
7
●月票充值计数器:
市区月票充值次数,记录最后一次月票充值是第几次。
顺序(从左到右:
高位在前,低位在后)。
●月票计数器:
月票计数器的值。
采用补码表示,逆序(从左到右:
低位在前,高位在后)。
●月票钱包与月票钱包备份数据块校验:
检验字为该数据块最后四个字节,固定为00FF00FF
●访问条件:
认证钱包文件的KeyA可对月票计数器实现读和减操作,月票计数器和月票计数器备份可传输和恢复。
认证钱包文件的KeyB可对月票计数器实现加和写操作,月票计数器和月票计数器备份可传输和恢复。
块0存放月票的增加信息,0块与月票计数器之间不可以传输和恢复。
7.公交郊区月票文件(8扇区)
公交郊区月票文件记录持卡人公交郊区月票的使用计数器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一卡通 IC 数据结构