חזרה
מייסד GitHub סקוט שאקוני: מעבר Git 3.0 ל-SHA-256 יהיה טעות יקרה
SiTech AI Team2 דק׳ קריאה

מייסד GitHub סקוט שאקוני: מעבר Git 3.0 ל-SHA-256 יהיה טעות יקרה

מייסד GitHub ו-GitButler, סקוט שאקוני, טוען בפוסט בלוג שהמעבר מ-SHA-1 ל-SHA-256 כאלגוריתם ברירת המחדל ב-Git 3.0 יהיה שינוי יקר ומעשית חסר תועלת למערכת האקולוגית.

מייסד GitHub ו-GitButler, סקוט שאקוני, פרסם פוסט בלוג שבו הוא טוען כי החלפת אלגוריתם הגיבוב המוגדר כברירת מחדל מ-SHA-1 ל-SHA-256 ב-Git 3.0 תהיה טעות יקרה; לטענתו, המיגרציה כרוכה בעלויות עצומות והתועלת שלה מינימלית.

הפוסט פורסם בבלוג של GitButler וטוען שכמעט אף אחד לא יודע על השינוי.

למה Git 3.0 עובר ל-SHA-256

Git הוא מסד נתונים מבוסס תוכן: כל קובץ, עץ וקומיט נשמר עם גיבוב התוכן שלו, והקומיט כולל את גיבוב ההורה ומקשר את כל ההיסטוריה זה לזה. SHA-1 נבחר על ידי לינוס טורוולדס בשנת 2005.

SHA-1 נחשב היום שבור חלקית: SHAttered מ-2017 ו-SHA-1 is a Shambles מ-2020 הדגימו את האפשרות ליצור התנגשויות מלאכותיות, אם כי לא תועדה תקיפה בפועל. לכן Git 3.0 מתכנן להחליף את אלגוריתם ברירת המחדל ל-SHA-256; השינוי נמצא ברשימת השינויים הבלתי תואמים של המהדורה.

השוואת תקיפות התנגשות ופריאימג' שנייה

טיעונים נגד המיגרציה

הטיעון המרכזי של שאקוני הוא שהאמון אינו מבוסס על הגיבוב. הוא מצטט את לינוס טורוולדס מ-2005: „אני באמת חושב שאנשים לא צריכים להתייחס ל-sha1 כאל אבטחה; האבטחה האמיתית היא בהפצה". תקיפות בפועל מתרחשות עם מתחזקים מושחתים ומאגרי חבילות ולא על ידי התנגשות גיבוב.

העלויות נרחבות: מאגרים חדשים ייווצרו כברירת מחדל עם SHA-256, ישנים יישארו עם SHA-1 ושילוב פורמטים בלתי אפשרי; submodule-ים עובדים רק עם אותו פורמט של ההורה. המרה תכתוב את כל האובייקטים והחתימות, תשבור קישורים ישנים וכלים המבוססים על גיבובים בני 40 תווים, ולהרבה ספריות אין תמיכה מלאה.

כותרת גיבוב עץ עצמאית חתומה באובייקט Git

אלטרנטיבה: כותרות גיבוב עצי עצמאיות

במקום מיגרציה של המערכת האקולוגית, שאקוני מציע „כותרות גיבוב עצי עצמאיות": בעת החתימה, תוכן העץ מגובב בעצמו גם עם אלגוריתם שני (SHA-256 או BLAKE3) ונוסף ככותרת לאובייקט החתום, כך שהחתימה מכסה את שני הגיבובים. לתקיפה נדרשת התנגשות בשני האלגוריתמים; לטענת המחבר, גישה זו רק מאבטחת יותר מ-SHA-256 בלבד.

הרעיון אינו חדש: git-evtag של קולין וולטרס מאז 2015 מוסיף לתגים חתומים סכום בקרה Git-EVTag-v0-SHA512. על פרוטוטיפ של שאקוני, עץ של Chromium בגודל 35 ג'יגה-בייט עם 2.1 מיליון קבצים הוגבב תוך 5 שניות על Mac עם M5.

הפוסט קורא לבחינה מחדש של ההחלטה; לדעת שאקוני, המיגרציה תימשך שנים ובמקרה של פגיעות ב-SHA-256 המערכת האקולוגית תימצא שוב באותה מצב.

SSiTech

SiTech — פיתוח אתרים בכוח ה-AI

אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.