Internet DRAFT - draft-hallambaker-securitypolicy

draft-hallambaker-securitypolicy






Internet Engineering Task Force                          P. Hallam-Baker
Internet-Draft                                         Comodo Group Inc.
Intended status: Standards Track                            R. Stradling
Expires: May 2, 2012                                      Comodo CA Ltd.
                                                        October 30, 2011


               Security Policy Distribution Format (SPDF)
                  draft-hallambaker-securitypolicy-01

Abstract

   This document describes a format for distributing collections of
   security policy statments as static documents.

   Individual security policy statements are expressed in a HTTP
   compatible header syntax.  Lists of security policy statements are
   signed for exchange.  Strong references to static data objects are
   formed using Named Information (ni) URI specifiers.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on May 2, 2012.

Copyright Notice

   Copyright (c) 2011 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
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must



Hallam-Baker & Stradling   Expires May 2, 2012                  [Page 1]

Internet-Draft     Security Policy Distribution Format      October 2011


   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.


Table of Contents

   1.  Definitions  . . . . . . . . . . . . . . . . . . . . . . . . .  4
     1.1.  Requirements Language  . . . . . . . . . . . . . . . . . .  4
     1.2.  Defined Terms  . . . . . . . . . . . . . . . . . . . . . .  4
   2.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  5
     2.1.  Requirements . . . . . . . . . . . . . . . . . . . . . . .  5
       2.1.1.  Risks  . . . . . . . . . . . . . . . . . . . . . . . .  5
         2.1.1.1.  Protocol Downgrade Attack  . . . . . . . . . . . .  5
         2.1.1.2.  CA Downgrade Attack  . . . . . . . . . . . . . . .  6
         2.1.1.3.  Use of Revoked Certificate . . . . . . . . . . . .  6
       2.1.2.  Security Policy Origination  . . . . . . . . . . . . .  6
         2.1.2.1.  Explicit . . . . . . . . . . . . . . . . . . . . .  6
         2.1.2.2.  Heuristic  . . . . . . . . . . . . . . . . . . . .  7
       2.1.3.  Distribution . . . . . . . . . . . . . . . . . . . . .  7
     2.2.  Security Policy Statements . . . . . . . . . . . . . . . .  8
       2.2.1.  Controlling Protocol Downgrade Attack  . . . . . . . .  8
       2.2.2.  Mitigating CA Substitution Attack  . . . . . . . . . . 10
       2.2.3.  Emergency Certificate Revocation . . . . . . . . . . . 10
     2.3.  Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 11
       2.3.1.  Common Syntax  . . . . . . . . . . . . . . . . . . . . 11
       2.3.2.  Data Types . . . . . . . . . . . . . . . . . . . . . . 11
         2.3.2.1.  dns-name . . . . . . . . . . . . . . . . . . . . . 11
         2.3.2.2.  date-time  . . . . . . . . . . . . . . . . . . . . 11
         2.3.2.3.  protocol-id  . . . . . . . . . . . . . . . . . . . 12
         2.3.2.4.  ni-uri . . . . . . . . . . . . . . . . . . . . . . 12
         2.3.2.5.  data-uri . . . . . . . . . . . . . . . . . . . . . 12
         2.3.2.6.  tls-version  . . . . . . . . . . . . . . . . . . . 12
       2.3.3.  Common Parameters  . . . . . . . . . . . . . . . . . . 12
         2.3.3.1.  Domain=<dns-name>  . . . . . . . . . . . . . . . . 12
         2.3.3.2.  Protocol=<protocol-id>*  . . . . . . . . . . . . . 12
         2.3.3.3.  UTC=<date-time>  . . . . . . . . . . . . . . . . . 13
         2.3.3.4.  Expire=<date-time> . . . . . . . . . . . . . . . . 13
         2.3.3.5.  Common . . . . . . . . . . . . . . . . . . . . . . 13
       2.3.4.  Statement: CA-PIN: <ni-uri>  . . . . . . . . . . . . . 13
         2.3.4.1.  Match= 'key' | 'csk' | 'cert' | 'path' . . . . . . 13
         2.3.4.2.  After=<date-time>  . . . . . . . . . . . . . . . . 14
         2.3.4.3.  Before=<date-time> . . . . . . . . . . . . . . . . 14
         2.3.4.4.  Unpin=<ni-uri> . . . . . . . . . . . . . . . . . . 14
       2.3.5.  Statement: Unpin: <data-uri> . . . . . . . . . . . . . 14
       2.3.6.  Statement: Revoke: <uri> . . . . . . . . . . . . . . . 14
       2.3.7.  Statement: Action: <action>  . . . . . . . . . . . . . 14
       2.3.8.  Statement: Report: <dns-name>  . . . . . . . . . . . . 15



Hallam-Baker & Stradling   Expires May 2, 2012                  [Page 2]

Internet-Draft     Security Policy Distribution Format      October 2011


       2.3.9.  Statement: TLS: <level>  . . . . . . . . . . . . . . . 15
         2.3.9.1.  min=<tls-version>  . . . . . . . . . . . . . . . . 15
         2.3.9.2.  max=<tls-version>  . . . . . . . . . . . . . . . . 16
   3.  Distribution Format  . . . . . . . . . . . . . . . . . . . . . 16
     3.1.  Cryptographic Message Syntax Properties  . . . . . . . . . 16
     3.2.  JSON Packaging . . . . . . . . . . . . . . . . . . . . . . 16
   4.  Security Considerations  . . . . . . . . . . . . . . . . . . . 16
   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 16
   6.  Normative References . . . . . . . . . . . . . . . . . . . . . 16
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17









































Hallam-Baker & Stradling   Expires May 2, 2012                  [Page 3]

Internet-Draft     Security Policy Distribution Format      October 2011


1.  Definitions

1.1.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119]

1.2.  Defined Terms

   The following terms are used in this document:

   Certificate  An X.509 Certificate, as specified in RFC 5280
      [RFC5280].

   Certification Policy (CP)  Specifies the criteria that a
      Certification Authority undertakes to meet in its issue of
      certificates.

   Certification Practices Statement (CPS)  Specifies the means by which
      the criteria of the Certification Policy are met.  In most cases
      this will be the document against which the operations of the
      Certification Authority are audited.

   Certification Authority (CA)  An entity that issues Certificates in
      accordance with a specified Certification Policy.

   Domain  The set of resources associated with a DNS Domain Name.

   Domain Name  A DNS Domain name as specified in RFC 1035 [RFC1035] and
      revisions.

   Domain Name System (DNS)  The Internet naming system specified in RFC
      1035 [RFC1035] and revisions.

   DNS Security (DNSSEC)  Extensions to the DNS that provide
      authentication services as specified in RFC 4033 [RFC4033] and
      revisions.

   Public Key Infrastructure X.509 (PKIX)  Standards and specifications
      issued by the IETF that apply the X.509 [X.509] certificate
      standards specified by the ITU to Internet applications as
      specified in RFC 5280 [RFC5280] and related documents.

   Resource Record (RR)  A set of attributes bound to a Domain Name.






Hallam-Baker & Stradling   Expires May 2, 2012                  [Page 4]

Internet-Draft     Security Policy Distribution Format      October 2011


   Relying Party  A party that makes use of an application whose
      operation depends on use of a Certificate for making a security
      decision.

   Relying Application  An application whose operation depends on use of
      a Certificate for making a security decision.


2.  Introduction

   Recent compromises of critical infrastructure have highlighted the
   weaknesses that result from the fact that on the Internet, security
   is an option, not the default.

   Security Policy provides a mechanism for advising parties of the
   minimum degree of security that they should accept for a
   communication and thus preventing downgrade attacks.

2.1.  Requirements

   Security Policy statements provide a mechanism for advising parties
   of the risk of a downgrade attack and the enforcement actions that
   are appropriate based on the quality of the security policy
   information available.

   While the natural inclination of security specialists is to advise
   that a security policy violation always result in a hard failure with
   the corresponding transaction being aborted, this approach imposes a
   high cost for false positives.  Previous attempts to employ security
   policy data (e.g. in DKIM) have faced objections from those fearing
   that the false positive rate will be unacceptably high.

   Recent events have demonstrated that the value of reporting a
   security policy violation is considerably higher than than security
   policy enforcement on a limited scale.  While security policy
   enforcement has the potential to protect the individual Internet
   user, reporting a violation to the appropriate parties has the
   potential to protect the entire community of Internet users.

2.1.1.  Risks

2.1.1.1.  Protocol Downgrade Attack

   In a protocol downgrade attack the attacker causes client software to
   communicate en-clair when TLS or some other security enhancement is
   offered.





Hallam-Baker & Stradling   Expires May 2, 2012                  [Page 5]

Internet-Draft     Security Policy Distribution Format      October 2011


2.1.1.2.  CA Downgrade Attack

   In a CA downgrade attack the attacker applies for a certificate from
   a different issuer to that authorized by the Domain name holder or
   for a category of certificate with lest strict validation
   requirements.

2.1.1.3.  Use of Revoked Certificate

   Although PKIX specifies two mechanisms for certificate status
   checking, many clients will accept certificates when access to the
   certificate status checking infrastructure fails.

2.1.1.3.1.  Use of Expired Certificate

   Although use of expired certificates is discouraged, the frequency
   with which use of expired certificates occurs from administrative
   oversight prevents strict enforcement.

2.1.2.  Security Policy Origination

   Security policy statements may be obtained from explicit statements
   by domain name holders or obtained heuristically from observation of
   the network.

2.1.2.1.  Explicit

   A domain name holder MAY specify security policy explicitly through
   publication mechanisms that include:

      Publishing statements in Security Policy Distribution Format

      Security Policy Statements in HTTP headers

      Security Policy Statements in DNS records

      Out of band contact with remediation parties.

      Statements to a Certification Authority at certificate issue.

   Even though a statement is explicit, an enforcement point may only
   learn of its existence through heuristic means.  For example
   observing DNS traffic, use of Web crawlers and HTTPS inspection.

   Publication of an explicit Security policy Statement requires a
   considerable commitment of time and effort for a large site.





Hallam-Baker & Stradling   Expires May 2, 2012                  [Page 6]

Internet-Draft     Security Policy Distribution Format      October 2011


2.1.2.2.  Heuristic

   Security policy data MAY also be determined heuristically by
   observation of network traffic.  If a site has been using a
   particular CA for many years and a certificate is suddenly detected
   from an obscure issuer, questions may be asked.

   While the quality of heuristic data may fall short of that required
   to abort transactions by itself, it can still provide a useful basis
   for reporting potential violations and for enforcement when combined
   with data from other sources.

2.1.3.  Distribution

   Security Policy Statements set expectations for security, thus
   overriding the Internet default security expectation of 'none'.

   Security Policy Statements may be used to protect individual Internet
   users through client enforcement and communities of users through
   reporting.

   A Security Policy Statments are designed to permit distribution
   through a variety of means including:

   Embedded in application code  Many clients have security policy
      statements embedded into the application code.  For example code
      to look for specific certificates that are known to be invalid.
      While this is a highly effective means of enforcement it requires
      users to upgrade their client software in response to every
      compromise.

   Local Configuration Files  Some client applications support local
      security policy configuration but the configuration options are
      limited and there is no standard format for distributing the
      configuration.  A standard for specifying Security Policy
      potentially allows every client application to enforce the same
      security policy whether it be a Web browser, mail client or Web
      Services application.

   Data driven updates  Data driven update of security policy overcomes
      the principal limitation of security policy distribution through
      embedded code and local configuration files.  Security Policy can
      be updated in response to threats and reliably enforced without
      the need to perform online queries for each network operation.
      The principal disadvantage being that it is only possible to push
      out security policy statements for selected of domains.





Hallam-Baker & Stradling   Expires May 2, 2012                  [Page 7]

