汽车充电桩IC卡技术规范_V1.7资料

发布时间:2018-11-09   来源:文档文库   
字号:
1


预付费汽车充电桩IC卡技术规范
V 1.7


北京握奇数据系统有限公司
20108
1
2

此规范仅适用于汽车充电桩IC卡的软件设计工作,涉及IC卡充电桩体厂商程序设计、电卡结构、数据内容、售电管理流程等方面。在使用的IC卡充电桩体及售电管理流程必须符合此设计规范。
本规范按卡片遵循的标准及规范、数据项定义、卡片逻辑结构及业务流程四个部分进行描述。
一.卡片遵循的标准及规范
本规范中所涉及的IC卡均为智能卡即CPU卡,考虑卡片的通用性及应用的可拓展性,卡片符合以下标准和规范:
ISO14443-1 无触点的集成电路卡 第一部分:物理特性
ISO14443-2 无触点的集成电路卡 第二部分:射频电压和通讯接口 ISO14443-3 无触点的集成电路卡 第三部分:初始化和防冲突 ISO14443-4 无触点的集成电路卡 第四部分:传输协议 中国金融集成电路(IC)卡电子钱包扩展应用规范
二.数据项定义 21.卡号
卡号:8字节。电力公司在发卡时为每一用户分配的编号,为压缩BCD码,严格做到一卡一号不重复。
22.电卡类型
电卡类型:1字节。用于区分卡的类型,根据不同的卡类型采取不同的处理流程。包括用户卡、密钥修改卡、参数设置卡、密钥修改卡、测试卡等。
2
3

23.剩余金额
剩余金额:4字节Hex码;桩体中当前剩余的金额,用于桩体的用电扣减和比对。
24.本次购电金额
本次购电数据:4字节。用户每次到售电系统交款金额。用户购电时累加到用户卡的购电钱包文件中。
25.购电次数
购电次数:3字节。用户从开户起到售电网点交款购电总次数,每购一次电购电次数加一。
26.报警金额
报警金额:4字节。提醒用户尽快购电的报警门限金额。当桩体中剩余金额小于等于报警金额时,用户桩体的液晶显示部分处于闪烁状态,给予用户灯光报警。
27.购电日期
购电日期:4字节。以yyyymmdd格式存储。
28.交易开始时间、交易结束时间
用电时间:6字节。记录用户用电的起始时间。以yyyymmddhhmm格式存储。用于用电信息的抄收记录。
29.用电量
用电量:4字节。记录用户用电的实际用量。用于用电信息的抄收。
3
4

210.桩体号
桩体号:6字节。每一块桩体设置不同的桩体号,便于系统对桩体的管理。桩体号的设定在桩体完成密钥修改前设定,一经安装运行即不再改变。严格做到一桩体一号。
211.报警功率
报警功率:4字节。
212.限定功率
限定功率:4字节。

.卡片定义及应用流程
卡片种类及作用
客户充电卡:用户在售电系统和桩体之间传递购电信息、用电信息、管理信息的载体。(ESAM密钥修改后使用
ESAM安装于桩体内完成对用户卡的身份识别,保证桩体与用户卡数据交换的安全性、完整性。
充电管理卡:卡内不存电子钱包,用于没有用户卡的用户,在缴纳现金后,员工通过该卡,能打开、关闭充电桩工作。(ESAM密钥修改后使用
充值卡:为方便零时用户充电的定额卡,只能消费,不能充值,卡内余额为零时卡片作废。(ESAM密钥修改后使用
PSAM:安装于售电系统的服务网点,完成对用户卡的身份识别。
修改/恢复密钥卡:存放主密钥,通过桩体完成ESAM模块密钥的更新,前者将测试密钥修改为运行密钥,后者将运行密钥还原为测试密钥。

4
5

功能测试卡:对桩体的工作状态进行测试使用,使用时桩体进行各项功能测试,如测试电闸合上后自动跳开等。(ESAM密钥修改后使用
故障检修卡:用于停止充电桩正在进行的充电,使用此卡不能进行充电。(ESAM密钥修改后使用
出厂设置卡在出厂前设置桩体的各项参数,包括桩体号,此号设置后不能修改。(ESAM密钥修改前使用
卡片逻辑结构
本规范中定义了用户卡、ESAMPSAM、修改密钥卡等应用卡片。 数据在购电卡中采用不定长格式存放,在与购电卡进行数据交换或与数据抄收桩体进行数据传输时均采用数据串的形式进行,具体格式如下:
起始
电卡类型(命令)
长度
数据
校验
结束
起始:1字节,固定为68H,为数据串的开始标识。
电卡类型(命令)1字节,不同的电卡类型(命令)表示与IC卡桩体进行数据交换的流程不同,它决定了数据串中数据的长度。
长度:1字节,压缩BCD码,为数据串中数据区的长度。
数据:字节数不定,为前面介绍数据项的组合,组合方式与命令有关。 校验:1字节,为电卡类型、长度、数据三部分的累加和去除高字节自然溢出后得到,为16进制数。
结束:1字节,固定为16H,代表数据串结束。
对数据串是否有效的判别依据为:起始、结束字节必须正确;长度与数据区字节数必须相等;校验必须正确。
数据项中未特殊说明的均为BCD码。
31.客户充电卡 311.用途
用户用来完成购电以及向桩体中追加购电金额的电卡。
5
6

312.文件定义
文件 MF MEF MKF DF01 DKF EF1 EF2 EF3 EF4 EF5 内容说明 主文件 卡号信息文件 主密钥文件 桩体应用目录文件 桩体应用密钥文件 指令二进制文件 购电钱包文件 交易明细文件 锁卡标识文件 返写信息文件
标识 3F00 0001 0000 3F01 0000 0011 0001 0018 0005 0002 空间 FFFF 08H 20H 1B0H 100H 20H 08H 17H*0AH 01H 50H*0AH 313.卡号信息文件
序号 1
数据项 卡号
长度
8 说明
BCD 314.密钥定义
标识 00 01 02 04 00 01 00 02 01 09 05 名称 应用主控密钥 桩体内部认证密钥 指令信息外部认证密钥 锁卡外部认证密钥
充值子密钥 消费子密钥 TAC子密钥 灰锁子密钥 解扣子密钥 解扣MAC主密钥 返写外部认证密钥
分散
使用权 更改权 自由 应用主控密钥 自由 应用主控密钥 自由 应用主控密钥 自由 应用主控密钥 自由 应用主控密钥 自由 应用主控密钥 自由 应用主控密钥 自由 应用主控密钥 自由 应用主控密钥 自由 应用主控密钥 自由 应用主控密钥
密钥如需分散,分散因子为8字节卡号。
桩体内部认证密钥用于比较各种卡与ESAMPSAM是否是一个系统发行的。
6
7

指令信息外部认证密钥用于对指令二进制文件进行控制,认证通过后可以将指令信息写到用户卡中,与PSAM卡配对使用。
圈存子密钥用于购电钱包文件的圈存充值操作,与PSAM卡配对使用。 TAC子密钥用户圈存、灰锁等交易的TAC计算 灰锁子密钥用于购电钱包的灰锁处理。
锁卡外部认证密钥用于用户卡锁卡标识文件的控制,认证通过后可以对标识文件进行改写,与ESAMPSAM卡配对使用。 解扣子密钥用于购电钱包解扣交易处理。
解扣MAC主密钥用于灰锁交易流程中的MAC计算及解扣交易流程中的MAC校验,和ESAM配对使用,达到灰锁和解扣一一对应的目的。
315.指令二进制文件
指令二进制文件存放用户购电相关信息。
序号 1 2 3 4 5 6 7 数据项 起始 卡类型(命令)
长度 购电日期 购电次数 校验和 结束码
长度 1 1 1 4 3 1 1 说明 68H 01H HEX BCDYYYYMMDD
HEX HEX 16H
316.购电金额钱包文件
序号 1
数据项 剩余电量
长度
4 说明
HEX 317.返写信息文件
序号
1

数据项 交易开始时间
7 长度
6 说明
BCDYYYYMMDDhhmm

8

2 3 4 5

交易前余额 交易结束时间 交易后余额 用电量
4 6 4 4 BCD BCDYYYYMMDDhhmm
BCD BCD 32ESAM 321.用途
ESAM在桩体中有两个作用: 1、完成与客户充值卡的安全认证; 2、作为桩体内数据存储区。
322.文件定义
文件 MF MKF EF1 EF2 EF3 EF4 内容说明 主文件 密钥文件 桩体基本信息文件 剩余金额钱包文件 参数信息文件 桩体运行信息文件
标识 3F00 0000 0016 0002 0003 0005 空间 0100
323.密钥定义
标识 名称 00 应用主控密钥 01 桩体内部认证密钥 02 参数设置外部认证密钥 03 桩体号设置外部认证密钥 04 锁卡外部认证密钥 01 灰锁主密钥 02 消费主密钥 01 解扣主密钥
06 指令二进制MAC校验密钥
分散
使用权 自由 自由 自由 自由 自由 自由 自由 自由 自由
更改权 应用主控密钥 应用主控密钥 应用主控密钥 应用主控密钥 应用主控密钥 应用主控密钥 应用主控密钥 应用主控密钥 应用主控密钥

8
9

09 05 0A 0B 解扣MAC子密钥 返写外部认证密钥 远程控制MAC校验密钥 广播MAC校验密钥 自由 自由 自由 自由 应用主控密钥 应用主控密钥 应用主控密钥 应用主控密钥
桩体内部认证密钥用于比较各种卡与ESAMPSAM是否是一个系统发行的。 参数设置外部认证密钥用于对参数信息文件的控制,认证通过后可以对参数进行修改。
锁卡外部认证密钥用于对用户卡锁卡标识文件的写权限获取。与用户卡配对使用。
灰锁主密钥用于用户卡购电钱包文件的灰锁处理。与用户卡配对使用。 指令二进制MAC校验密钥用于对参数设置卡的指令数据的校验,避免参数数据在线路上被篡改。与参数设置卡配对使用。
解扣主密钥用于用户卡购电钱包的解扣交易处理,与用户卡配对使用。
解扣MAC子密钥用于解扣交易流程中的MAC计算,与用户卡配对使用,达到灰锁和解扣一一对应的目的。
远程控制MAC校验密钥用于对从主站接收数据的校验。 广播MAC校验密钥用于对从主站接收到的广播数据的校验。

324.基本信息文件
序号 1
数据项 桩体号
长度
6 说明
BCD 325.剩余金额钱包文件
序号 1 2
数据项 剩余金额 交易金额
长度 4 4 说明 HEX HEX
9
10

326.参数信息文件
序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
数据项
当前交易费率1电量单价 当前交易费率2电量单价 当前交易费率3电量单价 当前交易费率4电量单价 当前交易费率5电量单价 当前交易费率6电量单价 当前交易费率7电量单价 当前交易费率8电量单价 备用交易费率1电量单价 备用交易费率2电量单价 备用交易费率3电量单价 备用交易费率4电量单价 备用交易费率5电量单价 备用交易费率6电量单价 备用交易费率7电量单价 备用交易费率8电量单价 备用费率电量单价切换时间
长度 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 说明
BCD (四位小数,单位:元,缺省值: 1.0000 BCD (四位小数,单位:元,缺省值: 1.0000 BCD (四位小数,单位:元,缺省值: 1.0000 BCD (四位小数,单位:元,缺省值: 1.0000 BCD (四位小数,单位:元,缺省值: 1.0000 BCD (四位小数,单位:元,缺省值: 1.0000 BCD (四位小数,单位:元,缺省值: 1.0000 BCD (四位小数,单位:元,缺省值: 1.0000 BCD (四位小数,单位:元,缺省值: FF.FFFF BCD (四位小数,单位:元,缺省值: FF.FFFF BCD (四位小数,单位:元,缺省值: FF.FFFF BCD (四位小数,单位:元,缺省值: FF.FFFF BCD (四位小数,单位:元,缺省值: FF.FFFF BCD (四位小数,单位:元,缺省值: FF.FFFF BCD (四位小数,单位:元,缺省值: FF.FFFF BCD (四位小数,单位:元,缺省值: FF.FFFF BCDYYMMDDhhmm
10
11

33PSAM 331.用途
PSAM应用于系统的售电窗口,完成对用户卡购电过程中必要的安全认证。
332.文件定义
文件 MF MKF MEF DF01 DKF 内容说明 主文件 主密钥文件 卡号信息文件 桩体应用目录文件 桩体应用密钥文件
标识 3F00 0000 0001 3F01 0000 空间 08H

333.卡号信息文件
序号 1
数据项 卡号
长度
8 说明
BCD 334.密钥定义
标识 名称 00 应用主控密钥 00 口令 00 桩体内部认证密钥 05 指令信息外部认证密钥 04 锁卡外部认证密钥 01 解扣主密钥 02 充值主密钥 03 消费主密钥
06 指令二进制MAC校验密钥 09 终端解扣MAC主密钥
分散

使用权 自由 自由 自由 口令 口令 口令 自由 口令 口令 口令
更改权 应用主控密钥
口令 应用主控密钥 应用主控密钥 应用主控密钥 应用主控密钥 应用主控密钥 应用主控密钥 应用主控密钥 应用主控密钥
应用主控密钥分散因子为PSAM卡序列号后8字节。
桩体内部认证密钥用于比较用户卡与PSAM是否是一个系统发行的。
11
12

锁卡外部认证密钥用于对用户卡锁卡标识文件的写权限获取。与用户卡配对使用。
指令二进制MAC校验密钥用于对参数设置卡的指令数据的校验码的计算,避免参数数据在线路上被篡改。与参数设置卡配对使用。
解扣主密钥用于用户卡购电钱包的解扣交易处理,与用户卡配对使用。
解扣MAC主密钥用于解扣交易流程中的MAC计算,与用户卡配对使用,用于异常情况的解扣处理。
34.修改/还原密钥卡 341.用途
在桩体生产过程中,为方便生产厂家测试,ESAM中的密钥为测试值。桩体出厂前,利用电力公司的修改密钥卡将桩体内ESAM的测试密钥修改为实际的运行密钥。桩体密钥修改后意味着生产厂家使用的电卡将不可以继续使用,从而体现了电力公司对ESAM密钥的控制权限。
密钥修改卡对需要分散使用的密钥采用密文方式传递导出和使用。
342.文件定义
文件
MF MKF MEF1 DF01 DKF EF1 内容说明 主文件 主密钥文件 卡号信息文件 应用目录文件 应用密钥文件 指令信息文件
标识 3F00 0000 0001 3F01 0000 0001 空间 0008
0120 343.卡号信息文件
序号 1
数据项 卡号
长度
8 说明
BCD 12
13

344.密钥定义
标识 00 00 01 名称 应用主控密钥 桩体内部认证密钥 ESAM应用主控密钥
分散
使用权 自由 自由
自由
更改权 应用主控密钥 应用主控密钥 应用主控密钥
345.指令信息文件
序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 数据项 起始 卡类型(命令码)
长度 应用主控密钥 内部认证密钥 参数设置外部认证密钥 桩体号设置外部认证 锁卡外部认证密钥 灰锁主密钥 消费主密钥 解扣主密钥
指令二进制MAC校验密钥
解扣MAC子密钥 返写外部认证密钥
长度 1 1 2 18 18 18 18 18 18 18 18 18 18 18 18 说明 68H 02H HEX HEX HEX HEX HEX HEX HEX HEX HEX HEX HEX HEX HEX 16 17 18
远程控制MAC校验密钥
广播MAC校验
校验码 结束码
18 1 1
HEX HEX 16H 35.工具卡(功能测试卡、故障检修卡) 351.用途
功能测试卡用于桩体的基本功能测试,如继电器的开启关闭等;(修改密钥后使用)
故障检修卡用于停止充电桩正在进行的充电,使用此卡不能进行充电。(修改密钥
13
14

后使用)
这两种卡只需在密钥匹配的情况下就可以使用,卡结构相同。 卡类型‘11’为功能测试卡,卡类型‘12’为故障检修卡。
352.文件定义
文件 MF MKF MEF1 DF01 DKF EF1 内容说明 主文件 主密钥文件 卡号信息文件 应用目录文件 应用密钥文件 指令信息文件
标识 3F00 0000 0001 3F01 0000 0001 空间 0008
05H 353.卡号信息文件
序号 1
数据项 卡号
长度
8 说明
BCD 354.密钥定义
标识 00 01 名称 应用主控密钥 内部认证密钥
分散
使用权 自由 自由
更改权 应用主控密钥 应用主控密钥
355.指令信息文件
序号 1 2 3 4 5 数据项 起始 卡类型(命令)
长度 校验和 结束码
长度 1 1 1 1 1 说明 68H 11H/12H 00H 11H/12H 16H 14
15

36.充电管理卡 361.用途
用来完成现金结算客户的充电允许卡。第一次刷卡开始充电,第二次刷卡停止充电。(修改密钥后使用)

362.文件定义
文件
MF MEF MKF DF01 DKF EF1 内容说明 主文件 卡号信息文件 主密钥文件 桩体应用目录文件 桩体应用密钥文件 指令二进制文件
标识 3F00 0001 0000 3F01 0000 0011 空间 FFFF 08H 20H 1B0H 100H 20H
363.卡号信息文件
序号 1
数据项 卡号
长度
8 说明
BCD 364.密钥定义
标识 00 01 02 名称 应用主控密钥 内部认证密钥 指令信息外部认证密钥
分散
使用权 自由 自由 自由
更改权 应用主控密钥 应用主控密钥 应用主控密钥
密钥如需分散,分散因子为8字节卡号。
内部认证密钥用于比较各种卡与ESAMPSAM是否是一个系统发行的。
指令信息外部认证密钥用于对指令二进制文件进行控制,认证通过后可以将指令信息写到用户卡中。
15
16

365.指令二进制文件
序号 1 2 3 4 5
数据项 起始 卡类型(命令)
长度 校验和 结束码
长度 1 1 1 1 1 说明 68H 51H 00H HEX 16H 37.出厂设置卡 371.用途
出厂设置卡用于在电能表密钥修改前设定状体号及基本运行参数信息。出厂设置后,使用密钥修改卡完成密钥修改即可挂表运行了。 电卡类型定义为‘41

372.文件定义
文件
MF MEF MKF DF01 DKF EF1 内容说明 主文件 卡号信息文件 主密钥文件 桩体应用目录文件 桩体应用密钥文件 指令信息文件
标识 3F00 0001 0000 3F01 0000 0001 空间 10H
30H 373.卡号信息文件
序号 1
数据项 卡号
长度
8 说明
BCD 16
17

374.密钥定义
标识 00 01 03 名称 应用主控密钥 桩体内部认证密钥 桩体号外部认证密钥
分散
使用权 自由 自由 自由
更改权 应用主控密钥 应用主控密钥 应用主控密钥
375.出厂设置卡指令信息文件
序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 数据项 起始 卡类型(命令)
长度 桩体号
当前交易费率1电量单价 当前交易费率2电量单价 当前交易费率3电量单价 当前交易费率4电量单价 当前交易费率5电量单价 当前交易费率6电量单价 当前交易费率7电量单价 当前交易费率8电量单价 备用交易费率1电量单价 备用交易费率2电量单价 备用交易费率3电量单价 备用交易费率4电量单价 备用交易费率5电量单价
长度 1 1 1 6 3 3 3 3 3 3 3 3 3 3 3 3 3 说明 68H 41H HEX BCD BCD (四位小数,单位:元,缺省值: 1.0000 BCD (四位小数,单位:元,缺省值: 1.0000 BCD (四位小数,单位:元,缺省值: 1.0000 BCD (四位小数,单位:元,缺省值: 1.0000 BCD (四位小数,单位:元,缺省值: 1.0000 BCD (四位小数,单位:元,缺省值: 1.0000 BCD (四位小数,单位:元,缺省值: 1.0000 BCD (四位小数,单位:元,缺省值: 1.0000 BCD (四位小数,单位:元,缺省值: FF.FFFF BCD (四位小数,单位:元,缺省值: FF.FFFF BCD (四位小数,单位:元,缺省值: FF.FFFF BCD (四位小数,单位:元,缺省值: FF.FFFF BCD (四位小数,单位:元,缺省值: FF.FFFF
17
18

18 19 20 21 22 23 备用交易费率6电量单价 备用交易费率7电量单价 备用交易费率8电量单价 备用费率电量单价切换时间
校验和 结束码
3 3 3 5 1 1 BCD (四位小数,单位:元,缺省值: FF.FFFF BCD (四位小数,单位:元,缺省值: FF.FFFF BCD (四位小数,单位:元,缺省值: FF.FFFF BCDYYMMDDhhmm
HEX 16H


38.充值卡 381.用途
为方便零时用户充电的定额卡。只能消费,不能充值,卡内余额为零时卡片作废。第一次刷卡后开始充电,并锁定该卡,第二次刷卡解锁并断电。(修改密钥后使用)

382.文件定义
文件
MF MEF MKF DF01 DKF EF1 EF2 EF3 EF4 EF5 内容说明 主文件 卡号信息文件 主密钥文件 桩体应用目录文件 桩体应用密钥文件 指令二进制文件 购电钱包文件 交易明细文件 锁卡标识文件 返写信息文件
标识 3F00 0001 0000 3F01 0000 0011 0001 0018 0005 0002 空间 FFFF 08H 20H 1B0H 100H 20H 08H 17H*0AH 01H 50H*0AH

18
19

383.卡号信息文件
序号 1
数据项 卡号
长度
8 说明
BCD 384.密钥定义
标识 00 01 02 04 00 01 00 02 01 09 05 名称 应用主控密钥 内部认证密钥 指令信息外部认证密钥 锁卡外部认证密钥
充值子密钥 消费子密钥 TAC子密钥 灰锁子密钥 解扣子密钥 解扣MAC主密钥 返写外部认证密钥
分散
使用权 更改权 自由 应用主控密钥 自由 应用主控密钥 自由 应用主控密钥 自由 应用主控密钥 自由 应用主控密钥 自由 应用主控密钥 自由 应用主控密钥 自由 应用主控密钥 自由 应用主控密钥 自由 应用主控密钥 自由 应用主控密钥
密钥如需分散,分散因子为8字节卡号。
内部认证密钥用于比较各种卡与ESAMPSAM是否是一个系统发行的。 指令信息外部认证密钥用于对指令二进制文件进行控制,认证通过后可以将指令信息写到用户卡中。
圈存子密钥用于购电钱包文件的圈存充值操作。 TAC子密钥用户圈存、灰锁等交易的TAC计算 灰锁子密钥用于购电钱包的灰锁处理。
锁卡外部认证密钥用于用户卡锁卡标识文件的控制,认证通过后可以对标识文件进行改写。
解扣子密钥用于购电钱包解扣交易处理。
解扣MAC主密钥用于灰锁交易流程中的MAC计算及解扣交易流程中的MAC校验,达到灰锁和解扣一一对应的目的。
19
20

385.指令二进制文件
序号 1 2 3 4 5
数据项 起始 卡类型(命令)
长度 校验和 结束码
长度 1 1 1 1 1 说明 68H 61H 00H HEX 16H 386.购电金额钱包文件
序号 1
数据项 剩余电量
长度
4 说明
HEX 387 返写信息文件
序号 1 2 3 4 5

数据项 交易开始时间 交易前余额 交易结束时间 交易后余额 用电量
长度 6 4 6 4 4 说明
BCDYYYYMMDDhhmm
BCD BCDYYYYMMDDhhmm
BCD BCD .应用主要流程 4.1 内部认证流程
适用于各种卡片与ESAM以及用户卡与PSAM卡之间的认证。 1ESAMPSAM卡)或桩体产生随机数; 2)卡片对随机数加密获得密文;
20
21

3ESAMPSAM卡)根据卡片卡号产生过程密钥; 4ESAMPSAM卡)利用过程密钥加密随机数获得密文;
5)桩体对比卡片和ESAMPSAM卡)计算的密文结果,判断卡片的合法性。
4.2 外部认证流程
适用于各种卡片与ESAM以及用户卡与PSAM卡之间的认证。 情况1用户卡认证ESAMPSAM卡) 1)卡片读取随机数;
2ESAMPSAM卡)根据卡片卡号产生过程密钥; 3ESAMPSAM卡)利用过程密钥加密随机数获得密文; 4)卡片利用以上密文完成外部认证过程,获得相应的操作。 情况2ESAM认证用户卡 1ESAM读取随机数; 2)用户卡加密随机数获得密文;
3ESAM利用以上密文完成外部认证过程,获得相应的操作。
21
22

4.3用电处理流程

①、用户刷卡,桩体根据自身工作状态作出流程选择
②、如果当前为空闲状态,进入预处理流程,在用户卡钱包未锁定的情况下完成加锁用电或补充交易
③、如果桩体当前为用电状态,则判断刷卡用户是否为当前用电用户 ④、判断是否为用电过程中进行了购电操作,购电后再来刷表的用户
⑤、对用电过程中购电后刷卡的用户进行处理,即在不断电的情况下先解扣再加锁用电 ⑥、桩体中存在该用户正在用电记录,或为用电用户二次刷卡,完成解扣操作 ⑦、桩体用电状态中且该用户非当前用电用户,流程终止
22
23

4.4交易预处理流程
执行标交易预处理流程 (步骤1.1取锁状态 (步骤1.2 IC卡处理 TACUF置位检查TACUF(步骤1.3TACUF复位未发生灰锁、解扣、联机解扣交易无灰锁返回TAC(步骤1.4有灰锁有否灰锁(步骤1.5回送正常信息(步骤1.6回送灰锁信息(步骤1.7执行加锁用电交易流程
(步骤1.10执行补充交易流程 (步骤1.9执行解扣交易流程 (步骤1.8结束1、上电复位,选择ADF(步骤1.1
23
24

2、取锁状态命令,从用户卡获取状态位信息及最近交易记录(步骤1.2
终端发出GET LOCK PROOFP100)命令对电子钱包的状态进行查询。 3、判断TACUF(交易验证码待读标志)(步骤1.3
用户卡收到GET LOCK PROOFP100)命令后,根据TACUF判断上次的解扣交易TAC码是否未被终端正确读取。如果应用未发生过灰锁、解扣、联机解扣交易,则IC返回‘6985’出错信息给终端,但不回送其他数据,进入步骤1.10的加锁用电交易流程;如果TACUF10即上次的解扣交易的MAC3码有待读取,则进入步骤1.9进入补充交易流程,否则,进入步骤1.5进行灰锁标志的判断。 4、返回TAC码(步骤1.4
用户卡将上次的解扣交易的产生的未成功读取的TAC码返回给桩体,以供桩体形成补充交易数据包。
5、判断灰锁标志(步骤1.5
用户卡对所选择的购电金额应用进行灰锁判断,如果当前应用中的购电金额钱包应用无灰锁,则进入加锁用电流程,否则进入解扣交易流程。 6、返回正常信息(步骤1.6
用户卡将正常信息返回给桩体,响应报文数据如下表,交易预处理流程完成。
说明
状态字(=’00’表示当前应用无灰锁) 上次发生的联机解扣的交易类型标识 上次联机解扣的电子钱包(’01’) 上次联机解扣的电子钱包余额 上次联机解扣的电子存折的交易序号 上次解联机解扣的桩体号 上次联机解扣的日期 上次联机解扣的时间 上次联机解扣的交易金额 上次联机解扣的MAC3 1 1 1 4 2 6 4 3 4 4 长度(字节)
7、返回灰锁信息(步骤1.7
用户卡将上次的灰锁交易的产生日期、时间、MAC2等返回给桩体,桩体进入解扣交易流程。响应报文数据如下表。
说明
状态字(=’01’表示当前应用已灰锁) 灰锁的交易类型标识
被灰锁的电子钱包(’01’) 被灰锁的电子钱包余额
1 1 1 4 长度(字节)
24
25

被灰锁的电子钱包交易序号 执行GREY LOCK时的桩体号 执行GREY LOCK时的日期 执行GREY LOCK时的时间 灰锁时的MAC2 2 6 4 3 4 8、进行解扣交易(步骤1.8
9、进行补充交易(步骤1.9:直接取TAC码保存到桩体记录中。 10、进行加锁用电交易(步骤1.10
4.5加锁用电交易流程
发出钱包锁定初始化指令(步骤 2.1处理
钱包锁定初始化(步骤 2.2产生MAC1(步骤 2.3发出钱包锁定指令(步骤 2.4 用户卡处理 验证MAC1(步骤 2.5钱包锁定处理(步骤 2.6 用户卡处理 ESAM处理 返回错误状态 ESAM处理 验证 MAC2(步骤 2.7有效用电(步骤 2.8无效停止交易,显示出错信息结束步骤1.10加锁用电交易
1、发出钱包锁定初始化命令(步骤2.1
桩体启用加锁用电交易。命令报文数据如下表。

25
26 说明
密钥索引号 桩体号
1 6 长度(字节)
2、用户卡处理钱包锁定初始化命令(步骤2.2
检查命令中包含的密钥索引号是否被用户卡支持。如果不支持,返回状态码9403(不支持的密钥索引号)且不返回其他数据。
在通过以上检查之后,用户卡将产生一个伪随机数,这个伪随机数将包含在本命令的响应报文中返回终端。响应报文数据如下表。
说明 电子钱包余额 电子钱包交易序号
保留 密钥版本号 算法标识 伪随机数(URAN
长度(字节)
4 2 3(全0
1 1 4 3ESAM计算MAC1(步骤2.3
使用用户卡卡返回的伪随机数(URAN和电子钱包脱机交易序号,终端的安全存取模块ESAM)将产生一个终端随机数(TRAN,一个过程密钥(GSESPK)和一个报文认证码MAC1,供用户卡卡来验证ESAM的合法性。
过程密钥GSESPK被用于电子钱包的灰锁消费交易。 用来产生中间密钥的输入数据如下:
TMPCK:伪随机数(URAN || 电子钱包脱机交易序号 ||两个字节‘00 用中间密钥对终端随机数(TRAN)加密,运算的结果产生过程密钥: GSESPK =DESTMPCKTRAN || 80000000
GSESPK对以下数据进行加密产生MAC1(按所列顺序) ────交易类型标识(91 ────桩体号 ────交易日期 ────交易时间 4、桩体发出钱包锁定命令GREY LOCK(步骤2.4 5、用户卡验证MAC1(步骤2.5
IC卡收到GREY LOCK命令后,将产生同样的过程密钥(GSESPK)并验证MAC1否有效。如果MAC1是有效的,交易处理将继续执行。如果MAC1是无效的,IC卡返回错误状态码9302MAC无效)给终端,桩体删除临时交易信息。
6、在验证MAC1成功的情况下进行钱包灰锁处理,并送出MAC2(步骤2.6
用户卡卡将电子钱包脱机交易序号加1,并将电子钱包应用灰锁。
用户卡产生一个报文鉴别码(MAC2)供ESAM对用户卡合法性进行检查,并同时将MAC2写入内部文件。MAC2将包含在从卡传送到ESAM(通过终端)GREY LOCK的命令响应报文和GET LOCK PROOF的命令响应报文中。

26
27

GSESPK对以下这些数据进行加密产生MAC2 ────电子钱包余额
────电子钱包脱机交易序号(加1前)
用户卡将用以下数据组成的一个记录来更新内部专用明细。这个明细记录中的数据将包含在GET LOCK PROOF的命令响应报文中,由用户卡返回给终端。
────交易类型标识(91=电子钱包灰锁) ────电子钱包代号(01=电子钱包) ────电子钱包余额
────电子钱包脱机交易序号 ────桩体号 ────交易日期 ────交易时间 ────MAC2 7ESAM验证MAC2的有效性(步骤2.7
8MAC2验证成功,桩体开启,持卡人进行用电(步骤2.8 异常情况处理:
步骤2.5之前任何一步出现传输中断。此时用户卡状态不发生改变,桩体删除临时交易信息,用户再次刷卡,流程回到步骤2.1重新开始。
步骤2.7中用户卡生成了MAC2,但ESAM没有收到,即用户卡已锁定,但桩体没有供电。用户再次刷卡,桩体发现临时记录中存在该用户的不完整记录,桩体通过GET LOCK PROOF获取MAC2,再次进入步骤2.7进行MAC2的校验。

因此桩体保存的临时记录中应该包括以下数据项 ────卡号
────伪随机数(URAN ────电子钱包脱机交易序号 ────电子钱包余额 ────终端随机数(TRAN
步骤2.7中用户卡未生成MAC2说明用户卡钱包未完成锁定,用户再次刷卡直接回到步骤2.1重新进行加锁用电交易,重新生成临时交易记录。
27
28

4.6解扣交易流程
发出解扣初始化命令 (步骤3.1 用户卡处理 处理解扣初始化命令(步骤3.2ESAM处理验证MAC1(步骤3.3无效有效交易处理(步骤3.5回送错误代码(步骤3.4发出解扣命令 (步骤3.6 用户卡处理 验证MAC2(步骤3.7无效有效交易处理(步骤3.8返回出错代码ESAM处理验证MAC3(步骤3.9有效断电,发送锁置位命令,收到确认信息后完成解锁流程(步骤 3.10无效回送错误代码(步骤3.4结束
步骤1.8解扣交易流程
28
29

1、发出解扣初始化命令(步骤3.1,桩体启用解扣交易:

解扣初始化的命令报文数据如下表:
说明
密钥索引号 桩体号
1 6 长度(字节)
2、用户卡处理解扣初始化命令,反馈MAC1(步骤3.2
检查用户卡是否支持命令中包含的密钥索引号。如果不支持,返回状态码9403(不支持的密钥索引号),且不返回其他数据。
在通过以上检查之后,用户卡将产生一个伪随机数(ICC、过程密钥SESULK和一个报文鉴别码(MAC1,供主机来验证联机解扣交易和用户卡的合法性。
过程密钥SESULK被用于电子钱包的解扣交易。用来产生过程密钥的输入数据如下: SESULK:伪随机数(ICC|| 电子钱包联机交易序号 || 8000 SESUlK对以下数据加密产生MAC1(按所列顺序) ────电子钱包余额
────电子钱包脱机交易序号 ────交易类型标识 ────桩体号
解扣初始化的响应报文数据如下表:
说明
电子钱包余额 电子钱包脱机交易序号 电子钱包联机交易序号 密钥版本号 密钥算法 伪随机数(ICC
MAC1 4 2 2 1 1 4 4 长度(字节)
如果用户卡返回的状态不是9000,终端将终止交易。 3ESAM校验MAC1(步骤3.3
ESAM将生成SESULK并且确认MAC1是否有效。如果MAC1有效,交易处理将按步3.5继续执行:否则ESAM返回一个错误状态码。
4MAC1校验错误,ESAM反馈错误信息中止流程,桩体删除临时交易信息(步骤3.4 5MAC1校验正确,ESAM进行交易处理,产生MAC2送出(步骤3.5
在确认能够进行解扣交易后,ESAM将产生一个报文鉴别码MAC2供用户卡对桩体ESAM)合法性进行检查。
SESULK对以下数据进行加密产生MAC2(按所列顺序) ────应补扣的交易金额 ────交易类型标识 ────桩体号 ────交易日期

29
30

────交易时间
6、桩体向用户卡发出解扣命令GREY UNLOCK(步骤3.6
解扣命令报文的数据如下表:
说明
交易金额 交易日期 交易时间
MAC2 4 4 3 4 长度(字节)
7、用户卡验证MAC2(步骤3.7
收到GREY UNLOCK命令后,用户卡先检查电子钱包余额是否大于或等于交易金额。如果小于交易金额,则回送状态码9401(金额不足),但不回送其他数据。用户卡还要验MAC2的有效性。如果MAC2是有效的,交易处理将继续执行步骤3.8;否则用户卡返回错误状态码9302MAC无效),桩体删除临时交易信息。 8MAC2验证成功,用户卡完成金额扣减和解锁,并反馈MAC3(步骤3.8
IC卡从卡上的电子钱包余额中减去交易金额(如果交易金额为0则省略对余额的修改)将电子钱包联机交易序号加1,将内部的解扣出错计数器复位,并将电子钱包应用解锁。
IC卡产生一个报文鉴别码(MAC3,包含在从卡传送到ESAM(通过终端)的GREY UNLOCK命令的响应报文中,以供桩体(ESAM)对解扣交易的成功的合法性进行检查。
SESULK对以下数据进行加密产生MAC3(按所列的顺序) ────电子钱包余额
────电子钱包联机交易序号(加1前) ────交易金额 ────交易类型标识 ────桩体号 ────交易日期 ────交易时间
在对电子钱包的解扣交易中,用户卡用以下数据组成的一个记录来更新标准交易明细: ────电子钱包联机交易序号 ────交易金额
────交易类型标识(95=电子钱包联机解扣) ────桩体号 ────交易日期 ────交易时间
对于电子钱包的解扣交易,IC卡将用以下数据组成的一个记录更新内部专用明细文件,以便以后终端可以通过GET LOCK PROOF命令得到:
────交易类型标识
────电子钱包代号(01=电子钱包) ────电子钱包余额
────电子钱包联机交易序号 ────桩体号
30
31

────交易日期 ────交易时间 ────交易金额 ────MAC3 解扣响应报文的数据如下表:
说明
MAC3
4 长度(字节)
9、桩体送MAC3ESAM校验(步骤3.9
命令报文数据包括:
────伪随机数(ICC
────电子钱包联机交易序号(加1前) ────电子钱包余额 ────交易金额 ────交易类型标识 ────桩体号 ────交易日期 ────交易时间 ────MAC3
10、校验通过,ESAM完成交易明细的记录,桩体向用户卡发置位指令,收到确认后断电(步骤3.10 11、桩体显示解扣成功 异常处理:
步骤3.7之前任何一步出现传输中断。此时用户卡状态不发生改变,桩体删除临时交易信息,用户再次刷卡,流程回到步骤3.1重新开始
步骤3.9,用户卡生成了MAC3,但ESAM没有收到,即用户卡已经完成金额扣除TACUF状态为‘10,但解锁流程未完成。用户再次刷卡,桩体发现临时记录中存在该用户的不完整记录,桩体通过GET LOCK PROOF获取MAC3,再次进入步骤3.9进行MAC3的校验。

因此桩体保存的临时记录中应该包括以下数据项 ────卡号

────伪随机数(ICC
────电子钱包联机交易序号(加1前) ────电子钱包余额 ────交易金额 ────交易类型标识
31
32

────桩体号 ────交易日期 ────交易时间
步骤3.9,用户卡未生成MAC3。说明用户卡钱包未完成锁定,用户再次刷卡直接回到步骤3.1重新进行解扣交易,重新生成临时交易记录。
步骤3.10桩体未收到锁置位命令的反馈。此时桩体已断电,用户卡已经完成扣减,用户再刷桩体,桩体发现临时记录中存在该用户的不完整记录,桩体通过GET LOCK PROOF得到用户卡的TACUF为‘00,直接将临时记录保存到完成交易记录区。
4.7补充交易流程
ESAM处理 读取TAC码(步骤4.1形成补充交易数据包(步骤4.2发出置锁状态(P1=’01')指令(步骤4.3IC卡处理 处理置锁状态(P1=’01')指令(步骤4.4结束
1、确定用户卡已解锁,但交易未完成,读取MAC3(步骤4.1 2、桩体完成交易记录的补全(步骤4.2 3、向用户卡发送锁置位指令(步骤4.3
4、用户卡处理锁置位,进入已解锁状态(步骤4.4
32

本文来源:https://www.2haoxitong.net/k/doc/d992107cabea998fcc22bcd126fff705cc175cfd.html

《汽车充电桩IC卡技术规范_V1.7资料.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式