Hardware Security: Advanced Topics and Trends
Suppose a firmware signature check is skipped by a single fault injection attempt with a probability of 1/1,000. The same check is now done in two places, so that the attack succeeds only if both are skipped. If one attempt can target both places at once and each is skipped independently with probability 1/1,000, what is the expected number of attempts until the attack succeeds?
- A1,000
- B2,000
- C1,000,000
Show answer and explanation
Answer: C. 1,000,000
The probability that both are skipped in one attempt is (1/1,000) × (1/1,000) = 1/1,000,000. When attempts with success probability p are repeated, the expected number until the first success is 1/p, so it is 1,000,000 (one million), 1,000 times the 1,000 needed with a single check. However, this calculation assumes that the two faults occur independently. Designs in which one malfunction skips both (such as writing the same comparison twice in a row) gain little, so measures such as staggering the timing of the checks, comparing inverted values and inserting random delays are added.
- A. This is the expected value with a single check.
- B. This treats the second place as an addition. The probability that two independent events both occur is a product.
- C. Correct. 1 ÷ (1/1,000)² = 1,000,000.
Continue: 9 more Hardware Security: Advanced Topics and Trends questions