22.01.2015 Views

Military Communications and Information Technology: A Trusted ...

Military Communications and Information Technology: A Trusted ...

Military Communications and Information Technology: A Trusted ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 4: <strong>Information</strong> Assurance & Cyber Defence<br />

451<br />

Although we do not consider them here, the possible additional levels of metadata<br />

are easily added as another (recursive) children of cbis:securityMetadata.<br />

The new type cbis:Signature is inherited from W3C XML-signatures<br />

type ds:Signature by adding a type qualifier. It should be noted that while<br />

ds:SignatureMethod requires fixed m<strong>and</strong>atory <strong>and</strong> a number of optional<br />

implementations, user-specified algorithms may be used as well, <strong>and</strong> this allows<br />

also n-tuple signature-values (though under one identifier only).<br />

The following (extra) namespaces are used:<br />

• xmlns:ds=”http://www.w3.org/2000/09/xmldsig#”,<br />

the XML-signature types (specifically, ds:Signature). This is the base<br />

type of cbis:Signature, <strong>and</strong> is used mainly to differentiate between<br />

different versions of integrity, if the public key management architecture<br />

so requires (in addition to containing the actual signature value).<br />

• xmlns:xenc=”http://www.w3.org/2001/04/xmlenc#”,<br />

the XML-encryption types (specifically, xenc:encryptedData <strong>and</strong><br />

xenc:encryptedKey). It should be noted that we use one-to-many<br />

relation from the encrypted data blob to the encrypted key, which may not<br />

directly be supported by st<strong>and</strong>ard implementations. Thus we leave the link<br />

from the encrypted key to the actual element one-way only, <strong>and</strong> leave it to<br />

the application (here: the user agent or filter) to decide which key to use<br />

based on the related information in cbis:AccessSet.<br />

• wsml=”http://www.wsmo.org/wsml/wsml-syntax#”<br />

the cbis:roleExpression is extended from a single role-identifier<br />

to a propositional logic formula (to support more expressive PKMAs).<br />

Actually, the wsml:logicalExpression – schema checks for first<br />

order logic, but the application-level function should ignore any quantifiers<br />

it finds.<br />

In the application space, the decrypting / verifying component (most commonly<br />

the User Agent) must interpret the cbis:permission to mean how to<br />

use the associated cryptographic key:<br />

• If the permission is READ, that particular role’s (or a logical expression<br />

involving roles <strong>and</strong> activities) private key is able to open the block key.<br />

• If the permission is WRITE, the encryptedKey-structure contains<br />

information about the public key related to the role or logical expression<br />

involving roles <strong>and</strong> activities, or the public key itself (in unencrypted<br />

form). In either case, the public key indicated by the role is only one<br />

of the possibilities used to verify the element’s content signature. There may<br />

be only one such, but in general case it could be anyone’s who is granted<br />

the write-permissions to this particular element. The verifier should try<br />

to verify the signature with all those public keys, which have a permission<br />

of type WRITE. If any one of them passes, the element should be<br />

accepted as valid.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!