A method, system, and computer program product for selectively encrypting one
or
more elements of a document using style sheet processing. Disclosed is a policy-driven
augmented style sheet processor (e.g. an Extensible Stylesheet Language, or "XSL",
processor) that creates a selectively-encrypted document (e.g. an Extensible Markup
Language, or "XML", document) carrying key-distribution material, such that by
using an augmented document processor (e.g. an augmented XML processing engine),
an agent can recover only the information elements for which it is authorized.
The Document Type Definition (DTD) or schema associated with a document is modified,
such that the DTD or schema specifies a reference to stored security policy to
be applied to document elements. Each document element may specify a different
security policy, such that the different elements of a single document can be encrypted
differently (and, some elements may remain unencrypted). The key distribution material
enables a document to be encrypted for decryption by an audience that is unknown
at the time of document creation, and enables access to the distinct elements of
a single encrypted document to be controlled for multiple users and/or groups of
users. In this manner, group collaboration is improved by giving more people easier
access to information for which they are authorized, while protecting sensitive
data from unauthorized agents. A key recovery technique is also defined, whereby
the entire document can be decrypted by an authorized agent regardless of how the
different elements were originally encrypted and the access protections which were
applied to those elements.