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 theinclude
regex will be possible fault locations, provided they do not match the subsequentexclude
regex. - Similarly, if the
exclude
setting is defined first, all wires matching theexclude
regex will not be faulted, unless they match the followinginclude
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.