61
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Timing Leaks and Coarse-Grained Clocks Panagiotis Vasilikos Flemming Nielson Hanne Riis Nielson Boris K¨ opf 1 / 19

Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Leaks and Coarse-Grained Clocks

Panagiotis VasilikosFlemming NielsonHanne Riis Nielson

Boris Kopf

1 / 19

Page 2: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing-Channel Attacks

Victim

t1

observation

t2

i1

secret

i2

Adversary

time

Common countermeasures that refine the victim’s system:constant-time softwarebucketingrandomized delays...

The drawback : performance overhead

2 / 19

Page 3: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing-Channel Attacks

Victim

t1

observation

t2

i1

secret

i2

Adversary

time

Common countermeasures that refine the victim’s system:constant-time softwarebucketingrandomized delays...

The drawback : performance overhead

2 / 19

Page 4: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing-Channel Attacks

Victim

t1

observation

t2

i1

secret

i2

Adversary

time

Common countermeasures that refine the victim’s system:constant-time softwarebucketingrandomized delays...

The drawback : performance overhead

2 / 19

Page 5: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Reducing Clock Resolution

A countermeasure which configures the clock

t1

t2

t1

t2

time

g

3 · g

About it:no performance overheadlocal scope (i.e does not work for remote adversaries)has been deployed in major browser implementations

The drawback: it can be bypassed, using timing techniques

3 / 19

Page 6: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Reducing Clock Resolution

A countermeasure which configures the clock

t1

t2

t1

t2

time

g

3 · g

About it:no performance overheadlocal scope (i.e does not work for remote adversaries)has been deployed in major browser implementations

The drawback: it can be bypassed, using timing techniques

3 / 19

Page 7: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Reducing Clock Resolution

A countermeasure which configures the clock

t1

t2

t1

t2

time

g

3 · g

About it:no performance overheadlocal scope (i.e does not work for remote adversaries)has been deployed in major browser implementations

The drawback: it can be bypassed, using timing techniques

3 / 19

Page 8: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

This work’s contributionsWe propose

The first information theoretic framework for adversaries withcoarse-grained clocks.

Based on this we derive the following:A coarse-grained clock might leak more information than afine-grained one.Conditions under which a coarse-grained clock imply bettersecurity.A new timing technique.The timing techniques form a strict hierarchy in terms ofinformation leakage.

4 / 19

Page 9: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

This work’s contributionsWe propose

The first information theoretic framework for adversaries withcoarse-grained clocks.

Based on this we derive the following:A coarse-grained clock might leak more information than afine-grained one.

Conditions under which a coarse-grained clock imply bettersecurity.A new timing technique.The timing techniques form a strict hierarchy in terms ofinformation leakage.

4 / 19

Page 10: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

This work’s contributionsWe propose

The first information theoretic framework for adversaries withcoarse-grained clocks.

Based on this we derive the following:A coarse-grained clock might leak more information than afine-grained one.Conditions under which a coarse-grained clock imply bettersecurity.

A new timing technique.The timing techniques form a strict hierarchy in terms ofinformation leakage.

4 / 19

Page 11: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

This work’s contributionsWe propose

The first information theoretic framework for adversaries withcoarse-grained clocks.

Based on this we derive the following:A coarse-grained clock might leak more information than afine-grained one.Conditions under which a coarse-grained clock imply bettersecurity.A new timing technique.The timing techniques form a strict hierarchy in terms ofinformation leakage.

4 / 19

Page 12: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Modelling Part: the Victim

i ∈ I TAi

i1

······

in

qs qt

Guarded edges over real-valued variables

x ≥ 2 ∧ y < 3 → x

Transitions

⟨qs , [x 7→ 3.4, y 7→ 0]⟩ 1.32,e1−→ ⟨qt , [x 7→ 0, y 7→ 1.32]⟩

Computations of the victim

ρ = ⟨q0, δ0⟩t1,e1−→ ...

tn,en−→ ⟨qn, δn⟩tn+1,en+1−→ ...

The victim is described by:a finite set of secrets I, andthe family of timed automata S = (TAi)i∈I

The system S can be eitherdeterministic (i.e for each i , we have a unique computation),or stochastic (i.e at each transition we first choose randomly adelay and then an edge)

5 / 19

Page 13: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Modelling Part: the Victim

i ∈ I TAi

i1

······

in

qs qt

Guarded edges over real-valued variables

x ≥ 2 ∧ y < 3 → x

Transitions

⟨qs , [x 7→ 3.4, y 7→ 0]⟩ 1.32,e1−→ ⟨qt , [x 7→ 0, y 7→ 1.32]⟩

Computations of the victim

ρ = ⟨q0, δ0⟩t1,e1−→ ...

tn,en−→ ⟨qn, δn⟩tn+1,en+1−→ ...

The victim is described by:a finite set of secrets I, andthe family of timed automata S = (TAi)i∈I

The system S can be eitherdeterministic (i.e for each i , we have a unique computation),or stochastic (i.e at each transition we first choose randomly adelay and then an edge)

5 / 19

Page 14: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Modelling Part: the Victim

i ∈ I TAi

i1

······

in

qs qt

Guarded edges over real-valued variables

x ≥ 2 ∧ y < 3 → x

Transitions

⟨qs , [x 7→ 3.4, y 7→ 0]⟩ 1.32,e1−→ ⟨qt , [x 7→ 0, y 7→ 1.32]⟩

Computations of the victim

ρ = ⟨q0, δ0⟩t1,e1−→ ...

tn,en−→ ⟨qn, δn⟩tn+1,en+1−→ ...

The victim is described by:a finite set of secrets I, andthe family of timed automata S = (TAi)i∈I

The system S can be eitherdeterministic (i.e for each i , we have a unique computation),or stochastic (i.e at each transition we first choose randomly adelay and then an edge)

5 / 19

Page 15: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Modelling Part: the Victim

i ∈ I TAi

i1

······

in

qs qt

Guarded edges over real-valued variables

x ≥ 2 ∧ y < 3 → x

Transitions

⟨qs , [x 7→ 3.4, y 7→ 0]⟩ 1.32,e1−→ ⟨qt , [x 7→ 0, y 7→ 1.32]⟩

Computations of the victim

ρ = ⟨q0, δ0⟩t1,e1−→ ...

tn,en−→ ⟨qn, δn⟩tn+1,en+1−→ ...

The victim is described by:a finite set of secrets I, andthe family of timed automata S = (TAi)i∈I

The system S can be eitherdeterministic (i.e for each i , we have a unique computation),or stochastic (i.e at each transition we first choose randomly adelay and then an edge)

5 / 19

Page 16: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Modelling Part: the Adversary

i ∈ I TAii1

······

in

Computations of the victim

ρ = ⟨q0, δ0⟩t1,e1−→ ...

tj1 ,ej1−→ ⟨qn, δn⟩tj1+1,ej1+1−→ ...

tjk ,ejk−→ ...

0 2 4 6 8 100

2

4

6

8

t

c1(t) = ⌊t⌋c2(t) =

⌊ t2⌋· 2

The adversary is described by:a clock c of grain g : c(t) =

⌊tg

⌋· g

a finite set Epub of public edgesa finite number of observations k

The view of the adversary on the computation ρ isviewc(ρ) = (c(tj1), ..., c(tjk))

6 / 19

Page 17: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Modelling Part: the Adversary

i ∈ I TAii1

······

in

Computations of the victim

ρ = ⟨q0, δ0⟩t1,e1−→ ...

tj1 ,ej1−→ ⟨qn, δn⟩tj1+1,ej1+1−→ ...

tjk ,ejk−→ ...

0 2 4 6 8 100

2

4

6

8

t

c1(t) = ⌊t⌋c2(t) =

⌊ t2⌋· 2

The adversary is described by:a clock c of grain g : c(t) =

⌊tg

⌋· g

a finite set Epub of public edges

a finite number of observations kThe view of the adversary on the computation ρ is

viewc(ρ) = (c(tj1), ..., c(tjk))

6 / 19

Page 18: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Modelling Part: the Adversary

i ∈ I TAii1

······

in

Computations of the victim

ρ = ⟨q0, δ0⟩t1,e1−→ ...

tj1 ,ej1−→ ⟨qn, δn⟩tj1+1,ej1+1−→ ...

tjk ,ejk−→ ...

0 2 4 6 8 100

2

4

6

8

t

c1(t) = ⌊t⌋c2(t) =

⌊ t2⌋· 2

The adversary is described by:a clock c of grain g : c(t) =

⌊tg

⌋· g

a finite set Epub of public edgesa finite number of observations k

The view of the adversary on the computation ρ isviewc(ρ) = (c(tj1), ..., c(tjk))

6 / 19

Page 19: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Modelling Part: the Adversary

i ∈ I TAii1

······

in

Computations of the victim

ρ = ⟨q0, δ0⟩t1,e1−→ ...

tj1 ,ej1−→ ⟨qn, δn⟩tj1+1,ej1+1−→ ...

tjk ,ejk−→ ...

0 2 4 6 8 100

2

4

6

8

t

c1(t) = ⌊t⌋c2(t) =

⌊ t2⌋· 2

The adversary is described by:a clock c of grain g : c(t) =

⌊tg

⌋· g

a finite set Epub of public edgesa finite number of observations k

The view of the adversary on the computation ρ isviewc(ρ) = (c(tj1), ..., c(tjk)) 6 / 19

Page 20: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

A Counterexample on the Security of Coarse-GrainedClocks

Take deterministic function f with inputs i1, i2 and timings 2, 3resp.

Scenario (a), the adversary has a clock c of grain 2. In bothcases of i1 and i2 the adversary sees c(2) = 2 = c(3).

Scenario (b), the adversary has a clock c of grain 3. In thecase of i1 the adversary sees c(2) = 0, whereas for i2 it seesc(3) = 3 and thus c(3) = c(2).

Proposition 1Increasing the grain of the clock may result to more informationleakage.

Theorem 2 (Multiple-g Security)In deterministic systems, increasing the grain g to a multipleg ′ = m · g results always to less or equal information leakage.

7 / 19

Page 21: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

A Counterexample on the Security of Coarse-GrainedClocks

Take deterministic function f with inputs i1, i2 and timings 2, 3resp.

Scenario (a), the adversary has a clock c of grain 2. In bothcases of i1 and i2 the adversary sees c(2) = 2 = c(3).Scenario (b), the adversary has a clock c of grain 3. In thecase of i1 the adversary sees c(2) = 0, whereas for i2 it seesc(3) = 3 and thus c(3) = c(2).

Proposition 1Increasing the grain of the clock may result to more informationleakage.

Theorem 2 (Multiple-g Security)In deterministic systems, increasing the grain g to a multipleg ′ = m · g results always to less or equal information leakage.

7 / 19

Page 22: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

A Counterexample on the Security of Coarse-GrainedClocks

Take deterministic function f with inputs i1, i2 and timings 2, 3resp.

Scenario (a), the adversary has a clock c of grain 2. In bothcases of i1 and i2 the adversary sees c(2) = 2 = c(3).Scenario (b), the adversary has a clock c of grain 3. In thecase of i1 the adversary sees c(2) = 0, whereas for i2 it seesc(3) = 3 and thus c(3) = c(2).

Proposition 1Increasing the grain of the clock may result to more informationleakage.

Theorem 2 (Multiple-g Security)In deterministic systems, increasing the grain g to a multipleg ′ = m · g results always to less or equal information leakage.

7 / 19

Page 23: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

A Counterexample on the Security of Coarse-GrainedClocks

Take deterministic function f with inputs i1, i2 and timings 2, 3resp.

Scenario (a), the adversary has a clock c of grain 2. In bothcases of i1 and i2 the adversary sees c(2) = 2 = c(3).Scenario (b), the adversary has a clock c of grain 3. In thecase of i1 the adversary sees c(2) = 0, whereas for i2 it seesc(3) = 3 and thus c(3) = c(2).

Proposition 1Increasing the grain of the clock may result to more informationleakage.

Theorem 2 (Multiple-g Security)In deterministic systems, increasing the grain g to a multipleg ′ = m · g results always to less or equal information leakage.

7 / 19

Page 24: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Leakage Analysis Part: Quantitative Information FlowThe common set-up contains

a probability distribution p on the set of secrets Ia set of outputs Oan information-channel TC

TC o1 ... omi1 1

2 ... 12

... 1 ...in 0 ... 1

The initial uncertainty of the adversary is

H(p) (e.g H(p) could be Shannon-, min-, g-entropy)

and his posterior uncertainty is

H(p,TC) (e.g H(p,TC) could be conditional Shannon-, min-, g-entropy)

The leakage is defined

Leakage(p,TC) = H(p)− H(p,TC)

8 / 19

Page 25: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Leakage Analysis Part: Quantitative Information FlowThe common set-up contains

a probability distribution p on the set of secrets I

a set of outputs Oan information-channel TC

TC o1 ... omi1 1

2 ... 12

... 1 ...in 0 ... 1

The initial uncertainty of the adversary is

H(p) (e.g H(p) could be Shannon-, min-, g-entropy)

and his posterior uncertainty is

H(p,TC) (e.g H(p,TC) could be conditional Shannon-, min-, g-entropy)

The leakage is defined

Leakage(p,TC) = H(p)− H(p,TC)

8 / 19

Page 26: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Leakage Analysis Part: Quantitative Information FlowThe common set-up contains

a probability distribution p on the set of secrets Ia set of outputs O

an information-channel TCTC o1 ... omi1 1

2 ... 12

... 1 ...in 0 ... 1

The initial uncertainty of the adversary is

H(p) (e.g H(p) could be Shannon-, min-, g-entropy)

and his posterior uncertainty is

H(p,TC) (e.g H(p,TC) could be conditional Shannon-, min-, g-entropy)

The leakage is defined

Leakage(p,TC) = H(p)− H(p,TC)

8 / 19

Page 27: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Leakage Analysis Part: Quantitative Information FlowThe common set-up contains

a probability distribution p on the set of secrets Ia set of outputs Oan information-channel TC

TC o1 ... omi1 1

2 ... 12

... 1 ...in 0 ... 1

The initial uncertainty of the adversary is

H(p) (e.g H(p) could be Shannon-, min-, g-entropy)

and his posterior uncertainty is

H(p,TC) (e.g H(p,TC) could be conditional Shannon-, min-, g-entropy)

The leakage is defined

Leakage(p,TC) = H(p)− H(p,TC)

8 / 19

Page 28: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Leakage Analysis Part: Quantitative Information FlowThe common set-up contains

a probability distribution p on the set of secrets Ia set of outputs Oan information-channel TC

TC o1 ... omi1 1

2 ... 12

... 1 ...in 0 ... 1

The initial uncertainty of the adversary is

H(p) (e.g H(p) could be Shannon-, min-, g-entropy)

and his posterior uncertainty is

H(p,TC) (e.g H(p,TC) could be conditional Shannon-, min-, g-entropy)

The leakage is defined

Leakage(p,TC) = H(p)− H(p,TC)

8 / 19

Page 29: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Leakage Analysis Part: Quantitative Information FlowThe common set-up contains

a probability distribution p on the set of secrets Ia set of outputs Oan information-channel TC

TC o1 ... omi1 1

2 ... 12

... 1 ...in 0 ... 1

The initial uncertainty of the adversary is

H(p) (e.g H(p) could be Shannon-, min-, g-entropy)

and his posterior uncertainty is

H(p,TC) (e.g H(p,TC) could be conditional Shannon-, min-, g-entropy)

The leakage is defined

Leakage(p,TC) = H(p)− H(p,TC)

8 / 19

Page 30: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Leakage Analysis Part: Quantitative Information FlowThe common set-up contains

a probability distribution p on the set of secrets Ia set of outputs Oan information-channel TC

TC o1 ... omi1 1

2 ... 12

... 1 ...in 0 ... 1

The initial uncertainty of the adversary is

H(p) (e.g H(p) could be Shannon-, min-, g-entropy)

and his posterior uncertainty is

H(p,TC) (e.g H(p,TC) could be conditional Shannon-, min-, g-entropy)

The leakage is defined

Leakage(p,TC) = H(p)− H(p,TC)

8 / 19

Page 31: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Leakage Analysis Part: Attack Scenarios to Channels

Step 1. For each i ∈ I let Oi = {viewc(ρ) | ρ ∈ Runs(TAi)}.The set of outputs is O =

∪i Oi

Step 2. Construct the timing channel TC(AS) : I × O 7→ [0, 1], and for i ∈ I, and o ∈ O :

if S deterministic and o ∈ Oi , then set TC(AS)(i , o) = 1.if S is stochastic and o ∈ Oi , then set TC(AS)(i , o) = Pγqi◦

(view−1c (o)).

Otherwise, set TC(AS)(i , o) = 0.

Given an attack scenario AS = (S,Epub, c, k) we construct thetiming channel TC(AS):

Step 1 is the output enumeration

Step 2 is the actual construction, and for stochastic systems,it is based on the probability measure Pγ .

We showed that for an observation o ∈ O, the set view−1c (o) is

measurable with Pγ

9 / 19

Page 32: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Leakage Analysis Part: Attack Scenarios to Channels

Step 1. For each i ∈ I let Oi = {viewc(ρ) | ρ ∈ Runs(TAi)}.The set of outputs is O =

∪i Oi

Step 2. Construct the timing channel TC(AS) : I × O 7→ [0, 1], and for i ∈ I, and o ∈ O :

if S deterministic and o ∈ Oi , then set TC(AS)(i , o) = 1.if S is stochastic and o ∈ Oi , then set TC(AS)(i , o) = Pγqi◦

(view−1c (o)).

Otherwise, set TC(AS)(i , o) = 0.

Given an attack scenario AS = (S,Epub, c, k) we construct thetiming channel TC(AS):

Step 1 is the output enumerationStep 2 is the actual construction, and for stochastic systems,it is based on the probability measure Pγ .

We showed that for an observation o ∈ O, the set view−1c (o) is

measurable with Pγ

9 / 19

Page 33: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Leakage Analysis Part: Attack Scenarios to Channels

Step 1. For each i ∈ I let Oi = {viewc(ρ) | ρ ∈ Runs(TAi)}.The set of outputs is O =

∪i Oi

Step 2. Construct the timing channel TC(AS) : I × O 7→ [0, 1], and for i ∈ I, and o ∈ O :

if S deterministic and o ∈ Oi , then set TC(AS)(i , o) = 1.if S is stochastic and o ∈ Oi , then set TC(AS)(i , o) = Pγqi◦

(view−1c (o)).

Otherwise, set TC(AS)(i , o) = 0.

Given an attack scenario AS = (S,Epub, c, k) we construct thetiming channel TC(AS):

Step 1 is the output enumerationStep 2 is the actual construction, and for stochastic systems,it is based on the probability measure Pγ .

We showed that for an observation o ∈ O, the set view−1c (o) is

measurable with Pγ

9 / 19

Page 34: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques

The set-upThe victim runs a deterministic function fThe adversary performs a constant-time operation for one, ormore times after the execution of f , while it also makesqueries to its clock.

10 / 19

Page 35: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques: The One-Pad

The one-pad technique

tslow

tfast

time

tfast + tpad

tslow + tpad

Very effective on cache side-channel attacks

11 / 19

Page 36: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques: The One-Pad

The one-pad technique

tslow

tfast

timetfast + tpad

tslow + tpad

Very effective on cache side-channel attacks

11 / 19

Page 37: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques: The One-Pad

The one-pad technique

tslow

tfast

timetfast + tpad

tslow + tpad

Very effective on cache side-channel attacks

11 / 19

Page 38: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques: The Clock-Edge

The clock-edge technique (the learning phase)

time

4 · tpad

g

The advesrary learns:tpad =

g4

12 / 19

Page 39: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques: The Clock-Edge

The clock-edge technique (the learning phase)

time

4 · tpad

g

The advesrary learns:tpad =

g4

12 / 19

Page 40: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques: The Clock-Edge

The clock-edge technique (the learning phase)

time

4 · tpad

g

The advesrary learns:tpad =

g4

12 / 19

Page 41: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques: The Clock-Edge

The clock-edge technique (the learning phase)

time

4 · tpad

g

The advesrary learns:tpad =

g4

12 / 19

Page 42: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques: The Clock-Edge

The clock-edge technique (the learning phase)

time

4 · tpad

g

The advesrary learns:tpad =

g4

12 / 19

Page 43: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques: The Clock-Edge

The clock-edge technique (the learning phase)

time

4 · tpad

g

The advesrary learns:tpad =

g4

12 / 19

Page 44: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques: The Clock-Edge

The clock-edge technique (the learning phase)

time

4 · tpad

g

The advesrary learns:tpad =

g4

12 / 19

Page 45: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques: The Clock-Edge

The clock-edge technique (the attack phase)

tf

timec(tf )

tf + 3 · tpad

g

The adversary learns

c(tf ) + g = tf + 3 · tpad

⇔ tf = c(tf ) + g − 3 · tpad

13 / 19

Page 46: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques: The Clock-Edge

The clock-edge technique (the attack phase)

tf

timec(tf )

tf + 3 · tpad

g

The adversary learns

c(tf ) + g = tf + 3 · tpad

⇔ tf = c(tf ) + g − 3 · tpad

13 / 19

Page 47: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques: The Clock-Edge

The clock-edge technique (the attack phase)

tf

timec(tf )

tf + 3 · tpad

g

The adversary learns

c(tf ) + g = tf + 3 · tpad

⇔ tf = c(tf ) + g − 3 · tpad

13 / 19

Page 48: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques: The Clock-Edge

The clock-edge technique (the attack phase)

tf

timec(tf )

tf + 3 · tpad

g

The adversary learns

c(tf ) + g = tf + 3 · tpad

⇔ tf = c(tf ) + g − 3 · tpad

13 / 19

Page 49: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques: The Clock-Edge

The clock-edge technique (the attack phase)

tf

timec(tf )

tf + 3 · tpad

g

The adversary learns

c(tf ) + g = tf + 3 · tpad

⇔ tf = c(tf ) + g − 3 · tpad

13 / 19

Page 50: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques: The Clock-Edge

The clock-edge technique (the attack phase)

tf

timec(tf ) tf + 3 · tpad

g

The adversary learns

c(tf ) + g = tf + 3 · tpad

⇔ tf = c(tf ) + g − 3 · tpad

13 / 19

Page 51: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques: The Clock-Edge

The clock-edge technique (the attack phase)

tf

timec(tf ) tf + 3 · tpad

g

The adversary learns

c(tf ) + g = tf + 3 · tpad

⇔ tf = c(tf ) + g − 3 · tpad

13 / 19

Page 52: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques: The Clock-Edge

The clock-edge technique (the attack phase)

tf

timec(tf ) tf + 3 · tpad

g

The adversary learns

c(tf ) + g = tf + 3 · tpad⇔ tf = c(tf ) + g − 3 · tpad

13 / 19

Page 53: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques

Basic idea behind the timing techniques:Distinguish t1, t2, when

(c(t1), c(t1 + tpad), ..., c(t1 + m · tpad))

=

(c(t2), c(t2 + tpad), ..., c(t2 + m · tpad))

Question (1): How many times should I add my padding?

Question (2): Does the time tpad need to be fast?

14 / 19

Page 54: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques

Basic idea behind the timing techniques:Distinguish t1, t2, when

(c(t1), c(t1 + tpad), ..., c(t1 + m · tpad))

=

(c(t2), c(t2 + tpad), ..., c(t2 + m · tpad))

Question (1): How many times should I add my padding?

Question (2): Does the time tpad need to be fast?

14 / 19

Page 55: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques: The Co-Prime

We showed that:

(c(t1), c(t1 + tpad), ..., c(t1 + m · tpad))

=

(c(t2), c(t2 + tpad), ..., c(t2 + m · tpad))

iff(c(t1), c(t1 + (tpad mod g)), ..., c(t1 + (m · tpad mod g)))

=

(c(t2), c(t2 + (tpad mod g)), ..., c(t2 + (m · tpad mod g)))

Question (1): How many times should I add my padding?Answer: g times.

Question (2): Does the time tpad need to be fast?Answer: Not always. tpad needs to be co-prime with g .

15 / 19

Page 56: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques: The Co-Prime

We showed that:

(c(t1), c(t1 + tpad), ..., c(t1 + m · tpad))

=

(c(t2), c(t2 + tpad), ..., c(t2 + m · tpad))

iff(c(t1), c(t1 + (tpad mod g)), ..., c(t1 + (m · tpad mod g)))

=

(c(t2), c(t2 + (tpad mod g)), ..., c(t2 + (m · tpad mod g)))

Question (1): How many times should I add my padding?Answer: g times.

Question (2): Does the time tpad need to be fast?Answer: Not always. tpad needs to be co-prime with g .

15 / 19

Page 57: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Timing Techniques: a Hierarchy

Theorem 2

TC(AS1-pad) ⪯ TC(ASclock-edge) ⪯ TC(ASco-prime)

16 / 19

Page 58: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Limitations and Solutions to them

Scalability issues:The set of outputs O can be largethe number of observations k can be largethe stochastic case involves calculations of the form

P(...) =∫

t1∈C1

...

∫tn∈Cn

dµn(tn)...dµ1(t1)

However, there are cases where we can do better:In deterministic systems we have that min-leakage = log|O|.Any over-approximation O# ⊇ O gives us a direct upperbound on the information leakage i.e log|O| ≤ log|O#|In stochastic systems with independent observations,calculating the channel for a single observation can be used togive us bounds on the information leakage for k observations.

17 / 19

Page 59: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Limitations and Solutions to them

Scalability issues:The set of outputs O can be largethe number of observations k can be largethe stochastic case involves calculations of the form

P(...) =∫

t1∈C1

...

∫tn∈Cn

dµn(tn)...dµ1(t1)

However, there are cases where we can do better:In deterministic systems we have that min-leakage = log|O|.Any over-approximation O# ⊇ O gives us a direct upperbound on the information leakage i.e log|O| ≤ log|O#|In stochastic systems with independent observations,calculating the channel for a single observation can be used togive us bounds on the information leakage for k observations.

17 / 19

Page 60: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Conclusions

We performed the first principled information-flow analysis oftiming leaks w.r.t. adversaries with clocks of reduced resolution.Our analysis relies on a novel translation of timed automata toinformation-theoretic channels, which we used to derive thefollowing:

A coarse-grained clock might leak more information than afine-grained one.A sufficient condition for when increasing the grain we achievebetter security.A new timing technique.The timing techniques form a strict hierarchy in terms ofinformation leakage.

18 / 19

Page 61: Timing Leaks and Coarse-Grained ClocksTiming-Channel Attacks Victim t1 observation t2 i1 secret i2 Adversary time Common countermeasures that refine the victim’s system: constant-time

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Questions?

19 / 19