魏文俊+張晶+朱鵬宇??
摘要:公共自行車租賃系統(tǒng)已逐步納入城市公共交通體系,以解決公交出行“最后一公里”問題。本文針對自行車租賃系統(tǒng)中的安全認證問題,提出用軟件模塊實現(xiàn)DES算法代替?zhèn)鹘y(tǒng)所使用的PSAM(Purchase Secure Access Module)硬件卡方案,分別在自行車租賃系統(tǒng)內的售卡系統(tǒng)、消費終端和車輛信息幾個模塊中,實現(xiàn)DES加密。不僅提高現(xiàn)有系統(tǒng)智能卡的擴展性和安全性,而且減少硬件成本,提高了系統(tǒng)的效率。
關鍵詞:DES;自行車租賃;密鑰
中圖分類號:TP399文獻標識碼:ADOI:10.3969/j.issn.10036199.2017.01.018
1引言
隨著城市交通機動化的發(fā)展,交通擁堵、環(huán)境污染等問題越來越嚴重,發(fā)展慢行交通,建立城市公共自行車系統(tǒng)顯得及其重要。2005年北京出現(xiàn)了公共自行車,但是系統(tǒng)的發(fā)展緩慢。直到2008年杭州公共自行車系統(tǒng)的投入使用,才引發(fā)了國內公共自行車發(fā)展的浪潮[1]。目前,在北京、深圳、武漢等多個城市都啟動了公共自行車服務,杭州和武漢擁有世界上最大的公共自行車系統(tǒng),數量分別在6.5萬輛和7萬輛。中國已經成為公共自行車規(guī)模增長快、發(fā)展相對成功的國家之一[2]。公共自行車租賃系統(tǒng)主要由以下四部分組成:自行車(攜帶RFID)、鎖樁、站點、后臺管理系統(tǒng),如圖1所示。鎖樁通過讀取自行車RFID信息和用戶卡號進行租還車;站點對鎖樁進行統(tǒng)一管理,對用戶卡進行鑒權,同時和后臺管理系統(tǒng)進行數據交換;后臺管理系統(tǒng)完成運營調度和業(yè)務管理,其中業(yè)務管理作為后臺管理系統(tǒng)核心部分,主要負責面向用戶的事務處理,涉及卡片管理、用戶管理、事務辦理等相關內容[3]。
作為公共服務,安全認證是整個系統(tǒng)的重點。傳統(tǒng)的安全認證采用硬件(PSAM卡:30元/張)實現(xiàn),將PSAM卡分別安裝在鎖樁、站點、后臺管理系統(tǒng),每次租還車交易都需進行PSAM卡安全認證。一個小規(guī)模的自行車系統(tǒng)至少需要上千張PSAM卡,成本高且不便于管理。
圖1公共自行車租賃系統(tǒng)
DES算法是最常見的對稱密鑰算法,屬于對稱算法中的分組密碼算法,其算法公開、安全性高、密鑰容易獲取,運算過程簡潔[4]。本文旨在通過DES算法來替換已有的硬件加密模塊,主要涉及到業(yè)務管理模塊中用戶卡的安全認證、站點模塊的用戶卡的安全認證、鎖樁模塊的自行車RFID信息認證,采用一卡一密。該設計采用軟件模塊實現(xiàn),在保證高安全性的前提下,與傳統(tǒng)的PSAM卡不再作為硬性捆綁,直接使用DES算法進行消費主密鑰的產生和認證,實際使用中降低了硬件成本,操作簡便,擁有好的用戶體驗。
2DES算法原理
DES算法是一種常見的對稱加密算法,該算法技術公開,算法簡潔,安全性高。DES算法在通信領域一般主要應用在以下幾個方面[5]:
(1)計算機網絡通信:對計算機網絡通信中的數據提供保護是DES的一項重要應用;
(2)電子資金傳送系統(tǒng):采用DES算法加密電子資金傳送系統(tǒng)中的信息,可準確、快速地傳送數據,并可較好地解決信息安全的問題;
(3)保護用戶文件:用戶可自選密鑰對重要文件加密,防止未授權用戶竊密。
DES加密過程由四部分組成,分別為:初始置換函數IP、子密鑰Ki、獲取密鑰函數F及末置換函數IP-1。
DES的加密算法基本過程為:初始置換函數IP接收長度為64位的明文輸入,末置換函數IP-1輸出64位的密文。在子密鑰的獲取過程中,通過密鑰置換獲取從K1到K16共16個子密鑰,這16個子密鑰分別順序應用于密碼函數的16次完全相同的迭代運算中[6]。如下圖2所示。
DES的解密算法與加密算法完全相同,只需要將密鑰的應用次序與加密時相反應用即可。3算法模塊在自行車系統(tǒng)中的應用
3.1自行車電子標簽(RFID)數據存儲結構
自行車電子標簽內存儲行政區(qū)劃代碼、自行車序號和運營機構序號信息,存儲位置為電子標簽扇區(qū)1,存儲結構見表1。鎖樁通過感應位于自行車前端的RFID(Radio Frequency Identification),通過規(guī)定的DES算法來獲取自行車的信息,保證系統(tǒng)中自行車的合法身份,自由通過合法驗證的車輛才能上架。
3.2用戶卡數據存儲結構
在本系統(tǒng)中,業(yè)務管理模塊和站點管理模塊均會涉及到用戶卡的安全策略。為了享有騎行服務,用戶需要在業(yè)務管理模塊進行業(yè)務辦理,業(yè)務管理模塊負責完成用戶卡安全策略的初始化操作;租還車時,通過鎖樁獲取用戶卡的卡號,并傳遞給站點,由站點管理模塊負責用戶卡合法性的驗證,只有驗證通過的用戶卡才能進行租還車[7]。
3.3密鑰管理思路
采用邏輯加密卡密鑰安全控制策略保障數據的安全性,制定密鑰安全策略如下:
(1)由獨立機構生成KeyAn,作為扇區(qū)0~2內控制讀權限密鑰的根密鑰,向各區(qū)縣運營監(jiān)管機構開放;
(2)各區(qū)縣運營監(jiān)管機構生成KeyBn,作為扇區(qū)0~2內控制寫權限密鑰的根密鑰,不對外開放;
(3)獨立機構與各區(qū)縣運營監(jiān)管機構制定密鑰管理制度,保障密鑰數據的生成、傳輸、存儲和使用的安全。
3.4密鑰運算規(guī)則
算法的安全性主要在于密鑰的安全性,DES算法中密鑰是其輸入之一,對比兩次加密結果來實現(xiàn)安全認證。下邊簡要描述在系統(tǒng)中DES算法的使用規(guī)則。
KeyAn控制讀權限,由KeyA對復制1次的唯一標識卡號SN(芯片序列號為4字節(jié),復制后為8字節(jié))進行分散(DES算法加密)獲得,即KeyAn= DES (KeyA, SN||SN),保證一卡一密鑰;KeyBn控制讀寫權限,由KeyB對復制1次的唯一標識卡號SN(芯片序列號為4字節(jié),復制后為8字節(jié)) 進行分散(DES算法加密)獲得,即KeyBn= DES(KeyB, SN||SN),保證一卡一密鑰[8]。