# A Study on High Secure and Efficient MANET Routing Scheme

Authors: Wei-Chen Wu; Horng-Twu Liaw
Journal: Journal of Sensors
 (2015)

---

## Abstract

In mobile ad hoc networks (MANETs), the more applications we use, the more security is required. In this paper, we propose a high secure and efficient routing scheme that not only satisfies the properties of anonymity, security, authentication, nonrepudiation, and unforgeability that the previous paper achieved for ad hoc networks, but also satisfies other necessary properties such as confidentiality, traceability, and flexibility for multipaths in order to make the ad hoc environment more secure and practicable.


---

## Body

## 1. Introduction

In the near future, wireless networks will play an impartment role in information communication and transmission. Compared to wired network environments, wireless networks are more convenient for users in that users can connect to the Internet with mobility. Once the foundation equipment has been established, the user can use the mobile devices such as PDAs or notebooks to access resources on the Internet anywhere. Many practical daily problems can be solved in the mobile environment—for example, finding locations, booking seats on a plane, or finding the shortest path to a destination. Users can obtain answers to questions quickly in the mobile environment through the use of mobile devices and wireless networks  [1]. The more applications are found for wireless networks, the more security issues are being discussed for wireless networks. In 2013, this paper proposed an anonymous authentication scheme which ensures user unlinkability. It is impossible for attackers to know that particular sessions, which have already occurred several times, are originated from one same user [2]. The findings in this paper are useful for identifying the factors that must be managed for NFC-based mobile payment services  [3, 4]. In 2013, the paper proposed an energy efficient method for clustering the nodes in the network  [5]. The paper proposed an ETSI complaint geonetworking protocol layer and discussed the architecture of our implementation  [6]. This paper proposed a network-based handover scheme for Host Identity Protocol in the mobile networks, in which the access routers of the mobile node will establish a handover tunnel and will perform the route optimization for data transmission  [7]. Recently, this paper proposed the security based algorithmic approach in the mobile ad hoc networks  [8, 9].Routing is an important networking function in mobile ad hoc networks  [10, 11]. Therefore, an enemy can collapse a network operation easily by attacking the routing protocol. Many researchers have proposed secure routing protocols for ad hoc networks  [12–15]. The security of those protocols has been analyzed by informal means or formal methods that have never been intended for the analysis of this kind of protocol  [16]. Other attacks can be found in  [12]. There are two functions for routing: route discovery and packet forwarding. Route discovery is concerned with discovering routes between nodes, and packet forwarding is concerned with sending data packets through the previously discovered routes. There are different types of ad hoc routing protocols. One can distinguish proactive (e.g., OLSR  [13]) and reactive (e.g., AODV  [17] and DSR  [18]) protocols.In previous studies, wireless security studies  [11, 19–22], researchers have mainly proposed that security issues be considered in the wireless network. These researchers have suggested that there are two kinds of attack behavior: (1) passive attack behavior  [23] and (2) active attack behavior  [24]. Passive attacks involve attackers who do not transmit packets to attack the victim’s computer but rather eavesdrop on messages sent to/from the victim’s computer to affect the privacy and the anonymity between the sender and the receiver. Active attacks involve transmitting packets to attack and affect the operation of the victim’s computer. From the viewpoint of the user, there are two kinds of denial-of-service (DoS): (1) routing-disruption attacks, in which the attacker attempts to forge the legal packet that is transmitted, and (2) resource-consumption attacks, in which the attacker transmits mass meaningless packets to occupy the user’s bandwidth, waste memory and computing resources, and paralyze the service and operation ability of the computer.


## 2. Literature Review

Compared to wired networks, the wireless network is easy to attack because of its openness, its dynamic network topology, and its lack of the central monitoring and management. Security issues are becoming more and more important in wireless networks. Several wireless security studies  [25–27] have discussed the properties of security, such as confidentiality, integrity, authentication, availability, fairness, anonymity, non-source-based routing, resilience against path hijacking, lack of source control over route length, and privacy. There are several properties of ad hoc routing security: reliability, confidentiality, integrity, and verification  [28, 29].Reliability. The attacker interferes with the physical layer and makes the data cannot be delivered. Or the attacker breaks down the network routing function and creates topology splits. Alternatively, the network could incur a DoS attack.Confidentiality. Because the MANET was originally applied in military environments, not only the general information, but also the routing information must be kept confidential. If this is done, the enemy will be unable to find the target position through the routing information.Integrity. To ensure that delivered data will not be forged or modified by the attacker, some secure methods can be applied to retain information integrity  [30].Verification. In MANETs, each node plays the role of routing the path or verifying the data. Because the data must be delivered by trusted nodes, it is very important to verify whether the nodes are trusted.In Boukerche’s scheme  [31], an anonymous wireless protocol was proposed. The source generated a path discovery phase. The source sent a request packet with some information including a trust requirement, a one-time public/private key pair, and a destination identity. Each middle node had a mapping table to map the session and the session key that the node should use. If the middle node had received the request packet previously, it would ignore the packet. The node would decrypt the packet using the session key and forward the packet in the direction of the destination. Each middle node that received the packet would try to decrypt it using its own private key. Then it will forward the encrypted packets to its next hop.Then the destination will collect all the identities and session keys, encrypt the information using each middle node’s session key, and forward the message back to the source. In the path reverse phase, the middle nodes in the reverse path will receive the packets. After that, each middle node will decrypt the packet using its privacy key and then will obtain the temporal privacy key. The middle node will decrypt and obtain the identities session key and random numbers of all the middle nodes. Then the receiver will compose the messages from the destination to the source; this includes all the random numbers and session keys. All the information will be encrypted by each node’s session key and operated using the next node’s random number sequentially. Thus, each node on the reverser path will execute an exclusive-OR (XOR) operation with its random number and obtain the session key. After the source obtains all the messages from the middle nodes, it will generate a mapping table through the middle node identity and the random number of each middle node identity and then will transmit the mapping table to its next node in the reserve path. Then, in the data transfer phase, it will use a secure forwarding protocol such as Onion  [22]. After the source obtains the reserve path message and verifies that the message is correct, it will encrypt the message using the middle nodes’ session key sequentially. Each middle node simply needs to decrypt the message by its own session key and forward the message to its next node to the destination.In this scheme, the packets are anonymous, secure, and private in the transmitting phase. The scheme can prevent the attacker from analyzing the network flow and provide the privacy of the sender and receiver. All the nodes can establish the location information and the anonymous routing paths by exchanging routing information. In the ad hoc environment, because of node mobility, it is difficult to establish all of the location information for all the nodes. Thus, the scheme proposes a distributed routing scheme to establish an anonymous routing path and achieve the security properties of non-source-based routing and resilience against path hijacking. But Boukerche’s scheme still has some aspects that could be improved, such as efficiency. Boukerche’s scheme uses lots of public key system operations, and this could lead to increased power consumption, wasted memory space, and increased operating time for each node. Wu et al.’s scheme  [32] proposes a zone-based anonymous positioning routing protocol (ZAP) and includes three wireless transmitting systems with different degrees of anonymity. In this scheme, the client generates an anonymous zone (AZ) and sends a data request to the server. After the server receives the data request, it follows the three different anonymous systems to execute the wireless transmission. The following are the three anonymous wireless transmitting systems.


### 2.1. ZAP with Pseudo Destination (PD-ZAP)

The destination will generate a pseudo destination (PD) randomly, not far from the destination. The PD location will be marked in the packet and sent to the server. The server then sends the data packets in the direction of the pseudo destination. Finally, the data packets are sent to a node that is the closest node to the pseudo destination. Then the node is set as a proxy. The proxy broadcasts the data packets to its neighbors by its maximum transmission range. Because the real destination is not far from the pseudo destination, the real destination can receive the data packets.


### 2.2. Geocasting Anonymous Approach (G-ZAP)

The distance between the destination and the pseudo destination will not be too far. The node chooses a circle area as the destination-anonymous zone (D-AZ). The server sends the data to the center of the D-AZ, and the first node to receive the data in the circle will be the proxy. The proxy will flood the data to each node in the D-AZ.


### 2.3. ZAP with Route Redundancy (RR-ZAP)

As in the PD-ZAP, in the RR-ZAP, the destination generates a pseudo destination (PD) randomly, not far from the destination. But the distance between the destination and the pseudo destination, in this case, is kept for several hops, and the location of the destination is closer than that of the pseudo destination. Because Wu et al.’s scheme uses a DSR-like protocol  [29], the server’s data has to pass the real destination to the pseudo destination, and the real destination can thus obtain the data.Wu et al.’s scheme can only achieve anonymity for a destination; the server cannot be anonymous. Additionally, the degree of anonymity in Wu et al.’s system depends on the node numbers in the anonymity zone (AZ). We can estimate the approximate location of the destination because the scheme uses the greedy geoforwarding protocol. Every forwarder can know the approximate location of the client. Lastly, Wu et al.’s scheme has only one single path; if the path is jammed, it will cause a transmission delay, which is not flexible.Furthermore, there are some aspects of Boukerche’s scheme that could be improved, such as efficiency. Boukerche’s scheme expends a large amount of computing resources to the nodes for public key system processing, and this also costs memory and consumes power. In the next section, we will introduce a new wireless ad hoc scheme with both security and efficiency properties. This scheme is adaptive to the real wireless environment.


## 2.1. ZAP with Pseudo Destination (PD-ZAP)

The destination will generate a pseudo destination (PD) randomly, not far from the destination. The PD location will be marked in the packet and sent to the server. The server then sends the data packets in the direction of the pseudo destination. Finally, the data packets are sent to a node that is the closest node to the pseudo destination. Then the node is set as a proxy. The proxy broadcasts the data packets to its neighbors by its maximum transmission range. Because the real destination is not far from the pseudo destination, the real destination can receive the data packets.


## 2.2. Geocasting Anonymous Approach (G-ZAP)

The distance between the destination and the pseudo destination will not be too far. The node chooses a circle area as the destination-anonymous zone (D-AZ). The server sends the data to the center of the D-AZ, and the first node to receive the data in the circle will be the proxy. The proxy will flood the data to each node in the D-AZ.


## 2.3. ZAP with Route Redundancy (RR-ZAP)

As in the PD-ZAP, in the RR-ZAP, the destination generates a pseudo destination (PD) randomly, not far from the destination. But the distance between the destination and the pseudo destination, in this case, is kept for several hops, and the location of the destination is closer than that of the pseudo destination. Because Wu et al.’s scheme uses a DSR-like protocol  [29], the server’s data has to pass the real destination to the pseudo destination, and the real destination can thus obtain the data.Wu et al.’s scheme can only achieve anonymity for a destination; the server cannot be anonymous. Additionally, the degree of anonymity in Wu et al.’s system depends on the node numbers in the anonymity zone (AZ). We can estimate the approximate location of the destination because the scheme uses the greedy geoforwarding protocol. Every forwarder can know the approximate location of the client. Lastly, Wu et al.’s scheme has only one single path; if the path is jammed, it will cause a transmission delay, which is not flexible.Furthermore, there are some aspects of Boukerche’s scheme that could be improved, such as efficiency. Boukerche’s scheme expends a large amount of computing resources to the nodes for public key system processing, and this also costs memory and consumes power. In the next section, we will introduce a new wireless ad hoc scheme with both security and efficiency properties. This scheme is adaptive to the real wireless environment.


## 3. A High Secure and Efficient MANET Routing Scheme

In this section, a new wireless ad hoc scheme with both security and efficiency properties will be proposed. This scheme is adaptive to the real wireless environment. Our scheme not only satisfies the requirements of previous schemes, such as security, authentication, unforgeability, and nonrepudiation, but also includes source anonymity, destination anonymity, middle node anonymity, confidentiality, traceability, and flexibility for multipaths. It also offers improved efficiency in order to make the wireless environment more practical. There are four phases in the proposed secure routing scheme: (1) the transmitting request phase, (2) the request reply phase, (3) the data transmitting phase, and (4) the data transmitted phase. The details of this proposed secure routing scheme follow.


### 3.1. Transmitting Request Phase

