国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

全國交通一卡通票卡個(gè)人化效率優(yōu)化

2020-02-05 02:19鄧志伍衛(wèi)中楊育文李孟杰
電子技術(shù)與軟件工程 2020年7期
關(guān)鍵詞:票卡個(gè)人化一卡通

鄧志 伍衛(wèi)中 楊育文 李孟杰

(廣州羊城通有限公司 廣東省廣州市 510080)

1 概述

自交通運(yùn)輸部印發(fā)《交通運(yùn)輸部關(guān)于促進(jìn)交通一卡通健康發(fā)展加快實(shí)現(xiàn)互聯(lián)互通的指導(dǎo)意見》[1]以來,全國各省市在“統(tǒng)籌規(guī)劃、分步實(shí)施、標(biāo)準(zhǔn)先行”的建設(shè)原則指導(dǎo)下,運(yùn)用先進(jìn)、成熟的計(jì)算機(jī)技術(shù)和IC 卡技術(shù),建設(shè)高效、安全的一卡通應(yīng)用服務(wù)平臺,將一卡通全面應(yīng)用于公共汽車、地鐵、城際軌道、輪渡、長途客運(yùn)、公共自行車、停車場、城市小額消費(fèi)等領(lǐng)域,逐步全面推廣交通一卡通,實(shí)現(xiàn)跨區(qū)(市)域、跨交通方式互聯(lián)互通。

然而,在一卡通運(yùn)營企業(yè)進(jìn)行全國交通一卡通票卡發(fā)行系統(tǒng)開發(fā)過程中,面臨如下幾個(gè)問題:

(1)各個(gè)票卡廠商有各自的票卡個(gè)人化指令規(guī)范[2],在開發(fā)票卡發(fā)行系統(tǒng)時(shí)需要分別適配,導(dǎo)致開發(fā)成本高、時(shí)間長;

(2)各個(gè)票卡廠商有各自的個(gè)人化流程,導(dǎo)致不同廠商的票卡所使用的發(fā)行時(shí)間不一致,在安排人力資源與硬件資源時(shí)容易造成混亂;

(3)在開發(fā)票卡發(fā)行系統(tǒng)時(shí),不能制定統(tǒng)一的代碼結(jié)構(gòu),需要根據(jù)不同的廠家進(jìn)行針對性開發(fā)。

因此,迫切需要一套統(tǒng)一的個(gè)人化指令與發(fā)行流程的個(gè)人化規(guī)范方案來指導(dǎo)全國交通一卡通票卡個(gè)人化開發(fā)。

1.1 解析常規(guī)票卡個(gè)人化方案分析

CPU 票卡個(gè)人化分析。原羊城通省標(biāo)CPU 卡與捷德、握奇、天喻、復(fù)旦等10 多個(gè)廠家進(jìn)行票卡開發(fā)合作,每個(gè)廠家有各自定義的票卡個(gè)人化規(guī)范,與每個(gè)票卡廠家進(jìn)行對接開發(fā),都需要按以下流程步驟進(jìn)行開發(fā):

(1)學(xué)習(xí)票卡廠家提供的票卡COS 開發(fā)手冊,熟悉個(gè)人化指令,包括文件新建、刪除、修改,密鑰新建、刪除、修改等。

(2)根據(jù)票卡卡結(jié)構(gòu),結(jié)合票卡COS 開發(fā)手冊,開發(fā)票卡個(gè)人化腳本。

(3)將腳本導(dǎo)入票卡發(fā)行數(shù)據(jù)庫。

(4)修改票卡發(fā)行后臺程序代碼,兼容票卡廠家CPU 卡個(gè)人化指令。

(5)聯(lián)合票卡廠家進(jìn)行票卡發(fā)行調(diào)試,查找發(fā)行過程中出現(xiàn)的錯(cuò)誤,修改錯(cuò)誤后反復(fù)調(diào)試。

(6)票卡發(fā)行后對票卡進(jìn)行基礎(chǔ)功能測試與終端兼容性測試。票卡發(fā)行流程圖如圖1 所示。

1.2 引入STORE DATA的CPU設(shè)計(jì)方案,提高一卡通票卡個(gè)人化效率

圖1:票卡發(fā)行流程圖

