mPOS软件设计规格书DOC.docx

上传人:b****1 文档编号:1072600 上传时间:2023-04-30 格式:DOCX 页数:84 大小:133.64KB
下载 相关 举报
mPOS软件设计规格书DOC.docx_第1页
第1页 / 共84页
mPOS软件设计规格书DOC.docx_第2页
第2页 / 共84页
mPOS软件设计规格书DOC.docx_第3页
第3页 / 共84页
mPOS软件设计规格书DOC.docx_第4页
第4页 / 共84页
mPOS软件设计规格书DOC.docx_第5页
第5页 / 共84页
mPOS软件设计规格书DOC.docx_第6页
第6页 / 共84页
mPOS软件设计规格书DOC.docx_第7页
第7页 / 共84页
mPOS软件设计规格书DOC.docx_第8页
第8页 / 共84页
mPOS软件设计规格书DOC.docx_第9页
第9页 / 共84页
mPOS软件设计规格书DOC.docx_第10页
第10页 / 共84页
mPOS软件设计规格书DOC.docx_第11页
第11页 / 共84页
mPOS软件设计规格书DOC.docx_第12页
第12页 / 共84页
mPOS软件设计规格书DOC.docx_第13页
第13页 / 共84页
mPOS软件设计规格书DOC.docx_第14页
第14页 / 共84页
mPOS软件设计规格书DOC.docx_第15页
第15页 / 共84页
mPOS软件设计规格书DOC.docx_第16页
第16页 / 共84页
mPOS软件设计规格书DOC.docx_第17页
第17页 / 共84页
mPOS软件设计规格书DOC.docx_第18页
第18页 / 共84页
mPOS软件设计规格书DOC.docx_第19页
第19页 / 共84页
mPOS软件设计规格书DOC.docx_第20页
第20页 / 共84页
亲,该文档总共84页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

mPOS软件设计规格书DOC.docx

《mPOS软件设计规格书DOC.docx》由会员分享,可在线阅读,更多相关《mPOS软件设计规格书DOC.docx(84页珍藏版)》请在冰点文库上搜索。

mPOS软件设计规格书DOC.docx

mPOS软件设计规格书DOC

mPOS_软件设计规格书

文档版本1.0

发布时间2015年2月15日

编写人邱浩

 

江苏东大集成电路工程技术有限公司

2015年2月

1.目的

制定该文档的目的在于提供一个确定的mPOS的软件设计需求目标,并对所实现的mPOS软件功能做全面的规格描述。

该文档构成软件开发的技术基础,同时也作为终端设计和实现的目标及测试、验收依据。

1.1软件版本命名格式:

设计要求:

按照如下格式:

终端系列号_区域标识_处理器标识_版本号及日期

软件版本名称由“终端系列号”、“区域标识”、“处理器标识”、“版本号及日期”四个字段组成,每个字段用字符‘_’分隔:

1.1.1终端系列号

最长为5个字符,这组字符是说明软件所适用的硬件平台或者硬件模块。

1.1.2区域标识

最长为2个字符,一般为名称缩写首字母。

以终端的使用机构的分支机构为依据划分

1.1.3处理器标识

最长为2个字符。

一般为名称缩写首字母。

以固件所适用的处理器为依据划分

1.1.4版本号及日期

规定为8个字符。

固件版本号由主版本号、子版本号、阶段版本号组成。

一般首字符用V表示,主版本号、子版本号与阶段版本号之间用“.”分隔。

主版本号为一个字符,用于表示主要功能的变更或重大修改;子版本号为一个字符,用于表示功能有一定的增加或变化;阶段版本号用于表示进行了局部修改或bug修正。

如版本号定义:

V1.0.0。

版本号后紧跟的3个字符表示版本生成的日期,具体内容如下:

第一个字符:

英文字符

表示的年份

英文字符

表示的年份

A

2001

K

2011

B

2002

L

2012

C

2003

M

2013

D

2004

N

2014

E

2005

O

2015

F

2006

P

2016

G

2007

Q

2017

H

2008

R

2018

I

2009

S

2019

J

2010

T

2020

第二个字符:

英文字符

表示的月

英文字符

表示的月

A

1月

G

7月

B

2月

H

8月

C

3月

I

9月

D

4月

J

10月

E

5月

K

11月

F

6月

L

12月

第三个字符:

英文字符

表示的日

英文字符

表示的日

英文字符

表示的日

A

1

P

16

e

31

B

2

Q

17

C

3

R

18

D

4

S

19

E

5

T

20

F

6

U

21

G

7

V

22

H

8

W

23

I

9

X

24

J

10

Y

25

K

11

Z

26

L

12

a

27

M

13

b

28

N

14

c

29

O

15

d

30

1.2mPOS软件版本发布信息:

软件版本号

变更人

日期

说明

891EP_ZH_F2_V1.0.0OEF

邱浩

2015.5.6

mPOS产品首个发布版本

2.系统概述

2.1mPOS运行环境

 

整个mPOS支付系统可由mPOS、上位机、后台支付处理系统等组成。

上位机是指运行支付应用程序的智能终端,如android/ios系统的手机或平板电脑等设备,后台支付处理系统指支付业务机构的交易系统。

用户交易在用户上位机支付应用上发起,将支付输入数据发送至mPOS,mPOS将交易输入数据组成标准的交易报文并用安全的方式和后台支付处理系统交换,将后台支付处理系统返回的交易结果,发送回上位机呈现给用户。

2.2mPOS运行环境

mPOS通过蓝牙与上位机进行通讯,从而实现相关交易。

3.软件功能需求

3.1外设驱动功能要求

3.1.1键盘

设计要求:

mPOS应包括10个数字键、电源键、菜单键、输入法键、“*”、“#”、方向键、上、下键、确认键、取消键、删除键。

可支持字母、数字、中文输入方式。

3.1.2显示屏

设计要求:

文本显示区至少可显示6×14个汉字;背光、对比度调节。

显示时无拖尾、短缺。

3.1.3打印机

设计要求:

内置热敏纸记录式打印机。

每行可至少打印24个半角字符。

热敏纸记录式打印不少于10行/秒。

3.1.4通讯

设计要求:

mPOS与上位机采用蓝牙通讯方式。

3.1.5存储器

设计要求:

除应用程序外,需具备足够的存储空间存放应用信息。

3.1.6外设通讯

设计要求:

具有一个RS232串口。

3.2存储要求

3.2.1交易日志

设计要求:

可各存放300条交易日志,每条记录长度最大为140字节,循环记录,先进先出。

3.2.2流水号

设计要求:

可各存放50条信息,每条长度最大为140字节,循环记录,先进先出,用户可删除。

3.2.3打印信息

设计要求:

存放最后一笔交易打印信息(若存在),用户可在帮助菜单中提供查询、删除、重打印(需在打印凭条最后打印“重打印”字样)。

3.2.4冲正信息

设计要求:

终端能正确存储冲正信息,并进行冲正。

3.3mPOS安全要求

3.3.1安全要求概述

3.3.1.1要求1

设计要求:

后台处理系统对受理mPOS合法性的验证通过对称密钥完成。

3.3.1.2要求2

设计要求:

受理mPOS与业务前置进行联机双向认证通过后,方可进行初始化(主密钥下载)、签到(工作密钥下载)和联机交易(消费交易)。

3.3.1.3要求3

设计要求:

联机交易过程中,受理mPOS与后台处理系统间的逻辑通道在支付应用层工作密钥中增加报文加密密钥对全交易报文加密。

3.3.1.4要求4

设计要求:

应用层不改变现有MK/WK二级密钥体系,每次交易的工作密钥通过认证返回的随机数分散后再使用,保证一次一密。

3.3.1.5要求5

设计要求:

初始化认证密钥、mPOS主密钥加密密钥、分散向量保护密钥均为对称密钥(一机一密),由mPOS自动产生并注入业务前置。

3.3.1.6要求6

设计要求:

mPOS带有开盖触发开关,当mPOS受到非法攻击后,安全信息会被立即自动清除,mPOS将无法进行任何操作。

重新上电后,mPOS无法开机运行应用程序。

3.3.2受理mPOS设备初始化

受理mPOS设备初始化实现终端硬件设备激活和注册,并由后台系统下发mPOS主密钥。

初始化流程如下:

1、上位机向受理mPOS发送终端设备连接(初始化)请求。

2、开启联机双向认证过程,认证通过后进入以下联机交易。

3、受理mPOS向上位机返回终端设备连接(初始化)请求,含mPOS信息。

4、上位机向业务前置发起初始化请求。

5、业务前置产生mPOS主密钥TMK,用TEK对TMK和系统信息进行加密,并记录T_Info、TMK的对应关系。

业务前置将TMK和系统信息密文发送上位机。

6、上位机向受理mPOS转发密文。

7、受理mPOS用TEK解密密文,获得系统信息和TMK,进行安全保存,并显示初始化完成。

3.3.3受理mPOS签到

mPOS签到作用与目前POS终端签到作用一致,主要为下发工作密钥、获取系统信息等。

1、上位机向受理mPOS发送终端设备连接(签到)请求。

2、开启联机双向认证过程,认证通过后进入以下联机交易。

3、受理mPOS向上位机返回终端设备连接(签到)请求应答,含终端信息。

4、上位机向业务前置发起签到请求。

5、业务前置根据终端信息产生工作密钥WK(包括PIN加密密钥PIK、磁道加密密钥TDK、MAC计算密钥MAK、传输密钥TSK),并用TMK加密WK;准备系统信息。

6、业务前置向上位机返回签到应答。

7、上位机向受理mPOS转发签到请求应答。

8、受理mPOS获取WK和系统信息,签到完成。

3.3.4受理mPOS交易使用密钥

1、受理mPOS通过屏幕向持卡人显示交易金额、交易类型等信息;供持卡人确认后,终端提示插卡或刷卡或挥卡,读取卡片信息后用TDK对磁道信息进行加密;提示持卡人输入PIN,确认后用PIK对PIN进行加密;随后组装交易报文(含当次交易流水号或等效计数值),用MAK计算MAC。

2、受理mPOS用TSK加密全报文。

3.4mPOS应用要求

3.4.1mPOS维护管理

3.4.1.1菜单键

设计要求:

按“菜单键”,进入常用设置、高级设置、手动断开蓝牙连接,终端信息。

其中常用设置:

应可设置待机等待时间、操作员密码、液晶亮度调节、时钟设置。

高级设置(默认密钥为87654321):

应可设置IC设置、输入超时、自动关机时间、交易更新日期时间、蓝牙连接超时。

3.4.2.2电源键

设计要求:

按下2秒以上,可以进入关机界面,应显示:

“请按【确认】键关机”,按【确认】键后,mPOS关机。

3.4.2.3确认键、删除键、取消键

设计要求:

在选择、输入界面上,按下【确认】键可以实现确认功能;在输入界面下,按下【删除】键,可以删除已输入的内容;在选择、输入界面上,按下【取消】键可以实现取消退出功能。

3.4.2.4【△】键、【▽】键

设计要求:

在选择界面上,【△】【▽】键可以实现上下翻页选择。

3.4.3显示

3.4.3.1待机状态

设计要求:

显示格式如下:

“品牌标识(或使用机构LOGO)”

蓝牙名称:

XXXXXXXXXXXXX

XXXX年XX月XX日星期X

HH时MM分SS秒

提示信息显示区域

3.4.3.2交易过程提示

设计要求:

按指定的操作提示信息格式显示提示信息,一行不足显示,自动换行,并可处理换行符0X0a。

对单模板的提示信息,则不等待输入,持续显示的同时直接进行指定操作。

􀁹在输入交易金额时,若未指明初始回显信息,则固定初始显示信息为¥0.00。

􀁹在输入日期型数据时,固定初始显示信息为当前终端日期,格式为:

YYYY-MM-DD。

3.4.3.3交易结果

设计要求:

显示格式如下:

应答码:

XX(可替换)

应答信息

3.4.3.4密码输入界面

设计要求:

显示格式如下:

3.4.3.5刷卡、插卡、输入卡号、挥卡界面

设计要求:

显示格式如下:

(交易类型)

请挥卡

3.4.4输入控制

设计要求:

当输入达到期望最大长度时,终端不再对输入信息作处理。

当无输入,且按下确认键,则终端不作任何处理,继续等待接收输入信息。

当无输入,且按下确认键,则终端不作任何处理,继续等待接收输入信息。

在输入金额时,直接顺序输入金额数字,不必输入小数点。

例:

若金额为123

元,则初始显示为¥0.00,输入时顺序输入12300,显示为¥123.00。

3.5mPOS蓝牙通讯接口设计

3.5.1通讯模式

设计要求:

按如下格式进行通讯:

当驱动和设备建立连接后,驱动端的作用类似于一个报文的加解密中转站,驱动与设备之间基本的通信单元为通信帧,驱动与设备之间遵循一发一收机制,如下图所示。

为了保证连接状态被驱动和MPB设备双方感知,每次接收到数据时,均要回应确认帧,如下图所示。

确认帧的超时时间为3秒,如果任一方收不到对方的确认帧,则重复发送数据帧3次。

1.如果设备端重复发送数据帧3次未收到确认帧,则应提示“通信异常,请尝试重新连接”;

2.如果上位机重复发送数据帧3次未收到确认帧,则触发回调,错误信息为“通信异常”(此条与设备无关)。

3.5.2报文格式

通信结构分为通信报文和应用报文:

1.通信报文:

驱动端和设备端之间通信的协议格式;

2.应用报文:

驱动端和应用平台之间通信的协议格式,其为应用平台要发送给设备的具体内容。

3.符号约定

符号

说明

b

二进制数值(一个字节)

ANS

字母、数字、特殊字符

var

变长

(*)

必选项

0x

十六进制数标志

\x

十六进制数标志

 

3.5.1.1通讯模式

通信报文

为了保证报文的完整性和可靠性,其结构如下表所示。

HEAD

PACKETTYPE

PACKETNO

LEN

PACKETDATA

CRC

TAIL

各报文域描述如下表所示。

域英文名称

域中文名称

域长度(字节)

域内容

说明

HEAD

包开头标志

1

固定0x02

PACKETTYPE

包类型

1

数据包:

’D’

确认包:

’A’

表明数据包的类型

PACKETNO

包序号

2

0x0000~0xFFFF

包序号高半字节+包序号低半字节。

LEN

包数据长度

2

0x0000~0xFFFF

包数据长度高半字节+包数据长度低半字节

PACKETDATA

包数据

变长最大2048

二进制数据

PACKETDATA采用固定通信密钥加密,3DES算法,通信密钥方案见4.8

CRC

包数据CRC校验

2

二进制数据

从“PACKETNO”开始到“PACKETDATA”结束的字段,做半字余式CRC16校验,分为高半字节和低半字节

TAIL

包结尾标志

1

固定0x03

帧序号的控制:

双方维护各自的帧序号,确认帧和数据帧中的帧序号一致,当发出数据帧之后收到确认帧+1。

3.5.1.2应用报文

格式如下所示。

应用报文APDU请求:

CLA

INS

P1

P2

Lc

DATA

MAC

Le

应用报文APDU应答:

DATA

MAC

P1

P2

SW1

SW2

注:

应答报文返回请求报文中的P1和P2参数。

各报文域描述如下表所示。

域英文名称

域中文名称

域长度(字节)

域内容

说明

CLA

指令类

1

二进制数据

见2.3指令说明

INS

指令值

1

二进制数据

