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