The present invention generally pertains to data processing and is particularly directed to preventing compromise of secure data processing routines by a procedure known as a "clock attack".
A clock attack is a procedure by which an attacker gains access to secure data or code used in a predetermined data processing routine being executed within a secure data processor, such as a secure microprocessor, by determining the time of execution, of the predetermined data processing routine in relation to occurrence of an externally observable event that precedes the predetermined routine in order to enable synchronization with an internally generated instruction for the predetermined routine, and then externally changing the clock cycle for one cycle of the instruction in order to create a very short clock cycle that alters the instruction in a repeatable way that makes the secure data and/or code externally accessible.
An "externally observable event" is defined as any internal state transition that manifests itself externally, including but not limited to a change in voltage or current at any pin or combination of pins which is related to or affected by internal processor execution.