next up previous
Next: SAM Up: Previous Work Previous: Secure Auctions

Secure Coprocessors

 

Loosely defined, a secure coprocessor is a general-purpose computing environment that can be trusted to carry out its computation unmolested, even if an adversary has direct physical access to the device.

White, Comerford, and Weingart developed a high-end secure coprocessor prototypes [21, 22] for use in piracy suppression. Tygar and Yee [25, 24] used these prototypes to demonstrate the usefulness of secure coprocessors in distributed commerce applications. Smith and Weingart [17] then developed and implemented a logical and physical security architecture that enables a vendor to ship a generic secure coprocessor platform, that distributed application vendors can configure and maintain--while providing the core requirement that coprocessor applications can always prove ``they're the real thing, doing the right thing,'' and also while accommodating the realities of trust issues and security flaws in complex software. This architecture was independently validated at FIPS 140-1 Level 4 [16], and is the basis for a COTS family of devices such as IBM 4758.

For our purposes, secure coprocessors provide three key features:

This latter outbound authentication feature is critical for us. In the IBM technology, devices leave the factory possessing a certified key-pair, whose private key is confined (by hardware) to the security configuration code that runs at boot time. This code generates and certifies keypairs for use by higher-level code in the device, and stores all private keys in tamper-protected memory. Application code can thus access private-key operations whose public keys are supported by a trust chain binding that key-pair to that application, in that software configuration, on that untampered device. The literature (e.g., [14]) provides more detail on how application development and deployment might work in practice.


next up previous
Next: SAM Up: Previous Work Previous: Secure Auctions

Adrian Perrig
Tue Jan 23 20:35:17 PST 2001