-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Privacy issues with SessionIndex implementation #41
Comments
We occasionally see an issue with SPs failing when they do not get a SessionIndex from us (even though logout is not supported, they require it a priori unconditionally). This happens when the IdP does not send a SessionIndex. We could tackle this and the above issue by always generating a random SessionIndex whether or not it was present before. It makes sense because SessionIndex from the IdP alone is not relevant or useful since we will always override the corresponding NameID and we do not support any form of logout. |
We've also seen cases with SPs failing when the SessionIndex is missing. |
That sounds like a nice solution then: simply add (or override) the value we send to the SP by setting it to the Assertion ID. |
Dus concreet: EB moet in alle SAMLResponses in the Het wordt dus: <samlp:Response>
<saml:Assertion ID="CORTO123[...]abc">
<saml:AuthnStatement SessionIndex="CORTO123[...]abc"> ongeacht de |
For future reference: the SP that had this issue was using the |
This was a privacy issue because this allows different SP to correlate users, defeating persistent and transient NameID mechanisms. #41
This was a privacy issue because this allows different SP to correlate users, defeating persistent and transient NameID mechanisms. #41
An IdP may set a SessionIndex attribute on the AuthnStatement element in an Assertion. From the spec:
"SessionIndex [Optional]
Specifies the index of a particular session between the principal identified by the subject and the authenticating authority."
The current implementation passes the SessionIndex from the authenticating IdP through the proxy to the SP: https://github.com/OpenConext/OpenConext-engineblock/blob/master/library/EngineBlock/Corto/ProxyServer.php#L586
This is a privacy issue because this allows different SP to correlate users, defeating persistent and transient NameID mechanisms.
The SessionIndex can be used for specifying a particular session in a logout. SAML Logout is not currently supported by engine.
Implementation options:
The text was updated successfully, but these errors were encountered: