信息安全SOPC硬件平台的架构设计
扫描二维码
随时随地手机看文章
关键词 信息安全SOPC IP核硬件平台 架构设计
引 言
长期以来,针对各种应用领域或相同领域的不同场合,由于对计算能力、接口电路数据吞吐能力等要求的差异,我们习惯于把功能相对固定的信息安全平台设计成不同的实现形式。这就造成了对硬件、相应软件重复研发等效率低的现状。随着用户对信息安全需求的提高和信息安全形势的日益复杂,迫切需要一个平台来缩短开发周期,复用开发资源,高效地开发出自己的信息安全产品。
片上可编程系统SOPC(System on a Programmable Chip)技术是Altera公司提出的一种灵活、高效的SoC解决方案。它将处理器、存储器、I/O口、硬件协处理器或加速器等IP功能模块都集成到一个FPGA芯片里,构建一个可编程的片上系统。它具有硬件上可裁剪、口T扩充和可在线升级的优点,而且市场上有丰富的IP核资源可选,使得设计十分灵活。基于此,sOPC平台化设计技术已成为国际上渐趋流行的设计理念。本文从信息安全SOPC硬件平台的需求出发,分析了平台的设计原则,提出一种信息安全SOPC硬件平台架构模型,并对关键模块给出了相应的解决方案。
1 信息安全SOPC硬件平台的需求与设计原则
1.1 信息安全SOPC硬件平台的需求
(1)通用接口需求
信息安全SOPC硬件平台为开发信息安全产品提供平台支持,须考虑如安全支付、安全交通系统、安全识别、安全通信、安全家居及娱乐等多方面安全应用的通用要求,包含设计时所需的CPU、密码算法加速单元、通信接口和信息安全协议引擎模块等。这些平台资源可以根据应用系统的具体需要,进行很好的移植、裁剪,使得设计成本和风险直线下降。
(2)安全性需求
信息安全SOPC硬件平台是一个面向信息安全领域的高低端应用平台,要求集加密、认证、签名等多种算法于一体;同时还要具备自身防攻击功能。它的安全性最基本应包括对称、非对称密码算法,数据杂凑算法等VLSI硬件模块。
(3)开放性与标准化需求
SOPC安全平台应采用开放式设计,可在以后的应用中由用户不断地补充各种新的功能模块,从而适应新技术所带来的变化。SOPC平台建设必须遵循标准化的建设要求,以使其具有最大限度的IP复用性。SOPC平台设计中,集中了不同来源的各种IP模块。这些模块有不同的编程风格和不同的接口结构。大大降低了IP模块的重复利用率。为了使接口规范化,提高复用的效率,开放棱协议(OCP)通过开放标准,方便多个IP模块的混合匹配。在实际开发设计中,应遵循相应的标准。
1.2 信息安全SOPC硬件平台的设计原则
(1)统一规划与整体设计原则
SOPC平台的搭建,不是一般的安全系统设计,应当运用信息系统安全工程ISSE的观点、方法,分析和制定安全手段及具体措施。安全技术方案要结合信息系统整体安全需求,有长远的规划和较全面的考虑,平台的建设一定要保证安全系统的整体性、严密性。
(2)层次化与安全性原则
分层是将复杂问题简单处理的一种有效方法,有助于简化分析的对象,帮助我们更清晰地把握事物的本质,更快地解决问题。信息安全SOPC硬件平台要想灵活、高效地为应用提供服务。就应将复杂的设计分层。平台应根据对上层服务透明的原则,从最底层做起,将各加密、接口、控制模块分开,以简化设计和实现,也使得应用在上层使用服务时不必关心太多的细节问题。硬件平台要为上层提供安全应用服务,其自身必须采取一系列安全策略,以保证其安全性。
(3)灵活性与可扩充性原则
平台能够根据用户需求,灵活地选择内部模块,以满足不同用户各个层次的需求。平台不仪要能处理已经存在的安全问题,而且还要能应付即将出现的问题,因此它必须是可扩充的,可以增加新的模块,而不必改动整个平台。
2 信息安全SOPC硬件平台架构模型
2.1 模型的提出
本文在研究信息安全平台的基础上,提出了图1所示的SOPC硬件平台架构模型。
SOPC硬件平台架构模型主要包括如下5部分:
①中心控制模块。该模块主要负责资源整体的协调和与外部通信接口的处理,实现系统控制、安全协议等功能。
②密码处理控制模块。为了减轻中心控制模块的负荷,加快密码运算处理速度,专门设计了一个专用微控制器来进行调度密码运算处理。
③密码处理模块。面向信息安全领域中各种应用的对称、非对称密码以及数据杂凑等算法IP模块。
④外部接口模块。信息安全芯片设计平台将面向不同的应用,必须尽量多地提供给外部的通信接口。
⑤数据存储模块。为了让密码处理模块与外部接口之间的通信同步,须设计一个数据存储模块来存储外部数据,以及加密后来不及输出的数据。
对图1模型进一步细化,如图2所示。
图2中,该模型由中心控制器、密码控制器、密码处理、外部接口、时钟管理、总线桥、存储接口等模块组成。
2.2 针对NiosII的信息安全SOPC硬件平台的建立
在研究了通用的信息安全SOPC硬件平台的基础上,中心控制模块采用Nios II建直图3所示的SOPC硬件平台。
该平台提供外部的高速数据通信接口,如USB、PCI、10/L00M网卡、BT(蓝牙)、UART等通信接口模块,并通
过Avalon总线将外部接口模块有效地组织起来;自行设计的MCU负责协调3DES/AES、RSA/ECC、SHA/MD5等模块的数据处理;同时,还通过存储接口模块,设计了片内ROM、RAM以及可扩展的片外ROM、RAM数据存储器来进行数据的缓存。时钟管理模块给自行设计的总线提供时钟源;TRNG为各算法IP模块提供真随机噪声源,作为会话密钥的种子密钥。
4 关键模块设计
4.1 MCU的设计
根据密码处理的特殊性,一方面MCU要能够实现两个设备之间的数据直接交换;另一方面要及时对运算完成标志作出快速响应,以缩短不必要的时间延迟。因此MCU除具备通用微控制器的数据传输指令之外,还要增加如下两类指令。
①直接数据传输指令:实现外部存储器与sOPC平台之间直接数据传输。不同于通用微处理器的DMA功能,它是通过专用指令实现两个外部缓冲区之间的数据交换。
②输入判断分支指令:按位对外部输入信号进行判断,无需微处理器执行算术运算或逻辑运算,直接判断外部引脚电平,决定程序分支。MCU设计:
◇采用哈佛结构模型实现;
◇为了利于与NiosII协调工作,MCU采用32位宽指令;
◇可以同时读取指令和数据,使流水设计简单、易行;
◇指令和数据都存放在内嵌的存储器中,控制器、运算器和程序存储器的处理效率较高;
◇主要进行数据传输指令和跳转指令设计。
MCU总体结构如图4所示。
3.2 总线设计
在实际的SOPC平台设计中,不同IP在设计之初都是针对特定应用的,而很少考虑到要与外部电路搭配使用。IP模块本身的缺陷给IP集成带来的问题有:IP模块的接口不能够与SOPC定义的片上总线很好地匹配;IP模块提供的技术支持不充分、不及时等。这些问题的关键在于IP实现的功能千差万别,对IP的定义没有通用的标准,导致对外接口、时序等方面也表现各异。国际上,很多大公司的解决办法是片内总线技术。片内总线作为SOPC集成系统的互连结构,可以解决各个IP功能模块间的相互通信问题(包括数据格式、通信联络、时序、协议等方面);用微处理器IP核作为主控制器,集成其他外围电路实现可编程片上系统,从而为设计人员省去相当大的精力去考虑如何将自己设计的功能模块和其他功能模块搭建起来,从而使得IP集成起来更加方便,大大节约了时间,提高了开发效率。
本SOPC平台包括Avalon总线和自行设计的总线,两条总线通过一个桥模块进行连接,实现总线与总线的数据通信。外部接口模块通过Avalon总线与NiosII进行通信。为了使SOPC便于向SoC过渡,自行设计的总线遵循AMBA总线标准。在现有众多片内总线中,ARM公司开发的AMBA片上总线,由于其本身的高性能和ARM处理器的广泛应用,以及该总线的完全性,已经成为SoC设计中使用相当广泛的标准,深受广大IP开发商和SoC系统集成者的青睐。
4 发展与展望
信息安全SOPC硬件平台面向信息安全产品应用的高端与低端等各个领域,既可以体现高速高性能,又能围绕低成本等设计指标,实现资源最大限度的复用,缩短开发周期,给产品维护与硬件升级提供了极大的自由扩展空间,迎合了日益增长的信息安全的需求。可以说,SOPC在电子设计技术上给出一种以人的基本能力为依据的软硬件综合解决优化方案,使开发者在软硬件系统的综合与构建两方面有了充分发挥自己创造性和想象力的巨大空间,从而使得从多角度、多因素和多结构层面上大幅度优化自己的设计成为可能,在系统优化方而有了前所未有的自由度。SOPC在应用理论和知识构成上,达到了一种有机融合。在这一平台上,实现学科知识的融合、设计手段的融合和测试技术的融合,使SOPC设计者得以在优化系统的性能上最大限度地发挥自己的聪明才智,它是一种理念、一种思想方法、一种境界、一种趋势。