The operational model for securing XML documents    

 

  Above figures illustrates the relationship between XML, DSL, and the DSL securing tool. Figure A shows the process of encrypting and embedding digital signatures. The encryption and digital signature details are stored in a DSL document comprising DP, DT, and DSig. DP is the security pattern definition that specifies the combination of security algorithms and encryption and decryption keys, the transformation description definition DT specifies the actual data transformation of the element-wise encryption, and DSig specifies how to embed digital signatures in the resulting XML document. The target XML document that is ready to be encrypted and signatured (or signed) is X. The corresponding schema of X is S. The DSL securing tool reads, parses, and analyzes DP, DT, DSig, and X, and then generates Xs, S', and DP’. Xs is still an XML document, but some of its elements contain ciphertexts which are translated by the DSL securing tool according to the encryption details recorded in DP and DT. In addition to the encrypted elements, Xs also contains signatures that are embedded by the DSL securing tool. Each signature signs a portion of the data in X. It should be noted that both DP and DP’  may actually contain different information: DP holds information describing how to encrypt X, whereas DP’ should include details of how to decrypt Xs. The essential feature of the relation between DP and DP’  is that the DSL securing tool generates DP’ according to DP. S' is the modified schema that recognizes the encrypted document Xs.

  The DSL securing tool also performs the reverse work of decryption and digital signature verification (see Figure B). This process has the opposite effect to that performed by the DSL securing tool in Figure A: Xs, DP’, DSig and read, parsed, and analyzed by the DSL securing tool. The DSL securing tool decrypts some or all of the ciphertexts contained in Xs, and generates X'. The important point to note is that X' is equal to X only if the DSL securing tool has all the required keys and algorithms for decrypting all the ciphertexts in Xs. If the user cannot obtain some of the necessary keys (usually private keys), then some of the elements that contain ciphertexts in Xs will remain secured. Also, the DSL securing tool should report the results of digital signature verification according to the related information in Xs and DSig.