在很多應用中保護計算機的部件免于被操縱對于便利地使用計算機是必要的,例如,對于在計算機中配置的芯片卡。公知可以通過數據加密來保護寄存器免于被操縱。市場上公開了一種用于保護計算機免于被操縱的方法,其中,在中央處理器執行完每個程序指令后,對于不同的寄存器內容執行邏輯操作,具體來說是一種XOR操作,所述操作的結果被存儲在存儲器中,以在執行下一條指令前對相同寄存器的內容執行相同的操作,并且把獲得的操作結果和先前的操作結果進行比較,這種方法被證明是有益的。
為了這個目的,這項技術通過建立對索要保護的寄存器內容的拷貝和在接到請求時把要保護的寄存器的內容和其拷貝相比較,提供了一種用于保護計算機免于寄存器內容被操縱的方法。在接到請求時進行比較意味著例如,具體來說,在每個指令被執行時執行比較,以檢測要保護的寄存器內容在前一指令的執行和現在處于等待狀態的指令執行之間的時段期間是否被操縱。這允許所述比較可以在時間上和程序計數器的增加配合,所述程序計數器的內容定義索要執行的指令次序。
為了獲得附加的安全性,在這項技術把要保護的寄存器的內容以修改后的形式作為拷貝存儲。這避免了特定寄存器的內容經操縱性的比較寄存器內容來被識別而致使保護無效的情況。該修改不容易地允許直接把要保護的寄存器的內容和其拷貝進行比較。