票卡發(fā)行的優(yōu)點(diǎn)主要有兩方面,第一方面是,個(gè)人化指令通過密文+MAC 的方式傳輸,保證個(gè)人化數(shù)據(jù)的安全。另外一方面是,每條個(gè)人化指令都需要取卡片隨機(jī)數(shù)參與運(yùn)算,從而有效增強(qiáng)個(gè)人化數(shù)據(jù)破解難度。同時(shí)它的缺點(diǎn)也很明顯,首先,每個(gè)廠家有各自的APDU 指令規(guī)范,每次接入新廠家都需要重復(fù)修改票卡發(fā)行平臺,新增該廠家的票卡發(fā)行功能。另外個(gè)人化指令腳本數(shù)量太多,并且無法壓縮,造成終端在發(fā)行票卡時(shí),需要與后臺發(fā)送與接收200 多個(gè)來回的個(gè)人化數(shù)據(jù),導(dǎo)致每張票卡的發(fā)行時(shí)間為30 秒,發(fā)卡效率較低。為此通過引入STORE DATA 的CPU 設(shè)計(jì)方案,實(shí)現(xiàn)票卡發(fā)行功能的統(tǒng)一,不但可以有效提高票卡發(fā)行的開發(fā)效率與票卡發(fā)行效率,而且還能增加資源的重復(fù)利用和減少浪費(fèi)。既優(yōu)化了操作人員的票卡發(fā)行體驗(yàn),又降低票卡出貨時(shí)間。

2 基于STORE DATA的CPU票卡個(gè)人化方案設(shè)計(jì)及關(guān)鍵技術(shù)

2.1 NATIVE卡與JAVA卡

“NATIVE”與“JAVA”是針對加載在卡片上的應(yīng)用的開發(fā)環(huán)境而言的。NATIVE 卡應(yīng)用使用與NATIVE 平臺同樣的語言進(jìn)行開發(fā),比如C,匯編等;JAVA 卡應(yīng)用是使用JAVA 語言開發(fā)的,而JAVA 平臺本身可以認(rèn)為是一個(gè)特殊的NATIVE 應(yīng)用。

NATIVE平臺通過統(tǒng)一卡片操作系統(tǒng)(COS)來實(shí)現(xiàn)所有的功能,所有功能接口都基于COS 來實(shí)現(xiàn),并且需前期進(jìn)行開發(fā),二次開發(fā)的難度非常大,并且功能少。而JAVA 平臺分為兩層結(jié)構(gòu),底層為按照J(rèn)AVACARD 規(guī)范來實(shí)現(xiàn),向上提供規(guī)范定義的接口(API),通常支持GP API。上層為按照應(yīng)用需求開發(fā)的APPLET,相當(dāng)于NAVTIVE 卡片上的ADF??梢愿鶕?jù)不同類型的應(yīng)用,開發(fā)多個(gè)APPLET。這些APPLET 相互獨(dú)立,通過AID 來選擇。

前期羊城通票卡發(fā)行項(xiàng)目基于NATIVE 平臺實(shí)現(xiàn),期間遇到眾多難題,例如二次開發(fā)的資源投入率高、票卡發(fā)行效率低等。由于JAVA 卡的接口規(guī)范多樣性以及應(yīng)用二次開發(fā)的方便性,本研究項(xiàng)目基于JAVA 平臺實(shí)現(xiàn)。

圖2:寫文件TAG 低2 字節(jié)定義

圖3:寫密鑰TAG 低字節(jié)定義

2.2 GP技術(shù)簡介

GlobalPlatform 是一家由支付和通信業(yè)的領(lǐng)先廠商、政府相關(guān)部門以及供應(yīng)商社區(qū)共同建立的一個(gè)組織,并率先提出了一個(gè)跨行業(yè)的智能卡全局基礎(chǔ)架構(gòu)及其實(shí)現(xiàn),其目標(biāo)是為了減少隱藏在快速增長的跨行業(yè)、多應(yīng)用的智能卡背后的障礙,使得發(fā)卡商在各種各樣的卡片、終端和后臺系統(tǒng)前,繼續(xù)享有選擇的自由[3]。

對于Java 卡:GP 規(guī)范是Java 卡上的一套Java 應(yīng)用代碼管理機(jī)制,負(fù)責(zé)Java 應(yīng)用的安全管理,通過安全信道、安全域、密鑰權(quán)限等安全因素實(shí)現(xiàn)對Java 應(yīng)用的加載、安裝、刪除等動(dòng)態(tài)管理。

