基于SoC的IPSec协议实现技术

基于SoC的IPSec协议实现技术,第1张

基于SoC的IPSec协议实现技术,第2张

引用单词

IPSe[1]作为实现VPN的安全协议体系,目前已经广泛应用于VPN设备中。然而,随着千兆高速网络技术的发展,对VPN设备的时效性提出了更高的要求。因此,有必要从体系结构方面研究新的技术方法来实现IPSec。在IPSec安全设备中,SoC技术将是更好的选择。soC系统的CPU、I/O接口、存储器、算法、协议处理等模块全部集成在一块半导体芯片上,实现了IPSec协议的所有功能,成为构建IPSec安全设备的核心部件,大大提高了高速v . PN网络的安全性、可靠性、及时性和高性价比。


1 IPSec协议

IPSec协议是互联网工程任务组(IETF)为克服TCP/IP协议没有安全机制的严重缺陷而专门制定的IP安全标准。用于在IP层实现访问控制、无连接完整性、数据源验证、防重放、数据加密、有限业务流机密性等安全服务。该标准由一系列协议组成,


*基金项目:“密码soc芯片的体系结构与安全性研究”,十五期间国家密码发展基金密码理论研究课题。

该协议的解释如下:

①AH[2](认证头)是一个安全协议头,为传输模式下的IP层数据流提供数据完整性、数据源认证、一些可选和有限的防重放服务。
② ESP [3](封装安全载荷)是插入到IP数据报中的协议头,为IP层流量数据提供机密性、数据源认证、防重放、数据完整性等安全服务。
③认证和加密算法是IPSec实现安全数据传输的核心。其中加密算法用于ESP,可以采用DES、IDEA等密码算法;认证算法用于AH,可以使用3DES,RC5等算法。
④ IKE [4](互联网密钥交换)是一种密钥交换协议,用于在IPSec通信双方之间建立共享的安全参数和经过验证的密钥,以建立安全关联。
⑤ DOI(解释域)是一个单独的文件,用于存储IKE协商参数。
⑥SA(安全关联)是一种安全关联协议,是应用IPS ec的主机和路由器之间的单向逻辑连接。SA有安全策略库(sPDB)和安全关联库(sADB),存储安全策略的具体细节,包括受保护的内容、受保护的方式、受保护的通信数据主体等。


2 SoC技术

目前SoC平台主要用于CSoC、SoPC、EPGA等芯片开发。其中,CSoC被称为可配置片上系统,一般包括一个处理器内核、可编程逻辑阵列等通用部件。SoPC是可编程的单片机系统,比如Altera的Nios内核模块;EPGA是一款基于FPGA的SoC芯片。利用这些Soc开发平台,我们可以充分利用片上系统的高集成度和优越性能,灵活地设计和开发各种专用SoC芯片。

(1)开发平台的选择

SoC平台开发套件包括:各种工具和资源软件、可重构硬件电路结构验证平台和指令手册等。可用的软件资源包括:多种可供选择的嵌入式处理器内核、硬件模块设计语言及其编译器、仿真、综合、布局布线工具等。设计语言包括HDL、C/C++等。开发平台的选择取决于设备来源:选择商用设备时,QUARTUSII,可以选择Altera的SOPC开发环境;在选择自主研发Soc时,应使用相关的专用开发平台。

(2)选择2)lP库

IP库要根据设备类型选择,一般IP核要选。对于安全性要求高的算法模块,要采取访问控制、反解剖分析等技术措施;对于可变逻辑模块,应采用FPGA以保证可编程特性。

(3)芯片结构的选择

SoC的主要部分由CPU和ASIC组成。在设计过程中,芯片结构的选择要从系统应用规划、协议处理速度要求、易实现性、Vetilog HDL编程的结构化、所用逻辑模块的实际结构等几个方面入手。

(4)硬件和软件系统的设计

SoC的基本结构是它具有一个或多个微处理器和可编程硬件逻辑。因此,在SoC设计中,硬件和软件必须协同设计。软硬件协同设计技术性很强,既有SoC设计的灵活性,又有SoC设计的复杂性,难以琢磨,充满变数。这将涉及到硬件资源的规划和整个系统性能的实现。

(5)系统集成设计

系统集成设计的关键技术主要是IP核的无缝连接系统设计和相关的可测试技术,包括紧耦合、传输特性、时钟合成和测试接口。

(6)低功耗管理设计

低功耗设计是针对有相关需求的器件的设计技术,主要通过一些系统状态和桥接控制来实现。

基于SoC的IPSec实现技术

3.1基本结构

用SoC实现IPSec的多协议模块包括:①IPSec协议输入输出引擎,通过协议分析决定数据流的处理;②安全关联、密钥交换、密码算法等。,其中安全关联模块直接提供所需参数,密钥交换模块用于IKE自动管理的SAD,算法模块是实现IP数据加解密和认证的基础模块;③接口模块是IPSec和IPV4/IPv6协议之间的接口。SoC中的CPU内核实现系统管理、策略管理和密钥管理功能。


IPSec的主要部分是多协议处理的硬件模块。在SoC设计过程中,我们应该对设计进行优化,以满足IPSec的功能和性能要求。采用片上操作系统,满足设计灵活性、继承性和可重用性的ip特性;结合CPU的结构、性能和指令系统,设计了软硬件系统,实现了各模块间通信、传输和控制的一体化设计。

IPSec协议的IKE密钥交换、策略管理和SAD手动注入由实时操作系统处理,IPSec输入输出引擎的协议分析、安全策略库(SAD、SPD)、密钥快速查找(CAM)、加解密算法和GMAC通信接口由硬件模块构建。该接口实现了以太网链路帧的接收、发送和校验功能。还应该在芯片中设计看门狗,防止系统崩溃;此外,应设计一个跟踪模块来调试系统的软件和硬件。

综上所述,在实现IPSec协议的SoC芯片中,主要的协议栈处理由硬件模块实现,CPu负责管理调度和密钥配置。

3.2功能实现

(1)1)LP sec协议的输出和输入引擎处理

对于传出的数据包,IPSec协议输出引擎首先调用策略管理模块,查询SPD,并确定数据包应该使用的安全策略。协议引擎根据策略管理模块的指令,对数据包做出以下三种可能的处理:
①如果存在有效的s a,则取出相应的参数,封装数据包(包括加密、认证、添加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和浦发银行规模较小时,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位,作为RAM中SADB和SPDB的地址。这种匹配方法只需要几个时钟周期来完成一个查询。当SADB和SPDB的规模很大时,系统的查询速度不会降低。目前CAM的匹配速度非常快,搜索速度可以达到1亿次/秒,而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效率高、硬件可编程性强、芯片规模大、速度快的特点,大幅提升安全产品的性能。该技术不仅对信息安全产品具有重要的实用价值,而且对密码工程技术也具有重要的学术意义。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 基于SoC的IPSec协议实现技术

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情