当前位置: 首页 > 知识库问答 >
问题:

我如何才能完全信任SAML IDP?

祖利
2023-03-14

我的web应用程序允许通过SAML身份验证进行SSO,我现在正在进行开发。其思想是,这会绕过我的应用程序的本地身份验证,一旦用户使用SAML IDP进行身份验证,就会自动对其进行身份验证。我们将从提供商处获得X502证书,以便在一定程度上信任他们。

在我从SAML身份验证返回的应用程序中,我从IDP获取一封电子邮件作为标识符并使用它来加载用户的会话。但这显然是危险的,因为IDP可能会欺骗电子邮件,甚至来自另一家公司。我能做些什么来保护它?

共有1个答案

姜增
2023-03-14

在我从SAML auth返回的应用程序中,我从IDP获取一封电子邮件作为标识符,并使用它加载用户的会话。但这显然很危险,因为IDP可能会欺骗其他公司的电子邮件。

不,不是这样的,除非您采用的是不安全的集成方法。

SAML2 IDP和您的SP通过共享SAML2元数据(无论是物理文件还是URL上的有效负载等)建立相互信任。您的SP只会通过元数据与其信任的IDP交谈,元数据的有效性也可以使用适当的密钥进行验证。此外,IDP发出的响应可以签名和加密,理论上只有发出响应的SP才能验证响应的完整性和真实性,并可选择解密以获取适当的数据。如果您的SP盲目信任来自任何SAML2 IDP的数据,那么是的这是危险的,但这是您的设置的问题,而不是“IDP欺骗”电子邮件地址。

我能做些什么来保护它?

确保IDP正在为您签署适当的响应/断言,并且您的SP正在正确验证响应,包括其签名。如果您担心数据可见性,可以要求IDP为您加密该响应/属性/名称ID。在一天结束的时候,如果所有这些都过去了,你要用你正确可靠地收到的数据信任IDP。如果IDP向您发送了一个“无效”的电子邮件地址,即使在验证了所有内容之后,这也是IDP需要解决的问题,而不是“不安全”。

 类似资料:
  • 值得信任,才能被信任。你也应该让别人了解你。如果没人了解你,没人会为你投票。跟你亲近的人一起,比如队友,这应该不是一个问题。对你部门或团队以外的人,你通过责任和博知建立信任。有时有人会滥用信任,并要求无理由的赞同。不要害怕,解释因这种赞同会让你必须放弃什么。 不要不懂装懂。与队友以外的人一起时,你必须清除地区分“当下在我脑子里不懂的东西”以及“我曾经没有认识到的东西”。

  • 问题内容: 我只希望我的主线程在退出之前等待我所有的(p)线程完成。 线程来回移动的原因很多,我真的不想跟踪所有线程-我只想知道线程什么时候消失了。 wait()对子进程执行此操作,在没有子进程时返回ECHILD,但是wait(似乎不与(p)个线程一起工作)。 我真的不想麻烦保留每个未完成线程的列表(随它们来来去去),然后必须在每个线程上调用pthread_join。 有没有一种快速而又肮脏的方式

  • Nietschze夸大了他所说的: 杀不死我们的,只会让我们更强大。 你最大的责任是对你的团队负责。你应该非常了解他们中的每个人。你应该激励你的团队,但不要让他们过劳。你通常应该告诉他们他们被激励的方式。如果他们觉得划算,他们会被很好的激励。每个工程中,或者在每个其他的工程里,试着同时用他们建议的以及你认为对他们好的方式去激励他们。激励他们的方法不是给他们更多工作,而是给他们一个新的技能或在团队里

  • 我如何让Python完成这项任务? 每10秒,X次?

  • 我正在浏览Apache FOP快速入门。从命令行,我将一个包含svg元素的简单xml文件转换成pdf文件。我可以做到这一点,但由svg生成的图像被切断。我不熟悉XSL-FO 以下是xml: 下面是xsl: 图像应该显示红色 我缺少了哪些属性,如何才能正确显示整个svg图像(两个完整的圆圈重叠)? 谢谢, 勃兰特 附言:我会发一张图片来展示这个问题,但是我没有足够高的声誉。