关于web安全开发之HTTPS协议

之前已经有一篇HTTPS协议相关的内容了,至于这篇还要继续写这个,主要是想要记录下,感觉很多细节也没办法一次性就说清楚。上一篇是比较深入的部分
https://www.jianshu.com/p/42e1c073c142 这篇将继续记录我看书的阅读笔记,连载上一篇WEB安全开发相关的内容。
https://www.jianshu.com/p/04c6c5a1e497

上篇说到摘要认证和签名认证,这两种方式虽然能够解决数据的完整性和合法性,但是对于一些比较敏感的数据如个人信息,密码如果这些以明文的方式传递的话,那么一旦用户的通信别拦截,相关信息就会有泄露的风险,所以需要有更安全的手段来保证。

HTTPS的全称是Hypertext Transfer Protocol over Secure Socket Layer, 即基于SSL的HTTP协议,简单地说就是HTTP的安全版。HTTPS协议由当时著名的浏览器厂商网景(Netscape)公司首创,虽然网景在与微软(Microsoft)的浏览器之争中败北,但是HTTPS这 一 项技术得到了传承,当前几乎所有的浏览器和服务器都能够很好地支持HTTPS协议。
(关于SSL协议可以看这篇文章: )

HTTPS主要是依托SSL协议确保整个通信过程是经过安全加密,密钥也随机产生,同时能够通过数字证书证明通信双方的身份,来保证信息安全。

其中证书中包含了证书所代一端的公钥,以及一些其所具有基本信息,如机构名称、证书所作用域名、证书的数字签名等,通过数字签名能校验证书的真实性。通信的内容使用对称加密方式进行加密,通信两端约定好通信密码后,通过公钥对密码进行加密传输,只有该公钥对应的私钥,也就是通信的另一端能够解密获得通信密码,这样既保证了通信的安全,也使加密性能和时间成本可控。

H T T P S 协议在H T T P 协议与T C P协议增加了一层安全层,所有请求和响应数据在经过网络传输之前,都会先进行加密,然后再进行传输。SSL及其继任者TLS是为网络通信提供安全与数据完整性保障的一种安全协议,利用加密技术,以维护互联网数据传输的安全,验证通信双方的身份,防止数据在网络传输的过程中被拦截和窃听。如图

HTTPS既支持单向认证,也支持双向认证,所谓的单向认证即只校验服务端证书的有效性,而双向认证则表示既校验服务端证书的有效性,同时也需要校验客户端证书的有效性。大部分情况下我们并不需要用到客户端证书,很多用户甚至没有客户端证书,但是在某些特定的环境下,如企业内部网络和涉及大额交易支付的场景下,也需要对用户的客户端证书进行校验,以保证通信的安全。

关于如何部署HTTPS WEB 可以看如下的链接:
https://www.jianshu.com/p/3e1269d918ae

摘自:
《大型分布式网站架构设计与实践》 阅读笔记

你可能感兴趣的:(关于web安全开发之HTTPS协议)