带你读《2022龙蜥社区全景白皮书》——6.1.2 系统安全场景的加解密加速方案(下)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 带你读《2022龙蜥社区全景白皮书》——6.1.2 系统安全场景的加解密加速方案(下)

《2022龙蜥社区全景白皮书》——06 “龙蜥+”精选方案与案例——6.1 精选典型方案——6.1.2 系统安全场景的加解密加速方案(上) https://developer.aliyun.com/article/1229109


实践验证

我们关注通用CPU计算和Intel® Crypto Acceleration(qat_sw)方案的加速对比,同时参考QAT(qat_hw)方案的数据。

系统环境:基于阿里云ECS云服务器


image.png

软件包:基于龙蜥操作系统Anolis OS 8.4


image.png


兼容性:Anolis BabaSSL文档,BabaSSL兼容openssl-1.1.1的全部能力。下面在AnolisOS 8.4上验证BabaSSL兼容qatengine, 支持Ice Lake加速和QAT offload。


OpenSSL性能:CPU指令加速属于底层特性,我们按照自下而上的方法逐层验证,首先对比OpenSSL底层的基础加解密算力。

对称密码:Ice Lake单核平均比Skylake高42%,比Rome高12%,比Ampere高20%:

1、符合Intel发布的Ice Lake单核1.4倍于Cascade Lake;

2、符合ECS发布的实时音视频通信加密的场景性能最大提升40%。

非对称密码:Ice Lake单核平均比Skylake高35%,比Rome高15%,是Ampere的3.5倍:

1、符合RSA特点:sign签名计算的消耗高运行慢,verify验证计算的消耗低运行快;

2、符合EC特性:sign签名计算比RSA快一个量级以上,verify验证计算比RSA慢;

3、Ampere的公钥密码计算性能较低(ARMv8 crypto extension)。


加速性能

# openssl speed -engine qatengine [algo] #包含qat_sw加速效果,无qat_hw offload

对称密码:Ice Lake加速效果符合预期的最高3.1倍:

1、block size大于256Byte时,AES-GCM能达到加速3~4倍。

2、block size小于64Byte时,AES-GCM有少量20%回退 。小于64Byte场景较少, Nginx默认ssl_buffer_size为16KB,可选4KB加速time to first byte响应。

非对称密码:部分场景可以达到预期的优化3~6倍:

1、同步模式没有指令加速效果,有30%左右单核通用计算的提升;

2、异步模式jobs大于8时有优化,RSA 2K sign 6倍,verify 3倍,ECDSA P256 sign 2倍,ECDH 3~倍;

3、异步模式jobs小于8时有回退。参考2.3.2章节分析,低负载场景没有加速需求,应该关闭加速。

Nginx性能:在OpenSSL底层加解密算力基础上,继续验证典型的端到端场景Nginx SSL/TLS性能:

1、复用QAT加速Nginx方案(需要Nginx支持SSL/TLS异步加速);

2、Nginx https SSL/TLS handshake的标准性能测试方法文档。

加速效果:Nginx SSL/TLS性能在单核Ice Lake加速后可提升2~3倍,是单核Skylake的3~4倍:

1、RSA有以上加速效果,ECDSA有60%通用计算提升。经分析是由于4核的client压力不足,在core通用提升基础上,nginx还有17%的加速效果。

2、Client connect数少于10时有回退,和OpenSSL异步低负载回退一致,低负载场景没有加速需求,应该关闭加速;

3、TLSv1.2的加速效果比TLSv1.3更好;


image.png


Tengine性能:Tengine从2.2.2版本开始支持async SSL,使用QAT offload SSL/TLS,支持的底层lib版本为:OpenSSL-1.1.0f和QAT_Engine-0.5.30。我们引入CPU加速后升级到:OpenSSL-1.1.1g和QAT_Engine-0.6.6,同时不需要QAT驱动和qatlib。

加速效果:Tengine SSL/TLS性能在单核Ice Lake加速后可提升2.7~3.2倍,是单核Skylake的3.5~4.2倍:

1、RSA有以上加速效果,ECDSA有60%通用计算提升。经分析是由于4核的client压力不足,在core通用提升基础上,tengine还有36%的加速效果;

2、tengine效果和asynch_mode_nginx类似;

