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

     2023-02-22     72

关键词:

【中文标题】我如何才能完全信任 SAML IDP?【英文标题】:How can I fully trust a SAML IDP? 【发布时间】:2021-09-28 15:13:17 【问题描述】:

我的 Web 应用程序允许通过 SAML 身份验证进行 SSO,我现在正在进行开发。这个想法是绕过我的应用程序的本地身份验证,并且一旦用户使用 SAML IDP 进行身份验证,就会自动进行身份验证。我们将从提供商那里获得 X502 证书,因此他们在一定程度上是值得信赖的。

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

【问题讨论】:

【参考方案1】:

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

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

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

我能做些什么来确保这一点?

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

【讨论】:

很好的答案,在从 IDP 进行身份验证后添加到此,您始终可以像之前使用 saml 响应执行的应用程序一样进行本地身份验证。你不应该避免本地登录。 确实很好,谢谢。所以我的SP不是盲目信任数据,我们验证X502证书和responseID。我认为我们已经得出了相同的结论,那就是信任 IDP,而不是期望他们做他们不应该做的事情。但是,如果说 Azure AD 决定欺骗电子邮件地址,理论上他们可以吗?他们会滥用信任,但这可能是对的吗? @DarshaniJayasekara 本地登录在这里有何帮助?我认为首先是本地登录将我带到这里 - 我正在基于 SAML 响应以编程方式“登录”并且我很担心这样做。

SAML SP:信任 IdP 的证书

】SAMLSP:信任IdP的证书【英文标题】:SAMLSP:TrusttheIdP\'scertificate【发布时间】:2021-11-0404:24:16【问题描述】:我是SP并且想要验证来自IdP的签名。IdP告诉我,我们的SP不信任IdP的证书。据我了解,会发生这种情况:SP->SAMLrequestdig... 查看详情

如何在 java 或 node 中为 SAML 创建自己的 IDP

】如何在java或node中为SAML创建自己的IDP【英文标题】:howtocreateownIDPforSAMLinjavaornode【发布时间】:2019-10-2807:00:36【问题描述】:我想创建一个可供多个应用程序使用的SSO,最好的方法是什么。我正在浏览SAML2.0,但我很困惑,因... 查看详情

如何让两个单独的 SAML 应用程序登录到 IdP 而无需登录两次?

】如何让两个单独的SAML应用程序登录到IdP而无需登录两次?【英文标题】:HowcanIhavetwoseparateSAMLapplicationslogintoanIdPwithoutloggingintwice?【发布时间】:2016-12-1811:38:19【问题描述】:我有四个自定义应用程序(即SP),使用Auth0或OneLogi... 查看详情

如何在运行时在 spring-SAML 中添加新的 idp 元数据

】如何在运行时在spring-SAML中添加新的idp元数据【英文标题】:Howtoaddnewidpmetadatainspring-SAMLatruntime【发布时间】:2015-01-2414:44:10【问题描述】:我正在集成spring-security-saml扩展以在我的web应用程序中支持SSO,我的应用程序应该允许... 查看详情

Spring SAML Okta - 如何在 IDP 启动的流程中重定向到自定义 URL

】SpringSAMLOkta-如何在IDP启动的流程中重定向到自定义URL【英文标题】:SpringSAMLOkta-HowtoredirecttoacustomURLinIDPinitiatedflow【发布时间】:2018-07-2110:39:54【问题描述】:我的应用程序的入口点是一个自定义URL,我如何告诉Spring在SAML舞蹈... 查看详情

依赖方应该安装哪个证书?

...我需要在RP的机器上安装idp的公钥证书和根证书来进行链信任吗??或者只需要安装ROOT证书【问题讨论】:【参考 查看详情

Spring SAML 握手失败 - 无法针对受信任的密钥验证不受信任的凭据

】SpringSAML握手失败-无法针对受信任的密钥验证不受信任的凭据【英文标题】:SpringSAMLhandshakefailure-Failedtovalidateuntrustedcredentialagainsttrustedkey【发布时间】:2014-12-2016:34:00【问题描述】:我正在使用SpringSecuritySAML扩展来与ACA医疗保... 查看详情

Spring security SAML IDP 发起的 SSO

