fault_locations - ChairImpSec/PROLEAD GitHub Wiki

Type

JSON Object (similar to probe_placement but without paths)

Default

By default, PROLEAD excludes all fault locations, effectively restricting the evaluation to side-channel analysis alone, rather than a combined fault and side-channel setting.

/* Default configuration (not given in the settings file) */
"fault_injection": {
    "fault_locations": {
      "include": {
        "signals": "(?!)"
      },	
      "exclude": {
        "signals": ".*"
      }   
    }
  }
}

Description

Limit the set of wires where an adversary can inject fault, enabling you to avoid unnecessary wires and focus on those of particular interest. This configuration relies on include and exclude settings, which use regular expressions (regex) to specify the wires of interest.

  • If the include setting is defined first, all wires matching the include regex will be possible fault locations, provided they do not match the subsequent exclude regex.
  • Similarly, if the exclude setting is defined first, all wires matching the exclude regex will not be faulted, unless they match the following include regex.

Impact

For a security evaluation in a combined setting, we recommend allowing faults on all wires. However, if the focus is on specific wires, this configuration significantly reduces both runtime and memory usage.

Examples

/* Recommended settings for combined evaluations*/
"fault_injection": {
    "fault_locations": {
      "include": {
        "signals": ".*"
      },	
      "exclude": {
        "signals": "(?!)"
      }   
    }
  }
}

In this example, we permit faults on all wires by configuring the include regex to match every signal name and setting the exclude regex to match none.