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: RE: [office] [OASIS Issue Tracker] Commented: (OFFICE-3028) Updatedigital signatures for better XaDeS support


I'll post this back to the web site when I return from travel, but it is a chicken-and-egg problem. You simply cannot sign the signatures file. You have made the decision that all signatures must be in one file, so you then have a number of problems:

1) Applying the signature and storing the value in the SignatureValue element would either have to have some odd transform, or applying the signature would then break the signature.
2) Adding another signature later would break the first signature.
3) Upgrading the XAdES information would also break the signature.

If you want to sign a signature, the way to do that is to use the CounterSignature XAdES element. You could also have a top-level Signature element that signs another Signature element, but you cannot sign the one file that contains those signatures.

You also said:

" The proposal further makes it implementation-dependent whether the files not defined by ODF are signed. I'm against this change. The purpose of a document signature is that everything is signed. If only parts of a document should be signed, then these signatures should be stored in other files. At least, that was the intention behind document signatures. And to allow this case, it is explicitly stated that a document may contain other signature files, and the name conventions have been added to part 3."

OK, then we should discuss this. It is my position that anything that affects the content or display of the content should be signed - What You See Is What You Sign. It is possible to have additional metadata which may only make sense to the file store. If you sign this metadata, then the store could change it and break it. We have provisions for exactly this in OOXML, and it is needed for several functional reasons. I see it as a benefit if we can maintain as much functional equivalence as possible between ODF and OOXML, and think this is a benefit for everyone. Other people may certainly have other opinions, so I'd like to see what those opinions are.

-----Original Message-----
From: OASIS Issues Tracker [mailto:workgroup_mailer@lists.oasis-open.org] 
Sent: Wednesday, October 20, 2010 3:07 AM
To: office@lists.oasis-open.org
Subject: [office] [OASIS Issue Tracker] Commented: (OFFICE-3028) Update digital signatures for better XaDeS support


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

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

Regarding the changes for part 1:
It turns

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 may be omitted.

into 

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.

This means that the signature file itself cannot be signed any more. Signing that file however may be useful to avoid that the signature itself is modified. What is the reason for this proposed change? If there are no strong reasons for this change, I would continue to allow that the signature may be signed (its a may only - applications are not required to sign this file anyway).

The proposal further makes it implementation-dependent whether the files not defined by ODF are signed. I'm against this change. The purpose of a document signature is that everything is signed. If only parts of a document should be signed, then these signatures should be stored in other files. At least, that was the intention behind document signatures. And to allow this case, it is explicitly stated that a document may contain other signature files, and the name conventions have been added to part 3.



> 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

        

---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that generates this mail.  Follow this link to all your TCs in OASIS at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 



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