武漢三江航天網絡通信有限公司研發部 王 振
隨著網絡技術,特別是互聯網技術在我國的迅速推過和普及,各種網絡應用,如電子商務,電子政務,網上銀行,網上證券交易等也在我國迅猛發展。但是網絡非法入侵、詐騙等嚴重影響了網絡信息安全。只有不斷發展和提高網絡信息安全技術,才能保證網絡健康發展。在信息安全技術領域,公開密鑰基礎設施(PKI),很好的為互聯網提供了安全服務。如今網絡應用中的認證,數據的加解密,完整性驗證,不可否認性等,已經離不開PKI技術的支持。目前通用的軟件算法例如DES,3DES,RC4等在安全上無法得到保證,有些算法已經被破解。而SM1算法基于PKI技術,是一種基于硬件芯片的對稱算法,并且是國家密碼管理局明文指定的一種算法。要求在網絡大數據量傳輸的過程中,主要是通過對稱算法SM1來實現數據的加解密工作,保證網絡信息安全交互,而非對稱算法來實現身份認證和唯一性。

圖1 系統總體圖

圖2 SM1芯片接口設計

圖3 晶振時鐘圖

圖4 軟件設計圖
系統采用嵌入式系統,CPU采用三星公司S3C2440,操作系統采用嵌入式linux,64M SDRAM,128M NAND FLASH,SSX-E提供SM1算法。系統的總體設計如圖1。
CPU:提供系統運行和計算以及和各個模塊進行通信;
RAM:提供操作系統運行空間;
FLASH:提供boot啟動程序,內核映像,文件系統;
ETHERNET:提供網絡通信接口;
SM1:提供SM1算法接口;
UART:提供串口調試功能。
系統CPU通過32為數據總線接口訪問SSX-E芯片,為系統應用提供SM1算法。
SSX-E芯片:分組密碼算法芯片,實現SM1密碼算法。該分組密碼算法的分組長度為128比特,密鑰長度為128比特。具有ECB、CBC和OFB等多種運算模式,在32位數據總線寬度、ECB模式下運算速率可達到300Mbps以上,可滿足各種條件下的應用需求。
主要的接口為:
HD[0:31]:32位數據總線;
HA[0:2]:地址總線;
/HCS:芯片片選信號;
/HRD:芯片讀信號;
/HWR:芯片寫信號。
根據SSX-E器件的要求,外部時鐘使用50MHZ有源晶振作為芯片的主工作時鐘,如圖3所示。
系統軟件設計主要包括SM1算法的應用層API和內核層的驅動。應用層API實現系統應用調用SM1算法例如:ecb模式加密,ecb模式解密、cbc模式加密,cbc模式解密等。內核層的驅動:三星cpu通過32位數據總線,與SSX-E芯片交互數據。軟件系統設計如圖4所示。
嵌入式系統中,bootloader是必須的。它是在操作系統內核運行之前的一小段程序,就像BIOS一樣。這段程序可以初始化硬件設備,建立內存空間映射圖,從而將軟件的軟硬件環境設置到一個合適的狀態,以便為最終調用操作系統內核準備好正確的環境。
根據需要配置內核選項,主要包含:
(1)啟動傳遞參數
(2)devfs文件系統支持
(3)芯片及系統類型配置
(4)DMA Engine support
(5)MMC/SD/SDIO card support
Linux的內核是有設備管理、進程管理、內存管理和文件系統組成,linux設備驅動可以分為字符類設備、塊類設備、網絡接口類設備和其他非標準驅動。SM1設備被看做是字符型設備。
每個SPI外設都由1個總線號、1個設備號和1個功能號來標示,共有3個訪問空間,即內存空間、I/O端口、和配置寄存器。每個設備功能都有一個配置空間,用于決定SPI的工作方式和映射到系統中的地址。相關函數:


由于SM1算法主要有:ecb模式加密,ecb模式解密、cbc模式加密,cbc模式解密等,API函數有:SM1_OpenDev,SM1_CloseDev,SM1_Initdev,SM1_LoadKeyIV,SM1_EcbEncrypt,SM1_EcbDecrypt,SM1_CbcEncrypt,SM1_CbcDecrypt。通過這些API函數可以對數據信息進行加解密,當黑客截獲數據也無法破解,保證信息安全傳遞。
本系統通過嵌入式系統實現了SM1算法接口,為后續應用系統做好了保障。已經成功應用在VPN系統以及CA中心。SM1算法效率高,速度快,破解難度大。隨著信息安全的發展,國家密碼管理局已經指定SM1算法作為對稱加解密算法,而禁止使用軟件算法,在今后的應用中會有更大的發展空間。
[1]公鑰基礎設施PKI與認證機構CA[M].北京:電子工業出版社,2002.
[2]嵌入式系統原理及接口技術[M].北京:清華大學出版社,2007.
[3]嵌入式設備驅動開發詳解[M].北京:人民郵電出版社,2008.
[4]S3C2440A 32-BIT CMOS MICROCONTROLLER USER'S MANUAL,2004.