见2.3指令说明

P1

数据控制参数1

1

二进制数据

这个字段控制数据域的安全特性。

按位定义(BIT[7]为最高位):

BIT[7]:

请求报文加密标志

0:

不加密

1:

加密(密钥使用磁道工作密钥)

BIT[6]:

请求报文MAC标志

0:

无需MAC

1:

需要MAC(使用Mac工作密钥)

BIT[5]:

应答报文加密标志

0:

不加密

1:

加密(密钥使用磁道工作密钥)

BIT[4]:

应答报文MAC标志

0:

无需MAC

1:

需要MAC(使用Mac工作密钥)

BIT[3:

2]:

报文加密算法

0:

3DESEBC算法(参照附录)

1:

3DESCBC算法(参照附录)

2:

保留

3:

保留

BIT[1:

0]:

报文MAC算法

0:

X9.19算法(参照附录)

1:

CBC算法(参照附录)

2:

ECb算法

3:

保留

P2

数据控制参数2

1

二进制数据

保留,暂固定为0

Lc

DATA域的长度

2

最大为2048

包数据长度高半字节+包数据长度低半字节

DATA

交易数据域

1

二进制数据

DATA数据根据P1参数中的【报文加密标志】进行报文加密

MAC

DATA域的MAC

8

二进制数据

根据P1参数中的【MAC标志】要求,计算DATA域的明文MAC,如果无需MAC,则置空

Le

预期数据长度

1

0~0xff

0表示预期数据为超过255个字节,暂固定为0

SW1

APUD返回状态码1

1

二进制数据

参照章节3.2具体指令的定义

SW2

APUD返回状态码2

1

二进制数据

参照章节3.2具体指令的定义

3.5.1.2指令说明

cla

指令类别

指令

ins

查找设备

停止查找

打开设备

中断打开设备

断开设备

判断设备是否连接

0XFF

MPB相关

读取设备信息(只发标签)

硬件序列号(32字节)

0x01

蓝牙名称(最大长度16字节)

Mac地址(18字节)

激活状态(1个字节)

版本号(8个字节)

是否支持非接(1个字节)

是否支持打印(1个字节)

AID版本(4个字节)

公钥版本(4个字节)

获取DOL版本(4个字节)

是否支持磁条卡(1个字节)

是否支持电子签名(1个字节)

是否支持接触式(1个字节)

厂商名称(1个字节)

产品型号(2个字节:

两个数字)

密钥更新

导入主密钥

0x02

导入工作密钥(根据TLV区分)

Pin密钥

0x03

Mac密钥

磁道密钥

设备信息更新

更新启动请求

0x04

分帧传输

0x05

交易

读取卡号明文

0x06

读取pin密码密文

0x07

读取磁道密文

0x08

显示信息

0x09

平台取消交易(与用户交互的交易)

0x0A

行业卡透传交易(满足目前电卡)

0x0B

行业卡上电

0x0C

行业卡下电

0x0D

增加一条AID

0x0E

清空所有AID

0x0F

更新AID版本

0x10

增加一条公钥

0x11

清空所有公钥

0x12

更新公钥版本

0x13

读取跨行交易步骤1

0x14

读取跨行交易步骤2

0x15

联机数据处理(向IC卡写入银联返回数据)

0x16

打印

0x17

配置IC卡交易DOL(包括标签和版本)

0x18

开启PBOC交易

0x19

开启跨行交易

0x1A

3.5.1.3错误码

Data

SW1

SW2

意义

8E

00

未知错误:

未定义的错误

8E

01

指令格式出错

8E

02

当前电量低,无法交易

8E

03

CLA错误

8E

04

INS错误

8E

05

P1错误

8E

06

P2错误

8E

07

LC长度错误(根据帧长度计算lc和该lc不符)

8E

08

Data域内容有误

8E

09

Mac校验结果不一致

8E

0A

Le错误

获取设备信息相关

8E

0B

获取设备信息失败

导入主秘钥相关

