Secure opinion sharing for reputation-based systems in mobile ad hoc networks

Due to the basic nature of mobile ad hoc networks, that is, infrastructure-less, it is prone to individual or collective mis-behaviors by participating node(s). Participating nodes could act selfishly and does cause massive loss to network performance because of limited resources or belonging to a different administrative domain. Reputation-based solutions are widely used to mitigate selfishness. These solutions are to some extent depend on the feedback from participating nodes for any given node which required its secure exchange in an adverse environment. This paper introduces a secure opinion sharing based on network coding to ensure the effectiveness of any reputation against selfishness in an adverse environment. The proposed scheme addresses the threat to opinion exchange in any reputation-based solution with minor changes. In addition, it can be used to exchange secure data in an adverse environment, for example, virtual currency and feedback exchange for credit payment and game theory–based solutions, respectively. Simulation results proved that this scheme achieves excellent opinion exchange ratio, moderate delay, and affordable per cycle overhead.


Introduction
A wireless network without any centralized access point and additionally does not depend upon pre-existing infrastructure is called ad hoc networks. Wireless with mobility-based ad hoc network is created with set of mobile nodes that are connected through a radio frequency (RF) of infrared interface and have a capability of communicating with one another by creating connections through a decentralized manner. All the mobile nodes within the mobile ad hoc network (MANET) have equal importance. In other words, any node within the network will work as a host or router and might communicate by transmitting the data on to any node or device on the network. Hence, MANETs face enormous challenges due to its basic peer to peer-based architecture. As it is an infrastructure-less network and rely on node participation to carry out network operations, it is easy to disrupt by anyone or group of participating nodes. Although these networks are easy to install, support mobility does not require fixed infrastructure and are suitable in emergency situations but it becomes more difficult if the participating nodes belong to different administrative body, that is, several organizations in the context of a commercialized network.
Even for MANETs in the same administrative domain, there exists the possibility that malicious nodes could disrupt this network due to any mutual cause. Apart from other limitations, each node is resources constraint and to prolong its life, a node may act selfishly by consuming its resources only for its own operations. Selfishness mitigation remains an interesting research topic, and so far various solutions [1][2][3] are proposed that fall under either reputation, credit payment, game theory, load balancing-based category, or a combination of these techniques.
Many researchers proposed different reputationbased solutions require opinion sharing by all or few participating nodes to decide the status of any particular node. [4][5][6][7] In an adverse environment, noncooperative nodes could alter this valuable information and deceive the requesting node to perceive a legitimate node, selfish or not. [8][9][10][11] The origin of network coding is from the concurrent nonlinear theory and linear theory. To date, network coding is having wide applications to many established fields including coding theory, computer networks, computer science, distributed data storage, information security, information theory, optimization theory, peer-to-peer (P2P) content delivery, switching theory, and wireless/satellite communications. As shown in Figure 1(a) and (b), it creates a multicast network as a finite acyclic-directed multigraph with a single source node. An edge within the directed multi-graph represents a noiseless communication channel of unit capacity. The source or head node generates a message per unit time for the transmission to receiver nodes(members). Figure 1(a) shows a simple example of network coding in a cluster formation where both member nodes are subscribed to the same cluster, and Figure 1(b) shows a situation when both communicating nodes are a member of two different clusters. To exploited these features of network coding and used message authentication code (MAC) to ensure the integrity of shared opinion. This secure opinion could be used with any existing or new reputation-based solution to increase its efficiency, reliability, and robustness. This paper, a network coding-based opinion sharing technique that ensures integrity and confidentiality of valuable feedback to conclude correct perception about any given node was proposed. Along with maximizing network throughput, network coding could be used to provide data confidentiality. The rest of this paper structured as follows. The second section review the previous work related to reputation-based solutions and network coding. The third section introduces the detail steps of the proposed secure opinion sharing scheme. Finally, the simulation implementation details including the data structure and transitional chart are explained and concluded in detail.

Related work
The functionality of the MANET is different from the fixed IP network and the infrastructure-based wireless network, which leads to new challenges to guarantee its security. This is because the distributed wireless communication manner makes the threat of being attacked, thus suffering from a series of security issues like black hole, wormhole, and so on. In addition, the selforganization of mobile nodes blurs the boundary of network. Due to this, mobile node in the MANET is prone to physical security fragile. To contain the limited resources, a participating node in MANETs could act selfishly by denying entertaining the interest of other nodes. [12][13][14][15] Any degree of non-cooperation by a node or group of nodes would result in a decline in overall network performance. The chances would be more in a situation where all participating nodes do not belong to the same administrative domain. Selfishness is widely mitigated by using reputation systems. 16 These reputation systems rely on the observation feedback that is provided by other nodes for any specific node. We call this feedback ''opinion.'' Under a famous reputation-based solution, 4-6 the participating nodes exchange their opinion in a non-secure fashion and do not ensure its integrity. This valuable information is the only source to conclude the status of any observed node and if this information has tampered then it could make a selfish node, non-selfish, or vice versa.
Applications of network coding [17][18][19][20] are no more limited only to enhance network throughput, but the features of network coding also made it a candidate to devise network security solutions. These security solutions include an efficient scheme based on XOR network coding to combat pollution attack, 16 an algorithm to resist byzantine attacks, 17 an efficient protocol for wireless sensor networks based on network coding, 21 and so on. The nature of MANETs, that is, everchanging network topology, multi-hop, decentralized, and self-organizing properties, introduces more serious security challenges than those in static networks. [22][23][24] An extremely important problem is how to distribute and update an opinion in a secure way and with its integrity intact. We did not find any similar technique to address this issue. The opinion is the only input to a reputation system that helps to conclude the behavior of any given node to a selfish node or legitimate. With this consideration, we have proposed a secure opinion sharing mechanism that could be used with any reputation system.

The proposed scheme
This scheme has three reasonable requirements, clusteroriented topology to enable network coding strategy, offline trusted third party (TTP) to distribute required information at the beginning, and sufficient memory space at each participating node. Table 1 provides abbreviation details, and our scheme is explained below in three parts: initializing, opinion exchange, and opinion updating part.

Initializing part
The offline TTP in the network generates a secret key K i 2 P, where P is the complete key pool generated by TTP, and the corresponding identifiers ID i , i 2 f0, . . . , N À 1g for each of the ad hoc node. TTP stores an entire encrypted list of the other node's keys K j È a ij , j = 0, . . . , i À 1, i + 1, . . . , N À 1 (notice that a ij = a ji ) into node i alone with all corresponding identifiers of all ad hoc nodes. Then TTP chooses a secure hash function h(x).
Note that, after a complete initialization phase, each node only knows its own secret key and the encrypted version of other nodes. This will reduce the possibility of secret key leakage when one node is captured and compromised.