3、仅对比TLSv1.2,TLSv1.3 tengine有专门的实践方案,此处略过。


image.png


总结


经过实践分析,Intel® Crypto Acceleration在Anolis OS 8.4可以达到理想的SSL/TLS加速效果。


传统主流的AES和RSA加速效果最好,Ice Lake的底层OpenSSL计算AES和RSA达到上一代Cascade Lake的3.4和5.1倍。应用层 Nginx SSL/TLS性能相应地加速到Cascade Lake的3.2倍,Tengine是3.3倍。整机多核性能随核数并发扩展,OpenSSL的AES和 RSA加速效果增加到3.8和5.7倍,Nginx增加到4.3倍,Tengine是3.8倍。


新兴的ECDSA加速效果相对较小,底层的OpenSSL计算ECDSA和ECDH加速了2倍和4.3倍,但应用层Nginx SSL/TLS性能小幅加速 1.5倍,Tengine是1.6倍,和上一代Intel® QAT的1.26倍效果类似。EC椭圆密码算法大幅优化了以往server端RSA的计算消耗,同等 安全性保证下的OpenSSL计算ECDSA性能已经达到RSA的10倍了。因此SSL/TLS性能中的密码学计算瓶颈不再凸显,端到端效果小 于底层加速是合理的结果。


兼容性方面,BabaSSL全兼容OpenSSL支持Intel® Crypto Acceleration。适配过QAT的应用也支持Ice Lake的CPU指令加速 SSL/TLS,例如Tengine, Envoy, DPDK等。其他应用可以参考asynch_mode_nginx进行异步SSL改造。tengine承载大量应用稳定 运行多年,我们推荐tengine作为Anolis OS 8.4的最佳SSL/TLS性能实践方案。

相关文章
|
1月前
|
人工智能 运维 安全
龙蜥社区成立系统安全 SIG,助力系统安全生态
系统安全 SIG 将深入研究系统安全领域,保护用户数据和应用程序免受攻击和威胁。
|
11月前
|
安全 Linux Anolis
带你读《2022龙蜥社区全景白皮书》——5.8.1 龙蜥操作系统漏洞管理
带你读《2022龙蜥社区全景白皮书》——5.8.1 龙蜥操作系统漏洞管理
202 0
|
11月前
|
算法 安全 Linux
带你读《2022龙蜥社区全景白皮书》——5.8.3 商密软件栈
带你读《2022龙蜥社区全景白皮书》——5.8.3 商密软件栈
108 1
|
11月前
|
tengine 安全 应用服务中间件
带你读《2022龙蜥社区全景白皮书》——6.1.2 系统安全场景的加解密加速方案(上)
带你读《2022龙蜥社区全景白皮书》——6.1.2 系统安全场景的加解密加速方案(上)
144 1
|
11月前
|
安全 Linux
Linux 系统安全 - 近期发现的 polkit pkexec 本地提权漏洞(CVE-2021-4034)修复方案
Linux 系统安全 - 近期发现的 polkit pkexec 本地提权漏洞(CVE-2021-4034)修复方案
1026 1
|
达摩院 安全 算法
|
1月前
|
网络协议 安全 Linux
linux系统安全及应用——端口扫描
linux系统安全及应用——端口扫描
37 0
|
1月前
|
监控 安全 Linux
Linux系统的防御从多个方面来保护系统安全
防火墙:使用防火墙软件如iptables或Firewalld来限制网络流量,保护系统免受恶意网络攻击。
|
安全 网络协议 Unix
Linux系统安全与应用
系统安全问题一直存在着,当系统往往出现安全漏洞的时候会对我们的系统运行有一定程度的影响,严重的话还会造成系统瘫痪等问题。
Linux系统安全与应用
|
安全 网络协议 算法
Linux系统安全及应用
⭐本文介绍⭐ 作为一种开放源代码的操作系统,Linux服务器以其安全,高效和稳定的显著优势而得以广泛应用。本文主要从账号安全控制、系统引导和登录控制的角度,介绍Linux系统安全优化的点点滴滴;还将介绍基于Linux环境的弱口令检测、网络扫描等安全工具的构建和使用,帮助管理员查找安全隐患,及时采取有针对性的防护措施。
Linux系统安全及应用