## 3 The Proposed Scheme  
Our solution aims to provide a secure and scalable scheme for the Internet of Drones which is operable by a wide variety of devices, from small quadcopters to larger fixed-wing UAVs, even with relatively weak hardware. Our proposed scheme consists of the registration phase, where the new drone exchanges symmetric keys with all participants within the base station domain. These keys as input serve the authenticated encryption in later communication. In the registration, we apply the PUF to authenticate the new drone. It is important that the manufacturer uploads the PUF value to the private blockchain after drone production.  
In the case of a private blockchain (or sometimes called permissioned blockchain), a single organization issues permission for the nodes to join and maintain the network; hence, it is less decentralized compared to the public ones. Since the organization chooses all the nodes, permissioned blockchains are more secure and also more efficient than the public chains. There are three performance metrics defined for blockchains [28]. The number of transactions carried out successfully in unit time is called throughput. The time between the submission of the transaction and its completion is defined as latency. Moreover, resource consumption is the amount of CPU and memory usage of the host system during the execution. Most of the private blockchains use voting-based consensus algorithms, e.g., Byzantine fault tolerance (BFT), or proof of elapsed time (PoET). Private blockchains are more efficient in utilizing resources. According to [28], for example, Hyperledger Fabric private blockchain completes about 50 transactions per second with about 5 s latency when 600 transactions are loaded in the case of simple applications (storage only). For our case, private blockchains are perfect solutions.  
When a user buys a new drone, using the PUF value to register the drone, only the base station accesses the drone's unique PUF value in the blockchain Listing A1. That is why the new drone can communicate with other drones utilizing the base station during the registration, where the base station verifies and confirms the authenticity of the new drone for other drones. The PUF value is used with MAC to maintain the message integrity between the new drone and the base station.  
After registration, the new drone will have a new symmetric key for everyone, which must be updated after each communication. This way, the communication will still meet the lightweight requirement later on. The scheme is scalable, as the user can add or delete a device to the network anytime. Since multiple base stations are part of the scheme with a given range in IoD, and the drones are mobile, we need to register the device in various domains. In the case of base stations, to reach the PUF value, we need to share this value, where it is essential to have high availability and reduce the possibility of a single point of failure occurrence. A private blockchain can be an excellent solution to this, which provides the confidentiality of the PUF value and is synchronously available for the base stations, and, for example, reduces the number of erroneous queries.