与具有单个详细标准文档的MACsec相比,IPSec规范是一套相当令人困惑的RFC标准文档,具有一系列加密标准和连接选项。我正在考虑的是使用AES-GCM加密和身份验证(RFC4106)的隧道模式(IP封装安全协议RFC4303)。
尽管 IPsec 与 MACsec 共享许多加密功能,但仍存在一些重要差异。IPsec被称为使用互联网协议的端到端解决方案,因为中间路由器无法解密和查看数据包内部。此外,与 MACsec 不同,IPsec 中的传输通道通常具有多个安全通道,并将使用不同的密钥与不同的目标进行通信。
在会话开始时,软件与远端设备建立相互身份验证,并协商会话持续时间内将使用哪些加密密钥。建立连接后,加密消息将原封不动地通过网络,直到到达目的地。整个 IP 数据包由原始设备加密和身份验证,并添加新的 IP 报头以将数据包路由到其目标。系统在隧道模式下作为第 3 层连接工作,以创建用于网络到网络通信的虚拟专用网络 (VPN)。
嵌入式内核形式的硬件加速IPsec将比用于加密的软件解决方案快得多。硬件解决方案在处理来自许多客户端的 IPsec 连接的服务器或网关中可能很有意义。为了获得最大的安全性,加密使用带有128位或256位密钥的AES-GCM,并通过对整个数据包进行身份验证来补充。
现在,让我们考虑使用嵌入式IP核提供安全系统的一些不同方面。一个常见的问题与认证有关。NIST管理加密算法验证程序(CVAP),根据该计划,许可的测试实验室检查AES实现对实验室生成的测试向量集的响应。如果它们是正确的,测试实验室会将实现详细信息添加到 NIST 网站上的 AES 验证列表中。所有 AES 模式都有具有相应 NIST 标准(SP800-38A 至 SP800-38E)的测试程序。IP核也可以在此计划下进行验证。
CAVP 下的算法验证不应与 FIPS140-2 或 FIPS140-3 下的加密模块认证相混淆,尽管使用经过验证的算法实现是 FIPS140 认证的要求。不同之处在于,FIPS140是关于整个系统的,并考虑了许多方面,例如与IP核无关的物理安全性(例如,防篡改硬件)。如果您计划将加密模块提交给 FIPS 认证,则通常由您选择的 NIST 批准的测试实验室指导您完成整个过程,并且 IP 核供应商将根据需要与测试实验室合作,以提供任何必要的产品详细信息并支持算法验证。
这就引出了支持问题。供应商提供的支持对成功至关重要。如果您是罕见的加密专家之一,那么也许这并不重要。但对于我们其他人来说,密码学是一种我们没有时间获得的专业技能。我提到过,选择错误的AES模式可能会使解决方案容易受到攻击,但是还有很多其他决定需要做出,更复杂的内核可以提供额外的功能。在实施阶段,工程师通常需要核心供应商的帮助,因为核心通常必须挤入已经很严格的FPGA设计中。
设计良好的内核将为设计人员提供权衡资源类型的选择。例如,加密核心中有称为S-Box的关键块。这些可以在块内存或 FPGA 结构中的 LUT 中实现。通过选择混合搭配,设计人员可以将设计压缩到设备中剩余的可用资源中。对于高速设计,时序收敛可能是一个问题。同样,来自核心供应商的帮助可以提供宝贵的帮助。这可能是通过修改流水线结构,或建议将不同的设计属性应用于关键网络。
选择供应商和核心后,还需要进一步考虑。例如,在支付许可费之前,您能否对内核进行评估,以查看其是否符合您的要求?此外,与您可以许可的任何其他IP不同,一些加密核心供应商将提供HDL源代码。这使客户可以证明代码没有包含病毒或特洛伊木马代码,并且不能强制其进入未经授权的状态或操作。
许多安全设备供应商坚持进行安全审计,与审查网表操作相比,使用源代码更容易。即使没有资源可以立即进行审核,如果将来出现任何问题,也可以放心地将源代码用于检查。审核结果向最终用户保证,他们可以毫无顾虑地部署带有嵌入式IP核的设备,并且可以成为设备供应商的重要差异化因素。
源代码还加快了设计过程和文档编制速度。该设计得到了增强,因为工程师可以试验数据路径宽度等变量,通过实现更宽的数据路径来提供高吞吐量。或者,可以通过选择较窄的数据宽度来配置内核以实现最小的 FPGA 占位面积。相比之下,这些参数在交付之前被“硬编码”到网表中,用户没有改变设计的选择。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !