NOTE-xml-canonical-req-19990605
12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>XML Canonicalization Requirements Document</title>
<link REL="stylesheet" TYPE="text/css" media="screen"
HREF="http://www.w3.org/StyleSheets/TR/W3C-NOTE.css">
</head>
<body>
<div class="head">
<p><a href="http://www.w3.org/" title="Go to W3C Home Page"><img height="48" width="72"
alt="W3C" src="http://www.w3.org/Icons/w3c_home"></a></p>
<h1 class="notoc">XML Canonicalization Requirements</h1>
<h2 class="notoc">W3C Note 5-June-1999</h2>
</div>
<dl>
<dt>This version:</dt>
<dd><a HREF="http://www.w3.org/TR/1999/NOTE-xml-canonical-req-19990605" class="loc">http://www.w3.org/TR/1999/NOTE-xml-canonical-req-19990605</a></dd>
<dt>Latest version:</dt>
<dd><a class="loc" href="http://www.w3.org/TR/NOTE-xml-canonical-req">http://www.w3.org/TR/NOTE-xml-canonical-req</a></dd>
<dt>Previous version</dt>
<dd><a HREF="http://www.w3.org/TR/1999/NOTE-xml-canonical-req-19990307" class="loc">http://www.w3.org/TR/1999/NOTE-xml-canonical-req-19990307</a></dd>
<dt>Editors</dt>
<dd><span class="author"><span class="name">James Tauber</span> <i>(<a
HREF="mailto:jtauber@jtauber.com"><span class="email">jtauber@jtauber.com</span></a>)</i> <br>
<span class="name">Joel Nava</span> <i>(<a HREF="mailto:jnava@adobe.com"><span
class="email">jnava@adobe.com</span></a>)</i></span></dd>
</dl>
<p class="copyright"><a rel="Copyright"
href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"><br>
Copyright</a> © 1999 <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a> (<a
href="http://www.lcs.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>, <a href="http://www.inria.fr/"><abbr lang="fr" title="Institut National de Recherche en
Informatique et Automatique">INRIA</abbr></a>, <a
href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a
href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a
href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>, <a
rel="Copyright" href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a>
and <a rel="Copyright" href="http://www.w3.org/Consortium/Legal/copyright-software">software
licensing</a> rules apply.</p>
<h4 CLASS="status">Status of this document</h4>
<p>This is a W3C Note produced as a deliverable of the XML Syntax WG according to its
charter. A list of current W3C Working Drafts and Notes can be found at <a
HREF="http://www.w3.org/TR">http://www.w3.org/TR</a>.</p>
<p>This document is a work in progress representing the current consensus of the W3C XML
Syntax Working Group. This version of the XML Canonicalization Requirements document has
been approved by the XML Syntax Working Group and the XML Plenary to be posted for review
by W3C members and other interested parties. Publication of this specification does not
imply endorsement by the W3C membership. Comments should be sent to the automatically and
publicly archived email list: <a HREF="mailto:www-xml-canonicalization-comments@w3.org">www-xml-canonicalization-comments@w3.org</a>.</p>
<p>This document is being processed according to the following review schedule: </p>
<table BORDER="1" CELLSPACING="2" CELLPADDING="0" FRAME="BORDER" WIDTH="96%">
<caption>Review Schedule </caption>
<tbody>
<tr>
<th>Process</th>
<th>Closing Date</th>
<th>Status</th>
<th>Contact</th>
</tr>
<tr>
<td>XML Syntax WG sign off</td>
<td>1999/05/26</td>
<td>Done</td>
<td>XML Syntax WG</td>
</tr>
<tr>
<td>XML CG Review</td>
<td>199/05/28</td>
<td>Done</td>
<td>XML Syntax WG</td>
</tr>
<tr>
<td>XML-DSig review</td>
<td>1999/06/4</td>
<td>Done</td>
<td>XML Syntax WG, W3C/IETF XML-DSig WG, <a HREF="mailto:$reagle@w3.org">reagle@w3.org</a></td>
</tr>
<tr>
<td>XML Plenary sign off</td>
<td>1999/06/4</td>
<td>Done</td>
<td><a HREF="mailto:jnava@adobe.com">jnava@adobe.com</a>, <a
HREF="mailto:jtauber@jtauber.com">jtauber@jtauber.com</a>, <a HREF="mailto:$reagle@w3.org">reagle@w3.org</a></td>
</tr>
<tr>
<td>Publish as W3C Note</td>
<td>1999/06/7</td>
<td>Done</td>
<td><a HREF="mailto:www-xml-canonicalization-comments@w3.org">www-xml-canonicalization-comments@w3.org</a></td>
</tr>
<tr>
<td>Checkpoint of comments</td>
<td>1999/06/28</td>
<td>Underway</td>
<td><a HREF="mailto:www-xml-canonicalization-comments@w3.org">www-xml-canonicalization-comments@w3.org</a></td>
</tr>
</tbody>
</table>
<p>Comments about this document should be submitted to the "contact" listed
above for each process.</p>
<h4 CLASS="abstract">Abstract</h4>
<p>This document lists the design principles, scope and requirements for the
Canonicalization of XML for digital signatures in XML and XML Processor conformance. These
are being developed by the World Wide Web Consortium's XML Syntax Working Group.</p>
<h2 CLASS="table-of-contents">Table of Contents</h2>
<dl>
<dt>1. <a HREF="#intro">Introduction</a> </dt>
<dt>2. <a HREF="#design-principles-scope">Design Principles and Scope</a> </dt>
<dt>3. <a HREF="#requirements">Requirements</a> </dt>
<dt>4. <a HREF="#references">References</a> </dt>
</dl>
<div CLASS="div1">
<h2><a NAME="intro"></a>1. Introduction</h2>
<p>The XML 1.0 Recommendation [XML] describes the syntax of a class of data objects called
XML documents. It is possible, however, for logically equivalent XML documents to differ
in their physical representation. In particular, two equivalent XML documents may differ
on such issues as physical (i.e. entity) structure, attribute ordering, character encoding
and insignificant whitespace. This means that equivalence testing cannot be done at the
byte level for arbitrary XML documents. Though, byte level equivalence testing is useful
in the domain of digital signatures for XML.</p>
<p>Work has started elsewhere on the broader question of digital signatures in XML
[IOTP-DSig, Brown-XML-DSig, DOMHASH]. The W3C hosted a workshop on signed XML [DS-XML],
and is forming a W3C/IETF XML-DSig WG [XML-DSig].</p>
<p>The Canonical XML specification aims to introduce a notion of equivalence between XML
documents which can be tested at the syntactic level and, in particular, by byte-for-byte
comparison. It shall describe the canonicalization of XML documents such that logically
equivalent documents will have the same byte-for-byte representation. This form is
referred to as the canonical form of the document.</p>
</div><div CLASS="div1">
<h2><a NAME="design-principles-scope"></a>2. Design Principles and Scope</h2>
<ol>
<li>The specification for Canonical XML shall describe how to derive the canonical form of
any XML document. </li>
<li>Canonicalization shall reflect the logical structure of the XML document and decide
whether to retain any of the physical (i.e. entity) structure. </li>
<li>The specification shall not consider the canonicalization of the document type
declaration. </li>
<li>The specification shall consider the canonicalization of documents that make use of
namespaces. </li>
<li>Canonicalization shall be designed to be consistent with the XML Information Set
Specification [Infoset-WD] and W3C I18N work [Char-Mod, Char-Req]. </li>
<li>Canonicalization shall be designed in coordination with the W3C/IETF XML-DSig WG
[XML-DSig], and the XML Information Set WG. To that end, The XML Syntax WG shall do the
following: <ol>
<li>Allow WG emails, to do with canonicalization, to be summarized, forwarded, or cross
posted to the XML-DSig WG's public email list and the XML Information Set WG's internal
email list. </li>
<li>Be dependent on the review of the Specification by the XML-DSig WG and the, XML
Information Set WG and allow them to hold up the Last Call, PR or REC process if needed. </li>
</ol>
</li>
<li>The specification proposes to describe 3 level of canonicalization, changeable by the
needs of the DSig WG: <dl>
<dd>Level 0 - Do nothing to the XML document. </dd>
<dd>Level 1 - Convert the encoding of the document to UTF-8 is it is not already UTF-8 </dd>
<dd>Level 2 - Whatever is decided upon as full Canonicalization. </dd>
</dl>
</li>
<li>The WG will decide if it can propose one full Canonicalization for both use cases, or to
come up with different algorithms for each. <dl>
<dd> </dd>
<dd> </dd>
</dl>
</li>
</ol>
</div><div CLASS="div1">
<h2><a NAME="requirements"></a>3. Requirements</h2>
<ol>
<li>Every XML document shall have a unique canonical form. </li>
<li>The canonical form of an XML document shall be a well formed XML document with the
following invariant property: <ol>
<li>Any XML document, say X, processed by a canonicalizer, will produce an XML Document X'. </li>
<li>X' passed through the same canonicalizer must produce X'. </li>
<li>X' passed through any other conforming canonicalizer should produce X', or else one of
them in not conformant. </li>
</ol>
</li>
<li>Canonicalization shall produce byte comparable forms of characters defined by Unicode
[Unicode] to be equivalent. </li>
<li>The canonical form shall use the terms from, and work in cooperation with the XML
Information Set WG to ensure there is no confusion between the Canonicalization and
Information Set specifications. </li>
</ol>
</div><div CLASS="div1">
<h2><a NAME="references"></a>4. References</h2>
<dl>
<dt>XML </dt>
<dd><i>Extensible Markup Language (XML) Recommendation.</i> <tt><a
HREF="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a></tt> </dd>
<dt>Namespaces </dt>
<dd><i>Namespaces in XML Recommendation.</i> <tt><a
HREF="http://www.w3.org/TR/REC-xml-names">http://www.w3.org/TR/REC-xml-names</a></tt> </dd>
<dt>Infoset-WD </dt>
<dd><i>XML Information Set Working Draft of May 17, 1999.</i> <tt><a
HREF="http://www.w3.org/TR/NOTE-xml-infoset-req">http://www.w3.org/TR/xml-infoset</a></tt>
</dd>
<dt>Char-Mod </dt>
<dd><i>Character Model for the World Wide Web Working Draft</i> <tt><a
HREF="http://www.w3.org/TR/WD-charmod">http://www.w3.org/TR/WD-charmod</a></tt> </dd>
<dt>Char-Req </dt>
<dd><i>Requirements for String Identity and Character Indexing Definitions for the WWW</i> <tt><a
HREF="http://www.w3.org/TR/WD-charreq">http://www.w3.org/TR/WD-charreq</a></tt> </dd>
<dt>XML-DSig </dt>
<dd><i>The W3C/IETF XML-DSig Charter </i><tt><a
HREF="http://www.w3.org/1999/05/XML-DSig-charter-990521.html">http://www.w3.org/1999/05/XML-DSig-charter-990521.html</a></tt>
</dd>
<dt>Unicode </dt>
<dd>The Unicode Consortium. <i>The Unicode Standard, Version 2.0.</i> Reading, Mass.:
Addison-Wesley Developers Press, 1996 </dd>
<dt>IOTP-DSig </dt>
<dd>Internet Draft. <i>Digital Signatures for the Internet Open Trading Protocol</i> <tt><a
HREF="http://www.ietf.org/internet-drafts/draft-ietf-trade-iotp-v1.0-dsig-00.txt">http://www.ietf.org/internet-drafts/draft-ietf-trade-iotp-v1.0-dsig-00.txt</a></tt>
</dd>
<dt>Brown-XML-DSig </dt>
<dd>Internet Draft. <i>Digital Signatures for XML</i> <tt><a
HREF="http://search.ietf.org/internet-drafts/draft-brown-xml-dsig-00.txt">http://search.ietf.org/internet-drafts/draft-brown-xml-dsig-00.txt</a></tt>
</dd>
<dt>DOMHASH </dt>
<dd>Internet Draft. <i>Digest Values for DOM (DOMHASH)</i> <tt><a
HREF="http://search.ietf.org/internet-drafts/draft-hiroshi-dom-hash-01.txt">http://search.ietf.org/internet-drafts/draft-hiroshi-dom-hash-01.txt</a></tt>
</dd>
<dt>DS-XML </dt>
<dd><i>XML-DSig '99: The W3C Signed XML Workshop</i> <tt><a
HREF="http://www.w3.org/1999/02/ds-xml-cfp-19990218.html">http://www.w3.org/1999/02/ds-xml-cfp-19990218.html</a></tt>
</dd>
</dl>
</div>
</body>
</html>