邪恶八进制信息安全团队技术讨论组's Archiver

冰血封情 2004-10-14 16:23

[转载]用FPGA实现安全处理

文章作者:Amit Dhir,Xilinx公司战略解决方案部经理 Graeme Durant,Helion Technology Limited创始人兼CEO

[url]http://www.xilinx-china.com/china/ch_articles/security_processing_fpgas_sc.htm[/url]
《世界产品与技术》
2003年6月
简介

数据加密领域的形势看起来已与2001年初期大不相同,那时许多厂商都放弃了网络安全芯片市场。今天,有许多新成立的公司以及著名厂商都在扩展其安全产品。2001年下半年连续发生的两个事件改变了网络安全的发展前景。在2001年夏天,红色代码和SirCam类的蠕虫和病毒不仅侵入了美国企业的网络,甚至还进入了原来被认为安全的政府服务器。突然之间,大公司的IT经理们不得不比以往更为严肃地考虑内部和外部安全性问题。当然,911恐怖袭击事件则永久性地改变了整个国家对安全问题的关注。就象彻底的搜查和扫描已经成为机场的日常惯例一样,企业IT经理现在也需要利用各种手段来保护企业资源,这些手段包括防火墙、用户认证方法、数据文件的定期加密、用于数字签名和认证的密钥分发以及通过因特网进行安全的通信。

随着安全通信数据速率的提高,关键数据加密算法的软件实施成为重要的系统瓶颈。更为糟糕的是,标准的商品化CPU和DSP无法跟上数据加密算法的计算要求。此外,CPU和DSP需要完成太多的其它任务。基于FPGA的高度优化的可编程的硬件安全性解决方案提供了并行处理能力,并且可以达到所要求的加密处理性能(每秒的SSL或RSA运算次数)基准。

表1通过基准测试的结果给出了高速数据加密软件方案的性能差距情况。图中的数据是在标准CPU和DSP架构上实现新的128位高级加密标准(AES)算法的测试结果。同时作为对比的还有基于来自Helion Technology Ltd公司的Fast AES核心的Virtex(TM)-II平台 FPGA解决方案,这一解决方案可提供高速互联技术所需要的每秒数千兆位的数据加密吞吐能力。

可编程逻辑的发展和现状

在半导体革命的过程中,得益于莫尔定律,FPGA器件的密度已经发展到超过1000万系统门的水平。FPGA器件集成了关键的系统级功能,如块存储器、时钟管理、数字控制阻抗匹配、嵌入式乘法器、844 Mbps LVDS I/O等。随着逻辑密度的增加,对简单功能、复杂DSP算法、网络协议、接口等方面的软IP核心的需求也在迅速增长。

FPGA能力的提高带来很多优点,从而使可编程逻辑被越来越多的设计小组所接受。只要可能,这些设计小组就将系统的某些部分在Virtex(TM)-II FPGA中实施,从而加快了设计和产品的上市时间。FPGA已经发展成为一个支持系统工程师构造高级功能的系统平台。为帮助工程师迎接新的挑战,最近的Virtex-II Pro FPGA器件还在Virtex-II FPGA构造中嵌入了300 MHz IBM PowerPC(TM) 405处理器以及高速(3.125 Gbps)千兆位串行I/O。

软件与硬件子系统专用集成的价值在于可降低成本、提高性能、可靠性、灵活性并提供实现专用和高速接口所需要的扩展能力。FPGA可以在同一块器件中实现高度硬件并行处理和多种处理能力,这一点是吸引许多系统设计人员考虑采用基于FPGA的解决方案的原因。Virtex-II Pro系列器件在同一器件中支持上述特性,同时还具有可支持传统IO标准(如HSTL、SSTL、LVTTL等)、840 Mbps LVDS及3.125 Gbps串行连接的IO,从而使其可实现与线路卡和背板上任何ASSP、ASIC、存储器的接口。Virtex-II Pro提供了无与伦比的计算能力、连接能力、灵活性和上市时间优势。可编程芯片与智力产权解决方案(包括软外设和连接功能核心),再加上全面的设计资源(包括开发工具和套件)为未来系统开发提供了一个可编程平台。

