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