20 години по-късно: Git подарява SHA-256 на разработчиците – историята на най-дългоочакваната промяна
Версия 2.51 погребва SHA-1 и слага началото на нова епоха в сигурността на всички планове.
Git, системата за надзор на версиите, която разрешава на разработчиците да наблюдават измененията в кода, да резервират историята на плановете и да работят взаимно по тях, получи актуализация до версия 2.51. Основната смяна е прекосяването към по-сигурна криптографска основа – логаритъма SHA-256.
SHA-1 е в основата на модела на обектите на Git от въвеждането му през 2005 година, само че с течение на времето логаритъмът загуби своята новост. Изследователи неведнъж потвърдиха опцията за исблъсъци, което го прави рисков за дълготрайна приложимост. Замяната на хеш функционалността води до промени във всички съставни елементи, защото идентификаторите на обектите в Git са директно подвластни от определения логаритъм.
Версия 2.51 уголемява вътрешната поддръжка с SHA-256. По подразбиране новите складове към момента се основават с SHA-1, само че транспортният пласт и механизмите за валидиране на обектите към този момент схващат и по-модерния логаритъм. Това дава опция на разработчиците да опитват с складове със SHA-256 и да разпознават грешките, преди преходът да стане финален. Този метод подсигурява равномерен развой: Git би трябвало да резервира съвместимостта със съществуващите принадлежности и работните процеси на милиони консуматори, като в същото време ускорява устойчивостта на криптографски офанзиви.
Успоредно с това разработчиците са подобрили обработката на така наречен cruft packs – набори от „ отпадъци “, които се появяват, когато в хранилището останат недостъпни данни. Сега системата ръководи тези файлове по-ефективно, като понижава ненужната консумация на дисково пространство. Управлението на хранилищата също е актуализирано, като е добавена опцията за безвредно отсрочване на измененията, засягащи файловете отвън показателя. Продължават да се ползват обичайните оптимизации на продуктивността на Git, което удостоверява дългогодишния ангажимент на плана към бързината и мащабируемостта.
Основното обръщение на изданието е, че измененията са постепенни. Поддръжката на SHA-256 към момента не е заменила SHA-1, само че основата за бъдещето е сложена. Разработчиците, чиито принадлежности тясно взаимодействат с обектния модел на Git или с транспортния пласт, би трябвало да стартират да тестват новите функционалности, с цел да могат авансово да се отстранят евентуалните особености.
Git постоянно се е стремял да подсигурява целостта на данните посредством своя разпределен модел и потреблението на криптографски хешове. Преминаването към SHA-256 е нужна еволюция, с цел да се резервира това преимущество пред лицето на все по-сложните офанзиви. Както и преди, измененията се вкарват от по-широката общественост, а подробното изложение на всички нововъведения е налично в формалните забележки към изданието.
Това е в действителност огромна вест за цялата общественост на разработчиците. Преминаването към SHA-256 обезпечава доста по-голяма сигурност и надеждност на Git хранилищата за десетилетия напред.




