1. A method for providing security within non-trusted domains, the method comprising: configuring (i) a trusted domain and (ii) a plurality of isolated domains; assigning each of the plurality of isolated domains a unique domain identifier; associating one or more resources with each of the plurality of isolated domains; storing the associations as permissions to access physical addresses of the one or more resources; assigning code to one of the plurality of isolated domains, wherein the code is to be executed by a hardware device, wherein the code comprises instructions, wherein each of the instructions describes only a single operation to be performed by the hardware device, and wherein the permissions include identifiers of domains permitted access to one or more of the physical addresses in each of the instructions; writing the unique domain identifier for the assigned one of the plurality of isolated domains to the hardware device, wherein, during execution of the code by the hardware device, each of the instructions in the code is logically tagged with the written unique domain identifier, and wherein bits are added to each of the instructions when logically tagged, and the bits are sent on a system bus and identify the written unique domain identifier of a corresponding one of the instructions; and permitting access to the one or more resources (i) according to each of the instructions, and (ii) based on a comparison between the written unique domain identifier of a corresponding one of the instructions and the permissions.