IdP assertions encryption issue
Guillaume Rousse
guillaume.rousse at renater.fr
Wed Jan 31 11:37:08 EST 2018
Hello list.
In order to prepare a migration of some services from one reverse-proxy
to another, we published yesterday the new SP certificate in our
metatada, alongside the current certificate. This morning, this resulted
in access failure for those services, with this error message:
failure to retrieve authentication statement for the SP:
opensaml::FatalProfileException at (http://....)
A valid authentication statement was not found in the incoming message.
We fixed the issue by deploying the new certificate on the current
reverse-proxy, so as to have the setup matching the metadata.
Searching shibboleth documentation, this seems to be an encryption
issue, corresponding to the problem described hre:
https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPMultipleCredentials
Basically, when the same certificate/key pair is used both for
encryption and signature, you can't satisfy both migration constraints
at once (publishing before using for signature, using before publishing
for encryption). Before as soon as a new certificate is available for
encryption, IdP may start using it, and if the SP doesn't actually use
it, it will fails to decrypt received messages.
However, I don't understand why, given its current configuration, our
IdP does encrypt its assertions. That's an old version (2.4.4), but all
the profile defined in relying-party.xml have encryptAssertions
attribute set to "never" or "conditional". It's a bit difficult to
understand what this setting does exactly, given than IdP 2.x
documentation seems to have been removed from Shibboleth consortium
wiki, but the IdP 3.x documentation gives an hint here:
https://wiki.shibboleth.net/confluence/display/IDP30/SecurityConfiguration#SecurityConfiguration-SigningandEncryptionEnablement
"Most commonly this would be used in conjunction with a built-in
condition that works by deciding whether to sign or encrypt based on the
security of the underlying communication channel. It is equivalent to
the V2 setting of "conditional" in the legacy configuration format."
According to my understanding, given than our services use https only
(all http connections are automatically redirected to https), encryption
should never happen.
I'm obviously wrong somewhere, but I can't figure where exactly :(
--
Guillaume Rousse
Pôle SSI
Tel: +33 1 53 94 20 45
www.renater.fr
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3637 bytes
Desc: Signature cryptographique S/MIME
URL: <http://shibboleth.net/pipermail/users/attachments/20180131/7fcbfc35/attachment.p7s>
More information about the users
mailing list