国产商用密码技术在 AFC 系统票卡读写器的设计与应用

2022-02-24 04:16潘云峰韩国奇王鹤天
现代城市轨道交通 2022年1期
关键词:工控机读写器加密算法

潘云峰,韩国奇,张 博,薛 海,王鹤天

(北京京投亿雅捷交通科技有限公司, 北京 100101)

1 引言

自动售检票(AFC)系统实现城市轨道交通售票、检票、计费、收费、统计、清分等全过程的自动处理,与客运收入、乘客的资金支付密切相关。因此保证AFC系统中票款的安全性、交易数据的准确性至关重要。密码技术的应用是保障系统安全性、可靠性的核心,目前多数城市轨道交通AFC系统使用的是基于DES加密标准的算法,随着国产商用密码技术的推广,尝试在城市轨道交通AFC系统中使用国产商用密码技术已是必然趋势。票卡读写器(TPU)作为AFC系统的重要组成单元,是负责票卡业务处理的软、硬件综合体,研究开发支持国密算法的TPU是实现国密算法在AFC系统应用的关键。本文从硬件、软件2个方面对支持国密算法的TPU进行设计与研究。

2 国密票卡读写器工作原理

2.1 票卡读写器的功能需求

2.1.1 票卡业务内嵌

TPU用于实现对票卡的读写, 在AFC系统的自动售票机、半自动售票机、自动检票机、自助充值机、自助查询机、自助票务处理机中大量使用。国密TPU要满足将票卡处理的业务流程部署于TPU内部,票卡业务的操作流程由TPU独立完成,终端设备的工控机不涉及票卡业务的具体实施流程,工控机和TPU之间只涉及操作命令、信息反馈等信息交互。这种自身集成票卡业务处理功能的TPU在实际应用中各项性能指标明显优于不具备票卡业务处理能力的TPU。与按照票卡处理软件部署于上位工控机思路设计出的TPU相比,集成票卡业务处理功能的TPU优点主要体现在以下方面:

(1)将安全密钥、票卡数据结构、处理流程、交易数据生成、交易验证码(TAC)计算、交易审计数据生成等处理过程在TPU内部完成,避免将敏感的数据、参数保存在工控机上,进一步加强数据保护、提高数据的安全性;

(2)TPU与上位工控机的交互只限于接收命令、反馈结果,业务处理在读写器内部完成,减少交互数据量、交互次数,提高业务处理速度;

(3)当城市轨道交通票卡业务出现变更时,只需更新读写器程序、参数,无需更改上位工控机设备程序,减少软件修改、测试的工作量。

2.1.2 支持国密 SM4 算法

AFC系统中密钥的应用是以交易类密钥为核心构建密钥应用体系。交易类密钥包括充值密钥、消费密钥和TAC密钥,这些密钥保障了交易过程和交易数据的安全,目前此类密钥在全国城市轨道交通行业中均采用国外密码技术,其中多数采用对称密码算法DES数据加密标准。在对称加密算法中加密和解密使用相同密钥,而非对称加密则有一对密钥,分别为公钥和私钥,公钥对外公开,其原理是发信方通过公钥把明文加密成密文进行发送,收信方收到密文后用私钥对其进行解密从而得到明文。两种加密算法中对称加密算法的运算速度相对更快。综合考虑城市轨道交通AFC系统乘客快速过闸的需求,国产商用密码中采用的对称密码算法SM4技术可以满足国密TPU的功能需求。SM4属于分组密码,也称“块密码”,与国外密码算法DES类似。

2.1.3 兼容支持DES算法

国密票卡读写器需兼容支持城市轨道交通现行的DES加密算法,达到同时支持国密、DES加密算法的要求。目前既有线使用的票卡普遍支持DES加密算法,要实现国密TPU的全线推广必须解决既有票卡可继续使用的问题,因此国密TPU必须兼容支持DES加密算法。在保留现有密钥体系的前提下,逐步增加支持国密技术的票卡数量,对依托国外密码技术的票卡进行自然淘汰,最终实现国密算法对DES算法的全面替代。

2.2 加密算法在国密读写器中的应用

2.2.1 加密算法在充值交易中的应用

在票卡充值过程中,票卡首先上送应用序列号至TPU,TPU将该卡片的应用序列号转发至后台。TPU向票卡发送初始化命令,票卡利用卡内充值密钥进行加密,得到临时工作密钥,票卡利用临时工作密钥对交易报文1进行计算得到MAC1,并将交易报文1和MAC1上送至TPU与后台。后台利用票卡应用序号对充值密钥进行分散,得到充值子密钥,将充值子密钥按票卡相同方法加密产生临时工作密钥。后台利用临时工作密钥验证MAC1通过后,利用临时工作密钥对交易报文2进行计算得到MAC2,并将交易报文2、MAC2下发至TPU与票卡。票卡利用临时工作密钥验证MAC2通过后,首先完成钱包余额增加动作,其次利用TAC密钥对交易结果进行计算得到TAC,最后将TAC上送至TPU,TPU向终端设备发送交易确认信息。

2.2.2 加密算法在消费交易中的使用

在票卡消费过程中,票卡首先上送应用序列号至TPU,TPU收到后向票卡发送初始化命令,票卡利用卡内消费密钥进行加密,得到临时工作密钥,TPU中的SAM卡利用票卡应用序号对SAM卡的消费密钥进行分散,得到SAM卡的消费子密钥,将消费子密钥按票卡相同方法加密产生临时工作密钥。SAM卡利用临时工作密钥对交易报文1进行计算得到MAC1,并将交易报文1和MAC1下送至票卡。票卡利用临时工作密钥验证MAC1 通过后,首先完成钱包余额减少动作,其次利用临时工作密钥对交易报文2进行计算得到MAC2、利用TAC密钥对交易结果进行计算得到TAC,最后将交易报文2、MAC2、交易结果、TAC上送至TPU。SAM卡利用临时工作密钥验证MAC2通过后,TPU向终端设备发送交易确认信息。

2.2.3 加密算法在TAC验证中的应用

带有TAC的交易结果上送到城市轨道交通自动售检票清算管理中心(ACC),系统利用加密机内存储的TAC母密钥分散出本卡的TAC密钥并验证TAC,验证通过则交易正确有效。

3 国密读写器设计方案

国密TPU由天线和控制板2部分组成,控制板包括微程序处理器、电源模块、存储器和接口、读写器软件等。国密TPU的主要功能包括对票卡的读取和写入、给票卡卡片系统提供能源、与上位机通信、卡片识别、错误信息提示、票卡业务处理、交易数据生成、接收ACC统一的版本控制及升级管理。

3.1 国密读写器的主要性能指标

为保证国密TPU在生产环境中运行稳定,国密TPU的主要性能指标需满足以下标准:

(1)符合ISO/IEC 14443标准的非接触IC卡规定;

(2)支持SM4、DES加解密算法;

(3)微处理器工作频率不宜低于1 GHz;

(4)数据总线应支持16位、32位;

(5)外部地址总线不应少于16位;

(6)正常运行平均时间(MTBF)应大于10万h,维修作业耗时平均值(MTTR)小于15 min;

(7)国密TPU与非接触IC卡之间应有三重双向认证;

(8)IC卡工作频率:13.56 MHz;

(9)票卡在读写器上的处理时间小于300 ms。

3.2 硬件设计与实现

在硬件设计中采用飞思卡尔的IMX6Q系列芯片作为核心处理器,该芯片接口丰富,能够满足所需模块的连接需求。TPU主控板包括音频模块、视频模块、存储模块、通信接口模块、射频模块等。系统总体框图如图1所示。

国密TPU设置两路独立的射频模块和天线,支持彼此独立的两路票卡操作,支持无源天线板。读卡灵敏度高:大天线板最高可达60 mm,小天线板最高可达50 mm,抗干扰能力强,完全满足城市轨道交通的应用要求。

3.3 软件设计与实现

国密TPU软件采用分层设计的方式实现,根据软件的功能可以分为4层,分别为接口协议层、系统管理及命令调度层、业务层、硬件驱动层。具体架构如图2所示。

其中接口协议层的功能是与终端设备的工控机进行信息交互。上位工控机和TPU之间的通信数据包按照传递方向分为命令数据包和反馈数据包。命令数据包总是由上位机根据业务需要主动发送到TPU,目的是控制TPU执行特定的业务处理。反馈数据包总是由TPU发送到终端设备,目的是将TPU的处理结果反馈给终端设备。

系统管理及命令调度层根据收到的上位机指令对各业务模块进行调度。业务层是实现票卡交易业务功能的核心,它包含TPU管理模块、系统维护模块、IC卡管理模块、票务处理模块,用来实现票卡交易、参数设定以及程序版本升级等业务。

硬件驱动层负责将操作系统的传输请求转化为特定物理设备控制器能够理解的命令,通过读写硬件寄存器实现对硬件设备的控制。TPU内部业务流程如图3所示。

4 AFC 系统国密读写器测试

4.1 国密读写器测试内容

