Remote IP Protection Using Timing Channels Ariano-Tim Donda 1 , 2 - - PowerPoint PPT Presentation

remote ip protection using timing channels
SMART_READER_LITE
LIVE PREVIEW

Remote IP Protection Using Timing Channels Ariano-Tim Donda 1 , 2 - - PowerPoint PPT Presentation

Remote IP Protection Using Timing Channels Ariano-Tim Donda 1 , 2 Peter Samarin 1 , 2 Jacek Samotyja 1 Kerstin Lemke-Rust 1 Christof Paar 2 1 Bonn-Rhein-Sieg University of Applied Sciences, Germany 2 Ruhr University Bochum, Germany December 4, 2014


slide-1
SLIDE 1

Remote IP Protection Using Timing Channels

Ariano-Tim Donda1,2 Peter Samarin1,2 Jacek Samotyja1 Kerstin Lemke-Rust1 Christof Paar2

1Bonn-Rhein-Sieg University of Applied Sciences, Germany 2Ruhr University Bochum, Germany

December 4, 2014

ICISC 2014 Remote IP Protection Using Timing Channels 1 / 18

slide-2
SLIDE 2

Motivation: IP Protection Using Watermarks

?

µC / FPGA Suspicious device

“Trial” binary/bitstream is used in production Given a system: is it my software/bitstream?

  • > Insert a watermark into the IP

Challenge: bitstream and binary are encrypted

ICISC 2014 Remote IP Protection Using Timing Channels 2 / 18

slide-3
SLIDE 3

Motivation: Embedding Watermarks in Side Channels

regular input regular

  • utput

unintentional µC / FPGA side channel leakage

1 21 31

Sequence generating circuit Leakage circuit

1 1 1 1 1 1 1 1 1 1 1 1

power, EM, timing (Becker et al. 2010)

intentional

Problems:

special equipment necessary measurements must be done in proximity to the device

ICISC 2014 Remote IP Protection Using Timing Channels 3 / 18

slide-4
SLIDE 4

This Work: Watermarks in the Timing Channel

1 Definition of the timing channel 2 Embedding watermarks in the timing channel 3 Case study: FPGA implementation 4 Measurements: remote and near-field

ICISC 2014 Remote IP Protection Using Timing Channels 4 / 18

slide-5
SLIDE 5

Definition: The Timing Channel

Timing attacks on AES (Bernstein, 2005) Sender (using binary method)

Using the regular data channel: Delays the output by some short time when sending a 1 No delay when sending a 0

Receiver (using binary method)

Using the regular data channel: Observes time differences between input and output: ∆t Compute ∆t by observing many ∆t-s Decode to 1 if ∆t ≥ ∆t Decode to 0 if ∆t < ∆t

Assumptions

Known or observable input Observable output

ICISC 2014 Remote IP Protection Using Timing Channels 5 / 18

slide-6
SLIDE 6

The Timing Channel: An Example

t Send binary sequence: "0110" Δt Δt Δt + δt Δt + δt ts te ts tets tets te binary method sliding window method t Δt Δt Δt + δ t+ δt ts te ts te ts te '0' '1' '1' '0' '0' "11" '0'

Timing channel can be used as a black box to send any kind of data

ICISC 2014 Remote IP Protection Using Timing Channels 6 / 18

slide-7
SLIDE 7

Watermarks

Authorship watermarks

Is used to identify the owner of IP Always visible Codeword scheme Challenge response scheme

Fingerprint watermarks (Easter egg watermarks)

Hidden most of the time Becomes visible when the owner enters the right passphrase Challenge response scheme

ICISC 2014 Remote IP Protection Using Timing Channels 7 / 18

slide-8
SLIDE 8

Authorship Watermarks: Codeword Scheme

Verifier V Function f Codeword cCW = (cn−1, ..., c0)2 Codeword cCW = (cn−1, ..., c0)2 i = 0; suc = 0; i = 0; Trigger f and start timer: ts − − − − − − − − − − − − → ... l = sndTC(c,i); i = (i + l) mod n; ... Stop timer: te ← − − − − − − − − − − − − ∆t = te − ts; w′ = (b′, l′) = rcvTC(∆t); If (cmp(c, i, w′) = true) suc = suc + 1; i = (i + l) mod n;

ICISC 2014 Remote IP Protection Using Timing Channels 8 / 18

slide-9
SLIDE 9

Authorship Watermarks: Challenge Response Scheme

