加入infoq企业会员 ,携手员工共同成长,企业内员工可免费领取《极客时间》7天会员
写点什么

谷歌开源 psp 安全协议:offload 友好,节省约 0.5% 处理能力-金马国际

  • 2022 年 5 月 20 日
  • 本文字数:1033 字

    阅读完需:约 3 分钟

近日,谷歌宣布将用于加密传输的 psp 安全协议。这是一种类似于 tls 的协议,独立于传输,支持每个连接的安全性,并且对 offload 友好。

 

据悉,google 十多年前就对数据中心之间的流量进行加密。在随后的发展中,几乎所有 google 传输的数据都进行了加密。虽然提供了隐私和安全优势,但对于 google 的消耗也不小:加解密 rpc 需要大约 0.7% 的 google 处理能力以及相应的内存容量。

 

虽然安全传输层协议 (tls) 可以满足 google 的安全要求,但由于内核中的连接状态和硬件中的卸载状态之间的紧密耦合,所以 tls 不是一个 offload 友好的协议。另外,tls 也不支持非 tcp 传输协议,例如 udp。 而 ipsec 协议虽然可以卸载到硬件,但也需要大规模的投入。

 

因此,谷歌开发了 psp,一种类似于 tls 的协议,独立于传输,支持每个连接的安全性,并且对 offload 友好。

 

psp 旨在满足大规模数据中心流量的要求,不强制要求特定的密钥交换协议,并且为数据包格式和加密算法提供很少的选择。它通过允许每个第 4 层连接(例如 tcp 连接)使用加密密钥来实现每个连接的安全性。


psp 协议还支持无状态操作,并且可以在使用安全参数索引 (spi) 和设备上的主密钥接收数据包。与维护大型设备表的典型状态加密技术相比,可以避免硬件状态爆炸。

 

psp 使用了带有自定义标头和尾标的用户数据报协议 (udp) 封装。一个 psp 数据包以原始 ip 头开始,之后是预先指定的目标端口上的 udp 头,然后是包含了 psp 信息的 psp 头,再者是原始 tcp/udp 数据包(包括头和有效负载),并以包含完整性校验和值 (icv) 的 psp 预告片。

 

基于用户提供的称为 crypt offset 的偏移量,可以对第 4 层数据包(报头和负载)进行加密或验证。例如,该字段可用于在传输过程中对 tcp 报头的一部分进行认证但不加密,同时保持报文的其余部分加密,以便在必要时支持网络中的报文采样和检测。

 

根据介绍,psp 与零拷贝技术结合效益倍增。例如,tcp 零拷贝和的影响受到软件加密有效载荷的额外读取和写入的限制。由于 psp 消除了这些额外负载和存储,rpc 处理就不再需要接触网络堆栈中的有效负载。“对于 1mb 的大型 rpc,我们看到 psp 和零拷贝相结合的速度提高了 3 倍。”


根据官方消息,google 已将 psp 修补到自己的生产 linux 内核、 andromeda 网络虚拟化堆栈和 snap 网络系统中。据悉,psp 加密卸载可节省 google 约 0.5% 的处理能力。

 

查看更多:


2022 年 5 月 20 日 16:471165

评论

发布
暂无评论
发现更多内容
网站地图