使用阿里云服务网格 ASM 和 Intel Multi-Buffer 技术实现更快的应用服务间加密通信|学习笔记

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 快速学习使用阿里云服务网格 ASM 和 Intel Multi-Buffer 技术实现更快的应用服务间加密通信

开发者学堂课程【使用阿里云服务网格 ASM 和 Intel Multi-Buffer 技术实现更快的应用服务间加密通信:使用阿里云服务网格 ASM 和 Intel Multi-Buffer 技术实现更快的应用服务间加密通信】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/976/detail/14897


使用阿里云服务网络 ASM 和 Intel Mul ti-Buffer 技术实现更快的应用服务间加密通信

内容介绍

一、启用服务网格技术带来的优势和性能挑战

二、使用阿里云 ASM 和 Intel Mul ti-Buffer 技术实现两全其美

三、客户案例即 Demo 演示

一、启用服务网格技术带来的优势和性能挑战

1.启用服务网格

服务网格作为云延伸应用通信的基础设施层,已经成为客户应用、服务透明通信之间首选通信架构。

服务网格的架构模式目的:抽象微服务的标准非方面性功能力,将能力作为外部组件,以Macchine/pad方式存在。

服务网格模式通过两层定义,包括控制平面与数据平面,其中数据平面与业务应用层接口。

控制平面管理与微服务之间通信的策略,数据层面负责具体实施和执行控制层面所描述的策略。

数据层面由一系列的sidecar组成,通过服务sidecar代理,可以有效的控制流量管理,通信安全,以及可观性能力。

由此可见控制平面作为服务网格的大脑,为开发人员、业务人员或SRE人员提供统一方式解决应用服务管理问题。

图片1.png

2.安全数据传输和零信任安全

在服务网格传输过度过程,零信任安全十分重要 。零信任安全可以使用双向的TLS为每个服务发出的请求提供加密能力,安全的数据传输也会贯通整个数据链路当中,包括流量管理,比如从外部的应用请求到入口网端的证书加载,以及涉及东西向服务之间的调用过程中涉及的TLS认证等,包括从网格内访问外部服务请求等。

三、安全数据传输角度,handshake主要负责实现零信任安全问题,确保通信之间使用TLS进行加密,但在使用双向TLS和TLS的握手环节,一定会增加任务与任务之间的调用延迟,所以在使用服务网格的优势同时,性能问题使得服务网格并不完美。


二、使用阿里云 ASM 和 Intel Mul ti-Buffer 技术实现两全其美

1.Intel 讲解

Intel认为网络通信安全对于未来互联网业务具有十分重要的意义,其中设计的加减密操作,通常消耗大量cpu资源,如作为网络安全基石的TLS企业技术的实现,在大规模微服务场景下可能成为瓶颈。

intel在最新的第三代至强可扩展处理器引入了Crypto Acceleration技术和架构创新,大幅度提高了一些加解密操作的性能指标。

这些技术包括

Public-Key Cryptography 、Symmetric Encryption 、Hashing 、FUnction stitching 、Multi-Buffer技术。

图片2.png

Multi-Buffer使用AVX-512指令同时处理多个独立的缓冲区,既可以在一个执行周期内同时执行多个加解密操作,加解密的执行效率便会得到成倍的提升。

如图所示

图片3.png

为使用Multi-Buffer技术,intel提供intel integrated performance primitives (Intel ipp)cryptograthy软件库,其中crypto-mb字库专门针对RSA  ECDSA算法做了Multi-Buffer的算法实现

2.Envoy TLS

在云原生领域中ENVOY是专门为微服务架构设计的高性能网络代理。Envory在微服务器或数据链中需要处理大量TLS请求,

其中Envory通过boringSSL进行相关操作实现。

其中boringssl提供Private key provider的特性使用户可以使用外部加解密功能。原理是boringSLL将签名和加密操作通过自定义轨道函数交由外部组件执行,完成后再由boringSLL完成其他处理过程。

MUlti-Buffer extensin的实现,已经集成到envoy社区,目前做istio项目的集成工作。

第三代英特尔至强处理器和MUlti-Buffer技术使用ax512制定级,阿里云第七代云服务器中同样提供若干不同识别类型。基于指令集以及MB技术的envoy上游社区能力,阿里云ASM控制台提供一键启用基于MUlti-Buffer的TLS加解密性能优化的配置选项。

图片4.png

3.异步下的 TLS 握手增强

首先,同步的TLS处理,握手调用会被阻塞,直到完成为止。

异步的TLS处理,握手的操作不受阻塞因为握手操作会立即返回。 基于AVX的指令操作机制,提交后无需返回,即可进行下一个,一旦完成后,便基于每一个请求调用callback完成整个技术处理,基于整个multi-buffer加解密处理的能力可并行处理八个异步操作,并且使用AVX-512指令集的并行操作,可幅度提升性能。

图片5.png

4.阿里云支持 multi-buffer

阿里云支持multi-buffer具体操作,可分为三个点

(1)在服务网格控制面板,可通过扩展Meshconflg支持全局的multi-buffer的配置,或者通过ProxyConflg支持work6级别的相关配置,在未启用multi-buffer时TLS的配置仅需要包含private_key,一旦启用multi-buffer,TLS角色改变则需要private_key_provider即cryptomb,相应provider处理消息有其固定类型,包括两个字段即private key 以及poll-delay。 用来设置每个线程处理队列应当执行的等待时间,目的控制延迟和吞吐量之间的off

