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

简介: 面对安全漏洞引发的数据泄漏有什么好的解决办法?

vcg_VCG211294026081_RF.jpg

文/赵冠军

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 组成,如下图所示:

6.png

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

  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

—— 完 ——

加入龙蜥社群

加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;加入钉钉群:扫描下方钉钉群二维码。

8.png

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
2月前
|
存储 API 开发工具
【Azure Developer】使用 Python SDK连接Azure Storage Account, 计算Blob大小代码示例
【Azure Developer】使用 Python SDK连接Azure Storage Account, 计算Blob大小代码示例
|
敏捷开发 运维 Linux
带你读《2022龙蜥社区全景白皮书》——5.3.5 敏捷开发场景下的调度器热升级SDK
带你读《2022龙蜥社区全景白皮书》——5.3.5 敏捷开发场景下的调度器热升级SDK
144 1
|
传感器 开发工具 C#
Baumer工业相机中偏振相机如何使用Baumer堡盟GAPI SDK来进行偏振数据的计算转换输出(C#)
Baumer工业相机中偏振相机如何使用Baumer堡盟GAPI SDK来进行偏振数据的计算转换输出(C#)
86 0
|
传感器 开发工具 计算机视觉
Baumer工业相机中偏振相机如何使用Baumer堡盟GAPI SDK来进行偏振数据的计算转换输出(C++)
Baumer工业相机中偏振相机如何使用Baumer堡盟GAPI SDK来进行偏振数据的计算转换输出(C++)
91 0
|
资源调度 API 开发工具
在使用 SchedulerX 中的 SDK 进行 API 调用时,如果出现签名计算不对的错误
在使用 SchedulerX 中的 SDK 进行 API 调用时,如果出现签名计算不对的错误
208 1
|
开发框架 Cloud Native 安全
带你读《云原生机密计算最佳实践白皮书》——Apache_Teaclave_ Java_TEE_SDK 最佳实践(1)
带你读《云原生机密计算最佳实践白皮书》——Apache_Teaclave_ Java_TEE_SDK 最佳实践(1)
340 0
|
开发框架 Cloud Native 安全
带你读《云原生机密计算最佳实践白皮书》——Apache_Teaclave_ Java_TEE_SDK 最佳实践(2)
带你读《云原生机密计算最佳实践白皮书》——Apache_Teaclave_ Java_TEE_SDK 最佳实践(2)
333 0
|
Cloud Native Java Apache
带你读《云原生机密计算最佳实践白皮书》——Apache_Teaclave_ Java_TEE_SDK 最佳实践(4)
带你读《云原生机密计算最佳实践白皮书》——Apache_Teaclave_ Java_TEE_SDK 最佳实践(4)
242 0
|
Cloud Native Java Apache
带你读《云原生机密计算最佳实践白皮书》——Apache_Teaclave_ Java_TEE_SDK 最佳实践(5)
带你读《云原生机密计算最佳实践白皮书》——Apache_Teaclave_ Java_TEE_SDK 最佳实践(5)
284 0
|
Cloud Native Java Apache
带你读《云原生机密计算最佳实践白皮书》——Apache_Teaclave_ Java_TEE_SDK 最佳实践(6)
带你读《云原生机密计算最佳实践白皮书》——Apache_Teaclave_ Java_TEE_SDK 最佳实践(6)
200 0
下一篇
无影云桌面