12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259 |
- Network Working Group C. Rigney
- Request for Comments: 2865 S. Willens
- Obsoletes: 2138 Livingston
- Category: Standards Track A. Rubens
- Merit
- W. Simpson
- Daydreamer
- June 2000
- Remote Authentication Dial In User Service (RADIUS)
- Status of this Memo
- This document specifies an Internet standards track protocol for the
- Internet community, and requests discussion and suggestions for
- improvements. Please refer to the current edition of the "Internet
- Official Protocol Standards" (STD 1) for the standardization state
- and status of this protocol. Distribution of this memo is unlimited.
- Copyright Notice
- Copyright (C) The Internet Society (2000). All Rights Reserved.
- IESG Note:
- This protocol is widely implemented and used. Experience has shown
- that it can suffer degraded performance and lost data when used in
- large scale systems, in part because it does not include provisions
- for congestion control. Readers of this document may find it
- beneficial to track the progress of the IETF's AAA working group,
- which may develop a successor protocol that better addresses the
- scaling and congestion control issues.
- Abstract
- This document describes a protocol for carrying authentication,
- authorization, and configuration information between a Network Access
- Server which desires to authenticate its links and a shared
- Authentication Server.
- Implementation Note
- This memo documents the RADIUS protocol. The early deployment of
- RADIUS was done using UDP port number 1645, which conflicts with the
- "datametrics" service. The officially assigned port number for
- RADIUS is 1812.
- Rigney, et al. Standards Track [Page 1]
- RFC 2865 RADIUS June 2000
- Table of Contents
- 1. Introduction .......................................... 3
- 1.1 Specification of Requirements ................... 4
- 1.2 Terminology ..................................... 5
- 2. Operation ............................................. 5
- 2.1 Challenge/Response .............................. 7
- 2.2 Interoperation with PAP and CHAP ................ 8
- 2.3 Proxy ........................................... 8
- 2.4 Why UDP? ........................................ 11
- 2.5 Retransmission Hints ............................ 12
- 2.6 Keep-Alives Considered Harmful .................. 13
- 3. Packet Format ......................................... 13
- 4. Packet Types .......................................... 17
- 4.1 Access-Request .................................. 17
- 4.2 Access-Accept ................................... 18
- 4.3 Access-Reject ................................... 20
- 4.4 Access-Challenge ................................ 21
- 5. Attributes ............................................ 22
- 5.1 User-Name ....................................... 26
- 5.2 User-Password ................................... 27
- 5.3 CHAP-Password ................................... 28
- 5.4 NAS-IP-Address .................................. 29
- 5.5 NAS-Port ........................................ 30
- 5.6 Service-Type .................................... 31
- 5.7 Framed-Protocol ................................. 33
- 5.8 Framed-IP-Address ............................... 34
- 5.9 Framed-IP-Netmask ............................... 34
- 5.10 Framed-Routing .................................. 35
- 5.11 Filter-Id ....................................... 36
- 5.12 Framed-MTU ...................................... 37
- 5.13 Framed-Compression .............................. 37
- 5.14 Login-IP-Host ................................... 38
- 5.15 Login-Service ................................... 39
- 5.16 Login-TCP-Port .................................. 40
- 5.17 (unassigned) .................................... 41
- 5.18 Reply-Message ................................... 41
- 5.19 Callback-Number ................................. 42
- 5.20 Callback-Id ..................................... 42
- 5.21 (unassigned) .................................... 43
- 5.22 Framed-Route .................................... 43
- 5.23 Framed-IPX-Network .............................. 44
- 5.24 State ........................................... 45
- 5.25 Class ........................................... 46
- 5.26 Vendor-Specific ................................. 47
- 5.27 Session-Timeout ................................. 48
- 5.28 Idle-Timeout .................................... 49
- 5.29 Termination-Action .............................. 49
- Rigney, et al. Standards Track [Page 2]
- RFC 2865 RADIUS June 2000
- 5.30 Called-Station-Id ............................... 50
- 5.31 Calling-Station-Id .............................. 51
- 5.32 NAS-Identifier .................................. 52
- 5.33 Proxy-State ..................................... 53
- 5.34 Login-LAT-Service ............................... 54
- 5.35 Login-LAT-Node .................................. 55
- 5.36 Login-LAT-Group ................................. 56
- 5.37 Framed-AppleTalk-Link ........................... 57
- 5.38 Framed-AppleTalk-Network ........................ 58
- 5.39 Framed-AppleTalk-Zone ........................... 58
- 5.40 CHAP-Challenge .................................. 59
- 5.41 NAS-Port-Type ................................... 60
- 5.42 Port-Limit ...................................... 61
- 5.43 Login-LAT-Port .................................. 62
- 5.44 Table of Attributes ............................. 63
- 6. IANA Considerations ................................... 64
- 6.1 Definition of Terms ............................. 64
- 6.2 Recommended Registration Policies ............... 65
- 7. Examples .............................................. 66
- 7.1 User Telnet to Specified Host ................... 66
- 7.2 Framed User Authenticating with CHAP ............ 67
- 7.3 User with Challenge-Response card ............... 68
- 8. Security Considerations ............................... 71
- 9. Change Log ............................................ 71
- 10. References ............................................ 73
- 11. Acknowledgements ...................................... 74
- 12. Chair's Address ....................................... 74
- 13. Authors' Addresses .................................... 75
- 14. Full Copyright Statement .............................. 76
- 1. Introduction
- This document obsoletes RFC 2138 [1]. A summary of the changes
- between this document and RFC 2138 is available in the "Change Log"
- appendix.
- Managing dispersed serial line and modem pools for large numbers of
- users can create the need for significant administrative support.
- Since modem pools are by definition a link to the outside world, they
- require careful attention to security, authorization and accounting.
- This can be best achieved by managing a single "database" of users,
- which allows for authentication (verifying user name and password) as
- well as configuration information detailing the type of service to
- deliver to the user (for example, SLIP, PPP, telnet, rlogin).
- Rigney, et al. Standards Track [Page 3]
- RFC 2865 RADIUS June 2000
- Key features of RADIUS are:
- Client/Server Model
- A Network Access Server (NAS) operates as a client of RADIUS. The
- client is responsible for passing user information to designated
- RADIUS servers, and then acting on the response which is returned.
- RADIUS servers are responsible for receiving user connection
- requests, authenticating the user, and then returning all
- configuration information necessary for the client to deliver
- service to the user.
- A RADIUS server can act as a proxy client to other RADIUS servers
- or other kinds of authentication servers.
- Network Security
- Transactions between the client and RADIUS server are
- authenticated through the use of a shared secret, which is never
- sent over the network. In addition, any user passwords are sent
- encrypted between the client and RADIUS server, to eliminate the
- possibility that someone snooping on an unsecure network could
- determine a user's password.
- Flexible Authentication Mechanisms
- The RADIUS server can support a variety of methods to authenticate
- a user. When it is provided with the user name and original
- password given by the user, it can support PPP PAP or CHAP, UNIX
- login, and other authentication mechanisms.
- Extensible Protocol
- All transactions are comprised of variable length Attribute-
- Length-Value 3-tuples. New attribute values can be added without
- disturbing existing implementations of the protocol.
- 1.1. Specification of Requirements
- The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
- "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
- document are to be interpreted as described in BCP 14 [2]. These key
- words mean the same thing whether capitalized or not.
- An implementation is not compliant if it fails to satisfy one or more
- of the must or must not requirements for the protocols it implements.
- An implementation that satisfies all the must, must not, should and
- Rigney, et al. Standards Track [Page 4]
- RFC 2865 RADIUS June 2000
- should not requirements for its protocols is said to be
- "unconditionally compliant"; one that satisfies all the must and must
- not requirements but not all the should or should not requirements
- for its protocols is said to be "conditionally compliant".
- A NAS that does not implement a given service MUST NOT implement the
- RADIUS attributes for that service. For example, a NAS that is
- unable to offer ARAP service MUST NOT implement the RADIUS attributes
- for ARAP. A NAS MUST treat a RADIUS access-accept authorizing an
- unavailable service as an access-reject instead.
- 1.2. Terminology
- This document frequently uses the following terms:
- service The NAS provides a service to the dial-in user, such as PPP
- or Telnet.
- session Each service provided by the NAS to a dial-in user
- constitutes a session, with the beginning of the session
- defined as the point where service is first provided and
- the end of the session defined as the point where service
- is ended. A user may have multiple sessions in parallel or
- series if the NAS supports that.
- silently discard
- This means the implementation discards the packet without
- further processing. The implementation SHOULD provide the
- capability of logging the error, including the contents of
- the silently discarded packet, and SHOULD record the event
- in a statistics counter.
- 2. Operation
- When a client is configured to use RADIUS, any user of the client
- presents authentication information to the client. This might be
- with a customizable login prompt, where the user is expected to enter
- their username and password. Alternatively, the user might use a
- link framing protocol such as the Point-to-Point Protocol (PPP),
- which has authentication packets which carry this information.
- Once the client has obtained such information, it may choose to
- authenticate using RADIUS. To do so, the client creates an "Access-
- Request" containing such Attributes as the user's name, the user's
- password, the ID of the client and the Port ID which the user is
- accessing. When a password is present, it is hidden using a method
- based on the RSA Message Digest Algorithm MD5 [3].
- Rigney, et al. Standards Track [Page 5]
- RFC 2865 RADIUS June 2000
- The Access-Request is submitted to the RADIUS server via the network.
- If no response is returned within a length of time, the request is
- re-sent a number of times. The client can also forward requests to
- an alternate server or servers in the event that the primary server
- is down or unreachable. An alternate server can be used either after
- a number of tries to the primary server fail, or in a round-robin
- fashion. Retry and fallback algorithms are the topic of current
- research and are not specified in detail in this document.
- Once the RADIUS server receives the request, it validates the sending
- client. A request from a client for which the RADIUS server does not
- have a shared secret MUST be silently discarded. If the client is
- valid, the RADIUS server consults a database of users to find the
- user whose name matches the request. The user entry in the database
- contains a list of requirements which must be met to allow access for
- the user. This always includes verification of the password, but can
- also specify the client(s) or port(s) to which the user is allowed
- access.
- The RADIUS server MAY make requests of other servers in order to
- satisfy the request, in which case it acts as a client.
- If any Proxy-State attributes were present in the Access-Request,
- they MUST be copied unmodified and in order into the response packet.
- Other Attributes can be placed before, after, or even between the
- Proxy-State attributes.
- If any condition is not met, the RADIUS server sends an "Access-
- Reject" response indicating that this user request is invalid. If
- desired, the server MAY include a text message in the Access-Reject
- which MAY be displayed by the client to the user. No other
- Attributes (except Proxy-State) are permitted in an Access-Reject.
- If all conditions are met and the RADIUS server wishes to issue a
- challenge to which the user must respond, the RADIUS server sends an
- "Access-Challenge" response. It MAY include a text message to be
- displayed by the client to the user prompting for a response to the
- challenge, and MAY include a State attribute.
- If the client receives an Access-Challenge and supports
- challenge/response it MAY display the text message, if any, to the
- user, and then prompt the user for a response. The client then re-
- submits its original Access-Request with a new request ID, with the
- User-Password Attribute replaced by the response (encrypted), and
- including the State Attribute from the Access-Challenge, if any.
- Only 0 or 1 instances of the State Attribute SHOULD be
- Rigney, et al. Standards Track [Page 6]
- RFC 2865 RADIUS June 2000
- present in a request. The server can respond to this new Access-
- Request with either an Access-Accept, an Access-Reject, or another
- Access-Challenge.
- If all conditions are met, the list of configuration values for the
- user are placed into an "Access-Accept" response. These values
- include the type of service (for example: SLIP, PPP, Login User) and
- all necessary values to deliver the desired service. For SLIP and
- PPP, this may include values such as IP address, subnet mask, MTU,
- desired compression, and desired packet filter identifiers. For
- character mode users, this may include values such as desired
- protocol and host.
- 2.1. Challenge/Response
- In challenge/response authentication, the user is given an
- unpredictable number and challenged to encrypt it and give back the
- result. Authorized users are equipped with special devices such as
- smart cards or software that facilitate calculation of the correct
- response with ease. Unauthorized users, lacking the appropriate
- device or software and lacking knowledge of the secret key necessary
- to emulate such a device or software, can only guess at the response.
- The Access-Challenge packet typically contains a Reply-Message
- including a challenge to be displayed to the user, such as a numeric
- value unlikely ever to be repeated. Typically this is obtained from
- an external server that knows what type of authenticator is in the
- possession of the authorized user and can therefore choose a random
- or non-repeating pseudorandom number of an appropriate radix and
- length.
- The user then enters the challenge into his device (or software) and
- it calculates a response, which the user enters into the client which
- forwards it to the RADIUS server via a second Access-Request. If the
- response matches the expected response the RADIUS server replies with
- an Access-Accept, otherwise an Access-Reject.
- Example: The NAS sends an Access-Request packet to the RADIUS Server
- with NAS-Identifier, NAS-Port, User-Name, User-Password (which may
- just be a fixed string like "challenge" or ignored). The server
- sends back an Access-Challenge packet with State and a Reply-Message
- along the lines of "Challenge 12345678, enter your response at the
- prompt" which the NAS displays. The NAS prompts for the response and
- sends a NEW Access-Request to the server (with a new ID) with NAS-
- Identifier, NAS-Port, User-Name, User-Password (the response just
- entered by the user, encrypted), and the same State Attribute that
- Rigney, et al. Standards Track [Page 7]
- RFC 2865 RADIUS June 2000
- came with the Access-Challenge. The server then sends back either an
- Access-Accept or Access-Reject based on whether the response matches
- the required value, or it can even send another Access-Challenge.
- 2.2. Interoperation with PAP and CHAP
- For PAP, the NAS takes the PAP ID and password and sends them in an
- Access-Request packet as the User-Name and User-Password. The NAS MAY
- include the Attributes Service-Type = Framed-User and Framed-Protocol
- = PPP as a hint to the RADIUS server that PPP service is expected.
- For CHAP, the NAS generates a random challenge (preferably 16 octets)
- and sends it to the user, who returns a CHAP response along with a
- CHAP ID and CHAP username. The NAS then sends an Access-Request
- packet to the RADIUS server with the CHAP username as the User-Name
- and with the CHAP ID and CHAP response as the CHAP-Password
- (Attribute 3). The random challenge can either be included in the
- CHAP-Challenge attribute or, if it is 16 octets long, it can be
- placed in the Request Authenticator field of the Access-Request
- packet. The NAS MAY include the Attributes Service-Type = Framed-
- User and Framed-Protocol = PPP as a hint to the RADIUS server that
- PPP service is expected.
- The RADIUS server looks up a password based on the User-Name,
- encrypts the challenge using MD5 on the CHAP ID octet, that password,
- and the CHAP challenge (from the CHAP-Challenge attribute if present,
- otherwise from the Request Authenticator), and compares that result
- to the CHAP-Password. If they match, the server sends back an
- Access-Accept, otherwise it sends back an Access-Reject.
- If the RADIUS server is unable to perform the requested
- authentication it MUST return an Access-Reject. For example, CHAP
- requires that the user's password be available in cleartext to the
- server so that it can encrypt the CHAP challenge and compare that to
- the CHAP response. If the password is not available in cleartext to
- the RADIUS server then the server MUST send an Access-Reject to the
- client.
- 2.3. Proxy
- With proxy RADIUS, one RADIUS server receives an authentication (or
- accounting) request from a RADIUS client (such as a NAS), forwards
- the request to a remote RADIUS server, receives the reply from the
- remote server, and sends that reply to the client, possibly with
- changes to reflect local administrative policy. A common use for
- proxy RADIUS is roaming. Roaming permits two or more administrative
- entities to allow each other's users to dial in to either entity's
- network for service.
- Rigney, et al. Standards Track [Page 8]
- RFC 2865 RADIUS June 2000
- The NAS sends its RADIUS access-request to the "forwarding server"
- which forwards it to the "remote server". The remote server sends a
- response (Access-Accept, Access-Reject, or Access-Challenge) back to
- the forwarding server, which sends it back to the NAS. The User-Name
- attribute MAY contain a Network Access Identifier [8] for RADIUS
- Proxy operations. The choice of which server receives the forwarded
- request SHOULD be based on the authentication "realm". The
- authentication realm MAY be the realm part of a Network Access
- Identifier (a "named realm"). Alternatively, the choice of which
- server receives the forwarded request MAY be based on whatever other
- criteria the forwarding server is configured to use, such as Called-
- Station-Id (a "numbered realm").
- A RADIUS server can function as both a forwarding server and a remote
- server, serving as a forwarding server for some realms and a remote
- server for other realms. One forwarding server can act as a
- forwarder for any number of remote servers. A remote server can have
- any number of servers forwarding to it and can provide authentication
- for any number of realms. One forwarding server can forward to
- another forwarding server to create a chain of proxies, although care
- must be taken to avoid introducing loops.
- The following scenario illustrates a proxy RADIUS communication
- between a NAS and the forwarding and remote RADIUS servers:
- 1. A NAS sends its access-request to the forwarding server.
- 2. The forwarding server forwards the access-request to the remote
- server.
- 3. The remote server sends an access-accept, access-reject or
- access-challenge back to the forwarding server. For this example,
- an access-accept is sent.
- 4. The forwarding server sends the access-accept to the NAS.
- The forwarding server MUST treat any Proxy-State attributes already
- in the packet as opaque data. Its operation MUST NOT depend on the
- content of Proxy-State attributes added by previous servers.
- If there are any Proxy-State attributes in the request received from
- the client, the forwarding server MUST include those Proxy-State
- attributes in its reply to the client. The forwarding server MAY
- include the Proxy-State attributes in the access-request when it
- forwards the request, or MAY omit them in the forwarded request. If
- the forwarding server omits the Proxy-State attributes in the
- forwarded access-request, it MUST attach them to the response before
- sending it to the client.
- Rigney, et al. Standards Track [Page 9]
- RFC 2865 RADIUS June 2000
- We now examine each step in more detail.
- 1. A NAS sends its access-request to the forwarding server. The
- forwarding server decrypts the User-Password, if present, using
- the shared secret it knows for the NAS. If a CHAP-Password
- attribute is present in the packet and no CHAP-Challenge attribute
- is present, the forwarding server MUST leave the Request-
- Authenticator untouched or copy it to a CHAP-Challenge attribute.
- '' The forwarding server MAY add one Proxy-State attribute to the
- packet. (It MUST NOT add more than one.) If it adds a Proxy-
- State, the Proxy-State MUST appear after any other Proxy-States in
- the packet. The forwarding server MUST NOT modify any other
- Proxy-States that were in the packet (it may choose not to forward
- them, but it MUST NOT change their contents). The forwarding
- server MUST NOT change the order of any attributes of the same
- type, including Proxy-State.
- 2. The forwarding server encrypts the User-Password, if present,
- using the secret it shares with the remote server, sets the
- Identifier as needed, and forwards the access-request to the
- remote server.
- 3. The remote server (if the final destination) verifies the user
- using User-Password, CHAP-Password, or such method as future
- extensions may dictate, and returns an access-accept, access-
- reject or access-challenge back to the forwarding server. For
- this example, an access-accept is sent. The remote server MUST
- copy all Proxy-State attributes (and only the Proxy-State
- attributes) in order from the access-request to the response
- packet, without modifying them.
- 4. The forwarding server verifies the Response Authenticator using
- the secret it shares with the remote server, and silently discards
- the packet if it fails verification. If the packet passes
- verification, the forwarding server removes the last Proxy-State
- (if it attached one), signs the Response Authenticator using the
- secret it shares with the NAS, restores the Identifier to match
- the one in the original request by the NAS, and sends the access-
- accept to the NAS.
- A forwarding server MAY need to modify attributes to enforce local
- policy. Such policy is outside the scope of this document, with the
- following restrictions. A forwarding server MUST not modify existing
- Proxy-State, State, or Class attributes present in the packet.
- Rigney, et al. Standards Track [Page 10]
- RFC 2865 RADIUS June 2000
- Implementers of forwarding servers should consider carefully which
- values it is willing to accept for Service-Type. Careful
- consideration must be given to the effects of passing along Service-
- Types of NAS-Prompt or Administrative in a proxied Access-Accept, and
- implementers may wish to provide mechanisms to block those or other
- service types, or other attributes. Such mechanisms are outside the
- scope of this document.
- 2.4. Why UDP?
- A frequently asked question is why RADIUS uses UDP instead of TCP as
- a transport protocol. UDP was chosen for strictly technical reasons.
- There are a number of issues which must be understood. RADIUS is a
- transaction based protocol which has several interesting
- characteristics:
- 1. If the request to a primary Authentication server fails, a
- secondary server must be queried.
- To meet this requirement, a copy of the request must be kept above
- the transport layer to allow for alternate transmission. This
- means that retransmission timers are still required.
- 2. The timing requirements of this particular protocol are
- significantly different than TCP provides.
- At one extreme, RADIUS does not require a "responsive" detection
- of lost data. The user is willing to wait several seconds for the
- authentication to complete. The generally aggressive TCP
- retransmission (based on average round trip time) is not required,
- nor is the acknowledgement overhead of TCP.
- At the other extreme, the user is not willing to wait several
- minutes for authentication. Therefore the reliable delivery of
- TCP data two minutes later is not useful. The faster use of an
- alternate server allows the user to gain access before giving up.
- 3. The stateless nature of this protocol simplifies the use of UDP.
- Clients and servers come and go. Systems are rebooted, or are
- power cycled independently. Generally this does not cause a
- problem and with creative timeouts and detection of lost TCP
- connections, code can be written to handle anomalous events. UDP
- however completely eliminates any of this special handling. Each
- client and server can open their UDP transport just once and leave
- it open through all types of failure events on the network.
- Rigney, et al. Standards Track [Page 11]
- RFC 2865 RADIUS June 2000
- 4. UDP simplifies the server implementation.
- In the earliest implementations of RADIUS, the server was single
- threaded. This means that a single request was received,
- processed, and returned. This was found to be unmanageable in
- environments where the back-end security mechanism took real time
- (1 or more seconds). The server request queue would fill and in
- environments where hundreds of people were being authenticated
- every minute, the request turn-around time increased to longer
- than users were willing to wait (this was especially severe when a
- specific lookup in a database or over DNS took 30 or more
- seconds). The obvious solution was to make the server multi-
- threaded. Achieving this was simple with UDP. Separate processes
- were spawned to serve each request and these processes could
- respond directly to the client NAS with a simple UDP packet to the
- original transport of the client.
- It's not all a panacea. As noted, using UDP requires one thing which
- is built into TCP: with UDP we must artificially manage
- retransmission timers to the same server, although they don't require
- the same attention to timing provided by TCP. This one penalty is a
- small price to pay for the advantages of UDP in this protocol.
- Without TCP we would still probably be using tin cans connected by
- string. But for this particular protocol, UDP is a better choice.
- 2.5. Retransmission Hints
- If the RADIUS server and alternate RADIUS server share the same
- shared secret, it is OK to retransmit the packet to the alternate
- RADIUS server with the same ID and Request Authenticator, because the
- content of the attributes haven't changed. If you want to use a new
- Request Authenticator when sending to the alternate server, you may.
- If you change the contents of the User-Password attribute (or any
- other attribute), you need a new Request Authenticator and therefore
- a new ID.
- If the NAS is retransmitting a RADIUS request to the same server as
- before, and the attributes haven't changed, you MUST use the same
- Request Authenticator, ID, and source port. If any attributes have
- changed, you MUST use a new Request Authenticator and ID.
- A NAS MAY use the same ID across all servers, or MAY keep track of
- IDs separately for each server, it is up to the implementer. If a
- NAS needs more than 256 IDs for outstanding requests, it MAY use
- Rigney, et al. Standards Track [Page 12]
- RFC 2865 RADIUS June 2000
- additional source ports to send requests from, and keep track of IDs
- for each source port. This allows up to 16 million or so outstanding
- requests at one time to a single server.
- 2.6. Keep-Alives Considered Harmful
- Some implementers have adopted the practice of sending test RADIUS
- requests to see if a server is alive. This practice is strongly
- discouraged, since it adds to load and harms scalability without
- providing any additional useful information. Since a RADIUS request
- is contained in a single datagram, in the time it would take you to
- send a ping you could just send the RADIUS request, and getting a
- reply tells you that the RADIUS server is up. If you do not have a
- RADIUS request to send, it does not matter if the server is up or
- not, because you are not using it.
- If you want to monitor your RADIUS server, use SNMP. That's what
- SNMP is for.
- 3. Packet Format
- Exactly one RADIUS packet is encapsulated in the UDP Data field [4],
- where the UDP Destination Port field indicates 1812 (decimal).
- When a reply is generated, the source and destination ports are
- reversed.
- This memo documents the RADIUS protocol. The early deployment of
- RADIUS was done using UDP port number 1645, which conflicts with the
- "datametrics" service. The officially assigned port number for
- RADIUS is 1812.
- Rigney, et al. Standards Track [Page 13]
- RFC 2865 RADIUS June 2000
- A summary of the RADIUS data format is shown below. The fields are
- transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Code | Identifier | Length |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | |
- | Authenticator |
- | |
- | |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Attributes ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-
- Code
- The Code field is one octet, and identifies the type of RADIUS
- packet. When a packet is received with an invalid Code field, it
- is silently discarded.
- RADIUS Codes (decimal) are assigned as follows:
- 1 Access-Request
- 2 Access-Accept
- 3 Access-Reject
- 4 Accounting-Request
- 5 Accounting-Response
- 11 Access-Challenge
- 12 Status-Server (experimental)
- 13 Status-Client (experimental)
- 255 Reserved
- Codes 4 and 5 are covered in the RADIUS Accounting document [5].
- Codes 12 and 13 are reserved for possible use, but are not further
- mentioned here.
- Identifier
- The Identifier field is one octet, and aids in matching requests
- and replies. The RADIUS server can detect a duplicate request if
- it has the same client source IP address and source UDP port and
- Identifier within a short span of time.
- Rigney, et al. Standards Track [Page 14]
- RFC 2865 RADIUS June 2000
- Length
- The Length field is two octets. It indicates the length of the
- packet including the Code, Identifier, Length, Authenticator and
- Attribute fields. Octets outside the range of the Length field
- MUST be treated as padding and ignored on reception. If the
- packet is shorter than the Length field indicates, it MUST be
- silently discarded. The minimum length is 20 and maximum length
- is 4096.
- Authenticator
- The Authenticator field is sixteen (16) octets. The most
- significant octet is transmitted first. This value is used to
- authenticate the reply from the RADIUS server, and is used in the
- password hiding algorithm.
- Request Authenticator
- In Access-Request Packets, the Authenticator value is a 16
- octet random number, called the Request Authenticator. The
- value SHOULD be unpredictable and unique over the lifetime of a
- secret (the password shared between the client and the RADIUS
- server), since repetition of a request value in conjunction
- with the same secret would permit an attacker to reply with a
- previously intercepted response. Since it is expected that the
- same secret MAY be used to authenticate with servers in
- disparate geographic regions, the Request Authenticator field
- SHOULD exhibit global and temporal uniqueness.
- The Request Authenticator value in an Access-Request packet
- SHOULD also be unpredictable, lest an attacker trick a server
- into responding to a predicted future request, and then use the
- response to masquerade as that server to a future Access-
- Request.
- Although protocols such as RADIUS are incapable of protecting
- against theft of an authenticated session via realtime active
- wiretapping attacks, generation of unique unpredictable
- requests can protect against a wide range of active attacks
- against authentication.
- The NAS and RADIUS server share a secret. That shared secret
- followed by the Request Authenticator is put through a one-way
- MD5 hash to create a 16 octet digest value which is xored with
- the password entered by the user, and the xored result placed
- Rigney, et al. Standards Track [Page 15]
- RFC 2865 RADIUS June 2000
- in the User-Password attribute in the Access-Request packet.
- See the entry for User-Password in the section on Attributes
- for a more detailed description.
- Response Authenticator
- The value of the Authenticator field in Access-Accept, Access-
- Reject, and Access-Challenge packets is called the Response
- Authenticator, and contains a one-way MD5 hash calculated over
- a stream of octets consisting of: the RADIUS packet, beginning
- with the Code field, including the Identifier, the Length, the
- Request Authenticator field from the Access-Request packet, and
- the response Attributes, followed by the shared secret. That
- is, ResponseAuth =
- MD5(Code+ID+Length+RequestAuth+Attributes+Secret) where +
- denotes concatenation.
- Administrative Note
- The secret (password shared between the client and the RADIUS
- server) SHOULD be at least as large and unguessable as a well-
- chosen password. It is preferred that the secret be at least 16
- octets. This is to ensure a sufficiently large range for the
- secret to provide protection against exhaustive search attacks.
- The secret MUST NOT be empty (length 0) since this would allow
- packets to be trivially forged.
- A RADIUS server MUST use the source IP address of the RADIUS UDP
- packet to decide which shared secret to use, so that RADIUS
- requests can be proxied.
- When using a forwarding proxy, the proxy must be able to alter the
- packet as it passes through in each direction - when the proxy
- forwards the request, the proxy MAY add a Proxy-State Attribute,
- and when the proxy forwards a response, it MUST remove its Proxy-
- State Attribute if it added one. Proxy-State is always added or
- removed after any other Proxy-States, but no other assumptions
- regarding its location within the list of attributes can be made.
- Since Access-Accept and Access-Reject replies are authenticated on
- the entire packet contents, the stripping of the Proxy-State
- attribute invalidates the signature in the packet - so the proxy
- has to re-sign it.
- Further details of RADIUS proxy implementation are outside the
- scope of this document.
- Rigney, et al. Standards Track [Page 16]
- RFC 2865 RADIUS June 2000
- 4. Packet Types
- The RADIUS Packet type is determined by the Code field in the first
- octet of the Packet.
- 4.1. Access-Request
- Description
- Access-Request packets are sent to a RADIUS server, and convey
- information used to determine whether a user is allowed access to
- a specific NAS, and any special services requested for that user.
- An implementation wishing to authenticate a user MUST transmit a
- RADIUS packet with the Code field set to 1 (Access-Request).
- Upon receipt of an Access-Request from a valid client, an
- appropriate reply MUST be transmitted.
- An Access-Request SHOULD contain a User-Name attribute. It MUST
- contain either a NAS-IP-Address attribute or a NAS-Identifier
- attribute (or both).
- An Access-Request MUST contain either a User-Password or a CHAP-
- Password or a State. An Access-Request MUST NOT contain both a
- User-Password and a CHAP-Password. If future extensions allow
- other kinds of authentication information to be conveyed, the
- attribute for that can be used in an Access-Request instead of
- User-Password or CHAP-Password.
- An Access-Request SHOULD contain a NAS-Port or NAS-Port-Type
- attribute or both unless the type of access being requested does
- not involve a port or the NAS does not distinguish among its
- ports.
- An Access-Request MAY contain additional attributes as a hint to
- the server, but the server is not required to honor the hint.
- When a User-Password is present, it is hidden using a method based
- on the RSA Message Digest Algorithm MD5 [3].
- Rigney, et al. Standards Track [Page 17]
- RFC 2865 RADIUS June 2000
- A summary of the Access-Request packet format is shown below. The
- fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Code | Identifier | Length |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | |
- | Request Authenticator |
- | |
- | |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Attributes ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-
- Code
- 1 for Access-Request.
- Identifier
- The Identifier field MUST be changed whenever the content of the
- Attributes field changes, and whenever a valid reply has been
- received for a previous request. For retransmissions, the
- Identifier MUST remain unchanged.
- Request Authenticator
- The Request Authenticator value MUST be changed each time a new
- Identifier is used.
- Attributes
- The Attribute field is variable in length, and contains the list
- of Attributes that are required for the type of service, as well
- as any desired optional Attributes.
- 4.2. Access-Accept
- Description
- Access-Accept packets are sent by the RADIUS server, and provide
- specific configuration information necessary to begin delivery of
- service to the user. If all Attribute values received in an
- Access-Request are acceptable then the RADIUS implementation MUST
- transmit a packet with the Code field set to 2 (Access-Accept).
- Rigney, et al. Standards Track [Page 18]
- RFC 2865 RADIUS June 2000
- On reception of an Access-Accept, the Identifier field is matched
- with a pending Access-Request. The Response Authenticator field
- MUST contain the correct response for the pending Access-Request.
- Invalid packets are silently discarded.
- A summary of the Access-Accept packet format is shown below. The
- fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Code | Identifier | Length |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | |
- | Response Authenticator |
- | |
- | |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Attributes ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-
- Code
- 2 for Access-Accept.
- Identifier
- The Identifier field is a copy of the Identifier field of the
- Access-Request which caused this Access-Accept.
- Response Authenticator
- The Response Authenticator value is calculated from the Access-
- Request value, as described earlier.
- Attributes
- The Attribute field is variable in length, and contains a list of
- zero or more Attributes.
- Rigney, et al. Standards Track [Page 19]
- RFC 2865 RADIUS June 2000
- 4.3. Access-Reject
- Description
- If any value of the received Attributes is not acceptable, then
- the RADIUS server MUST transmit a packet with the Code field set
- to 3 (Access-Reject). It MAY include one or more Reply-Message
- Attributes with a text message which the NAS MAY display to the
- user.
- A summary of the Access-Reject packet format is shown below. The
- fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Code | Identifier | Length |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | |
- | Response Authenticator |
- | |
- | |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Attributes ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-
- Code
- 3 for Access-Reject.
- Identifier
- The Identifier field is a copy of the Identifier field of the
- Access-Request which caused this Access-Reject.
- Response Authenticator
- The Response Authenticator value is calculated from the Access-
- Request value, as described earlier.
- Attributes
- The Attribute field is variable in length, and contains a list of
- zero or more Attributes.
- Rigney, et al. Standards Track [Page 20]
- RFC 2865 RADIUS June 2000
- 4.4. Access-Challenge
- Description
- If the RADIUS server desires to send the user a challenge
- requiring a response, then the RADIUS server MUST respond to the
- Access-Request by transmitting a packet with the Code field set to
- 11 (Access-Challenge).
- The Attributes field MAY have one or more Reply-Message
- Attributes, and MAY have a single State Attribute, or none.
- Vendor-Specific, Idle-Timeout, Session-Timeout and Proxy-State
- attributes MAY also be included. No other Attributes defined in
- this document are permitted in an Access-Challenge.
- On receipt of an Access-Challenge, the Identifier field is matched
- with a pending Access-Request. Additionally, the Response
- Authenticator field MUST contain the correct response for the
- pending Access-Request. Invalid packets are silently discarded.
- If the NAS does not support challenge/response, it MUST treat an
- Access-Challenge as though it had received an Access-Reject
- instead.
- If the NAS supports challenge/response, receipt of a valid
- Access-Challenge indicates that a new Access-Request SHOULD be
- sent. The NAS MAY display the text message, if any, to the user,
- and then prompt the user for a response. It then sends its
- original Access-Request with a new request ID and Request
- Authenticator, with the User-Password Attribute replaced by the
- user's response (encrypted), and including the State Attribute
- from the Access-Challenge, if any. Only 0 or 1 instances of the
- State Attribute can be present in an Access-Request.
- A NAS which supports PAP MAY forward the Reply-Message to the
- dialing client and accept a PAP response which it can use as
- though the user had entered the response. If the NAS cannot do
- so, it MUST treat the Access-Challenge as though it had received
- an Access-Reject instead.
- Rigney, et al. Standards Track [Page 21]
- RFC 2865 RADIUS June 2000
- A summary of the Access-Challenge packet format is shown below. The
- fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Code | Identifier | Length |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | |
- | Response Authenticator |
- | |
- | |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Attributes ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-
- Code
- 11 for Access-Challenge.
- Identifier
- The Identifier field is a copy of the Identifier field of the
- Access-Request which caused this Access-Challenge.
- Response Authenticator
- The Response Authenticator value is calculated from the Access-
- Request value, as described earlier.
- Attributes
- The Attributes field is variable in length, and contains a list of
- zero or more Attributes.
- 5. Attributes
- RADIUS Attributes carry the specific authentication, authorization,
- information and configuration details for the request and reply.
- The end of the list of Attributes is indicated by the Length of the
- RADIUS packet.
- Some Attributes MAY be included more than once. The effect of this
- is Attribute specific, and is specified in each Attribute
- description. A summary table is provided at the end of the
- "Attributes" section.
- Rigney, et al. Standards Track [Page 22]
- RFC 2865 RADIUS June 2000
- If multiple Attributes with the same Type are present, the order of
- Attributes with the same Type MUST be preserved by any proxies. The
- order of Attributes of different Types is not required to be
- preserved. A RADIUS server or client MUST NOT have any dependencies
- on the order of attributes of different types. A RADIUS server or
- client MUST NOT require attributes of the same type to be contiguous.
- Where an Attribute's description limits which kinds of packet it can
- be contained in, this applies only to the packet types defined in
- this document, namely Access-Request, Access-Accept, Access-Reject
- and Access-Challenge (Codes 1, 2, 3, and 11). Other documents
- defining other packet types may also use Attributes described here.
- To determine which Attributes are allowed in Accounting-Request and
- Accounting-Response packets (Codes 4 and 5) refer to the RADIUS
- Accounting document [5].
- Likewise where packet types defined here state that only certain
- Attributes are permissible in them, future memos defining new
- Attributes should indicate which packet types the new Attributes may
- be present in.
- A summary of the Attribute format is shown below. The fields are
- transmitted from left to right.
- 0 1 2
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- | Type | Length | Value ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Type
- The Type field is one octet. Up-to-date values of the RADIUS Type
- field are specified in the most recent "Assigned Numbers" RFC [6].
- Values 192-223 are reserved for experimental use, values 224-240
- are reserved for implementation-specific use, and values 241-255
- are reserved and should not be used.
- A RADIUS server MAY ignore Attributes with an unknown Type.
- A RADIUS client MAY ignore Attributes with an unknown Type.
- Rigney, et al. Standards Track [Page 23]
- RFC 2865 RADIUS June 2000
- This specification concerns the following values:
- 1 User-Name
- 2 User-Password
- 3 CHAP-Password
- 4 NAS-IP-Address
- 5 NAS-Port
- 6 Service-Type
- 7 Framed-Protocol
- 8 Framed-IP-Address
- 9 Framed-IP-Netmask
- 10 Framed-Routing
- 11 Filter-Id
- 12 Framed-MTU
- 13 Framed-Compression
- 14 Login-IP-Host
- 15 Login-Service
- 16 Login-TCP-Port
- 17 (unassigned)
- 18 Reply-Message
- 19 Callback-Number
- 20 Callback-Id
- 21 (unassigned)
- 22 Framed-Route
- 23 Framed-IPX-Network
- 24 State
- 25 Class
- 26 Vendor-Specific
- 27 Session-Timeout
- 28 Idle-Timeout
- 29 Termination-Action
- 30 Called-Station-Id
- 31 Calling-Station-Id
- 32 NAS-Identifier
- 33 Proxy-State
- 34 Login-LAT-Service
- 35 Login-LAT-Node
- 36 Login-LAT-Group
- 37 Framed-AppleTalk-Link
- 38 Framed-AppleTalk-Network
- 39 Framed-AppleTalk-Zone
- 40-59 (reserved for accounting)
- 60 CHAP-Challenge
- 61 NAS-Port-Type
- 62 Port-Limit
- 63 Login-LAT-Port
- Rigney, et al. Standards Track [Page 24]
- RFC 2865 RADIUS June 2000
- Length
- The Length field is one octet, and indicates the length of this
- Attribute including the Type, Length and Value fields. If an
- Attribute is received in an Access-Request but with an invalid
- Length, an Access-Reject SHOULD be transmitted. If an Attribute
- is received in an Access-Accept, Access-Reject or Access-Challenge
- packet with an invalid length, the packet MUST either be treated
- as an Access-Reject or else silently discarded.
- Value
- The Value field is zero or more octets and contains information
- specific to the Attribute. The format and length of the Value
- field is determined by the Type and Length fields.
- Note that none of the types in RADIUS terminate with a NUL (hex
- 00). In particular, types "text" and "string" in RADIUS do not
- terminate with a NUL (hex 00). The Attribute has a length field
- and does not use a terminator. Text contains UTF-8 encoded 10646
- [7] characters and String contains 8-bit binary data. Servers and
- servers and clients MUST be able to deal with embedded nulls.
- RADIUS implementers using C are cautioned not to use strcpy() when
- handling strings.
- The format of the value field is one of five data types. Note
- that type "text" is a subset of type "string".
- text 1-253 octets containing UTF-8 encoded 10646 [7]
- characters. Text of length zero (0) MUST NOT be sent;
- omit the entire attribute instead.
- string 1-253 octets containing binary data (values 0 through
- 255 decimal, inclusive). Strings of length zero (0)
- MUST NOT be sent; omit the entire attribute instead.
- address 32 bit value, most significant octet first.
- integer 32 bit unsigned value, most significant octet first.
- time 32 bit unsigned value, most significant octet first --
- seconds since 00:00:00 UTC, January 1, 1970. The
- standard Attributes do not use this data type but it is
- presented here for possible use in future attributes.
- Rigney, et al. Standards Track [Page 25]
- RFC 2865 RADIUS June 2000
- 5.1. User-Name
- Description
- This Attribute indicates the name of the user to be authenticated.
- It MUST be sent in Access-Request packets if available.
- It MAY be sent in an Access-Accept packet, in which case the
- client SHOULD use the name returned in the Access-Accept packet in
- all Accounting-Request packets for this session. If the Access-
- Accept includes Service-Type = Rlogin and the User-Name attribute,
- a NAS MAY use the returned User-Name when performing the Rlogin
- function.
- A summary of the User-Name Attribute format is shown below. The
- fields are transmitted from left to right.
- 0 1 2
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- | Type | Length | String ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Type
- 1 for User-Name.
- Length
- >= 3
- String
- The String field is one or more octets. The NAS may limit the
- maximum length of the User-Name but the ability to handle at least
- 63 octets is recommended.
- The format of the username MAY be one of several forms:
- text Consisting only of UTF-8 encoded 10646 [7] characters.
- network access identifier
- A Network Access Identifier as described in RFC 2486
- [8].
- distinguished name
- A name in ASN.1 form used in Public Key authentication
- systems.
- Rigney, et al. Standards Track [Page 26]
- RFC 2865 RADIUS June 2000
- 5.2. User-Password
- Description
- This Attribute indicates the password of the user to be
- authenticated, or the user's input following an Access-Challenge.
- It is only used in Access-Request packets.
- On transmission, the password is hidden. The password is first
- padded at the end with nulls to a multiple of 16 octets. A one-
- way MD5 hash is calculated over a stream of octets consisting of
- the shared secret followed by the Request Authenticator. This
- value is XORed with the first 16 octet segment of the password and
- placed in the first 16 octets of the String field of the User-
- Password Attribute.
- If the password is longer than 16 characters, a second one-way MD5
- hash is calculated over a stream of octets consisting of the
- shared secret followed by the result of the first xor. That hash
- is XORed with the second 16 octet segment of the password and
- placed in the second 16 octets of the String field of the User-
- Password Attribute.
- If necessary, this operation is repeated, with each xor result
- being used along with the shared secret to generate the next hash
- to xor the next segment of the password, to no more than 128
- characters.
- The method is taken from the book "Network Security" by Kaufman,
- Perlman and Speciner [9] pages 109-110. A more precise
- explanation of the method follows:
- Call the shared secret S and the pseudo-random 128-bit Request
- Authenticator RA. Break the password into 16-octet chunks p1, p2,
- etc. with the last one padded at the end with nulls to a 16-octet
- boundary. Call the ciphertext blocks c(1), c(2), etc. We'll need
- intermediate values b1, b2, etc.
- b1 = MD5(S + RA) c(1) = p1 xor b1
- b2 = MD5(S + c(1)) c(2) = p2 xor b2
- . .
- . .
- . .
- bi = MD5(S + c(i-1)) c(i) = pi xor bi
- The String will contain c(1)+c(2)+...+c(i) where + denotes
- concatenation.
- Rigney, et al. Standards Track [Page 27]
- RFC 2865 RADIUS June 2000
- On receipt, the process is reversed to yield the original
- password.
- A summary of the User-Password Attribute format is shown below. The
- fields are transmitted from left to right.
- 0 1 2
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- | Type | Length | String ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Type
- 2 for User-Password.
- Length
- At least 18 and no larger than 130.
- String
- The String field is between 16 and 128 octets long, inclusive.
- 5.3. CHAP-Password
- Description
- This Attribute indicates the response value provided by a PPP
- Challenge-Handshake Authentication Protocol (CHAP) user in
- response to the challenge. It is only used in Access-Request
- packets.
- The CHAP challenge value is found in the CHAP-Challenge Attribute
- (60) if present in the packet, otherwise in the Request
- Authenticator field.
- A summary of the CHAP-Password Attribute format is shown below. The
- fields are transmitted from left to right.
- 0 1 2
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- | Type | Length | CHAP Ident | String ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Rigney, et al. Standards Track [Page 28]
- RFC 2865 RADIUS June 2000
- Type
- 3 for CHAP-Password.
- Length
- 19
- CHAP Ident
- This field is one octet, and contains the CHAP Identifier from the
- user's CHAP Response.
- String
- The String field is 16 octets, and contains the CHAP Response from
- the user.
- 5.4. NAS-IP-Address
- Description
- This Attribute indicates the identifying IP Address of the NAS
- which is requesting authentication of the user, and SHOULD be
- unique to the NAS within the scope of the RADIUS server. NAS-IP-
- Address is only used in Access-Request packets. Either NAS-IP-
- Address or NAS-Identifier MUST be present in an Access-Request
- packet.
- Note that NAS-IP-Address MUST NOT be used to select the shared
- secret used to authenticate the request. The source IP address of
- the Access-Request packet MUST be used to select the shared
- secret.
- A summary of the NAS-IP-Address Attribute format is shown below. The
- fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Address
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Address (cont) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type
- 4 for NAS-IP-Address.
- Rigney, et al. Standards Track [Page 29]
- RFC 2865 RADIUS June 2000
- Length
- 6
- Address
- The Address field is four octets.
- 5.5. NAS-Port
- Description
- This Attribute indicates the physical port number of the NAS which
- is authenticating the user. It is only used in Access-Request
- packets. Note that this is using "port" in its sense of a
- physical connection on the NAS, not in the sense of a TCP or UDP
- port number. Either NAS-Port or NAS-Port-Type (61) or both SHOULD
- be present in an Access-Request packet, if the NAS differentiates
- among its ports.
- A summary of the NAS-Port Attribute format is shown below. The
- fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Value
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Value (cont) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type
- 5 for NAS-Port.
- Length
- 6
- Value
- The Value field is four octets.
- Rigney, et al. Standards Track [Page 30]
- RFC 2865 RADIUS June 2000
- 5.6. Service-Type
- Description
- This Attribute indicates the type of service the user has
- requested, or the type of service to be provided. It MAY be used
- in both Access-Request and Access-Accept packets. A NAS is not
- required to implement all of these service types, and MUST treat
- unknown or unsupported Service-Types as though an Access-Reject
- had been received instead.
- A summary of the Service-Type Attribute format is shown below. The
- fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Value
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Value (cont) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type
- 6 for Service-Type.
- Length
- 6
- Value
- The Value field is four octets.
- 1 Login
- 2 Framed
- 3 Callback Login
- 4 Callback Framed
- 5 Outbound
- 6 Administrative
- 7 NAS Prompt
- 8 Authenticate Only
- 9 Callback NAS Prompt
- 10 Call Check
- 11 Callback Administrative
- Rigney, et al. Standards Track [Page 31]
- RFC 2865 RADIUS June 2000
- The service types are defined as follows when used in an Access-
- Accept. When used in an Access-Request, they MAY be considered to
- be a hint to the RADIUS server that the NAS has reason to believe
- the user would prefer the kind of service indicated, but the
- server is not required to honor the hint.
- Login The user should be connected to a host.
- Framed A Framed Protocol should be started for the
- User, such as PPP or SLIP.
- Callback Login The user should be disconnected and called
- back, then connected to a host.
- Callback Framed The user should be disconnected and called
- back, then a Framed Protocol should be started
- for the User, such as PPP or SLIP.
- Outbound The user should be granted access to outgoing
- devices.
- Administrative The user should be granted access to the
- administrative interface to the NAS from which
- privileged commands can be executed.
- NAS Prompt The user should be provided a command prompt
- on the NAS from which non-privileged commands
- can be executed.
- Authenticate Only Only Authentication is requested, and no
- authorization information needs to be returned
- in the Access-Accept (typically used by proxy
- servers rather than the NAS itself).
- Callback NAS Prompt The user should be disconnected and called
- back, then provided a command prompt on the
- NAS from which non-privileged commands can be
- executed.
- Call Check Used by the NAS in an Access-Request packet to
- indicate that a call is being received and
- that the RADIUS server should send back an
- Access-Accept to answer the call, or an
- Access-Reject to not accept the call,
- typically based on the Called-Station-Id or
- Calling-Station-Id attributes. It is
- Rigney, et al. Standards Track [Page 32]
- RFC 2865 RADIUS June 2000
- recommended that such Access-Requests use the
- value of Calling-Station-Id as the value of
- the User-Name.
- Callback Administrative
- The user should be disconnected and called
- back, then granted access to the
- administrative interface to the NAS from which
- privileged commands can be executed.
- 5.7. Framed-Protocol
- Description
- This Attribute indicates the framing to be used for framed access.
- It MAY be used in both Access-Request and Access-Accept packets.
- A summary of the Framed-Protocol Attribute format is shown below.
- The fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Value
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Value (cont) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type
- 7 for Framed-Protocol.
- Length
- 6
- Value
- The Value field is four octets.
- 1 PPP
- 2 SLIP
- 3 AppleTalk Remote Access Protocol (ARAP)
- 4 Gandalf proprietary SingleLink/MultiLink protocol
- 5 Xylogics proprietary IPX/SLIP
- 6 X.75 Synchronous
- Rigney, et al. Standards Track [Page 33]
- RFC 2865 RADIUS June 2000
- 5.8. Framed-IP-Address
- Description
- This Attribute indicates the address to be configured for the
- user. It MAY be used in Access-Accept packets. It MAY be used in
- an Access-Request packet as a hint by the NAS to the server that
- it would prefer that address, but the server is not required to
- honor the hint.
- A summary of the Framed-IP-Address Attribute format is shown below.
- The fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Address
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Address (cont) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type
- 8 for Framed-IP-Address.
- Length
- 6
- Address
- The Address field is four octets. The value 0xFFFFFFFF indicates
- that the NAS Should allow the user to select an address (e.g.
- Negotiated). The value 0xFFFFFFFE indicates that the NAS should
- select an address for the user (e.g. Assigned from a pool of
- addresses kept by the NAS). Other valid values indicate that the
- NAS should use that value as the user's IP address.
- 5.9. Framed-IP-Netmask
- Description
- This Attribute indicates the IP netmask to be configured for the
- user when the user is a router to a network. It MAY be used in
- Access-Accept packets. It MAY be used in an Access-Request packet
- as a hint by the NAS to the server that it would prefer that
- netmask, but the server is not required to honor the hint.
- Rigney, et al. Standards Track [Page 34]
- RFC 2865 RADIUS June 2000
- A summary of the Framed-IP-Netmask Attribute format is shown below.
- The fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Address
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Address (cont) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type
- 9 for Framed-IP-Netmask.
- Length
- 6
- Address
- The Address field is four octets specifying the IP netmask of the
- user.
- 5.10. Framed-Routing
- Description
- This Attribute indicates the routing method for the user, when the
- user is a router to a network. It is only used in Access-Accept
- packets.
- A summary of the Framed-Routing Attribute format is shown below. The
- fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Value
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Value (cont) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type
- 10 for Framed-Routing.
- Rigney, et al. Standards Track [Page 35]
- RFC 2865 RADIUS June 2000
- Length
- 6
- Value
- The Value field is four octets.
- 0 None
- 1 Send routing packets
- 2 Listen for routing packets
- 3 Send and Listen
- 5.11. Filter-Id
- Description
- This Attribute indicates the name of the filter list for this
- user. Zero or more Filter-Id attributes MAY be sent in an
- Access-Accept packet.
- Identifying a filter list by name allows the filter to be used on
- different NASes without regard to filter-list implementation
- details.
- A summary of the Filter-Id Attribute format is shown below. The
- fields are transmitted from left to right.
- 0 1 2
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- | Type | Length | Text ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Type
- 11 for Filter-Id.
- Length
- >= 3
- Text
- The Text field is one or more octets, and its contents are
- implementation dependent. It is intended to be human readable and
- MUST NOT affect operation of the protocol. It is recommended that
- the message contain UTF-8 encoded 10646 [7] characters.
- Rigney, et al. Standards Track [Page 36]
- RFC 2865 RADIUS June 2000
- 5.12. Framed-MTU
- Description
- This Attribute indicates the Maximum Transmission Unit to be
- configured for the user, when it is not negotiated by some other
- means (such as PPP). It MAY be used in Access-Accept packets. It
- MAY be used in an Access-Request packet as a hint by the NAS to
- the server that it would prefer that value, but the server is not
- required to honor the hint.
- A summary of the Framed-MTU Attribute format is shown below. The
- fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Value
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Value (cont) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type
- 12 for Framed-MTU.
- Length
- 6
- Value
- The Value field is four octets. Despite the size of the field,
- values range from 64 to 65535.
- 5.13. Framed-Compression
- Description
- This Attribute indicates a compression protocol to be used for the
- link. It MAY be used in Access-Accept packets. It MAY be used in
- an Access-Request packet as a hint to the server that the NAS
- would prefer to use that compression, but the server is not
- required to honor the hint.
- More than one compression protocol Attribute MAY be sent. It is
- the responsibility of the NAS to apply the proper compression
- protocol to appropriate link traffic.
- Rigney, et al. Standards Track [Page 37]
- RFC 2865 RADIUS June 2000
- A summary of the Framed-Compression Attribute format is shown below.
- The fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Value
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Value (cont) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type
- 13 for Framed-Compression.
- Length
- 6
- Value
- The Value field is four octets.
- 0 None
- 1 VJ TCP/IP header compression [10]
- 2 IPX header compression
- 3 Stac-LZS compression
- 5.14. Login-IP-Host
- Description
- This Attribute indicates the system with which to connect the user,
- when the Login-Service Attribute is included. It MAY be used in
- Access-Accept packets. It MAY be used in an Access-Request packet as
- a hint to the server that the NAS would prefer to use that host, but
- the server is not required to honor the hint.
- A summary of the Login-IP-Host Attribute format is shown below. The
- fields are transmitted from left to right.
- Rigney, et al. Standards Track [Page 38]
- RFC 2865 RADIUS June 2000
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Address
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Address (cont) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type
- 14 for Login-IP-Host.
- Length
- 6
- Address
- The Address field is four octets. The value 0xFFFFFFFF indicates
- that the NAS SHOULD allow the user to select an address. The
- value 0 indicates that the NAS SHOULD select a host to connect the
- user to. Other values indicate the address the NAS SHOULD connect
- the user to.
- 5.15. Login-Service
- Description
- This Attribute indicates the service to use to connect the user to
- the login host. It is only used in Access-Accept packets.
- A summary of the Login-Service Attribute format is shown below. The
- fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Value
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Value (cont) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type
- 15 for Login-Service.
- Rigney, et al. Standards Track [Page 39]
- RFC 2865 RADIUS June 2000
- Length
- 6
- Value
- The Value field is four octets.
- 0 Telnet
- 1 Rlogin
- 2 TCP Clear
- 3 PortMaster (proprietary)
- 4 LAT
- 5 X25-PAD
- 6 X25-T3POS
- 8 TCP Clear Quiet (suppresses any NAS-generated connect string)
- 5.16. Login-TCP-Port
- Description
- This Attribute indicates the TCP port with which the user is to be
- connected, when the Login-Service Attribute is also present. It
- is only used in Access-Accept packets.
- A summary of the Login-TCP-Port Attribute format is shown below. The
- fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Value
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Value (cont) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type
- 16 for Login-TCP-Port.
- Length
- 6
- Value
- The Value field is four octets. Despite the size of the field,
- values range from 0 to 65535.
- Rigney, et al. Standards Track [Page 40]
- RFC 2865 RADIUS June 2000
- 5.17. (unassigned)
- Description
- ATTRIBUTE TYPE 17 HAS NOT BEEN ASSIGNED.
- 5.18. Reply-Message
- Description
- This Attribute indicates text which MAY be displayed to the user.
- When used in an Access-Accept, it is the success message.
- When used in an Access-Reject, it is the failure message. It MAY
- indicate a dialog message to prompt the user before another
- Access-Request attempt.
- When used in an Access-Challenge, it MAY indicate a dialog message
- to prompt the user for a response.
- Multiple Reply-Message's MAY be included and if any are displayed,
- they MUST be displayed in the same order as they appear in the
- packet.
- A summary of the Reply-Message Attribute format is shown below. The
- fields are transmitted from left to right.
- 0 1 2
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- | Type | Length | Text ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Type
- 18 for Reply-Message.
- Length
- >= 3
- Text
- The Text field is one or more octets, and its contents are
- implementation dependent. It is intended to be human readable,
- and MUST NOT affect operation of the protocol. It is recommended
- that the message contain UTF-8 encoded 10646 [7] characters.
- Rigney, et al. Standards Track [Page 41]
- RFC 2865 RADIUS June 2000
- 5.19. Callback-Number
- Description
- This Attribute indicates a dialing string to be used for callback.
- It MAY be used in Access-Accept packets. It MAY be used in an
- Access-Request packet as a hint to the server that a Callback
- service is desired, but the server is not required to honor the
- hint.
- A summary of the Callback-Number Attribute format is shown below.
- The fields are transmitted from left to right.
- 0 1 2
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- | Type | Length | String ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Type
- 19 for Callback-Number.
- Length
- >= 3
- String
- The String field is one or more octets. The actual format of the
- information is site or application specific, and a robust
- implementation SHOULD support the field as undistinguished octets.
- The codification of the range of allowed usage of this field is
- outside the scope of this specification.
- 5.20. Callback-Id
- Description
- This Attribute indicates the name of a place to be called, to be
- interpreted by the NAS. It MAY be used in Access-Accept packets.
- Rigney, et al. Standards Track [Page 42]
- RFC 2865 RADIUS June 2000
- A summary of the Callback-Id Attribute format is shown below. The
- fields are transmitted from left to right.
- 0 1 2
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- | Type | Length | String ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Type
- 20 for Callback-Id.
- Length
- >= 3
- String
- The String field is one or more octets. The actual format of the
- information is site or application specific, and a robust
- implementation SHOULD support the field as undistinguished octets.
- The codification of the range of allowed usage of this field is
- outside the scope of this specification.
- 5.21. (unassigned)
- Description
- ATTRIBUTE TYPE 21 HAS NOT BEEN ASSIGNED.
- 5.22. Framed-Route
- Description
- This Attribute provides routing information to be configured for
- the user on the NAS. It is used in the Access-Accept packet and
- can appear multiple times.
- A summary of the Framed-Route Attribute format is shown below. The
- fields are transmitted from left to right.
- 0 1 2
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- | Type | Length | Text ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Rigney, et al. Standards Track [Page 43]
- RFC 2865 RADIUS June 2000
- Type
- 22 for Framed-Route.
- Length
- >= 3
- Text
- The Text field is one or more octets, and its contents are
- implementation dependent. It is intended to be human readable and
- MUST NOT affect operation of the protocol. It is recommended that
- the message contain UTF-8 encoded 10646 [7] characters.
- For IP routes, it SHOULD contain a destination prefix in dotted
- quad form optionally followed by a slash and a decimal length
- specifier stating how many high order bits of the prefix to use.
- That is followed by a space, a gateway address in dotted quad
- form, a space, and one or more metrics separated by spaces. For
- example, "192.168.1.0/24 192.168.1.1 1 2 -1 3 400". The length
- specifier may be omitted, in which case it defaults to 8 bits for
- class A prefixes, 16 bits for class B prefixes, and 24 bits for
- class C prefixes. For example, "192.168.1.0 192.168.1.1 1".
- Whenever the gateway address is specified as "0.0.0.0" the IP
- address of the user SHOULD be used as the gateway address.
- 5.23. Framed-IPX-Network
- Description
- This Attribute indicates the IPX Network number to be configured
- for the user. It is used in Access-Accept packets.
- A summary of the Framed-IPX-Network Attribute format is shown below.
- The fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Value
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Value (cont) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Rigney, et al. Standards Track [Page 44]
- RFC 2865 RADIUS June 2000
- Type
- 23 for Framed-IPX-Network.
- Length
- 6
- Value
- The Value field is four octets. The value 0xFFFFFFFE indicates
- that the NAS should select an IPX network for the user (e.g.
- assigned from a pool of one or more IPX networks kept by the NAS).
- Other values should be used as the IPX network for the link to the
- user.
- 5.24. State
- Description
- This Attribute is available to be sent by the server to the client
- in an Access-Challenge and MUST be sent unmodified from the client
- to the server in the new Access-Request reply to that challenge,
- if any.
- This Attribute is available to be sent by the server to the client
- in an Access-Accept that also includes a Termination-Action
- Attribute with the value of RADIUS-Request. If the NAS performs
- the Termination-Action by sending a new Access-Request upon
- termination of the current session, it MUST include the State
- attribute unchanged in that Access-Request.
- In either usage, the client MUST NOT interpret the attribute
- locally. A packet must have only zero or one State Attribute.
- Usage of the State Attribute is implementation dependent.
- A summary of the State Attribute format is shown below. The fields
- are transmitted from left to right.
- 0 1 2
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- | Type | Length | String ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Type
- 24 for State.
- Rigney, et al. Standards Track [Page 45]
- RFC 2865 RADIUS June 2000
- Length
- >= 3
- String
- The String field is one or more octets. The actual format of the
- information is site or application specific, and a robust
- implementation SHOULD support the field as undistinguished octets.
- The codification of the range of allowed usage of this field is
- outside the scope of this specification.
- 5.25. Class
- Description
- This Attribute is available to be sent by the server to the client
- in an Access-Accept and SHOULD be sent unmodified by the client to
- the accounting server as part of the Accounting-Request packet if
- accounting is supported. The client MUST NOT interpret the
- attribute locally.
- A summary of the Class Attribute format is shown below. The fields
- are transmitted from left to right.
- 0 1 2
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- | Type | Length | String ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Type
- 25 for Class.
- Length
- >= 3
- String
- The String field is one or more octets. The actual format of the
- information is site or application specific, and a robust
- implementation SHOULD support the field as undistinguished octets.
- The codification of the range of allowed usage of this field is
- outside the scope of this specification.
- Rigney, et al. Standards Track [Page 46]
- RFC 2865 RADIUS June 2000
- 5.26. Vendor-Specific
- Description
- This Attribute is available to allow vendors to support their own
- extended Attributes not suitable for general usage. It MUST not
- affect the operation of the RADIUS protocol.
- Servers not equipped to interpret the vendor-specific information
- sent by a client MUST ignore it (although it may be reported).
- Clients which do not receive desired vendor-specific information
- SHOULD make an attempt to operate without it, although they may do
- so (and report they are doing so) in a degraded mode.
- A summary of the Vendor-Specific Attribute format is shown below.
- The fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Vendor-Id
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Vendor-Id (cont) | String...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Type
- 26 for Vendor-Specific.
- Length
- >= 7
- Vendor-Id
- The high-order octet is 0 and the low-order 3 octets are the SMI
- Network Management Private Enterprise Code of the Vendor in
- network byte order, as defined in the "Assigned Numbers" RFC [6].
- String
- The String field is one or more octets. The actual format of the
- information is site or application specific, and a robust
- implementation SHOULD support the field as undistinguished octets.
- The codification of the range of allowed usage of this field is
- outside the scope of this specification.
- Rigney, et al. Standards Track [Page 47]
- RFC 2865 RADIUS June 2000
- It SHOULD be encoded as a sequence of vendor type / vendor length
- / value fields, as follows. The Attribute-Specific field is
- dependent on the vendor's definition of that attribute. An
- example encoding of the Vendor-Specific attribute using this
- method follows:
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Vendor-Id
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Vendor-Id (cont) | Vendor type | Vendor length |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Attribute-Specific...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Multiple subattributes MAY be encoded within a single Vendor-
- Specific attribute, although they do not have to be.
- 5.27. Session-Timeout
- Description
- This Attribute sets the maximum number of seconds of service to be
- provided to the user before termination of the session or prompt.
- This Attribute is available to be sent by the server to the client
- in an Access-Accept or Access-Challenge.
- A summary of the Session-Timeout Attribute format is shown below.
- The fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Value
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Value (cont) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type
- 27 for Session-Timeout.
- Length
- 6
- Rigney, et al. Standards Track [Page 48]
- RFC 2865 RADIUS June 2000
- Value
- The field is 4 octets, containing a 32-bit unsigned integer with
- the maximum number of seconds this user should be allowed to
- remain connected by the NAS.
- 5.28. Idle-Timeout
- Description
- This Attribute sets the maximum number of consecutive seconds of
- idle connection allowed to the user before termination of the
- session or prompt. This Attribute is available to be sent by the
- server to the client in an Access-Accept or Access-Challenge.
- A summary of the Idle-Timeout Attribute format is shown below. The
- fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Value
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Value (cont) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type
- 28 for Idle-Timeout.
- Length
- 6
- Value
- The field is 4 octets, containing a 32-bit unsigned integer with
- the maximum number of consecutive seconds of idle time this user
- should be permitted before being disconnected by the NAS.
- 5.29. Termination-Action
- Description
- This Attribute indicates what action the NAS should take when the
- specified service is completed. It is only used in Access-Accept
- packets.
- Rigney, et al. Standards Track [Page 49]
- RFC 2865 RADIUS June 2000
- A summary of the Termination-Action Attribute format is shown below.
- The fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Value
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Value (cont) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type
- 29 for Termination-Action.
- Length
- 6
- Value
- The Value field is four octets.
- 0 Default
- 1 RADIUS-Request
- If the Value is set to RADIUS-Request, upon termination of the
- specified service the NAS MAY send a new Access-Request to the
- RADIUS server, including the State attribute if any.
- 5.30. Called-Station-Id
- Description
- This Attribute allows the NAS to send in the Access-Request packet
- the phone number that the user called, using Dialed Number
- Identification (DNIS) or similar technology. Note that this may
- be different from the phone number the call comes in on. It is
- only used in Access-Request packets.
- A summary of the Called-Station-Id Attribute format is shown below.
- The fields are transmitted from left to right.
- 0 1 2
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- | Type | Length | String ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Rigney, et al. Standards Track [Page 50]
- RFC 2865 RADIUS June 2000
- Type
- 30 for Called-Station-Id.
- Length
- >= 3
- String
- The String field is one or more octets, containing the phone
- number that the user's call came in on.
- The actual format of the information is site or application
- specific. UTF-8 encoded 10646 [7] characters are recommended, but
- a robust implementation SHOULD support the field as
- undistinguished octets.
- The codification of the range of allowed usage of this field is
- outside the scope of this specification.
- 5.31. Calling-Station-Id
- Description
- This Attribute allows the NAS to send in the Access-Request packet
- the phone number that the call came from, using Automatic Number
- Identification (ANI) or similar technology. It is only used in
- Access-Request packets.
- A summary of the Calling-Station-Id Attribute format is shown below.
- The fields are transmitted from left to right.
- 0 1 2
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- | Type | Length | String ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Type
- 31 for Calling-Station-Id.
- Length
- >= 3
- Rigney, et al. Standards Track [Page 51]
- RFC 2865 RADIUS June 2000
- String
- The String field is one or more octets, containing the phone
- number that the user placed the call from.
- The actual format of the information is site or application
- specific. UTF-8 encoded 10646 [7] characters are recommended, but
- a robust implementation SHOULD support the field as
- undistinguished octets.
- The codification of the range of allowed usage of this field is
- outside the scope of this specification.
- 5.32. NAS-Identifier
- Description
- This Attribute contains a string identifying the NAS originating
- the Access-Request. It is only used in Access-Request packets.
- Either NAS-IP-Address or NAS-Identifier MUST be present in an
- Access-Request packet.
- Note that NAS-Identifier MUST NOT be used to select the shared
- secret used to authenticate the request. The source IP address of
- the Access-Request packet MUST be used to select the shared
- secret.
- A summary of the NAS-Identifier Attribute format is shown below. The
- fields are transmitted from left to right.
- 0 1 2
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- | Type | Length | String ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Type
- 32 for NAS-Identifier.
- Length
- >= 3
- Rigney, et al. Standards Track [Page 52]
- RFC 2865 RADIUS June 2000
- String
- The String field is one or more octets, and should be unique to
- the NAS within the scope of the RADIUS server. For example, a
- fully qualified domain name would be suitable as a NAS-Identifier.
- The actual format of the information is site or application
- specific, and a robust implementation SHOULD support the field as
- undistinguished octets.
- The codification of the range of allowed usage of this field is
- outside the scope of this specification.
- 5.33. Proxy-State
- Description
- This Attribute is available to be sent by a proxy server to
- another server when forwarding an Access-Request and MUST be
- returned unmodified in the Access-Accept, Access-Reject or
- Access-Challenge. When the proxy server receives the response to
- its request, it MUST remove its own Proxy-State (the last Proxy-
- State in the packet) before forwarding the response to the NAS.
- If a Proxy-State Attribute is added to a packet when forwarding
- the packet, the Proxy-State Attribute MUST be added after any
- existing Proxy-State attributes.
- The content of any Proxy-State other than the one added by the
- current server should be treated as opaque octets and MUST NOT
- affect operation of the protocol.
- Usage of the Proxy-State Attribute is implementation dependent. A
- description of its function is outside the scope of this
- specification.
- A summary of the Proxy-State Attribute format is shown below. The
- fields are transmitted from left to right.
- 0 1 2
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- | Type | Length | String ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Type
- 33 for Proxy-State.
- Rigney, et al. Standards Track [Page 53]
- RFC 2865 RADIUS June 2000
- Length
- >= 3
- String
- The String field is one or more octets. The actual format of the
- information is site or application specific, and a robust
- implementation SHOULD support the field as undistinguished octets.
- The codification of the range of allowed usage of this field is
- outside the scope of this specification.
- 5.34. Login-LAT-Service
- Description
- This Attribute indicates the system with which the user is to be
- connected by LAT. It MAY be used in Access-Accept packets, but
- only when LAT is specified as the Login-Service. It MAY be used
- in an Access-Request packet as a hint to the server, but the
- server is not required to honor the hint.
- Administrators use the service attribute when dealing with
- clustered systems, such as a VAX or Alpha cluster. In such an
- environment several different time sharing hosts share the same
- resources (disks, printers, etc.), and administrators often
- configure each to offer access (service) to each of the shared
- resources. In this case, each host in the cluster advertises its
- services through LAT broadcasts.
- Sophisticated users often know which service providers (machines)
- are faster and tend to use a node name when initiating a LAT
- connection. Alternately, some administrators want particular
- users to use certain machines as a primitive form of load
- balancing (although LAT knows how to do load balancing itself).
- A summary of the Login-LAT-Service Attribute format is shown below.
- The fields are transmitted from left to right.
- 0 1 2
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- | Type | Length | String ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Rigney, et al. Standards Track [Page 54]
- RFC 2865 RADIUS June 2000
- Type
- 34 for Login-LAT-Service.
- Length
- >= 3
- String
- The String field is one or more octets, and contains the identity
- of the LAT service to use. The LAT Architecture allows this
- string to contain $ (dollar), - (hyphen), . (period), _
- (underscore), numerics, upper and lower case alphabetics, and the
- ISO Latin-1 character set extension [11]. All LAT string
- comparisons are case insensitive.
- 5.35. Login-LAT-Node
- Description
- This Attribute indicates the Node with which the user is to be
- automatically connected by LAT. It MAY be used in Access-Accept
- packets, but only when LAT is specified as the Login-Service. It
- MAY be used in an Access-Request packet as a hint to the server,
- but the server is not required to honor the hint.
- A summary of the Login-LAT-Node Attribute format is shown below. The
- fields are transmitted from left to right.
- 0 1 2
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- | Type | Length | String ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Type
- 35 for Login-LAT-Node.
- Length
- >= 3
- Rigney, et al. Standards Track [Page 55]
- RFC 2865 RADIUS June 2000
- String
- The String field is one or more octets, and contains the identity
- of the LAT Node to connect the user to. The LAT Architecture
- allows this string to contain $ (dollar), - (hyphen), . (period),
- _ (underscore), numerics, upper and lower case alphabetics, and
- the ISO Latin-1 character set extension. All LAT string
- comparisons are case insensitive.
- 5.36. Login-LAT-Group
- Description
- This Attribute contains a string identifying the LAT group codes
- which this user is authorized to use. It MAY be used in Access-
- Accept packets, but only when LAT is specified as the Login-
- Service. It MAY be used in an Access-Request packet as a hint to
- the server, but the server is not required to honor the hint.
- LAT supports 256 different group codes, which LAT uses as a form
- of access rights. LAT encodes the group codes as a 256 bit
- bitmap.
- Administrators can assign one or more of the group code bits at
- the LAT service provider; it will only accept LAT connections that
- have these group codes set in the bit map. The administrators
- assign a bitmap of authorized group codes to each user; LAT gets
- these from the operating system, and uses these in its requests to
- the service providers.
- A summary of the Login-LAT-Group Attribute format is shown below.
- The fields are transmitted from left to right.
- 0 1 2
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- | Type | Length | String ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Type
- 36 for Login-LAT-Group.
- Length
- 34
- Rigney, et al. Standards Track [Page 56]
- RFC 2865 RADIUS June 2000
- String
- The String field is a 32 octet bit map, most significant octet
- first. A robust implementation SHOULD support the field as
- undistinguished octets.
- The codification of the range of allowed usage of this field is
- outside the scope of this specification.
- 5.37. Framed-AppleTalk-Link
- Description
- This Attribute indicates the AppleTalk network number which should
- be used for the serial link to the user, which is another
- AppleTalk router. It is only used in Access-Accept packets. It
- is never used when the user is not another router.
- A summary of the Framed-AppleTalk-Link Attribute format is shown
- below. The fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Value
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Value (cont) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type
- 37 for Framed-AppleTalk-Link.
- Length
- 6
- Value
- The Value field is four octets. Despite the size of the field,
- values range from 0 to 65535. The special value of 0 indicates
- that this is an unnumbered serial link. A value of 1-65535 means
- that the serial line between the NAS and the user should be
- assigned that value as an AppleTalk network number.
- Rigney, et al. Standards Track [Page 57]
- RFC 2865 RADIUS June 2000
- 5.38. Framed-AppleTalk-Network
- Description
- This Attribute indicates the AppleTalk Network number which the
- NAS should probe to allocate an AppleTalk node for the user. It
- is only used in Access-Accept packets. It is never used when the
- user is another router. Multiple instances of this Attribute
- indicate that the NAS may probe using any of the network numbers
- specified.
- A summary of the Framed-AppleTalk-Network Attribute format is shown
- below. The fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Value
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Value (cont) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type
- 38 for Framed-AppleTalk-Network.
- Length
- 6
- Value
- The Value field is four octets. Despite the size of the field,
- values range from 0 to 65535. The special value 0 indicates that
- the NAS should assign a network for the user, using its default
- cable range. A value between 1 and 65535 (inclusive) indicates
- the AppleTalk Network the NAS should probe to find an address for
- the user.
- 5.39. Framed-AppleTalk-Zone
- Description
- This Attribute indicates the AppleTalk Default Zone to be used for
- this user. It is only used in Access-Accept packets. Multiple
- instances of this attribute in the same packet are not allowed.
- Rigney, et al. Standards Track [Page 58]
- RFC 2865 RADIUS June 2000
- A summary of the Framed-AppleTalk-Zone Attribute format is shown
- below. The fields are transmitted from left to right.
- 0 1 2
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- | Type | Length | String ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Type
- 39 for Framed-AppleTalk-Zone.
- Length
- >= 3
- String
- The name of the Default AppleTalk Zone to be used for this user.
- A robust implementation SHOULD support the field as
- undistinguished octets.
- The codification of the range of allowed usage of this field is
- outside the scope of this specification.
- 5.40. CHAP-Challenge
- Description
- This Attribute contains the CHAP Challenge sent by the NAS to a
- PPP Challenge-Handshake Authentication Protocol (CHAP) user. It
- is only used in Access-Request packets.
- If the CHAP challenge value is 16 octets long it MAY be placed in
- the Request Authenticator field instead of using this attribute.
- A summary of the CHAP-Challenge Attribute format is shown below. The
- fields are transmitted from left to right.
- 0 1 2
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- | Type | Length | String...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Rigney, et al. Standards Track [Page 59]
- RFC 2865 RADIUS June 2000
- Type
- 60 for CHAP-Challenge.
- Length
- >= 7
- String
- The String field contains the CHAP Challenge.
- 5.41. NAS-Port-Type
- Description
- This Attribute indicates the type of the physical port of the NAS
- which is authenticating the user. It can be used instead of or in
- addition to the NAS-Port (5) attribute. It is only used in
- Access-Request packets. Either NAS-Port (5) or NAS-Port-Type or
- both SHOULD be present in an Access-Request packet, if the NAS
- differentiates among its ports.
- A summary of the NAS-Port-Type Attribute format is shown below. The
- fields are transmitted from left to right.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Value
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Value (cont) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type
- 61 for NAS-Port-Type.
- Length
- 6
- Value
- The Value field is four octets. "Virtual" refers to a connection
- to the NAS via some transport protocol, instead of through a
- physical port. For example, if a user telnetted into a NAS to
- Rigney, et al. Standards Track [Page 60]
- RFC 2865 RADIUS June 2000
- authenticate himself as an Outbound-User, the Access-Request might
- include NAS-Port-Type = Virtual as a hint to the RADIUS server
- that the user was not on a physical port.
- 0 Async
- 1 Sync
- 2 ISDN Sync
- 3 ISDN Async V.120
- 4 ISDN Async V.110
- 5 Virtual
- 6 PIAFS
- 7 HDLC Clear Channel
- 8 X.25
- 9 X.75
- 10 G.3 Fax
- 11 SDSL - Symmetric DSL
- 12 ADSL-CAP - Asymmetric DSL, Carrierless Amplitude Phase
- Modulation
- 13 ADSL-DMT - Asymmetric DSL, Discrete Multi-Tone
- 14 IDSL - ISDN Digital Subscriber Line
- 15 Ethernet
- 16 xDSL - Digital Subscriber Line of unknown type
- 17 Cable
- 18 Wireless - Other
- 19 Wireless - IEEE 802.11
- PIAFS is a form of wireless ISDN commonly used in Japan, and
- stands for PHS (Personal Handyphone System) Internet Access Forum
- Standard (PIAFS).
- 5.42. Port-Limit
- Description
- This Attribute sets the maximum number of ports to be provided to
- the user by the NAS. This Attribute MAY be sent by the server to
- the client in an Access-Accept packet. It is intended for use in
- conjunction with Multilink PPP [12] or similar uses. It MAY also
- be sent by the NAS to the server as a hint that that many ports
- are desired for use, but the server is not required to honor the
- hint.
- A summary of the Port-Limit Attribute format is shown below. The
- fields are transmitted from left to right.
- Rigney, et al. Standards Track [Page 61]
- RFC 2865 RADIUS June 2000
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Value
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Value (cont) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type
- 62 for Port-Limit.
- Length
- 6
- Value
- The field is 4 octets, containing a 32-bit unsigned integer with
- the maximum number of ports this user should be allowed to connect
- to on the NAS.
- 5.43. Login-LAT-Port
- Description
- This Attribute indicates the Port with which the user is to be
- connected by LAT. It MAY be used in Access-Accept packets, but
- only when LAT is specified as the Login-Service. It MAY be used
- in an Access-Request packet as a hint to the server, but the
- server is not required to honor the hint.
- A summary of the Login-LAT-Port Attribute format is shown below. The
- fields are transmitted from left to right.
- 0 1 2
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- | Type | Length | String ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- Type
- 63 for Login-LAT-Port.
- Length
- >= 3
- Rigney, et al. Standards Track [Page 62]
- RFC 2865 RADIUS June 2000
- String
- The String field is one or more octets, and contains the identity
- of the LAT port to use. The LAT Architecture allows this string
- to contain $ (dollar), - (hyphen), . (period), _ (underscore),
- numerics, upper and lower case alphabetics, and the ISO Latin-1
- character set extension. All LAT string comparisons are case
- insensitive.
- 5.44. Table of Attributes
- The following table provides a guide to which attributes may be found
- in which kinds of packets, and in what quantity.
- Request Accept Reject Challenge # Attribute
- 0-1 0-1 0 0 1 User-Name
- 0-1 0 0 0 2 User-Password [Note 1]
- 0-1 0 0 0 3 CHAP-Password [Note 1]
- 0-1 0 0 0 4 NAS-IP-Address [Note 2]
- 0-1 0 0 0 5 NAS-Port
- 0-1 0-1 0 0 6 Service-Type
- 0-1 0-1 0 0 7 Framed-Protocol
- 0-1 0-1 0 0 8 Framed-IP-Address
- 0-1 0-1 0 0 9 Framed-IP-Netmask
- 0 0-1 0 0 10 Framed-Routing
- 0 0+ 0 0 11 Filter-Id
- 0-1 0-1 0 0 12 Framed-MTU
- 0+ 0+ 0 0 13 Framed-Compression
- 0+ 0+ 0 0 14 Login-IP-Host
- 0 0-1 0 0 15 Login-Service
- 0 0-1 0 0 16 Login-TCP-Port
- 0 0+ 0+ 0+ 18 Reply-Message
- 0-1 0-1 0 0 19 Callback-Number
- 0 0-1 0 0 20 Callback-Id
- 0 0+ 0 0 22 Framed-Route
- 0 0-1 0 0 23 Framed-IPX-Network
- 0-1 0-1 0 0-1 24 State [Note 1]
- 0 0+ 0 0 25 Class
- 0+ 0+ 0 0+ 26 Vendor-Specific
- 0 0-1 0 0-1 27 Session-Timeout
- 0 0-1 0 0-1 28 Idle-Timeout
- 0 0-1 0 0 29 Termination-Action
- 0-1 0 0 0 30 Called-Station-Id
- 0-1 0 0 0 31 Calling-Station-Id
- 0-1 0 0 0 32 NAS-Identifier [Note 2]
- 0+ 0+ 0+ 0+ 33 Proxy-State
- 0-1 0-1 0 0 34 Login-LAT-Service
- 0-1 0-1 0 0 35 Login-LAT-Node
- Rigney, et al. Standards Track [Page 63]
- RFC 2865 RADIUS June 2000
- 0-1 0-1 0 0 36 Login-LAT-Group
- 0 0-1 0 0 37 Framed-AppleTalk-Link
- 0 0+ 0 0 38 Framed-AppleTalk-Network
- 0 0-1 0 0 39 Framed-AppleTalk-Zone
- 0-1 0 0 0 60 CHAP-Challenge
- 0-1 0 0 0 61 NAS-Port-Type
- 0-1 0-1 0 0 62 Port-Limit
- 0-1 0-1 0 0 63 Login-LAT-Port
- Request Accept Reject Challenge # Attribute
- [Note 1] An Access-Request MUST contain either a User-Password or a
- CHAP-Password or State. An Access-Request MUST NOT contain both a
- User-Password and a CHAP-Password. If future extensions allow other
- kinds of authentication information to be conveyed, the attribute for
- that can be used in an Access-Request instead of User-Password or
- CHAP-Password.
- [Note 2] An Access-Request MUST contain either a NAS-IP-Address or a
- NAS-Identifier (or both).
- The following table defines the meaning of the above table entries.
- 0 This attribute MUST NOT be present in packet.
- 0+ Zero or more instances of this attribute MAY be present in packet.
- 0-1 Zero or one instance of this attribute MAY be present in packet.
- 1 Exactly one instance of this attribute MUST be present in packet.
- 6. IANA Considerations
- This section provides guidance to the Internet Assigned Numbers
- Authority (IANA) regarding registration of values related to the
- RADIUS protocol, in accordance with BCP 26 [13].
- There are three name spaces in RADIUS that require registration:
- Packet Type Codes, Attribute Types, and Attribute Values (for certain
- Attributes).
- RADIUS is not intended as a general-purpose Network Access Server
- (NAS) management protocol, and allocations should not be made for
- purposes unrelated to Authentication, Authorization or Accounting.
- 6.1. Definition of Terms
- The following terms are used here with the meanings defined in
- BCP 26: "name space", "assigned value", "registration".
- Rigney, et al. Standards Track [Page 64]
- RFC 2865 RADIUS June 2000
- The following policies are used here with the meanings defined in
- BCP 26: "Private Use", "First Come First Served", "Expert Review",
- "Specification Required", "IETF Consensus", "Standards Action".
- 6.2. Recommended Registration Policies
- For registration requests where a Designated Expert should be
- consulted, the IESG Area Director for Operations should appoint the
- Designated Expert.
- For registration requests requiring Expert Review, the ietf-radius
- mailing list should be consulted.
- Packet Type Codes have a range from 1 to 254, of which 1-5,11-13 have
- been allocated. Because a new Packet Type has considerable impact on
- interoperability, a new Packet Type Code requires Standards Action,
- and should be allocated starting at 14.
- Attribute Types have a range from 1 to 255, and are the scarcest
- resource in RADIUS, thus must be allocated with care. Attributes
- 1-53,55,60-88,90-91 have been allocated, with 17 and 21 available for
- re-use. Attributes 17, 21, 54, 56-59, 89, 92-191 may be allocated
- following Expert Review, with Specification Required. Release of
- blocks of Attribute Types (more than 3 at a time for a given purpose)
- should require IETF Consensus. It is recommended that attributes 17
- and 21 be used only after all others are exhausted.
- Note that RADIUS defines a mechanism for Vendor-Specific extensions
- (Attribute 26) and the use of that should be encouraged instead of
- allocation of global attribute types, for functions specific only to
- one vendor's implementation of RADIUS, where no interoperability is
- deemed useful.
- As stated in the "Attributes" section above:
- "[Attribute Type] Values 192-223 are reserved for experimental
- use, values 224-240 are reserved for implementation-specific use,
- and values 241-255 are reserved and should not be used."
- Therefore Attribute values 192-240 are considered Private Use, and
- values 241-255 require Standards Action.
- Certain attributes (for example, NAS-Port-Type) in RADIUS define a
- list of values to correspond with various meanings. There can be 4
- billion (2^32) values for each attribute. Adding additional values to
- the list can be done on a First Come, First Served basis by the IANA.
- Rigney, et al. Standards Track [Page 65]
- RFC 2865 RADIUS June 2000
- 7. Examples
- A few examples are presented to illustrate the flow of packets and
- use of typical attributes. These examples are not intended to be
- exhaustive, many others are possible. Hexadecimal dumps of the
- example packets are given in network byte order, using the shared
- secret "xyzzy5461".
- 7.1. User Telnet to Specified Host
- The NAS at 192.168.1.16 sends an Access-Request UDP packet to the
- RADIUS Server for a user named nemo logging in on port 3 with
- password "arctangent".
- The Request Authenticator is a 16 octet random number generated by
- the NAS.
- The User-Password is 16 octets of password padded at end with nulls,
- XORed with MD5(shared secret|Request Authenticator).
- 01 00 00 38 0f 40 3f 94 73 97 80 57 bd 83 d5 cb
- 98 f4 22 7a 01 06 6e 65 6d 6f 02 12 0d be 70 8d
- 93 d4 13 ce 31 96 e4 3f 78 2a 0a ee 04 06 c0 a8
- 01 10 05 06 00 00 00 03
- 1 Code = Access-Request (1)
- 1 ID = 0
- 2 Length = 56
- 16 Request Authenticator
- Attributes:
- 6 User-Name = "nemo"
- 18 User-Password
- 6 NAS-IP-Address = 192.168.1.16
- 6 NAS-Port = 3
- The RADIUS server authenticates nemo, and sends an Access-Accept UDP
- packet to the NAS telling it to telnet nemo to host 192.168.1.3.
- The Response Authenticator is a 16-octet MD5 checksum of the code
- (2), id (0), Length (38), the Request Authenticator from above, the
- attributes in this reply, and the shared secret.
- Rigney, et al. Standards Track [Page 66]
- RFC 2865 RADIUS June 2000
- 02 00 00 26 86 fe 22 0e 76 24 ba 2a 10 05 f6 bf
- 9b 55 e0 b2 06 06 00 00 00 01 0f 06 00 00 00 00
- 0e 06 c0 a8 01 03
- 1 Code = Access-Accept (2)
- 1 ID = 0 (same as in Access-Request)
- 2 Length = 38
- 16 Response Authenticator
- Attributes:
- 6 Service-Type (6) = Login (1)
- 6 Login-Service (15) = Telnet (0)
- 6 Login-IP-Host (14) = 192.168.1.3
- 7.2. Framed User Authenticating with CHAP
- The NAS at 192.168.1.16 sends an Access-Request UDP packet to the
- RADIUS Server for a user named flopsy logging in on port 20 with PPP,
- authenticating using CHAP. The NAS sends along the Service-Type and
- Framed-Protocol attributes as a hint to the RADIUS server that this
- user is looking for PPP, although the NAS is not required to do so.
- The Request Authenticator is a 16 octet random number generated by
- the NAS, and is also used as the CHAP Challenge.
- The CHAP-Password consists of a 1 octet CHAP ID, in this case 22,
- followed by the 16 octet CHAP response.
- 01 01 00 47 2a ee 86 f0 8d 0d 55 96 9c a5 97 8e
- 0d 33 67 a2 01 08 66 6c 6f 70 73 79 03 13 16 e9
- 75 57 c3 16 18 58 95 f2 93 ff 63 44 07 72 75 04
- 06 c0 a8 01 10 05 06 00 00 00 14 06 06 00 00 00
- 02 07 06 00 00 00 01
- 1 Code = 1 (Access-Request)
- 1 ID = 1
- 2 Length = 71
- 16 Request Authenticator
- Attributes:
- 8 User-Name (1) = "flopsy"
- 19 CHAP-Password (3)
- 6 NAS-IP-Address (4) = 192.168.1.16
- 6 NAS-Port (5) = 20
- 6 Service-Type (6) = Framed (2)
- 6 Framed-Protocol (7) = PPP (1)
- Rigney, et al. Standards Track [Page 67]
- RFC 2865 RADIUS June 2000
- The RADIUS server authenticates flopsy, and sends an Access-Accept
- UDP packet to the NAS telling it to start PPP service and assign an
- address for the user out of its dynamic address pool.
- The Response Authenticator is a 16-octet MD5 checksum of the code
- (2), id (1), Length (56), the Request Authenticator from above, the
- attributes in this reply, and the shared secret.
- 02 01 00 38 15 ef bc 7d ab 26 cf a3 dc 34 d9 c0
- 3c 86 01 a4 06 06 00 00 00 02 07 06 00 00 00 01
- 08 06 ff ff ff fe 0a 06 00 00 00 02 0d 06 00 00
- 00 01 0c 06 00 00 05 dc
- 1 Code = Access-Accept (2)
- 1 ID = 1 (same as in Access-Request)
- 2 Length = 56
- 16 Response Authenticator
- Attributes:
- 6 Service-Type (6) = Framed (2)
- 6 Framed-Protocol (7) = PPP (1)
- 6 Framed-IP-Address (8) = 255.255.255.254
- 6 Framed-Routing (10) = None (0)
- 6 Framed-Compression (13) = VJ TCP/IP Header Compression (1)
- 6 Framed-MTU (12) = 1500
- 7.3. User with Challenge-Response card
- The NAS at 192.168.1.16 sends an Access-Request UDP packet to the
- RADIUS Server for a user named mopsy logging in on port 7. The user
- enters the dummy password "challenge" in this example. The challenge
- and response generated by the smart card for this example are
- "32769430" and "99101462".
- The Request Authenticator is a 16 octet random number generated by
- the NAS.
- The User-Password is 16 octets of password, in this case "challenge",
- padded at the end with nulls, XORed with MD5(shared secret|Request
- Authenticator).
- 01 02 00 39 f3 a4 7a 1f 6a 6d 76 71 0b 94 7a b9
- 30 41 a0 39 01 07 6d 6f 70 73 79 02 12 33 65 75
- 73 77 82 89 b5 70 88 5e 15 08 48 25 c5 04 06 c0
- a8 01 10 05 06 00 00 00 07
- Rigney, et al. Standards Track [Page 68]
- RFC 2865 RADIUS June 2000
- 1 Code = Access-Request (1)
- 1 ID = 2
- 2 Length = 57
- 16 Request Authenticator
- Attributes:
- 7 User-Name (1) = "mopsy"
- 18 User-Password (2)
- 6 NAS-IP-Address (4) = 192.168.1.16
- 6 NAS-Port (5) = 7
- The RADIUS server decides to challenge mopsy, sending back a
- challenge string and looking for a response. The RADIUS server
- therefore and sends an Access-Challenge UDP packet to the NAS.
- The Response Authenticator is a 16-octet MD5 checksum of the code
- (11), id (2), length (78), the Request Authenticator from above, the
- attributes in this reply, and the shared secret.
- The Reply-Message is "Challenge 32769430. Enter response at prompt."
- The State is a magic cookie to be returned along with user's
- response; in this example 8 octets of data (33 32 37 36 39 34 33 30
- in hex).
- 0b 02 00 4e 36 f3 c8 76 4a e8 c7 11 57 40 3c 0c
- 71 ff 9c 45 12 30 43 68 61 6c 6c 65 6e 67 65 20
- 33 32 37 36 39 34 33 30 2e 20 20 45 6e 74 65 72
- 20 72 65 73 70 6f 6e 73 65 20 61 74 20 70 72 6f
- 6d 70 74 2e 18 0a 33 32 37 36 39 34 33 30
- 1 Code = Access-Challenge (11)
- 1 ID = 2 (same as in Access-Request)
- 2 Length = 78
- 16 Response Authenticator
- Attributes:
- 48 Reply-Message (18)
- 10 State (24)
- The user enters his response, and the NAS send a new Access-Request
- with that response, and includes the State Attribute.
- The Request Authenticator is a new 16 octet random number.
- The User-Password is 16 octets of the user's response, in this case
- "99101462", padded at the end with nulls, XORed with MD5(shared
- secret|Request Authenticator).
- Rigney, et al. Standards Track [Page 69]
- RFC 2865 RADIUS June 2000
- The state is the magic cookie from the Access-Challenge packet,
- unchanged.
- 01 03 00 43 b1 22 55 6d 42 8a 13 d0 d6 25 38 07
- c4 57 ec f0 01 07 6d 6f 70 73 79 02 12 69 2c 1f
- 20 5f c0 81 b9 19 b9 51 95 f5 61 a5 81 04 06 c0
- a8 01 10 05 06 00 00 00 07 18 10 33 32 37 36 39
- 34 33 30
- 1 Code = Access-Request (1)
- 1 ID = 3 (Note that this changes.)
- 2 Length = 67
- 16 Request Authenticator
- Attributes:
- 7 User-Name = "mopsy"
- 18 User-Password
- 6 NAS-IP-Address (4) = 192.168.1.16
- 6 NAS-Port (5) = 7
- 10 State (24)
- The Response was incorrect (for the sake of example), so the RADIUS
- server tells the NAS to reject the login attempt.
- The Response Authenticator is a 16 octet MD5 checksum of the code
- (3), id (3), length(20), the Request Authenticator from above, the
- attributes in this reply (in this case, none), and the shared secret.
- 03 03 00 14 a4 2f 4f ca 45 91 6c 4e 09 c8 34 0f
- 9e 74 6a a0
- 1 Code = Access-Reject (3)
- 1 ID = 3 (same as in Access-Request)
- 2 Length = 20
- 16 Response Authenticator
- Attributes:
- (none, although a Reply-Message could be sent)
- Rigney, et al. Standards Track [Page 70]
- RFC 2865 RADIUS June 2000
- 8. Security Considerations
- Security issues are the primary topic of this document.
- In practice, within or associated with each RADIUS server, there is a
- database which associates "user" names with authentication
- information ("secrets"). It is not anticipated that a particular
- named user would be authenticated by multiple methods. This would
- make the user vulnerable to attacks which negotiate the least secure
- method from among a set. Instead, for each named user there should
- be an indication of exactly one method used to authenticate that user
- name. If a user needs to make use of different authentication
- methods under different circumstances, then distinct user names
- SHOULD be employed, each of which identifies exactly one
- authentication method.
- Passwords and other secrets should be stored at the respective ends
- such that access to them is as limited as possible. Ideally, the
- secrets should only be accessible to the process requiring access in
- order to perform the authentication.
- The secrets should be distributed with a mechanism that limits the
- number of entities that handle (and thus gain knowledge of) the
- secret. Ideally, no unauthorized person should ever gain knowledge
- of the secrets. It is possible to achieve this with SNMP Security
- Protocols [14], but such a mechanism is outside the scope of this
- specification.
- Other distribution methods are currently undergoing research and
- experimentation. The SNMP Security document [14] also has an
- excellent overview of threats to network protocols.
- The User-Password hiding mechanism described in Section 5.2 has not
- been subjected to significant amounts of cryptanalysis in the
- published literature. Some in the IETF community are concerned that
- this method might not provide sufficient confidentiality protection
- [15] to passwords transmitted using RADIUS. Users should evaluate
- their threat environment and consider whether additional security
- mechanisms should be employed.
- 9. Change Log
- The following changes have been made from RFC 2138:
- Strings should use UTF-8 instead of US-ASCII and should be handled as
- 8-bit data.
- Integers and dates are now defined as 32 bit unsigned values.
- Rigney, et al. Standards Track [Page 71]
- RFC 2865 RADIUS June 2000
- Updated list of attributes that can be included in Access-Challenge
- to be consistent with the table of attributes.
- User-Name mentions Network Access Identifiers.
- User-Name may now be sent in Access-Accept for use with accounting
- and Rlogin.
- Values added for Service-Type, Login-Service, Framed-Protocol,
- Framed-Compression, and NAS-Port-Type.
- NAS-Port can now use all 32 bits.
- Examples now include hexadecimal displays of the packets.
- Source UDP port must be used in conjunction with the Request
- Identifier when identifying duplicates.
- Multiple subattributes may be allowed in a Vendor-Specific attribute.
- An Access-Request is now required to contain either a NAS-IP-Address
- or NAS-Identifier (or may contain both).
- Added notes under "Operations" with more information on proxy,
- retransmissions, and keep-alives.
- If multiple Attributes with the same Type are present, the order of
- Attributes with the same Type MUST be preserved by any proxies.
- Clarified Proxy-State.
- Clarified that Attributes must not depend on position within the
- packet, as long as Attributes of the same type are kept in order.
- Added IANA Considerations section.
- Updated section on "Proxy" under "Operations".
- Framed-MTU can now be sent in Access-Request as a hint.
- Updated Security Considerations.
- Text strings identified as a subset of string, to clarify use of
- UTF-8.
- Rigney, et al. Standards Track [Page 72]
- RFC 2865 RADIUS June 2000
- 10. References
- [1] Rigney, C., Rubens, A., Simpson, W. and S. Willens, "Remote
- Authentication Dial In User Service (RADIUS)", RFC 2138, April
- 1997.
- [2] Bradner, S., "Key words for use in RFCs to Indicate Requirement
- Levels", BCP 14, RFC 2119, March, 1997.
- [3] Rivest, R. and S. Dusse, "The MD5 Message-Digest Algorithm",
- RFC 1321, April 1992.
- [4] Postel, J., "User Datagram Protocol", STD 6, RFC 768, August
- 1980.
- [5] Rigney, C., "RADIUS Accounting", RFC 2866, June 2000.
- [6] Reynolds, J. and J. Postel, "Assigned Numbers", STD 2, RFC
- 1700, October 1994.
- [7] Yergeau, F., "UTF-8, a transformation format of ISO 10646", RFC
- 2279, January 1998.
- [8] Aboba, B. and M. Beadles, "The Network Access Identifier", RFC
- 2486, January 1999.
- [9] Kaufman, C., Perlman, R., and Speciner, M., "Network Security:
- Private Communications in a Public World", Prentice Hall, March
- 1995, ISBN 0-13-061466-1.
- [10] Jacobson, V., "Compressing TCP/IP headers for low-speed serial
- links", RFC 1144, February 1990.
- [11] ISO 8859. International Standard -- Information Processing --
- 8-bit Single-Byte Coded Graphic Character Sets -- Part 1: Latin
- Alphabet No. 1, ISO 8859-1:1987.
- [12] Sklower, K., Lloyd, B., McGregor, G., Carr, D. and T.
- Coradetti, "The PPP Multilink Protocol (MP)", RFC 1990, August
- 1996.
- [13] Alvestrand, H. and T. Narten, "Guidelines for Writing an IANA
- Considerations Section in RFCs", BCP 26, RFC 2434, October
- 1998.
- [14] Galvin, J., McCloghrie, K. and J. Davin, "SNMP Security
- Protocols", RFC 1352, July 1992.
- Rigney, et al. Standards Track [Page 73]
- RFC 2865 RADIUS June 2000
- [15] Dobbertin, H., "The Status of MD5 After a Recent Attack",
- CryptoBytes Vol.2 No.2, Summer 1996.
- 11. Acknowledgements
- RADIUS was originally developed by Steve Willens of Livingston
- Enterprises for their PortMaster series of Network Access Servers.
- 12. Chair's Address
- The working group can be contacted via the current chair:
- Carl Rigney
- Livingston Enterprises
- 4464 Willow Road
- Pleasanton, California 94588
- Phone: +1 925 737 2100
- EMail: cdr@telemancy.com
- Rigney, et al. Standards Track [Page 74]
- RFC 2865 RADIUS June 2000
- 13. Authors' Addresses
- Questions about this memo can also be directed to:
- Carl Rigney
- Livingston Enterprises
- 4464 Willow Road
- Pleasanton, California 94588
- Phone: +1 925 737 2100
- EMail: cdr@telemancy.com
- Allan C. Rubens
- Merit Network, Inc.
- 4251 Plymouth Road
- Ann Arbor, Michigan 48105-2785
- EMail: acr@merit.edu
- William Allen Simpson
- Daydreamer
- Computer Systems Consulting Services
- 1384 Fontaine
- Madison Heights, Michigan 48071
- EMail: wsimpson@greendragon.com
- Steve Willens
- Livingston Enterprises
- 4464 Willow Road
- Pleasanton, California 94588
- EMail: steve@livingston.com
- Rigney, et al. Standards Track [Page 75]
- RFC 2865 RADIUS June 2000
- 14. Full Copyright Statement
- Copyright (C) The Internet Society (2000). All Rights Reserved.
- This document and translations of it may be copied and furnished to
- others, and derivative works that comment on or otherwise explain it
- or assist in its implementation may be prepared, copied, published
- and distributed, in whole or in part, without restriction of any
- kind, provided that the above copyright notice and this paragraph are
- included on all such copies and derivative works. However, this
- document itself may not be modified in any way, such as by removing
- the copyright notice or references to the Internet Society or other
- Internet organizations, except as needed for the purpose of
- developing Internet standards in which case the procedures for
- copyrights defined in the Internet Standards process must be
- followed, or as required to translate it into languages other than
- English.
- The limited permissions granted above are perpetual and will not be
- revoked by the Internet Society or its successors or assigns.
- This document and the information contained herein is provided on an
- "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
- TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- Acknowledgement
- Funding for the RFC Editor function is currently provided by the
- Internet Society.
- Rigney, et al. Standards Track [Page 76]
|