劉齊宏 楊豪
摘? 要:該文針對現(xiàn)今RFID系統(tǒng)應用的安全威脅進行了分析,分析了RFID的安全系統(tǒng)對于硬件設計的需求,基于DES加密算法的理論,提出并設計了一個適用于RFID系統(tǒng)的加密模塊,保護RFID標簽和讀寫器通信過程間的通信數(shù)據(jù),使用ModelSim軟件對設計出的模塊進行自底向上的仿真測試,保證每一個子模塊滿足整體模塊完成加密算法的功能。并使用ISE硬件設計軟件對代碼進行綜合設計,獲得綜合生成的模塊電路。設計技術指標達到860~960M、95dBm、40~640kbps,實現(xiàn)了將明文/密文進行加密/解密的方式,達到提高RFID通信安全性的目標。
關鍵詞:DES加解密模塊計? 860~960M? 95dBm? 40~640kbps? RFID技術指標
中圖分類號:TP391.44 ? ?文獻標識碼:A 文章編號:1672-3791(2019)09(c)-0013-03
RFID技術已經(jīng)得到了廣泛應用,特別是現(xiàn)在的物聯(lián)網(wǎng)時代,RFID在物流管理、門禁系統(tǒng)等方面都被大規(guī)模地采用,然而正因為在其得到廣泛應用,也出現(xiàn)了越來越多非法攻擊以及破解RFID系統(tǒng)的現(xiàn)象,其安全問題和隱私問題逐漸引起了人們的注意。正如同許多的通信設備一樣,RFID系統(tǒng)在通信過程中十分容易遭到攻擊。RFID受到攻擊很有可能使用戶的個人信息遭到泄露。當標簽貼在某些物品上面,可能因攻擊而導致物品的信息和位置的泄露。一些關注個人隱私問題的組織甚至直接宣布不購買使用了RFID技術的產(chǎn)品??梢韵胂蟮氖?,隨著RFID技術的快速發(fā)展,使用RFID技術的加密應用也會越來越多,如何應對他人惡意的非法攻擊、如何有效解決RFID的安全問題和隱私問題是推廣RFID技術的關鍵部分。
1? 系統(tǒng)分析
RFID系統(tǒng)的工作頻率跨度很大,主要可以分為低頻、高頻、超高頻和微波頻段。不同頻段的RFID系統(tǒng)特性差異很大,因此主要用途也相差甚遠。低頻系統(tǒng)的工作頻率為125~134kHz的常見工作頻率。低頻RFID系統(tǒng)的讀寫工作距離很近,成本也低,存儲的信息量少。高頻RFID一般適用于大數(shù)據(jù)量通信的系統(tǒng)。超高頻系統(tǒng)的工作頻率在300MHz~3GHz,有860~960MHz的常見工作頻率。其標簽芯片和讀寫器的生產(chǎn)成本消耗都很高,儲存的信息量較大,讀寫速度快,工作距離可以在十多米之外,通信過程有較強的方向性。微波系統(tǒng)的工作頻率在3GHz以上。
DES加密算法即屬于對稱加密算法,加密密鑰和解密密鑰相同,要求在進行通信之前,通信雙方要商議一個共同使用密鑰,通信能否保持安全主要需要的是密鑰的保密性。根據(jù)這種算法設計出來的電路更為滿足RFID標簽芯片低成本的要求。而對于其安全保密能力,DES加密算法的安全性需要的是密鑰的隱秘保存,針對DES加密的破解方法也只有窮舉。DES算法應用在RFID系統(tǒng)中的話,是一種十分安全的算法,因為RFID的通信時間極短,理論上被攻擊成功的可能性為零。
整個DES加密過程是以64位明文為一個單位進行一次加密,將64位數(shù)據(jù)分為8個字節(jié),同時隨著64位的密鑰的同步工作,在初始代換后進行16輪的循環(huán)加密,然后再加其做逆初始代換,最終得到64位加密過后的密文作為輸出。對信息的解密過程與加密時的過程相同,然而每輪循環(huán)加密采用的子密鑰順序?qū)ΨQ。對現(xiàn)今RFID系統(tǒng)應用的安全威脅進行分析,分析了RFID的安全系統(tǒng)對于硬件設計的需求,基于DES加密算法的理論,提出并設計了一個適用于RFID系統(tǒng)的加密模塊,保護RFID標簽和讀寫器通信過程間的通信數(shù)據(jù)。
2? 系統(tǒng)設計
2.1 設計流程
在開始數(shù)字電路設計之前,需要制定出設計的計劃,抽象描述各部件所完成的功能、接口以及整個電路的結構。在分析完成電路應滿足的功能、性能指標以及其他問題之后,才能開始進行行為級描述和RTL級描述,以硬件描述語言(HDL)為工具描述電路構成。完成硬件描述之后,需要進行的是對代碼的仿真測試,通過對各部分的測試以及對整體的測試檢查錯誤并優(yōu)化算法。仿真完成之后,現(xiàn)有的電子設計自動化(EDA)工具可以對以RTL級描述的代碼文件自動進行邏輯綜合,邏輯綜合是將RTL級描述轉換為門級網(wǎng)表,門級網(wǎng)表是對門電路及門電路內(nèi)部連接方式的描述文件,也是版圖設計的基礎。
在門級網(wǎng)表生成之后,還要進行對于時序的仿真,又稱為后仿真,如果時序仿真結果不符合設計時提出的要求,則需要修改布局和布線或進行邏輯綜合時預定的約束條件,或回到行為級描述或是RTL級描述階段進行修改,在完成驗證之后即可開始流片。該文采用了Verilog HDL硬件描述語言來實現(xiàn)能夠作為一個內(nèi)嵌模塊運用的DES加密電路。采用了硬件設計常用的自頂向下的層次性設計流程,設計了基于DES加密算法的加密電路,并且對設計后的HDL文件進行了功能仿真及邏輯綜合。
2.2 DES加密模塊頂層結構設計
要實現(xiàn)DES加密算法的硬件設計,就要從加密算法的功能開始分析,可以看到DES加密算法完成的功能是對于一個64位的信息,使用64位的密鑰進行加密或是解密。因此要實現(xiàn)DES加密算法的硬件設計,應該有信息、密鑰以及加解密選擇的輸入信號,以及處理后信息的輸出。
根據(jù)對于加密算法的分析,加密電路的頂層結構如下。
輸入:Encrypt:加/解密控制? 輸出:out[1:64]:64位密文/明文輸出
in[1:64]:64位明文/密文輸入
Key[1:64]:密鑰輸入
2.3 DES加密模塊分類
以自頂向下的硬件設計思路,完成DES加密電路的頂層功能分析之后,應將整個電路分為若干個可以實現(xiàn)的子模塊,甚至子模塊里又有更加細分的子模塊。對DES加密算法的分析后可以發(fā)現(xiàn),加密過程可以拆為3個不同的階段,即對初始信息進行處理的初始置換階段,然后是十六次重復的加密過程,一輪加密過程后的輸出是下一輪加密的輸入,16次加密之后再進行一次逆初始置換,此外對于每一輪的加密的過程,還要輸入根據(jù)最初輸入的密鑰變化后的子密鑰。因此按需要實現(xiàn)的功能可以分為以下幾點。
(1)密鑰產(chǎn)生模塊:生成每輪加密循環(huán)所需的子密鑰。
(2)一輪加/解密模塊:進行十六輪循環(huán)加密之中的一輪加/解密。
(3)初始置換模塊:對最開始的64位信息進行初始置換。
(4)逆初始置換模塊:對16輪循環(huán)加/解密后的輸入數(shù)據(jù)進行最終置換,輸出密/明文。
2.3.1 密鑰產(chǎn)生模塊
根據(jù)對加密算法的分析,DES加密過程中要經(jīng)歷16次的循環(huán)加密,因此要使用到16個不同的子密鑰,這些子密鑰都是按照一定規(guī)律通過初始密鑰產(chǎn)生的,因此密鑰產(chǎn)生模塊應具有輸入初始密鑰,產(chǎn)生16個子密鑰的功能。此外,DES加密過程和解密過程步驟相同,只是每一輪加密過程中使用的子密鑰順序?qū)ΨQ,即加密過程是key1順序使用直到key15,而解密過程是從key15倒序使用直到key1,因此密鑰產(chǎn)生模塊應該同時具有加解密選擇的功能。根據(jù)算法可以知道,密鑰產(chǎn)生的過程需要大量的數(shù)據(jù)選擇,即S盒變換,因此密鑰產(chǎn)生模塊需要拆分為若干個子模塊進行設計。密鑰產(chǎn)生模塊的結構如下。
輸入:encrypt:加/解密密鑰產(chǎn)生控制/? 輸出:key1[1:48]、key2[1:48]……
Key [1:64]:64位初始密鑰輸入? key16[1:48]:48位子密鑰輸出
2.3.2 一輪加密模塊
一輪加密模塊實現(xiàn)的功能是DES加密算法中16輪循環(huán)加密過程中的一次,它將上一輪加密過程中的輸出結果作為這一輪的輸入inR以及inL,并且根據(jù)子密鑰的不同,生成不同的加密結果outL和outR。因為一輪加密過程較為復雜,大多數(shù)的操作都是在這一輪加密過程中完成,因此還要劃分為更小的子模塊進行設計。一輪加密模塊的結構如下。
輸入:inR[1:32]:32位右明文輸入? 輸出:outL[1:32]:32位左密文輸出
inL[1:32]:32位左明文輸入? outR[1:32]:32位右密文輸出
key[1:48]:48位子密鑰輸入
2.3.3 初始置換模塊
初始置換模塊實現(xiàn)將最初的信息進行位置的置換,因為除換位以外并沒有任何變換,所以初始置換模塊并不需要拆分為多個子模塊。初始置換模塊結構如下。
輸入:in[1:64]:64位明/密文輸入? ? ?輸出:out[1:64]:64位初始置換輸出
2.3.4 逆初始置換模塊
與初始置換模塊相同,逆初始置換模塊滿足的功能同樣是單純的位置變換,所以也不需要拆分為多個子模塊。逆初始置換模塊結構如下。
輸入:in[1:64]:64位逆初始置換輸入? 輸出:out[1:64]:64位密/明文輸出
3? 系統(tǒng)仿真驗證及邏輯綜合
3.1 仿真及綜合設計技術
現(xiàn)代EDA技術就是通過計算機以各種EDA軟件為手段,對由硬件描述語言所寫出的代碼進行處理,自動將以代碼形式描述的電子電路系統(tǒng)進行編譯、化簡優(yōu)化、邏輯綜合、功能仿真以及電路的布局布線,甚至是將特定的芯片進行適配性的編譯以及編程下載到其中。仿真是通過對需要進行測試的模塊輸入激勵信號,觀測被測試的模塊在信號激勵下的輸出信號,判斷模塊的邏輯功能以及時序邏輯是否正確。仿真軟件的優(yōu)劣主要表現(xiàn)在其仿真的速度、準確性以及易用性。該文設計采用了Mentor公司的Modelsim,它是業(yè)界最優(yōu)秀的HDL仿真軟件,是一種硬件描述語言的仿真工具,它的界面友好,性能強大。綜合是數(shù)字電路設計過程中十分重要的步驟,是將層次較高的描述性設計轉換為層次較低的電路結構。綜合工具即為將硬件描述語言轉換了具體電路結構網(wǎng)表的工具,其好壞決定了綜合后的電路性能及結構的優(yōu)劣。該項目也設計采用了Xilinx公司新的高性能設計開發(fā)工具ISE軟件工具進行綜合設計。
3.1.1 仿真驗證設計
要驗證電路功能是否正確,電路仿真是不可或缺的方法。電路設計進行仿真分析,采用自底向上的驗證方法,首先驗證了每個底層模塊的基礎功能是否正常,再驗證頂層模塊的整個加密系統(tǒng)功能是否正常。
3.1.2 密鑰產(chǎn)生
根據(jù)DES加密算法描述,在針對一個特定的64位初始密鑰輸入時,會根據(jù)加密或是解密的功能選擇,生成16個有規(guī)律的48位子密鑰,并且加密所使用的密鑰與解密所使用的密鑰順序相反。使用仿真軟件對密鑰產(chǎn)生模塊輸入一個64位信號key作為激勵后,可以看到模塊輸出了16個48位密鑰key1,key2,…,key16,并且加解密情況下滿足上述理論上會出現(xiàn)的結果。因此99可以認為子密鑰生成成功,密鑰產(chǎn)生模塊的設計符合了算法描述。
3.1.3 一輪循環(huán)加密
根據(jù)加密算法描述,16輪循環(huán)加密過程中的每一輪步驟相同,將上一次加密過程中的兩部分32位信號輸出作為該次加密過程中的左明文輸入與右明文輸入,并且還有一個48位子密鑰同樣伴隨輸入。加密過程將經(jīng)過計算后的32位輸出作為下一輪的右明文輸入,而本輪的右明文作為下一輪的左明文輸入。使用仿真軟件對一輪加密模塊分別輸入了32位的左明文信號inL、32位的右明文信號inR以及48位的子密鑰信號key,模塊經(jīng)激勵的輸出結果中顯示,outL就是輸入的inR,而outR是經(jīng)加密計算后的值??梢钥吹揭惠喖用苣K實現(xiàn)功能正常,因此認為模塊設計滿足算法描述。
3.1.4 DES加密仿真
按自底向上的驗證思路,在進行了對若干個子模塊的仿真測試并驗證無誤之后,便需要對整個模塊的功能進行仿真測試。按照算法描述,加密算法實現(xiàn)的功能是對于一個64位明文,在64位初始密鑰的控制之下,可以加密生成一個64位的密文,同時若對這個密文用同一個密鑰解密的話,便能生成最初的明文。使用仿真軟件,對整個加密模塊輸入64位的明/文信號、64位初始密鑰信號以及1位的加/解密控制信號,可以看到在同一個密鑰控制下,明文加密與密文解密的輸出信號符合加密算法的預期,因此可以認為整個DES加密模塊設計符合算法描述。
3.2 邏輯設計綜合測試
對硬件描述語言設計的代碼進行仿真測試,驗證功能正常后,即可進行對其進行邏輯綜合的過程。邏輯綜合的結果可以把HDL代碼轉換為具體的門級網(wǎng)表。
該設計的加密模塊采用的是16級加密同步完成的思路進行設計,相比起經(jīng)16次時鐘周期循環(huán)加密的設計思路,該文的設計可以將一次加密過程所需要的時間大幅縮短,同時也消耗了較多的硬件資源。
4? 結語
該文針對RFID芯片技術面臨的一系列安全威脅,提出了對RFID芯片內(nèi)部增加DES加密模塊來提升其安全性的想法,結合DES的加密算法,并在DES密算法的基礎之上,提出了基于RFID芯片的DES加密模塊的設計思想。實施了DES算法的硬件可實現(xiàn)性以及實現(xiàn)方法,并采用分層的、自頂向下的硬件設計思路,其中RFID加密模塊設計進行三重相互認證方法,實現(xiàn)安全無遺漏。達到設計技術指標:860~960M、95dBm、40~640kbps。
與現(xiàn)有技術相比,該文具有以下有益的創(chuàng)新成果:采用DES對稱加密算法,無論與非對稱算法或是其他對稱算法相比,其結構更為簡單,加密和解密的速度更快。在應用于RFID芯片時,可以在滿足其低成本的要求下,兼具較高的安全保密能力和更小的存儲空間需求,較好地適用RFID的內(nèi)存條件。該文的加密模塊采用的是16級加密同步完成的思路進行設計,相比起經(jīng)16次時鐘周期循環(huán)加密的設計思路,該文的設計可以將一次加密過程所需要的時間大幅地縮短,同時也消耗了較小的硬件資源。
參考文獻
[1] Lee YK, Sakiyama K,Batina L,et al.Elliptic-cure-base security process for RFID[J].IEE Transacyions on Computer,2008,57(11):151-152.
[2] Bernstein DJ,Lange T,F(xiàn)arashaihi RR,Binary Edwards curves[A].Cryptographic Hardware and Embedded System-CHES 2008[C].Berlin-Heiderg:Speinger,2008:244-256.
[3] Liu D,Liu Z,Yong Z, et al. Design and Implementation of An ECC-Based Digital Baseband Controller for RFID Tag Chip[J].IEEE Transaction on Industrial Electroni-cs,2015,62(7):4365-4373.
[4] Azarderakhsh R,Reyhani-Masoleh A.Parallel and high-speed computations of elliptic cure cryptography using hybrid-double multiplers[J],IEEE Transaction on Parallel and Distributed Systems,2015,26(6):1668-1677.