| < draft-ietf-pkix-authorityclearanceconstraints-00.txt | draft-ietf-pkix-authorityclearanceconstraints-01.txt > | |||
|---|---|---|---|---|
| IETF PKIX Working Group Sean Turner | Network Working Group Sean Turner | |||
| Internet Draft IECA | Internet Draft IECA | |||
| Intended Status: Standard Track Santosh Chokhani | Intended Status: Standard Track Santosh Chokhani | |||
| CygnaCom Solutions | CygnaCom Solutions | |||
| Expires: April 30, 2009 October 31, 2008 | Expires: September 4, 2009 March 4, 2009 | |||
| Clearance Attribute and Authority Clearance Constraints | Clearance Attribute and Authority Clearance Constraints | |||
| Certificate Extension | Certificate Extension | |||
| draft-ietf-pkix-authorityclearanceconstraints-00.txt | draft-ietf-pkix-authorityclearanceconstraints-01.txt | |||
| Status of this Memo | Status of this Memo | |||
| By submitting this Internet-Draft, each author represents that any | This Internet-Draft is submitted to IETF in full conformance with the | |||
| applicable patent or other IPR claims of which he or she is aware | provisions of BCP 78 and BCP 79. | |||
| have been or will be disclosed, and any of which he or she becomes | ||||
| aware will be disclosed, in accordance with Section 6 of BCP 79. | ||||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
| other groups may also distribute working documents as Internet- | other groups may also distribute working documents as Internet- | |||
| Drafts. | Drafts. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
| http://www.ietf.org/ietf/1id-abstracts.txt | http://www.ietf.org/ietf/1id-abstracts.txt | |||
| The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
| http://www.ietf.org/shadow.html | http://www.ietf.org/shadow.html | |||
| This Internet-Draft will expire on April 30, 2009. | This Internet-Draft will expire on September 4, 2009. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (C) The IETF Trust (2008). | Copyright (c) 2009 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | ||||
| This document is subject to BCP 78 and the IETF Trust's Legal | ||||
| Provisions Relating to IETF Documents in effect on the date of | ||||
| publication of this document (http://trustee.ietf.org/license-info). | ||||
| Please review these documents carefully, as they describe your rights | ||||
| and restrictions with respect to this document. | ||||
| Abstract | Abstract | |||
| This document defines the syntax and semantics for the Clearance | This document defines the syntax and semantics for the Clearance | |||
| attribute and the Authority Clearance Constraints extension in X.509 | attribute and the Authority Clearance Constraints extension in X.509 | |||
| certificates. The Clearance attribute is used to indicate the | certificates. The Clearance attribute is used to indicate the | |||
| clearance held by the subject. The Clearance attribute may appear in | clearance held by the subject. The Clearance attribute may appear in | |||
| the subject directory attributes extension of a public key | the subject directory attributes extension of a public key | |||
| certificate or in the attributes field of an attribute certificate. | certificate or in the attributes field of an attribute certificate. | |||
| The Authority Clearance Constraints certificate extension values in a | The Authority Clearance Constraints certificate extension values in a | |||
| Trust Anchor (TA), CA public key certificates, and an Attribute | Trust Anchor (TA), CA public key certificates, and an Attribute | |||
| Authority (AA) public key certificate in a public key certification | Authority (AA) public key certificate in a public key certification | |||
| path constrain the effective Clearance of the subject. | path constrain the effective Clearance of the subject. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction...................................................2 | 1. Introduction...................................................3 | |||
| 1.1. Terminology...............................................3 | 1.1. Terminology...............................................4 | |||
| 1.2. ASN.1 Syntax Notation.....................................3 | 1.2. ASN.1 Syntax Notation.....................................4 | |||
| 2. Clearance Attribute............................................4 | 2. Clearance Attribute............................................4 | |||
| 3. Authority Clearance Constraints Certificate Extension..........5 | 3. Authority Clearance Constraints Certificate Extension..........5 | |||
| 4. Clearance and Authority Clearance Constraints Processing in PKC6 | 4. Clearance and Authority Clearance Constraints Processing in | |||
| PKC............................................................6 | ||||
| 4.1. Collecting Constraints....................................7 | 4.1. Collecting Constraints....................................7 | |||
| 4.1.1. Certification Path Processing........................7 | 4.1.1. Certification Path Processing........................7 | |||
| 5. Clearance and Authority Clearance Constraints Processing in AC11 | 4.1.1.1. Inputs..........................................8 | |||
| 5.1. Collecting Constraints...................................12 | 4.1.1.2. Initialization..................................8 | |||
| 5.1.1. Certification Path Processing.......................12 | 4.1.1.3. Basic Certificate Processing....................8 | |||
| 6. Computing Intersection of securityCategories..................13 | 4.1.1.4. Preparation for Certificate i+1.................9 | |||
| 7. Recommended securityCategories................................14 | 4.1.1.5. Wrap-up Procedure...............................9 | |||
| 8. Security Considerations.......................................14 | 4.1.1.5.1. Wrap Up Clearance..........................9 | |||
| 9. IANA Considerations...........................................15 | 4.1.1.6. Outputs........................................10 | |||
| 10. References...................................................15 | 5. Clearance and Authority Clearance Constraints Processing in | |||
| 10.1. Normative References....................................15 | AC............................................................10 | |||
| 10.2. Informative References..................................15 | 5.1. Collecting Constraints...................................11 | |||
| Appendix A. ASN.1 Module.........................................16 | 5.1.1. Certification Path Processing.......................11 | |||
| Author's Addresses...............................................18 | 5.1.1.1. Inputs.........................................11 | |||
| Full Copyright Statement.........................................19 | 5.1.1.2. Initialization.................................11 | |||
| Intellectual Property............................................19 | 5.1.1.3. Basic PKC Processing...........................12 | |||
| 5.1.1.4. Preparation for Certificate i+1................12 | ||||
| 5.1.1.5. Wrap-up Procedure..............................12 | ||||
| 5.1.1.5.1. Wrap Up Clearance.........................12 | ||||
| 5.1.1.6. Outputs........................................12 | ||||
| 6. Computing Intersection of permitted-clearances and | ||||
| AuthorityClearanceConstraints extension.......................12 | ||||
| 7. Computing Intersection of securityCategories..................14 | ||||
| 8. Recommended securityCategories................................15 | ||||
| 9. Security Considerations.......................................15 | ||||
| 10. IANA Considerations..........................................15 | ||||
| 11. References...................................................15 | ||||
| 11.1. Normative References....................................15 | ||||
| 11.2. Informative References..................................16 | ||||
| Appendix A. ASN.1 Module.........................................17 | ||||
| Author's Addresses...............................................19 | ||||
| 1. Introduction | 1. Introduction | |||
| Organizations that have implemented a security policy can issue | Organizations that have implemented a security policy can issue | |||
| certificates that include an indication of the clearance values held | certificates that include an indication of the clearance values held | |||
| by the subject. The Clearance attribute indicates the security | by the subject. The Clearance attribute indicates the security | |||
| policy, the clearance levels held by the subject, and additional | policy, the clearance levels held by the subject, and additional | |||
| authorization information held by the subject. This specification | authorization information held by the subject. This specification | |||
| makes use of the ASN.1 syntax for clearance from [3281bis]. | makes use of the ASN.1 syntax for clearance from [3281bis]. | |||
| Clearance attribute may be placed in the Subject Directory extension | Clearance attribute may be placed in the subject directory attributes | |||
| of a PKC or may be placed in a separate attribute certificate (AC). | extension of a PKC or may be placed in a separate attribute | |||
| certificate (AC). | ||||
| The placement of Clearance attribute in PKCs is desirable when the | The placement of Clearance attribute in PKCs is desirable when the | |||
| credentials such as PKCs need to be revoked when the clearance | credentials such as PKCs need to be revoked when the clearance | |||
| information changes or when clearance information is relatively | information changes or when clearance information is relatively | |||
| static, and clearance information can be verified as part of PKC | static, and clearance information can be verified as part of PKC | |||
| issuance process (e.g., using local databases). The placement of | issuance process (e.g., using local databases). The placement of | |||
| Clearance attribute in PKCs may also be made to simplify the | Clearance attribute in PKCs may also be made to simplify the | |||
| infrastructure, to reduce the infrastructure design cost, or to | infrastructure, to reduce the infrastructure design cost, or to | |||
| reduce the infrastructure operations cost. An example of placement | reduce the infrastructure operations cost. An example of placement | |||
| of Clearance attribute in PKCs in operational PKI is the Defense | of Clearance attribute in PKCs in operational PKI is the Defense | |||
| Messaging Service. An example of placement of attributes in PKCs is | Messaging Service. An example of placement of attributes in PKCs is | |||
| Qualified Certificates [RFC3739]. | Qualified Certificates [RFC3739]. | |||
| The placement of Clearance attribute in ACs is desirable when the | The placement of Clearance attribute in ACs is desirable when the | |||
| clearance information is relatively dynamic and changes in the | clearance information is relatively dynamic and changes in the | |||
| clearance information does not require revocation of credentials such | clearance information does not require revocation of credentials such | |||
| as PKCs, or the clearance information can not be verified as part of | as PKCs, or the clearance information can not be verified as part of | |||
| PKC issuance process. | PKC issuance process. | |||
| Since [RFC3281] does not permit chain of ACs, the Authority | Since [3281bis] does not permit chain of ACs, the Authority | |||
| Clearance Constraints extension may only appear in the PKCs of CA or | Clearance Constraints extension may only appear in the PKCs of CA or | |||
| AA. The Authority Clearance Constraints extension may also appear | AA. The Authority Clearance Constraints extension may also appear | |||
| in a TA or may be associated with a TA. | in a TA or may be associated with a TA. | |||
| Some organizations have multiple TAs, CAs, and/or AAs and these | Some organizations have multiple TAs, CAs, and/or AAs and these | |||
| organizations may wish to indicate to relying parties which clearance | organizations may wish to indicate to relying parties which clearance | |||
| values from a particular TA, CA, or AA should be accepted. For | values from a particular TA, CA, or AA should be accepted. For | |||
| example, consider the security policies described in [RFC3114], where | example, consider the security policies described in [RFC3114], where | |||
| a security policy has been defined for Amoco with three security | a security policy has been defined for Amoco with three security | |||
| classification values (HIGHLY CONFIDENTIAL, CONFIDENTIAL, and | classification values (HIGHLY CONFIDENTIAL, CONFIDENTIAL, and | |||
| skipping to change at page 3, line 47 ¶ | skipping to change at page 4, line 23 ¶ | |||
| 1.1. Terminology | 1.1. Terminology | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
| 1.2. ASN.1 Syntax Notation | 1.2. ASN.1 Syntax Notation | |||
| All X.509 PKC [RFC5280] extensions are defined using ASN.1 [X.680]. | All X.509 PKC [RFC5280] extensions are defined using ASN.1 [X.680]. | |||
| All X.509 AC [RFC3281] extensions are defined using ASN.1 [X.680]. | All X.509 AC [3281bis] extensions are defined using ASN.1 [X.680]. | |||
| 2. Clearance Attribute | 2. Clearance Attribute | |||
| The Clearance attribute in a certificate indicates the clearances | The Clearance attribute in a certificate indicates the clearances | |||
| held by the subject. It uses the clearance attribute syntax from | held by the subject. It uses the clearance attribute syntax from | |||
| Section 4.4.6 of [3281bis], which is included below for convenience, | Section 4.4.6 of [3281bis], which is included below for convenience, | |||
| in the Attributes field. A certificate MUST include either zero or | in the Attributes field. A certificate MUST include either zero or | |||
| one instance of the Clearance attribute. If the Clearance attribute | one instance of the Clearance attribute. If the Clearance attribute | |||
| is present, it must contain a single value. | is present, it must contain a single value. | |||
| The following object identifier identifies the Clearance attribute | The following object identifier identifies the Clearance attribute | |||
| (either in the subject directory attributes extension of a PKC or in | (either in the subject directory attributes extension of a PKC or in | |||
| the Attributes field of an AC): | the Attributes field of an AC): | |||
| id-at-clearance OBJECT IDENTIFIER ::= { joint-iso-ccitt(2) | id-at-clearance OBJECT IDENTIFIER ::= { joint-iso-ccitt(2) | |||
| ds(5) module(1) selected-attribute-types(5) clearance(55) } | ds(5) attributeTypes(5) clearance(55) } | |||
| The ASN.1 syntax for the Clearance attribute is as follows [PKI-ASN]: | The ASN.1 syntax for the Clearance attribute is as follows [PKI-ASN]: | |||
| Clearance ::= SEQUENCE { | Clearance ::= SEQUENCE { | |||
| policyId OBJECT IDENTIFIER, | policyId OBJECT IDENTIFIER, | |||
| classList ClassList DEFAULT {unclassified}, | classList ClassList DEFAULT {unclassified}, | |||
| securityCategories SET OF SecurityCategory OPTIONAL | securityCategories SET OF SecurityCategory OPTIONAL | |||
| } | } | |||
| ClassList ::= BIT STRING { | ClassList ::= BIT STRING { | |||
| unmarked (0), | unmarked (0), | |||
| unclassified (1), | unclassified (1), | |||
| restricted (2), | restricted (2), | |||
| confidential (3), | confidential (3), | |||
| secret (4), | secret (4), | |||
| topSecret (5) | topSecret (5) | |||
| } | } | |||
| SECURITY-CATEGORY ::= TYPE-IDENTIFIER | SECURITY-CATEGORY ::= TYPE-IDENTIFIER | |||
| SecurityCategory ::= SEQUENCE { | SecurityCategory ::= SEQUENCE { | |||
| type [0] | type [0] | |||
| TYPE-IDENTIFIER.&id({SupportedSecurityCategories}), | TYPE-IDENTIFIER.&id({SupportedSecurityCategories}), | |||
| value [1] | value [1] | |||
| EXPLICIT TYPE-IDENTIFIER.&Type | EXPLICIT TYPE-IDENTIFIER.&Type | |||
| ({SupportedSecurityCategories}{@type}) | ({SupportedSecurityCategories}{@type}) | |||
| } | } | |||
| The Clearance attribute takes its meaning from Section 4.4.6 of | The Clearance attribute takes its meaning from Section 4.4.6 of | |||
| [RFC3281], which is repeated here for convenience: | [3281bis], which is repeated here for convenience: | |||
| - policyId identifies the security policy to which the clearance | - policyId identifies the security policy to which the clearance | |||
| relates. The policyId indicates the semantics of the classList | relates. The policyId indicates the semantics of the classList | |||
| and securityCategory fields. | and securityCategory fields. | |||
| - classlist identifies the security classifications. Six basic | - classlist identifies the security classifications. Six basic | |||
| values are defined in bit positions 0 through 5 and more may be | values are defined in bit positions 0 through 5 and more may be | |||
| defined by an organizational security policy. | defined by an organizational security policy. | |||
| - securityCategories provides additional authorization information. | - securityCategories provides additional authorization information. | |||
| skipping to change at page 5, line 40 ¶ | skipping to change at page 6, line 14 ¶ | |||
| Absence of this certificate extension in a TA, in a CA PKC, or in an | Absence of this certificate extension in a TA, in a CA PKC, or in an | |||
| AA PKC indicates that clearance of the subject of the AC or the | AA PKC indicates that clearance of the subject of the AC or the | |||
| subject of the last certificate in a PKC certification path | subject of the last certificate in a PKC certification path | |||
| containing the TA, the CA or the AA is not constrained by the | containing the TA, the CA or the AA is not constrained by the | |||
| respective TA, CA or AA. | respective TA, CA or AA. | |||
| The following object identifier identifies the Authority Clearance | The following object identifier identifies the Authority Clearance | |||
| Constraints certificate extension: | Constraints certificate extension: | |||
| id-ce-authorityClearanceConstraints OBJECT IDENTIFIER ::= { | id-pe-authorityClearanceConstraints OBJECT IDENTIFIER ::= { | |||
| id-TBSL } | iso(1) identified-organization(3) dod(6) internet(1) security(5) | |||
| mechanisms(5) pkix(7) pe(1) 21 } | ||||
| The ASN.1 syntax for the Authority Clearance Constraints certificate | The ASN.1 syntax for the Authority Clearance Constraints certificate | |||
| extension is as follows: | extension is as follows: | |||
| AuthorityClearanceConstraints ::= SEQUENCE SIZE (1..MAX) OF | AuthorityClearanceConstraints ::= SEQUENCE SIZE (1..MAX) OF | |||
| Clearance | Clearance | |||
| The syntax for Authority Clearance Constraints certificate extension | The syntax for Authority Clearance Constraints certificate extension | |||
| contains Clearance values that the CA or the AA asserts. The | contains Clearance values that the CA or the AA asserts. The | |||
| sequence MUST NOT include more than one entry with the same policyId. | sequence MUST NOT include more than one entry with the same policyId. | |||
| skipping to change at page 6, line 4 ¶ | skipping to change at page 6, line 27 ¶ | |||
| The ASN.1 syntax for the Authority Clearance Constraints certificate | The ASN.1 syntax for the Authority Clearance Constraints certificate | |||
| extension is as follows: | extension is as follows: | |||
| AuthorityClearanceConstraints ::= SEQUENCE SIZE (1..MAX) OF | AuthorityClearanceConstraints ::= SEQUENCE SIZE (1..MAX) OF | |||
| Clearance | Clearance | |||
| The syntax for Authority Clearance Constraints certificate extension | The syntax for Authority Clearance Constraints certificate extension | |||
| contains Clearance values that the CA or the AA asserts. The | contains Clearance values that the CA or the AA asserts. The | |||
| sequence MUST NOT include more than one entry with the same policyId. | sequence MUST NOT include more than one entry with the same policyId. | |||
| This constraint is enforced during Clearance and Authority Clearance | This constraint is enforced during Clearance and Authority Clearance | |||
| Constraints Processing described below. If more than one entry with | Constraints Processing described below. If more than one entry with | |||
| the same policyId is present in AuthorityClearanceConstraints | the same policyId is present in AuthorityClearanceConstraints | |||
| certificate extension, the certification path is rejected. In | certificate extension, the certification path is rejected. In | |||
| addition, each Clearance attribute in the SEQUENCE must not contain | addition, each Clearance attribute in the SEQUENCE must not contain | |||
| more than one value. | more than one value. | |||
| 4. Clearance and Authority Clearance Constraints Processing in PKC | 4. Clearance and Authority Clearance Constraints Processing in PKC | |||
| This section describes the processing of certification path when | This section describes the processing of certification path when | |||
| Clearance is asserted in PKC. | Clearance is asserted in PKC. | |||
| Authority Clearance Constraints certificate extension and Clearance | User input, Authority Clearance Constraints certificate extension, | |||
| attribute processing determines the effective clearance (henceforth | and Clearance attribute processing determines the effective clearance | |||
| called effective-clearance) for the end PKC. Authority Clearance | (henceforth called effective-clearance) for the end PKC. User input, | |||
| Constraints certificate extension in the TA and in each PKC up to but | Authority Clearance Constraints certificate extension in the TA and | |||
| not including the end PKC in a PKC certification path impact the | in each PKC up to but not including the end PKC in a PKC | |||
| effective-clearance. If there is more than one path to the end- | certification path impact the effective-clearance. If there is more | |||
| entity PKC, each path is processed independently. The process | than one path to the end-entity PKC, each path is processed | |||
| involves two steps: | independently. The process involves two steps: | |||
| 1) collecting the Authority Clearance Constraints; and | 1) collecting the Authority Clearance Constraints; and | |||
| 2) using Authority Clearance Constraints in the certification path | 2) using Authority Clearance Constraints in the certification path | |||
| and the Clearance in the end PKC to determine the effective- | and the Clearance in the end PKC to determine the effective- | |||
| clearance for the subject of the end PKC. | clearance for the subject of the end PKC. | |||
| Assuming a certification path consisting of n PKCs, the effective- | Assuming a certification path consisting of n PKCs, the effective- | |||
| clearance for the subject of the end PKC is the intersection of | clearance for the subject of the end PKC is the intersection of | |||
| Clearance attribute in the subject PKC, Authority Clearance | Clearance attribute in the subject PKC, Authority Clearance | |||
| Constraints, if present, in trust anchor and all Authority Clearance | Constraints, if present, in trust anchor, user input, and all | |||
| Constraints present in intermediate PKCs. Any effective-clearance | Authority Clearance Constraints present in intermediate PKCs. Any | |||
| calculation algorithm that performs this calculation and provides the | effective-clearance calculation algorithm that performs this | |||
| same outcome as the one from the algorithm described herein is | calculation and provides the same outcome as the one from the | |||
| considered compliant with the requirements of this RFC. | algorithm described herein is considered compliant with the | |||
| requirements of this RFC. | ||||
| When processing a certification path, Authority Clearance Constraints | When processing a certification path, Authority Clearance Constraints | |||
| are maintained in one state variable: permitted-clearances. When | are maintained in one state variable: permitted-clearances. When | |||
| processing begins, permitted-clearances is initialized to the special | processing begins, permitted-clearances is initialized to the user | |||
| value all-clearances if Authority Clearance Constraints certificate | input value or special value all-clearances if Authority Clearance | |||
| extension is not present in or associated with the trust anchor, | Constraints user input is not provided. The permitted-clearances | |||
| otherwise this value is initialized to Authority Clearance | state variable is updated by first processing Authority Clearance | |||
| Constraints associated with the trust anchor. The permitted- | Constraints associated with the trust anchor, and then each time an | |||
| clearances state variable is updated each time an intermediate PKC | intermediate PKC that contains an Authority Clearance Constraints | |||
| that contains an Authority Clearance Constraints certificate | certificate extension in the path is processed. | |||
| extension in the path is processed. | ||||
| When processing the end PKC, the value in the Clearance attribute in | When processing the end PKC, the value in the Clearance attribute in | |||
| the end PKC is intersected with the permitted-clearances state | the end PKC is intersected with the permitted-clearances state | |||
| variable. | variable. | |||
| The output of Clearance attribute and Authority Clearance Constraint | The output of Clearance attribute and Authority Clearance Constraint | |||
| certificate extensions processing is the effective-clearance, which | certificate extensions processing is the effective-clearance, which | |||
| could also be an empty list; and success or failure with reason code | could also be an empty list; and success or failure with reason code | |||
| for failure. | for failure. | |||
| 4.1. Collecting Constraints | 4.1. Collecting Constraints | |||
| Authority Clearance Constraints are collected from the trust anchor | Authority Clearance Constraints are collected from the user input, | |||
| and the intermediate PKCs in a certification path. | the trust anchor and the intermediate PKCs in a certification path. | |||
| 4.1.1. Certification Path Processing | 4.1.1. Certification Path Processing | |||
| When processing Authority Clearance Constraints certificate extension | When processing Authority Clearance Constraints certificate extension | |||
| for the purposes of validating Clearance attribute in the end PKC, | for the purposes of validating Clearance attribute in the end PKC, | |||
| the processing described in this section or an equivalent algorithm | the processing described in this section or an equivalent algorithm | |||
| MUST be included in the certification path validation. The | MUST be included in the certification path validation. The | |||
| processing is presented as additions to the certification path | processing is presented as additions to the certification path | |||
| validation algorithm described in section 6 of [RFC5280]. | validation algorithm described in section 6 of [RFC5280]. Note that | |||
| this RFC is fully consistent with [RFC5280]; however, it augments | ||||
| [RFC5280] with the following steps: | ||||
| . Ability to provide and process Authority Clearance Constraints | ||||
| as an additional input to the certification path processing | ||||
| engine | ||||
| . Requirement to process Authority Clearance Constraints present | ||||
| with Trust anchor information. | ||||
| 4.1.1.1. Inputs | 4.1.1.1. Inputs | |||
| User input may include AuthorityClearanceConstraints structure or | ||||
| omit it. | ||||
| Trust anchor information may include the | Trust anchor information may include the | |||
| AuthorityClearanceConstraints structure to specify Authority | AuthorityClearanceConstraints structure to specify Authority | |||
| Clearance Constraints for the trust anchor. The trust anchor may be | Clearance Constraints for the trust anchor. The trust anchor may be | |||
| constrained or unconstrained. | constrained or unconstrained. | |||
| 4.1.1.2. Initialization | 4.1.1.2. Initialization | |||
| Examine the trust anchor information and verify that it does not | If user input includes AuthorityClearanceConstraints, set the | |||
| contain more than one instance of AuthorityClearanceConstraints | permitted-clearances to the input value, otherwise,, set the | |||
| extension. If the trust anchor information contains more than one | permitted-clearances to special value all-clearances. | |||
| instance of AuthorityClearanceConstraints extension, set effective- | ||||
| clearance to an empty list, set error code to "multiple extension | ||||
| instances", and exit with failure. | ||||
| If any of the Clearance attributes in the | ||||
| AuthorityClearanceConstraints extension contains more than one value, | ||||
| set effective-clearance to an empty list, set error code to "multiple | ||||
| values", and exit with failure. | ||||
| Create a state variable named permitted-clearances. If the trust | If any of the Clearance attributes in the permitted-clearances | |||
| anchor contains an AuthorityClearanceConstraints extension, then the | contains more than one value, set effective-clearance to an empty | |||
| initial value of permitted-clearances is the | list, set error code to "multiple values in input", and exit with | |||
| AuthorityClearanceConstraints extension from the trust anchor. | failure. | |||
| Examine the permitted-clearances for the same Policy ID appearing | Examine the permitted-clearances for the same Policy ID appearing | |||
| more then once. If a policyID appears more than once in the | more then once. If a policyID appears more than once in the | |||
| permitted-clearances state variable, set effective-clearance to an | permitted-clearances state variable, set effective-clearance to an | |||
| empty list, set error code to "multiple instances of same clearance", | empty list, set error code to "multiple instances of same clearance", | |||
| and exit with failure. | and exit with failure. | |||
| If the trust anchor does not contain an AuthorityClearanceConstraints | If the trust anchor does not contain an AuthorityClearanceConstraints | |||
| extension, the permitted-clearances variable is assigned the special | extension, continue at Section 4.1.1.3. Otherwise, execute the | |||
| value all-clearances. | procedure described in Section 6 as an in-line macro by treating the | |||
| trust anchor as a PKC. | ||||
| 4.1.1.3. Basic Certificate Processing | 4.1.1.3. Basic Certificate Processing | |||
| If the PKC is the last PKC (i.e., certificate n), skip the steps | If the PKC is the last PKC (i.e., certificate n), skip the steps | |||
| listed in this section. | listed in this section. Otherwise, execute the procedure described | |||
| in Section 6. as an in-line macro. | ||||
| Examine the PKC and verify that it does not contain more than one | ||||
| instance of AuthorityClearanceConstraints extension. If the PKC | ||||
| contains more than one instance of AuthorityClearanceConstraints | ||||
| extension, set effective-clearance to an empty list, set error code | ||||
| to "multiple extension instances", and exit with failure. | ||||
| If any of the Clearance attributes in the | ||||
| AuthorityClearanceConstraints extension contains more than one value, | ||||
| set effective-clearance to an empty list, set error code to "multiple | ||||
| values", and exit with failure. | ||||
| If the AuthorityClearanceConstraints certificate extension is not | ||||
| present in the PKC, no action is taken, and the permitted-clearances | ||||
| value is unchanged. | ||||
| If the AuthorityClearanceConstraints certificate extension is present | ||||
| in the PKC, set the variable temp-clearances to | ||||
| AuthorityClearanceConstraints certificate extension. Examine the | ||||
| temp-clearances for the same Policy ID appearing more then once. If | ||||
| a policyID appears more than once in the temp-clearances state | ||||
| variable, set effective-clearance to an empty list, set error code to | ||||
| "multiple instances of same clearance", and exit with failure. | ||||
| If the AuthorityClearanceConstraints certificate extension is present | ||||
| in the PKC and permitted-clearances contains the all-clearances | ||||
| special value, then assign permitted-clearances the value of the | ||||
| temp-clearances. | ||||
| If the AuthorityClearanceConstraints certificate extension is present | ||||
| in the PKC and permitted-clearances does not contain the all- | ||||
| clearances special value, take the intersection of temp-clearances | ||||
| and permitted-clearances by repeating the following steps for each | ||||
| clearance in the permitted-clearances state variable: | ||||
| - If the policyID associated with the clearance is absent in the | ||||
| temp-clearances, delete the clearance structure associated with | ||||
| the policyID from the permitted-clearances state variable. | ||||
| - If the policyID is present in the temp-clearances: | ||||
| -- For every classList bit, assign the classList bit a value of | ||||
| one (1) for the policyID in permitted-clearances state | ||||
| variable if the bit is one (1) in both the permitted- | ||||
| clearances state variable and the temp-clearances for that | ||||
| policyID; otherwise assign the bit a value of zero (0). | ||||
| -- If no bits are one (1) for the classList, delete the clearance | ||||
| structure associated with the policyID from the permitted- | ||||
| clearances state variable and skip the next step of processing | ||||
| securityCategories. | ||||
| -- For the policyID in permitted-clearances, set the | ||||
| securityCategories to the intersection of securityCategories | ||||
| for the policyID in permitted-clearances and in temp- | ||||
| clearances using the algorithm described in Section 6. Note | ||||
| that an empty SET is represented by simply omitting the SET. | ||||
| 4.1.1.4. Preparation for Certificate i+1 | 4.1.1.4. Preparation for Certificate i+1 | |||
| No additional action associated with the Clearance attribute or | No additional action associated with the Clearance attribute or | |||
| AuthorityClearanceConstraints certificate extensions is taken during | AuthorityClearanceConstraints certificate extensions is taken during | |||
| this phase of certification path validation as described in section 6 | this phase of certification path validation as described in section 6 | |||
| of [RFC5280]. | of [RFC5280]. | |||
| 4.1.1.5. Wrap-up Procedure | 4.1.1.5. Wrap-up Procedure | |||
| skipping to change at page 11, line 11 ¶ | skipping to change at page 10, line 29 ¶ | |||
| clearance contains the effective clearance for the subject of the | clearance contains the effective clearance for the subject of the | |||
| certification path. Processing also returns success or failure | certification path. Processing also returns success or failure | |||
| indication and reason for failure, if applicable. | indication and reason for failure, if applicable. | |||
| 5. Clearance and Authority Clearance Constraints Processing in AC | 5. Clearance and Authority Clearance Constraints Processing in AC | |||
| This section describes the processing of certification path when | This section describes the processing of certification path when | |||
| Clearance is asserted in an AC. Relevant to processing are: one TA; | Clearance is asserted in an AC. Relevant to processing are: one TA; | |||
| 0 or more CA PKCs; 0 or 1 AA PKC; and 1 AC. | 0 or more CA PKCs; 0 or 1 AA PKC; and 1 AC. | |||
| Authority Clearance Constraints certificate extension and Clearance | User input, Authority Clearance Constraints certificate extension and | |||
| attribute processing determines the effective clearance (henceforth | Clearance attribute processing determines the effective clearance | |||
| called effective-clearance) for the AC. Authority Clearance | (henceforth called effective-clearance) for the AC. User input, | |||
| Constraints certificate extension in the TA and in each PKC up to and | Authority Clearance Constraints certificate extension in the TA and | |||
| including the AA PKC in a certification path impact the effective- | in each PKC up to and including the AA PKC in a certification path | |||
| clearance. If there is more than one path to the AA PKC, each path | impact the effective-clearance. If there is more than one path to | |||
| is processed independently. The process involves two steps: | the AA PKC, each path is processed independently. The process | |||
| involves two steps: | ||||
| 1) collecting the Authority Clearance Constraints; and | 1) collecting the Authority Clearance Constraints; and | |||
| 2) using Authority Clearance Constraints in the PKC certification | 2) using Authority Clearance Constraints in the PKC certification | |||
| path and the Clearance in the AC to determine the effective- | path and the Clearance in the AC to determine the effective- | |||
| clearance for the subject of the AC. | clearance for the subject of the AC. | |||
| The effective-clearance for the subject of the AC is the intersection | The effective-clearance for the subject of the AC is the intersection | |||
| of Clearance in the subject AC, Authority Clearance Constraints, if | of Clearance in the subject AC, Authority Clearance Constraints, if | |||
| present, in trust anchor and all Authority Clearance Constraints | present, in trust anchor, user input, and all Authority Clearance | |||
| present in PKC certification path from the TA to the AA. Any | Constraints present in PKC certification path from the TA to the AA. | |||
| effective-clearance calculation algorithm that performs this | Any effective-clearance calculation algorithm that performs this | |||
| calculation and provides the same outcome as the one from the | calculation and provides the same outcome as the one from the | |||
| algorithm described herein is considered compliant with the | algorithm described herein is considered compliant with the | |||
| requirements of this RFC. | requirements of this RFC. | |||
| Authority Clearance Constraints is maintained in one state variable: | Authority Clearance Constraints is maintained in one state variable: | |||
| permitted-clearances. When processing begins, permitted-clearances | permitted-clearances. When processing begins, permitted-clearances | |||
| is initialized to the special value all-clearances if Authority | is initialized to user input or special value all-clearances if | |||
| Clearance Constraints certificate extension is not present in or | Authority Clearance Constraints user input is not provided. The | |||
| associated with the trust anchor, otherwise this value is initialized | permitted-clearances state variable is updated by first processing | |||
| to Authority Clearance Constraints associated with the trust anchor. | Authority Clearance Constraints associated with the trust anchor, and | |||
| The permitted-clearances state variable is updated each time a PKC | then each time a PKC (other than AC holder PKC) that contains an | |||
| (other than AC holder PKC) that contains an Authority Clearance | Authority Clearance Constraints certificate extension in the path is | |||
| Constraints certificate extension in the path is processed. | processed. | |||
| When processing the AC, the value in the Clearance attribute in the | When processing the AC, the value in the Clearance attribute in the | |||
| AC is intersected with the permitted-clearances state variable. | AC is intersected with the permitted-clearances state variable. | |||
| The output of Clearance and Authority Clearance Constraint | The output of Clearance and Authority Clearance Constraint | |||
| certificate extensions processing is the effective-clearance, which | certificate extensions processing is the effective-clearance, which | |||
| could also be an empty list; and success or failure with reason code | could also be an empty list; and success or failure with reason code | |||
| for failure. | for failure. | |||
| 5.1. Collecting Constraints | 5.1. Collecting Constraints | |||
| Authority Clearance Constraints are collected from the trust anchor | Authority Clearance Constraints are collected from the user input, | |||
| and all the PKCs in a PKC certification path. | the trust anchor and all the PKCs in a PKC certification path. | |||
| 5.1.1. Certification Path Processing | 5.1.1. Certification Path Processing | |||
| When processing Authority Clearance Constraints certificate extension | When processing Authority Clearance Constraints certificate extension | |||
| for the purposes of validating Clearance in the AC, the processing | for the purposes of validating Clearance in the AC, the processing | |||
| described in this section or an equivalent algorithm MUST be included | described in this section or an equivalent algorithm MUST be included | |||
| in the certification path validation. The processing is presented as | in the certification path validation. The processing is presented as | |||
| additions to the PKC certification path validation algorithm | additions to the PKC certification path validation algorithm | |||
| described in section 6 of [RFC5280] for the AA PKC certification path | described in section 6 of [RFC5280] for the AA PKC certification path | |||
| and the algorithm described in section 5 of [RFC3281] for the AC | and the algorithm described in section 5 of [3281bis] for the AC | |||
| validation. | validation. Also see note related to [RFC5280 augmentation in | |||
| Section 4.1.1. | ||||
| 5.1.1.1. Inputs | 5.1.1.1. Inputs | |||
| Same as Section 4.1.1.1. | Same as Section 4.1.1.1. | |||
| In addition, let us assume that the PKC certification path for the AA | In addition, let us assume that the PKC certification path for the AA | |||
| consists of n certificates. | consists of n certificates. | |||
| 5.1.1.2. Initialization | 5.1.1.2. Initialization | |||
| skipping to change at page 13, line 19 ¶ | skipping to change at page 12, line 38 ¶ | |||
| 5.1.1.5.1. Wrap Up Clearance | 5.1.1.5.1. Wrap Up Clearance | |||
| Same as Section 4.1.1.5.1. | Same as Section 4.1.1.5.1. | |||
| 5.1.1.6. Outputs | 5.1.1.6. Outputs | |||
| Same as Section 4.1.1.6. | Same as Section 4.1.1.6. | |||
| In addition, apply AC processing rules described in Section 5 of | In addition, apply AC processing rules described in Section 5 of | |||
| [RFC3281]. | [3281bis]. | |||
| 6. Computing Intersection of securityCategories | 6. Computing Intersection of permitted-clearances and | |||
| AuthorityClearanceConstraints extension | ||||
| Examine the PKC and verify that it does not contain more than one | ||||
| instance of AuthorityClearanceConstraints extension. If the PKC | ||||
| contains more than one instance of AuthorityClearanceConstraints | ||||
| extension, set effective-clearance to an empty list, set error code | ||||
| to "multiple extension instances", and exit with failure. | ||||
| If any of the Clearance attributes in the | ||||
| AuthorityClearanceConstraints extension contains more than one value, | ||||
| set effective-clearance to an empty list, set error code to "multiple | ||||
| values", and exit with failure. | ||||
| If the AuthorityClearanceConstraints certificate extension is not | ||||
| present in the PKC, no action is taken, and the permitted-clearances | ||||
| value is unchanged. | ||||
| If the AuthorityClearanceConstraints certificate extension is present | ||||
| in the PKC, set the variable temp-clearances to | ||||
| AuthorityClearanceConstraints certificate extension. Examine the | ||||
| temp-clearances for the same Policy ID appearing more then once. If | ||||
| a policyID appears more than once in the temp-clearances state | ||||
| variable, set effective-clearance to an empty list, set error code to | ||||
| "multiple instances of same clearance", and exit with failure. | ||||
| If the AuthorityClearanceConstraints certificate extension is present | ||||
| in the PKC and permitted-clearances contains the all-clearances | ||||
| special value, then assign permitted-clearances the value of the | ||||
| temp-clearances. | ||||
| If the AuthorityClearanceConstraints certificate extension is present | ||||
| in the PKC and permitted-clearances does not contain the all- | ||||
| clearances special value, take the intersection of temp-clearances | ||||
| and permitted-clearances by repeating the following steps for each | ||||
| clearance in the permitted-clearances state variable: | ||||
| - If the policyID associated with the clearance is absent in the | ||||
| temp-clearances, delete the clearance structure associated with | ||||
| the policyID from the permitted-clearances state variable. | ||||
| - If the policyID is present in the temp-clearances: | ||||
| -- For every classList bit, assign the classList bit a value of | ||||
| one (1) for the policyID in permitted-clearances state | ||||
| variable if the bit is one (1) in both the permitted- | ||||
| clearances state variable and the temp-clearances for that | ||||
| policyID; otherwise assign the bit a value of zero (0). | ||||
| -- If no bits are one (1) for the classList, delete the clearance | ||||
| structure associated with the policyID from the permitted- | ||||
| clearances state variable and skip the next step of processing | ||||
| securityCategories. | ||||
| -- For the policyID in permitted-clearances, set the | ||||
| securityCategories to the intersection of securityCategories | ||||
| for the policyID in permitted-clearances and in temp- | ||||
| clearances using the algorithm described in Section 7. Note | ||||
| that an empty SET is represented by simply omitting the SET. | ||||
| 7. Computing Intersection of securityCategories | ||||
| This section describes how to compute the intersection of | This section describes how to compute the intersection of | |||
| securityCategories A and B. It uses the state variable temp-set. | securityCategories A and B. It uses the state variable temp-set. | |||
| Set the SET temp-set to empty. | Set the SET temp-set to empty. | |||
| If SET A is empty (i.e., securityCategories is absent), return temp- | If SET A is empty (i.e., securityCategories is absent), return temp- | |||
| set. | set. | |||
| If SET B is empty (i.e., securityCategories is absent), return temp- | If SET B is empty (i.e., securityCategories is absent), return temp- | |||
| skipping to change at page 14, line 20 ¶ | skipping to change at page 15, line 5 ¶ | |||
| SET B with the same Type OID. | SET B with the same Type OID. | |||
| 5. If the intersection is not empty, add and element containing the | 5. If the intersection is not empty, add and element containing the | |||
| Type OID and intersection result as value to temp-set. | Type OID and intersection result as value to temp-set. | |||
| 6. If more elements remain in SET A, process the next element | 6. If more elements remain in SET A, process the next element | |||
| starting with step 1. | starting with step 1. | |||
| Return temp-set. | Return temp-set. | |||
| 7. Recommended securityCategories | 8. Recommended securityCategories | |||
| This RFC also include a recommended securityCategories as follows: | This RFC also include a recommended securityCategories as follows: | |||
| SecurityCategory ::= SEQUENCE { | SecurityCategory ::= SEQUENCE { | |||
| type [0] OID id-TBSL, | type [0] OID id-TBSL, | |||
| value [1] BIT STRING | value [1] BIT STRING | |||
| } | } | |||
| Note that Type specific intersection of two values for this Type will | Note that Type specific intersection of two values for this Type will | |||
| be simply setting the bits that are set in both values. If the | be simply setting the bits that are set in both values. If the | |||
| resulting intersection has none of the bits set, the intersection is | resulting intersection has none of the bits set, the intersection is | |||
| considered empty. | considered empty. | |||
| 8. Security Considerations | 9. Security Considerations | |||
| Certificate issuers must recognize that absence of the | Certificate issuers must recognize that absence of the | |||
| AuthorityClearanceConstraints in a CA or AA certificate means that in | AuthorityClearanceConstraints in a CA or AA certificate means that in | |||
| terms of the clearance, the subject Authority is not constrained. | terms of the clearance, the subject Authority is not constrained. | |||
| Absence of Clearance attribute in a certificate means that the | Absence of Clearance attribute in a certificate means that the | |||
| subject has not been assigned any clearance. | subject has not been assigned any clearance. | |||
| If there is no Clearance associated with a TA, it means that the TA | If there is no Clearance associated with a TA, it means that the TA | |||
| has not been assigned any clearance. | has not been assigned any clearance. | |||
| If the local security policy considers the clearance held by a | If the local security policy considers the clearance held by a | |||
| subject or those supported by a CA or AA to be sensitive, then the | subject or those supported by a CA or AA to be sensitive, then the | |||
| Clearance attribute or Authority Clearance Constraints should only be | Clearance attribute or Authority Clearance Constraints should only be | |||
| included if the subject's and Authority's certificate can be privacy | included if the subject's and Authority's certificate can be privacy | |||
| protected. Also in this case, distribution of trust anchors and | protected. Also in this case, distribution of trust anchors and | |||
| associated Authority Clearance Constraints extension or Clearance | associated Authority Clearance Constraints extension or Clearance | |||
| must also be privacy protected. | must also be privacy protected. | |||
| 9. IANA Considerations | 10. IANA Considerations | |||
| None. Please remove this section prior to publication as an RFC. | None. Please remove this section prior to publication as an RFC. | |||
| 10. References | 11. References | |||
| 10.1. Normative References | 11.1. Normative References | |||
| [PKI-ASN] Hoffman, P., and J. Schaad, "New ASN.1 Modules for PKIX", | [PKI-ASN] Hoffman, P., and J. Schaad, "New ASN.1 Modules for PKIX", | |||
| draft-ietf-pkix-new-asn1, work-in-progress. | draft-ietf-pkix-new-asn1, work-in-progress. | |||
| /*** RFC EDITOR: Please replace PKI-ASN with RFCXYZA when draft-ietf- | ||||
| pkix-new-asn1 is published. | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
| [RFC3281] Farrell, S., and Housley, R., "An Internet Attribute | ||||
| Certificate Profile for Authorization", RFC 3281, April | ||||
| 2002. | ||||
| [3281bis] Farrell, S., Housely, R., and S. Turner, "An Internet | [3281bis] Farrell, S., Housely, R., and S. Turner, "An Internet | |||
| Attribute Certificate Profile for Authorization: Update", | Attribute Certificate Profile for Authorization: Update", | |||
| draft-ietf-pkix-3281update-01, work-in-progress. | draft-ietf-pkix-3281update-04, work-in-progress. | |||
| /*** RFC EDITOR: Please replace 3281bis with RFCXYZA when draft-ietf- | ||||
| pkix-3281update is published. | ||||
| [RFC5280] Cooper, D. et. al., "Internet X.509 Public Key | [RFC5280] Cooper, D. et. al., "Internet X.509 Public Key | |||
| Infrastructure Certificate and Certification Revocation | Infrastructure Certificate and Certification Revocation | |||
| List (CRL) Profile", RFC 5280, May 2008. | List (CRL) Profile", RFC 5280, May 2008. | |||
| [X.680] ITU-T Recommendation X.680 (2004) | ISO/IEC 8824-1:2004. | [X.680] ITU-T Recommendation X.680 (2004) | ISO/IEC 8824-1:2004. | |||
| Information Technology - Abstract Syntax Notation One. | Information Technology - Abstract Syntax Notation One. | |||
| 10.2. Informative References | 11.2. Informative References | |||
| [RFC3114] Nicolls, W., "Implementing Company Classification Policy | [RFC3114] Nicolls, W., "Implementing Company Classification Policy | |||
| with S/MIME Security Label", RFC3114, May 2002. | with S/MIME Security Label", RFC3114, May 2002. | |||
| [RFC3739] Santesson, S. et. al., "Internet X.509 Public Key | [RFC3739] Santesson, S. et. al., "Internet X.509 Public Key | |||
| Infrastructure: Qualified Certificate Profile", RFC 3739, | Infrastructure: Qualified Certificate Profile", RFC 3739, | |||
| March 2004. | March 2004. | |||
| Appendix A. ASN.1 Module | Appendix A. ASN.1 Module | |||
| This appendix provides the normative ASN.1 definitions for | This appendix provides the normative ASN.1 definitions for | |||
| the structures described in this specification using ASN.1 as defined | the structures described in this specification using ASN.1 as defined | |||
| in X.680. | in X.680. | |||
| Clearance-AuthorityClearanceConstraints93 { id-TBSL } | ClearanceConstraints { iso(1) identified-organization(3) dod(6) | |||
| internet(1) security(5) mechanisms(5) pkix(7) mod(0) 46 } | ||||
| DEFINITIONS IMPLICIT TAGS ::= | DEFINITIONS IMPLICIT TAGS ::= | |||
| BEGIN | BEGIN | |||
| -- EXPORTS ALL -- | -- EXPORTS ALL -- | |||
| IMPORTS | IMPORTS | |||
| -- IMPORTS from [PKI-ASN] | -- IMPORTS from [PKI-ASN] | |||
| skipping to change at page 16, line 46 ¶ | skipping to change at page 17, line 47 ¶ | |||
| id-mod-pkixCommon(43) | id-mod-pkixCommon(43) | |||
| } | } | |||
| ; | ; | |||
| -- Clearance attribute OID and syntax | -- Clearance attribute OID and syntax | |||
| -- The following is a '93 version for clearance. | -- The following is a '93 version for clearance. | |||
| -- It is included for convenience. | -- It is included for convenience. | |||
| -- id-at-clearance OBJECT IDENTIFIER ::= | -- id-at-clearance OBJECT IDENTIFIER ::= | |||
| -- { joint-iso-ccitt(2) ds(5) module(1) selected-attribute-types(5) | -- { joint-iso-ccitt(2) ds(5) attributeTypes(5) clearance (55) } | |||
| -- clearance (55) | ||||
| -- } | ||||
| -- Clearance ::= SEQUENCE { | -- Clearance ::= SEQUENCE { | |||
| -- policyId OBJECT IDENTIFIER, | -- policyId OBJECT IDENTIFIER, | |||
| -- classList ClassList DEFAULT {unclassified}, | -- classList ClassList DEFAULT {unclassified}, | |||
| -- securityCategories SET OF SecurityCategory OPTIONAL | -- securityCategories SET OF SecurityCategory OPTIONAL | |||
| -- } | -- } | |||
| -- ClassList ::= BIT STRING { | -- ClassList ::= BIT STRING { | |||
| -- unmarked (0), | -- unmarked (0), | |||
| -- unclassified (1), | -- unclassified (1), | |||
| -- restricted (2), | -- restricted (2), | |||
| skipping to change at page 17, line 32 ¶ | skipping to change at page 18, line 32 ¶ | |||
| -- type [0] | -- type [0] | |||
| -- TYPE-IDENTIFIER.&id({SupportedSecurityCategories}), | -- TYPE-IDENTIFIER.&id({SupportedSecurityCategories}), | |||
| -- value [1] | -- value [1] | |||
| -- EXPLICIT TYPE-IDENTIFIER.&Type | -- EXPLICIT TYPE-IDENTIFIER.&Type | |||
| -- ({SupportedSecurityCategories}{@type}) | -- ({SupportedSecurityCategories}{@type}) | |||
| -- } | -- } | |||
| -- Authority Clearance Constraints certificate extension OID | -- Authority Clearance Constraints certificate extension OID | |||
| -- and syntax | -- and syntax | |||
| id-ce-authorityClearanceConstraints OBJECT IDENTIFIER ::= { id-TBSL } | id-pe-clearanceConstraints OBJECT IDENTIFIER ::= | |||
| { iso(1) identified-organization(3) dod(6) internet(1) security(5) | ||||
| mechanisms(5) pkix(7) pe(1) 21 } | ||||
| authorityClearanceConstraints EXTENSION ::= { | authorityClearanceConstraints EXTENSION ::= { | |||
| SYNTAX AuthorityClearanceConstraints | SYNTAX AuthorityClearanceConstraints | |||
| IDENTIFIED BY id-ce-AuthorityClearanceConstraints | IDENTIFIED BY id-pe-clearanceConstraints | |||
| } | } | |||
| AuthorityClearanceConstraints ::= SEQUENCE SIZE (1..MAX) OF Clearance | AuthorityClearanceConstraints ::= SEQUENCE SIZE (1..MAX) OF Clearance | |||
| END | END | |||
| Author's Addresses | Author's Addresses | |||
| Sean Turner | Sean Turner | |||
| skipping to change at page 19, line 4 ¶ | skipping to change at line 824 ¶ | |||
| 3057 Nutley Street, Suite 106 | 3057 Nutley Street, Suite 106 | |||
| Fairfax, VA 22031 | Fairfax, VA 22031 | |||
| USA | USA | |||
| EMail: turners@ieca.com | EMail: turners@ieca.com | |||
| Santosh Chokhani | Santosh Chokhani | |||
| CygnaCom Solutions, Inc. | CygnaCom Solutions, Inc. | |||
| Email: SChokhani@cygnacom.com | Email: SChokhani@cygnacom.com | |||
| Full Copyright Statement | ||||
| Copyright (C) The IETF Trust (2008). | ||||
| This document is subject to the rights, licenses and restrictions | ||||
| contained in BCP 78, and except as set forth therein, the authors | ||||
| retain all their rights. | ||||
| This document and the information contained herein are provided on an | ||||
| "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | ||||
| OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND | ||||
| THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS | ||||
| OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF | ||||
| THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | ||||
| WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | ||||
| Intellectual Property | ||||
| The IETF takes no position regarding the validity or scope of any | ||||
| Intellectual Property Rights or other rights that might be claimed to | ||||
| pertain to the implementation or use of the technology described in | ||||
| this document or the extent to which any license under such rights | ||||
| might or might not be available; nor does it represent that it has | ||||
| made any independent effort to identify any such rights. Information | ||||
| on the procedures with respect to rights in RFC documents can be | ||||
| found in BCP 78 and BCP 79. | ||||
| Copies of IPR disclosures made to the IETF Secretariat and any | ||||
| assurances of licenses to be made available, or the result of an | ||||
| attempt made to obtain a general license or permission for the use of | ||||
| such proprietary rights by implementers or users of this | ||||
| specification can be obtained from the IETF on-line IPR repository at | ||||
| http://www.ietf.org/ipr. | ||||
| The IETF invites any interested party to bring to its attention any | ||||
| copyrights, patents or patent applications, or other proprietary | ||||
| rights that may cover technology that may be required to implement | ||||
| this standard. Please address the information to the IETF at | ||||
| ietf-ipr@ietf.org. | ||||
| Acknowledgment | ||||
| Funding for the RFC Editor function is provided by the IETF | ||||
| Administrative Support Activity (IASA). | ||||
| End of changes. 49 change blocks. | ||||
| 177 lines changed or deleted | 211 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||