Opinion exchange part
After ad-hoc node deployment is complete, there are two distinguishable cases that have already been mentioned above.
First case: Both the given ad-hoc nodes belong to the same clusterhead. Figure 2 shows the case.
First verification and computation. Source member node A computes opinion A È fopinion A È opinion B g = opinion 0 B and MAC A È fMAC A È MAC B g = MAC 0 B , and then computes the MAC of destination node that it received, A , and then computes the MAC of source node that it received, MAC 0 Source member node A verifies to confirm if MAC 0 B = MAC B and destination member node B verifies to confirm if MAC 0 A = MAC A . If they are identical, then both member node A and member node B will perceive that the opinion was shared securely and without losing its integrity.
Second case: Both ad-hoc nodes are subscribed to two different clusterheads. Figure 3 shows more details of the protocol.
Step 1. Node member A sends its opinion opinion A , a message authentication code MAC A = h(opinion A jj K A È (K B È a AB )), addresses of member A , member B , and member z (for which the opinion is shared) to its  Step 1. Node member A sends its opinion opinion A , a message authentication code MAC A = h(opinion A jjK A È (K B È a AB )), addresses of member A , member B , and member z (for which the opinion is shared) to its clusterhead Head i , i 2 f1, . . . , Ng, where N is the maximum number of clusterheads in the ad-hoc network at present.
Step 2. When clusterhead Head i receive the message from member node member A , it first verifies if member node A and member node B are subscribed with it or not. If both member nodes are subscribed to the same cluster, then Head i records member A , MAC A , member A , member B , member z and delivers an address of member A , member B , member Z to member node B.
Step 3. When a member node B receives addresses of member A , member B , member Z , the member node B knows that the member node A wants to share its opinion about member node member Z with it. Then the member node sends its own opinion about member node member Z and MAC B = h(opinion B jjK B È (K A È a AB )) to Head i .
Step 4. Head i first performs a simple table search and then uses network coding paradigm to broadcast the value of fopinion A È opinion B jjMAC A È MAC B g.
clusterhead Head i , i 2 f1, . . . , Ng, where N is the maximum number of clusterheads in the ad-hoc network at present.
Step 2. Upon receiving the message from member A , Head i first checks if member A and member B are associated with it. If not, Head i records member A , member B , member z , opinion A , MAC A and broadcasts a seven-tuple member A , member B , member z , opinion A , MAC A , r i , Head i to the other clusterheads, where r i is the new random challenge generated by Head i .
Step 3. As soon as the clusterhead Head j receives the seven-tuple member A , member B , member z , opinion A , MAC A , r i , Head i broadcasted from Head i , Head j knows that member A want to share an opinion with member B that is associated as its member. Then Head j saves the seven-tuple member A , member B , member z , opinion A , MAC A , r i , Head i and broadcasts member A , member B , member z to member B .
Step 4. Upon receiving member A , member B , member z , the member B comes to know that member A wants to communicate with it. member B then sends its opinion regarding member z and MAC B = h(opinion B jj K A È (K B È a AB )) to Head j .
Step 5. Upon receiving opinion B , MAC B , Head j first performs a simple table search and generates a random challenge r j and sends a five-tuple opinion B , MAC B , Head j , r j , MAC j to Head i .
Step 6. Upon receiving the 5-tuple, Head i performs a simple table search and computes MAC 0 j = h(r i jjK i È (K j È a ij )).
Then  Algorithm-1: Mechanism in case the given node is a member node: Step 1: Determine the type of OEP packet that is received Step 2: If it is OEP 1 then Just forward OEP 1 to cluster head If it is OEP 2 then Just forward to next hop toward destination If it is OEP 3 then Send out OEP 1 to cluster head If it is OEP 4 then Just forward to next hop toward destination If it is OEP 5 then Compute and retrieve the Opinion Step 3: Reset to normal state until there is necessity to initiate sharing an opinion Algorithm-2: Mechanism in case the given node is a cluster head: Step 1: Determine the type of OEP packet that is received then both member node A and member node B will perceive that the opinion was shared securely and without losing its integrity.

Opinion updating part
As soon as the degree or value of opinion would be changed, the existing opinion would be changed accordingly. In this way, a previously shared opinion could be updated with a new opinion received at the end of each opinion exchange cycle.

Implementing in network simulator-2
Computer simulation acts as a primary step to employ and study each aspect of the proposed technique before implementing it in a real-world application/system. The famous network simulator-2 (NS-2) 25 is used in this paper to design the simulation for this scheme. As mentioned above, our scheme requires a cluster topology so we used CBRP (Cluster Based Routing Protocol) 26 to form dynamic clusters and used its route acquisition mechanism to acquire routes between two nodes. OpenSSL, 27 an open-source library, was used to compute MAC in NS-2. The route to any destination was discovered by source cluster head as soon as an opinion exchange packet (OEP) was received from any requesting member node. [28][29][30][31] To ensure the effectiveness of the scheme, five different packets were designed and used to exchange an opinion. Figure 4 shows the format of these OEPs 1-5.
With reference to Figure 2 as well as Figure 3, OEPs 1, 3, 5 and OEPs 1, 2, 4 were exchanged within and outside the cluster head, respectively. As soon as the opinion sharing cycle is initiated by requesting a member node, the OEP-1 is forwarded to the relevant clusterhead. The source clusterhead is responsible to find out the subscription of destination member node. OEP-1 would be replayed to the destination node in case if both the communicating nodes belong to the same clusterhead node otherwise the source clusterhead would arrange the route and send OEP-2 toward the destination member node. In case both member nodes are subscribed to same cluster head, OEP-1 is sent back to cluster head, which then broadcast the final information in OEP-5 for both source and destination member node. In case both member nodes are subscribed to different cluster head when the OEP-2 reaches destination cluster head then OEP-3 is sent to the required destination member to prepare relevant information for opinion exchange. OEP-1 is sent back to destination cluster head from destination member node, which leads to cluster head authentication step by sending and receiving OEP-4 and OEP-1, respectively. At this time both source and destination cluster heads would have the final information to send OEP-5 to their relevant member node. Mentioned in section ''The proposed Scheme,'' each node has its own responsibility to compute information before sending or forwarding OEP. Figure 5 shows the transition diagram for OEPs that were transmitted between the source and destination member node. After receiving OEP-5, both member  nodes compute the received information to make sure the integrity and confidentiality of opinion shared.

Results and discussions
The proposed scheme validated by three different performance metric, that is, overall throughput, delay and OEP packet overhead. A more detailed explanation of these matrixes is as follows: Opinion exchange ratio: It is the ratio of total opinion exchange cycles that were initiated to the total opinion exchange cycles that were successfully exchanged.  Average exchange delay: The average delay that all successful opinion exchange cycles faced is calculated in these criteria.
Opinion exchange packet overhead: Average number of OEPs that were used to exchange all opinions successfully is calculated in these criteria.
Except for opinion exchange packet overhead, other criteria were calculated while simulating traffic between member nodes that were subscribed to the same or different clusters. Opinion exchange packet overhead remains the same, that is, four packets while exchanging opinion between both member nodes in the same cluster but would vary if an opinion is exchanged between member nodes in different clusters. Table 2 shows the details of the parameter used and its given values. Figure 6 describes about the opinion exchange ratio (within same cluster and different clusters) with respect to the opinion exchange ratio. Network traffic load was varied from 2 to 10 random connections to record the opinion exchange ratio. Within same cluster, the achievable opinion exchange ratio is higher for increased traffic load. The success rate of opinion exchange ratio remained excellent while both member nodes were in the same cluster as shown in Figure 6. On the contrary, while exchanging opinion between two nodes in different clusters, it changed to high, moderate, and low with respect to opinion exchange rate 10, 20, and 30 s, respectively. Figure 7 shows the average delay for all successful opinion shared in both cases, during entire simulations. The slight and insignificant difference was noticed while both communicating nodes were subscribed to the same cluster and when each opinion exchange sending rate, respectively. Overall, the delay was increased as a number of communicating pairs increased.
While exchanging opinion between nodes that were subscribed to two different clusters, a varied amount of delay was observed. In this second case, an unpredictable number of intermediate clusters and member nodes are involved to pass back and forth these OEPs until successful completion of each cycle. Delay was measured diverse because of an unpredictable number of intermediate nodes. There was an increase in delay as the traffic was increased, and it was concluded that delay is directly proportional to the amount of packet exchange cycle.
Unlike opinion exchanged between nodes in different clusters, per cycle overhead is four packets in the first case where both communicating nodes were subscribed to the same cluster. Figure 7 shows only per cycle overhead in the second case, that is, opinion exchange between two member nodes in a different cluster. Overhead was low during fewer amounts of opinion exchange cycles, and it increased with the increased volume of opinion exchange cycle. This overhead includes the packet forwarding by an unpredictable number of intermediate nodes on the way from the source to the destination clusters.

Conclusion
The Opinion is the only input that a reputation-based selfishness mitigation solution uses to conclude the legitimacy of any given node. In an adverse MANET environment, this opinion is prone to modification and results in malfunctioning of the entire reputation solution. The proposed secure scheme to exchange this valuable opinion ensures confidentiality and integrity to opinions that were exchanged. Simulation results proved that the proposed scheme achieved higher success ratio, moderate delay, and affordable overhead. Opinion exchange cycles were more efficiently completed while both member nodes were in the same cluster but a noticeable decline in performance was observed when both member nodes were subscribed in different clusters. The main reason for this decline is the unpredictable number of intermediate node and distance between two clusters. The proposed scheme can be further enhanced by considering and facilitating any solution that requires secure information exchange between two nodes in any peer-to-peer network, for example, virtual currency exchange in credit paymentbased solutions, feedback exchange in game theorybased solutions, and so on against selfishness.

Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.