home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_j_p / draft-ietf-pppext-eaprsa-04.txt < prev    next >
Text File  |  1997-02-21  |  26KB  |  774 lines

  1.  
  2. Network Working Group                             William T. Whelan
  3. Internet Draft                              Cabletron Systems, Inc.
  4. expires in six months                             February 20, 1997
  5.  
  6.              PPP EAP RSA Public Key Authentication Protocol
  7.                  <draft-ietf-pppext-eaprsa-04.txt>
  8.  
  9. Status of this Memo
  10.  
  11.       This document is a submission to the Point-to-Point
  12.       Protocol Extensions Working Group of the Internet
  13.       Engineering Task Force (IETF).  Comments should be
  14.       submitted to the ietf-ppp@merit.edu mailing list.
  15.  
  16.       Distribution of this memo is unlimited.
  17.  
  18.       This document is an Internet-Draft.  Internet-Drafts
  19.       are working documents of the Internet Engineering Task
  20.       Force (IETF), its areas, and its working groups.  Note
  21.       that other groups may also distribute working documents
  22.       as Internet-Drafts.
  23.  
  24.       Internet-Drafts are draft documents valid for a maximum
  25.       of six months and may be updated, replaced, or
  26.       obsoleted by other documents at any time.  It is not
  27.       appropriate to use Internet-Drafts as reference
  28.       material or to cite them other than as 'work in
  29.       progress.'
  30.  
  31.       To learn the current status of any Internet-Draft,
  32.       please check the '1id-abstracts.txt' listing contained
  33.       in the Internet-Drafts Shadow Directories on
  34.       ds.internic.net (US East Coast), nic.nordu.net
  35.       (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au
  36.       (Pacific Rim).
  37.  
  38. Abstract
  39.  
  40.       The Point-to-Point Protocol (PPP) [1] provides a
  41.       standard method for transporting multi-protocol
  42.       datagrams over point-to-point links
  43.  
  44.       PPP also defines an extensible Link Control Protocol,
  45.       which allows negotiation of an Authentication Protocol
  46.       for authentication its peer before allowing Network
  47.       Layer protocols to transmit over the link.
  48.  
  49.       PPP Extensible Authentication Protocol (EAP) [2]
  50.       provides for a number of authentication mechanisms.
  51.       One of these is RSA Public Key Authentication.  This
  52.       document defines RSA Public Key Authentication Protocol
  53.       within PPP EAP.
  54.  
  55. Whelan                 Expires in six months                   [Page 1]
  56. DRAFT   PPP EAP RSA Public Key Authentication Protocol   February 1997
  57.  
  58.  
  59. 1.   Introduction
  60.  
  61.       In order to establish communications over a point-to-
  62.       point link, each end of the PPP link must first send
  63.       LCP packets to configure the data link during Link
  64.       Establishment phase.  After the link has been
  65.       established, PPP provides for an optional
  66.       Authentication phase before proceeding to the Network-
  67.       Layer Protocol phase.
  68.  
  69.       By default, authentication is not mandatory.  If
  70.       authentication of the link is desired, an
  71.       implementation MUST specify the Authentication-Protocol
  72.       Configuration Option during Link Establishment phase.
  73.  
  74.       PPP Extensible Authentication Protocol (EAP) [2] allows
  75.       for a number of authentication protocols including RSA
  76.       Public Key Authentication Protocol.
  77.  
  78.       This document defines the PPP EAP RSA Public Key
  79.       Authentication Protocol.  The Link Establishment and
  80.       Authentication phases, and the Authentication-Protocol
  81.       Configuration Option are defined in The Point-to-Point
  82.       Protocol (PPP) [1].  The Extensible Authentication
  83.       protocol is defined in PPP Extensible Authentication
  84.       Protocol (EAP) [2].
  85.  
  86. 1.1  Specification of Requirements
  87.  
  88.       In this document, several words are used to signify the
  89.       requirements of the specification.  These words are
  90.       often capitalized.
  91.  
  92.      MUST      This word, or the adjective required, means
  93.                that the definition is an absolute
  94.                requirement of the specification.
  95.  
  96.      MUST NOT  This phrase means that the definition is an
  97.                absolute prohibition of the specification.
  98.  
  99.      SHOULD    This word, or the adjective recommended,
  100.                means that there may exist valid reasons in
  101.                particular circumstances to ignore this item,
  102.                but the full implications must be understood
  103.                and carefully weighed before choosing a
  104.                different course.
  105.  
  106.      MAY       This word, or the adjective optional, means
  107.                that this item is one of an allowed set of
  108.                alternatives.  An implementation which does
  109.  
  110. Whelan                 Expires in six months                   [Page 2]
  111. DRAFT   PPP EAP RSA Public Key Authentication Protocol   February 1997
  112.  
  113.  
  114.                not include this option MUST be prepared to
  115.                interoperate with another implementation
  116.                which does include the option.
  117.  
  118. 1.2  Terminology
  119.  
  120.       This document frequently uses the following terms:
  121.  
  122.       authenticator   The end of the link requiring the
  123.                      authentication.  The authenticator
  124.                      specifies use of RSA Public Key
  125.                      Authentication in the EAP-Request
  126.                      during Authentication phase.
  127.  
  128.       peer            The other end of the point-to-point
  129.                      link; the end which is being
  130.                      authenticated by the authenticator.
  131.  
  132.       RSA key pair    A pair of keys, each of which can be
  133.                      used to encode data or to reverse the
  134.                      encoding performed by the other.  The
  135.                      two keys in the pair are known as the
  136.                      public and private keys.
  137.  
  138.       public key      That key of a users key pair which is
  139.                      publicly known [3].
  140.  
  141.       private key (secret key)  That key of a users key
  142.                      pair which is known only by that user
  143.                      [3].
  144.  
  145.       digital signature    Encipherment, by the originator's
  146.                      secret key, of a compressed string of
  147.                      the relevant data to be transferred.
  148.                      The digital signature together with
  149.                      the plain data is sent to the
  150.                      recipient.  This message is processed
  151.                      by the recipient to prove integrity.
  152.                      The digital signature mechanism also
  153.                      proves the authenticity of the
  154.                      originator and the unambiguous
  155.                      relationship between the originator
  156.                      and the data that was transferred [3].
  157.  
  158.                      A unique digital pattern produced by
  159.                      encoding a message digest of digital
  160.                      document using the signatory's private
  161.                      key.  The signature can be produced
  162.                      only by someone holding the private
  163.                      key and cannot be applied to any but
  164.  
  165. Whelan                 Expires in six months                   [Page 3]
  166. DRAFT   PPP EAP RSA Public Key Authentication Protocol   February 1997
  167.  
  168.  
  169.                      the intended digital document.  The
  170.                      signature can be verified by anyone
  171.                      who has the signatory's public key.
  172.  
  173.       certificate     The public keys of a user, together
  174.                      with some other information, rendered
  175.                      unforgeable by encipherment with the
  176.                      secret key of the certification
  177.                      authority which issued it [3].
  178.  
  179.       certification authority (CA)   An authority trusted by
  180.                      one or more users to create and assign
  181.                      certificates.  Optionally the
  182.                      certification authority may create the
  183.                      users' keys [3].
  184.  
  185.  
  186. 1.3  RSA Data Security, Inc. Licensing
  187.  
  188.      In a letter to the IESG Executive Secretary dated June 12,
  189.      1996, RSA Data Security, Inc. (RSADSI) stated that it is
  190.      offering non-discriminatory licensing terms to use RSA patent
  191.      and software technology.  By offering such licenses, RSADSI
  192.      wishes to encourage the adoption of any and all standards
  193.      which involve RSA technology.
  194.  
  195.      RSADSI's current standard patent licensing terms and conditions
  196.      may be obtained directly from their web site or by contacting
  197.      RSADSI.
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220. Whelan                 Expires in six months                   [Page 4]
  221. DRAFT   PPP EAP RSA Public Key Authentication Protocol   February 1997
  222.  
  223.  
  224. 2.   PPP EAP RSA Public Key Authentication
  225.  
  226.       The PPP Extensible Authentication Protocol is a general
  227.       protocol for PPP authentication which supports multiple
  228.       authentication mechanisms.  EAP MAY be negotiated at
  229.       Link Control Phase.  EAP MAY then be used to select RSA
  230.       Public Key Authentication at Authentication Phase.
  231.  
  232.       RSA Public Key Authentication Protocol is a challenge-
  233.       response protocol based on unilateral two pass
  234.       authentication as described in ISO/IEC 9798-3 [4].  The
  235.       authenticator issues a challenge in the form of a
  236.       Request packet.  The peer MUST formulate a Response
  237.       packet based on information in the Request packet as
  238.       well as information only the peer knows (the peer's
  239.       private key).  The peer MUST also provide in its
  240.       response its own public key as well as proof that it
  241.       knows the corresponding private key.  The Response MUST
  242.       also contain the peer's certificate produced by a
  243.       trusted Certification Authority.
  244.  
  245.       1.   After the Link Establishment phase is complete and
  246.           Extensible Authentication Protocol is negotiated,
  247.            the authenticator sends a Request packet to
  248.            authenticate the peer.  The Request packet has a
  249.            type field specifying RSA Public Key
  250.            Authentication plus some random data produced by
  251.            the authenticator.
  252.  
  253.       2.   The peer sends a Response packet in reply to the
  254.            Request.  The exact contents of the Response is
  255.            partially dependent upon the random data sent by
  256.            the authenticator and partially dependent upon
  257.            random data produced by the peer itself.
  258.  
  259.       Based on information contained in the Response packet,
  260.       the authenticator ends the authentication phase with
  261.       either a Success packet or a Failure packet.  These
  262.       packets are defined in PPP Extensible Authentication
  263.       Protocol (EAP) [2].
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275. Whelan                 Expires in six months                   [Page 5]
  276. DRAFT   PPP EAP RSA Public Key Authentication Protocol   February 1997
  277.  
  278.  
  279. 3    PPP EAP RSA Public Key Authentication Packet Format
  280.  
  281.       A summary of the PPP EAP RSA Public Key Authentication
  282.       Request/Response packet format is shown below.  The
  283.       fields are transmitted from left to right.
  284.  
  285.       0                   1                   2                   3
  286.       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
  287.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  288.      |     Code      |   Identifier  |            Length             |
  289.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  290.      |     Type      |     Data ...
  291.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
  292.  
  293.       Code
  294.            1 - Request
  295.            2 - Response
  296.  
  297.       Identifier
  298.            The identifier field is one octet and aids in
  299.            matching responses with requests.
  300.  
  301.       Length
  302.            The Length field is two octets and indicates the
  303.            length of the EAP packet including the Code,
  304.            Identifier, Length, Type, and Data fields.  Octets
  305.            outside the range of the Length field should be
  306.            treated as Data Link Layer padding and should be
  307.            ignored on reception.
  308.  
  309.       Type
  310.            9 - RSA Public Key Authentication
  311.  
  312.       Data
  313.            The format of the Data field is determined by the
  314.            Code field.
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330. Whelan                 Expires in six months                   [Page 6]
  331. DRAFT   PPP EAP RSA Public Key Authentication Protocol   February 1997
  332.  
  333.  
  334. 3.1  RSA Public Key Request Packet
  335.  
  336.       A summary of the PPP EAP RSA Public Key Authentication
  337.       Request packet format is shown below.  The fields are
  338.       transmitted from left to right.
  339.  
  340.       0                   1                   2                   3
  341.       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
  342.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  343.      |     Code      |   Identifier  |            Length             |
  344.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  345.      |     Type      |   ChallengeVal...                             |
  346.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  347.      |     ...ChallengeVal...                                        |
  348.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  349.      |     ...ChallengeVal...                                        |
  350.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  351.      |     ...ChallengeVal...                                        |
  352.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  353.      |...ChallengeVal|
  354.      +-+-+-+-+-+-+-+-+
  355.  
  356.       Code
  357.            1
  358.  
  359.       Identifier
  360.            The identifier field is one octet and aids in
  361.            matching responses with requests.  The identifier
  362.            field MUST be changed on each Request packet
  363.            containing a different ChallengeVal.
  364.  
  365.       Length
  366.            21
  367.  
  368.       Type
  369.            9
  370.  
  371.       ChallengeVal
  372.            The ChallengeVal is sixteen octets of data.  It
  373.            SHOULD be generated by the authenticator in such a
  374.            way as to assure that it cannot be predicted by an
  375.            attacker using a playback attack.  The
  376.            ChallengeVal will affect the Response packet sent
  377.            by the peer.  The ChallengeVal SHOULD be changed
  378.            each time a Request is sent.  This includes
  379.            retransmitted Requests in instances where a
  380.            previously transmitted Request or corresponding
  381.            Response is lost.  Changing the ChallengeVal on
  382.            retransmissions is recommended so as to make a
  383.            replay attack more difficult.
  384.  
  385. Whelan                 Expires in six months                   [Page 7]
  386. DRAFT   PPP EAP RSA Public Key Authentication Protocol   February 1997
  387.  
  388.  
  389. 3.2  RSA Public Key Response Packet
  390.  
  391.       A summary of the PPP EAP RSA Public Key Authentication
  392.       Response packet format is shown below.  The fields are
  393.       transmitted from left to right.
  394.  
  395.       0                   1                   2                   3
  396.       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
  397.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  398.      |     Code      |   Identifier  |            Length             |
  399.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  400.      |     Type      |   Cert Type   |   Certificate...
  401.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  402.      |     ResponseVal...                                            |
  403.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  404.      |     ...ResponseVal...                                         |
  405.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  406.      |     ...ResponseVal...                                         |
  407.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  408.      |     ...ResponseVal...                                         |
  409.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  410.      |     ChallengeVal...                                           |
  411.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  412.      |     ...ChallengeVal...                                        |
  413.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  414.      |     ...ChallengeVal...                                        |
  415.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  416.      |     ...ChallengeVal                                           |
  417.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  418.      | Signature Len | Signature...
  419.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  420.  
  421.       Code
  422.            2
  423.  
  424.       Identifier
  425.            The identifier field is one octet and MUST match
  426.            the Identifier field from the corresponding
  427.            request.
  428.  
  429.       Length
  430.            The Length field is two octets and indicates the
  431.            length of the EAP packet including the Code,
  432.            Identifier, Length, Type, Certificate, Random
  433.            Data, Echo Value, Signature Len, and Signature
  434.            fields.
  435.  
  436.       Type
  437.            9
  438.  
  439.  
  440. Whelan                 Expires in six months                   [Page 8]
  441. DRAFT   PPP EAP RSA Public Key Authentication Protocol   February 1997
  442.  
  443.  
  444.       Cert Type
  445.            This field identifies the type of certificate the
  446.            peer is presenting.  This is further defined in
  447.            the following section.
  448.  
  449.       Certificate
  450.            The peers certificate.  This is further defined
  451.            in the following section.
  452.  
  453.       ResponseVal
  454.            The ResponseVal is a sixteen octet field.  It
  455.            SHOULD be generated by the peer in such a way as
  456.            to assure that it cannot be predicted by an
  457.            attacker.
  458.  
  459.       ChallengeVal
  460.            The ChallengeVal is a sixteen octet field which
  461.            MUST match the ChallengeVal which appeared in the
  462.            corresponding Request packet.
  463.  
  464.       Signature Len
  465.            The length in octets of the following signature.
  466.  
  467.       Signature
  468.            The signature of the peer applied to the
  469.            combination of ChallengeVal and ResponseVal.  The
  470.            peer MUST take the thirty-two octets formed by
  471.            the ChallengeVal followed by the ResponseVal and
  472.            produce an MD5 message digest.  The 128 bit
  473.            message digest MUST then be encrypted by the peer
  474.            using the peer's private key.
  475.  
  476.            To verify this signature, the authenticator
  477.            MUST decrypt the peer's signature using the peer's
  478.            public key.  The authenticator MUST also produce
  479.            an MD5 message digest using the ChallengeVal
  480.            followed by the ResponseVal.  The two results
  481.            MUST then be compared for equality.
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495. Whelan                 Expires in six months                   [Page 9]
  496. DRAFT   PPP EAP RSA Public Key Authentication Protocol   February 1997
  497.  
  498.  
  499. 4    Certificates
  500.  
  501.       PPP EAP RSA Public Key Authentication allows for the use
  502.       of different certificate formats.  The Certificate Type
  503.       field in the Response packet identifies the certificate
  504.       format which follows.  Two certificate formats and
  505.       corresponding Certificate Types are currently defined
  506.       for RSA public Key Authentication.
  507.  
  508.       A certificate MUST provide the RSA public key of the
  509.       owner as well as some identification of the certificate
  510.       owner.  These information must be signed by a mutually
  511.       trusted certifying authority.
  512.  
  513.  
  514.       Certificate Type = 1 - DER encoded ISO-509 certificate.
  515.  
  516.  
  517.       Certificate ::= SIGNED { SEQUENCE {
  518.           version                 [0] Version DEFAULT v1,
  519.           serialNumber            CertificateSerialNumber,
  520.           signature               AlgorithmIdentifier,
  521.           issuer                  Name,
  522.           validity                Validity,
  523.           subjectPublicKeyInfo    SubjectPublicKeyInfo,
  524.           issuerUniqueID          [1] IMPLICIT UniqueIdentifier OPTIONAL,
  525.                                           -- If present, version must be v2 or v3
  526.           subjectUniqueID         [2] IMPLICIT UniqueIdentifier OPTIONAL,
  527.                                           -- If present, version must be v2 or v3
  528.           extensions              [3] Extensions OPTIONAL
  529.                                           -- If present, version must be v3 } }
  530.  
  531.       Version ::= INTEGER { v1(0), v2 (1), v3(2) }
  532.  
  533.       CertificateSerialNumber ::= INTEGER
  534.  
  535.       Validity ::= SEQUENCE {
  536.           notBefore               UTCTime,
  537.           notAfter                UTCTime
  538.       }
  539.  
  540.       SubjectPublicKeyInfo ::= SEQUENCE {
  541.           algorithm               AlgorithmIdentifier,
  542.           subjectKey              BIT STRING
  543.       }
  544.  
  545.       AlgorithmIdentifier ::= SEQUENCE {
  546.           algorithm               OBJECT IDENTIFIER,
  547.           parameters              ANY DEFINED BY algorithm OPTIONAL
  548.       }
  549.  
  550. Whelan                 Expires in six months                  [Page 10]
  551. DRAFT   PPP EAP RSA Public Key Authentication Protocol   February 1997
  552.  
  553.  
  554.  
  555.       UniqueIdentifier ::= BIT STRING
  556.  
  557.  
  558.       Extension ::= SEQUENCE {
  559.           extnId                  EXTENSION.&id ({ExtensionSet}),
  560.           critical                BOOLEAN DEFAULT FALSE,
  561.           extnValue               OCTET STRING
  562.           -- contains a DER encoding of a value of type &ExtnType
  563.           -- for the extensin object identified by extnId
  564.       }
  565.  
  566.  
  567.       Certificate Type = 255 - Simple Certificate.
  568.  
  569.  
  570.       Simple Certificate Format:
  571.  
  572.       0                   1                   2                   3
  573.       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
  574.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  575.      |     Certificate Length        |Identifier Len |Identifier Type|
  576.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  577.      |     Identification...
  578.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  579.      |Key Exp Length |   Public Key Exponent...
  580.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  581.      |Key Mod Length |   Public Key Modulus...
  582.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  583.      | Signature Len |   Signature...
  584.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
  585.  
  586.       Certificate Length
  587.              The length in octets of the entire certificate
  588.              including all contiguous fields from the
  589.              Certificate Length through the Signature fields.
  590.  
  591.       Identifier Len
  592.              The total length in octets of the Identifier Type
  593.              and Identification fields.
  594.  
  595.       Identifier Type
  596.              This refers to the type of identification provided
  597.              by the Identification field.
  598.  
  599.              1 - Identification field contains a name.
  600.  
  601.  
  602.  
  603.  
  604.  
  605. Whelan                 Expires in six months                  [Page 11]
  606. DRAFT   PPP EAP RSA Public Key Authentication Protocol   February 1997
  607.  
  608.  
  609.       Identification
  610.              Format depends upon the value in the Identifier
  611.              Type.  For Identifier Type = 1, this will be a
  612.              name.  The length of the name will depend upon the
  613.              Identifier Len.  The name will not be null
  614.              terminated.
  615.  
  616.       Key Exp Len
  617.              Length in octets of the Public Key Exponent field.
  618.  
  619.  
  620.       Public Key Exponent
  621.              The value of the RSA public key exponent in
  622.              network byte order.
  623.  
  624.       Key Mod Len
  625.              Length in octets of the Public Key Modulus field.
  626.  
  627.       Public Key Modulus
  628.              The value of the RSA public key modulus in network
  629.              byte order.
  630.  
  631.       Signature Len
  632.              Length in octets of the Signature field.
  633.  
  634.       Signature
  635.              This field contains the signature of a certifying
  636.              authority applied to all contiguous fields within
  637.              the certificate from the Identifier Len through
  638.              the Public Key Modulus.  To produce this
  639.              signature, the certifying authority will produce
  640.              an MD5 message digest of these fields then encrypt
  641.              the result using its RSA private key.
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660. Whelan                 Expires in six months                  [Page 12]
  661. DRAFT   PPP EAP RSA Public Key Authentication Protocol   February 1997
  662.  
  663.  
  664.       Security Considerations
  665.  
  666.       RSA Public Key Authentication is designed to allow an
  667.       authenticator to obtain the public key from a peer and
  668.       to authenticate the peer by requiring the peer to
  669.       corroborate its identity by demonstrating its knowledge
  670.       of its private key.  The process is based on the
  671.       unilateral two pass authentication described in ISO/IEC
  672.       9798-3 [4].
  673.  
  674.       The use of random data fields within this protocol is
  675.       necessary to prevent replay or interleaving attacks.
  676.       Each entity (authenticator and peer) MUST provide
  677.       unpredictable random data so as to assure an adequate
  678.       level of security.  Some techniques and considerations
  679.       for generating suitably unpredictable random data are
  680.       described in 'Randomness Recommendations for Security' [6].
  681.  
  682.       RSA Public Key Authentication MUST provide for the
  683.       following requirements:
  684.  
  685.       1. The peer MUST possess a valid certificate signed by
  686.           a mutually recognized certifying authority.
  687.  
  688.       2. The peer MUST possess a valid private key corresponding
  689.           to the public key in the peer's certificate.
  690.  
  691.       To assure these requirements are met, upon receipt of
  692.       the EAP Response packet, the authenticator MUST
  693.       verify the certification authority's signature within
  694.       the certificate by decrypting using the certification
  695.       authority's public key and compare the resulting
  696.       information to the rest of the certificate.  The
  697.       authenticator MUST then obtain the peer's public key
  698.       from the peer's certificate and use it to decrypt the
  699.       peer's signature to verify it matches the MD5 digest
  700.      of the two sets of random data.
  701.  
  702.       The set of recognized certifying authorities is
  703.       implementation dependent.  As a minimum, an
  704.       authenticator MUST recognize any certifying authority
  705.       which signed the authenticators certificate.
  706.       Implementations MAY recognize certifying authorities
  707.       from a hierarchical chain.
  708.  
  709.       If the peer's EAP Response satisfies all requirements,
  710.       the authenticator MUST send an EAP Success packet.  If
  711.       the peer's EAP Response does not satisfy all
  712.       requirements, the authenticator MUST send an EAP
  713.       Failure packet and MAY take down the link.
  714.  
  715. Whelan                 Expires in six months                  [Page 13]
  716. DRAFT   PPP EAP RSA Public Key Authentication Protocol   February 1997
  717.  
  718.  
  719. References
  720.  
  721.       [1]  Simpson, W. A., 'The Point to Point Protocol
  722.              (PPP)', July 1994, RFC 1661.
  723.  
  724.       [2]  Blunk, L. J. & Vollbrecht, J. R., 'PPP Extensible
  725.              Authentication Protocol (EAP)', June 1996, work in
  726.              progress.
  727.  
  728.       [3]  CCITT Recommendation X.509, 'The Directory -
  729.              Authentication Framework', 1988.
  730.  
  731.       [4]  International Organization for Standardization and
  732.              the International Electrotechnical Commission,
  733.              ISO/IEC 9798-3, 'Information technology - Security
  734.              techniques - Entity Authentication - mechanisms -
  735.              Part 3: Entity authentication using a public key
  736.              algorithm'.
  737.  
  738.       [5]  Rivest, R., 'The MD5 Message Digest Algorithm',
  739.              April 1992, RFC 1321.
  740.  
  741.       [6]  Eastlake, D. E., Crocker, S. D., & Schiller, J. I.,
  742.              'Randomness Recommendations for Security', December
  743.              1994, RFC 1750.
  744.  
  745. Acknowledgments
  746.  
  747.       Dave Carrell, Jeff Schiller, and Fred Baker provided
  748.       valuable feedback on earlier versions of this draft.
  749.  
  750. Chair's Address
  751.  
  752.       The working group can be contacted via the current
  753.       chair:
  754.  
  755.       Karl Fox
  756.  
  757.       Email: karl@ascend.com
  758.  
  759.  
  760. Author's Address
  761.  
  762.       Questions about this memo can also be directed to:
  763.  
  764.       William T. Whelan
  765.      Cabletron Systems, Inc.
  766.       bwhelan@nei.com
  767.  
  768.  
  769.  
  770. Whelan                 Expires in six months                  [Page 14]
  771.  
  772.  
  773.  
  774.