事務内存TransactionalMemory,是高性能計算領域的技術概念,早在1993年提出。其基本想法是由底層的軟硬件跟蹤記錄并行任務的内存訪問,确保聲明為事務的代碼片段的内存讀寫操作原子性。具體為:對于聲明為事務執行的代碼片段,如果在事務執行期間,有任何其它并行的任務也訪問了事務代碼的數據、且其中一方是寫操作,則事務代碼就會自動回滾到事務的開始點、所有執行痕迹都被自動清除。
利用Intel在2013年推出的硬件事務内存特性(稱為TSX),可以構建安全的密碼計算環境:将密碼計算定義為事務,私鑰作為事務執行的寫操作結果,然後再進行密碼計算。能夠獲得如下的安全保障:在密碼計算期間,任何其它的(可能是非法攻擊)任務讀取了私鑰的内存地址,就會觸發事務回滾到開始點、私鑰就被清除,攻擊者隻能得到無效數據。
以上方法能夠防範各種類型的、竊取密鑰數據的攻擊:不論攻擊所利用漏洞是什麼類型,攻擊都會有最後的讀操作,都會觸發事務回滾;包括軟件攻擊和DMA攻擊都是如此。而且,在現有的硬件事務内存實現中,都是利用了CPUCache來暫存事務的中間狀态數據,所以上述方案也能夠有效防禦Cold-Boot攻擊。