2015-04-27 84 views
0

我需要在帖子之間安全存儲敏感用戶數據。我已經閱讀了關於會話和應用程序緩存的利弊&無數帖子,但仍然沒有明確的贏家。ASP MVC5(C#)安全地緩存敏感用戶信息

以下是場景: 用戶輸入敏感信息並將其發佈到服務器。他被髮送到只讀確認屏幕,並要求提供OTP(通過短信發送)。然後數據再次發佈到服務器。在第二篇文章中,我需要檢查viewmodel信息沒有被篡改並驗證OTP。

因此,視圖模型信息需要在第一篇文章中緩存,並在第二篇文章中進行比較。此視圖模型包含敏感信息的非常,所以它需要儘可能安全地存儲。

我雖然使用會話來存儲加密的用戶數據存儲對象,但我仍然不完全相信這將是最好的解決方案?

有關此事的建議和指導將不勝感激!

+0

驗證後,您將如何處理這些敏感信息? –

+0

將其發佈到處理數據庫交互的Web API – Swifty

回答

1

如果您最終要將這些數據存儲在數據庫中,那麼我認爲您會發現您的數據庫對於該數據足夠安全。一個解決方案可以將這些數據存儲在數據庫中的第一個POST上,並附帶一些額外的屬性,說明是否驗證了這些數據(我將其稱爲IsVerified)。一旦用戶驗證OTP,只需將此IsVerified屬性設置爲true即可。相較於會話存儲該解決方案的

優點是:

  1. 您不必擔心會話過期。 (例如,如果SMS延遲)
  2. 如果您要使用負載平衡器,您將無法使用粘滯會話來存儲數據,這意味着您將不得不使用更高級的會話管理。
  3. 用戶不必提交此敏感數據兩次,這意味着您不必重新驗證id。