(i)S
→
All: E
R
P
K
[
S
i
g
n
S
S
K
[
S
i
d
,
R
i
d
,
T
i
m
e
s
,
D
a
t
a
s
i
z
e
,
r
S
]
,
r
S
⊕
S
e
s
s
i
o
n
S
R
,
r
S
⊕
S
R
S
K
],  T
r
a
n
i
d,  S
R
P
K. Firstly, the sender S broadcasts the packets to others in the ad hoc networks to announce that he wants to transmit the data. The sender S then generates a shared session key S
e
s
s
i
o
n
S
R for the receiver R, a shared pair public key S
R
P
K for the receiver R, a shared pair private key S
R
S
K for the receiver R, a random number r
S chosen by the sender S, the data transmitting serial number T
r
a
n
i
d
=
r
S
⊕
h
(
S
i
d
,
R
i
d
,
T
i
m
e
s
,
D
a
t
a
s
i
z
e
), and the identities of forwarding nodes on the sender’s routing table N
o
d
e
S
1
_
i
d
=
h
(
r
S
), N
o
d
e
S
2
_
i
d
=
h
(
2
r
S
), and N
o
d
e
S
3
_
i
d
=
h
(
3
r
S
).Then, the senderS signs the sender’s identity S
i
d, the receiver’s identity R
i
d, the transmit requesting time T
i
m
e
S, the data size D
a
t
a
s
i
z
e, and the sender’s random number r
S by the sender’s private key S
S
K and executes a XOR operation ⊕ with the session key S
e
s
s
i
o
n
S
R and the shared secret key S
R
S
K. All the messages above would be encrypted by the receiver’s public key R
P
K. Then the data is added by transmitting the serial number T
r
a
n
i
d and the shared public key S
R
P
K. All the messages are broadcasted throughout the wireless ad hoc networks. We would replace E
R
P
K
[
S
i
g
n
S
S
K
[
S
i
d
,
R
i
d
,
T
i
m
e
s
,
D
a
t
a
s
i
z
e
,
r
S
]
,
r
S
⊕
S
e
s
s
i
o
n
S
R
,
r
S
⊕
S
R
S
K
] withInitial.(ii)N
o
d
e
1
→
N
o
d
e
2: E
S
R
P
K
[
N
o
d
e
1
_
i
d
,
t
i
m
e
1
,
r
N
1
,
C
o
u
n
t
1
],Initial, T
r
a
n
i
d, S
R
P
K. By broadcasting, a node N
o
d
e
1 at one hub distance from the sender S uses the shared public key S
R
P
K to encrypt the identity number N
o
d
e
1
_
i
d of the N
o
d
e
1, the time the N
o
d
e
1 receives the message t
i
m
e
1, N
o
d
e
1’s random number r
N
1, and the total forwarding time C
o
u
n
t
1. The ciphertext above would add the original information: the data transmitting serial number T
r
a
n
i
d and the shared public key S
R
P
K. It then broadcasts the message continually to the node N
o
d
e
2 at two-hub distance from the sender S. We would replace the ciphertext E
S
R
P
K
[
N
o
d
e
1
_
i
d
,
t
i
m
e
1
,
r
N
1
,
C
o
u
n
t
1
] with N
o
d
e
1
_
i
n
f
o.(iii)N
o
d
e
2
→
N
o
d
e
3: E
S
R
P
K
[
N
o
d
e
2
_
i
d
,
t
i
m
e
2
,
r
N
2
,
C
o
u
n
t
2
],Initial, T
r
a
n
i
d, S
R
P
K, N
o
d
e
1
_
i
n
f
o. Then, the node N
o
d
e
2 would encrypt the identity number N
o
d
e
2
_
i
d of the N
o
d
e
2, the data received time t
i
m
e
2 of N
o
d
e
2, the random number r
N
2 chosen by N
o
d
e
2, and the total forwarding time C
o
u
n
t
2. The messages above add the data transmitting serial number T
r
a
n
i
d, the shared public key S
R
P
K, and all the information about node1 N
o
d
e
1
_
i
n
f
o. Then the message would be broadcasted continually to the node N
o
d
e
3 at three hubs away from the sender S. We would replace the ciphertext E
S
R
P
K
[
N
o
d
e
2
_
i
d
,
t
i
m
e
2
,
r
N
2
,
C
o
u
n
t
2
] with N
o
d
e
2
_
i
n
f
o.(iv)N
o
d
e
n
→
N
o
d
e
R: E
S
R
P
K
[
N
o
d
e
n
_
i
d
,
t
i
m
e
n
,
r
N
n
,
C
o
u
n
t
n
],Initial, T
r
a
n
i
d, S
R
P
K, N
o
d
e
1
_
i
n
f
o, N
o
d
e
2
_
i
n
f
o
,
…
,
N
o
d
e
n
-
1
_
i
n
f
o. Finally, the receiver R obtains the broadcasted message and decrypts the messageInitial using the receiver’s secret key R
S
K to obtain the transmitting request message from the sender S. The receiver R then verifies whether the message S
i
g
n
S
S
K
[
S
i
d
,
R
i
d
,
T
i
m
e
s
,
D
a
t
a
s
i
z
e
,
r
S
] was sent from the sender S using the sender’s public key S
P
K and obtains the sender’s identity S
i
d, the receiver’s identity R
i
d, the transmit requesting time T
i
m
e
s,   the data size D
a
t
a
s
i
z
e, and the sender’s random number r
S.


### 3.2. Request Reply Phase

