PlAwAnSaI
Administrator
เข้าใจที่มาของ IEEE 802.1x
ความคิดของการพัฒนา IEEE 802.1x ก็เพื่อการป้องกัน network ด้วยการที่เราสามารถระบุ (authenticate) ได้ว่าใครกำลังพยายามเข้ามาใช้ network หรือที่เรียกว่า Identity-based networking โดยรูปแบบที่ง่ายที่สุดก็คือการใช้ user ID (username + password) แต่ 802.1x ได้พัฒนาต่อยอดโดยเพิ่มความสามารถในการควบคุม access ในระดับ network และสามารถทำงานร่วมกับ authentication server ในการจำกัดความสามารถที่แต่ละคนได้รับ เช่น ถ้าเห็นว่า user เป็นวิศวกรก็ให้สามารถใช้ bandwidth ได้ 100 Mbps แต่ถ้า user เป็นนักบัญชีก็อาจให้ใช้ได้แค่ 10 Mbps
แล้วอะไรคือ IEEE 802.1x
802.1x เป็นมาตรฐานรับรองโดย IEEE สำหรับ port-based network access control หรือมาตรฐานที่ใช้ในการควบคุมการใช้งาน (access control) ทั้งการระบุผู้ที่สามารถเข้าใช้ network ได้ (authentication) และระบุสิ่ง หรือ resource ที่ผู้ใช้งานได้รับอนุญาตให้ใช้ได้ (authorization) ในระดับ port
port ในที่นี้ ถ้าเป็น wired LAN ก็จะหมายถึง physical port ของ switch ถ้าเป็น wireless LAN ก็คือการ association (ก็คือความสามารถในการติดต่อสื่อสาร) ระหว่าง client กับ access point ใน network ...ไม่ใช่ TCP/IP port นะครับ
สังเกตนิดนึงนะครับว่า 802.1x จะทำงานที่ layer 2 จึงทำให้อุปกรณ์ network จำเป็นต้องเป็น switch และเน้นการคุยกันแบบ point-to-point เพราะฉะนั้นถ้ามี PCs หลายๆ ตัวต่อกับ Hub แล้วต่อกับ switch อีกที อย่างนี้ 802.1x ไม่ work ครับ
Terminology
ก่อนจะลง details กัน เราต้องมารู้จักคำศัพท์ต่างๆ ที่ใช้ในโลกของ 802.1x ดูรูปประกอบนะครับ
[li]PAE อีกคำศัพท์ที่ควรรู้ หรือ Port Access Entity ซึ่งหมายถึงส่วนที่ฝังอยู่ในอุปกรณ์ทั้ง 3 ตัวด้านบนที่ใช้ในกระบวนการที่เกี่ยวข้องกับ 802.1x เช่น software agent ที่ลงที่ supplicant หรือ service ใน authenticator (เช่น switch) เพราะฉะนั้น PAE จะไม่ได้เฉพาะเจาะจงถึง software หรืออุปกรณ์ใด[/li]
[li]EAP สุดท้าย หรือ Extensible Authentication Protocol ซึ่งเป็นหัวใจของ 802.1x ที่เราจะพูดถึงต่อไป[/li][/list]
แล้ว 802.1x ทำงานอย่างไร
เริ่มต้นด้วยภาพการ authenticate ทั้ง flow คือตั้งแต่ supplicant (PC/User) ผ่าน Authenticator (Switch หรือ Access point) จนถึง Authentication server (เช่น RADIUS server)
802.1x จะเน้น "วิธีการส่ง ข้อมูลของการ authenticate" ระหว่าง supplicant (PC/User) กับ Authenticator (Switch/Access point) ทีนี้คงพอเดาออกใช้มั้ยครับว่า "ข้อมูลของการ authenticate" ก็คือ EAP นั่นเอง และ "การส่ง" ข้อมูล EAP นี้ 802.1x ใช้ protocol ที่เรียกว่า EAPOL หรือ EAP encapsulation over LAN
ทีนี้ระหว่าง Authenticator (Switch/Access point) กับ Authentication server (เช่น RADIUS server) ก็จะคุยกันด้วย authentication protocol เช่น Radius โดย EAP จะถูก encapsulate ใน Radius อีกที ดังรูป
ที่นี้มาดูกันใน details ว่า EAP ทำงานอย่างไรบ้าง จากรูปจะเห็นว่าเป็น 2-way challenge และ Authenticator จะเป็นคล้ายๆ ตัว relay message โดย supplicant จะถูก challenge ให้บอกข้อมูลว่าเป็นใคร (Identity) ซึ่งอาจเป็นได้ตั้งแต่ MAC address, ID, หรือ Certificate ต่างๆ แล้ว authenticator จะส่งข้อมูลนี้ผ่านไปยัง Authentication server (เส้นประสีเขียวในรูป) เพื่อตรวจสอบว่าจะอนุญาตให้ supplicant นี้ใช้งาน network ได้หรือไม่อย่างไร ถ้าถูกต้อง authenticator ก็จะเปิดให้ใช้ได้
Cr: tnet_consult
packetlife.net/blog/2008/aug/06/simple-wired-8021x-lab
Dynamic VLAN Assignment by RADIUS Server:203.209.55.184/newweb/thesis/Thesis_2554/034 ระบบพิสูจน์ตัวจริงจากเรเดียสเซิร์ฟเวอร์เพื่อใช้วีแลน.pdf
ความคิดของการพัฒนา IEEE 802.1x ก็เพื่อการป้องกัน network ด้วยการที่เราสามารถระบุ (authenticate) ได้ว่าใครกำลังพยายามเข้ามาใช้ network หรือที่เรียกว่า Identity-based networking โดยรูปแบบที่ง่ายที่สุดก็คือการใช้ user ID (username + password) แต่ 802.1x ได้พัฒนาต่อยอดโดยเพิ่มความสามารถในการควบคุม access ในระดับ network และสามารถทำงานร่วมกับ authentication server ในการจำกัดความสามารถที่แต่ละคนได้รับ เช่น ถ้าเห็นว่า user เป็นวิศวกรก็ให้สามารถใช้ bandwidth ได้ 100 Mbps แต่ถ้า user เป็นนักบัญชีก็อาจให้ใช้ได้แค่ 10 Mbps
แล้วอะไรคือ IEEE 802.1x
802.1x เป็นมาตรฐานรับรองโดย IEEE สำหรับ port-based network access control หรือมาตรฐานที่ใช้ในการควบคุมการใช้งาน (access control) ทั้งการระบุผู้ที่สามารถเข้าใช้ network ได้ (authentication) และระบุสิ่ง หรือ resource ที่ผู้ใช้งานได้รับอนุญาตให้ใช้ได้ (authorization) ในระดับ port
port ในที่นี้ ถ้าเป็น wired LAN ก็จะหมายถึง physical port ของ switch ถ้าเป็น wireless LAN ก็คือการ association (ก็คือความสามารถในการติดต่อสื่อสาร) ระหว่าง client กับ access point ใน network ...ไม่ใช่ TCP/IP port นะครับ
สังเกตนิดนึงนะครับว่า 802.1x จะทำงานที่ layer 2 จึงทำให้อุปกรณ์ network จำเป็นต้องเป็น switch และเน้นการคุยกันแบบ point-to-point เพราะฉะนั้นถ้ามี PCs หลายๆ ตัวต่อกับ Hub แล้วต่อกับ switch อีกที อย่างนี้ 802.1x ไม่ work ครับ
Terminology
ก่อนจะลง details กัน เราต้องมารู้จักคำศัพท์ต่างๆ ที่ใช้ในโลกของ 802.1x ดูรูปประกอบนะครับ
- Supplicant คือ end-device ที่จะต้องถูก authenticate โดยส่วนใหญ่ก็คือ PC หรือ laptops ที่ users ใช้
- Authenticator คือ อุปกรณ์ที่ทำหน้าที่ authenticate โดยจะคุยกับ Authentication server ว่าจะดำเนินการอย่างไรกับ supplicant ที่ต่อเข้ามา
[li]PAE อีกคำศัพท์ที่ควรรู้ หรือ Port Access Entity ซึ่งหมายถึงส่วนที่ฝังอยู่ในอุปกรณ์ทั้ง 3 ตัวด้านบนที่ใช้ในกระบวนการที่เกี่ยวข้องกับ 802.1x เช่น software agent ที่ลงที่ supplicant หรือ service ใน authenticator (เช่น switch) เพราะฉะนั้น PAE จะไม่ได้เฉพาะเจาะจงถึง software หรืออุปกรณ์ใด[/li]
[li]EAP สุดท้าย หรือ Extensible Authentication Protocol ซึ่งเป็นหัวใจของ 802.1x ที่เราจะพูดถึงต่อไป[/li][/list]
แล้ว 802.1x ทำงานอย่างไร
เริ่มต้นด้วยภาพการ authenticate ทั้ง flow คือตั้งแต่ supplicant (PC/User) ผ่าน Authenticator (Switch หรือ Access point) จนถึง Authentication server (เช่น RADIUS server)
802.1x จะเน้น "วิธีการส่ง ข้อมูลของการ authenticate" ระหว่าง supplicant (PC/User) กับ Authenticator (Switch/Access point) ทีนี้คงพอเดาออกใช้มั้ยครับว่า "ข้อมูลของการ authenticate" ก็คือ EAP นั่นเอง และ "การส่ง" ข้อมูล EAP นี้ 802.1x ใช้ protocol ที่เรียกว่า EAPOL หรือ EAP encapsulation over LAN
ทีนี้ระหว่าง Authenticator (Switch/Access point) กับ Authentication server (เช่น RADIUS server) ก็จะคุยกันด้วย authentication protocol เช่น Radius โดย EAP จะถูก encapsulate ใน Radius อีกที ดังรูป
ที่นี้มาดูกันใน details ว่า EAP ทำงานอย่างไรบ้าง จากรูปจะเห็นว่าเป็น 2-way challenge และ Authenticator จะเป็นคล้ายๆ ตัว relay message โดย supplicant จะถูก challenge ให้บอกข้อมูลว่าเป็นใคร (Identity) ซึ่งอาจเป็นได้ตั้งแต่ MAC address, ID, หรือ Certificate ต่างๆ แล้ว authenticator จะส่งข้อมูลนี้ผ่านไปยัง Authentication server (เส้นประสีเขียวในรูป) เพื่อตรวจสอบว่าจะอนุญาตให้ supplicant นี้ใช้งาน network ได้หรือไม่อย่างไร ถ้าถูกต้อง authenticator ก็จะเปิดให้ใช้ได้
Cr: tnet_consult
packetlife.net/blog/2008/aug/06/simple-wired-8021x-lab
Dynamic VLAN Assignment by RADIUS Server:203.209.55.184/newweb/thesis/Thesis_2554/034 ระบบพิสูจน์ตัวจริงจากเรเดียสเซิร์ฟเวอร์เพื่อใช้วีแลน.pdf