带分类器,多协议引擎,旁路,5-10 Gbps的 Protocol-IP-196

Protocol-IP-196 多协议引擎是可感知协议的数据包引擎,用于加速多核应用或通信处理器中的 IPSec、SSL/TLS、DTLS、3GPP 和 MACsec,最高 10 Gbps,提供大量密码算法。它专为快速集成、最大限度减轻 CPU 负载并提供完全变换而设计,提供了可靠、经济的嵌入式 IP 解决方案,可轻松集成到多核 SoC 设计中。多协议引擎与 DPDK、Linaro ODP 和 Linux 加密 API 预集成在一起。因此,此 IP 设计用于将系统中的网络安全处理与其 AMBA 总线接口以及这些公开 API 无缝集成。

可感知协议的 IPsec、SSL、TLS、DTLS、3GPP 和 MACsec 数据包引擎,带有多核应用处理器的虚拟化、缓存分类器和旁路接口

5-10 Gbps,可编程,由分类器提供最大限度的 CPU 负载减轻,支持全新和旧版加密算法,AMBA 接口

受驱动程序开发工具包支持,QuickSec IPsec 工具包,Linaro ODP,DPDK,Linux 加密

Protocol-IP-196 多协议引擎工作原理

Protocol-IP-196 多协议引擎是可感知协议的数据包引擎。凭借旁路总线接口、虚拟化和嵌入式缓存,它成为非常高效的数据包变换引擎,专门处理新兴 5G 网络拓扑中复杂 SoC 中的安全处理。多协议引擎用作系统的数据平面中的总线主控,并在 CPU 干预极少的情况下处理数据包。此引擎支持 AMBA(AXI、AHB、TCM)或 PLB SoC 总线接口,并可在不同配置中交付,以支持 IPsec 以及 SSL、TLS、DTLS 和 3GPP。相较于 Protocol-IP-93,它通过令牌指令和对多核 CPU 的支持提供更高的性能、更多算法和协议灵活性。相较于 Protocol-IP-97,它提供了相同的原始性能,但通过大延迟补偿和预取、内部缓存和完全虚拟化,它可在复杂多 CPU 系统中保证性能,并大幅减轻 CPU 负载。由于虚拟化,Protocol-IP-196 还允许将安全参数和密钥与系统中的不同 CPU 和安全应用分开。

Protocol-IP-196 Multi-Protocol Engine Block Diagram
Protocol-IP-196 Multi-Protocol Engine Block Diagram

Protocol-IP-196 专为减轻主机处理器负载,提高协议运行的速度,并减少以下对象的千兆比特应用处理器功耗而设计:VPN 路由器、家庭媒体网关、FTTH 路由器、物联网网关、蜂窝网接入点、基站、云存储、5G 网络 SoC、VPN 设备和监控摄像头。

对于任何支持的协议,较大数据包的性能都是 10 Gbps,对现有流的 CPU 负载最小。门数在 50 万到 70 万个之间,具体取决于配置。

Secure Networking Basics cover

安全网络基础知识:MACsec、IPsec 和 SSL/TLS/DTLS

MACsec、IPsec 和 SSL/TLS/DTLS 协议是保护移动中(在连通设备之间传达)的数据的主要方式。这些协议可以固定在硬件中,或在软件中作为端到端安全架构的一部分实现。本白皮书提供了有关其中每个协议的基础信息,包括其相互关系和用例。

功能和优势

关键优势:

  • 通过硅验证的实现
  • 可快速轻松集成到 SoC
  • 灵活的分层设计
  • 整套配置
  • 世界级技术支持
  • 驱动程序开发工具包
  • 完全虚拟化,在应用和 CPU 级别分隔密钥
  • 嵌入式缓存
  • AMBA 接口
  • 符合 NIST SP800-90A 标准的 DRGB
 

IPsec 分类:

  • IPsec-ESP 报头解析以查找流
  • 基于查找结果获取流和对应的
    变换记录
  • 更新流统计数据
  • 更新变换统计数据
  • 支持 IPv4 和 IPv6
 

