סודיות קדימה עבור VPN: מה מפתח גנוב יכול לפתוח
סודיות קדימה מגבילה מה מפתח זהות שנגנב מאוחר יותר חושף על הפעלות מוקלטות. היא אינה מגנה על טקסט גלוי חי במכשיר שנפרץ.
הקליטו היום מנהרה מוצפנת, גנבו בשנה הבאה את המפתח הפרטי ארוך הטווח של השרת, ונסו לפענח את ההקלטה. סודיות קדימה היא התכונה שאומרת שהמפתח הגנוב לא יספיק לבדו. זהו קביע לגבי הפעלות מוקלטות וסודות מסוימים, ולא הבטחה כללית שהמנהרה הייתה בטוחה. דווקא הגדרה נכונה של ההיקף היא שהופכת את המונח לשימושי.
השאלה היא על הקלטה, לא על ההפעלה החיה
המפתח ארוך הטווח מזהה את נקודת הקצה וחותם על לחיצת היד. מפתחות הפעלה מצפינים את התעבורה בפועל, ובתכנון של סודיות קדימה הם נגזרים מחומר טרי של החלפת מפתחות ששני הצדדים יוצרים ואחר כך זורקים. תוקף שמחזיק רק את המפתח ארוך הטווח אינו יכול לשחזר את הערכים שנזרקו. תוקף שמחזיק מצב הפעלה חי עדיין יכול, ולכן ההבטחה נוגעת לעבר ולא להווה.
הטענה מותנית: היא מתקיימת רק אם הסודות הזמניים אכן הושמדו והפרוטוקול הוא זה שאתם חושבים. פריסה מעורבת יכולה לקיים אותה במנהרה אחת ולהיכשל באחרת.
סוד אחד לא צריך לבנות מחדש את האחרים
בדקו את המצב שעליו סוכם ולא את דף השיווק. פלט לחיצת היד מציין את החלפת המפתחות ואת גרסת הפרוטוקול.
openssl s_client -connect vpn.example.com:443 -tls1_3 -brief
swanctl --list-sasסיכום s_client מציג את גרסת TLS ואת קבוצת החלפת המפתחות, וקבוצה זמנית היא הסימן הנראה לעין של הסכם מפתחות עם סודיות קדימה. רשימת swanctl מציגה אסוציאציות IKE ו-CHILD יחד עם טיימרים לחידוש מפתחות, כך שאפשר לראות אם הפריסה מחדשת מפתחות לפי לוח זמנים. החלפת מפתחות RSA סטטית, או מצב תאימות ישן, מאבדת את התכונה בלי קשר לשם הצופן. רשמו את המצב שצפיתם בו, לא את זה שהספק פרסם.
חידוש מפתחות אינו סודיות קדימה אוטומטית
באיזו תדירות מנהרה מחדשת מפתחות היא שאלה נפרדת מאיך כל מפתח נגזר. תכנון שמחדש מפתחות מסוד ארוך טווח יכול לחדש כל דקה ועדיין להיכשל במבחן, כי חשיפה מאוחרת משחזרת את כולם. לעומת זאת, פרוטוקול עם חידוש נדיר יכול להישאר עם סודיות קדימה כשכל החלפה בלתי תלויה. קראו את הגזירה, לא את המרווח, ואל תבלבלו טיימר התחברות מחדש קצר עם הבטחה קריפטוגרפית.
אותו בלבול מופיע עם שמות צפנים: צופן מודרני לא אומר דבר על איך המפתח שלו הגיע.
מה נשאר גלוי אחרי ההבטחה
סודיות קדימה מגנה על הטקסט הגלוי של הפעלות מוקלטות מפני חשיפת מפתחות בעתיד, והיא לא עושה דבר נגד תוקף שקורא תעבורה חיה בנקודת קצה שנפרצה. היא לא מסירה מההקלטה כתובות יעד, תזמון או נפח, והיא לא מגבילה כמה זמן מפעיל שומר יומני חיבורים. היא גם לא הופכת לקוח שנפרץ לאמין, כי התוקף כבר יושב במקום שבו התוכן קיים בגלוי.
כשספק טוען לסודיות קדימה, שאלו איזה סוד ארוך טווח נחשב לגנוב ואילו סודות הפעלה נשארים בלתי זמינים. אם לשתי השאלות האלה יש תשובות חדות, הטענה אומרת משהו.