มาเพิ่มความปลอดภัย Open Network ด้วย OWE / Enhanced Open กัน
สรุปให้แบบรวบรัด
- OWE เป็นเทคนิคมาตรฐานในการเข้ารหัส Data ใน Open Network เพื่อป้องกันการถูกดึงข้อมูลจาก Sniffer เช่น Wireshark
- OWE = Enhanced Open
- OWE มี 2 โหมดคือ OWE ธรรมดา และ OWE Transition Mode ที่มีไว้รองรับ Client ที่ใช้ OWE ไม่ได้
- OWE ไม่ช่วยป้องกัน Man-in-the-Middle Attack เพราะไม่มี Authentication (PSK,.1X)
Opportunistic Wireless Encryption หรือ OWE เป็นมาตรฐานการเข้ารหัส (encryption) data บน Open Network ตาม IETF RFC 8110 โดยใช้ Diffie-Hellman Key Exchange เช่นเดียวกับ WPA3 ซึ่งช่วยเพิ่มความปลอดภัยให้กับ Open Network (SSID ที่เกาะแล้วใช้ได้เลย ไม่ต้องใส่พาสเวิร์ด)
ทาง Wi-Fi Alliance (WFA) ซึ่งเป็นองค์กรที่รับรองมาตรฐานอุปกรณ์ Wi-Fi เรียกเทคนิคการเข้ารหัส Open Network ด้วย OWE ว่า Enhanced Open ดังนั้นทั้งสองชื่อนี้จริงๆแล้วคือเทคโนโลยีเดียวกัน
ทำไมเราถึงต้องเข้ารหัส
ปัญหาของ Open Network คือ data จะไม่ถูก encrypt ดังนั้น ผู้ไม่หวังดีสามารถใช้ Sniffer เช่น Wireshark ดักจับข้อมูล ของ device นั้นได้โดยไม่จำเป็นต้องเกาะ AP เลย
ถ้าไม่เชื่อ เรามาเทสกันแบบง่ายๆ เริ่มจากการสร้าง Open Network SSID ที่ Channel 165 แล้วใช้ Wireshark ดักฟังที่ช่องนั้น
Framework ของ Open Network Association จะตามนี้
ผมใช้ Lenovo Laptop อีกเครื่อง (เราจะเรียกมันว่า Target) เกาะ SSID ตัวนี้ จาก Wireshark เราจะเห็น 4-frame authentication process ตามภาพข้างบน
หลังจาก Target เรา Associate เรียบร้อย ผมสามารถเข้าถึง L3 data เช่น Source IP, Destination IP, Protocol โดยที่ Wireshark ผมไม่ได้เกาะ SSID ตัวนี้เลย ขอให้แค่รู้ว่า Target เกาะอยู่ที่ Channel ไหน ซึ่งทำได้ง่ายโดยการใช้ Wi-Fi Scanner ทั่วไป
และถ้า Target ดันไปใช้ non-secure form อย่าง http (ตัวอย่างนี้ผมใช้ www.mixedcontentexamples.com) ผมจะเห็นทั้ง login และ password ที่ Target ใส่ใน Form
ฉะนั้นใครใช้ Open Network อยู่ต้องระวังมากๆ อาจจะมีมือดีดูดข้อมูลจากเครื่องระหว่างนั่งกินกาแฟอยู่ก็ได้
โอเค รอบนี้ลองมาใช้ OWE ดูบ้าง
เหมือน Open Network คือไม่มีการ Authen ไม่ต้องใส่ password แต่ที่แตกต่างคือจะเห็นว่ารอบนี้มี 4-way handshake frame (Message 1, 2, 3, 4) เพิ่มขึ้นมาซึ่งหน้าที่ของมันคือเอาไว้ใช้เข้ารหัส Data Frame นี่แหละครับ
และอย่างที่เราเห็น data frame ถูก encrypt หมด ผมไม่สามารถเข้าถึง IP Address หรือ traffic ของ Target ได้ (ที่เห็นชื่อ Legion5 นี่เพราะผมใช้ Alias ผูกกับ MAC Address ของเครื่องจะได้ดูง่ายว่าเครื่องไหนเป็นเครื่องไหน)
สรุปขั้นตอน OWE ตามนี้
OWE Transition Mode
แต่ก่อนที่จะวิ่งไปเปิด OWE ข่าวร้ายคือไม่ใช่ client ทุกตัวจะรองรับ OWE โดยเฉพาะพวก client เก่าๆเกิน 2-3 ปีอาจจะเกาะไม่ได้ และคำถามคือแล้วอย่างงี้ ถ้า client ที่ใช้ SSID ของเรามีทั้งเก่าและใหม่ก็หมดสิทธิ์ใช้ OWE เลยสิ
ใช้ได้ครับ แต่เราต้องใช้โหมดที่เรียกว่า OWE Transition Mode ซึ่งจะทำ backward compatibility กับ client ที่ใช้ OWE ไม่ได้ พูดง่ายๆคือโหมดนี้รองรับทั้ง Open Network ธรรมดาและ Open Network แบบ OWE
ใครใช้ Aruba OS 8.x ให้เข้าไปที่ Configuration => WLANs => SSID => Security แล้วเปลี่ยนที่ Key management: เปลี่ยนเป็น Enhanced Open แล้วติ๊กถูกที่ Enable backward compatibility
หลักการคือในโหมดนี้ นอกจาก AP จะปล่อย SSID หลักออกมาแล้ว มันจะสร้าง SSID ออกมาอีกตัวนึง เป็น Hidden SSID ซึ่ง ตัว Main จะใช้กับ Client ที่ไม่รองรับ OWE ส่วน SSID ที่ซ่อนอยู่จะใช้กับ client ที่ใช้ OWE ได้
พอ client ที่รองรับ OWE ส่ง Association Request ตัว AP จะ Redirect ให้มันไปเกาะ Hidden SSID แทน (ใน Beacon และ Probe Response จะมี IE ตัวนึงบอกว่า SSID นี้รองรับ OWE หรือไม่ หากรองรับให้ redirect ไปเกาะ SSID ชื่ออะไร) ส่วน client ที่ไม่รองรับก็เกาะ SSID ตัวหลักนั้นไป ดังนั้นเราจะมี SSID 2 ตัวต่อทุกๆ 1 radio ถ้า dual-band จะได้ SSID 4 ตัว
พอลองเอา Client อีกตัวที่ไม่รองรับ OWE มาเกาะก็จะได้ SSID หลัก โดยที่ data ไม่ได้ถูก encrypt แต่ใช้ด้วยกันได้ทั้งคู่
สรุปคือ OWE หรือ Enhanced Open เป็นเทคโลยีอีกตัวที่เพิ่มความปลอดภัยใน Open Network ได้จริง แต่อย่าลืมว่า OWE ก็ยังไม่ปลอดภัยถ้าเทียบกับ PSK หรือ 802.1X ที่ต้องทำ authentication ดังนั้นจึงไม่สามารถป้องกัน Fake SSID ทำ Man-in-the-Middle Attack ได้ ยิ่งถ้า Hacker สามารถทำ downgrade attack อย่าง SSL Strip ก็มีโอกาสที่จะเข้าถึงข้อมูลส่วนตัวเราได้เช่นกัน ฉะนั้นระวังให้ดีก่อนเปิดให้ใช้ Open Network