相對傳統的紙券、磁卡等信息介質,非接觸IC卡以其存儲容量大、數據穩定性高、簡單的讀寫性、防偽性能強的優點在高速公路收費系統的運營中得到廣泛的應用。
在IC卡開發運用方面,一般采用兩種操作方式,即采用塊(Block)操作方式和文件(File)操作方式。塊操作讀寫方式按塊來操作,讀寫不方便,容易被破 解 密 碼。現在的IC卡大部分都采用文件密文加密方式。按文件操作方式,兩扇區的密鑰都不一樣,保密性得到提高。文件操作方式實際上是采用按扇區批量讀寫數據的管理方法,在大批量讀寫速度上也得到了提高,操作更方便。高速公路的密鑰發行管理軟件是基于這種文件讀寫方式而開發的。
高速公路聯網收費IC卡開發運用概述
現階段在高速公路上IC卡運用最廣泛的是非接觸邏輯加密卡,即Mifare One卡,其次是已經興起并得到運用的CPU雙界面卡,即MifarePro卡??ㄆ能浖_發運用主要有兩個方面:一、卡片的發行;二、卡片的個人化。
一、卡片的發行
高速公路聯網收費的卡片發行遵循卡片統一管理和統一發行的原則。IC卡密鑰統一管理是系統安全和統一的重要保證,IC卡密鑰統一發行是實現高速公路聯網收費的重要保證?;贗C卡安全管理的要求以及密鑰管理基本原則,選用接觸式CPU卡作為密鑰管理的基本載體。
二、卡片的個人化:
開發者需要設計并建立IC卡應用系統的中心數據庫,庫中保存系統數據及各持卡人的專用數據,這是任何一種卡基本應用系統必備的。發卡站負責發行新卡,包括按規定格式,對新卡作初始化,分區及寫入分區密碼,寫入原始數據。此中心也常用于舊卡添加數據和收費。發卡站與區域中心數據庫聯結,寫卡時同時更新中心數據庫。結算和掛失工作站則用于對日常業務進行結算。同時可以處理IC卡掛失,重失和銷毀報廢工作。顯然也必須與中心庫連接,對庫中數據進行更新。
IC卡在軟件開發應用中問題的提出
在非接觸IC卡的軟件開發應用當中難免會遇到一些技術上的問題。從技術上講,非接觸邏輯加密卡片的容量是1024個字節,去掉每個扇區的密碼塊,按理應可存儲小于等于768個字節的數據,但信息存儲越多,讀寫的時間越長,不穩定的因素就越大。這其中有幾個方面的原因,一、跟卡片的質量有關,二、跟刷卡的距離、角度、速度有關;三、跟軟件開發有關??ㄆ馁|量主要來自廠家對卡片的生產上的工藝要求。在這里,我主要是講軟件開發應用當中的因素。
非接觸邏輯加密卡在讀寫天線的上方操作的距離應小于10CM,實際應用當中的最佳距離應在0到5cm。當卡片在讀寫天線上以蘭定的速度劃過,就可能會出現待寫入的數據信息一部分寫進去,一部分沒寫進去,甚至更嚴重的是把卡里的內容寫壞。導致MAC碼(報文鑒別碼Message Authentication Code)認證失敗。因為我們很難規定操作者在刷卡中一定要按照15 的斜角在有效的范圍內操作卡片,卡片在讀卡天線上來回的晃動,最易造成壞卡。即寫到IC卡內的信息因刷卡操作不當導致寫入無效的數據。該無效的數據來源于讀寫機具系統提供的初始值。例如:高速公路入口刷卡寫入當前的Unix時間,由于刷卡的不當導致讀寫機具默認的寫入的數據為0,則出口讀出的時間將是1970年1月1日刷的卡。因此,在軟件開發運用中就應該有容錯性。
當然,在IC卡的開發過程當中,IC卡每一步驟的讀寫失敗都會有錯誤返回碼,可以利用該錯誤的返回碼來判斷這次卡片的讀寫情況的。并根據情況提示操作人員重新刷卡,直到待寫入的信息完整無誤的寫入到IC卡內。最終提示刷卡成功。但在實際應用當中是會有這樣的一種情況產生的。既IC卡寫數據信息成功,沒有錯誤的返回碼,但是其中的不穩定的光電信號導致寫入的信息有誤,當然這是比較難發生的事。這就是它的抗靜電和紫外線的能力弱的缺點。同樣的,在Mifare Pro卡,既CPU雙界面卡的運用當中也會存在著這些問題。CPU雙界面卡的認證過程比較復雜,往往被運用在高速公路一卡通行的儲值卡、記帳卡中。因此在開發及實際操作當中更不允許出錯,必需要有容錯功能,否則會出現扣了款的儲值卡返回扣款未成功的返回碼。
城市公交系統的運用中的非接觸邏輯加密卡在操作上運用了電子錢包,其中利用備用數據塊,在最大程度上解決了非接觸加密卡的不穩定因素。
解決卡片的操作問題主要有以下幾方面:
一、從操作上盡量規范操作;
1、傳統方式的卡片操作是操作員在機具上按照一定的距離、速度、角度進行刷卡,當然最有效的方式就是放在機具上。規范操作如下圖示:
規范1:
IC卡與讀卡器距離≤5CM且呈≥150 交角,在天線上方,由上至下移動,直至車道收費程序提示“寫卡”、“讀卡”成功。
規范2:
IC卡在讀寫器呈上方≤5cm,由左至右移動,穿越天線,移動時間≥1s。
規范的卡片操作,可使卡片在讀卡器上方被鎖定的時間足夠在小于200毫秒的讀寫時間里完成一次讀寫任務。
減少讀寫不成功的機率。
2、目前,有些高速公路采用卡箱的管理方式,包括半自動卡箱和全自動卡箱。卡片在車道讀寫中采用機械方式,將卡片通過插入裝置送入讀寫槽里,讓卡片充分和讀寫機具在有效范圍內接觸,待卡片讀寫完全成功后,再由讀寫槽送出來。入口發給司機或出口自動回收入卡箱。這種方式大大減少因為人為的操作所帶來的機具讀寫失誤,最小程度的防止壞卡的形成,有效的減少卡片因損壞而帶來的資源浪費。同時,利用卡箱管理卡片可減少人為地對卡片的作弊行為。
二、盡量減少讀寫數據量;
卡片里的數據越多,讀寫的時間開銷越大,讀寫時間過長,出錯的機率更大。
1、在IC卡數據格式定義上,盡可能少用字符串的定義,如時間的定義按Unix的格式;公務卡里的免費范圍按位(Bit)義。既一個位代表一個免費路段。
2、在出口處理卡片信息上,可不對卡片內容清空,而是在根據入口攜帶的信息計算出費率后,直接置回收標志,減少因清空卡里的信息所帶來的時間開銷。甚至還沒來的及清空數據,操作員已經把卡片移走,導致無法清空數據。
3、盡量將數據壓縮在一個扇區內。避免一個完整的數據字段被分割成兩段被定義在一個連續的兩個文件(扇區)內或不連續的兩個文件(扇區)內。
三、可能對讀寫數據進行驗證:
IC卡片里內容的性質可根據需要分為,重要數據和次要數據。如入口區域編碼、路段編碼、站編碼、車型、車種時間等屬于重要的數據;入口收費員信息、工班信息等屬干次要信息。把重要的數據盡可能規劃到同一扇區的同一數據塊里。然后對重要的數據按字節進行累加求和或按位異或,然后把校驗結果放在卡里。在入口時,可對寫入卡片的內容迅速的進行校驗,出口讀卡時將重要的數據按入口的校驗方法和卡里的校驗結果進行比較。通過這種校驗手段,可檢查出入口卡的信息是否被改寫過。
四、壞卡的查詢處理;
應用環節中的壞卡有三種:一、物理損壞的卡片;二、MAC碼信息錯;三、帶有錯誤信息的卡片。
物理損壞的卡片在讀寫機具上操作時是無任何反應的;MAC碼丟失,則提示MAC錯誤,這是卡片在使用過程中,被人為破壞導致MAC碼丟失;帶有錯誤信息的卡片是入口的重要信息丟失,無法根據入口信息計算費率。
對于壞卡的處理可采用出口壞卡查詢,它是根據操作員在出口的車道界面輸入的卡表面唯一號,并由系統軟件通過計算機網絡,結合后臺查詢服務程序,返回車輛入口的收費信息及圖像,作為出口車道的入口依據,重新計算出收費費率。以完成一次收費過程。
五、Mifare Pro卡刷卡失敗處理
Mifare Pro卡既雙界面CPU卡,也稱兩片式電子標簽。它既可以是接觸的讀寫(既通過不停車收費的車載設備(OBU)與路側設備(RSU)微波讀寫控制器通訊)又可以是在人工收費車道非接觸讀寫器上操作。儲值卡或記帳卡通常是采用這種這種卡片結構的。當然這要求讀寫機具同時要能讀寫、認證兩種卡片,整個刷卡過程當中是要經過嚴密的認證過程的。在實際應用中,因刷卡操作不當,卡片在刷卡的過程中是會出現認證失敗或扣款失敗。也因此出現卡片的出口回寫標志已寫成功,而對電子錢包操作扣款又失敗的問題。即出現扣了款卻返回扣款失敗的錯誤碼。對于這個問題的解決,可通過前端軟件循環的邏輯判斷,判斷的條件是只能允許反復的對同一張卡片(既卡號相同)進行操作,直至所有認證通過并且完全扣款成功。僅當扣完款的卡片及成功回寫回收標志的卡片是不可以再次刷卡的。當然,除了從軟件上來防止錯誤,還可以采用前面提到的用卡箱的機械讀寫管理操作方式,避免錯誤。
<