| // Copyright lowRISC contributors. |
| // Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| // SPDX-License-Identifier: Apache-2.0 |
| |
| // Security countermeasures testplan extracted from the IP Hjson using reggen. |
| // |
| // This testplan is auto-generated only the first time it is created. This is |
| // because this testplan needs to be hand-editable. It is possible that these |
| // testpoints can go out of date if the spec is updated with new |
| // countermeasures. When `reggen` is invoked when this testplan already exists, |
| // It checks if the list of testpoints is up-to-date and enforces the user to |
| // make further manual updates. |
| // |
| // These countermeasures and their descriptions can be found here: |
| // .../kmac/data/kmac.hjson |
| // |
| // It is possible that the testing of some of these countermeasures may already |
| // be covered as a testpoint in a different testplan. This duplication is ok - |
| // the test would have likely already been developed. We simply map those tests |
| // to the testpoints below using the `tests` key. |
| // |
| // Please ensure that this testplan is imported in: |
| // .../kmac/data/kmac_testplan.hjson |
| { |
| testpoints: [ |
| { |
| name: sec_cm_bus_integrity |
| desc: "Verify the countermeasure(s) BUS.INTEGRITY." |
| stage: V2S |
| tests: ["kmac_tl_intg_err"] |
| } |
| { |
| name: sec_cm_lc_escalate_en_intersig_mubi |
| desc: "Verify global LC_ESCALATE_EN mubi" |
| stage: V2S |
| tests: ["{name}_lc_escalation"] |
| } |
| { |
| name: sec_cm_sw_key_key_masking |
| desc: "Verify the countermeasure(s) SW_KEY.KEY.MASKING." |
| stage: V2S |
| tests: ["{name}_smoke"] |
| } |
| { |
| name: sec_cm_key_sideload |
| desc: "Verify the key from KeyMgr is sideloaded." |
| stage: V2S |
| tests: ["{name}_sideload"] |
| } |
| { |
| name: sec_cm_cfg_shadowed_config_shadow |
| desc: "Verify the countermeasure(s) CFG_SHADOWED.CONFIG.SHADOW." |
| stage: V2S |
| tests: ["kmac_shadow_reg_errors"] |
| } |
| { |
| name: sec_cm_fsm_sparse |
| desc: "Verify the countermeasure(s) FSM.SPARSE." |
| stage: V2S |
| tests: ["kmac_sec_cm"] |
| } |
| { |
| name: sec_cm_ctr_redun |
| desc: "Verify the countermeasure(s) CTR.REDUN." |
| stage: V2S |
| tests: ["kmac_sec_cm"] |
| } |
| { |
| name: sec_cm_packer_ctr_redun |
| desc: "Verify the countermeasure(s) PACKER.CTR.REDUN." |
| stage: V2S |
| tests: ["kmac_sec_cm"] |
| } |
| { |
| name: sec_cm_cfg_shadowed_config_regwen |
| desc: "Verify the countermeasure(s) CFG_SHADOWED.CONFIG.REGWEN." |
| stage: V2S |
| tests: ["{name}_smoke"] |
| } |
| { |
| name: sec_cm_fsm_global_esc |
| desc: "Verify the countermeasure(s) FSM.GLOBAL_ESC." |
| stage: V2S |
| tests: ["{name}_lc_escalation"] |
| } |
| { |
| name: sec_cm_fsm_local_esc |
| desc: "Verify the countermeasure(s) FSM.LOCAL_ESC." |
| stage: V2S |
| tests: ["kmac_sec_cm"] |
| } |
| { |
| name: sec_cm_logic_integrity |
| desc: "Verify the countermeasure(s) LOGIC.INTEGRITY." |
| stage: V2S |
| tests: ["N/A"] |
| } |
| { |
| name: sec_cm_absorbed_ctrl_mubi |
| desc: "Verify the countermeasure(s) ABSORBED.CTRL.INTEGRITY" |
| stage: V2S |
| tests: ["{name}_mubi"] |
| } |
| { |
| name: sec_cm_sw_cmd_ctrl_sparse |
| desc: "Verify the countermeasure(s) SW_CMD.CTRL.INTEGRITY" |
| stage: V2S |
| tests: ["{name}_smoke"] |
| } |
| ] |
| } |