李秀瀅,段曉毅,陳漢林
(北京電子科技學院 電子信息工程系,北京 100070)
基于專用芯片的密碼工程實驗平臺的設計
李秀瀅,段曉毅,陳漢林
(北京電子科技學院 電子信息工程系,北京 100070)
針對當前高校密碼工程教育缺少有效的實驗平臺的問題,設計了基于通用密碼安全芯片的軟硬件結合的實驗平臺。以SoC技術為依托,平臺硬件設計了安全控制器模塊、ARM模塊和FPGA模塊三個部分。平臺的軟件設計遵循實踐教學規律,構建了符合微軟規范的CSP,并開發了若干實驗例程。實踐表明,該平臺不僅讓學生全面的掌握密碼工程的相關知識,而且增強了學生的工程實踐能力和創新能力。該實驗平臺對提升密碼工程教學效果具有重要意義。關鍵詞:密碼工程;Z32;實驗平臺;密碼設備
信息安全技術重要的基礎就是密碼理論和技術,當前針對密碼理論方面的人才培養較為普遍,而針對密碼工程的人才教育卻較為匱乏。隨著信息安全理論與技術的廣泛應用,用于保障信息系統安全的專用密碼系統 (文中統稱為設備)已成為不可或缺的重要部分。當前的密碼設備種類繁多,如密碼機、服務器密碼機、PCI加密卡、智能IC卡、USB key等。為培養學生的密碼工程的實踐能力亟需設計開發配套的實驗實踐平臺,讓學生能在實踐中掌握密碼工程的相關技術[1]。
密碼工程(Cryptographic Engineering)主要指密碼系統的設計、實現、測試、驗證和應用等工程過程。密碼系統涉及的內容包括加/解密引擎,數字簽名與驗證的軟硬件系統,真隨機數,以及密鑰的產生、分發與管理系統等等。密碼工程涉及的學科包括數學、電子信息工程(硬件設計、嵌入式設計、各種通信網絡協議)及計算機科學(算法設計、復雜性理論、軟件設計等)。從以上概念中可以認定,密碼工程實際上是密碼系統即相關密碼設備的工程實踐,所以密碼工程人才教育實質就是培養學生密碼設備研發相關的工程實踐能力。
古人云:“工欲善其事,必先利其器”,學生工程實踐能力的培養,離不開實驗設備。密碼設備所涉及的知識和技術比較龐雜,不可能讓學生從一點點搭建實踐環境開始實驗,而且當前市場上缺少密碼工程實驗教學系統,所以必須從實踐能力培養的知識體系出發,研發一套適合密碼工程能力培養的實驗教學系統。
該實驗平臺研制的目的在于:讓學生了解現代密碼設備的組成原理、了解密碼工程設計思想以及掌握密碼工程相關技術。借助該實驗平臺,學生可以進行一系列與硬件相關的信息安全工程實驗,如:密碼算法的軟硬件設計、密鑰的生成與管理、小型密碼系統的搭建、PKI證書的管理以及各種密碼服務設備的模型構造等等??紤]到實驗設備的通用性、可擴展性以及高效性,所以該實驗平臺不僅能提供密碼工程相關課程的實驗環境,還可以進行EDA技術、電子系統設計和嵌入式系統方面的工程實踐,這樣可以極大的減少設備的維護量,提高設備的利用率。
該實驗平臺是一個軟硬結合的教學系統,面向設計性與綜合性的軟硬件實驗,將ARM、FPGA和通用密碼安全芯片整合到一個平臺上,每個部分又相互獨立,可進行多門課程的實驗。當前嵌入式系統(設備)向著高度集成化和芯片化方向發展,所以實驗平臺采用了面向SoC(片上系統)設計的理念,采用國內比較成熟的商用密碼安全芯片作為硬件平臺的核心。軟件平臺的設計遵循開放、通用以及面向教學的原則,開發硬件平臺資源的驅動程序、PC機接口API(應用程序編程接口)以及簡單的實驗例程。其中將平臺API封裝符合微軟的Crypto API調用規范的CSP (Cryptographic Service Provider密碼服務提供者)。
實驗平臺包含硬件平臺和軟件平臺兩部分,硬件平臺由三大模塊組成:安全控制器模塊、ARM模塊和FPGA模塊。3個模塊之間既可以互相通信,又可以獨立工作。每個模塊都配有相應的編程接口。安全控制器模塊的核心組件采用商用的安全控制器芯片Z32U-Flash,ARM模塊的核心組件采用ARM7芯片LPC2468,FPGA模塊的核心組件采用Altera芯片EP2C5Q208。在每個模塊中都配備相應的鍵盤、按鍵、LED、數碼管、液晶等外圍電路資源。平臺的總體框架如圖1所示[2]。

圖1 密碼工程實驗平臺的框架Fig.1 Architecture of cryptographic engineering experimental platform
實驗平臺設計了豐富的硬件電路資源,目的是給學生提供更多的實踐機會,這里的安全控制器模塊是整個硬件平臺的核心,密碼工程相關的眾多實驗都可在其上獨立進行。FPGA模塊可以進行硬件電路的擴展,其中一個重要功能就是擴展成密碼算法的硬件模塊。ARM模塊既可以作為安全芯片的協處理器,也可以作為構建密碼系統的主控制器。
過去對于設計一個提供密碼服務的設備來說,需要組織多個器件,有控制器、大數運算協處理器、隨機數產生器、存儲器以及接口電路等等,隨著芯片技術的飛速發展,這些器件都可以集成到一塊芯片中,既提高了性能、減小體積又增加了設備的安全性,所以本實驗平臺的密碼安全模塊的核心采用了ZTEIC(中興集成電路公司)生產的一款較為成熟的Z32UF-Flash系列的安全控制器芯片 (簡稱Z32安全芯片),該芯片密碼功能較為齊全,且可以多次編程,適合學生進行工程實踐。Z32安全芯片內部的硬件邏輯單元如圖2所示[3]。

圖2 Z32內部硬件邏輯結構Fig.2 Inner logic structure of the Z32 chip
安全控制器模塊在Z32安全芯片的基礎上擴展了一系列外圍硬件資源。這些外圍組件通過SPI、GPIO和UART與Z32芯片通信。Z32芯片的GPIO接口有27個引腳,支持2個外部中斷,其中1-14引腳可配置成通用并口,這里設計將Z32的并口作為與FPGA模塊通信的接口;Z32芯片的SPI接口是工作在主模式下的同步串行接口,與LPC2468芯片的SPI接口直接相連,形成兩模塊的通信通道。該模塊的硬件組成框圖如圖3所示[4]。

圖3 Z32模塊的硬件組成框圖Fig.3 Hardware composition block of Z32 module
ARM7是一款32位RISC(精簡指令集)的處理器,實驗平臺的ARM模塊采用ARM7的LPC2468芯片作為核心組件,配有LCD液晶、撥碼開關、數碼管、LED、矩陣鍵盤等外圍組件。利用LPC2468芯片的以太網接口和串口又擴展了網絡模組和GSM模組。ARM7芯片與FPGA芯片通過32位總線進行通信。ARM模塊的硬件組成結構如圖4所示。

圖4 ARM模塊硬件組成框圖Fig.4 Hardware composition block of ARM module
FPGA模塊[5]是采用Altera公司的二代FPGA芯片EP2C5 Q208作為核心組件,并將FPGA最小系統部分設計成可插拔板塊,便于維修更換。FPGA最小系統增加了EPCS4配置芯片,可以實現掉電不失程序,它的配置下載方式既有JTAG方式又有AS方式。FPGA模塊配有撥碼開關、數碼管、LED、矩陣鍵盤等外圍組件。FPGA模塊獨立供電,可以單獨使用。FPGA模塊的硬件組成結構如圖5所示。

圖5 FPGA模塊硬件組成框圖Fig.5 Hardware composition block of FPGA module
對于一個實驗平臺來說,假如說硬件是身體,那么軟件就是靈魂,只有系統的資源完備,有充足的學習指導和參考,學生才能快速且完整的掌握實踐技能。本實驗系統的軟件平臺由多部分組成:各模塊的固件程序、ARM7的μC/OS-II操作系統、密碼安全模塊的下載(boot)程序、Window平臺下的Crypto API所需的CSP以及密碼工程實驗例程。對于學習密碼工程技術的學生來說,讓他們了解各器件的電路原理固然重要,但更重要的是讓他們較快的掌握密碼設備的基本原理和相關技術。所以該實驗平臺一個重要的目標是:讓學生在掌握硬件電路基本構造的基礎上,利用平臺提供的軟件接口,進行各種信息安全工程應用相關的程序設計。
實驗平臺的3個硬件模塊包含了眾多的外圍組件,在每個模塊的固件程序包中都有該部分的接口驅動例程,便于學生快速的掌握該組件的應用。為了讓學生掌握實驗平臺的設計,各模塊固件程序中設計了模塊間的通信協議幀[6]。封裝的通信接口協議幀如表1所示。

表1 模塊間通信的接口協議幀Tab.1 Communication frame between the Modules
接口協議幀的長度有10個字節組成。Model代表某一硬件模塊;Port指模塊內的某個組件;FrameType指定幀類型,包括命令幀、數據幀和測試幀三種;DataFlag表明該幀之后有無數據傳送;DataWidth說明數據傳送的寬度,不同器件的輸入輸出的數據寬度不同,所以在幀頭中說明了傳送數據的寬度;BufferAdd為傳送數據的緩沖區地址,對于數據幀來說該字段尤為重要;checkBit用來進行幀數據的校驗,在本接口協議中采用了CRC校驗。
為了讓學生深入理解密碼技術在信息系統中的應用,本實驗平臺利用微軟的MFC編程環境,將設備接口(API)封裝成遵循微軟CryptoAPI調用規范的CSP,學生可以在Windows操作系統下,直接調用CryptoAPI函數進行數據加/解密、密鑰生成存儲以及證書存儲等密碼應用。本實驗平臺的CryptoAPI架構如圖6所示[7]。

