2009-07-01 57 views
0

這是一個安全最佳實踐,我想知道我是否應該浪費我的時間。與之相同,藍光電影格式的初始破解,黑客只是檢查了玩家的內存來窺探一個關鍵值。我應該加密瀏覽器/ javascript內存的內容嗎?

對瀏覽器內存做同樣的事情似乎是可行的,並且查看JavaScript解釋器設置的值 - 我應該加密內存中的數據嗎?

想通了 - 它最終是瘋了,B/C如果我的瀏覽器顯示在屏幕上的敏感數據,可以想象這部分數據在內存中,可以被窺探。所以這不關心,如果我在JavaScript的某處加密相同的數據。

我有一個艱難的時間來解釋我爲什麼我們不應該去這個級別的安全性上級...

回答

5

真的,如果你關心瀏覽器中的一些數據,那麼它不應該在那裏。當數據發送給客戶端時,您可以認爲它已被破解,因爲您無法確保其安全。其他人提出了一個很好的觀點,即將加密信息發送給客戶端,但您無法對其執行任何操作,因爲您必須將其解密才能顯示給最終用戶。這就是爲什麼如果你看看銀行的規定,他們從來不會在瀏覽器上顯示任何個人信息(SSN等),除非它是由用戶專門輸入的(鍵入然後回傳)。

+0

即使他們不顯示它。至少不是我的銀行網站。它們將其存儲在服務器上,並且只包含響應中的最後四個字符(如果有)。遍佈SSL。 – 2009-07-01 19:26:36

0

亞當,

這是一個客戶端的問題。在爲網絡編程時,瀏覽器是客戶端,如果不是您的項目範圍,則您不需要解決客戶端的安全問題。

0

不要浪費你的時間,因爲在顯示解密信息時,不可能在客戶端存儲器中存儲加密的內容。事實上,這是不可能的,它變得荒謬可笑!

這就是爲什麼我的銀行網站只在響應中吐出我帳號的最後四個字符。

0

有多少桌面應用程序花時間加密變量的內容?這完全一樣。

0

這個想法是,你信任使用你的應用程序的人(因爲你讓他們訪問數據),但你不應該發送任何更多的數據給客戶端比你願意顯示他們。否則,你會遇到與FPS遊戲一樣的問題,例如爲了顯示敵人出現在正確的時間,當他跑到角落時,你必須告訴客戶敵人的位置即使玩家看不到他們,他們正在移動什麼方向)。如果可能的話,你想擺脫這種情況。

您信任用戶,但您當然不應該信任網絡,因此在客戶端和服務器之間使用SSL之類的東西是有道理的。

不幸的是,你必須信任用戶的平臺。這是困難的。並非所有的瀏覽器都是平等的。有些人使用沙箱,這使得計算機上的另一個應用程序(或同一瀏覽器)難以訪問您的客戶端數據,但仍然有可能。有些不使用任何形式的沙箱​​。但是,您可以做的事情並不多,因爲您必須解密數據才能將其顯示給用戶。

因此,您可以做的最好的事情是限制用戶可以看到的數據或他們可以採取的措施。

0

你的上司是對的。

您無權在隱藏信息我的機器從我。幸運的是,從技術的角度來看,這是不可能的。如果你有一個祕密,你不相信我,不要把它發給我。