(2)控制链的配置可以通过TLS协议,下发到Envoy数据代理,涉及到ENVOY UPstream包含boringSSL的异步处理能力并结合intel 开源的IPP Crypto Library、cryptomb private key provider 等组件,结合intel AVX-512加解密功能以及的上游代码库,服务网格ASM产品可有效的去提升TLS握手的处理效益从而处理更多链接降低延迟,用于其余活动之中

(3)工作负载POD调度通过per cpuid Flags或者机器的型号,ASM可以将启用了multi-buffer功能的pod调度到Ice Lake处理器机型上。

五、图片6.png


三、客户案例即Demo展示

1.案例展示

在案例中为500多个提供查询的子域名,每个字域名服务于不同的业务单元来接受不同的请求。

通过应用multi-buffer技术后,请求处理效率提升2倍,此外特定的业务处理板块需要启用一定的策略,启用服务网格的策略后TLS握手相关性能同样提升两倍之多。

图片7.png

2.Demo 展示

在阿里云服务网格ASM中结合intel multi-buffer技术进行TLS过程的加速实验

创建专业版ASM对应实例,选择对应版本,暴露API Sever。演示开启前,未开启加速,等待创建完成。

图片8.png

初始化完成后,对数据链集成进行添加,选择业务集群,在ASM管控中,部署测试使用资源

图片9.png

打开ASM网关,正在创建ASM实例

此时处理字数为1024字数每秒。开启multiBuffer功能,在ASM功能设置界面,开启multiBuffer功能优化,此时测试开启后性能。

输入sh perf .sh enable

开启后处理请求为2396次请求每秒,和之前相比由80%左右提升。

相关文章
|
1月前
|
Kubernetes Cloud Native JavaScript
为使用WebSocket构建的双向通信应用带来基于服务网格的全链路灰度
介绍如何使用为基于WebSocket的云原生应用构建全链路灰度方案。
|
2月前
|
存储 安全 算法
C#一分钟浅谈:数据加密与解密技术
【10月更文挑战第3天】在数字化时代,信息安全至关重要。数据加密作为保障信息不被未授权访问的有效手段,通过特定算法将明文转换为密文,确保即使数据被截获也难以解读。本文从基础概念入手,介绍C#中实现数据加密的方法,涵盖对称加密(如AES、DES)与非对称加密(如RSA),并通过具体示例代码演示如何使用`System.Security.Cryptography.Aes`类完成AES加密和解密过程。此外,还强调了密钥管理及安全策略的重要性。
61 4
|
2月前
|
安全 测试技术 Go
Python 和 Go 实现 AES 加密算法的技术详解
Python 和 Go 实现 AES 加密算法的技术详解
99 0
|
3月前
|
存储 安全 算法
RSA在手,安全我有!Python加密解密技术,让你的数据密码坚不可摧
【9月更文挑战第11天】在数字化时代,信息安全至关重要。传统的加密方法已难以应对日益复杂的网络攻击。RSA加密算法凭借其强大的安全性和广泛的应用场景,成为保护敏感数据的首选。本文介绍RSA的基本原理及在Python中的实现方法,并探讨其优势与挑战。通过使用PyCryptodome库,我们展示了RSA加密解密的完整流程,帮助读者理解如何利用RSA为数据提供安全保障。
131 5
|
3月前
|
存储 NoSQL Java
|
3月前
|
存储 安全 算法
显微镜下的安全战!Python加密解密技术,透视数字世界的每一个安全细节
【9月更文挑战第7天】在数字世界中,数据安全至关重要。Python加密解密技术如同显微镜下的精密工具,确保信息的私密性和完整性。以大型医疗机构为例,通过AES和RSA算法的结合,既能高效加密大量医疗数据,又能安全传输密钥,防止数据泄露。以下是使用Python的`pycryptodome`库实现AES加密和RSA密钥交换的简化示例。此方案不仅提高了数据安全性,还为数字世界的每个细节提供了坚实保障,引领我们迈向更安全的未来。
36 1
|
4月前
|
存储 安全 算法
|
4月前
|
安全 开发者 数据安全/隐私保护
Xamarin 的安全性考虑与最佳实践:从数据加密到网络防护,全面解析构建安全移动应用的六大核心技术要点与实战代码示例
【8月更文挑战第31天】Xamarin 的安全性考虑与最佳实践对于构建安全可靠的跨平台移动应用至关重要。本文探讨了 Xamarin 开发中的关键安全因素,如数据加密、网络通信安全、权限管理等,并提供了 AES 加密算法的代码示例。
62 0
|
4月前
|
安全 物联网 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享未来技术浪潮中的领航者:区块链、物联网与虚拟现实
【8月更文挑战第30天】在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的知识,帮助读者更好地了解网络安全的重要性,并提供一些实用的技巧和建议来保护个人信息和数据安全。
|
4月前
|
机器学习/深度学习 人工智能 安全
AI技术在医疗领域的应用及未来展望网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【8月更文挑战第29天】本文主要介绍了AI技术在医疗领域的应用以及未来的发展趋势。文章首先介绍了AI技术的基本概念和发展历程,然后详细介绍了AI技术在医疗领域的具体应用,包括疾病诊断、治疗建议、药物研发等方面。最后,文章对未来AI技术在医疗领域的发展趋势进行了预测和展望。