java - DTLS 状态共享
问题描述
我有一个使用 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
Leshan 项目基于 Californium 和 Scandium,因此集群问题与您的非常相似。不过资料不多。
但基本上很难说清楚。这取决于您的用例/集群配置,并意味着一些负载测试。否则,这只是猜测。
尽可能长时间地保留 DTLS 状态
顺便说一句,TLS 1.2 规范说:
建议会话 ID 生命周期的上限为 24 小时,因为获得 master_secret 的攻击者可能能够冒充受害方,直到相应的会话 ID 退休
所以最好选择一些合理的寿命。
推荐阅读
- python - 参数树不考虑用户输入的数据
- installation - 我们可以在专用的 unix 服务器上安装 SSL 吗?这样如果我打开 https://
,它应该显示安全 - java - 为什么我不能在idea intellij中设置我的jdk路径
- php - 解析期间的Angular 6 / PHP Http失败
- angular - 如何根据记录长度动态添加 bootstrao col-lg {n}
- javascript - 在迭代数据时向对象添加值
- google-groups - 如何离开或退订谷歌论坛群组
- oracle - 使用子集查询时标识符无效
- javascript - 在嵌套对象中查找键并替换其值 - Javascript
- python - Django 的 Ajax 错误