《電子技術應用》
您所在的位置:首頁 > 電源技術 > 設計應用 > 多通道高速數據安全傳輸系統的設計與實現
多通道高速數據安全傳輸系統的設計與實現
2018年電子技術應用第9期
李君豪,畢麗霞,王永利
華北計算機系統工程研究所,北京100083
摘要: 針對一般數據傳輸系統傳輸速率低,并且數據傳輸過程安全性不高等問題,提出了一種多通道高速數據安全傳輸方案。此方案在以CPU作為控制中樞的基礎上,利用FPGA配合高速串行收發器TLK2711實現4路通道的高速數據安全傳輸。根據方案搭建多通道高速數據安全傳輸系統硬件平臺對設計方案進行驗證。測試結果表明,系統在穩定工作的情況下,可完成高達4.8 Gb/s有效數據的安全傳輸。
中圖分類號: TN918.4
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.175115
中文引用格式: 李君豪,畢麗霞,王永利. 多通道高速數據安全傳輸系統的設計與實現[J].電子技術應用,2018,44(9):125-128.
英文引用格式: Li Junhao,Bi Lixia,Wang Yongli. Design and implementation of multi-channel high-speed data security transmission system[J]. Application of Electronic Technique,2018,44(9):125-128.
Design and implementation of multi-channel high-speed data security transmission system
Li Junhao,Bi Lixia,Wang Yongli
National Computer System Engineering Research Institute of China,Beijing 100083,China
Abstract: Aiming at the problem of low rate and poor security in general data transmission system, a multi-channel high-speed data security transmission system scheme is proposed. In this scheme, CPU is used as the control center, FPGA and high-speed serial transceiver TLK2711 are used for high-speed data security transmission in four-channel. To test and verify the feasibility of the scheme,the multi-channel high-speed data transmission system hardware platform is built. The experimental results show that the highest transfer rate in this system can up to 4.8 Gb/s.
Key words : high-speed;security;TLK2711;multi-channel

0 引言

    近幾年來,隨著電子信息技術的飛速發展,物聯網、云計算和大數據等新型的應用涌現,規模龐大的數據集呈爆炸式增長[1],這對現代數據傳輸系統的數據傳輸能力提出了更高的要求;與此同時,新的黑客技術、更先進的電子竊聽和信息截獲篡改等技術的出現也使得信息的安全性受到很大的威脅。因此,在信息全球化的今天,數據傳輸能力和安全性兩方面兼顧已逐漸成為現代數據傳輸系統發展的重要方向[2]。

    本文提出了一種基于CPU+FPGA的架構方案,為解決現代數據傳輸系統所遇到的上述問題提供一個思路。此方案以CPU作為整個系統的控制大腦,完成軟件和資源配置的同時也負責實現多路通道的動態切換和選擇,以適應不同的工作需求。同時充分利用FPGA的硬件并行處理和邏輯運算能力實現數據的加解密,并在FPGA已有的I/O接口資源基礎上采用TI公司的高速串行收發器TLK2711設計穩定可靠的高速串行接口模塊[3],最終實現多通道高速數據安全傳輸系統。

1 系統架構設計

    如圖1所示,多通道高速數據安全傳輸系統主要由主控模塊、密碼處理模塊以及接口轉換與適配模塊等組成。

jsj1-t1.gif

1.1 主控模塊設計

    主控模塊由CPU、存儲芯片以及配套的外圍電路組成??紤]到安全方面,CPU選用的是國產低功耗芯片龍芯1A,主要實現系統與外部通信以及動態配置和管理FPGA等功能;存儲芯片選用的是AT24C64,存儲容量為64 Kbit,主要為程序和相應的初始配置文件、參數等提供存儲空間。

1.2 密碼處理模塊設計

    密碼處理模塊主要由FPGA和噪聲源芯片組成,其中FPGA選用Xilinx公司的高性能Virtex4系列芯片XC4VSX55,主要負責加解密功能的實現,保證數據傳輸過程的機密性;噪聲源芯片選用WNG-5,它是一種數字物理噪聲源,主要用于產生真隨機序列,是密碼處理模塊不可缺少的基礎部件。

1.3 接口轉換與適配模塊設計

    接口轉換與適配模塊主要由數據處理接口和管理控制接口組成。相較于并行數據傳輸模式,高速串行傳輸模式具有帶寬高、信號完整性好、電磁輻射低等優點,所以數據處理接口選用串行接口(LVDS)和相應的幀邊界指示信號來實現數據的高速傳輸。同時考慮到一些標準高速串行通信協議由于需提供許多不同類型的服務而導致有大量的通信冗余數據,惡化了延時性能等問題[4],本系統選擇使用高速串行收發器TLK271來完成高速LVDS信號和并行數據之間的轉換,從而提高系統的可靠性并減少資源占有率[5]

    管理控制接口采用RS232串口,主要負責對外進行通信,根據接收的相關信息,配置系統工作在不同的模式下。

2 系統軟件設計

    為保證系統能高速穩定地運行,除了合理的硬件架構設計外,各功能模塊的軟件程序設計也至關重要。其中高速接口模塊軟件設計和加解密模塊軟件設計是決定性能瓶頸的關鍵。

2.1 高速接口軟件設計

    高速接口模塊軟件設計主要是在FPGA中通過程序設計與TLK2711交互完成高速數據的串并轉換,具體工作流程如圖2所示。

jsj1-t2.gif

    TLK2711的工作流程可以分為發射器部分和接收器部分,發射器部分基于提供的參考時鐘(GTX_CLK)鎖存輸入的16 bit并行數據,經過內部的8B/10B編碼轉換成20 bit并行數據,編碼后的數據以20倍參考時鐘頻率采用差分串行方式傳輸出去。接收器部分對接收到的數據完成串并轉換,將得到的20 bit并行數據經過內部同步恢復時鐘(RX_CLK),然后再經過8B/10B解碼將這20 bit并行數據解碼為原始的16 bit數據[6]。為了更靈活地控制高速數據的發送和接收,為4路通道分別設計了發送/接收幀邊界指示信號TXORDER和RXORDER(均設計為低有效)。TLK2711的數據總線傳輸位寬為16 bit,分為高8位和低8位,編碼方式由高8位控制信號TKMSB/RKMSB和低8位控制信號TKLSB/RKLSB共同控制。

    在數據接收端,由于TLK2711的工作機制,在進行數據接收時RXLSB和RXMSB會出現3種情況,RXMSB和RXLSB同時變低,RXMSB先于RXLSB一個時鐘周期拉低,或RXLSB先于RXMSB一個時鐘周期變低。所以在數據接收時應對數據進行校準,同時為了解決信號從一個時鐘域傳送到另一個時鐘域時出現的亞穩態問題,將校準后的數據寫入異步FIFO作為緩沖,等待后續處理。

    在數據發送端,先將幀邊界指示信號TXORDER拉低,然后通過TXLSB和TXMSB控制數據發送。當TXLSB和TXMSB都為低時發送的數據為有效數據;都為高時發送數據b10111100作為comma檢測碼[7]。由于RXORDER為接收數據的使能信號,只有當該信號無效,同時發送FIFO為空時,才能表明該幀數據已完整接收、處理并發送完畢。

2.2 加解密軟件設計

    加解密模塊主要實現對高速數據的加解密工作,是數據安全傳輸的根本,主體功能在FPGA中實現。為了確保傳輸過程的機密性和提高系統的加解密速度,通過對比DES、3DES和AES等算法,最終采用新一代數據加密標準AES算法。由于AES算法的分組長度固定為128 bit,密鑰長度只有128 bit、192 bit和256 bit 3種,只能對固定分組長度的數據進行加解密[8],所以選擇AES算法的OFB模式。該模式工作時需要一個初始化向量IV[9],為確保通信的機密性,利用驗證過的數字物理噪聲源芯片WNG-5來產生真隨機數序列作為加密每一幀數據的IV。

    加解密模塊的具體基本工作流程如圖3所示。

jsj1-t3.gif

    首先對收到的數據按照幀協議進行解析,這里收到的數據就是高速接口模塊中存入異步FIFO的數據。本系統的傳輸數據幀格式如圖4所示,分為幀頭、數據長度、初始化向量和數據4部分。

