Draft: draft-ietf-lamps-documentsigning-eku

Commentary: Try to used KeyPurposeId ( or key purpose , key purpose identifier , etc . ) , to express more accurately . Add some changes , related with restrictive expression of document signing KeyPurposeId , etc . 
 on the section 4 , it seems better to change some of " EKU " to " KeyPurposeId " or " EKU values " to highlight following . excluded EKUs procedures checks , whether EKU values contain some OID(KeyPurpiseId ) , or absence of EKU extension . permitted EKU procedures check , whether EKU values contain some OID(KeyPurposeId ) . 
 Current expression on " Excluded EKUs procedure " and " Permitted EKU procedure " seems unclear about whether that procedure prohibits or allows , existence of certain key purpose identifier in the extended key usage value ( partial match ) , OR certain set of key purpose identifier is on key usage value(exact match ) . my intension was the former . I will review , and will fix that expression if it were unclear . In addition , I will add " restrictions set is derived and implemented from ( or configured with ) the policy to which the implementation conforms . " to clarify policy handling by RP or implementer .
RFC 5280 specifies several extended key usages for X.509
certificates.  This document defines a general purpose document
signing extended key usage for X.509 public key certificates which
restricts the usage of the certificates for document signing.
RFC5280 specifies several extended key usages for X.509 certificates.
In addition, several extended key usage had been added RFC7299 as
public Object Identifier (OID) under the IANA repository.  While
usage of any extended key usage is bad practice for publicly trusted
certificates, there are no public and general extended key usage
explicitly assigned for Document Signing certificates.  The current
practice is to use id-kp-emailProtection, id-kp-codeSigning or vendor
defined OID for general document signing purposes.
RFC5280 specifies several extended key purpose identifiers
(KeyPurposeIds) for X.509 certificates.  This document defines a
general purpose document signing KeyPurposeId for inclusion in the
Extended Key Usage (EKU) extension of X.509 public key certificates.
Document Signing applications may require that the EKU extension be
present and that a document signing KeyPurposeId be indicated in
order for the certificate to be acceptable to that Document Signing
application.
RFC5280 specifies several extended key purpose identifiers
(KeyPurposeIds) for X.509 certificates.  In addition, several
KeyPurposeIds have been addedRFC7299 under the IANA repository "SMI
Security for PKIX Extended Key Purpose".  While usage of the
"anyExtendedKeyUsage" KeyPurposeId is bad practice for publicly
trusted certificates, there is no public and general KeyPurposeId
explicitly assigned for Document Signing.  The current practice is to
use id-kp-emailProtection, id-kp-codeSigning or a vendor-defined
KeyPurposeId for general document signing purposes.
There is no issue if the vendor defined OIDs are used in a PKI (or a
trust program) governed by the vendor.  However, if the OID is used
outside of the vendor governance, the usage can easily become out of
control (e.g. - When the end user encounters vendor defined OIDs,
they might want to ask that vendor about use of the certificate,
however, the vendor may not know about the particular use. - If the
issuance of the cert is not under the control of the OID owner, there
is no way for the OID owner to know what the impact will be if any
change is made to the OID in question, and it would restrict vendor's
choice of OID management. etc.).
Therefore, it is not favorable to use a vendor defined EKU for
signing a document that is not governed by the vendor.
This document defines a general Document Signing extended key purpose
identifier.
There is no issue if the vendor-defined KeyPurposeIds are used in a
PKI (or a trust program) governed by the vendor.  However, if the
KeyPurposeId is used outside of vendor governance, the usage can
easily become out of control (e.g. - When the end user encounters
vendor-defined KeyPurposeIds, they might want to ask that vendor
about use of the certificate, however, the vendor may not know about
the particular use. - If the issuance of the cert is not under the
control of the KeyPurposeId owner, there is no way for the
KeyPurposeId owner to know what the impact will be if any change is
made to the KeyPurposeId in question, and it would restrict vendor's
choice of OID management.  etc.).
Therefore, it is not favorable to use a vendor-defined KeyPurposeId
for signing a document that is not governed by the vendor.
This document defines a extended key purpose identifier for Document
Signing.
This specification defines the KeyPurposeId id-kp-documentSigning.
Inclusion of this KeyPurposeId in a certificate indicates that the
use of any Subject names in the certificate is restricted to use by a
document signing.
Term of "Document Sign" in this document is digitally sign contents
that are consumed by people.  To be more precise, contents are
intended to be shown to person with printable or displayable form by
means of services or software, rather than processed by machines.
RFC5280 specifies the EKU X.509 certificate extension for use in the
Internet.  The extension indicates one or more purposes for which the
certified public key is valid.  The EKU extension can be used in
conjunction with the key usage extension, which indicates how the
public key in the certificate is used, in a more basic cryptographic
way.
This specification defines the KeyPurposeId id-kp-documentSigning.
Inclusion of this KeyPurposeId in a certificate indicates that the
use of any Subject names in the certificate is restricted to use by a
document signing service or a software (along with any usages allowed
by other EKU values).
RFC8358 specifies the conventions for digital signatures on Internet-
Drafts.  This is one of the intended use cases for the general
document signing EKU described in this document.  RFC8358 uses CMS to
digitally sign a wide array of files such as ASCII, PDF, EPUB, HTML
etc.  Currently, there are no specification regarding EKU for
certificates signing those files except those which are defined by
the software vendor.
The signed contents of Internet-Drafts are primarily intended to be
consumed by people.  To be more precise, contents are intended to be
shown to a person in a printable or displayable form by means of
services or software, rather than processed by machines.  To validate
the digital signature on the contents that is intended to be consumed
by people, implementations MAY perform the steps below as a
certificate validation.
If there are restrictions set for the replying party and relying
party software, proceed as following.
Each Restriction on the EKUs can be "Excluded EKU" or "Permitted
EKU" and handled.
The procedure is intended to permit or prohibit presence of a
certain EKU or complete absence of EKUs.  It is outside the scope
of this document, but the relying party can permit or exclude
combinations of EKU.  A consideration on prohibiting combination
of EKUs is described in the security consideration section of this
document.
"Excluded EKU" is an EKU which the relying party or the relying
party software prohibits.  Examples of "Excluded EKU" are,
presence of anyExtendedKeyUsage or complete absence of EKU
extension on a certificate.  If an EKU of the certificate meets
the conditions set by the "Excluded EKU" restriction, the
relying party or the relying party software rejects the
certificate.
"Permitted EKU" is an EKU which the relying party or the
relying party software accepts.  Examples of "Permitted EKU"
are, presence of this general document signing EKU and/or
protocol specific document signing-type EKUs.  If an EKU of the
certificate meets the condition set by a "Permitted EKU"
restriction, the certificate is acceptable.  Otherwise, relying
party or the relying party software rejects the certificate.
When a single software has capability to process various data
formats, the software may choose to make the excluded and permitted
decisions separately in accordance with the format it is handling
(e.g. text, pdf, etc).
This specification defines the KeyPurposeId id-kp-documentSigning.
As described in RFC5280, If the Extended Key Usage extension is
present, then the certificate MUST only be used for one of the
purposes indicated.  RFC5280 also describes that If multiple key
purposes are indicated the application need not recognize all
purposes indicated, as long as the intended purpose is present.
Document Signing applications MAY require that the Extended Key Usage
extension be present and that a id-kp-documentSigning be indicated in
order for the certificate to be acceptable to that Document Signing
application.
The term "Document Signing" in this document refers to digitally
signing contents that are consumed by people.  To be more precise,
contents are intended to be shown to a person with printable or
displayable form by means of services or software, rather than
processed by machines.
RFC5280 specifies the EKU X.509 certificate extension for use on the
Internet.  The extension indicates one or more purposes for which the
certified public key is valid.  The EKU extension can be used in
conjunction with the key usage extension, which indicates the set of
basic cryptographic operations for which the certified key may be
used.
This specification defines the KeyPurposeId id-kp-documentSigning.
Inclusion of this KeyPurposeId in a certificate indicates that the
public key encoded in the certificate has been certified to be used
for cryptographic operations on contents that are consumed by people.
RFC8358 specifies the conventions for digital signatures on Internet-
Drafts.  This is one of the intended use cases for the general
document signing key purpose described in this document.  RFC8358
uses CMS to digitally sign a wide array of files such as ASCII, PDF,
EPUB, HTML etc.  Currently, there are no specification regarding key
purposes for certificates signing those files except those which are
defined by the software vendor.
The implementation MAY examine the KeyPurposeId(s) included in the
Extended Key Usage extension as follows: A Restriction on Extended
Key Usage is derived and implemented from (or configured with) the
policy to which the implementation conforms.
If there are restrictions set for the replying party and relying
party software, then process the KeyPurposeId(s) as described
below.
Each restriction on "Excluded KeyPurposeId" or "Permitted
KeyPurposeId" is handled as described below.
This procedure is intended to permit or prohibit presence of a
certain KeyPurposeId or complete absence of KeyPurposeIds.  It is
outside the scope of this document, but the relying party can
permit or prohibit combinations of KeyPurposeIds.  A consideration
on prohibiting combinations of KeyPurposeIds is described in the
Security Considerations section of this document.
"Excluded KeyPurposeId" is a KeyPurposeId which the relying
party or the relying party software prohibits.  Examples of
"Excluded KeyPurposeId" are, presence of the
anyExtendedKeyUsage KeyPurposeId or complete absence of the EKU
extension in a certificate.  If a KeyPurposeId of the
certificate meets the conditions set by the "Excluded
KeyPurposeId" restriction, the relying party or the relying
party software rejects the certificate.
When a single application has the capability to process various data
formats, the software may choose to make the excluded and permitted
decisions separately in accordance with the format it is handling
(e.g.  text, pdf, etc).
documentSigning EKU extension.  This does not encompass the mandatory
usage of the id-kp-documentSigning EKU in conjunction with the vendor
specific EKU.  However, this does not restrict the CA from including
multiple EKUs related to document signing.
The usage of id-kp-documentSigning EKU intends to prevent id-kp-
emailProtection from being used for purposes other than email and id-
kp-codeSigning used to sign objects other than binary codes.  This
EKU does not introduce new security risks but instead reduces
existing security risks by providing means to separate other EKUs
used for communication protocols namely, TLS or S/MIME etc. in order
to minimize the risk of cross protocol attacks.
To reduce the risk of specific cross protocol attacks, the relying
party or relying party software may additionaly prohibit use of
specific combination of EKUs.
While a specific protocol or signing scheme may choose to come up
with their own EKU, some may not have significant motive or resource
to set up and manage thier own EKU.  This general document signing
EKU may be used as a stop gap for those that intend to set up their
own EKU or those who do not intend to set up an EKU but still would
like to distinguish from other usage.
Introduction of this id-kp-documentSigning EKU value does not
introduce any new security or privacy concerns.
documentSigning KeyPurposeId.  The inclusion of the id-kp-
documentSigning KeyPurposeId does not preclude the inclusion of other
KeyPurposeIds.
The usage of id-kp-documentSigning KeyPurposeId is to provide an
alternative to id-kp-emailProtection being used for non-email
purposes and id-kp-codeSigning being used to sign objects other than
binary code.  This extended key purpose does not introduce new
security risks but instead reduces existing security risks by
providing means to separate other extended key purposes used for
communication protocols namely, TLS or S/MIME etc. in order to
minimize the risk of cross-protocol attacks.
To reduce the risk of specific cross-protocol attacks, the relying
party or relying party software may additionally prohibit use of
specific combinations of KeyPurposeIds.
While a specific protocol or signing scheme may choose to come up
with their own KeyPurposeIds, some may not have significant motive or
resources to set up and manage their own KeyPurposeIds.  This general
document signing KeyPurposeId may be used as a stop-gap for those
that intend to define their own KeyPurposeId or those who do not
intend to set up an KeyPurposeId but still would like to distinguish
document signing from other usages.
Introduction of this id-kp-documentSigning KeyPurposeId does not
introduce any new security or privacy concerns.