Geri Dön
GitHub kurucusu Scott Chacon: Git 3.0'un SHA-256'ya geçişi pahalı bir hata olacak
SiTech AI Team2 dk okuma

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.

Çakışma ve ikinci ön resim saldırılarının karşılaştırması

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.

İmzalı Git nesnesinde ağaçtan bağımsız hash başlığı

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.

SSiTech

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.