Patent ID: 8452987

Claim:
A method for software security in a secure communication system, the method comprising: performing by a reprogrammable system within said secure communication system: during reprogramming or subsequent to said reprogramming, verifying software code downloaded to said reprogrammable system, wherein, if said verifying said downloaded software code is successful: executing said downloaded software code within said reprogrammable system and storing said downloaded software code within an unlocked portion of a memory within said reprogrammable system for future use, and wherein, if said verifying said downloaded software code fails: prohibiting downloading and/or clearing of said downloaded software code stored within said unlocked portion of said memory within said reprogrammable system, reloading prestored unmodifiable operating code from a locked portion of said memory to said reprogrammable system for execution, and verifying said prestored unmodifiable operating code by performing a secure hashing algorithm on said prestored unmodifiable operating code and comparing a result of said secure hashing algorithm with a stored value in a one-time programmable (OTP) memory.