安全处理器
摘要通过对处理器技术的跟踪,给出了基于密码算法的 32 位安全处理器的结构,并对密码算法核的结
构和软件进行设计与研究,最后结合安全处理器的应用领域,充分肯定了研究安全处理器的重要性。
关键词处理器、安全处理器、安全模块、密码模块
1 引言
现有的安全技术似乎始终存在着局限性,防火墙被动防御无法阻止主动入侵行为、应用级过滤检测与处
理能力存在矛盾,背负众望的 IPv6 技术也无法鉴别主机、用户真实身份,无法阻止攻击报文。当系统
的安全越来越岌岌可危,人们开始尝试从芯片的角度去解决安全难题。要保证信息安全首先要保证拥有
自有版权的安全芯片。目前,安全芯片设计在信息安全领域已取得了很大成绩,在密码学研究方面已经
接近国际先进水平,嵌入式密码专用芯片也已开发成功,但密码芯片在功能与速度方面还滞后于系统和
网络的发展,特别在高速密码芯片方面与国际先进水平有很大差距。同时,在 CPU 方面,不管是通用
处理器、嵌入式处理器还是专用微处理器技术已经很成熟,国内多个单位都把嵌入式处理器作为切入点
,如中科院计算所的“龙芯”、北大微处理器中心的“众志”、中芯的"方舟"等,嵌入式 CPU 已作为 SOC
芯片的核心,但很少考虑安全方面,特别是针对国内的专用密码算法。具有自主版权的 CPU 才是安全
的 CPU,只有具有自主知识产权的 CPU 不断取得新突破,对我国的信息安全才具有重大现实意义。随
着网络速度的不断提高,微电子技术的不断发展,在芯片中加入安全功能成为一种趋势,特别是在个人
电脑的芯片设计中。研制安全处理器将是今后安全产品的发展趋势。
2 安全处理器的技术跟踪
嵌入式处理器
目前处理器的划分从应用角度出发,分三类:通用处理器、嵌入式处理器、专用处理器。这些分类都是
相对的,只是在一定程度上反映 CPU 的特性。
根据 CPU 的特性,选择嵌入式处理器[2]为主要的研究对象。它的有利方面表现在:
(1)芯片设计技术,EDA 工具已有很大发展,完全可将一个完整的系统集成在一个芯片上,即
SOC(SystemOnChip)。这一技术使开发速度大大加快,可实现自主的知识产权。
(2)与嵌入式 CPU 配套的软件,从嵌入式 OS(包括 Linux 和其他自主 OS)到在它上面运行的应用程序,不
像 PC 的软件那样受到微软垄断的影响,完全可以自主开发。
(3)嵌入式 CPU 对半导体生产工艺的要求适合我国的国情。多数不必采用最先进、昂贵的半导体工艺,
能充分发挥国内现有的半导体生产能力。
系统芯片技术使嵌入式应用系统的开发越来越倾向于以 32 位 CPU 为核心,传统的 8 位微处理器由于芯
片面积小,开发方便,得到了广泛的应用。但由于其总线宽度仅为 8 比特,性能相对较低。而随着应用
的不断扩展,系统控制部分越来越复杂,对微控制器的性能要求也日趋提高。32 位 CPU 核是发展趋势
,掌握了自主 32 位 CPU 核的技术,在安全应用领域具有重大意义。纵上所述,我们研究的安全处理器
采用的是 32 位嵌入式处理器。
安全处理器
目前,市场大部分的安全产品采用传统的应用电子系统设计,其结构都是通过 CPU 软件运算密码算法
或者将密码算法用硬件 FPGA 实现,然后用 CPU 控制。这样的结构使安全产品的速度受到约束,产品
的集成度不高,不能降低产品的成本。
对于安全处理器来说,不是以功能电路为基础的分布式系统综合技术,而是以功能 IP 为基础的系统固
件和电路综合技术。因此,安全处理器是集处理器和安全技术于一体。其功能的实现不再针对功能电路
进行综合,而是针对系统整体固件实现进行电路综合。电路设计的最终结果与 IP 功能模块和固件特性
有关,而与 PCB 板上电路分块的方式和连线技术基本无关,从而使所设计的结果十分接近理想设计目
标。当前,国外已经有些公司研制生产出了安全协议处理器,如 Hifn 公司近日推出最具性价比的
HIPPII8155 安全协议处理器,适用于路由器、交换机及 VPN 网关等 IPsec 和 SSL 等应用。但是这些产
品使用的是标准的公开算法如 AES,DES 等,不能满足国内安全产品的需要。文章所设计的安全处理器
是基于专用算法的 32 位处理器。
3 安全处理器的设计
安全处理器的设计将包括嵌入式操作系统、嵌入式系统程序和应用程序的开发;软件与硬件的划分、协
同设计、协同仿真;电路的综合、布局布线等等。在完成对当前微处理器、SOC 设计技术和安全处理
器等新技术的跟踪后,结合对 CPU 和密码芯片的实践,设计了安全处理器的结构、算法核的结构和软
件。
安全处理器结构
安全处理器采用的基本体系结构如下:
采用这种系统结构,CPU 能通过内部总线控制各个模块部分,DMA 控制器也能通过内部总线控制各个
模块之间的数据传输。且 CPU 能响应各个模块的中断,中断控制器控制着优先级和响应模式;总线控
制器控制着内部总线的状态;安全模块能产生中断并具有状态值可供查询和使用。
安全处理器能独立作为数字信号处理器 DSP 使用;也能通过 PCI、存储器扩展等通用接口连接显示器、
硬盘等外设、存储器可以组成微计算机环境。
作为专用芯片时,一般用来研制安全设备,对用户的数据进行保护。将密码算法模块挂在系统总线上,
(系统总线采用 ARM 公司的 规范[1]),密码算法模块有主模式和从模式两种工作模式,通过
微处理器核来初始化、配置密码模块。这样,单个的 SOC[3]可以实现网络加密,当安全处理芯片接受
一个从 MAC 发来的数据包后,由操作系统的 TCP/IP 应用程序分析数据包,根据协议提取加/脱密操作
有关的数据,将密码模块设置为从设备,安全处理器按照密码模块的要求,送相关的地址、长度、或者
密钥等参数,然后将密码模块置为主设备,由密码主设备申请总线传输,从 MAC 或存储器中读入数据
,进行加、脱密算法运算,添加一些必要的信息,将结果数据送到 MAC 或者目的存储器中。采用这种
结构不但实现了使用一个安全处理器就完成了网络数据包的加脱密,而且由于密码模块直接挂在系统总
线上,提高了加脱密速度。同时由于集成在一个芯片上,增加了密码模块的安全性。从而根据不同的用
户需求,研制开发成不同种类的安全保密设备。 安全模块的结构
安全模块分为专用密码算法核、公开密码算法核、运算加速器和快速驱动引擎。安全模块核心部件挂接
在系统的高速总线上,为了提高其利用率,采用虚拟部件的结构和算法部件驱动引擎。不同的算法操作
对应不同的指令,这些指令为专用指令,需要编译器的支持或者通过微指令执行。物理寻址范围一般较
窄,输入/输出支持 DMA、I/O、Burst 等总线结构的所有操作。操作的策略实现预置/预测机制,采用 4
位指令执行状态标记。密码算法核预设两组物理实体,实体间相互独立。算法的逻辑位宽 128bit,为部
件级流水线的工作方式。数据处理按序进行,操作结果按序写入,回写操作受指令的执行状态控制。算
核中还嵌入部分微代码,支持特定的应用和专用算法的测试、密码算法的自动配置和参数下载,从而确
保密码算法硬件的可靠性和安全性。
密码算法部件的结构如下:
Reset(复位)来自芯片的复位控制器模块,中断及响应与芯片的中断控制器相连,状态反映在芯片的状态
寄存器中,CLK 来自芯片的 PLL 模块,最高频率为 160MHz,地址线、数据线等与芯片的内部总线相
连,扩展控制可以连接已有的外部安全密码模块。
密码算法核采用两种工作方式主设备模式和从设备模式。当工作在主设备模式时,写完密钥后,密码模
块按 AHB 规范[1]申请总线,在请求总线成功后,密码模块将源地址发送到总线上,将源地址中的数据
读入 SFIFO 中,释放数据总线,处理器可以并行完成其余任务。同时,模块内部从 SFIFO 中读出数据
,进行算法运算,同时将加密结果写入 EFIFO 中。通过这种工作方式,可以提高加脱密速度,并行完
成任务。密码模块工作在从设备模式时,处理器以存储器模式访问专用算法核,适应于低速产品的需要
。
安全处理器的软件特征
安全处理器的软件是实现嵌入式系统功能的关键,对安全处理器系统软件和应用软件的要求也和通用计
算机有所不同。
(1)软件要求固态化存储。为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器
芯片或作为 BIOS。
(2)软件代码高质量、高可靠性。尽管半导体技术的发展使处理器速度不断提高、片上存储器容量不断
增加,但在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。为此要求程序编写和编译工
具的质量要高,以减少程序二进制代码长度、提高执行速度。
(3)系统软件(OS)的高实时性是基本要求。
(4)在多任务嵌入式系统中,对重要性各不相同的任务进行统筹兼顾的合理调度是保证每个任务及时执
行的关键,单纯通过提高处理器速度是无法完成和没有效率的,这种任务调度只能由优化编写的系统软
件来完成,因此系统软件的高实时性是基本要求。
(5)多任务操作系统是知识集成的平台和走向工业标准化道路的基础。
4 安全处理器的应用
安全处理器的应用很广阔,既可以用来设计终端加密设备,又可以设计线路式加密设备,完成批信息加
/脱密处理、数字签名、认证和密钥管理等功能。安全处理器具有 PCI、MAC、USB 等接口,直接与接
口器件相连。线路上的数据流通过接口芯片流入安全处理器芯片的相应接口模块,数据被接受。CPU
对收到的一帧(包)数据进行处理,支持 SDLC/HDLC、PPP、DDN、FR 等协议,需要加(脱)密的数
据通过处理器芯片的内部总线与密码模块进行交换,由密码模块完成加(脱)密操作,处理完的数据最
后由 CPU 控制通过相应的接口发送出去。安全处理器将专用密码算法核和处理器集成在一个芯片上,
最大限度的减少了部件之间的连接,提高了系统的安全性和可靠性,充分保证了高性能和高性价比,优
越性会越来越明显,必将会得到更广泛的应用。
参考文献
〔1〕AMBASpecification(AdvancedMicrocontrollerBusArchitectureSpecification)
〔2〕北京大学“吉利久 SoC 的技术支持机嵌入式系统设计”
〔3〕“SOC 技术及国内发展现状”《世界电子元器件》北京海尔集成电路设计有限公司赖祥宁