ASP.Net MVC Web App可以/我应该安全地存储第三方登录详细信息

问题描述 投票:0回答:1

我们有一个ASP.Net Web应用程序,我们使用标准的个人用户帐户登录。

根据用户登录,在将Web应用程序登录映射到所需的Web服务登录后,它们也会登录到Web服务。它不是一对一的映射登录,用户可以选择访问许多可用的Web服务中的任何一个。

  • Web App登录JohnD使用Employee登录详细信息映射到Web Service A.
  • Web App登录FredF使用Maintainer登录详细信息映射到Web Service B;
  • Web App登录BarneyR使用访客登录详细信息映射到Web Service B;

管理模块应允许将Web App登录分配给Web Service登录。

对于概念证明,我们在Web应用程序中嵌入了一些Web服务登录详细信息。这显然是不安全的,我们需要在某种程度上安全地存储Web服务登录详细信息,在SQL Server表中加密?在WebConfig中加密?

安全存储和检索映射登录详细信息的最佳方法是什么?或者更好的方法来执行这个2步登录逻辑?

c# asp.net-mvc security login basic-authentication
1个回答
1
投票

您永远不应以可逆格式存储登录详细信息(可以完全解密)。

如果登录详细信息可由服务器反转,那么黑客将能够在成功窃取数据库时检索每个人的登录信息。

您自己网站的登录信息应使用单向哈希+盐水保存。没有理由为第三方网站使用较低级别的安全性。

具有访问权限的OAuth应该是您问题的答案,因为它不要求用户为您的网站提供对第三方网站的完全访问权限。在您的网站遭到入侵后,第三方网站的登录信息将完全不受影响。用户可以断开链接以防止进一步损坏其第三方网站的帐户,而无需等待管理员操作。

© www.soinside.com 2019 - 2024. All rights reserved.