我有一个使用DTLS与客户端通信的群集
具有某种安全的分布式存储(...)

众所周知,DTLS状态是长期存在的。因此,在典型的负载平衡方案中,可能会发生加密的数据包将转发到无法解密的服务器的情况。

我指的不是由于NAT绑定更改而导致src ip更改的情况(这是我们无法控制的)

所以我在想...
为了不给负载均衡器带来一些沉重的限制(例如:始终将此src ip转发到该服务器并希望达到最佳效果),并尽可能长地保留DTLS状态,我应该如何使用DTLS?

是否(甚至)值得考虑使用一些分布式DTLS会话参数缓存来扩展某些现有的DTLS库(例如scandium)(以便任何节点都能够解密该数据包)?

JDK> = 9是否可行(在那里很难遵循ssl代码...)

最佳答案

这些是与此相关的一些碎屑信息的链接:

https://github.com/eclipse/leshan/wiki/Cluster

https://github.com/eclipse/leshan/wiki/Using-Leshan-server-in-a-cluster

乐山项目基于Californium和Scandium,因此群集问题与您的非常相似。但是,没有太多信息。

但是基本上很难肯定地说。这取决于您的用例/集群配置,并暗含一些负载测试。否则,这只是猜测。


  尽可能长地保留DTLS状态



顺便说一句,TLS 1.2规范说:


  建议将会话ID的生存期上限设置为24小时,因为获得master_secret的攻击者可能可以模拟受感染方,直到相应的会话ID退出为止


因此,最好选择一些合理的寿命。

关于java - DTLS状态共享,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50588509/

10-13 06:28