2011-02-07 50 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