一种互联网个人支付终端的设计与实现

2017-08-16 08:18余永纪余永元
实验室研究与探索 2017年7期
关键词:读卡个人化联机

余永纪,成 静,余永元

(1.云南南天电子信息产业股份有限公司, 昆明 650000; 2.信阳供电公司, 河南 信阳 464000)

一种互联网个人支付终端的设计与实现

余永纪1,成 静1,余永元2

(1.云南南天电子信息产业股份有限公司, 昆明 650000; 2.信阳供电公司, 河南 信阳 464000)

介绍一种基于ARM的双界面读卡器,采用USB通信方式,它除了具有基本IC卡读写器功能之外,还具有金融IC卡交易的功能,并实现相应的算法与机制来保证数据通信的安全与可靠性,可以应用于互联网个人金融支付、银行柜面交易等应用场景。相比于传统的支付终端,它具有操作简单、支付更加安全、可扩展性更强等特点。

互联网; 金融支付; 读卡器; 算法

0 引 言

基于支付安全的考虑,中国人民银行规定自2015年1月1日起终止发行单一的磁条卡。并以安全性更高、扩展能力更强的金融IC卡逐步取代磁条卡[1-2]。同时,随着互联网经济兴起,金融支付方式也发生了较大的变革,以前传统的卡号密码、U盾等网络支付方式已无法充分发挥出金融IC卡的特性[3]。因此,设计和实现一种更安全、更方便互联网支付终端十分必要。本文根据中国银行发布的中国金融集成电路(IC)卡规范(V3.0),并采用了USB 通信协议及RSA、DES、国密等算法,基于ARM的支持双界面智能卡的读写系统,设计出一种新型的多功能互联网个人金融支付终端。除具有一般双界面读卡系统基本操作卡片功能外,还具有读卡信息、读卡片交易日志、支持联机及脱机认证、联机及脱机金融支付等功能。相比传统支付终端,操作更加便捷、支付更加安全、并具有较好的可扩展性,是金融IC卡互联网支付的一个新方向。

2 系统硬件设计

终端的硬件主要包括CPU控制模块、外围电路、IC读卡模块、密码键盘模块、USB通信模块和LCD显示模块等,系统框图如图1所示。本系统的CPU控制器采用STM32F103RVBT6芯片,它是基于ARM Cortex-M3内核的32位高性能处理器,它具有高性能、低功耗、接口资源丰富等特点,特别是拥有支持USB 2.0规范的全速接口,只需搭建简单的外围电路就可实现USB通信电路,在满足高速数据处理的同时,使USB的开发更为简单。

图1 系统框图

IC卡读卡模块分为非接触式与接触式两种模块,接触式IC卡读卡接口芯片采用的是安森美半导公司的NCN8025A芯片,此芯片是一款高性价比的紧凑型单智能卡接口的IC芯片,完全支持 ISO 7816-3、EMV 4.2、UICC 及相关标准,电路实现也比较简单。非接触式IC卡读卡模块采用恩智浦半导体(NXP)公司的MFRC531芯片,该芯片是应用于13.56MHz非接触式通信的高集成读写卡芯片,内部发送器在不需要增加有源电路就可以满足100 mm 距离内的通信要求,有效简化了硬件设计。非接触式IC卡读卡电路如图2所示,RC531的数据输入、输出管脚与CPU控制器的SPI口相连,并由CPU控制器提供SPI时钟信号,用于同步CPU控制器SPI与RC531之间的数据传输。

图2 非接触式IC卡读卡电路图

3 系统软件设计

系统功能强大,软件设计采用模块化的设计思想。整个系统软件分为3个层次结构,底层基础模块层、中间功能模块层及上层应用层。底层基础模块程序包括USB通信、LCD液晶显示、密码键盘、接触及非接触式IC卡读写模块等。中间层功能模块程序包括安全认证接口及IC卡指令接口,主要实现终端安全通道及IC卡通信接口。上层应用程序由终端安全管理及IC卡金融交易两部分组成。软件架构如图3所示,由于STM32F103RVBT6控制器自带了全速USB2.0,可参照CCID协议完成底层固件开发,接触式及非接触式IC卡读写模块可参照ISO7816及ISO4443协议开发[4-6],故本文不再详述底层基础模块软件的实现。

图3 软件架构图

3.1指令功能模块

终端的安全管理与交易都是通过指令来进行的,终端命令设计包括两部分,专用命令集与普通命令集。普通命令集是一般IC卡操作指令,专用指令集包括终端管理类指令、安全通道类指令、交易类指令及其他特殊指令等。

除提供上述的对外指令外,终端内部还根据PBOC3.0的要求实现了选择应用、读记录、外部认证、内部认证、获取应用密文、验证等交易功能指令[7-8]。

3.2安全管理模块

金融交易必须在高度安全的环境下进行[9-10],为了保证终端交易过程中数据的安全性,终端与处理中心的数据传输采用安全通道的机制,数据以密文的形式展现。在安全通道建立之前,需要对终端进行个人化,下载终端信息、证书及加密密钥等。

在安全通道建立和交易过程中涉及到的加解密算法都由系统内部实现,包括RSA算法、DES/3DES算法、哈希SHA-1算法及国密SM4算法等。在满足加密及安全的同时,能很好地节省硬件成本。

(1) 终端个人化。根据终端安全管理的要求,在终端出厂前应该进行终端个人化,个人化数据至少包括终端信息数据、终端证书、CA证书和PIN加密证书[11]。终端个人化流程如图4所示,终端程序在初始化之后进行自检,自检通过后会判断是否已经个人化,如果没有则进行个人化,如果已经个人化,则提示是否重新进行。其中终端的公、私证书由终端向CA中心申请,申请过程中产生的公私钥对由终端产生,并不可导出。

图4 个人化流程图

(2) 交易数据的安全机制。终端通过互联网与银行处理中心建立联系,金融交易的数据在这两个端点之间传输,为了保证交易数据的安全性与完整性,终端与处理中心的数据传输采用逻辑安全通道的机制。安全通道建立完成后,终端与服务器端都生成一个会话密钥,终端数据在发送前用会话密钥进行加密,并生成一个消息认识码。服务器收到数据后验证认证码来判断数据的完整性,然后解密,得到终端传输的数据。安全通道的建立及数据传输过程示意图如图5所示。

图5 安全通道建立过程示意图

3.3金融交易功能模块

根据金融应用的需求[12-15],系统设计了金融交易的基本功能接口,接口包括:初始化应用环境、获取应用候选列表、选择应用、应用初始化、读取IC卡应用数据、脱机数据认证、处理限制、持卡人验证、终端风险管理、终端行为分析、结束交易、读取交易日志、读取圈存日志等,所有金融交易都可以通过调用这些接口来实现。

在基本功能接口的基础上,系统实现了读取IC卡信息、读取交易日志、读取圈存日志、获取ARQC(授权应用密文)、校验ARPC(授权响应密文)及写脚本、电子现金交易等功能。其中获取ARQC、校验ARPC及写脚本主要应用于联机交易处理,联机交易可以不进行脱机数据认证。电子现金交易是在脱机的情况下进行的,所以交易中不涉及联机的认证过程。联机交易的流程如图6所示。

图6 联机交易流程图

4 结语

本文提出一种互联网支付终端的设计方案,该终端采用了USB 通信设计,内部集成了RSA算法、DES算法、国密算法等各种算法程序和交易应用程序,相比于传统支付终端,该终端具有便捷、安全、功能强大等优点,并具有读卡信息、支持联机及脱机认证、联机及脱机交易等功能,具有较大的市场应用价值。

[1] 关于推进金融IC卡应用工作的意见[S].中国人民银行,2011.

[2] 中国人民银行成都分行办公室课题组.我国移动金融发展趋势及其思考[J].互联网金融,2016(6):3-7.

[3] 胡 博,严斌峰,仇剑书,等.基于SIM卡的金融应用移动数字签名业务研究[J].电信科学,2015(6):12-17.

[4] EMV4.2,EMV Integrated CircuitCard Specifications for Payment Systems[S].

[5] ISO/IEC 7816,International Standard Cards With Contacts-Electrical interface and Transmission protocols[S].

[6] 杨玲玲,谢 星,孙 玲,等.基于MSP430的双界面读卡器设计[J].现代电子技术,2014(16):18-20.

[7] 中国人民银行.中国金融集成电路(IC)卡规范第6部分:借记贷记应用终端规范[S].

[8] 张 蒙.基于LINUX的PBOC3.0关键读卡技术的研究与应用[J].电子设计工程,2015(8):188-192.

[9] 范晓红,吴今培,张其善.智能卡文件系统的安全访问机制[J].微计算机应用,2004(1):39-42.

[10] 陈 曦.移动金融终端安全研究[J].信息安全与通信保密,2014(11):106-110.

[11] 袁 琦.互联网金融发展推动下的支付安全[J].移动通信,2014(23):9-11.

[12] 中国人民银行.中国金融集成电路(IC)卡规范第16部分:IC卡互联网终端规范[S].

[13] 张 腾,徐 钦.多功能互联网金融个人终端的研究与设计[J].信息安全与通信保密,2013(11):105-107.

[14] 徐 飞,曹奇英.PBOC2.0 新型金融IC卡读卡器的设计与开发[J].单片机与嵌入式系统应用,2012(1):38-41.

[15] 娄 浩.基于linux和ARM9的RFID读卡器设计与实现[D].南京:南京理工大学,2012.

Design and Realization of an Internet Individual Payment Terminal

YUYongji1,CHENGJi1,YUYongyuan2

(1.Yunnan Nantian Electronics Information Co.,Ltd.,Kunming 650000,China; 2.Xinyang Power Supply Company,Xinyang 464000,Henan,China)

This essay introduces an ARM-based dual-interface card reader,which communicates the net via USB.Besides basic functions of card reading,it has also functions of financial IC card that it can transact with relevant algorithm and mechanism to ensure the security and reliability of data communication.The card reader can be applied in the Internet individual financial payments and bank counter transactions.Compared with traditional payment terminals,the card reader is easy to use,more secure to pay,and has better expansibility.

Internet; payment; card reader; algorithms

2016-10-18

余永纪(1984- ),男,河南罗山人,硕士,工程师,主要从事软件应用、嵌入式系统方面的研究。

Tel.:0871-68279525;E-mail:274762311@qq.com

TP 393

:A

1006-7167(2017)07-0148-03

猜你喜欢
读卡个人化联机
多联机安装施工技术探讨
煤矿井下车辆乘人防漏识别读卡基站设计
智能会议预约终端内置读卡器性能的改善*
法兰克福书展个人化书籍走红
“尚长荣三部曲”带来无尽思考——且说个人化艺术创造的价值
高温多联机空调系统的控制方式研究
CALIS联机合作编目中的授权影印书规范著录
女性形象的个人化书写——严歌苓小说解读
基于LINUX的PBOC3.0关键读卡技术的研究与应用
分析Automation技术在Word联机考试系统中的作用