上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

李龙彦安全为先:QUIC 通讯协议性能与安全优化实践.pdf

编号:122104 PDF 34页 10.09MB 下载积分:VIP专享
下载报告请您先登录!

李龙彦安全为先:QUIC 通讯协议性能与安全优化实践.pdf

1、安全为先:QUIC性能与安全优化实践李龙彦 OPPOOPPO网络优化领域技术专家,多年网络协议栈开发经验。目前主要负责OPPO的移动端网络库、接入层安全的架构设计和研发工作。从0-1建设了OPPO特色的QUIC(HTTP/3)协议,并成功在OPPO各个业务的进行上线,对网络传输效率以及安全有较大的提升。为什么需要QUICQUIC的特性与安全OPPO的QUIC优化实践未来的持续优化与安全增强为什么需要QUIC从建连的成本说起请求的过程DNS解析TCP建连TLS建连HTTP请求及响应HTTPS首次用户请求clientserverSYNSYN,ACKACK(socket,bind,listen)LI

2、STENLISTEN(accept阻塞)SYN_RCVDSYN_RCVD(socket,connect)SYN_SENTSYN_SENT(connect返回)ESTABLISHEDESTABLISHED(accept返回)ESTABLISHEDESTABLISHEDClient HelloServer Hello,Cert,ServerKeyExClientKeyEx,ChangeChipherSpecChangeChipherSpec1 RTT2 RTT1 RTTUser requestResponse dataTLS 1.2握手用户请求响应DNS+TCP+TLS1.2+HTTP首次用户请求

3、响应时间DNS+4RTT会话复用后的用户请求clientserverSYNSYN,ACKACK(socket,bind,listen)LISTENLISTEN(accept阻塞)SYN_RCVDSYN_RCVD(socket,connect)SYN_SENTSYN_SENT(connect返回)ESTABLISHEDESTABLISHED(accept返回)ESTABLISHEDESTABLISHEDClient HelloServer Hello,Cert,ServerKeyExClientKeyEx,ChangeChipherSpecChangeChipherSpec1 RTT2/1 RT

4、T1 RTTUser requestResponse dataTLS 1.2握手用户请求响应DNS+TCP+TLS1.2+HTTP用户请求响应时间DNS+3RTT(TLS会话复用)SessionId/Tickets高昂的建连成本下业界的思考对于小文件请求,传统HTTPS建立连接占了75%的时间;Google在此基础上构建QUIC,尽可能保障安全可靠的同时,大大缩短了建连的耗时;另外,更精确灵活的拥塞控制算法、更优秀的两级流量控制算法、无队头阻塞、支持连接迁移等优秀特性也加快了数据传输的效率。QUIC特性与安全HTTP/2TLSTCPIPUDPHTTP over QUICMultistreami

5、ngTLS1.3 key negotiationflow controlQUICuserspaceuserspacekernelspacekernelspacecongestion controlBoringSSLis a fork of OpenSSLQUIC将连接管理和安全能力合二为一,让协议原生安全QUIC协议介绍clientserverClient Hello,support groupsServer Hello,key_share,certificate如果客户端从来没有和server通讯过,0-RTT是不可能的1.密钥交换2.Server 参数3.认证1.server端的PSK被保

6、存2.协商出traffic key用于加密应用数据QUIC 用户请求响应时间DNS+2RTT(首次)1 RTTQUIC的连接建立 1-RTTNew Session Ticket(early_data扩展)Finished,Request DataACK,Response DataTLS 1.2 和 TLS 1.3 的区别,TLS 1.2 中NewSessionTicket 是主密钥,而 TLS 1.3 中 ticket 只是一个 PSKclientserverClient Hello,PSK,Early Data(使用PSK导出密钥)Server Hello,PSK,Early Data(使用

7、PSK导出密钥)流量密钥加密的应用数据流量密钥加密的应用数据1.TLS1.3的PSK基于0-RTT恢复会话1 RTT用户请求响应时间DNS+4/3RTTs用户请求响应时间DNS+2/1RTTsQUIC的连接建立 0-RTTQUIC 用户请求响应时间DNS+1RTT0-RTT的前向安全性0-RTT的连接恢复不具备前向安全性,它使用的是被提供的PSK中导出的密钥进行加密。0-RTT允许 ClientHello中携带数据(early data);Client 使用 PSK 生成 client_early_traffic_secret 并用它加密 early data;Server 收到ClientH

