7.5 軟件/固件安全
密碼模塊定義為7.2.2中規定的硬件、軟件、固件或混合密碼模塊。本條的要求應[05.01]適用于密碼模塊的軟件和固件部件。
完全由硬件實現的密碼模塊無需滿足本標準的軟件/固件安全要求。
用于核準的完整性技術的簽名驗證公鑰或HMAC的密鑰可以存在于密碼模塊代碼中,而且此時它們不被視為敏感安全參數。
密碼模塊文檔應[05.02]按照A.2.5中規定的要求編寫。
a) 安全一級:
對于安全一級,下列安全要求應[05.03]適用于密碼模塊內的軟件和固件部件:
——所有的軟件和固件應[05.04]符合7.11.7中的規定,確保安裝前未被修改。
——密碼邊界內的所有軟件和固件部件應[05.05]使用核準的完整性技術進行保護,這些完 整性技術可以由該密碼模塊提供,也可以由另一個經確認的密碼模塊提供。
——如果完整性測試失敗,密碼模塊應[05.06]進入錯誤狀態。核準的完整性技術可以包含單個鑒別碼或簽名,或者多個分離的消息鑒別碼或簽名。在多個分離的消息鑒別碼或簽名中,任何一個消息鑒別碼或簽名驗證失敗都應[05.07]導致密碼模塊進入錯誤狀態。一旦完成了完整性測試,密碼模塊軟件或固件的完整性測試的過程中生成的臨時值應[05.08]被置零。
——操作員應[05.09]能夠通過7.3.2中規定的軟件或固件密碼模塊接口、混合固件密碼模塊接口或混合軟件密碼模塊接口服務按需執行核準的完整性技術。
——7.3.3中規定的密碼模塊的所有數據和控制輸入,數據、控制和狀態輸出,以及7.4.3中規定的服務,應[05.10]通過定義的硬件密碼模塊接口、軟件或固件密碼模塊接口、混合固件密碼模塊接口或混合軟件密碼模塊接口完成。
——對于軟件或固件密碼模塊,如果加載的軟件或固件鏡像完全替換或覆蓋了已確認的密碼模塊鏡像,則軟件/固件加載測試是不適用的,因為替換或覆蓋將形成一個新的密碼模塊。如果新加載的軟件或固件是密碼模塊運行所必須的,但不是完全替換或覆蓋經確認的密碼模塊,那么軟件/固件加載測試是適用的,并且應[05.11]由經過確認的密碼模塊執行該測試。
b) 安全二級:
對于安全二級,除了安全一級的要求,還有下列要求應[05.12]適用于密碼模塊內的軟件或固件部件:
——密碼模塊的軟件和固件部件應[05.13]只包含可運行形式的代碼,例如,不包括源代碼、目標代碼或實時編譯的代碼。
——應[05.14]確保操作員無法通過硬件密碼模塊接口、軟件或固件密碼模塊接口、混合固件密碼模塊接口或混合軟件密碼模塊接口接口的服務或控制設置,啟動或執行調試技術。
——密碼邊界內的所有軟件和固件應[05.15]使用核準的數字簽名或帶密鑰的消息鑒別碼進行保護。如果計算的結果不等于之前生成的結果,則測試失敗,并且密碼模塊應[05.16]進入錯誤狀態。
c) 安全三級和四級:
對于安全三級和四級,除了安全一級和二級的要求,下列要求應[05.17]適用于密碼模塊內的軟件和固件部件:
——密碼邊界內的所有軟件和固件應[05.18]使用核準的數字簽名進行保護。如果計算的結果不等于之前生成的結果,則測試失敗,并且密碼模塊應[05.19]進入錯誤狀態。
——數字簽名技術可以包含單個簽名,或者多個分離的簽名,分離的簽名中任何一個簽名的驗證失敗都應[05.20]導致密碼模塊進入錯誤狀態。簽名私鑰應[05.21]保存在密碼模塊外。
GB/T 37092—2018 信息安全技術 密碼模塊安全要求
推薦文章: