# Source Anonymity against Global Adversary in WSNs Using Dummy Packet Injections: A Survey
## 3 Dummy Packets Techniques
### Cloud-Based Scheme for Protecting Source-Location Privacy (CSPSLP)  
[PERSON], [PERSON] et al. [49] in _CSPSLP_ assumed that multiple sensor nodes detect the asset, and these nodes attempt to inform the sink about the location of the asset simultaneously, which creates a traffic hot-spot. Normally, the adversary seeks hot-spot areas to discover the source node. The main aim of _CSPSLP_ is to hide the actual source inside a cloud that consists of multiple nodes. Therefore, the real hot-spot is hidden within a larger cloud. _CSPSLP_ consists of three stages: In the first stage, each node is assigned a unique _ID_, a secret pairwise key with its neighboring nodes, and a shared key with the sink. These _ID_ and keys are used by nodes to build pseudonyms that are very similar to the hidden identities utilized in Anonymous Path Routing _APR_.  
The second stage is executed at the deployment of the nodes, and it is called the bootstrapping stage. In this stage, each node sends its location to the sink to obtain the shortest path between itself and the sink. The following step is to select some of the nodes randomly that are at most \(h\) hops away from the sensor node itself. These selected nodes become fake sources, and they exchange data with each other to create pseudonyms among them. Each node separates its neighboring nodes into different groups. All created groups are placed in opposite directions from each other. Further, every node shares a secret key with each group.  
The third stage is the event transmission. When a source detects a real event, it decides which node will act as a fake source. Furthermore, the source node broadcasts the packet to one of its groups that was already created. However, the chosen group must have one member on the path towards the selected fake source. The transmitted message contains the actual event encrypted by the pairwise shared key between the source and the sink. Moreover, the pseudonym is shared among the real and fake sources as well as among intermediate nodes, fake sources, real sources, and fake sinks. An intermediate node adds the packet to its buffer only when its pseudonym is in the packet. Otherwise, the intermediate node generates a fake packet with a _TLL_ counter. This packet is forwarded until the _TLL_ counter reaches zero. When the pseudonym of a node is in the packet, the node moves the pseudonym to the next intermediate node and forwards the packet to the group that the node belongs to. All members of the group receive the packet; if the member's pseudonym is not in the packet, the member generates a fake packet. Nevertheless, if the packet has the pseudonym of the member, the member node adds the packet to its buffer and repeats the process until the packet reaches the fake source. Once the fake source receives the packet, it forwards the packet to the sink using the same process as _APR_. However, _CSPSLP_ has only one difference from the original _APR_: _CSPSLP_re-encrypts the packet that has the event information between all intermediate nodes using the shared key between itself and the sink. When the sink receives the packet, it searches for the pseudonym of the source and the fake source to select the appropriate key to decrypt the packet. Finally, dummy traffic that belongs to the same cloud is filtered by the intermediate nodes. For example, if one of the intermediate nodes had many fake packets from the same cloud, the intermediate node has the right to use a filtration mechanism. This filtration is utilized to only forward one of the fake packets to reduce overhead.