我有个问题要问
我正在使用python上的baserequesthandler的udp套接字服务器我想保护服务器免受欺骗-源地址更改。
client_address是已建立到服务器的实际IP地址吗?如果没有,我如何获得实际地址?
对数据包进行身份验证,以使您知道会话X中来自源地址Y的每个消息都来自同一客户端。
通过建立共享的会话密钥,然后将其与序列号一起使用以产生由(序列,session_key)对所密钥化的分组的哈希。然后将其包含在每个数据包中。可以在两个方向上同时保护客户端和服务器。
[收到数据包时,您将使用其源地址和会话号来查找会话,然后计算HMAC((序列,session_key),数据包)并检查消息中的MAC字段是否匹配。如果没有丢弃该消息。
这可能不是正确的协议,但是已经足够证明该原理了。