确保Web安全的HTTPS

            HTTP在安全方面主要有以下不足:

                    1. 通信使用明文不加密,内容可能会被窃听;(TCP/IP就是可能被窃听的网络)

                    2. 不验证通信方的身份,因此有可能遭遇伪装; (无法判断请求或响应是否正确,是否有权限,是否有意义)

                    3. 无法证明报文的完整性,内容有可能已遭篡改

         解决办法:

                    1.加密处理防止被窃听:通信的加密 HTTPS(SSL安全套接层+HTTP) ,TSL安全层传输协议

                                                      内容的加密 (客户端和服务器同时具备加密和解密机制)不过内容仍有被篡改的风险

                   2. 验证通信方身份:  查明对手的证书,通过SSL提供证书的手段。

                   3. 使用SSL完整性保护防止篡改,仅仅使用MD5和SHA-1等散列值校验的方法不能完全保证安全。

 

        HTTPS = HTTP + 加密 + 认证 + 完整性保护

                     HTTPS并非是应用层的一种新协议,只是HTTP通信接口部分用SSL协议代替。

                     通常HTTP直接和TCP通信,当使用SSL时,则演变为HTTP-SSL-TCP.

                     在采用SSL后,HTTP就拥有了HTTPS的加密、证书和完整性保护这些功能。

                     HTTPS使用SSL和TLS这两个协议。

 

                     HTTPS如何工作:

                     加密:HTTPS采用混合加密机制,公开加密秘钥和共享加密秘钥。

                     认证:HTTPS使用客户端认证证书。

                     完整性:HTTPS传输流程中应用层发送数据时会附加一种叫做MAC的报文摘要,能够查知报文是否遭到篡改,从而保护报文的完整性。

 

                    为什么不一直使用HTTPS?

                    1. 加密通信耗费更多CPU及内存资源;

                    2. 购买证书占用成本;

                    所以,根据网站需求灵活选用HTTP或HTTPS。

 

原文地址:https://www.cnblogs.com/Peng2014/p/4694878.html