密码学在web领域中的应用

本文探讨了HTTPS协议的工作原理及其在Web领域的实际应用。对比HTTP协议,HTTPS通过TLS加密来保护信息传输的安全,尽管这增加了连接建立的时间,但对于敏感信息如用户名和密码的保护至关重要。

密码学总结记录(二)

上一篇介绍了密码学中的一些术语概念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):一组公钥密码学标准,等相关知识的深入学习。

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

转载于:https://my.oschina.net/newchaos/blog/864533

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值