สำนักวิทยบริการและเทคโนโลยีสารสนเทศ (สวส.)

Office of Academic Resources and Information Technology

 

มาตรฐาน IEEE 802.1x และ RADIUS

มาตรฐาน IEEE 802.1x และ RADIUS 

มาตรฐาน IEEE 802.1x เป็นมาตรฐานใหม่สำหรับ MAC Layer ที่ช่วยเสริมให้การตรวจสอบผู้ใช้ (Authentication) ในเครือข่าย LAN และ WLAN มีความปลอดภัยสูงขึ้น ในกรณีนี้เมื่อผู้ใช้ต้องการเข้าใช้เครือข่าย WLAN จะต้องมีการแสดงหลักฐานสำหรับประกอบการตรวจสอบ (credential) ต่ออุปกรณ์แม่ข่าย หลังจากนั้นอุปกรณ์แม่ข่ายจะส่งผ่านหลักฐานดังกล่าวต่อไปยัง RADIUS เซิร์ฟเวอร์ ซึ่งเป็นระบบสำหรับตรวจสอบผู้ใช้โดยเฉพาะที่ใช้กันอยู่ทั่วไป โดยการแลกเปลี่ยนข้อมูลกันระหว่าง RADIUS เซิร์ฟเวอร์และอุปกรณ์ WLAN จะเป็นไปตามโพรโตคอลที่เรียกว่า EAP (Extensible Authentication Protocol) ซึ่งมีความยืดหยุ่นสูงทำให้ผู้พัฒนาระบบสามารถนำไปใช้สร้างกลไกการตรวจสอบอย่างที่ต้องการได้ ในปัจจุบันมีการใช้โพรโตคอลดังกล่าวใน 4 รูปแบบหลักๆคือ EAP-MD5, LEAP, EAP-TLS, และ EAP-TTLS 
 


EAP-MD5 ในกรณีนี้หลักฐานที่ส่งผ่านไปยัง RADIUS เซิร์ฟเวอร์ คือ username และ password ซึ่งจะถูกเข้ารหัสด้วยเทคนิคที่เรียกว่า MD5 การใช้กลไก EAP-MD5 ช่วยแก้ไขปัญหาเรื่องการตรวจสอบผู้ใช้ในเครือข่าย WLAN ให้มีความปลอดภัยมากขึ้น แต่ไม่ได้ช่วยแก้ไขปัญหาเรื่องความไม่ปลอดภัยของการใช้รหัสลับเครือข่าย (WEP Key) ซึ่งมีความคงที่ (static) ดังนั้นผู้โจมตียังคงสามารถดักฟังและเจาะรหัสลับของเครือข่ายซึ่งมีความคงที่ได้ถึงแม้จะมีการใช้ EAP-MD5 เมื่อผู้โจมตีทราบรหัสลับของเครือข่ายแล้วก็จะสามารถเข้าใจข้อมูลที่รับส่งอยู่ในเครือข่ายและอาจทราบ username และ password โดยอาศัยเทคนิคต่างๆสำหรับการเจาะรหัส MD5 ได้ในที่สุดนอกจากนี้ข้อบกพร่องในกลไก EAP-MD5 อีกอย่างหนึ่งคือผู้ใช้ไม่สามารถตรวจสอบอุปกรณ์แม่ข่าย ซึ่งทำให้ผู้โจมตีอาจจะสามารถหลอกลวงให้ผู้ใช้ต่อเชื่อมเข้ากับอุปกรณ์แม่ข่ายของผู้โจมตีได้ 


