vatiCAN protocol simulation in Omnet++

Nikos Mouzakitis
2 min readFeb 3, 2019

vatiCAN is an automotive protocol for secure message exchanges as described in the paper : http://www.automotive-security.net/vatican/

Intending to simulate the behavior of a secure message exchange in omnetpp(Omnet++) , first it would be appropriate to setup a bus environment, since vatiCAN protocol works in the CAN Bus.

In the present simulation a bridge node is used between the three nodes of the system, and its role is to gather the message each node broadcast and forward them in all others.

Using symmetrical propagation delays is also essential because of the need of messages arriving in the same absolute time in every listening node.

In the side figure we can observe the design of the architecture used.

Code for the simulation can be found on my Github account below.

A new file named “vatig.h” is used for the functions of creating a MAC and anyone who would like to experiment with the protocol or add new functionality can change the file and invoke new function calls from it.

The result of the given code in simulation is that NODE_TWO can get the data transmitted in the first message from NODE_ONE, and in the second phase validate them, while NODE_THREE who cannot recognize the secure ID used in the transmission be unable to validate it.

In an embedded environment of course not secure nodes, wouldn’t have access to the Keys and the functions used from the secure vatiCAN nodes, where for the simulation they all run the same code in the project here.

--

--

Nikos Mouzakitis

Graduate of Mathematics Department in University of Aegean, Currently Computer Engineer undergrad.