浏览器地址栏上面的锁头是什么意思?了解HTTPS

首先,什么是HTTP?

在我们谈论HTTPS之前,我们必须知道什么是HTTP,以及为什么我们不再使用它了。HTTP(超文本传输协议)是一个用于在互联网上传输数据的协议。该协议用于将网页和其他数据从网络服务器传输到用户的浏览器。为什么HTTP不安全了?简单地说,它没有对用户和服务器之间正在传输的数据进行加密。根据这个原因,攻击者可以通过执行中间人攻击来嗅探数据,看到信用卡号码、密码等重要数据。这就是HTTPS发挥作用的地方。

什么是HTTPS?

HTTPS = HTTP + SSL/TLS层。这是对HTTPS的一般表述。在HTTPS中,所有关于加密层的问题。由于SSL/TLS层的存在,它是安全的。SSL有两项主要工作要做:验证你正在交谈的服务器是你认为正在交谈的服务器,并确保你和服务器之间传输的数据只有你和服务器可以阅读。

SSL连接的握手过程

握手有三个阶段。它们是问候、证书交换和密钥交换。

将会有客户端-hello和服务器-hello,其中包含彼此需要的信息。服务器需要的客户端-hello信息的几个例子是:客户端的SSL/TLS版本号、客户端支持的密码套件列表(即客户端能够使用的加密和认证算法),等等。至于server-hello,信息的几个例子是服务器的SSL/TLS版本号(这应该与客户端发送的版本号相匹配),服务器从客户端提供的列表中选择的密码套件,等等。

这时,服务器必须通过展示SSL证书来向客户证明其身份。SSL证书包含的一些信息有:证书持有者的域名(或通用名称)、证书持有者的公钥、证书颁发者的数字签名等。一般来说,客户端会检查证书,看它是否合法。我们将在一分钟内谈及客户如何检查它。

HTTPS使用两种加密方法的组合:非对称(公钥加密)和对称(私钥加密)。首先,客户端将使用服务器的公钥对随机生成的密钥进行加密,用于对称加密。客户端将加密后的值发回给服务器,这就是对称加密的密钥。服务器能够解密该加密值,因为只有服务器拥有私人密钥。交换密钥后,现在他们可以通过使用单一的密钥对双方的数据进行加密/解密。

我们为什么要相信SSL证书?

这是个好问题。我们为什么要相信它?它只是一个文本文件,更糟糕的是,它是一个开放源代码的文本文件,每个人都可以复制。这里是数字签名发挥关键作用的地方。浏览器有两种方法来验证SSL证书的真实性:对照预先安装的来自证书颁发机构(CA)的可信SSL证书列表或使用数字签名。

使用证书颁发机构(CA)的私钥生成的密码文本被称为数字签名。因此,如果浏览器想检查该证书是否真的来自证书中提到的CA,客户只需用该CA的公开密钥解密数字签名。只有证书颁发机构(CA)有能力使用其私钥对内容进行加密,从而创建一个有效的签名。

是的,黑客可以制作像谷歌这样的一方的SSL证书的合法副本,并将其表现给用户。值得注意的是,在HTTPS握手过程中,客户端使用服务器(如谷歌)的合法公钥对用于对称加密(交换数据的加密方法)的密钥进行加密。攻击者没有谷歌的私钥来解密数据,这使得他们不可能访问客户端和服务器之间交换的信息。

总结

总之,用户和服务器之间交换的数据是安全的,因为它是加密的。此外,SSL证书的真实性可以通过使用数字签名来确认。

展开阅读全文

页面更新:2024-03-07

标签:锁头   数字签名   密钥   对称   地址栏   客户端   证书   浏览器   密码   服务器   数据   用户   信息

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top