diff --git a/SUMMARY.md b/SUMMARY.md index fd232c60842650052facaef8032dd05d3f318eed..8c28dac320266fe9309b8d28d1412417f3c0967e 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -22,7 +22,7 @@ * [软硬件协同](./sw_hw_codesign/README.md) * [面向DPU场景的软硬协同协议栈](./sw_hw_codesign/sw_hw_cooperation_protocol_stack.md) * [面向芯片研发和验证的操作系统 SiliconFastOS](./sw_hw_codesign/siliconfastos.md) - * [面向异构计算的加速器SDK](./sw_hw_codesign/yitian_cryptography_complex.md) + * [面向异构计算的加速器SDK](./sw_hw_codesign/alibaba_cryptography_complex.md) * [安全可信](./security_trust/README.md) * [龙蜥操作系统漏洞管理](./security_trust/anolis_cve_management.md) * [安全合规](./security_trust/anolis_security_compliance.md) diff --git a/materials/imgs/sw_hw_codesign/alibaba_cryptography_complex/alibaba_cryptography_complex.png b/materials/imgs/sw_hw_codesign/alibaba_cryptography_complex/alibaba_cryptography_complex.png new file mode 100644 index 0000000000000000000000000000000000000000..79f6416378f1cd71e084e8011d297b1d3a1a1a1a Binary files /dev/null and b/materials/imgs/sw_hw_codesign/alibaba_cryptography_complex/alibaba_cryptography_complex.png differ diff --git a/materials/imgs/sw_hw_codesign/yitian_cryptography_complex/yitian_cryptography_complex.png b/materials/imgs/sw_hw_codesign/yitian_cryptography_complex/yitian_cryptography_complex.png deleted file mode 100644 index a2e8f3b991dc713227832235a4a579df66e8d15c..0000000000000000000000000000000000000000 Binary files a/materials/imgs/sw_hw_codesign/yitian_cryptography_complex/yitian_cryptography_complex.png and /dev/null differ diff --git a/sw_hw_codesign/alibaba_cryptography_complex.md b/sw_hw_codesign/alibaba_cryptography_complex.md new file mode 100644 index 0000000000000000000000000000000000000000..4941ada37fd3dc3ab8867750be66338375ae58e1 --- /dev/null +++ b/sw_hw_codesign/alibaba_cryptography_complex.md @@ -0,0 +1,25 @@ +# 面向异构计算的加速器SDK +tags: 软硬件协同, Anolis8 + +## 背景概述 +来自 Entrust 的调查数据显示,目前至少有50%的公司采用了加解密技术来保护公司信息,这个比例还在逐年上升。然而因为安全漏洞引发的数据泄漏事件还是时有发生,为此网络协议也在逐渐演进,强制使用更安全的算法。比如 TLS 1.3 中废弃了很多存在安全风险的算法。但是这些更安全的算法一般密钥长度更长,或者计算过程更加复杂,意味着对计算资源的消耗会更加巨大,对CPU的处理能力提出了挑战。追求极致的安全拉低自身业务的处理能力又显得得不偿失,为了解决这个难题,龙蜥社区开源了面向异构计算的加解密加速器 SDK。 + +ALICC (Alibaba Cryptography Complex)是阿里巴巴针对网络安全领域推出的硬件加速解决方案,支持 IPSEC/TLS 等主流网络安全协议,支持对称数据加密(如 AES,SM4)、非对称公钥加密(如 RSA、ECC、SM2 等)和数据完整性(SHA1/2/3,SM3 等),加速数据的加解密和数字签名等操作。 + +## 技术方案 +ALICC 全栈 SDK 包括内核驱动、用户态驱动、硬件抽象层、驱动抽象框架、Engine 组成,如下图所示: + +![images.png](../materials/imgs/sw_hw_codesign/alibaba_cryptography_complex/alibaba_cryptography_complex.png) + +下面针对每一个组件,自底而上分别做一些简单的描述: +1. ALICC 内核驱动。承接来自通用 Linux 内核 LKCF 的加解密流量、PF 管理、算法注册、虚拟化支持等; +2. ALICC 用户态驱动。管理 UIO 框架暴露的硬件环形缓冲区、算法注册、UDMA 用户态 DMA 内存管理; +3. ALICC PMD。硬件抽象层,将上层的算法请求转换为硬件定义的命令格式,负责将命令传递给硬件; +4. ALICC 驱动框架。提供统一的用户态加解密 API,对称、非对称、密钥协商、授权加密四种不同的算法场景,不同场景下提供各自的 API; +5. ALICC Engine。对接 OpenSSL、BaBaSSL、BoringSSL 等加解密库,承接用户态加解密流量 + +## 技术优势 +结合 ALICC 加速器和ALICC SDK,加解密算法性能得到极大的提升,以国密算法 SM4 为例,单个 ALICC 性能相对于单颗 CPU 有18~78倍性能提升。 + +## 应用场景 +面向异构计算的 ALICC SDK 可以有效发挥 ALICC 硬件加速器的性能,可应用于密码学计算密集型应用,例如 Nginx、Tengine 等,有效提升 Web 应用网关 https 握手和数据加解密性能。针对 E2E 场景,基于 nginx 进行性能数据测试,并且和其他产品做了对比。客户端测试采用 wrk 测试软件测试 nginx https 短连接的握手能力,加密套件采用 ECDHE-RSA-AES256-GCM-SHA384。有了 ALICC 加速器和 ALICC SDK 的加持,整体 nginx 网关的能力有成倍的性能提升,这可以极大提升 nginx/tengine 业务的实际收益,帮助业务提高收益降低成本。 diff --git a/sw_hw_codesign/yitian_cryptography_complex.md b/sw_hw_codesign/yitian_cryptography_complex.md deleted file mode 100644 index 77aa16782ea9616fa90bfa8e215b3b1fb90d4fd2..0000000000000000000000000000000000000000 --- a/sw_hw_codesign/yitian_cryptography_complex.md +++ /dev/null @@ -1,25 +0,0 @@ -# 面向异构计算的加速器SDK -tags: 软硬件协同, Anolis8 - -## 背景概述 -来自Entrust的调查数据显示,目前至少有50%的公司采用了加解密技术来保护公司信息,这个比例还在逐年上升。然而因为安全漏洞引发的数据泄漏事件还是时有发生,为此网络协议也在逐渐演进,强制使用更安全的算法。比如TLS 1.3中废弃了很多存在安全风险的算法。但是这些更安全的算法一般密钥长度更长,或者计算过程更加复杂,意味着对计算资源的消耗会更加巨大,对CPU的处理能力提出了挑战。追求极致的安全拉低自身业务的处理能力又显得得不偿失,为了解决这个难题,龙蜥社区开源了面向异构计算的加解密加速器SDK。 - -YCC (Yitian Cryptography Complex)是阿里巴巴针对网络安全领域推出的硬件加速解决方案,以IP的形式集成在倚天710的SoC中,支持IPSEC/TLS等主流网络安全协议,支持对称数据加密(如AES,SM4)、非对称公钥加密(如RSA、ECC、SM2等)和数据完整性(SHA1/2/3,SM3等),加速数据的加解密和数字签名等操作。 - -## 技术方案 -YCC全栈SDK包括内核驱动、用户态驱动、硬件抽象层、驱动抽象框架、Engine组成,如下图所示: - -![images.png](../materials/imgs/sw_hw_codesign/yitian_cryptography_complex/yitian_cryptography_complex.png) - -下面针对每一个组件,自底而上分别做一些简单的描述: -1. YCC内核驱动。承接来自通用Linux内核LKCF的加解密流量、PF管理、算法注册、虚拟化支持等; -2. YCC用户态驱动。管理UIO框架暴露的硬件环形缓冲区、算法注册、UDMA用户态DMA内存管理; -3. YCC PMD。硬件抽象层,将上层的算法请求转换为硬件定义的命令格式,负责将命令传递给硬件; -4. YCC驱动框架。提供统一的用户态加解密API,对称、非对称、密钥协商、授权加密四种不同的算法场景,不同场景下提供各自的API; -5. YCC Engine。对接OpenSSL、BaBaSSL、BoringSSL等加解密库,承接用户态加解密流量 - -## 技术优势 -结合YCC加速器和YCC SDK,加解密算法性能得到极大的提升,以国密算法SM4为例,单个YCC性能相对于单颗CPU有18~78倍性能提升。 - -## 应用场景 -面向异构计算的YCC SDK可以有效发挥YCC硬件加速器的性能,可应用于密码学计算密集型应用,例如Nginx、Tengine等,有效提升Web应用网关https握手和数据加解密性能。针对E2E场景,基于nginx进行性能数据测试,并且和其他产品做了对比。客户端测试采用wrk测试软件测试nginx https短连接的握手能力,加密套件采用ECDHE-RSA-AES256-GCM-SHA384。有了YCC加速器和YCC SDK的加持,整体nginx网关的能力有成倍的性能提升,这可以极大提升nginx/tengine业务的实际收益,帮助业务提高收益降低成本。