8、ello 后,再用 PSK 导出client_early_traffic_secret 来解密 early data。0-RTT的安全性(重放攻击)通过重放模拟0-RTT请求1-RTT 握手中在ServerHello中会传给客户端随机数,一定程度上防止了重放攻击。0-RTT 不依赖于 ServerHello 消息,因此保护措施更差。如果携带Early Data,这一点安全性的考虑尤其重要。连接迁移clientserverNon-probing PacketNon-probing PacketNon-probing Packet源IP:1Non-probing Packet源IP:2(主动或被动

9、发生地址迁移)Probing Packet(PATH_CHANLLENGE)Probing Packet(PATH_RESPONSE)Probing Packet(PATH_CHANLLENGE)Probing Packet(PATH_RESPONSE)这里是可以造成攻击的空档期:地址欺骗的放大攻击路径欺骗攻击非路径包转发攻击防御或缓解的方法:地址变动后验证前限速配置验证失败时启用恢复旧的有效端点通讯连接迁移跟 TCP 用四元组标识一个唯一连接不同,QUIC 使用一个 64 位的ConnectionID 来标识连接,基于这个特点,QUIC 的使用连接迁移机制,在四元组发生变化时(比如客户端从

10、WIFI 切换到蜂窝网络),尝试“保留”先前的连接,从而维持数据传输不中断。源地址欺骗攻击的防护:1.使用STK开启源地址token进行校验,token的泄露2.源IP地址+服务器时间+加密/签名-STKQUIC其他安全性QUIC对放大攻击的防护:1.由于在0-RTT阶段缺失源地址验证能力,但要求完全填充数据包大小,使得放大系数大于1;2.提供retry机制做源地址挑战验证;3.非0-RTT包源地址验证STK,STK的过期机制4.HTTP/3具有速率限制功能和短暂的验证令牌,可以充当DDOS攻击的补偿控制,同时部分缓解攻击情形不对称握手OPPO的QUIC实践QUIC实现遇到的性能问题QUIC服

11、务端性能问题拥塞控制和流量控制0-RTT的成功率连接迁移1.CPU利用率高。如何在Quic协议上做SSL硬件卸载。2.内存使用高。如何对Quic协议的实现进行优化QUIC在每个连接和流上都自己独立的拥塞控制,如何根据不同的业务灵活选择拥塞控制是在弱网或者骨干网拥塞的时候优化性能有效手段;基于0-RTT的安全性考虑,QUIC设置的0-RTT的成功条件比较苛刻,从而在实际运行中0-RTT成功率并不高,如何有效并且安全的提高0-RTT成功率是QUIC优化的重要手段1.客户端能否正确且快速发现连接迁移2.四层负载均衡器能否正确选择QUIC服务端集群3.QUIC服务端在多核时数据包能否传递到正确的进程Q

12、UIC实现遇到的性能问题接入层QUIC架构QUIC协议的单机性能/成本,传输协议从内核搬到应用层,从目前的测试数据和公开的一些实现来看,性能比TCP要差,优化QUIC协议的性能是推广QUIC协议大规模使用的很重要的环节;接入层QUIC架构基于设备ID的0-RTT优化处理基于设备ID的0-RTT优化处理实际过程中会产生的问题:1.四层架构的影响:LVS、DPVS等四层负载均衡工具基于四元组进行转发,会转发到不同的后端服务上,导致无法连接迁移;2.多核的影响:由于多核的原因,连接迁移中源地址的改变可能会让接下来的数据包去到不同的进程,影响socket数据的接收连接迁移的技术方案在安全网关上服务上基

13、于ebpf的socket路由模块连接迁移的技术方案HTTPS的普及大幅提高了安全性,同时也导致在相同计算资源下的QPS大幅下降,带来了巨大的成本增加。QUIC天然的加密特性也不例外。OPPO引入硬件加速卡集群,通过适配OpenSSL的异步接口,将私钥操作卸载至硬件的QAT engine 中,引擎通过QAT驱动调用硬件完成非对称算法并取回结果,不额外增加CPU操作,整体性能得到大幅提升,优化3倍。基于QAT加速卡的硬件卸载业内统计数据全球有7%地区的运营商对UDP有限速或者禁闭,除了运营商还有很多企业、公共场合也会限制UDP流量甚至禁用UDP。这对使用UDP来承载QUIC协议的场景会带来致命的伤

14、害。对此,OPPO安全网关采用多路竞速的方式使用TCP和QUIC同时建连。除了在建连进行竞速以外,还可以对网络QUIC和TCP的传输延时进行实时监控和对比,如果有链路对UDP进行了限速,可以动态从QUIC切换到TCP。QUIC/TCP多路竞速通过弱网实验测试,QUIC在开启0-RTT时,其延迟要比HTTP降低20%,比HTTPS要降低50%以上。现在主要在海外商店、小布助手等多个业务上线使用QUIC。性能优化效果在海外软件商店大规模灰度上线后,接口成功率提升3%13%,秒开率提升2%19%,平均延时提升27%50%。性能优化效果QUIC给安全带来的思考安全检测缺少,攻击者能够通过QUIC执行数

15、据泄露攻击,并且保持隐身状态,因为大多数检测工具无法检测到QUIC流量。1.Burp Suite、nmap等多种便利工具短期不能用了,全靠手工造包渗透更难了;2.主机安全检测恶意连接变的更困难;3.没有连接跟踪,难以发现行踪,并且容易保持“隐身”,QUIC反弹更难检测;4.负载均衡、WEB应用防火墙对恶意请求的检测范围会受到QUIC的影响(并不完全支持H3)。安全检测与防御能力的缺乏构建基于QUIC的恶意流量分析1.0-RTT攻击检测;2.DDos防御策略需要更加精细化;基于QUIC的恶意流量分析与DDoS防御清洗安全需要的准备1.安全测试工具的丰富;2.WEB应用防火墙(WAF)对H3的支持3.主机防火墙对QUIC“连接”的检测支持4.DDoS检测和清洗设备对QUIC协议的检测、审计和清洗QUIC带来的安全挑战更多网络优化或网络协议栈相关分享,请关注本人的公众号:网络小菜鸟Thanks开放运维联盟高效运维社区DevOps 时代荣誉出品

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(李龙彦安全为先:QUIC 通讯协议性能与安全优化实践.pdf)为本站 (2200) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部