• No results found

Performance Comparison

In this section, we compare the performances of MASS, TASS and PTASS. Table 3.2 presents the different overheads incurred by MASS, and two state of the art protocols (TASS, and PTASS). For the sake of clarity, PTASS high refers to the transmission of high priority messages, while PTASS low refers to low priority messages. To evaluate the efficiency of our approach, we report on the DAG creation overhead, the average transmission overhead, and the average authentication overhead for MASS.

DAG Creation Overhead MASS makes use of DAG, which is made by a Merkle tree

[78] and a set of hash chains, while PTASS uses a DAG with two levels of Merkle trees (each leaf of the first Merkle tree is the root of a second Merkle tree) and a set of hash chains. We note that these Merkle trees are precomputed by the base station, and this operation can be executed off-line. In each session composed of t time intervals, the base station computes the root of the DAG and signs it using a public key cryptography, and then sends it to the receivers. It is worth noting that the DAG creation overhead of MASS is related mainly to the computation of the Merkle tree, and the set of hash chains. In fact, for a session with t time intervals, it needs to build a tree with 2t leaves. Therefore, the base station needs to use 4t − 1 hash functions to build the tree. Then, for each time interval, the base station builds 2m hash chains, and each chain has c + 2 elements. For each time interval, it needs 2m(c + 2) hash functions to build the hash chains. Moreover, the base station computes the authentication key, by using one hash function evaluation. To generate the two leaves of the tree, it needs two hash functions evaluations. Then, the total number of hash functions evaluations for one time interval is 2m(c + 2) + 3. If we consider t time intervals to build

Protocol Priority Off-line DAG Creation Over- head (Number of Hash Functions) Average Trans- mission Over- head for an Authenticated Message (Num- ber of Hash Values) Average Authenti-

cation Overhead for a Message (Number of Hash Functions)

TASS n/a t(2m(c + 1) + 7) − 1 log(2t)m log(2t)+3m + c + 1

PTASS Low 2mt(c + 3) + 5t − 1

log(2t) m

log(2t)+3

m +c+1+log(m)

High 2mt(c + 3) + 5t − 1 log(2t)m + log(m) log(2t)+3m +c+1+log(m)

MASS n/a t(2m(c + 2) + 7) − 1 log(2t)m + 2 log(2t)+3m + c + 3

Table 3.2 –Overheads of TASS, PTASS, and MASS

the tree, then the base station needs t(2m(c + 2) + 3) + 4t − 1 hash functions. In total, the creation of DAG on our proposal needs t(2m(c + 2) + 7) − 1 hash functions evaluations.

Average Transmission Overhead The transmission overhead is an important metric

that should be taken into account when dealing with resource constrained devices. This overhead depends on the DAG that is used, and it represents the number of hash values that the base station adds within the message. Indeed, in each time interval, the transmission overhead to authenticate the key of a time interval is equal to log(2t). Before message transmission, the base station sends the 2m leading nodes. In total, the average transmission overhead for MASS is equal to log(2t)m + 2 hash values.

Figure 3.5 reports the average transmission overhead for an authenticated message, while varying the number of messages m and time intervals t. When the number of messages increases, MASS achieves better performances compared to PTASS high. It is worth noting that the number of hash values are smaller than PTASS high. In particular, MASS performs better than PTASS when m is higher than 4 messages per interval.

Average Authentication Overhead To authenticate a message, the receiver has to

compute several hash functions. Considering that m messages at most can be sent in each time interval, the receiver in our proposal has to compute the number of hash function evaluations to authenticate a message. Indeed, at the beginning of the time interval, the receiver needs to compute the root of the Merkle tree by performing log(2t) number of hash functions evaluations. The number of hash functions to compute the verification nodes from the leading nodes is 2m. The computation of the key based on the verification nodes, requires one hash function evaluation. Moreover, the computation of the two leaves of the Merkle tree needs two hash functions evaluations. Thus, at the beginning of the time interval, the receiver node has to compute 2m+3 hash functions. Moreover, for each received message, the receiver has to compute the value of the leading nodes of the used chains. This computation requires c + 1 hash functions. In total, MASS requires log(2t)+3m + c + 3 hash functions evaluations.

2000 4000 6000 8000 10000 12000 10 20 30 40 50 60 70 80 90 100 0 2 4 6 8 10 12

Number of Hash Values

TASS, PTASS Low MASS PTASS High

t

m

Number of Hash Values

Figure 3.5. – Average Transmission Overhead for an Authenticated Message

In order to assess the average authentication overhead for a message, we varied the number of messages and commands. In Figure 3.6(a), we report this overhead while varying the number of messages m, and fixing the number of commands c = 5. It is straightforward to note that the number of hash functions increases slightly when m increases. MASS requires less number of hash functions evaluations compared to PTASS. Moreover, in Figure 3.6(b), we report the average authentication overhead when c = 128. It is interesting to note that for PTASS, the average authentication overhead increases. However, MASS has lower overhead compared to PTASS, even when increasing the number of commands and messages. 0 2000 4000 6000 8000 10000 12000 10 20 30 40 50 60 70 80 90 100 20 40 60 80 100 120 140

Number of Hash Functions

TASS MASS PTASS

t

m

Number of Hash Functions

(a) c=5 2000 4000 6000 8000 10000 12000 10 20 30 40 50 60 70 80 90 100 128 130 132 134 136 138 140 142 144 146

Number of Hash Functions

TASS MASS PTASS

t

m

Number of Hash Functions

(b) c=128