Internet-Draft     Security Policy Distribution Format      October 2011


   Protocol Headers  Distribution of security policy in protocol headers
      overcomes the scaling limitation of data driven updates but only
      provides security after first contact.  If the attacker can
      compromise the first contact they can compromise all subsequent
      contacts.

   DNS Records  DNS provides a scalable means for distribution of
      security policy statements through realtime query and response.
      If the relying party can ensure a connection to a trustworthy DNS
      service, they can protect their security but an attacker that can
      block access to a trustworthy DNS service can force the relying
      party to choose between security and availability.

   Irregular  Security Policy distribution is hard because the
      adversaries encountered to date include nation state actors with
      complete control of the local network infrastructure.  It is thus
      not possible to address every possible need in a standard based
      approach since the adversary can block deployment of the necessary
      standards.

      It follows that standards based techniques SHOULD be supplemented
      by resort to irregular methods where necessary.

   Each distribution mechanism provides a tradeoff between scope,
   effectiveness and resilience.

   The formats described in this document is targetted at distribution
   of Local Security Policy and as data driven updates.  With
   appropriate format the same semantics could be carried in alternative
   distribution media such as protocol headers and DNS records.

2.2.  Security Policy Statements

   Security Policy Statements are used to inform relying parties that
   host(s) support a particular level of security, thus permitting
   relying parties to avoid downgrade attacks.

   Security Policy Statement lists are formatted as a sequence of HTTP
   format headers.  Each header contains a single statement policy
   statement.

2.2.1.  Controlling Protocol Downgrade Attack

   The TLS statement provides a control against protocol downgrade
   attacks.  The following statement specifies that every Web server in
   the domain example.com offers the use of TLS security enhancement.

                 TLS: optional;Domain=*.example.com;Protocol=_http._tcp;



Hallam-Baker & Stradling   Expires May 2, 2012                  [Page 8]

Internet-Draft     Security Policy Distribution Format      October 2011


       UTC=2011-10-25T17:23;Expire=2011-10-28T00:00

   A security policy statement that advises relying parties that
   security is always offers permits a 'promiscuous security approach'
   to be adopted in which clients are advised that the default mode of
   connection SHOULD be with TLS security enhancements.

   When a domain is in the scope of multiple statements the principle of
   closest match is applied.  The following TLS statements specify
   exceptions to the previous statement.

   The following policy statement declares that use of TLS is REQUIRED
   for the authentication server login.example.com, that clients MUST
   perform strict HTTPS processing rules and that a minimum TLS version
   of 3.1 MUST be used.

   TLS: strict;Domain=login.example.com;Protocol=_http._tcp;
       UTC=2011-10-25:17:23;Expire=2011-10-28T00:00;min=3.1
   Action: Block ;Domain=payments.example.com;
       UTC=2011-10-25:17:23;Expire=2011-10-28T00:00

   Exceptions MAY also be used to specify a lower level of security.
   This is useful when a broad security policy is being deployed in
   stages and some hosts do not yet comply with the requirements.

   The following statement specifies that the host test.example.com does
   not have a defined security policy.

   TLS: unknown;Domain=test.example.com;
       UTC=2011-10-25T17:23;Expire=2011-10-28T00:00

   A security policy statement MAY specify a user interface action that
   relying parties are advised to take when a security policy violation
   is detected.  This may range from advising the relying party that
   they MUST ignore the violation to advising them that they SHOULD
   block all communication.

   A security policy statement MAY provide a means of reporting security
   policy violations.  While client enforcement of security policy can
   protect one user, reporting of a violation has the potential to help
   protect the whole community.  Such reporting is orthogonal to the
   relying party action.

   The following statement specifies that relying parties MUST ignore
   security policy violations for all hosts in *.example.com except to
   report them in machine readable format to the specified reporting
   address.  An action statement of this form would typically be used
   during beta testing of a security policy deployment.



Hallam-Baker & Stradling   Expires May 2, 2012                  [Page 9]

Internet-Draft     Security Policy Distribution Format      October 2011


   Action: Ignore ;Domain=*.example.com;
       UTC=2011-10-25T17:23;Expire=2011-10-28T00:00
   Report: security@example.com; format=iodef;Domain=*.example.com;
       UTC=2011-10-25T17:23;Expire=2011-10-28T00:00

