Https优化方案与测试结果

本文探讨了HTTPS的优化方案,包括客户端和服务器端的优化措施,如规避完整握手,优化加密效率,以及利用SSL Session复用。通过开启session ticket、ECDH和OCSP,测试结果显示性能显著提升,降低了服务端的计算量并减少了时延。

https 优化测试

背景

https 是基于http 和 ssl(安全套接字层) 的安全传输协议,使用ssl 协议作为会话层协议。这个协议最早是由网景公司 开发,但是随着网景的没落,现在由ietf负责维护,最初的版本也已经重新冠名(re-banded)tls(安全传输层协议) 1.0(1999年)。因此现在大部分协议是基于TLS的,尽管是相似的东西。

针对https,能够保证数据更加安全,但是副作用是访问会变慢(相对于http),因为服务端增加了更多的计算,客户端和服务端之间多了一层协议协商过程。因此,我们要做的优化主要是针对这里

优化点和优化方案

大概阐述了优化的几个方向,下面我来具体的展开讨论下。如有疏漏请指正。

同时,我也整理了一份针对https 的握手过程详解,可以帮助大家科普下。

客户端优化

客户端优化是针对发起 ssl client hello 的一端进行的优化。主要有两个大的方向:

  • 减少请求次数,提高效率
  • 优化加密效率
规避完整握手

针对减少请求次数,主要的一个点是 SSL Session 的复用,Client Hello 请求中的 Session ID可以唯一的区分一个ssl 会话的ID。这个ID在Client Say Hello的时候被填写,

如果是第一次与server发生会话,那么Session ID可以是空。 如果之前与ssl 服务器建立过会话,而且客户端开启了Session Ticket;并且Server cache了这个Session Ticket的时候,服务端与客户端的握手就会简化,省略掉pre master 交换的过程,直接复用之前的ssl 会话

优化加密效率

这里是一个比较复杂的点,我们先来看下有哪些过程可能耗时:

  • 密钥协商阶段的非对称加密
  • 协商过后的针对通信的对称加密
@协商密钥阶段

密钥协商过程中,客户端的计算量相对小:

  1. 生成 random1
  2. 生成 pre-master (填充过的随机数)
  3. 根据服务端的 random2 和自己的 random1 还有 pre-master 生成 master-secret
  4. 使用服务端通知的(经过验证的)公钥加密 pre-master

这个过程中大部分是在生成随机数,只有生成 master-secret 和 使用公钥加密 是消耗cpu 的。

@加密通信阶段

再看下ssl协商之后的过程中的加密方式,因为是采用之前协商后的secret 来进行对称加密通信,因此这里的加密算法显得尤为重要,基本上协商ssl之后的过程中一直会使用这个算法在进行加密和解密。目前采用的大部分是AES 128位密钥的方式,但是在某些不支持硬件AES加速的处理器上,性能还是有一定的限制

另一种加密方式是 chacha20.

ChaCha20-Poly1305是Google所采用的一种新式加密算法,性能强大,在CPU为精简指令集的ARM平台上尤为显著(ARM v8前效果较明显),在同等配置的手机中表现是AES的4倍(ARM v8之后加入了AES指令,所以在这些平台上的设备,AES方式反而比chacha20-Poly1305方式更快,性能更好),可减少加密解密所产生的数据量进而可以改善用户体验,减少等待时间,节省电池寿命等。

因此作为一个可选的方案,chacha20 可能对于一些老旧的机型(据连荣讲,还有很多在使用arm v7 的硬件),chacha20 更具优势。

服务端优化

服务端的优化有几个方向

  • 规避完全握手
  • 优化加密效率
  • 优化证书验证流程

因为针对的是ssl 服务端优化,所以下面结合我们常用的http server Nginx(Tenginx)来详细的讨论下优化点

规避完整握手

服务端规避完全握手也是通过回复会话的方式,但是对于如何成功命中Session ID恢复会话,有两个点:

  1. 开启 session ticket
  2. 配置session cache

对于1来说,服务端基本都会开启。对于ngin

内容概要:本文围绕可变桨叶四旋翼无人机的规范控制与点对点运动模拟展开,重点研究优化推力分配策略在翻转动作中的应用与性能比较。通过Matlab代码实现,构建了四旋翼动力学模型,并设计了多种控制算法以实现精确的姿态调整与轨迹跟踪。研究对比了不同推力分配方案在执行高机动性翻转动作时的稳定性、能耗效率与响应速度,旨在提升无人机在复杂飞行任务中的动态性能与控制精度。该仿真研究为无人机飞控系统的设计与优化提供了理论依据技术支持。; 适合人群:具备定自动控制理论基础Matlab编程能力,从事无人机控制、飞行器动力学或机器人系统研究的科研人员及研究生。; 使用场景及目标:① 实现四旋翼无人机在三维空间中的精确点对点运动控制;② 对比分析不同推力分配策略在执行翻转等高难度动作时的控制效果与能耗表现,优化飞行性能;③ 为无人机自主飞行、特技飞行及复杂环境下的机动控制提供算法验证平台。; 阅读建议:此资源以Matlab仿真为核心,建议读者结合相关控制理论知识,深入理解代码实现细节,重点关注动力学建模、控制律设计与推力分配模块。在学习过程中,应动手调试参数,复现文中翻转动作的仿真结果,并尝试拓展至其他复杂飞行任务,以加深对无人机控制机理的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值