Patent ID: 8171310

Claim:
A non-volatile storage device that is coupleable to a host device, the non-volatile storage device comprising: a communication interface; non-volatile storage elements, the non-volatile storage elements configured to store processor readable code, the processor readable code configured to program one or more host processors situated on the host device to, while the host device is operatively coupled to the non-volatile storage device: intercept a request to access requested content stored in the non-volatile storage elements; send a challenge to a software entity on the host device in response to the request; receive a first response from the software entity in response to the challenge sent to the software entity; calculate a second response using the challenge; and permit the software entity to access the requested content conditioned on the first response matching the second response; and one or more processors that are configured to: send the processor readable code to the host device via the communication interface; and send the requested content to the host device through the communication interface conditioned on the first response matching the second response.