城市轨道交通单程票票卡结构规划及实现

2016-06-24 14:38康崇皓石琦玉何铁军
都市快轨交通 2016年2期
关键词:发售字段进站

康崇皓 石琦玉 张 宁 何铁军

城市轨道交通单程票票卡结构规划及实现

康崇皓1石琦玉2张 宁2何铁军2

(1.苏州市轨道交通集团有限公司江苏苏州215006;2.东南大学智能运输系统研究中心南京210096)

为安全高效地使用单程票,以Utralight票卡介质为研究对象,在分析票卡特性以及单程票业务需求的基础上,对票卡结构进行功能区划分,规划单程票各功能区的字段内容并合理分配票卡存储空间,讨论票卡交易安全的加密算法。结合票卡结构的字段设计以及单程票业务功能,对单程票在流通过程中的各项操作流程进行详细的设计。

轨道交通;单程票;票卡结构;操作流程

自动售检票系统(automatic fare collection,AFC)是直接服务于乘客的设施,乘客的购票、进站、出站等都是通过AFC实现[1],而乘客进出站的凭证就是票卡,票卡也是运营单位进行票务管理的基础,在城市轨道交通的运营管理方面具有举足轻重的作用。票卡作为票务数据统计的依据和乘客乘车的凭证,记录着与乘客乘车相关的信息以及与票务数据统计相关的信息[2-3]:一方面,乘客通过票卡与车站的AFC设备进行交互,完成乘车出行;另一方面,运营单位通过票卡与AFC设备之间的交易记录信息进行客流的统计分析及预测,从而掌握客流的分布规律,以此指导城市轨道交通的运营管理。

现阶段国内轨道交通系统的主要票卡种类包括单程票、行李票、往返票、出站票、普通储值票、计次票、区段票、限期票、团体票、纪念票、个性票、优惠票、员工票、测试票等近20种,其中单程票、储值票、计次票、员工票是基本票种。在轨道交通运营的初始阶段,使用单程票的客流占总客流的比例非常可观,就苏州轨道交通而言,可以达到总客流的一半以上,甚至达到2/3。在运营进入成熟期,乘客开始接受轨道交通出行方式,较为方便的储值票的占有比例上升,致使单程票的使用比例跌至一半以下。城市轨道交通吸引的客流很大一部分来源于不稳定的杂散客流,他们往往使用单程票乘车,即使是在运营成熟期,节假日时由于不稳定的杂散客流作用也会使单程票的使用比例增加。单程票在操作流程上比储值票多了购票环节,因票种单一,便于生产,考虑到单程票的成本问题(其成本不能高于城市轨道交通的最低票价),采用的收费介质往往存储空间非常有限,且本身并不具备安全保障机制,如果在AFC系统设计初期没有对单程票进行针对性的研究,将给以后的运营管理带来风险。因此,本文以苏州轨道交通AFC系统的建设为背景,以Utralight卡为例,讨论单程票的票卡结构规划及实现,以期为其他城市的轨道交通提供参考。

1 硬件特性及业务需求

Utralight是用NXP MF0 IC U10制作的卡片或标签,符合ISO14443A标准,可以制作成筹码型和不同规格的薄卡型车票,是城市轨道交通系统单程票比较常用的票卡[4]。Utralight卡价格便宜,其通信速率最大可达106 KBaud,读写距离在10 cm以内,读写时间在1 ms到2 ms之间,擦写寿命在20万次以上,数据保存期限在5年以上,其工作频率13.56 MHz与常用的高频读写器匹配。但是Utralight卡的缺点也比较突出,首先其容量十分有限(512 bit),其次Utralight卡本身不具备安全机制,需要对其进行安全性设计。

单程票基本业务需求包括:初始化时能够记录初始化信息;发售时能够记录票价、发售时间、有效期等信息;进站操作时能记录进站时间、进站设备编号等信息;出站时能够核对乘车区间或距离与票价是否对应,以决定是否允许乘客出站,同时记录乘客的出站时间、出站设备编号等信息。

单程票实现初始化、发售、进站和出站等功能时须通过特定的操作流程对存储在其中的特定数据信息进行读写。这些特定的数据信息以字段的形式存储于Utralight票卡扇区的块中,在擦写过程中必须以4个字节为单位进行存储,否则可能会导致卡片损坏,所以Utralight票卡的各个功能区大小必须是4字节的整数倍,然后配合合适的操作流程对这些信息进行必要的读写。因此,首先需要根据业务的功能需求设计相关字段来存放数据信息,并将各字段合理分配到卡结构中的相关功能区,再设计出一定的流程来操作这些字段,以实现单程票的各项功能。

