rfc1848.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,633 行 · 第 1/5 页

TXT
1,633
字号
   it.


   (1)  The digitally signed body part and the control information body
        part are prepared for processing.


   (2)  The prepared body parts are made available to the digital
        signature verification process.


   (3)  The results of the digital signature verification process are
        made available to the user and processing continues with the
        digitally signed body part, as returned by the digital signature
        verification process.


   Each of these steps is described below.

3.1.1.  Preparation

   The digitally signed body part (the data) and the control information
   body part are separated from the enclosing multipart/signed body
   part.




Crocker, et al              Standards Track                    [Page 18]

RFC 1848             MIME Object Security Services          October 1995


   The control information is prepared by removing any content transfer
   encodings that may be present.

   The digitally signed body part is prepared by leaving the content
   transfer encodings intact and canonicalizing the line delimiters
   according to Step 2 of Section 2.1.1.

3.1.2.  Verification

   First, the recipient must obtain the public key of the originator.
   The public key may be contained in the control information or it may
   be necessary for the recipient to retrieve the public key based on
   information present in the control information.  The retrieval may be
   from a local database or from a remote service.  The acquisition of
   the originator's public key is outside the scope of the
   specification, although Section 5 defines one possible mechanism.

   With the public key, the recipient decrypts the hash value contained
   in the control information.  Then, a new hash value is computed over
   the body part purported to have been digitally signed.

   Finally, the two hash values are compared to determine the accuracy
   of the digital signature.

3.1.3.  Results

   There are two required components of the results of the verification
   process.  The first is an indication as to whether a public key could
   be found that allows the hash values in the previous step to compare
   equal.  Such an indication verifies only that the data received is
   the same data that was digitally signed.

   The second indication identifies the owner of the public key who is
   presumably the holder of the private key that created the digital
   signature.  The indication must include a testament as to the
   accuracy of the owner identification.

   At issue is a recipient knowing who created the digital signature.
   In order for the recipient to know with certainty who digitally
   signed the message, the binding between the owner's name and the
   public key must have been verified by the recipient prior to the
   verification of the digital signature.  The verification of the
   binding may have been completed offline and stored in a trusted,
   local database or, if the owner's name and public key are embodied in
   a certificate, it may be possible to complete it in realtime.  See
   Section 5 for more information.





Crocker, et al              Standards Track                    [Page 19]

RFC 1848             MIME Object Security Services          October 1995


3.2.  Encryption Service

   This section describes the processing steps necessary to decrypt the
   MOSS encryption service.  The definition of the multipart/encrypted
   body part in [7] specifies three steps for receiving it.


   (1)  The encrypted body part and the control information body part
        are prepared for processing.


   (2)  The prepared body parts are made available to the decryption
        process.


   (3)  The results of the decryption process are made available to the
        user and processing continues with the decrypted body part, as
        returned by the decryption process.


   Each of these steps is described below.

3.2.1.  Preparation

   The encrypted body part (the data) and the control information body
   part are separated from the enclosing multipart/encrypted body part.
   The body parts are prepared for the decryption process by removing
   any content transfer encodings that may be present.

3.2.2.  Decryption

   First, the recipient must locate the encrypted data encrypting key in
   the control information.  Each Recipient-ID: header is checked in
   order to see if it identifies the recipient or a public key of the
   recipient.

   If it does, the immediately following Key-Info: header will contain
   the data encrypting key encrypted with the public key of the
   recipient.  The recipient must use the corresponding private key to
   decrypt the data encrypting key.

   The data is decrypted with the data encrypting key.  The decrypted
   data will be a MIME object, a body part, ready to be processed by a
   MIME agent.







Crocker, et al              Standards Track                    [Page 20]

RFC 1848             MIME Object Security Services          October 1995


3.2.3.  Results

   If the recipient is able to locate and decrypt a data encrypting key,
   from the point of view of MOSS the decryption should be considered
   successful.  An indication of the owner of the private key used to
   decrypt the data encrypting key must be made available to the user.

   Ultimately, the success of the decryption is dependent on the ability
   of a MIME agent to continue processing with the decrypted body part.

4.  Identifying Originators, Recipients, and Their Keys

   In the PEM specifications, public keys are required to be embodied in
   certificates, an object that binds each public key with a
   distinguished name.  A distinguished name is a name form that
   identifies the owner of the public key.  The embodiment is issued by
   a certification authority, a role that is expected to be trustworthy
   insofar as the certification authority would have procedures to
   verify the identity of the owner prior to issuing the certificate.

   In MOSS, a user is not required to have a certificate.  The MOSS
   services require that the user have at least one public/private key
   pair.  The MOSS protocol requires the digital signature and
   encryption services to emit Originator-ID: and Recipient-ID: headers,
   as appropriate.  In the discussion above the actual value of these
   headers was omitted, having been relegated to this section.  Although
   the value of each of these headers serves a distinct purpose, for
   simplicity the single grammar token <id> represents the value that
   may be assigned to either header.

   One possible value for the Originator-ID: and Recipient-ID: headers
   is the public key values themselves.  However, while it is true that
   the public keys alone could be exchanged and used by users to
   communicate, the values are, in fact, large and cumbersome.  In
   addition, public keys would appear as a random sequence of characters
   and, as a result, would not be immediately consumable by human users.

      NOTE: It should be pointed out that a feature of being able to
      specify the public key explicitly is that it allows users to
      exchange encrypted, anonymous mail.  In particular, receiving
      users will always know a message comes from the same originating
      user even if the real identity of the originating user is unknown.

   Recognizing that the use of public keys is, in general, unsuitable
   for use by humans, MOSS allows other identifiers in Originator-ID:
   and Recipient-ID: headers.  These other identifiers are comprised of
   two parts: a name form and a key selector.