对国密TPU测试主要包括性能测试和兼容性测试2部分,其中性能测试主要包含以下3个方面:

(1)国密TPU发带有国密密钥的SAM卡测试;

(2)国密TPU发带有国密密钥的票卡测试;

(3)将发行的SAM卡、票卡与国密TPU共同应用于终端设备,进行票卡业务测试。

兼容性测试主要测试国密TPU在运用DES加密标准的AFC系统中的性能表现,性能测试时使用与国密标准性能测试相同的测试用例。

4.2 国密读写器测试环境搭建

4.2.1 SM4 标准测试环境

(1)准备支持国密算法的SAM卡,完成密钥加载测试、卡片写入适配工作;

(2)准备支持国密算法的票卡,完成密钥加载测试、卡片写入适配工作;

(3)准备国密加密机,完成国密密钥管理系统适配工作;

(4)准备适配国密TPU的自动检票机,完成上位工控机与TPU间的通信调试工作;

(5)确保终端设备与ACC系统通信网络连接正常,ACC交易处理服务器直连国密加密机;

(6)确保发卡程序开发完成。

4.2.2 DES 标准测试环境

与SM4标准测试环境相似,将加密机、SAM卡、票卡替代为支持DES加密标准的设备即可,并安装与之相匹配的软件。

4.3 国密读写器测试步骤

测试分为2轮进行,第一轮在SM4标准测试环境下进行,第二轮在DES标准测试环境下进行。两轮测试步骤及测试用例完全相同,本文只简述国密TPU在SM4标准测试环境下的测试步骤。具体步骤如下:

(1)将国密TPU连接到国密加密机;

(2)用发卡程序发带有国密密钥的SAM卡,并记录卡号和发行时间;

(3)用发卡程序发带有国密密钥的票卡(包括员工卡、计次票、纪念票等票种),并记录卡号和发行时间;

(4)将国密密钥SAM卡安装在自动检票机的进、出站国密TPU中;

(5)将国密加密机连接到ACC系统;

(6)用国密票卡在自动检票机上进行进出站刷卡测试,观察进出站刷卡是否成功;

(7)将国密TPU中的进出站刷卡数据导出;

(8)在ACC系统中对生成的交易数据进行查询比对。

4.4 国密读写器测试数据与结论

(1)在SM4、DES标准测试环境下,所有票卡都可以完成刷卡进出自动售检票机的操作,说明国密TPU可以兼容DES加密标准。

(2)国密TPU能够充分适应城市轨道交通AFC系统交易速度快的特点,车票的典型交易(含安全认证、过程文件处理、钱包文件处理、交易数据产生、TAC 码生成等)时间小于300 ms。TPU读卡速度如表1所示。通过数据对比可以发现国密TPU运用国密算法进行票卡单次消费处理用时比运用非国密算法平均快58.253 ms。

表1 国密TPU平均读卡时间 ms

(3)ACC对上传数据进行TAC验证,全部核验成功,无无效交易发生。

从国密TPU上取出刷票卡生成的交易数据。从交易数据中找出参与TAC计算的数据(交易金额,交易类型,终端机编号,终端交易序号,交易日期,交易时间),把交易字段中需要参与TAC计算的值输入国密加密机进行TAC计算,国密加密机计算的TAC和交易生成的TAC相同,TAC验证成功,证明交易真实有效。TAC计算关键数据如表2所示。

表2 TAC计算关键数据

5 结论与展望

通过对国密TPU在城市轨道交通AFC系统实际应用环境下进行测试,从保护核心业务数据的角度出发,验证了交易、票卡、密钥3方面的数据安全性与业务连通性,证明了国产商用密码技术可以在城市轨道交通AFC系统的整个交易业务链条中替代DES算法,从而摆脱对国外技术和产品的依赖,实现密码技术自主可控。国密TPU兼容DES算法的特点促进国产商用密码技术在城市轨道交通AFC系统应用的平滑演进,节省建设成本。今后将结合城市轨道交通AFC系统建设、运营经验,对国密TPU各模块功能进行设计优化,全面提升TPU性能指标,研究主控芯片的国产化解决方案。

猜你喜欢
工控机读写器加密算法
加密文档排序中保序加密算法的最优化选取
宁波轨道交通AFC系统读写器测试平台设计
共享密钥与位运算的移动RFID认证协议
一种增强型RFID 双向认证协议∗
基于整数矩阵乘法的图像加密算法
教育云平台的敏感信息保护技术研究
普通台机替代工控机成功应用
印刷网络化解决方案中工控机系统的设计与实现
控制舱测试系统及其BIT设计
AES加密算法的实现及应用