0 引言
早在上世紀80年代初,射頻識別技術(shù)(RadioFrequency Identification,I訊ID)就由美國國防部和世界第一大商品零售商沃爾瑪公司首先提出并進行研究。這是一項利用射頻信號通過空間耦合(交變磁場或電磁場)實現(xiàn)無接觸信息傳遞,并通過所傳遞的信息達到識別目的的技術(shù)。它是一種非接觸式的自動識別技術(shù),通過射頻信號自動識別目標對象并獲取相關(guān)數(shù)據(jù),識別工作無需人工干預(yù),可工作于各種惡劣環(huán)境。
目前,隨著RFID技術(shù)的不斷發(fā)展,與RFID相關(guān)的應(yīng)用也大量涌現(xiàn),被廣泛應(yīng)用于工業(yè)自動化、商業(yè)自動化和交通運輸控制管理,汽車、火車等交通實時監(jiān)控,高速公路自動收費系統(tǒng),停車場管理系統(tǒng),物流管理,流水線生產(chǎn)自動化,安全出入檢查,倉儲管理,動物管理,車輛防盜等諸多領(lǐng)域。目前應(yīng)用得最成功的領(lǐng)域是物流管理和商品流通領(lǐng)域。
但是,在實際使用過程中,RFID的安全性問題也開始凸顯出來,由于RFID標簽的安全問題而導(dǎo)致的安全事件也在逐漸增多,為解決上述安全與隱私問題,人們從技術(shù)上提出了多種方案,這些方法各有自己的特色和不足,必須針對不同應(yīng)用靈活選擇和組合。
本文在基于RFID的汽車號牌自動識別系統(tǒng)的設(shè)計與實現(xiàn)中,在研究其他人提出的各種技術(shù)方案的基礎(chǔ)上,結(jié)合該系統(tǒng)自身的特點提出了隱秘起始地址、隨機數(shù)初始化兩種新方法,而且還采用了MD5加密算法、標簽鎖定等常規(guī)方法,并把這些方法有效地結(jié)合起來,從而保證系統(tǒng)中號牌數(shù)據(jù)的安全可靠。
通過多次實驗和系統(tǒng)的長時間運行均表明本文所采用的方法切實可行且安全有效。進一步研究可以保證號牌標簽達到第二代身份證的安全級別。
1 汽車號牌自動識別系統(tǒng)
車輛自動識別系統(tǒng)(Automatic Vehicle Iden—tification,AⅥ),可準確無誤地自動識別并采集路網(wǎng)中運行車輛的身份特征信息和法定管理信息,使車輛信息瞬時進入計算機,可為車輛及交通管理部門提供一個實時、動態(tài)的車輛信息采集平臺。本文采用了RFID技術(shù)設(shè)計和實現(xiàn)了汽車號牌自動識別系統(tǒng),該系統(tǒng)的硬件是由讀寫單元(標簽閱讀器)和標簽號牌組成,閱讀器通過線路與計算機的RS32接口通信,其系統(tǒng)硬件框架如圖1所示。
程序通過計算機控制閱讀器來對標簽進行讀寫操作,閱讀器通過天線發(fā)出電磁脈沖,標簽接收到這些脈沖并發(fā)送已存儲的信息到閱讀器作為響應(yīng),再由閱讀器將信號處理后傳給計算機,實現(xiàn)對汽車號牌在不同狀態(tài)(靜止、移動,甚至惡劣環(huán)境)下的自動識別和管理。
系統(tǒng)中的閱讀器采用了某廠商生產(chǎn)的8801型號的讀寫器,該讀寫器讀寫距離遠,讀寫速度快,抗干擾能力強。
標簽包含了具有RFID射頻部分和一個超薄天線環(huán)路的RFID芯片的RFID電路,這個天線與一個塑料薄片一起嵌入到標簽內(nèi)。標簽一般為信用卡大小,因此可以集成到其他產(chǎn)品里面。該系統(tǒng)就把標簽集成到汽車牌照中,構(gòu)成了標簽號牌,這樣在收發(fā)端就無需增加任何其他硬件,也不會增加用戶的開銷。
系統(tǒng)軟件方面采用了VB編程,通過VB程序控制讀寫器來讀取號牌標簽中的號牌信息,并訪問后臺數(shù)據(jù)庫,從而完成號牌數(shù)據(jù)的判別。軟件系統(tǒng)框架如圖2所示。
該系統(tǒng)環(huán)境適應(yīng)性強,受雨雪、冰雹、灰塵等影響小,可全天候工作,非接觸地完成自動識別、跟蹤與管理,并且具有可穿透非金屬物體進行識別,抗干擾能力強等主要優(yōu)點。
2 系統(tǒng)安全的設(shè)計與實現(xiàn)
安全問題是管理系統(tǒng)的命脈,對于汽車號牌自動識別系統(tǒng)來說,安全尤為重要,由于汽車號牌是汽車最為明顯的標識,現(xiàn)實中人們都是通過號牌識別違章車輛、肇事車輛,因此系統(tǒng)必須保證標簽中的號牌數(shù)據(jù)不能被隨意讀取甚至篡改。但標簽本身的安全又很薄弱,因此必須采用合理有效的方法才能保證系統(tǒng)的安全。
集成的RFID系統(tǒng)實際上是一個計算機網(wǎng)絡(luò)應(yīng)用系統(tǒng),因此安全問題類似于計算機和網(wǎng)絡(luò)的安全問題,但由于RFID系統(tǒng)的兩個特點:首先RFID標簽和后端系統(tǒng)之間的通信是非接觸和無線的,使它們很易受到竊聽;其次標簽本身的計算能力和可編程性,直接受到成本要求的限制。因此RFID的安全威脅除了與計算機網(wǎng)絡(luò)有相同之處外,還包括以下三種:
(1)通信鏈路上的安全威脅
標簽與閱讀器之間傳送數(shù)據(jù)時,其數(shù)據(jù)通信鏈路是無線通信鏈路,無線信號本身是開放的。這就給非法用戶的偵聽帶來了方便。常見的威脅有:黑客非法截取通信數(shù)據(jù)(非授權(quán)獲取數(shù)據(jù))、業(yè)務(wù)拒絕式攻擊(非法用戶通過發(fā)射干擾信號來堵塞通信鏈路,使得閱讀器過載,無法接收正常的標簽數(shù)據(jù))、標簽的冒名頂替、發(fā)射特定電磁波破壞標簽等。
(2)閱讀器的安全威脅
物理方式偵測或修改閱讀器的硬件;修改閱讀器的配置參數(shù),使其誤報、少報標簽數(shù)據(jù)或者把標簽數(shù)據(jù)轉(zhuǎn)發(fā)到其他應(yīng)用系統(tǒng);竊聽或干擾閱讀器與計算機之間的通信。
(3)標簽中數(shù)據(jù)的
安全威脅
由于成本的限制,標簽本身很難具備能夠足以保證安全的能力。因此非法用戶可以利用合法的閱讀器或者自構(gòu)一個閱讀器,直接與標簽進行通信。這樣就可以很容易地獲取標簽內(nèi)所存數(shù)據(jù)。而對于讀寫式標簽,還面臨數(shù)據(jù)被篡改的風險。
對于通信安全和閱讀器的安全問題,人們研究得非常多,而且也提出很多行之有效的方法,這些方法包括:采用安全的通信協(xié)議或?qū)S械耐ㄐ艆f(xié)議,如Hash2Lock協(xié)議、Hash鏈協(xié)議、基于雜湊的ID變化協(xié)議、詢問。響應(yīng)認證協(xié)議、再次加密機制等等。使用探測器探測其他RFID閱讀器的存在,并發(fā)送干擾信號,以防標簽上的數(shù)據(jù)被暴露;為標簽編程,使其只可能與已授權(quán)的RFID閱讀器通信;對標簽和閱讀器采用更強的加密及安全功能;此外還提出了Kill標簽、法拉第網(wǎng)罩、智能標簽、阻止標簽等方法。這些方法均很成熟,并各有自己的特色和不足,必須針對不同的應(yīng)用靈活選擇和組合。
而對于標簽中的數(shù)據(jù)安全,日常應(yīng)用都是采用加密的方法。然而不同的加密算法復(fù)雜程度不同,對硬件性能的要求也不同,其安全級別也不同。
為了保證汽車號牌自動識別系統(tǒng)中的安全,在通信和閱讀器方面系統(tǒng)采用相應(yīng)的高安全措
施,對于標簽中的數(shù)據(jù)安全,系統(tǒng)除了采用部分常規(guī)的加密方法,還綜合衡量標簽中可讀寫的空間大小,讀寫效率以及讀寫誤差等因素,提出了新的安全設(shè)計,這種多層次的安全措施足夠保證標簽中的號牌數(shù)據(jù)不能被隨意讀取甚至篡改。
2.1隱秘數(shù)據(jù)起始地址
目前一般的標簽可供寫入的有200多個存儲單元(每個單元一個字節(jié)),汽車號牌形式為“吉AAl234”,存儲時只需要8個字節(jié),加上其他信息(如發(fā)動機號等),一般只需要30~50個字節(jié),這樣就可以從地址9—150(地址0—8中存放標簽ID)范圍中任意選擇一個地址作為存儲數(shù)據(jù)的起始地址,由于地址的任意性,即使非法用戶獲取到標簽中的數(shù)據(jù),但也很難確認哪些信息是車牌信息。為此系統(tǒng)提供了設(shè)置數(shù)據(jù)起始地址的功能,而這個起始地址是保密的。此外系統(tǒng)還提供了利用隨機數(shù)生成器來生成隨機的起始地址,然后把這個起始位置信息存放到固定的地方,每次讀取數(shù)據(jù)的時候先從固定地方讀取出數(shù)據(jù)的起始地址,然后再去讀取真正的號牌信息。安全性雖然增加了,但讀標簽的次數(shù)也會相應(yīng)增加,效率就會降低,目前這種方法已經(jīng)實現(xiàn),但考慮到標簽的讀寫效率以及系統(tǒng)本身的足夠安全,因此還沒有采用。
2.2隨機數(shù)初始化
標簽在出廠后,內(nèi)部的數(shù)據(jù)單元除了標簽ID外,其余單元均為數(shù)字零,因此可以通過讀取標簽中非零單元中的數(shù)據(jù),就能很容易識別出標簽中的車牌號碼等信息。即使簡單地進行初始化,非法用戶依舊可以通過讀取標簽中的數(shù)據(jù)后,根據(jù)數(shù)據(jù)本身的特征分析出車牌號碼等重要信息。為了防止其他非法用戶讀取標簽中的數(shù)據(jù)用來分析,系統(tǒng)在運行后提供了隨機數(shù)初始化功能,該功能主要是利用隨機數(shù)生成函數(shù)生成若干個隨機數(shù),然后把標簽中所有的單元均寫上這樣的數(shù)據(jù)。這個隨機數(shù)不是任意的,而是和車牌號碼相同的,也就是說生成的都是車牌號碼,這一點至關(guān)重要。如此初始化后,非法用戶無法通過讀取卡中數(shù)據(jù)來獲知車牌號碼等信息,因為標簽中存儲的是若干個車牌號碼。而這樣的初始化并不影響真正數(shù)據(jù)的寫入操作,在寫入真實號牌信息時會自動覆蓋掉原來的數(shù)據(jù)。具體實現(xiàn)如下:
2.3使用驗證碼
由于標簽是讀寫式,非法用戶可能通過一些非法渠道獲得合法的閱讀器(盡管機會很小,但仍不可避免),這樣非法用戶就可以對標簽中的數(shù)據(jù)進行改寫或者完全復(fù)制,從而把非法的標簽冒充為合法標簽,逃避車輛識別,也就是現(xiàn)實中的汽車號牌的套牌現(xiàn)象。為了維護合法用戶的權(quán)力,保證標簽中的數(shù)據(jù)不被惡意篡改或被用戶完全拷貝,系統(tǒng)中增加了一種用于辨認標簽合法身份的驗證碼。
系統(tǒng)利用MD5算法加密生成一個16個字節(jié)長的驗證碼,該驗證碼隨同號牌數(shù)據(jù)一同寫入到標簽中的另外一個固定的地址中。驗證碼的明文是由標簽ID、車牌、發(fā)動機號碼以及用戶輸入的一個8位以上的口令等若干信息組合而成。
識別標簽時,首先需要輸入相應(yīng)的用戶口令,讀取標簽ID、標簽內(nèi)的號牌等信息,然后利用同樣的MD5加密算法生成一個16個字節(jié)的驗證碼,與標簽中的驗證碼進行比對,相同則驗證通過,否則視為非法標簽。這樣即使非法用戶完全拷貝了一個合法的標簽,由于MD5算法的不可逆性、標簽ID的唯一性以及用戶口令的保密性,在讀取時肯定不能通過驗證。
2.4鎖定標簽并與數(shù)據(jù)庫結(jié)合
每種標簽都提供了鎖定功能,一旦某個單元地址被鎖定,那么該單元內(nèi)的數(shù)據(jù)就變成只讀,而再也不能被重寫(標簽不提供解鎖功能)。因此系統(tǒng)在寫完所有的數(shù)據(jù)信息后??梢园褬撕炛兴械膯卧i定,鎖定后的單元均不能被重寫,這樣避免了被合法用戶無意的改寫或被非法用戶惡意的篡改,從而保證數(shù)據(jù)的正確性。
以上的措施已經(jīng)能夠保證標簽中的數(shù)據(jù)不會被篡改,也不會被破解。但為了更加安全可靠,系統(tǒng)采用了在寫入號牌數(shù)據(jù)的同時,往公安交通部門的號牌數(shù)據(jù)庫中寫入對應(yīng)的標簽ID信息,號牌數(shù)據(jù)庫本身的安全性,使得非法用戶難以修改該數(shù)據(jù)庫中的信息。這樣在讀取的時候只要到數(shù)據(jù)庫中同時比較號牌和標簽ID就可以知道該標簽和對應(yīng)號牌是否是真實的,從而確定是否被套牌。
3 驗證
為了驗證系統(tǒng)安全措施的有效性,搭建了測試平臺,閱讀器采用系統(tǒng)的閱讀器,標簽則采用了多種不同廠商的標簽(也包括系統(tǒng)中使用過的標簽),一部分軟件是專門為測試編寫的程序,一部分是從網(wǎng)絡(luò)上收集來的解密程序。分別從獲取、解密、改寫標簽內(nèi)容、破壞和偽造標簽等方面進行了反復(fù)測試,多次的測試結(jié)果分為以下幾類:
(1)可以通過合法的閱讀器或偽造的閱讀器獲取到標簽里的內(nèi)容,很難分析出其中的號牌數(shù)據(jù),其成功率小于5%,且不能破解其中的加密內(nèi)容。
(2)在某些特定的情況下可以改寫里面的內(nèi)容,但在驗證的時候不能通過驗證。
(3)破壞后的標簽和偽造的標簽均不能通過系統(tǒng)的驗證。
4 結(jié)論
為了保證基于RFID的汽車號牌自動識別系統(tǒng)的數(shù)據(jù)的安全性,文中提出了隨機數(shù)初始化、隱秘起始地址、MD5加密算法、標簽鎖定等多種方法,并把這些方法有效地結(jié)合起來。多次的實驗結(jié)果和長時間的系統(tǒng)運行情況都證明了這些方法切實可行而且有效。
未來可以與標簽生產(chǎn)商以及讀寫器生產(chǎn)商聯(lián)合生產(chǎn)專門的標簽和讀寫器,而這種標簽和讀寫器不對外出售,這樣就可以保證號牌標簽達到二代身份證的安全級別甚至更高級別。目前該系統(tǒng)正在申請鑒定。