簡體   English   中英

在ASP.Net應用程序中安全地存儲(加密)數據

[英]Securely storing (encrypting) data in an ASP.Net application

我有一個asp.net應用程序,可以通過互聯網使用Web瀏覽器訪問。 它在Web服務器上運行,並與后端數據庫進行通信。

一些用戶希望使用該應用程序來存儲一些私人數據。 這個要求是:

1)只有存儲數據的用戶才能看到它。

2)開發人員/ dbas不應該能夠看到數據。

3)如果Web服務器和數據庫服務器受到攻擊,則黑客必須無法解密數據。

所以,很明顯我將不得不加密這些數據。 如果我加密它會在某個地方有一個密鑰,可能是鹽/ IV。 問題是我在哪里存儲用於執行解密的數據? 如果我將它存儲在數據庫或Web服務器中,那么開發人員,dba或黑客可以訪問它並解密數據。

我認為我理想的解決方案是將私鑰放在客戶機上,這樣他們就完全負責了。 但我不知道如何使用asp.net Web應用程序來解決這個問題。

我相信我可以創建一個也存儲私鑰(PFX)的證書。 客戶公司可以使用組策略將證書部署到其域。 但是,ASP.Net應用程序可以請求Web瀏覽器向其發送私鑰,以便它可以執行解密? 解密客戶端將是最好的,但除了在JavaScript中創建一些東西,我不知道這是如何可能的。

歡迎任何建議。

將密鑰存儲在用戶的腦海中。 使用您喜歡的任何基於密碼/密碼的密鑰派生算法。 標准是PBKDF2 算法的最佳選擇將取決於您的安全要求和威脅模式。 理想情況下,該決定和實施至少應由安全專家審查。

是否有可能將ClickOnce應用程序部署為解決方案的一部分? ClickOnce可以輕松訪問本地計算機上的證書存儲,從而允許您執行客戶端加密。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM