【发布时间】:2011-02-17 23:34:37
【问题描述】:
我一直在创建一个使用 UDP 传输和接收信息的应用程序。我遇到的问题是安全性。现在我正在使用 IP/socketid 来确定哪些数据属于谁。
但是,我一直在阅读有关人们如何简单地欺骗他们的 IP,然后将数据作为特定 IP 发送的文章。所以这似乎是错误的做法(不安全)。那么我还想如何识别哪些数据属于哪些用户呢?例如,您连接了 10 个用户,所有用户都有特定的数据。服务器需要将用户数据与我们收到的数据进行匹配。
我能看到的唯一方法是使用某种客户端/服务器密钥系统并加密数据。我很好奇其他应用程序(或游戏,因为这就是这个应用程序)如何确保他们的数据是真实的。还有一个事实是,加密的处理时间比未加密的要长得多。虽然我不确定它会对性能产生多大影响。
任何信息将不胜感激。谢谢。
【问题讨论】:
-
您可能需要考虑某种隧道,例如 SSH 或 IPSEC。您要通过身份验证来断言谁是谁的唯一方法。
-
@jathanism 滞后呢? ssl/tls/dtls 出了什么问题?
-
SSL/TLS/DTLS 没有问题,我只是提供替代方案。特别是 SSL 需要签名证书,除非您使用自签名证书,否则除了加密之外,您真的不会买太多。
标签: python security encryption cryptography udp