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

Section 8.1: Crypto-agility in certificate hash verification #115

Open
aboba opened this issue May 13, 2020 · 1 comment
Open

Section 8.1: Crypto-agility in certificate hash verification #115

aboba opened this issue May 13, 2020 · 1 comment
Assignees

Comments

@aboba
Copy link
Collaborator

aboba commented May 13, 2020

Currently, Section 8.1 only considers support for the SHA-256 hash. algorithm:

"If algorithm of fpr is equal to "sha-256", and value of fpr is equal to ref_fpr, the certificate is valid. Return true."

While SHA-256 is the default hash algorithm specified in RFC 8122, it's possible that in the future other algorithms may be supported or even preferred.

So I'd suggest that fingerprints with an algorithm value of 'SHA-256' be considered, along with fingerprints with algorithms that are both supported and stronger than 'SHA-256'. The fingerprint is then calculated on the certificate using the supported algorithms and matched.

From RFC 8122 Section 5.1:

"An endpoint MUST select the set of fingerprints that use its most
preferred hash function (out of those offered by the peer) and verify
that each certificate used matches one fingerprint out of that set.
If a certificate does not match any such fingerprint, the endpoint
MUST NOT establish the TLS connection."

@wilaw wilaw added the Discuss at next meeting Flags an issue to be discussed at the next WG working label Jun 9, 2021
@martinthomson
Copy link
Member

So the reference identity is provided as a set of hashes, keyed by a hash algorithm identifier? That would be consistent with RFC 8122.

We then need to decide whether all have to match or just one (assuming that one is acceptable to the browser). That is, if we have two good hashes that are both supported and one is wrong, is that an error that the browser needs to recognize?

@yutakahirano yutakahirano added this to the Uncategorized Future milestone Jun 30, 2021
@jan-ivar jan-ivar added Ready for PR and removed Discuss at next meeting Flags an issue to be discussed at the next WG working labels Jul 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants