TW200527872A

System and method for securing executable code

Abstract

A system and method for the secure storage of executable code and the secure movement of such code from memory to a processor. The method includes the storage of an encrypted version of the code. The code is then decrypted and decompressed as necessary, before re-encryption in storage. The re-encrypted executable code is then written to external memory. As a cache line of executable code is required, a fetch is performed but intercepted. In the interception, the cache line is decrypted. The plain text cache line is then stored in an instruction cache associated with a processor.

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Published
  4. Today

10 claims: 10 independent, 0 dependent

  1. 1
    一種用於處理器指令的保密執行之系統,包括:一第一記憶體,其包含起動代碼及用第一密鑰所加密之圖像;一保密嵌入式處理器系統,其包括:一處理器;一與所述處理器相通訊之指令超快取記憶體;一與所述指令超快取記憶體通訊之記憶體控制器;一與所述指令超快取記憶體通訊之保密控制器;及一第二記憶體,其位於所述保密嵌入式處理器系統之外部,並與所述第一記憶體、記憶體控制器及保密控制器通訊,其中,所述用第一密鑰加密之圖像被傳輸至所述第二記憶體,被所述保密控制器解密,並由所述保密控制器使用第二密鑰再加密,用所述第二密鑰加密之圖像之一超快取記憶體線從所述第二記憶體被讀取,再用所述第二密鑰進行解密,然後存儲於所述指令超快取記憶體中,以被所述處理器所執行。
  2. 2
    如申請專利範圍第1項所述之系統,其中所述保密控制器包括使用三重資料加密標準(3DES)演算法及所述第一密鑰對所述被加密圖像進行解密之邏輯電路。
  3. 3
    如申請專利範圍第1項所述之系統,其進一步包括一密鑰管理模組,該密鑰管理模組包括:以加密形式接收所述第一密鑰之邏輯電路;使用會話密鑰對所述被加密之第一密鑰進行解密之邏輯電路;將所述第一密鑰轉發到所述保密控制器之邏輯電路。
  4. 4
    如申請專利範圍第1項所述之系統,其中所述保密控制器中包括:使用高級加密標準(AES)演算法重加密所述圖像的邏輯電路;及使用所述AES演算法解密所述超快取記憶體線的邏輯電路。
  5. 5
    一種提供處理器指令的保密執行的方法,其包括以下步驟:a.啟動處理器,以將加密編碼載入到外部記憶體中;b.使用圖像密鑰對所述加密編碼中解壓縮之部分進行解密,以產生解密解壓縮碼之第一部分;c.執行所述解密解壓縮碼之第一部分;d.使用所述圖像密鑰對所述加密編碼中之壓縮部分進行解密,以產生一圖像;e.鑒別所述圖像;f.解壓縮該圖像從而使其佔據外部記憶體中之一部分,起點在第一地址並且終點在終端地址;及g.執行所述圖像之保密執行。
  6. 6
    如申請專利範圍第5項所述之方法,其中使用三重資料加密標準(3DES)演算法執行所述解密步驟b及d。
  7. 7
    如申請專利範圍第5項所述之方法,在執行步驟a之前,所述方法進一步包括以下步驟:h.確定所述圖像密鑰是否失效,僅於所述圖像密鑰還沒有失效之條件下,才執行所述步驟a-g。
  8. 8
    如申請專利範圍第5項所述之方法,執行步驟a之前,所述方法進一步包括以下步驟:h.產生加密編碼。
  9. 9
    如申請專利範圍第8項所述之方法,其中所述步驟h包括:i.壓縮所述圖像;ii.對所述圖像進行散列處理以產生一散列值;iii.加密所述圖像;及iv.存儲所述加密編碼。
  10. 10
    如申請專利範圍第9項所述之方法,其中在所述步驟h.ii.中,使用保密散列演算法1(SHA-1)對所述圖像進行散列處理。
Independent claims10