(東南大學教育部智能運輸系統(tǒng)研究中心,210096,南京∥第一作者,碩士研究生)
軌道交通儲值票票卡結(jié)構(gòu)與操作流程研究
宋亞娜 張 寧 何鐵軍
(東南大學教育部智能運輸系統(tǒng)研究中心,210096,南京∥第一作者,碩士研究生)
以Mifare Stand 1K票卡介質(zhì)為研究對象,在分析儲值票功能需求的基礎上,明確票卡結(jié)構(gòu)各功能區(qū)劃分。分析了儲值票初始化、預賦值、售票、充值、進站、出站、查詢等操作的流程,結(jié)合操作流程,歸納票卡操作時所涉及的數(shù)據(jù),以字段的形式存放在票卡結(jié)構(gòu)中,同時合理分配票卡存儲器空間,以符合應用規(guī)范并滿足多樣化的運營需求。
城市軌道交通;儲值票;票卡結(jié)構(gòu);操作流程
First-author's address ITS Institute of Ministry of Education,Southeast University,210096,Nanjing,China
隨著我國城市軌道交通(以下簡稱“城軌”)的線網(wǎng)日益擴大,軌道交通票務管理(包括售票、檢票、清分和結(jié)算)已成為各軌道交通運營公司的一項繁瑣而艱巨的任務,而信息技術的發(fā)展使得自動售檢票系統(tǒng)(Automatic Fare Collection,AFC)在世界上許多城市的軌道交通系統(tǒng)中投入了運行[1]。AFC系統(tǒng)以票卡為基礎,利用計算機管理購票、檢票、計費、收費、統(tǒng)計的全過程,提高了軌道交通系統(tǒng)的運行效率和效益。運營公司可通過實時監(jiān)控掌握每條線路和車站的客流量、客流動態(tài)等信息,為軌道交通的運營、管理和決策及突發(fā)事件的預測提供大量的科學數(shù)據(jù)和依據(jù)[2-4]。
票卡作為AFC系統(tǒng)的核心,是記錄乘客乘車信息的媒介和載體,能記錄車票的系統(tǒng)編號、安全信息、車票種類、個人信息、進出站信息、金額、有效期、歷史交易記錄等,與車站現(xiàn)場設備共同完成自動售票、檢票功能,是乘客使用軌道交通運輸服務付費和乘車的憑證。
票卡種類包括單程票、儲值票和員工票等。儲值票是供乘客多次乘坐軌道交通的票卡,包括計程類儲值票、計次類儲值票及月票等[5-6]。相對單程票而言,儲值票省去了購票環(huán)節(jié),且票種豐富,面向更加穩(wěn)定的乘客群體。由于儲值票包含大量的信息,發(fā)行牽涉面廣,涉及環(huán)節(jié)多,因此,應合理地設計儲值票的票卡結(jié)構(gòu)和操作流程,確保儲值票票卡安全,滿足乘客多樣化需求。
1.1 功能需求
作為乘客與城軌系統(tǒng)的直接媒介,儲值票支持乘客在城軌系統(tǒng)中一切與乘坐有關的活動。為了使乘客方便、快捷、安全地使用儲值票,儲值票必須具備如下基本功能:
(1)能夠被初始化并記錄初始化信息;
(2)儲值票在發(fā)售時,能夠按照乘客的要求生成特定類型的票種,并記錄發(fā)售信息;
(3)乘客能夠憑借儲值票進、出站,并在出站的時候支付本次乘坐的費用;
(4)當儲值票金額用完時,乘客可對儲值票進行充值,之后可繼續(xù)使用;
(5)購買記名票的乘客有權(quán)限查詢自己儲值票的相關信息,如余額、以往的交易情況等。
本文將儲存在儲值票中的數(shù)據(jù)信息以字段的形式在扇區(qū)的塊中進行儲存,將各字段合理分配到卡結(jié)構(gòu)中,并設計出對應的操作流程來操作這些字段,實現(xiàn)上述各項功能。
1.2 票卡結(jié)構(gòu)功能區(qū)劃分
本文選取Mifare Stand 1K作為票卡介質(zhì)。Mifare Stand 1K是基于扇區(qū)操作的一種票卡,價格便宜,安全性較好,但不提供防撕裂機制。針對儲值票的功能需求,設置如下功能區(qū):
(1)發(fā)行區(qū)---記錄儲值票發(fā)行初始化時的相關數(shù)據(jù)信息,完成與初始化相關的操作。
(2)發(fā)售區(qū)---記錄儲值票發(fā)售時的相關數(shù)據(jù)信息。
(3)錢包值區(qū)---存放余額。出站時從錢包里扣款支付乘坐費用,乘客查詢時顯示儲值票的余額。
(4)錢包信息區(qū)---記錄本卡錢包的有效期、使用區(qū)域或區(qū)段及充值的相關信息。
(5)公共信息區(qū)---包含票卡操作序列號、MAC(Message Authentication Code,交易認證碼),以及旅程交易信息區(qū)、錢包值區(qū)、錢包信息區(qū)及交易日志區(qū)的指針。
(6)旅程交易信息區(qū)---記錄票卡出入站編號、出入站設備編號、出入站日期等信息。
(7)交易狀態(tài)區(qū)---包含首次交易日期、阻止標志、拒絕出入站原因及日期等信息。
(8)交易日志區(qū)---記錄每次交易的日期、交易站編號等信息。
1.3 防撕裂操作
為保證儲值票票卡的安全性,對公共信息區(qū)、旅程交易信息區(qū)、錢包值區(qū)進行防撕裂操作保護。
(1)公共信息區(qū):公共信息區(qū)操作時,首先讀取公共信息區(qū)的兩個數(shù)據(jù)塊的內(nèi)容,并分別檢查其MAC是否正確(MAC可以是本塊內(nèi)容的循環(huán)冗余校驗)。若兩個塊的MAC驗證正確,則檢查兩個塊的序列碼,序列碼大的為有效塊;若只有一個塊的MAC驗證正確,則該塊有效。公共信息區(qū)采用讀A寫B(tài)或讀B寫A的方式,即如果當前是第一區(qū)有效,下次改寫時將數(shù)據(jù)存入第二區(qū),反之,如果當前是第二區(qū)有效,則下次改寫時將數(shù)據(jù)存入第一區(qū)。公共信息區(qū)每次改寫時序列號增1,交易流程將根據(jù)序列號來判斷當前有效塊。
(2)旅程交易信息區(qū):旅程交易信息區(qū)也是一個扇區(qū)兩個相同結(jié)構(gòu)的塊,在任一時刻,只有一個塊有效。對旅程交易信息區(qū)操作采用讀A寫B(tài)或讀B寫A的方式,即從當前有效的塊中讀取數(shù)據(jù),修改后寫入另一個塊中。
(3)錢包值區(qū):錢包值區(qū)也采用類似的方法,即從當前有效的錢包中讀取值,進行加值或減值后,轉(zhuǎn)移到另一個錢包。
整個交易流程大致為:
步驟1:從公共信息區(qū)中讀取數(shù)據(jù),根據(jù)序列號等信息,判斷公共信息區(qū)當前有效塊;
步驟2:對公共信息區(qū)指定的旅程交易信息區(qū)、錢包值區(qū)進行操作。
步驟3:將公共信息區(qū)序列號增1,并寫入另一個塊,操作完成。
可以看出,防撕裂票卡操作機制可以確保交易的完整性,只要最后一步操作不完成,不管上次票卡交易從何處中斷,都能從頭恢復。
1.4 密鑰管理系統(tǒng)
為保證密鑰系統(tǒng)的封閉性和保密性,密鑰在生成過程中應采用逐級分散的方式,子密鑰不能推導母密鑰,同級密鑰不能互相推導。常見的單機架構(gòu)密鑰管理系統(tǒng)如圖1所示。
圖1 密鑰管理系統(tǒng)組成
密鑰管理系統(tǒng)完成密鑰管理的各項功能,包括各類密鑰的分散、生成等,同時把這些生成的密鑰安裝到相應的SAM(Security Access Module,安全存取模塊)卡、SAM母卡、SAM卡傳輸卡中。
儲值票操作包括初始化、預賦值、售票、進站、出站、充值、查詢等。本文分析各操作流程的實現(xiàn)過程,為票卡結(jié)構(gòu)設計做鋪墊。
(1)初始化:初始化操作流程部署于E/S(Encoder/Sorter)車票編碼分揀機中,分為新卡初始化和舊卡初始化。若對新卡進行初始化,首先,讀取發(fā)行區(qū)票卡的物理卡號和邏輯卡號,驗證卡認證碼,并向發(fā)行區(qū)寫入初始化信息。初始化信息包括城市代碼、行業(yè)代碼、初始化批次、初始化日期及初始化次數(shù)等。然后,分別對發(fā)售區(qū)、錢包值區(qū)、錢包信息區(qū)、公共信息區(qū)、旅程交易信息區(qū)、交易日志區(qū)等寫入相應信息,并設置各區(qū)密鑰和控制位。最后,驗證各區(qū)讀密鑰,讀取各區(qū)內(nèi)容,完成初始化操作。如對舊卡進行初始化,各區(qū)寫操作之前應先驗證寫密碼,不必重新設置密鑰和控制位,另外,初始化次數(shù)應加1,初始化日期保持不變。
(2)預賦值:預賦值操作流程也部署于E/S車票編碼分揀機中。進行預賦值操作時:首先,應讀取并驗證發(fā)行區(qū)中的城市代碼、行業(yè)代碼及卡認證碼,以判斷該票卡是否為本系統(tǒng)卡;然后,計算各數(shù)據(jù)區(qū)密鑰,驗證發(fā)售區(qū)寫密鑰并寫入發(fā)售信息,包括票種、是否記名、車票有效期模式、車票有效期等;最后,驗證發(fā)售區(qū)讀密鑰,讀發(fā)售區(qū)內(nèi)容,完成預賦值操作。
(3)售票:售票操作流程部署于半自動售票機中。售票只針對初始化后的卡進行,即卡內(nèi)除發(fā)行區(qū)外,其他數(shù)據(jù)區(qū)中全為0。售票只寫發(fā)售區(qū),有關錢的操作屬于充值流程。進行售票操作時:首先,判斷該票卡是否為本系統(tǒng)卡;然后,計算各數(shù)據(jù)區(qū)密鑰Key A/Key B,驗證發(fā)售區(qū)寫密鑰并寫入發(fā)售信息,包括發(fā)行票卡的SAM卡的ID、發(fā)售日期、發(fā)售站編號、押金、持卡人信息等;最后,驗證發(fā)售區(qū)讀密鑰,讀發(fā)售區(qū)內(nèi)容,完成售票操作。
(4)充值:充值操作流程也部署于半自動售票機中。進行充值操作時:首先,判斷該票卡是否為本系統(tǒng)卡;接著,計算各數(shù)據(jù)區(qū)密鑰,選擇當前有效的公共信息區(qū)(防撕裂操作),判斷該票卡是否在黑名單中,并根據(jù)公共信息區(qū)中旅程交易信息區(qū)、錢包值區(qū)和錢包信息區(qū)的指針選擇當前有效區(qū);最后,驗證當前有效錢包區(qū)寫密碼,根據(jù)票種判斷是計程類車票、計次類車票還是月票等其他票種,更新當前有效錢包值區(qū)和錢包信息區(qū)信息(防撕裂操作),包括有效期起止日期、區(qū)域代碼、區(qū)段中車站1代碼、區(qū)段中車站2代碼、充值前剩余金額、充值金額及累計充值金額等,完成充值操作。
(5)進站:進站操作流程部署于閘機中。進行進站操作時,首先,判斷該票卡是否為本系統(tǒng)卡。接著,計算各數(shù)據(jù)區(qū)密鑰,選擇當前有效的公共信息區(qū)(防撕裂操作),判斷該票卡是否在黑名單中,根據(jù)公共信息區(qū)中旅程交易信息區(qū)、錢包值區(qū)和錢包信息區(qū)的指針選擇當前有效區(qū)塊。然后,判斷出入站是否匹配,若出入站匹配,或出入站不匹配但上次交易處于出入站免檢模式,則更新錢包區(qū)信息(防撕裂操作),在旅程交易信息區(qū)寫入入站信息(防撕裂操作),包括入站站編號、入站設備編號、入站日期時間等;若出入站不匹配且上次交易不處于出入站免檢模式,則表明上次交易不完整。最后,驗證公共信息區(qū)寫密碼,更新公共信息區(qū)信息,完成進站操作。若未能進站,在交易狀態(tài)區(qū)寫入未進站原因(防撕裂操作),驗證公共信息區(qū)寫密碼,更新公共信息區(qū)信息。
(6)出站:出站操作流程部署于閘機中。與進站操作相同:首先,確定各有效區(qū)塊;然后讀取當前有效旅程交易信息區(qū)的進站信息,更新錢包區(qū)信息(防撕裂操作),包括金額、扣款等,在旅程交易信息區(qū)寫入出站信息(防撕裂操作),包括出站站編號、出站設備編號、出站日期時間等;接著,在交易日志區(qū)寫入交易日志信息,包括交易日期時間、交易站編號、交易金額、交易后錢包剩余金額等;最后,驗證公共信息區(qū)寫密碼,更新公共信息區(qū)信息,完成出站操作。若未能出站,在交易狀態(tài)區(qū)寫入未出站原因(防撕裂操作),驗證公共信息區(qū)寫密碼,更新公共信息區(qū)信息。
(7)查詢:查詢流程部署于半自動售票機中。若儲值票持卡人想知道票卡剩余金額,或者當遭遇閘機阻攔時想知道未能入站或出站原因,可到車站服務中心查詢。進行查詢操作時:首先,判斷該票卡是否為本系統(tǒng)卡;然后,計算各數(shù)據(jù)區(qū)密鑰,選擇當前有效的公共信息區(qū)(防撕裂操作),判斷該票卡是否在黑名單中,并根據(jù)公共信息區(qū)中旅程交易信息區(qū)、錢包值區(qū)和錢包信息區(qū)的指針選擇當前有效區(qū)塊;最后,根據(jù)要求讀取相關區(qū)域內(nèi)容,完成查詢操作。
結(jié)合儲值票操作流程,設計票卡結(jié)構(gòu)各功能區(qū)所需的字段。
(1)發(fā)行區(qū)字段:如表1所示。
(2)發(fā)售區(qū)字段:為滿足不同乘客對于乘坐的需求,面向乘客發(fā)售的儲值票有不同的票種,發(fā)售時需根據(jù)乘客的要求和情況獲取乘客的信息。發(fā)售區(qū)的字段如表2。
(3)錢包值區(qū)字段:錢包值區(qū)考慮防撕裂操作,其字段如表3。
(4)錢包信息區(qū)字段:錢包信息區(qū)記錄錢包的有效期、使用區(qū)域或區(qū)段及充值的相關信息,不考慮防撕裂操作,其字段如表4所示。
表1 發(fā)行區(qū)字段
表2 發(fā)售區(qū)字段
表3 錢包值區(qū)字段
表4 錢包信息區(qū)字段
(5)公共信息區(qū)字段:公共信息區(qū)考慮防撕裂操作,其字段如表5所示。
表5 公共信息區(qū)字段
(6)旅程交易信息區(qū)字段:旅程交易信息區(qū)考慮防撕裂操作,其字段如表6所示。
表6 旅程交易信息區(qū)字段
(7)交易狀態(tài)區(qū)字段:見表7。
表7 交易狀態(tài)區(qū)字段
(8)交易日志區(qū)字段:見表8。
表8 交易日志區(qū)字段
儲值票票卡結(jié)構(gòu)和票卡操作流程的合理設計可以滿足軌道交通AFC系統(tǒng)的運營需求,滿足乘客多樣化的出行需求,保證儲值票票卡安全及票務系統(tǒng)的有效運行。在分析儲值票功能需求的基礎上,劃分票卡結(jié)構(gòu)功能區(qū),考慮防撕裂操作以保證票卡安全。分析初始化、預賦值、售票、充值、進站、出站和查詢等七個票卡操作流程,結(jié)合票卡操作流程,對發(fā)行區(qū)、發(fā)售區(qū)、錢包值區(qū)、錢包信息區(qū)、公共信息區(qū)、旅程交易信息區(qū)、交易狀態(tài)區(qū)和交易日志區(qū)等八個區(qū)的字段進行詳細設計并合理分配空間大小,為軌道交通AFC系統(tǒng)建設提供參考。
[1] 黎江.城市軌道交通線網(wǎng)AFC系統(tǒng)標準體系的建設[J].都市快軌交通,2009,22(5):56.
[2] 徐明.軌道交通自動售檢票系統(tǒng)設計[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] 田衛(wèi)剛,李瑾.沈陽地鐵票卡設置種類的探討[J].鐵道運輸與經(jīng)濟,2008,30(9):56.
[5] 王國光,史天運.自動檢票系統(tǒng)設計及其實現(xiàn)[J].中國鐵道科學,2005(9):112.
[6] 張寧,何鐵軍,王健,等.城市軌道交通系統(tǒng)票種設置及票務規(guī)則分析[J].武漢理工大學學報:信息與管理工程版.2008,30(1):78.
[7] 康崇皓.軌道交通自動售檢票系統(tǒng)票卡方案探討[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)