摘要:
A method and apparatus for memory tagging for object reuse protection which includes a central processing unit (CPU), a memory for storing a data word object and a corresponding tag identifying a first process with a first identification (ID). The memory means is coupled to the CPU. A subject ID register for storing a current process ID for a current process is coupled to the CPU and the memory. Tag checking apparatus for comparing the current process ID to the first ID is coupled to the CPU, to the subject ID register, and to the memory. Control logic is coupled to the CPU, to the memory, and to the tag checking apparatus. The control logic is for denying access to the data word object by the current process if the current process ID does not match the first ID.
摘要:
A method and apparatus for providing error detection, correction and prevention of unauthorized access to data using memory tags. The method and apparatus includes computing an original error detection/correction code associated with a data word. The original error detection/correction code, using a CPU and a subject identification register, is copied to a tag associated with the data word when an original subject writes the data word into a memory. A single-error-correction/double-error detection (SEC/DED) device applies a first bias to the tag to create a first-biased error detection/correction code when the memory is assigned to a first subject. The SEC/DED device applies a second bias to create a twice-biased error detection/correction code when a second subject attempts to access the data word. Access to the data word is denied if the twice-biased error detection/correction code comprises an uncorrectable error.
摘要:
A CPU architecture guarantees that untrusted software will handle multi-level classified data in a secure manner. A single copy of untrusted software is granted simultaneous read and write access to multiple levels of classified data, with assurance that both the Bell-LaPadula simple security property and the *-property will be correctly enforced. This enforcement is accomplished without the severe constraints normally imposed by computers that do not incorporate this invention. The technique may also be used to enforce integrity policy constraints alone or in conjunction with security policy constraints (classifications). This method relies upon hardware comparison of sensitivity level tags (and/or integrity level tags) associated with data storage blocks. Software need not be examined before it is permitted to handle multi-level secure data because any attempted violation of a security policy (or an integrity policy) will cause a trap to the trusted operating system. Internal label registers are dynamically updated for permitted accesses by the untrusted software.
摘要:
Embodiments of electronic circuits, computer systems, and associated methods include a module that accesses memory using virtual addressing, the memory including local memory that is local to the module and nonlocal memory that is accessible via a system bus coupled to the module, the module including logic coupled to the local memory via a local bus. The logic is configured to receive a memory access specified to a virtual address, determine whether the virtual address is within the local memory, and direct the memory access either to the local memory via the local bus or to the nonlocal memory via the system bus based on the determination.
摘要:
A run-time integrity checking (RTIC) method compatible with memory having at least portions that store data that is changed over time or at least portions configured as virtual memory is provided. For example, the method may comprise storing a table of page entries and accessing the table of page entries by, as an example, an operating system or, as another example, a hypervisor to perform RTIC on memory in which, as an example, an operating system, as another example, a hypervisor, or, as yet another example, application software is stored. The table may, for example, be stored in secure memory or in external memory. The page entry comprises a hash value for the page and a hash valid indicator indicating the validity status of the hash value. The page entry may further comprise a residency indicator indicating a residency status of the memory page.
摘要:
Embodiments of information processing systems and associated components can include logic operable to perform operations in a virtualized system including a plurality of guest operating systems using descriptors. The descriptors specify a set of commands defining the operations in a plurality of security domains and specify permission to a plurality of resources selectively for the plurality of guest operating systems.
摘要:
A run-time integrity checking (RTIC) method compatible with memory having at least portions that store data that is changed over time or at least portions configured as virtual memory is provided. For example, the method may comprise storing a table of page entries and accessing the table of page entries by, as an example, an operating system or, as another example, a hypervisor to perform RTIC on memory in which, as an example, an operating system, as another example, a hypervisor, or, as yet another example, application software is stored. The table may, for example, be stored in secure memory or in external memory. The page entry comprises a hash value for the page and a hash valid indicator indicating the validity status of the hash value. The page entry may further comprise a residency indicator indicating a residency status of the memory page.
摘要:
Embodiments include methods for securely provisioning copies of an electronic circuit. A first entity (e.g., a chip manufacturer) embeds one or more secret values into copies of the electronic circuit. A second entity (e.g., an OEM): 1) embeds a trust anchor in a first copy of the electronic circuit; 2) causes the electronic circuit to generate a message signing key pair using the trust anchor and the embedded secret value(s); 3) signs provisioning code using a code signing private key; and 4) sends a corresponding code signing public key, the trust anchor, and the signed provisioning code to a third entity (e.g., a product manufacturer). The third entity embeds the trust anchor in a second copy of the electronic circuit and causes the electronic circuit to: 1) generate the message signing private key; 2) verify the signature of the signed provisioning code using the code signing public key; and 3) launch the provisioning code on the electronic circuit. The electronic circuit can authenticate itself to the OEM using the message signing key pair.
摘要:
Embodiments of an electronic circuit include a cryptographic engine which includes a key derivation function and encryption logic. The key derivation function combines a master secret key with a plurality of key modifiers including at least an operating system tag specific to an operating system, and derives an encryption key from the combined master secret key and plurality of key modifiers. The encryption logic is coupled to the key derivation function and encrypts data using the derived encryption key to generate a cryptographic binary large object (blob) for virtualized protected storage that is accessible only to the operating system specified by the operating system tag.
摘要:
A computing device (10) includes a trusted execution environment (TEE) manager (40) that manages a switchover from non-trusted software (116) to trusted software (118). The TEE manager (40) includes memory (90) configured to store password-bearing, immediate-operand instructions (54). At the point of switching between the non-trusted software (116) and the trusted software (118) the memory (90) may be accessed as instruction fetches, and its contents fetched into a CPU core (24) as instructions. Immediate-operand portions (60) of the immediate-operand instructions (54) provide passwords, which are written back into guess registers (80) within the TEE manager (40). When a predetermined relationship between the instructions (54) and guesses in guess registers (80) is identified, actual execution of the immediate-operand instructions (54) is verified, the TEE mode of operation is signaled, and security-sensitive hardware (44) is enabled for use by a privileged routine (42) portion of the trusted software (118).