1.http和https
1.http和https基本概念
http:超文本传输协议,一个客户端和一个服务端请求和应答的标准
用于从www服务器传输超文本到本地浏览器的传输协议
https:安全的HTTP通道,加入了SSL层
2.http和https的区别
https需要ca证书,费用更高
http是明文传输,易于拦截
https更加安全
http连接是无状态的
3.加密
1.对称加密
生成一把密钥,对数据进行加密,最后传输密钥,用密钥解密
密钥的传输不安全,密钥一旦被截取,也就不安全了
2.非对称加密
客户端和服务器都拥有两把密钥
一把密钥是公开的,一把密钥是私有的
用公钥加密的数据只有相应的私钥才能解密
用私钥加密的数据只有相应的公钥才能解密
速度慢了很多
中间人截取公钥,冒充服务器的公钥,数据还是被中间人截获
3.数字证书
大家都相信,大家都认可的认证中心(CA)
服务器在给客户端传输公钥的过程中,会把公钥以及服务器的个人信息通过Hash算法生成信息摘要
为了防止信息摘要被调换,还需要CA提供的私钥对其进行加密形成数字签名
数字证书:没有通过Hash算法之前的个人信息以及公钥和数字签名合并在一起
客户端收到这份数字证书后用CA提供的公钥对数字证书里的数字签名进行解密得到一份信息摘要
然后对数字证书里的服务器公钥以及个人信息进行Hash得到另一份信息摘要
通过两份摘要的对比,判断是否来自服务器
证书是向认证中心申请
4.https的工作原理
客户通过https url访问服务器,要求服务器建立ssl链接
服务器接受到了请求之后,返回网站的证书(携带了公钥)
双方协商一致的安全等级,建立会话密钥,然后通过网站的公钥加密会话密钥,传送给网站
web服务器通过自己的私钥解密会话密钥
web服务器通过会话密钥加密与客户端之间的通信
5.https的优点
可认证用户和服务器,确保数据发送到准确的客户机和服务器
更安全,防止数据在传输过程中不被窃取、改变
现行架构下的最安全解决方案,不是绝对安全,大幅增加了中间人的攻击成本
6.https缺点
握手更加费时间,页面加载时间延长50%,增加10~20%的费电
增加数据开销
SSL证书需要钱,越高级越贵
SSL证书需要绑定IP,不能在同一个IP上绑定多个域名,IPv4支持不了
HTTP/HTTPS
最新推荐文章于 2022-12-11 20:19:42 发布