LJgibbs · 5月22日

[持续演进] IPsec 协议硬件实现工作与文献整理

写在前面

笔者的毕业论文是在FPGA上实现一个IPsec协议处理系统。

在此期间整理了IPsec协议在各类平台上的实现文献,以FPGA、ASIC等硬件实现为主。

目前主要为国内文献,暂时粗略地以实现平台来进行分类,后续可能会进行更小粒度的划分。

另外,笔者会在毕业尘埃落定之后,尽量开源自己的工作,包括论文以及代码。(目前代码质量很低,不知道啥时候能整理一些出来)

这里谈一下,我觉得这个课题还挺有意思的,也锻炼了自己的代码能力,但和所谓的“创新点”没啥关系。如果是相关专业的专硕,学校和导师对于“创新点”要求比较低的话,可以做这方面的实现工作,应该能很好地锻炼编码能力。

如果要"创新"嘛,离所有的协议、标准实现这种东西都远一点,赶紧麻溜的-_-||。

分割一下课题,将其中一部分作为本科毕设我觉得也不错。


CPU

  • 张磊. Linux安全网关与IKE的研究与设计[D].苏州大学,2001.

基本上是国内最早的IPsec实现,作者在CPU(奔腾?)基于Linux做了一个实现,当时Linux还是个新鲜玩意。

  • 穆瑞超. 基于DPDK的高性能VPN网关的研究与实现[D].哈尔滨工业大学,2017.
  • 邹新一. 面向云服务的高性能安全接入网关的研究与实现[D].哈尔滨工业大学,2018.

基于DPDK做了一些实现工作。

  • 李焦贤. IPSec VPN加速技术的研究与实现[D].西安电子科技大学,2014

将网卡的多个通道分别绑定至多个处理器核,专门用于IPsec协议处理,并屏蔽这些处理器核上的中断,防止打断协议处理,以提高效率。多个网卡通道+处理器核构成一个并行处理结构,并行单位为IPsec报文。

基于CPU的实现非常非常多,这里暂时不完全展开,将来将列出有特点的文献

嵌入式CPU

  • 蒋华,李康康,胡荣磊.一种基于strongSwan的IPSec VPN网关的实现[J].计算机应用与软件,2017,34(07):79-84.

GPU

  • 王金保. 基于GPU的IPSec VPN加速技术研究[D].华中科技大学,2012.

ASIP

  • 桂祚勤,崔广财,林存花,陈浩涓.万兆IPSec协议芯片关键技术研究[J].信息安全研究,2020,6(02):145-150.

FPGA

FPGA实现可以划分为两类,硬件加速器和协议处理器,前者一般作为处理器的辅助,为密码运算进行加速,其他工作还是在CPU上完成。后者则抗大梁了,报文接收转发,协议处理以及密码运算都一并完成,笔者的工作属于后者。

加速器

  • 李博杰. 基于可编程网卡的高性能数据中心系统[D].中国科学技术大学,2019.

中科大李博杰博士的毕业论文,包括了多项工作,其中一项工作ClickNP,通过其组件可编程实现多种网络应用,文中就以IPsec网关功能举了例子。

(写到这里想起似乎ClickNP的报文转发也是由硬件完成的,应该归纳至协议处理器类?后续确认下)

  • 李肖瑶. 基于FPGA的高性能网络功能加速平台[D].华中科技大学,2018.

提出了一个用于网络功能加速的框架DHL,复杂运算卸载至FPGA,报文转发由CPU的DPDK框架进行。同样以IPsec网关举了例子。

协议处理器

  • 陈赞锋. IPSec协议安全芯片的设计与实现[D].西北工业大学,2005.
  • 高磊. IPSec安全协处理器的研究与设计[D].西北工业大学,2006.
  • 孙黎. IPSec安全芯片的设计与实现[D].西北工业大学,2007.

    西北大有连续三届同学实现了IPsec安全芯片或协处理器,实际上都是完全在FPGA上实现的工作。应该为国内最早的硬件IPsec协议处理器实现

  • Lu J, Lockwood J W. IPSec implementation on Xilinx Virtex-II Pro FPGA and its application[C]. International Parallel and Distributed Processing Symposium, 2005.

    美国华盛顿大学Lockwood J W.完成的较早的IPsec协议处理实现

  • Wang H, Bai G, Chen H, et al. A Gbps IPSec SSL Security Processor Design and Implementation in an FPGA Prototyping Platform[C]. signal processing systems, 2010, 58(3): 311-324.

    清华大学设计的一款支持IPsec和SSL的安全网络芯片FPGA原型

  • A. Salman, M. Rogawski and J. Kaps, "Efficient Hardware Accelerator for IPSec Based on Partial Reconfiguration on Xilinx FPGAs," 2011 International Conference on Reconfigurable Computing and FPGAs, Cancun, 2011, pp. 242-248, doi: 10.1109/ReConFig.2011.33.

    美国乔治梅森大学团队设计的可动态重构IPsec实现,运行过程中按照需求,在AES,SHA以及蒙哥马利模乘三种算法之间反复横跳,相比独立实现减少了34%的硬件资源开销

  • Driessen B, Guneysu T, Kavun E B, et al. IPSecco: A lightweight and reconfigurable IPSec core[C]. Reconfigurable Computing and FPGAs, 2012: 1-7.

    德国波鸿大学团队设计的一款轻量级IPsec应用,使用轻量级加密与认证算法。并采用轻量级架构实现ECC算法

ASIC

这里主要讨论基于ASIC实现的IPsec协议处理器,网络安全处理器。

  • 牛赟. 单通道10Gbps在线网络安全处理器设计研究与实现[D].清华大学,2014.

清华大学牛赟博士的毕业论文,设计了一款集成10Gbps以太网PHY的IPsec安全处理器

持续整理归纳中

4 阅读 130
推荐阅读
0 条评论
关注数
21
文章数
41
想成为 IC 工程师 / 业余 FPGA,历史学,计算机网络爱好者
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
Arm中国学堂公众号
关注Arm中国学堂
实时获取免费 Arm 教学资源信息
Arm中国招聘公众号
关注Arm中国招聘
实时获取 Arm 中国职位信息