• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
基于SoC的IPSec协议实现技术
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
基于SoC的IPSec协议实现技术
软件发布 基于SoC的IPSec协议实现技术
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 文章首页 >> 认证考试 >> 网络工程师 >> 基于SoC的IPSec协议实现技术

基于SoC的IPSec协议实现技术

添加时间: 2007-4-13 2:11:42  作者: 网络工程师认证参考  阅读次数:50   来源: http://www.d9soft.com

       

  引 言 

  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×1024×1024/(8×96)=1 365 330,完全满足系统查找的需要。匹配成功即可查找出对应的数据库中起始地址,大大节省了查表的时间,提高ipsec处理的效率。

  (3)密码算法的实现 

  在ipsec实现过程中涉及了一系列的密码运算,其中包括实现ah和esp的加密算法和认证算法,实现ike所需要的密钥交换算法以及密钥生成算法。为获得较高的密码运算效率,可以采用流水线技术设计专门的密码运算协处理器;设计硬件随机数发生器,为密码设备产生消息密钥;设计密钥安全控制器,以保护密钥安全。

  (4)其余功能的实现 

  ike密钥交换、策略管理、sad手工注入和硬件初始化(如spd和sad的管理)等由实时操作系统实现。


  结语 

  本文介绍了基于soc的ipsec协议实现技术,适用于千兆位vpn设备等高端应用。至于速度要求不高的低端应用,soc中可以由cpu实现协议处理,而密码算法由硬件实现,以降低硬件规模和设计成本,使设备获得较高的性价比。总之,以soc构筑安全平台,是提高安全产品安全性、可靠性和时效性的有效途径。 

  研发基于自主知识产权的、基于soc的安全产品,可以充分利用soc中cpu效率高、硬件可编程能力强,以及芯片规模大、速度快的特点,极大地提高安全产品的性能。该技术不仅对信息安全产品具有重要的实用价值,而且对密码工程技术具有重要的学术意义。

 

上下文章:

 

上一篇文章: 负载平衡的网络转发技术 下一篇文章: 双线路能打通南北网络瓶颈吗(下)

相关文章:

  • 教你如何用零框架技术加密网页
  • 飞速在线看视频 傲盾加速帮你实现速度感受
  • 用端口碰撞技术实现服务器远程管理
  • 基于Sendmail和Perl的邮件附件过滤系统(二)
  • 基于Sendmail和Perl的邮件附件过滤系统(一)

相关软件:

  • CGI技术全面接触(PDG)
  • 技术人员实用工具合集 06/03/21 [机必备工具]
  • 全国专业技术人员计算机应用能力考试模拟 2.1
  • 珊瑚工作室全国计算机等级考试三级网络技术 考试系统 V5.1
  • 计算机等级考试训练模拟软件(三级网络技术) V1.04
  • KnowU基于视频的人脸识别系统 V4.0

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

认证考试分类导航

  • 微软认证
  • 计算机等级考试
  • 软件水平考试
  • 思科认证
  • Oracle认证
  • Linux认证
  • JAVA认证
  • 网络工程师
  • 系统工程师
  • 程序员

本类经典文章推荐

  • CISCO路由器IOS升级方法总结(一)
  • 双线路能打通南北网络瓶颈吗(上)
  • 双绞线测试重要参数详解
  • Vlan中的Trunk技术在园区网中的应...
  • 椭圆曲线ECC加密算法入门介绍
  • 网络工程师考试备考-数据通信基础...
  • 城域传输网技术特点以及发展趋势
  • CISCO路由器IOS升级方法总结(三)
  • 网络管理基础--nslookup
  • CISCO路由器IOS升级方法总结(二)

网络工程师阅读排行

  • Vlan中的Trunk技术在园区网中的应...
  • 椭圆曲线ECC加密算法入门介绍
  • 图解WindowsXP远程桌面连接
  • 网络工程师考试备考-数据通信基础...
  • 计算机网络与通信复习资料
  • CISCO路由器IOS升级方法总结(一)
  • CISCO路由器IOS升级方法总结(二)
  • 网络管理员必须掌握的知识
  • 双绞线测试重要参数详解
  • 网络经典命令行

认证考试阅读总排行

  • 全国计算机等级考试一级模拟试题01
  • 全国计算机等级考试一级模拟试题10
  • 全国计算机等级考试一级模拟试题08
  • MCSD简介
  • 全国计算机等级考试一级考试最新模...
  • 全国计算机等级考试一级模拟试题07
  • 全国计算机等级考试一级模拟试题02
  • 全国计算机等级考试一级模拟试题06
  • 全国计算机等级考试一级模拟试题03
  • 一级(WINDOWS)试题解析-Word篇

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有