websocket安全分析

 摘要

       WebSocket为web应用和服务提供了双向实时通信信道,这篇论文概述了Websocket协议和这个API,并且描述了它提供的便利。本文的主要贡献是回顾和分析了与WS相关的安全问题,讨论了可能的解决方法以及部署WS的最佳实践。同样,这篇论文提出了在web浏览器中应该有一些安全的特性去余额宝用户的安全。浏览器供应商在提供安全特性方面充当着重要角色。WS至今还没有标准化,但是WS的利用会在近几年飞速发展,总的来说,WS解决了通信问题,但不是安全问题,一些开放的问题存在,但是如果有好的设计和好的浏览器和服务器的实现,这些风险将会降低。

KEYWORDS:websocket,html5 security,browser security,javascript,web

 

介绍

      WS是一个在TCP协议上提供了双向实时通信信道,涵盖了JS API。虽然已经从HTML5独立出来,但是WS API经常被认为是HTML5 WS API[17]。虽然WSAPI在2012年就已经出现,但是到现在还没有确立,但是已经有许多不同的Web浏览器已经开始利用了。

       WS协议是一个运行在TCP上的网络协议,它是实施在Web浏览器和Web服务器之间的,当然也可以被用在其他方面。WS协议是独立于HTTP协议的,虽然他们有相似之处,比如在初始化链接时,用的都是TCP80端口以及握手过程。由于WS协议被认为在未来几年里会影响web通信。所以也会影响到web安全,WS仍然是一个相对新的构想,没有非常多的针对于WS安全的研究,本文主要针对的是在WS协议其API和可能发生的安全问题,以及该技术所提供的安全特性。    

       本文的结构如下,第二章主要讲了WS技术的背景已经JS API的利用。第三章主要讲了WS的安全隐患,第四章讨论并且分析了安全问题和解决方法,第五章提出了新的一些解决方案。最后一章总结了全文,以及未来的工作。

 

2 背景

 

       这一章节回顾了WS更多的一些技术,2.1讨论了与之前传统通信技术相比,ws新的特性以及优点。2.2说明了WS JS API在客户端的利用。

 

2.1 WS 特性以及优点

 

    与传统的建立在HTTP之上的网络通信相比,WS最大的不同是不遵循传统的请求——应答通信方式。当客户端和服务端开启了一个WS 通信,两方都可以实时异步的发送消息给对方。这个连接保持打开并活跃直到

有一方断开连接。

相反的,传统方式依赖于轮询,也就是客户端打开一个新的TCP连接,建立一个HTTP请求去向服务端接收数据。这个需要在客户端和服务端在任何信息被发送之前有几个来回的轮训。当有任何分块的消息传送时,客户端又需要建立一个新的请求。因此,对比WS,传统的HTTP请求应答通信会导致延迟以及网络拥堵,图一说明了WS与HTTP的区别。

 

    WS协议的低冗余意味着处理和解析数据需要更少的计算资源了,而且较低的延迟可以让用户有更好的体验。然而,从客户端的角度来看,WS协议的优势以来于用例?如果只是一些小数据的传送,那么WS的优势便不会很明显,因为通信量开销对于实际有效载荷数据是微不足道的?

从另一个方面来讲,当定时地提供少量的数据,WS协议可以减少总网络流量,总的来说,与传统HTTP请求应答通信形势,WS协议可以减少500:1的网络流量和3:1的网络延时。一个研究显示,HTTP延时是WS的2.3-4.5倍。

<
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值