基于专用芯片的密码工程实验平台的设计

2014-09-23 03:21李秀滢段晓毅陈汉林
电子设计工程 2014年15期
关键词:实验平台

李秀滢,段晓毅,陈汉林

(北京电子科技学院 电子信息工程系,北京 100070)

基于专用芯片的密码工程实验平台的设计

李秀滢,段晓毅,陈汉林

(北京电子科技学院 电子信息工程系,北京 100070)

针对当前高校密码工程教育缺少有效的实验平台的问题,设计了基于通用密码安全芯片的软硬件结合的实验平台。以SoC技术为依托,平台硬件设计了安全控制器模块、ARM模块和FPGA模块三个部分。平台的软件设计遵循实践教学规律,构建了符合微软规范的CSP,并开发了若干实验例程。实践表明,该平台不仅让学生全面的掌握密码工程的相关知识,而且增强了学生的工程实践能力和创新能力。该实验平台对提升密码工程教学效果具有重要意义。关键词:密码工程;Z32;实验平台;密码设备

信息安全技术重要的基础就是密码理论和技术,当前针对密码理论方面的人才培养较为普遍,而针对密码工程的人才教育却较为匮乏。随着信息安全理论与技术的广泛应用,用于保障信息系统安全的专用密码系统 (文中统称为设备)已成为不可或缺的重要部分。当前的密码设备种类繁多,如密码机、服务器密码机、PCI加密卡、智能IC卡、USB key等。为培养学生的密码工程的实践能力亟需设计开发配套的实验实践平台,让学生能在实践中掌握密码工程的相关技术[1]。

密码工程(Cryptographic Engineering)主要指密码系统的设计、实现、测试、验证和应用等工程过程。密码系统涉及的内容包括加/解密引擎,数字签名与验证的软硬件系统,真随机数,以及密钥的产生、分发与管理系统等等。密码工程涉及的学科包括数学、电子信息工程(硬件设计、嵌入式设计、各种通信网络协议)及计算机科学(算法设计、复杂性理论、软件设计等)。从以上概念中可以认定,密码工程实际上是密码系统即相关密码设备的工程实践,所以密码工程人才教育实质就是培养学生密码设备研发相关的工程实践能力。

1 总体设计

古人云:“工欲善其事,必先利其器”,学生工程实践能力的培养,离不开实验设备。密码设备所涉及的知识和技术比较庞杂,不可能让学生从一点点搭建实践环境开始实验,而且当前市场上缺少密码工程实验教学系统,所以必须从实践能力培养的知识体系出发,研发一套适合密码工程能力培养的实验教学系统。

1.1 设计思想

该实验平台研制的目的在于:让学生了解现代密码设备的组成原理、了解密码工程设计思想以及掌握密码工程相关技术。借助该实验平台,学生可以进行一系列与硬件相关的信息安全工程实验,如:密码算法的软硬件设计、密钥的生成与管理、小型密码系统的搭建、PKI证书的管理以及各种密码服务设备的模型构造等等。考虑到实验设备的通用性、可扩展性以及高效性,所以该实验平台不仅能提供密码工程相关课程的实验环境,还可以进行EDA技术、电子系统设计和嵌入式系统方面的工程实践,这样可以极大的减少设备的维护量,提高设备的利用率。

该实验平台是一个软硬结合的教学系统,面向设计性与综合性的软硬件实验,将ARM、FPGA和通用密码安全芯片整合到一个平台上,每个部分又相互独立,可进行多门课程的实验。当前嵌入式系统(设备)向着高度集成化和芯片化方向发展,所以实验平台采用了面向SoC(片上系统)设计的理念,采用国内比较成熟的商用密码安全芯片作为硬件平台的核心。软件平台的设计遵循开放、通用以及面向教学的原则,开发硬件平台资源的驱动程序、PC机接口API(应用程序编程接口)以及简单的实验例程。其中将平台API封装符合微软的Crypto API调用规范的CSP (Cryptographic Service Provider密码服务提供者)。

1.2 平台的总体框架

实验平台包含硬件平台和软件平台两部分,硬件平台由三大模块组成:安全控制器模块、ARM模块和FPGA模块。3个模块之间既可以互相通信,又可以独立工作。每个模块都配有相应的编程接口。安全控制器模块的核心组件采用商用的安全控制器芯片Z32U-Flash,ARM模块的核心组件采用ARM7芯片LPC2468,FPGA模块的核心组件采用Altera芯片EP2C5Q208。在每个模块中都配备相应的键盘、按键、LED、数码管、液晶等外围电路资源。平台的总体框架如图1所示[2]。

图1 密码工程实验平台的框架Fig.1 Architecture of cryptographic engineering experimental platform

2 硬件设计

实验平台设计了丰富的硬件电路资源,目的是给学生提供更多的实践机会,这里的安全控制器模块是整个硬件平台的核心,密码工程相关的众多实验都可在其上独立进行。FPGA模块可以进行硬件电路的扩展,其中一个重要功能就是扩展成密码算法的硬件模块。ARM模块既可以作为安全芯片的协处理器,也可以作为构建密码系统的主控制器。

2.1 密码安全模块的硬件设计

过去对于设计一个提供密码服务的设备来说,需要组织多个器件,有控制器、大数运算协处理器、随机数产生器、存储器以及接口电路等等,随着芯片技术的飞速发展,这些器件都可以集成到一块芯片中,既提高了性能、减小体积又增加了设备的安全性,所以本实验平台的密码安全模块的核心采用了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

2.2 ARM模块的硬件设计

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

2.3 FPGA模块的硬件设计

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

3 软件设计

对于一个实验平台来说,假如说硬件是身体,那么软件就是灵魂,只有系统的资源完备,有充足的学习指导和参考,学生才能快速且完整的掌握实践技能。本实验系统的软件平台由多部分组成:各模块的固件程序、ARM7的μC/OS-II操作系统、密码安全模块的下载(boot)程序、Window平台下的Crypto API所需的CSP以及密码工程实验例程。对于学习密码工程技术的学生来说,让他们了解各器件的电路原理固然重要,但更重要的是让他们较快的掌握密码设备的基本原理和相关技术。所以该实验平台一个重要的目标是:让学生在掌握硬件电路基本构造的基础上,利用平台提供的软件接口,进行各种信息安全工程应用相关的程序设计。

3.1 模块间接口协议帧

实验平台的3个硬件模块包含了众多的外围组件,在每个模块的固件程序包中都有该部分的接口驱动例程,便于学生快速的掌握该组件的应用。为了让学生掌握实验平台的设计,各模块固件程序中设计了模块间的通信协议帧[6]。封装的通信接口协议帧如表1所示。

表1 模块间通信的接口协议帧Tab.1 Communication frame between the Modules

接口协议帧的长度有10个字节组成。Model代表某一硬件模块;Port指模块内的某个组件;FrameType指定帧类型,包括命令帧、数据帧和测试帧三种;DataFlag表明该帧之后有无数据传送;DataWidth说明数据传送的宽度,不同器件的输入输出的数据宽度不同,所以在帧头中说明了传送数据的宽度;BufferAdd为传送数据的缓冲区地址,对于数据帧来说该字段尤为重要;checkBit用来进行帧数据的校验,在本接口协议中采用了CRC校验。

3.2 CryptoAPI层

为了让学生深入理解密码技术在信息系统中的应用,本实验平台利用微软的MFC编程环境,将设备接口(API)封装成遵循微软CryptoAPI调用规范的CSP,学生可以在Windows操作系统下,直接调用CryptoAPI函数进行数据加/解密、密钥生成存储以及证书存储等密码应用。本实验平台的CryptoAPI架构如图6所示[7]。

图6 实验平台的CryptoAPI应用架构Fig.6 CryptoAPI architecture of the experimental platform

3.3 密码工程实验例程

对于多数教学实验平台来说,实验例程既是学生高效、快速掌握密码工程实践技能不可或缺的部分,又是检验实验平台实际功能水平的重要方法。在该实验平台的CryptoAPI的基础之上,系统开发了多个实验例程[8]。包括:RSA1024、AES、DES等多种密码算法的应用实验、FPGA扩展密码算法的应用实验、密钥产生/删除/恢复的实验、证书申请和存储的实验、密钥管理(生成、删除和备份等)的实验、密码设备用户管理的实验等。 图7是密钥管理实验的示例程序。程序将存储在实验平台IC卡中的主密钥恢复到Z32存储空间中,用于对新产生的密钥进行加密保护。

图7 密钥管理实验例程Fig.7 Example program of key management

4 结束语

密码工程涉及多个学科的知识和技能,单从课堂上讲授,锻炼不了学生的实战能力。所以本实验平台一方面可作为教学演示,另一方面为学生搭建了密码与信息安全类工程实践训练的环境,意在培养学生的电子设计、嵌入式系统设计及密码系统设计和实现的能力。该平台资源丰富,对于电子和信息安全类专业的学生来说,可以进行相关的课程设计和毕业设计。该平台目前在北京电子科技学院电子工程实验室已经有了实际应用,当前高校缺少专门针对密码工程的实验教学平台,该平台的研制在一定程度上弥补了我国在该领域实践教学设备的缺失。

[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北京市共建项目;中央高校基本科研业务费(工程2013)

李秀滢(1975—),女,黑龙江伊春人,硕士,讲师。研究方向:电子工程、信号处理、信息安全。

猜你喜欢
实验平台
基于虚拟化技术的信息安全实验平台构建
互联网+背景下工业工程实验平台设计与应用研究
云计算在职业院校中的应用与思考
生物医学工程专业创新人才培养策略
单片机仿真实验平台的设计分析
基于LabVIEW下嵌入式系统实验平台的设计与实现分析
LINUX实验平台的局限性及解决办法
基于LabVIEW的虚拟实验平台设计
浅谈网络互联与路由课程建设
基于物联网的智能岗哨门禁及敏感区监控实验平台构建研究