《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于Grain-128a算法的RFID安全機(jī)制
基于Grain-128a算法的RFID安全機(jī)制
來源:電子技術(shù)應(yīng)用2013年第4期
趙蓮清, 陳元?jiǎng)祝?段曉萌
華北電力大學(xué) 電氣與電子工程學(xué)院, 北京102206
摘要: RFID技術(shù)的安全與成本問題是阻礙其獲得更進(jìn)一步推廣的原因。平衡安全與成本這一對矛盾,設(shè)計(jì)出安全有效的安全技術(shù)解決方案,仍然是一個(gè)具有相當(dāng)挑戰(zhàn)性的課題。討論了RFID系統(tǒng)的特點(diǎn),介紹了相互認(rèn)證技術(shù)的工作流程并分析其安全特性。在此基礎(chǔ)上,提出在相互認(rèn)證機(jī)制中應(yīng)用Grain-128a算法的安全方案并完成了Grain-128a在FPGA上的設(shè)計(jì)。
中圖分類號(hào): TP309
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)04-0126-04
RFID security mechanism based on Grain-128a
Zhao Lianqing, Chen Yuanxun, Duan Xiaomeng
Department of Electrical and Electronic Engineering, North China Electric Power University, Beijing 102206, China
Abstract: Security and cost are the reasons that block RFID from being promoted. It is a really challenging subject for designing a secure and efficient solution to balance the contradiction of security and cost of RFID tag. This paper discusses the characteristics of RFID system, introduces the process of mutual authentication protocol and analyzes its security performance. Based on those analyses, we propose the security mechanism applying mutual authentication protocol with Grain-128a algorithm and describe the detailed implementation of Grain-128a on FPGA.
Key words : Grain-128a; RFID; mutual-authentication protocol; FPGA

    射頻識(shí)別技術(shù)RFID(Radio Frequency Identification)是一種非接觸的自動(dòng)識(shí)別技術(shù),可應(yīng)用于商品和證件的防偽、供應(yīng)鏈管理、圖書管理、航空包裹管理和門禁等多個(gè)領(lǐng)域。歐美國家在RFID標(biāo)準(zhǔn)的建立、相關(guān)軟硬件技術(shù)的開發(fā)與應(yīng)用上處于領(lǐng)先地位。相比之下,國內(nèi)RFID市場尚處于前期宣傳預(yù)熱階段,相關(guān)產(chǎn)業(yè)發(fā)展還較為落后,許多安全方面的技術(shù)依賴于國外廠商。

    RFID的低成本與安全性一直以來是一對矛盾,為了使RFID得到更廣泛的應(yīng)用,降低成本是唯一的途徑。但成本的降低使得高安全性的措施難以在RFID標(biāo)簽上實(shí)現(xiàn),安全得不到保證同樣制約著RFID的推廣。此外功耗也是需要嚴(yán)格控制的一方面,尤其對于無電源供給、僅僅依靠閱讀器電磁場提供能量的無源標(biāo)簽更是如此。同時(shí),低功耗的要求也限制了RFID標(biāo)簽的運(yùn)算能力。
    因此,要在RFID標(biāo)簽資源受限的環(huán)境中設(shè)計(jì)出安全有效的安全技術(shù)解決方案,傳統(tǒng)的高強(qiáng)度加密算法已不再適用。本文采用一種新的流密碼算法結(jié)合相互認(rèn)證技術(shù)為RFID系統(tǒng)中標(biāo)簽與閱讀器的通信過程提供安全保障,并在FPGA上實(shí)現(xiàn)了密碼算法。
1 RFID系統(tǒng)簡介
    RFID系統(tǒng)由標(biāo)簽(Tag)、閱讀器(Reader)和后臺(tái)服務(wù)器(Back-End Server)三部分構(gòu)成。標(biāo)簽由耦合元件及芯片組成,用于存放識(shí)別信息,通常根據(jù)是否有自帶電源分為有源標(biāo)簽和無源標(biāo)簽。閱讀器通過無線信道讀取標(biāo)簽中的信息,有的閱讀器還可以往標(biāo)簽中寫入數(shù)據(jù)。后臺(tái)服務(wù)器保存了標(biāo)簽和閱讀器的所有信息,通過與閱讀器交互實(shí)現(xiàn)對整個(gè)RFID系統(tǒng)的管理。
    工作時(shí),無源標(biāo)簽進(jìn)入閱讀器產(chǎn)生的磁場時(shí)憑借感應(yīng)電流所獲得的能量發(fā)送出存儲(chǔ)在芯片中的產(chǎn)品信息;而有源標(biāo)簽則是主動(dòng)發(fā)送某一頻率的電磁波。閱讀器接收到信號(hào)并解碼后,將數(shù)據(jù)送到后臺(tái)服務(wù)器進(jìn)行相關(guān)處理。
2 RFID系統(tǒng)的安全方案
    RFID利用開放的無線電環(huán)境通信,因此容易受到攻擊。通常攻擊的方式分為被動(dòng)攻擊和主動(dòng)攻擊。其中截獲信息的攻擊稱為被動(dòng)攻擊,例如試圖非法獲取標(biāo)簽中重要數(shù)據(jù)信息等,對應(yīng)被動(dòng)攻擊的主要技術(shù)手段是加密。更改、偽造信息和拒絕用戶使用資源的攻擊手段稱為主動(dòng)攻擊,對應(yīng)主動(dòng)攻擊的重要技術(shù)是認(rèn)證[1]。
    RFID安全問題的特殊性還在于標(biāo)簽受限的計(jì)算能力,典型標(biāo)簽的電流只有15 mA,門陣列只有7 500~15 000個(gè),其中可用于安全和隱私保護(hù)的門電路數(shù)量限制在5 000以內(nèi),這使得許多優(yōu)秀的密碼算法無法在標(biāo)簽上實(shí)現(xiàn)。因此尋找一種適合于RFID系統(tǒng)使用的密碼算法是本文討論的重點(diǎn)之一。
2.1 相互認(rèn)證技術(shù)
    認(rèn)證技術(shù)用于解決閱讀器與標(biāo)簽之間的互相認(rèn)證問題。即標(biāo)簽應(yīng)確認(rèn)閱讀器的身份,防止存儲(chǔ)數(shù)據(jù)未經(jīng)許可被讀出或重寫;而閱讀器也要確認(rèn)應(yīng)答器的身份,以防止讀入偽造數(shù)據(jù)。相互認(rèn)證過程如圖1所示,具體步驟如下:
    (1) 閱讀器發(fā)送查詢口令給標(biāo)簽,標(biāo)簽產(chǎn)生一個(gè)隨機(jī)數(shù)RB1傳回給閱讀器作為回應(yīng)。
    (2)閱讀器產(chǎn)生一個(gè)隨機(jī)數(shù)RA,使用共享的密鑰K和共同的加密算法EK對RA及RB1加密,即算出數(shù)據(jù)塊1=EK(RA,RB1),并將數(shù)據(jù)塊1發(fā)送給標(biāo)簽。
    (3) 標(biāo)簽將數(shù)據(jù)塊1解密,把獲得的隨機(jī)數(shù)RB1′與RB1作比較,如果一致,則標(biāo)簽可以確認(rèn)通信雙方的密鑰是一致的,即標(biāo)簽完成了對閱讀器的認(rèn)證。
    (4) 標(biāo)簽另行產(chǎn)生一個(gè)隨機(jī)數(shù)RB2,并發(fā)送另一個(gè)加密數(shù)據(jù)塊2給閱讀器,數(shù)據(jù)塊2=EK(RB2,RA)。
    (5) 閱讀器將數(shù)據(jù)塊2解密后,檢查原先發(fā)送RA的與接收到的RA′是否一致,若一致則閱讀器證明了雙方共有的密鑰是一致的,即完成了閱讀器對標(biāo)簽的認(rèn)證。

    綜上所述,相互認(rèn)證技術(shù)有如下安全特性:
    (1) 閱讀器與標(biāo)簽之間的通信數(shù)據(jù)經(jīng)過加密,在攻擊者不知道密鑰和密碼算法的前提下,即使截獲密文,也無法解密獲取明文內(nèi)容。
    (2) 同時(shí)加密兩個(gè)隨機(jī)數(shù),避免已知明文攻擊。
    (3) 閱讀器與標(biāo)簽之間通信的數(shù)據(jù)是隨機(jī)變化的,攻擊者無法根據(jù)歷史數(shù)據(jù)跟蹤用戶位置,有效地保護(hù)了用戶的位置隱私。
    (4) 由于每次通信都有隨機(jī)數(shù)參與,攻擊者無法預(yù)料到下一次通信的內(nèi)容,因此無法通過截獲到的數(shù)據(jù)進(jìn)行重放攻擊。
2.2 Grain-128a
   2004年,歐洲啟動(dòng)eSTREAM計(jì)劃,目的是尋找能夠廣泛使用的流密碼算法。候選的算法分為軟件組和硬件組,軟件組的算法要求運(yùn)行速度優(yōu)于AES(Advanced Encryption Standard)算法,硬件組的算法要求在有限的硬件資源環(huán)境(例如RFID)下至少有一方面明顯超越AES算法[2]。Grain-128a的前身Grain v1是硬件組最終獲選的4個(gè)算法之一。Grain v1支持長度為80的密鑰,但考慮到在現(xiàn)代計(jì)算機(jī)的運(yùn)算能力下,這一密鑰長度的算法不能有效地抵抗窮舉攻擊,故將密鑰長度增加到128,并將改進(jìn)后的算法命名為Grain-128[3]。Grain-128a是在Grain-128的基礎(chǔ)上發(fā)展而來的。與Grain-128相比,Grain-128a能夠抵抗自發(fā)表以來各種針對Grain-128的攻擊。值得一提的是,除了最近Itai Dinur和Adi Shamir提出的Dynamic Cube攻擊[4],其他攻擊都沒能對Grain-128造成有效威脅。此外,Grain-128a能夠支持認(rèn)證機(jī)制。
2.2.1 Grain-128a的性能分析
    同Grain v1及Grain-128一樣,Grain-128a設(shè)計(jì)面向資源受限的硬件環(huán)境,即要求非常低的資源消耗和功率消耗。參考文獻(xiàn)[4]從eSTREAM第二階段的候選算法中選出8個(gè)適于硬件實(shí)現(xiàn)的算法(其中含有最終獲選的4個(gè)算法)以及AES算法從功耗、吞吐量、速度等方面進(jìn)行對比分析,分析結(jié)果證實(shí)了Grain系列算法各方面的優(yōu)異性能。得益于Grain在功耗、面積上的突出表現(xiàn),推薦在低端的RFID系統(tǒng)上應(yīng)用Grain v1及Grain-128。Grain-128a在Grain-128的基礎(chǔ)上僅作了少量更改,保留了Grain-128的優(yōu)勢并且增強(qiáng)了安全性能,因此本文選擇Grain-128a作為認(rèn)證過程中的密碼算法。

 


3 算法測試與仿真
 Grain-128a在Xilinx公司的ISE開發(fā)平臺(tái)上使用VHDL編程實(shí)現(xiàn),器件選用Spartan3E系列的FPGA芯片xc3s500e-4-pq208,使用ISE自帶的綜合器進(jìn)行綜合。算法大約需要3 000個(gè)門陣列,時(shí)鐘頻率能夠達(dá)到176 MHz,每個(gè)時(shí)鐘周期輸出2位數(shù)據(jù),輸出N位的密鑰流(包含密鑰輸入及初始化過程)僅需要(65+128+N/2)個(gè)時(shí)鐘周期,如果在125 kHz的RFID系統(tǒng)上使用, 加密或解密1 024位的數(shù)據(jù)大約需要5 ms,能夠滿足實(shí)際需求。
 本文利用參考文獻(xiàn)[6]中給出的測試向量集對算法進(jìn)行測試,仿真結(jié)果如圖5、圖6所示。
  


    將仿真結(jié)果與測試向量集里的密鑰流進(jìn)行對比,驗(yàn)證了算法的正確性。
    作為eSTREAM的獲選密碼算法,Grain-128a在安全性上無疑處于高水平,而對硬件資源的低需求則使它即使是在射頻標(biāo)簽上也能有上佳表現(xiàn)。本文針對RFID系統(tǒng)的特點(diǎn),提出一種結(jié)合Grain-128a密碼算法與相互認(rèn)證技術(shù)的安全方案,設(shè)計(jì)了一種安全、低成本與低功耗的RFID系統(tǒng)。
參考文獻(xiàn)
[1] 單承贛,單玉峰,姚磊. 射頻識(shí)別(RFID)原理與應(yīng)用[M].北京:電子工業(yè)出版社,2008:128-143.
[2] The eSTREAM Portfolio[EB/OL].[2008-04-15].http://www.ecrypt.eu.org/stream/portfolio.pdf.
[3] HELL M, JOHANSSON T, MAXIMOV A,et al. A stream cipher proposal Grain-128[R]. Seattle: IEEE International Symposium on Information Theory, 2006:1614-1618.
[4] DINUR I, SHAMIR A. Breaking Grain-128 with dynamic cube attacks[R]. Lyngby: FSE, 2011.
[5] GOOD T, BENAISSA M. Hardware results for selected stream cipher candidates[R]. Bochum: SASC, 2007.
[6] AGREN M, HELL M, JOHANSSON T, et al. A new version of Grain-128 with Authentication[R]. Lyngby: ECRYPT  Workshop on Symmetric Encryption, 2011.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。