Usage controls allow the distributor of some information to limit how recipients of that information may use it. The Trusted Computing Group has standardized Trusted Platform Modules (TPMs) that are built into an increasing number of computers and could greatly harden usage controls against circumvention. However, existing operating systems support TPMs only partially. We describe UCLinux, a novel Linux Security Module that, unlike previous work, supports TPM-based attestation, sealing, and usage controls on existing processors and with minimal modifications in the operating system kernel and applications. Experiments show that UCLinux has modest impact on the system’s boot latency and run-time performance. Categories and Subject Descriptors D.4.6 [Operating Systems]: Security and Protection—Information flow controls; D.4.6 [Operating Systems]: Security and Protection—Cryptographic controls General Terms Security, Design, Performance Keywords Trusted Computing, Usage Controls,...