Security Architecture for Swarms of Autonomous Vehicles in Smart Farming
Abstract
:Featured Application
Abstract
1. Introduction
1.1. Challenges of Autonomous Vehicles
1.2. Paper Contributions and Structure
2. Materials and Methods
2.1. Methodology
2.2. State of the Art
2.2.1. Security Architecture Goals
- Confidentiality, to protect the data against non-authorised revelations, ensuring that only authorised people are allowed to access the information;
- Integrity, to protect the data against non-authorised modifications, insertions or deletions;
- Authentication, to verify the supposed identity of a user or a system;
- Access control, to protect the system resources against non-authorised users; and
- Non-repudiation, to prevent an entity from denying or refuting previous commitments, responsibilities or actions.
2.2.2. Challenges in the Management of Swarms of Heterogeneous Autonomous Vehicles
2.2.3. Security Options for Swarms of Heterogeneous Autonomous Vehicles
2.2.4. IoT Reference Architectures for Distributed Systems
3. Results
3.1. Architecture Design for Swarms of Autonomous Vehicles
3.2. Security Architecture for Swarms of Autonomous Vehicles
3.2.1. Protection of Data Confidentiality
- Communication channel A: with the Mission Console being a web application accessible via browser, the best encryption solution in this case would be to use TLS [29], an updated version of its now-deprecated predecessor SSL (Secure Sockets Layer). TLS is a standardised technology that allows data traffic to be encrypted between a web browser and a web server by using the HTTPS protocol (HTTP Secure). OpenSSL [30] is proposed as a solution to provide TLS, and confidentiality could be implemented using the AES symmetric encryption algorithm. Security is granted in HTTPS by using digital certificates. TLS uses X.509 digital certificates to fulfil two functions: data encryption and authentication. Once installed, an X.509 certificate verifies the authenticity of a host or site through public key cryptography. After authentication (explained in Section 3.2.2), a one-time secret key is exchanged between entities, which is used to encrypt the data flow between the parties involved throughout the session. X.509 certificates are most reliable when issued by a trusted Certificate Authority (CA), which are organisms (e.g., Verisign) that must follow very strict policies regarding who to grant a TLS certificate. CA-issued digital certificates usually have a cost. In order to ensure compatibility, the CA must be listed in the Trusted Root Certificates of the browser.
- Communication channel B: the Mission Console consumes the REST API offered by the SWARM Controller. As in the previous case, the best option to encrypt the HTTP channel between both entities would be to use TLS. An X.509 certificate must be installed on the SWARM Controller. The Mission Console must be configured to trust the CA of the certificate. Moreover, in order not to leak confidential information, a good practice when designing the REST API is to avoid transferring parameters in the URL of the services, always using HTTP request headers or bodies (e.g., HTTP POST and PUT methods) [31].
- Communication channel C: as the SWARM Controller and the deployed vehicles do not share a physical connection (i.e., the former is deployed in the Cloud, while the latter use a 3G/4G connection), using a VPN (Virtual Private Network). A VPN provides a method to communicate nodes that are not physically connected to a shared network. However, data to be transmitted over a VPN is encrypted before being sent to the destiny. The IP addresses of the VPN endpoints are hidden as well. In order not to penalise communication performance, which is something especially important in the management of autonomous vehicles, it is recommendable to select VPN solutions based on secret-key encryption, usually considered as fast and low battery consumption algorithms. LogMeIn Hamachi VPN [32] is proposed as a solution to establish the VPN, a free solution for up to five nodes deployed in the same VPN network. This VPN solution is independent from the network operator, so any SIM card can be used on the vehicle side. In this case, a key exchange protocol based on the Diffie–Hellman algorithm would take place between any two VPN nodes willing to exchange messages. Once a session key has been established, AES-256 cipher would be used for data encryption.
- Communication channel D: the data in the Repository can be accessed through REST APIs. As in the case of communication channel B, the best option for channel encryption would be to use TLS. A X.509 certificate must be installed on the server side (the Data Repository side in this case). The Mission Console must be configured to trust the CA of the certificate.
- Communication channel E: the authors of this study consider that the encryption of this communication channel is not essential, since the components involved can be deployed in a monitored Cloud that does not offer external interfaces. By using an unencrypted interface between the SWARM Controller—responsible for supervising the operations of autonomous vehicles—and the Data Repository, the real-time requirement for managing autonomous vehicles is not compromised.
- Data Repository: it is possible to encrypt data stored in a database at a number of levels: storage-level, database-level and application-level. For SQL databases, one of the most commonly used methods is column-level encryption (performed at the database level), significantly more flexible compared to entire database encryptions. Moreover, this method allows for using separate secret keys for each column within a database. For NoSQL databases, this approach may not be the most suitable, considering that not all documents define columns before inserting data. However, in general, it should be noted that encryption can cause performance degradation in all databases accessed, so it is advisable to encrypt only sensitive data (i.e., private data such as passwords, which should be stored in the database data dictionary in encrypted format).
3.2.2. User or System Authentication
- Communication channel A: due to its robustness and flexibility, the authors of this article suggest providing mutual authentication based on third-party mechanisms, for both users and the Mission Console. On the one hand, user authentication can be performed using LDAP, an especially suitable solution if you are looking for a centralised management of user information. OpenLDAP [35] is proposed as an open source solution to implement an LDAP server. In this case, the Mission Console acts as an LDAP client. If TLS is used to protect communication between LDAP clients and remote LDAP servers (LDAP over TLS), the exchange of user credentials remains encrypted. The process of user authentication begins with the user providing his/her credentials to the Mission Console, which validates username, password and role in the LDAP Server. If validation is successful, the user is granted access to the Mission Console, according to the assigned role. On the other hand, authentication of the Mission Console can be performed thanks to TLS and the X.509 certificate installed in the host. In the case under study, authentication can be implemented by the RSA algorithm provided by OpenSSL. When an operator (browser) sends an HTTPS request at connection setup, a TLS handshake takes place. The Mission Console responds with its certificate (containing its public key). The browser checks within its database of trusted certificate authorities, and if the authority that issued the received certificate is within that database, the browser trusts the Mission Console. Then, the browser responds with handshake data encrypted with the public key, which is decrypted by the server using its private key. Once the authentication process finishes, the browser and server negotiate a one-time encryption key to be used during the session. One-time key confidentiality is protected by TLS.
- Communication channel B: mutual authentication of the Mission Console and the SWARM Controller can be ensured by the X.509 certificates installed at both ends. To prove their identities, both the Mission Console (the REST client) and the SWARM Controller (the REST server) present their identities in the form of certificates. The client and server initiate a TLS handshake before the actual REST API messages are exchanged. In the case under study, the implementation can be based on the RSA algorithm provided by OpenSSL. Another option for basic REST Server authentication could be to use HTTP Basic Authentication, a method in which credentials (username and password) encoded in Base64 are sent directly in HTTP headers without encryption. This is a very simple authentication method, but since confidential data are transmitted in plain text, it should always be used in combination with HTTPS.
- Communication channel C: VPN endpoints must be authenticated before a VPN tunnel is established. Two types of methods are commonly implemented by VPN, and these are either using pre-shared keys or digital certificates. Pre-shared keys are usually the default option, with VPN administrators being responsible for generating the key at configuration time. If the chosen option is certificate authentication, a possibility is to implement digital signature between the nodes. In the case under study, in order to guarantee the real-time settings needed by autonomous vehicles, it is recommended that the VPN nodes (e.g., the Hamachi VPN nodes) authenticate using pre-shared keys.
- Communication channel D: access of users of the Mission Console to the Data Repository must be validated in order to ensure identity authentication and to prevent unauthorised databases usage. As in the case of communication channel B, mutual authentication of the Mission Console and the Data Repository can be ensured by X.509 certificates installed at both ends. Moreover, database user credentials can coincide with the username and password defined for operators in the Mission Console. This is useful to guarantee non-repudiation, as will be explained in Section 3.2.5.
- Communication channel E: the authors of this study consider that middleware components can trust each other, as they can be deployed in a monitored Cloud. Thus, the SWARM Controller application can be granted access to the Data repository. Nevertheless, the credentials granted to the SWARM Controller should be generated by the Database Manager of the Cloud services provider and would only be valid if used inside the particular Cloud domain. The lack of extra security mechanisms ensures good responsiveness of access to the Data Repository, something essential from the point of view of management of autonomous vehicles that require real-time communication.
3.2.3. Protection of Data Integrity
- Communication channel A: the integrity of data exchanged between the operator’s browser and the Mission Console can be ensured by TLS (and implemented by OpenSSL). In this case, message transport should include a message integrity check based on SHA-1 (HMAC algorithm). The secret key is randomly generated by the inherent HMAC algorithm. Per each of the requests to the Mission Console, the client creates a unique HMAC by hashing data requested with the secret key and sending it together with the request. Once the Mission Console receives the request, it calculates its own unique HMAC and compares it with the one received. If they coincide, the client is trusted and the request is executed.
- Communication channel B: as in the case of communication channel A, the integrity of this data link can be guaranteed by TLS. For JSON-based message exchanges where TLS is not possible, it is recommended to use JOSE (JavaScript Object Signing and Encryption). JOSE is a framework that provides a collection of specifications to ensure cybersecurity in JavaScript-based message exchanges. JOSE is able to provide not only integrity but also confidentiality, authentication and non-repudiation. JOSE guarantees integrity through HMAC algorithms based on SHA-2. In addition to data integrity checks, in the case of JSON data formats, it is also interesting to validate the data against its schema. A JSON Schema [37] is a grammar language to validate the syntax of a JSON document through a set of metadata about the meaning and valid values of the object’s properties. Regarding data validation, JSON schemas should be defined to establish the structure and content of all JSON objects to be exchanged.
- Communication channel C: VPNs implement hashing mechanisms to ensure that data have not been intercepted and altered when travelling from one VPN endpoint to another. In the case under study, the proposed Hamachi VPN checks the integrity of all data exchanged by using HMAC-SHA-1.
- Communication channel D: as in the case of the communication channel A, the integrity of this data link can be guaranteed by TLS.
- Communication channel E: as expressed in the previous sections, the authors of this study consider that the components of the middleware can trust one another as they can be part of the same monitored Cloud.
- Data Repository: a good practice to ensure that information can be restored in case its integrity is compromised is the implementation of regular data backups. Moreover, databases could include data integrity checks based on fixed schemas or predefined sets of rules. For example, columns in a relational database could be forced to be declared upon a defined domain (e.g., semantically established in an ontology or taxonomy) to abstract the heterogeneity and to ensure that all information is stored according to a common information model that guarantees interoperability or is validated by regular expressions specifying the search patterns. In the case under study, it is recommended that all data entered by operators through the Mission Console is checked by regular expressions.
3.2.4. Protection against Unauthorised Users
- Communication channel A: in this case, the LDAP server proposed would be responsible for granting access to the operator after the user has been authenticated. As explained in Section 3.2.2, LDAP servers include not only user identification information but also assigned groups and network access rights. The process starts when the user provides his/her credentials to the Mission Console for validation. Once validated, the user is granted access to the Mission Console according to the defined role.
- Communication channel B: the management of user access to the REST API offered by the SWARM Controller can be addressed from different points of view: (a) restricting supported HTTP methods, so that connecting clients have access to the minimum capabilities required for the service only; (b) using HTTP security headers to specify the security-related details of HTTP communication, which provides a good method to protect a web application against common attacks such as Cross-Site Scripting (XSS) [39] and Clickjacking [40]; (c) validating permitted content types, specifying allowed types in both the Content-Type and the Accept header (including the charset is also a good practice); (d) validating input data so that any request that does not conform to the API specification is rejected; and (e) defining API keys that must be provided by clients in order to consume the API. This is common for monetised services.
- Communication channel C: user authorisation is managed by a VPN. VPN authorisation is responsible for verifying that users have the authority to access a specified network, granting the requested access when appropriate. In the case under study, users (i.e., the SWARM Controller and all vehicles) must register in the VPN provider website to be granted credentials that guarantee access to the specific Hamachi private network to be deployed.
- Communication channel D: authorisation of access to the Data Repository is a privilege provided by the database manager, who is responsible for defining which database operations a user can perform. Privileges can be granted to individual users, to groups or to all users. For example, in SQL databases, users can be granted read, insert, update or delete privileges. Privileges are stored in the database catalogues. As explained in the introduction to this section, one of the most common methods for authorisation management is RBAC, which consists of assigning each database record with a set of permissions linked to roles. The privileges of the users that are members of a role are defined by the role. In the case of the users of the Mission Console, they are granted database privileges either to view or to add new content to the Data Repository depending on their role.
- Communication channel E: as in the case of the communication channel D, the SWARM Controller must be granted both privileges to view and to add new content to the Data Repository.
3.2.5. Non-Repudiation
- 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.
3.2.6. Security of Processing
4. Discussion
5. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- United Nations, Department of Economic and Social Affairs, Population Division. Highlights. In World Population Prospects 2019. Available online: https://population.un.org/wpp2019/ (accessed on 17 June 2020).
- United Nations, Department of Economic and Social Affairs, Population Division. Ten Key Findings. In World Population Prospects 2019. Available online: https://population.un.org/wpp2019/ (accessed on 17 June 2020).
- Ritchie, H.; Roser, M. Urbanization. Published online at OurWorldInData.org. 2018. Available online: https://ourworldindata.org/urbanization (accessed on 11 March 2021).
- Hands Free Hectare. Available online: https://www.handsfreehectare.com/ (accessed on 11 March 2021).
- John Deere’s Self-Driving Tractors. Available online: https://www.gpsworld.com/use-of-autonomous-vehicles-in-mining-and-farming-touted-at-ces-2021/ (accessed on 11 March 2021).
- Yaacoub, J.P.; Noura, H.; Salman, O.; Chehab, A. Security analysis of drones systems: Attacks, limitations, and recommenda-tions. Internet Things 2020, 11. [Google Scholar] [CrossRef]
- Window, M. Security in Precision Agriculture: Vulnerabilities and Risks of Agricultural Systems. Master’s Thesis, Luleå Uni-versity of Technology, Luleå, Sweden, 2019. [Google Scholar]
- Sleem, L.; Noura, H.N.; Couturier, R. Towards a secure ITS: Overview, challenges and solutions. JISA 2020, 55. [Google Scholar] [CrossRef]
- Boukoberine, M.N.; Zhou, Z.; Benbouzid, M. A critical review on unmanned aerial vehicles power supply and energy man-agement: Solutions, strategies, and prospects. Appl. Energy 2019, 255. [Google Scholar] [CrossRef]
- AFarCloud Demonstrators. Available online: http://www.afarcloud.eu/demonstrators/ (accessed on 10 May 2021).
- Inside DDS Webinar Series. Available online: https://www.rti.com/news/rti-inside-dds-webinar-series (accessed on 18 March 2021).
- DDS in Military Vehicles. Available online: https://iotcareer.adlinktech.com/_resx/storage/104cee9a-ie734/dds%20in%20military%20vehicles.pdf (accessed on 13 April 2021).
- European Space Agency—Human Robot Interaction Laboratory. Available online: https://www.rti.com/hubfs/_Collateral/Customer_Snapshots/rti-customer-snapshot-esa.pdf (accessed on 14 April 2021).
- NASA Human Exploration Telerobotics. Available online: https://www.omg.org/hot-topics/documents/dds/NASA_Telerobotics.pdf (accessed on 13 April 2021).
- NASA Leverages RTI Middleware for Next-Generation Lunar Robots. Available online: https://www.rti.com/hubfs/docs/NASA_Human_Robotic_Systems.pdf (accessed on 14 April 2021).
- Kim, K.; Kim, J.S.; Jeong, S.; Park, J.H.; Kim, H.K. Cybersecurity for autonomous vehicles: Review of attacks and defense. Comput. Secur. 2021, 103. [Google Scholar] [CrossRef]
- DJI Pilot PE. Available online: https://www.dji.com/downloads/djiapp/dji-pilot-pe (accessed on 14 April 2021).
- Benefits of Parrot FreeFlight 6 App. Available online: https://www.parrot.com/en/newsroom/ff6-audit (accessed on 14 April 2021).
- The ADLink DDS Community Edition. Available online: https://www.adlinktech.com/en/data-distribution-service-dds-community (accessed on 15 April 2021).
- Eclipse Cyclone DDS. Available online: https://projects.eclipse.org/projects/iot.cyclonedds (accessed on 15 April 2021).
- Azure IoT Reference Architecture. Available online: https://docs.microsoft.com/azure/architecture/reference-architectures/iot (accessed on 16 April 2021).
- AWS IoT Security. Available online: https://docs.aws.amazon.com/es_es/iot/latest/developerguide/security.html (accessed on 16 April 2021).
- The Intel IoT Platform. Available online: http://d885pvmm0z6oe.cloudfront.net/hubs/intel_80616/assets/downloads/general/Architecture_Specification_Of_An_IOT_Platform.pdf (accessed on 16 April 2021).
- Google Chronicle. Available online: https://chronicle.security/products/platform/ (accessed on 16 April 2021).
- Google Asset Inventory. Available online: https://cloud.google.com/asset-inventory (accessed on 16 April 2021).
- Tawalbeh, L.; Muheidat, F.; Tawalbeh, M.; Quwaider, M. IoT Privacy and Security: Challenges and Solutions. Appl. Sci. 2020, 10, 4102. [Google Scholar] [CrossRef]
- The MySQL Database. Available online: https://www.mysql.com/ (accessed on 11 March 2021).
- The MongoDB Database. Available online: https://www.mongodb.com/ (accessed on 11 March 2021).
- Rescorla, E. RFC 8446—The Transport Layer Security (TLS) Protocol Version 1.3; Internet Engineering Task Force: Fremont, CA, USA, 2018. [Google Scholar]
- OpenSSL, Cryptography and SSL/TLS Toolkit. Available online: https://www.openssl.org/ (accessed on 10 March 2021).
- How to Ensure REST API Security—Web Security Blog. Available online: https://www.netsparker.com/blog/web-security/rest-api-web-service-security/ (accessed on 19 April 2021).
- LogMeIn Hamachi VPN. Available online: https://www.vpn.net/ (accessed on 11 March 2021).
- Denniss, W.; Bradley, J. RFC 8252—OAuth 2.0 for Native Apps; Internet Engineering Task Force: Fremont, CA, USA, 2017. [Google Scholar]
- Get Verification Codes with Google Authenticator. Available online: https://support.google.com/accounts/answer/1066447 (accessed on 25 February 2021).
- OpenLDAP, Open Source Implementation of the Lightweight Directory Access Protocol. Available online: https://www.openldap.org/ (accessed on 10 March 2021).
- Priem, R. Distributed ledger technology for securities clearing and settlement: Benefits, risks, and regulatory implications. Financ. Innov. 2020, 6. [Google Scholar] [CrossRef]
- Carion, U. JSON Schema Language Draft-Json-Schema-Languahe-00; Internet Engineering Task Force: Fremont, CA, USA, 2019. [Google Scholar]
- Li, T.; Kou, G.; Peng, Y.; Shi, Y. Classifying with adaptive hyper-spheres: An incremental classifier based on competitive learning. IEEE Trans. Systems Man Cybern. Syst. 2020, 50, 1218–1229. [Google Scholar] [CrossRef]
- Cross-Site Scripting. Available online: https://owasp.org/www-community/attacks/xss/ (accessed on 5 March 2021).
- Clickjacking. Available online: http://www.sectheory.com/clickjacking.htm (accessed on 8 March 2021).
- 2020 State of Malware Report. Available online: https://resources.malwarebytes.com/files/2020/02/2020_State-of-Malware-Report-1.pdf (accessed on 18 March 2021).
Communication Channel | Architecture Components Involved |
---|---|
A | Operator–Mission Console |
B | Mission Console–SWARM Controller |
C | SWARM Controller–UAV/ATV/UGV |
D | Mission Console–Data Repository |
E | SWARM Controller–Data Repository |
Cybersecurity Goal | Entities Involved | Cybersecurity Technology |
---|---|---|
Data confidentiality: encryption through symmetric cryptography. | Communication channel A Communication channel B Communication channel C Communication channel D Communication channel E Data Repository | HTTPS over TLS (AES-CBC). HTTPS over TLS (AES-CBC), HTTP POST or PUT methods for SWARM Controller REST API. VPN guaranteed: AES-256. HTTPS over TLS (AES-CBC). N/A. Encryption of sensitive data only (e.g., passwords). |
Authentication: LDAP, asymmetric cryptography, credentials for VPN users. | Communication channel A Communication channel B Communication channel C Communication channel D Communication channel E | LDAP (users), X.509 certificate + RSA algorithm (Mission Console). X.509 certificate + RSA algorithm (Mission Console and SWARM Controller). VPN guaranteed: pre-shared keys. X.509 certificate + RSA algorithm (Mission Console and Data Repository). N/A. |
Data integrity HMAC, database backups, data patterns and information model. | Communication channel A Communication channel B Communication channel C Communication channel D Communication channel E Data Repository | TLS (SHA-1). TLS (SHA-1). Definition of JSON Schemas. VPN guaranteed: HMAC-SHA-1. TLS (SHA-1). N/A. Regular data backups, regular expressions to check data patterns, common information model. |
Authorisation: LDAP, VPN user credentials, DB roles, REST API access restrictions. | Communication channel A Communication channel B Communication channel C Communication channel D Communication channel E | LDAP (users). HTTP security headers, validation of content-type and input data, minimise allowed HTTP methods for the SWARM Controller REST API and API keys definition. VPN guaranteed: VPN user credentials. DB privileges for the users of the Mission Console based on their role. DB privileges for the SWARM Controller. |
Non-repudiation: antivirus, LDAP, X.509, user credentials, tracking of user/vehicle actions. | Communication channel A Communication channel B Communication channel C Communication channel D Communication channel E | Antivirus, LDAP (user), X.509 certificate (Mission Console). Antivirus, X.509 certificates (Mission Console, SWARM Controller). Antivirus, VPN user credentials and pre-shared keys. Antivirus, X.509 certificates (Mission Console, Data Repository), duplicated tracking of user actions (DB and log files), DB user credentials coincident with operator credentials. Antivirus, duplicated tracking of vehicle actions (DB and log files). |
Security of process | All | Data repositories backup, source code and image of system components backup copy. |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Martínez-Rodríguez, B.; Bilbao-Arechabala, S.; Jorge-Hernandez, F. Security Architecture for Swarms of Autonomous Vehicles in Smart Farming. Appl. Sci. 2021, 11, 4341. https://doi.org/10.3390/app11104341
Martínez-Rodríguez B, Bilbao-Arechabala S, Jorge-Hernandez F. Security Architecture for Swarms of Autonomous Vehicles in Smart Farming. Applied Sciences. 2021; 11(10):4341. https://doi.org/10.3390/app11104341
Chicago/Turabian StyleMartínez-Rodríguez, Belén, Sonia Bilbao-Arechabala, and Fernando Jorge-Hernandez. 2021. "Security Architecture for Swarms of Autonomous Vehicles in Smart Farming" Applied Sciences 11, no. 10: 4341. https://doi.org/10.3390/app11104341
APA StyleMartínez-Rodríguez, B., Bilbao-Arechabala, S., & Jorge-Hernandez, F. (2021). Security Architecture for Swarms of Autonomous Vehicles in Smart Farming. Applied Sciences, 11(10), 4341. https://doi.org/10.3390/app11104341