## 1 Introduction  
The Internet of Things (IoT) is a network of physical objects (for example, smart devices) such as smart vehicles, smart industrial monitoring machines, smart home appliances, and many more. Suchobjects are connected together to gather, process, rectify, and exchange relevant data over the Internet [1; 2; 3; 4; 5; 6]. Furthermore, smart devices along with application programming interfaces (APIs) are used to connect and exchange data over the Internet. Each physical object (i.e., smart lighting system) has a provided IP address, which makes it capable to communicate (i.e., sending and receiving) over the network without human involvement. The shortage of IPv4 addresses resulted in designing the \"IPv6 over Low-Power Wireless Personal Area Networks (6 LoWPAN)\", which has significantly changed the IoT in order to increase the use of IPv6 by smart, as well as small scale objects [7]. The IoT communication environment is used in various types of applications, such as \"smart health care\", \"smart traffic monitoring\", and \"smart homes\", to name a few. Edge computing introduced a new concept of computing. It has already become popular in industry, as well as academic research communities. It empowers many future technologies (for example, 5G, vehicle-to-vehicle and vehicle-to-cloud communications, augmented reality) by putting the connection in between end users and the cloud computing model and services [8; 9; 10]. Edge computing brings the utilities and services of cloud computing, which results in the faster processing and quicker response time of applications. Edge computing facilities the produced data of smart devices in the IoT environment to be processed nearby the location where it was generated in place of sending it across long routes to the \"cloud\" or \"data centers\" [11; 10; 12]. Though the edge based IoT environment provides many advantages over the traditional computing environment, at the same time, it has also the following security and privacy issues:  
* The exchanged messages among different communicating parties (i.e., \"IoT device\", \"edge node\", and \"cloud server\") should be protected against several known attacks (for example, \"replay\", \"man-in-the-middle\", \"impersonation\", \"offline or online password guessing\", and some other kinds of \"bypassing attacks\"). * The edge node receives and processes the data, which are sent by the IoT devices. After the required processing, the edge node sends the data to the cloud server(s) for further processing and storage. Sometimes, the sent data are very critical and important, and any kind of disclosure of the data creates big trouble. Therefore, we need strong secure privacy preservation techniques to protect the data in the edge based IoT environment. * As existing authentication protocols have security flaws that make them vulnerable to some known attacks (for example, \"privileged insider attack\", \"online and offline password guessing\", etc. ), consequently, it becomes important to enhance the security of the authentication protocols, for instance in the case of \"new device addition or revocation\", other communicating parties of the network should also be informed by the concerned (trusted) authority so that they can become aware about this activity and can update their memories accordingly [1; 4]. Hence, it is an exigent task to provide a design for such a kind of protocol that supports \"dynamic installation/update\" without compromising the security of the system [4]. * In the edge based IoT environment, there is a possibility that some IoT devices may be \"physically stolen/captured\" by the adversary \((\mathcal{A})\). After the physical capturing, \(\mathcal{A}\) can use a \"power analysis attack\" [13] to obtain the data from the memory of the captured smart IoT devices. Later on, this drawn out information is used for other malicious works, such as deriving the \"session key\" among an IoT device and cloud server.