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

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

Windows מטפל באופן אוטומטי ביצירת מפתחות ומיישם את מאפייני המפתוח הבאים ההופכים את ההגנה למירבית:

חשוב

ניתן להשתמש ביישום ה- Snap-in 'מדיניות אבטחת IP' כדי ליצור מדיניות IPsec שהחלתה תתאפשר במחשבים שבהם פועלים Windows Vista וגירסאות מתקדמות יותר של Windows, אך יישום Snap-in זה אינו משתמש באלגוריתמים החדשים של האבטחה ובתכונות חדשות אחרות הזמינות במחשבים שבהם פועלות אותן גירסאות מתקדמות יותר של Windows. כדי ליצור מדיניות IPsec עבור מחשבים אלה, השתמש ביישום ה- Snap-in חומת האש של Windows עם רכיבי אבטחה מתקדמים. את המדיניות שיישום ה- Snap-in חומת האש של Windows עם רכיבי אבטחה מתקדמים יוצר לא ניתן להחיל על גירסאות קודמות של Windows.

יצירה דינאמית מחדש של מפתחות

IPSec משתמש בשיטה הנקראת יצירה דינאמית מחדש של מפתחות כדי לפקח על התדירות שבה נוצר מפתח חדש במהלך תקשורת. התקשורת נשלחת בבלוקים וכל בלוק נתונים מאובטח באמצעות מפתח שונה. דבר זה מונע מתוקף שהשיג חלק מהתקשורת ואת מפתחות ההפעלה המתאימים להשיג את שאר התקשורת. שירות זה של משא ומתן של אבטחה וניהול מפתחות אוטומטי, שהוא שירות לפי דרישה, ניתן באמצעות חילופי מפתחות באינטרנט (IKE), בהתאם להגדרה ב- RFC 2409.

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

אורך מפתחות

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

הפקת חומר ליצירת מפתחות: אלגוריתם Diffie-Hellman

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

האלגוריתם Diffie-Hellman ‏(DH) זהו אחד האלגוריתמים הוותיקים והבטוחים ביותר המשמשים לחילופי מפתחות. שני הצדדים מחליפים מידע אודות מפתוח, שלו Windows מספק הגנה נוספת באמצעות חתימת פונקציית Hash. אף אחד מהצדדים לעולם אינו מחליף את המפתח הממשי; עם זאת, לאחר חילופי החומר ליצירת מפתחות, כל אחד מהצדדים יכול ליצור מפתח משותף זהה.

החומר ליצירת מפתחות של DH המוחלף בין שני הצדדים עשוי להיות מבוסס על 768‏, 1024 או 2048 סיביות של חומר ליצירת מפתחות, הידוע כקבוצות DH. חוזק קבוצת DH הוא יחסי לחוזק המפתח שחושב מתוך חילוף DH. שילוב של קבוצות DH חזקות עם מפתחות ארוכים יותר מגביר את קושי החישוב הנדרש לפענוח המפתח.

הערה

בתיבת הדו-שיח אלגוריתמי אבטחה של IKE‏, 768 סיביות מתיחסות להגדרה Low (1)‎ ו- 1024 סיביות מתייחסות להגדרה Medium (2)‎.

IPsec משתמש באלגוריתם DH כדי לספק את החומר ליצירת מפתחות עבור כל שאר מפתחות ההצפנה. DH אינו מספק אימות. ביישום IPSec ב- Microsoft Windows, זהויות מאומתות לאחר שמתבצע חילוף DH ובכך מוענקת הגנה מול התקפות מסוג Man-in-the-Middle.

הגנה באמצעות מפתחות

התכונות הבאות מחזקות את המספרים הראשוניים הבסיסיים (חומר ליצירת מפתחות) ואת החוזק של המפתחות עבור המפתח הראשי ומפתחות ההפעלה.

משכי חיים של מפתחות

