This document summarizes the changes that the XML Security Working Group has made to the XML Encryption Syntax and Processing Specification in preparing a proposed 1.1.
Updated to use ReSpec.js
Updated formatting of examples.
Updated grammar replacing 'which' with 'that' as appropriate.
Corrected spelling as needed.
Updated to Version 1.1, updated date and version links. Updated editor information to add Magnus Nyström and Kelvin Yiu as editors.
Updated to reflect status of 1.1 version.
Added information on patent advisory group and additional patent disclosures.
Add subsections to section 3.5 for key derivation.
Add subsections to section 5 for algorithm subsections.
Split Section 10, References, into Normative and Informative reference subsections.
Add new security consideration sections for (a) Chosen-Ciphertext Attacks (both attacks against encrypted data and encrypted key), (b) use of error messages, (c) Timing attacks and (d) CBC Block Encryption Vulnerability.
Update to Acknowledgements
Added warning about examples regarding possible plaintext attacks.
Removed MimeType from EXI example, updated text before example with explanation.
Fixed example, removing extra closing slash, per LC-2420.
EncryptedType
ElementFixed typo, "descendants"
Added sentence at end of section regarding optional use of MimeType with EXI.
Modify text to clarify Encoding attribute.
CipherReference
ElementClarified that the syntax of URI and Transforms is defined in XML Signature.
CipherData
ElementClarified that the base64 encoded text is contained as element content when CipherValue element is used.
EncryptedData
ElementAdd element content to the possibilities that also include replacement or a new document root.
EncryptedKey
ElementChange "is to" to "MUST" for "The value of the key MUST
be the same in all EncryptedKey
elements
identified with the
same CarriedKeyName
label within a single XML
document."
Fixed typos, "inherited", "unambiguous"
DerivedKey
elementAdded new subsection describing this new
ds:KeyInfo
child.
Added the following:
KeyDerivationMethod
optional element, DerivedKeyName
optional
element, and Id
attribute.
ds:RetrievalMethod
elementAdded DerivedKey
to description of use
of RetrievalMethod
.
Removed fixed
attribute in schema attribute
definition.
ReferenceList
elementAdded DerivedKey
to section text.
EncryptionProperties
elementAdded section for EncryptionProperties Element identifier.
Refactored 4.1-4.4 to clarify what parts of the processing
model are normative and what aren't; adding Type
parameter for EXI; adding processing for EXI.
Clarified text noting that encryption can often cause the document with encrypted parts to become invalid with respect to its schema.
To avoid possible confusion with encryption transforms, changed "transforms on octets" to "operations on octets" in first paragraph.
Changed "MANDATORY to" to "be required by" for discussion of what other specifications might require.
Fixed typo, removed " fed is".
Added text regarding consensus issues on mandatory to implement algorithms
Changed AES-128-GCM as REQUIRED, added warning about use of CBC block encryption algorithms and reference to paper on attack.
Added AES-128|192|256-pad key wrap mechanisms as OPTIONAL.
Changed SHA-1 to REQUIRED, but DISCOURAGED.
Changed SHA-256 to REQUIRED
Added SHA-384 as OPTIONAL
Added Canonical XML 1.1 (omit comments) as OPTIONAL
Added Canonical XML 1.1 with comments as OPTIONAL
Removed Message Authentication (not normative)
Added key derivation algorithms, ConcatKDF as REQUIRED, PBKDF2 as OPTIONAL.
Added Key Agreements, Diffie-Hellman Key Agreement (Ephemeral-Static mode) with Legacy Key Derivation Function and explicit Key Derivation Functions as Optional, and Elliptic Curve Diffie-Hellman (Ephemeral-Static mode) as REQUIRED,
Fixed typo, "refer"
Clarified description of algorithm as equivalent to encryption followed by signing.
New section added defining two key derivation algorithms, ConcatKDF and PBKDF2.
Removed default from PRFAlgorithmIdentifierType. Added recommendation to use HMAC-SHA256 with PBKDF2 instead of HMAC-SHA1.
Added type='anyURI' to Algorithm attribute for AlgorithmIdentifierType.
Added clarifying note that the PartyUInfo component shall include a nonce when ConcatKDF is used in conjunction with a static-static Diffie-Hellman key agreement scheme.
Updated RFC 2437 to RFC 3447. Adjusted section reference appropriately.
Added CipherValue
to CipherData
example.
Revised normative language requiring support of 192-bit TRIPLEDES keys to use MUST.
Clarified note related to base64 algorithm uses.
For Key Transport, added optional RSA-OAEP algorithm that allows defined MGF; retained existing mandatory RSA-OAEP algorithm, adding notation that this is for fixed MGF1 with SHA1.
Updated RFC 2437 to RFC 3447. Adjusted section references appropriately.
Updated example to have no spaces in OAEPparams
element
content.
Revised to enable RSA-OAEP with arbitrary mask generation function (e.g. SHA2 based) by defining additional RSA-OAEP URI and significantly revising text. Added definition of new xenc11:MGF element.
Added URI definitions for mask generation function with various SHA algorithms.
Revised text to clarify that implementations must support all mandatory key lengths, enabling longer key length usage.
Added paragraph on declaration of Key derivation algorithms
using xenc11:KeyDerivationMethod
using
the xenc:AgreementMethodType
.
Updated example to
include KeyDerivationMethod
.
Moved identifier from this section to new section on legacy KDF, section 5.6.2.2.
Modified discussion to include use of KDF to produce secret key using explicit or legacy KDFs.
Clarified implementation requirements.
New section describing explicit key derivation functions.
New section containing identifier and original material for KDF described in previous version of XML Encryption. Clarified implementation requirement.
New section defining ECDH key value URI and use.
New section defining ECDH-ES key agreement algorithm URI and use.
Revised introduction paragraph and description for clarity.
Removed Section 5.6.1 - Checksums - as it was not required after making the change to 5.6.2 and 5.6.3 (see below).
Removed detailed, step-by-step description of Triple-DES key wrap from (what used to be) 5.6.2, replaced with reference to IETF RFC 3217.
Removed detailed, step-by-step description of AES key wrap from (what used to be) 5.6.3, replaced with reference to RFC 3397.
Section 5.7.3: Changed reference from DRAFT-HOUSLEY-KW-PAD to AES-WRAP-PAD to match changed tag associated with RFC publication.
Added text to explain reason for discouraging use of SHA-1.
Removed REQUIRED for SHA1.
Changed RECOMMENDED to REQUIRED for SHA256.
Added new section for SHA384.
Section deleted as per resolution on WG call 20090602.
Added XML Canonicalization 1.1 (both omitting and with comments)
Renumbered sections, added new sections for (a) Chosen-Ciphertext Attacks (both attacks against encrypted data and encrypted key), (b) use of error messages, (c) Timing attacks and (d) CBC Block Encryption Vulnerability.
New section on Chosen Ciphertext Attacks, including attacks against encrypted data and encrypted key.
<EncryptedData>
part)New section on CBC-based chosen ciphertext attack.
New section on applying the Bleichenbacher's attack is to get
the symmetric secret key, which is encrypted in the <EncryptedKey>
.
Fixed typo, space between [Davis] reference and period.
Fixed typos, "initialization", "resistance"
Added warning related to CBC chosen ciphertext attacks and note on GCM IV initialization.
New security consideration for implementations to limit information included in error responses for security algorithms.
New security consideration warning implementers to consider timing attacks.
New security consideration warning implementers regarding CBC Block Encryption vulnerability.
Changed "MIME media type name" to "Type name" and "MIME subtype name" to "Subtype name"
Added reference to XML Encryption 1.1 as well as XML Encryption 1.0
Changed contact information from Joseph Reagle to "World Wide Web Consortium <web-human at w3.org>"
Changed to avoid normative self reference, by changing reference to XML Encryption 1.1 in text from "[XMLENC-CORE1]" to "(XMLENC-CORE1, this document)".
Fixed typo, "exercises"
Added XML Encryption 1.1 XSD Schema instance
Removed "Examples" from section title.
Noted that example is not normative.
Split references section into normative and informative sections.
Added links for references
Updated all references, including updates noted specifically here.
Updated SHA reference to FIPS-186-3
Updated XML Signature reference to XML Signature 1.1
Updated Glossary RFC 2828 to RFC 4949
Added Media Types RFC 3023 update to MIME-REG RFC 2048 reference
Updated UTF-8 RFC 2279 to RFC 3629
Updated URI RFC 3406 to RFC 3986
Updated X509v3 from ISO/IEC 9594-8:1997 to 9594-8:2001, added link
Updated RFC 1750 to RFC 4086
Updated RFC 239x6 to RFC 3986
Updated RFC 2437 to RFC 3447
Updated Reference for FIPS-186-3 to reflect final publication.
Added reference to recent work on SHA-1 analysis (to be changed once paper appears on IACR.org).
Updated the following references to reflect final publication: AES-WRAP, SHA, XML-DSIG, XMLDSIG11, Glossary, MIME-REG, XML 1.0 and UTF-8.
Replaced reference DRAFT-HOUSLEY-KW-PAD with AES-WRAP-PAD now that the reference has been published as RFC 5649.
Added web link for ANSI X9.52.
Removed the old XML Signature reference, retaining only reference for Signature 1.1, naming it XML-DSIG.
Added informative reference to ANSI X9.44-2007.
Added D. McGrew, K. Igoe, M. Salter. reference for ECC-ALGS, Fundamental Elliptic Curve Cryptography Algorithms.
Reformatted and sorted by using ReSpec.js bibliography tool (updated common bibliography)
Updated reference, in particular link, for RIPEMD-160.
RFC 2633 obsoleted by RFC 3851 (S/MIME v3 to v3.1), reference updated.
RFC 2048 obsoleted by RFC 4289 (MIME Part 4 registration procedures), reference updated.
Updated XML Security RELAX-NG reference to refer to April 2011 publication.
Update RELAXNG-SCHEMA reference.
Added RFC 4055 reference.
Added reference to "How to Break XML Encryption" paper.
Added reference to RFC 3218, "Preventing the Million Message Attack on Cryptographic Message Syntax".
Added reference to Manger, "A Chosen Ciphertext Attack on RSA Optimal Asymmetric Encryption Padding (OAEP) as Standardized in PKCS #1 v2.0".
Added reference to paper by Juraj Somorovsky, Jörg Schwenk. "Technical Analysis of Countermeasures against Attack on XML Encryption - or - Just Another Motivation for Authenticated Encryption". 2011.