安全域:卡片管理器作為GlobalPlatform 架構(gòu)中的首要組件起到了GlobalPlatform 卡片中心管理者的作用,特定的密鑰和安全管理應(yīng)用被稱作安全域,負(fù)責(zé)確保發(fā)卡方和其他安全域提供者之間的密鑰的完全隔離。安全域負(fù)責(zé)提供各類安全服務(wù),包括密鑰管理、加密解密、針對其提供者(發(fā)卡方、應(yīng)用提供方、授權(quán)管理者)的應(yīng)用進(jìn)行數(shù)字簽名的生成與驗(yàn)證。

2.3 STORE DATA+DGI

STORE DATA 命令是GP 規(guī)范定義用于將數(shù)據(jù)傳輸至應(yīng)用程序或者安全域的指令。安全域根據(jù)接收到的命令數(shù)據(jù)來確定該命令是用于自身還是用于應(yīng)用程序。STORE DATA 命令基于GP 規(guī)范制定的安全機(jī)制與規(guī)則,用于保證數(shù)據(jù)的完整性與安全性。

DGI:DGI(Data Grouping Identifier)格式是GP 規(guī)范定義的在兩個(gè)字節(jié)上進(jìn)行編碼的二進(jìn)制格式,其后需接長度標(biāo)識和數(shù)據(jù)域。

通過自定義票卡結(jié)構(gòu)里文件的DGI 標(biāo)簽,包括電子錢包文件、電子現(xiàn)金文件、普通二進(jìn)制文件、循環(huán)或變長記錄文件、密鑰文件、擴(kuò)展應(yīng)用文件等,并形成自定義規(guī)范標(biāo)準(zhǔn),統(tǒng)一票卡個(gè)人化的腳本指令。同時(shí),使用STORE DATA 指令來傳輸自定義指令,運(yùn)用密文+CMAC 的方式來保護(hù)傳輸數(shù)據(jù)的完整性與安全性。

2.4 密文+CMAC

票卡個(gè)人化腳本在傳輸過程中,根據(jù)GP 規(guī)范定義的方式,對傳輸?shù)臄?shù)據(jù)使用卡片密鑰進(jìn)行數(shù)據(jù)加密,得到傳輸數(shù)據(jù)密文,并計(jì)算數(shù)據(jù)的CMAC 值??ㄆ诮邮盏綌?shù)據(jù)后,使用相應(yīng)的密鑰,用相同的算法對傳輸數(shù)據(jù)進(jìn)行解密,獲取傳輸數(shù)據(jù)明文,并計(jì)劃CMAC 值,對比接收的CMAC 值,判斷數(shù)據(jù)是否一致。

表1:NATIVE 卡與JAVA 卡各項(xiàng)細(xì)節(jié)對

圖4:校驗(yàn)密鑰TAG 低字節(jié)定義

票卡個(gè)人化數(shù)據(jù)從票卡發(fā)行系統(tǒng)加密,到票卡進(jìn)行解密,數(shù)據(jù)在傳輸過程中處理加密狀態(tài),確保數(shù)據(jù)在中間傳輸過程不被破解。

2.5 密鑰安全保障機(jī)制

票卡從生產(chǎn)到發(fā)行,需采用必要的安全機(jī)制來保障數(shù)據(jù)發(fā)行安全:

(1)應(yīng)用預(yù)個(gè)人化流程,票卡生產(chǎn)廠家需提前獲取票卡發(fā)行方的基礎(chǔ)安全密鑰。

(2)票卡生產(chǎn)廠家需安裝票卡發(fā)行方的基礎(chǔ)安全密鑰至票卡中,并生成KMC。

(3)票卡發(fā)行方在票卡個(gè)人化時(shí)需對票卡KMC 密鑰進(jìn)行替換。

票卡安全域密鑰KMC 的安裝與使用,由票卡發(fā)行方來定義。KMC 密鑰通過母卡的方式提供給票卡生產(chǎn)商。票卡生產(chǎn)商在安裝Java 平臺時(shí),需對票卡進(jìn)行預(yù)個(gè)人化處理,即從母卡中導(dǎo)出初始密鑰并安裝至票卡中,此時(shí)票卡的安全域KMC 被修改為票卡發(fā)行方的密鑰。

2.6 數(shù)據(jù)格式與定義

制卡數(shù)據(jù)類型編碼規(guī)范:Tag 占2/3 字節(jié),高字節(jié)為0x7F(01111111),即bit7-8 采取Application Class。

寫文件Tag 由3 字節(jié)構(gòu)成,其低2 字節(jié)定義如圖2 所示。

寫密鑰Tag 由2 字節(jié)構(gòu)成,其低字節(jié)定義如圖3 所示。

校驗(yàn)密鑰Tag 由2 字節(jié)構(gòu)成,其低字節(jié)定義如圖4 所示。

預(yù)充值(錢包信用額度)Tag 由2 字節(jié)構(gòu)成,其低字節(jié)定義如圖5 所示。

NATIVE 卡與JAVA 卡各項(xiàng)細(xì)節(jié)對比,如表1 所示。

通過定制的JAVA 卡對比NATIVE 卡,具有以下優(yōu)點(diǎn):

(1)統(tǒng)一一套票卡個(gè)人化腳本指令,每個(gè)廠家根據(jù)票卡規(guī)范進(jìn)行COS 開發(fā),二次開發(fā)難度大大減少。

(2)出廠前預(yù)置票卡結(jié)構(gòu),并做好預(yù)個(gè)人化。

(3)提前初始化票卡文件內(nèi)容,設(shè)置為普通值0 或F,而關(guān)鍵數(shù)據(jù)包括文件密鑰、卡片信息、證書信息等在個(gè)人化時(shí)才寫入,即保證數(shù)據(jù)安全,又節(jié)省個(gè)人化時(shí)間。

(4)只需一次獲取卡片隨機(jī)數(shù),后面每條個(gè)人化指令都根據(jù)上次指令計(jì)算卡片隨機(jī)數(shù)參與運(yùn)算,既減少個(gè)人化指令計(jì)算次數(shù),又有效增強(qiáng)個(gè)人化數(shù)據(jù)破解難度。

(5)個(gè)人化腳本最多只需72 條,最少可以縮減至49 條,大幅提高個(gè)人化效率。

(6)個(gè)人化指令通過密文+CMAC 的方式傳輸,保證個(gè)人化數(shù)據(jù)的安全。

(7)在票卡發(fā)行過程中,發(fā)行終端與發(fā)行后臺的連接次數(shù),最低可以壓縮至17 次,有效減輕了后臺壓力。

(8)單張交通部二合一卡發(fā)行時(shí)間為8 秒/張。

(9)定制的個(gè)人化指令配合定制的重復(fù)寫卡機(jī)制,可以直接對異??ㄟM(jìn)行重新寫卡,不再需要進(jìn)行7 卡步驟。

2.7 新票卡發(fā)行的創(chuàng)新和難點(diǎn)分析

新票卡發(fā)行的流程圖,如圖6 所示。

2.7.1 設(shè)計(jì)與開發(fā)過程中所遇問題總結(jié)與難點(diǎn)突破

由于此套方案基于不同的技術(shù)與不同的平臺,因此在設(shè)計(jì)開發(fā)過程中遇到很多問題,現(xiàn)總結(jié)如下:

(1)在設(shè)計(jì)個(gè)人化指令時(shí),沒有充分考慮各文件之間的關(guān)系,導(dǎo)致某些個(gè)人化指令出現(xiàn)歧義,一條指令無法定位文件位置,后經(jīng)測試反復(fù)重現(xiàn)問題,并重新設(shè)計(jì)三字節(jié)標(biāo)簽來解決此問題。

(2)在計(jì)算票卡指令CMAC 時(shí),由于算法較復(fù)雜,相關(guān)聯(lián)的字段較多,出現(xiàn)計(jì)算錯(cuò)誤的情況,后經(jīng)廠家指導(dǎo),順利完成CMAC計(jì)算。

(3)在票卡COS 開發(fā)過程中,有的廠家缺少三個(gè)應(yīng)用錢包共享的設(shè)計(jì),導(dǎo)致在開發(fā)完成后再發(fā)現(xiàn)問題并重復(fù)修改。后重新與廠家討論技術(shù)細(xì)節(jié),并提供相關(guān)技術(shù)文檔,確保廠家按我們的需求完成開發(fā)。

