Patent ID: 9613208
Date: 2017-04-04
CPC Classifications: G06F

Claim:
1. An electronic device, comprising: at least one processor that includes: a normal partition of the at least one processor that is associated with a permissive sector, and a secure partition of the at least one processor that is associated with a trusted security zone, the trusted security zone providing a hardware root of trust and an operating system for the secure partition that runs separate from a normal partition operating system, wherein the trusted security zone ceases execution of non-trusted applications in the permissive sector during execution of at least one trusted application in the secure partition; a non-transitory memory that includes: a normal partition of the non-transitory memory that is associated with the permissive sector, the permissive sector allowing non-trusted applications to invoke hardware drivers stored in the normal partition, and a secure partition of the non-transitory memory that is associated with the trusted security zone and comprises a trusted version of a hardware driver that provides information about an uncompromised state associated with the hardware driver, wherein the trusted security zone is separate from the permissive sector; the hardware driver associated with a version that is stored in the non-transitory memory and comprises a current state, wherein the hardware driver is at least initially stored in the normal partition of the non-transitory memory; a first trusted application, stored in the secure partition of the non-transitory memory associated with the trusted security zone, configured to invoke the hardware driver in response to activation instructions; and a second trusted application, stored in the secure partition of the non-transitory memory associated with the trusted security zone, that when executed by the secure partition of the at least one processor, configures the secure partition of the at least one processor to: amass the information about the uncompromised state associated with the hardware driver, store, in the secure partition of the non-transitory memory, the information about the uncompromised state associated with the hardware driver, perform, in response to receipt of the activation instructions by the first trusted application, a confidence check on the version of the hardware driver stored in the permissive sector and compare, in response to receipt of the activation instructions by the first trusted application, the trusted version of the hardware driver with the version of the hardware driver stored in the permissive sector and the information about the uncompromised state associated with the hardware driver with the current state of the hardware driver, and enable, based on the confidence check and in response to a result of the comparison indicating that the version of the hardware driver stored in the permissive sector corresponds with the trusted version of the hardware driver and the current state of the hardware driver corresponds to the uncompromised state associated with the hardware driver, the first trusted application stored and executed in the secure partition of the trusted security zone to invoke the hardware driver, wherein the hardware driver is invoked by the first trusted application responsive to the enablement by the second trusted application.