Paul:

Since I am going to be out next week, please include Sam Hartman on future correspondence. If Sam agrees to any [articular wording, I will accept that wording as a resolution of the DISCUSS issue.

  Section 5 does not provide sufficient detail for interoperability.
  Unfortunately, the complexity of XML and the variety of contexts in
  which it is used made it impossible for the XMLDSIG WG to come up
  with one set of canonicalization rules that are "distinguished."
  By distinguished, I mean that there is exactly one way to represent
  the XML object.  There are two canonicalization rule sets: the
  Canonical XML and the Exclusive XML Canonicalization.  Specify
  which one is mandatory-to-implement.

To be added near the end of Section 5.1 of atompub-format:

   Section 6.5.1 of [W3C.REC-xmldsig-core-20020212] requires support
   for Canonical XML. Atom Processors that sign Atom Documents MUST
   use Canonical XML.

I have seen a lot of push-back from the members of the atom-syntax@imc.org about your proposed wording. However, a mandatory-to-implement canonicalization algorithm is needed. The creator of a feed / entry needs a algorithm that is supported by all implementations. I do not care which of the algorithms you choose to mandate, but you need to pick one of the defines ones or define a new one.

  Section 5 should tell the reader when the use of digital signatures
  and encryption are desirable.

To be added near the beginning of Section 5 of atompub-format:

   Producers of feeds and/or entries, and intermediaries who aggregate
   feeds and/or entries, may have sound business reasons for signing
   and/or encrypting otherwise-unprotected content. For example,
   a merchant might digitally sign a message that contains a discount
   coupon for its products. A bank that uses Atom to deliver customer
   statements is very likely to want to sign and encrypt those
   messages to protect their customers' financial information and to
   assure the customer of their authenticity. Intermediaries may want
   to encrypt aggregated feeds so that a passive observer cannot tell
   what topics the recipient is interested in. There are hundreds
   of other reasons why Atom documents might be signed, encrypted,
   or both.

Fine.

  Also, I would like to see mandatory-
  to-implement algorithms specified.

To be added near the end of Section 5.1 of atompub-format:

   Section 4.4.2 of [W3C.REC-xmldsig-core-20020212] requires support
   for DSA signatures and recommends support for RSA signatures.
   However, because of the much greater popularity in the market of
   RSA versus DSA, Atom Processors that verify signed Atom Documents MUST
   be able to verify RSA signatures, but do not need be able to verify DSA
   signatures. Atom documents MAY use HMACs for signatures, but this
   type of signature is not expected to have wide adoption any time soon.

I am not totally happy with this text. Since you do not want to delve into the key management issues associated with encryption and MACs, you need to say that MACs SHOULD NOT be used.

To be added near the end of Section 5.2 of atompub-format:

   Section 5.1 of [W3C.REC-xmlenc-core-20021210] requires support of
   TripleDES, AES-128, and AES-256. Atom Processors that decrypt Atom
   Documents MUST be able to decrypt with AES-128.

Please state that AES-128 is used in CBC mode.

  If appropriate, use MUST- and
  SHOULD+ as they were defined by the IPsec WG to tell implementors
  about future algorithm requirements.

I do not think it is appropriate to do that here because we could get out of sync with the requirements if the W3C documents evolve.

Given the selection of mandatory-to-implement algorithms above, this is fine.

  In section 5, please state the order of the nesting if both digital
  signature and encryption are used.  I believe that signing the
  plaintext is the correct ordering in this situation.

To be added to a new subsection 5.3 of atompub-format:

   Encryption based on [W3C.REC-xmlenc-core-20021210] does not assure
   integrity of the original document. When an Atom Document is to be
   signed and encrypted, it is generally a good idea to first sign the
   document, then encrypt the signed document. This provides integrity
   to the base document while encrypting all the information, including
   the identity of the entity that signed the document.

I would prefer a stronger working here. Since MACs might be supported in the future, the signature MUST be applied before the encryption.

  Since XML encryption does not provide integrity, it is important to use
  XML digital signature whenever encryption is used.  When a digital
  signature algorithm is used, this should be straightforward; however,
  the XML digital signature specification also supports message
  authentication codes (MACs).  When MACs are used, the symmetric keys
  for the encryption and the MAC calculation need to use the same key
  management technique.  When digital signatures are used, the recipient
  must have a way to verify the public key of the signer.  This is
  usually done with a certificate.

I believe the somewhat-negative wording on HMACs above should preclude any need to add (probably-confusing) text about key management for HMACs. If there is a community that wants to use HMACs, they can write up a document on how to do secure key management for it in XMLDigSig.

Okay, if the two previous comments associated with MACs are acceptable.

  Section 8.5 needs to be expanded.  When digital signature or encryption
  are used, what threats do they protect against?

   Digital signatures provide authentication, message integrity, and
   non-repudiation with proof of origin. Encryption provides data
   confidentiality.

Fine.

Russ

Reply via email to