
GitHub kurucusu Scott Chacon: Git 3.0'un SHA-256'ya geçişi pahalı bir hata olacak
GitHub ve GitButler kurucusu Scott Chacon, blog yazısında Git 3.0'da varsayılan hash algoritmasının SHA-1'den SHA-256'ya dönüştürülmesinin ekosistem için pahalı ve pratikte işe yaramaz bir değişiklik olacağını savunuyor.
GitHub ve GitButler kurucusu Scott Chacon, Git 3.0'da varsayılan hash algoritmasının SHA-1'den SHA-256'ya değiştirilmesinin pahalı bir hata olacağını savunduğu bir blog yazısı yayımladı; ona göre göç maliyeti devasa, faydası ise minimal.
Yazı GitButler blogunda yayımlandı ve değişiklik hakkında neredeyse kimsenin bilmediğini savunuyor.
Git 3.0 neden SHA-256'ya geçiyor
Git içeriğe dayalı bir veritabanıdır: her dosya, ağaç ve commit içeriğin hash'iyle saklanır, commit ise üst hash'ini içerir ve tüm tarihi birbirine bağlar. SHA-1, 2005 yılında Linus Torvalds tarafından seçildi.
SHA-1 bugün yarılmış olarak kabul edilir: 2017'deki SHAttered ve 2020'deki SHA-1 is a Shambles, yapay çakışma oluşturma yeteneğini gösterdi, ancak gerçek bir saldırı kaydedilmedi. Bu yüzden Git 3.0, varsayılan algoritmayı SHA-256 ile değiştirmeyi planlıyor; değişiklik sürümün uyumsuz değişiklikler listesinde yer alıyor.
Göçe karşı argümanlar
Chacon'ın ana argümanı, güvenin hash'e dayanmadığıdır. 2005'ten Linus Torvalds'u alıntılıyor: „Gerçekten insanların sha1'i güvenli olarak görmemesi gerektiğine inanıyorum; gerçek güvenlik yayılımdadır". Gerçek saldırılar, tehlikeye atılmış bakımcılar ve paket depolarıyla gerçekleşir, hash çakışmasıyla değil.
Maliyetler geniştir: yeni depolar varsayılan olarak SHA-256 ile oluşturulur, eskiler SHA-1'de kalır ve formatların karışması imkansızdır; submodule'ler yalnızca üstle aynı formatta çalışır. Dönüştürme tüm nesneleri ve imzaları yeniden yazar, eski bağlantıları veya 40 sembollü hash'lere dayalı araçları bozar, birçok kütüphanenin tam desteği yoktur.
Alternatif: Ağaçtan bağımsız hash başlıkları
Ekosistemin göçü yerine Chacon „ağaçtan bağımsız hash başlıklarını" önerir: imzalarken ağaç içeriği bağımsız olarak, ikinci bir algoritmayla (SHA-256 veya BLAKE3) hash'lenir ve imzalı nesneye başlık olarak eklenir, böylece imza her iki hash'i de kapsar. Saldırı için her iki algoritmada çakışma gerekirdi; yazara göre bu yaklaşım yalnızca SHA-256'dan daha güvenlidir.
Fikir yeni değil: Colin Walters'ın git-evtag'ı 2015'ten beri imzalı etiketlere Git-EVTag-v0-SHA512 kontrol toplamı ekler. Chacon'ın prototipinde, 2,1 milyon dosyalık 35 gigabaytlık Chromium ağacı M5 Mac'te 5 saniyede hash'lendi.
Yazı kararların gözden geçirilmesine çağrıda bulunuyor; Chacon'a göre göç yıllar sürer ve SHA-256'nın zayıflaması durumunda ekosistem yine aynı durumda bulunur.
SiTech — AI destekli web geliştirme
Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.