jsj1-t4.gif

    根據幀頭信息判斷此幀數據是待加密幀、待解密幀還是直傳幀。如果是直傳幀,則不啟動算法模塊,跳過對數據長度和初始化向量部分的判斷,直接進行數據的傳輸;如果是待加密幀或待解密幀,則根據數據長度信息判斷算法模塊需要啟動算法核的個數,這里算法核的個數不能大于2個。由于受硬件性能和FPGA本身資源等因素的影響,在4路通道同時工作的情況下,為了保證系統能穩定正常,每路通道最多只能啟動2個算法核。

    對于初始化向量部分,如果是待加密幀,則首先從隨機碼FIFO中讀取相應比特位數(128 bit)的隨機數作為IV信息發送給算法模塊,同時從本地預存WK數據中選取一組192 bit位長的數據作為WK信息發送給算法模塊,當IV與WK數據都準備完成后啟動算法核進行運算,并將產生的密碼流與明文數據進行XOR產生密文[10]。因為IV和WK信息是解碼的關鍵所在,所以需要將IV和WK的相關信息根據既定策略進行一定的轉換填入幀格式中的初始化向量部分;考慮到IV和WK信息在傳輸過程中可能會面臨的惡劣環境,對其進行RS糾錯編碼以提高信道傳輸的可靠性[11]

    如果是待解密幀,則提取出初始化向量部分數據,根據既定的策略還原出加密時用的IV和WK信息,將其提供給算法模塊以便產生出與編碼時相同的密碼流,然后與密文數據進行XOR得到明文數據。考慮到RS解碼耗費的時鐘周期數比較多,所以在給算法模塊傳遞IV數據時,先將原始幀中直接解析出的IV數據傳送給算法模塊,利用算法模塊的啟動時間對IV數據進行RS解碼。比較解碼后的IV與原始IV是否相同,若相同則算法模塊繼續運行,若不同則根據RS解碼后的IV重新啟動算法模塊,這樣就可以一定程度上省去RS解碼時間。

    在對數據進行加解密時,會根據數據量的多少啟動不同個數的算法核,所以本設計中利用乒乓操作原理,不斷地按固定順序在不同算法核的密碼流FIFO中讀取出數據進行加解密操作[12]。每次讀取出的數據固定為128 bit,這是由于AES算法的分組長度決定的。

3 實驗驗證

    為了驗證設計的可行性并測試相關的性能參數,搭建了多通道高速數據安全傳輸硬件平臺,同時為了方便測試,搭建了一個簡易的工裝測試板作為數據源為硬件平臺提供數據。

    多通道高速數據安全傳輸硬件平臺為FPGA提供的全局工作時鐘為100 MHz,通過其內嵌的數字時鐘管理單元DCM將時鐘倍頻至180 MHz提供給算法模塊,從而能更好地提高算法模塊的工作效率,圖5為通過Xilinx公司的在線邏輯分析儀Chipscope工具抓取的單個通道數據加解密過程的部分時序圖。

jsj1-t5.gif

    從圖5中可以看出,當加密開始信號置高后,待加密數據與算法核產生的密碼流進行XOR操作產生密文,而解密過程與加密過程基本相同,用與加密過程相同的密碼流與密文數據進行XOR操作產生明文。通過對比數據可以看出本設計能正確解密出數據,即系統加解密功能正常。

    為了測試本系統的傳輸速率瓶頸和性能,不斷改變測試工裝發送數據量,具體測試方法:通過控制TXORDER和TXMSB、TXLSB 3個信號來改變1 024時鐘周期內有效數據的周期數,測試系統能否在正常進行加解密工作的同時計算出系統從接收到待加解密數據到將加解密后的數據發送完畢時的時鐘周期數。由于TLK2711工作在100 MHz時鐘下且其數據經過8B/10B編碼,所以其有效數據傳輸速率為1.6 Gb/s,通過相應的比例關系可以根據1 024時鐘周期內傳輸的有效數據周期數得到系統加解密工作的速率。表1為測試過程中部分有效數據周期數(data_nclk)和加解密所用周期數(time_nclk)即數據時間對照表。

jsj1-b1.gif

    根據數據時間關系對照表,擬合出數據-時間關系圖。如圖6所示,橫坐標代表有效數據周期數,縱坐標代表加解密所用周期數,曲線A為啟動一個算法核的數據時間關系曲線,B為兩個算法核乒乓操作下的數據時間關系曲線。