2.2.2.  Mitigating CA Substitution Attack

   The CA-PIN and UNPIN statements provide a controll against a CA
   substitution attack.

   The following statement specifies that the domain *.example.com is
   under control against server certificate substitution attacks and
   that X.509v3 certificates conformant with the specified criteria are
   valid for that domain.  If a certificate is presented for a host in
   the domain that does not conform to the criteria specified in any
   security policy statement in the enclosing Security Policy Statement
   list it MUST be considered untrustworthy.

  CA-PIN: ni:///sha-256;RpmvP1PSoV5788nW64mHZbkLinRVdZQi; match=path;
      Domain=*.example.com; UTC=2011-10-25:17:23;Expire=2011-10-28T00:00
      unpin=ni:///sha-256;2UADniDyBYLOISFHDCMdcbQpw3ctAI7o

   The unpin parameter in the above statement contains the digest value
   of a piece of data to be released to revoke the corresponding CA-PIN
   statement.

   The following UNPIN statement revokes the CA-PIN statement above by
   releasing the private data used to create the unpin digest.

   UNPIN: data:base64;RpmvP1PSoV5788nW64mHZbkLinRVdZQi;
       pin=ni:///sha-256;2UADniDyBYLOISFHDCMdcbQpw3ctAI7o

2.2.3.  Emergency Certificate Revocation

   Although X.509v3 and PKIX specify mechanisms for advising relying
   parties of the status of certificates, these approaches must by
   necessity rely on access to the information sources used to
   distribute the status information (CRLs, OCSP tokens).

   Emergency Certificate Revocation advises a relying party that a
   certificate has been found to be invalid and there is a very high
   risk that the certificate will be used for a malicious purpose.

   The following Revoke statement revokes the CA certificate that will
   eventually be attached in an appendix.

   Revoke: ni:///sha-256;6cNTPy-7cu9A0fnNuFSWaQXO9_Gmlf-T




Hallam-Baker & Stradling   Expires May 2, 2012                 [Page 10]

Internet-Draft     Security Policy Distribution Format      October 2011


2.3.  Syntax

   Encoding is 7 bit ASCII as for headers.

2.3.1.  Common Syntax

   All Security Policy Statements have a common syntax based on the
   syntax used in HTTP and SMTP message format.

   Forgetting about the traditional white space and line wrapping
   considerations, the syntax has the format has the following common
   syntax:


   statement         = header-tag ":"  values

   header-tag        = token
   values            = principal-value *("," principal-value)
                                          *( ";" parameter )
   principal-value   = dns-name | uri | quoted-string

   parameter         = attribute | attribute "=" value
   attribute         = token
   value             = token | quoted-string

   WS                = " " | tab

2.3.2.  Data Types

   Principal values and parameter values take one of the following
   types.

2.3.2.1.  dns-name

   A DNS Domain name specifier. [cite]

   A wildcard may be specified using the asterisk character '*'.  Domain
   names MUST not occur amywhere other than as leftmost label in a
   domain name.

   The form *.example.com is valid but sub.*.example.com,
   www*.example.com and *x.example.com are invalid.

2.3.2.2.  date-time

   A Date-Time value in XML time value format

   Time values MUST be in UTC.



Hallam-Baker & Stradling   Expires May 2, 2012                 [Page 11]

Internet-Draft     Security Policy Distribution Format      October 2011


2.3.2.3.  protocol-id

   Specified an internet protocol by means of an SRV protocol prefix as
   specified in [RFC2782].

2.3.2.4.  ni-uri

   Specifies a reference to static data content by means of an ni scheme
   URI.

   Support for the SHA-256 algorithm is REQUIRED.

2.3.2.5.  data-uri

   A data URI formatted in accordance with [RFC2397].

2.3.2.6.  tls-version

   The TLS version number specified as major '.' minor.  Where the
   values of major and minor are as specified by the TLS specification
   [RFC4346].

   TLS 1.1 has the version number 3.1

2.3.3.  Common Parameters

   The following parameters MAY occur in any Security Policy Statement.

