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.