CODE FLOW PROTECTION WITH ERROR PROPAGATION
The present invention relates to an execution system having at least a central processing unit (CPU), a system memory (SM) storing a genuine program (cGC) having ciphered instructions (CI) stored at determined addresses and a secure agent component (SAC) dedicated to the protection of the execution...
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Patent |
Sprache: | eng ; fre |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | The present invention relates to an execution system having at least a central processing unit (CPU), a system memory (SM) storing a genuine program (cGC) having ciphered instructions (CI) stored at determined addresses and a secure agent component (SAC) dedicated to the protection of the execution of the genuine program (cGC), said secure agent component (SAC) being inserted between the system memory (SM) and the central processing unit (CPU) and fetching the ciphered instructions (CI) occurring between system memory (SM) and the central processing unit (CPU), said secure agent component (SAC) comprising at least a signature register (SR) storing an instruction flow signature depending on previously executed instructions and a ciphering/deciphering module. Each fetched ciphered instruction (CI) is deciphered by executing a function depending on the ciphered instruction (CI) and on the instruction flow signature as stored in the signature register (SR) before sending the de-ciphered instruction (DI) to the central processing unit (CPU). A new instruction flow signature is determined depending on the instruction and on the instruction flow signature of the previous instruction in the instruction flow of the genuine program (cGC) before storing this new instruction flow signature in the signature register (SR).
La présente invention porte sur un système d'exécution ayant au moins une unité centrale de traitement (UCT), un système de mémoire (SM) sauvegardant un programme authentique (cGC) dont des instructions chiffrées (CI) sont sauvegardées à des adresses déterminées et un composant d'agent sécurisé (SAC) dédié à la protection de l'exécution du programme authentique (cGC), ledit composant d'agent sécurisé (SAC) étant inséré entre le système de mémoire (SM) et l'unité centrale de traitement (UCT) et à capturer les instructions chiffrées (CI) se produisant entre le système de mémoire (SM) et l'unité centrale de traitement (UCT), ledit composant d'agent sécurisé (SAC) comprenant au moins un registre de signature (SR) sauvegardant une signature d'instruction de flux dépendant d'instructions exécutées précédemment et un module de chiffrement/déchiffrement. Chaque instruction chiffrée (CI) capturée est déchiffrée en exécutant une fonction en fonction de l'instruction chiffrée (CI) et de la signature de flux d'instructions telle qu'elle est sauvegardée dans le registre de signature (SR) avant d'envoyer l'instruction déchiffrée (DI) à l'unité centrale de traitemen |
---|