After the receiverR obtains the sender’s random number r
S, the receiver R would execute a XOR operation ⊕, respectively, with the messages r
S
⊕
S
e
s
s
i
o
n
S
R
⊕
r
S
=
S
e
s
s
i
o
n
S
R and r
S
⊕
S
R
S
K
⊕
r
S
=
S
R
S
K to get the shared secret key S
R
S
K and the session key S
e
s
s
i
o
n
S
R. The receiver R would decrypt the ciphertext including the information about the N
o
d
e
1
_
i
n
f
o,  N
o
d
e
2
_
i
n
f
o
,
…
,
N
o
d
e
n
_
i
n
f
o by the shared secret key S
R
S
K in order to obtain the identity of each node N
o
d
e
x
_
i
d, the data transmitted time of each node t
i
m
e
x, the random number chosen by each node r
N
x, and the total forwarding time C
o
u
n
t
x.ReceiverR would establish the different path in routing table from the sender S to the receiver R. The receiver R would decrypt N
o
d
e
n
_
i
n
f
o in order to obtain the identity of each node N
o
d
e
x
_
i
d and the total forwarding time C
o
u
n
t
x to know the paths from the sender S to the receiver R. Because the total forwarding time for each path would be different, the receiver R would choose the paths P
a
t
h
x that have the different nodes for each path (without the same node in two paths).Then the total forwarding timeC
o
u
n
t
x would be ordered from few to many and the sender S could consider some issues in order to decide to receive the data. Considering the specific number of hub-count, wanting to finish the transmitting as soon as possible, wanting to save power, or wanting to avoid the malicious middle node, the receiver R could choose a multipath. Considering reducing the traffic jam for a specific area/time slot in the ad hoc networks, the receiver R could choose a multipath.Figure1 shows the environment of the ad hoc networks. For the secure reason, they are assumed to choose the multipath because there are two paths for the fewest number, the fewest number is 3, of the total forwarding time C
o
u
n
t
x:P
a
t
h
1
:N
o
d
e
S
_
i
d
-
N
o
d
e
1
_
i
d
-
N
o
d
e
2
_
i
d
-
N
o
d
e
3
_
i
d
-
N
o
d
e
R
_
i
d,
P
a
t
h
2: N
o
d
e
S
_
i
d
-
N
o
d
e
4
_
i
d
-
N
o
d
e
5
_
i
d
-
N
o
d
e
6
_
i
d
-
N
o
d
e
R
_
i
d.Figure 1
The environment of the ad hoc network.There is one path for the total forwarding timeC
o
u
n
t
x:P
a
t
h
3: N
o
d
e
S
_
i
d
-
N
o
d
e
7
_
i
d
-
N
o
d
e
8
_
i
d
-
N
o
d
e
9
_
i
d
-
N
o
d
e
10
_
i
d
-
N
o
d
e
R
_
i
d.In order to avoid a malicious middle node to guess the hub-count range by the amounts of the value in the information path from the senderS to the receiver R, the pseudo values r
p
s
e
u
d
o
_
11 to r
p
s
e
u
d
o
_
3
n would be added to confuse the malicious middle node. The pseudo value could be added arbitrarily. In S
→
All, for avoiding the collusion of the middle nodes, the identity of each node would be replaced as follows:N
o
d
e
S
1
_
i
d
=
h
r
S, N
o
d
e
S
2
_
i
d
=
h
2
r
S, N
o
d
e
S
3
_
i
d
=
h
(
3
r
S
).Therefore, as even the middle nodes collude, it is impossible to map out the same identity for the middle node in order to protect the receiverR. In each path, the receiver R would, respectively, choose a random number r
N
n for his one-hub-count distance neighbor and a random number N
o
d
e
n
-
1
_
i
d for his two-hub neighbor and then execute a XOR operation ⊕, for example, r
N
3
⊕
N
o
d
e
2
_
i
d. Therefore, when the message from the receiver R is sent back to the sender S, because the middle nodes know their chosen random number r
X, when the node executes a XOR ⊕ operation with the message and his random number r
X, the node can know what the identity is of the next node and forwards the message to the next node. For example, r
N
3
⊕
N
o
d
e
2
_
i
d
⊕
r
N
3
=
N
o
d
e
2
_
i
d. Table 1 shows the routing table of receiverRouting_table computed by the receiver R:(i)
R
→
N
o
d
e
3: E
S
e
s
s
i
o
n
S
R
[
S
i
d
,
R
i
d
,
r
S
,
r
R
,
r
1
,
…
,
r
10
,
D
a
t
a
s
i
z
e
,
t
i
m
e
S
,
t
i
m
e
R
,
R
o
u
t
i
n
g
_
t
a
b
l
e
]
⊕
r
S, r
N
3
⊕
[
t
i
m
e
3
,
T
r
a
n
i
d
,
P
a
t
h
1
], r
N
2
⊕
[
t
i
m
e
2
,
T
r
a
n
i
d
,
P
a
t
h
1
], r
N
1
⊕
[
t
i
m
e
1
,
T
r
a
n
i
d
,
P
a
t
h
1
], r
p
s
e
u
d
o
_
41
,
…
,
r
p
s
e
u
d
o
_
4
n,
(ii)
R
→
N
o
d
e
6: E
S
e
s
s
i
o
n
S
R
[
S
i
d
,
R
i
d
,
r
S
,
r
R
,
r
1
,
…
,
r
10
,
D
a
t
a
s
i
z
e
,
t
i
m
e
S
,
t
i
m
e
R
,
R
o
u
t
i
n
g
_
t
a
b
l
e
]
⊕
r
S,  r
N
6
⊕
t
i
m
e
6
,
T
r
a
n
i
d
,
P
a
t
h
2, r
N
5
⊕
t
i
m
e
5
,
T
r
a
n
i
d
,
P
a
t
h
2, r
N
4
⊕
t
i
m
e
4
,
T
r
a
n
i
d
,
P
a
t
h
2, r
p
s
e
u
d
o
_
51
,
…
,
r
p
s
e
u
d
o
_
5
n,
(iii)
R
→
N
o
d
e
10: E
S
e
s
s
i
o
n
S
R
[
S
i
d
,
R
i
d
,
r
S
,
r
R
,
r
1
,
…
,
r
10
,
D
a
t
a
s
i
z
e
,
t
i
m
e
S
,
t
i
m
e
R
,
R
o
u
t
i
n
g
_
t
a
b
l
e
]
⊕
r
S,  r
N
10
⊕
[
t
i
m
e
10
,
T
r
a
n
i
d
,
P
a
t
h
3
],  r
N
9
⊕
[
t
i
m
e
9
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
N
8
⊕
[
t
i
m
e
8
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
N
7
⊕
[
t
i
m
e
7
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
p
s
e
u
d
o
_
61
,
…
,
r
p
s
e
u
d
o
_
6
n.Table 1
The receiver’s routing table.
Routing_table
Path
Message
P
a
t
h
1
r
p
s
e
u
d
o
_
11
r
N
3
⊕
N
o
d
e
2
_
i
d
r
p
s
e
u
d
o
_
12
⋯
r
N
2
⊕
N
o
d
e
1
_
i
d
r
p
s
e
u
d
o
_
1
n
r
N
1
⊕
N
o
d
e
S
1
_
i
d
P
a
t
h
2
r
p
s
e
u
d
o
_
21
r
N
6
⊕
N
o
d
e
5
_
i
d
r
N
5
⊕
N
o
d
e
4
_
i
d
⋯
r
p
s
e
u
d
o
_
2
n
-
1
r
p
s
e
u
d
o
_
2
n
r
N
4
⊕
N
o
d
e
S
2
_
i
d
P
a
t
h
3
r
N
10
⊕
N
o
d
e
9
_
i
d
r
p
s
e
u
d
o
_
31
r
N
9
⊕
N
o
d
e
8
_
i
d
⋯
r
N
8
⊕
N
o
d
e
7
_
i
d
r
N
7
⊕
N
o
d
e
S
3
_
i
d
r
p
s
e
u
d
o
_
3
nThe receiverR would encrypt the sender’s identity S
i
d, the receiver’s identity R
i
d, the sender’s random number r
S, the receiver’s random number r
R, the data size D
a
t
a
s
i
z
e, transmit requesting timetime
S, data received time t
i
m
e
R, and the routing table of receiver R
o
u
t
i
n
g
_
t
a
b
l
e by the session key S
e
s
s
i
o
n
S
R and would then execute a XOR operation ⊕ with the sender’s random number r
S. In P
a
t
h
1, the middle nodes would execute a XOR operation ⊕ with each node’s data transmitted time t
i
m
e
X, the data transmitting serial number T
r
a
n
i
d, and the P
a
t
h
1. Therefore, only the node could know these messages by its random number r
X and computes the next node in order to forward the message. P
a
t
h
1 shows that the receiver R transmits the message to the N
o
d
e
3 and the N
o
d
e
3 could compute to obtain the message [
t
i
m
e
3
,
T
r
a
n
i
d
,
P
a
t
h
1
] by its random number r
N
3. After the N
o
d
e
3 confirms the data transmitted time t
i
m
e
3 and the data transmitting serial number T
r
a
n
i
d, it could execute a XOR operation ⊕ with the identity N
o
d
e
2
_
i
d of N
o
d
e
2 by N
o
d
e
3’s random number r
N
3:r
N
3
⊕
N
o
d
e
2
_
i
d
⊕
r
N
3
=
N
o
d
e
2
_
i
d.ThenN
o
d
e
3 would forward the message to N
o
d
e
2. The pseudo values r
p
s
e
u
d
o
_
41
,
…
,
r
p
s
e
u
d
o
_
4
n could be increased or decreased dynamically. The forwarding method for P
a
t
h
2 and P
a
t
h
3 is similar to that for P
a
t
h
1. We would replace the message E
S
e
s
s
i
o
n
S
R
[
S
i
d
,
R
i
d
,
r
R
,
r
S
,
r
1
,
…
,
r
10
,
D
a
t
a
s
i
z
e
,
t
i
m
e
S
,
t
i
m
e
R, R
o
u
t
i
n
g
_
t
a
b
l
e
]
⊕
r
S withBack:(i)
N
o
d
e
3
→
N
o
d
e
2:Back, r
N
3
⊕
[
t
i
m
e
3
,
T
r
a
n
i
d
,
P
a
t
h
1
], r
N
2
⊕
[
t
i
m
e
2
,
T
r
a
n
i
d
,
P
a
t
h
1
], r
N
1
⊕
[
t
i
m
e
1
,
T
r
a
n
i
d
,
P
a
t
h
1
],
(ii)
N
o
d
e
6
→
N
o
d
e
5:Back, r
N
6
⊕
[
t
i
m
e
6
,
T
r
a
n
i
d
,
P
a
t
h
2
], r
N
5
⊕
[
t
i
m
e
5
,
T
r
a
n
i
d
], r
N
4
⊕
[
t
i
m
e
4
,
T
r
a
n
i
d
,
P
a
t
h
2
],
(iii)
N
o
d
e
10
→
N
o
d
e
9:Back, r
N
10
⊕
[
t
i
m
e
10
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
N
9
⊕
[
t
i
m
e
9
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
N
8
⊕
[
t
i
m
e
8
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
N
7
⊕
[
t
i
m
e
7
,
T
r
a
n
i
d
,
P
a
t
h
3
].AfterN
o
d
e
2 receives the message from N
o
d
e
3, N
o
d
e
2 would do the same thing to confirm the data transmitted time t
i
m
e
2 and the data transmitting serial number T
r
a
n
i
d and would then obtain the message identity N
o
d
e
1
_
i
d of N
o
d
e
1 in P
a
t
h
1 by executing a XOR operation with its random number r
2 and sending the message to N
o
d
e
1. The method for P
a
t
h
2 and P
a
t
h
3 is similar to that for P
a
t
h
1:(i)
N
o
d
e
2
→
N
o
d
e
1:Back, r
N
3
⊕
[
t
i
m
e
3
,
T
r
a
n
i
d
,
P
a
t
h
1
], r
N
2
⊕
[
t
i
m
e
2
,
T
r
a
n
i
d
], r
N
1
⊕
[
t
i
m
e
1
,
T
r
a
n
i
d
,
P
a
t
h
1
],
(ii)
N
o
d
e
5
→
N
o
d
e
4:Back, r
N
6
⊕
[
t
i
m
e
6
,
T
r
a
n
i
d
,
P
a
t
h
2
], r
N
5
⊕
[
t
i
m
e
5
,
T
r
a
n
i
d
,
P
a
t
h
2
], r
N
4
⊕
[
t
i
m
e
4
,
T
r
a
n
i
d
,
P
a
t
h
2
],
(iii)
N
o
d
e
9
→
N
o
d
e
8:Back, r
N
10
⊕
[
t
i
m
e
10
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
N
9
⊕
[
t
i
m
e
9
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
N
8
⊕
[
t
i
m
e
8
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
N
7
⊕
[
t
i
m
e
7
,
T
r
a
n
i
d
,
P
a
t
h
3
].AfterN
o
d
e
1 receives the message from N
o
d
e
2, N
o
d
e
1 would do the same thing to confirm the data transmitted time t
i
m
e
1 and the data transmitting serial number T
r
a
n
i
d and then obtains the message identity N
o
d
e
S
1
_
i
d of N
o
d
e
1 in P
a
t
h
1 by executing a XOR operation with its random number r
1 and sending the message to the sender S. The method for P
a
t
h
2 and P
a
t
h
3 is similar to that for P
a
t
h
1:(i)
N
o
d
e
1
→
S:Back, r
N
3
⊕
[
t
i
m
e
3
,
T
r
a
n
i
d
,
P
a
t
h
1
], r
N
2
⊕
[
t
i
m
e
2
,
T
r
a
n
i
d
,
P
a
t
h
1
], T
r
a
n
i
d, P
a
t
h
1.
(ii)
N
o
d
e
4
→
S:Back, r
N
6
⊕
[
t
i
m
e
6
,
T
r
a
n
i
d
,
P
a
t
h
2
], r
N
5
⊕
[
t
i
m
e
5
,
T
r
a
n
i
d
,
P
a
t
h
2
], T
r
a
n
i
d, P
a
t
h
2.
(iii)
N
o
d
e
7
→
S:Back, r
N
10
⊕
[
t
i
m
e
10
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
N
9
⊕
[
t
i
m
e
9
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
N
8
⊕
[
t
i
m
e
8
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
N
7
⊕
[
t
i
m
e
7
,
T
r
a
n
i
d
,
P
a
t
h
3
].After all the messages ofP
a
t
h
1, P
a
t
h
2, and P
a
t
h
3 have been received by the sender S, the sender S would execute a XOR operation ⊕ with the sender’s random number r
S andBack and then decrypt the ciphertext E
S
e
s
s
i
o
n
S
R
[
S
i
d
,
R
i
d
,
r
S
,
r
R
,
r
1
,
…
,
r
10
,
D
a
t
a
s
i
z
e
,
t
i
m
e
S
,
t
i
m
e
R
,
R
o
u
t
i
n
g
_
t
a
b
l
e
] in order to obtain the sender’s identity S
i
d, the receiver’s identity R
i
d, the sender’s random number r
S, the receiver’s random number r
R, the random number of the middle nodes r
1
,
…
,
r
10, the data size D
a
t
a
s
i
z
e, the transmit requesting time t
i
m
e
S, the data received time t
i
m
e
R, and the routing table of receiver R
o
u
t
i
n
g
_
t
a
b
l
e:D
S
e
s
s
i
o
n
S
R
[
E
S
e
s
s
i
o
n
S
R
[
S
i
d
,
R
i
d
,
r
S
,
r
R
,
r
1
,
…
,
r
10
,
D
a
t
a
s
i
z
e
,
t
i
m
e
S
,
t
i
m
e
R
,
R
o
u
t
i
n
g
_
t
a
b
l
e
]
⊕
r
S
⊕
r
S
]
=
S
i
d
,
R
i
d, r
S
,
r
R
,
r
1
,
…
,
r
10
,
D
a
t
a
s
i
z
e
,
t
i
m
e
S
,
t
i
m
e
R
,
R
o
u
t
i
n
g
_
t
a
b
l
e.(i)
S:To Obtain the Information for Each Node,
S
Executes a XOR Operation with
r
1
to
r
10.   The sender S would, respectively, execute the XOR operation ⊕ with the random number r
1
,
…, to r
10, for N
o
d
e
1 and the message r
N
1
⊕
N
o
d
e
S
1
_
i
d on the routing table of the receiver’s R
o
u
t
i
n
g
_
t
a
b
l
e, for N
o
d
e
2 and the message r
N
2
⊕
N
o
d
e
S
2
_
i
d
,
…, to node 10 and the message r
N
10
⊕
N
o
d
e
9
_
i
d, in order to obtain the identity of each middle node. For example, r
N
1
⊕
N
o
d
e
S
1
_
i
d
⊕
r
N
1
=
N
o
d
e
S
1
_
i
d
,
r
N
2
⊕
N
o
d
e
1
_
i
d
⊕
r
N
2
=
N
o
d
e
1
_
i
d.


### 3.3. Data Transmitting Phase

S could establish the different routing paths for different requirements. The sender S would execute the one-way hash function for the N
o
d
e
R
1
_
i
d
=
h
(
r
R
), N
o
d
e
R
2
_
i
d
=
h
(
2
r
R
), and N
o
d
e
R
3
_
i
d
=
h
(
3
r
R
). The same method that the receiver R uses in the request reply phase in order to avoid the guessing from the malicious middle node to know the possible range of the receiver R and the sender S and the pseudo values r
s
e
n
d
i
n
g
_
11 to r
s
e
n
d
i
n
g
_
3
n would be added to expand the guessing range. The pseudo value r
p
s
e
u
d
o could be added dynamically. For avoiding the collusion of the middle nodes, the sender S would execute the one-way hash function for the N
o
d
e
S
1
_
i
d
=
h
(
r
S
), N
o
d
e
S
2
_
i
d
=
h
(
2
r
S
), and N
o
d
e
S
3
_
i
d
=
h
(
3
r
S
).Even though the middle nodes collude to guess for the senderS, they could not find the same identity for the sender S. In each path, the sender S would, respectively, choose a random number r
N
n for his one-hub-count distance neighbor and a random number N
o
d
e
n
-
1
_
i
d for his two-hub neighbor and would then execute a XOR operation ⊕, for example, r
N
3
⊕
N
o
d
e
2
_
i
d. Therefore, when the message from the sender S transmits to the receiver R, because all the middle nodes know their random number r
X, the middle nodes execute a XOR operation ⊕ with the message. Table 2 shows the routing table of sender S
e
n
d
i
n
g
_
t
a
b
l
e computed by the sender S. For example, r
N
1
⊕
N
o
d
e
2
_
i
d
⊕
r
N
1
=
N
o
d
e
2
_
i
d:(i)
S
→
N
o
d
e
1: E
S
e
s
s
i
o
n
S
R
[
D
a
t
a
1
_
i
d
,
t
i
m
e
S
,
t
i
m
e
d
a
t
a
,
r
S
,
r
R
,
T
r
a
n
i
d
]
⊕
r
R, P
a
t
h
1
⊕
r
n
2, P
a
t
h
1
⊕
r
n
1, P
a
t
h
1
⊕
r
n
3,
(ii)
S
→
N
o
d
e
4: E
S
e
s
s
i
o
n
S
R
[
D
a
t
a
5
_
i
d
,
t
i
m
e
S
,
t
i
m
e
d
a
t
a
,
r
S
,
r
R
,
T
r
a
n
i
d
]
⊕
r
R,  P
a
t
h
2
⊕
r
n
4, P
a
t
h
2
⊕
r
n
5, P
a
t
h
2
⊕
r
n
6,
(iii)
S
→
N
o
d
e
7: E
S
e
s
s
i
o
n
S
R
[
D
a
t
a
10
_
i
d
,
t
i
m
e
S
,
t
i
m
e
d
a
t
a
,
r
S
,
r
R
,
T
r
a
n
i
d
]
⊕
r
R,  P
a
t
h
3
⊕
r
n
7, P
a
t
h
3
⊕
r
n
8, P
a
t
h
3
⊕
r
n
9, P
a
t
h
3
⊕
r
n
10.Table 2
The sender’s routing table.
Sending_table
Path
Message
P
a
t
h
1
r
s
e
n
d
i
n
g
_
11
r
N
1
⊕
N
o
d
e
2
_
i
d
r
s
e
n
d
i
n
g
_
12
⋯
r
N
2
⊕
N
o
d
e
3
_
i
d
r
s
e
n
d
i
n
g
_
1
n
r
N
3
⊕
N
o
d
e
R
1
_
i
d
P
a
t
h
2
r
N
4
⊕
N
o
d
e
5
_
i
d
⋯
r
s
e
n
d
i
n
g
_
21
r
N
5
⊕
N
o
d
e
6
_
i
d
r
s
e
n
d
i
n
g
_
2
n
-
1
r
s
e
n
d
i
n
g
_
2
n
r
N
6
⊕
N
o
d
e
R
2
_
i
d
P
a
t
h
3
r
s
e
n
d
i
n
g
_
31
r
N
10
⊕
N
o
d
e
9
_
i
d
r
N
9
⊕
N
o
d
e
8
_
i
d
r
N
8
⊕
N
o
d
e
7
_
i
d
⋯
r
N
7
⊕
N
o
d
e
R
3
_
i
d
r
s
e
n
d
i
n
g
_
3
nWhen the senderS starts to transmit the data by P
a
t
h
1, it would encrypt D
a
t
a
1
_
i
d, the transmit requesting time t
i
m
e
S, the data transmitted time t
i
m
e
d
a
t
a, the sender’s random number r
S, the receiver’s random number r
R, and the data transmitting serial number T
r
a
n
i
d by the session key S
e
s
s
i
o
n
S
R. The ciphertext above would execute a XOR operation ⊕ with the receiver’s random number r
R and then the ciphertext would execute a XOR operation ⊕ with each node’s random number r
x,   respectively. Finally, all the messages would be transmitted to N
o
d
e
1. N
o
d
e
2 and N
o
d
e
3 on P
a
t
h
1 would do the same thing to execute the similar operation and forward the message to the receiver R. The nodes in P
a
t
h
2 and P
a
t
h
3 would do the same thing to execute the similar operation and forward the message to the receiver R.(i)
R
→
S: E
S
e
s
s
i
o
n
S
R
[
S
i
d
,
R
i
d
,
r
S
,
r
R
,
T
r
a
n
i
d
,
t
i
m
e
d
a
t
a
,
t
i
m
e
r
e
s
e
n
d
]
⊕
r
S. If the receiver R does not obtain all the data from the sender S, the receiver R would encrypt the sender’s identity S
i
d, the receiver’s identity R
i
d, the sender’s random number r
S, the receiver’s random number r
R, the data transmitting serial number T
r
a
n
i
d, the data transmitted time t
i
m
e
d
a
t
a, and the resend request t
i
m
e
r
e
s
e
n
d by the session key S
e
s
s
i
o
n
S
R to request that the sender S resend the lacking data.


### 3.4. Transmitted Finish Phase

(i)
R
→
S: E
S
e
s
s
i
o
n
S
R
[
D
a
t
a
n
,
t
i
m
e
S
,
t
i
m
e
d
a
t
a
,
r
S
,
r
R
,
A
C
K
]
⊕
r
R
,
P
a
t
h
x. Finally, after all of the data has been transmitted to the receiver R, the receiver R would encrypt the D
a
t
a
n, the transmit requesting time t
i
m
e
S, the data transmitted time t
i
m
e
d
a
t
a, the sender’s random number r
S, the receiver’s random number r
R, and the acknowledgment information A
C
K by the session key S
e
s
s
i
o
n
S
R. Then, the ciphertext above would execute a XOR operation with the receiver’s random number r
R, added the path information P
a
t
h
x, and transmitted it to the sender S to inform that the data transmitting is finished.


## 3.1. Transmitting Request Phase

(i)S
→
All: E
R
P
K
[
S
i
g
n
S
S
K
[
S
i
d
,
R
i
d
,
T
i
m
e
s
,
D
a
t
a
s
i
z
e
,
r
S
]
,
r
S
⊕
S
e
s
s
i
o
n
S
R
,
r
S
⊕
S
R
S
K
],  T
r
a
n
i
d,  S
R
P
K. Firstly, the sender S broadcasts the packets to others in the ad hoc networks to announce that he wants to transmit the data. The sender S then generates a shared session key S
e
s
s
i
o
n
S
R for the receiver R, a shared pair public key S
R
P
K for the receiver R, a shared pair private key S
R
S
K for the receiver R, a random number r
S chosen by the sender S, the data transmitting serial number T
r
a
n
i
d
=
r
S
⊕
h
(
S
i
d
,
R
i
d
,
T
i
m
e
s
,
D
a
t
a
s
i
z
e
), and the identities of forwarding nodes on the sender’s routing table N
o
d
e
S
1
_
i
d
=
h
(
r
S
), N
o
d
e
S
2
_
i
d
=
h
(
2
r
S
), and N
o
d
e
S
3
_
i
d
=
h
(
3
r
S
).Then, the senderS signs the sender’s identity S
i
d, the receiver’s identity R
i
d, the transmit requesting time T
i
m
e
S, the data size D
a
t
a
s
i
z
e, and the sender’s random number r
S by the sender’s private key S
S
K and executes a XOR operation ⊕ with the session key S
e
s
s
i
o
n
S
R and the shared secret key S
R
S
K. All the messages above would be encrypted by the receiver’s public key R
P
K. Then the data is added by transmitting the serial number T
r
a
n
i
d and the shared public key S
R
P
K. All the messages are broadcasted throughout the wireless ad hoc networks. We would replace E
R
P
K
[
S
i
g
n
S
S
K
[
S
i
d
,
R
i
d
,
T
i
m
e
s
,
D
a
t
a
s
i
z
e
,
r
S
]
,
r
S
⊕
S
e
s
s
i
o
n
S
R
,
r
S
⊕
S
R
S
K
] withInitial.(ii)N
o
d
e
1
→
N
o
d
e
2: E
S
R
P
K
[
N
o
d
e
1
_
i
d
,
t
i
m
e
1
,
r
N
1
,
C
o
u
n
t
1
],Initial, T
r
a
n
i
d, S
R
P
K. By broadcasting, a node N
o
d
e
1 at one hub distance from the sender S uses the shared public key S
R
P
K to encrypt the identity number N
o
d
e
1
_
i
d of the N
o
d
e
1, the time the N
o
d
e
1 receives the message t
i
m
e
1, N
o
d
e
1’s random number r
N
1, and the total forwarding time C
o
u
n
t
1. The ciphertext above would add the original information: the data transmitting serial number T
r
a
n
i
d and the shared public key S
R
P
K. It then broadcasts the message continually to the node N
o
d
e
2 at two-hub distance from the sender S. We would replace the ciphertext E
S
R
P
K
[
N
o
d
e
1
_
i
d
,
t
i
m
e
1
,
r
N
1
,
C
o
u
n
t
1
] with N
o
d
e
1
_
i
n
f
o.(iii)N
o
d
e
2
→
N
o
d
e
3: E
S
R
P
K
[
N
o
d
e
2
_
i
d
,
t
i
m
e
2
,
r
N
2
,
C
o
u
n
t
2
],Initial, T
r
a
n
i
d, S
R
P
K, N
o
d
e
1
_
i
n
f
o. Then, the node N
o
d
e
2 would encrypt the identity number N
o
d
e
2
_
i
d of the N
o
d
e
2, the data received time t
i
m
e
2 of N
o
d
e
2, the random number r
N
2 chosen by N
o
d
e
2, and the total forwarding time C
o
u
n
t
2. The messages above add the data transmitting serial number T
r
a
n
i
d, the shared public key S
R
P
K, and all the information about node1 N
o
d
e
1
_
i
n
f
o. Then the message would be broadcasted continually to the node N
o
d
e
3 at three hubs away from the sender S. We would replace the ciphertext E
S
R
P
K
[
N
o
d
e
2
_
i
d
,
t
i
m
e
2
,
r
N
2
,
C
o
u
n
t
2
] with N
o
d
e
2
_
i
n
f
o.(iv)N
o
d
e
n
→
N
o
d
e
R: E
S
R
P
K
[
N
o
d
e
n
_
i
d
,
t
i
m
e
n
,
r
N
n
,
C
o
u
n
t
n
],Initial, T
r
a
n
i
d, S
R
P
K, N
o
d
e
1
_
i
n
f
o, N
o
d
e
2
_
i
n
f
o
,
…
,
N
o
d
e
n
-
1
_
i
n
f
o. Finally, the receiver R obtains the broadcasted message and decrypts the messageInitial using the receiver’s secret key R
S
K to obtain the transmitting request message from the sender S. The receiver R then verifies whether the message S
i
g
n
S
S
K
[
S
i
d
,
R
i
d
,
T
i
m
e
s
,
D
a
t
a
s
i
z
e
,
r
S
] was sent from the sender S using the sender’s public key S
P
K and obtains the sender’s identity S
i
d, the receiver’s identity R
i
d, the transmit requesting time T
i
m
e
s,   the data size D
a
t
a
s
i
z
e, and the sender’s random number r
S.


## 3.2. Request Reply Phase

After the receiverR obtains the sender’s random number r
S, the receiver R would execute a XOR operation ⊕, respectively, with the messages r
S
⊕
S
e
s
s
i
o
n
S
R
⊕
r
S
=
S
e
s
s
i
o
n
S
R and r
S
⊕
S
R
S
K
⊕
r
S
=
S
R
S
K to get the shared secret key S
R
S
K and the session key S
e
s
s
i
o
n
S
R. The receiver R would decrypt the ciphertext including the information about the N
o
d
e
1
_
i
n
f
o,  N
o
d
e
2
_
i
n
f
o
,
…
,
N
o
d
e
n
_
i
n
f
o by the shared secret key S
R
S
K in order to obtain the identity of each node N
o
d
e
x
_
i
d, the data transmitted time of each node t
i
m
e
x, the random number chosen by each node r
N
x, and the total forwarding time C
o
u
n
t
x.ReceiverR would establish the different path in routing table from the sender S to the receiver R. The receiver R would decrypt N
o
d
e
n
_
i
n
f
o in order to obtain the identity of each node N
o
d
e
x
_
i
d and the total forwarding time C
o
u
n
t
x to know the paths from the sender S to the receiver R. Because the total forwarding time for each path would be different, the receiver R would choose the paths P
a
t
h
x that have the different nodes for each path (without the same node in two paths).Then the total forwarding timeC
o
u
n
t
x would be ordered from few to many and the sender S could consider some issues in order to decide to receive the data. Considering the specific number of hub-count, wanting to finish the transmitting as soon as possible, wanting to save power, or wanting to avoid the malicious middle node, the receiver R could choose a multipath. Considering reducing the traffic jam for a specific area/time slot in the ad hoc networks, the receiver R could choose a multipath.Figure1 shows the environment of the ad hoc networks. For the secure reason, they are assumed to choose the multipath because there are two paths for the fewest number, the fewest number is 3, of the total forwarding time C
o
u
n
t
x:P
a
t
h
1
:N
o
d
e
S
_
i
d
-
N
o
d
e
1
_
i
d
-
N
o
d
e
2
_
i
d
-
N
o
d
e
3
_
i
d
-
N
o
d
e
R
_
i
d,
P
a
t
h
2: N
o
d
e
S
_
i
d
-
N
o
d
e
4
_
i
d
-
N
o
d
e
5
_
i
d
-
N
o
d
e
6
_
i
d
-
N
o
d
e
R
_
i
d.Figure 1
The environment of the ad hoc network.There is one path for the total forwarding timeC
o
u
n
t
x:P
a
t
h
3: N
o
d
e
S
_
i
d
-
N
o
d
e
7
_
i
d
-
N
o
d
e
8
_
i
d
-
N
o
d
e
9
_
i
d
-
N
o
d
e
10
_
i
d
-
N
o
d
e
R
_
i
d.In order to avoid a malicious middle node to guess the hub-count range by the amounts of the value in the information path from the senderS to the receiver R, the pseudo values r
p
s
e
u
d
o
_
11 to r
p
s
e
u
d
o
_
3
n would be added to confuse the malicious middle node. The pseudo value could be added arbitrarily. In S
→
All, for avoiding the collusion of the middle nodes, the identity of each node would be replaced as follows:N
o
d
e
S
1
_
i
d
=
h
r
S, N
o
d
e
S
2
_
i
d
=
h
2
r
S, N
o
d
e
S
3
_
i
d
=
h
(
3
r
S
).Therefore, as even the middle nodes collude, it is impossible to map out the same identity for the middle node in order to protect the receiverR. In each path, the receiver R would, respectively, choose a random number r
N
n for his one-hub-count distance neighbor and a random number N
o
d
e
n
-
1
_
i
d for his two-hub neighbor and then execute a XOR operation ⊕, for example, r
N
3
⊕
N
o
d
e
2
_
i
d. Therefore, when the message from the receiver R is sent back to the sender S, because the middle nodes know their chosen random number r
X, when the node executes a XOR ⊕ operation with the message and his random number r
X, the node can know what the identity is of the next node and forwards the message to the next node. For example, r
N
3
⊕
N
o
d
e
2
_
i
d
⊕
r
N
3
=
N
o
d
e
2
_
i
d. Table 1 shows the routing table of receiverRouting_table computed by the receiver R:(i)
R
→
N
o
d
e
3: E
S
e
s
s
i
o
n
S
R
[
S
i
d
,
R
i
d
,
r
S
,
r
R
,
r
1
,
…
,
r
10
,
D
a
t
a
s
i
z
e
,
t
i
m
e
S
,
t
i
m
e
R
,
R
o
u
t
i
n
g
_
t
a
b
l
e
]
⊕
r
S, r
N
3
⊕
[
t
i
m
e
3
,
T
r
a
n
i
d
,
P
a
t
h
1
], r
N
2
⊕
[
t
i
m
e
2
,
T
r
a
n
i
d
,
P
a
t
h
1
], r
N
1
⊕
[
t
i
m
e
1
,
T
r
a
n
i
d
,
P
a
t
h
1
], r
p
s
e
u
d
o
_
41
,
…
,
r
p
s
e
u
d
o
_
4
n,
(ii)
R
→
N
o
d
e
6: E
S
e
s
s
i
o
n
S
R
[
S
i
d
,
R
i
d
,
r
S
,
r
R
,
r
1
,
…
,
r
10
,
D
a
t
a
s
i
z
e
,
t
i
m
e
S
,
t
i
m
e
R
,
R
o
u
t
i
n
g
_
t
a
b
l
e
]
⊕
r
S,  r
N
6
⊕
t
i
m
e
6
,
T
r
a
n
i
d
,
P
a
t
h
2, r
N
5
⊕
t
i
m
e
5
,
T
r
a
n
i
d
,
P
a
t
h
2, r
N
4
⊕
t
i
m
e
4
,
T
r
a
n
i
d
,
P
a
t
h
2, r
p
s
e
u
d
o
_
51
,
…
,
r
p
s
e
u
d
o
_
5
n,
(iii)
R
→
N
o
d
e
10: E
S
e
s
s
i
o
n
S
R
[
S
i
d
,
R
i
d
,
r
S
,
r
R
,
r
1
,
…
,
r
10
,
D
a
t
a
s
i
z
e
,
t
i
m
e
S
,
t
i
m
e
R
,
R
o
u
t
i
n
g
_
t
a
b
l
e
]
⊕
r
S,  r
N
10
⊕
[
t
i
m
e
10
,
T
r
a
n
i
d
,
P
a
t
h
3
],  r
N
9
⊕
[
t
i
m
e
9
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
N
8
⊕
[
t
i
m
e
8
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
N
7
⊕
[
t
i
m
e
7
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
p
s
e
u
d
o
_
61
,
…
,
r
p
s
e
u
d
o
_
6
n.Table 1
The receiver’s routing table.
Routing_table
Path
Message
P
a
t
h
1
r
p
s
e
u
d
o
_
11
r
N
3
⊕
N
o
d
e
2
_
i
d
r
p
s
e
u
d
o
_
12
⋯
r
N
2
⊕
N
o
d
e
1
_
i
d
r
p
s
e
u
d
o
_
1
n
r
N
1
⊕
N
o
d
e
S
1
_
i
d
P
a
t
h
2
r
p
s
e
u
d
o
_
21
r
N
6
⊕
N
o
d
e
5
_
i
d
r
N
5
⊕
N
o
d
e
4
_
i
d
⋯
r
p
s
e
u
d
o
_
2
n
-
1
r
p
s
e
u
d
o
_
2
n
r
N
4
⊕
N
o
d
e
S
2
_
i
d
P
a
t
h
3
r
N
10
⊕
N
o
d
e
9
_
i
d
r
p
s
e
u
d
o
_
31
r
N
9
⊕
N
o
d
e
8
_
i
d
⋯
r
N
8
⊕
N
o
d
e
7
_
i
d
r
N
7
⊕
N
o
d
e
S
3
_
i
d
r
p
s
e
u
d
o
_
3
nThe receiverR would encrypt the sender’s identity S
i
d, the receiver’s identity R
i
d, the sender’s random number r
S, the receiver’s random number r
R, the data size D
a
t
a
s
i
z
e, transmit requesting timetime
S, data received time t
i
m
e
R, and the routing table of receiver R
o
u
t
i
n
g
_
t
a
b
l
e by the session key S
e
s
s
i
o
n
S
R and would then execute a XOR operation ⊕ with the sender’s random number r
S. In P
a
t
h
1, the middle nodes would execute a XOR operation ⊕ with each node’s data transmitted time t
i
m
e
X, the data transmitting serial number T
r
a
n
i
d, and the P
a
t
h
1. Therefore, only the node could know these messages by its random number r
X and computes the next node in order to forward the message. P
a
t
h
1 shows that the receiver R transmits the message to the N
o
d
e
3 and the N
o
d
e
3 could compute to obtain the message [
t
i
m
e
3
,
T
r
a
n
i
d
,
P
a
t
h
1
] by its random number r
N
3. After the N
o
d
e
3 confirms the data transmitted time t
i
m
e
3 and the data transmitting serial number T
r
a
n
i
d, it could execute a XOR operation ⊕ with the identity N
o
d
e
2
_
i
d of N
o
d
e
2 by N
o
d
e
3’s random number r
N
3:r
N
3
⊕
N
o
d
e
2
_
i
d
⊕
r
N
3
=
N
o
d
e
2
_
i
d.ThenN
o
d
e
3 would forward the message to N
o
d
e
2. The pseudo values r
p
s
e
u
d
o
_
41
,
…
,
r
p
s
e
u
d
o
_
4
n could be increased or decreased dynamically. The forwarding method for P
a
t
h
2 and P
a
t
h
3 is similar to that for P
a
t
h
1. We would replace the message E
S
e
s
s
i
o
n
S
R
[
S
i
d
,
R
i
d
,
r
R
,
r
S
,
r
1
,
…
,
r
10
,
D
a
t
a
s
i
z
e
,
t
i
m
e
S
,
t
i
m
e
R, R
o
u
t
i
n
g
_
t
a
b
l
e
]
⊕
r
S withBack:(i)
N
o
d
e
3
→
N
o
d
e
2:Back, r
N
3
⊕
[
t
i
m
e
3
,
T
r
a
n
i
d
,
P
a
t
h
1
], r
N
2
⊕
[
t
i
m
e
2
,
T
r
a
n
i
d
,
P
a
t
h
1
], r
N
1
⊕
[
t
i
m
e
1
,
T
r
a
n
i
d
,
P
a
t
h
1
],
(ii)
N
o
d
e
6
→
N
o
d
e
5:Back, r
N
6
⊕
[
t
i
m
e
6
,
T
r
a
n
i
d
,
P
a
t
h
2
], r
N
5
⊕
[
t
i
m
e
5
,
T
r
a
n
i
d
], r
N
4
⊕
[
t
i
m
e
4
,
T
r
a
n
i
d
,
P
a
t
h
2
],
(iii)
N
o
d
e
10
→
N
o
d
e
9:Back, r
N
10
⊕
[
t
i
m
e
10
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
N
9
⊕
[
t
i
m
e
9
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
N
8
⊕
[
t
i
m
e
8
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
N
7
⊕
[
t
i
m
e
7
,
T
r
a
n
i
d
,
P
a
t
h
3
].AfterN
o
d
e
2 receives the message from N
o
d
e
3, N
o
d
e
2 would do the same thing to confirm the data transmitted time t
i
m
e
2 and the data transmitting serial number T
r
a
n
i
d and would then obtain the message identity N
o
d
e
1
_
i
d of N
o
d
e
1 in P
a
t
h
1 by executing a XOR operation with its random number r
2 and sending the message to N
o
d
e
1. The method for P
a
t
h
2 and P
a
t
h
3 is similar to that for P
a
t
h
1:(i)
N
o
d
e
2
→
N
o
d
e
1:Back, r
N
3
⊕
[
t
i
m
e
3
,
T
r
a
n
i
d
,
P
a
t
h
1
], r
N
2
⊕
[
t
i
m
e
2
,
T
r
a
n
i
d
], r
N
1
⊕
[
t
i
m
e
1
,
T
r
a
n
i
d
,
P
a
t
h
1
],
(ii)
N
o
d
e
5
→
N
o
d
e
4:Back, r
N
6
⊕
[
t
i
m
e
6
,
T
r
a
n
i
d
,
P
a
t
h
2
], r
N
5
⊕
[
t
i
m
e
5
,
T
r
a
n
i
d
,
P
a
t
h
2
], r
N
4
⊕
[
t
i
m
e
4
,
T
r
a
n
i
d
,
P
a
t
h
2
],
(iii)
N
o
d
e
9
→
N
o
d
e
8:Back, r
N
10
⊕
[
t
i
m
e
10
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
N
9
⊕
[
t
i
m
e
9
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
N
8
⊕
[
t
i
m
e
8
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
N
7
⊕
[
t
i
m
e
7
,
T
r
a
n
i
d
,
P
a
t
h
3
].AfterN
o
d
e
1 receives the message from N
o
d
e
2, N
o
d
e
1 would do the same thing to confirm the data transmitted time t
i
m
e
1 and the data transmitting serial number T
r
a
n
i
d and then obtains the message identity N
o
d
e
S
1
_
i
d of N
o
d
e
1 in P
a
t
h
1 by executing a XOR operation with its random number r
1 and sending the message to the sender S. The method for P
a
t
h
2 and P
a
t
h
3 is similar to that for P
a
t
h
1:(i)
N
o
d
e
1
→
S:Back, r
N
3
⊕
[
t
i
m
e
3
,
T
r
a
n
i
d
,
P
a
t
h
1
], r
N
2
⊕
[
t
i
m
e
2
,
T
r
a
n
i
d
,
P
a
t
h
1
], T
r
a
n
i
d, P
a
t
h
1.
(ii)
N
o
d
e
4
→
S:Back, r
N
6
⊕
[
t
i
m
e
6
,
T
r
a
n
i
d
,
P
a
t
h
2
], r
N
5
⊕
[
t
i
m
e
5
,
T
r
a
n
i
d
,
P
a
t
h
2
], T
r
a
n
i
d, P
a
t
h
2.
(iii)
N
o
d
e
7
→
S:Back, r
N
10
⊕
[
t
i
m
e
10
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
N
9
⊕
[
t
i
m
e
9
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
N
8
⊕
[
t
i
m
e
8
,
T
r
a
n
i
d
,
P
a
t
h
3
], r
N
7
⊕
[
t
i
m
e
7
,
T
r
a
n
i
d
,
P
a
t
h
3
].After all the messages ofP
a
t
h
1, P
a
t
h
2, and P
a
t
h
3 have been received by the sender S, the sender S would execute a XOR operation ⊕ with the sender’s random number r
S andBack and then decrypt the ciphertext E
S
e
s
s
i
o
n
S
R
[
S
i
d
,
R
i
d
,
r
S
,
r
R
,
r
1
,
…
,
r
10
,
D
a
t
a
s
i
z
e
,
t
i
m
e
S
,
t
i
m
e
R
,
R
o
u
t
i
n
g
_
t
a
b
l
e
] in order to obtain the sender’s identity S
i
d, the receiver’s identity R
i
d, the sender’s random number r
S, the receiver’s random number r
R, the random number of the middle nodes r
1
,
…
,
r
10, the data size D
a
t
a
s
i
z
e, the transmit requesting time t
i
m
e
S, the data received time t
i
m
e
R, and the routing table of receiver R
o
u
t
i
n
g
_
t
a
b
l
e:D
S
e
s
s
i
o
n
S
R
[
E
S
e
s
s
i
o
n
S
R
[
S
i
d
,
R
i
d
,
r
S
,
r
R
,
r
1
,
…
,
r
10
,
D
a
t
a
s
i
z
e
,
t
i
m
e
S
,
t
i
m
e
R
,
R
o
u
t
i
n
g
_
t
a
b
l
e
]
⊕
r
S
⊕
r
S
]
=
S
i
d
,
R
i
d, r
S
,
r
R
,
r
1
,
…
,
r
10
,
D
a
t
a
s
i
z
e
,
t
i
m
e
S
,
t
i
m
e
R
,
R
o
u
t
i
n
g
_
t
a
b
l
e.(i)
S:To Obtain the Information for Each Node,
S
Executes a XOR Operation with
r
1
to
r
10.   The sender S would, respectively, execute the XOR operation ⊕ with the random number r
1
,
…, to r
10, for N
o
d
e
1 and the message r
N
1
⊕
N
o
d
e
S
1
_
i
d on the routing table of the receiver’s R
o
u
t
i
n
g
_
t
a
b
l
e, for N
o
d
e
2 and the message r
N
2
⊕
N
o
d
e
S
2
_
i
d
,
…, to node 10 and the message r
N
10
⊕
N
o
d
e
9
_
i
d, in order to obtain the identity of each middle node. For example, r
N
1
⊕
N
o
d
e
S
1
_
i
d
⊕
r
N
1
=
N
o
d
e
S
1
_
i
d
,
r
N
2
⊕
N
o
d
e
1
_
i
d
⊕
r
N
2
=
N
o
d
e
1
_
i
d.


## 3.3. Data Transmitting Phase

S could establish the different routing paths for different requirements. The sender S would execute the one-way hash function for the N
o
d
e
R
1
_
i
d
=
h
(
r
R
), N
o
d
e
R
2
_
i
d
=
h
(
2
r
R
), and N
o
d
e
R
3
_
i
d
=
h
(
3
r
R
). The same method that the receiver R uses in the request reply phase in order to avoid the guessing from the malicious middle node to know the possible range of the receiver R and the sender S and the pseudo values r
s
e
n
d
i
n
g
_
11 to r
s
e
n
d
i
n
g
_
3
n would be added to expand the guessing range. The pseudo value r
p
s
e
u
d
o could be added dynamically. For avoiding the collusion of the middle nodes, the sender S would execute the one-way hash function for the N
o
d
e
S
1
_
i
d
=
h
(
r
S
), N
o
d
e
S
2
_
i
d
=
h
(
2
r
S
), and N
o
d
e
S
3
_
i
d
=
h
(
3
r
S
).Even though the middle nodes collude to guess for the senderS, they could not find the same identity for the sender S. In each path, the sender S would, respectively, choose a random number r
N
n for his one-hub-count distance neighbor and a random number N
o
d
e
n
-
1
_
i
d for his two-hub neighbor and would then execute a XOR operation ⊕, for example, r
N
3
⊕
N
o
d
e
2
_
i
d. Therefore, when the message from the sender S transmits to the receiver R, because all the middle nodes know their random number r
X, the middle nodes execute a XOR operation ⊕ with the message. Table 2 shows the routing table of sender S
e
n
d
i
n
g
_
t
a
b
l
e computed by the sender S. For example, r
N
1
⊕
N
o
d
e
2
_
i
d
⊕
r
N
1
=
N
o
d
e
2
_
i
d:(i)
S
→
N
o
d
e
1: E
S
e
s
s
i
o
n
S
R
[
D
a
t
a
1
_
i
d
,
t
i
m
e
S
,
t
i
m
e
d
a
t
a
,
r
S
,
r
R
,
T
r
a
n
i
d
]
⊕
r
R, P
a
t
h
1
⊕
r
n
2, P
a
t
h
1
⊕
r
n
1, P
a
t
h
1
⊕
r
n
3,
(ii)
S
→
N
o
d
e
4: E
S
e
s
s
i
o
n
S
R
[
D
a
t
a
5
_
i
d
,
t
i
m
e
S
,
t
i
m
e
d
a
t
a
,
r
S
,
r
R
,
T
r
a
n
i
d
]
⊕
r
R,  P
a
t
h
2
⊕
r
n
4, P
a
t
h
2
⊕
r
n
5, P
a
t
h
2
⊕
r
n
6,
(iii)
S
→
N
o
d
e
7: E
S
e
s
s
i
o
n
S
R
[
D
a
t
a
10
_
i
d
,
t
i
m
e
S
,
t
i
m
e
d
a
t
a
,
r
S
,
r
R
,
T
r
a
n
i
d
]
⊕
r
R,  P
a
t
h
3
⊕
r
n
7, P
a
t
h
3
⊕
r
n
8, P
a
t
h
3
⊕
r
n
9, P
a
t
h
3
⊕
r
n
10.Table 2
The sender’s routing table.
Sending_table
Path
Message
P
a
t
h
1
r
s
e
n
d
i
n
g
_
11
r
N
1
⊕
N
o
d
e
2
_
i
d
r
s
e
n
d
i
n
g
_
12
⋯
r
N
2
⊕
N
o
d
e
3
_
i
d
r
s
e
n
d
i
n
g
_
1
n
r
N
3
⊕
N
o
d
e
R
1
_
i
d
P
a
t
h
2
r
N
4
⊕
N
o
d
e
5
_
i
d
⋯
r
s
e
n
d
i
n
g
_
21
r
N
5
⊕
N
o
d
e
6
_
i
d
r
s
e
n
d
i
n
g
_
2
n
-
1
r
s
e
n
d
i
n
g
_
2
n
r
N
6
⊕
N
o
d
e
R
2
_
i
d
P
a
t
h
3
r
s
e
n
d
i
n
g
_
31
r
N
10
⊕
N
o
d
e
9
_
i
d
r
N
9
⊕
N
o
d
e
8
_
i
d
r
N
8
⊕
N
o
d
e
7
_
i
d
⋯
r
N
7
⊕
N
o
d
e
R
3
_
i
d
r
s
e
n
d
i
n
g
_
3
nWhen the senderS starts to transmit the data by P
a
t
h
1, it would encrypt D
a
t
a
1
_
i
d, the transmit requesting time t
i
m
e
S, the data transmitted time t
i
m
e
d
a
t
a, the sender’s random number r
S, the receiver’s random number r
R, and the data transmitting serial number T
r
a
n
i
d by the session key S
e
s
s
i
o
n
S
R. The ciphertext above would execute a XOR operation ⊕ with the receiver’s random number r
R and then the ciphertext would execute a XOR operation ⊕ with each node’s random number r
x,   respectively. Finally, all the messages would be transmitted to N
o
d
e
1. N
o
d
e
2 and N
o
d
e
3 on P
a
t
h
1 would do the same thing to execute the similar operation and forward the message to the receiver R. The nodes in P
a
t
h
2 and P
a
t
h
3 would do the same thing to execute the similar operation and forward the message to the receiver R.(i)
R
→
S: E
S
e
s
s
i
o
n
S
R
[
S
i
d
,
R
i
d
,
r
S
,
r
R
,
T
r
a
n
i
d
,
t
i
m
e
d
a
t
a
,
t
i
m
e
r
e
s
e
n
d
]
⊕
r
S. If the receiver R does not obtain all the data from the sender S, the receiver R would encrypt the sender’s identity S
i
d, the receiver’s identity R
i
d, the sender’s random number r
S, the receiver’s random number r
R, the data transmitting serial number T
r
a
n
i
d, the data transmitted time t
i
m
e
d
a
t
a, and the resend request t
i
m
e
r
e
s
e
n
d by the session key S
e
s
s
i
o
n
S
R to request that the sender S resend the lacking data.


## 3.4. Transmitted Finish Phase

(i)
R
→
S: E
S
e
s
s
i
o
n
S
R
[
D
a
t
a
n
,
t
i
m
e
S
,
t
i
m
e
d
a
t
a
,
r
S
,
r
R
,
A
C
K
]
⊕
r
R
,
P
a
t
h
x. Finally, after all of the data has been transmitted to the receiver R, the receiver R would encrypt the D
a
t
a
n, the transmit requesting time t
i
m
e
S, the data transmitted time t
i
m
e
d
a
t
a, the sender’s random number r
S, the receiver’s random number r
R, and the acknowledgment information A
C
K by the session key S
e
s
s
i
o
n
S
R. Then, the ciphertext above would execute a XOR operation with the receiver’s random number r
R, added the path information P
a
t
h
x, and transmitted it to the sender S to inform that the data transmitting is finished.


## 4. Security and Property Analysis

In this section, we analyze the property of security and the function for the proposed scheme.


### 4.1. Anonymity

#### 4.1.1. Source Anonymity

In Boukerche’s path discovery phase, the source ID had been encrypted by its session key and the source’s session key had been encrypted by the destination’s public key; only the destination can be decrypted and obtains the source’s session key by its secret key and the destination can be decrypted and obtain the source ID by the source’s session key. In the scheme of PD-ZAP, G-ZAP, and RR-ZAP, because the packets do not add the destination ID information and the node mobility property in a mobile ad hoc environment, even the proxy has changed, the broadcasting or flooding area has changed, and the destination area still can be found and the data can be obtained.In the transmitting request phase of our scheme, because the sender’s identityS
i
d is encrypted by the receiver’s public key, only the receiver in N
o
d
e
n
→
N
o
d
e
R can decrypt the message by using the receiver’s secret key. Therefore, the sender’s identity S
i
d is anonymous. In the request reply phase, because the sender’s identity S
i
d is encrypted by the session key S
e
s
s
i
o
n
S
R, in R
→
N
o
d
e
3, R
→
N
o
d
e
6, and R
→
N
o
d
e
10, and executed a XOR operation with the receiver’s random number r
R, the sender’s identity S
i
d is therefore anonymous.


#### 4.1.2. Destination Anonymity

In the path discovery phase of Boukerche’s scheme, the destination ID would be encrypted by the destination public key and the destination can decrypt and obtain the destination ID by using its secret key.In the scheme of PD-ZAP, the closest node to the destination will be chosen as a proxy and it will broadcast the data to its neighbors. Because the destination is not far from the pseudo destination, the destination still can receive the data. But the malicious node can realize that the destination is near the proxy if it detects that a proxy broadcasts data.For the G-ZAP scheme, the first node that receives the data will be the proxy in the destination-anonymous zone. The proxy will flood the data to every node in the anonymous zone. Because the destination is not far from the pseudo destination, the malicious node will in the distance of Proxy’s maximum transmitting range.For the RR-ZAP scheme, the destination will generate a pseudo destination (PD) randomly and place itself in the middle between the source and the pseudo destination. The destination will keep several hops of distance from the pseudo destination. Wu et al.’s scheme uses the GPRS-likescheme as its routing protocol; therefore, when the source sends the data to the pseudo destination, the data must pass the real destination. So the malicious node can still know that the destination is in the path from the source to the pseudo destination.In the transmitting request phase of our scheme, because the receiver’s identityR
i
d is encrypted by the receiver’s public key R
P
K, only the receiver R in N
o
d
e
n
→
N
o
d
e
R can decrypt the message by using the receiver’s secret key. Therefore, the receiver’s identity R
i
d is anonymous. In the request reply phase, because the receiver’s identity R
i
d is encrypted by the session key S
e
s
s
i
o
n
S
R, in R
→
N
o
d
e
3,  R
→
N
o
d
e
6, and  R
→
N
o
d
e
10, and has been executed by a XOR operation with the receiver’s random number r
R, the receiver’s identity R
i
d is therefore anonymous.


#### 4.1.3. Middle Node Anonymity

In the path discovery phase of Boukerche’s scheme, whatever node obtained the temporal secret key can decrypt the data forwarded from the other node. And the node will know that the data is coming from the destination and which nodes are the forwarding nodes.In the PD-ZAP scheme, the middle node will choose a next forwarding node by exchanging the location information. And each node has the neighbors list so a node can obtain some information about other middle nodes.The G-ZAP and RR-ZAP scheme are just like PD-ZAP and the middle node will obtain a neighbors list by exchanging the location information. So it can obtain some information of other middle nodes.InN
o
d
e
1
→
N
o
d
e
2 and N
o
d
e
2
→
N
o
d
e
3, the middle nodes N
o
d
e
1
_
i
d to N
o
d
e
10
_
i
d use the common secret key to encrypt the data and only the source and the receiver in N
o
d
e
n
→
N
o
d
e
R have the common secret key S
R
S
K, so the middle nodes N
o
d
e
1
_
i
d to N
o
d
e
10
_
i
d are anonymous. For the identity N
o
d
e
x
_
i
d of any middle node, besides the source and receiver, only the middle node has its own random number N
o
d
e
x
_
i
d, so the middle node can decrypt the r
N
n
⊕
[
t
i
m
e
n
n
,
T
r
a
n
i
d
,
P
a
t
h
x
]—for example, r
N
3
⊕
[
t
i
m
e
3
,
T
r
a
n
i
d
,
P
a
t
h
1
].


### 4.2. Security

In Boukerche’s scheme, PD-ZAP, G-ZAP, and RR-ZAP schemes all use both the symmetrical encryption system and asymmetrical encryption system. So they all are satisfied with the security property.InS
→
All, N
o
d
e
1
→
N
o
d
e
2, N
o
d
e
2
→
N
o
d
e
3, and N
o
d
e
n
→
N
o
d
e
R, the messages transmitted to each node are based on the public cryptosystem; in the equations R
→
N
o
d
e
3, R
→
N
o
d
e
6, R
→
N
o
d
e
10, N
o
d
e
3
→
N
o
d
e
2, N
o
d
e
6
→
N
o
d
e
5, N
o
d
e
10
→
N
o
d
e
9, N
o
d
e
2
→
N
o
d
e
1, N
o
d
e
5
→
N
o
d
e
4, N
o
d
e
9
→
N
o
d
e
8, S
→
N
o
d
e
1, S
→
N
o
d
e
4, S
→
N
o
d
e
7, and R
→
S, the messages transmitted to each node are based on the session key cryptosystem and random number r
N
n. Therefore, the property of the security of the messages could be satisfied.


### 4.3. Confidentiality

In the path discovery phase of Boukerche’s scheme, the message is encrypted by the symmetric cryptosystem and asymmetric cryptosystem. In the path reverse phase and data transfer phase of Boukerche’s scheme, the message is encrypted by the symmetric cryptosystem.In the PD-ZAP, G-ZAP, and RR-ZAP schemes, the destination will generate a symmetric key first and encrypt the request message and the symmetric key with the server’s public key. Then, the destination will send the encrypted message to the server. After the server obtains the symmetric key, all the messages will be encrypted with the symmetric key.In our scheme, the equationsS
→
All, N
o
d
e
1
→
N
o
d
e
2, N
o
d
e
2
→
N
o
d
e
3, and N
o
d
e
n
→
N
o
d
e
R are encrypted/decrypted by the symmetric cryptosystem, to ensure data confidentiality. The R
→
N
o
d
e
3, R
→
N
o
d
e
6, R
→
N
o
d
e
10, N
o
d
e
3
→
N
o
d
e
2, N
o
d
e
6
→
N
o
d
e
5, N
o
d
e
10
→
N
o
d
e
9, N
o
d
e
2
→
N
o
d
e
1, N
o
d
e
5
→
N
o
d
e
4, N
o
d
e
9
→
N
o
d
e
8, N
o
d
e
1
→
S, N
o
d
e
4
→
S, and N
o
d
e
7
→
S are encrypted/decrypted by the session key cryptosystem, to ensure data confidentiality, and only node X and receiver R know the node’s random number r
X, so only the previous node will know the identity N
o
d
e
n
_
i
d for its next node on the forwarding path. Other nodes on the path cannot know the identity N
o
d
e
n
_
i
d. In S
→
All, the other nodes only know that there are some messages that need to be forwarded. By the receiver’s routing table R
o
u
t
i
n
g
_
t
a
b
l
e, there are some extra pseudo values r
p
s
e
u
d
o
B, so the middle nodes do not know exactly how many middle nodes exist on the forwarding path, not to mention the identity of the sender and receiver.


### 4.4. Authentication

In the path discovery phase, the sender will encrypt the symmetric key with the receiver’s public key and sends it to the receiver. After the receiver obtains the symmetric key, it can obtain and verify the identity of the sender. The message is signed by the sender’s secret key, so the receiver can verify the message.In the schemes of PD-ZAP, G-ZAP, and RR-ZAP, there is the HMAC from destination, and the server can verify all the data by the HMAC. Only the destination and server have the symmetric key, so if some packets can be decrypted by the symmetric key, each of them can confirm that the packets do come from the other.InS
→
All, the message [
S
i
d
,
R
i
d
,
T
i
m
e
s
,
D
a
t
a
s
i
z
e
,
r
S
] would be signed by the sender’s private key S
S
K; in the request reply phase, the receiver R could authenticate whether these messages are from the sender S by the sender’s public key S
P
K. The sender S could not deny the messages. Therefore, the property of nonrepudiation could be satisfied. In the request reply phase, because the receiver R has the receiver’s routing table R
o
u
t
i
n
g
_
t
a
b
l
e, there are the random numbers r
1
,
…
,
r
10 for each node in the messageBack. Each node N
o
d
e
1
–
N
o
d
e
10 could not deny the messages for the sender S and the receiver R, and only the sender S and the receiver R have the session key S
e
s
s
i
o
n
S
R, the sender’s identity S
i
d, the receiver’s identity R
i
d, the sender’s identity r
R, the receiver’s identity r
R, the transmit requesting time t
i
m
e
S, and the data received time t
i
m
e
R. Therefore, both the sender S and the receiver R could not deny the messages.


### 4.5. Traceability

In the path discovery phase of Boukerche’s scheme, each middle node will transmit its own identity to receiver, so the receiver will know who the exact forwarding nodes between source and receiver are. In the path reverse phase and data transfer phase, the replied messages from the receiver do not include the identity of the middle nodes, but rather the session keys of the middle nodes, so the resource cannot know who the middle nodes are.In the schemes of PD-ZAP, G-ZAP, and RR-ZAP, although the middle node has exchanged information with its neighbors and has a neighbors list, it does not transmit its own identity information when forwarding the data, so the server and destination cannot know who the middle nodes are.InS
→
All, the sender’s identity S
i
d, the receiver’s identity R
i
d, the data request time T
i
m
e
S, the data size D
a
t
a
s
i
z
e, and the sender random number r
S will be signed by the sender’s secret key S
S
K  and encrypted by the receiver’s public key R
P
K, so the receiver in the request reply phase can verify if the forwarding data in multipath from N
o
d
e
1
→
N
o
d
e
2, N
o
d
e
2
→
N
o
d
e
3, and N
o
d
e
n
→
N
o
d
e
R is correct or not.


### 4.6. Nonrepudiation

In Boukerche’s phase of Boukerche’s scheme, because the source has signed with the sender’s secret key, the source cannot deny it does not send the data. The middle node also signs the data it has received before and forwards the data, so the middle node cannot deny that it does not receive the data. In the path reverse phase, because the source can obtain the encrypted session key and it sends the source session key to the receiver in the path discovery phase, the receiver cannot deny that it does not transmit the data, similarly to the middle nodes.In the schemes of PD-ZAP, G-ZAP, and RR-ZAP, the destination has encrypted and sent the data to the server, but there is no identity of destination, destination signature, or identity-verified information, so the destination can deny that it does not receive the forwarding message. The middle node is only in charge of forwarding the data encrypted by the symmetric key, so the middle node can deny that it does not receive the forwarding data. The server encrypted by with the symmetric key and sent the data to the destination, so the server cannot deny that it does not receive the destination’s request message and has forwarded the data to the destination.InS
→
All, the message [
S
i
d
,
R
i
d
,
T
i
m
e
s
,
D
a
t
a
s
i
z
e
,
r
S
] has been signed with the source’s secret key. In the request reply phase, the receiver can verify if the data came from the sender with the sender’s public key S
P
K, and the sender cannot deny that it does not transmit the data. In the request reply phase, because the receiver has the receiver routing table and the back has a lot of middle nodes’ random numbers r
1 to r
10, each middle node N
o
d
e
1
–
N
o
d
e
10 cannot deny that it does not forward the data for the source and receiver. Because of the session key S
e
s
s
i
o
n
S
R, sender’s identity S
i
d, receiver’s identity R
i
d, and the sender’s random number r
R which only the sender and receiver can own, the sender and receiver cannot deny that they have not sent the messages.


### 4.7. Unforgeability

In the path discovery phase of Boukerche’s scheme, because the message has been signed by the sender’s secret key and the message has been encrypted by the receiver’s public key, the malicious node, the middle nodes, and the receiver cannot forge the message. The malicious node and the middle node obtain the temporal public key, encrypt the message with it, and attach the hash-verified data to the message, so the malicious node and other middle nodes cannot forge the message, for example, the identity ID and the keyK. Because the middle node has attached the hash-verified data to the message in the path reverse phase, the malicious node and other middle nodes cannot forge the message, for example, the identity ID and the key K.In the schemes of PD-ZAP, G-ZAP, and RR-ZAP, the destination does not attach any identity information, for example, the signature or identity.The server sends the data to the destination encrypted with the symmetric key, so the server cannot deny that it does not receive the destination’s request message and has sent to the destination.InS
→
All, the messages r
S
⊕
S
e
s
s
i
o
n
S
R, r
S
⊕
S
R
S
K and the sender’s random numbers r
S have been signed by the sender’s secret key S
S
K, so the request reply phase cannot be forged; the nodes will generate a random number r
X depending on different source and destination, so each node’s transmitting message cannot be forged. In the equations S
→
All, N
o
d
e
1
→
N
o
d
e
2, N
o
d
e
2
→
N
o
d
e
3, and N
o
d
e
n
→
N
o
d
e
R, only the sender and receiver have the session key S
e
s
s
i
o
n
S
R, so, in the request reply phase, the encrypted valueBack cannot be forged. If someone wants to replace or forge the valueBack, the sender can send the sender’s random number r
S and the session key S
e
s
s
i
o
n
S
R to know that the valueBack has been replaced or forged.


### 4.8. Uncounterfeit

In the path discovery phase of Boukerche’s scheme, because the sender’s messages have been signed with its secret key and encrypted with the receiver’s public key, the malicious node cannot counterfeit the sender. The middle node has signed the hash value with its secret key before it forwards the packets, so the malicious node cannot counterfeit the middle node. In the path discovery phase, because the receiver’s and middle node’s messages have a hash value and the middle node has signed the hash value before forwarding the message, the malicious node cannot counterfeit the middle nodes or the receiver.In the schemes of PD-ZAP, G-ZAP, and RR-ZAP, the destination has encrypted the message with the server’s public key and sent the message to the server, but there is no information about the destination-verifying message, signature, or identity. The malicious node can counterfeit the destination and request the server to broadcast messages into any area the malicious node wants.


### 4.9. Flexibility for Multipaths

In Boukerche’s scheme, there is only one forwarding path, and it does not consider electricity consumption or the traffic-load balance by multipath. The schemes of PD-ZAP, G-ZAP, and RR-ZAP do not consider electricity consumption or the traffic-load balance by multipath but just forward the message with the GPRS  [33]. In our scheme, after the receiver R decrypts the value N
o
d
e
n
_
i
n
f
o, the receiver R could know the identity number of the node N
o
d
e
i
d between the sender S and the receiver R and the total forwarding time C
o
u
n
t
x from different paths. Because the different path has the different total forwarding time C
o
u
n
t
x, the receiver R would choose the path P
a
t
h
x with unique identity number of node N
o
d
e
X
_
i
d and sort the order for each path P
a
t
h
x by the total forwarding time C
o
u
n
t
x. Then, the sender S would decide to forward the data with single path or multipath with the consideration of the sender S. For example, if the sender S wants to finish the transition faster, saving each node’s power, or to avoid a malicious node between the sender S and the receiver R, it would choose the multipath; if the sender S wants to reduce the traffic flow for the area/duration, the sender R would choose lesser paths or even single path. The comparison of secure functions is in Table 3.Table 3
The comparison table of secure function.
Boukerche et al. [31]
PD-ZAP
G-ZAP
RR-ZAP
Ours
Anonymity
Source
○
※
※
※
○
Destination
○
△
△
△
○
Middle node
X
△
△
△
○
Security
○
○
○
○
○
Confidentiality
○
○
○
○
○
Authentication
○
○
○
○
○
Traceability
△
X
X
X
○
Nonrepudiation
○
△
△
△
○
Unforgeability
○
X
X
X
○
Uncounterfeit
○
X
X
X
○
Flexibility for multipaths
X
X
X
X
○
○: achieved, X: unachieved, △: partially achieved, and※: not considered.


## 4.1. Anonymity

### 4.1.1. Source Anonymity

In Boukerche’s path discovery phase, the source ID had been encrypted by its session key and the source’s session key had been encrypted by the destination’s public key; only the destination can be decrypted and obtains the source’s session key by its secret key and the destination can be decrypted and obtain the source ID by the source’s session key. In the scheme of PD-ZAP, G-ZAP, and RR-ZAP, because the packets do not add the destination ID information and the node mobility property in a mobile ad hoc environment, even the proxy has changed, the broadcasting or flooding area has changed, and the destination area still can be found and the data can be obtained.In the transmitting request phase of our scheme, because the sender’s identityS
i
d is encrypted by the receiver’s public key, only the receiver in N
o
d
e
n
→
N
o
d
e
R can decrypt the message by using the receiver’s secret key. Therefore, the sender’s identity S
i
d is anonymous. In the request reply phase, because the sender’s identity S
i
d is encrypted by the session key S
e
s
s
i
o
n
S
R, in R
→
N
o
d
e
3, R
→
N
o
d
e
6, and R
→
N
o
d
e
10, and executed a XOR operation with the receiver’s random number r
R, the sender’s identity S
i
d is therefore anonymous.


### 4.1.2. Destination Anonymity

In the path discovery phase of Boukerche’s scheme, the destination ID would be encrypted by the destination public key and the destination can decrypt and obtain the destination ID by using its secret key.In the scheme of PD-ZAP, the closest node to the destination will be chosen as a proxy and it will broadcast the data to its neighbors. Because the destination is not far from the pseudo destination, the destination still can receive the data. But the malicious node can realize that the destination is near the proxy if it detects that a proxy broadcasts data.For the G-ZAP scheme, the first node that receives the data will be the proxy in the destination-anonymous zone. The proxy will flood the data to every node in the anonymous zone. Because the destination is not far from the pseudo destination, the malicious node will in the distance of Proxy’s maximum transmitting range.For the RR-ZAP scheme, the destination will generate a pseudo destination (PD) randomly and place itself in the middle between the source and the pseudo destination. The destination will keep several hops of distance from the pseudo destination. Wu et al.’s scheme uses the GPRS-likescheme as its routing protocol; therefore, when the source sends the data to the pseudo destination, the data must pass the real destination. So the malicious node can still know that the destination is in the path from the source to the pseudo destination.In the transmitting request phase of our scheme, because the receiver’s identityR
i
d is encrypted by the receiver’s public key R
P
K, only the receiver R in N
o
d
e
n
→
N
o
d
e
R can decrypt the message by using the receiver’s secret key. Therefore, the receiver’s identity R
i
d is anonymous. In the request reply phase, because the receiver’s identity R
i
d is encrypted by the session key S
e
s
s
i
o
n
S
R, in R
→
N
o
d
e
3,  R
→
N
o
d
e
6, and  R
→
N
o
d
e
10, and has been executed by a XOR operation with the receiver’s random number r
R, the receiver’s identity R
i
d is therefore anonymous.


### 4.1.3. Middle Node Anonymity

In the path discovery phase of Boukerche’s scheme, whatever node obtained the temporal secret key can decrypt the data forwarded from the other node. And the node will know that the data is coming from the destination and which nodes are the forwarding nodes.In the PD-ZAP scheme, the middle node will choose a next forwarding node by exchanging the location information. And each node has the neighbors list so a node can obtain some information about other middle nodes.The G-ZAP and RR-ZAP scheme are just like PD-ZAP and the middle node will obtain a neighbors list by exchanging the location information. So it can obtain some information of other middle nodes.InN
o
d
e
1
→
N
o
d
e
2 and N
o
d
e
2
→
N
o
d
e
3, the middle nodes N
o
d
e
1
_
i
d to N
o
d
e
10
_
i
d use the common secret key to encrypt the data and only the source and the receiver in N
o
d
e
n
→
N
o
d
e
R have the common secret key S
R
S
K, so the middle nodes N
o
d
e
1
_
i
d to N
o
d
e
10
_
i
d are anonymous. For the identity N
o
d
e
x
_
i
d of any middle node, besides the source and receiver, only the middle node has its own random number N
o
d
e
x
_
i
d, so the middle node can decrypt the r
N
n
⊕
[
t
i
m
e
n
n
,
T
r
a
n
i
d
,
P
a
t
h
x
]—for example, r
N
3
⊕
[
t
i
m
e
3
,
T
r
a
n
i
d
,
P
a
t
h
1
].


## 4.1.1. Source Anonymity

In Boukerche’s path discovery phase, the source ID had been encrypted by its session key and the source’s session key had been encrypted by the destination’s public key; only the destination can be decrypted and obtains the source’s session key by its secret key and the destination can be decrypted and obtain the source ID by the source’s session key. In the scheme of PD-ZAP, G-ZAP, and RR-ZAP, because the packets do not add the destination ID information and the node mobility property in a mobile ad hoc environment, even the proxy has changed, the broadcasting or flooding area has changed, and the destination area still can be found and the data can be obtained.In the transmitting request phase of our scheme, because the sender’s identityS
i
d is encrypted by the receiver’s public key, only the receiver in N
o
d
e
n
→
N
o
d
e
R can decrypt the message by using the receiver’s secret key. Therefore, the sender’s identity S
i
d is anonymous. In the request reply phase, because the sender’s identity S
i
d is encrypted by the session key S
e
s
s
i
o
n
S
R, in R
→
N
o
d
e
3, R
→
N
o
d
e
6, and R
→
N
o
d
e
10, and executed a XOR operation with the receiver’s random number r
R, the sender’s identity S
i
d is therefore anonymous.


## 4.1.2. Destination Anonymity

In the path discovery phase of Boukerche’s scheme, the destination ID would be encrypted by the destination public key and the destination can decrypt and obtain the destination ID by using its secret key.In the scheme of PD-ZAP, the closest node to the destination will be chosen as a proxy and it will broadcast the data to its neighbors. Because the destination is not far from the pseudo destination, the destination still can receive the data. But the malicious node can realize that the destination is near the proxy if it detects that a proxy broadcasts data.For the G-ZAP scheme, the first node that receives the data will be the proxy in the destination-anonymous zone. The proxy will flood the data to every node in the anonymous zone. Because the destination is not far from the pseudo destination, the malicious node will in the distance of Proxy’s maximum transmitting range.For the RR-ZAP scheme, the destination will generate a pseudo destination (PD) randomly and place itself in the middle between the source and the pseudo destination. The destination will keep several hops of distance from the pseudo destination. Wu et al.’s scheme uses the GPRS-likescheme as its routing protocol; therefore, when the source sends the data to the pseudo destination, the data must pass the real destination. So the malicious node can still know that the destination is in the path from the source to the pseudo destination.In the transmitting request phase of our scheme, because the receiver’s identityR
i
d is encrypted by the receiver’s public key R
P
K, only the receiver R in N
o
d
e
n
→
N
o
d
e
R can decrypt the message by using the receiver’s secret key. Therefore, the receiver’s identity R
i
d is anonymous. In the request reply phase, because the receiver’s identity R
i
d is encrypted by the session key S
e
s
s
i
o
n
S
R, in R
→
N
o
d
e
3,  R
→
N
o
d
e
6, and  R
→
N
o
d
e
10, and has been executed by a XOR operation with the receiver’s random number r
R, the receiver’s identity R
i
d is therefore anonymous.


## 4.1.3. Middle Node Anonymity

In the path discovery phase of Boukerche’s scheme, whatever node obtained the temporal secret key can decrypt the data forwarded from the other node. And the node will know that the data is coming from the destination and which nodes are the forwarding nodes.In the PD-ZAP scheme, the middle node will choose a next forwarding node by exchanging the location information. And each node has the neighbors list so a node can obtain some information about other middle nodes.The G-ZAP and RR-ZAP scheme are just like PD-ZAP and the middle node will obtain a neighbors list by exchanging the location information. So it can obtain some information of other middle nodes.InN
o
d
e
1
→
N
o
d
e
2 and N
o
d
e
2
→
N
o
d
e
3, the middle nodes N
o
d
e
1
_
i
d to N
o
d
e
10
_
i
d use the common secret key to encrypt the data and only the source and the receiver in N
o
d
e
n
→
N
o
d
e
R have the common secret key S
R
S
K, so the middle nodes N
o
d
e
1
_
i
d to N
o
d
e
10
_
i
d are anonymous. For the identity N
o
d
e
x
_
i
d of any middle node, besides the source and receiver, only the middle node has its own random number N
o
d
e
x
_
i
d, so the middle node can decrypt the r
N
n
⊕
[
t
i
m
e
n
n
,
T
r
a
n
i
d
,
P
a
t
h
x
]—for example, r
N
3
⊕
[
t
i
m
e
3
,
T
r
a
n
i
d
,
P
a
t
h
1
].


## 4.2. Security

In Boukerche’s scheme, PD-ZAP, G-ZAP, and RR-ZAP schemes all use both the symmetrical encryption system and asymmetrical encryption system. So they all are satisfied with the security property.InS
→
All, N
o
d
e
1
→
N
o
d
e
2, N
o
d
e
2
→
N
o
d
e
3, and N
o
d
e
n
→
N
o
d
e
R, the messages transmitted to each node are based on the public cryptosystem; in the equations R
→
N
o
d
e
3, R
→
N
o
d
e
6, R
→
N
o
d
e
10, N
o
d
e
3
→
N
o
d
e
2, N
o
d
e
6
→
N
o
d
e
5, N
o
d
e
10
→
N
o
d
e
9, N
o
d
e
2
→
N
o
d
e
1, N
o
d
e
5
→
N
o
d
e
4, N
o
d
e
9
→
N
o
d
e
8, S
→
N
o
d
e
1, S
→
N
o
d
e
4, S
→
N
o
d
e
7, and R
→
S, the messages transmitted to each node are based on the session key cryptosystem and random number r
N
n. Therefore, the property of the security of the messages could be satisfied.


## 4.3. Confidentiality

In the path discovery phase of Boukerche’s scheme, the message is encrypted by the symmetric cryptosystem and asymmetric cryptosystem. In the path reverse phase and data transfer phase of Boukerche’s scheme, the message is encrypted by the symmetric cryptosystem.In the PD-ZAP, G-ZAP, and RR-ZAP schemes, the destination will generate a symmetric key first and encrypt the request message and the symmetric key with the server’s public key. Then, the destination will send the encrypted message to the server. After the server obtains the symmetric key, all the messages will be encrypted with the symmetric key.In our scheme, the equationsS
→
All, N
o
d
e
1
→
N
o
d
e
2, N
o
d
e
2
→
N
o
d
e
3, and N
o
d
e
n
→
N
o
d
e
R are encrypted/decrypted by the symmetric cryptosystem, to ensure data confidentiality. The R
→
N
o
d
e
3, R
→
N
o
d
e
6, R
→
N
o
d
e
10, N
o
d
e
3
→
N
o
d
e
2, N
o
d
e
6
→
N
o
d
e
5, N
o
d
e
10
→
N
o
d
e
9, N
o
d
e
2
→
N
o
d
e
1, N
o
d
e
5
→
N
o
d
e
4, N
o
d
e
9
→
N
o
d
e
8, N
o
d
e
1
→
S, N
o
d
e
4
→
S, and N
o
d
e
7
→
S are encrypted/decrypted by the session key cryptosystem, to ensure data confidentiality, and only node X and receiver R know the node’s random number r
X, so only the previous node will know the identity N
o
d
e
n
_
i
d for its next node on the forwarding path. Other nodes on the path cannot know the identity N
o
d
e
n
_
i
d. In S
→
All, the other nodes only know that there are some messages that need to be forwarded. By the receiver’s routing table R
o
u
t
i
n
g
_
t
a
b
l
e, there are some extra pseudo values r
p
s
e
u
d
o
B, so the middle nodes do not know exactly how many middle nodes exist on the forwarding path, not to mention the identity of the sender and receiver.


## 4.4. Authentication

In the path discovery phase, the sender will encrypt the symmetric key with the receiver’s public key and sends it to the receiver. After the receiver obtains the symmetric key, it can obtain and verify the identity of the sender. The message is signed by the sender’s secret key, so the receiver can verify the message.In the schemes of PD-ZAP, G-ZAP, and RR-ZAP, there is the HMAC from destination, and the server can verify all the data by the HMAC. Only the destination and server have the symmetric key, so if some packets can be decrypted by the symmetric key, each of them can confirm that the packets do come from the other.InS
→
All, the message [
S
i
d
,
R
i
d
,
T
i
m
e
s
,
D
a
t
a
s
i
z
e
,
r
S
] would be signed by the sender’s private key S
S
K; in the request reply phase, the receiver R could authenticate whether these messages are from the sender S by the sender’s public key S
P
K. The sender S could not deny the messages. Therefore, the property of nonrepudiation could be satisfied. In the request reply phase, because the receiver R has the receiver’s routing table R
o
u
t
i
n
g
_
t
a
b
l
e, there are the random numbers r
1
,
…
,
r
10 for each node in the messageBack. Each node N
o
d
e
1
–
N
o
d
e
10 could not deny the messages for the sender S and the receiver R, and only the sender S and the receiver R have the session key S
e
s
s
i
o
n
S
R, the sender’s identity S
i
d, the receiver’s identity R
i
d, the sender’s identity r
R, the receiver’s identity r
R, the transmit requesting time t
i
m
e
S, and the data received time t
i
m
e
R. Therefore, both the sender S and the receiver R could not deny the messages.


## 4.5. Traceability

In the path discovery phase of Boukerche’s scheme, each middle node will transmit its own identity to receiver, so the receiver will know who the exact forwarding nodes between source and receiver are. In the path reverse phase and data transfer phase, the replied messages from the receiver do not include the identity of the middle nodes, but rather the session keys of the middle nodes, so the resource cannot know who the middle nodes are.In the schemes of PD-ZAP, G-ZAP, and RR-ZAP, although the middle node has exchanged information with its neighbors and has a neighbors list, it does not transmit its own identity information when forwarding the data, so the server and destination cannot know who the middle nodes are.InS
→
All, the sender’s identity S
i
d, the receiver’s identity R
i
d, the data request time T
i
m
e
S, the data size D
a
t
a
s
i
z
e, and the sender random number r
S will be signed by the sender’s secret key S
S
K  and encrypted by the receiver’s public key R
P
K, so the receiver in the request reply phase can verify if the forwarding data in multipath from N
o
d
e
1
→
N
o
d
e
2, N
o
d
e
2
→
N
o
d
e
3, and N
o
d
e
n
→
N
o
d
e
R is correct or not.


## 4.6. Nonrepudiation

In Boukerche’s phase of Boukerche’s scheme, because the source has signed with the sender’s secret key, the source cannot deny it does not send the data. The middle node also signs the data it has received before and forwards the data, so the middle node cannot deny that it does not receive the data. In the path reverse phase, because the source can obtain the encrypted session key and it sends the source session key to the receiver in the path discovery phase, the receiver cannot deny that it does not transmit the data, similarly to the middle nodes.In the schemes of PD-ZAP, G-ZAP, and RR-ZAP, the destination has encrypted and sent the data to the server, but there is no identity of destination, destination signature, or identity-verified information, so the destination can deny that it does not receive the forwarding message. The middle node is only in charge of forwarding the data encrypted by the symmetric key, so the middle node can deny that it does not receive the forwarding data. The server encrypted by with the symmetric key and sent the data to the destination, so the server cannot deny that it does not receive the destination’s request message and has forwarded the data to the destination.InS
→
All, the message [
S
i
d
,
R
i
d
,
T
i
m
e
s
,
D
a
t
a
s
i
z
e
,
r
S
] has been signed with the source’s secret key. In the request reply phase, the receiver can verify if the data came from the sender with the sender’s public key S
P
K, and the sender cannot deny that it does not transmit the data. In the request reply phase, because the receiver has the receiver routing table and the back has a lot of middle nodes’ random numbers r
1 to r
10, each middle node N
o
d
e
1
–
N
o
d
e
10 cannot deny that it does not forward the data for the source and receiver. Because of the session key S
e
s
s
i
o
n
S
R, sender’s identity S
i
d, receiver’s identity R
i
d, and the sender’s random number r
R which only the sender and receiver can own, the sender and receiver cannot deny that they have not sent the messages.


## 4.7. Unforgeability

In the path discovery phase of Boukerche’s scheme, because the message has been signed by the sender’s secret key and the message has been encrypted by the receiver’s public key, the malicious node, the middle nodes, and the receiver cannot forge the message. The malicious node and the middle node obtain the temporal public key, encrypt the message with it, and attach the hash-verified data to the message, so the malicious node and other middle nodes cannot forge the message, for example, the identity ID and the keyK. Because the middle node has attached the hash-verified data to the message in the path reverse phase, the malicious node and other middle nodes cannot forge the message, for example, the identity ID and the key K.In the schemes of PD-ZAP, G-ZAP, and RR-ZAP, the destination does not attach any identity information, for example, the signature or identity.The server sends the data to the destination encrypted with the symmetric key, so the server cannot deny that it does not receive the destination’s request message and has sent to the destination.InS
→
All, the messages r
S
⊕
S
e
s
s
i
o
n
S
R, r
S
⊕
S
R
S
K and the sender’s random numbers r
S have been signed by the sender’s secret key S
S
K, so the request reply phase cannot be forged; the nodes will generate a random number r
X depending on different source and destination, so each node’s transmitting message cannot be forged. In the equations S
→
All, N
o
d
e
1
→
N
o
d
e
2, N
o
d
e
2
→
N
o
d
e
3, and N
o
d
e
n
→
N
o
d
e
R, only the sender and receiver have the session key S
e
s
s
i
o
n
S
R, so, in the request reply phase, the encrypted valueBack cannot be forged. If someone wants to replace or forge the valueBack, the sender can send the sender’s random number r
S and the session key S
e
s
s
i
o
n
S
R to know that the valueBack has been replaced or forged.


## 4.8. Uncounterfeit

In the path discovery phase of Boukerche’s scheme, because the sender’s messages have been signed with its secret key and encrypted with the receiver’s public key, the malicious node cannot counterfeit the sender. The middle node has signed the hash value with its secret key before it forwards the packets, so the malicious node cannot counterfeit the middle node. In the path discovery phase, because the receiver’s and middle node’s messages have a hash value and the middle node has signed the hash value before forwarding the message, the malicious node cannot counterfeit the middle nodes or the receiver.In the schemes of PD-ZAP, G-ZAP, and RR-ZAP, the destination has encrypted the message with the server’s public key and sent the message to the server, but there is no information about the destination-verifying message, signature, or identity. The malicious node can counterfeit the destination and request the server to broadcast messages into any area the malicious node wants.


## 4.9. Flexibility for Multipaths

In Boukerche’s scheme, there is only one forwarding path, and it does not consider electricity consumption or the traffic-load balance by multipath. The schemes of PD-ZAP, G-ZAP, and RR-ZAP do not consider electricity consumption or the traffic-load balance by multipath but just forward the message with the GPRS  [33]. In our scheme, after the receiver R decrypts the value N
o
d
e
n
_
i
n
f
o, the receiver R could know the identity number of the node N
o
d
e
i
d between the sender S and the receiver R and the total forwarding time C
o
u
n
t
x from different paths. Because the different path has the different total forwarding time C
o
u
n
t
x, the receiver R would choose the path P
a
t
h
x with unique identity number of node N
o
d
e
X
_
i
d and sort the order for each path P
a
t
h
x by the total forwarding time C
o
u
n
t
x. Then, the sender S would decide to forward the data with single path or multipath with the consideration of the sender S. For example, if the sender S wants to finish the transition faster, saving each node’s power, or to avoid a malicious node between the sender S and the receiver R, it would choose the multipath; if the sender S wants to reduce the traffic flow for the area/duration, the sender R would choose lesser paths or even single path. The comparison of secure functions is in Table 3.Table 3
The comparison table of secure function.
Boukerche et al. [31]
PD-ZAP
G-ZAP
RR-ZAP
Ours
Anonymity
Source
○
※
※
※
○
Destination
○
△
△
△
○
Middle node
X
△
△
△
○
Security
○
○
○
○
○
Confidentiality
○
○
○
○
○
Authentication
○
○
○
○
○
Traceability
△
X
X
X
○
Nonrepudiation
○
△
△
△
○
Unforgeability
○
X
X
X
○
Uncounterfeit
○
X
X
X
○
Flexibility for multipaths
X
X
X
X
○
○: achieved, X: unachieved, △: partially achieved, and※: not considered.


## 5. Efficiency Analysis

Table4 is the efficiency comparison table for each scheme. Boukerche’s scheme and Wu et al.’s scheme do not consider the confirming process after the data transmission is finished. But, in our scheme, we have considered that. In Table 4, the efficiency in our scheme is better than that of Boukerche’s. Although it is worse than Wu et al.’s scheme, but the efficiency and security could be tradeoff, and we think that security is more important. In the near future, with the improvement of CPU operation speed and the memory space, the operation speed for asymmetric encryption system could be decreased soon.Table 4
The efficiency comparison for each scheme.
Phase
Boukerche et al. [31]
PD-ZAP
G-ZAP
RR-ZAP
Ours
3.1
(
3
n
+
2
)
T
B
e
x
p
B
+
(
n
+
1
)
T
B
S
S
L
B
+
T
B
h
B
T
B
e
x
p
B
+
T
B
S
S
L
B
+
T
B
h
B
T
B
e
x
p
B
+
T
B
S
S
L
B
+
T
B
h
B
T
B
e
x
p
B
+
T
B
S
S
L
B
+
T
B
h
B
(
n
+
2
)
T
B
e
x
p
+
2
T
B
⊕
B
3.2
2
T
B
e
x
p
B
+
(
2
n
+
1
)
T
B
S
S
L
B
T
B
e
x
p
B
+
T
B
S
S
L
B
B
T
B
e
x
p
B
+
T
B
S
S
L
B
B
T
B
e
x
p
B
+
T
B
S
S
L
B
B
(
n
+
1
)
T
B
e
x
p
B
+
(
n
+
1
)
T
B
S
S
L
+
(
2
n
+
4
)
T
B
⊕
B
3.3
2
n
T
B
S
S
L
B
n
T
B
S
S
L
B
n
T
B
S
S
L
B
n
+
T
B
S
S
L
B
(
n
+
3
)
T
B
S
S
L
B
+
(
n
+
3
)
T
B
⊕
B
3.4
None
None
None
None
T
B
S
S
L
B
+
T
B
⊕
B
Total cost
(
3
n
+
4
)
T
B
e
x
p
B
+
(
5
n
+
2
)
T
B
S
S
L
B
+
T
B
h
B
2
T
B
e
x
p
B
+
(
n
+
2
)
T
B
S
S
L
B
+
T
B
h
B
2
T
B
e
x
p
B
+
(
n
+
2
)
T
B
S
S
L
B
+
T
B
h
B
2
T
B
e
x
p
B
+
(
n
+
3
)
T
B
S
S
L
B
+
T
B
h
B
B
(
2
n
+
3
)
T
B
e
x
p
B
+
(
2
n
+
5
)
T
B
S
S
L
B
+
(
3
n
+
10
)
T
B
h
B
T
B
e
x
p
B: one-time asymmetric encrypting/decrypting operation.
T
B
S
S
L
B: one-time symmetric encrypting/decrypting operation.
T
B
h
B: one-time one-way hash function operation.
T
B
⊕
B: one-time exclusive-OR operation.


## 6. Conclusions

The proposed scheme is real and practical for the ad hoc environment. Its routing rule and transmission scheme are not only satisfied with the security properties of previous schemes, but also satisfied with the efficiency property. The proposed scheme is satisfied with the security properties of source anonymity, destination anonymity, middle node anonymity, security, confidentiality, authentication, traceability, nonrepudiation, unforgeability, uncounterfeit, and flexibility for multipaths.



---

*Source: 365863-2015-08-16.xml*