基于SoC的IPSec协议实现技术

2007-03-09 19:03:27来源: 互联网
引 言 IPSe[1]作为一种实现VPN的安全协议体系,目前已在VPN设备中广泛使用。但是,随着千兆位高速网络的技术发展,对VPN设备在时效性等方面提出了更高的要求。因此,必须从体系结构等方面,研究新的技术方法实现IPSec。在IPSec安全设备中,SoC技术将是一种较好的选择。soC将系统的CPU、I/O接口、存储器、算法、协议处理等模块全部集成到单一半导体芯片上,实现IPSec协议的全部功能,成为构筑IPSec安全设备的核心部件,极大地提高了高速V。PN网络的安全性、可靠性、时效性以及较高的性能价格比。 1 IPSec协议 IPSec协议是因特网工程任务组(IETF)针对TCP/IP协议没有安全机制的严重缺陷而专门制定的IP安全标准,用以在IP层实现访问控制、无连接完整性、数据源验证、抗重播、数据加密和有限的业务流机密性等多种安全服务。该标准由一系列协议组成,各协议之间的关系如图1所示。 *基金项目:“十五”期间国家密码发展基金密码理论研究课题“密码soc芯片的体系结构和安全性研究”。 有关协议的解释如下: ①AH[2] (Authentication Header)是一个安全协议头,在传输模式下为IP层数据流提供数据完整性、数据源身份认证、一些可选的和有限的抗重播服务。 ②EsP[3] (Encapsulating Security Payload)是一个插入到IP数据报内部的协议头,为IP层流量数据提供机密性、数据源身份认证、抗重播以及数据完整性等安全服务。 ③认证与加密算法是IPSec实现安全数据传输的核心,其中,加密算法用于ESP,可以采用DES、IDEA等密码算法;认证算法用于AH,可以采用3DES、RC5等算法。 ④IKE[4](Internet Key Exchange)是密钥交换协议,用于在IPSec通信双方建立共享安全参数及验证过的密钥,以建立一种安全关联关系。 ⑤DoI(Domain of Interpretation)是一个单独的文档,用于存放IKE协商的参数。 ⑥SA(Security ASSOCiation)是安全关联协议,是主机、路由器两个应用IPS ec实体之间的一种单向逻辑连接。sA有安全策略库(sPDB)和安全关联库(sADB),存储了安全策略的具体细节,包括保护的内容、保护的方式、保护通信数据的主体等策略。 2 SoC技术 目前,SoC平台主要用于CSoC、SoPC、EPGA等芯片开发。其中,CSoC称为可配置系统级芯片,一般包括1个处理器内核、可编程逻辑阵列和其它一些通用部件;SoPC是可编程的单芯片系统,如Altera的Nios内核模块;EPGA是以FPGA为主体的SoC芯片。使用这些SoC开发平台,可以充分利用系统级芯片集成度高和性能优越的特点,灵活设计开发各种专用Soc芯片。 (1)开发平台的选择 SoC平台开发套件包括:各种工具与资源软件、可以重构的硬件电路结构验证平台和使用说明书等。其可用软件资源包括:供选用的多种嵌入式处理器核,硬件模块设计语言及其编译器,仿真、综合和布局、布线工具等;设计语言包括HDL、C/C++等。开发平台的选择取决于器件的来源:当选用商品化器件时,可以选择Altera的SOPC开发环境QUARTUSII;当选择自主研发Soc时,应使用相关的专用开发平台。 (2)lP库的选择 IP库的选择应针对器件类型,选择通用的IP核。对安全性要求较高的算法模块,应采取访问控制、抗解剖分析等技术措施;对可变逻辑模块,应采用FPGA,以保证可编程的特点。 (3)芯片结构的选择 SoC的主体部分由CPU和ASIC组成。在设计过程中,芯片结构的选择应从系统应用规划、协议处理速度要求、便于实现、Vetilog HDL编程实现结构化,以及所用逻辑模块的实际结构等几个角度入手。 Altera的SoC芯片[5]构成如图2所示。 (4)软硬件系统设计 SoC的基本结构是具有一个成多个微处理器,以及可编程硬件逻辑,因此,在SoC设计中必须进行软硬件的协同设计。软硬件协同设计的技术性很强,它既有SoC设计的灵活性,又有SoC设计中难以揣摩、充满变数的复杂性,将涉及到硬件资源的规划和整个系统性能的实现。 (5)系统集成设计 系统集成设计的关键技术,主要是IP核的无缝连接系统设计和相关的可测试技术,包括紧密耦合、传输特性、时钟综合和测试接口等。 (6)低功耗管理设计 低功耗设计是对有相关要求的器件进行的一种设计技术,设计中主要通过一些系统状态、桥接控制等来实现。 3 基于SoC的IPSec实现技术 3.1 基本结构 以SoC实现IPSec的多协议模块包括:①IPSec协议输入、输出引擎,是通过协议解析,决定数据流程的处理;②安全关联、密钥交换、密码算法等,其中,安全关联模块为其直接提供所需参数,密钥交换模块用于IKE自动管理的SAD,算法模块是实现IP数据加解密和认证的基本模块;③接口模块,是IPSec与IPV4/IPv6协议的接口界面。SoC中的CPU核,实施系统管理、策略管理和密钥管理等功能。 基于SoC的IPSec协议结构如图3所示。 IPSec的主体部分是多协议处理的硬件模块。在SoC设计过程中,应通过优化设计,以满足IPSec的功能和性能要求;采用片上操作系统,以满足设计的灵活性、可继承性和可复用性等IP特性;结合CPU的结构、性能和指令系统,进行软硬件系统设计,以达到各个模块之间的通信、传输和控制等一体化设计。 基于SoC的IPSec芯片结构如图4所示。 图4中IPSec协议的IKE密钥交换、策略管理、SAD手工注入由实时操作系统来处理,而IPSec输入输出引擎的协议解析、安全策略库(SAD、SPD)、密钥快速查找(CAM)、加解密算法、GMAC通信接口等由硬件模块构造。通信接口实现以太网链路帧的接收、发送、校验等功能。芯片中还应设计看门狗,用于防止系统死机;另外,要设计跟踪模块,用于系统软硬件调试。 综上所述,在实现IPSec协议的SoC芯片中,主要协议栈处理都由硬件模块实现,CPu负责管理调度和密钥配置。 3.2 功能实现 (1)lPSec协议的输出与输入引擎处理 对于输出数据包,IPSec协议输出引擎先调用策略管理模块,查询SPD,确定数据包应使用的安全策略。根据策略管理模块的指示,协议引擎对该数据包作出如下3种可能的处理: ①如存在有效的SA,则取出相应的参数,将数据包封装(包括加密、验证,添加IPSec头和IP头等),然后发送。 ②如尚未建立SA,策略管理模块启动或触发IKE协商。协商成功后,按①中的步骤处理;不成功则应将数据包丢弃,并记录出错信息。 ③如存在SA但无效,策略管理模块将此信息向IKE通告,请求协商新的SA,协商成功后按①中的步骤处理,不成功则应将数据包丢弃。 对于输入数据包,IPSec协议引擎先调用策略管理模块,查询SAD。如得到有效的SA,则对数据包进行解封(还原),再查询SPD,验证为该数据包提供的安全保护是否与策略配置的相符。如相符,则将还原后的数据包交给TCP层或转发。如不相符,或要求应用IPSec但未建立SA,或SA无效,则将数据包丢弃,并记录出错信息。 (2)SPDB和SADB实现技术 IPSec协议处理数据报文的过程中需要通过不断地查询SADB和SPDB来验证数据的合法性和取出密钥进行数据报的加解密处理,因此,对IPSec处理性能而言,如何选择保存SADB和SPDB的数据结构至关重要。另外由于SA和SP的数量都是动态地变化的,必须选择合适的存储结构。如用软件方法设计一个合理的数据结构进行存储,在系统的SADB和SPDB规模比较小时SA和SP的查询速度还可以接受,但随着SADB和sPDB规模的扩大,系统的查询能力必然下降。因为在查询中最好的情况是一次命中,而大多数情况下都不会是一次命中,查询的效率必然下降,从而影响IPSec协议的处理。要从根本上解决查询效率的问题必须分析SADB和SPDB的设计要求,才能找到解决方法。 SPDB和SADB的设计基于每一个SA对应一条SPD。SA和SPD在各数据库中具有相同的地址。利用指针互指,只要在其中一个数据库查找到匹配的字段,就能同时得到两个数据库的地址指针。因此,SPDB和SADB的设计应该满足下列要求: ①对于该数据结构能够有效地进行查询,得到确切的或者基于选择符的匹配结果,包括源地址、目的地址、协议和SPI。 ②能够为选择符保存通配、范围或确切的值。 ③隐藏指向SADB和SPDB的指针,保证两个结构间的同步。 ④对SA/SP条目进行排序保存,以便匹配查找一直能快速完成。 采用硬件设计技术通常是提高协议处理速度的好方法。其中,CAM(Content_Addressable Memory)是按内容寻址存储器,是由控制和匹配两大部分组成的。通过控制部分,可以把需要写进CAM中的数据通过SPDB和SADB管理模块写进CAM中,供查找时使用。在匹配口可以输入数据,找出该匹配数据所在地址并返回。在实际设计中,SADB或SPDB数据库内容连续存储在RAM空间中。CAM中写入需要查找的匹配输入项三元组等,匹配输出是32位作为查询SADB和SPDB在RAM中的地址,这种匹配方法一次查询只需几个时钟周期即可完成。在SADB和SPDB规模很大时系统的查询速度不会降低。目前CAM的匹配速度很快,查找速度可以达到1亿次/s,而在一个1000Mb/s的网络口上每秒连续传最大包的个数为1000%26;#215;1024%26;#215;1024/(8%26;#215;96)=1 365 330,完全满足系统查找的需要。匹配成功即可查找出对应的数据库中起始地址,大大节省了查表的时间,提高IPSec处理的效率。 (3)密码算法的实现 在IPSec实现过程中涉及了一系列的密码运算,其中包括实现AH和ESP的加密算法和认证算法,实现IKE所需要的密钥交换算法以及密钥生成算法。为获得较高的密码运算效率,可以采用流水线技术设计专门的密码运算协处理器;设计硬件随机数发生器,为密码设备产生消息密钥;设计密钥安全控制器,以保护密钥安全。 (4)其余功能的实现 IKE密钥交换、策略管理、SAD手工注入和硬件初始化(如SPD和SAD的管理)等由实时操作系统实现。 结语 本文介绍了基于Soc的IPSec协议实现技术,适用于千兆位VPN设备等高端应用。至于速度要求不高的低端应用,SoC中可以由CPU实现协议处理,而密码算法由硬件实现,以降低硬件规模和设计成本,使设备获得较高的性价比。总之,以SoC构筑安全平台,是提高安全产品安全性、可靠性和时效性的有效途径。 研发基于自主知识产权的、基于SoC的安全产品,可以充分利用SoC中CPU效率高、硬件可编程能力强,以及芯片规模大、速度快的特点,极大地提高安全产品的性能。该技术不仅对信息安全产品具有重要的实用价值,而且对密码工程技术具有重要的学术意义。

关键字:ipsec  协议  实现  技术

编辑: 引用地址:http://www.eeworld.com.cn/wltx/qtjs/200703/3184.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
ipsec
协议
实现
技术

小广播

独家专题更多

TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved