摘要 |
An apparatus and method protects keys and similar critical software elements from unauthorized access when the software may be exposed (unprotected) during execution. Upon determination that a key is needed by the executing software, a key retrieval code (KRC) is triggered 600 and begins executing 610 to retrieve the key previously loaded into memory. A watchdog timer usable with the KRC is enabled 600 and periodically increments a counter 602, 604. The KRC contains code to check the counter at different points during execution 612. In one embodiment, the watchdog timer's value may also be checked by the watchdog timer 606. The system is reset 608 if the watchdog timer reaches a predetermined value, indicating for example, that the code is being run on an emulator. The KRC returns the key to the code if the key is retrieved before the watchdog timer reaches the predetermined value. |