计算机网络:基础

阅读量 ,评论量

OSI七层网络模型

OSI七层网络模型

1、物理层:网线接口标准等

2、数据链路层:接口通信协议

3、

HTTPS工作原理

HTTP是明文协议,容易被窃听或者遭受中间人攻击(篡改),常用的做法便是在传输层(TCP)与应用层(HTTP)中间加上一层SSL协议,来解决安全性问题。

加解密方式

通信双方使用的加解密密钥是同一把钥匙,则称为对称密钥,否则称为非对称密钥(在非对称密钥中,一般约定加密用的叫公钥,解密用的叫私钥。比如当A想要接收到B发送的数据时,A自己产生一对密钥,并把其中的公钥发给B,B发送给A数据前先用这个公钥做一次加密,这样只有A能够解读其中内容(因为只有A有私钥)(注意,这里有个前提假设,那些能够截获公钥的人是不知道通信过程中的数据结构的,否则依然能够用公钥去替换掉B发送的数据);同理,B也可以做这种操作,从而使得A发给B的请求也变成加密数据)。

但是,因为非对称加解密算法的计算非常耗时,所以在网络通信场景即HTTPS协议中没有完全采取非对称加解密方案,而是在第一次通信时客户端生成一个对称密钥,通过非对称加解密方式发送给服务端,后续的通信双方都用这个对称密钥进行通信就可以了。

上述的加解密方式,在数据传输过程中,确实已经万无一失了。但是在数据传输过程前,因为是固定协议里的流程,也就是说中间人此时是知道数据传输时的数据结构的,那么中间人就可以冒充服务器发送给客户端一个假的公钥,接下来对称密钥就会被泄露给中间人了。

所以现在就只剩一个问题了:客户端如何知道公钥的真实性(即,是否有被掉包)。

通过数字证书的方式: