Hardware Security

Which correctly pairs the principle behind timing attacks with a typical countermeasure?

  1. AIt exploits processing that is too fast; deliberately slow it down
  2. BIt exploits an inaccurate clock time; synchronize the clock
  3. CIt exploits processing time varying with secret values; implement code that takes the same time regardless of secrets (constant-time)
Show answer and explanation

Answer: C. It exploits processing time varying with secret values; implement code that takes the same time regardless of secrets (constant-time)

In an implementation that does extra work only when a key bit is 1, for example, repeated timing measurements reveal the key bits. The countermeasure is constant-time code, where branches, loop counts and memory access locations do not depend on secrets. Merely slowing everything down or adding random delays is not enough, because attackers can average away the noise with more measurements.

  • A. Uniformly slowing down still leaks if time differences remain.
  • B. It is not about clock time-of-day.
  • C. Correct. Branches and memory accesses must not depend on secrets.
Practice this topic Back to topic

More Hardware Security questions

  1. What weakness lurks in the password comparison function above, and what is the fix?
  2. What is the main reason cache-based side-channel attacks work?
  3. What is the principle behind the speculative execution vulnerability known as Spectre?
  4. Why does information still leak in attacks like Spectre even though speculatively executed instructions are rolled back?
  5. What is the principle of the vulnerability called Meltdown, which affected some CPUs?