2 票卡结构规划

完成单程票票卡结构字段的规划是实现单程票操作流程的基础,同时票卡结构字段的设计对票卡安全性的设计至关重要。下面首先对单程票的票卡进行功能结构区划分,然后根据票卡功能区的划分对票卡结构各功能区所需设置的字段进行分析。

2.1 功能区划分

根据以上对单程票的业务功能需求分析,可以将其划分为4个功能区,具体内容如下。

1)发行区:记录单程票的发行日期、流水号、卡片印刷类型、发行批次号、密钥版本号以及是否为纪念卡等发行数据信息,其中还包括与安全相关的发行区MAC码(message authentication code,报文认证码)信息。发行区的数据信息大小为8 Byte。

2)发售区:记录单程票发售时的票卡类型(如普通单程票、预赋值单程票、出站票等)、票卡使用次数、购票日期、有效期、购票金额、售票车站代码、售票设备编号以及发售区MAC码等相关数据信息。发售区是票卡信息最为丰富的功能区,总共占用20 Byte。

3)进站区:记录进站时间、进站编号、进站设备编号、进站模式代码以及进站区MAC码等进站信息。进站区的数据信息大小为12 Byte。

4)出站区:记录出站时间、出站编号、拒绝出站代码以及出站MAC码等出站信息。出站区的数据信息大小为8 Byte。

2.2 字段设计

票卡结构字段设计按照功能区划分,每个功能区分别包含了特定的字段信息,具体字段设计如下。

2.2.1 发行区

发行区存储的是与票卡发行相关的数据信息,这些信息与票卡初始化关系紧密,而票卡的初始化是票卡操作的重要环节,所以该区字段设计是票卡完成其他功能的基础信息,其所需字段如表1所示。

2.2.2 发售区

不同于储值票,单程票多出了购票环节,所以单程票的发售大多与购票同步。除了在应对大客流疏散的情况下,考虑到自动售票机的服务能力,对一些单程票进行预赋值发售,这种情况下发售与购票是不同步的。根据现场发售和预赋值发售这两种情况对票卡信息的需求就可以完成发售区的票卡结构字段设计,具体设计内容如表2所示。

表2 发售区字段

2.2.3 进站区

进站是票卡交易的主要环节,客流信息的统计也要靠其完成,所以进站区的票卡结构字段必须包括进站时间和地点等详细的进站信息,同时还要判断票卡是否合法,从而做出是否允许进站的决定。据此,进站区的票卡结构字段设计如表3所示。

表3 进站区字段

2.2.4 出站区

出站区需要判断是否允许出站,若拒绝出站,则提供拒绝出站的原因,除此之外,出站区也需要具有统计客流的相关功能。其票卡结构字段设计如表4所示。

表4 出站区字段

3 安全性设计

城市轨道交通单程票出于成本的考虑,选用的芯片比较廉价,安全性较差。Utralight卡不是逻辑加密卡,其自身不具有安全机制[5]。为防止票卡信息被伪造而导致的运输服务费流失,在单程票票卡中写入相应数据信息时,需要根据单程票交易密钥对写入的数据信息进行特定的加密运算,由运算结果得到报文认证码(MAC),然后将MAC码写入票卡。在票卡结构的字段设计中,每个功能区的MAC码都来源于此,票卡交易时相关设备能够根据MAC码验证票卡是否伪造或被篡改。

单程票的安全性设计其实是单程票MAC码加密算法分析的过程,加密主要分为对称加密和非对称加密两种,对称式加密算法在加密和解密时使用同一个密钥,这种加密技术是目前采用最为广泛的,DES加密算法就是一种对称的加密算法;非对称加密算法在加密和解密时所使用的是两个密钥,分别是公开密钥和私有密钥,两者中无论哪种密钥对数据信息进行加密,只有对应的另一种密钥才能解密。

