home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_n_r / draft-rfced-info-zorn-00.txt < prev    next >
Text File  |  1997-10-29  |  34KB  |  951 lines

  1.  
  2. Network Working Group                                            G. Zorn
  3. Internet-Draft                                     Microsoft Corporation
  4. Category: Informational                                     October 1997
  5. <draft-rfced-info-zorn-00.txt>
  6.  
  7.                  RADIUS Attributes for MS-CHAP Support
  8.  
  9.  
  10. 1.  Status of this Memo
  11.  
  12. This  document  is an Internet-Draft.  Internet-Drafts are working docu-
  13. ments of the Internet Engineering Task Force (IETF), its areas, and  its
  14. working groups.  Note that other groups may also distribute working doc-
  15. uments as Internet-Drafts.
  16.  
  17. Internet-Drafts are draft documents valid for a maximum  of  six  months
  18. and  may  be  updated,  replaced, or obsoleted by other documents at any
  19. time.  It is inappropriate to use Internet-Drafts as reference  material
  20. or to cite them other than as ``work in progress''.
  21.  
  22. To  learn  the  current  status  of any Internet-Draft, please check the
  23. ``1id-abstracts.txt'' listing contained in  the  Internet-Drafts  Shadow
  24. Directories  on ds.internic.net (US East Coast), nic.nordu.net (Europe),
  25. ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim).
  26.  
  27. This memo provides information for the Internet  community.   This  memo
  28. does  not specify an Internet standard of any kind.  The distribution of
  29. this  memo  is  unlimited.   It  is  filed  as   <draft-ietf-rfced-info-
  30. zorn-00.txt>  and  expires  April  1, 1997.  Please send comments to the
  31. author (glennz@microsoft.com).
  32.  
  33.  
  34. 2.  Abstract
  35.  
  36. This document describes  a  set  of  vendor-specific  RADIUS  attributes
  37. designed  to  support  the use of Microsoft's proprietary dialect of PPP
  38. CHAP (MS-CHAP) in dial-up networks.  MS-CHAP is derived from and  (where
  39. possible) consistent with PPP CHAP [1]; the differences between PPP CHAP
  40. and MS-CHAP are significant enough to  warrant  the  definition  of  new
  41. RADIUS attributes, however.
  42.  
  43.  
  44. 3.  Introduction
  45.  
  46. Microsoft  created Microsoft Challenge-Handshake Authentication Protocol
  47. (MS-CHAP) to authenticate remote  Windows  workstations,  providing  the
  48. functionality  to which LAN-based users are accustomed.  Where possible,
  49. MS-CHAP is consistent with standard CHAP, and the differences are easily
  50.  
  51.  
  52.  
  53. Zorn                                                            [Page 1]
  54.  
  55. INTERNET-DRAFT          MS-CHAP RADIUS Attributes           October 1997
  56.  
  57.  
  58. modularized.   Briefly,  differences  between  MS-CHAP and standard CHAP
  59. are:
  60.  
  61.    * MS-CHAP is enabled by negotiating CHAP Algorithm 0x80 in LCP
  62.      option 3, Authentication Protocol.
  63.  
  64.    * The MS-CHAP Response packet is in a format designed for
  65.      compatibility with Microsoft Windows NT 3.5, 3.51 and 4.0,
  66.      Microsoft Windows95, and Microsoft LAN Manager 2.x networking
  67.      products.  The MS-CHAP format does not require the
  68.      authenticator to store a clear-text or reversibly encrypted
  69.      password.
  70.  
  71.    * MS-CHAP provides an authenticator-controlled authentication
  72.      retry mechanism.
  73.  
  74.    * MS-CHAP provides an authenticator-controlled password changing
  75.      mechanism.
  76.  
  77.    * MS-CHAP defines an extended  set of reason-for-failure codes,
  78.      returned in the Failure packet Message field.
  79.  
  80. The attributes defined in this document reflect these differences.
  81.  
  82.  
  83. 4.  Specification of Requirements
  84.  
  85. In this document, the key words "MAY", "MUST,  "MUST  NOT",  "optional",
  86. "recommended",  "SHOULD",  and  "SHOULD  NOT"  are  to be interpreted as
  87. described in [2].
  88.  
  89.  
  90. 5.  Attributes
  91.  
  92. The following sections describe sub-attributes which may be  transmitted
  93. in one or more RADIUS attributes of type Vendor-Specific [3].  More than
  94. one  sub-attribute  MAY  be  transmitted  in  a  single  Vendor-Specific
  95. Attribute;  if  this  is  done, the sub-attributes SHOULD be packed as a
  96. sequence of Vendor-Type/Vendor-Length/Value triples following the inital
  97. Type,  Length and Vendor-ID fields.  The Length field of the Vendor-Spe-
  98. cific Attribute MUST be set equal to the sum of the Vendor-Length fields
  99. of  the  sub-attributes contained in the Vendor-Specific Attribute, plus
  100. six.  The Vendor-ID field of the Vendor-Specific  Attribute(s)  MUST  be
  101. set to decimal 311 (Microsoft).
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109. Zorn                                                            [Page 2]
  110.  
  111. INTERNET-DRAFT          MS-CHAP RADIUS Attributes           October 1997
  112.  
  113.  
  114. 5.1.  MS-CHAP-Challenge
  115.  
  116.    Description
  117.  
  118.       This Attribute contains the challenge sent by a NAS to a Microsoft
  119.       Challenge-Handshake Authentication Protocol  (MS-CHAP)  user.   It
  120.       MAY be used in both Access-Request and Access-Challenge packets.
  121.  
  122.    A  summary  of  the MS-CHAP-Response Attribute format is shown below.
  123.    The fields are transmitted from left to right.
  124.  
  125.    0                   1                   2                   3
  126.    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
  127.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  128.    | Vendor-Type | Vendor-Length |           String...
  129.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  130.  
  131.    Vendor-Type
  132.  
  133.       11 for MS-CHAP-Challenge.
  134.  
  135.    Vendor-Length
  136.  
  137.       > 2
  138.  
  139.    String
  140.  
  141.       The String field contains the MS-CHAP challenge.
  142.  
  143.  
  144. 5.2.  MS-CHAP-Response
  145.  
  146.    Description
  147.  
  148.       This Attribute contains the  response  value  provided  by  a  PPP
  149.       Microsoft  Challenge-Handshake  Authentication  Protocol (MS-CHAP)
  150.       user in response to the challenge.  It is  only  used  in  Access-
  151.       Request packets.
  152.  
  153.    A  summary  of  the MS-CHAP-Response Attribute format is shown below.
  154.    The fields are transmitted from left to right.
  155.  
  156.    0                   1                   2                   3
  157.    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
  158.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  159.    |  Vendor-Type  | Vendor-Length |    Ident    |     Flags     |
  160.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  161.    |                           LM-Response
  162.  
  163.  
  164.  
  165. Zorn                                                            [Page 3]
  166.  
  167. INTERNET-DRAFT          MS-CHAP RADIUS Attributes           October 1997
  168.  
  169.  
  170.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  171.                             LM-Response (cont)
  172.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  173.                             LM-Response (cont)
  174.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  175.                             LM-Response (cont)
  176.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  177.                             LM-Response (cont)
  178.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  179.                             LM-Response(cont)                    |
  180.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  181.    |                           NT-Response
  182.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  183.                             NT-Response (cont)
  184.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  185.                             NT-Response (cont)
  186.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  187.                             NT-Response (cont)
  188.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  189.                             NT-Response (cont)
  190.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  191.                             NT-Response (cont)                   |
  192.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  193.  
  194.    Vendor-Type
  195.  
  196.       1 for MS-CHAP-Response.
  197.  
  198.    Vendor-Length
  199.  
  200.       52
  201.  
  202.    Ident
  203.       Identical to the PPP CHAP Identifier.
  204.  
  205.    Flags
  206.       The Flags field is one octet in length.  If the Flags field is one
  207.       (0x01),  the  NT-Response field is to be used in preference to the
  208.       LM-Response field for authentication.  The LM-Response  field  MAY
  209.       still  be used (if non-empty), but the NT-Response SHOULD be tried
  210.       first.  If it is zero, the NT-Response field MUST be  ignored  and
  211.       the LM-Response field used.
  212.  
  213.    LM-Response
  214.       The  LM-Response field is 24 octets in length and holds an encoded
  215.       function of the password and  the  received  challenge.   If  this
  216.       field is empty, it SHOULD be zero-filled.
  217.  
  218.  
  219.  
  220.  
  221. Zorn                                                            [Page 4]
  222.  
  223. INTERNET-DRAFT          MS-CHAP RADIUS Attributes           October 1997
  224.  
  225.  
  226.    NT-Response
  227.       The  NT-Response field is 24 octets in length and holds an encoded
  228.       function of the password and  the  received  challenge.   If  this
  229.       field is empty, it SHOULD be zero-filled.
  230.  
  231.  
  232. 5.3.  MS-CHAP-Domain
  233.  
  234.    Description
  235.  
  236.       The  MS-CHAP-Domain  Attribute  indicates the Windows NT domain in
  237.       which the user was authenticated.  It  MAY  be  included  in  both
  238.       Access-Accept and Accounting-Request packets.
  239.  
  240.    A summary of the MS-CHAP-Domain Attribute format is given below.  The
  241.    fields are transmitted left to right.
  242.  
  243.    0                   1                   2                   3
  244.    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
  245.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  246.    | Vendor-Type | Vendor-Length |     Ident     |    String...
  247.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  248.  
  249.    Vendor-Type
  250.  
  251.       10 for MS-CHAP-Domain.
  252.  
  253.    Vendor-Length
  254.  
  255.       > 3
  256.  
  257.    Ident
  258.  
  259.       The Ident field is one octet and aids  in  matching  requests  and
  260.       replies.
  261.  
  262.    String
  263.  
  264.       This  field contains the name in ASCII of the Windows NT domain in
  265.       which the user was authenticated.
  266.  
  267.  
  268. 5.4.  MS-CHAP-Error
  269.  
  270.    Description
  271.  
  272.       The MS-CHAP-Error Attribute contains error  data  related  to  the
  273.       preceding  MS-CHAP  exchange.   It  is  only used in Access-Reject
  274.  
  275.  
  276.  
  277. Zorn                                                            [Page 5]
  278.  
  279. INTERNET-DRAFT          MS-CHAP RADIUS Attributes           October 1997
  280.  
  281.  
  282.       packets.
  283.  
  284.    A summary of the MS-CHAP-Error Attribute format is given below.   The
  285.    fields are transmitted left to right.
  286.  
  287.    0                   1                   2                   3
  288.    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
  289.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  290.    | Vendor-Type | Vendor-Length |     Ident     |    String...
  291.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  292.  
  293.    Vendor-Type
  294.  
  295.       2 for MS-CHAP-Error.
  296.  
  297.    Vendor-Length
  298.  
  299.       > 3
  300.  
  301.    Ident
  302.  
  303.       The  Ident  field  is  one octet and aids in matching requests and
  304.       replies.
  305.  
  306.    String
  307.  
  308.       This field contains up to 48 octets of specially  formatted  ASCII
  309.       text, which is interpreted by the authenticating peer.  The format
  310.       of this field is as follows:
  311.  
  312.          "E=eeeeeeeeee R=r C=cccccccccccccccc V=vvvvvvvvvv"
  313.  
  314.       where the "eeeeeeeeee" represents an  ASCII  representation  of  a
  315.       decimal  error code of up to 10 digits corresponding to one of the
  316.       following:
  317.  
  318.          646 ERROR_RESTRICTED_LOGON_HOURS
  319.          647 ERROR_ACCT_DISABLED
  320.          648 ERROR_PASSWD_EXPIRED
  321.          649 ERROR_NO_DIALIN_PERMISSION
  322.          691 ERROR_AUTHENTICATION_FAILURE
  323.          709 ERROR_CHANGING_PASSWORD
  324.  
  325.       Implementations should deal with codes not  on  this  list  grace-
  326.       fully,  however.   Please note that (unlike PPP CHAP), the receipt
  327.       of   some   of   these   error   codes   (in    particular,    the
  328.       ERROR_PASSWD_EXPIRED code) will modify the subsequent operation of
  329.       the MS-CHAP protocol.  The 'r' is a retry flag (set to  '1'  if  a
  330.  
  331.  
  332.  
  333. Zorn                                                            [Page 6]
  334.  
  335. INTERNET-DRAFT          MS-CHAP RADIUS Attributes           October 1997
  336.  
  337.  
  338.       retry is allowed and '0' otherwise), the "cccccccccccccccc" repre-
  339.       sents 16 hexadecimal digits ('0'-'F') specifying a  new  challenge
  340.       value,  and  the "vvvvvvvvvv" is a decimal version code signifying
  341.       the version of MS-CHAP supported by the server.
  342.  
  343.  
  344. 5.5.  MS-CHAP-CPW-1
  345.  
  346.    Description
  347.  
  348.       This Attribute allows the user to change their password if it  has
  349.       expired.   This  Attribute is only used in Access-Request packets,
  350.       and should only be included  if  an  MS-CHAP-Error  attribute  was
  351.       included  in  the  immediately preceding Access-Reject packet, the
  352.       String field of the MS-CHAP-Error  attribute  indicated  that  the
  353.       user password had expired, and the MS-CHAP version is less than 2.
  354.  
  355.    A summary of the MS-CHAP-CPW-1  Attribute format is shown below.  The
  356.    fields are transmitted from left to right.
  357.  
  358.    0                   1                   2                   3
  359.    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
  360.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  361.    | Vendor-Type | Vendor-Length |     Code      |     Ident     |
  362.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  363.    |                       LM-Old-Password
  364.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  365.                         LM-Old-Password (cont)
  366.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  367.                         LM-Old-Password (cont)
  368.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  369.                         LM-Old-Password (cont)                   |
  370.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  371.    |                       LM-New-Password
  372.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  373.                         LM-New-Password (cont)
  374.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  375.                         LM-New-Password (cont)
  376.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  377.                         LM-New-Password (cont)                   |
  378.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  379.    |                       NT-Old-Password
  380.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  381.                         NT-Old-Password (cont)
  382.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  383.                         NT-Old-Password (cont)
  384.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  385.                         NT-Old-Password (cont)                   |
  386.  
  387.  
  388.  
  389. Zorn                                                            [Page 7]
  390.  
  391. INTERNET-DRAFT          MS-CHAP RADIUS Attributes           October 1997
  392.  
  393.  
  394.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  395.    |                       NT-New-Password
  396.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  397.                         NT-New-Password (cont)
  398.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  399.                         NT-New-Password (cont)
  400.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  401.                         NT-New-Password (cont)                   |
  402.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  403.    |    New-LM-Password-Length   |             Flags             |
  404.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  405.  
  406.    Vendor-Type
  407.  
  408.       3 for MS-CHAP-PW-1
  409.  
  410.    Vendor-Length
  411.  
  412.       72
  413.  
  414.    Code
  415.  
  416.       The Code field is one octet in length.  Its value is always 5.
  417.  
  418.    Ident
  419.  
  420.       The  Ident  field  is  one octet and aids in matching requests and
  421.       replies.
  422.  
  423.    LM-Old-Password
  424.  
  425.       The LM-Old-Password field is 16 octets in length.  It contains the
  426.       encrypted Lan Manager hash of the old password.
  427.  
  428.    LM-New-Password
  429.  
  430.       The LM-New-Password field is 16 octets in length.  It contains the
  431.       encrypted Lan Manager hash of the new password.
  432.  
  433.    NT-Old-Password
  434.  
  435.       The NT-Old-Password field is 16 octets in length.  It contains the
  436.       encrypted Lan Manager hash of the old password.
  437.  
  438.    NT-New-Password
  439.  
  440.       The NT-New-Password field is 16 octets in length.  It contains the
  441.       encrypted Lan Manager hash of the new password.
  442.  
  443.  
  444.  
  445. Zorn                                                            [Page 8]
  446.  
  447. INTERNET-DRAFT          MS-CHAP RADIUS Attributes           October 1997
  448.  
  449.  
  450.    New-LM-Password-Length
  451.  
  452.       The New-LM-Password-Length field is two octets in length and  con-
  453.       tains the length in octets of the new LAN Manager-compatible pass-
  454.       word.
  455.  
  456.    Flags
  457.  
  458.       The Flags field is two octets in length.  If the least significant
  459.       bit  of  the  Flags  field is one, this indicates that the NT-New-
  460.       Password and NT-Old-Password fields are valid and SHOULD be  used.
  461.       Otherwise,  the LM-New-Password and LM-Old-Password fields MUST be
  462.       used.
  463.  
  464.  
  465. 5.6.  MS-CHAP-CPW-2
  466.  
  467.    Description
  468.  
  469.       This Attribute allows the user to change their password if it  has
  470.       expired.   This  Attribute is only used in Access-Request packets,
  471.       and should only be included  if  an  MS-CHAP-Error  attribute  was
  472.       included  in  the  immediately preceding Access-Reject packet, the
  473.       String field of the MS-CHAP-Error  attribute  indicated  that  the
  474.       user  password  had  expired,  and  the  MS-CHAP  version  is 2 or
  475.       greater.
  476.  
  477.    A summary of the MS-CHAP-CPW-2  Attribute format is shown below.  The
  478.    fields are transmitted from left to right.
  479.  
  480.    0                   1                   2                   3
  481.    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
  482.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  483.    | Vendor-Type | Vendor-Length |     Code      |     Ident     |
  484.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  485.    |                        Old-NT-Hash
  486.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  487.                          Old-NT-Hash (cont)
  488.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  489.                          Old-NT-Hash (cont)
  490.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  491.                          Old-NT-Hash (cont)                      |
  492.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  493.    |                        Old-LM-Hash
  494.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  495.                           Old-LM-Hash(cont)
  496.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  497.                           Old-LM-Hash(cont)
  498.  
  499.  
  500.  
  501. Zorn                                                            [Page 9]
  502.  
  503. INTERNET-DRAFT          MS-CHAP RADIUS Attributes           October 1997
  504.  
  505.  
  506.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  507.                           Old-LM-Hash(cont)                      |
  508.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  509.    |                        LM-Response
  510.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  511.                           LM-Response (cont)
  512.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  513.                           LM-Response (cont)
  514.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  515.                           LM-Response (cont)
  516.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  517.                           LM-Response (cont)
  518.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  519.                           LM-Response (cont)                     |
  520.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  521.    |                         NT-Response
  522.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  523.                           NT-Response (cont)
  524.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  525.                           NT-Response (cont)
  526.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  527.                           NT-Response (cont)
  528.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  529.                           NT-Response (cont)
  530.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  531.                           NT-Response (cont)                     |
  532.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  533.    |           Flags             |
  534.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  535.  
  536.    Vendor-Type
  537.  
  538.       4 for MS-CHAP-PW-2
  539.  
  540.    Vendor-Length
  541.  
  542.       86
  543.  
  544.    Code
  545.  
  546.       6
  547.  
  548.    Ident
  549.  
  550.       The  Ident  field  is  one octet and aids in matching requests and
  551.       replies.  The value of this field MUST be identical to that in the
  552.       Ident field in all instances of the MS-CHAP-LM-Enc-PW, MS-CHAP-NT-
  553.       Enc-PW and MS-CHAP-PW-2 attributes contained in a  single  Access-
  554.  
  555.  
  556.  
  557. Zorn                                                           [Page 10]
  558.  
  559. INTERNET-DRAFT          MS-CHAP RADIUS Attributes           October 1997
  560.  
  561.  
  562.       Request packet.
  563.  
  564.    Old-NT-Hash
  565.  
  566.       The Old-NT-Hash field is 16 octets in length.  It contains the old
  567.       Windows NT password hash encrypted with the new Windows  NT  pass-
  568.       word hash.
  569.  
  570.    Old-LM-Hash
  571.  
  572.       The Old-LM-Hash field is 16 octets in length.  It contains the old
  573.       Lan Manager password hash encrypted with the new Windows NT  pass-
  574.       word hash.
  575.  
  576.    LM-Response
  577.  
  578.       The  LM-Response field is 24 octets in length and holds an encoded
  579.       function of the password and  the  received  challenge.   If  this
  580.       field is empty, it SHOULD be zero-filled.
  581.  
  582.    NT-Response
  583.  
  584.       The  NT-Response field is 24 octets in length and holds an encoded
  585.       function of the password and  the  received  challenge.   If  this
  586.       field is empty, it SHOULD be zero-filled.
  587.  
  588.    Flags
  589.       The Flags field is two octets in length.  If the least significant
  590.       bit (bit 0) of this field is one, the NT-Response field is  to  be
  591.       used  in  preference  to the LM-Response field for authentication.
  592.       The LM-Response field MAY still be used (if present), but the  NT-
  593.       Response  SHOULD  be tried first.  If least significant bit of the
  594.       field is zero, the NT-Response field MUST be ignored and  the  LM-
  595.       Response  field used instead.  If bit 1 of the Flags field is one,
  596.       the Old-LM-Hash field is valid and SHOULD be used.  If this bit is
  597.       set, at least one instance of the MS-CHAP-LM-Enc-PW attribute MUST
  598.       be included in the packet.
  599.  
  600.  
  601. 5.7.  MS-CHAP-LM-Enc-PW
  602.  
  603.    Description
  604.  
  605.       This Attribute contains the new Windows NT password encrypted with
  606.       the old LAN Manager password hash.  The encrypted Windows NT pass-
  607.       word is 516 octets in length; since this is longer than the  maxi-
  608.       mum lengtth of a RADIUS attribute, the password must be split into
  609.       several attibutes for transmission.  A 2 octet sequence number  is
  610.  
  611.  
  612.  
  613. Zorn                                                           [Page 11]
  614.  
  615. INTERNET-DRAFT          MS-CHAP RADIUS Attributes           October 1997
  616.  
  617.  
  618.       included  in  the attribute to help preserve ordering of the pass-
  619.       word fragments.
  620.  
  621.       This Attribute is only used in Access-Request packets, in conjunc-
  622.       tion with the MS-CHAP-CPW-2 attribute.  It should only be included
  623.       if an MS-CHAP-Error attribute was included in the immediately pre-
  624.       ceding Access-Reject packet, the String field of the MS-CHAP-Error
  625.       attribute indicated that the user password had  expired,  and  the
  626.       MS-CHAP version is 2 or greater.
  627.  
  628.    A  summary  of the MS-CHAP-LM-Enc-PW Attribute format is shown below.
  629.    The fields are transmitted from left to right.
  630.  
  631.    0                   1                   2                   3
  632.    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
  633.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  634.    | Vendor-Type | Vendor-Length |      Code     |     Ident     |
  635.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  636.    |     Sequence-Number         |          String ...
  637.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  638.  
  639.    Vendor-Type
  640.  
  641.       5 for MS-CHAP-LM-Enc-PW
  642.  
  643.    Vendor-Length
  644.  
  645.       > 6
  646.  
  647.    Code
  648.  
  649.       6.  Code is the same as for the MS-CHAP-PW-2 attribute.
  650.  
  651.    Ident
  652.  
  653.       The Ident field is one octet and aids  in  matching  requests  and
  654.       replies.   The  value  of  this  field  MUST  be  identical in all
  655.       instances of the MS-CHAP-LM-Enc-PW, MS-CHAP-NT-Enc-PW and MS-CHAP-
  656.       PW-2  attributes  which  are  present  in  the same Access-Request
  657.       packet.
  658.  
  659.    Sequence-Number
  660.  
  661.       The Sequence-Number field is two octets in  length  and  indicates
  662.       which  "chunk"  of the encrypted password is contained in the fol-
  663.       lowing String field.
  664.  
  665.    String
  666.  
  667.  
  668.  
  669. Zorn                                                           [Page 12]
  670.  
  671. INTERNET-DRAFT          MS-CHAP RADIUS Attributes           October 1997
  672.  
  673.  
  674.       The String field contains a portion of the encrypted password.
  675.  
  676.  
  677. 5.8.  MS-CHAP-NT-Enc-PW
  678.  
  679.    Description
  680.  
  681.       This Attribute contains the new Windows NT password encrypted with
  682.       the  old Windows NT password hash.  The encrypted Windows NT pass-
  683.       word is 516 octets in length; since this is longer than the  maxi-
  684.       mum lengtth of a RADIUS attribute, the password must be split into
  685.       several attibutes for transmission.  A 2 octet sequence number  is
  686.       included  in  the attribute to help preserve ordering of the pass-
  687.       word fragments.
  688.  
  689.       This Attribute is only used in Access-Request packets, in conjunc-
  690.       tion with the MS-CHAP-CPW-2 attribute.  It should only be included
  691.       if an MS-CHAP-Error attribute was included in the immediately pre-
  692.       ceding Access-Reject packet, the String field of the MS-CHAP-Error
  693.       attribute indicated that the user password had  expired,  and  the
  694.       MS-CHAP version is 2 or greater.
  695.  
  696.    A  summary  of the MS-CHAP-NT-Enc-PW Attribute format is shown below.
  697.    The fields are transmitted from left to right.
  698.  
  699.    0                   1                   2                   3
  700.    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
  701.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  702.    | Vendor-Type | Vendor-Length |      Code     |     Ident     |
  703.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  704.    |       Sequence-Number       |           String ...
  705.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  706.  
  707.    Vendor-Type
  708.  
  709.       6 for MS-CHAP-NT-Enc-PW
  710.  
  711.    Vendor-Length
  712.  
  713.       > 6
  714.  
  715.    Code
  716.  
  717.       6.  Code is the same as for the MS-CHAP-PW-2 attribute.
  718.  
  719.    Ident
  720.  
  721.       The Ident field is one octet and aids  in  matching  requests  and
  722.  
  723.  
  724.  
  725. Zorn                                                           [Page 13]
  726.  
  727. INTERNET-DRAFT          MS-CHAP RADIUS Attributes           October 1997
  728.  
  729.  
  730.       replies.   The  value  of  this  field  MUST  be  identical in all
  731.       instances of the MS-CHAP-LM-Enc-PW, MS-CHAP-NT-Enc-PW and MS-CHAP-
  732.       PW-2  attributes  which  are  present  in  the same Access-Request
  733.       packet.
  734.  
  735.    Sequence-Number
  736.  
  737.       The Sequence-Number field is two octets in  length  and  indicates
  738.       which  "chunk"  of the encrypted password is contained in the fol-
  739.       lowing String field.
  740.  
  741.    String
  742.       The String field contains a portion of the encrypted password.
  743.  
  744.  
  745. 5.9.  MS-CHAP-MPPE-Keys
  746.  
  747.    Description
  748.  
  749.       The MS-CHAP-MPPE-Keys Attribute contains two session keys for  use
  750.       by  the Microsoft Point-to-Point Encryption Protocol (MPPE).  This
  751.       Attribute is only included in Access-Accept packets.
  752.  
  753.    A summary of the MS-CHAP-MPPE-Keys Attribute format is  given  below.
  754.    The fields are transmitted left to right.
  755.  
  756.    0                   1                   2                   3
  757.    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
  758.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  759.    | Vendor-Type | Vendor-Length |           Keys
  760.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  761.                             Keys (cont)
  762.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  763.                             Keys (cont)
  764.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  765.                             Keys (cont)
  766.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  767.                             Keys (cont)
  768.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  769.                             Keys (cont)
  770.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  771.                             Keys (cont)
  772.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  773.                             Keys (cont)
  774.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  775.              Keys (cont)         |
  776.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  777.  
  778.  
  779.  
  780.  
  781. Zorn                                                           [Page 14]
  782.  
  783. INTERNET-DRAFT          MS-CHAP RADIUS Attributes           October 1997
  784.  
  785.  
  786.    Vendor-Type
  787.  
  788.       12 for MS-CHAP-MPPE-Keys.
  789.  
  790.    Vendor-Length
  791.  
  792.       34
  793.  
  794.    Keys
  795.  
  796.       The  Keys field consists of two logical sub-fields: the LM-Key and
  797.       the NT-Key.  The LM-Key is eight octets in length and contains the
  798.       first  eight bytes of the hashed LAN Manager password.  The NT-Key
  799.       sub-field is sixteen octets in length and contains the first  six-
  800.       teen  octets of the hashed Windows NT password.  The format of the
  801.       plaintext Keys field is illustrated in the following diagram:
  802.  
  803.       0                   1                   2                   3
  804.       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
  805.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  806.       |                           LM-Key
  807.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  808.                                LM-Key (cont)                        |
  809.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  810.       |                           NT-Key
  811.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  812.                                NT-Key (cont)
  813.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  814.                                NT-Key (cont)
  815.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  816.                                NT-Key (cont)                        |
  817.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  818.       |                          Padding
  819.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  820.                               Padding (cont)                        |
  821.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  822.  
  823.       The Keys field MUST be encrypted by the RADIUS  server  using  the
  824.       same  method  defined  for  the User-Password Attribute [3].  Note
  825.       that the padding is required because the method  referenced  above
  826.       requires  the  field  to  be encrypted to be a multiple of sixteen
  827.       octets in length.
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837. Zorn                                                           [Page 15]
  838.  
  839. INTERNET-DRAFT          MS-CHAP RADIUS Attributes           October 1997
  840.  
  841.  
  842. 6.  Table of Attributes
  843.  
  844. The following table provides a guide to which of  the  above  attributes
  845. may be found in which kinds of packets, and in what quantity.
  846.  
  847.    Request Accept Reject Challenge Acct-Request #  Attribute
  848.    0+      0      0      0+        0            11 MS-CHAP-Challenge
  849.    0+      0      0      0         0             1 MS-CHAP-Response
  850.    0       0+     0      0         0+           10 MS-CHAP-Domain
  851.    0       0      0+     0         0             2 MS-CHAP-Error
  852.    0+      0      0      0         0             3 MS-CHAP-CPW-1
  853.    0+      0      0      0         0             4 MS-CHAP-CPW-2
  854.    0+      0      0      0         0             5 MS-CHAP-LM-Enc-PW
  855.    0+      0      0      0         0             6 MS-CHAP-NT-Enc-PW
  856.    0       0+     0      0         0            12 MS-CHAP-MPPE-Keys
  857.  
  858. The following table defines the meaning of the above table entries.
  859.  
  860.    0     This attribute MUST NOT be present in packet.
  861.    0+    Zero or more instances of this attribute MAY be present in packet.
  862.    0-1   Zero or one instance of this attribute MAY be present in packet.
  863.  
  864.  
  865. 7.  References
  866.  
  867.  
  868. [1]  Simpson,  W.,  "PPP  Challenge  Handshake  Authentication  Protocol
  869.      (CHAP)", RFC 1994, August 1996
  870.  
  871. [2]  Bradner, S.,  "Key words for use in RFCs  to  Indicate  Requirement
  872.      Levels", RFC 2119, March 1997
  873.  
  874. [3]  Rigney,  C.,  et.  al.,  "Remote  Access Dial In User Service", RFC
  875.      2138, April 1997
  876.  
  877.  
  878. 8.  Security Considerations
  879.  
  880. MS-CHAP, like PPP CHAP, is  susceptible  to  dictionary  attacks.   User
  881. passwords  should  be  chosen  with care, and be of sufficient length to
  882. deter easy guessing.  Although the scheme used to protect the Keys field
  883. of  the  MS-CHAP-MPPE-Keys Attribute is believed to be relatively secure
  884. on the wire, RADIUS proxies will decrypt and re-encrypt  the  field  for
  885. forwarding.   Therefore,  the  MS-CHAP-MPPE-Keys attribute SHOULD NOT be
  886. used on networks where untrusted RADIUS proxies reside.
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893. Zorn                                                           [Page 16]
  894.  
  895. INTERNET-DRAFT          MS-CHAP RADIUS Attributes           October 1997
  896.  
  897.  
  898. 9.  Acknowledgements
  899.  
  900. Thanks   to   Carl   Rigney   (cdr@livingston.com),   Narendra   Gidwani
  901. (nareng@microsoft.com),  Steve  Cobb (stevec@microsoft.com), Pat Calhoun
  902. (pcalhoun@usr.com), Dave  Mitton  (dmitton@baynetworks.com),  Paul  Funk
  903. (paul@funk.com), Gurdeep Singh Pall (gurdeep@microsoft.com) and Don Rule
  904. (donaldr@microsoft.com) for useful suggestions and editorial feedback.
  905.  
  906.  
  907. 10.  Expiration Date
  908.  
  909. This document expires April 1, 1997.
  910.  
  911.  
  912. 11.  Author's Address
  913.  
  914.    Glen Zorn
  915.    Microsoft Corporation
  916.    One Microsoft Way
  917.    Redmond, Washington 98052
  918.  
  919.    Phone: +1 425 703 1559
  920.    FAX:   +1 425 936 7329
  921.    EMail: glennz@microsoft.com
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949. Zorn                                                           [Page 17]
  950.  
  951.