1 / 25

Secure Execution Environment for V2V and V2I Communication

Secure Execution Environment for V2V and V2I Communication. Antonio Kung SEVECOM Project Co-ordinator TRIALOG. Presentation Content. Trust as a business requirement for execution platforms Result from the GST project Security Module Approach

Download Presentation

Secure Execution Environment for V2V and V2I Communication

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Secure Execution Environmentfor V2V and V2I Communication Antonio Kung SEVECOM Project Co-ordinator TRIALOG Secure Execution Environment

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

  3. Color Notation for Trust Communication Tunnel for Secure Data Application Data Communication Tunnel for Confidential Data Application Data Communication Tunnel for Authenticated Data Application Data Communication Tunnel for Insecure Data Application Data

  4. Node Trusted part Trust in an Execution Environment • 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 System User

  5. 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 Intermediate Node C A B Store and Forward

  6. 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 Intermediate Node C A B

  7. 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 Intermediate Node C A B Security Module

  8. Endpoints Might also be Secure Intermediate Node C A B Intermediate Node C A B Security Module

  9. Endpoints Must also be Secure Intermediate Node C A B Security Module Intermediate Node C A B Security Module Security Module Security Module

  10. Including Input-Outputs B User Token C Security Module Security Module Security Module USER

  11. Peer-to-peer Security == Circle of Trust? A B C

  12. 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 RSE Control center

  13. Slides is a contribution from KU Leuven to GST Security Module – High Level Can be used for - Applications - Secure Communications Could be sealed in a tamper evident enclosure, e.g., Integrity-protected log file or database, hardware enclosure,… API Functionality Inner Kernel with security features • 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 Device/user certificate(s) Trusted (CA) certificates Device/user/system data Session data (keys, logs) Implementation relies on • Cryptographic kernel • Signing primitives and keys • Decryption primitives and keys • Secret master keys • Decrypt and re-encrypt (optional)

  14. Slides is a contribution from KU Leuven to GST 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: {…} • }

  15. Slides is a contribution from KU Leuven to GST 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

  16. Intelligent Device Classic Components Security Module Internal Busses (Data, Program,…) System Clock Input Devices • Persistent Storage • Implemented with hard or soft disks, EEPROM, flash… • Meant to store non-critical data, e.g., temporary data, user data,… Output Devices • 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,… Storage Devices Networking Devices (E2P)ROM • 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,…) RAM CPU Slides is a contribution from KU Leuven to GST Common Device Components

  17. Slides is a contribution from KU Leuven to GST 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

  18. Slides is a contribution from KU Leuven to GST 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)

  19. Example of Usefor 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

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

  21. MILS - Multiple Independent Levels of Security MSL - Multi Single Level MLS - Multi Level Secure MLS RT CORBA S (MSL) TS (MSL) S,TS (MLS) TS (MSL) . . . MLS Display Driver CORBA Middleware OS Services CORBA Middleware OS Services CORBA Middleware OS Services MLS KBD Driver CORBA Middleware OS Services User Mode RTOS Micro Kernel (MILS) Supervisor Mode MMU, Inter-Partition Communications,Interrupts Processor High Assurance MILS Architecture Application Partitions

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

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

  24. Independent Componentsfor 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

  25. Thanks Antonio Kung antonio.kung@trialog.com Secure Execution Environment

More Related