3. Proposed scheme
3.3. Packet Transmission
After the path establishment phase is finished, the source node will construct N paths to the base station, and simultaneously obtain the successful transmission probability of the paths. The source node is then able to transmit the data packets using (m, n) FAMIDS. We categorize the operations of packet transmission into three phases, packet generation phase, packet splitting phase and packet transmission phase, and explain separately.
Packet generation phase In order to provide secure communication between the source node and the base station, some security mechanisms are needed before packet splitting. Assume the original information sensed by the source node is M. The source node performs some encryption and authentication operations on M, and the message becomes:
( )
{
M MAC K M S}
D= || mac, ||
Kencr
In the modified message D, S represents the sequence number shared secretly between the source node and the base station which indicates the order of the transmitted packets. The maintenance and synchronization of the sequence number of the two ends can be achieved by some existing security mechanism, such as SPINS.
Without loss of generality, we assume the length of the modified message to be L bits.
Packet splitting phase In FAMIDS, a uniform allocation approach is taken, which means all paths used for transmission are assigned with one subpacket, in order to have the advantage of load balance. Based on the successful transmission probability of available multiple paths, the source node decides the optimal (m, n) FAMIDS with the highest communication reliability, where1≤n≤N,1≤m≤n. Compared with the brute-force approach that examining all the (m, n) pairs taken by other schemes, in FAMIDS the base station only needs to consider the communication reliability of the reduced candidate set of (m, n) pairs. In the analysis section, an efficient algorithm for determining the candidate set of (m, n) pairs is proposed.
After determining the optimal (m, n) pair, the source node splits the modified message D of L bits into n sub-packet Di,1≤i≤n, each of length L/m. In order to solve the sharing problem of the secret matrix A between the source node and the base station, we attach the row Ai of matrix A in front of the sub-packet Di, where1≤i≤n, rather than negotiating the matrix A in advance. Algorithm 3-1 shows the basic packet splitting algorithm, where the Mi,1≤i≤n, computed from the last step are the final sub-packets the source node transmits to the base station. The total computational overhead of the basic algorithm is O(m2).
There are two important observations of FAMIDS in wireless sensor networks.
First, the original data packets are of equal size. Second, the maximum number of available paths, i.e. N, is determined before deployment. Benefit from the observations, the base station preloads each sensor node with sufficient pre-computed sets of rows of matrix A with a sufficient large prime p, and each transmission the source node forms the matrix A by the first m elements of randomly choosing n rows
from the pre-computed set. Earlier research has discussed on the appropriate multipath level for wireless sensor networks and indicated that excessive multipath level does not benefit the data transmission because of the maintenance overhead. As a result, the degree of information dispersal, i.e. n, should be relative small in wireless sensor networks; it is efficient to trade storage for computation. With the modified packet splitting algorithm 3-2, the source node only needs to attach the first element ri
in front of the sub-packet Di to notify the base station of secret matrix A, and thus saving communication bandwidth.
Algortihm 3-1: Basic_Paket_Splitting (D, m, n) 1. Choose a prime p that p>2m −1
Algorithm 3-2: Modified_Paket_Splitting (D, m, n)
1. Randomly choose n rows from the pre-computed set of matrix A, each row takes the first m elements, i.e.
[
1 1]
m, pad 0 to the last piece), denoted byLm
Packet transmission phase The intermediate nodes all keep a specific sequence
number of its upstream and downstream neighbors to indicate the number of packets that are successfully received or transmitted by them. For example, Su,v represents the number of successful transmitted packets from node u to node v. Like the sequence number S, the value of each sequence number between two neighbors is maintained by SPINS. After packet splitting phase is finished, the source node transmits the sub-packets Mi’s through the multiple disjoint paths to the base station. The following equations show the transmission process of the sub-packets:
Source Node Æ Nodei,1: Mi||
{ }
1 , , 1
, ,
nodei source
i K
node source
S , 1≤i≤ N Nodei,jÆ Nodei,j+1: Mi ||
{ }
1 , , , 1 , , ,
+ +
j nodei j nodei j i j
i node K
Snode ,1≤ j≤Hopi −1
The first equation shows the transmission operations of the source node, while the second one represents the transmission operations of the intermediate nodes. Each intermediate node first verifies the received sub-packet by the encrypted sequence number in the rear of the packet. If a valid sub-packet is recognized, the intermediate node replaces the second part of the sub-packet and re-transmits the sub-packet to the downstream neighbor. The whole transmission process continues until the base station, i.e.
Hopi
Nodei, , receives the sub-packet. If enough sub-packets are correctly received by the base station, the base station can reconstruct the original information based on the secret matrix A and the encryption and authentication keys shared with the source node. Explicit acknowledgment and retransmissions can also be incorporated to enhance the system reliability if needed.
In the following section, we analyze the communication reliability and information security of FAMIDS and some efficient algorithm are proposed to determine the optimal set of (m, n) with highest communication reliability under different network conditions.