写在前面
笔者的毕业论文是在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安全处理器
持续整理归纳中