• 沒有找到結果。

3. Proposed Scheme

3.4 Detailing the Complicated Phase

3.4.1 Update Judgment Phase

In Update Judgment Phase, the PC will determine which stations have to update

20

their MAC address through the following two steps: calculation of relative coordinate (section 3.4.2-1), judgment of mobile behavior (section 3.4.2-2).

3.4.2-1 Calculation of Relative Coordinate

Before calculating the relative coordinate for each node, the PC has to translate the signal strength into distance. For different environment concerns, many distance-dependent path loss models have been proposed [7, 8]. Therefore, we omit this part, and detail the method of relative positioning directly.

We define dij to represent the estimated distance between ui and uj, and diG

represents the estimated distance between ui and associated AP. After the PC receives the Signal-Resp message, the distance of each node can be estimated, i.e.

we can get the following Distance Matrix (DM) with size n x (n+1).

u1 u2 u3 … un MACGi describe the algorithm briefly. Consider the scenario in which a group of n users Gi = {u1, u2, …, un} registered with the same APi cooperate with the PC. In Addition, we use Figure 3-3 to help realize the algorithm as follows.

21

Figure 3-3 An example for illustrating the relative positioning algorithm

The first step of our relative positioning algorithm is setting the coordinate of the APi to origin (0, 0). Then we choose two nodes ui, uj ∈ Gi such that dij larger than zero. Next, we place the coordinate of ui on the positive x-axis through referring to the Distance Matrix, so the coordinate of ui is (diG, 0). In addition, calculate the angel α and the coordinate of uj by the following operation:

(xuj, yuj) = diG cos α , diG sin α , where α = cos−1djG2 + diG2 − dij2 2djGdiG

Thus, we have already known three different coordinates, and then we will use the three known coordinates to determine the coordinate (xuk, yuk) of uk, where uk ≠ ui, uj. Next, we use the following operation to calculate the coordinate of uk:

xuk = dkG cos βk

22

Therefore, we can use the method mentioned above to calculate the remainder in Gi. After the steps of calculation of relative coordinate, we will utilize this information to judge the mobile behavior of each user and determine which users will change their MAC address.

3.4.2-2 Judgment of mobile behavior

In this step, we mainly utilize the information of previous step to find out which users may be ambiguous for the attacker. In other words, we want to take our view similar to the attacker’s as possible as we could. Therefore, toward increasing the possibility of unlinkable MAC address and decreasing the possibility of useless update is our goal. Basically, we divide this step into three cases to analyze the mobile behavior of each user. One is Close-Enough case. Another is Mobile-Immobile case which analyzes two users with different mobile behavior, i.e. one is mobile, and another is immobile. The final case is Mobile-Mobile case which analyzes that two users are both in mobile status. In our scheme, if the PC can’t provide any Ref AP for the users or the number of immobile users is smaller than two in current Signal-Resp message, we just have the ability to complete the Close-Enough case. Next, we define a variable, updatei, which is a MAC-address-update flag for ui, and initialize it as false for each user before beginning the following cases. And we detail each case as follows.

i. Close-Enough case

In this case, we mainly analyze which users are close enough. Basically, the idea is derived from the possibility of error estimate for current positioning system. Therefore, we define a variable, called CETi (Close Enough Threshold) for each group Gi, and the value of CETi is determined by the accuracy of

23

triangulation which you want to resist. Therefore, we use the following simple operation to complete the analysis of Close-Enough Case.

1 for j from 1 to n 2 for k from 1 to n

3 if DMjk ≤ CETi and j ≠ k 4 then updatej <- true , updatek <- true

After Close-Enough case, we have marked those users with a close enough neighbor. Next, the Mobile-Immobile and Mobile-Mobile case will be executed, only if the current Signal-Resp message includes at least two immobile users. The reason is judging a user’s mobile direction and velocity in 2D-plane. We need at least three immobile points to refer. Because the APi is one of the three immobile nodes, we just need two immobile nodes more. In addition, our scheme will record the previous (xuj , yuj ) and current coordinate (xuj, yuj) of each user uj for the judgment of the user’s mobile behavior. Finally, if the current Signal-Resp message includes at least two immobile users, there is a little bit different in our relative positioning algorithm. We will set the current coordinate of immobile users equal to previous coordinate. Then the PC utilizes these current coordinates of immobile nodes including APi to find out the coordinates of the remainder by similar way in section 3.4.2-1.

