Course Content
โมดูลการเรียนรู้แบบไมโครด้าน Universal Acceptance โมดูลที่ 5: การแนะนำชื่อโดเมนสากล (Internationalized Domain Names: IDNs)

ชื่อโดเมนภาษาท้องถิ่นในแอปพลิเคชัน (Internationalized Domain Names in Applications: IDNA) ค.ศ. 2003

     IDNA2003 (Internationalizing Domain Names in Applications 2003) เป็นชุดข้อกำหนดและกฎเกณฑ์ที่พัฒนาโดยคณะทำงานด้านวิศวกรรมอินเทอร์เน็ต (Internet Engineering Task Force: IETF) เพื่อสนับสนุนการใช้งานอักขระที่ไม่ใช่ ASCII ในชื่อโดเมน โดยกำหนดวิธีการเข้ารหัสและการจัดการชื่อโดเมนภาษาท้องถิ่น (Internationalized Domain Names: IDNs) ภายในระบบ Domain Name System (DNS)

คุณลักษณะสำคัญของ IDNA2003 ประกอบด้วย:

  • การเข้ารหัสแบบ Punycode: IDNA2003 ใช้การเข้ารหัสแบบ Punycode เพื่อแทนอักขระที่ไม่ใช่ ASCII ให้อยู่ในรูปแบบที่สอดคล้องกับ ASCII โดย Punycode จะทำการแปลงสตริงแบบ Unicode ให้เป็นชุดของอักขระ ASCII ซึ่งช่วยให้ชื่อโดเมนภาษาท้องถิ่นสามารถถูกประมวลผลได้โดยระบบ DNS ที่รองรับเฉพาะอักขระแบบ ASCII ตามรูปแบบดั้งเดิม
  • การปรับรูปแบบอักขระยูนิโค้ดให้เป็นมาตรฐาน (Unicode Normalization): IDNA2003 กำหนดให้มีการปรับรูปแบบอักขระยูนิโค้ดให้เป็นมาตรฐาน เพื่อให้เกิดความสอดคล้องกันและหลีกเลี่ยงความแตกต่างของลำดับอักขระที่มีความหมายเทียบเท่ากัน โดยระบุให้ใช้รูปแบบการปรับมาตรฐาน Unicode Normalization Form C (NFC) หรือ Normalization Form KC (NFKC) ในการปรับชื่อโดเมนภาษาท้องถิ่นให้เป็นมาตรฐาน ก่อนนำไปเข้ารหัสด้วย Punycode
  • การทำ Mapping อักขระ: IDNA2003 กำหนดกฎเกณฑ์เฉพาะสำหรับการทำ mapping ของอักขระที่ไม่อนุญาตให้ใช้ในชื่อโดเมน ตัวอย่างเช่น อักขระบางประเภท เช่น ช่องว่างหรือเครื่องหมายวรรคตอน ไม่สามารถใช้ในชื่อโดเมนได้ และจำเป็นต้องถูกทำการ mapping หรือแทนที่ด้วยอักขระอื่นที่สามารถใช้งานได้ตามข้อกำหนด**
  • ข้อจำกัดความยาวของป้ายชื่อ (Label Length Limit): IDNA2003 กำหนดให้ป้ายชื่อ (label) แต่ละส่วนภายในชื่อโดเมนภาษาท้องถิ่นมีความยาวไม่เกิน 63 อักขระ โดยข้อจำกัดดังกล่าวครอบคลุมทั้งอักขระแบบ ASCII และอักขระที่ไม่ใช่ ASCII

ทั้งนี้ ควรทราบว่า IDNA2003 ได้ถูกยกเลิกการใช้งาน (deprecated) และถูกแทนที่ด้วยมาตรฐาน IDNA2008 ซึ่งมีความสามารถในการจัดการชื่อโดเมนภาษาท้องถิ่นที่ดียิ่งขึ้น และสามารถแก้ไขข้อจำกัดหลายประการของมาตรฐานเดิม โดย IDNA2008 ซึ่งเรียกอีกชื่อหนึ่งว่า IDNA2008bis ถือเป็นมาตรฐานปัจจุบันที่ใช้งานในอุตสาหกรรมสำหรับการประมวลผลชื่อโดเมนภาษาท้องถิ่น และได้รับการยอมรับและนำไปใช้งานอย่างแพร่หลาย

