【问题标题】:If I use Java sockets /netty, can someone else masquerade as my server and vice versa?如果我使用 Java 套接字 /netty,其他人是否可以伪装成我的服务器,反之亦然?
【发布时间】:2016-08-04 15:36:45
【问题描述】:

我在一个简单的项目中使用netty,我需要从客户端发送消息到服务器以及从服务器到客户端。

客户端和服务器建立连接后,第三方是否可以将数据发送到同一个客户端端口,就好像消息来自我的服务器一样?有人可以通过将数据发送到我服务器上的特定端口来假装是之前连接的客户端吗?或者“已连接”是否意味着服务器和客户端将知道数据来自与其发起连接的实体?

如果重要的话,我在 netty 中使用 NioSocketChannel

详细说明,我还没有使用加密通道 (SSL/TLS)。我只想知道I am talking with the same entity that initiated the connection。我不需要知道it's the same entity I initiated the connection with the previous time(我猜这可以通过用户名/密码来实现)。

【问题讨论】:

  • 我认为有可能,否则就不需要完整性保护或确保真实性等机制。也许有人可以更详细地回答它是如何可能的,等等。

标签: java sockets netty


【解决方案1】:

在网络级别,您将使用不安全的 TCP/IP 流,该流可能会被拦截、欺骗等。如果您想要端到端的安全性,并确保您的客户端正在与真实服务器通信(反之亦然),您需要使用 SSL,或者(更好的)TLSv1 或 TLSv2。 p>

参考资料:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-28
    • 1970-01-01
    • 2013-02-11
    • 2013-10-25
    • 2012-02-07
    • 1970-01-01
    • 2016-09-03
    相关资源
    最近更新 更多