# An Efficient Location Verification Scheme for Static Wireless Sensor Networks
## 5 Security and Performance Analysis
### Security Analysis
#### 5.1.3 Analysis on the Effect of D-filtering on the Verification Result  
The malicious sensor can circumvent D-filtering by claiming a fake location that is the same distance from the other sensor, so sometimes D-filtering fails. D-filtering is performed to check the claimant's location at the initial stage of the location verification process and to check the neighbors' locations during the MSR token calculation stage of the process. In the initial stage of the protocol, if the malicious sensor bypasses the filter, it is expected that it will be caught later in the process. In this example, the verifier, \(V\), is always an honest sensor, while the claimant, \(C\), can be either an honest or a malicious sensor. The case where \(V\) is malicious is irrelevant because it would accomplish nothing by acting as such.  
The result of the MSRLV is related to the faking behavior of the malicious sensor, \(M\), which can be categorized as follows: (1) inside of the MSR, (2) from the outside to the inside of the MSR, (3) from the inside to the outside of the MSR or (4) outside of the MSR. Figures 9 and 10 show all of the cases when the \(C\) is honest or malicious. For the simplicity of explanation, it is assumed that \(V\), \(C\) and \(M\) are the only sensors in the network.  
Figure 8: Colluding attack.  
When \(C\) is honest, Figure 9 depicts what \(M\)'s fading behavior looks like. Case (1) has two possible outcomes: \(M\)'s fake location is consistent with the measured distance (1)-1 to either \(V\) or \(C\), or (1)-2 to both of \(V\) and \(C\). Cases (1)-1 and (3) result in the verifier falsely rejecting \(C\), while the Cases (1)-2, (2) and (4) have no effect on the outcome of the verification process.  
Figure 10: The effect of a malicious neighbor on D-filtering between honest and malicious sensor.  
Figure 9: The effect of a malicious neighbor on D-filtering between honest sensors.  
In Cases (1)-1 and (3), \(M\)'s data are included in \(V\)'s token, but are not included in \(C\)'s token. In Case (1)-1, \(M\) passes \(V\)'s D-filtering, but not \(C\)'s. In Case (3), \(M\) cannot even reach \(C\). In each situation, \(V\) and \(C\) will have different MSR tokens, resulting in \(C\)'s false rejection.  
In all other cases, \(M\)'s data are not incorporated into the token of \(V\) and \(C\). Note that \(C\) does not use \(M\)'s data, because it is always outside of the MSR. In Case (1)-2, there are only two locations that have the same distance from both of the \(V\) and the \(C\) on a plane. Those locations are opposite each other, such that each location is inside or outside of the MSR. In Cases (2) and (4), \(V\) does not include \(M\)'s data in its token production since \(M\) lies outside of the MSR. Consequently, \(V\)'s token is not affected by \(M\)'s faking behavior, so verification is successful.  
When \(C\) is malicious, the results of \(M\)'s faking behavior are different than when it is honest. Figure 10 shows each case of \(M\)'s possible faking behavior. Since the \(C\) fakes its location, Case (2) and (3) must be considered in detail. Each case has two sub-cases, as shown in Figure 10. Cases (1), (2)-1, (2)-2 and (3)-2 have no influence on the verification result, while Case (3)-1 can result in the false acceptance of a malicious \(C\).  
In Case (1), \(V\)'s token is not affected because \(M\) will pass \(V\)'s D-filtering. \(C\) is outside of \(M\)'s communication range, so \(C\)'s token is also not affected. In Cases (2)-1 and (2)-2, \(M\)'s data are accepted by \(V\) because \(M\) reported its location as being inside the MSR. \(C\) does not receive a packet from \(M\) or the packet fails to pass through \(C\)'s D-filtering process. In Case (3)-2, \(V\) will use the data from \(M\) because it is within the MSR, but \(C\) cannot because \(M\) is out of its communication range.  
Case (3)-1 results in the false acceptance case of a malicious sensor. As \(M\) fakes its location, \(V\) does not include its data in its token production process. Eventually, \(V\) and \(C\) will produce the same token.