1 引言
隨著電子商務(wù)和網(wǎng)上銀行的普遍應(yīng)用,,USBKey的安全使用成為日益關(guān)注的問題,。在公司、銀行,、交易所等一些公共場所,,如果用戶臨時有事暫時離開而又忘記拔掉USBKey,這時非法者就有可能趁虛而入,,竊取用戶隱私或者利用存儲在USBKey中的證書進(jìn)行網(wǎng)上非法交易,,給用戶造成隱私泄漏和金錢損失。所以,,有必要設(shè)計一種用戶可以隨身攜帶的USBKey來解決這方面的安全問題,。這樣既能方便用戶,而且更加安全,。本文正是在這種問題背景下設(shè)計了一種基于RFID技術(shù)的無線Key模型,,并對其安全性進(jìn)行了分析。
2 RFID 安全性分析
RFID系統(tǒng)主要包括:電子標(biāo)簽 (Tag),、讀卡器(Reader)和微型天線(Antenna),。由于集成的RFID系統(tǒng)實(shí)際上是一個計算機(jī)網(wǎng)絡(luò)應(yīng)用系統(tǒng),,因此安全問題類似于計算機(jī)和網(wǎng)絡(luò)的安全問題。一般地,,RFID的安全威脅除了與計算機(jī)網(wǎng)絡(luò)有相同之處外,,還包括標(biāo)簽數(shù)據(jù)、通信鏈路和閱讀器協(xié)議三種類型的安全威脅,。標(biāo)簽數(shù)據(jù)的安全威脅表現(xiàn)為非法用戶可以利用合法的閱讀器或者自構(gòu)一個閱讀器,,直接與標(biāo)簽進(jìn)行通信,造成標(biāo)簽內(nèi)數(shù)據(jù)泄露,;通信鏈路上的安全威脅主要表現(xiàn)在黑客非法截取通信數(shù)據(jù),、非法用戶通過發(fā)射干擾信號來堵塞通信鏈路、利用冒名頂替標(biāo)簽向閱讀器發(fā)送數(shù)據(jù)以及發(fā)射特定電磁波破壞標(biāo)簽等方面,;閱讀器協(xié)議安全威脅是指在閱讀器中,,除中間件被用來完成數(shù)據(jù)的遴選,、時間過濾和管理之外,,只能提供用戶業(yè)務(wù)接口,而不能提供能讓用戶自行提升安全性能的接口,。
由此可見,,如何解決RFID技術(shù)的安全缺陷成為其能否得到更大程度應(yīng)用的關(guān)鍵。而本文正是利用USBKey的操作安全性提出了一個將RFID技術(shù)與USBKey相結(jié)合的模型,。
3 無線Key模型設(shè)計
3.1 模型設(shè)計
無線Key的功能實(shí)現(xiàn)需要用戶機(jī)終端,、讀卡器、無線Key等硬件,,其中標(biāo)簽內(nèi)嵌在無線Key內(nèi),。其模型設(shè)計如圖1所示:
圖1 基于RFID技術(shù)的無線Key模型
讀卡器包括控制單元、射頻接口,、加/解密邏輯單元和隨機(jī)數(shù)發(fā)生器四部分,。其中控制單元完成以下功能:與用戶機(jī)終端進(jìn)行通信;信號編碼與解碼,;控制與應(yīng)答器的通信過程,;以及進(jìn)行讀卡器與無線 Key內(nèi)標(biāo)簽的身份認(rèn)證。射頻接口的功能是產(chǎn)生高頻發(fā)射功率以便啟動標(biāo)簽和提供能量,;調(diào)制發(fā)射信號并將數(shù)據(jù)傳送給應(yīng)答器以及接受并解調(diào)應(yīng)答器高頻信號,。無線Key由用戶隨身攜帶,其硬件構(gòu)成如上圖所示,。其中ROM單元存放的是標(biāo)簽的ID號,。COS即芯片操作系統(tǒng),是無線Key的核心,,它主要實(shí)現(xiàn)控制無線Key 和外界的信息交 換,,管理存儲器單元并在無線Key 內(nèi)部完成各種命令的處理等功能。
無線Key的認(rèn)證過程主要分為兩個步驟:第一步:利用RFID技術(shù)實(shí)現(xiàn)標(biāo)簽與讀卡器之間的雙向認(rèn)證;第二步:在標(biāo)簽與讀卡器進(jìn)行雙向認(rèn)證無誤后,,用戶機(jī)終端提示用戶輸入PIN碼,,進(jìn)行主機(jī)對用戶身份的認(rèn)證。
3.2 協(xié)議設(shè)計
這里,,假設(shè)讀卡器和用戶機(jī)終端數(shù)據(jù)庫的通信是在一條安全可靠的有連接信道上進(jìn)行而讀卡器和無線Key之間的通信是不安全的,。并且在用戶機(jī)終端和無線Key 的RAM 中已 經(jīng)存儲了讀卡器和無線Key雙方的證書。協(xié)議描述過程如下:
(1)當(dāng)帶有標(biāo)簽的無線Key進(jìn)入到讀卡器的作用范圍內(nèi)時,,讀卡器會向應(yīng)答器發(fā)送請求,。
(2)應(yīng)答器產(chǎn)生響應(yīng),并由無線Key 的COS執(zhí)行一系列操作:先由隨機(jī)數(shù)發(fā)生器產(chǎn)生隨機(jī)數(shù)R1并存儲到RAM單元,,然后取出RAM單元中存儲的讀卡器的證書Certreader,,在加/解密邏輯單元中利用讀卡器證書里的公鑰KUB對隨機(jī)數(shù)R1 進(jìn)行加密。最后通過應(yīng)答器再發(fā)送給讀卡器,,如圖2所示:
圖2 應(yīng)答器響應(yīng)并利用KUB發(fā)送R1
(3)讀卡器射頻接口接收到信號后,,讀卡器的控制單元先從用戶機(jī)終端取得自己的證書,再由加解密部件進(jìn)行解密獲得R1,,接著調(diào)用隨機(jī)數(shù)發(fā)生器(RNG)產(chǎn)生一個隨機(jī)數(shù)R2并存儲到用戶機(jī)終端的 RAM中,,然后再從用戶機(jī)終端取得無線Key的證書CertKey,在加/解密邏輯單元中執(zhí)行以下操作:首先利用自己的私鑰KRB 對R1,、R2 進(jìn)行簽名,,再利用無線Key 的公鑰 KUA 對上一步的結(jié)果進(jìn)行加密得到數(shù)據(jù)Token1,即:Token1= EKUA(DKRB(R2|| R1)),。最后讀卡器通過射頻接口將Token1 發(fā)送給無線Key 端,,如圖3所示。
圖3 發(fā)送Token1給無線Key
(4)應(yīng)答器收到后,,COS從RAM單元中取出讀卡器和無線Key的證書,,交由加解密邏輯單元完成解密和驗證讀卡器的過程:首先用無線Key的私鑰KRA 進(jìn)行解密,接著利用讀卡器的公鑰KUB進(jìn)行驗證,,得到R1和R2并存儲R2,,將通過解密得到的R1 與第⑵步中存儲的R1進(jìn)行比較看是否一致。如果沒有改變,,則進(jìn)行下步操作,。否則標(biāo)簽進(jìn)入休眠狀態(tài)。
(5)無線Key端的隨機(jī)數(shù)發(fā)生器產(chǎn)生另一隨機(jī)數(shù)R3并存儲,,同時從ROM中取得標(biāo)簽的ID號,, 利用讀卡器和無線Key的證書,將R2,、R3 和ID號交由加/解密邏輯單元進(jìn)行加密和簽名操 作得到數(shù)據(jù)Token2,,即:Token2 = DKRA(EKUB(R3|| R2||ID)),。完成后應(yīng)答器將Token2 發(fā)送 給讀卡器,如圖4 所示,。
圖4 無線Key發(fā)送Token2給讀卡器
(6)讀卡器接收后,,從用戶機(jī)終端取得讀卡器和無線Key的證書,在加解密邏輯單元中完成 驗證標(biāo)簽和得到標(biāo)簽ID 號的過程:首先用無線Key 的公鑰KUA 進(jìn)行驗證,,再利用自己的私鑰KRB解密得到隨機(jī)數(shù)R2,、R3 和ID號碼。將得到的R2 和ID 號與存儲在用戶機(jī)終端RAM 中的R2 和ID 號進(jìn)行比較,,如果一致標(biāo)簽得到驗證,。讀卡器再將得到的R3 利用自己的私鑰進(jìn)行簽名后發(fā)送給無線Key,以便無線Key接收后確認(rèn)讀卡器已收到自己的ID號,。
(7)無線Key端應(yīng)答器收到后進(jìn)行解密,,將計算得到的R3與第⑸步存儲的R3進(jìn)行驗證比較,以確認(rèn)是正確授權(quán)的讀卡器接收了I 號,。
至此,,完成了讀卡器與標(biāo)簽之間的雙向認(rèn)證,并且讀卡器安全地獲得了標(biāo)簽的ID號,, 為下面進(jìn)行用戶身份的認(rèn)證提供了前提,。
(8)用戶機(jī)提示用戶輸入無線Key對應(yīng)的PIN碼,輸入后保存到用戶機(jī)的RAM中,;同時COS調(diào)用密鑰生成器,生成一對公/私鑰,,將公/私鑰存儲到無線Key的RAM單元中,,并把產(chǎn)生的公鑰發(fā)送給讀卡器。
(9)讀卡器接收后,,利用該公鑰對上一步存儲的PIN碼進(jìn)行加密并發(fā)送給應(yīng)答器,。
(10)應(yīng)答器接收并取出存儲在RAM 中相對應(yīng)的私鑰進(jìn)行解密,得到用戶輸入的PIN碼,,然后與存儲在RAM單元中的PIN碼進(jìn)行比較,,驗證用戶身份。
驗證通過后,,用戶就可以利用無線Key 進(jìn)行網(wǎng)上交易簽名或者其它電子商務(wù)活動了,。
4 模型安全性分析
在虛擬的網(wǎng)絡(luò)世界,通信安全無疑是要考慮的首要問題,。而對于無線Key 模型,,如何解決無線射頻環(huán)境中的通信成為其安全與否的關(guān)鍵。下面具體從5 個方面來分析,。
(1)讀卡器與標(biāo)簽之間通信的保密性,。讀卡器與標(biāo)簽都采用公鑰密碼算法(例如RSA 算法)對數(shù)據(jù)進(jìn)行加/解密運(yùn)算,,即使被攻擊者截獲,也無法解密,,有效地保證了數(shù)據(jù)在不安全信道 傳輸?shù)陌踩院屯暾浴?/p>
(2)防止重放攻擊,。在標(biāo)簽對讀卡器認(rèn)證的過程中,讀卡器收到的R1是隨機(jī)產(chǎn)生的,,下一次收到的R1是不一樣的,,因此攻擊者再重放Token1給標(biāo)簽是不能通過驗證的,同理標(biāo)簽應(yīng)答器收到的R2以及后來產(chǎn)生的R3也是如此,。因此,,讀卡器和標(biāo)簽都可以抵御重放攻擊。
(3)防止中間人攻擊,。讀卡器與標(biāo)簽之間采用公鑰密碼算法有效地防止了攻擊者進(jìn)行中間人攻擊的可能,。攻擊者可以獲得讀卡器和無線Key所對應(yīng)的證書,從而獲得公鑰,。但是在應(yīng)答器利用讀卡器的公鑰將隨機(jī)數(shù)R1加密并發(fā)送給讀卡器后,,攻擊者即使截獲,也無法解密獲得R1,。
(4)保護(hù)隱私,。在本模型中,RFID 標(biāo)簽對讀卡器是有選擇性的,,讀卡器取得標(biāo)簽信息之前,,標(biāo)簽會對讀卡器的合法性進(jìn)行驗證,如果讀卡器沒有通過驗證,,標(biāo)簽就認(rèn)為讀卡器是非法的,,不會對讀卡器做出任何相應(yīng)。這種機(jī)制很好地保護(hù)了標(biāo)簽信息隱私的安全,,非授權(quán)讀卡器是不可能取得標(biāo)簽中的信息,,也不能對目標(biāo)進(jìn)行跟蹤。
(5)防止USBKey被利用進(jìn)行非法交易,。由于采用了RFID技術(shù),,用戶走出讀卡器的作用范圍后,身上隨身攜帶的無線Key自動與終端PC機(jī)斷開連接,,這樣可以防止用戶因為疏忽而忘記 USBKey還插在PC機(jī)USB端口上的情況,。這不僅方便了用戶,而且也杜絕了不法分子冒充用戶進(jìn)行非法交易活動,。
5 總結(jié)
本文在對RFID安全性進(jìn)行分析的基礎(chǔ)上,,提出設(shè)計了基于RFID 技術(shù)的無線Key模型。與單一的RFID 技術(shù)應(yīng)用相比,,本模型不僅充分利用了RFID技術(shù)便捷的優(yōu)點(diǎn),,而且還結(jié)合了USBKey的加密技術(shù),,使安全性和方便性得到了充分發(fā)揮。
本文作者創(chuàng)新點(diǎn):在對RFID安全性進(jìn)行分析的基礎(chǔ)上,,提出設(shè)計了基于RFID技術(shù)的無線Kev模型,,使安全性和方便性得到了充分發(fā)揮。