六. HTTPS确保Web安全

六. HTTPS确保Web安全

1. HTTP的缺点

  1. 通信使用明文,内容可能会被盗取;
    互连网中使用TCP/IP协议族进行通信的过程中会经过非常多的通信载体(网关、路由器等),而这些主机并不可能完全是私人的,所以可能某个环节遭到恶意窥视(抓包)。当然密文也会,只是不会被破解。
    在这里插入图片描述
    可以通过加密的方式来规避这个问题:
    1)通信加密
    使用HTTP和SSL(安全套接层)组合建立安全通信线路,这被称为HTTPS;
    在这里插入图片描述
    2)内容的加密
    将HTTP报文里的内容进行加密:
    在这里插入图片描述
  2. 不验证通信方的身份,可能会遭遇伪装;
    使用HTTP通信时,任何人都能发起请求,在服务器没有设定访问限制的前提下,不管对方是谁都会响应;
    SSL也提供了被称为证书的手段,来确认对方身份;证书由可信任的第三方颁布,只要确认通信方的证书就能判断对方的真实意图;而伪造证书是异常艰难的事情。
    在这里插入图片描述
  3. 无法证明报文的准确度,可能会遭到篡改。
    在这里插入图片描述
    像这样,请求或响应在传输途中被篡改的攻击称为中间人攻击。避免此问题最常用的是MD5和SHA-1等散列值校验的方法,以及数字签名。

2. HTTP + 加密 + 认证 + 完整性保护 = HTTPS
在这里插入图片描述
HTTPS其实是身披SSL协议外壳的HTTP,采用SSL之后HTTP就拥有了加密、证书、完整性保护这些功能。
在这里插入图片描述
SSL是一个独立的协议,可以与在应用层的SMTP、Telnet等协议配合使用,它是当今应用最广泛的网络安全技术。

1)HTTPS使用混合加密机制

混合加密即是共享密匙加密和公开密匙加密共用:
在这里插入图片描述
如果不知道共享密匙加密和公开密匙加密是什么,可以看我的另一篇文章,附上链接:https://editor.csdn.net/md/?articleId=118246295

2)证明公开密匙正确性的证书

有一个问题,怎么证明我得到的公开密匙是货真价实的?
在这里插入图片描述
3)EV SSL证书可证明组织真实性

EV SSL证书可以证明对方服务器背后运行的企业是否真实存在,持有此证书的Web网站的浏览器的地址栏处是绿色的。

4)SSL客户端认证

某些Web页面只想让特定的人访问或仅自己可见,这就需要核对“登陆者才会知道的信息”或者”登录者才会有的信息“,这就是客户端认证。

SSL客户端认证需要事先将客户端证书发给客户端,且客户端必须安装此证书。
在这里插入图片描述
首先客户端发出请求,服务器会要求客户端提供证书;客户端将证书信息发给服务器,服务器验证通过后会从证书中拿到客户端的公开密匙,并开始HTTPS加密通信。

SSL客户端认证一般不会仅依靠证书来完成,而是与表单认证组合完成,称为双因素认证。客户端证书用来认证客户端计算机,密码(表单认证)用来确定是用户本人的行为。

5)表单认证

将客户端发送过来的用户ID和密码与之前登陆过的信息匹配来进行验证;但HTTP是无状态的,所以使用Cookie来管理Session会话。
在这里插入图片描述
问题:服务器端如何保存用户提交的密码等登录信息?

通常,一种安全的方式是先利用给密码加”盐“的方式增加额外信息,再使用散列函数计算出散列值后保存(MD5)。比如:

每次保存密码到数据库时,都生成一个随机16位数字,将这16位数字和密码相加再求MD5摘要,然后在摘要中再将这16位数字按规则掺入形成一个48位的字符串。在验证密码时再从48位字符串中按规则提取16位数字,和用户输入的密码相加再MD5。

3. 说明

本文为《图解HTTP》读书笔记,如有错误,还请兄弟们指正,大家一起进步。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值