OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

office message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] Commented: (OFFICE-3028) Update digitalsignatures for better XaDeS support



    [ http://tools.oasis-open.org/issues/browse/OFFICE-3028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=22354#action_22354 ] 

Michael Brauer commented on OFFICE-3028:
----------------------------------------

Regarding the changes for part 3:

It adds:
"A full document signature shall be stored in a file called META-INF/documentsignatures.xml, as described in part 1, section 3.16."

We have already defined document signatures in part 1. There is no need to mention them here again in a normative way. But we may add a reference to part 1 as note, if that appears helpful. 

However, there seems to be a conflict with the changes proposed to part 1, which would turn a document signature into a possible partial signature. 

There is a change to

In particular, consumers may require that a digital signature references all files contained in a package, *excepting the META-INF/documentsignatures.xml file, which cannot be included because a signature cannot sign itself.*"

This statement seems to be wrong. A Reference element can reference the signature document itself. Using transforms one can exclude the DigestValue and SignatureValue.  Signing the signature documents prevents adding additional Object elements.

There are a lot of new clauses for <ds:Signature>, starting with:

"A producer may use the XAdES extensions as specified in ETSI TS 101 903 v1.3.2 [XAdES], or later versions of the XAdES specification. Each <ds:Signature> element shall contain an Id attribute specifying a unique value."

It is unclear to me whether these are intended to related to XAdes signatures only, or apply to other types of signatures, too. If they apply to XAdes signatures only, we should make this clearer. If they apply to all kind of signatures, then there are a few statements that need further discussions. These are:

"A <ds:KeyInfo> element, as specified in [xmldsig-core], section 4.4 shall be included. The <ds:KeyInfo> element shall contain an <ds:X509Data> [...]"

This restricts the permitted algorithms. Is this intended? Or does this only describe the Xades case?

"The additional certificates should represent the entire primary certificate chain used at signing time."

The term "primary" is used without explaining it. Different products used or use different path building algorithms  which may result in different "preferred path" in the same scenario. If XAded defines the term "primary", and if that clause shall related to XAded only, the language may be okay.

"A <ds:Reference> element which refers to a file contained within the package shall have a Type attribute with a value of "http://docs.oasis-open.org/office/v1.1/OS/OpenDocument-v1.1.html".";

Where does this type attribute come from? Why is it containing 1.1 rather than 1.2, and why does it reference an HTML file (our authoritative files are the ODF files)

"A <ds:Reference> element with a Type attribute value other than those specified previously should be considered to be external to the package."

What are external elements in an ODF document good for. It should not be a container for arbitrary stuff. What is the exact use of these types?

"Any <ds:Reference> elements contained within a <ds:Manifest> element, which is in turn contained within a <ds:Object> element, shall be considered to be implementation specific."

This is basically what the XML Signature spec says and therefore seems to be redundant.

"The only permitted <ds:Transform> elements which apply to files contained within the archive shall be canonicalization transforms, as specified in [xmldsig-core], section 6.5."

Why restricting the transforms? Xpath transform would be necessary  for signing parts of a document.

"The signing time shall be recorded using one or more of the following approaches:
1.An <ds:Object > element containing a <ds:SignatureProperty> element with:"

I would not make signing mandatory in cases when the time was not obtained from a trusted source. That is, the time was not supplied by a "Time-Stamping-Authority". This excludes case 1. As for XadES, I would require validation data for the time stamp.

> Update digital signatures for better XaDeS support
> --------------------------------------------------
>
>                 Key: OFFICE-3028
>                 URL: http://tools.oasis-open.org/issues/browse/OFFICE-3028
>             Project: OASIS Open Document Format for Office Applications (OpenDocument) TC
>          Issue Type: Improvement
>          Components: Part 1 (Schema), Part 3 (Packages), Public Review, Security
>    Affects Versions: ODF 1.2 CD 05
>            Reporter: Cherie Ekholm 
>            Assignee: David LeBlanc
>             Fix For: ODF 1.2 CD 06
>
>
> David LeBlanc's proposal for updating digital signature support:
> A summary of the changes:
> Part 1, section 3.16:
> Modified to read:
> An OpenDocument document that is stored in a package may have one or more digital signatures applied to the package.
> Document signatures shall be stored in a file called META-INF/documentsignatures.xml in the package as described in section 2.4 of the OpenDocument specification part 3.
> A document signature shall be considered to be valid only if the "XML Digital Signature" contained in documentsignatures.xml is valid.
> Document signatures shall contain a <ds:Reference> element for each file within the package, with the exception that a <ds:Reference> element for the file containing the signature is omitted. If non-standard files are added to the package, then it is implementation-specific whether <ds:Reference> elements for the additional files shall be required. An implementer may also choose to support a partial document signature which may contain <ds:Reference> elements for only some of the files within the package or portions of files.
> Part 3:
> Addition of xades to the namespace table
> Packages, Digital Signatures section:
> Added "A full document signature shall be stored in a file called META-INF/documentsignatures.xml, as described in part 1, section 3.16." to be consistent with part 1.
> <dsig:document-signatures> section:
> Changed:
> In particular, consumers may require that a digital signature references all files contained in a package.
> To:
> In particular, consumers may require that a digital signature references all files contained in a package, excepting the META-INF/documentsignatures.xml file, which cannot be included because a signature cannot sign itself.
> I didn't touch the next 2 paragraphs, but these are a problem due to the encryption conundrum.
> <ds:Signature> section:
> This is long, and I'll wait for Cherie here. Basically, it puts into standards language the what I suggested in e-mail previously, and specifies the current signature implementation of (IIRC) Open Office as the standard, and adds in the information needed to do XAdES such that everyone can interoperate.
> Copied from David's editted document, the section would read:
> The <ds:Signature> element is defined by the [xmldsig-core] specification. A producer may use the XAdES extensions as specified in ETSI TS 101 903 v1.3.2 [XAdES], or later versions of the XAdES specification. Each <ds:Signature> element shall contain an Id attribute specifying a unique value.
> A <ds:KeyInfo> element, as specified in [xmldsig-core], section 4.4 shall be included. The <ds:KeyInfo> element shall contain an <ds:X509Data> element containing at least an <ds:X509IssuerSerial> element specifying the issuer and serial number of the signing certificate, and an <ds:X509Certificate> element specifying the full signing certificate. Additional <ds:X509Certificate> elements may be placed in the <ds:X509Data>, or may be placed in the <xades:CertificateValues> element of the XAdES <ds:Object>, as defined in [XAdES] section 7.6.1. The additional certificates should represent the entire primary certificate chain used at signing time.
> <ds:Reference> elements contained within a <ds:SignedInfo> element shall be resolved according to the following specification:
> 1.	A <ds:Reference> element which refers to a file contained within the package shall have a Type attribute with a value of "http://docs.oasis-open.org/office/v1.1/OS/OpenDocument-v1.1.html";. The <ds:Reference> URI for files contained within the package shall be Relative IRI references contained within the element or any of its descendant elements shall be resolved as defined in section 3.7, except that the base URI for resolving relative IRIs shall be the package base IRI.
> 2.	A <ds:Reference> to an <ds:Object> element contained within this <ds:Signature> element shall have a Type attribute with a value of "http://www.w3.org/2000/09/xmldsig#Object";. The <ds:Reference> URI for an <ds:Object> element shall be considered to be relative to the <ds:Signature> element.
> 3.	A <ds:Reference> element which refers to the XAdES SignedProperties element (if present) shall be as specified in [XAdES] section 6.3.1.
> 4.	A <ds:Reference> element with a Type attribute value other than those specified previously should be considered to be external to the package.
> Any <ds:Reference> elements contained within a <ds:Manifest> element, which is in turn contained within a <ds:Object> element, shall be considered to be implementation specific.
> The only permitted <ds:Transform> elements which apply to files contained within the archive shall be canonicalization transforms, as specified in [xmldsig-core], section 6.5.
> The signing time shall be recorded using one or more of the following approaches:
> 1.	An <ds:Object > element containing a <ds:SignatureProperty> element with:
> a.	An Id attribute with a value containing a unique identifier.
> b.	A Target attribute corresponding to the Id attribute of the <ds:Signature> element.
> c.	A <date> element from the namespace "http://purl.org/dc/elements/1.1/"; containing the time in UTC format.
> 2.	A <xades:SigningTime> element as specified in [XAdES] section 7.2.1.
> If an <ds:Object> containing XAdES elements is present, then a document compliant with this specification uses the following options:
> 1.	The <xades:SignedSignatureProperties> element shall contain a <xades:SigningCertificate> property as specified in [XAdES] section 7.2.2.
> 2.	A <xades:SigningTime> element shall be present as specified in [XAdES] section 7.2.1.
> 3.	) If any timestamp elements of type XAdESTimeStampType are present, such as the <xades:SignatureTimeStamp> or <xades: SigAndRefsTimestamp> elements, the time stamp information shall be specified as an EncapsulatedTimeStamp element containing DER encoded ASN.1. data.
> 4.	) If references to validation data are present, the <xades:SigAndRefsTimestamp> element as specified in [XAdES] sections 7.5.1 and 7.5.1.1 shall be used.
> 5.	There shall be a <ds:Reference> element specifying the digest of the SignedProperties element, as specified in [XAdES], section 6.2.1. This <ds:Reference> element shall be contained within the <ds:SignedInfo> element of the <ds:Signature> element.
> Oh - as I was reviewing this, I noticed that I forgot to add language to support the XAdES CounterSignature element, which itself contains one or more Signatures, each of which may also have a CounterSignature. We need to make sure that restrictions on the <ds:Signature> element do not preclude using them differently in a CounterSignature.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]