通讯协议设计.docx
- 文档编号:6148728
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:39
- 大小:89.44KB
通讯协议设计.docx
《通讯协议设计.docx》由会员分享,可在线阅读,更多相关《通讯协议设计.docx(39页珍藏版)》请在冰豆网上搜索。
通讯协议设计
通信接口协议
2011年6月
修订控制页
1.概述5
1.1编写目的5
1.2缩略语5
1.3参考资料5
1.4共享平台机具接口定义5
1.5通信密钥6
2协议包格式7
2.1协议分层说明7
2.2包格式7
2.3校验字MAC码计算方法8
3.接口报文格式9
3.1业务应用类9
3.1.1消费流水上传9
3.1.2身份识别流水上传10
3.1.3黑名单下发11
3.1.4身份识别白名单下发12
3.1.5客户代码下发13
3.2设备管理类14
3.2.1通信参数下发14
3.2.2应用密钥下发14
3.2.3时间同步下发15
3.2.4心跳信号上传16
3.2.5开机密钥下发16
3.3门禁业务控制类18
3.3.1下发节假日时段和星期节假日信息18
3.3.2下发门设置信息(策略)19
3.3.3启动/停止实时上传20
3.3.4远程强制控制门的开关21
3.3.5门禁锁状态查询22
3.3.6开门密码设置22
3.3.7多卡开门设置23
3.3.8协迫开门密码设置24
3.4考勤业务控制类错误!
未定义书签。
3.4.1下发设设备工作模式错误!
未定义书签。
3.5脱机消费业务控制类错误!
未定义书签。
3.5.1下发补贴名单错误!
未定义书签。
3.5.2下发充值/存款名单错误!
未定义书签
3.5.3下发消费类别参数错误!
未定义书签
3.5.4下发消费策略错误!
未定义书签
3.5.5限制策略下发错误!
未定义书签
3.6水控业务控制类
错误!
未定义书签
错误!
未定义书签
3.6.1水控消费模式下发
1.概述
1.1编写目的
本协议主要是用来规范共享平台与机具和或前置机之间数据通信的通信机制和通信数
据格式,以便共享平台统一高效地接入各类业务和型号的机具。
1.2缩略语
缩略语
英文全称
中文含义
EMAP
e-surfingtongmachineApplicationProtocol
共享平台机具应用协议
AID
ApplicationIdentifier
应用标识
RFID
RadioFrequencyIdentification
射频识别
(U)SIM
(Universal)SubscriberIdentityModule
用户标识模块
TAC
TransactionAuthenticateCode
交易认证码
PSAM
PurchaseSecurityAuthenticateModel
消费安全认证模块
SOAP
SimpleObjectAccessProtocol
简单对象访问协议
1.3参考资料
《中国电信翼支付产品(基础版)业务规范(试行)》
《中国电信翼支付业务账户管理办法(试行)》
《中国电信融合支付平台技术规范(试行)》
《中国电信融合支付平台技术规范—省平台功能分册》
《中国电信融合支付平台技术规范——社区平台(系统)》
1.4共享平台机具接口定义
共享平台的接口如图1-1所示。
共享平台通过该接口(B1)与前端用户侧的机具、前
置机、应用系统进行交互,实现共享平台对机具设备管理、控制以及业务数据采集的功
申习申习申习申习申习申习申习
[I[[I[[I[[I[[I[[I[
[一I_[[一I_[[一I_[[一I_[[一I_[[一I_[[一I_[
翼翼B1
图1-1共享平台通信前置系统与机具的接口示意图
EMAP协议是采用TCP/IP和UDP通信方式,基于TCP通信采用短连接的方式,共享平
台作为IP服务端监听各厂家前置机,采用统一端口号接收消费流水数据和身份识别类流水数据,该端口号默认值为10001,可根据实际情况进行更改,地址更改后需要即时通知到
各机具。
各厂家前置机作为IP服务端监听共享平台信息,采用独立的端口号接收共享平
台发布的信息,该监听端口号默认值为10001,在设备开能前可根据实际情况进行更改。
为保证平台对所有机具的在线监管,当机具没有进行数据通信的时间间隔超过某阀值
(该时间间隔阀值默认为60秒,参数可通过协议进行调整)时,机具必须发送心跳信号,服务端收到该心跳信号后,回信应答。
当发送方发送协议数据等待应答响应的时间超过某阀值(该时间阀值默认为6秒,参数
可通过协议进行调整)时,发送方需要重发该协议包,当重发次数超过某阀值(该重发次数
阀值默认为3次,参数可通过协议进行调整)时,则协议通信的发起方需要保存未成功传输的数据内容及状态,并每间隔一定时间(该重发次数阀值默认为600秒,参数可通过协议进
行调整)重新发送数据。
1.5通信密钥
通信密钥由长度16字节的字符组成,各机具出厂时密钥统一设置为
“0000000000000000(16个字符“0”),共享平台在设备开通时通过应用协议下发新的
通信密钥给各机具,机具按照平台分配的通信密钥进行安全通信。
2协议包格式
2.1协议分层说明
根据TCP/IP的分层模型,EMAP协议属于应用层的协议,基于TCP/UDP的传送方式,机
具设备开通时,通过配置确定通信方式。
如用以太网举例,数据在进入协议栈时的分别会加上各层的首部信息,最后作为一帧
数据发送出去,如图2-1:
IP首部
TCP/UDP
EMAP报文
首部
图2-1数据流协议包结构
2.2包格式
EMAP协议的数据分为三部分,分别为EMAF首部和EMAPW性和EMAP校验。
^翼^翼^翼^翼^翼^翼
召亍
^翼^翼^翼^翼^翼^翼
4翼翼
2翼翼
6翼翼4翼翼
EMAP翼翼
EMAP翼翼
IP翼翼
TCP/UDP
異異
EMAP翼翼
图2-2共享平台EMAP包格式示意图
LEN=业务代码+EMAP属性
长度)和业务类型代码(2字节长度)。
EMAPi性(Attribute):
属性是一个包的业务数据部分,紧随着包头之后。
EMAF校验:
通过MAC算法计算出的校验字(4个字节),紧随着包属性之后。
2.3校验字MA码计算方法
参加MAC计算的数据为包内校验字前面的所有数据。
MAC计算流程:
1.取系统分配给各厂家接入前置机的MAC密钥(16个字节)
2.根据MAC密钥对计算数据进行3DESCBCMAC计算,随机因子8字节全0
3.取计算结果的前4字节为MAC
具体计算步骤如下:
第一步:
将一个8个字节长的初始值(InitialVector)设定为16进制的’0x0000
000000000000'。
第二步:
将所有的输入数据按指定顺序连接成一个数据块。
第三步:
将连接成的数据块分割为8字节长的数据块组,标识为D1,D2,D3,D4
等等。
分割到最后,余下的字节组成一个长度小于等于8字节的最
后一块数据块。
第四步:
如果最后一个数据块长度为8字节,则在此数据块后附加一个8字节长的数据
块,附加的数据块为:
16进制的’0x8000000000000000'。
如果最后一个数据块
长度小于8字节,则该数据块的最后填补一个值为16进制’0x80'的字节。
如果填补之后
的数据块长度等于8字节,则跳至第五步。
如果填补之后的数据块长度仍小于8字节,则在
数据块后填补16进制’0x00'的字节至数据块长度为8字节。
第五步:
MAC的产生是通过上述方法产生的数据块组,由MAC密钥进行加密运算,MAC
的算法如图2-3描述。
第六步:
最终值的左4字节为MAC
3.接口报文格式
3.1业务应用类
3.1.1消费流水上传
发送报文
序号
数据内容
说明
1
后续数据长度
4字节,HEX,高位在前
2
业务类型代码
2字节,固定值:
OxfOO1
3
客户代码
4字节,BCD,高位在前
4
终端机编号
4字节,HEX,高位在前
5
卡片顺序号
4字节,BCD,高位在前
6
电子钱包交易序号
2字节,HEX,高位在前
7
终端交易序号
4字节,HEX,高位在前
8
交易前卡片金额
4字节,HEX,低位在前
9
交易金额
4字节,HEX,低位在前
10
交易日期
7字节,BCD,
YYYYMMDDHHMISS
11
应用类型标识
1字节,固定值:
0x08
12
交易类型
1字节,固疋值:
0x01表示金额消费清单,0x02计次消费,0x03最低消费扣款,0x04水控消费清单,0x87表示补贴清单,0x88表示充值清
单,0x89充多扣款,0x90OTA。
13
PSAM终端编号
6字节,HEX,高位在前
14
卡种标识
2字节,HEX,高位在前
0x0001表示M1卡,0x0002表示CPU卡
15
地区代码
2字节,HEX,高位在前
16
TAC值
4字节,HEX,高位在前
17
交易结果标志
1字节,HEX,0x01表示灰
记录,0x02表示异常记录,
0x99表示正常记录
18
校验字
4字节,HEX,MAC
1、终端交易序号:
当上传补贴和充值清单时,终端交易序号回填下发时的流水号;当上传消费清单时终端交易序号为机具终端交易序号
2、卡片顺序号:
是指用户卡在系统内的唯一编号,该编号对每张用户卡的每个应用是唯一的(同一用户换卡后,会生成一新的顺序号并通过发卡程序写到新的用户卡上),系统通过该编码实现系统内业务数据逻辑关联处理。
接收报文
序号
数据内容
说明
1
后续数据长度
4字节,HEX,高位在前
2
业务类型代码
2字节,固定值:
0xf001
3
客户代码
4字节,BCD,高位在前
4
终端机编号
4字节,HEX,高位在前
5
终端交易序号
4字节,HEX,高位在前
6
结果标志
2字节,HEX,高位在前
0x0000——成功
0x0001重复数据
0x0002——TAC错误
0x0003——终端机不存在
0x0004后台故障(请重
传)
0x0005——其他错误
7
异常原因
变长,ASCII码,其中结果
标志为0x0000不填
8
校验字
4字节,HEX,MAC
3.1.2身份识别流水上传
发送报文
序号
数据内容
说明
1
后续数据长度
4字节,HEX,高位在前
0x00000022
2
业务类型代码
2字节,固定值:
0xf002
3
客户
4字节,BCD,高位在前
4
终端机编号
4字节,HEX,高位在前
5
终端交易序号:
4字节,HEX,高位在前:
6
卡片顺序号
4字节,BCD,高位在前
7
卡片物理序列号
4字节,HEX,高位在前「
8
交易日期
7字节,BCD,
YYYYMMDDHHMISS
9
交易结果标志
1字节,HEX,0x01非法卡
刷卡记录,0x02协迫开门,0x03表示正常卡但是刷卡没在开门时间,0x99表示正常卡刷卡记录
10
校验字
4字节,HEX,MAC
接收报文
序号
数据内容
说明
1
后续数据长度
4字节,HEX,高位在前
2
业务类型代码
2字节,固定值:
0xf002
3
客户代码
4字节,BCD,高位在前
4
终端机编号
4字节,HEX,高位在前:
5
终端交易序号
4字节,HEX,高位在前
6
结果标志
2字节,HEX,高位在前
0x0000——成功
0x0001重复数据
0x0003——终端机不存在
0x0004后台故障(请重
传)
0x0005——其他错误
7
异常原因
变长,ASCII码,其中结果
标志为0x0000不填
8
校验字
4字节,HEX,MAC
3.1.3黑名单下发
发送报文
序号
数据内容
说明
1
后续数据长度
4字节,HEX
2
业务类型代码
2字节,固定值:
0xf003
3
客户代码
4字节,BCD,高位在前
4
终端机编号
4字节,HEX,高位在前
5
卡片顺序号
4字节,BCD,高位在前,
6
卡片物理序列号
4字节,HEX,高位在前
7
黑名单版本号
7字节,BCD,
YYYYMMDDHHMISS
8
黑名单次数
1字节HEX
9
卡状态标志
1字节,HEX,0x04:
卡片
挂失,0x01:
卡片解挂
10
校验字
4字节,HEX,MAC
接收报文
序号
数据内容
说明
1
后续数据长度
4字节,HEX
2
业务类型代码
2字节,固定值:
0xf003
3
客户代码
4字节,BCD,高位在前
4
终端机编号
4字节,HEX,高位在前
5
黑名单版本号
7字节,BCD,
YYYYMMDDHHMISS
6
结果标志
2字节,HEX,高位在前
0x0000——成功
0x0001——异常
7
异常原因
变长,ASCII码,其中结果
标志为0x0000不填
8
校验字
4字节,HEX,MAC
3.1.4身份识别白名单下发
发送报文
序号
数据内容
说明
1
后续数据长度
4字节,HEX
2
业务类型代码
2字节,固定值:
0xf004
3
客户代码
4字节,BCD,高位在前
4
终端机编号
4字节,HEX,高位在前
5
卡片顺序号
4字节,BCD,高位在前
6
卡片物理序列号
4字节,HEX,高位在前
7
白名单版本号
7字节,BCD,
YYYYMMDDHHMISS
8
卡状态标志
1字节,HEX,0x04:
卡片
禁止刷卡,0x01:
卡片允许刷卡
9
校验字
4字节,HEX,MAC
接收报文
序号
数据内容
说明
1
后续数据长度
4字节,HEX
2
业务类型代码
2字节,固定值:
0xf004
3
客户代码
4字节,BCD,高位在前
4
终端机编号
4字节,HEX,高位在前:
5
白名单版本号
7字节,BCD,
YYYYMMDDHHMISS
6
结果标志
2字节,HEX,高位在前
0x0000——成功
0x0001——异常
7
异常原因
变长,ASCII码,其中结果
标志为0x0000不填
8
校验字
4字节,HEX,MAC
3.1.5客户代码下发
发送报文
序号
数据内容
说明
1
后续数据长度
4字节,HEX
2
业务类型代码
2字节,固定值:
0xf005
3
客户代码
4字节,BCD,高位在前
4
终端机编号
4字节,HEX,高位在前
5
校验字
校验字
1、开通机具时通过此接口下发客户代码和终端机编号给机具,其他接口中所涉及的客户
代码”、终端机编号”与此一样。
[0]
OjeOO
11]
OkOO
⑵
OkOO
[3]
OkOE
OkFO
⑸
OkOS
[6]
OkOO
[7]
OkOQ
[@]
0x00
m
Ml
[10]
OkOO
[11]
OkOO
[12]
OiEOO
113]
OkPO
[14]
OkCC
[15]
CkE4
[10]
QM
rm
r*・■p
QsF3
接收报文
序号
数据内容
说明
1
后续数据长度
4字节,HEX
2
业务类型代码
2字节,固定值:
0xf005
3
客户代码
4字节,BCD,高位在前
4
终端机编号
4字节,HEX,高位在前
5
结果标志
2字节,HEX,高位在前
0x0000——成功
0x0001——异常
6
异常原因
变长,ASCII码,其中结果
标志为0x0000不填
7
校验字
4字节,HEX,MAC
3.2设备管理类
321通信参数下发
发送报文
序号
数据内容
说明
1
后续数据长度
4字节,HEX
2
业务类型代码
2字节,固定值:
0xa001
3
客户代码
4字节,BCD,高位在前
4
终端机编号
4字节,HEX,高位在前
5
通信密钥
16字节,HEX,通信密钥米用3DESECB加密传输,加密的KEY为终端机编号经
16进制转换后得到的8字符长度的ASCII字符串。
6
通信前置服务器IP地址
4字节,HEX,高位在前
7
通信前置服务器端口
2字节,HEX,高位在前
8
心跳阀值(单位:
秒)
2字节,HEX,高位在前
9
超时未响应生发的阀值(单位:
秒)
2字节,HEX,高位在前
10
重发次数的阀值(单位:
次)
2字节,HEX,高位在前
11
重发间隔(单位:
秒)
2字节,HEX,高位在前
12
校验字
校验字
接收报文
序号
数据内容
说明
1
后续数据长度
4字节,HEX
2
业务类型代码
2字节,固定值:
0xa001
3
客户代码
4字节,BCD,高位在前
4
终端机编号
4字节,HEX,高位在前:
5
结果标志
2字节,HEX,高位在前
0x0000——成功
0x0001——异常
6
异常原因
变长,ASCII码,其中结果
标志为0x0000不填
7
校验字
4字节,HEX,MAC
1、通信密钥与校验定:
机具在回复这个接口的报文中,还是使用原来的通信密钥,只有在这个接口返回成功(结果标志为0x0000),以后的交互才使用新的通信密钥。
3.2.2应用密钥下发
发送报文
序号
数据内容]
说明
1
后续数据长度
4字节,HEX
2
业务类型代码
2字节,固定值:
0xa002
3
客户代码
4字节,BCD,高位在前
4
终端机编号
4字节,HEX,高位在前
5
扇区号
1字节;针对所有应用的公共信息扇区号。
6
密钥
8字节,HEX,
KEYA+“0x0000”通信采用3DESECB加密传
输,加密的KEY为通信密钥。
7
AID
16字节,HEX,对于CPU卡
应用的AID。
通信采用
3DESECB加密传输,加密的KEY为通信密钥。
8
校验字
校验字
1、扇区或AID:
每台机具需要记录一个M1卡扇区号,以及一个CPU卡的AID
2、密钥:
消费类机具密钥通过PSAM卡操作,此密钥无效;对于M1卡ID应用类操作使用KEYA
接收报文
序号
数据内容
说明
1
后续数据长度
4字节,HEX
2
业务类型代码
2字节,固定值:
0xa002
3
客户代码
4字节,BCD,高位在前
4
终端机编号
4字节,HEX,高位在前:
5
结果标志
2字节,HEX,高位在前
0x0000——成功
0x0001——异常
6
异常原因
变长,ASCII码,其中结果
标志为0x0000不填
7
校验字
4字节,HEX,MAC
323时间同步下发
发送报文
序号
数据内容
说明
1
后续数据长度
4字节,HEX
2
业务类型代码
2字节,固定值:
0xa003
3
客户代码
4字节,BCD,高位在前
4
终端机编号
4字节,HEX,高位在前
5
时间
7字节,BCD,
YYYYMMDDHHMISS
6
校验字
校验字
接收报文
序号
数据内容
说明
1
后续数据长度
4字节,HEX
2
业务类型代码
2字节,固定值:
0xa003
3
客户代码
4字节,BCD,高位在前
4
终端机编号
4字节,HEX,高位在前H
5
结果标志
2字节,HEX,高位在前
0x0000——成功
0x0001——异常
6
异常原因
变长,ASCII码,其中结果
标志为0x0000不填
7
校验字
4字节,HEX,MAC
324心跳信号上传
发送报文
序号
数据内容
说明
1
后续数据长度
4字节,HEX
2
业务类型代码
2字节,固定值:
0xa004
3
客户代码
4字节,BCD,高位在前
4
终端机编号1
4字节,HEX,高位在前
6
校验字
校验字
接收报文
序号
数据内容
说明
1
后续数据长度
4字节,HEX
2
业务类型代码
2字节,固定值:
0xa004
3
客户代码
4字节,BCD,高位在前
4
终端机编号
4字节,HEX,高位在前:
5
结果标志
2字节,HEX,高位在前
0x0000——成功
0x0001——异常
6
异常原因
变长,ASCII码,其中结果
标志为0x0000不填
7
校验字
4字节,HEX,MAC
325开机密钥下发
发送报文
序号
数据内容
说明1
1
后续数据长度
4字节,HEX
2
业务类型代码
2字节,固定值:
0xa005「
3
客户代码
4字节,BCD,高位在前
4
终端机编号
4字节,HEX,高位在前
5
开机密钥
8字节,HEX,通信米用3DES
ECB加密传输,加密的
KEY为通信密钥。
6
校验字
校验字
0x350x35…
55555555”
接收报文
序号
数据内容
说明
1
后续数据长度
4字节,HEX
2
业务类型代码
2字节,固定值:
0xa005
3
客户代码
4字节,BCD,高位在前
4
终端机编号
4字节,HEX,高位在前「
5
结果标志
2字节,HEX,高位在前
0x0000——成功
0x0001——异常
6
异常原因
变长,ASCII码,其中结果
标志为0x0000不填
7
校验字
4字节,HEX,MAC
3.3门禁业务控制类
3.3.1下发节假日时段和星期节假日信息
发送报文
序号
数据内容
说明
1
后续数据长度
4字节,HEX
2
业务类型代码
2字节,固定值:
0xb001
3
客户代码
4字节,BCD,高位在前
4
终端机编号
4字节,HEX,高位在前
5
节假日1时段控制数据,格式是MMDDhhmmMMDDhhmm,表示该节假
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通讯 协议 设计