【问题标题】:Separate TCP/SSL connection for authentication while UDP for main traffic?单独的 TCP/SSL 连接用于身份验证,而 UDP 用于主要流量?
【发布时间】:2013-03-18 16:19:30
【问题描述】:

我目前正在编写一个小型客户端/服务器软件,其中服务器在 PC/Mac (Java) 上运行,客户端在 Android 上运行。客户端正在向服务器发送许多小数据包,其中低延迟很重要,单个数据包丢失无关紧要,这就是我想使用 UDP 的原因。

问题是我想要一些身份验证,因为服务器应该只接受来自已知设备的数据包(第三方不应该能够发送有效的数据包,但是它是否可以读取这些数据包并不重要)。

所以我想的是,身份验证可能发生在单独的 TCP(甚至 SSL)连接上,而主要流量发生在 UDP 上。只接受来自与 TCP/SSL 连接相同 IP 地址的 UDP 数据包,并且只要连接处于活动状态。

这是一种(相对)安全的身份验证方法,还是有简单的方法可以绕过它?如果有,您对我有什么其他建议吗?

谢谢。

【问题讨论】:

    标签: java android tcp udp


    【解决方案1】:

    IP 地址可以伪造。因此,任何嗅探包的人都可以发送伪造的 UDP 包。

    您可以通过 SSL 连接交换密钥并将HMAC 添加到您的 UDP 包中。

    【讨论】:

      猜你喜欢
      • 2017-01-02
      • 2016-06-02
      • 2013-12-05
      • 2020-01-03
      • 1970-01-01
      • 1970-01-01
      • 2012-07-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多