龙蜥白皮书精选:面向异构计算的加速器 SDK 原创

龙蜥社区OpenAnolis
发布于 2023-3-29 18:39
浏览
0收藏

龙蜥白皮书精选:面向异构计算的加速器 SDK-鸿蒙开发者社区

文/赵冠军

01 背景概述

来自 Entrust 的调查数据显示,目前至少有 50% 的公司采用了加解密技术来保护公司信息,这个比例还在逐年上升。然而因为安全漏洞引发的数据泄漏事件还是时有发生,为此网络协议也在逐渐演进,强制使用更安全的算法。比如 TLS 1.3 中废弃了很多存在安全风险的算法。但是这些更安全的算法一般密钥长度更长,或者计算过程更加复杂,意味着对计算资源的消耗会更加巨大,对 CPU 的处理能力提出了挑战。追求极致的安全拉低自身业务的处理能力又显得得不偿失,为了解决这个难题,龙蜥社区开源了面向异构计算的加解密加速器 SDK。

ALICC (Alibaba Cryptography Complex)是阿里巴巴针对网络安全领域推出的硬件加速解决方案,支持 IPSEC/TLS 等主流网络安全协议,支持对称数据加密(如 AES,SM4)、非对称公钥加密(如 RSA、ECC、SM2 等)和数据完整性(SHA1/2/3,SM3 等),加速数据的加解密和数字签名等操作。

02技术方案

ALICC 全栈 SDK 包括内核驱动、用户态驱动、硬件抽象层、驱动抽象框架、Engine 组成,如下图所示:

龙蜥白皮书精选:面向异构计算的加速器 SDK-鸿蒙开发者社区

下面针对每一个组件,自底而上分别做一些简单的描述:

  1. ALICC 内核驱动。承接来自通用 Linux 内核 LKCF 的加解密流量、PF 管理、算法注册、虚拟化支持等。
  2. ALICC 用户态驱动。管理 UIO 框架暴露的硬件环形缓冲区、算法注册、UDMA 用户态 DMA 内存管理。
  3. ALICC PMD。硬件抽象层,将上层的算法请求转换为硬件定义的命令格式,负责将命令传递给硬件。
  4. ALICC 驱动框架。提供统一的用户态加解密 API,对称、非对称、密钥协商、授权加密四种不同的算法场景,不同场景下提供各自的 API。
  5. ALICC Engine。对接 OpenSSL、BaBaSSL、BoringSSL 等加解密库,承接用户态加解密流量。

03 技术优势

结合 ALICC 加速器和ALICC SDK,加解密算法性能得到极大的提升,以国密算法 SM4 为例,单个 ALICC 性能相对于单颗 CPU 有 18~78 倍性能提升。

04 应用场景

面向异构计算的 ALICC SDK 可以有效发挥 ALICC 硬件加速器的性能,可应用于密码学计算密集型应用,例如 Nginx、Tengine 等,有效提升 Web 应用网关 https 握手和数据加解密性能。针对 E2E 场景,基于 nginx 进行性能数据测试,并且和其他产品做了对比。客户端测试采用 wrk 测试软件测试 nginx https 短连接的握手能力,加密套件采用 ECDHE-RSA-AES256-GCM-SHA384。有了 ALICC 加速器和 ALICC SDK 的加持,整体 nginx 网关的能力有成倍的性能提升,这可以极大提升 nginx/tengine 业务的实际收益,帮助业务提高收益降低成本。


更多龙蜥白皮书精选内容:

​龙蜥白皮书精选:面向 DPU 场景的软硬协同协议栈​

​龙蜥白皮书精选:敏捷开发场景下的调度器热升级 SDK​

​龙蜥白皮书精选:跨云-边-端的只读文件系统 EROFS​

​龙蜥白皮书精选:龙蜥全面支持 Intel 第四代可扩展处理器 SPR 平台​


相关链接:

高性能网络 SIG 主页:​​https://openanolis.cn/sig/high-perf-network​

2022 龙蜥社区全景白皮书(或公众号【OpenAnolis龙蜥】回复关键字“白皮书”获取)
​https://openanolis.cn/openanoliswhitepaper​

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
收藏
回复
举报
回复
    相关推荐