https传输加密实践 -奇异果体育app竞彩官网下载
http与https
http与https的概念
http(hypertext transfer protocol),即超文本传输协议,是互联网上应用最为广泛的一种网络协议。设计http最初的目的是为了提供一种发布和接收html页面的方法。通过http或者https协议请求的资源由统一资源标识符(uniform resource identifiers,uri)来标识。
http协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此http协议不适合传输一些敏感信息,比如信用卡号、密码等。
https(hypertext transfer protocol over secure socket layer),是以安全为目标的http通道,简单讲是http的安全版。https在http的基础上加入了ssl协议,ssl依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
http与https的区别
https和http的区别主要集中在以下4点:
- https协议需要服务端先到ca申请证书。
- http是明文传输,https 则是具有安全性的ssl加密传输协议。
- http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
- http的连接很简单,是无状态的,而https协议是由ssl http协议构建的可进行加密传输、身份认证的网络协议,比http协议更安全。
使用https保障bos数据安全性
bos目前已经全面支持http与https的传输协议,使用http和https与bos的交互过程如下图所示。
使用http
client端使用http协议进行传输时,由于http属于明文传输,在传输过程中可能存在被中间方截取、篡改等恶意攻击行为,存在一定的安全隐患。
使用https
https属于加密传输,bos已向ca申请了证书。该证书只有用于bos服务器的时候,client端才信任该主机。
在传输过程中,bos会先返回给client端该证书信息,并由client端进行合法性认证,认证通过后,client端与bos会协商出一个随机的对称加密密钥,其后client端与bos之间的通讯请求都会被安全的对称加密算法进行加密处理。因此, 即使传输过程中被恶意的中间方截获,由于是密文,也无法进行恶意攻击,可以有效的保障 传输数据的安全性。
性能影响
由于http是明文传输,https是加密传输,因此两者在响应时间qps、吞吐量(网卡)、资源消耗三方面都存在区别,其中响应时间包括rtt ( round trip time )、加密解密耗时、后端读写处理耗时等。具体影响程度会跟openssl的版本、使用的加密算法、和到bos server端的rrt等诸多因素有关。
与http相比,https需要经过ssl交互过程,因此会比http过程多两个rtt的延时损耗。比如:ping时间是40ms,https比http的延时会增加80ms。
总体来看,在网络条件较好,且文件较大时,选择https几乎没有影响;当网络条件较差,文件较小时,如图片处理等场景,https的延时会放大。
配置示例
为了您的数据在传输过程中的可靠性,我们推荐您使用https协议。目前,bos的api和sdk已经全面支持配置https。
api方式
使用api访问时,根据您使用的语言不同,将对应的端口协议配置为https即可。
sdk方式
使用sdk访问时,不同语言sdk的配置方法请参考: