IEEE 802.1X

IEEE 802.1x הוא תקן (סטנדרט) של ה-IEEE (איגוד מהנדסים בינ"ל) עבור בקרת גישה לרשת מבוססת פורטים. התקן הוא חלק ממשפחה של פרוטוקולי רשת, IEEE 802.1, המתקננים תקשורת בעיקר בשכבות נמוכות כמו שכבת הקו. הוא מספק מנגנון אימות זהות למכשירים המבקשים להתחבר לרשת מקומית - קווית (LAN)  ואלחוטית (WLAN) - כלומר טרם קבלת יכולת להעביר אינפורמציה של ממש ברשת (למשל כשלמכשיר עדיין אין כתובת IP). ה- IEEE 802.1X מגדיר שלושה צדדים - מבקש האימות, המאמת ושרת האימות - ודרכי התקשרות ביניהם למען דחיית או קבלת מבקש האימות. עד אשר אומתה זהות המבקש, נמנעת ממנו גישה לרשת (מלבד לצורכי אימות). האימות מתבצע באמצעות פרוטוקול כללי, EAP)Extensible Authentication Protocol), כאשר התקן מגדיר כיצד EAP נעטף (encapsulated) בשכבת הקו ("EAP מעל LAN" או EAPOL) בין המבקש למאמת. הוא קובע כי עטיפתו בין המאמת לשרת האימות תעשה באמצעות פרוטוקלי AAA קיימים - RADIUS או Diameter.

רקע

רשת מקומית, ברמת העקרון, נגישה לכל המתחבר אליה באופן פיזי. מובן שיש מקרים בהם מנהלי הרשת ירצו להגביל את הגישה למשתמשים מסוימים. הדרך הבטוחה ביותר לעשות זאת היא על ידי "רשימה לבנה" הקובעת למי מותרת הגישה וכיצד עליו להזדהות. כך, רק מי שזהותו מאומתת יורשה להתחבר לרשת. רצוי לעשות זאת בשלב המוקדם ביותר של ההתחברות על-מנת לצמצם את אפשרויות התקיפה של המשתמש. לשם-כך פותח IEEE 802.1x. הוא תקן אחיד המספק למכשירים מסוגים שונים המחוברים לרשת מקומית שירותי אימות, הרשאה והחלפת מפתחות הצפנה כך שיוכלו לתקשר בבטחה.
התקן הוגדר לראשונה ב-2001. הוא עודכן (בענייני תחזוקה בעיקר) ב-2004. הוא הורחב (בעיקר תמיכה ב-MACsec) ב-2010 וזו מהווה גרסתו העדכנית (נכון ל-2013).

הגורמים המעורבים

הפרוטוקול מגדיר שלושה צדדים בתהליך האימות: המבקש ("supplicant"), המאמת ("authenticator") ושרת אימות. המבקש הוא מכשיר (כגון מחשב נייד או טלפון חכם) המתחבר לרשת המקומית. ליתר דיוק, מדובר בתוכנת לקוח הרצה על המכשיר המתחבר, ממשת את הפרוטוקול ויודעת לספק אמצעי זיהוי ("credentials") של המבקש עבור המאמת. אמצעי הזיהוי יכול להיות שם-משתמש וססמה או סרטיפיקט דיגיטלי. שרת האימות הוא שרת (host) ובו מאגר זהויות כולל פרטיהם והשראותיהם בפורמט אחסנה וגישה מסוים - כמו active directory או שרתי LDAP אחרים. המאמת הוא מכשיר רשת - כגון מתג Ethernet (ב-LAN) או נתב אלחוטי (ב-WLAN) - ה"מתרגם" את המידע (חבילות EAP) ממבנה אותו מכיר המבקש למבנה אותו מכיר השרת, ולהפך. כלומר הוא יודע לתקשר הן עם המאמת (באמצעות EAPOL) והן עם שרת האימות (באמצעות RADIUS למשל) ולהתאים בין פורמט המידע המועברים בשני ערוצי תקשורת אלה (למשל להעביר את פרטי זהות המבקש לשרת האימות). בסופו של דבר, רכיב זה הוא המעניק או מונע גישה מהמבקש. כל עוד זהות המבקש לא אומתה, הוא חסום מלהעביר כל תקשורת ברשת שאיננה קשורה לתהליך האימות עצמו. הוא משמש איפוא כמעין שוער כניסה לרשת (באנלוגיה לעולם האמיתי, הוא חוסם את המבקר באתר, מקבל את פרטי הזהות שלו (למשל ת.ז.), בודק אותם אל מול מאגר מידע (למשל ת.ז. של מורשי הכניסה לאתר) וכך מחליט האם להכניס את המבקר). חשוב לציין ש-EAP מאפשר גם למבקש לאמת את זהות הרשת, בשיטה של "אימות הדדי" (בדוגמה ניתן לומר שהמבקר מוודא אצל השוער שהוא נכנס לאתר הנכון). 
התקן מגדיר שני סוגים לוגיים של יציאות (פורטים): מבוקר ולא מבוקר. דרך "יציאה לא מבוקרת" עוברת תקשורת ה-EAPOL המשמשת לאימות ותו לאו. "יציאה מבוקרת" מופעלת על ידי ה-802.1X PAE (ישות גישה ליציאה, Port Access Entity) כך שכל עוד המבקש לא אומת, היציאה חסומה בפניו (הן לתנועה נכנסת והן ליוצאת). רק עם אימותו, המאמת יעביר אותה ל"מצב רשאי" המאפשר למבקש שליחת או קבלת נתונים ביציאה. כך מתקיימת הפרדה מוחלטת בין שני ערוצי מידע המונעת מעבר נתונים לא רצויים (שאינם קשורים לאימות) טרם האימות. ההפרדה לוגית זו מתבצעת בהכרח במאמת, אך היא נתנת למימוש גם בצד המבקש; כך הוא יכול למנוע מפרוטוקלים בשכבה גבוהה יותר להעביר נתונים כל עוד האימות לא הסתיים בהצלחה, דבר שימושי ביותר למניעת דליפת מידע מהמבקש לרשת לא-מאושרת כאשר האימות הנו הדדי.

פורמט EAPOL

EAPOL עובר בשכבת הרשת מעל שכבת הקו. כאשר האחרונה עובדת בפרוטוקול Ethernet הוא מוקצה לטיפוסו (EtherType) הערך 0x888E.

התאמה לתקנים אחרים

802.1AE MACSec