25
1 February 2006 Secure Execution Environment Secure Vehicle Communication Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM Project Co-ordinator TRIALOG

Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

  • View
    225

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

Secure Vehicle Communication

Secure Execution Environmentfor V2V and V2I Communication

Antonio KungSEVECOM Project Co-ordinator

TRIALOG

Page 2: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

Presentation Content

Trust as a business requirement for execution platforms

Result from the GST project

Security Module Approach Result from the GST project (contribution from KU

Leuven)

Partitioning Approach Result from the MILS Project

Page 3: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

Color Notation for Trust

Application Data Communication Tunnelfor Secure Data

Application Data Communication Tunnelfor Confidential Data

Application Data Communication Tunnelfor Authenticated Data

Application Data Communication Tunnelfor Insecure Data

Page 4: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

Trust in an Execution Environment

Node

Trustedpart

A node is structured into a « trusted part » and a « non trusted part »

Very classical in an OS with privileged mode management

But Security is transversal

User

System

Page 5: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

Case 1 of E2E Security

A and B communicate via C C does not have access to application

data If C is malicious it can deny transmission

IntermediateNode

C

BA

Store andForward

Page 6: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

IntermediateNode

C

Case 2 or E2E Security

A communicates with C, C communicates with B C has access to application data

it is a trusted node

Crypto mechanisms can be different in A-C and in C-B

BA

Page 7: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

IntermediateNode

C

Case 3 of E2E Security

A communicates with C, C communicates with B Only a trusted part of C has access to application data, called

security module

Crypto mechanisms can be different in A-C and in C-B segments

Security

Module

BA

Page 8: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

Endpoints Might also be Secure

IntermediateNode

C

Security

Module

BA

IntermediateNode

C

BA

Page 9: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

B

Security

Module

A

Security

Module

B

Security

Module

Endpoints Must also be Secure

IntermediateNode

C

Security

Module

IntermediateNode

C

A

Page 10: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

Including Input-Outputs

C

Security

Module

User Token

Security

Module

B

Security

Module

USER

Page 11: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

C

Peer-to-peer Security == Circle of Trust?

B

A

Page 12: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

Secure Execution Environmentfor V2V and V2I Communication

Vehicle TCU trusted part? TCU includes a trusted part

e.g. non trusted part is PC centric part of TCU, trusted part is CALM implementation part of TCU

RSE trusted part? Control Center and Service Center trusted

part?

Vehicle Vehicle Vehicle RSE RSEControlcenter

Page 13: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

Security Module – High Level

Could be sealed in a tamper evident enclosure, e.g., Integrity-protected log file or database, hardware enclosure,…

Inner Kernel with security features

Cryptographic kernel•Signing primitives and keys•Decryption primitives and keys•Secret master keys•Decrypt and re-encrypt (optional)

Device/user certificate(s)Trusted (CA) certificatesDevice/user/system dataSession data (keys, logs)

Functionality•Authenticate data•Verify authenticated data•Decrypt encrypted data•Encrypt plaintext data•Generate key pair•Generate secret key•Play key agreement protocol•Generate random data•Compare Local vs. Reference time•Convert security mechanism

Imp

lem

enta

tio

n r

elie

s o

n

APICan be used for- Applications- Secure Communications

Slides is a contribution from KU Leuven to GST

Page 14: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

Example

Secure messaging: Key agreement phase:

Ping pong messages sendPing, receivePing, preparePong, receivePong

After key agreement: byte[] dataToShip=prepareForSend(SecurityLevel, Data, SessionAlias) byte[] receivedData=processIncoming(incomingData, SecurityContext)

Receiver engine: Endless loop:

Message incomingData=receiveData() Case(incomingData.type){

Ping: { Message pong=preparePong(ping);send(incomingData); } Pong: { processPong(incomingData); } Insecure: {…} Confidential: {…} Authenticated: {…} Secure: {…}

}

Slides is a contribution from KU Leuven to GST

Page 15: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

Example

Secure data storage: storeData(SecurityLevel, Data, Alias, OverwriteIfExists)

SecurityLevel: plaintext, encrypted, integrity protected, confidential

Alias: (unique) reference to retrieve the data later on OverwriteIfExists: self-explanatory boolean

byte[] fetchedData=retrieveData(Alias, SecurityContext) throws noSuchAlias

SecurityContext: if the Alias refers to data which should not be made available given the current SecurityLevel, it will not successfully be fetched

Slides is a contribution from KU Leuven to GST

Page 16: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

Common Device Components

Intelligent Device

Security Module

Cryptographic Kernel• Implemented in software or dedicated hardware, e.g., smartcard, SIM, HSM,…• Hardware provides tamper evident enclosure• Performs cryptographic functions (sign, decrypt, re-encrypt, random generator…)• Stores Private keys, Secret keys, Trusted (Root) certificates,…• Manages sensitive application data (pay per use money counter,…)

Persistent Storage• Implemented with hard or soft disks, EEPROM, flash…• Meant to store non-critical data, e.g., temporary data, user data,…

Secure Persistent Storage• Implemented with hard or soft disks, EEPROM, flash,…• Stores critical data, e.g., session keys, certificates,…• Stores sensitive user data, e.g., user profiles,…• Stores sensitive application data, e.g., configuration files, internal states,…• Stores Private keys, Secret keys, Trusted (Root) certificates,…

ClassicComponents

RAM

CPU

(E2P)ROM

Storage Devices

Output Devices

Inte

rna

l Bu

sses (D

ata

, Pro

gra

m,…

)

System Clock

Networking Devices

Input Devices

Slides is a contribution from KU Leuven to GST

Page 17: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

Examples of Security Modules

Hardware security module (most expensive) Used for high-bandwidth communications, secure payments, etc.

Smartcard, SecurID token, SIM card Commonly used to provide strong user, service and device

authentication

Trusted platform module (TPM) By default built into many new laptops and desktops Lacks features necessary for GST, e.g., authentication of users,

application data, etc. TPM only authenticates the device

Software key store (cheapest) Cryptography-related data is stored in persistent memory (flash,

magnetic,…) Non-secure microcontroller operates on this data

Slides is a contribution from KU Leuven to GST

Page 18: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

Security Modules Form Factors

Dedicated coprocessor Pluggable (e.g., reader for smartcard/memory card, SIM lock

for SIM card, socket for chip Fixed, e.g., soldered secure microprocessor (similar to

smartcard, TPM)

Using the main processor for functionality, coprocessor for important processes (e.g., payable services)

Using the main processor only Software-only security Privileged mode (e.g. Arm with TrustZone)

Slides is a contribution from KU Leuven to GST

Page 19: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

Example of Use for V2V and V2I Communication

Car A wishes to exchange data with Car B Car A steps

Use the Security Module of A to authenticate data Send the authenticated data to B

Car B steps: Use the Security Module of B to validate the

authenticity of received data If authentication is OK, B processes data

Page 20: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

MILS

Multiple Independent Levels of Security Security Architecture for Middleware Based on military classification of security

levels classifications TS: top secret S: secret C: classified U: unclassified

Page 21: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

Application Partitions

S,TS

(MLS)

TS

(MSL)

S

(MSL)

CORBA

Middleware

OS Services

Use

r Mo

de

. . .

CORBA

Middleware

OS Services

CORBA

Middleware

OS Services

MILS - Multiple Independent

Levels of Security

MSL - Multi Single Level

MLS - Multi Level Secure

Processor

RTOS Micro Kernel (MILS)Supervisor Mode

MMU, Inter-Partition

Communications,

Interrupts

TS

(MSL)

MLSRT

CORBA

MLSDisplayDriver

MLSKBD

Driver

CORBAMiddlewareOS Services

High Assurance MILS Architecture

Page 22: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

MILS

3 independent layers: Partitioning kernel

Offers process separation, in space and time Small footprint => easier certification

MILS middleware layer MILS application layer

Implement own security policies using provided protected mechanisms

Page 23: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

Protection Mechanisms

Data isolation Information in the state of one partition must not be

accessible to other partitions

Information flow Only authorized communication between partitions can

occur

Periods processing Sanitization of shared resources between context

switches

Damage limitation Failure in one partition is contained, so it does not

affect other partitions

Page 24: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

Independent Components for V2V and V2I Communication

Which kind of independence Which kind of protection

In a typical microcontroller, a thread have access to the whole memory

can read sensitive data can modify sensitive data

Page 25: Secure Vehicle Communication 1 February 2006 Secure Execution Environment Secure Execution Environment for V2V and V2I Communication Antonio Kung SEVECOM

1 February 2006 Secure Execution Environment

Secure Vehicle Communication

Thanks

Antonio [email protected]