แม้ว่า IDNA2003 จะถือเป็นหมุดหมายสำคัญในการเปิดให้สามารถใช้อักขระที่ไม่ใช่ ASCII ในชื่อโดเมนได้ แต่ก็ยังมีข้อจำกัดที่สำคัญหลายประการ ได้แก่:

  • ชุดอักขระที่จำกัดหรือขอบเขตอักขระที่ถูกจำกัด (Limited Character Set or Restricted Character Repertoire): IDNA2003 รองรับชุดอักขระยูนิโค้ดในขอบเขตที่จำกัด โดยอ้างอิงตามมาตรฐาน Unicode เวอร์ชัน 3.2 เท่านั้น ซึ่งไม่ได้ครอบคลุมชุดอักขระยูนิโค้ดทั้งหมด ส่งผลให้อักขระจากสคริปต์และภาษาบางส่วนที่ถูกเพิ่มเข้ามาหลังจาก Unicode 3.2 ไม่ได้รับการรองรับ ข้อจำกัดดังกล่าวทำให้การแทนภาษาหรือระบบอักษรจำนวนมากไม่สามารถดำเนินการได้อย่างครบถ้วน
  • กฎเกณฑ์เฉพาะตามภาษา (Language-specific Rules): IDNA2003 ใช้กฎเกณฑ์เฉพาะตามภาษาในการจัดการอักขระบางประเภท ซึ่งแนวทางดังกล่าวอาจก่อให้เกิดความไม่สอดคล้องกันและความขัดแย้งระหว่างภาษา หรือระหว่างระบบอักษรที่แตกต่างกัน ตัวอย่างเช่น อักขระเดียวกันอาจมีการตีความหรือพฤติกรรมที่แตกต่างกันไปตามภาษา ส่งผลให้เกิดความสับสนหรือความไม่เข้ากันได้ที่อาจเกิดขึ้นได้ เพื่อให้เห็นภาพข้อจำกัดของกฎเกณฑ์เฉพาะตามภาษาใน IDNA2003 ได้ชัดเจนยิ่งขึ้น โปรดพิจารณาตัวอย่างต่อไปนี้:**
    • พิจารณาอักขระ “ß” ซึ่งเป็นอักษรในภาษาเยอรมันที่ใช้แทนเสียง “s” แบบเฉพาะ ในมาตรฐาน IDNA2003 การจัดการอักขระดังกล่าวจะขึ้นอยู่กับบริบทของภาษา หากชื่อโดเมนเป็นภาษาเยอรมัน อักขระ “ß” จะได้รับอนุญาตให้ใช้และสามารถใช้งานได้โดยตรง อย่างไรก็ตาม หากชื่อโดเมนเป็นภาษาที่ไม่รู้จักหรือไม่ใช้อักขระ “ß” เช่น ภาษาอังกฤษ อักขระดังกล่าวจะต้องถูกทำการ mapping หรือถูกแทนที่ด้วยอักขระอื่นที่เหมาะสมตามข้อกำหนด
    • กฎเกณฑ์เฉพาะตามภาษาดังกล่าวอาจก่อให้เกิดความไม่สอดคล้องกันและความขัดแย้งได้ ตัวอย่างเช่น หากบริษัทในประเทศเยอรมนีจดทะเบียนชื่อโดเมนที่มีอักขระ “ß” โดยใช้มาตรฐาน IDNA2003 ชื่อโดเมนนั้นอาจถูกต้องและสามารถแปลชื่อได้ตามปกติในประเทศที่ใช้ภาษาเยอรมัน อย่างไรก็ตาม หากผู้ใช้งานจากประเทศที่ใช้ภาษาอังกฤษพยายามเข้าถึงชื่อโดเมนเดียวกัน อาจประสบปัญหาในการใช้งาน เนื่องจากตัวแปลชื่อ DNS ของฝั่งผู้ใช้อาจไม่สามารถจัดการหรือตีความอักขระ “ß” ได้อย่างถูกต้อง ซึ่งอาจนำไปสู่ความสับสนและความไม่เข้ากันได้ระหว่างภาษาหรือระบบอักษรที่แตกต่างกัน
  • การขาดความตระหนักรู้เกี่ยวกับระบบอักษร (Lack of Script Awareness): IDNA2003 ไม่มีความสามารถในการรับรู้หรือแยกแยะระบบอักษร (script) ในตัว โดยปฏิบัติต่ออักขระที่ไม่ใช่ ASCII ทั้งหมดในลักษณะเดียวกัน โดยไม่คำนึงถึงลักษณะเฉพาะและข้อกำหนดของระบบอักษรที่แตกต่างกัน ซึ่งอาจก่อให้เกิดปัญหาในการผสมระบบอักษร (script mixing) ที่ไม่เหมาะสม เช่น การนำอักขระจากหลายระบบอักษรมารวมกันในชื่อโดเมนเดียวกันอย่างไม่ถูกต้อง
  • การปรับรูปแบบอักขระให้เป็นมาตรฐานที่มีข้อจำกัด (Limited Normalization): IDNA2003 ใช้กระบวนการปรับรูปแบบอักขระให้เป็นมาตรฐานที่เรียกว่า Nameprep ซึ่งอ้างอิงตามมาตรฐาน Unicode เวอร์ชัน 3.2 โดย Nameprep ทำหน้าที่ปรับชื่อโดเมนให้อยู่ในรูปแบบมาตรฐานเดียวกัน อย่างไรก็ตาม กระบวนการดังกล่าวยังมีข้อจำกัดในการจัดการอักขระและระบบอักษรบางประเภท ซึ่งอาจก่อให้เกิดความไม่สอดคล้องและปัญหาในการเปรียบเทียบหรือการจับคู่ชื่อโดเมน
  • ช่องโหว่ด้านความปลอดภัย (Security Vulnerabilities): IDNA2003 ได้นำมาซึ่งข้อกังวลด้านความปลอดภัยที่เกี่ยวข้องกับการโจมตีแบบโฮโมกราฟ (homograph attacks) ซึ่งเป็นการใช้ชื่อโดเมนที่มีอักขระจากระบบอักษรที่แตกต่างกันแต่มีลักษณะคล้ายคลึงกันทางสายตา ตัวอย่างเช่น ผู้ไม่หวังดีอาจจดทะเบียนชื่อโดเมนโดยใช้อักขระที่มีรูปร่างเหมือนหรือใกล้เคียงกับอักขระแบบ ASCII ทำให้เกิดความเสี่ยงต่อการโจมตีในลักษณะฟิชชิ่ง (phishing) หรือการปลอมแปลงตัวตน (spoofing) เพื่อให้เห็นภาพข้อจำกัดด้านความปลอดภัยของ IDNA2003 ได้ชัดเจนยิ่งขึ้น โปรดพิจารณาตัวอย่างต่อไปนี้:
    • พิจารณาชื่อโดเมน “amazon.com” ซึ่งเป็นเว็บไซต์ที่เป็นที่รู้จักอย่างแพร่หลายสำหรับการซื้อสินค้าออนไลน์ ภายใต้มาตรฐาน IDNA2003 ผู้ไม่หวังดีสามารถจดทะเบียนชื่อโดเมนโดยใช้อักขระจากระบบอักษรที่แตกต่างกัน แต่มีลักษณะคล้ายคลึงกับอักขระแบบ ASCII ในชื่อ “amazon.com” ได้ ตัวอย่างเช่น ผู้โจมตีอาจใช้อักขระจากระบบอักษรไทย ซีริลลิก กรีก หรือระบบอักษรอื่น ๆ ที่มีรูปร่างใกล้เคียงกับอักขระละตินที่ใช้ในชื่อโดเมนต้นฉบับ ด้วยการจดทะเบียนชื่อโดเมนที่มีลักษณะคล้ายกันทางสายตา เช่น “aмazon.com” (โดยใช้อักขระจากระบบอักษรซีริลลิก) ผู้โจมตีสามารถสร้างเว็บไซต์ที่มีลักษณะเกือบเหมือนกับ “amazon.com” แต่แท้จริงแล้วอยู่ภายใต้การควบคุมของผู้โจมตี ซึ่งอาจถูกนำไปใช้หลอกลวงผู้ใช้งานให้กรอกข้อมูลการเข้าสู่ระบบ ข้อมูลบัตรเครดิต หรือข้อมูลสำคัญอื่น ๆ อันนำไปสู่ความเสี่ยงของการโจมตีแบบฟิชชิ่งหรือการปลอมแปลงตัวตน
  • การขาดกลไกการจัดการข้อผิดพลาด (Lack of Error Handling): IDNA2003 ไม่ได้กำหนดกลไกการจัดการข้อผิดพลาดไว้อย่างชัดเจนสำหรับบางกรณี เช่น เมื่อแอปพลิเคชันพบอักขระที่ไม่รองรับหรืออักขระที่ไม่ถูกต้อง การขาดกลไกดังกล่าวอาจนำไปสู่พฤติกรรมที่ไม่สามารถคาดการณ์ได้ หรือทำให้ไม่สามารถจัดการชื่อโดเมนได้อย่างถูกต้อง

