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
includesetting is defined first, all wires matching theincluderegex will be possible fault locations, provided they do not match the subsequentexcluderegex. - Similarly, if the
excludesetting is defined first, all wires matching theexcluderegex will not be faulted, unless they match the followingincluderegex.
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.