2008-11-25 60 views
5

我在想我是否應該在我的服務器和客戶端之間添加一個SSL層。我沒有處理任何機密數據,但爲了獲得情報,有人可能想要竊聽傳輸的機會非常小(順便說一下,這是一場遊戲)。現在,與小型網站相比,要處理的數據量相當可觀,儘管增加的安全性可能不錯,但最有可能的黑客會是用戶本身,所以我覺得SSL會浪費時間,但希望瞭解其他經驗。SSL真的值得嗎?

謝謝

回答

11

這聽起來像是一個優化問題。如果您擁有您認爲有價值的信息,請從SSL(一個相對容易的安全解決方案嘗試)開始。一旦你有事情的工作,基準系統有和沒有。如果您覺得性能受到影響是值得花時間去嘗試和優化的,那就去做吧。如果沒有,你就完成了!

7

用戶是否使用用戶名和密碼登錄?如果是這樣,我認爲這是值得保護的。畢竟,用戶可能會用使用一個密碼,用於其他地方的安全目的。我知道他們不應該這樣做,但是...

現在假設有人對您的不受保護的對話進行了窺探。他們得到用戶的密碼爲您的網站,使用它登錄到敏感網站,他們關閉...

如果你不想加密的信息(我明白這是一個有點疼痛得到有效的證書等),那麼至少應該讓用戶清楚他們的數據是未加密的,並強調他們不要使用他們在別處使用的密碼。

+0

不,他們沒有。您不需要SSL來散列用戶名和密碼。 – Brian 2008-11-25 15:56:37

+0

布賴恩 - 這是垃圾!散列僅在保護數據庫中的密碼方面非常有用,因爲用戶名通常需要按輸入的方式發送。 – 2008-11-25 16:01:03

+0

我使用的是openid,所以我對密碼沒有任何責任,但您的觀點是有效的。 – 2008-11-25 16:02:11

1

不會。如果玩家X不在玩家Y和服務器之間,他可以通過黑客攻擊的方式獲得的唯一數據是服務器發送給玩家X的數據。而且這些數據根本無法保護,因爲他的機器必須能夠提取它。你可以直接壓縮它,而不是使用SSL:保護級別差別不大。相反,只要確保您不向玩家X發送他不應該擁有的任何數據。某人不太可能在遊戲中使用中間人攻擊類型。

1

如果遊戲被認爲不公平,因爲它是不安全的,我擔心它會停止對除了作弊者之外的任何人感興趣。

除了保護數據流,是否有可能削減你發送的內容?或者壓縮它?

2

應該使用SSL,因爲您不知道將來會發生什麼漏洞或問題。

保密性只是考慮您是否需要SSL的一種方式,如果您正在傳輸任何個人數據,那麼我希望它是安全的。在某些國家,您可能因未使用SSL而違反數據保護法律。

還有其他一些方法可以保護您傳輸的數據,例如在傳輸和解密服務器之前使用PGP密鑰對有效負載進行加密。

6

如果你擔心你的客戶黑客竊取你的數據傳輸SSL購買你什麼都沒有。它的頻道安全性,如果他們擁有客戶端,那麼在中間會話中設置一個人可以看到你的傳輸未加密,這相對來說是微不足道的。 如果您擔心用戶盜用他人用戶數據傳輸,那麼ssl是一個很好且相對簡單的安全措施。

1

需要更多信息才能做出明智的決定,但您不必使用SSL來保護您的數據。您始終可以在客戶端和服務器之間或公鑰/私鑰之間使用其他算法和共享密鑰。然後,您可以更好地控制要保護哪些位以及保留哪些位。

一般情況下,登錄應該總是使用SSL進行加密。您可以通過SSL通道交換一組新密鑰,然後使用密鑰切換到非SSL以保護敏感數據。

1

有些人認爲SSL可以解決幾乎不存在的問題。實際上點擊連線並提取未加密的信息非常困難。幾乎沒有人這樣做。

如果你看看從網上商店購買的情況,更可能發生的事情是他們侵入服務器並下載整個交易數據庫。在一個理想的系統中,您甚至不會將您的信用卡憑證發送給經銷商,只需從信用卡公司簽署一份證書,證明交易已獲得授權。然而,在互聯網的早期階段,證明系統建立起來太困難了,但這將是更正確的解決方案。最終他們選擇了效率較低但更容易實施的系統。

現在到你的問題。在你的情況下,我看不到SSL提供多少。如果有人希望設置一個程序來監視網絡中發送/接收的內容,它仍然可以完成,因爲它們可以在實際加密前放置鉤子來捕獲數據。如果您擔心第三方或他們正在對抗的對手,則通過嗅探線路來找出他們不應該訪問的遊戲的信息,例如其他團隊的隊友之間的聊天。那麼,我會說這裏的風險非常小,不值得討論。

0

除了有關在傳輸過程中加密用戶名和密碼的注意事項外,SSL還會阻止Man in the Middle attacks,但會增加對每個請求的開銷。

問題是,您必須讓客戶知道您的特定證書是有效的......或者更確切地說,這是您的遊戲唯一有效的證書。

這也提出了一個問題,就是當新證書在舊證書過期後替換舊證書時,如何告訴遊戲。

儘管如此,除非這是某種訂閱遊戲,否則SSL可能是過度殺傷。