# Energy Efficient Dynamic Symmetric Key Based Protocol for Secure Traffic Exchanges in Smart Homes
## 3 The Proposed Scheme
### ShDs and MDs Registration Phase  
The registration phase consists of four major steps, as discussed below. **Step 1**: The TA instantiates timer \(\mathrm{T_{M}}\) and derives the shared secret key \(\psi\) deployed between the MD and TA before generating user identity \(ID_{\mathrm{U}}\) and MD identity \(\mathrm{ID_{M}}\). This is followed by the derivation of \(d\)\(=\)\(E_{\psi}\) (\(ID_{\mathrm{U}}\)) and \(e\)\(=\)\(E_{\psi}\) (\(ID_{\mathrm{M}}\)), which are actually \(ID_{\mathrm{U}}\) and \(\mathrm{ID_{M}}\) encrypted using \(\psi\). Next, the SHO composes registration request \(SOReg_{Req}\) that is then sent to TA with security parameters \(d\) and \(e\). **Step 2**: Upon receipt of \(Reg_{Req}\), TA increments \(\mathrm{T_{M}}\) and computes ephemeral \(\mathrm{S}\)\(=\)\(E_{\psi}\) (\(\mathrm{T_{M}}^{*}\)). Next, TA generates nonce \(\mathbb{N}_{1}\) before deriving its current session secret value \(\mathbb{P}_{\mathrm{TA}}\) = h \begin{table}
\begin{tabular}{c c} \hline \hline
**Notation** & **Description** \\ \hline TA & Trusted authority \\ \hline SHD & Smart home device \\ \hline \(\mathrm{ID_{U}}\) & User identity \\ \hline \(\mathrm{ID_{M}}\) & Mobile device identity \\ \hline \(\mathrm{ID_{TA}}\) & TA’s identity \\ \hline h(.) & Hashing operation \\ \hline \(\mathrm{T_{M}}\) & Timer \\ \hline \(\psi\) & MD \& TA shared secret key \\ \hline \(\Phi\) & SHD \& TA shared secret key \\ \hline \(\mathbb{N}_{i}\) & Random nonce \\ \hline \(\mathrm{ID_{S}}\) & SHD identity \\ \hline \(\mathrm{T_{1}}\)\(\ldots\)\(\mathrm{T_{7}}\) & Timestamps \\ \hline \(\mathrm{T_{Th}}\) & Threshold timestamp \\ \hline \(E_{\psi}\) & Encryption using \(\psi\) \\ \hline \(\Phi\) & XOR operation \\ \hline \(\|\) & Concatenation operation \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Notations and their descriptions. Figure 2: Execution block diagram. (\(ID_{\text{U}}||ID_{\text{M}}||\mathbb{N}_{1}\)) that essentially binds \(ID_{\text{U}}\) and \(ID_{\text{M}}\). This is followed by the derivation of \(ID_{\text{U}}\)'s current session secret value \(\mathbb{Q}_{\text{U}}=E_{\text{U}}\) (\(ID_{\text{U}}\), \(ID_{\text{M}}\), \(\mathbb{P}_{\text{TA}}\), \(S\)) and security parameter \(\text{T}_{\text{P}}=(\psi||\mathbb{N}_{1})\). The TA terminates SHO registration by sending registration response \(SOReg_{Res}\) with \(\text{T}_{\text{P}}\) and \(\mathbb{Q}_{\text{U}}\) to the SHO, which are then buffered into MD's repository (_Rep_). Meanwhile, TA also buffers all the computed and generated security tokens in its _Rep_. **Step 3**: For the SHD to register to the TA, it generates the random number \(\mathbb{N}_{2}\) and its session identity \(ID_{\text{S}}\) before calculating security token \(\text{U}=E_{\psi}\) (\(ID_{\text{S}}||\mathbb{N}_{2}\)). Next, the SHD sends its registration request \(SHReg_{Req}\) together with U to the trusted authority. **Step 4**: Upon receipt of this token, the TA generates random nonce \(\mathbb{N}_{3}\) and its identity \(ID_{\text{TA}}\), then derives SHD's current session secret value \(H_{\text{S}}=\text{h}\) (\(ID_{\text{S}}||\mathbb{N}_{3}\)) together with its secret session tokens \(\mathbb{Z}_{\text{S}}=E_{\text{\Phi}}\) (\(ID_{\text{S}}\), \(H_{\text{S}}\), \(\mathbb{N}_{3}\)) and \(\text{V}=E_{\text{\Phi}}\) (\(ID_{\text{TA}}||\mathbb{N}_{3}\)). Afterward, TA sends the registration response \(SHReg_{Res}\) together with security parameter \(\mathbb{Z}_{\text{S}}\) and \(ID_{\text{TA}}\) to the SHD for storage. Figure 3 presents the message flow during the registration process. As depicted in Figure 3, 4 messages are exchanged among the SHO, TA, and SHD during the registration phase. Note that \(ID_{\text{U}}\) and \(ID_{\text{M}}\) are encrypted using \(\psi\) to yield security tokens \(d\) and \(e\), respectively, before being coupled to the communication channel. Similarly, parameters \(ID_{\text{U}}\), \(ID_{\text{M}}\), \(\text{p}_{\text{TA}}\), and \(S\) are encrypted using \(\psi\) before their transmission over the open wireless communication links.