ข้อจำกัดเหล่านี้เป็นปัจจัยที่นำไปสู่การพัฒนามาตรฐาน IDNA2008 ซึ่งเป็นเวอร์ชันปรับปรุงที่มุ่งแก้ไขข้อบกพร่องหลายประการของมาตรฐานเดิม โดย IDNA2008 ได้ขยายขอบเขตการรองรับชุดอักขระ เพิ่มกระบวนการประมวลผลที่ตระหนักถึงระบบอักษร (script-aware processing) ปรับปรุงกระบวนการทำ normalization ให้มีประสิทธิภาพยิ่งขึ้น และเสริมมาตรการด้านความปลอดภัยเพื่อบรรเทาความเสี่ยงจากการโจมตีแบบโฮโมกราฟ (homograph attacks)

อย่างไรก็ตาม ควรทราบว่า IDNA2003 ยังคงถูกใช้งานอยู่ในระบบเดิม (legacy systems) บางส่วน และควรคำนึงถึงข้อจำกัดของมาตรฐานดังกล่าวเมื่อมีการจัดการชื่อโดเมนภาษาท้องถิ่น ทั้งนี้ แนะนำให้ปรับเปลี่ยนไปใช้งานมาตรฐาน IDNA2008 หรือเวอร์ชันที่เกี่ยวข้อง เพื่อให้สามารถรองรับระบบอักษรที่หลากหลายได้ดียิ่งขึ้น และเพิ่มความสามารถในการทำงานร่วมกัน รวมถึงความปลอดภัยที่สูงขึ้น