ייעוץ: ממצא קריטי במודל חישוב ללא שמירה של PIE
המודל מסיר את יכולת המפעיל לפענח כל דבר ברגע שהעבודה מסתיימת. המכשיר עדיין מקודד למפתח ציבורי לא מאומת שפורסם על ידי הרכיב היחיד שהמודל מציין כבלתי מהימן.
Developed by Robert E. Beckner III (Merlin) | rbeckner.com
אני בונה מערכות ל25 שנים, ואני אוהב לבנות דברים שנועדו לעיצוב מכוון ויעילות תפעולית, נושא רק את כמות הווקטור שמקבלת את משקלה.בגישה זו, המינימיזציה של מה שאני מאחסן ממידע המשתמש תמיד הייתה הגיונית עבורי, סיבות שעולות מעבר לחדירה הברורה. ריבונות הנתונים שלהם חשובה. מתחת לזה יש משהו פשוט יותר: דברים שייכים למקום שבו הם שייכים. רוב מה שאני בונה הוא עיבוד, וארכיטקטורת עיבוד לא תופעל כמשהו אחר. שמירת רשומה שלא נדרשה היא וקטור שלא מרוויח דבר. הטיפול בכך כייעול, ולא כתרגיל התאמה, הוא מה שמחזיק את העיצוב כנה — ומערכת שנבנתה כך נוטה להישאר במצב טוב עם הרגולציה בעצמה, מכיוון שיש מעט מאוד מהשאר לרגולציה.אז כאשר Mary הכרזת Camacho הגיעה לתוך הזרם שלי ב-X, קראתי את הארכיטקטורה שלה כפי שקראתי את שלי. היא פרסמה את הליבה שלה ברשומה הציבורית תחת רישיון Creative Commons, ברמת הפרטים שהמהנדס צריך כדי לבנות אותה מחדש, והיא הייתה ישירה לגבי האמנות הקודמת שעליה היא מבוססת.בעבודה דרך הסדרה, הצבתי ישות יריבה בתוך השרת ופעלתי מה שהייתה יכולה להגיע. היא יכלה לחרוג מהעובד.כמעט כל העבודה שהשלה התבצעה כקשר קולי — על 30 הערות קוליות, חושבת בקול רם ובודקת את הדאגה מזוויות שונות עד שהיא או נשארת או מתפרקת.מה שמצאתי: המכשיר מאפיין למי שמרשום את רשומת הטענה ראשון#
ההצהרה מפרטת את סדר הפעולות ישירות. העובד טוען את העבודה ומפרסם את המפתח שלו, ורק אז המכשיר מאפיין:צד המכשיר של ההסכם הזה מוגדר בדיוק שווה:— §2.1, זרימת נתונים (לפי עבודה)
- עובד → תיאום: סקר וטענה את העבודה (כתיבה-פעם-אחת, ראשון-זוכה), מפרסם את המפתח הציבורי של העובד.
- מכשיר ← תיאום: סקר, קבל את המפתח הציבורי של העובד, נגזר הסוד המשותף, מאפיין את_payload.
המכשיר, בלמידה של המפתח הציבורי של העובד, מבצע את החלפה X25519 שלו ו-ML-KEM encapsulation נגד המפתח של העובד, מייצר את התרומה הציבורית שלו (מפתח ציבורי X25519 ‖ ML-KEM ciphertext) והסוד המשותף.— §4.2, קישור למחזור חיי העובדבלמידה. על פני 19 דפים אין חתימה על המפתח הציבורי הזמני של העובד, אין תעודה, אין אישור שהמכשיר מעריך, ואין סוד משותף מקדים. החסרון הוא מכוון ומוצג ככוח: הדגם מקבל פענוח ללא מסמך אישור, ציטוט TPM, או אובייקט boot מדוד, והוא אינו שומר סוד עובד מקדים.לכן המכשיר מאפיין את_payload שלו לכל מפתח ציבורי שנמצא ברשומת הטענה, ללא אמצעי להבדיל מפתח עובד לגיטימי מכולם אחרים. כל צד שיכול לכתוב טענה ראשון הופך להיות הצד שהמכשיר מאפיין אליו, וה_payload המועבר פותח בידיהם.
flowchart TB
subgraph BEFORE["לפני: כפי שפורסם"]
direction TB
A2{"מי טוען ראשון?"} -->|עובד אמיתי| A3["מפתח אמיתי"]
A2 -->|כל כותב אחר| A4["מפתח מתקפה"]
A3 --> A5["המכשיר מאפיין אותו"]
A4 --> A5
A5 --> A6["מחזיק המפתח יכול לקרוא"]
end
subgraph AFTER["אחרי: מפתח חתום"]
direction TB
B2{"החתימה תקפה?"} -->|כן| B3["מפתח עובד מאומת"]
B2 -->|לא| B4["דחה, נסה שוב"]
B3 --> B5["רק עובד אמיתי קורא"]
end
A6 ~~~ B2Copy sourceהקריפטוגרפיה תקינה וההיכרות אינה מאומתת#
המתקפה לא מפצלת כלום. X25519 ו-ML-KEM-768 פועלים בדיוק כפי שמוגדר. המתקפה מספקת מפתח והופכת לחלק לגיטימי של ההסכם.זהו הסכם מפתח לא מאומת, ואופן הכישלון שלו הוא התוצאה הוותיקה ביותר בתחום. דיפי-הלמן פשוט לא מאמת אף אחד ונופל לחלק שמחליף את המפתח הציבורי שלו. מנגנוני קידוד מפתח יורשים את המאפיין, ולכן RFC 9180 מציב את האותנטיות של המפתח הציבורי של הנמען מחוץ לטווחו ומניח שהיישום הסביבתי יקים אותה דרך תעודות, ספריית מפתחות, או אימות מחוץ לרצועה. המודל הזה הוא היישום הסביבתי, והערוץ שבו הוא משתמש להפצת מפתח הנמען הוא הרכיב שמודל האמון שלו מסמן כלא מהימן.ההגשה מתכננת מתקפה שכנה ומסגרת אותה:הטענה היא write-once/first-wins כך שעובד מאוחר לא יכול לגנוב את החלפת המפתח של עבודה.— §6, יישום מ参考ההסבר הזה תקין והמנגנון עושה את מה שהוא אומר. מכסה אחת משני מקרים סימטריים.
| איום | מטופל על ידי הטענה כתיבה-פעם-שנייה |
|---|---|
| עובד שני מחליף טענה קיימת | כן — הכתיבה נדחתה |
| צד לא מורשה כותב את הטענה ראשון | לא — הכתיבה הראשונה מנצחת |
אין מתווך (שער, תיאום, אחסון, מעקב) מעולם מחזיק חומר מפתח מספיק כדי להסיק סוד כלשהו. מתקפה שמפרת תיאום או אחסון מקבלת רק בולבים עוורים ומפתחות ציבוריים.— §4.3, מפתחות עצמאיים לכיווןהמשפט הראשון מדויק. השני מתאר מתקפה שקוראת. מתקפה שמכתיבה מניחה מפתח ציבורי נבחר ברשומת הטענה לפני שההתקן משאל, והסקת הסוד המוסרי נעשית לא נחוצה עבור צד שיכול לסדר להיות הצד השני. מי ששולט בתוכן הרשומה שולט מי יכול לקרוא אתpayload, מה שהופך את שכבת התיאום לרכיב מהימן לסודיות — הדבר היחיד §3 אומר שאין רכיב מלבד ההתקן והעובד שצריך לעולם להיות.גבול כנה לטענה: זה לא אומר שאף אחד באינטרנט הפתוח יכול לקרוא את הנתונים האלה היום. בפריסה אמיתית היכולת לכתוב טענות מאחורית רשת ענן ואישורים, והחשיפה מתארת שער אימות במסלול ההתקן. הבעיה המדויקת היא שסודיות כעת תלויה באותו פרימטר, בעוד הבטחת המרכז של הארכיטקטורה היא שהיא מחזיקה ללא אמון ברכיבים שבין ההתקן לעובד.