jsj1-t6.gif

    通過表1和圖6對照分析可知當data_nclk為0時,time_nclk為40,此為算法啟動所用周期數;當data_nclk為350時,即圖中的a點,為算法核切換時刻,即當有效數據周期數多于350時啟動2個算法核,可以看出加解密時間明顯變少;在b點data_nclk為820,此時系統加解密速度已經達到瓶頸,加解密周期數到了1 022,即當此幀加解密剛結束時,下一幀待處理數據已經到來。經過比例換算可知,本系統單通道工作速率瓶頸為1.28 Gb/s。考慮到系統工作中的散熱問題、資源利用率等問題,最好將單通道最高工作速率控制在1.2 Gb/s以下,也就是將系統在4路全負荷工作情況下的速率控制在4.8 Gb/s以下,有利于提高系統工作的穩定性。

4 結論

    本文通過對多通道高速數據安全傳輸系統的研究與設計,利用FPGA與高速串行收發器TLK2711完成了高速接口模塊的設計,同時利用FPGA和噪聲源芯片實現AES算法的OFB模式對高速數據進行加解密,保證了傳輸過程中數據的機密性。通過所搭建的測試工裝對多通道高速數據安全傳輸硬件平臺進行測試,測試結果表明,本系統在穩定工作的情況下,可完成高達4.8 Gb/s有效數據的安全傳輸。綜上所述,該方法對解決現代數據傳輸系統中存在的高速性和安全性兼顧問題具有較高的參考價值。

參考文獻

[1] 黃萬偉.Xilinx Fpga高速串行數據技術與應用[M].北京:電子工業出版社,2015.

[2] 高俊.基于PCIe總線高速數據傳輸系統的設計與實現[D].合肥:中國科學技術大學,2015.

[3] 賈建超,陳濤,李釗.基于TLK2711的高速數據串行傳輸[J].電子技術應用,2013,39(9):47-49,53.

[4] 李勛.高速多通道數據傳輸系統的設計與實現[D].太原:中北大學,2015.

[5] 余達,劉金國,徐東,等.多路基于TLK2711高速串行圖像數據的傳輸系統[J].液晶與顯示,2017,32(10):815-821.

[6] 張媚,杜輝,關暉,等.基于TLK2711的遙感衛星高速串行載荷數據接口設計[J].航天器工程,2015,24(6):13-19.

[7] 倪建軍,李濤,王建宇.基于TLK2711的高速串行全雙工通信協議研究[J].電子設計工程,2013,21(10):76-80.

[8] Yu Yan,Song Bingbing,Liu Xiaozhen,et al.Design of data encryption transmission system based on FPGA[M].Springer International Publishing,2014.

[9] 張金輝,郭曉彪,符鑫.AES加密算法分析及其在信息安全中的應用[J].信息網絡安全,2011(5):31-33.

[10] 王佳.基于FPGA的AES算法硬件實現優化及其系統設計[D].深圳:深圳大學,2017.

[11] 陶星辰.基于AES加密的無線音視頻傳輸系統設計及應用[D].合肥:合肥工業大學,2015.

[12] Huang Chiwu,Chen Hongyou,YEH H C,et al.Block RAM based design of 8-bit AES operation modes[J].Procedia Engineering,2012,29(1):2848-2852.



作者信息:

李君豪,畢麗霞,王永利

(華北計算機系統工程研究所,北京100083)

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 天天射日日操 | 7777在线| 成人18视频在线 | 成人免费大片a毛片 | 香蕉视频禁18 | 免费无遮挡十八污污网站 | 国产精品莉莉欧美自在线线 | 久久国产精品久久精 | 亚洲国产一级毛片 | 国产成人一区二区三中文 | 成人精品免费视频 | 性欧美高清极品猛交 | 日韩视频播放 | 亚洲乱码一二三四区国产 | 黄色一级免费观看 | 日比视频在线观看 | 国产一级片免费视频 | 国产午夜毛片一区二区三区 | 69国产成人综合久久精 | 色久天 | 一个人看的视频www在线看 | 欧美三级不卡在线观看视频 | 国产成人精彩在线视频50 | 欧美日韩在线永久免费播放 | 丁香六月在线视频 | 老妇激情毛片免费 | 免费国产高清精品一区在线 | 欧美日韩在线国产 | 野外三级国产在线观看 | 美女一级ba大片免色无遮住 | 超黄网站 | 国产成人精品视频频 | 国产黄色精品 | 欧美视频一级 | 好吊妞gao988在线播放 | 视频日韩p影院永久免费 | 婷婷视频网 | 深夜a级毛片免费视频 | 午夜视频久久 | 日韩国产三级 | 2020在线不卡观看视频 |