เรเดียส

**[เกณฑ์วิธี]การเชื่อมต่อเพื่อพิสูจน์ตัวจริงระยะไกลในบริการของผู้ใช้** หรือ **เรเดียส** () เป็นโพรโทคอลเครือข่ายที่ให้การตรวจสอบ, อนุมัติ และการจัดการการบัญชี (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

### ตรวจสอบและอนุมัติ
ผู้ใช้หรืออุปกรณ์ส่งคำขอไปยังเซิร์ฟเวอร์การเข้าถึงระยะไกล () หรือ RAS เพื่อเข้าถึงทรัพยากรเครือข่ายเฉพาะอย่างโดยการใช้สิทธิการเข้าถึง ข้อมูลประจำตัวจะถูกส่งผ่านไปยังอุปกรณ์ RAS ผ่านโพรโทคอลชั้นการเชื่อมโยง ตัวอย่างเช่น Point-to-Point Protocol (PPP) ในกรณีของ หลาย dialup หรือผู้ให้บริการ DSL หรือการโพสต์ในแบบฟอร์มเว็บ HTTPS ที่ปลอดภัย
thumb|ขั้นตอนการตรวจสอบและการอนุมัติของ RADIUS
ในทางกลับกัน 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)

## บัญชี

thumb|ขั้นตอนการบัญชีของ RADIUS
การบัญชีถูกอธิบายไว้ใน 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

thumb|การโรมมิ่งโดยใช้ RADIUS เซิร์ฟเวอร์ พร็อกซี่ AAA
RADIUS มักจะถูกใช้เพื่ออำนวยความสะดวกการโรมมิ่งระหว่างผู้ให้บริการอินเทอร์เน็ตด้วยกัน ตัวอย่างเช่น:
*โดยบริษัทที่จัดหาชุดของสิทธิเดียวทั่วโลก ที่สามารถใช้งานได้บนเครือข่ายสาธารณะจำนวนมาก
*โดยสถาบันอิสระ แต่ทำงานร่วมกันในการออกสิทธิของตัวเองให้กับผู้ใช้ของตัวเองที่ช่วยให้ผู้เข้าเยี่ยมจากเครือข่ายหนึ่งไปยังอีกเครือข่ายหนึ่งจะถูก authen โดยสถาบันในบ้าน เช่นใน eduroam

RADIUS อำนวยความสะดวกในเรื่องนี้โดยการใช้งานของอาณาจักร ซึ่งระบุสถานที่ที่เซิร์ฟเวอร์ RADIUS ควรจะ forward การร้องขอ AAA ไปเพื่อการประมวลผล

## อาณาจักร
อาณาจักรโดยทั่วไปจะถูกผนวกเข้ากันกับ user name ของผู้ใช้และคั่นด้วยเครื่องหมาย '@', คล้ายกับชื่อโดเมนของที่อยู่อีเมล์ แบบนี้เป็นที่รู้จักในฐานะคำเติมท้ายสำหรับอาณาจักร การใช้งานทั่วไปอีกประการหนึ่งคือการเติมหน้า ซึ่งเกี่ยวข้องกับการเติมหน้าอาณาจักรเข้ากับชื่อผู้ใช้และการใช้ '\ ' เป็นตัวคั่น RADIUS เซิร์ฟเวอร์ที่ทันสมัย​​ยอมให้ใช้ตัวอักษรใด ๆ ก็ได้ที่จะเอามาใช้เป็นตัวคั่นอาณาจักร แม้ว่าในทางปฏิบัติมักจะใช้ '@' และ ' \' 

แม้ว่าอาณาจักรมักจะมีลักษณะคล้ายกับโดเมน เป็นสิ่งสำคัญที่จะทราบว่าอาณาจักรจริง ๆ แล้วเป็นข้อความอะไรสักอย่างและไม่จำเป็นต้องประกอบด้วยชื่อโดเมนจริง รูปแบบอาณาจักรเป็น มาตรฐานใน RFC 4282 ซึ่งได้กำหนดตัวบ่งชี้การเข้าถึงเครือข่าย () หรือ 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+

หมวดหมู่:อินเทอร์เน็ตโพรโทคอล
หมวดหมู่:มาตรฐานอินเทอร์เน็ต
หมวดหมู่:โพรโทคอลชั้นโปรแกรมประยุกต์