First year review WP3 overview
Trento - September 24th, 2007
First year review WP3 overview Trento - September 24th, 2007 Goal - - PowerPoint PPT Presentation
First year review WP3 overview Trento - September 24th, 2007 Goal Investigate the combination of hardware- and software based software protection techniques in order to implement the remote entrusting principle Participants Team:
Trento - September 24th, 2007
Team:
Bart PRENEEL
Jan CAPPAERT
Sebastian FAUST
Thomas HERLEA
Dries SCHELLEKENS
Brecht WYSEUR
Team:
Jean-
Daniel AUSSEL
Jerome D’ ’ANNOVILLE ANNOVILLE
Team:
Paolo TONELLA
Mariano CECCATO
Jasvir NAGRA
Milla DALLA PREDA DALLA PREDA
Amitabh SAXENA
Team:
Stefano DI CARLO
Alberto SCIONTI
Team:
Igor KOTENKO
Vasily DESNITSKY DESNITSKY
M0 M3 M6 M9 M12 M15 M18 M21 M24 M27 M30 M33 M36
T3.1 T3.1 T3.2 T3.2 T3.3 T3.3 T3.4 T3.4 T3.5 T3.5
D3.1
M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M14 M15 M16 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M14 M15 M16
... ...
T3.2 T3.2 T3.3 T3.3 T3.4 T3.4 T3.1 T3.1
T3.1 T3.1
Trusted hardware (H)
Untrusted platform (U)
HW HW OS OS P P
M
Trusted platform (T)
TAG seq. TAG seq. TAG seq. TAG seq. M
i t
r e p l a c e m e n t M
i t
r e p l a c e m e n t Monitor replacement Monitor replacement
T3.1 T3.1
P’
M’
TV’ MF’
TAG TAG Validation Validation Monitor Monitor Factory Factory
M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M14 M15 M16 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M14 M15 M16
T3.1 T3.1
... ...
T3.2 T3.2 T3.3 T3.3 T3.4 T3.4
Use of light-weight hardware to ensure software confidentiality and software integrity
Advantages
T3.2 T3.2
Software confidentiality
Data confidentiality
Software integrity
T3.2 T3.2
Confidentiality Integrity
T3.2 Hardware/Software Co-Obfuscation
Trusted computing approach: remote attestation
T3.2 T3.2
CRTM BIOS OS loader OS Application Option ROMs TPM Hardware Network New OS Component root of trust in integrity measurement root of trust in integrity reporting measuring reporting storing values logging methods Memory trusted component
T3.2 Hardware/Software Co-Obfuscation
Existing techniques for remote software entrusting:
T3.2 T3.2
n c h
Untrusted platform Untrusted platform Trusted platform Trusted platform P P M M
t2 – t1 <
P P M M
c := cksum(n,M) h := hash(c,P) c := cksum(n,M) h := hash(c,P)
T3.2 Hardware/Software Co-Obfuscation
Disadvantages of timing based attestation techniques
mode)
replacement attack
attacks Minimal trade-off: assist software attestation with TPM features.
T3.2 T3.2
T3.2 Hardware/Software Co-Obfuscation
T3.2 T3.2
n
Untrusted platform Untrusted platform Trusted platform Trusted platform P P M M
t2 – t1 < texpected
P P M M
c := cksum(TS1,M) h := hash(TS2,P) c := cksum(TS1,M) h := hash(TS2,P) h TS1 := SignTPM(n||t1) TS2 := SignTPM(c||t2) TS1 TS2
TPM TPM
T3.2 Hardware/Software Co-Obfuscation
Extensions: assistance for trusted OS loader
Publication
Attestation on Legacy Operating Systems with Trusted Platform Modules” – accepted for REM’07
T3.2 T3.2
T3.2 Hardware/Software Co-Obfuscation
Extension of software-based solution Software-based invariants monitoring (WP2):
true at a particular program execution point
attacks to the state of a program P by continuously checking dynamically inferred invariants
T3.2 T3.2
T3.2 Hardware/Software Co-Obfuscation
Assist invariants monitoring with a Smart card
more, and filter in the Smartcard) Delegate parts of invariants verification to the Trusted Hardware
algorithm
system
T3.2 T3.2
T3.2 Hardware/Software Co-Obfuscation
(UNITN - GEM)
Barrier Slicing (WP2):
T3.2 T3.2
T3.2 Hardware/Software Co-Obfuscation
(UNITN - GEM)
T3.2 T3.2
Un-trusted host Trusted host Program P
Virtual secure channel
T3.2 Hardware/Software Co-Obfuscation
(GEM)
T3.2 T3.2
T3.2 Hardware/Software Co-Obfuscation
(UNITN - GEM)
Improvements
the secure and un-secure variables;
to gather improved measurements
T3.2 T3.2
M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M14 M15 M16 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M14 M15 M16
T3.1 T3.1
... ...
T3.2 T3.2 T3.3 T3.3 T3.4 T3.4
Goal “Go beyond obfuscation, to provably secure code execution” Model “An attacker can monitor all memory accesses”
T3.3 T3.3
Untrusted Platform Trusted Platform Trusted Hardware
T3.3 Encrypted Code Execution
T3.3 T3.3
F(x1,x2,...,xn) ?
E(x1),E(x2),...,E(xn) G(E(x1),E(x2),...,E(xn))
E(xi)
Untrusted Platform Trusted Platform Trusted Hardware
T3.3 Encrypted Code Execution
T3.3 T3.3
F(x1,x2,...,xn) ?
x1,x2,...,xn E(F)(x1,x2,...,xn)
E(F)
E(F)
T3.3 – Encrypted Code Execution
T3.3 T3.3
Cache Memory CPU
M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M14 M15 M16 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M14 M15 M16
T3.1 T3.1
... ...
T3.2 T3.2 T3.3 T3.3 T3.4 T3.4
(KUL)
T3.4 T3.4
T3.4 Observable Cryptography
Traditional provable security
Gap to real-world implementations
the model
partial view on the inner workings of implementations
T3.4 T3.4
T3.4 Observable Cryptography
Approach in provable security
Proof by contradiction
T3.4 T3.4
A’
C M
A’
C M
N p,q
T3.4 Observable Cryptography
Can we guarantee secrecy if an adversary can access a bounded number of wires in a circuit? Model:
no additional information is obtained Results
O(nt2) gates.
(but big constants)
T3.4 T3.4
T3.4 Observable Cryptography
Micali/Reyzin, TCC 2004: Can we build from PO OWF, a PO PRNG, signature scheme, etc. that is secure against all observing adversaries?
Chari et al., Crypto 1999: How many power samples are needed such that the adversary can distinguish a correct key guess from a false one with non-negligible probability?
has to distinguish two state distributions (to reduce the key space)
each bit of computation is split into k independent shares. The success probability of A decreases exponentially in k
T3.4 T3.4
hardware/software co-obfuscation, and improvements of software-only techniques enhanced with light-weight hardware (T3.2)
Platform (Smart card) (T3.2)
Execution Techniques (T3.3)
the development of models for RE-TRUST (T3.4)
WP3 WP3