Verifier V Function f Secret key k Secret key k Generate random input c Trigger f and Start timer: ts − c − − − − − − − − − − → ... t = Ek(c) l = sndTC(t,0); ... Stop timer: te ← − − − − − − − − − − − ∆t = te − ts w′ = (b′, l′) = rcvTC(∆t); t′ = Ek(c) If (cmp(t′, 0, w′) = true) suc = suc + 1;

ICISC 2014 Remote IP Protection Using Timing Channels 9 / 18

slide-10
SLIDE 10

Fingerprint Watermarks: Challenge Response Scheme

Verifier V Function f Secret Key List [k] Secret Key k Generate random input c Trigger f − c − − − − − − − − − − − − − → ... Generate random output r t = Ek(r) ... ← − r − − − − − − − − − − − − − Choose k′ ∈ [k] c = Ek′ (r) Trigger f and Start timer: ts − c − − − − − − − − − − − − − → ... If (c = t) sndTC(1,0); Generate random output r t = Ek(r) ... Stop timer: te ← − r − − − − − − − − − − − − − ∆t = te − ts w′ = (b′, l′) = rcvTC(∆t); If (b′ = 1) Return(k′); ICISC 2014 Remote IP Protection Using Timing Channels 10 / 18

slide-11
SLIDE 11

Proof of Concept: CV Application on an FPGA

> Camera (100 fps) FIFO threshold Ethernet controller UDP packets to a fixed IP address FPGA PC Image reconstruction Packet capture (using pcap library) threshold = 127

ICISC 2014 Remote IP Protection Using Timing Channels 11 / 18

slide-12
SLIDE 12

Proof of Concept: Embedding the Codeword Scheme

> Camera (100 fps) FIFO threshold UDP packets to a fixed IP address FPGA PC Image reconstruction Packet capture (using pcap library) codeword (shift register) TC data reception Ethernet controller delay circuit (counter)

Codeword initialized a circular shift register Delays are introduced right before finalizing packets PC: packet time stamp inspection to compute ∆t between two consecutive timestamps

ICISC 2014 Remote IP Protection Using Timing Channels 12 / 18

slide-13
SLIDE 13

Proof of Concept: Embedding the Challenge Response Scheme

> Camera (100 fps) FIFO threshold UDP packets to a fixed IP address FPGA PC Image reconstruction Packet capture (using pcap library) Trivium TC data reception Ethernet controller delay circuit (counter) seed

Challenge response scheme using Trivium with a fixed key Use binarized image as a seed value for Trivium PC: Compute Trivium stream cipher seeded by received thresholded image

ICISC 2014 Remote IP Protection Using Timing Channels 13 / 18

slide-14
SLIDE 14

Experiments: Remote Measurement

FPGA and PC seperated by two routers and three switches in the department network of BRSU Compare received data with ground truth

Timing delays (µs) Error rate 0.5047 20 0.3440 40 0.2682 60 0.2521 80 0.0936 100 0.0953 120 0.0583

Advantages

low cost—no extra equipment necessary can be done remotely

ICISC 2014 Remote IP Protection Using Timing Channels 14 / 18

slide-15
SLIDE 15

Experiments: Measuring in Proximity

ICISC 2014 Remote IP Protection Using Timing Channels 15 / 18

slide-16
SLIDE 16

Experiments: Measuring in Proximity (contd.)

  • 20

20 40 mV

  • 20

20 40 50 100 150 200 250 300 mV ns

Near-field experiments

Direct Ethernet cable measurement EM measurement of Ethernet controller EM measurement at the FPGA Power traces

Delays of two clock cycles are visible Can recover the whole watermark without noise

ICISC 2014 Remote IP Protection Using Timing Channels 16 / 18

slide-17
SLIDE 17

Possible Attacks

Reverse engineering the binary/bitstream

no tools publicly available for RE of FPGA bitstreams if tools are available (SW), a complete RE to remove all timing dependencies is hard work better to write from scratch!

Wrapper attack

timing-normalizing wrapper to equalize all ∆t countered by sending several bits at a time (the sliding window approach) increasing the delay decreases the operability of the wrapper EM measurements still can reveal what the code does

ICISC 2014 Remote IP Protection Using Timing Channels 17 / 18

slide-18
SLIDE 18

Summary

Timing channel definition Watermarks in the timing channel Proof-of-concept implementation on an FPGA Advantages

remote verification low-cost solution

Future work

Robust µC implementation Fingerprint watermark implementation Less obvious timing channel

Use only every 10th I/O pair (for example)

Verification over the Internet

ICISC 2014 Remote IP Protection Using Timing Channels 18 / 18