单程票的MAC码加密算法采用CBC 3DES[6]算法,CBC是加密块链模式算法,其特点是加密的密文长度必须是8个字节,并且需要加入初始向量。在初始向量和密钥相同的情况下,相同的明文总是产生相同的密文,所以可以采用不同的初始向量来避免相同的明文产生相同的密文,这样一定程度上能抵抗字典的攻击。除此之外,CBC模式的密文块要依赖前续的操作结果,所以密文块不能进行重新排序,并且一旦发生错误会影响当前和之后的密文。DES算法是将输入的64位数据块按位以某种特定方式进行组合,进行16次迭代置换,然后按照一定规则进行逆置换得到密文输出。DES密钥8的倍数位是奇偶校验位,不参与DES运算,所以密钥实际可用的只有56位[7]。3DES使用3条56位的密钥对数据进行3次加密,相对于DES其安全性更高。如果用Ek()和Dk()代表DES算法的加密和解密过程,k代表DES算法使用的密钥,P代表明文,C代表密文,那么,3DES加密过程为:C=Ek3(Dk2 (Ek1(P))),3DES解密过程为:P=Dk1(Ek2(Dk3 (C))),其中3个密钥不能全部相同[8]。

生成MAC码不仅需要加密算法,还需要确定参与MAC码计算的数据元集,一般情况下,参与MAC码计算的数据元集包括具有唯一性的数据域、表征报文特征的数据域以及与交易相关的数据域[9]。结合单程票的票卡结构字段信息对票卡结构各个功能区MAC码的数据元集进行分析研究可知:与发行区MAC计算相关的数据域主要包括物理卡号和逻辑卡号,分为两步计算,首先计算其临时MAC码,然后计算其真正的MAC码;发售区的MAC码除与自身包含的逻辑字段有关外,还与票卡的物理卡号及逻辑卡号的特定字节有关;进站区的MAC码计算与票卡的物理卡号以及进站区相关的字段有关;出站区与进站区的相似。在明确了各个功能区MAC码计算的数据元集后,通过字节连接操作、异或运算以及CBC 3DES加密运算等可以得到各个功能区的MAC码,从而实现单程票的信息安全保障。

4 操作流程

单程票操作包括初始化、预赋值、预赋值票缴销、售票、进站、出站、退票、票查询、更新、注销和重编码等11项业务内容。下面对应用频繁且具有代表性的5种业务内容具体操作流程的实现过程进行详细分析,为单程票的票卡功能实现提供设计依据。

4.1 初始化操作

单程票的初始化操作是其他操作流程的基础,单程票的所有操作都必须先判断票卡是否进行过初始化。单程票初始化操作的作用是对票卡的发行区写入相应的数据,同时将其他区所有字段的数据信息设置为0。初始化是在车票编码分拣机中完成的,其具体操作流程如图1所示,其中计算发行区MAC码、并将返回的计算结果写入发行区相应字段是单程票初始化的主要环节。另外,OTP(one time programmable,一次性编程)区域如果被改写,说明票卡已被使用,无法再次初始化。

图1 初始化操作流程

4.2 售票操作

售票操作流程主要是在票卡发售区的各字段写入相应的信息,为进出站操作做准备。售票操作的具体流程如图2所示,首先判断发行区信息是否正确,也就是判断票卡是否完成初始化操作,其次根据票卡是否超过其最大使用次数判断是否需要回收票卡,然后计算发售区MAC码,并将返回的计算结果写入发售区相应字段。

4.3 进站操作

图2 售票操作流程

票卡的进站操作流程是在闸机中完成的,在进站操作时,读写器设备首先会读取票卡的所有区段信息,然后判断发行区信息是否正确,这与售票过程相同,主要是MAC码的安全机制验证;其次判断发售区的MAC码是否正确,然后判断进站区MAC码是否正确:如果进站区MAC码正确,则判断票卡逻辑卡号是否在读写器本地中有记录,根据读写器的记录决定票卡是否转入进站流程;如果进站区MAC码不正确,则对车票的测试位和设备的测试模式进行匹配,如果匹配则继续判断购票车站是否为当前进站车站编号,然后判断购票日期与进站日期是否超过有效期,从而决定是否允许进站。最后,引入参数对进站区进行写卡操作,在进站写卡过程中引入了重写机制,在不超过3次写卡操作的情况下成功写卡都视为有效,然后验证是否写入正确,写入正确就表示进站操作完成。

4.4 出站操作

出站操作也是在闸机中完成的,主要内容是验证卡的正确合法性以及是否允许出站。首先判断票卡发行区信息是否正确,然后判断发售区MAC码是否正确,这些操作可以验证单程票的票卡是否正确合法,防止票卡伪造;其次,判断票卡种类是否为出站票,如果为出站票则继续判断发售站编码是否为当前车站编码以及票卡是否过期,然后进行写卡,写入出站日期、出站编号等信息,并使发售区和进站区的MAC码清零,写入成功后,则表示完成出站;如果票卡不是出站票,则转入判断是否超程,超程则不能出站,如果没有超程继续判断更新标志位是否更新,若未更新继续判断单程票是否超时,未超时以及更新位标志表示更新完成的情况下都转入写卡出站,写卡成功后就表示完成出站。

