2011-02-07 21 views
4

这是一个加密算法,而不是一个编程问题,所以请随时告诉我如果这里不合适,请随时转到其他地方。加密技术:点对点游戏断线保护

我不知道是否有针对“断线问题”的解决方案:两个同龄人A和B相互交谈,并且它应该是罪行为两个对等,以切断连接。是否有可能证明断开是由特定方引起的?

当然,如果两个人有直接线路连接,那么就没有办法定义连接丢失责任方。因此,我们必须包含一些环境网络,并将网络中与第三个“仲裁者”节点失去连接的一方定义为断开连接。但是,如果A想要断开连接,他可以选择性地阻止与B的连接,同时保持与仲裁者的通信。

是否有一个加密解决方案由A和B的持续,他们也期待这保证了它总是可以告诉谁造成故意断开仲裁员交流持续连接?

回答

1

我觉得这样的协议,它不可能。

让我们说,你有连接

 arbiter 
     /\ 
    /\ 
    / \ 
    / \ 
/  \ 
peerA --- peerB 

而现在同行的一个切掉点A - peerB链接。

断开连接之前可能会有所有可能的情况。 (A发送数据到B,或B收到或B-> A或第三个。)

由于没有更多A < - > B链接,您无法分辨谁断开连接。双方可以声称

一)他们把最后一个包
B)他们没有收到数据包

的一点是,当A < - > B链接走了,你不能说谁打破它,因为它可能甚至是中间的一些第三方。

我的脑海里一个实际的解决方案就是,一旦发生这种情况,您可以将现在充当代理的仲裁者的所有流量重新路由。双方同时发送跟踪路由给对方,并将结果发送给仲裁者。即使这种方式失败了,骗子也会伪造ICMP数据包,这种欺骗手段将不起作用,他们迟早会放弃这种作弊手段。在最坏的情况下,你将不得不重新路由一些流量并充当路由器,但你可能能够统计追踪作弊者并对他们采取适当的行动。

0

我不是专家,但因为在这里一切都有点安静,所以我想我会指出我会从哪里开始。有可能我写的东西不好,但至少会让球滚动。

它我认为检测断开是同一类的问题,因为通常检测到错误。 (大概没有“断开信号”,所以我们试图检测何时有人拔出插头)。我觉得这个问题属于噪声信道编码理论。我不是这方面的专家,但是我有一本关于这个主题的好书。

大卫·麦凯的

信息理论,推理和 学习算法。

它可用于在免费在线观看作者的website(与出版商的许可),这样你就可以判断是否是有帮助还是不自己无需支付任何钱。

对于您可能要查找重复这个特殊问题累积码(CHAP 49 - 你并不需要在此之前阅读48章)。你发送你想发送的信号的每一位的重复,但是用一个随机(但是固定)的密钥对它们进行置换。然后您对置换后的信号进行校验和。

所以,如果中央服务器使用不同的密钥对每个用户 - 我本来以为他们可以检测谁(拉动他们的塞子拔出 - 例如)推出断开中期信号的误差。

这就是我将如何开始 - 但我不是专家。

汤姆

+0

谢谢你的链接!是的,我确实希望采用某种方法,A和B交换一些认证数据,并将这些数据传递给仲裁者,以便仲裁者可以执行检查,但我真的不确定......毕竟,正如拉鲁在上面所说的,任何一方都可以永远声称自己是最后一个接受东西的人 – 2011-02-08 16:29:57