Mental-Poker

帶有不受信任伺服器的心理撲克(即沒有點對點)

  • January 14, 2013

stackoverflow上已經提出了實現點對點心理撲克的問題。似乎有一個名為LibTMCG的實現。

同樣在該站點上,還詢問了有關諸如客戶斷開連接或拒絕採取行動(展示牌,下注/過牌/棄牌)等問題的問題。粗看之下,LibTMCG 似乎並沒有處理這些問題。

基於 html 的 mental poker 實現自然排除了點對點,並且必須依賴於不受信任的 http 伺服器。

那麼考慮到客戶端必須只與 http 伺服器通信的限制,mental poker 的實現如何改變?如果僅與伺服器進行通信,諸如客戶端斷開連接或拒絕採取行動(展示牌、下注/過牌/棄牌)等問題是更容易還是更困難。

一般來說,從安全分析的角度來看,點對點協議和使用不受信任伺服器的協議之間沒有太大區別——而且,只要有,點對點的情況就更難保護.

這是因為,如果我們有一個安全的點對點協議,我們總是可以在不受信任的伺服器上實現它,只需讓伺服器在對等點之間轉發消息之外什麼都不做。在典型的攻擊場景中,我們已經假設對等點之間的網路連接可能由攻擊者控制,因此讓攻擊者控制中央中繼伺服器並沒有真正增加他們假設的能力。

當然,如果點對點協議的安全性僅在較弱的攻擊場景下顯示出來——例如攻擊者無法攔截誠實對等方之間的流量,或者他們只能竊聽但不能修改它——那麼安全證明可能不會如此直接地結轉。

另一個導致複雜化的潛在原因可能是如果我們想限制伺服器允許客戶端執行的操作。一般來說,對於點對點協議,我們假設在沒有攻擊的情況下,網路是中立的,並且將攜帶對等方將發送的任何消息。然而,即使是誠實的遊戲伺服器運營商也可能會合理地拒絕讓伺服器在客戶端之間中繼任意加密消息,在這種情況下,依賴於在對等方之間建立安全加密通道的協議可能不切實際。(它們可能仍然是安全的,從空洞的意義上說,沒有人發送任何消息的協議是安全的,但這對於真正想使用該協議做某事的人來說並沒有太大的安慰。

引用自:https://crypto.stackexchange.com/questions/5986