李秀瀅,段曉毅,陳漢林
(北京電子科技學(xué)院 電子信息工程系,北京 100070)
基于專用芯片的密碼工程實驗平臺的設(shè)計
李秀瀅,段曉毅,陳漢林
(北京電子科技學(xué)院 電子信息工程系,北京 100070)
針對當(dāng)前高校密碼工程教育缺少有效的實驗平臺的問題,設(shè)計了基于通用密碼安全芯片的軟硬件結(jié)合的實驗平臺。以SoC技術(shù)為依托,平臺硬件設(shè)計了安全控制器模塊、ARM模塊和FPGA模塊三個部分。平臺的軟件設(shè)計遵循實踐教學(xué)規(guī)律,構(gòu)建了符合微軟規(guī)范的CSP,并開發(fā)了若干實驗例程。實踐表明,該平臺不僅讓學(xué)生全面的掌握密碼工程的相關(guān)知識,而且增強了學(xué)生的工程實踐能力和創(chuàng)新能力。該實驗平臺對提升密碼工程教學(xué)效果具有重要意義。關(guān)鍵詞:密碼工程;Z32;實驗平臺;密碼設(shè)備
信息安全技術(shù)重要的基礎(chǔ)就是密碼理論和技術(shù),當(dāng)前針對密碼理論方面的人才培養(yǎng)較為普遍,而針對密碼工程的人才教育卻較為匱乏。隨著信息安全理論與技術(shù)的廣泛應(yīng)用,用于保障信息系統(tǒng)安全的專用密碼系統(tǒng) (文中統(tǒng)稱為設(shè)備)已成為不可或缺的重要部分。當(dāng)前的密碼設(shè)備種類繁多,如密碼機、服務(wù)器密碼機、PCI加密卡、智能IC卡、USB key等。為培養(yǎng)學(xué)生的密碼工程的實踐能力亟需設(shè)計開發(fā)配套的實驗實踐平臺,讓學(xué)生能在實踐中掌握密碼工程的相關(guān)技術(shù)[1]。
密碼工程(Cryptographic Engineering)主要指密碼系統(tǒng)的設(shè)計、實現(xiàn)、測試、驗證和應(yīng)用等工程過程。密碼系統(tǒng)涉及的內(nèi)容包括加/解密引擎,數(shù)字簽名與驗證的軟硬件系統(tǒng),真隨機數(shù),以及密鑰的產(chǎn)生、分發(fā)與管理系統(tǒng)等等。密碼工程涉及的學(xué)科包括數(shù)學(xué)、電子信息工程(硬件設(shè)計、嵌入式設(shè)計、各種通信網(wǎng)絡(luò)協(xié)議)及計算機科學(xué)(算法設(shè)計、復(fù)雜性理論、軟件設(shè)計等)。從以上概念中可以認定,密碼工程實際上是密碼系統(tǒng)即相關(guān)密碼設(shè)備的工程實踐,所以密碼工程人才教育實質(zhì)就是培養(yǎng)學(xué)生密碼設(shè)備研發(fā)相關(guān)的工程實踐能力。
古人云:“工欲善其事,必先利其器”,學(xué)生工程實踐能力的培養(yǎng),離不開實驗設(shè)備。密碼設(shè)備所涉及的知識和技術(shù)比較龐雜,不可能讓學(xué)生從一點點搭建實踐環(huán)境開始實驗,而且當(dāng)前市場上缺少密碼工程實驗教學(xué)系統(tǒng),所以必須從實踐能力培養(yǎng)的知識體系出發(fā),研發(fā)一套適合密碼工程能力培養(yǎng)的實驗教學(xué)系統(tǒng)。
該實驗平臺研制的目的在于:讓學(xué)生了解現(xiàn)代密碼設(shè)備的組成原理、了解密碼工程設(shè)計思想以及掌握密碼工程相關(guān)技術(shù)。借助該實驗平臺,學(xué)生可以進行一系列與硬件相關(guān)的信息安全工程實驗,如:密碼算法的軟硬件設(shè)計、密鑰的生成與管理、小型密碼系統(tǒng)的搭建、PKI證書的管理以及各種密碼服務(wù)設(shè)備的模型構(gòu)造等等??紤]到實驗設(shè)備的通用性、可擴展性以及高效性,所以該實驗平臺不僅能提供密碼工程相關(guān)課程的實驗環(huán)境,還可以進行EDA技術(shù)、電子系統(tǒng)設(shè)計和嵌入式系統(tǒng)方面的工程實踐,這樣可以極大的減少設(shè)備的維護量,提高設(shè)備的利用率。
該實驗平臺是一個軟硬結(jié)合的教學(xué)系統(tǒng),面向設(shè)計性與綜合性的軟硬件實驗,將ARM、FPGA和通用密碼安全芯片整合到一個平臺上,每個部分又相互獨立,可進行多門課程的實驗。當(dāng)前嵌入式系統(tǒng)(設(shè)備)向著高度集成化和芯片化方向發(fā)展,所以實驗平臺采用了面向SoC(片上系統(tǒng))設(shè)計的理念,采用國內(nèi)比較成熟的商用密碼安全芯片作為硬件平臺的核心。軟件平臺的設(shè)計遵循開放、通用以及面向教學(xué)的原則,開發(fā)硬件平臺資源的驅(qū)動程序、PC機接口API(應(yīng)用程序編程接口)以及簡單的實驗例程。其中將平臺API封裝符合微軟的Crypto API調(diào)用規(guī)范的CSP (Cryptographic Service Provider密碼服務(wù)提供者)。
實驗平臺包含硬件平臺和軟件平臺兩部分,硬件平臺由三大模塊組成:安全控制器模塊、ARM模塊和FPGA模塊。3個模塊之間既可以互相通信,又可以獨立工作。每個模塊都配有相應(yīng)的編程接口。安全控制器模塊的核心組件采用商用的安全控制器芯片Z32U-Flash,ARM模塊的核心組件采用ARM7芯片LPC2468,F(xiàn)PGA模塊的核心組件采用Altera芯片EP2C5Q208。在每個模塊中都配備相應(yīng)的鍵盤、按鍵、LED、數(shù)碼管、液晶等外圍電路資源。平臺的總體框架如圖1所示[2]。
圖1 密碼工程實驗平臺的框架Fig.1 Architecture of cryptographic engineering experimental platform
實驗平臺設(shè)計了豐富的硬件電路資源,目的是給學(xué)生提供更多的實踐機會,這里的安全控制器模塊是整個硬件平臺的核心,密碼工程相關(guān)的眾多實驗都可在其上獨立進行。FPGA模塊可以進行硬件電路的擴展,其中一個重要功能就是擴展成密碼算法的硬件模塊。ARM模塊既可以作為安全芯片的協(xié)處理器,也可以作為構(gòu)建密碼系統(tǒng)的主控制器。
過去對于設(shè)計一個提供密碼服務(wù)的設(shè)備來說,需要組織多個器件,有控制器、大數(shù)運算協(xié)處理器、隨機數(shù)產(chǎn)生器、存儲器以及接口電路等等,隨著芯片技術(shù)的飛速發(fā)展,這些器件都可以集成到一塊芯片中,既提高了性能、減小體積又增加了設(shè)備的安全性,所以本實驗平臺的密碼安全模塊的核心采用了ZTEIC(中興集成電路公司)生產(chǎn)的一款較為成熟的Z32UF-Flash系列的安全控制器芯片 (簡稱Z32安全芯片),該芯片密碼功能較為齊全,且可以多次編程,適合學(xué)生進行工程實踐。Z32安全芯片內(nèi)部的硬件邏輯單元如圖2所示[3]。
圖2 Z32內(nèi)部硬件邏輯結(jié)構(gòu)Fig.2 Inner logic structure of the Z32 chip
安全控制器模塊在Z32安全芯片的基礎(chǔ)上擴展了一系列外圍硬件資源。這些外圍組件通過SPI、GPIO和UART與Z32芯片通信。Z32芯片的GPIO接口有27個引腳,支持2個外部中斷,其中1-14引腳可配置成通用并口,這里設(shè)計將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液晶、撥碼開關(guān)、數(shù)碼管、LED、矩陣鍵盤等外圍組件。利用LPC2468芯片的以太網(wǎng)接口和串口又擴展了網(wǎng)絡(luò)模組和GSM模組。ARM7芯片與FPGA芯片通過32位總線進行通信。ARM模塊的硬件組成結(jié)構(gòu)如圖4所示。
圖4 ARM模塊硬件組成框圖Fig.4 Hardware composition block of ARM module
FPGA模塊[5]是采用Altera公司的二代FPGA芯片EP2C5 Q208作為核心組件,并將FPGA最小系統(tǒng)部分設(shè)計成可插拔板塊,便于維修更換。FPGA最小系統(tǒng)增加了EPCS4配置芯片,可以實現(xiàn)掉電不失程序,它的配置下載方式既有JTAG方式又有AS方式。FPGA模塊配有撥碼開關(guān)、數(shù)碼管、LED、矩陣鍵盤等外圍組件。FPGA模塊獨立供電,可以單獨使用。FPGA模塊的硬件組成結(jié)構(gòu)如圖5所示。
圖5 FPGA模塊硬件組成框圖Fig.5 Hardware composition block of FPGA module
對于一個實驗平臺來說,假如說硬件是身體,那么軟件就是靈魂,只有系統(tǒng)的資源完備,有充足的學(xué)習(xí)指導(dǎo)和參考,學(xué)生才能快速且完整的掌握實踐技能。本實驗系統(tǒng)的軟件平臺由多部分組成:各模塊的固件程序、ARM7的μC/OS-II操作系統(tǒng)、密碼安全模塊的下載(boot)程序、Window平臺下的Crypto API所需的CSP以及密碼工程實驗例程。對于學(xué)習(xí)密碼工程技術(shù)的學(xué)生來說,讓他們了解各器件的電路原理固然重要,但更重要的是讓他們較快的掌握密碼設(shè)備的基本原理和相關(guān)技術(shù)。所以該實驗平臺一個重要的目標(biāo)是:讓學(xué)生在掌握硬件電路基本構(gòu)造的基礎(chǔ)上,利用平臺提供的軟件接口,進行各種信息安全工程應(yīng)用相關(guān)的程序設(shè)計。
實驗平臺的3個硬件模塊包含了眾多的外圍組件,在每個模塊的固件程序包中都有該部分的接口驅(qū)動例程,便于學(xué)生快速的掌握該組件的應(yīng)用。為了讓學(xué)生掌握實驗平臺的設(shè)計,各模塊固件程序中設(shè)計了模塊間的通信協(xié)議幀[6]。封裝的通信接口協(xié)議幀如表1所示。
表1 模塊間通信的接口協(xié)議幀Tab.1 Communication frame between the Modules
接口協(xié)議幀的長度有10個字節(jié)組成。Model代表某一硬件模塊;Port指模塊內(nèi)的某個組件;FrameType指定幀類型,包括命令幀、數(shù)據(jù)幀和測試幀三種;DataFlag表明該幀之后有無數(shù)據(jù)傳送;DataWidth說明數(shù)據(jù)傳送的寬度,不同器件的輸入輸出的數(shù)據(jù)寬度不同,所以在幀頭中說明了傳送數(shù)據(jù)的寬度;BufferAdd為傳送數(shù)據(jù)的緩沖區(qū)地址,對于數(shù)據(jù)幀來說該字段尤為重要;checkBit用來進行幀數(shù)據(jù)的校驗,在本接口協(xié)議中采用了CRC校驗。
為了讓學(xué)生深入理解密碼技術(shù)在信息系統(tǒng)中的應(yīng)用,本實驗平臺利用微軟的MFC編程環(huán)境,將設(shè)備接口(API)封裝成遵循微軟CryptoAPI調(diào)用規(guī)范的CSP,學(xué)生可以在Windows操作系統(tǒng)下,直接調(diào)用CryptoAPI函數(shù)進行數(shù)據(jù)加/解密、密鑰生成存儲以及證書存儲等密碼應(yīng)用。本實驗平臺的CryptoAPI架構(gòu)如圖6所示[7]。
圖6 實驗平臺的CryptoAPI應(yīng)用架構(gòu)Fig.6 CryptoAPI architecture of the experimental platform
對于多數(shù)教學(xué)實驗平臺來說,實驗例程既是學(xué)生高效、快速掌握密碼工程實踐技能不可或缺的部分,又是檢驗實驗平臺實際功能水平的重要方法。在該實驗平臺的CryptoAPI的基礎(chǔ)之上,系統(tǒng)開發(fā)了多個實驗例程[8]。包括:RSA1024、AES、DES等多種密碼算法的應(yīng)用實驗、FPGA擴展密碼算法的應(yīng)用實驗、密鑰產(chǎn)生/刪除/恢復(fù)的實驗、證書申請和存儲的實驗、密鑰管理(生成、刪除和備份等)的實驗、密碼設(shè)備用戶管理的實驗等。 圖7是密鑰管理實驗的示例程序。程序?qū)⒋鎯υ趯嶒炂脚_IC卡中的主密鑰恢復(fù)到Z32存儲空間中,用于對新產(chǎn)生的密鑰進行加密保護。
圖7 密鑰管理實驗例程Fig.7 Example program of key management
密碼工程涉及多個學(xué)科的知識和技能,單從課堂上講授,鍛煉不了學(xué)生的實戰(zhàn)能力。所以本實驗平臺一方面可作為教學(xué)演示,另一方面為學(xué)生搭建了密碼與信息安全類工程實踐訓(xùn)練的環(huán)境,意在培養(yǎng)學(xué)生的電子設(shè)計、嵌入式系統(tǒng)設(shè)計及密碼系統(tǒng)設(shè)計和實現(xiàn)的能力。該平臺資源豐富,對于電子和信息安全類專業(yè)的學(xué)生來說,可以進行相關(guān)的課程設(shè)計和畢業(yè)設(shè)計。該平臺目前在北京電子科技學(xué)院電子工程實驗室已經(jīng)有了實際應(yīng)用,當(dāng)前高校缺少專門針對密碼工程的實驗教學(xué)平臺,該平臺的研制在一定程度上彌補了我國在該領(lǐng)域?qū)嵺`教學(xué)設(shè)備的缺失。
[1]惠珗,董剛,張媛,等.網(wǎng)絡(luò)信息安全實驗平臺的創(chuàng)新設(shè)計與實現(xiàn)[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]趙佳,劉蘊紅.基于模擬開關(guān)技術(shù)的可切換實驗平臺設(shè)計[J].電子設(shè)計工程,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].深圳:國民技術(shù)股份有限公司,2007.
[4]梁偉,王建華,陳建泗.即插即用的個人信息安全設(shè)備的設(shè)計與實現(xiàn)[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]陳亮,劉金學(xué).基于DSP和FPGA的導(dǎo)航計算機系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),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]宛鵬飛,黃俊,萬志衛(wèi),等.EPON測試儀中協(xié)議幀采集的FPGA設(shè)計與實現(xiàn)[J].光通信技術(shù),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]劉亞楠,劉衛(wèi)東,張小平,等.THINPAD教學(xué)計算機實驗平臺設(shè)計[J].實驗技術(shù)與管理,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
新聞出版重大科技工程項目—數(shù)字版權(quán)保護技術(shù)研發(fā)工程(GXTC-CZ-1015004/05);2013北京市共建項目;中央高?;究蒲袠I(yè)務(wù)費(工程2013)
李秀瀅(1975—),女,黑龍江伊春人,碩士,講師。研究方向:電子工程、信號處理、信息安全。