OpenVPN:在哪里可以生成私钥?

我的一位朋友说,在为基于OpenVPN的networkingbuild立一个新的客户端时,客户端的密钥(私有的和公共的)应该在服务器上产生,并以某种方式传递给客户端。

在客户端上生成密钥并不是很安全,只是将没有私钥的公钥发送给服务器? 还是有什么理由为什么服务器也需要客户端的私钥?

(我对这个encryption的东西是一个小菜,所以我可能完全错了。)

你是绝对正确的。

PKI的全部特性是公钥(或证书)包含第三方(在这种情况下,您的VPN服务器)所需的一切,以validation其真实性。 私钥只有客户端需要签署这些validation挑战。

尽pipe它可以使注册新用户的过程稍微长一些。 通过让每个客户端生成自己的私钥和证书签名请求,您将限制私钥的分配并大大提高安全性。

更好的解决scheme是将用户/客户端生成的私钥放在双因子令牌上。 几乎全部都包含板载RSA引擎,这使得它们能够安全地生成私钥,并且规定它永远不会离开令牌。

你是正确的证书 – 但是,对于大多数用户来说,生成证书和CSR的任务远远超出了他们能够在没有严格的手持的情况下完成的事情。

在这种情况下,集中设置密钥对可能更容易,并且在安装过程中将密钥安全地传输给用户。