...题描述】:我是SpringSecuritySAML的新手,有人可以解释一下如何通过SAML在SpringSecurity中实现IDP发起的SSO(一步一步)每当我的IDP服务器是ADFS时谁将提供元数据请帮助提前致谢【问题讨论】:【参考方案1】:您是 查看详情

Spring saml - 在SP上启动登录时如何记住请求参数,并在IdP响应后处理它们

】Springsaml-在SP上启动登录时如何记住请求参数,并在IdP响应后处理它们【英文标题】:Springsaml-howrememberrequestparameterwheninitiateloginonSP,andprocesingthemafterIdPresponse【发布时间】:2014-11-1816:47:50【问题描述】:我想记住我网站(SP)的第... 查看详情

我是不是应该要求 IdP 签署 SAML2 SSO 响应?

】我是不是应该要求IdP签署SAML2SSO响应?【英文标题】:ShouldIrequireIdP\'stosignSAML2SSOresponses?我是否应该要求IdP签署SAML2SSO响应?【发布时间】:2012-10-2510:29:20【问题描述】:我们的应用具有与3个不同(Shibboleth)IdP的SAML2SSO集成。我们... 查看详情

如何在 Spring Security SAML 示例中配置 IDP 元数据和 SP 元数据?

】如何在SpringSecuritySAML示例中配置IDP元数据和SP元数据?【英文标题】:HowtoconfigurationofIDPmetadataandSPmetadatainSpringSecuritySAMLsample?【发布时间】:2015-04-0910:09:36【问题描述】:我想处理SpringSecuritySAML。为此,我开始探索SpringSecuritySAM... 查看详情

Keycloak IDP 发起的注销 SAML

】KeycloakIDP发起的注销SAML【英文标题】:KeycloakIDPinitiatedlogoutSAML【发布时间】:2019-01-1913:42:07【问题描述】:我有一个使用Keycloak的SP和一个IDP。我使用的是SAML协议,当SP发起请求时,我可以成功登录和注销。但是,当我在Keycloak... 查看详情

配置 saml-sample (SP) 以使用 Okta (IdP)

】配置saml-sample(SP)以使用Okta(IdP)【英文标题】:configuringsaml-sample(SP)toworkwithOkta(IdP)【发布时间】:2013-04-0612:10:35【问题描述】:Okta是用于SAML登录的IdP。我有一个Okta的超级管理员用户。我尝试使用Spring的saml-sample项目作为我的SP... 查看详情

构建 SAML IDP

】构建SAMLIDP【英文标题】:BuildingaSAMLIDP【发布时间】:2020-07-1015:24:08【问题描述】:我们正计划建立自己的SAMLIDP。我有几个问题:构建一个有意义吗?如果是,方法是什么?我没有看到任何用于SAML的Java库。不能使用spring-securi... 查看详情

IDP 为 Spring SAML 扩展启动了 SSO

】IDP为SpringSAML扩展启动了SSO【英文标题】:IDPinitiatedSSOforSpringSAMLExtension【发布时间】:2014-12-2416:53:09【问题描述】:我已经使用SpringSAML扩展实现了SSO解决方案,现在我想测试IDP发起的SSO谁能给我关于idp.ssocircle.com的IDP为SpringSAML... 查看详情

spring saml - IDP 发起的 SSO

】springsaml-IDP发起的SSO【英文标题】:springsaml-IDPinitiatedSSO【发布时间】:2014-12-1121:38:47【问题描述】:我正在使用SPRINGSAML实现并充当SP(例如:ALPHA)。我能够执行SP发起的SSO并能够使用IDP对用户进行身份验证。此实现中没有问... 查看详情

使用 Spring SAML 作为 IDP 而不是 SP

】使用SpringSAML作为IDP而不是SP【英文标题】:UsingSpringSAMLasanIDPratherthananSP【发布时间】:2015-03-1419:06:25【问题描述】:如果您作为IDP实施,是否可以使用SpringSAML?我过去在担任服务提供商时使用过它,并且阅读了文档后不清楚... 查看详情

没有来自 IDP 的 IDP 元数据

...在我的项目中,IDP团队没有提供任何元数据文件。我应该如何在基于Spring-SAML的SP中配置IDP元数据?【问题讨论】:【参考方案1】:SpringSAML需要IDP元数据才能运行。但是您当然可以简单地手动创建元数据文档。这是一项简单的任... 查看详情