HTTPS为什么要这样设计

HTTPS是网络安全解决方案的一个体现,本文将从网络安全问题的角度来阐述HTTPS设计

网络攻击的几种形式

窃听

HTTPS为什么要这样设计
此类攻击属于被动攻击,不影响接收方正常接收信息。只是对数据进行观察或分析,并不干扰信息。

篡改

HTTPS为什么要这样设计
此类攻击属于主动攻击,包括中断报文或伪造报文给接收方。

HTTPS为什么要这样设计
假冒主机A向主机B发送消息

其他

其他还有恶意程序、计算机病毒、木马、流氓软件、拒绝式服务Dos等,这些暂时和HTTPS无关,暂不讨论

如何解决以上三种问题呢

窃听

放置别人窃听,我们最容易想到的就是加密/解密,使用对称秘钥加密/解密。
HTTPS为什么要这样设计
通过加密,在网络上传输的内容变成了XXXX,即使被窃听了,窃听者也无法知道其中内容。除非窃听者知道秘钥K。

看起来似乎解决了窃听问题

但是有一个问题,主机A和主机B怎么协商秘钥K呢?
若通过网络传输秘钥K,那么将回到第一个问题,这个秘钥K可能被窃听,这就变成了一个先有鸡还是先有蛋的过程了。