IPsec 变换(IPv4 和 IPv6):

  • 按照最新的 RFC 进行完全 IPsec 数据包 ESP/AH 变换(2403、2404、2405、2410、3566、3602、3686、4106、4301、4303、4304、4308、4309、4543、4835、4868、4869、6054、6379、7321、7539、7634 和 8221)
  • IPsec ESP 和 AH 隧道和传输模式
  • 自主 IPsec ESP 数据包分类和安全关联选择(入站和出站)
  • 为出站数据包插入 ESP/AH 报头,并为入站数据包验证 ESP/AH 报头
  • 全序号处理,包括 ESN 和使用各种掩码大小的完全防放播检查。
  • 为出站数据包计算并插入完整性检查值,为入站数据包剥离并验证
  • 附加(出站)/剥离并验证(入站)最多 255 字节的填充
 

SSL3.0 / TLS1.0 / TSL1.1 / TLS1.2 / TLS1.3 / DTLS1.0 / DTLS1.2:

  • 完全单通道数据包变换,根据最新 RFC(2246、4346、4347、5246、5288、5289、6101、6347、6460、6655、7539、7905 和 8446)
  • 完全报头处理:
    • 为出站数据包插入报头
    • 为入站数据包剥离并验证报头
    • 防重放检查
    • 尾部处理:
      • 为出站数据包插入最多 255 字节的填充
      • 为入站数据包剥离并验证最多 255 字节的填充
      • 为出站数据包计算并插入消息验证代码,为入站数据包剥离并验证

MACsec

  • MACsec 帧变换,根据 IEEE 802.1AE 标准
  • SecTAG 插入和删除
  • PN 插入、删除和验证
  • ICV 生成、插入、删除和验证
 

SRTP 数据包变换,根据 RFC3711:

  • SRTP 数据包变换,根据 RFC3711
  • ROC 插入和删除
  • MKI 插入和删除
  • TAG 生成和插入
 

3GPP 无线算法

SA 管理器

  • 嵌入式 SA 缓存 [Inserted Bullet]
  • 优化安全关联格式
  • 支持无限数量的安全关联
 

加密引擎支持以下加密算法:

  • (3)ECB 和 CBC 中的 DES,带 (3x) 56 位密钥
  • ECB、CBC、ICM、CTR 模式中的 AES,带 128/192/256 位密钥,GCM、GMAC 和 CCM 模式,可选的 AES-XTS
  • 可选的 ChaCha20、SM4、ARIA [Inserted Bullet]
  • 有状态和无状态模式中的可选 ARC4,最多 128 位密钥
  • 基本和 f8 模式中的 Kasumi (UEA1)
  • 基本和 128-EEA1 模式中的 SNOW3G (UEA2)
  • 基本和 128-EEA3 模式中的 ZUC (UEA3)
 

哈希引擎支持以下算法:

  • SHA-1、SHA-2-224/256、MD5
  • 可选 SHA-2-384/512、SHA-3 224/256/384/512
  • SHA-1、SHA-2、MD5 的 HMAC 变换
  • 可选 SM3、Poly1305
  • SHA-1、MD5 的 SSL-MAC 变换
  • AES-CCM、AES-XCBC-MAC、AES-CBC-MAC-PRF
  • GHASH、GCM、AES-GCM 和 AES-GMAC
  • CRC32
  • f9 模式中的 Kasumi (UIA1)
  • 基本和 128-EIA1 模式中的 SNOW3G (UIA2)
  • 基本和 128-EIA3 模式中的 ZUC (UIA3)
 

支持 DMA 控制器的主机接口:

  • 支持单独访问多处理器的多个
    描述符圆环
  • 分散/收集处理
  • 自动仲裁和总线流控制
  • 支持大字节序和小字节序主机系统
  • 将数据包引擎与系统总线接口解耦
 

主和从属接口:

  • 主/从属接口:AXI/AXI 或 AXI/APB
  • 输入和输出缓冲器将数据包引擎从系统总线接口解耦
  • 方便的 SW 调试接口,包括暂停模式
  • 低功耗的时钟切换接口
  • 虚拟化

来自博客

资源

Rambus logo