一、安全特性
在上篇文章中,我们了解到
HTTP
在通信过程中,存在以下问题:
- 通信使用明文(不加密),内容可能被窃听
- 不验证通信方的身份,因此有可能遭遇伪装
而
HTTPS
的出现正是解决这些问题,
HTTPS
是建立在
SSL
之上,其安全性由
SSL
来保证
在采用
SSL
后,
HTTP
就拥有了
HTTPS
的加密、证书和完整性保护这些功能
SSL(Secure Sockets Layer 安全套接字协议),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议
二、如何做
SSL
的实现这些功能主要依赖于三种手段:
- 对称加密:采用协商的密钥对数据加密
- 非对称加密:实现身份认证和密钥协商
- 摘要算法:验证信息的完整性
- 数字签名:身份验证
对称加密
对称加密指的是加密和解密使用的秘钥都是同一个,是对称的。只要保证了密钥的安全,那整个通信过程就可以说具有了机密性
非对称加密
非对称加密,存在两个秘钥,一个叫公钥,一个叫私钥。两个秘钥是不同的,公钥可以公开给任何人使用,私钥则需要保密
公钥和私钥都可以用来加密解密,但公钥加密后只能用私钥解
密,反过来,私钥加密后也只能用公钥解密
混合加密
在
HTTPS
通信过程中,采用的是对称加密+非对称加密,也就是混合加密
在对称加密中讲到,如果能够保证了密钥的安全,那整个通信过程就可以说具有了机密性
而
HTTPS
采用非对称加密解决秘钥交换的问题
具体做法是发送密文的一方使用对方的公钥进行加密处理“对称的密钥”,然后对方用自己的私钥解密拿到“对称的密钥”
这样可以确保交换的密钥是安全的前提下,使用对称加密方式进行通信
三、总结
可以看到,
HTTPS
与
HTTP
虽然只差一个
SSL
,但是通信安全得到了大大的保障,通信的四大特性都以解决,解决方式如下:
- 机密性:混合算法
- 完整性:摘要算法
- 身份认证:数字签名
- 不可否定:数字签名
同时引入第三方证书机构,确保公开秘钥的安全性
参考文献
- 为什么https比http更安全? - 知乎
- https://juejin.cn/post/6844903830987997197#heading-7
- 面试官:用了HTTPS就安全了吗?HTTPS 会被抓包吗?-腾讯云开发者社区-腾讯云
- 面试官:为什么说HTTPS比HTTP安全
版权归原作者 爱吃果蔬的猫 所有, 如有侵权,请联系我们删除。