我正在开发一个使用 ssl (openssl) 在客户端和服务器之间建立安全通信通道的客户端服务器应用程序。我相信我现在有两种选择可以在客户端和服务器之间进行安全数据传输。一种选择是继续在客户端和服务器之间建立的安全 ssl 通道上进行数据传输,即使由于使用非对称密钥,加密/解密过程会很慢。另一种选择是在 ssl 通道上传输对称密钥,并在对称密钥交付给客户端后关闭 ssl 通道。此后的通信将使用对称密钥在常规 TCP 通道上进行,我相信这将比使用非对称密钥快得多。这种方法有什么缺点吗?对称密钥方法显而易见的一件事是密钥管理过程,我正在考虑通过根本不将密钥存储在客户端上来处理它。对称密钥将在启动时通过 SSL 通道传递给客户端。密钥根本不会存储在客户端中。有什么想法吗?
问问题
3186 次
3 回答
8
你把事情搞混了。Ssl 使用非对称密钥(在证书中定义)在客户端和服务器之间传递自动生成的对称密钥。然后在整个安全会话(通道)中使用此对称密钥。
所以基本上,您在使用 ssl 时已经有了快速的对称加密。唯一的非对称加密发生在通信的最开始。
不要尝试自己管理对称密钥。不起作用。
于 2009-06-02T13:55:42.333 回答
3
继续使用 SSL 连接,因为 SSL 在初始阶段之后使用对称密码。
于 2009-06-02T13:56:55.810 回答
0
一种选择是继续在客户端和服务器之间建立的安全 ssl 通道上进行数据传输,即使由于使用非对称密钥,加密/解密过程会很慢。
不,不会的。SSL 使用对称加密。
另一种选择是在 ssl 通道上传输对称密钥,并在对称密钥交付给客户端后关闭 ssl 通道。
一旦会话建立,客户端和服务器就已经有一个对称加密密钥。这只是多余的。
这里没有问题需要解决。
于 2017-02-07T23:08:30.963 回答