LEAP หรือ EAP-Cisco Wireless โพรโตคอล LEAP (Lightweight Extensible Authentication Protocol) ได้รับการพัฒนาขึ้นโดยบริษัท Cisco ซึ่งในโพรโตคอลนี้นอกจากจะมีกลไกในการส่งผ่านข้อมูลเกี่ยวกับ username และ password ของผู้ใช้ไปยัง RADIUS เซิร์ฟเวอร์ เพื่อทำการตรวจสอบแล้ว ยังมีการจัดการและบริหารรหัสลับของเครือข่าย (WEP Key) ให้มีการเปลี่ยนแปลงค่า นั่นคือเมื่อผู้ใช้ผ่านการตรวจสอบเรียบร้อยแล้วจะได้รับ WEP Key เพื่อใช้ในการเข้ารหัสข้อมูลสำหรับผู้ใช้นั้นๆ ซึ่งหมายความว่า WEP Key ของแต่ละผู้ใช้สามารถมีความแตกต่างกันออกไปได้ และเมื่อใช้งานร่วมกับ RADIUS ซึ่งสามารถกำหนดอายุของแต่ละ sessionได้ จะทำให้ WEP Key ของแต่ละผู้ใช้เปลี่ยนค่าไปทุกๆช่วงเวลาสั้นๆด้วย ในกรณีเทคนิคการเจาะรหัสลับเครือข่าย (WEP Key) ที่มีอยู่ในปัจจุบันจะไม่สามารถนำมาใช้ประโยชน์ได้ นอกจากนี้ LEAP ยังกำหนดให้มีการตรวจสอบทั้งเครื่องแม่ข่ายและผู้ใช้ (Mutual Authentication) เพื่อป้องกันไม่ให้ผู้โจมตีสามารถหลอกลวงผู้ใช้ให้เชื่อมต่อกับเครื่องแม่ข่ายของผู้โจมตีได้ จะเห็นได้ว่า LEAP สามารถเพิ่มความปลอดภัยให้กับเครือข่าย WLAN ได้มาก แต่อย่างไรก็ตามข้อเสียอย่างหนึ่งก็คือในปัจจุบัน LEAP ยังถูกจำกัดอยู่แต่ในผลิตภัณฑ์ของ Cisco เท่านั้น 
 



EAP-TLS โพรโตคอล EAP-TLS (Transport Layer Security) ได้รับการพัฒนาขึ้นโดยบริษัท Microsoft ซึ่งมีการอ้างอิงไว้ใน RFC 2716 <http://www.ietf.org/rfc/rfc2716.txt> ในโพรโตคอลนี้จะไม่มีการใช้ username และ password ในการตรวจสอบผู้ใช้ แต่จะใช้ X.509 certificates <http://verisign.netscape.com/security/pki/understanding.html> แทน การทำงานของโพรโตคอลนี้จะอาศัยการส่งผ่าน PKI ผ่าน SSL (Secure Sockets Layers) มายัง EAP เพื่อใช้กำหนด WEP Key สำหรับผู้ใช้แต่ละคน EAP-TLS กำหนดให้มีการตรวจสอบทั้งเครื่องแม่ข่ายและผู้ใช้ (Mutual Authentication) ด้วยเช่นเดียวกับ LEAP แต่อย่างไรก็ตามปัญหาหลักของ EAP-TLS ความยุ่งยากและค่าใช้จ่ายในการติดตั้งจัดการและบริหารระบบ PKI Certificate 


EAP-TTLS โพรโตคอล EAP-TTLS ถูกเริ่มพัฒนาโดยบริษัท Funk Software ซึ่งการทำงานของ EAP-TTLS คล้ายกับ EAP-TLS 
คือจะมีการตรวจสอบเครื่องแม่ข่ายโดยใช้ Certificate แต่ผู้ใช้จะถูกตรวจสอบโดยการใช้ username และ password ซึ่งความปลอดภัยของ EAP-TTLS จะน้อยกว่า EAP-TLS และที่สำคัญ EAP-TTLS อาจไม่ได้รับความนิยมมากนักในเวลาต่อไปเนื่องจาก Microsoft และ Cisco ได้ร่วมมือกันพัฒนาโพรโตคอลขึ้นมาใหม่ชื่อว่า PEAP (Protected EAP) ซึ่งมีการทำงานเช่นเดียวกับ EAP-TLS 


ในการที่จะติดตั้งระบบเครือข่าย WLAN ที่มีความปลอดภัยสูงโดยใช้ IEEE 802.1x จะต้องมีองค์ประกอบ 3 อย่างคือ อุปกรณ์แม่ข่ายที่สามารถส่งผ่านข้อมูลไปยัง RADIUS ด้วย IEEE 802.1x ได้ (IEEE 802.1x Enabled AP), เซิร์ฟเวอร์ RADIUS ที่สามารถทำงานร่วมกับ EAP ที่ต้องการได้, ซอฟต์แวร์สำหรับ Client ซึ่งสามารถทำงานร่วมกับ RADIUS และ IEEE 801.1x ได้ 

