Modern vehicles’ functionalities are managed and regulated via Electronic Control Units (ECU) that interact one another by using the Controller Area Network (CAN) bus. However, the CAN bus protocol is not secure by designe: it lacks of authentication, confidentiality and integrity. Existing protocols that implement secure communication among the various ECUs use secret key to secure exchanged messages. However, there is no phase in which such key is shared, thus making it a preliminary part of the actual communication. The problem of session key sharing is at the heart of the implementation of secure communication. This project designs of a protocol for the exchange of session keys based on the experimental study of the adoption of RSA in the automotive context, in the light of the constraints and requirements that this application domain imposes.
Instructions for the execution of our Proof Of Concept on Key Exchange:
- Run CMakelists.txt to generate the Makefile for the compilation. Digit:
cmake CMakelists.txt
- Run the Makefile obtained to compile. From terminal digit
make
- Start the Server. Digit the
./Server
command - Start the Client. Digit
./Client -i [server IP]
(if you want to run the prototype locally, use the following IP address:127.0.0.1
) - Terminate the server by sending the SIGINT signal (
ctrl + c
) while waiting for a connection
Contacts
Thanks to
Istituto di Informatica e Telematica (IIT) - Consiglio Nazionale Delle Ricerche (CNR) - Pisa, Italy
Dipartimento di Informatica - UniversitĂ di Pisa
MIT