我正在开发使用ssl(openssl)在客户端和服务器之间建立安全通信通道的客户端服务器应用程序。我相信我现在有两个选择可以在客户端和服务器之间进行安全的数据传输。一种选择是继续在客户端和服务器之间建立的安全ssl通道上进行数据传输,即使由于使用非对称密钥而使加密/解密过程变慢。另一种选择是在ssl通道上传输对称密钥,并在对称密钥交付给客户端后关闭ssl通道。此后的通信将使用对称密钥在常规TCP通道上进行,我相信它将比使用非对称密钥快得多。这种方法有什么缺点吗?对称密钥方法显而易见的一件事是密钥管理过程,我正在考虑通过根本不将密钥存储在客户端上来处理。在通过SSL通道启动时,对称密钥将传递给客户端。密钥根本不会存储在客户端中。有什么想法吗?
最佳答案
您正在混淆。 Ssl使用不对称密钥(在证书中定义)在客户端和服务器之间传递自动生成的对称密钥。然后在整个安全会话(通道)中使用此对称密钥。
因此,基本上,使用ssl时您已经具有快速的对称加密。唯一的不对称加密发生在通信的一开始。
不要尝试自己管理对称键。不起作用。
关于ssl - 对称加密 key 与非对称 key -SSL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/939687/