gpt4 book ai didi

encryption - SSL 如何加密从服务器到客户端的数据?

转载 作者:行者123 更新时间:2023-12-03 12:53:50 27 4
gpt4 key购买 nike

大多数 wiki 文章都描述了客户端浏览器如何使用公钥(证书)加密敏感数据(例如用户名/密码)并将这些加密数据发送到服务器。服务器将使用私钥对其进行解密。我明白这部分。但没有明确的信息说明服务器如何加密数据并发送回浏览器。

以我的网上银行为例:

(0) 我已经接受了来自我的网上银行的可信证书(公钥)。

(1)通过SSL URL,我的浏览器访问https://myonlinebanking.com

(2) 我输入用户名/密码登录。这些数据是加密的,所以中间人只能看到无意义的数据。

(3) 银行网络服务器收到我的加密数据,并使用其私钥解密并成功验证我的帐户。

现在这是我的问题:

银行如何发回我的数据?银行用什么 key 加密响应数据?如果银行使用“公钥”加密,中间人可以看到它,就像我看到它一样。所以中间人不知道我的用户名/密码,但他仍然可以看到我的帐户余额?

感谢您的帮助。

最佳答案

你有一些错误的假设:

  • HTTP 数据并不总是使用服务器的公钥加密,以便将其发送到服务器。
  • 服务器的公钥只是在开始时使用(握手协议(protocol))来建立一个安全 key ,用于安全 key 加密(对称加密)。
  • 所有通信都通过 key 或对称 key 加密,其中客户端(浏览器)和服务器使用相同的 key 来加密和解密数据。

  • TLS(传输层安全)协议(protocol)使用非对称加密(公钥)和对称加密(安全 key )的组合。与您的银行的主要通信是使用对称加密,在 TLS 握手期间使用非对称加密安全地建立 session key (安全 key )。
    这一切都在 TLS(传输层安全)握手中,在 this link 中有很好的解释。 .

    关于encryption - SSL 如何加密从服务器到客户端的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10959961/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com