圖6 實驗平臺的CryptoAPI應用架構Fig.6 CryptoAPI architecture of the experimental platform
對于多數教學實驗平臺來說,實驗例程既是學生高效、快速掌握密碼工程實踐技能不可或缺的部分,又是檢驗實驗平臺實際功能水平的重要方法。在該實驗平臺的CryptoAPI的基礎之上,系統開發了多個實驗例程[8]。包括:RSA1024、AES、DES等多種密碼算法的應用實驗、FPGA擴展密碼算法的應用實驗、密鑰產生/刪除/恢復的實驗、證書申請和存儲的實驗、密鑰管理(生成、刪除和備份等)的實驗、密碼設備用戶管理的實驗等。 圖7是密鑰管理實驗的示例程序。程序將存儲在實驗平臺IC卡中的主密鑰恢復到Z32存儲空間中,用于對新產生的密鑰進行加密保護。

圖7 密鑰管理實驗例程Fig.7 Example program of key management
密碼工程涉及多個學科的知識和技能,單從課堂上講授,鍛煉不了學生的實戰能力。所以本實驗平臺一方面可作為教學演示,另一方面為學生搭建了密碼與信息安全類工程實踐訓練的環境,意在培養學生的電子設計、嵌入式系統設計及密碼系統設計和實現的能力。該平臺資源豐富,對于電子和信息安全類專業的學生來說,可以進行相關的課程設計和畢業設計。該平臺目前在北京電子科技學院電子工程實驗室已經有了實際應用,當前高校缺少專門針對密碼工程的實驗教學平臺,該平臺的研制在一定程度上彌補了我國在該領域實踐教學設備的缺失。
[1]惠珗,董剛,張媛,等.網絡信息安全實驗平臺的創新設計與實現[J].實驗室研究與探索,2011,30(7):50-53.
HUI Yue,DONG Gang,ZHANG Yuan,et al.Design and implementation ofinnovation experimentalplatform for internet information security[J].Research and Exploration in Laboratory,2011,30(7):50-53.
[2]趙佳,劉蘊紅.基于模擬開關技術的可切換實驗平臺設計[J].電子設計工程,2011,19(23):67-70.
ZHAO Jia,LIU Yun-hong.Design of switchable experimental platform based on analog switching technology[J].Electronic Design Engineering,2011,19(23):67-70.
[3]32位安全控制器Z32U-Flash系列用戶手冊[S].深圳:國民技術股份有限公司,2007.
[4]梁偉,王建華,陳建泗.即插即用的個人信息安全設備的設計與實現[J].自動化儀表,2010,31(6):73-75.
LIANG Wei,WANG Jian-hua,CHEN Jian-si.Design and realization of plug and play personal information security equipment[J].Process Automation Instrumentation,2010,31(6):73-75.
[5]陳亮,劉金學.基于DSP和FPGA的導航計算機系統設計[J].現代電子技術,2012(2):1-3,6.
CHEN Liang,LIU Jin-xue.Design of navigation computer system based on DSP and FPGA[J].Modern Electronics Technique,2012(2):1-3,6.
[6]宛鵬飛,黃俊,萬志衛,等.EPON測試儀中協議幀采集的FPGA設計與實現[J].光通信技術,2011(1):51-53.
WAN Peng-fei,HUANG Jun,WAN Zhi-wei,et al.Design and implementation of protocol frame acquisition for EPON analyzerbased on FPGA [J].OpticalCommunication Technology,2011(1):51-53.
[7]Microsoft Crypto API and Cryptographic Service Providers[EB/OL].http:msdn.Microsoft.com.
[8]劉亞楠,劉衛東,張小平,等.THINPAD教學計算機實驗平臺設計[J].實驗技術與管理,2012,29(11):115-118.
LIU Ya-nan,LIU Wei-dong,ZHANG Xiao-ping,et al.Design of THINPAD experimental platform of teaching coputer[J].Experimental Technology and Management,2012,29 (11):115-118.
Design of experimental platform for cryptographic engineering based on special-purpose chip
LI Xiu-ying, DUAN Xiao-yi, CHEN Han-lin
(Department of Electronics&Information Engineering, Beijing Electronic Science&Technology Inst.,Beijing 100070 ,China)
An experimental platform for cryptographic engineering based on the general crypt security chip is proposed.It solves the problem that colleges are lack of experimental platform for cryptographic engineering practice education.The platform hardware design relies on System-on-Chip (SoC).It includes three modules:security chip, ARM and FPGA.The CSP software complying with Microsoft standards and example programs are developed.The practice shows that the platform can not only make students fully master the learning of cryptographic engineering,but also improve their practice capability and innovative ability.It has important significance to improve the teaching effect of cryptographic engineering.
cryptographic engineering;Z32;experimental platform;cryptographic equipment
TP 393.07
A
1674-6236(2014)15-0011-04
2014-03-03 稿件編號:201403024
新聞出版重大科技工程項目—數字版權保護技術研發工程(GXTC-CZ-1015004/05);2013北京市共建項目;中央高?;究蒲袠I務費(工程2013)
李秀瀅(1975—),女,黑龍江伊春人,碩士,講師。研究方向:電子工程、信號處理、信息安全。