用户的私钥只用于身份validation?

我有一个关于OpenVPN协议的简单问题。 假设我们有两个不同的用户,同一个服务器有不同的密钥,两个密钥都是1024位。 如果这两个用户提出了完全相同的请求,并且有人正在嗅探服务器上的数据,那么这个人(嗅探器)将为两个用户或不同的数据看到相同的数据? 问题是知道用户的私钥是否在authentication之后干扰密码学,或者是否只在authentication时使用。 谢谢。

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

不同的数据。

问题是知道用户的私钥是否在authentication之后干扰密码学,或者是否只在authentication时使用。

公钥/私钥仅在authentication/密钥协商期间使用。


OpenVPN可以以两种模式之一操作 ,即预共享密钥或使用带有证书的TLS。 预共享密钥是静态的,不变的,但是您正在询问证书模式。

我不打算详细说明,你可以自己查找TLS,但基本上TLS使用证书(和私钥)进行身份validation和在密钥协商阶段。 它生成一个对称encryption密钥(例如BlowFish,AES等),并使用公钥密码体系安全地共享该密钥。

实际的消息然后用对称encryption进行encryption。 每个会话都有自己独立的encryption密钥(所以如果断开连接并重新连接,实际上最终会得到一个不同的密钥)。 同样,每个用户将有不同的会话,因此不同的密钥。

这样做有两个原因。 对称encryption比非对称encryption要快得多,因此对于高吞吐量(难度是密钥共享,协商阶段所解决的问题)而言,首选。 而且,通过每次生成一个新的密钥,被泄露的密钥很难揭示其他会话的数据( FS )。

每个客户端都会使用客户端和服务器之间的协商密钥对其数据进行encryption,因此两个用户在VPN网关上接收到的数据都是不同的。