## 3 Our Approach
### Design Rationale  
In the existing software-based attestation schemes, the verifier will verify the memory of remote nodes through a \"challenge-response\" protocol. As shown in Figure 3, the verifier sends a challenge request to the remote device and activates the verification procedure [11]. When the verification procedure generates a checksum based on the contents of its memory, the remote device will send it back to the verifier. Then, the verifier can compute a checksum itself and compare them. If they are not the same or the remote device does not respond to the challenge in the predicted time, the verifier will confirm that the remote device is very likely compromised. Nonetheless, existing attestation schemes do not take into account the data transmission delay and the size of the network. In an AMI, nodes could establish a wireless mesh network, in which the delay cannot be ignored when the remote node is far from the verifier. In addition, the verifier should verify all nodes in the network, but there is no existing scheme that considers the attestation sequence of all nodes.  
In this paper, we proposed a low-cost remote memory attestation (LRMA) scheme, which considers the impact of the transmission delay over the network and adjusts the attestation frequency dynamically according to the compromised probability of remote nodes. Consequently, our proposed scheme can reduce the computation overhead on remote devices and the total number of attestations conducted by the verifier. Therefore, our proposed scheme can achieve better performance than existing schemes.  
The basic idea of our scheme is described as follows. First, LRMA records the number of attestation failures in the recent \(n_{r}\) time slots. The number of failures is used to determine the risk of the node and then to adjust the attestation frequency dynamically. A high risk indicates a high probability that the node is compromised immediately. Then, the verifier adaptively uses a high frequency to attest nodes that shows a high risk and uses a low rate to attest nodes that shows a low risk. In this way, the total number of attestations can be significantly reduced. Second, LRMA estimates the average single-hop delay through reports sent by relay nodes in the route, and then, the verifier can eliminate the impact of the delay when it determines whether the remote node is compromised. To make an accurate detection, the verifier confirms compromised nodes by using the Bayesian classifier when it compares the computation time of the checksum.  
LRMA mainly includes two key components: (i) dynamic attestation based on the node's risk level is used to arrange the sequence of attestations for each node; and (ii) delay-resilient remote memory attestation is used to eliminate the impact of the network delay by deriving the single-hop delay on the path, so that the verifier can confirm compromised nodes with a low computation overhead on remote devices. The notations used in this paper are shown in Table 1.  
\begin{table}
\begin{tabular}{l l} \hline \(v_{i}\) & The value of node \(i\) \\ \(p_{i}\) & The probability of node \(i\) being compromised in an attack \\ \(\lambda\) & The number of attacks in a unit of time \\ \(n_{r}\) & The number of periods to compute the risk value \\ \(R_{i}\) & The risk value of node \(i\) \\ \(p\) & The current period \\ \(F_{i,p}\) & The number of attestation failure of node \(i\) in period \(p\) \\ \(N\) & The total number of nodes in the network \\ \(n\) & The number of hops in a path \\ \(T\) & The unit of time \\ \(T_{v}\) & The single verification time \\ \(\upbeta\) & The scaling factor for an attestation interval \\ \(n_{v,i}\) & The number of verification in a time duration \(T\) \\ \(d_{\max}\) & The maximum end-to-end delay in the network \\ \(\bar{d}\) & The average one-hop delay in the network \\ \hline \end{tabular}
\end{table}
Table 1: Notation.  
Figure 3: The “challenge-response” protocol [11].