一问就蒙(3)--https协议简介

https是什么?

    超文本传输安全协议(Hypertext Transfer Protocol Secure,也被称为HTTP over TLS(传输层安全),HTTP over SSL(安全套接字层)或HTTP Secure)是一种网络安全传输协议。在计算机网络上,HTTPS经由超文本传输协议进行通信,但利用SSL/TLS来对数据包进行加密。HTTPS开发的主要目的,是提供对网络服务器的身份认证,保护交换数据的隐私与完整性。这个协议由网景公司(Netscape)在1994年首次提出,随后扩展到互联网上。

https连接的建立

    https主要是在http协议的基础上,建立一条安全信道来实现的。

    建立这条信道有一些前提:

1、用户相信他们的浏览器正确实现了HTTPS且安装了正确的证书颁发机构;
2、用户相信证书颁发机构仅信任合法的网站;
3、被访问的网站提供了一个有效的证书,即它是由一个被信任的证书颁发机构签发的;
4、该证书正确地验证了被访问的网站
5、或者互联网上相关的节点是值得信任的,或者用户相信本协议的加密层(TLS或SSL)不能被窃听者破坏。

    看似很复杂,总结起来,其实就是一句话:要建立https连接,你必须拥有一个可信任的证书机构颁发的有效证书。

https的实现

客户端

    客户端的实现,一般是依赖浏览器进行实现的,当浏览器发现请求采用https协议时,浏览器会通过TSL/SSL向传输层注入加密后的http报文,报头和报文内容都会被加密,并经由443端口发送数据,而不是http协议的80端口。

服务端

    服务端最重要的工作是通过可信的证书颁发机构申请证书,这样客户端才能把网站服务器简单的加入到可信任名单里。这种证书一般都是基于非对称秘钥算法生成的,服务器握有私钥,验证时使用公钥证书进行验证。

https带来了什么

    https可以有效减少http明文传输报文的风险,从而避免中间人攻击和窃听攻击。

    安全是有代价的,https在增强http安全性的同时,由于验证证书,加密等一系列操作,会带来一定的性能损耗,所以并不是很建议对所有信息都采用https进行传输,应该采用https对一些敏感信息进行保护和加密,减少由于采用https带来的开销。

Table of Contents