# A Source Anonymity-Based Lightweight Secure AODV Protocol for Fog-Based MANET
## 3 Preliminary Knowledge and Analysis
### Security Analysis  
As there is no security scheme, AODV may be attacked by malicious nodes, compromised nodes, and selfish nodes. Malicious nodes refer to the nodes for which the attacker could not verify the legality of its own identity because of the lack of effective encryption information; compromised nodes refer to the nodes for which internal attackers could verify their identity as legal nodes and be trusted by other nodes, and this would launch an offensive within the network; selfish nodes refer to the nodes that tend to deny their own resources so that the other nodes cannot benefit from them, so as to save their own resources. AODV does not specify any security measure, effectively assuming that there are no malicious nodes participating in the routing process, but many kinds of attacks are possible. AODV could be attacked by malicious nodes, compromised nodes, and selfish nodes. For our analysis, the AODV is vulnerable to the following categories of attacks:  
Tampering attack: malicious nodes tamper with the routing information, causing the destination node to receive the wrong messages. For example, when a malicious node forwards _RREQ_ messages, it falsifies the hop fields in the routing message, so that it has a larger opportunity to be chosen as the active route. Once the attack is successful, the malicious node can make any change on the packets it forwards to achieve a spiteful purpose. Forgery attack: malicious nodes forge routing messages, causing the other nodes to receive the wrong messages. For example, a malicious node creates fake _RREP_ messages to impersonate a destination node, obtaining the packets that should be sent to the real destination. Routing replay attack: the malicious node sends an obsolete routing message, so that the nodes that receive the message update the related entries in their routing tables. Black Hole Attack: a malicious node exploits the _RREQ_ broadcast scheme and sends a fake _RREP_ message, in which the hop count and destination node sequence number are forged, to claim that it is the destination node or has the best route towards the destination node. After receiving the _RREP_ message, the source node establishes a route towards the malicious node. Rushing Attack: as one type of DoS attack, the malicious node exploits the _RREQ_ duplicate suppression scheme, sending the _RREQ_ message to the destination node before the legitimate node through some special means (e.g., using the pre-established tunnels, increasing the transmit power, etc.). Then, the legitimate _RREQ_ messages later received will be discarded. In this way, the source node will establish the route, including the malicious nodes, when the data passes through the malicious node, and it can be discarded or changed arbitrarily by the malicious node. Tunneling attack: two malicious nodes collaborate to transmit the routing messages from another node through the tunnel between them, resulting in the illusion of communication links between the two nodes. Thus, the malicious nodes can easily insert the fork routing information into the other node's routing message, and prevent the other nodes from forming the correct routing information. The advantage of the SAODV protocol is that it can resist the external attacks well. The source authentication and integrity of the messages are provided by the public key algorithm, and each time the routing message arrives at a hop, it has to be carried through a public key calculation. As for the public key algorithm, the computational complexity is high and the energy consumption is also large, so the forwarding performance of the routing protocol is badly influenced. The double signature increases the packet length and the computational complexity of the nodes, and the effect is less important. In SAODV, the \(RREQ\) message generated by the source node is broadcasted using a flooding approach, and it will always propagate over a certain hop range unless it reaches a node that responds to it.