以下是我想到的情景。
计算机A是客户端连接的服务器,但客户端必须通过禁止检查。 计算机B是充当禁用聚合器的服务器。来自多个服务器的禁令来到这里,任何服务器都可以通过API访问。 计算机C是一个被禁止的客户端,希望绕过禁令并连接到计算机A.
这是登录过程: 计算机C向计算机A发送其用户名和密码组合。 计算机A接收登录信息并确保其有效。 计算机A向计算机B询问计算机C的用户名禁令。 计算机B向计算机A发送禁止记录。 计算机A接收禁令记录并检查计算机A是否应该因禁止而断开连接并采取相应行动。
所以,我的问题是计算机C是否可以欺骗计算机B对计算机A关于其禁止记录的查询的回应。不幸的是,我对套接字和TCP握手的工作方式了解不多。
如果计算机C知道计算机B的回复是什么,他说他没有禁令,他知道什么时候需要将假响应发送到计算机A,并且欺骗他的IP类似于计算机B的,他是否可以成功地欺骗计算机A认为他没有记录禁令?
答案 0 :(得分:2)
如果您只是使用仅为您知道的私钥来签署B的回复,则可以很快避免此问题。然后,A将验证来自B的响应并在签名不匹配时拒绝它们。您可以使用公共API包含签名密钥的公钥部分。