SHA-1 is getting [[https://sites.google.com/site/itstheshappening/|weaker]] (mainly collision resistance) so we need to start exploring where we use SHA-1 in Debian and how we need to phase it out. <> = Version control = == git == git uses SHA-1 for commit identifiers. = APT meta-data = APT repositories use SHA-1 and MD5 as hashes in addition to SHA-2. [[Teams/Apt/Sha1Removal|Various external repositories rely on them]]. = OpenPGP = OpenPGP uses SHA-1 for fingerprints but they are not vulnerable to attacks on collision resistance so this isn't a concern. Some of our developer or role keys probably use SHA-1 self-sigs or sigs. = TLS certificates = The SPI CA, the Debian CA and the few service certs signed by it are SHA-1. = OpenSSH = There is a [[DebianBug:774711|request]] to use stronger ciphers, including dropping some SHA-1 based ones. = Snapshot = The snapshot.d.o data storage is based on SHA-1. Same for the [[Derivatives/Integration|derivatives census]], which is based on snapshot. = Already done = == APT meta-data == The APT meta-data produced by dak includes SHA-2 by default. APT does not trust SHA1 checksums starting with 1.2.7, and MD5 since 1.1. This does not yet affect the OpenPGP signature of the Release file, though; which is validated by GPG. == OpenPGP == GnuPG version ??? uses SHA-2 for signatures by default. = Possible actions = == Version control == Engage git upstream discussion to come up with a new repository format. == APT meta-data == Add SHA-2 support to all the [[DebianRepository/FeatureSupport|repository tools]] that support the [[DebianRepository/Format|APT repository format]]. == OpenPGP == Work on OpenPGP 5 which will not use SHA-1 fingerprints. GnuPG could warn when using SHA-1 for signatures. GnuPG could filter out SHA-1 signatures for verification purposes. Have the [[DebianRepository/FeatureSupport|repository tools]] reject .changes and .dsc signatures that use SHA-1. dgit could reject OpenPGP-signed pushes that use SHA-1 signatures.