开放,安全的TCP通道安全多久?

我们有一个网络服务,作为我们的客户和另一项服务之间的网关。 客户端向第三方服务发送消息,并接收来自第三方服务的随机消息。 客户端的服务器通过一个安全套接字打开一个通道到我们的Web服务器,以便接收传入的消息(而不必每隔几分钟轮询一次服务器)。

我的问题是:是否可以无限期地开放此频道,或者我们是否应定期关闭并重新打开频道以获取新凭证(会话密钥)? 如果后者多久(每小时,每天,每周)会被视为“最佳实践”? 我发现了很多关于安全通信的信息,但没有回答这个具体问题。

谢谢


SSL / TLS(我假设你在这里讨论的)不会自动刷新/重新协商正在使用的会话密钥。 协议中内置了一个重新协商过程,允许在活动会话中更改会话密钥,但该过程几年前发现存在重大漏洞,并且重新协商过程发生了变化(在RFC 5746中,请参阅此处)来解决问题。 如果您确实想重新协商SSL / TLS的会话密钥,请确保以本RFC中描述的方式进行。

然而,这并不能解决你原来的问题, 如果会话密钥应该改变。 答案是......这取决于您的安全要求。 一个很好的指导原则是,如果你看到足够的加密数据,那么任何加密的通信都可以被最终解密(这是多么实际/可行的,可以大大地变化)。 所以,每隔一段时间更换一次钥匙是一件很好的事情。 如果您通过安全连接传递少量数据并且数据不那么敏感,那么您可以在不太经常的基础上这样做(实际上,您的SSL / TLS会话可能正在进行由于双方中的一方超时而在某种程度上经常性地破坏并重新建立......)。 如果你有一个非常敏感的数据集,并且你发送了大量的数据,那么我建议每天轮换一次键以减轻这种风险(只要以安全的方式进行)。

链接地址: http://www.djcxy.com/p/57271.html

上一篇: How long is an open, secure, TCP channel secure?

下一篇: SQL: Statement Triggers VS For Each Row