הטכניון מכון טכנולוגי לישראל הפקולטה למדעי המחשב הגנה במערכות מתוכנתות 236350 חורף התשע"ב Wireless LAN Security WEP and 802.1X 1
רשת מקומית אלחוטית רשת מקומית אלחוטית נקבעת על-ידי: אזור גיאוגרפי פיסי )שנמצא כולו בטווח קליטה/שידור( טווח אורכי הגל עליהם עובדת הרשת. לדוגמא, 802.11 פרוטוקול לשכבת MAC של רשתות אלחוטיות, עובד על אורכי גל קבועים מסוימים יתכן המצב בו באותו איזור פיסי, מעל אותם אורכי גל, עובדות מספר רשתות מקומיות. לכל רשת כזאת יש מחרוזת יחודית שנקראת SSID identifier).(service set כאשר משתמש מתחבר לרשת, עליו לבחור את ה- SSID של הרשת שברצונו להתחבר אליה 2
802.11 תקן לרשתות מקומיות אלחוטיות נקרא גם Wi-Fi ל- 802.11 שני אופני תפעול: Ad-hoc Infrastructure )רמת )MAC שפורסם ע"י.IEEE קשר נקודה לנקודה בין שתי תחנות ניידות התחנות הניידות מתקשרות עם תחנה מרכזית נייחת, תחנת בסיס. תחנה זו נקראת גם נקודת גישה Access ( )Point מאחר והיא מספקת גישה אל מחוץ לרשת המקומית. התחנות הניידות חייבות להימצא בטווח קליטה ושידור מתחנת הבסיס נדון רק בצורת תפעול Infrastructure 3
802.11 Infrastructure Mode 4
רשתות אלחוטיות מקומיות כמות איבוד החבילות והשגיאות גבוהה חסרות כבלים פרישת הרשתות זולה )ניתן לקנות access point פשוט בפחות מ- )$30 חשופות להתקפת "מגרש החניה" attack( )parking lot תוקף מסוגל להקשיב לרשת האירגונית גם ממגרש החניה )לא צריך כניסה פיזית לארגון( אין קשר פיסי ל"ספק הגישה" )נקודת הגישה( חשופות להתקפות ע"י rouge access point )מתחזה ל- access )point 5
רשתות אלחוטיות דרישות אבטחה אימות הגישה לרשת בדיקה האם הלקוח מורשה לקבל שרות מהרשת יש צורך באימות הדדי כדי לוודא שנקודת הגישה חוקית הגנה על תעבורה סודיות שלמות אימות הגנה מפני שידור חוזר )שמשודרת באוויר( 6
שירותי אבטחה ב- 802.11 כותבי התקן היו מודעים לעובדה, שאבטחת מידע היא הכרחית ברשתות אלחוטיות אבטחת המידע ב- 802.11 כוללת את פרוטוקול WEP Wired.Equivalent Privacy תפקידו: שמירה על סודיות ההודעות שמירה על שלמות ההודעות לממש בקרת גישה )אימות משתמש( - להשתמש ברשת תוך התחזות למשתמש חוקי לא לאפשר לתוקף WEP בפועל איננו ממלא אף אחד מתפקידיו! 7
מחליפים את...WEP 8
למה אבטחת רשתות אלחוטיות חשובה? http://www.channelregister.co.uk/2007/12/03/tjx_settlement_agreement/ TJX agrees to pay banks $41m to cover Visa losses Up to 100 million accounts stolen By Dan Goodin in San Francisco Posted in Software & Security, 3rd December 2007 22:08 GMT TJX, the US retailing giant, has agreed to reimburse banks nearly $41m in losses stemming from the theft of as many as 100 million credit- and debit-card accounts in the world's largest data breach. The tentative deal, which still must be approved by issuers representing 80 per cent of affected Visa cards, calls for TJX to pay up to $40.9m in costs for reissuing cards and covering fraud losses. TJX, parent company of Marshalls, TJ Maxx and other stores, also agreed to promote security standards that issuers have long tried to get merchants to adopt. In return, banks agree not to sue TJX or its partners and Visa will suspend a portion of the fines it levied against TJX as a result of the breach. The settlement, which was announced here, came a day after some 300 banks suing TJX lost their bid to have the lawsuit treated as a class action, a status that would have greatly lowered the cost of pursuing the case. Visa is the largest payment card network. TJX has yet to disclose a deal with MasterCard, which also sustained losses as a result of the breach. In January, TJX revealed that intruders penetrated its network defenses and over a 17-month span stole personal information relating to 45.7 million accounts. Evidence presented in the banks' lawsuit suggested the number of accounts exposed in the heist was actually 100 million. TJX has been roundly criticized for running a network that was riddled with security holes. Among other things, the company protected wireless networks with Wired Equivalent Privacy, an encryption scheme that can be broken in less than an hour using off-the-shelf hardware and software. 9
ב- IEEE אבטחה אלחוטית כיום )802.11i( נעשה מאמץ לתיקון בעיות האבטחה ב- 802.11 לשם כך הוגדר תקן חדש, ניהול מפתחות ואבטחת תעבורה חדשים הפרוטוקול הפך לסטנדרד בשנת 802.11i שמגדיר פרוטוקולי אימות משתמש, 2004 הסדנדרט TKIP מגדיר שני פרוטוקולים לאבטחת שכבת ה- MAC : 802.11i Temporal Key Integrity Protocol )מוגדר בתקן,)WPA מבוסס על.WEP מוסיף ניהול מפתחות, מחליף את ה- CRC ב- MIC )message Integrity Code( CTR with CBC-MAC Protocol מבוסס על AES CCMP )WPA2 ועוד )מוגדר בתקן 10
אבטחה אלחוטית כיום )802.11i( אחד ממרכיבי הארכיטקטורה של 802.11i הם פרוטוקולי האימות ובקרת הגישה המפורסמים בתקן 802.1X. הפרוטוקולים מחולקים לשני סוגים לרשתות גדולות ולרשתות ביתיות/קטנות בקרת הגישה מבוסס על Extensible Authentication EAP,Protocol אותו נראה בהמשך 11
בקרת כניסה ברשת אלחוטית יש להתגונן מהתקפת Rouge Access Point נדרש אימות הדדי נדרש שימוש ב- key session יש לתמוך בנדידה Roaming משתמש יכול לאמת את עצמו מול מספר גדול של נקודות גישה שלא בהכרח מכירות אותו 12
מהו?Roaming נדידה )Roaming( היא מעבר בין רשתות פיסיות שונות, תוך שמירה של זהות ותכונות המשתמש תכונות המשתמש כוללות בין היתר את ההרשאות שלו, השירותים להם הוא זכאי, ואת אינפורמצית הזהות שלו Roaming נתמך כבר תקופה ארוכה ברשתות סלולריות לדוגמה: מכשיר GSM של אורנג' או סלקום יכול להתחבר לכל רשת GSM בחוץ לארץ, תוך שימור מספר הטלפון שיחות ינותבו אל מיקומו החדש של הטלפון, והחשבון הישראלי יחויב בהתאמה 13
התחברות לרשת מקומית תרחיש 1 נקודת הגישה תומכת במשתמשים שנמצאים באותו מקום פיסי אם נקודת הגישה היא נתב, היא יכולה לספק חיבור לאינטרנט תרחיש זה אינו מספק תמיכה ב- Roaming 14
התחברות לרשת מקומית תרחיש 2 15
הסברים תרחיש 2 בציור רואים נקודות גישה בשלושה מיקומים פיסים מרוחקים זה מזה שלושתן מחוברות לאינטרנט האימות מתבצע ע"י שרת אימות יחיד )authentication server( התקשורת בין access gateways לשרת האימות מתבצעת תוך שימוש בפרוטוקול.RADIUS מטרת התקשורת: העברת אינפורמציית האימות של משתמשים ניידים, שלילה וקבלת אישור או 16
מהו?Radius Remote Access Dial In User Service :RADIUS פרוטוקול שרץ מעל UDP נועד להעביר אינפורמצית אימות מעל האינטרנט המשתתפים הם נקודת הגישה ושרת האימות מבצע אימות של שני הצדדים )במקרה זה: Access )Authentication ו- server gateway 17
פרוטוקול אימות משתמש ברשת מקומית נדרש לתמוך ב- Roaming נדרש לעמוד בפני כל ההתקפות הרגילות התחזות )ללקוח, Man in the Middle Rouge Access Points ועוד לשרת ולנקודת גישה( 18
המצב לפני 802.1x בגלל הבעייתיות של אימות משתמש ב- 802.11, לא נעשה אימות ברמת ה- MAC ברגע שמשתמש מתחבר, נקודת הגישה מקצה לו כתובת,IP אך אינה מאפשרת לו יציאה אל מחוץ לרשת לאחר קבלת כתובת,IP מבצע המשתמש אימות מעל SSL אל נקודת הגישה נקודת הגישה מוודאת את אינפורמצית האימות מול שרת אימות )AS( מרוחק )שהוא בדרך כלל ספק שירותי אינטרנט Internet service RADIUS מעל,)provider ברגע שהאימות מסתיים בהצלחה, המשתמש מקבל גישה לאינטרנט דרך ה- ISP 19
דוגמה אימות משתמש ברשת אלחוטית בבית מלון 20
דוגמה שרה משתמשת בשירותים של ספק השירות isp.net כאשר היא מתחברת לנקודת גישה כלשהי, היא מכניסה username=sarab@isp.net ואת סיסמתה אצל isp.net לפי ה- username, isp.net נקודת הגישה יודעת שעליה לפנות ל- על-מנת לאמת את הסיסמה העברת הסיסמה ושם המשתמש מהמחשב של שרה לנקודת הגישה מתבצעת מעל SSL העברת הסיסמה ושם המשתמש מנקודת הגישה ל- isp.net מתבצעת מעל RADIUS 21
בעיות מצב לפני 802.1x נקודת הגישה מקצה משאבים )ערוץ תקשורת, כתובת )IP מבלי לבצע כל בדיקה למשתמש אין דרך לוודא שנקודת הגישה משתמשת ב- SSL התחזות של נקודת הגישה חטיפת קשר נקודת הגישה חייבת לממש SSL ובקרת כניסה 22
802.11i,802.1X 23
פתרון 802.1X 802.1X הוא תקן לאימות משתמשים ברמת ה- MAC. האימות מתבצע לפני קבלת כתובת IP כ- EAPoL ע"י המשתמש. יש המכנים אותו אין בזבוז משאבים על משתמשים לא מורשים תומך ב- Roaming 802.1X )או נגזרת קרובה( 802.1X היא ארכיטקטורה לאימות משתמשים ברשת מקומית שמבוססת על פרוטוקול שנקרא EAP Extensible Authentication Protocol EAP נכתב כך שניתן להתאים כמעט כל שיטת אימות לרוץ מעליו קיים אוסף של שיטות אימות שנכתבו עבור 802.1X המרכזיות שבהן הן LEAP TLS )של סיסקו(, PEAP )של מיקרוסופט( ו-- EAP 24
EAP EAP הוא פרוטוקול נושא את שיטת האימות )Carrier(.)Method( לפרוטוקולי אימות, הוא אינו מגדיר בין היתר הוא רץ מעל PPP ומעל TCP EAP יכול לרוץ מעל שכבות שונות, כולל MAC הוגדרו מספר רב של שיטות אימות שרצות מעל :EAP EAP-MD5 EAP-SRP EAP-TLS ועוד ו- Application 25
המשתתפים ב- 802.1X וב- EAP Supplicant יחידת המשתמש, המבקש להתחבר לרשת המקומית Authenticator יחידת הגישה אליה מבקש המשתמש להתחבר )בדרך כלל נקודת הגישה(. ממנה ניתן להתחבר לאינטרנט. בשונה מהרגיל לא מדובר במערכת שמבצעת את הזיהוי של הלקוח, אלא דווקא בזו המבקשת לזהות את הלקוח Authentication Server שרת האימות, שבו יושבים נתוני האימות של המשתמשים 26
טופולוגיית 802.1X 27
ה- Authenticator האימות מודל האימות ב- 802.1X )יחידת הגישה( משמשת כממסר להודעות פרוטוקול,)EAP( מבלי שתבין את תוכנן פרוטוקול האימות עצמו מתבצע בין יחידת המשתמש שרת האימות )supplicant( בסיום הפרוטוקול מקבל ה- authenticator משרת האימות תשובה, האם האימות הצליח או לא, המשתמש לרשת אכיפה מתבצעת בשילוב ע"י ובין ובהתאם מאפשר או לא מאפשר חיבור של ה- authenticator שמחליט האם הגישה ל- portמוגנת או לא ה- AS שמחליט מהי צורת האימות ל- Supplicant אין יכולת השפעה/החלטה 28
תמיכה ב- Roaming : מודל האימות מוטיבציה אפשרות לגישה לשרת אימות מרכזי מכל הרשתות המקומיות שמחוברות ל- Internet אי-תלות שיטת האימות ביחידת הגישה ברשת המקומית: שיטת אימות על ידי שינוי השרת ויחידת המשתמש, הגישה ברשת המקומית ניתן לשנות ללא שינוי יחידת הערה שרת האימות ויחידת הקצה ניתנים לשליטה ע"י ארגון בודד )לדוגמה ה- ISP ( ה, access point- לא! 29
EAP framework Supplicant Authenticator AS EAPoL EAP/Secure IP Transport EAP-Start EAP-Request/Identity EAP-Response/Identity EAP-Request/XXX EAP-Response/xxx EAP-Request/xxx EAP-Success 30
EAP-TLS http://www.ietf.org/rfc/rfc2716.txt Supplicant Authenticator AS EAPoL EAP/Secure IP Transport EAP-Start EAP-Request/Identity EAP-Response/Identity EAP-Request/TLS EAP-Response/Client Hello EAP-Response/ClientKeyXCH, ChangeCipherSpec, FinishedClient EAP-Response/TLS EAP-Request/Server Hello EAP-Request/ ChangeCipherSpec, ServerFinished EAP-Success 31
ב- 802.1X Man in the Middle 32
ו- MitM 802.1X מכיוון שה- authenticator ב- 802.1X איננו שותף לתהליך האימות, ובפרט איננו מאומת ע"י יחידת המשתמש, 802.1X חשוף להתקפה ע"י rouge access point המתקיף מצליח להתחזות למשתמש האמיתי, ואף לקיים קשר ברמות IP ומעלה 33
הפתרון ל- MitM יש להשתמש בשיטת EAP שגוזרת מפתחות )כדוגמת SRP או :)TLS המתחזה איננו מסוגל לייצר את המפתחות המפתחות ישמשו להגנת הקשר בין יחידת הגישה ויחידת המשתמש ברמת ה- MAC מכיוון שגזירת המפתחות היא מול שרת האימות, הוא יעביר אותם ליחידת הגישה הקשר בין שרת האימות ליחידת הגישה חייב להיות מאומת, הדדי וסודי )מתקיים ע"י RADIUS ועל ידי פרוטוקולים נוספים כגון IPsec, )TLS 34
פתרון ל- MitM ב- 802.11i כאמור, ב- 802.11i אימות ובקרת גישה מתבצעים על ידי 802.1X,(Pair-wise Master Key) PMK מייצר גם מפתח סודי 802.1X שמועבר ל- authenticator WPA2 מגדיר כיצד גוזרים ה- supplicant וה- authenticator מה- CCMP מפתחות שמשמשים להגנת התעבורה באמצעות PMK 35
802.11i Supplicant Authenticator AS EAPoL EAP/Secure IP Transport EAP-Start EAP-Request/Identity EAP-Response/Identity EAP-Request/XXX EAP-Response/xxx EAP-Request/xxx EAP-Success PMK 36
חולשות WEP 37
נקודת תורפה 1: מפתח קצר גודל המפתח הרשמי ב- WEP הוא 40 סיביות מעבר לסיבה היסטורית )חוקי יצוא טכנולוגיות הצפנה(, אין שום סיבה להשתמש בטכנולוגיה שכזו המאמץ החישובי הדרוש לביצוע 2 40 ניסיונות הצפנה של RC4 )כדי למצוא את המפתח בחיפוש ממצה( הוא קטן במונחי אבטחה בערך 2 48 מחזורי שעון )שהם 65,536 שניות על מעבד,4GHz כלומר פחות מיממה( הפתרון הפשוט המתבקש הארכת אורך המפתח להשתמש במפתחות של 104 סיביות( )ואכן נהוג 38
נקודת תורפה 2: ערכי IV חוזרים על עצמם המפתח המשותף של כל המשתמשים הניידים ותחנת הבסיס הוא קבוע, זהה וידוע לכולם. כלומר, כל המשתמשים יכולים לשמוע את כל ההודעות העוברות ברשת )בדומה ל- )Ethernet במצב כזה, על מנת שה- stream key לא יחזור על עצמו, חייבים להבטיח שה- IV -ים לא יחזרו על עצמם. אחרת, תכונת הסודיות לא מתקיימת 39
ערכי IV חוזרים על עצמם אורך השדה IV ב- WEP הוא רק 24 סיביות. לכן, אחרי 2 24 הודעות )16 מיליון( מובטח שערך IV יחזור על עצמו יתרה מזו, בפועל רוב כרטיסי רשת 802.11 מאפסים את השדה IV בכל פעם שהם מופעלים מחדש, ולאחר מכן מגדילים את הערך ב- 1 בכל צעד לכן, ערכים קטנים של IV -ים חוזרים בהתחלה של כל session מסקנה: למרות ש- WEP משתמש באלגוריתם קריפטוגרפי ידוע,)RC4( השימוש הוא שגוי, ותכונת הסודיות אינה מובטחת 40
נקודת תורפה 3: התקפה על פרוטוקול אימות המשתמש מתקיף שמאזין לניסיון התחברות של תחנה ניידת חוקית אל תחנת הבסיס יכול להשיג זוג של Response( )Challenge, תזכורת: Response = Challenge RC4(K,IV) כלומר: KS = RC4(K,IV) = Challenge Response IV המתקיף מסוגל להתחזות לתחנה ניידת, ע"י שימוש באותו,IV כשהמענה ל- :Challenge 2 Response = Challenge KS = 2 2 IV Challenge Response Challenge 2 41
נקודת תורפה 4: )חוסר( סודיות ב- WEP נשים לב שאם אנחנו יודעים את ערך ה- stream key שנוצר עבור ערך IV נתון, הרי שאפשר לפענח כל הודעה המוצפנת ע י ערך ה- IV הזה לכן אפשר להכין מילון המכיל IV,K IV את בניית המילון ניתן להתחיל עם הודעות שידוע מה מוצפן בהן )לדוגמה, הודעת ה- response challenge, בהזדהות(. יש לציין כי קיים מספר רב של הודעות שידוע מה מוצפן בהן )כחלק מהודעות הסינכרון והתיאום של פרוטוקול,)WEP מה שמקל על יצירת המילון 42
)חוסר( סודיות ב- WEP את המילון ניתן לבנות בשלבים. IV )המשך( בהינתן הודעה ידועה באורך 64 סיביות, ניתן להסיק רק את 64 הסיביות הראשונות של ה- stream key נתון. כדי להאריך את אורך ה- stream key הידוע עבור IV לבצע את הצעדים הבאים: אם ניתן לפענח הודעה שלמה, להצפנת ה- CRC של ההודעה ה- CRC שלה( אם שתי הודעות הוצפנו תחת אותו,key stream XOR שלהן, ל- pad one time עבור ערך נתון ניתן ניתן למצוא את סיביות המפתח ששימשו )מכיוון שבהנתן ההודעה ניתן לחשב את ניתן לחשב את ה- ולשחזר את ההודעות באמצעות האלגוריתם שהוזכר ביחס )ולמצוא שתי אופציות למפתח( 43
נקודת תורפה 5: שלמות הודעות ב- WEP לפני הצפנת ההודעה, מחשבים CRC של ההודעה. מכן, מצפינים את ההודעה יחד עם ה- CRC CRC הוא קוד ליניארי אקראיות שארעו במהלך השידור לאחר לזיהוי שגיאות. הוא נועד לזיהוי שגיאות הסיבה שמשתמשים בקודים לינאריים, היא האופטימליות שלהם ביחס לאיתור ותיקון שגיאות תזכורת קוד ליניארי משמע: CRC(x y) = CRC(x) CRC(y) 44
שלמות הודעות ב- WEP )המשך( נשים לב כי צפני שטף אינם מספקים שלמות: היפוך של ביט ב- ciphertext גורם להיפוך הביט המתאים ב- plaintext על-מנת לספק שלמות, מחשבים CRC של ההודעה. אבל CRC הוא קוד לזיהוי שגיאות. הוא נועד לתקן שגיאות אקראיות שנפלו במהלך השידור, ולא שגיאות שנובעות מהתקפות מכוונות ואולי העובדה שגם ה- CRC עובר הצפנה מגינה עליו מהתקפות מכוונות? )רמז: לא( 45
שלמות הודעות ב- WEP )המשך( ה- CRC מחושב ישירות על ההודעה, סודיים. בלי שום מפתחות לכן כל אחד יכול לחשב CRC של כל הודעה מכיוון שה- CRC הוא קוד לינארי, מתקיים: CRC(x y) = CRC(x) CRC(y) ולכן אם נרצה להחליף את M ב- M Δ, CRC(M Δ)=CRC)M) CRC)Δ) לכן, היפוך בביט בהודעה M M CRC(M) ל- ערך ה- CRC החדש הוא: אפשרי ע י שינוי ההודעה מ- M Δ CRC)M Δ) 46
שלמות הודעות ב- WEP )המשך( נניח כי הודעה M הוצפנה תחת RC4(K,IV( )כאשר התוקף איננו יודע את K(, וברצוננו להחליף את C = (M CRC(M) ) RC4(K,IV) כך שההודעה המפוענחת תהיה M. 2 נשים לב, כי לו M 2 הוצפנה היינו מקבלים את C = (M CRC(M ) ) RC4(K,IV) 2 2 2 נשים לב כי מתקיים: C C = M M CRC(M) CRC(M ) 2 2 2 כלומר, ניתן לשנות את הודעה M להודעה M 2 ע י שינוי ההודעה המוצפנת שנשלחה C להיות: C 2 = C (M M 2 CRC(M) CRC(M 2 )) 47
שלמות הודעות ב- WEP )המשך( המסקנה היא, שניתן לשנות כל ביט בהודעה הנשלחת כרצוננו )גם אם איננו יודעים את ערך הביט בהודעה המקורית( לכן, אם יש חלק בהודעה שערכו ידוע )לדוגמא, שם משתמש(, נוכל לשנות אותו לכל ערך שנרצה 48
נקודת תורפה 6: התקפות קריפטוגרפיות במאמר משנת 2001 של עדי שמיר, איציק מנטין וסקוט פלהרר בשם RC4","Weakness in the Key Scheduling Algorithm of מתוארות חולשות של,RC4 שבשימוש :WEP קיימים מפתחות חלשים של עם תיאור תיאורטי כיצד ניתן לנצלן כדי למצוא את K,RC4 עבורם מספר מועט של סיביות במפתח משפיע משמעותית על הפלטים הראשונים של RC4 Related keys וחלק משתנה הידוע לתוקף השימוש במפתחות סודיים בעלי חלק סודי קבוע, )ה- IV (, מאפשר לתוקף לגלות את החלק הסודי על-ידי בחינת המילה הראשונה של הפלטים המתקבלים עבור IV שונים 49
התקפה קריפטוגרפית )המשך( במאמר של אדם סטאבליפילד, ג'ון יואננידיס ואביאל רובין בשם " Using "the Fluhrer, Mantin and Shamir Attack מתואר המימוש של ההתקפה )כלומר ההתקפה ממשית ואפשרית( תוך שימוש בכוח חישוב מועט יחסית ההתקפה מאפשרת לחשוף את המפתח תוך מספר מועט של שעות, ע"י האזנה פאסיבית להודעות העוברות ברשת לאורך הזמן הופיעו התקפות אקטיביות, המאפשרות לזרז את תהליך הפריצה ב- 2007, הופיע מאמר של אריק תאוס, ראלף-פיליפ ויינמן ואנדריי פישקין בשם seconds" "Breaking 104 bit WEP in less than 60 50
איך WEP עובד 51
ניהול מפתחות ב- WEP ניהול המפתחות ב- WEP הוא סטטי לכל רשת ישנו מפתח K משלה בכל תחנה נייחת מוגדר מפתח לכל רשת שמעוניינים להתחבר אליה ב- WEP כל המשתמשים הניידים המנסים להתחבר לנקודת הגישה ( access )point חייבים לדעת את K. כלומר, כל המשתמשים מקבלים ממנהל המערכת את אותו מפתח משותף K המפתח K הוא קבוע התקן אינו מגדיר מנגנון לשינוי והפצת המפתחות. לכן המפתחות מתחלפים לעיתים רחוקות, אם בכלל 52
הצפנה ב- WEP KS ההצפנה ב- WEP מתבצעת בשימוש בצופן השטף RC4 RC4 עובד באופן הבא: בהנתן מפתח )באנגלית,)key stream )קצר יחסית( K, מייצרים מפתח מורחב כלומר KS=RC4(K( ההצפנה מתבצעת ע"י C=M KS הפענוח מתבצע ע"י M=C KS 53
הצפנה ב- WEP )המשך( אם משתמשים באותו מפתח K יותר מפעם אחת, מקבלים את אותו מפתח מורחב KS קל לגלות תוכן הודעות שהוצפנו תחת אותו מפתח שימו לב שהחלפת מפתחות היא פעולה יחסית ארוכה ומורכבת, ולכן לא רצוי להחליף מפתחות בכל חבילה 54
הצפנה ב- WEP )המשך( הפתרון של :WEP שימוש במספר סדורי IV אורך ה- IV ב- WEP הוא 24 סיביות לשני הצדדים מפתח משותף K שאורכו 40 סיביות )או כיום 104 סיביות( מפתח ההצפנה )שממנו מיוצר ה- stream )key מתקבל ע"י שרשור המפתח המשותף וה- IV, כלומר 64 )או 128( סיביות סה"כ 55
הצפנה ב- WEP )המשך( בהצפנה: משתמשים ב- IV חדש. המפתח המורחב מתקבל ע"י C=M KS ההצפנה היא:.KS =RC4(IV,K) IV IV ה- IV נשלח בצורה גלויה יחד עם ההודעה המוצפנת הפענוח: מחשבים את KS=RC4(IV,K) ואת M=C KS IV פתרון כזה מועיל רק אם דואגים שה- IV לא חוזר על עצמו בזמן החיים של המפתח K שימו לב: ההצפנה ב- RC4 מוגדרת להיות XOR של המפתח המורחב עם ההודעה 56
פורמט הודעה ב- WEP נניח כי ללקוח ולמערכת מפתח סודי K כאשר אחד הצדדים מעוניין לשלוח הודעה, הוא משרשר לה ערך CRC )קוד זיהוי ותיקון שגיאות(, ומצפין את התוצאה תוך שימוש בצופן השטף RC4 כאמור, המפתח שמוכנס ל- RC4 הוא שרשור של K ושל ערך בן 24 סיביות שנבחר על ידי השולח, שנסמנו ב- IV ההודעה )עם שרשור ה- CRC ( מוצפנת ע י XOR עם הערך שחושב ע י RC4(IV,K( השולח מצרף את IV להודעה המוצפנת, ושולח את ההצפנה וערך ה- IV 57
פורמט הודעה ב- WEP Message M Plaintext Message CRC KeyStream=RC4(IV,K)=KS IV IV Ciphertext Transmitted Data 58
פרוטוקול אימות המשתמש הפרוטוקול מתבצע בכל פעם שתחנה ניידת מתחברת לתחנת הבסיס )אם תחנת הבסיס דורשת אימות( המטרה: תחנת הבסיס מוודאת את זהות המשתמש הדרך: המשתמש נדרש להוכיח שהוא יודע מפתח משותף סודי K אופן הביצוע: תחנת הבסיס שולחת אתגר בצורה גלויה. המשתמש נדרש להחזיר תגובה שהיא הצפנת RC4 של האתגר תחת K )challenge(,)response( 59
אז מה עושים? כאשר יש בעיית אבטחה בסטדנרט קיים יש שתי דרכי פעולה אפשריות: החלפת הסטנדרט הגדרת סטנדרט חדש. שיטה זו דורשת זמן רב ובנוסף יוצרת בעיית תאימות אחורה compatibility( )backward עם מערכות ישנות טיפול בסטנדרט הקיים לדוגמה, הארכת אורך המפתח ב- WEP מ- 40 סיביות ל- 104 סיביות, הימנעות משימוש במפתחות חלשים. הבעיה היא שישנם מוצרים שתומכים בסטנדרט ה מטופל, אך יש כאלה שלא. כמו-כן במקרה שלנו רוב הבעיות לא יפתרו כתוצאה מהמעבר למפתח ארוך יותר 60
סיכום מירב הנתבים האלחוטיים תומכים היום ב- 802.1X או CCMP 802.1X תומך בנדידה.)Roaming( מאפשר שימוש בפרוטוקולי אימות ו- transport secure קיימים וב- TKIP 802.11i מגדיר שני פרוטוקולים לאבטחת :MAC הראשון ניתן להרצה על נתבים שהחומרה שלהם נבנתה עבור WEP )משמע,)RC4 והשני דורש חומרה חדשה, תומכת AES 61