在我们的多租户SaaS软件应用程序中,我们打算使用Microsoft平台(Azure )进行用户身份验证,并在应用程序中提供授权声明。我们在整个堆栈中管理和获得正确的声明面临很多困难,现在正在考虑提供我们自己的身份和网络令牌(通过像Microsoft.AspNetCore.Identity这样的库)。
这意味着我们仍然依赖Azure AD进行身份验证,但随后使用我们自己的(同步)标识来管理应用程序角色、权限等,并将它们存储在应用程序数据库中。
问:当我们提供自己的身份而不是使用服务时,我们将面临哪些安全风险,请记住,我们仍将使用服务进行身份验证?
发布于 2020-10-21 19:21:06
但是,最大的问题在于没有把身份问题留给研究过众多标准和安全政策的专家。当然,您可以自己学习并安全地实现它,但这将耗费时间和资源。这就是你必须做的权衡(就像很多SaaS解决方案一样)。
如果要将身份存储在应用程序数据库中,则可以打开被黑客攻击的应用程序的门,从而导致身份被黑。与之相比,如果它是单独的,您可以在那里进行更好的封装。存储密码或通过未加密协议传递密码的不良做法可能导致身份被盗。
*当我为一个身份提供者工作时,我是有偏见的,但我在这里一直努力保持完全的开放和诚实。
发布于 2022-03-16 03:20:54
当我们提供自己的身份而不是使用服务时,我们将面临哪些安全风险?
你也可以很容易地问,依靠一个不关心你的生意、垄断他们的行业、已经有足够的钱、是黑客和间谍活动的目标、有许多不同的攻击媒介、与政府和情报机构有联系、讨厌隐私、绝对喜欢数据胺的第三方,会暴露出什么样的安全风险。
使用Azure并不能神奇地让你更安全。它还是个数据库。使用强密码散列算法进行身份验证。确保您的凭据安全、敏感数据被加密,并且您的数据库只公开给使用它的服务器,这样您就会完全没事。
https://security.stackexchange.com/questions/239833
复制相似问题