利用Virtex-II Pro FPGA来设计增值线路卡

下一代路由器需要提供可满足服务供应商需求的解决方案。这些需求包括推出新的可产生营收的服务、提高服务质量保证并降低管理和维护成本。对于路由器供应商来说,解决这些问题的关键包括:

以线速度实现增值功能:下一代路由器必须能够支持可产生营收的网络业务,同时还要能够适应最坏的业务流量模式。营收能力强的高级业务需要对经过路由器的因特网数据包进行高级分析和分类处理,同时还必须能够为特定的业务提供核心传输带宽。路由器必须提供完全的数据包处理性能。即使在最坏的网络情况下,如果丢失了服务供应商正在收费的数据包,那是很难令客户接受的。
灵活性:路由器供应商需要的平台必须能够快速配置提供增值解决方案和新业务,同时还可进行分阶段实施。今天,新技术和新业务以更快的速度出现。一个可以重新设计的硬件平台为路由器供应商提供了在多变的路由器市场上领先的潜力。对于设备制造商的成功来说,支持多种网络技术,如SONET/ATM、以太网、GFP、G.709等非常关键。
低功耗和器件数量:ISP需要将下一代路由器集成到现有基础设施中。因此,体积庞大、耗电大的路由器对于本就不太情愿进行设施升级的服务供应商缺乏吸引力:路由器供应商需要的是可容易地集成到传统网络中的低功耗解决方案。
低成本
通用网络处理器有两种基本选择。有些人选择强调高性能的具有最大峰值数据包转发能力的芯片组,它们可以10 Gbps甚至更高的速率完成全面的多方面数据包头(Header)分析。另一些情况下则更需要完成深入的特定数据包头分析或流量管理功能,此类解决方案可在主数据包处理器以外完成深入的数据包分类或细粒度QoS处理。在网络安全方面,供应商有多种不同的方式在不同的水平上实现安全性功能。有些仍集中于改善整体文件加密(Bulk File Encryption),扩展对公开密钥算法的支持,增加对新的高级加密标准(AES)的硬连线计算支持。许多微型可编程引擎专家都致力于因特网协议安全性(IPSec)标准,着眼于安全隧道创建、VPN建立以及嵌入式加密支持,从而在OSI安全堆栈的数据链路和路由器层提供安全性支持。也有越来越多的厂商选择了迅速转向TCP会话管理和硬件安全套接层(SSL)处理支持。这一模式假设接入设备的最大市场来自那些在公共或外部网络(Extranet)环境中进行安全网络交易的商业或住宅客户。

整体加密领域的不断发展

第三层IPSec方法和第4/5层SSL加速方法都与已有30年历史的加密整体数据文件的方法有很大的不同,后者可以认为是一种在传输过程中对传输数据位进行加密的物理层(PHY)方法。

直到联邦政府于1970年代中期推荐数据加密标准(DES),商业环境中加密的应用仍比较少。尽管批评家指责IBM与国家安全局(NSA)故意阻碍DES的发展,这一算法仍然提供了足够的效率,几家公司利用芯片实现这一算法并成功地维持了20年的生意。最初的努力来自几家公司对对称和不对称密钥加密的研究。DES和类似的政府支持的加密算法基于对称加密系统,其中加密和解密密钥都必须严格保密。

1970年代晚期,一些研究人员,包括RSA(Rivest-Shamir-Adelman)小组和研究D-H密钥交换的Diffie-Hellman小组提出了新的公共密钥非对称系统。这些公共密钥系统允许用户的加密密钥公开公布,因为解密密钥只能由加密密钥通过不同的异常困难的质因数分解运算获得。

在早期,对公开密钥加密的硬件支持非常具有挑战性,因为非对称密钥需要大量的存储器和CPU运算能力。但通常,针对密钥算法开发的算法模块也可用来实现安全哈希算法(用于保护数据完整性)。因此,许多早期的加密芯片提供内置的哈希算法支持。

最近几年,联邦政府已决定支持DES的升级版本,称为AES。几家厂商已经保证支持AES,这表明整体加密设备的市场,即使有更先进和专用的芯片引擎出现,仍然相当强大。

