rfc3281.txt

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

TXT
1,558
字号
   AC verifier   any entity that checks the validity of an AC and
                 then makes use of the result
   AC issuer     the entity which signs the AC, synonymous in this
                 specification with "AA"
   AC holder     the entity indicated (perhaps indirectly) in the
                 holder field of the AC
   Client        the entity which is requesting the action for
                 which authorization checks are to be made
   Proxying      In this specification, Proxying is used to mean
                 the situation where an application server acts as
                 an application client on behalf of a user.
                 Proxying here does not mean granting of authority.
   PKC           Public Key Certificate - uses the type ASN.1
                 Certificate defined in X.509 and profiled in RFC
                 2459.  This (non-standard) acronym is used in order
                 to avoid confusion about the term "X.509
                 certificate".
   Server        the entity which requires that the authorization
                 checks are made






Farrell & Housley           Standards Track                     [Page 6]

RFC 3281           An Internet Attribute Certificate          April 2002


3. Requirements

   This AC profile meets the following requirements.

   Time/Validity requirements:

   1. Support for short-lived as well as long-lived ACs.  Typical
      short-lived validity periods might be measured in hours, as
      opposed to months for PKCs.  Short validity periods allow ACs to
      be useful without a revocation mechanism.

   Attribute Types:

   2. Issuers of ACs should be able to define their own attribute types
      for use within closed domains.

   3. Some standard attribute types, which can be contained within ACs,
      should be defined.  Examples include "access identity," "group,"
      "role," "clearance," "audit identity," and "charging identity."

   4. Standard attribute types should be defined in a manner that
      permits an AC verifier to distinguish between uses of the same
      attribute in different domains.  For example, the "Administrators
      group" as defined by Baltimore and the "Administrators group" as
      defined by SPYRUS should be easily distinguished.

   Targeting of ACs:

   5. It should be possible to "target" an AC at one, or a small number
      of, servers.  This means that a trustworthy non-target server will
      reject the AC for authorization decisions.

   Push vs. Pull

   6. ACs should be defined so that they can either be "pushed" by the
      client to the server, or "pulled" by the server from a repository
      or other network service, including an online AC issuer.

4. Attribute Certificate Profile

   ACs may be used in a wide range of applications and environments
   covering a broad spectrum of interoperability goals and a broader
   spectrum of operational and assurance requirements.  The goal of this
   document is to establish a common baseline for generic applications
   requiring broad interoperability and limited special purpose






Farrell & Housley           Standards Track                     [Page 7]

RFC 3281           An Internet Attribute Certificate          April 2002


   requirements.  In particular, the emphasis will be on supporting the
   use of attribute certificates for informal Internet electronic mail,
   IPSec, and WWW applications.

   This section presents a profile for ACs that will foster
   interoperability.  This section also defines some private extensions
   for the Internet community.

   While the ISO/IEC/ITU documents use the 1993 (or later) version of
   ASN.1, this document uses the 1988 ASN.1 syntax, as has been done for
   PKCs [PKIXPROF].  The encoded certificates and extensions from either
   ASN.1 version are bit-wise identical.

   Where maximum lengths for fields are specified, these lengths refer
   to the DER encoding and do not include the ASN.1 tag or length
   fields.

   Conforming implementations MUST support the profile specified in this
   section.

4.1 X.509 Attribute Certificate Definition

   X.509 contains the definition of an AC given below.  All types that
   are not defined in this document can be found in [PKIXPROF].

            AttributeCertificate ::= SEQUENCE {
                 acinfo               AttributeCertificateInfo,
                 signatureAlgorithm   AlgorithmIdentifier,
                 signatureValue       BIT STRING
            }

            AttributeCertificateInfo ::= SEQUENCE {
                 version              AttCertVersion -- version is v2,
                 holder               Holder,
                 issuer               AttCertIssuer,
                 signature            AlgorithmIdentifier,
                 serialNumber         CertificateSerialNumber,
                 attrCertValidityPeriod   AttCertValidityPeriod,
                 attributes           SEQUENCE OF Attribute,
                 issuerUniqueID       UniqueIdentifier OPTIONAL,
                 extensions           Extensions OPTIONAL
            }

            AttCertVersion ::= INTEGER { v2(1) }
            Holder ::= SEQUENCE {
                  baseCertificateID   [0] IssuerSerial OPTIONAL,
                           -- the issuer and serial number of
                           -- the holder's Public Key Certificate



Farrell & Housley           Standards Track                     [Page 8]

RFC 3281           An Internet Attribute Certificate          April 2002


                  entityName          [1] GeneralNames OPTIONAL,
                           -- the name of the claimant or role
                  objectDigestInfo    [2] ObjectDigestInfo OPTIONAL
                           -- used to directly authenticate the holder,
                           -- for example, an executable
            }

            ObjectDigestInfo ::= SEQUENCE {
                 digestedObjectType  ENUMERATED {
                         publicKey            (0),
                         publicKeyCert        (1),
                         otherObjectTypes     (2) },
                                 -- otherObjectTypes MUST NOT
                                 -- be used in this profile
                 otherObjectTypeID   OBJECT IDENTIFIER OPTIONAL,
                 digestAlgorithm     AlgorithmIdentifier,
                 objectDigest        BIT STRING
            }

            AttCertIssuer ::= CHOICE {
                 v1Form   GeneralNames,  -- MUST NOT be used in this
                                         -- profile
                 v2Form   [0] V2Form     -- v2 only
            }

            V2Form ::= SEQUENCE {
                 issuerName            GeneralNames  OPTIONAL,
                 baseCertificateID     [0] IssuerSerial  OPTIONAL,
                 objectDigestInfo      [1] ObjectDigestInfo  OPTIONAL
                   -- issuerName MUST be present in this profile
                   -- baseCertificateID and objectDigestInfo MUST NOT
                   -- be present in this profile
            }

            IssuerSerial  ::=  SEQUENCE {
                 issuer         GeneralNames,
                 serial         CertificateSerialNumber,
                 issuerUID      UniqueIdentifier OPTIONAL
            }

            AttCertValidityPeriod  ::= SEQUENCE {
                 notBeforeTime  GeneralizedTime,
                 notAfterTime   GeneralizedTime
            }







