軟件無線電的遠程安全配置系統設計
摘 要 介紹一種軟件無線電以太網的配置方案。誼設計使用Atmel公司的FPSLIC微控制器作為主控單元,韓國Wiznet公司的W3100A為網絡協議解析單元。在SystemDesigner3.0開發環境中,完成系統與遠程控制端的安全通信和遠程配置文件的加戢,使配置后的系統根據不同用戶有不同的硬件解密功能,最大程度地保證軟件無線電的配置安全。
關鍵詞 軟件無線電 配置系統 FPSIJlC W31OOA
引 言
隨著現代通信技術、微電子技術和計算機技術的飛速發展,無線通信技術開始從數字化走向軟件化。軟件無線電的出現掀起了無線通信技術的又一次革命,已成為目前通信領域中最重要的研究方法之一。它的基本思想是把模塊化、標準化的硬件功能單元通過一個通用的硬件平臺連接起來作為無線通信的基本平臺,把盡可能多的無線及個人通信的功能用軟件來實現。對于組成通用硬件平臺的可編程器件(DSP、FPGA等),可以首先根據總體要求建立完整的軟件庫,然后實時、靈活地配置到硬件平臺上。
軟件無線電,特別是軟件無線電臺在其遠程的配置過程中,要求較高的安全保密措施。傳統的配置文件下載方法在數據傳遞的通路上都是明文傳輸,存在著安全的隱患,很容易被竊取和攻擊;因此,一種確保軟件無線電遠程配置的安全系統在軟件無線電系統中就顯得非常重要。軟件無線電的通用硬件平臺通常主要由專用ASIC和DSP、FPGA兩種可編程器件組成。FPGA編程特性分為熔絲型、基于EEPROM技術型和基于SRAM技術型三種。基于SRAM技術的FPGA由于容量大,設計資源豐富,設計較為靈活且可以重復操作,應用相當廣泛,但是由于它的結構類似于SRAM,掉電后數據會丟失,因此每次上電后需要對它們進行重新加載。目前,常用的加載方法有通過PC電纜、外掛ROM和單片機控制加載等。在軟件無線電中,通過PC和外掛單片機都將增加系統的復雜程度,也不適合于軟件無線電臺的應用環境;因此在軟件無線電臺中,常常選擇外掛EEPROM來保存和更新FPGA的配置程序。由于所開發的軟件無線電系統采用xilinx公司的VIRTEX系列FPGA,配合外掛XCl8V02存儲器,因此對于FPGA的配置只要更新XCl8V02中的存儲文件就可以了。
1 軟件無線電安全配置系統的設計
系統分為管理控制和終端兩大部分。管理控制部分主要由軟件完成對已經生成的配置文件加密、用戶登陸和傳送配置文件三個主要功能。配置系統的終端在配置文件過程中,首先判別不同用戶的識別信息,然后通過MCU將文件解密,在配置過程中通過MCU的接口將解密后的配置文件存儲到EEPROM中,并在全部完成后重新啟動系統,EEPROM中的配置信息被加載到片內,系統開始啟動新的任務。對于不同的用戶,可以根據自己的需要選擇不同的加密算法,對自己所需要配置的文件進行二次加密,從而更進一步保證文件的安全性。這個加密算法的解密由MCU及其協處理器(FPGA)來完成,因此在加載不同用戶的配置信息的時候,不同的解密算法也會被加載到系統上,形成一個具有硬件解密功能的軟件無線電臺配置系統平臺。
軟件無線電臺安全配置系統終端部分的硬件結構如圖1所示。
終端部分主要由兩部分組成:W3100部分是以網絡協議芯片W31OOA為核心,完成以太網數據包的解析;FPSLIC部分是以Atmel公司FPSLIC器件AT94K系列微處理器為核心,完成全部控制功能和配置文件的解密。
1.1 W31DOA系統
W3100A系統主要完成對遠程控制信息和傳送數據TCP/IP包的解析,其結構示意圖如圖2所示。這款芯片的內部結構分為4部分:與處理器接口部分(MCU Interface)、硬件網絡協議核、存儲器(DPRAM)和與MII接口部分。其中MII接口接上一個物理層芯片,系統中采用RTL8201BL。這款芯片能從硬件上實現網絡協議的關鍵是它的協議引擎。在它的內部結構中有幾個與網絡協議相關的寄存器:命令寄存器C_CR,它的各位分別表示系統初始化、通道Socket初始化、建立連接、偵聽、接收、發送、關閉等命令,將命令寄存器C-CR置位就可以完成相應的命令;C-DIR為目的IP地址寄存器;C-DPR為目的端口地址寄存器;C-TOSR為服務類型寄存器,對應于IP報頭的TOS字段;C-IPR為IP協議寄存器,對應于IP報頭的協議字段;C-SPR為源端口寄存器;C-SSRSocket為狀態寄存器;GAR為網關地址寄存器;SMR為子網屏蔽寄存器;SHAR為源硬件地址寄存器;SItR為源IP地址寄存器等等。
與主控部分FPSLIC器件連接選擇I2C接口,系統主機部分發送的配置信息在W3100A部分解析TCP/IP協議的數據幀格式,然后發送給MCU。此時MCU接收到的數據是經過加密的配置信息。
1.2 FPSLIC系統
FPSIC系統接收來自W3100A系統解析后的數據,通過內部MCU將數據解密并將解密后的數據存放到存儲器。當全部接收完成后,系統自動重新啟動,新的配置信息將被加載,系統開始新的任務。
這個過程如圖3所示。在這個過程中,除了相同的文件接收、系統解密、文件發送等相同的配置信息外,還可以根據不同的用戶配置不同的軟件無線電解密信息。真正軟件無線電的配置信息需要等待系統終端配置完成并重新啟動后,從主機端接收加密的配置信息并解密得到。這個過程如圖4所示。
FPSIC系統采用Atrrlel公司的AT94K40為控制器,包含1個AVR單片機內核和l片40K門數的FPGA以及1個32K動杰分布的靜杰存儲器(SRAM)。
嵌入式AVR內核在單個時鐘周期內執行指令。它的吞吐量接近l MIPS/MHz,而AVR的實際吞吐量可以使系統結構隨著處理速度而優化電源功耗。30 MIPS的AVR內核給予增強型RISC結構,是一個集合了32個工作寄存器的指令組合系統。這些工作寄存器直接連接到算術邏輯單元,使得在單個周期內執行單條指令時,能響應2個獨立的寄存器。30 MIPS的吞吐量能使FPSLIC電路適應任何高性能的應用場所。微處理器中固有的硬件乘法器支持復雜的DSP功能,并支持微處理器和FPGA及DSP的邏輯電路軟件和硬件算法。
AVR單片機內核的數據總線直接和FPGA的總線資源相聯結,可以將FPGA用作AVR的I/O設備。用戶可以利用FPGA實現各種外設或當作協處理器。FPGA具有16條編碼地址線,可以為AVR提供最多16個中斷信號。在工作狀態中,AVR可以對FPGA重新編程,實現系統動態配置。系統中用FPGA的中斷來判斷一個數據是否解密完成,完成后,繼續下一個數據。AVR向FPGA發送數據的程序如下所示:
void senddata_to_fpga(void)( //發送數據到FPGA
FPGA_INT_FLAG=O;
delay(500):
FI1SCR=Ox00; //配置FPGAI/O選擇線
FISUA=0x00t
FISCR=0X80; //使能FPGA_AVR中斷
FIUA=OX11; //選擇FPGA中斷0
}
#pragma interrupt_handler FPGA_intO_isr:iv_FPGA_lNT0
void FPGA_int0_isr(void){
PORTD'=0X04;
FPGA_lNT_FLAG=1; //FPGA發送完成后,請求終端
//接收下一個數據
}
crc=crc<<1;
}
信息的加載過程中,數據幀的結構及傳輸協議如下:
每個數據幀都由開始位、包號碼、包號校驗碼、數據和數據校驗位五部分組成。配置信息過程中,如果出現網絡中斷或者人為破壞,使得配置信息不能夠順利加載,系統將根據配置信息加載信息流的傳輸協議返回錯誤信息,并中斷傳輸,保持以前用戶的信息不變。因此,當一個用戶的登陸或加載失敗時,系統并不受影響,而是保持原來的狀態繼續運行。
3 配置信息的生成和加載
不同的用戶可以在自己的加密算法開發完成后,用SystemDesigner3.0所包含的下載軟件CPS(Configurator Programming System)將文件下載到系統進行調試。調試成功后,再用CPS將文件從器件中讀出,生成.bst文件。
讀取文件時,CPS的設置如圖6所示。
系統在主機端提供了二進制文件加密生成軟件,可以將這個.bst文件加密并轉化成.hex的二進制文件,用來配置終端系統。這個加密算法是系統本身提供的,對于任何用戶都是相同的,目的在于保護終端配置信息在傳輸通道上的安全。二進制加密配置文件生成的過程如圖7所示。當用戶登錄成功后,系統會根據用戶信息自動配置用戶預先設定好的配置信息。當返回成功配置信息后,用戶就可以通過終端解密來實現軟件無線電的配置。
結語
通過驗證,本系統能夠很好地完成遠程軟件無線電的安全配置,達到了預期的目的。W3100A系統利用簡單的設計完成了配置系統與以太網的結合,適用于基于網絡的嵌入式系統的開發。應用FPSLIC微控制器實現系統設計,具有體積小、功耗低等特點。在此平臺上開發軟件無線電的安全配置系統,具有很大的優越性。這種設計可以推廣到更多要求高安全性的在線可編程系統應用中。
評論