8E

0C

主密钥KCV校验失败

8E

0D

导入主密钥失败

导入工作密钥相关

8E

0E

Pin密钥KCV校验失败

8E

0F

导入pin密钥失败

8E

10

Mac密钥KCV校验失败

8E

11

导入mac密钥失败

8E

12

磁道密钥KCV校验失败

8E

13

导入磁道密钥失败

更新启动请求相关

8E

14

更新文件类型参数错误

8E

15

文件大小超限(如固件程序)

8E

16

启动更新失败

更新分帧传输相关

8E

17

不支持的分帧大小(终端所支持单帧大小超限)

8E

18

偏移量错误

8E

19

包类型标志错误

8E

1A

包数据错误(L错误)

8E

1B

文件CRC校验失败

8E

3C

分帧传输失败

读取卡号明文

8E

1C

读取卡号明文失败

读取pin密码相关

8E

1D

获取pin密文失败

8E

1E

获取pin密文参数错误(卡号)

显示信息相关

8E

1F

显示内容超限

读取磁道密文相关

8E

20

读取磁道密文失败

行业卡相关

8E

21

行业卡透传指令失败

8E

22

行业卡上电失败

AID相关

8E

23

增加AID失败

8E

24

清空AID失败

8E

25

更新AID版本失败

公钥相关

8E

26

增加公钥失败

8E

27

清空公钥失败

8E

28

更新公钥版本失败

DOL相关

8E

29

配置IC卡交易DOL失败

跨行交易相关

8E

2A

执行跨行交易步骤1失败

8E

2B

执行跨行交易步骤2:

交易卡类型参数错误

8E

2C

执行跨行交易步骤2:

交易日期时间参数错误

8E

2D

执行跨行交易步骤2:

交易金额参数错误

8E

2E

执行跨行交易步骤2:

卡号明文参数错误

8E

2F

执行跨行交易步骤2执行失败

联机交易处理相关

8E

30

联机数据处理:

交易应答码参数错误

8E

31

联机数据处理:

IC卡交易数据参数错误

8E

32

联机数据处理失败

打印相关

8E

33

不支持打印

8E

34

打印机缺纸

8E

35

当前电量不足,无法打印

8E

36

打印失败

通用

8E

37

用户操作超时

8E

38

用户取消操作

8E

39

Mac密钥不存在

8E

3A

Pin密钥不存在

8E

3B

磁道密钥不存在

3.5.2通讯报文中的数据项TLV定义

设计要求:

格式:

Tag(1字节)+length(2字节)+value,如下表格定义

Tag

key

定义

属性

类型

取值

0x01

CurrentTime

时间

N14

ASC

年月日时分秒

0x02

CommandCode

指令码

N1

ASC

1:

发起交易

2:

交易过程

3:

通信服务

4:

认证交互

0x03

Respone

返回码

N1

ASC

1:

交易成功

2:

交易失败

3:

操作提示

0x04

Transaton

Type

交易类型

N1

ASC

0:

初始化

1:

签到

3:

消费

4:

撤消(暂不实现)

5:

撤消冲正(暂不实现)

6:

消费冲正

7:

参数下载

8:

结算(暂不实现)

0x05

progressCode

交易状态

N1

ASC

1:

等待用户确认

2:

等待用户刷卡

3:

等待用户输入密码

4:

请重新输入密码

5:

联网过程

0x06

errorCode

错误码

N1

ASC

1:

未与设备连接

2:

交易发起失败

3:

交易结果失败

4:

网络通信收发数据失败

0x07

Package

8583包

VAR

512

HEX

0x08

Amount

交易金额

VAR13

ASC

1234567890.12

0x09

transDate

交易日期

N8

ASC

20140302

0x0A

transTime

交易时间

N6

ASC

154515

0x0B

cardNo

卡号

VAR19

ASC

622622******1234

0x0C

batchNo

批次号

N6

ASC

123456

0x0D

refNo

交易参考号

N12

ASC

123456

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2