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

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

חוזק המפתח ותוחלת חיי המפתח עונים על שאלות שונות

הצופן וגודל המפתח קובעים כמה יקר יהיה התקפה על תעבורה שנלכדה. מרווח החלפת המפתח קובע כמה תעבורה מגן עליה מפתח אחד וכמה זמן מפתח שנחשף נשאר שימושי. אלו כפתורים בלתי תלויים, וצופן חזק יותר אינו מאריך את חיי החיבור הבטוחים. רוב ההנחיות שאומרות 'השתמשו ב-AES-256' שותקות לגבי החידוש, משום שחידוש הוא שאלה של מדיניות ולא בחירה של אלגוריתם.

רשמו את שניהם בהערות הפריסה: מה מגן על ערוץ הנתונים, ומה מפעיל החלפה של המפתחות שלו.

להחלפת המפתח שלושה טריגרים, וכל צד יכול להפעיל אותם

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

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

החלפת מפתח חושפת את תהליך האימות

משא ומתן מחדש הוא לחיצת יד TLS חדשה, כלומר נתיב האימות רץ שוב. פריסות שמשתמשות בקודים חד-פעמיים, באסימוני חומרה או באתגר RADIUS מגלות זאת בדרך הקשה: החיבור הראשון עובד והחיבור מת כעבור שעה כשהלחיצה השנייה מבקשת קוד שכבר נוצל. auth-gen-token קיים כדי לגשר על הפער הזה בכך שהשרת מנפיק אסימון קצר מועד למשא ומתן מחדש במקום לדרוש התחברות אינטראקטיבית חדשה.

התייחסו לזה כאל בעיית תהליך עבודה שצריך לפתור עם המפעיל, ולא כהוכחה שיש לכבות את החידוש.

בדקו את החידוש תחת עומס, לא בחיבור של דקה

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

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

תעדו את שתי הבחירות

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

אם תאימות מחייבת חריג, הגבילו אותו לגרסה ולתאריך סיום. חריג שמאריך ימים מעבר לסיבתו הופך למדיניות שאיש אינו זוכר שבחר בה.

מאמרים קשורים