2.3.3.1.  Domain=<dns-name>

   The domain(s) to which the security policy statement applies.

   The wildcard character '*' MAY be used to indicate that the security
   policy statement also applies to subdomains within the specified
   domain.

   To facilitate mapping of security policy originated in DNS records,
   the rules for use of wildcards are the same as those defined for
   DNSSEC.  I.e. wildcards SHALL only occur as the first label in a DNS
   name, if a domain is in the scope of multiple security policy
   statements, the principle of closest match is applied.

2.3.3.2.  Protocol=<protocol-id>*

   A list of protocols to which the Security Policy applies.  Protocols
   are identified by their SRV prefix labels.





Hallam-Baker & Stradling   Expires May 2, 2012                 [Page 12]

Internet-Draft     Security Policy Distribution Format      October 2011


2.3.3.3.  UTC=<date-time>

   The time at which the security policy statement was obtained.  This
   MAY be earlier than the time at which the SPDF document is signed but
   SHOULD NOT be later.

2.3.3.4.  Expire=<date-time>

   The time at which the security policy statement expires.  This MUST
   NOT be earlier than the time at which the SPDF document was signed.

2.3.3.5.  Common

   The common parameter is used to provide a simple means of compression
   when specifying lists of Security Policy headers.  If the Common
   header is specified, all unspecified common parameters take their
   value from the preceding header.

2.3.4.  Statement: CA-PIN: <ni-uri>

   The CA-PIN statement is used to prevent a certificate issuer
   downgrade attack.  A certificate SHALL be in violation of the
   specified security policy if the domain in question was within the
   scope of at least one CA-PIN statement at the time in question and
   the certificate does not comply with the requirements of any CA-PIN
   statements that were active at the time in question.

   The principal parameter of a CA-PIN statement is an ni URI that
   specifies the criteria for the pinning.

2.3.4.1.  Match= 'key' | 'csk' | 'cert' | 'path'

   Specifies whether the specified Named Information URI applies to an
   end entity subject key (key), a certificate signing subject key
   (csk), an end entity certificate (cert) or a certificate signing
   certificate (path).  If no match is specified, the 'key' match is the
   default.

2.3.4.1.1.  Calculating the digest of a Subject Key.

   Is calculated over the subjectKeyInfo structure within the
   certificate.

2.3.4.1.2.  Calculating the digest of a Certificate.

   The digest of a certificate is calculated over the binary certificate
   value.




Hallam-Baker & Stradling   Expires May 2, 2012                 [Page 13]

Internet-Draft     Security Policy Distribution Format      October 2011


2.3.4.2.  After=<date-time>

   The statement is only to be applied to certificates issued after the
   specified date and time.

2.3.4.3.  Before=<date-time>

   The statement is only to be applied to certificates issued before the
   specified date and time.

2.3.4.4.  Unpin=<ni-uri>

   A Named Information URI that specifies the digest of an unpinning
   value.  Disclosure of the unpinning value has the effect of revoking
   the corresponding security policy statement to which it is attached.

   The unpinning value SHOULD be a randomly chosen nonce with sufficient
   ergodicity to make determination by brute force attack infeasible.

2.3.5.  Statement: Unpin: <data-uri>

   An unpinning value for a previously distributed CA pinning statement
   encoded as Base64.

2.3.6.  Statement: Revoke: <uri>

   The Revoke statement is used to declare that a certificate is
   invalid.

   While the functionality of the Revoke statement overlaps the
   capabilities and functionality of the existing PKIX revocation
   schemes (CRLs and OCSP), it is intended for a different field of use.

   In particular the Revoke statement SHOULD NOT be employed except as a
   last resort mechanism for use in situations that are not adequately
   addressed by the existing certificate status infrastructure and the
   risk of relying on the revoked certificate is unacceptably high.

2.3.7.  Statement: Action: <action>

   Specifies the action that SHOULD be performed in the case that a
   security policy violation is detected.  Valid actions are 'Ignore',
   'Advise', 'Fail' and 'Block':








Hallam-Baker & Stradling   Expires May 2, 2012                 [Page 14]

