Patent ID: 7761618

Claim:
A computer-readable storage medium having computer-executable instructions for performing steps, comprising: receiving data for a USB device; determining whether the data is permitted to be sent to the USB device; and sending an instruction based on the determining to an entity, wherein the data is a result of program code corresponding to the USB device being executed outside of a trusted execution environment, wherein the data is received in the trusted execution environment, and wherein the entity is outside the trusted execution environment, the computer-readable medium having computer-executable instructions for performing steps, comprising: a USB host controller, prior to sending a command therefrom to the USB device, informing allow policy software in a hardware-based secure extension of the USB host controller of the command; the allow policy software scrutinizing the command based on allow logic of the secure extension to decide whether to permit the command to be sent, and initially concluding based on the allow logic that the command cannot be sent to the USB device; the allow policy software subsequently concluding that the command can be sent to the USB device based on predetermined security policy, and modifying the allow logic in accordance therewith; the allow policy software instructing the USB host controller to send the command to the USB device; and the secure extension only permitting the sent command from the USB host controller to be delivered to the USB device in accordance with the allow logic.