2010-11-02 56 views

回答

2

否。SSL/TLS生成的加密密钥对于每个连接都不相同。密钥派生的一个组件是客户端生成的随机数,因此服务器无法预先计算密钥。

+0

所以它甚至不是每个客户端,但每个连接?所以如果同一个客户端为2个分开的请求打开2个连接,密钥将会不同 - 因此需要重新加密它? – 2010-11-02 13:56:55

+0

是的。更糟糕的是,如果同一个对象在同一连接上发送两次,加密状态将发生变化,因此加密将会不同。 – 2010-11-02 14:03:20

+0

谢谢澄清! – 2010-11-02 14:31:06

0

通过发送Cache-Control:公众许多浏览器将缓存内容,即使它是通过SSL发送的。

IE和FF3 +应该尊重这一点。

编辑:抱歉误读了这个问题。 您也可以使用某种代理服务器加密后存储内容。

+0

感谢您的快速响应,但根据Rasmus Faber的说法,由于连接时键不同,因此无法缓存静态对象的加密形式。 – 2010-11-02 13:58:45

+0

在HTTP代理服务器上缓存通过SSL/TLS发送的内容实际上是不可能的(主要是因为它在通过代理时仍然是加密的),但是,可以在客户端上缓存内容以用于同一客户端的进一步后续请求。 SSL/TLS是关于运输安全的;正如Matt所说,一旦内容到达目的地,它就不再被加密,并且可能会被客户端自己缓存。 – Bruno 2010-11-02 15:28:49

+0

完全正确。我感到有点困惑,因为我配置了类似的东西。我在想的是让应用服务器传输未加密的内容,让nginx或其他代理对缓存的内容执行加密。 – Matt 2010-11-04 11:01:32

相关问题