Patent ID: 8782801

Claim:
A nonvolatile memory device for securing content stored therein and for ensuring that a computing environment provided by a host computing system is a trusted computing environment safe for said stored content when said nonvolatile memory device is connected to said host computing system, wherein said nonvolatile memory device comprises: nonvolatile memory capable of storing one or more computing components; a Trusted Platform Module component for verifying internal integrity of said nonvolatile memory device; and a loading and verification component for ensuring that a trusted computing environment is provided for said stored content; wherein said Trusted Platform Module component is configured to: determine whether said nonvolatile memory device has maintained said internal integrity; initiate said loading and verification component when said nonvolatile memory device has maintained said internal integrity; and prevent initiation of said loading and verification component when said nonvolatile memory device has not maintained said internal integrity; wherein said loading and verification component when initiated is configured to: issue an attestation challenge to said host computing system regarding the integrity of said host computing system; in response to said attestation challenge, receive one or more attested host integrity values for said host computing system; obtain one or more known host integrity values for said host computing system from said nonvolatile memory; determine whether said host computing system is a trusted host that can provide a trusted computing environment for said one or more computing components by comparing said one or more attested host integrity values to said one or more known host integrity values; allow said host computing system to provide a host computing environment for said one or more computing components when said host computing system is a trusted host by loading and/or facilitate loading of said one or more computing components on said host computing environment; and prevent said host computing system from providing a host computing environment for said one or more computing components when said host computing system is not a trusted host by preventing loading of said one or more computing components on said host computing environment, thereby preventing said one or more computing components from using or being used in said host computing environment.