## 7 Proposed Extensions to Bio-2 FA-IoD
### Enhanced Session Key Agreement with Diffie-Hellman for Perfect Forward Secrecy
#### 7.1.1 Conceptual Integration  
The integration would modify step 2 and step 5 of the authentication and key exchange phase:  
**2. OD**--OTAC generation with DH key generation:  
* The OD generates a fresh random exponent \(x_{OD}\) and computes its DH public key \(Pub_{OD}=g^{x_{OD}}\pmod{p}\), where \(g\) and \(p\) are globally agreed-upon DH parameters.
* The OD generates a current timestamp \(T_{ID}\) and a fresh random nonce PIN.
* The ephemeral session key KS is initially derived as \(KS=KDF(P_{ID_{O}},T_{ID})\). This KS would now serve as a temporary session key to protect the DH exchange and other critical parameters.
* The OD computes \(OTAC=E_{KS}(PIN\|T_{ID}\|RP_{ID_{O}}\|Pub_{OD})\).
* OD sends \(M_{1}=(ID_{O},OTAC,T_{ID})\) to drone \(D_{i}\).
**4. GCS**--verification process and DH key generation:  
* Upon receiving \(M_{1}\), GCS retrieves \((RPMD_{ID_{O}},Salt_{1},LLT_{O})\) for \(ID_{O}\).
* GCS computes \(KS_{GCS}=KDF(P_{ID_{O}},T_{ID})\).
* It decrypts \((PIN^{\prime},T^{\prime}_{ID},RP^{\prime}_{ID_{O}},Pub^{\prime}_{OD})=D_{KS_{ GCS}}(OTAC)\).
* GCS verifies the authenticity of \(RP^{\prime}_{ID_{O}}\) and \(T^{\prime}_{ID}\) as in the original protocol.
* GCS generates its own fresh random exponent \(x_{GCS}\) and computes its DH public key \(Pub_{GCS}=g^{x_{GCS}}\pmod{p}\).
* GCS computes the shared DH secret \(SS=(Pub^{\prime}_{OD})^{x_{GCS}}\pmod{p}\).
* The final session key for the communication session is now \(KS_{final}=KDF(SS,T_{ID})\).  
\begin{table}
\begin{tabular}{l c c c c c c} \hline \hline
**Feature** & \begin{tabular}{c} **Khedr [8]** \\ **(Adapted)** \\ \end{tabular} & **Nyangaresi [5]** & **Jan [1]** & **HCALA [2]** & **HOOPOE [6]** & \
\begin{tabular}{c} **Bio-2 FA-IoD** \\ **(Proposed)** \\ \end{tabular} \\ \hline Formal & AVISPA (orig.) & RoR, AVISPA & ROM, ProVerif & ROM, AVISPA & RoR, ProVerif & **BAN**, **BPR** \\ \hline Lightweight & Yes & Yes & Yes & Moderate & Moderate & Yes \\ Nature & & & & & & \\ Biometric & No (Visual 2 FA) & Yes & No & No & No & **Yes** \\ Integration & & & & & & \\ Three-Factor & No (2 FA) & Yes (Implicit) & No (2 FA) & Yes (Implicit) & No &
\begin{tabular}{c} **Yes (Bio, OD,** \\ PIN)** \\ \end{tabular} \\ \hline Handices & No & No & No & No & Yes & No \\ Handover & & & & & & \\ Blockchain & No & No & Yes & No & **No** \\ Integration & & & & & & \\ PUF Usage & No & Yes & No & No & No \\ \hline \hline \end{tabular}
\end{table}
Table 6: _Cont._Mutual authentication response (\(GCS\to D_{i}\to OD\)): * If all checks pass, GCS updates \(LLT_{O}=T_{ID}\), and sends \(M_{2}=(PIN^{\prime}\|Pub_{GCS})\) to \(D_{i}\). The \(PIN^{\prime}\) value remains encrypted with the initial KS for integrity, or a separate MAC is used. * Drone \(D_{i}\) forwards \(M_{2}\) to the OD. * OD--final verification (mutual authentication) and final session key derivation: * OD receives \(M_{2}\) containing \(PIN^{\prime}\) and \(Pub_{GCS}\). * OD compares \(PIN^{\prime}\) with its original \(PIN\). If match, GCS is authenticated. * OD computes the shared DH secret \(SS^{\prime}=(Pub_{GCS})^{\times_{OD}}\pmod{p}\). * The final session key is \(KS^{\prime}_{final}=KDF(SS^{\prime},T_{ID})\). Since \(SS=SS^{\prime}\), then \(KS_{final}=KS^{\prime}_{final}\).