מחבר VPN WireGuard פרסם עדכון RDRAND חדש

ג'ייסון א. דוננפלד, מחבר של VPN WireGuard הודיע ​​על כך לפני כמה ימים יישום חדש עודכן ממחולל מספרים אקראיים RDRAND, אשר אחראי על התקני /dev/random ו-/dev/urandom בקרנל של לינוקס.

בסוף נובמבר, ג'ייסון היה רשום כמנהל בקר אקראי וכעת פרסם את התוצאות הראשונות של עבודתו המחודשת.

מוזכר בהודעה שהיישום החדש בולט ב המעבר לשימוש בפונקציית הגיבוב של BLAKE2s במקום SHA1 עבור פעולות ערבוב אנטרופיה.

ל-BLAKE2s עצמו יש את התכונה הנחמדה להיות מבוססת פנימית על
תמורה של ChaCha, שה-RNG כבר משתמש בה להרחבה, אז
לא אמורה להיות בעיה עם חידוש, מקוריות או מעבד מדהים
התנהגות, שכן היא מבוססת על משהו שכבר נמצא בשימוש.

בנוסף, יצוין כי השינוי שיפר גם את האבטחה של מחולל המספרים הפסאודו אקראיים על ידי היפטרות מאלגוריתם SHA1 הבעייתי והימנעות מדרוס וקטור האתחול RNG. מאחר שאלגוריתם BLAKE2s מקדים את SHA1 בביצועים, השימוש בו גם השפיע לטובה על הביצועים של מחולל המספרים הפסאודו-אקראיים (בדיקות על מערכת עם מעבד Intel i7-11850H הראו עלייה של 131% במהירות). .

יתרון נוסף שבולט הוא זה של העברת תערובת האנטרופיה ל-BLAKE2 הוא האיחוד של האלגוריתמים המשמשים: BLAKE2 משמש בצופן ChaCha, שכבר משמש לחילוץ רצפים אקראיים.

BLAKE2s הוא בדרך כלל מהיר יותר ובוודאי בטוח יותר, זה באמת היה מאוד שבור. חוץ מה המבנה הנוכחי ב-RNG אינו משתמש בפונקציית SHA1 המלאה, כמו מציין, ומאפשר לך להחליף את ה-IV עם פלט RDRAND בצורה מסוימת לא מתועד, גם אם RDRAND אינו מוגדר כ"אמין", אשר כלומר אפשרויות IV זדוניות אפשריות.

והאורך הקצר שלו אומר לשמור רק חצי סוד כשמזינים בחזרה למיקסר זה נותן לנו רק 2^80 סיביות של סודיות קדימה. במילים אחרות, לא רק הבחירה בפונקציית ה-hash מיושנת, אבל גם השימוש בה לא ממש טוב.

כמו כן, בוצעו שיפורים במחולל המספרים הפסאודו-אקראיים של CRNG המאובטח בקריפטו המשמש בקריאה האקראית.

מוזכר גם ש השיפורים מסתכמים בהגבלת השיחה למחולל RDRAND איטי בחילוץ אנטרופיה, אשר יכול לשפר את הביצועים בפקטור של 3,7. ג'ייסון הוכיח שהקריאה ל-RDRAND זה הגיוני רק במצב שבו ה-CRNG עדיין לא אותחל במלואו, אבל אם אתחול ה-CRNG הושלם, הערך שלו לא משפיע על איכות הזרם שנוצר, ובמקרה זה, אפשר לעשות זאת בלי להתקשר RDRAND.

פשרה זו נועדה לפתור את שתי הבעיות הללו, ובו בזמן לשמור על מבנה כללי וסמנטיקה קרובים ככל האפשר למקור.
במיוחד:

א) במקום להחליף את ה-Hash IV עם RDRAND, שמנו את שדות ה"מלח" וה"אישיים" המתועדים של BLAKE2, שהם נוצר במיוחד עבור סוג זה של שימוש.
ב) מכיוון שהפונקציה הזו מחזירה את התוצאה של ה-hash השלם ל- אספן אנטרופיה, אנו מחזירים רק חצי מאורך ה- hash, בדיוק כמו שזה נעשה בעבר. זה מגדיל את לבנות סוד מראש מ-2^80 עד 2^128 הרבה יותר נוח.
ג) במקום להשתמש רק בפונקציה הגולמית "sha1_transform", במקום זאת אנו משתמשים בפונקציה המלאה והתקינה של BLAKE2s, עם השלמה.

השינויים מתוכננים להיכלל בליבה 5.17 וכבר נבדקו על ידי המפתחים Ted Ts'o (המנהל השני של הנהג האקראי), Greg Kroah-Hartman (אחראי על יציבות ליבת לינוקס), וז'אן-פיליפ Aumasson (מחבר האלגוריתמים BLAKE2 /3).

לבסוף, אם אתה מעוניין להיות מסוגל לדעת יותר על זה, אתה יכול לעיין בפרטים ב הקישור הבא.


תוכן המאמר עומד בעקרונותינו של אתיקה עריכתית. כדי לדווח על שגיאה לחץ כאן.

היה הראשון להגיב

השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם.

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.