Second year review WP3 overview HW/SW-based methods Trento - - PowerPoint PPT Presentation

second year review wp3 overview hw sw based methods
SMART_READER_LITE
LIVE PREVIEW

Second year review WP3 overview HW/SW-based methods Trento - - PowerPoint PPT Presentation

Second year review WP3 overview HW/SW-based methods Trento October 17th, 2008 Goal Investigate the combination of hardware- and software based software protection techniques in order to implement the remote entrusting principle 2


slide-1
SLIDE 1

Second year review WP3 overview HW/SW-based methods

Trento – October 17th, 2008

slide-2
SLIDE 2

2

Goal

Investigate the combination of hardware- and software based software protection techniques in order to implement the remote entrusting principle

slide-3
SLIDE 3

3

Participants

  • KUL (WP leader)
  • Team:

Team:

  • Bart PRENEEL

Bart PRENEEL

  • Jan CAPPAERT

Jan CAPPAERT

  • Sebastian FAUST

Sebastian FAUST

  • Thomas HERLEA

Thomas HERLEA

  • Dries SCHELLEKENS

Dries SCHELLEKENS

  • Brecht WYSEUR

Brecht WYSEUR

slide-4
SLIDE 4

4

Participants

  • KUL (WP leader)
  • Gemalto
  • Team:

Team:

  • Jean-Daniel AUSSEL

Jean-Daniel AUSSEL

  • Jerome D’ANNOVILLE

Jerome D’ANNOVILLE

  • Christian Cudonnec

Christian Cudonnec

slide-5
SLIDE 5

5

Participants

  • KUL (WP leader)
  • Gemalto
  • UNITN
  • Team:

Team:

  • Paolo TONELLA

Paolo TONELLA

  • Mariano CECCATO

Mariano CECCATO

  • Jasvir NAGRA

Jasvir NAGRA

  • Milla DALLA PREDA

Milla DALLA PREDA

  • Amitabh SAXENA

Amitabh SAXENA

slide-6
SLIDE 6

6

Participants

  • KUL (WP leader)
  • Gemalto
  • UNITN
  • POLITO
  • Team:

Team:

  • Stefano DI CARLO

Stefano DI CARLO

  • Alberto SCIONTI

Alberto SCIONTI

slide-7
SLIDE 7

7

Participants

  • KUL (WP leader)
  • Gemalto
  • UNITN
  • POLITO
  • SPIIRAS
  • Team:

Team:

  • Igor KOTENKO

Igor KOTENKO

  • Vasily DESNITSKY

Vasily DESNITSKY

slide-8
SLIDE 8

8

T asks

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.2

slide-9
SLIDE 9

9

M11 M12 M13 M14 M15 M16 M17 M18 M19 M20 M21 M22 M23 M24 M25 M26

T3.1 T3.1

T ask 3.2

T3.3 T3.3 T3.4 T3.4 T3.2 T3.2 T3.5 T3.5

slide-10
SLIDE 10

10

Hardware/Software Co-Obfuscation

Use of light-weight hardware to ensure software confidentiality and software integrity

  • TPM, Smart card, …

Developments

  • TPM assisted remote software entrusting (KUL)
  • FPGA-based remote entrusting (POLITO)
  • HW Barrier Slicing (UNITN)

T3.2 T3.2

slide-11
SLIDE 11

11

T3.2 Hardware/Software Co-Obfuscation

TPM Assisted Remote Software Entrusting (KUL)

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 measurem ent root of trust in integrity reporting measuri ng reporting storing values logging methods Memory trusted component

slide-12
SLIDE 12

12

T3.2 Hardware/Software Co-Obfuscation

TPM Assisted Remote Software Entrusting (KUL)

Disadvantages of timing based attestation techniques

  • Constraints on verification function implementation
  • predictable execution time (interrupts, supervisor

mode)

  • time-optimal
  • Known hardware configuration

hardware → replacement attack

  • Network delays need to be incorporated

proxy → attacks Minimal trade-off: assist software attestation with TPM features.

T3.2 T3.2

slide-13
SLIDE 13

13

T3.2 Hardware/Software Co-Obfuscation

TPM Assisted Remote Software Entrusting (KUL)

Enhanced solution: TPM tick stamping

T3.2 T3.2

n

Untrusted Untrusted platform 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

slide-14
SLIDE 14

14

T3.2 Hardware/Software Co-Obfuscation

TPM Assisted Remote Software Entrusting (KUL)

Extensions: assistance for trusted OS loader

  • Include HW specifications (CPUID) in Tag
  • Simulate verification function at boot-time

Publication

  • Dries Schellekens, and Brecht Wyseur, and Bart Preneel, “Remote

Attestation on Legacy Operating Systems with Trusted Platform Modules”, In 1st International Workshop on Run Time Enforcement for Mobile and Distributed Systems (REM 2007)

  • Dries Schellekens, and Brecht Wyseur, and Bart Preneel, “Remote

Attestation on Legacy Operating Systems with Trusted Platform Modules”, Special Issue on Science of Computer Programming, 2008

T3.2 T3.2

slide-15
SLIDE 15

15

T3.2 Hardware/Software Co-Obfuscation

FPGA-based remote entrusting

(POLITO)

  • CLIENT

APPLICATION uses available services exported by the DRIVER

  • DRIVER manages

communication between the application server and the authentication hardware

  • AUTHENTICATION

MONITOR manages the application code hashing and encrypting operations T3.2 T3.2

System Architecture

slide-16
SLIDE 16

16

T3.2 Hardware/Software Co-Obfuscation

FPGA-based remote entrusting

(POLITO) 1.

At startup of the client application, a session key is established, using a key agreement protocol between the application server and the client machine. Optionally, the session key can be updated during the execution of the program.

2.

The session key is used to computed a signature of the client application.

3.

The server periodically sends to the hardware monitor an Authentication Request, and waits for the computed signature

4.

The client receives the requests (on a socket interface implemented in the driver module) and forwards it to the hardware monitor

5.

The hardware monitor computes the hash of the memory pages’ content related to the client application (code segment) directly accessing the computer’s memory and without relying on any system call. The only used information is the name of the target application used to determine the position of the application in memory

6.

The hardware module computes the signature for the considered memory pages using the session key, and sends it to the server via the driver’s socket

7.

The server compares the two signatures and determines whether it can already deliver the service to the client or not

T3.2 T3.2

slide-17
SLIDE 17

17

T3.2 Hardware/Software Co-Obfuscation

FPGA-based remote entrusting

(POLITO)

T3.2 T3.2

Client

FPGA

Application Server

mem

session key agreement request signsk(mem) service hash

slide-18
SLIDE 18

18

T3.2 Hardware/Software Co-Obfuscation

Distributed Architecture

(UNITN)

T3.2 T3.2

Un-trusted host

Trusted host

Program P

Card Reader Virtual secure channel

Networ k

slide-19
SLIDE 19

19

T3.2 Hardware/Software Co-Obfuscation

Program Transformation

(UNITN)

T3.2 T3.2

Smart card Un-trusted host:

  • X ∈ s|unsafe
  • X uses are removed from the program
  • They are replaced by a query to get the

actual value from the card

  • X defs are replaced by synchronization

statements Smart card:

  • The barrier-slice is run
  • The slice is fed with any input coming

from the host

  • Validity of the host is evaluated
  • X values are provided as required
  • Synchronization with the host

Un-trusted host

slide-20
SLIDE 20

20

T3.2 Hardware/Software Co-Obfuscation

Empirical results

(UNITN)

T3.2 T3.2

Memory Network Threads

Original client Barrier slice 858 120 14%

slide-21
SLIDE 21

21

T3.2 Hardware/Software Co-Obfuscation

Empirical results

(UNITN)

  • Barrier slicing is used to separate the security sensitive

part of the application

  • Both centralized and distributed architectures are able to

verify the client healthy execution

  • The distributed architecture has better scalability

15% memory 25% threads 8% network

  • The slice is small and can fit in a smart card

(14% of the application)

Mariano Ceccato, Jasvir Nagra, Paolo Tonella, “Distributed Trust Verification to Increase Application Performance”, In 16th Euromicro Conference on Parallel, Distributed and Network-Based Processing, 2008

T3.2 T3.2

slide-22
SLIDE 22

22

M11 M12 M13 M14 M15 M16 M17 M18 M19 M20 M21 M22 M23 M24 M25 M26

T3.1 T3.1

Task 3.3

T3.3 T3.3 T3.4 T3.4 T3.2 T3.2 T3.5 T3.5

slide-23
SLIDE 23

23

T3.3 – Encrypted Code

Execution (KUL - GEMALTO)

Computing with Encrypted Data

  • State of the art study (Goldwasser-

micali, Paillier cryptosystems, Boneh)

  • B. Wyseur, M. Deng, and T. Herlea, “A Survey of Homomorphic

Encryption Schemes”, COSIC internal report, 15 pages, 2007  Deliverable 3.3 (M30)

  • Relation with White-Box Remote

Program Execution (T2.4) Smart Dongle

T3.3 T3.3

slide-24
SLIDE 24

24

T3.3 Encrypted code execution

Secure with hardware

(GEMALTO)

  • Scope

Study the opportunity to use a new hardware as a candidate platform for the project/task

  • Platform:

USB Dongle: Smartcard + flash memory

  • Purpose:
  • Use the platform in the context of the

T3.3

  • Host the monitor locally in the USB

Dongle

T3.3 T3.3

slide-25
SLIDE 25

25

T3.3 Encrypted code execution Secure with hardware

(GEMALTO)

  • Evolution of the USB Dongle: no

more hub

T3.3 T3.3

USB Connector Controller Flash Memory SIM card

slide-26
SLIDE 26

26

T3.3 Encrypted code execution Secure with hardware

(GEMALTO)

  • USB Dongle:

Smart Card + Flash memory

T3.3 T3.3

CTRL

ISO 7816

UICC

CDROM Private Partition

Smart Card Controlle r Flash Memory

slide-27
SLIDE 27

27

T3.3 Encrypted code execution Secure with hardware

(GEMALTO)

  • USB Dongle main features:
  • No installation, Zero footprint
  • Smartcard
  • Levels of trust
  • CD-ROM partition: no persistent

tampering

  • Secure channel
  • Thumbprint mechanism to secure the

application

T3.3 T3.3

slide-28
SLIDE 28

28

Untrusted computer

T3.3 T3.3

Service: Data Access Cryptography Property Analyzer Smartcard Application maintenance

Trusted Application

Keys Memory Thumbprints Monitor Server Log service Report, update propertie s Provide

  • r

shutdown service Releases Mgt

slide-29
SLIDE 29

29

Untrusted Computer Smart Card

Trusted Application Monitor Properties Analyzer Report Properties Update Properties

Keys Memory thumbprints

Provide or shutdown service Service: Data Access Cryptography

T3.3 Encrypted code execution Secure with hardware

(GEMALTO)

T3.3 T3.3

  • Smart card entrusting of terminal

applications

slide-30
SLIDE 30

30

T3.3 Encrypted code execution Secure with hardware

(GEMALTO)

T3.3 T3.3

  • Limitations
  • Attacker may switch code segment pointer to fool

the thumbprint mechanism

  • No ideal white box-cryptography: Master keys

could theoretically always be retrieved

  • Session keys are stored in RAM during processing
slide-31
SLIDE 31

31

M11 M12 M13 M14 M15 M16 M17 M18 M19 M20 M21 M22 M23 M24 M25 M26

T3.1 T3.1

Tasks 3.4

T3.3 T3.3 T3.4 T3.4 T3.2 T3.2 T3.5 T3.5

slide-32
SLIDE 32

32

Observable Cryptography (KUL)

  • Traditional Provable Security
  • Cryptographic primitives behave as black-boxes
  • Gap with real world: physical devices leak

information (side-channel attacks)

T3.4 T3.4

A Ek

qi ri

leakage

slide-33
SLIDE 33

33

T3.4 Observable Cryptography

Micali / Reyzin Model

Promising model Based on reduction proofs

  • Micali / Reyzin studied basic theoretic constructions
  • PO OWF  Unpredictable Generator
  • Disadvantage: inefficient constructions, not used in practice

Our work

  • Analysis of constructions that are used in practice (and that have

security proofs)

  • Develop security notion
  • Think which assumptions we need to achieve these security

notions

  • Prove (within model)

T3.4 T3.4

slide-34
SLIDE 34

34

T3.4 Observable Cryptography

Micali / Reyzin Model

Scheme Assumption RSA-CPA (which is IND-CPA) RSA one-way assumption RSA-OAEP (which is IND-CCA) Unforgeability assumption RSA-FDH Strong unforgeability assumption

T3.4 T3.4

Smart Card Secure basic primitive Real-world model

Study of practical constructions

slide-35
SLIDE 35

35

T3.4 Observable Cryptography

Micali / Reyzin Model

Good news

  • We have proved the security of these

constructions in the PO model Bad news

  • For each step, extra assumptions need

to be introduced

  • Assumptions are tailored for particular

problem and do not reflect practice

  • We want something like one primitive

that allows to build lots of constructions Further work

  • Change model
  • Develop new schemes (though not

likely; will face similar problems)

T3.4 T3.4

OWF Sig PRNG PRF BC

slide-36
SLIDE 36

36

T3.4 Observable Cryptography

Ishai Model (Private Circuits I)

Model

  • Boolean circuit implementation
  • Adversary can adaptively probe t wires
  • t-security – whatever A can do, can be done without side-channel

information  no additional information obtained Provably Secure Implementations presented

  • Based on secret sharing
  • Result: circuit with O(nt2) gates (n is original number of gates)

 Details on Micali / Reyzin and Ishai model research will be delivered in extensive report in Y3.

T3.4 T3.4

Conclusion: probing model is unrealistic. In practice, a more serious threat is power analysis, where the adversary

  • btains the joint power consumption of several wires for
  • ne measurement and thus a single measurement can

depend on all shares ==> no provable security can be achieved

slide-37
SLIDE 37

37

M11 M12 M13 M14 M15 M16 M17 M18 M19 M20 M21 M22 M23 M24 M25 M26

T3.1 T3.1

Task 3.5

T3.3 T3.3 T3.4 T3.4 T3.2 T3.2 T3.5 T3.5

slide-38
SLIDE 38

38

T3.5 – report on combination of different approaches

Scalability and performance (SPIIRAS)

  • Generally, the task investigates the possibilities to combine

the different techniques developed and analyzed in WP2 and WP3 to one overall approach.

  • According to the plan this task is on its initial phase

T3.5 T3.5

slide-39
SLIDE 39

39

T3.5 – scalability and performance

(SPIIRAS)

  • Two crucial objectives facilitating remote

entrusting principle:

  • Specific security level
  • Overall system performance and

scalability

  • The aim is to combine these two
  • bjectives to obtain some specific

tradeoff on real applications

T3.5 T3.5

slide-40
SLIDE 40

40

T3.5 – scalability and performance

(SPIIRAS)

  • System designer should have a chance

to choose a bundle of TR (Tamper Resistance) techniques representing the “security/performance” tradeoff for the concrete application

T3.5 T3.5

Application SW, SW/HW based TR techniques and methods Application characteristic Hardware in use Techniques characteristic

System designer take into account take into account

slide-41
SLIDE 41

41

T3.5 – scalability and performance

(SPIIRAS)

  • Specific security level
  • achieved by combination of SW and

SW/HW based TR techniques and dynamic replacement principle

  • Overall performance consists of
  • client program performance
  • Trusted Server performance (may

interacts with a great deal of clients)

  • Medium network performance

T3.5 T3.5

slide-42
SLIDE 42

42

T3.5 – scalability and performance

(SPIIRAS)

  • Activities influencing upon the overall

performance to the utmost:

  • TR techniques demanding complex

computations (both on client and server). E.g.: barrier slicing, data encoding/decoding, etc.

  • network connection bandwidth. E.g.:

barrier slicing could require a lot of data passes, and so great network resources

  • HW devices work, which could slow

down the client performance. E.g. smartcards, etc.

T3.5 T3.5

slide-43
SLIDE 43

43

T3.5 – scalability and performance

(SPIIRAS)

T3.5 T3.5

Original Re-Trust objective:

determines

security replacement (Replacement period is determined from the security quality)

For T3.5 we suggest two objectives:

determine

security replacement & (To determine minimal necessary Hardware capable

  • f meeting the given security and replacement qualities)

Hardware (Having some specific Hardware to determine the security level which could be reasonable to provide)

determines

security replacement & Hardware

(*) (**) (***)

slide-44
SLIDE 44

44

T3.5 – scalability and performance

Performance and Network

(SPIIRAS)

  • For the (**) and (***) records from the previous slide
  • An important dependency connected with

the performance:

  • If the amount of the TR techniques in

use and theirs robustness increase then the value of acceptable replacement period also increases.

  • So, it means that security and replacement

can increase, however the network hardware could remain the same

T3.5 T3.5

slide-45
SLIDE 45

45

T3.5 – scalability and performance

Perforamance and Trusted Server (SPIIRAS)

  • Actually it is one of the most important issue

for RE-TRUST mechanism to be applied in practice

  • So, for the case when a huge number of

unique clients are connected with the same server the system designer should choose TR techniques free of any serious server based computations only

  • An individual case is the one where the server

certainly has constrained amount of clients (e.g.: application working within the limits of an enterprise network)

T3.5 T3.5

slide-46
SLIDE 46

46

T3.5

Scalability and performance

The task investigates the possibilities to combine the different TR techniques developed and analyzed in WP2 and WP3 to one

  • verall approach.
  • Two objectives:
  • Specific security level achievement
  • Overall system performance and scalability
  • System designer should have a chance to choose a bundle of TR

techniques representing the “security/performance” tradeoff for the concrete real application

Application SW, SW/HW based TR techniques and methods Application characteristic HW / OS in use Techniques characteristic

System designer take into account take into account

T3.5 T3.5

slide-47
SLIDE 47

47

T3.5

Scalability and performance

Specific security level

  • achieved by combination of SW and SW/HW based TR techniques and dynamic replacement principle

Overall performance consists of

  • Client program performance
  • Trusted Server performance
  • Medium network performance

Activities influencing upon the overall performance to the utmost:

  • TR techniques demanding complex computations (both on client and server). E.g.: barrier slicing, data

encoding/decoding, etc.

  • network connection bandwidth. E.g.: barrier slicing could require a lot of data passes, and so great

network resources

  • HW devices work, which could slow down the client performance. E.g. smartcards, etc.

determine

security replacement

&

To determine minimal necessary HW/OS capable of meeting The given security and replacement qualities

HW/OS

Having some specific HW/OS to determine the security level which could be reasonable to provide

determine

security replacement

&

HW/OS Two objectives:

T3.5 T3.5

slide-48
SLIDE 48

48

Future activities

  • Implementation of techniques on the Trusted

Platform (smart card, and FPGA) (T3.2)

  • Development Smart Dongle and Techniques for

Computing with Encrypted Data (T3.3)

  • Improved model for Physically Observable

Cryptography (T3.4)

  • Analysis of the different approaches and

possibilities of their combination (T3.5)

WP3 WP3