- From: Joseph Reagle <reagle@w3.org>
- Date: Thu, 13 Jun 2002 17:01:23 -0400
- To: merlin <merlin@baltimore.ie>, "Takeshi Imamura" <IMAMU@jp.ibm.com>
- Cc: xml-encryption@w3.org
On Wednesday 12 June 2002 06:09 pm, merlin wrote:
> Here is a quick bash at a more formal specification of what I
> propose, taking into account what I believe you have suggested.
Hi Merlin, this looks promising, I've provided some comments below and look
forward to reading Takeshi's and others' comments.
1.3.2 Processing Model of Binary-Mode Decryption Transform
The input to this transform is a node set N. The parameter to this
transform is a set of exception URIs E. The output is a node set O,
computed as follows:
As an aside, you're using a slightly different set of tokens to identify
things, in some places conflicting with previous tokens. In the end we
should harmonize their usage across the specs.
1. Dereference each exception URI e, from E, in the context of the
owner document of the input node set N, resulting in the location
sets x[e].
A location set is like an XPath node-set but includes points and ranges
[1]. The present text speaks of, "not referenced by any dcrpt:Except
elements." Is your intent just to be specific, or to purposefully permit
ranges? Also, by derefencing in the context of the owner document, is this
how you get your exception of "#secret-1" (which was super-encrypted) to
work?
[1] http://www.w3.org/TR/xptr/#dt-locset
Algorithm Identifier
[9]http://merlin.org/xml-decrypt#XML
Have you ever looked at merlin.org? <smile/>
1.4.2 Processing Model of XML-Mode Decryption Transform
6. Canonicalize the input node set N according to C14N (with
comments); but, in place of any EncryptedData element d, from any
D[i], and its descendants, canonicalize the decrypted node set
o[d]. Let the resulting octet stream be C.
+ Canonicalization of replacement node sets must be augmented
as follows:
o An xmlns="" declaration must be emitted with every apex
element that has a null prefix and namespace URI.
o If a node set is replacing an element from N whose
parent element is not in N, then its apex elements must
inherit attributes from the xml namespace.
So this accounts for the "target context" problems with default namespaces
and xml:lang/xml:base?
1.4.3 Example of XML-Mode Decryption Transform
Much of the encrypted data and signature are elided. The Except
Note that part of the second node set has been super-encrypted.
* After this decryption stage, two new EncryptedData have been
revealed. However, the first matches a barename XPointer exception
URI and so is not considered further; hence, D[1] contains just
the EncryptedData element d[data-2]. This is decrypted again,
resulting in the following node set o[data-2]:
This is because the barename XPointer is interprated relative to the input
document?
1.5 Limitations
Super-encryption MAY cause problems if a super-encrypted EncryptedData
uses same-document references,
Such as URI="" or URI="#bar" [1]. You use this successfully in "#secret-1"?
or if an exceptional super-encrypted
EncryptedData is referenced by a non-barename XPointer.
"#secret-1" is also a bare-name XPointer [3], right? I'm probably confusing
myself, but I think some same-document references *are* bare-name XPointers.
[2] http://www.ietf.org/rfc/rfc2396.txt
4.2. Same-document References
A URI reference that does not contain a URI is a reference to the
current document. In other words, an empty URI reference within a
document is interpreted as a reference to the start of that document,
and a reference containing only a fragment identifier is a reference
to the identified fragment of that document.
[3] http://www.w3.org/TR/xptr/#bare-names
A bare name stands for the same name provided as the argument of
id()
However, applications MAY solve some of these
super-encryption problems through the use of encryption properties
that identify exceptional super-encrypted elements, how same-document
references from the encrypted data should be resolved, and to which
signature such encryption properties apply. However, details of such a
solution are beyond the scope of this specification.
Since we don't specify it, I wouldn't even mention it.
Received on Thursday, 13 June 2002 17:01:25 UTC