某人是否易於反編譯/反彙編/反射在發佈模式下編譯的.NET程序集以查找特定字節數組的內容?可以在.NET程序集中找到特定的字節數組?
實現一種依賴於特定密鑰(存儲在C#代碼中作爲字節數組)的安全機制是一個好主意嗎?
我試過.NET反射器,沒有找到我自己的安全密鑰,但我想知道這個信息是否「足夠安全」。
有沒有比裝配更安全的地方來存儲祕密?
某人是否易於反編譯/反彙編/反射在發佈模式下編譯的.NET程序集以查找特定字節數組的內容?可以在.NET程序集中找到特定的字節數組?
實現一種依賴於特定密鑰(存儲在C#代碼中作爲字節數組)的安全機制是一個好主意嗎?
我試過.NET反射器,沒有找到我自己的安全密鑰,但我想知道這個信息是否「足夠安全」。
有沒有比裝配更安全的地方來存儲祕密?
我同意別人從程序集中獲取祕密字節數組很簡單。如果你的安全性取決於某個密鑰的保密性,你應該確保這個密鑰永遠不會在潛在的被攻擊的計算機上。
如果您使用本機C++和/或使用某種模糊處理或類似的東西,那並不重要。當某個用戶的計算機上的某個密鑰位於用戶不信任的位置時,您應該像用戶知道該密鑰一樣行事。
換句話說:這種密鑰的唯一安全位置在您控制的服務器上,並且您信任其安全性。
不要將祕密存儲在.Net程序集中,這些信息對於不信任的人員是可訪問的。反編譯程序集是微不足道的,因爲有許多工具可用於這樣做。這很容易找出你放在那裏的任何祕密
即使您*混淆了*代碼,它也非常簡單。 – I4V 2013-04-04 16:45:54