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.