Farrell & Housley           Standards Track                     [Page 9]

RFC 3281           An Internet Attribute Certificate          April 2002


   Although the Attribute syntax is defined in [PKIXPROF], we repeat
   the definition here for convenience.

            Attribute ::= SEQUENCE {
                  type      AttributeType,
                  values    SET OF AttributeValue
                    -- at least one value is required
            }

            AttributeType ::= OBJECT IDENTIFIER

            AttributeValue ::= ANY DEFINED BY AttributeType

   Implementers should note that the DER encoding (see [X.509-
   1988],[X.208-1988]) of the SET OF values requires ordering of the
   encodings of the values.  Though this issue arises with respect to
   distinguished names, and has to be handled by [PKIXPROF]
   implementations, it is much more significant in this context, since
   the inclusion of multiple values is much more common in ACs.

4.2 Profile of Standard Fields

   GeneralName offers great flexibility.  To achieve interoperability,
   in spite of this flexibility, this profile imposes constraints on the
   use of GeneralName.

   Conforming implementations MUST be able to support the dNSName,
   directoryName, uniformResourceIdentifier, and iPAddress options.
   This is compatible with the GeneralName requirements in [PKIXPROF]
   (mainly in section 4.2.1.7).

   Conforming implementations MUST NOT use the x400Address,
   ediPartyName, or registeredID options.

   Conforming implementations MAY use the otherName option to convey
   name forms defined in Internet Standards.  For example, Kerberos
   [KRB] format names can be encoded into the otherName, using a
   Kerberos 5 principal name OID and a SEQUENCE of the Realm and the
   PrincipalName.

4.2.1   Version

   The version field MUST have the value of v2.  That is, the version
   field is present in the DER encoding.







Farrell & Housley           Standards Track                    [Page 10]

RFC 3281           An Internet Attribute Certificate          April 2002


   Note: This version (v2) is not backwards compatible with the previous
   attribute certificate definition (v1) from the 1997 X.509 standard
   [X.509-1997], but is compatible with the v2 definition from X.509
   (2000) [X.509-2000].

4.2.2   Holder

   The Holder field is a SEQUENCE allowing three different (optional)
   syntaxes: baseCertificateID, entityName and objectDigestInfo.  Where
   only one option is present, the meaning of the Holder field is clear.
   However, where more than one option is used, there is a potential for
   confusion as to which option is "normative", which is a "hint" etc.
   Since the correct position is not clear from [X.509-2000], this
   specification RECOMMENDS that only one of the options be used in any
   given AC.

   For any environment where the AC is passed in an authenticated
   message or session and where the authentication is based on the use
   of an X.509 PKC, the holder field SHOULD use the baseCertificateID.

   With the baseCertificateID option, the holder's PKC serialNumber and
   issuer MUST be identical to the AC holder field.  The PKC issuer MUST
   have a non-empty distinguished name which is to be present as the
   single value of the holder.baseCertificateID.issuer construct in the
   directoryName field.  The AC holder.baseCertificateID.issuerUID field
   MUST only be used if the holder's PKC contains an issuerUniqueID
   field.  If both the AC holder.baseCertificateID.issuerUID and the PKC
   issuerUniqueID fields are present, the same value MUST be present in
   both fields.  Thus, the baseCertificateID is only usable with PKC
   profiles (like [PKIXPROF]) which mandate that the PKC issuer field
   contain a non-empty distinguished name value.

   Note: An empty distinguished name is a distinguished name where the
   SEQUENCE OF relative distinguished names is of zero length.  In a DER
   encoding, this has the value '3000'H.

   If the holder field uses the entityName option and the underlying
   authentication is based on a PKC, the entityName MUST be the same as
   the PKC subject field or one of the values of the PKC subjectAltName
   field extension (if present).  Note that [PKIXPROF] mandates that the
   subjectAltName extension be present if the PKC subject is an empty
   distinguished name.  See the security considerations section which
   mentions some name collision problems that may arise when using the
   entityName option.

   In any other case where the holder field uses the entityName option,
   only one name SHOULD be present.




Farrell & Housley           Standards Track                    [Page 11]

RFC 3281           An Internet Attribute Certificate          April 2002


   Implementations conforming to this profile are not required to
   support the use of the objectDigest field.  However, section 7.3

⌨️ 快捷键说明

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