当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] HTTPS (SSL) 加密如何工作?

作者:精品下载站 日期:2024-12-14 07:22:15 浏览:14 分类:玩电脑

HTTPS (SSL) 加密如何工作?


我们大多数人都使用 https。几乎所有通信都通过 https 进行保护和加密。在本文中,我想更详细地讨论 HTTPS 过程以及证书的作用。

公钥/私钥结构简介

https 连接是使用非对称加密技术建立的。服务器提供证明服务器身份的证书。但还有更多。服务器拥有公钥和私钥。在继续之前,让我们看一下发送者和接收者想要以秘密方式交换数据时的过程。

[玩转系统] HTTPS (SSL) 加密如何工作?

接收者传输他的公钥(公钥可以毫无顾虑地提供给任何人),但保留私钥。因此,发送者可以使用接收者的公钥对消息进行加密。此加密消息只能由接收者解密,因为他是这个星球上唯一拥有私钥的人。

现在的问题是我如何知道我是否拥有私钥。那么,如果您使用的是 Windows,请打开 certmgr.msc(显示所有用户证书)或 certlm.msc(显示所有计算机证书)。

certmgr.msc

[玩转系统] HTTPS (SSL) 加密如何工作?

好的,现在我知道我有私钥了。但是我怎样才能将公钥发送给其他人呢?好吧,如果您使用来自受信任的根证书颁发机构的“官方”证书,那么您可以非常确定,发送者已经在其受信任的根证书颁发机构中拥有该证书。

[玩转系统] HTTPS (SSL) 加密如何工作?

如果您使用自签名证书,则必须传输公钥。您可以通过单击导出来导出公钥...请注意,不要同时导出私钥! ?

[玩转系统] HTTPS (SSL) 加密如何工作?

还有很多话要说……但我们必须回到主题。

SSL 加密 (HTTPS)

所以,我们已经看到有一个发送者和一个接收者。使用 HTTPS 时,发送者是客户端,接收者是服务器。我准备了一个非常简化的图形。

[玩转系统] HTTPS (SSL) 加密如何工作?

  1. 客户端尝试与服务器建立连接。 (你好!)服务器响应,他只接受安全通信。
  2. 服务器将其公钥发送给客户端。
  3. 客户端生成一个随机值(在我们的例子中为 243)并使用服务器的公钥加密该数字。
  4. 服务器是唯一可以用他的私钥解密数据的服务器。解密后,他可以读取密钥(243)。
  5. 数据传输开始。
  6. 为了避免攻击者猜测密钥 (243),它会不时重新生成:

密钥会定期重新生成。

顺便说一句:如果您想测试是否可以通过 https (443) 访问服务器,请使用 PowerShell。

[玩转系统] HTTPS (SSL) 加密如何工作?

有关 Test-NetConnection 的更多信息请参见此处:

新的 netstat:使用 Get-NetTCPConnection

希望这有帮助!

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