gpt4 book ai didi

tcp - 如何证明我的 IP 地址?

转载 作者:可可西里 更新时间:2023-11-01 02:54:23 24 4
gpt4 key购买 nike

如果我直接连接到另一台计算机,我会证明我的 IP。但是,如果我想收到证明某人 IP 的纸质消息怎么办?

例如,客户联系 Google 获取 JSON 网络签名,将其打印在纸上,然后将纸交给我,我可以验证包含其 IP 的消息的签名,而无需连接到客户端(或谷歌)通过 TCP。

是否有更简单或更好的方案?

最佳答案

如果您使用加密,请考虑使用 HMAC .如果不是,那么一个简单的散列或随机数就可以用于普通用途,只要它在给定的时间段内是唯一的,然后过期。无论哪种方式,您都可以通过两种传输方式发送生成的值,以便它们相互匹配。最好服务器应该生成值以确保其真实性,例如:

“您好,TCP 客户端,通过其他传输方式向我发送 XXX 和您的 IP”。

“你好传输客户端,我看到你向我发送了值 XXX 和 IP YYY,我有一个匹配的 TCP 客户端”。

另请记住,如果您的 TCP 客户端位于路由器后面,则另一方将看到您路由器的公共(public) IP,而不是您客户端在路由器后面的私有(private) IP。所以你的客户端必须发送路由器的 IP,也可能发送它的私有(private) IP。取决于您的实际需求。

不过,我真的不认为有必要验证 IP。仅仅处理路由器的情况,更不用说试图避免 IP 欺骗,几乎不值得这样做。只要拥有经过身份验证的 token 就足够了。

更新:如果这不是您想要的,那么您必须将 IP 作为加密/哈希的一部分。客户端获取一些种子值(有时称为 nonce 值)及其 IP 并将它们全部哈希在一起,然后将结果提供给另一方。该方使用相同的种子/随机数值和它想要验证的 IP 并将它们散列在一起,看看它是否得出相同的结果。如果是,则 IP 匹配。

关于tcp - 如何证明我的 IP 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28973721/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com