משכי חיים של מפתחות קובעים מתי יווצר מפתח חדש ולא את האופן שבו הוא ייווצר. משך חיים של מפתח, הידוע גם בשם יצירה דינאמית מחדש של מפתחות או יצירה מחדש של מפתחות, מאפשר לכפות חידוש של מפתח לאחר פרק זמן ספציפי. לדוגמה, אם משך קיום התקשורת הוא 10,000 שניות וציינת משך חיים של מפתח של 1,000 שניות, ייווצרו 10 מפתחות כדי להשלים את התקשורת. דבר זה מבטיח שגם אם תוקף מצליח לפענח חלק מהתקשורת, שאר התקשורת מוגנת. ניתן לציין משכי חיים הן עבור המפתח הראשי והן עבור מפתחות הפעלה. בכל פעם שתם משך חיי מפתח, נפתח משא ומתן מחדש גם על שיוך האבטחה. בנוסף, המפתח עובר רענון או נוצר מחדש. כמות הנתונים המעובדת על-ידי מפתח אחד לא תעלה על 100 מגה-בתים (MB).

הגבלת רענון של מפתח הפעלה

נעשה שימוש בהגבלת רענון של מפתח הפעלה של מצב מהיר מאחר ששימוש חוזר ונשנה ביצירה מחדש של מפתחות ממפתח הפעלה של מצב מהיר עלול לחשוף את סוד Diffie-Hellman המשותף.

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

אם הפכת סודיות העברה שלמה (PFS) של מפתח ראשי לזמינה, לא נעשה שימוש בהגבלת רענון של מפתח ההפעלה של מצב מהיר. קביעת הגבלת רענון של מפתח הפעלה לערך 1, זהה להפעלת PFS של מפתח ראשי. אם צוינו משך חיי מפתח ראשי של מצב ראשי והגבלת רענון של מפתח הפעלה של מצב מהיר, ההגבלה הראשונה שאליה הגעת גורמת ליצירה מחדש של המפתח הבא. כברירת מחדל, מדיניות IPSec אינה מציינת הגבלת רענון של מפתח הפעלה.

קבוצות Diffie-Hellman

קבוצות Diffie-Hellman משמשות לקביעת אורך המספר הראשוני הבסיסי (חומר מפתח) שישמש במהלך חילופי המפתחות של DH. כוחו של כל מפתח הנגזר מחילופי DH נקבע בחלקו מכוח קבוצת ה- DH שעליה מבוססים המספרים הראשוניים.

כל קבוצת DH מגדירה את אורך חומר הגדרת המפתחות שבו ייעשה שימוש. קבוצה 1 מגינה על 768 סיביות של חומר יצירת מפתחות; קבוצה 2 מגינה על 1024 סיביות; קבוצה 3 מגינה על 2048 סיביות. ככל שנעשה שימוש בקבוצה גדולה יותר, כך המפתח המתקבל מחילופי DH גדול יותר וקשה יותר לזיהוי בידי תוקף.

IKE מנהל משא ומתן לגבי הקבוצה שבה ייעשה שימוש, בהתאם להגדרות שקבעת בתיבת הדו-שיח אלגוריתמי אבטחה של IKE, ובכך מבטיח שלא יהיו כשלים במשא ומתן, הנובעים מקבוצת DH לא תואמת בין שני מחשבים עמיתים.

אם הופעל PFS של מפתח הפעלה, מתנהל משא ומתן אודות מפתח DH חדש במשא ומתן הראשון של שיוך אבטחה של מצב מהיר. מפתח DH חדש זה מבטל את התלות של מפתח ההפעלה בחילופי ה- DH שבוצעו עבור המפתח הראשי.

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

קבוצת ה- DH זהה עבור משא ומתן של SA הן של מצב ראשי והן של מצב מהיר. כאשר מופעל PFS של מפתח הפעלה, למרות שקבוצת ה- DH מוגדרת כחלק מהמשא ומתן של ה- SA של מצב ראשי, היא משפיעה על יצירה מחדש של מפתחות במהלך יצירת מפתח הפעלה של מצב מהיר.

סודיות העברה שלמה (PFS)

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

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

ניתן להשתמש ב- PFS של מפתח הפעלה של מצב מהיר ללא אימות מחדש וכך לחסוך במשאבים. PFS של מפתח הפעלה גורם לחילופי DH כדי ליצור חומר חדש ליצירת מפתחות. נדרשות ארבע הודעות בלבד, ללא אימות.

אין צורך להפעיל PFS בשני מחשבי העמית משום שאינו חלק ממשא ומתן של שיוך אבטחה. אם המשיב דורש PFS ופג תוקף ה- SA של המצב המהיר, הוא דוחה את הודעת השולח ודורש משא ומתן חדש. תוקפו של ה- SA של המצב הראשי יפוג בהוראה של השולח ולאחר מכן ינהל השולח משא ומתן מחדש. ניתן להגדיר PFS באופן נפרד הן עבור המפתח הראשי (מצב ראשי) והן עבור מפתח ההפעלה (מצב מהיר).

חילופי מפתחות

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

כדי ליצור חוזה שכזה בין שני מחשבים, כוח המשימה להנדסה באינטרנט (IETF) יצר את שיטת IKE לשיוכי אבטחה ולפתרון חילופי מפתחות, אשר:

  • מרכזת את ניהול שיוכי האבטחה וכך מפחיתה את משך החיבור.

  • יוצרת ומנהלת מפתחות סודיים משותפים המשמשים לאבטחת המידע.

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

הגדרת שיוכי אבטחה

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

SA של המצב הראשי

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

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

השלבים הבאים מתארים משא ומתן במצב הראשי.

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

    • אלגוריתם ההצפנה (DES או 3DES).

    • אלגוריתם Hash ‏(MD5 או SHA1).

    • שיטת האימות (פרוטוקול האימות KerberosV5, אישור או אימות מפתח משותף מראש).

    • קבוצת Diffie-Hellman‏ (DH) ליצירת חומר בסיסי ליצירת מפתחות (768 סיביות נמוך (קבוצה 1), 1024 סיביות בינוני (קבוצה 2) או 2048 סיביות גבוה (קבוצה 3)).

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

  2. חילופי DH (של ערכים ציבוריים). לעולם לא מתבצעת החלפה של מפתחות ממשיים. מוחלף רק המידע הנדרש על-ידי אלגוריתם קביעת המפתחות של DH להפקת המפתח הסודי והמשותף. לאחר החלפה זו, שירות IKE בכל מחשב יוצר את המפתח הראשי המשמש להגנה על האימות.

  3. אימות. המחשבים מנסים לאמת את חילופי מפתחות של DH. ללא אימות חילופי מפתחות של DH, התקשורת פגיעה להתקפה מסוג Man-in-the-Middle. ללא אימות מוצלח, לא תהיה אפשרות להמשיך בתקשורת. המפתח הראשי משמש, יחד עם השיטות והאלגוריתמים של המשא ומתן, לאימות זהויות. כל תוכן מנת הזהות (כולל הסוג, היציאה והפרוטוקול של הזהות) עובר תהליך Hashing ומוצפן באמצעות המפתחות הנוצרים בחילופי DH בשלב השני. מבלי להתחשב בשיטת האימות הנמצאת בשימוש, תוכן מנת הזהות מוגן מפני שינויים ומפני פענוח.

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

    הודעות הנשלחות בשלב זה כוללות מחזור ניסיון חוזר אוטומטי המתבצע חמש פעמים. אם מתקבלת תגובה לפני סיום המחזור, מתחיל משא ומתן סטנדרטי של שיוך אבטחה. אם הדבר הותר במדיניות IPSec, לאחר מרווח זמן קצר, תתחיל תקשורת לא מאובטחת. התנהגות זו ידועה בשם "נסיגה למצב נקי" (Fall Back to Clear). גם אם התקשורת נסוגה למצב נקי, מתבצע ניסיון למשא ומתן של תקשורת מאובטחת במרווחי זמן של חמש דקות.

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

SA של המצב המהיר

בשלב זה, מתבצע משא ומתן על שיוכי אבטחה מטעם מנהל ההתקן של אבטחת IP.

השלבים הבאים מתארים משא ומתן של מצב מהיר.

  1. מתנהל משא ומתן על מדיניות. מחשבי IPSec מחליפים את הדרישות הבאות עבור אבטחת העברת הנתונים:

    • פרוטוקול IPsec ‏‏(AH או ESP)

    • אלגוריתם Hash עבור תקינות ואימות ‏(MD5 או SHA1)

    • אלגוריתם עבור הצפנה, אם נדרש ‏(3DES או DES)

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

  2. חומר ליצירת מפתחות של הפעלה עובר רענון או מוחלף. IKE מרענן את החומר ליצירת מפתחות ומפתחות משותפים חדשים נוצרים עבור תקינות, אימות והצפנה (אם התנהל עליה משא ומתן) של מנה. אם נדרש מפתוח מחדש, מתבצעים חילופי DH נוספים (כמתואר במשא ומתן של מצב ראשי) או שנעשה שימוש ברענון של מפתח DH המקורי.

  3. שיוכי האבטחה והמפתחות מועברים למנהל התקן של אבטחת IP, בנוסף ל- SPI. המשא ומתן של מצב מהיר של הגדרות אבטחה ושל חומר מפתוח (למטרת אבטחת נתונים) מוגן באמצעות שיוך האבטחה של מצב ראשי. כפי שהשלב הראשון סיפק הגנת זהות, השלב השני של מצב מהיר מספק הגנה על-ידי רענון חומר המפתוח לפני שליחת הנתונים. IKE יכול להכיל תוכן מנה של חילופי מפתחות עבור חילופי DH נוספים אם נדרשת יצירה מחדש של מפתחות כלומר, מופעל PFS של מפתח ראשי. אחרת, IKE מרענן את חומר המפתוח מחילופי DH שהושלמו במצב הראשי.

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

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

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

    הערה

    מפתוח מופרז מאותו SA של מצב ראשי עלול לחשוף את המפתח הסודי והמשותף להתקפת טקסט רגיל מוכר (Known Plaintext). התקפת טקסט רגיל מוכר היא התקפת Sniffer שבה התוקף מנסה לגלות את מפתח ההצפנה מתוך הנתונים המוצפנים המבוססים על טקסט רגיל מוכר.

משכי חיים של שיוכי אבטחה

ה- SA של המצב הראשי מאוחסן במטמון כדי לאפשר משאים ומתנים מרובים של SA של מצב מהיר (אלא אם PFS של המפתח הראשי הינו זמין). כאשר מסתיים משך החיים של מפתח ראשי או מפתח הפעלה, מתבצע משא ומתן מחודש על שיוך האבטחה. בנוסף, המפתח עובר רענון או נוצר מחדש.

כאשר מסתיים פרק הזמן המוקצב המוגדר כברירת מחדל עבור ה- SA של מצב ראשי, או כאשר מסתיים משך החיים של המפתח הראשי או מפתח ההפעלה, נשלחת הודעת מחיקה למשיב. הודעת המחיקה של IKE מורה למשיב לגרום לתפוגת ה- SA של מצב ראשי. דבר זה מונע יצירת SAs נוספים של מצב מהיר מתוך ה- SA של המצב הראשי שפג תוקפו. IKE אינו גורם לתפוגת ה- SA של מצב מהיר, מכיוון שרק מנהל ההתקן של IPSec מכיל את מספר השניות או הבתים שאמורים לחלוף עד לסיום משך החיים של המפתח.

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