เรเดียส
[เกณฑ์วิธี]การเชื่อมต่อเพื่อพิสูจน์ตัวจริงระยะไกลในบริการของผู้ใช้ หรือ เรเดียส (อังกฤษ: Remote Authentication Dial In User Service: RADIUS) เป็นโพรโทคอลเครือข่ายที่ให้การตรวจสอบ, อนุมัติ และการจัดการการบัญชี (AAA)จากส่วนกลาง สำหรับคอมพิวเตอร์ที่เชื่อมต่อและใช้บริการเครือข่าย. RADIUS ได้รับการพัฒนาโดย Livingston Enterprises, Inc ในปี 1991 ในฐานะที่เป็นโพรโทคอลการตรวจสอบและการบัญชีของเซิร์ฟเวอร์การเข้าถึง และภายหลังถูกนำมาเป็นมาตรฐานของ Internet EngineeringTask Force ( IETF ).
เพราะการสนับสนุนในวงกว้างและธรรมชาติที่แพร่หลายของโพรโทคอล RADIUS มันมักจะถูกใช้โดยผู้ให้บริการอินเทอร์เน็ตและผู้ประกอบการในการจัดการการเข้าถึงเครือข่ายอินเทอร์เน็ตหรือภายในเครือข่ายไร้สาย และบริการอีเมลแบบบูรณาการ เครือข่ายเหล่านี้อาจประกอบด้วยโมเด็ม, DSL, access points, VPNs, พอร์ตเครือข่าย, เว็บเซิร์ฟเวอร์ ฯลฯ
RADIUS เป็นโพรโทคอลแบบไคลเอ็นต์/เซิร์ฟเวอร์ที่วิ่งในชั้นแอปพลิเคชัน ใช้ UDP เป็นตัว ขนส่ง. Remote Access Server, Virtual Private Network server, the Network switch ที่มีการตรวจสอบพอร์ต และ Network Access Server (NAS) ทั้งหมดนี้เป็นเกตเวย์ที่ควบคุมการเข้าถึงเครือข่ายและทุกตัวมีส่วนลูกข่ายของ RADIUS ที่ติดต่อสื่อสารกับ RADIUS เซิร์ฟเวอร์. RADIUS เซิร์ฟเวอร์มักจะเป็นกระบวนการหลังบ้านที่ทำงานบน UNIX หรือ Microsoft Windows Server.
AAA
[แก้]RADIUS เซิร์ฟเวอร์ ใช้แนวคิด AAA ในการจัดการการเข้าถึงเครือข่าย ในกระบวนการสองขั้นตอนดังต่อไปนี้, หรือที่เรียกว่า" การทำธุรกรรม AAA "AAA ย่อมาจาก " authentication, authorization and accounting" ลักษณะการตรวจสอบและอนุมัติใน RADIUS อธิบายไว้ใน RFC 2865 ในขณะที่การบัญชี อธิบายโดย RFC 2866
ตรวจสอบและอนุมัติ
[แก้]ผู้ใช้หรืออุปกรณ์ส่งคำขอไปยังเซิร์ฟเวอร์การเข้าถึงระยะไกล (อังกฤษ: Remote Access Server) หรือ RAS เพื่อเข้าถึงทรัพยากรเครือข่ายเฉพาะอย่างโดยการใช้สิทธิการเข้าถึง. ข้อมูลประจำตัวจะถูกส่งผ่านไปยังอุปกรณ์ RAS ผ่านโพรโทคอลชั้นการเชื่อมโยง - ตัวอย่างเช่น Point-to-Point Protocol (PPP) ในกรณีของ หลาย dialup หรือผู้ให้บริการ DSL หรือการโพสต์ในแบบฟอร์มเว็บ HTTPS ที่ปลอดภัย
ในทางกลับกัน RAS ส่ง RADIUS Access Request message ไปยังเซิร์ฟเวอร์ RADIUS เพื่อขออนุญาตใช้สิทธิ์การเข้าถึงผ่านทางโพรโทคอล RADIUS.
คำขอนี้รวมถึงสิทธิการเข้าถึงที่มักจะอยู่ในรูปแบบของชื่อผู้ใช้และรหัสผ่านหรือใบรับรองความปลอดภัยของผู้ใช้ นอกจากนี้คำร้องขออาจมีข้อมูลอื่นๆที่ RAS รู้เกี่ยวกับผู้ใช้เช่นที่อยู่ เครือข่าย หรือหมายเลขโทรศัพท์ของตนและข้อมูลเกี่ยวกับจุดทางกายภาพของผู้ใช้ที่แนบกับ RAS
RADIUS เซิร์ฟเวอร์จะตรวจสอบว่าข้อมูลนั้นถูกต้องโดยใช้แผนการตรวจสอบ เช่น PAP, CHAP หรือ EAP. หลักฐานตัวบ่งชี้ประจำตัวของผู้ใช้ที่มีการยืนยัน พร้อมกับข้อมูลอื่นๆที่เกี่ยวข้องกับการ ร้องขอเช่นที่อยู่เครือข่ายของผู้ใช้หรือหมายเลขโทรศัพท์, สถานะบัญชี และ สิทธิ์การเข้าใช้ บริการที่เฉพาะเจาะจงของเครือข่าย ในอดีต, RADIUS เซิร์ฟเวอร์จะตรวจสอบข้อมูลของผู้ใช้เทียบกับฐานข้อมูลที่เก็บไว้ภายในไฟล์ RADIUS เซิร์ฟเวอร์ที่ทันสมัยสามารถทำเช่นนี้ หรือสามารถอ้างอิงไปยังแหล่งภายนอกโดยทั่วไปได้แก่ SQL, Kerberos, LDAP, หรือเซิร์ฟเวอร์ ไดเรกทอรีที่ใช้งานในการตรวจสอบสิทธิของผู้ใช้
จากนั้น RADIUS เซิร์ฟเวอร์จะตอบกลับไปยัง RAS หนึ่งในสามแบบนี้: 1) ปฏิเสธการเข้าถึง , 2) ท้าทายการเข้าถึง หรือ 3) ยอมรับการเข้าถึง
- Access Reject - ผู้ใช้ถูกปฏิเสธโดยไม่มีเงื่อนไขในการเข้าถึงทุกทรัพยากรเครือข่ายที่ร้องขอ เหตุผลอาจรวมถึงความล้มเหลวที่จะให้หลักฐานของตัวบ่งชี้ประจำตัวหรือบัญชีผู้ใช้ที่ไม่รู้จักหรือใช้งานไม่ได้
- Access Chalenge - ขอข้อมูลเพิ่มเติมจากผู้ใช้เช่นรหัสผ่านตัวที่สอง, PIN, โทเค็น หรือบัตร. การท้าทายการเข้าใช้งานยังใช้การโต้ตอบที่ซับซ้อนมากขึ้น ในที่ซึ่งอุโมงค์ที่มีความปลอดภัย ถูกสร้างขึ้นระหว่างเครื่องของผู้ใช้และเซิร์ฟเวอร์เรเดียสในทางที่สิทธฺในการเข้าจะถูกซ่อนจาก RAS
- Access Accept - ผู้ใช้ได้รับอนุญาตให้เข้าใช้ เมื่อผู้ใช้ถูกรับรองความถูกต้อง RADIUS เซิร์ฟเวอร์มักจะตรวจสอบว่าผู้ใช้จะได้รับอนุญาตให้ใช้บริการเครือข่ายที่มีการร้องขอ ยกตัวอย่างเช่น ผู้ใช้อาจจะได้รับอนุญาตให้ใช้เครือข่ายไร้สายของบริษัทแต่ไม่ได้ให้ใช้บริการ VPN ของบริษัทด้วย อีกครั้ง ข้อมูลนี้อาจจะถูกเก็บไว้บนเซิร์ฟเวอร์ RADIUS หรืออาจจะถูก look up ในแหล่งข้อมูลภายนอกเช่น LDAP หรือไดเรกทอรีอื่น
ในแต่ละ response ของ RADIUS สามอย่างนี้ อาจรวมถึง Reply-Message attribute ซึ่งอาจ ให้เหตุผลประกอบการ Reject, หรือ prompt เพื่อ Challenge หรือข้อความต้อนรับ เมื่อ Accept ข้อความใน attribute สามารถถูกส่งผ่านไปยังหน้าเว็บของผู้ใช้
Authorization attributes จะถูกลำเลียงไปยัง RAS เพื่อกำหนดเงื่อนไขของการเข้าถึงที่ได้รับอนุมัติ ตัวอย่างเช่น
- ที่อยู่ IP เฉพาะจะถูกมอบหมายให้กับผู้ใช้
- ที่อยู่ IP pool ที่ผู้ใช้ควรเลือกใช้
- ระยะเวลาสูงสุดที่ผู้ใช้อาจจะยังคงเชื่อมต่อ
- รายการเข้าถึง, คิวลำดับความสำคัญ หรือ ข้อจำกัดอื่นๆในการเข้าถึงของผู้ใช้
- พารามิเตอร์ L2TP
- พารามิเตอร์ VLAN
- พารามิเตอร์ quality of service (QoS )
บัญชี
[แก้]การบัญชีถูกอธิบายไว้ใน RFC 2866
เมื่อการเข้าถึงเครือข่ายอนุญาตให้กับผู้ใช้โดย NAS 'การบัญชีเริ่ม'(แพ็คเก็ตการบัญชี RADIUS ที่มี Acct-Status-Type attribute ที่มีค่าเป็น "เริ่มต้น") จะถูกส่งโดย NAS ไปยังเซิร์ฟเวอร์ RADIUS เพื่อส่งสัญญาณเริ่มต้นของการเข้าถึงเครือข่ายของผู้ใช้. "เริ่มต้น"บันทึก โดยปกติจะประกอบด้วยการระบุของผู้ใช้, ที่อยู่เครือข่าย, จุดของสิ่งที่แนบ และตัวระบุเซสชั่นที่เป็นหนึ่งเดียว
การปรับปรุงบันทึกระหว่างกาลถูกกระทำตามระยะเวลา (แพ็คเก็ตการบัญชีของ RADIUS ที่ประกอบด้วย Acct-Status-Type attributeที่มีค่า "ปรับปรุง - ระหว่างกาล" ) อาจถูกส่งโดย NAS ไปยังเซิร์ฟเวอร์ RADIUS เพื่อปรับปรุงสถานะของเซสชันที่แอคทีฟ บันทึก"ระหว่างกาล " มักจะถ่ายทอดระยะเวลาเซสชั่นในปัจจุบันและสารสนเทศเกี่ยวกับการใช้ข้อมูลปัจจุบัน
ในที่สุด เมื่อมีการเข้าถึงเครือข่ายของผู้ใช้จะปิด, NAS จะออกบันทึกบัญชีสุดท้าย Stop (แพ็กเกตการร้องขอการบัญชีของ RADIUS ที่ประกอบด้วย Acct-Status-Type attribute ที่มีค่า " หยุด" ) ไปยังเซิร์ฟเวอร์ RADIUS, ให้ข้อมูลเกี่ยวกับ การใช้งานขั้นสุดท้ายในแง่ของเวลา, แพ็คเกตที่ถ่ายโอน, ข้อมูลที่ถ่ายโอน, เหตุผลในการตัดการเชื่อมต่อ และข้อมูลอื่นๆที่เกี่ยวข้องกับการเข้าถึงเครือข่ายของผู้ใช้
โดยปกติ ลูกข่ายส่งแพ็กเกต Accounting-Request จนกว่าจะได้รับการรับรู้โดยการใช้บางช่วงเวลาของ retry
วัตถุประสงค์หลักของข้อมูลนี้คือผู้ใช้จะถูกเรียกเก็บเงินตามทีใช้; ข้อมูลยังถูกใช้กันอย่างแพร่หลายเพื่อวัตถุประสงค์ทางสถิติและสำหรับการตรวจสอบเครือข่ายทั่วไป
Roaming
[แก้]RADIUS มักจะถูกใช้เพื่ออำนวยความสะดวกการโรมมิ่งระหว่างผู้ให้บริการอินเทอร์เน็ตด้วยกัน ตัวอย่างเช่น:
- โดยบริษัทที่จัดหาชุดของสิทธิเดียวทั่วโลก ที่สามารถใช้งานได้บนเครือข่ายสาธารณะจำนวนมาก
- โดยสถาบันอิสระ แต่ทำงานร่วมกันในการออกสิทธิของตัวเองให้กับผู้ใช้ของตัวเอง ที่ช่วยให้ ผู้เข้าเยี่ยมจากเครือข่ายหนึ่งไปยังอีกเครือข่ายหนึ่งจะถูก authen โดยสถาบันในบ้าน เช่นใน eduroam
RADIUS อำนวยความสะดวกในเรื่องนี้โดยการใช้งานของอาณาจักร ซึ่งระบุสถานที่ที่เซิร์ฟเวอร์ RADIUS ควรจะ forward การร้องขอ AAA ไปเพื่อการประมวลผล
อาณาจักร
[แก้]อาณาจักรโดยทั่วไปจะถูกผนวกเข้ากันกับ user name ของผู้ใช้และคั่นด้วยเครื่องหมาย '@', คล้ายกับชื่อโดเมนของที่อยู่อีเมล์ แบบนี้เป็นที่รู้จักในฐานะคำเติมท้ายสำหรับอาณาจักร การใช้งานทั่วไปอีกประการหนึ่งคือการเติมหน้า ซึ่งเกี่ยวข้องกับการเติมหน้าอาณาจักรเข้ากับชื่อผู้ใช้และการใช้ '\ ' เป็นตัวคั่น. RADIUS เซิร์ฟเวอร์ที่ทันสมัยยอมให้ใช้ตัวอักษรใดๆก็ได้ที่จะเอามาใช้เป็นตัวคั่นอาณาจักร แม้ว่าในทางปฏิบัติมักจะใช้ '@' และ ' \'
แม้ว่าอาณาจักรมักจะมีลักษณะคล้ายกับโดเมน, เป็นสิ่งสำคัญที่จะทราบว่าอาณาจักรจริงๆแล้วเป็นข้อความอะไรสักอย่างและไม่จำเป็นต้องประกอบด้วยชื่อโดเมนจริง รูปแบบอาณาจักรเป็น มาตรฐานใน RFC 4282 ซึ่งได้กำหนดตัวบ่งชี้การเข้าถึงเครือข่าย (อังกฤษ: Network Access Identifier) หรือ NAI ในรูปแบบของ 'ผู้ใช้@อาณาจักร'. ในสเปคนั้น ส่วนของ'อาณาจักร'จะต้องเป็นชื่อโดเมน แต่วิธีนี้ไม่ค่อยปฏิบัติตามเสมอ
การดำเนินงานพร็อกซี่
[แก้]เมื่อ RADIUS เซิร์ฟเวอร์ได้รับการร้องขอ AAA สำหรับ user name ที่มีอาณาจักร, เซิร์ฟเวอร์จะอ้างอิงกับตารางของอาณาจักรที่ถูก config ไว้แล้ว. ถ้าอาณาจักรที่เป็นที่รู้จัก, เซิร์ฟเวอร์ก็จะพร็อกซี่การร้องขอไปยังเซิร์ฟเวอร์บ้านที่ถูก config สำหรับโดเมนนั้น เซิร์ฟเวอร์ที่ทำหน้าที่ proxy จะถอดอาณาจักรออกจากการร้องขอ("การลอกออก") ซึ่งเป็นงานที่ขึ้นอยู่กับการ config สำหรับเซิร์ฟเวอร์ส่วนใหญ่ นอกจากนี้เซิร์ฟเวอร์ที่ทำหน้ที่ proxy สามารถถูก config ให้ เพิ่มเข้า หรือลบออก หรือ เขียนคำขอ AAA ใหม่ เมื่อคำขอพวกนั้นถูก proxy ซ้ำ
การรักษาความปลอดภัย
[แก้]การโรมมิ่งด้วย RADIUS จะทำให้ผู้ใช้เสี่ยงกับความปลอดภัยที่หลากหลายและความเป็นส่วนตัว. บางคู่ค้าการโรมมิ่งสร้างอุโมงค์แห่งความปลอดภัยระหว่าง RADIUS เซิร์ฟเวอร์ด้วยกันมากกว่าปกติ เพื่อให้แน่ใจว่าสิทธิของผู้ใช้จะไม่ถูกดักจับในขณะที่กำลัง proxy ผ่านทางอินเทอร์เน็ต นี่คือความกังวลเมื่อ MD5 ที่ถูกสร้างขึ้นใน RADIUS ถูกพิจารณาว่า ไม่ปลอดภัย.
ดูเพิ่ม
[แก้]- 802.1X
- Diameter (protocol)
- Kerberos (protocol)
- Security Assertion Markup Language
- TACACS
- TACACS+