2009-06-02 151 views
2

我正在开发一个使用ssl(openssl)在客户端与服务器之间建立安全通信通道的客户端服务器应用程序。我相信我现在有两种选择可以在客户端和服务器之间进行安全的数据传输。一种选择是继续在客户端和服务器之间建立的安全SSL通道上进行数据传输,即使加密/解密过程由于使用非对称密钥而速度较慢。另一种选择是在对称密钥交付给客户端后,在ssl通道上传输对称密钥并关闭ssl通道。之后的通信将在使用对称密钥的常规TCP信道上发生,我相信这将比使用非对称密钥快得多。这种方法有什么缺点吗?对称密钥方法显而易见的一件事是密钥管理的过程,我想通过不在客户端存储密钥来处理密钥管理。对称密钥将在通过SSL通道启动时传递给客户端。密钥将不会存储在客户端中。有什么想法吗?对称加密密钥与非对称密钥-ssl

回答

7

你在混淆。 Ssl使用非对称密钥(在证书中定义)在客户端和服务器之间传递自动生成的对称密钥。然后在整个安全会话(通道)中使用这个对称密钥。

所以基本上,你在使用ssl时已经有了快速的对称加密。唯一的非对称加密发生在通信的最初阶段。

不要试图自己管理你的对称密钥。不起作用。

+0

会话密钥永远不会被加密,也不会被发送。它总是谈判。 RFC 2246#8.1。 – EJP 2017-02-07 22:18:28

2

继续使用SSL连接,因为SSL在初始阶段后使用对称密码。

0

一种选择是继续在客户端和服务器之间建立的安全SSL通道上进行数据传输,即使加密/解密过程由于使用了非对称密钥而会很慢。

不,它不会。 SSL使用对称加密。

另一种选择是在对称密钥交付给客户端后,在ssl通道上传输对称密钥并关闭ssl通道。

只要会话已完成,客户端和服务器就已具有对称加密密钥。这只会是多余的。

这里没有问题要解决。