用户的私钥仅用于身份验证?

用户的私钥仅用于身份验证?

我对 OpenVPN 协议有一个简单的问题。假设我们有两个不同的用户,他们对同一台服务器使用不同的密钥,并且两个密钥都是 1024 位。如果这两个用户发出完全相同的请求,并且有人嗅探服务器上的数据,那么这个人(嗅探器)会看到两个用户的相同数据还是不同的数据?问题是要知道用户的私钥是否会在身份验证后干扰加密,还是仅在身份验证时使用。谢谢。

答案1

如果这两个用户提出完全相同的请求,并且有人在嗅探服务器上的数据,那么这个人(嗅探器)将会看到两个用户的相同数据还是不同的数据?

不同的数据。

问题是要知道用户的私钥是否会在身份验证之后干扰加密,或者是否仅在身份验证时使用。

公钥/私钥仅在身份验证/密钥协商期间使用。


OpenVPN 可以在两种模式之一、预共享密钥或使用带证书的 TLS。预共享密钥是静态的、恒定的,但您询问的是证书模式。

我不会讲得太多,你可以自己查阅 TLS,但基本上 TLS 使用证书(和私钥)进行身份验证和密钥协商阶段。它会生成对称加密密钥(例如 BlowFish、AES 等)并使用公钥加密安全地共享该密钥。

实际消息随后会使用对称加密进行加密。每个会话都有自己独立的加密密钥(因此,如果您断开连接并重新连接,您实际上会得到不同的密钥)。同样,每个用户都会有不同的会话,因此也会有不同的密钥。

这样做有两个原因。对称加密比非对称加密快得多,因此是高吞吐量的首选(困难在于密钥共享,协商阶段可以解决这个问题)。此外,通过每次生成一个新密钥,被泄露的密钥更难泄露其他会话的数据(FS)。

答案2

每个客户端将使用客户端和服务器之间协商的密钥加密其数据,因此 VPN 网关上接收的数据对于两个用户来说将是不同的。

相关内容