Crocker, et al              Standards Track                    [Page 21]

RFC 1848             MIME Object Security Services          October 1995


   The name form is chosen and asserted by the user who owns the
   public/private key pair.  Three name forms are specified by this
   document.  The use of a distinguished name is retained for
   compatibility with PEM (and compatibility with the X.500 Directory
   should it become a ubiquitous service).  However, the Internet
   community has a great deal of experience with the use of electronic
   mail addresses as a name form.  Also, arbitrary strings are useful to
   identify the owners of public keys when private name forms are used.
   Hence, email addresses and arbitrary strings are included as name
   forms to increase flexibility.

   Since a user may have more than one public key and may wish to use
   the same name form for each public key, a name form is insufficient
   for uniquely identifying a public key.  A unique "key selector" must
   be assigned to each public key.  The combination of a name form and
   the key selector uniquely identifies a public key.  Throughout this
   document, this combination is called an identifier.  There are 5
   identifiers specified by this document.

      NOTE: In the simplest case, key selectors will be assigned by the
      owners of the public/private key pairs.  This works best when
      users generate their own key pairs for personal use, from which
      they distribute their public key to others asserting by
      declaration that the public key belongs to them.  When the
      assertion that the public key belongs to them is made by a third
      party, for example when a certification authority issues a
      certificate to a user according to [4], the key selector may be
      assigned by that third party.

   The value of the key selector must be unique with respect to the name
   form with which it forms an identifier.  Although the same key
   selector value may be used by more than one name form it must not be
   used for two different keys with the same name form.  When considered
   separately, neither a name form nor a key selector is sufficient for
   identifying the public key to be used.  Either could be used to
   determine a set of public keys that may be tried in turn until the
   desired public key is identified.

   With a public/private key pair for one's self and software that is
   MOSS aware, an originating user may digitally sign arbitrary data and
   send it to one or more recipients.  With the public keys of the
   recipients, a user may encrypt the data so that only the intended
   recipients can decrypt and read it.  With the name forms assigned to
   the public keys, originators and recipients can easily recognize
   their peers in a communication.

   In the next section the 3 name forms are described in detail.
   Following that is the specification of the 5 identifiers.



Crocker, et al              Standards Track                    [Page 22]

RFC 1848             MIME Object Security Services          October 1995


4.1.  Name Forms

   There are 3 name forms specified by this document: email addresses,
   distinguished names, and arbitrary strings.

4.1.1.  Email Addresses

   The email address (grammar token <emailstr>) used must be a valid
   RFC822 address, which is defined in terms of one of the two grammar
   tokens <addr-spec> or <route-addr>.  The grammar for these two tokens
   is included in the Appendix as a convenience; the definitive source
   for these tokens is necessarily RFC822 [1].

      <emailstr>      ::= <addr-spec> / <route-addr>
                          ; an electronic mail address as defined by
                          ; one of these two tokens from RFC822

   For example, the strings "crocker@tis.com", "galvin@tis.com",
   "murphy@tis.com", and "ned@innosoft.com" are all email addresses.

4.1.2.  Arbitrary Strings

   The arbitrary string (grammar token <string>) must have a length of
   at least 1.  There are no other restrictions on the value chosen.

      <string>        ::= ; a non-null sequence of characters

   For example, the string

      the SAAG mailing list maintainer

   is an arbitrary string.

4.1.3.  Distinguished Names

   The distinguished name (grammar token <dnamestr>) must be constructed
   according to the guidelines of the X.500 Directory.  The actual
   syntax of the distinguished name is outside the scope of this
   specification.  However, RFC1422, for example, specifies syntactic
   restrictions based on its choice of a certification hierarchy for
   certificates.

   For the purposes of conveying a distinguished name from an originator
   to a recipient, it must be ASN.1 encoded and then printably encoded
   according to the base64 encoding defined by MIME.






Crocker, et al              Standards Track                    [Page 23]

RFC 1848             MIME Object Security Services          October 1995


      <dnamestr>      ::= <encbin>
                          ; a printably encoded, ASN.1 encoded
                          ; distinguished name (as defined by the 'Name'
                          ; production specified in X.501 [8])

   For example,

      /Country Name=US
      /State or Province Name=MD
      /Organization Name=Trusted Information Systems
      /Organizational Unit Name=Glenwood
      /Common Name=James M. Galvin/

   is a distinguished name in a user friendly format (line breaks and

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?