Skip to content
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

Order of preference for Encryption Algorithm #310

Open
daserzw opened this issue Nov 16, 2021 · 2 comments
Open

Order of preference for Encryption Algorithm #310

daserzw opened this issue Nov 16, 2021 · 2 comments

Comments

@daserzw
Copy link

daserzw commented Nov 16, 2021

"SAML v2.0 Metadata Profile for Algorithm Support Version 1.0" specification states that if "multiple md:EncryptionMethod elements identifying algorithms of the same general type are present, they MUST be listed in order of preference by the entity". This is currently not permitted by Jagger, but what is worse is that the default listing is in the order of the least secure to the most one, which of course is not the order of preference.

A simple and quick fix would be to sort the current array from the most secure to the less one in:

application/helpers/metadata_elements_helper.php

Davide Vaghetti

@alexstuart
Copy link

Davide's proposed solution seems to be a good way forward.

I have a concern about re-ordering the array if an existing entity registers encryption algorithms that it doesn't support. There's the potential for the re-ordering to put an unsupported algorithm into first preference.

To mitigate this, you need good documentation about the what the EncryptionMethod checkboxes do, and good release notes for deployers to warn during an upgrade. I'm happy to review those when you address this issue.

@alexstuart
Copy link

@janul is there any movement on this issue? metadata which shows an insecure ordering of algorithms is still being published by new deployers of your software.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants