1. A security device having dynamically programmable security, comprising: a system memory; and a security module, comprising: a secure memory, and a processor configured to: receive a message including first configuration information and first secure application code, configure a hardware component of the security module based on the first configuration information, transition to an execution mode, execute the first secure application code in the execution mode after the hardware component of the security module has been configured, wherein the hardware component cannot be reconfigured by the first secure application code, and wherein the first secure application code is configured to initiate loading of second secure application code into the security module by writing to a storage location of the security module, and configure the hardware component based on second configuration information, wherein the second configuration information is different from the first configuration information.