(4)由于對電子現(xiàn)金的認(rèn)識不足,導(dǎo)致開發(fā)發(fā)行平臺的時(shí)間延長,在對票卡電子現(xiàn)金進(jìn)行測試時(shí),缺少部分測試項(xiàng)。后經(jīng)廠家技術(shù)指導(dǎo)后,完成開發(fā)與測試。

(5)在票卡測試過程中,沒能及時(shí)收集全國各地的終端與PSAM 卡類型進(jìn)行測試,導(dǎo)致少部分票卡的發(fā)行參數(shù)與部分地區(qū)的標(biāo)志不符,后經(jīng)修改參數(shù)加以解決。

2.7.2 創(chuàng)新點(diǎn)

圖5:預(yù)充值低字節(jié)定義

圖6:新票卡發(fā)行流程圖

在對原票卡發(fā)行系統(tǒng)運(yùn)營管理多年的基礎(chǔ)上,發(fā)現(xiàn)系統(tǒng)在新票卡開發(fā)、票卡發(fā)行時(shí)間、發(fā)行流程、維護(hù)成本等環(huán)節(jié)上問題較多,如何有效優(yōu)化流程以及如何設(shè)計(jì)方案成為核心突破點(diǎn)。根據(jù)現(xiàn)在流行的JAVA 平臺票卡發(fā)行思維,結(jié)合GP 規(guī)范定義的標(biāo)準(zhǔn)接口與API,再運(yùn)用成熟的DGI 標(biāo)簽格式,設(shè)計(jì)出一套完善可靠安全的個(gè)人化指令標(biāo)準(zhǔn)。此規(guī)范標(biāo)準(zhǔn)適用于所有開發(fā)廠家,廠家根據(jù)我們定義的規(guī)范標(biāo)準(zhǔn)開發(fā)完成并通過我們測試后,適用于我們的交通部二合一票卡發(fā)行。新標(biāo)準(zhǔn)解決了原系統(tǒng)的眾多問題,包括新票卡開發(fā)時(shí),不再需要重新學(xué)習(xí)開發(fā)腳本與指令;票卡發(fā)行時(shí)間從30 秒/張縮短至8 秒/張;發(fā)行流程簡化,不再需要重復(fù)洗卡;二次開發(fā)更方便快捷。

3 總結(jié)

本套方案通過自定義DGI 腳本,規(guī)范各種不同類型的個(gè)人化指令,實(shí)現(xiàn)票卡發(fā)行功能的統(tǒng)一,不但可以有效提高票卡發(fā)行的開發(fā)效率與票卡發(fā)行效率,而且還能減少資源的重復(fù)利用與浪費(fèi)。既優(yōu)化了操作人員的票卡發(fā)行體驗(yàn),又降低票卡出貨時(shí)間,該方案將成為票卡行業(yè)發(fā)展的重要手段和未來票卡發(fā)行的引路方向。

猜你喜歡
票卡個(gè)人化一卡通
城市軌道交通票卡使用情況分析
法蘭克福書展個(gè)人化書籍走紅
城市軌道交通新型自動(dòng)售票機(jī)發(fā)卡裝置的設(shè)計(jì)
“尚長榮三部曲”帶來無盡思考——且說個(gè)人化藝術(shù)創(chuàng)造的價(jià)值
基于“一卡通”開發(fā)的員工信息識別系統(tǒng)
城市軌道交通售檢票系統(tǒng)系列票卡的兼容
軌道交通票卡庫存管理
女性形象的個(gè)人化書寫——嚴(yán)歌苓小說解讀
一卡通為新農(nóng)合基金加密
《全國新書目》2009年4月薦書榜
祁阳县| 朝阳市| 拉萨市| 孟津县| 青浦区| 霍林郭勒市| 西藏| 岑溪市| 睢宁县| 大冶市| 绥阳县| 金寨县| 桂阳县| 叶城县| 章丘市| 麻栗坡县| 教育| 凤城市| 安庆市| 禹城市| 清丰县| 江陵县| 诸暨市| 明星| 华宁县| 临沂市| 阳曲县| 永登县| 隆回县| 扎赉特旗| 堆龙德庆县| 竹溪县| 吉木萨尔县| 云阳县| 滦平县| 绍兴市| 来宾市| 炉霍县| 平南县| 通江县| 崇左市|