# Security Architecture for Swarms of Autonomous Vehicles in Smart Farming
## 3 Results
### Security Architecture for Swarms of Autonomous Vehicles
#### 3.2.5 Non-Repudiation  
Generally, non-repudiation implies the association of changes or actions with a unique individual. This usually implies that the sender of information receives proof of delivery and that the recipient receives both proof of sender's identity and data integrity confirmation, so that no communication party can subsequently deny either the origin, authenticity or integrity of the data, or having processed the information. It is closely related to authentication, with authentication being a technical concept and non-repudiation being a legal concept. That being said, it is important to highlight that true non-repudiation is something that is not always easy to achieve because, even if a technical solution is deployed to uniquely identify the executor of any action, malware-type attacks can occur, with malware's final purpose being to steal user credentials and to perform actions on their behalf. Therefore, the first important step to achieve non-repudiation is to use a good and up-to-date antivirus software as an antimalware protection system [41].  
In the case of databases, the non-repudiation guarantee is sometimes not easy to achieve either. Most database solutions have audit functionalities available, so that the database manager can audit database activities such as insert, update, delete or select. However, this is not useful for shared schemas or multi-tiered applications, in which the application user is not the same as the database user. For those cases, it could be more interesting to rely on additional fine-grained audit functionalities usually provided by the database solution able to store activity information with great detail. Nevertheless, it must be noted that this type of solution requires large amounts of memory and could be cost prohibitive.  
Taking all these considerations into account, the measures suggested to guarantee non-repudiation in the case under study are as follows:  
* Communication channel A: unique identification of users could be performed via LDAP, responsible both for user authentication and authorisation. The Mission Console authentication would be granted by its X.509 certificate;
* Communication channel B: mutual authentication of the Mission Console and the SWARM Controller could be guaranteed by the X.509 certificates installed at both ends. Though the REST API implementation provided by the SWARM Controller does not cover user identification, all user actions (including those related to the definition of agricultural missions for vehicles) are recorded in the Data Repository through the communication channel D;
* Communication channel C: unique identification of VPN nodes connected to the proposed Hamachi VPN server would be guaranteed by the user credentials needed to register in a particular VPN and by the pre-shared keys (defined at registration time by the VPN administrator) that nodes must provide to be trusted by the rest of their peers;
* Communication channel D: mutual authentication of the SWARM Controller and the Data Repository would be guaranteed by the X.509 certificates installed at both ends. This communication channel is used to record all user actions (e.g., agricultural missions for vehicles). Tracking of user actions would be guaranteed as the Mission Console uses the specific credentials of each user (i.e., the ones validated by the LDAP Server) to access the Data Repository. This information is duplicated in the log files recorded by the Mission Console;
* Communication channel E: the authors of this study consider that the identity of the SWARM Controller and the Data Repository is guaranteed by the monitored Cloud. This communication channel is used to record vehicle actions (i.e., vehicle status and mission status). Tracking of vehicle actions is guaranteed as all vehicle feedback is recorded in the database with the specific vehicle identification, and this information is duplicated in the log files recorded by each vehicle.