浏览器基础原理-安全: HTTPS

这篇具有很好参考价值的文章主要介绍了浏览器基础原理-安全: HTTPS。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

HTTP协议的历史:

HTTP协议的目的很单纯, 就是为了传输超文本文件, 所以早期的 HTTP 一直保持着明文传输数据的特征, 但是中间很有可能会被截取或者篡改, 即收到中间人攻击.

解析HTTP协议栈层面:

HTTPS往里面加入了安全层, 它的指责是: 对发起HTTP请求的数据进行加密和对接收到HTTP的内容进行解密操作.
浏览器基础原理-安全: HTTPS,浏览器基础原理,安全,https,网络协议
图-HTTP VS HTTPS

HTTPS协议:

第一版: 使用对称加密

对称加密: 指加密和解密都使用的是相同的密钥.

下图是使用对称加密改造的 HTTPS 协议:
浏览器基础原理-安全: HTTPS,浏览器基础原理,安全,https,网络协议

图-非对称加密实现 HTTPS

使用过程:

建立安全连接: HTTPS协商加解密方式, 让服务器与客户端同时决定密钥.

1-浏览器发送加密套件和随机数client-random

2-服务器从加密套件中选取某个, 并生成随机数service-random, 然后返回二者

3-浏览器和服务器分别返回确认消息

这样浏览器端和服务器端都有相同的 client-random 和 service-random 了,然后它们再使用相同的方法将 client-random 和 service-random 混合起来生成一个密钥 master secret,有了密钥 master secret 和加密套件之后,双方就可以进行数据的加密传输了。

问题: 传输两个随机数的过程是明文, 意味着黑客可以拿到两个随机数与加密套件, 由于密钥算法是公开的, 所以黑客可以使用前面的资源合成密钥, 从而破解密码.


第二版: 使用非对称加密

非对称加密: 算法有两把密钥, A密钥用于加密, B则用于解密, 可以返用, A解密, B加密. 在HTTPS中, 服务器会将其中一个密钥通过明文的方式发送给浏览器, 这个密钥称为公钥, 服务器留下的称为私钥.因此, 公钥是公开的, 私钥是只有服务器知道的.

下图是使用非对称加密改造的 HTTPS 协议:
浏览器基础原理-安全: HTTPS,浏览器基础原理,安全,https,网络协议
图-非对称加密实现 HTTPS

使用过程:

1-浏览器发送加密套件给服务器

2-服务器选择一个加密套件并形成私钥, 然后返回加密套件和公钥

3-浏览器和服务器互相返回确认消息

4-浏览器用公钥加密数据, 服务器端用来解密, 中间就算数据和公钥被截取, 黑客也无法解密

问题:

1-非对称加密效率过低, 影响加解密的速度, 从而影响用户打开页面的速度

2-服务器端数据安全无法保证, 因为如果服务器给浏览器发送数据, 服务器用的是私钥加密, 那数据只能用公钥解密, 而公钥在传输的过程中可以被截获, 会造成安全隐患.


第三版:对称加密和非对称加密搭配使用

综合使用对称和非对称加密算法:

传输阶段使用对称加密, 但是对称加密的密钥我们采用非对称加密来传输,

下图是改造后的版本:
浏览器基础原理-安全: HTTPS,浏览器基础原理,安全,https,网络协议
图-混合加密实现 HTTPS

使用过程:

1-浏览器向服务器发送对称加密套件、非对称加密套件和随机数 client-random

2-服务器保存随机数 client-random, 选择对称加密和非对称加密的套件, 然后生成随机数service-random, 向浏览器发送选择的加密套件、service-random和公钥

3-浏览器保存公钥, 并利用 clinet-random 和 service-random 计算出 pre-master, 然后利用公钥对 pre-master 加密, 并向服务器发送加密后的数据

4-服务器拿出自己的私钥, 解密出 pre-master 数据, 并返回确认消息.

需要特别注意的一点,pre-master 是经过公钥加密之后传输的,所以黑客无法获取到pre-master,这样黑客就无法生成密钥,也就保证了黑客无法破解传输过程中的数据了.


第四版:添加数字证书

通过对称和非对称混合方式,我们完美地实现了数据的加密传输。不过这种方式依然存在着问题,比如我要打开极客时间的官网,但是黑客通过 DNS 劫持将极客时间官网的 IP 地址替换成了黑客的 IP 地址,这样我访问的其实是黑客的服务器了,黑客就可以在自己的服务器上实现公钥和私钥,而对浏览器来说,它完全不知道现在访问的是个黑客的站点。

证明方式:

通过使用CA颁发的数字证书来证明自己的信息

证书作用:

一个是通过数字证书向浏览器证明服务器的身份,另一个是数字证书里面包含了服务器公钥。

含有数字证书的HTTPS的请求流程, 参考下图

浏览器基础原理-安全: HTTPS,浏览器基础原理,安全,https,网络协议
图-完整的 HTTPS 请求流程

相较于第三版的 HTTPS 协议,这里主要有两点改变:

  1. 服务器没有直接返回公钥给浏览器,而是返回了数字证书,而公钥正是包含在数字证书中的;

  2. 在浏览器端多了一个证书验证的操作,验证了证书之后,才继续后续流程。

通过引入数字证书,我们就实现了服务器的身份认证功能,这样即便黑客伪造了服务器,但是由于证书是没有办法伪造的,所以依然无法欺骗用户.


参考: 极客时间-浏览器工作原理与实践文章来源地址https://www.toymoban.com/news/detail-520466.html

到了这里,关于浏览器基础原理-安全: HTTPS的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 浏览器基础原理-安全: CSRF攻击

    CSRF(Cross-site request forgery)跨站请求伪造 概念: 是指黑客引诱用户打开黑客的网站,在黑客的网站中,利用用户的登录状态发起的跨站请求。简单来讲, CSRF 攻击指黑客利用了用户的登录状态,并通过第三方的站点来做一些坏事 。 攻击方式: 1-自动发起 Get 请求 比如将转账请求

    2024年02月11日
    浏览(39)
  • 浏览器基础原理-安全: 渲染进程-安全沙盒

    由于渲染进程需要执行 DOM 解析、CSS 解析、网络图片解码等操作,如果渲染进程中存在系统级别的漏洞,那么以上操作就有可能让恶意的站点获取到渲染进程的控制权限,进而又获取操作系统的控制权限,这对于用户来说是非常危险的。所以我们需要引入安全沙盒。 安全沙盒

    2024年02月11日
    浏览(46)
  • 浏览器基础原理-安全: 跨站脚本攻击(XSS)

    XSS 跨站脚本 (Cross Site Scripting): 概念: XSS 攻击是指黑客往 HTML 文件中或者 DOM 中注入恶意脚本,从而在用户浏览页面时利用注入的恶意脚本对用户实施攻击的一种手段。 实现方式: 起初,这种攻击通过跨域来实现的,所以叫“跨域脚本”。但是发展到现在,往 HTML 文件中注入恶

    2024年02月11日
    浏览(36)
  • 谷歌浏览器禁用https,解决http自动跳转https的问题

    浏览器地址栏中输入  chrome://net-internals/#hsts 然后在  Delete domain security policies 下输入需要禁用https协议的网址

    2024年02月11日
    浏览(59)
  • 解决浏览器自动将http网址转https

    突然发现在内网环境下,本应该能访问的内网ip,现在都访问不了。检查后发现原本都是http协议头的网址被浏览器强制使用https连接,因此浏览器访问不了未添加ssl认证的http网址。 解决方案: 方法一:在浏览器安全设置里添加可以显示不安全内容的网址,并将网址改为http。

    2024年02月12日
    浏览(114)
  • Chrome浏览器http自动跳https问题

    Chrome浏览器访问http页面时有时会自动跳转https,导致一些问题。比如: 开发阶段访问dev环境网址跳https,后端还是http,导致接口跨域。 先访问http网址,再改成https访问,下次再访问http时就会自动跳https。。。 谷歌在提高 Chrome 浏览器安全性方面迈出了重要一步:用户访问不

    2024年02月04日
    浏览(47)
  • 关闭浏览器访问http时自动转https

    HSTS HSTS全称:HTTP Strict Transport Security,意译:HTTP严格传输安全,是一个Web安全策略机制。 解决的问题 网站从Http转跳到Https时,可能出现的安全问题。 浏览器怎么关闭HSTS Chrome 1.地址栏中输入chrome://net-internals/#hsts。 2.在Delete domain中输入项目的域名,并Delete(删除)。 3.可以

    2024年02月16日
    浏览(47)
  • 谷歌浏览器升级http强转https解决

    mac电脑有点卡,重启以后,谷歌浏览器默认升级 后续访问公司http网址,自动跳转为https网址,导致进入不了平台 网上找了很多方案都是, 地址栏中输入【chrome://net-internals/#hsts】,在最下面的【Delete domain security policies】删除域名,如:baidu.com, 但并没有解决问题! 最后解决

    2024年02月06日
    浏览(45)
  • 使用nginx提供https端点,实现不修改浏览器地址(不触发重定向)转发网络流量,附生成自签ssl证书最简单的方法(2个命令)

    近日笔者需要实现一个网络流量转发的需求。要求很简单:将浏览器的请求转发到一个指定的域名,需要提供一个https端口并且把http端口转发到https端口。由于笔者对nginx的认知有限,因此磕磕绊绊研究了一阵,将结果写出来,以供其他有类似需求的同学参考对照。 nginx的官方

    2024年02月08日
    浏览(64)
  • chrome浏览器关闭http自动跳转https

    1、首先在浏览器输入 chrome://net-internals/#hsts 2、点击Domain Security Policy在Query HSTS下输入域名先查询自动转换的域名,点击Query查到说明此域名http转化为https 3、在\\\"Delete Domain security policies\\\" (可以用 ctrl + f 定位) 下输入禁止自动转换https的域名,点击Delete 4、点击浏览器右上角三点

    2024年02月12日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包