• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      RFID加密算法的FPGA實(shí)現(xiàn)研究

      2015-12-25 01:39:12徐遠(yuǎn)澤張文科
      信息安全與通信保密 2015年2期
      關(guān)鍵詞:讀寫器寄存器比特

      徐遠(yuǎn)澤, 張文科

      (衛(wèi)士通信息產(chǎn)業(yè)股份有限公司,四川成都610041)

      0 引言

      射頻識別技術(shù)(Radio Frequency Identification,RFID)是一種非接觸式的自動識別技術(shù),它基于大規(guī)模集成電路與無線通信技術(shù),利用射頻信號或者空間耦合的傳輸特性來實(shí)現(xiàn)對物體的自動識別。近年來,隨著物聯(lián)網(wǎng)的快速發(fā)展,作為物聯(lián)網(wǎng)四大關(guān)鍵技術(shù)之一的RFID技術(shù)呈現(xiàn)出加速發(fā)展趨勢[1]。目前,RFID技術(shù)已被廣泛應(yīng)用于物流、供應(yīng)鏈、動物和車輛識別、門禁系統(tǒng)、圖書管理、自動收費(fèi)和生產(chǎn)制造等領(lǐng)域,特別是超高頻段(800-900 MHz)的RFID具有廣闊的應(yīng)用市場前景[2-3]。

      RFID技術(shù)獲得快速發(fā)展的同時,其安全性問題日益突出,并逐漸受到人們的重視。在美國拉斯維加斯舉行的Black Hat 2004會議上,Lukas Grunwa-ld公開展示了一個名為RF Dump的工具,它可以利用RFID系統(tǒng)的弱點(diǎn)發(fā)動攻擊。任何一個人,只要在自己的筆記本電腦中插上一個讀寫器,就可以使用RF Dump軟件獲得3英尺內(nèi)的被動式RFID標(biāo)簽中的數(shù)據(jù)。美國的密碼學(xué)研究專家Adi Shamir表示,目前的RFID系統(tǒng)毫無安全可言,簡直是暢通無阻。RFID標(biāo)簽因其成本受限、存儲空間有限和計算能力較弱等特點(diǎn),成為了RFID系統(tǒng)被攻擊的主要對象[4]。于是,IBM等公司研究人員想出了裁剪標(biāo)簽天線、標(biāo)簽外套電磁屏蔽罩等物理保護(hù)機(jī)制,然而這些方法均以犧牲標(biāo)簽?zāi)承┕δ軄韺?shí)現(xiàn)安全保護(hù),存在使用不便等問題[5],因此,基于密碼技術(shù)的安全保護(hù)機(jī)制得到國內(nèi)外學(xué)者的廣泛關(guān)注。

      在2007年,德國Ruhr大學(xué)的A.Bogdanov提出了一種針對RFID等安全應(yīng)用環(huán)境的輕量級密碼算法—PRESNET算法,因其具有優(yōu)秀的算法安全性及硬件實(shí)現(xiàn)效率,成為輕量級密碼算法的典型代表,并已成為ISO/IEC 29192-2:2012輕量級密碼算法國際標(biāo)準(zhǔn)。在2011年,我國中科院吳文玲、張蕾等人提出了一種輕量級算法—LBlock算法。該算法考慮了實(shí)現(xiàn)代價、實(shí)現(xiàn)效率和算法安全性等多方面因素,是我國輕量級密碼領(lǐng)域研究的成果之一。以下主要針對上述兩種算法的FPGA實(shí)現(xiàn)展開研究。

      1 算法原理

      1.1 PRESENT算法

      PRESENT算法[6]基于SP網(wǎng)絡(luò)結(jié)構(gòu),加解密過程需要32輪迭代運(yùn)算,其數(shù)據(jù)分組長度為64比特,密鑰有80比特和128比特兩種長度。于是,根據(jù)密鑰長度的不同,PRESENT算法分為PRESENT-80和PRESENT-128兩種版本。以下主要研究PRESE-NT-128在RFID系統(tǒng)上的應(yīng)用。

      圖1 PRESENT算法加密流程

      PRESENT-128每輪加密主要由三種運(yùn)算組成:異或、S盒替換、P置換。異或運(yùn)算是每輪數(shù)據(jù)進(jìn)行加密的第一種運(yùn)算,主要是將當(dāng)前狀態(tài)數(shù)據(jù)與輪密鑰進(jìn)行異或處理。S盒替換是非線性運(yùn)算,首先將異或結(jié)果按4比特分組,劃分為16組,分別送入S盒進(jìn)行替換處理,其輸入輸出關(guān)系如表1,表中x代表十進(jìn)制輸入,S(x)代表十進(jìn)制輸出。P置換是將S盒處理的結(jié)果進(jìn)行比特位的重新排序,提高數(shù)據(jù)的擴(kuò)散速度,P置換的輸入輸出關(guān)系如表2所示,表中i代表輸入的比特位,P(i)代表輸出比特位,如輸入的第4比特位經(jīng)過P置換后變成輸出的第1比特位。

      表1 PRESENT-128算法的S盒

      表2 PRESENT-128算法的P置換

      PRESENT-128每輪的密鑰更新過程如下:首先,密鑰存儲在密鑰寄存器K中,其按比特可表示為k127k126…k0。密鑰寄存器循環(huán)左移61位,然后,高8位數(shù)據(jù)經(jīng)過S盒替換,輪計數(shù)值與寄存器的62-66比特位進(jìn)行異或運(yùn)算,經(jīng)過上述變換得到新的密鑰,并將新密鑰的高64位作為輪密鑰輸出。上述過程可表示為以下表達(dá)式:

      PRESENT-128的解密過程同加密過程相似,只是解密過程中使用的S盒和P置換是逆S盒和逆P置換,并且子密鑰的使用順序是反向的。

      1.2 LBlock算法

      LBlock算法[7]基于Feistel架構(gòu),數(shù)據(jù)分組長度為64比特,密鑰長度為80比特,迭代輪數(shù)32輪。算法的過程如下:

      首先,將64比特明文P分成左右兩個32比特X1和X0,即

      最后,將輸出X32和X33拼接在一起作為64比特密文輸出

      為加快推進(jìn)木圖工程建設(shè)項(xiàng)目審批制度改革,加強(qiáng)從事土木工程活動的勘察設(shè)計企業(yè)和施工圖審查機(jī)構(gòu)的動態(tài)監(jiān)管,提高勘察設(shè)計行業(yè)信息化管理水平,健全全過程電子監(jiān)管,推進(jìn)施工圖審查提速增效和企業(yè)誠信管理,營造誠實(shí)守信的勘察設(shè)計市場環(huán)境??梢越?shù)字化施工圖審查系統(tǒng)平臺、勘察設(shè)計企業(yè)和施工圖審查機(jī)構(gòu)信用評價管理平臺。兩個平臺的同步運(yùn)用,進(jìn)一步完善了勘察設(shè)計行業(yè)的事中事后管理措施,全面提高審批效率,實(shí)現(xiàn)了事半功倍。

      其中F函數(shù)包括兩種運(yùn)算:S盒替換和P置換。S盒采用984個不同的4比特輸入4比特輸出S盒,P置換是將8個S盒的輸出進(jìn)行順序交換變化。S盒的輸入輸出關(guān)系如表3,其中x代表十進(jìn)制輸入,S(x)代表十進(jìn)制輸出。P置換的過程如下:

      假設(shè)P置換的32位輸入為X,按4比特分組可表示為

      經(jīng)過P置換后輸出為

      表3 LBlock算法的S盒

      LBlock每輪的密鑰更新過程如下:首先,密鑰存儲在密鑰寄存器K中,其按比特可表示為k79k78…k0。密鑰寄存器循環(huán)左移29位,然后,高8位數(shù)據(jù)經(jīng)過S8盒和S9盒替換,輪計數(shù)值與寄存器的46-50比特位進(jìn)行異或運(yùn)算,經(jīng)過上述變換得到新的密鑰,并將新密鑰的高32位作為輪密鑰輸出。上述過程可表示為以下表達(dá)式:

      LBlock的解密過程同加密過程相似,只是解密過程中先進(jìn)行S盒和P置換,然后再進(jìn)行循環(huán)移位,循環(huán)移位的方向反向,并且子密鑰的使用順序也是反向的。

      2 算法協(xié)議

      在2013年,我國正式發(fā)布了超高頻段RFID協(xié)議——GB/T29768-2013《信息技術(shù) 射頻識別800/900 MHz空中接口協(xié)議》,并于2014年正式進(jìn)入實(shí)施階段。協(xié)議主要針對840MHz-845MHz、920MHz-925MHz頻段范圍內(nèi)的RFID應(yīng)用,并對 RFID安全性進(jìn)行了充分考慮,涵蓋了安全鑒別和安全通信內(nèi)容,對規(guī)范我國超高頻段RFID應(yīng)用具有重要的指導(dǎo)作用。

      將算法應(yīng)用到協(xié)議中,設(shè)計了圖2所示的對稱加密雙向鑒別協(xié)議[6]。

      圖2 對稱加密雙向鑒別協(xié)議

      基于PRESENT-128或者LBlock的對稱加密雙向鑒別協(xié)議過程如下:

      首先,讀寫器發(fā)送安全參數(shù)獲取命令?

      第二步,標(biāo)簽對安全參數(shù)獲取命令做出響應(yīng),將標(biāo)簽標(biāo)識符TID以及安全模式、安全功能等安全參數(shù)發(fā)送給讀寫器?

      第三步,讀寫器用根密鑰RK和標(biāo)簽的TID生成鑒別密鑰AK,發(fā)送請求鑒別命令Req_SAuth給標(biāo)簽?

      第四步,標(biāo)簽收到請求鑒別命令后,生成隨機(jī)數(shù)RNt發(fā)送給讀寫器?

      第五步,讀寫器生成隨機(jī)數(shù)RNr和會話密鑰SK,使用PRESENT-128算法或者LBlock算法對鑒別密鑰AK、待加密數(shù)據(jù)RNr||RNt||SK 進(jìn)行加密,并得到加密結(jié)果 EAK(RNr||RNt||SK),將加密結(jié)果通過雙向鑒別命令 Mul_SAuth(RNt||EAK(RNr||RNt||SK))發(fā)送給標(biāo)簽?

      第六步,標(biāo)簽收到鑒別命令后,首先判斷接收到的RNt是否與自己在第四步中自己產(chǎn)生的RNt相等,若相等,標(biāo)簽通過PRESENT-128算法或者LBlock算法,載入密鑰AK以及加密數(shù)據(jù) EAK(RNr||RNt||SK)),解密得到 RNr′||RNt′||SK。 接著比較RNt′與RNt,若相等,則標(biāo)簽認(rèn)為讀寫器通過鑒別,將RNr′發(fā)送給讀寫器,跳轉(zhuǎn)到開放狀態(tài),并將SK作會話密鑰為安全通信階段使用?如果不相等,則標(biāo)簽認(rèn)為讀寫器未通過鑒別,發(fā)送響應(yīng)數(shù)據(jù)包,跳轉(zhuǎn)到仲裁狀態(tài)?

      第七步,讀寫器接收到RNr”后,比較RNr”和RNr是否相等,若相等,則認(rèn)為標(biāo)簽通過鑒別,且將SK作會話密鑰為安全通信階段使用?如果不相等,則讀寫器認(rèn)為標(biāo)簽未通過鑒別。

      3 算法的硬件設(shè)計

      3.1 PRESENT-128算法的硬件結(jié)構(gòu)

      圖3 PRESENT-128接口圖

      設(shè)計的算法模塊接口如圖3所示,PRESENT-128共有6個端口。 其中 CLK、Ready、Data_i、Key_i為 6 個輸入端口,Data_o、Done為2個輸出端口。6個輸入端口中,CLK為時鐘信號?Data_i和Key_i分別為64比特的明文輸入和128比特的初始密鑰輸入?Ready為明文和密鑰輸入信號,當(dāng)Ready=1后的第一個時鐘上升沿,明文和初始密鑰開始從端口Data_i和Key_i輸入。2個輸出信號中,Data_o為加密后的64比特數(shù)據(jù)輸出?Done為輸出有效信號,當(dāng)Done為1時,代表Data_o輸出的數(shù)據(jù)為最終加密的有效數(shù)據(jù)。

      如圖4所示,PRESENT-128加密硬件實(shí)現(xiàn)由兩個并行處理的部分組成:數(shù)據(jù)加密處理和密鑰擴(kuò)展處理。電路開始運(yùn)行時,首先將待加密數(shù)據(jù)和初始密鑰分別載入Data和Key兩個個寄存器。Data是64位的寄存器,用于存儲加密數(shù)據(jù)。Key為128位的寄存器,用于存儲密鑰。數(shù)據(jù)加載完成后,開始進(jìn)行數(shù)據(jù)加密處理,同時進(jìn)行密鑰的擴(kuò)展更新,每一輪的加密和密鑰擴(kuò)展均在一個時鐘周期內(nèi)完成。在每一輪加密過程中,Data與相應(yīng)的加密輪密鑰進(jìn)行異或,然后將異或的結(jié)果經(jīng)過16個4比特輸入4比特輸出的S盒進(jìn)行變換,變換后的數(shù)據(jù)又經(jīng)過P_Layer進(jìn)行混淆處理,處理后的結(jié)果更新到Data中。于此同時,密鑰進(jìn)行更新處理,首先進(jìn)行61比特循環(huán)左移,然后將相應(yīng)的比特位進(jìn)行S盒置換以及異或運(yùn)算處理,生成新的密鑰數(shù)據(jù)以更新Key寄存器,并將高32比特數(shù)據(jù)作為輪密鑰送入數(shù)據(jù)加密處理。按上述步驟進(jìn)行32輪加密,最后輸出加密結(jié)果。

      圖4 PRESENT-128加密硬件結(jié)構(gòu)

      3.2 LBlock算法的硬件結(jié)構(gòu)

      圖5 LBlock接口圖

      LBlock算法的硬件接口同PRESENT-128算法相似,同樣有6個端口。 其中 CLK、Ready、Data_i、Key_i為 6個輸入端口,Data_o、Done為2個輸出端口。6個輸入端口中,CLK為時鐘信號?Data_i和Key_i分別為64比特的明文輸入和80比特的初始密鑰輸入?Ready為明文和密鑰輸入信號,當(dāng)Ready=1后的第一個時鐘上升沿,明文和初始密鑰開始從端口Data_i和Key_i輸入。2個輸出信號中,Data_o為加密后的64比特數(shù)據(jù)輸出?Done為輸出有效信號,當(dāng)Done為1時,代表Data_o輸出的數(shù)據(jù)為最終加密的有效數(shù)據(jù)。

      圖6 LBlock加密硬件結(jié)構(gòu)

      如圖6所示,LBlock加密的硬件實(shí)現(xiàn)也可以分為兩個并行處理的部分:數(shù)據(jù)加密處理和密鑰擴(kuò)展處理。電路開始運(yùn)行時,首先將待加密數(shù)據(jù)和初始密鑰分別載入 Data_L、Data_R和 Key三個寄存器。 Data_L和 Data_R均是 32位的寄存器,用于存儲加密數(shù)據(jù)。Key為128位的寄存器,用于存儲密鑰。數(shù)據(jù)加載完成后,開始進(jìn)行數(shù)據(jù)加密處理,同時進(jìn)行密鑰的擴(kuò)展更新,每一輪的加密和密鑰擴(kuò)展均在一個時鐘周期內(nèi)完成。在每一輪加密過程中,Data_R與相應(yīng)的加密輪密鑰進(jìn)行異或,然后將異或的結(jié)果經(jīng)過8個4比特輸入4比特輸出的S盒進(jìn)行置換,置換后的數(shù)據(jù)又經(jīng)過P_Layer進(jìn)行混淆處理,處理后的結(jié)果與Data_L異或生成新的Data_R,同步將更新前的Data_R數(shù)據(jù)存儲到Data_L中。于此同時,密鑰進(jìn)行更新處理,首先進(jìn)行29比特循環(huán)左移,然后將相應(yīng)的比特位進(jìn)行S盒置換以及異或運(yùn)算處理,生成新的密鑰數(shù)據(jù)以更新Key寄存器,并將最高32比特密鑰數(shù)據(jù)作為輪密鑰送入數(shù)據(jù)加密處理。按上述步驟進(jìn)行31輪加密,第32輪取消Data_L和Data_R的交換作為輸出結(jié)果。

      4 實(shí)現(xiàn)結(jié)果

      利用Xilinx ISE9.2i軟件,選擇xilinx公司型號為xc5vlx330的FPGA作為平臺庫,對LBlock算法、PRESENT-128的Verilog HDL代碼進(jìn)行綜合分析,評估了算法在FPGA上實(shí)現(xiàn)情況。實(shí)現(xiàn)的結(jié)果見表4,其中還列出了PRESENT-80的實(shí)現(xiàn)結(jié)果。

      根據(jù)表4可以看出,LBlock的FPGA實(shí)現(xiàn)占用了資源75 Sclices,比PRESENT-80的資源占用量 79Sclices和 PRESENT-128的資源占用量90Sclices均小。然而,LBlock的最大工作頻率為521MHz,比PRESNT-80和 PRESNT-128的最大工作頻率較低,導(dǎo)致其吞吐量也比PRESENT-80和PRESENT-128稍低。

      表4 實(shí)現(xiàn)結(jié)果比較

      PRESENT-128因其密鑰長度最長,導(dǎo)致其電路用于存儲密鑰的FFs數(shù)比LBlock和 PRESENT-80的都多,同時 PRESENT-128電路LUTs數(shù)也占用較多,導(dǎo)致其資源占用Sclices數(shù)最多。將其與FPGA的總資源做一個比較,得到表5所示結(jié)果。從表5可知,PRESENT-128各項(xiàng)資源占用量均在0.2%以下,顯然,LBlock和PRESENT-80的資源占用量也是低于0.2%的,因此,再次證明PRESENT算法和LBlock算法是適合于RFID等輕量化的安全應(yīng)用環(huán)境,同時也是適合于FPGA硬件實(shí)現(xiàn)的。

      表5 PRESENT-128占用FPGA資源情況

      5 結(jié)語

      RFID技術(shù)快速發(fā)展的同時,其安全性問題日益突出,基于輕量級密碼算法的RFID安全方案得到廣泛研究。PRESENT算法和LBlock算法因其安全性高、實(shí)現(xiàn)效率高等優(yōu)點(diǎn)得到廣泛研究。通過對這兩種算法的研究,實(shí)現(xiàn)了算法在協(xié)議上的應(yīng)用,同時研究了這兩種算法在FPGA上的實(shí)現(xiàn)結(jié)構(gòu)和實(shí)現(xiàn)性能。通過在統(tǒng)一FPGA平臺下對兩種算法進(jìn)行了評估分析,從結(jié)果中可以看出,這兩種輕量級算法是適合于FPGA硬件實(shí)現(xiàn)的,特別是可以作為RFID系統(tǒng)中標(biāo)簽和讀寫器的安全組成部分。

      [1] 李如年.基于RFID技術(shù)的物聯(lián)網(wǎng)研究[J].中國電子科學(xué)研究院學(xué)報, 2009,4(06):594-597.

      [2] WEINSTEIN Ron.RFID:A Technical Overview and Its Application to the Enterprise[J].IT professional, 2005,7(3):27-33

      [3] OREN Yossef,SHAMIR Adi.Remote Password Extraction from RFID Tags[J].IEEE Transactions on Computers archive,2007,56(9):1292-1296.

      [4] 張宏壯,王建民.RFID中的安全隱私問題及策略分析[J].微計算機(jī)信息,2008,24(6-3):47-49.

      [5] 彭朋,韓偉力,趙一鳴等.基于RFID的物聯(lián)網(wǎng)安全需求研究[J].計算機(jī)安全,2011(01):75-79.

      [6] A.BOGDANOV, L.R.KNUDSEN, G.LEANDER, and et al.PRESENT:An Ultra-Lightweight Block Cipher[C]//The 9th InternationalWorkshop on Cryptographic Hardware and Embedded Systems.Berlin:Springer Berlin Heidelberg, 2007:450-466.

      [7] WU Wenling,ZHANG Lei.LBlock:A Lightweight Block Cipher[C]//The 9th International Conference on Applied Cryptography and Network Security.Berlin:Springer Berlin Heidelberg,2011:327-344.

      [8] 全國信息技術(shù)標(biāo)準(zhǔn)化技術(shù)委員會.GB/T 29768-2013,信息技術(shù) 射頻識別800-900MHz空中接口協(xié)議[S].北京:中國標(biāo)準(zhǔn)出版社,2014:45-50.

      猜你喜歡
      讀寫器寄存器比特
      Lite寄存器模型的設(shè)計與實(shí)現(xiàn)
      比特幣還能投資嗎
      海峽姐妹(2017年10期)2017-12-19 12:26:20
      比特幣分裂
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      比特幣一年漲135%重回5530元
      銀行家(2017年1期)2017-02-15 20:27:20
      基于視頻抓拍讀寫器的高速公路防倒卡研究
      蘋果封殺比特幣應(yīng)用另有隱情?
      基于隨機(jī)時隙的RFID讀寫器防沖突方法
      高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
      RFID網(wǎng)絡(luò)讀寫器沖突避免MAC協(xié)議
      元谋县| 丹江口市| 泽库县| 本溪市| 柳林县| 永州市| 鸡东县| 阿克陶县| 普定县| 临猗县| 肇州县| 崇左市| 靖州| 马尔康县| 罗城| 玛纳斯县| 始兴县| 佳木斯市| 曲麻莱县| 讷河市| 遂平县| 榆社县| 普兰店市| 南昌市| 兴安盟| 翁源县| 高唐县| 芦溪县| 六安市| 德化县| 体育| 青阳县| 雷州市| 鹤岗市| 安图县| 甘洛县| 礼泉县| 宿迁市| 阿克陶县| 霸州市| 昆山市|