Netflix 发布了 FreeBSD 内核的 TLS 实现补丁

Netflix公司 提供 用于测试 TLS (KTLS) 的 FreeBSD 内核级实现,它可以显着提高 TCP 套接字的加密性能。 支持使用 write、aio_write 和 sendfile 函数加速使用 TLS 1.0 和 1.2 协议发送到套接字的传输数据的加密。

不支持内核级密钥交换,必须首先在用户空间建立和协商连接。 为了将套接字在连接协商过程中获得的会话密钥传输到内核,添加了 TCP_TXTLS_ENABLE 选项,激活该选项后,发送到套接字的所有数据都将使用指定密钥封装在 TLS 帧中。 要发送服务消息(例如协商连接),您应该使用带有 TLS_SET_RECORD_TYPE 记录类型的 sendmsg 函数。

支持两种主要的加密 TLS 帧的方法:软件和 ifnet(使用网卡的硬件加速)。 方法的选择是使用
套接字选项 TCP_TXTLS_MODE。 软件方法允许您连接不同的后端进行加密。 例如,基于 OpenCrypto 框架实现的支持 AES-GCM 的 ktls_ocf.ko 后端已经发布。 kern.ipc.tls.* 分支内提供了多个用于管理的 sysctls。 构建内核时,使用 KERN_TLS 选项启用 TLS 支持。

来源: opennet.ru