【https为什么能保证安全性】http传输如下:
![https为什么能保证安全性](http://img.jiangsulong.com/220410/0H532G02-0.jpg)
文章插图
此时信息是明文传输,如果信息被人截获,则能看到里面的内容,极不安全
那就需要对内容加密,过程如下:
- 浏览器生成一个秘钥
- 浏览器向服务器请求公钥
- 服务器向浏览器发送它的公钥
- 浏览器接收服务器发送的公钥,并使用公钥加密随机生成的对称密钥,发送给服务器
- 服务器接收浏览器发送的数据,用自身私钥,得到对称加密密钥
- 最后,浏览器和服务器可以使用对称密钥加密内容进行通信
问题的重点在于,第三步浏览器无法得到公钥的来源的合法性,这就需要数字证书了 。这就是https的解决方案
服务端单单发送公钥,而是发送包含公钥的数字证书 。
数字证书由第三方机构颁发,浏览器已经维护了所有知名的第三方机构 。
浏览器如何确定公钥的合法性?
- 在接收数字证书时,查看证书的有效期
- 根据数字证书的第三方机构名称,找到对应的公钥,解密数字签字,得到hash1
- 根据服务端网址等信息,使用签名算法,生成hash2
- 如果hash1等于hash2,则公钥合法
![https为什么能保证安全性](http://img.jiangsulong.com/220410/0H532BV-1.jpg)
文章插图
公钥和私钥的相关知识
公钥和私钥是一对密钥对,它们可以互解密 。使用公钥加密,私钥解密 。能有效保证数据的安全性 。但是如果使用私钥加密,公钥解密呢,则可以确定来源的合法性 。因为只有知道私钥才能加密,如果我们能使用公钥解密得到正常内容(内容是否正确就是比较hash1和hash2),那么对方一定是拥有私钥的主机,而私钥是由第三方颁发给服务器的,这就是数字签名 。
OSI七层
物理层->数据链路层->网络层->传输层->会话层->表示层->应用层
https的ssl位于传输层和应用层之间
推荐阅读
- 辣椒为什么开花不结果 辣椒光长高不开花结果是咋回事
- 家里忌讳养的花 家里千万不能养的6种花是什么花
- 缘何散装茶冲泡不能超过三次
- 龟头炎为什么老会复发
- 猪腰枸杞汤男人能喝吗
- 沙发皮子破了能不能修补,皮沙发时间长了为什么会裂皮
- 煤气灶进水了还能用吗,煤气灶溢了水打不着火怎么办
- 为什么说人类在2012已经死亡 人类在2012已经死了是真的吗
- 品质上佳的高端普洱茶才能卖出古董价
- 鸡没头为什么还能活 没有头的鸡能活吗