带你读《2022龙蜥社区全景白皮书》——5.5.3 面向异构计算的加速器SDK

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
性能测试 PTS,5000VUM额度
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 带你读《2022龙蜥社区全景白皮书》——5.5.3 面向异构计算的加速器SDK

5.5.3 面向异构计算的加速器SDK


背景概述


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


image.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业务的实际收益,帮助业务提高收益降 低成本。

相关文章
|
物联网 开发工具 Android开发
UniApp调用SDK原生接口
UniApp调用SDK原生接口
1024 0
UniApp调用SDK原生接口
|
开发工具 C++ 容器
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(1)
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(1)
105 0
|
中间件 开发工具 Android开发
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(2)
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(2)
103 0
|
IDE Java 开发工具
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(6)
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(6)
|
12月前
|
人工智能 Java 测试技术
地址标准化通过Java sdk接入通用经纬度查询之前已经调试成功,近期一直返回超时错误
地址标准化通过Java sdk接入通用经纬度查询之前已经调试成功,近期一直返回超时错误
76 1
|
2月前
|
存储 API 开发工具
【Azure Developer】使用 Python SDK连接Azure Storage Account, 计算Blob大小代码示例
【Azure Developer】使用 Python SDK连接Azure Storage Account, 计算Blob大小代码示例
|
2月前
|
编解码 Linux 开发工具
大牛直播SDK跨平台RTMP直播推送模块技术设计和功能列表
大牛直播SDK是一款跨平台RTMP直播推送模块,支持Windows、Linux(x64_64与aarch64架构)、Android及iOS平台。该SDK功能全面,包括摄像头、屏幕、麦克风等数据采集与推送,并支持编码前后数据对接。其架构设计优秀,确保低延迟与高效率,结合SmartPlayer播放器实现毫秒级延迟体验。具备全自研框架,易于扩展且支持多种数据源接入,如外部YUV/RGB/H.264等格式。此外,各平台支持特性丰富,如Windows平台支持多摄像头合成,Android与iOS平台支持前后摄像头实时切换等。大牛直播SDK还提供了多个示例项目以帮助开发者快速上手。
|
开发工具 Android开发 开发者
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(5)
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(5)
100 0
|
3月前
|
存储 开发工具
通用快照方案问题之快照SDK的安装如何解决
通用快照方案问题之快照SDK的安装如何解决
35 0
|
4月前
|
JSON 前端开发 JavaScript
技术笔记:vmware之VMwareRemoteConsole(VMRC)SDK(二)
技术笔记:vmware之VMwareRemoteConsole(VMRC)SDK(二)
136 0
下一篇
无影云桌面