我有一个使用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/