ii. Mobile-Immobile case

We utilize the previous (xui , yui ) and current coordinate (xui, yui) of each user ui to realize the mobile behavior about direction and velocity. Therefore, we will discuss the case, where one is mobile and the other is immobile.

24

Basically, this case mainly analyzes whether there is an immobile user uj close enough to a mobile user uk’s future path (i.e. from (xuk, yuk) to (xuk′′, yuk’’)) in silent period tsp. If this situation holds, it is an opportune time to make the attacker ambiguous. We use Figure 3-4 to help realize the analyzing process.

Figure 3-4 (a) is an example for illustrating the previous mention, and Figure 3-4 (b) illustrates how to know whether the close-enough situation holds or not.

node is updating MAC address and not transmitting node can be tracked by the same MACaddress Mobile

Figure 3-4 illustrating the Mobile-Immobile case

The gray node represents a mobile user uk, and the blue node represents a immobile user uj. We divide the group Gi into two set, i.e. a mobile set and an immobile set. For each user uk who belongs to the mobile set will do the following operations for each user uj who belongs to the immobile set.

Step 1: Calculate the straight-line equation of l uk by previous coordinate (xuk , yuk ) and current coordinate (xuk, yuk) of the mobile user uk.

25

Step 2: Calculate the straight-line equation of l uj which is both orthogonal to luk and passes the coordinate of the immobile user uj (xuj, yuj).

Step 3: Calculate the coordinate (xuk′′ , yuk′′ ) by (xuk′′ , yuk′′ ) = (xuk, yuk) + VVuk× tsp

uk× tPC (xuk − xuk , yuk − yuk ) , where vuk =

(xuk−xuk )2+(yuk−yuk )2 tPC

Step 4: Calculate the coordinate (xs,ys) by solving the linear system of equation, i.e. l uk and l uj.

Step 5: if the following two situations both hold, we will set true for updatej

and updatek. Situation 1:

(xs,ys) is an element of the set which contains the solution set of the line l uk between (xuk′′ , yuk′′ ) and (xuk, yuk).

Situation 2:

The distance d between (xuj, yuj) and the line l uk is small or equal to CETi

(Close Enough Threshold).

iii. Mobile-Mobile case

In the Mobile-Mobile case, we only discuss the case that both the two users are in mobile status. Basically, this case mainly analyzes whether two mobile users (uj,uk) will cross each other in the future path of silent period tsp. If this situation holds, it is an opportune update-time to make the attacker ambiguous. We use Figure 3-5 to explain the analyzing process. Figure 3-5 (a) is an example for illustrating the previous mention, and Figure 3-5 (b) illustrates how to know whether the intersection-situation holds or not.

26

node is updating MAC address and not transmitting node can be tracked by the same MACaddress Mobile user uk

Figure 3-5 illustrating the Mobile-Mobile case

The gray node and blue node respectively represent the mobile user uk and uj. For each user uk who belongs to the mobile set will do the following operations for each user uj who belongs to the mobile set.

27

Step 6: if either the following situation holds, we will set true for updatej and updatek .

Situation 1: (xs,ys) is an element of the set which contains the solution set of the line l uk between (xuk′′ , yuk′′ ) and (xuk, yuk) and (xs,ys) is also an element of the set which contains the solution set of the line l uj between (xuj′′, yuj′′) and (xuj, yuj).

Situation 2: the distance d between (xuk′′ , yuk′′ ) and (xuj′′, yuj′′) is small or equal to CETi (Close Enough Threshold).

3.4.2 -3 Update MAC address

After completing the judgment of mobile behavior, we will choose a new MAC address for the user uj whose updatej has been set to true. Then, we use a Spatio-Temporal Addressing [9] to generate a new MAC address for avoiding collision.

Basically, the main idea of Spatio-Temporal Addressing is based on the fact that two objects cannot exist at the same location at the same time. Therefore, we can achieve this goal of avoiding collision through an injection function .Finally, we send MAC-Update message to those users who need to update MAC address.

相關文件