请求重放攻击后验证断言
Validate assertion after request replay attack
我曾尝试对我自己集成的 nemlog-in 3 身份验证进行重播攻击,但我无法弄清楚如何针对它实施保护。在 IdP 上登录后,我拦截了对我的断言端点的请求,然后保存 SAML 响应以备后用。
如果我再次登录并将新断言请求中的 SAML 响应替换为旧的 SAML 响应,那么我仍然在通过身份验证。我预计会被拒绝,因为它很旧并且已经被使用过。您是否在 saml2 NuGet 包中内置了防止重放攻击的保护措施,或者我是否必须自己跟踪收到的 SAML 响应?
您需要启用重播验证DetectReplayedTokens
(默认禁用)https://github.com/ITfoxtec/ITfoxtec.Identity.Saml2/blob/master/src/ITfoxtec.Identity.Saml2/Configuration/Saml2Configuration.cs#L55
.NET 核心/.NET 5
并设置TokenReplayCache
/实施ITokenReplayCache
https://github.com/ITfoxtec/ITfoxtec.Identity.Saml2/blob/master/src/ITfoxtec.Identity.Saml2/Configuration/Saml2Configuration.cs#L48
.NET Framework
并设置TokenReplayCache
/实施IdentityModelCaches
https://github.com/ITfoxtec/ITfoxtec.Identity.Saml2/blob/master/src/ITfoxtec.Identity.Saml2/Configuration/Saml2Configuration.cs#L45
并设置 TokenReplayCacheExpirationPeriod
https://github.com/ITfoxtec/ITfoxtec.Identity.Saml2/blob/master/src/ITfoxtec.Identity.Saml2/Configuration/Saml2Configuration.cs#L46
我曾尝试对我自己集成的 nemlog-in 3 身份验证进行重播攻击,但我无法弄清楚如何针对它实施保护。在 IdP 上登录后,我拦截了对我的断言端点的请求,然后保存 SAML 响应以备后用。
如果我再次登录并将新断言请求中的 SAML 响应替换为旧的 SAML 响应,那么我仍然在通过身份验证。我预计会被拒绝,因为它很旧并且已经被使用过。您是否在 saml2 NuGet 包中内置了防止重放攻击的保护措施,或者我是否必须自己跟踪收到的 SAML 响应?
您需要启用重播验证DetectReplayedTokens
(默认禁用)https://github.com/ITfoxtec/ITfoxtec.Identity.Saml2/blob/master/src/ITfoxtec.Identity.Saml2/Configuration/Saml2Configuration.cs#L55
.NET 核心/.NET 5
并设置TokenReplayCache
/实施ITokenReplayCache
https://github.com/ITfoxtec/ITfoxtec.Identity.Saml2/blob/master/src/ITfoxtec.Identity.Saml2/Configuration/Saml2Configuration.cs#L48
.NET Framework
并设置TokenReplayCache
/实施IdentityModelCaches
https://github.com/ITfoxtec/ITfoxtec.Identity.Saml2/blob/master/src/ITfoxtec.Identity.Saml2/Configuration/Saml2Configuration.cs#L45
并设置 TokenReplayCacheExpirationPeriod
https://github.com/ITfoxtec/ITfoxtec.Identity.Saml2/blob/master/src/ITfoxtec.Identity.Saml2/Configuration/Saml2Configuration.cs#L46