IEEE 802.1x Enabled AP 
ส่วนใหญ่แล้วอุปกรณ์แม่ข่าย IEEE 802.11 WLAN ที่ผลิตมาสำหรับขายในตลาดสำนักงานจะมีความสามารถในการส่งผ่านข้อมูลไปยัง RADIUS ด้วย IEEE 802.1x ได้อยู่แล้วหรือไม่ก็สามารถที่จะได้รับการปรับเปลี่ยน firmware เพื่อให้ใช้กับ IEEE 802.1x ได้ ส่วนอุปกรณ์ IEEE 802.11 WLAN ที่ผลิตมาสำหรับข่ายในตลาดผู้ใช้ทั่วไปซึ่งจะมีราคาต่ำกว่าจะไม่สามารถนำไปใช้งานร่วมกับ IEEE 802.1x ได้ แต่อย่างไรก็ตามผู้ติดตั้งระบบอาจสามารถดัดแปลงอุปกรณ์เหล่านั้นเพื่อให้ทำงานร่วมกับ IEEE 802.1x ได้โดยเทคนิคที่นำเสนอไว้ใน "Hacking an Orinoco RG-1100 to accept 802.1x" 

เซิร์ฟเวอร์ RADIUS ที่สามารถทำงานร่วมกับ EAP ที่ต้องการได้ ตัวอย่างเช่น 
Microsoft Internet Athentication Service (IAS) ซึ่งเป็นองค์ประกอบ (component) หนึ่งของระบบ Windows 2000 ซอฟต์แวร์นี้สามารถทำงานร่วมกับ EAP-TLS และ EAP-MD5 ได้ ซอฟต์แวร์นี้สามารถได้รับการติดตั้งโดยอาศัยฟังก์ชัน Add/Remove Program ใน Control Panel ของระบบ Windows 2000 
Access Control Software ของ Cisco ซึ่งสามารถทำงานร่วมกับ LEAP และ EAP-TLS บนระบบปฏิบัติการ Windows หรือ UNIX/Linux ได้ 
ซอฟต์แวร์ Steel Belted RADIUS หรือ Odyssey โดยบริษัท Funk Software ซึ่งสามารถใช้งานกับ EAP-MD5, EAP-TLS, LEAP, และ EAP-TTLS ได้ 
ซอฟต์แวร์ AEGIS โดยบริษัท Meetinghouse Data ซึ่งสามารถใช้งานกับ EAP-TLS และ EAP-TTLS บนระบบปฏิบัติการ Linux ได้ 
ซอฟต์แวร์ FreeRadius ซึ่งเป็นโปรแกรมโอเพ่นซอร์สสำหรับระบบ Linux ซอฟต์แวร์นี้สามารถทำงานร่วมกับ EAP-MD5 และ EAP-TLS 


ซอฟต์แวร์สำหรับ Client ซึ่งสามารถทำงานร่วมกับ RADIUS และ IEEE 801.1x เช่น 
ซอฟต์แวร์ ACU สำหรับอุปกรณ์ IEEE 802.11 WLAN ของ Cisco ซึ่งสามารถใช้งานกับ LEAP ได้บนระบบปฏิบัติการ Windows, Apple, และ Linux 
Windows XP มีซอฟต์แวร์ที่มากับระบบเพื่อทำให้อุปกรณ์ IEEE 802.11 WLAN สามารถใช้งานกับ EAP-TLS และ EAP-MD5 ได้ แต่ต้องมีการใช้ Certificate ที่ออกโดย Microsoft อย่างถูกต้อง 
ซอฟต์แวร์ Odyssey Client โดย Funk Software ซึ่งทำให้อุปกรณ์ IEEE 802.11 WLAN Client ทุกยี่ห้อที่ support โพรโตคอล IEEE 802.1x สามารถใช้งานกับ EAP-MD5, EAP-TLS, EAP-TTLS, และ LEAP ได้บนระบบปฏิบัติการ Windows และ Linux 
ซอฟต์แวร์ AEGIS Client ซึ่งสามารถใช้งานกับ EAP-MD5, EAP-TLS, และ EAP-TTLS บนระบบปฏิบัติการ Windows และ Linux 
ซอฟต์แวร์สำหรับ WLAN Client แบบโอเพ่นซอร์สบนระบบ Linux ซึ่งกำลังถูกพัฒนาอยู่ในขณะนี้ เช่น Xsupplicant และ open1X เป็นต้น