Combining signing and encrypting from david.solo@citicorp.com on 2000-11-20 (xml-encryption@w3.org from November 2000) (original) (raw)

XML Signing and Encrypting

At the workshop, I promised to send a couple paragraphs on minimum requirements around handling documents with both encryption and signatures (sorry about the delay, I've been moving and on vacation).

In general, both signature and encryption operations may be performed on an XML document. Depending on the usage case (see below), a signature may be applied to plaintext or ciphertext portions of documents. To verify a signature, the recipient must know whether to decrypt before or after signature verification (possibly differently for different encrypted portions). In order to enable efficient and automated signature validation, a goal of the design should be to allow well-behaved applications to indicate to the verifier/recipient how to unambiguously figure out in which order to perform decryption and signature validation operations (ill-behaved applications may always cause things to break). [Note: the suggestion is to add this last sentence to the requirements document.]

Some examples of usage include:

Possible approaches Its probably a reasonable assumption that in many cases, the application will have a priori knowledge of how to handle the document (e.g., its always decrypt/verify). I'm not sure if there's a way to indicate this in a schema description.
An alternative suggestion, made originally by Jim Schaad, is to define a "don't decrypt" transform. Coupled with a rule that says, in general "decrypt then verify", this would allow the signer to indicate an exception. An implication of this is that signing applications need to be encryption aware.