Currently, only the MD5 hash is displayed for SSH keys (and it is not even displayed that it is MD5). OpenSSH moved to SHA256 in 6.8 and displays them by default now. So displaying MD5 is not very helpful anymore.
Proposal
Display both, MD5 (for people bound to the past) and SHA256.
Mockups
Designs
Child items
...
Show closed items
Linked items
0
Link issues together to show that they're related or that one is blocking others.
Learn more.
@DouweM I have started working on this and it looks like fingerprints are stored in the database. Do you know why? Can't they always be created from the key on the fly?
@DouweM I don't think storing the SHA256 hash would work because we can not be sure we have OpenSSH >= 6.8. We could of course every time a hash is queried check if OpenSSH 6.8 is now available. Any thoughts on this?
@DouweM Thank you for pointing me to the right place! How can I make sure that EE does not break? Should I open a merge request with the EE-only changes which will then be merged at the same time?
This goes a little deeper than display - we actually look up keys by MD5 fingerprint as well.
@briann I don't think this is a glaring security hole, but I think we should aim to migrate the lookup and display to SHA256 fingerprints in the near future. WDYT?
Per https://gitlab.com/gitlab-org/gitlab-ce/issues/37899 , use of MD5 hashes is becoming a problem with some compliance regimes. I think we should consider scheduling this earlier rather than later, especially given the data migration it will involve.