当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于SoC的IPSec协议实现技术

引 言 
    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中写入需要查找的匹配输入项<SPI,目标地址,协议>三元组等,匹配输出是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效率高、硬件可编程能力强,以及芯片规模大、速度快的特点,极大地提高安全产品的性能。该技术不仅对信息安全产品具有重要的实用价值,而且对密码工程技术具有重要的学术意义。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

舍弗勒以"专注驱动技术的科技公司"为主题亮相IAA MOBILITY 2025(B3馆B40展台) 合并纬湃科技后首次亮相IAA MOBILITY,展示拓展后的汽车产品组合 凭借在软件、...

关键字: 电气 软件 驱动技术 BSP

香港2025年 9月12日 /美通社/ -- 全球领先的互联网社区创建者 - 网龙网络控股有限公司 ("网龙"或"本公司",香港交易所股票代码:777)欣然宣布,其子公司My...

关键字: AI 远程控制 控制技术 BSP

深圳2025年9月11日 /美通社/ -- 2025 年 9 月 10 日,第 26 届中国国际光电博览会(简称 "CIOE 中国光博会")在深圳盛大开幕。本届展会吸引力再创新高,全球超3800家优质...

关键字: 自动化 光电 CIO BSP

天津2025年9月11日 /美通社/ -- 国际能源署(IEA)数据显示,2024 年全球数据中心电力消耗达 415 太瓦时,占全球总用电量的 1.5%,预计到 2030 年,这一数字将飙升至 945 太瓦时,近乎翻番,...

关键字: 模型 AI 数据中心 BSP

北京2025年9月11日 /美通社/ -- 国际9月11日上午,2025年中国国际服务贸易交易会(以下简称"服贸会")—体育赛事经济高质量发展大会现场,北京经济技术开发区工委委员、管委会副主...

关键字: 5G BSP GROUP MOTOR

中国,北京 – 2025年9月10日 – 低功耗无线解决方案创新性领导厂商Silicon Labs(亦称“芯科科技”,NASDAQ:SLAB)今日宣布:其第二代无线开发平台产品组合的最新成员FG23L无线单芯片方案(So...

关键字: 物联网 SoC

柏林2025年9月9日 /美通社/ -- 2025年9月5日,纳斯达克上市公司优克联集团(NASDAQ: UCL)旗下全球互联品牌GlocalMe,正式亮相柏林国际消费电子展(IFA 2025),重磅推出融合企...

关键字: LOCAL LM BSP 移动网络

深圳2025年9月9日 /美通社/ -- PART 01活动背景 当技术的锋芒刺穿行业壁垒,万物互联的生态正重塑产业疆域。2025年,物联网产业迈入 "破界创造"与"共生进化" 的裂变时代——AI大模型消融感知边界,...

关键字: BSP 模型 微信 AIOT

"出海无界 商机无限"助力企业构建全球竞争力 深圳2025年9月9日 /美通社/ -- 2025年8月28日, 由领先商业管理媒体世界经理人携手环球资源联合主办、深圳•前海出海e站通协办的...

关键字: 解码 供应链 AI BSP

柏林2025年9月9日 /美通社/ -- 柏林当地时间9月6日,在2025德国柏林国际电子消费品展览会(International Funkausstellung...

关键字: 扫地机器人 耳机 PEN BSP
关闭