[英]How to distribute keys securely with binaries in .NET?
我可以分發使用用戶無法訪問的密鑰的.NET應用程序,但應用程序可以嗎?
請注意,我用的是在這個意義上分發的應用程序交付到用戶的計算機上運行,而不是在雲或群集。
應用程序中的任何內容都可以由熟練的用戶訪問。
這就是為什么游戲等從在程序中存儲密鑰算法轉移到使用外部游戲制造商擁有的服務器進行驗證的原因。
如果你只是試圖阻止普通的喬,只需將其哈希並將其存儲為任何其他變量......就像門上的掛鎖一樣,它不會阻擋確定的用戶,但保持誠實的人誠實。
你的問題有兩個一般的答案。
如果您的問題是這樣的:
我是否有可能以任何方式將密鑰與我的可執行文件一起傳遞,使得任何用戶都無法訪問該密鑰,但我的程序仍然可以訪問它?
然后答案是:不,你不能。
您的代碼可以執行任何操作,用戶也可以執行此操作。
您所能做的就是讓用戶難以接受。 加密它,隱藏它。
如果您的問題是這樣的:
我是否有可能以任何方式傳遞一個密鑰與我的可執行文件,使我的用戶不太可能訪問,但我的程序仍然可以訪問它?
然后答案是這樣的:見第一個案例的答案,特別是關於讓用戶難以理解的部分。
根據您嘗試加密的內容,您將提供公鑰,保留您的私鑰,您可以自由分發。 你想要完成什么?
並不是的。 您可以使檢索密鑰變得煩人 ,但如果程序可以使用它,則用戶也不可避免地會讀取它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.