4.5 预赋值操作

预赋值单程票是为疏散可预见性大客流而提前发售的票卡,在售票之前就对票卡的金额进行赋值。在大客流发生时售票机的售票能力有限,此时预赋值票卡可以按照预先写入的票价进行人工售票,以此来缓解自动售票机的服务压力。单程票的预赋值操作是在车票编码分拣机中完成的,其具体流程如图3所示,其中验证票卡是否初始化以及在发售区写入预赋值相关信息是该流程的关键环节。

图3 预赋值操作流程

5 结语

Utralight单程票票卡结构和票卡操作流程的合理设计不仅可以满足轨道交通AFC系统的票务管理需求,而且能够满足随机不稳定乘客的出行需求,并能保证单程票的票卡安全,防止运输服务费的流失。在研究分析Utralight卡的性能以及单程票基本功能的基础上,完成了单程票票卡结构功能区的划分,详细地规划了各功能区的字段内容。与此同时,研究了单程票MAC码的加密算法以确保票卡信息的安全性,最后对单程票的主要操作流程进行了设计,为实现单程票的基本功能奠定基础。

[1]徐明.轨道交通自动售检票系统设计[D].上海:复旦大学,2005.

[2]宋亚娜,张宁,何铁军.轨道交通储值票票卡结构与操作流程研究[J].城市轨道交通研究,2014,17(1):65-68.

[3]朱嘉斌,钱曙杰.城市轨道交通售检票系统系列票卡的兼容[J].都市快轨交通,2015,28(1):28-30.

[4]康崇皓.轨道交通自动售检票系统票卡发行方案探讨[J].铁道通信信号,2010,46(12):42-44.

[5]张宁,何铁军,余彦翔.地铁Ultralight单程票安全解决方案研究[J].交通与计算机,2007,25(5):34-37.

[6]邓悦恒.3DES算法原理与设计[J].电脑知识与技术,2011,7(20):4817-4818.

[7]陈通.基于3-DES算法的列控系统车地安全通信研究与实现[D].北京:北京交通大学,2009.

[8]李少芳.DES算法加密过程的探讨[J].计算机与现代化,2006(8):102-104.

[9]谢林光.浅谈加密技术的概念、加密方法以及应用[J].中国科技信息,2009(21):100-102.

(编辑:王艳菊)

Research on Ticket Structure and Operation Procedure of Single Journey Ticket in Urban Rail Transit

Kang Chonghao1ShiQiyu2Zhang Ning2He Tiejun2
(1.Suzhou Railway Co.,Ltd.,Suzhou 215006;2.ITS Institute of Southeast University,Nanjing 210018)

In order to use single journey ticket safely and efficiently,with Utralight card being taken as the research object,functional zone of card structure is classified on the basis of card features and single journey ticket business requirement analysis.Field contentof each functional zone of single journey ticket is planned and the storage space of card is allocated in a more reasonable way.And encryption algorithm of card transaction security is discussed.Considering the field design of card structure and the business function of single journey ticket,the operational processes of single journey ticket in the circulation process are designed in detail.

rail transit;single journey ticket;ticket structure;operation procedure

F530.7

A

1672-6073(2016)02-0075-05

10.3969/j.issn.1672-6073.2016.02.017

2015-04-25

2015-06-07

康崇皓,男,工程师,从事轨道交通机电工程专业研究,kangchonghao@foxmail.com

苏州市轨道交通专项研究项目(szgdky2013002)

doi:10.3969/j.issn.1672-6073.2016.02.018

猜你喜欢
发售字段进站
图书馆中文图书编目外包数据质量控制分析
No.10 小红书潮流尖货发售IP“飞行橱窗”启动
限量发售,喜欢请收藏 Esoteric(第一极品)K-03XD黄金版
次时代主机发售前横向对比 Xbox XSX/XSS与Sony PS5
《外汇业务百问百答》新书发售
进站口上下行载频切换时引起ATP制动问题分析
春运期间北京西站共有154.8万人次刷脸进站
地心游记(四)一位向导
CNMARC304字段和314字段责任附注方式解析
无正题名文献著录方法评述