Internet-Draft     Security Policy Distribution Format      October 2011


   Ignore  The client SHOULD ignore policy violations.  This option is
      intended for use in testing Security Policy configuration prior to
      requesting enforcement.

   Advise  The client SHOULD advise the user when policy violations
      occur but not impede access to the corresponding network resource.

   Fail  The client SHOULD advise the user that a policy violation has
      occurred and discourage (but not prevent) access to the
      corresponding network resource.

   Block  The client SHOULD advise the user that a policy violation has
      occurred and prevent access to the corresponding network resource.

   Note that the specification of client actions is independent of
   reporting requests.

2.3.8.  Statement: Report: <dns-name>

   This part is to be aligned with whatever is agreed in PKIX for use in
   CAA.

2.3.9.  Statement: TLS: <level>

   Specifies the use of TLS:

   refused  Use of TLS is not supported.

   unknown  Use of TLS is unkown.

   optional (default)  Use of TLS is optional.

   required  Use of TLS is required.

   strict  Use of TLS is required with Strict Transport Security.

   Additional parameters MAY be specified to further control the mode of
   use of TLS.  For example the minimum version of the protocol to be
   used.  [[While this could be extended to include cipher suites it is
   believed that the existing protocol is sufficiently proofed against
   downgrade attack on cipher suites.  If this should be found not to be
   the case it would likely drive an urgent update of the protocol
   version.]]

2.3.9.1.  min=<tls-version>

   Specifies the minimum version of the TLS protocol to which the
   security policy applies (default is SSL 1.0).



Hallam-Baker & Stradling   Expires May 2, 2012                 [Page 15]

Internet-Draft     Security Policy Distribution Format      October 2011


2.3.9.2.  max=<tls-version>

   Specifies the maximum version of the TLS protocol to which the
   security policy applies (default is no maximum version).


3.  Distribution Format

   A SPDF document consists of a Cryptographic Message Syntax object
   [RFC5652] that contains a list of Security Policy statements.  SPDF
   documents SHOULD be signed and MAY be encrypted.

3.1.  Cryptographic Message Syntax Properties

   [TBS details of CMS options that MUST be supported, crib this from
   SMIME]

3.2.  JSON Packaging

   [TBS optional, not sure if it is actually very usefull for this
   particular application but...]


4.  Security Considerations

   TBS


5.  IANA Considerations

   TBS

   Need to create a registry for the statements and parameters.


6.  Normative References

   [RFC1035]  Mockapetris, P., "Domain names - implementation and
              specification", STD 13, RFC 1035, November 1987.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2397]  Masinter, L., "The "data" URL scheme", RFC 2397,
              August 1998.

   [RFC2782]  Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for
              specifying the location of services (DNS SRV)", RFC 2782,



Hallam-Baker & Stradling   Expires May 2, 2012                 [Page 16]

Internet-Draft     Security Policy Distribution Format      October 2011


              February 2000.

   [RFC4033]  Arends, R., Austein, R., Larson, M., Massey, D., and S.
              Rose, "DNS Security Introduction and Requirements",
              RFC 4033, March 2005.

   [RFC4346]  Dierks, T. and E. Rescorla, "The Transport Layer Security
              (TLS) Protocol Version 1.1", RFC 4346, April 2006.

   [RFC5280]  Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
              Housley, R., and W. Polk, "Internet X.509 Public Key
              Infrastructure Certificate and Certificate Revocation List
              (CRL) Profile", RFC 5280, May 2008.

   [RFC5652]  Housley, R., "Cryptographic Message Syntax (CMS)", STD 70,
              RFC 5652, September 2009.

   [X.509]    International Telecommunication Union, "ITU-T
              Recommendation X.509 (11/2008): Information technology -
              Open systems interconnection - The Directory: Public-key
              and attribute certificate frameworks", ITU-T
              Recommendation X.509, November 2008.


Authors' Addresses

   Phillip Hallam-Baker
   Comodo Group Inc.

   Email: philliph@comodo.com


   Rob Stradling
   Comodo CA Ltd.

   Email: rob.stradling@comodo.com















Hallam-Baker & Stradling   Expires May 2, 2012                 [Page 17]