A system (100, 300) for thwarting personal identification number, PIN, retry attacks in a trusted platform module, TPM, the system comprising: a system on a chip, SOC, comprising: a plurality of programmable fuses; one or more processors; one or more memory devices, the one or more memory devices comprising an on-die random access memory, RAM, storing a blown-fuse count comprising a count of currently blown fuses of the plurality of programmable fuses and a TPM state, wherein the TPM state comprises a TPM state fuse count, a TPM state PIN-attempt-failure count, and a TPM state previously-passed-PIN indicator, and the one or more memory devices storing program code to be executed by the one or more processors, the program code comprising: TPM logic, the TPM logic configured to: initialize the TPM, said initialize the TPM comprising at least: in response to the blown-fuse count being greater than the TPM state fuse count: increment the TPM state PIN-attempt-failure count; receive a PIN in a PIN attempt for accessing a system protected by the TPM; in response to the TPM state PIN-attempt-failure count satisfying a PIN-attempt-failure count policy: in response to the TPM state previously-passed-PIN indicator being set to true: blow a fuse and increment the blown-fuse count in response to the received PIN being incorrect; or in response to the TPM state previously-passed-PIN indicator being set to false: blow a fuse and increment the blown-fuse count independent of whether the received PIN is determined to be correct or incorrect; set the TPM state fuse count based on the blown-fuse count; and return a PIN attempt result. a plurality of programmable fuses; one or more processors; one or more memory devices, the one or more memory devices comprising an on-die random access memory, RAM, storing a blown-fuse count comprising a count of currently blown fuses of the plurality of programmable fuses and a TPM state, wherein the TPM state comprises a TPM state fuse count, a TPM state PIN-attempt-failure count, and a TPM state previously-passed-PIN indicator, and the one or more memory devices storing program code to be executed by the one or more processors, the program code comprising: TPM logic, the TPM logic configured to: initialize the TPM, said initialize the TPM comprising at least: in response to the blown-fuse count being greater than the TPM state fuse count: increment the TPM state PIN-attempt-failure count; receive a PIN in a PIN attempt for accessing a system protected by the TPM; in response to the TPM state PIN-attempt-failure count satisfying a PIN-attempt-failure count policy: in response to the TPM state previously-passed-PIN indicator being set to true: blow a fuse and increment the blown-fuse count in response to the received PIN being incorrect; or in response to the TPM state previously-passed-PIN indicator being set to false: blow a fuse and increment the blown-fuse count independent of whether the received PIN is determined to be correct or incorrect; set the TPM state fuse count based on the blown-fuse count; and return a PIN attempt result. initialize the TPM, said initialize the TPM comprising at least: in response to the blown-fuse count being greater than the TPM state fuse count: increment the TPM state PIN-attempt-failure count; in response to the blown-fuse count being greater than the TPM state fuse count: increment the TPM state PIN-attempt-failure count; receive a PIN in a PIN attempt for accessing a system protected by the TPM; in response to the TPM state PIN-attempt-failure count satisfying a PIN-attempt-failure count policy: in response to the TPM state previously-passed-PIN indicator being set to true: blow a fuse and increment the blown-fuse count in response to the received PIN being incorrect; or in response to the TPM state previously-passed-PIN indicator being set to false: blow a fuse and increment the blown-fuse count independent of whether the received PIN is determined to be correct or incorrect; in response to the TPM state previously-passed-PIN indicator being set to true: blow a fuse and increment the blown-fuse count in response to the received PIN being incorrect; or in response to the TPM state previously-passed-PIN indicator being set to false: blow a fuse and increment the blown-fuse count independent of whether the received PIN is determined to be correct or incorrect; set the TPM state fuse count based on the blown-fuse count; and return a PIN attempt result.