2011-08-05 156 views
1

這是一個Silverlight 4特定問題。 Silverlight 5 Beta已經通過提供ProtectedData和DPAPI訪問解決了這個問題。如何在Silverlight 4中安全地存儲密鑰或私鑰?

這不是一個與如何存儲用戶密碼有關的問題,因爲哈希是答案。

如何在客戶端存儲祕密,以不易受內存轉儲或反射/反編譯的方式?

或者您認爲SSL足夠安全,不需要進一步加密數據?一個例子是用戶提交密碼更改請求,在該請求中必須將舊密碼和新密碼發送到服務器以進行操作。假設服務器上的數據在內存中是安全的並且處於靜止狀態。

+1

你永遠不能真正店在客戶端中安全的東西......根據定義,客戶端本身需要使用的任何東西都意味着可以獲得該信息......如果您只需要使用SSL進行通信以使用SSL,從而確保傳輸安全,則主要的安全負擔就是服務器端... – Yahia

回答

2

它不是以往任何時候都安全地存儲在客戶端上你的私鑰...這就是爲什麼它是私有的:)

SSL是128位(最小),是綽綽有餘更對您的任何需求。只要你強制SSL。如果你真的擔心,你的SSL比特率,你去。 「

」256位大致等於宇宙中的原子數。「

「蠻力技術被認爲是不切實際的,因爲現代加密算法的長度爲128到256位。」

如果客戶端程序中,總有一個機會,如果你把它嵌入到讓你存儲的密鑰

+0

使用適當的身份驗證和授權以及Xap簽名和一個this.Host.Source檢查應用程序啓動 - 我認爲在服務器端處理靜態數據安全性的加密和解密是可以接受的。服務器端的密鑰應該使用DPAPI存儲,而不是硬編碼。您可以使用SQL的內置機制來執行透明數據加密(TDE),但這並不能防止數據庫管理員看到人們的PII。 –

相關問題