gown_way的gravatar头像
gown_way 2016-03-13 14:47:11
密码学总结记录(二)

上一篇介绍了密码学中的一些术语概念http://www.zuidaima.com/blog/2759127586540544.htm,以及保证信息安全传输的大致实现过程。

这篇文章说一下密码学在web领域中的应用。

我们知道http协议中浏览器与web服务器之间的数据包分为三部分(请求行/响应行,消息头,实体内容)。数据都是以明文的方式传输。

下图是我通过代理的方式抓取的浏览器与web服务器的数据包密码学总结记录(二)

若是用户登录某个网站时提交的用户名和密码,很容易被黑客截取到,安全性几乎为零。

HTTPS协议概述:

HTTPS协议可以认为是HTTP+TLS

TLS(Transport Layer Security):是传输层的加密协议,介于应用层与传输层之间,对应用层数据进行加密的一种协议,前身为SSL协议,是由网景公司提出来的,就是为了保证信息的安全传输,后来由IETF 讨论和规范后,改名为TLS。一般SSL和TLS说的都是同一个协议。

下图为浏览器与服务器实现stl的交互大致过程:

密码学总结记录(二)

若浏览器与web服务器顺利进行到第四步且浏览器比较一致的话,浏览器与服务器正式进行业务通信。

可以看出https协议对于在web领域中起到的作用。国内为什么现在的网站大部分却都是http协议的呢?很少是全网https?

下图为浏览器与服务器实现http的交互过程:

密码学总结记录(二)

  1. 可以看出浏览器与服务器建立tcp连接后(三次握手),http协议用户直接就与服务器进行业务通信;相比之下https协议要比前者多了至少四次握手,大大增加了建立连接的延时,再加上国内网络环境的因素,加大用户关掉你网页的可能性,所以对https服务器的性能等各方面要有比较高的要求。
  2. 部署https服务器,需要申请证书,需要人民币,除非你能保证用户的客户端软件是你自己开发的,否则客户端会提示无效证书从而中断连接;或者想12306一样自己搞个根证书放在首页,让人下载并添加为信任的根证书。

上图https协议的交互过程中,客户端只是对服务器的身份进行了认证(单向认证),有些场景可以还需要对客户端进行身份认证(双向认证),比如我们公司现在做的营业执照电子化系统,企业登录时就要求对登录者做身份认证;像银行网站可能也需要对登录者做身份认证。

目前从事信息安全这方面工作时间不是很长,没有对各种加密的算法具体实现过程,PKCS(The Public-Key Cryptography Standards):一组公钥密码学标准,等相关知识的深入学习。

文中有误的地方,欢迎指出。


打赏
最近浏览
水光浮藻  LV6 2021年4月26日
youwuzuichen  LV10 2019年10月5日
xxxasd  LV7 2018年10月23日
nsq0006  LV6 2017年11月7日
多卡罗拉 2017年3月29日
暂无贡献等级
陌子曦  LV2 2016年12月8日
tiger2011  LV5 2016年12月1日
花香满庭s版 2016年10月12日
暂无贡献等级
bobo_sun  LV5 2016年9月26日
沐宇熙  LV13 2016年9月19日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友