Helion 设计实施

Helion Technology为一个现有客户开发了一种灵活的基于FPGA的高性能数据加密引擎,用来处理下一代网络安全产品中的IP/数据包数据。虽然客户的产品本身就基于高性能的双64位MIPS网络处理器,但测试结果表明软件加密解决方案仅能达到客户所要求的最低吞吐速率要求 - 600 Mbps。

系统设计要求是设计一个基于PCI的能够适应多种加密算法(AES以及针对传统应用的专用算法)的安全引擎。最终的解决方案必须保持低成本,能够支持千兆位数据速率、并且足够灵活,能够适应未来的算法变化。在仔细评估可能的选择后,唯一能够满足所有要求的解决方案就是一个包含百万门Virtex-II XC2V1000平台FPGA器件的PCI卡。器件中实施了一个Xilinx LogiCORE(TM) 32-bit/66-MHz PCI 核心和Helion设计的加密核心。

为什么使用Virtex-II FPGA?

通过我们多年来采用领先技术进行设计的经验,我们充分了解可能存在的问题,如缺少充分的设计工具支持以及器件供应跟不上。幸运的是,Virtex-II 平台FPGA采用的是与此前的技术同样的EDA工具集,同时XC2V1000器件也已经批量生产。选择XC2V1000而不是更成熟的Virtex-E系列器件的原因如下:

成本 –Virtex-II XC2V1000 比最接近的Virtex-E(-8速度级)器件成本低一半。
性能 – 利用Helion AES 核心的基准测试表明Virtex-II (-4) FPGA比最接近的Virtex-E (-8) 器件快30% 。
更大更宽的BlockRAM – 我们发现32位宽的数据缓冲在Virtex-II 块RAM中实施效率更高。例如,一个512x32缓冲器只需要一个Virtex-II 块RAM ,而 Virtex-E技术中则需要四个。
增强的 CLB - MUXF7 和 MUXF8 基本单元允许四个逻辑片组合快速实现多达八个输入宽度的任何逻辑功能。加密算法的逻辑功能通常输入比较宽,因此这可以使逻辑级更少并且使关键路径速度更快。
数字时钟管理器(DCM) – 真正时钟频率合成允许加密数据块时钟可以调整到与最差PAR(布局布线)情况下的时序相匹配,从而优化加密吞吐能力。
设计实施更容易–Virtex-II器件的速度意味着实施LogiCORE 66-MHz PCI总线逻辑时不需要PAR Guide文件。

加密引擎简介

图1给出了加密引擎的框图。唯一的外部接口是LogiCORE 32-位/66-MHz PCI 总线。

所有加密密钥信息和需要加密的数据(明文)都存储在PCI系统存储器中,并由直接存储器访问(DMA)控制器传输至FPGA。这种配置允许软件容易地改变加密密钥,这是一项非常重要的安全性措施。

DMA读写缓冲利用块RAM来支持实现最优化性能所需要的PCI猝发长读写传输。FPGA中还同时提供了加密数据(密文)的校验和计算和缓冲,从而可将这一任务从系统软件分流过来,系统软件则在每一DMA传输的结束读取校验和。

DMA缓冲器间的主要数据通道是通过加密核心连接起来的。Helion 128位快速AES加密核心已经开发成功,因此问题仅是简单到将其适配到本设计中。然而,仍然需要为专用算法开发一个高性能核心。

加密引擎操作

由于加密引擎是被动的(没有DMA传输在进行),PCI接口缺省状态处于“从”模式,并等待系统CPU发起一次DMA传输。一旦被请求进行DMA传输操作,PCI接口就切换到“主”模式,DMA控制器启动所需要的总线传输。

传输完成时,加密引擎发出PCI中断请求,将接口切换回“从”模式,以使系统CPU可以读取校验和以及/或者开始下一次传输。

由于写入PCI系统存储器的明文数据流可以分段成多个IP数据包,系统软件必须负责创建相应的控制数据结构,详细描述分段的大小、位置、数量,以及所使用的加密类型。这一结构在每次加密传输的开始从PCI系统存储器传输到DMA控制器中的一个块RAM中。

然后,加密引擎可以读取所有明文片段,利用所选择的算法对它们进行加密,然后再在存储器中重新组装密文片断。在将密文写回存储器的过程中,为每一加密后的片断计算一个校验和,这一数值加到所有片断的总校验和中。这些校验和存储在FPGA中的一个较小的分布式RAM区中,在每次传输结束后由系统CPU读回。

加密引擎的性能

我们的客户感到非常高兴,因为最终的加密引擎设计不仅按时完成,而且两种加密算法都大大超出了所需要的数据吞吐能力。专用算法核心在66 MHz时钟下达到了990 Mbps的原始加密吞吐速率。AES核心在132 MHz时钟下原始加密吞吐能力达到1.536 Gbps。当然,这些原始吞吐率数字在最终的系统中会有所降低,这是由于PCI桥的总线仲裁引入了额外的开销。事实上,Helion Fast AES核心的数据吞吐能力是如此之高,以致32位/66MHz PCI总线限制了最终设计的最高性能。经常改变加密密钥也导致整体数据加密吞吐能力的下降,因为PCI总线上的传输负载增加了。

Helion 不仅提供AES核心,还提供其它安全核心,其中包括DES、 三次 DES、 SHA-1。

FPGA为安全处理提供支持

随着网络的迅速发展,对安全性的需要变得越来越重要。然后,尽管网络技术进步很快,安全性问题仍然相对落后。而且在很多情况下只能靠VPN和防火墙。OEM通常在交换机、大多数路由器、存储区域网络(SAN)和服务器中并没有进行安全性设计,这大部分是由于ASIC设计周期所带来的异乎寻常的高昂成本限制。由于FPGA所提供的设计优势,特别是新的高速版本,网络系统设计人员可以在这些网络设备中经济地实现安全性支持。FPGA是实现设计灵活性和功能升级的关键,对于容错、IPSec协议和系统接口问题而言这两点非常重要。而且,FPGA还为网络系统设计人员提供了适应不同安全处理功能以及随着安全技术的发展方便地增加对新技术支持的能力。例如,在安全刀片(Security Blade)或安全子系统设计中,安全处理器负责公共和私有密钥算法处理,同时一个FPGA则完成算法异常(exception)处理、数据通道协议变换、接口带宽匹配、容错处理和数据包及字节计数。标准加密/解决以及认证算法,如RC-4、DES、三次DES、MD-5以及安全哈希算法-1(SHA-1)被广泛用于全球网络安全系统中。然而,还有为许多为特定事务而定义的专用算法,特别是某些国家政府中所采用的。因此,在安全子系统中必须考虑到这些因素。通过在安全子系统中采用FPGA,中央控制逻辑可以区分出非标准算法并向主机产生异常(exception)调用。主微处理器则可立即接替算法加速处理工作。

在目前的网络系统设计方面,设计复杂性和带宽需求是两个主要问题。网络处理器、交换构造和安全处理器的系统接口处于不同的数据平台,并且采用不同的协议标准。要降低匹配这些不同接口所涉及的设计复杂性,设计人员可以利用一块FPGA做为理想的解决方案,FPGA器件可以高效率地进行双向的接口协议转换工作。例如,来自网络处理器的快速数据通道是基于信元的类似Utopia的接口,需要与来自安全处理器数据通道的基于数据包的流式接口相连接。在输入数据流,FPGA中的FIFO缓存来自主机的数据信元,并将其重新组装成安全处理器可以接收的数据包。同时,在输出数据流,FPGA中的FIFO则完成相反的处理过程。来自安全处理器的数据从数据包形式转换为信元格式。这样,对于不同的接口只需要简单地对FPGA进行编程就可以了,不需要修改系统配置或利用昂贵且耗时的ASIC设计同样的功能。

与协议不匹配的情况类似,还存在快速数据通道接口间的不匹配,特别是在速度和带宽方面。FPGA中的FIFO在支持数据平滑流动方面无疑扮演了重要角色。FIFO的深度可以匹配两个不同速度的接口,而FIFO大小的宽度也可匹配不同的总线宽度。同时,FIFO还可以实现外部总线宽度的两倍宽度,从而降低内部时钟速度。

Xilinx FPGA还提供了支持存储器控制器(SDRAM、 DDR SDRAM、 QDR SRAM、 ZBT/NoBL SRAM等)和新兴高速互连标准(如OC-192 SONET/SDH、 1 和/或 10 Gigabit Ethernet、 POS-PHY L4/SPI-4.2、 SFI-4、 HyperTransport、 PCI Express、和RapidIO)所需要的灵活性。这允许系统设计师可更自由地选择并组合多种存储器类型和其它线路卡器件(如成帧器、网络处理器、协处理器和背板SerDes)。

在网络系统中,特别是在安全子系统中,容错能力变得越来越重要。原因在于安全会话在发送和接收过程中存在中断的可能性,这会损害安全性机制,从而导致安全数据丢失。利用FPGA设计,中央控制逻辑完成输入数据包的标记插入工作并负责对安全处理器输出数据进行解码。在这种情况下,设计人员有多种选择可以实现容错。此类设计依赖于系统架构以及数据平面的数据流控制和控制平面的协议栈控制。

许多网络系统OEM都希望在其网络安全系统中获得更好的服务质量(QoS)。实现这一点的最有效的方法是获得用于流控制的准确统计数据。由于FPGA位于快速数据通道上,所有安全流量都流过FPGA器件。这样就使FPGA拥有了分析业务流量并为主机提供准确的统计数据的机会。最普通的要求是统计流经数据的数据包或字节数量。FPGA中实现的一个状态机可以通过采样数据开始(SOP)和数据包结束(EOP)信号并从数据头中解码数据长度域来完成这一工具。有了统计数据,主机系统就可提供更好的QoS管理服务。

设计人员还可利用FPGA来完成复杂的功能,如协议处理和负载平衡。要完成这些任务,FPGA必须提供片上存储器和处理器。当然,在此类结构中固支持也很重要。整个系统开发变得越来越复杂。这一处于安全处理核心的基于FPGA的设计为网络系统中的IPSec和SSL处理(如位于服务器PCI插槽中的安全刀片,Security Blade)提供了具有高度可扩展的OC-12至OC-192吞吐能力的全面的硬件和软件解决方案。

结论

自从911事件以来,通信安全性具有了新的意义,网络恐怖主义已经成为网络设计中必须考虑的非常现实的重要方面。随着IP网络逐渐成为承载数据、语音和多媒体业务的主要方式,对更高安全性的关注不断增强。上面描述的加密引擎项目做为一个很好的例子,描绘了第三方IP核心和Virtex-II平台FPGA技术相结合如何在创纪录的短时间内创造出灵活的高性能安全性产品。加快此类设计实施的一个重要因素有赖于现成可用的象Xilinx LogiCORE PCI产品这样的IP核心产品以及由Helion开发的高级加密核心。这些设计模块使得一名工程师就可处理百万门的设计,并可在数周内获得结果。Helion加密引擎的未来计划包括使用更高带宽的总线接口,如HyperTransport技术来代替PCI。同时还有计划增加多个AES核心来提供全双工(加密和解密)的更高性能的解决方案。Helion加密核心还可支持更高的吞吐能力:在更大规模的Virtex-II 平台FPGA器件中实现的八个同样的Fast AES核心可以提供超过12 Gbps的数据加密速率。

Amit Dhir 是Xilinx公司战略解决方案营销部的一名经理。Amit负责Xilinx公司有关网络和电信系统的最终市场战略和解决方案。他的联系方式为,电子邮件:[email]amit.dhir@xilinx.com[/email]。

Graeme Durant 是 Helion Technology Ltd公司的创始人兼CEO。Helion公司提供系列成熟的数据安全芯片IP核心和专业的DSP算法开发咨询服务,公司拥有高度专业化和具有丰富经验的设计服务能力。[url]http://www.heliontech.com/[/url]。

表 1 – 128位高级加密标准(AES)解决方案可达到的典型数据加密速率
解决方案
               时钟 (MHz)    数据加密速率    说明
TMS320C62XX
32位定点DSP          200            112 Mbps  

基于MIPS的64位
RISC 处理器        250           392 Mbps    采用完全一级缓冲并且
                                   CPU完全专用于加密处理  

Pentium III            1,000          464 Mbps    采用完全一级缓冲并且CPU
                                                     完全专用于加密处理  

Helion Fast AES 核心  132            1536 Mbps   目标器件:
                                    Virtex-II 2V1000-4

[img]http://direct.xilinx-china.com/china/ch_articles/images/security_processing_fpgas_sc_1.jpg[/img]


[url]http://www.eeplace.com/eeplace/default.dsp?lang=cn[/url]


Virtex-4 是实现您的可编程系统的最佳平台 (中文研讨会)  
  
登记参加这项活动

论坛日期 2004年10月19日
时间 10:00 AM - 11:00 AM (北京时间)
专题范围 Virtex-4 是Xilinx 第二个以90nm制造工艺技术生产的产品系列。积累了超过一年的90nm制造工艺技术的经验, Xilinx 现已在减低90nm 工艺的电流漏泄技术方面居领导地位。Xilinx 利用三次氧化技术以大幅减低漏泄 ,因此, Virtex-4 的功耗比Virtex-II Pro节省达百份之五十 。在PLD 业内,除了Xilinx外,还没有其它厂家能做到这点,这使得Xilinx 在FPGA技术方面占尽领先的地位。

在这个网上研讨会,观众将会学习到Virtex-4各种的技术突破。更重要的是,您将能利用这些Virtex-4的技术突破有效地实现您的逻辑系统,例如:

- 每个BRAM 都带有FIFO 控制逻辑
- 每个PowerPC 都拥有三模 以太网 MAC 硬 IP
- XtremeDSP 逻辑片能达到500MHz MAC的演算
- 每个IO都采用ChipSync 技术 ,以满足源同步的设计要求
- 提供从600Mbps至11.1Gbps性能范围最广的MGT 技术
- 大量的时钟资源

不论是那种应用,Virtex-4 是您把构思发展成为硅产品的最佳平台。  
赞助企业 Xilinx, Inc.
[url]www.xilinx.com[/url]

Xilinx是全球可编程逻辑解决方案领导厂商,产品包括一系列先进集成电路、软件设计工具、预先定制的系统功能以及无可比拟的工程支持。Xilinx发明了FPGA并拥有全球FPGA逾一半的市场占有率。Xilinx的解决方案让顾客可大大地缩短开发计算机、周边设备、电信、工业和消费者应用等产品的时间。要获取更多资料,请浏览[url]www.xilinx.com[/url]。
专家介绍 邹志雄先生
Virtex解决方案市场经理

雄先生为赛灵思公司Virtex解决方案市场经理,负责管理赛灵思在亚太地区的Virtex, DSP, 连接和嵌入式处理解决方案营销团队。

邹先生2000年加入赛灵思公司, 在担任赛灵思亚太区软件和IP产品市场经理期间,他带领赛灵思软件在亚太区的销售得到重要提升。邹先生并负责公司在亚太区最大型之行业合作伙伴活动,从而为数千个工程师们提供赛灵思解决方案的培训。在加入赛灵思公司之前,邹先生在赛灵思公司的战略伙伴Synopsys公司工作了七年多时间,担任亚太区的销售经理职务。在他职业生涯之初,邹先生在加拿大ATI Technology公司担任过高级IC设计工程师。在该公司工作的三年多时间里,他集中于设计方法和IP开发。

邹先生持有美国威斯康星大学麦迪逊分部的电子工程学士学位,多伦多大学的工程硕士以及香港城市大学的工商管理硕士学位。  
语言 讲者将会以中文演讲。在问答部分,专家将会以中文口头回答问题。参加者可在演讲和问答时间以繁体中文、简体中文或英文文字输入问题。
注意 如果你参加这个研讨会,我们可能会向Xilinx公司提供你的会员资料(用户名称和密码除外),以改善将来的研讨会的内容。如果你不希望我们把你的会员资料提供给Xilinx公司,现在请登出这个登记版面。

参加研讨会的用户请先安装Internet Explorer5.0或以上的浏览器及下载Windows Media Player软件。

页: [1]
© 1999-2008 EvilOctal Security Team