PMKID Caching vs. OKC vs. 802.11r

โพสนี้จะอธิบายเรื่องการทำ Fast Roaming หรือวิธีการร่นเวลาในการ roam ระหว่าง AP ในกรณีที่ใช้ 802.1X Authentication

ใครที่ใช้ 802.1X คงรู้ดีว่ามันช้ากว่า PSK มากเพราะการสื่อสารระหว่าง client กับ AP ต้องมีการสร้าง secure communication channel เช่นต้องเลือก EAP Method (EAP-TLS, TTLS, PEAP) เลือก Cipher นอกจากนั้น AP หรือ Controller ก็ต้องคุยกับ RADIUS server ตัวอย่างเช่น AD ซึ่งอาจจะไม่อยู่ใน local network หรืออยู่บน Cloud ซึ่งในกรณีที่ RADIUS server อยู่ไกลหรือ busy อาจจะใช้เวลาเกือบวินาทีในการเชื่อมต่อ

ปัญหาอีกอย่างคือทุกครั้งที่ client roam ระหว่าง AP หรือกลับมาเกาะ AP ตัวเดิมมันต้อง authen ใหม่ซึ่งเสียเวลามาก โดยเฉพาะหาก client ใช้พวก time-sensitive applications อย่าง MS Teams ภาพเสียงอาจจะกระตุกหาก roam ช้า

โชคดีที่เรามีตัวช่วยในการแก้ปัญหาอยู่ 3 วิธีคือ

  1. PMKID Caching
  2. OKC
  3. 802.11r

ก่อนอื่นเราต้องรู้ก่อนว่า PMK คืออะไร

PMK หรือ Pairwise Master Key เป็น 256-bit key ที่ได้มาจาก PSK Passphrase (ในกรณีที่ใช้ WPA2-Personal ซึ่ง PMK จะไม่เปลี่ยน) หรือทุกครั้งที่ทำ EAP authentication ผ่าน WPA2/WPA3-Enterprise ที่แตกต่างคือ PMK จะเปลี่ยนทุกครั้งที่ authenticate สำเร็จ.AP/Client จะใช้ PMK สร้าง PTK (Pairwise Transient Key) ผ่านกระบวนการที่เรียกว่า 4-Way Handshake และจะใช้ PTK encrypt data frame (หลังจาก data frame ถูก encrypted แล้ว เราจะมองไม่เห็น L3 data เช่น IP, DNS)

ส่วน PMKID เป็น Hash ของ PMK + MAC AP + MAC Client ส่งเป็น cleartext และใช้เพื่อตรวจสอบค่าของ PMK แต่ละฝั่ง (client / AP) ว่าเหมือนกันไหม

PMKID Caching คือ AP จะเก็บค่า PMKID ฉะนั้น เวลาที่ client roam มาเกาะ AP ตัวเดิม Client จะส่ง PMKID ให้ AP ผ่าน Association Request frame ถ้าเช็คแล้ว PMKID ตรงกัน ก็ไม่ต้องทำ 802.1X authentication ใหม่ แค่ทำ 4-way handshake เพื่อสร้าง PTK เท่านั้น แต่ถ้า AP หรือ client ไม่รองรับ PMKID Caching ก็ต้อง Authen ใหม่ทุกครั้งที่ roam

อีกข้อจำกัดนึงคือ AP จะไม่แชร์ PMKID ให้ AP ตัวอื่น ฉะนั้นวิธีนี้จะใช้ได้แค่กับ client ที่ “Roam Back” กลับมาบน AP ที่เคย Authen แล้วเท่านั้นซึ่งวิธีนี้จะมีอีกชื่อหนึ่งว่า “Fast Secure Roam Back”

วิธีที่สองคือ OKC หรือ Opportunistic Key Caching หรืออีกชื่อนึงคือ PKC หรือ Proactive Key Caching วิธีนี้ต่อยอดจาก PMKID Caching คือหลังจากที่มีการทำ EAP Authen กับ client แล้ว AP จะส่ง PMKID ให้ AP ตัวอื่น ๆ ผ่าน controller ฉะนั้น เวลาที่ client roam ระหว่าง AP จะ bypass EAP authen ได้โดยใช้ key เดิม (Key Reuse)

ข้อดีคือ OKC ไม่ซับซ้อนและมีประสิทธิภาพถ้า client รองรับ แต่ข้อเสียคือ OKC ไม่ใช่ 802.11 standard ซึ่งจะมีปัญหาเรื่อง compatibility ไม่ใช่อุปกรณ์ทุกตัวจะรองรับ OKC เท่าที่รู้คือ Apple device ทั้ง iOS และ MacOS ไม่รองรับ OKC อนึ่ง Apple Device จะส่ง PMKID เวลามันจะ reassociate กับ BSSID ตัวเดิมซึ่งหมายความว่ามันรองรับ PMKID Caching แต่พอเช็คแล้วเป็น BSSID ใหม่ (AP ตัวใหม่ ถึงจะใช้ SSID เดียวกันแต่จะมี BSSID ที่แตกต่างกัน) Apple Device จะไม่ส่ง PMKID ดังนั้น OKC จะไม่เกิดและต้องทำ EAP Authen ใหม่ ฉะนั้น OKC ไม่มีประโยชน์บน WPA2-Enterprise network ที่ใช้ Apple เป็นหลัก

อีกหนึ่งข้อเสียของ OKC คือเรื่อง security เนื่องจากใช้ key เดียวกันทั้ง domain ซึ่งในทางทฤษฎีสุ่มเสี่ยงจากการโจมตีทั้งระบบถ้า key โดน compromised

ส่วนวิธีสุดท้ายเป็นท่ามาตรฐานของ IEEE ภายใต้ชื่อ 802.11r หรือ Fast BSS Transition (FT) วิธีนี้จะคล้าย ๆ กับ OKC แต่แทนที่ AP ทุกตัวจะ cache static key ทั้ง domain บน 802.11r AP แต่ละตัวจะใช้ dynamic key ที่แตกต่างกัน เวลาที่ client จะเกาะ AP ตัวใหม่มันสามารถคำนวณ key ที่ใช้บน AP ตัวนั้น ๆ

หลักการทำงานแบบคร่าว ๆ คือ 802.11r จะแบ่ง PMK เป็น layer คือใช้ PMK สร้าง PMK-R0 (เก็บบน Controller/Client) แล้วเอา PMK-R0 ไปสร้าง PMK-R1 (เก็บบน AP) ซึ่งทั้งสองฝั่งสามารถคำนวณ key ได้จากค่าเฉพาะของ Client และ AP ที่แลกเปลี่ยนกันผ่าน Authentication frame ซึ่งในนั้นจะมีข้อมูลครบถ้วน สามารถนำไปสร้าง PTK ได้โดยไม่ต้องทำ 4-Way Handshake ร่นเวลาทำ authen จากรับส่งหลายสิบ frame เหลือแค่ 4 frame (ไม่รวม ACK)

Client ส่วนใหญ่จะรองรับมาตรฐาน 802.11r รวมถึง Apple Devices และแน่นอนว่ามันจะต้องมี client บางตัวที่งอแงซึ่งส่วนมากจะเป็น client เก่า ๆ แต่ vendor หลัก ๆ จะมี feature adaptive FT หรือ mixed mode FT สำหรับ client ที่ไม่รองรับ FT จะ “fall back” กลับมาใช้ non-FT ได้

ฉะนั้นส่วนตัวแล้วผมจะแนะนำให้ลคเปิด 802.11r บน SSID ที่ authen ผ่าน 802.1X ทุกกรณี

Subscribe to Wi-Fi Resource Center by SIAM Wireless

เพื่อไม่ให้พลาดข่าวสารและบทความใหม่ๆ มาติดตามกันนะครับ
[email protected]
Subscribe