(东南大学教育部智能运输系统研究中心,210096,南京∥第一作者,硕士研究生)
轨道交通储值票票卡结构与操作流程研究
宋亚娜 张 宁 何铁军
(东南大学教育部智能运输系统研究中心,210096,南京∥第一作者,硕士研究生)
以Mifare Stand 1K票卡介质为研究对象,在分析储值票功能需求的基础上,明确票卡结构各功能区划分。分析了储值票初始化、预赋值、售票、充值、进站、出站、查询等操作的流程,结合操作流程,归纳票卡操作时所涉及的数据,以字段的形式存放在票卡结构中,同时合理分配票卡存储器空间,以符合应用规范并满足多样化的运营需求。
城市轨道交通;储值票;票卡结构;操作流程
First-author's address ITS Institute of Ministry of Education,Southeast University,210096,Nanjing,China
随着我国城市轨道交通(以下简称“城轨”)的线网日益扩大,轨道交通票务管理(包括售票、检票、清分和结算)已成为各轨道交通运营公司的一项繁琐而艰巨的任务,而信息技术的发展使得自动售检票系统(Automatic Fare Collection,AFC)在世界上许多城市的轨道交通系统中投入了运行[1]。AFC系统以票卡为基础,利用计算机管理购票、检票、计费、收费、统计的全过程,提高了轨道交通系统的运行效率和效益。运营公司可通过实时监控掌握每条线路和车站的客流量、客流动态等信息,为轨道交通的运营、管理和决策及突发事件的预测提供大量的科学数据和依据[2-4]。
票卡作为AFC系统的核心,是记录乘客乘车信息的媒介和载体,能记录车票的系统编号、安全信息、车票种类、个人信息、进出站信息、金额、有效期、历史交易记录等,与车站现场设备共同完成自动售票、检票功能,是乘客使用轨道交通运输服务付费和乘车的凭证。
票卡种类包括单程票、储值票和员工票等。储值票是供乘客多次乘坐轨道交通的票卡,包括计程类储值票、计次类储值票及月票等[5-6]。相对单程票而言,储值票省去了购票环节,且票种丰富,面向更加稳定的乘客群体。由于储值票包含大量的信息,发行牵涉面广,涉及环节多,因此,应合理地设计储值票的票卡结构和操作流程,确保储值票票卡安全,满足乘客多样化需求。
1.1 功能需求
作为乘客与城轨系统的直接媒介,储值票支持乘客在城轨系统中一切与乘坐有关的活动。为了使乘客方便、快捷、安全地使用储值票,储值票必须具备如下基本功能:
(1)能够被初始化并记录初始化信息;
(2)储值票在发售时,能够按照乘客的要求生成特定类型的票种,并记录发售信息;
(3)乘客能够凭借储值票进、出站,并在出站的时候支付本次乘坐的费用;
(4)当储值票金额用完时,乘客可对储值票进行充值,之后可继续使用;
(5)购买记名票的乘客有权限查询自己储值票的相关信息,如余额、以往的交易情况等。
本文将储存在储值票中的数据信息以字段的形式在扇区的块中进行储存,将各字段合理分配到卡结构中,并设计出对应的操作流程来操作这些字段,实现上述各项功能。
1.2 票卡结构功能区划分
本文选取Mifare Stand 1K作为票卡介质。Mifare Stand 1K是基于扇区操作的一种票卡,价格便宜,安全性较好,但不提供防撕裂机制。针对储值票的功能需求,设置如下功能区:
(1)发行区---记录储值票发行初始化时的相关数据信息,完成与初始化相关的操作。
(2)发售区---记录储值票发售时的相关数据信息。
(3)钱包值区---存放余额。出站时从钱包里扣款支付乘坐费用,乘客查询时显示储值票的余额。
(4)钱包信息区---记录本卡钱包的有效期、使用区域或区段及充值的相关信息。
(5)公共信息区---包含票卡操作序列号、MAC(Message Authentication Code,交易认证码),以及旅程交易信息区、钱包值区、钱包信息区及交易日志区的指针。
(6)旅程交易信息区---记录票卡出入站编号、出入站设备编号、出入站日期等信息。
(7)交易状态区---包含首次交易日期、阻止标志、拒绝出入站原因及日期等信息。
(8)交易日志区---记录每次交易的日期、交易站编号等信息。
1.3 防撕裂操作
为保证储值票票卡的安全性,对公共信息区、旅程交易信息区、钱包值区进行防撕裂操作保护。
(1)公共信息区:公共信息区操作时,首先读取公共信息区的两个数据块的内容,并分别检查其MAC是否正确(MAC可以是本块内容的循环冗余校验)。若两个块的MAC验证正确,则检查两个块的序列码,序列码大的为有效块;若只有一个块的MAC验证正确,则该块有效。公共信息区采用读A写B或读B写A的方式,即如果当前是第一区有效,下次改写时将数据存入第二区,反之,如果当前是第二区有效,则下次改写时将数据存入第一区。公共信息区每次改写时序列号增1,交易流程将根据序列号来判断当前有效块。
(2)旅程交易信息区:旅程交易信息区也是一个扇区两个相同结构的块,在任一时刻,只有一个块有效。对旅程交易信息区操作采用读A写B或读B写A的方式,即从当前有效的块中读取数据,修改后写入另一个块中。
(3)钱包值区:钱包值区也采用类似的方法,即从当前有效的钱包中读取值,进行加值或减值后,转移到另一个钱包。
整个交易流程大致为:
步骤1:从公共信息区中读取数据,根据序列号等信息,判断公共信息区当前有效块;
步骤2:对公共信息区指定的旅程交易信息区、钱包值区进行操作。
步骤3:将公共信息区序列号增1,并写入另一个块,操作完成。
可以看出,防撕裂票卡操作机制可以确保交易的完整性,只要最后一步操作不完成,不管上次票卡交易从何处中断,都能从头恢复。
1.4 密钥管理系统
为保证密钥系统的封闭性和保密性,密钥在生成过程中应采用逐级分散的方式,子密钥不能推导母密钥,同级密钥不能互相推导。常见的单机架构密钥管理系统如图1所示。
图1 密钥管理系统组成
密钥管理系统完成密钥管理的各项功能,包括各类密钥的分散、生成等,同时把这些生成的密钥安装到相应的SAM(Security Access Module,安全存取模块)卡、SAM母卡、SAM卡传输卡中。
储值票操作包括初始化、预赋值、售票、进站、出站、充值、查询等。本文分析各操作流程的实现过程,为票卡结构设计做铺垫。
(1)初始化:初始化操作流程部署于E/S(Encoder/Sorter)车票编码分拣机中,分为新卡初始化和旧卡初始化。若对新卡进行初始化,首先,读取发行区票卡的物理卡号和逻辑卡号,验证卡认证码,并向发行区写入初始化信息。初始化信息包括城市代码、行业代码、初始化批次、初始化日期及初始化次数等。然后,分别对发售区、钱包值区、钱包信息区、公共信息区、旅程交易信息区、交易日志区等写入相应信息,并设置各区密钥和控制位。最后,验证各区读密钥,读取各区内容,完成初始化操作。如对旧卡进行初始化,各区写操作之前应先验证写密码,不必重新设置密钥和控制位,另外,初始化次数应加1,初始化日期保持不变。
(2)预赋值:预赋值操作流程也部署于E/S车票编码分拣机中。进行预赋值操作时:首先,应读取并验证发行区中的城市代码、行业代码及卡认证码,以判断该票卡是否为本系统卡;然后,计算各数据区密钥,验证发售区写密钥并写入发售信息,包括票种、是否记名、车票有效期模式、车票有效期等;最后,验证发售区读密钥,读发售区内容,完成预赋值操作。
(3)售票:售票操作流程部署于半自动售票机中。售票只针对初始化后的卡进行,即卡内除发行区外,其他数据区中全为0。售票只写发售区,有关钱的操作属于充值流程。进行售票操作时:首先,判断该票卡是否为本系统卡;然后,计算各数据区密钥Key A/Key B,验证发售区写密钥并写入发售信息,包括发行票卡的SAM卡的ID、发售日期、发售站编号、押金、持卡人信息等;最后,验证发售区读密钥,读发售区内容,完成售票操作。
(4)充值:充值操作流程也部署于半自动售票机中。进行充值操作时:首先,判断该票卡是否为本系统卡;接着,计算各数据区密钥,选择当前有效的公共信息区(防撕裂操作),判断该票卡是否在黑名单中,并根据公共信息区中旅程交易信息区、钱包值区和钱包信息区的指针选择当前有效区;最后,验证当前有效钱包区写密码,根据票种判断是计程类车票、计次类车票还是月票等其他票种,更新当前有效钱包值区和钱包信息区信息(防撕裂操作),包括有效期起止日期、区域代码、区段中车站1代码、区段中车站2代码、充值前剩余金额、充值金额及累计充值金额等,完成充值操作。
(5)进站:进站操作流程部署于闸机中。进行进站操作时,首先,判断该票卡是否为本系统卡。接着,计算各数据区密钥,选择当前有效的公共信息区(防撕裂操作),判断该票卡是否在黑名单中,根据公共信息区中旅程交易信息区、钱包值区和钱包信息区的指针选择当前有效区块。然后,判断出入站是否匹配,若出入站匹配,或出入站不匹配但上次交易处于出入站免检模式,则更新钱包区信息(防撕裂操作),在旅程交易信息区写入入站信息(防撕裂操作),包括入站站编号、入站设备编号、入站日期时间等;若出入站不匹配且上次交易不处于出入站免检模式,则表明上次交易不完整。最后,验证公共信息区写密码,更新公共信息区信息,完成进站操作。若未能进站,在交易状态区写入未进站原因(防撕裂操作),验证公共信息区写密码,更新公共信息区信息。
(6)出站:出站操作流程部署于闸机中。与进站操作相同:首先,确定各有效区块;然后读取当前有效旅程交易信息区的进站信息,更新钱包区信息(防撕裂操作),包括金额、扣款等,在旅程交易信息区写入出站信息(防撕裂操作),包括出站站编号、出站设备编号、出站日期时间等;接着,在交易日志区写入交易日志信息,包括交易日期时间、交易站编号、交易金额、交易后钱包剩余金额等;最后,验证公共信息区写密码,更新公共信息区信息,完成出站操作。若未能出站,在交易状态区写入未出站原因(防撕裂操作),验证公共信息区写密码,更新公共信息区信息。
(7)查询:查询流程部署于半自动售票机中。若储值票持卡人想知道票卡剩余金额,或者当遭遇闸机阻拦时想知道未能入站或出站原因,可到车站服务中心查询。进行查询操作时:首先,判断该票卡是否为本系统卡;然后,计算各数据区密钥,选择当前有效的公共信息区(防撕裂操作),判断该票卡是否在黑名单中,并根据公共信息区中旅程交易信息区、钱包值区和钱包信息区的指针选择当前有效区块;最后,根据要求读取相关区域内容,完成查询操作。
结合储值票操作流程,设计票卡结构各功能区所需的字段。
(1)发行区字段:如表1所示。
(2)发售区字段:为满足不同乘客对于乘坐的需求,面向乘客发售的储值票有不同的票种,发售时需根据乘客的要求和情况获取乘客的信息。发售区的字段如表2。
(3)钱包值区字段:钱包值区考虑防撕裂操作,其字段如表3。
(4)钱包信息区字段:钱包信息区记录钱包的有效期、使用区域或区段及充值的相关信息,不考虑防撕裂操作,其字段如表4所示。
表1 发行区字段
表2 发售区字段
表3 钱包值区字段
表4 钱包信息区字段
(5)公共信息区字段:公共信息区考虑防撕裂操作,其字段如表5所示。
表5 公共信息区字段
(6)旅程交易信息区字段:旅程交易信息区考虑防撕裂操作,其字段如表6所示。
表6 旅程交易信息区字段
(7)交易状态区字段:见表7。
表7 交易状态区字段
(8)交易日志区字段:见表8。
表8 交易日志区字段
储值票票卡结构和票卡操作流程的合理设计可以满足轨道交通AFC系统的运营需求,满足乘客多样化的出行需求,保证储值票票卡安全及票务系统的有效运行。在分析储值票功能需求的基础上,划分票卡结构功能区,考虑防撕裂操作以保证票卡安全。分析初始化、预赋值、售票、充值、进站、出站和查询等七个票卡操作流程,结合票卡操作流程,对发行区、发售区、钱包值区、钱包信息区、公共信息区、旅程交易信息区、交易状态区和交易日志区等八个区的字段进行详细设计并合理分配空间大小,为轨道交通AFC系统建设提供参考。
[1] 黎江.城市轨道交通线网AFC系统标准体系的建设[J].都市快轨交通,2009,22(5):56.
[2] 徐明.轨道交通自动售检票系统设计[D].上海:复旦大学,2005.
[3] Shiibashi A.Tonomous decentralized high-speed processing technology and the application in an integrated IC card fixedline and wireless system[C]∥Proceedings of Autonomous Decentralized Systems,2005:215.
[4] 田卫刚,李瑾.沈阳地铁票卡设置种类的探讨[J].铁道运输与经济,2008,30(9):56.
[5] 王国光,史天运.自动检票系统设计及其实现[J].中国铁道科学,2005(9):112.
[6] 张宁,何铁军,王健,等.城市轨道交通系统票种设置及票务规则分析[J].武汉理工大学学报:信息与管理工程版.2008,30(1):78.
[7] 康崇皓.轨道交通自动售检票系统票卡方案探讨[J].城市轨道交通研究,2012(5):26.
Structure and Operation Procedure of Stored Value Ticket in Rail Transit
Song Yana,Zhang Ning,He Tiejun
In order to standardize ticket business in rail transit,guarantee the order movement of ticket system,strengthen the safety of stored value ticket,the Mifare Stand 1K is taken as the studyobject and the functional requirements for the ticket is analyzed.Based on the functional requirements,the definition of all functional zones in ticket structure is conducted,and the operation procedure of stored value ticket is analyzed.Through combining the operational procedures,all data involved in ticket operation are concluded and kept in ticket structure in the field-formatted form,and the memory space of the ticket is assigned rationally in the meantime.The aim of this paper is to design a rational ticket structure and operation procedure,so as to meet the diversified operation demands.
urban rail transit;storedvalue ticket;card structure;operation procedure
U 293.22
2012-10-10)