# Efficient Key Exchange Using Identity-Based Encryption in Multipath TCP Environment
## 2 Background Study
### Multipath TCP (MPTCP) and Its Security Threats
During the session hijacking, [PERSON] will assume that the new subflow will be established with a legitimate user [PERSON] only, and [PERSON] will think that the request is coming from [PERSON], but in the backend, the subflow will be established with an attacker from both ends, and the attacker will be successful in implementing a man-in-the-middle attack. By using the compromised subflow, the attacker can monitor, manipulate or gain access to the entire connection by terminating the legitimate subflow. Moreover, the key exchange in plaintext during the initial handshake in MPTCP welcomes many security threats because these keys are used for subflow authentication in the future, which leads to SYN flood attack, MP_JOIN attack, SYN/MP_JOIN attack, session hijacking, traffic diversion attack, etc. [34]. On the basis of the location of the attacker, the attacks can be categorized as on-path (O), off-path (F) or partial-time-on-path (P) attackers, while based on the impact, attacks can be categorized as active or passive attacks [34]. On-path attackers stay on any one of the paths between the communicating hosts during their life span. Unlike on-path attackers, off-path attackers never rely on any of the paths of MPTCP during the connection life span. Partial-time-on-path attackers may stay on any one of the paths between the communicating hosts for at least some time. The significant threats to MPTCP are as shown in Table 2. \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Attack** & **Category * & \begin{tabular}{c} **Active/** \\ **Passive** \\ \end{tabular} & **References** & \begin{tabular}{c} **Security Goals** \\ **Impacted *** \\ \end{tabular} & **Remarks** \\ \hline \hline \multirow{3}{*}{\begin{tabular}{c} Eavesdropper in initial \\ handshake \\ \end{tabular} } & \multirow{3}{*}{P} & \multirow{3}{*}{Active} & \multirow{3}{*}{[34]} & \multirow{3}{*}{C} & During the three-way handshake, the session keys are exchanged in clear format, which can be used in the future to initiate a SYN+MP_JOIN DoS attack or an ADD_ADDR attack. \\ \hline \hline \multirow{3}{*}{\
\begin{tabular}{c} ADD\_ADDR attack \\ \end{tabular} } & \multirow{3}{*}{F} & \multirow{3}{*}{Active} & \multirow{3}{*}{[34,35]} & \multirow{3}{*}{C, I, A} & By packet forging, an attacker can send the spoofed packet to the legitimate user and add the attacker’s address as a legitimate address to add subflow between the authenticated host and the attacker over a legitimate connection. \\ \hline \hline \multirow{3}{*}{
\begin{tabular}{c} ADD\_ADDR attack \\ \end{tabular} } & \multirow{3}{*}{F} & \multirow{3}{*}{Active} & \multirow{3}{*}{[2]} & \multirow{3}{*}{C, I} & The eavesdropper in the initial handshake can gather the keys exchanged between communicating hosts and use those keys to perform this attack by using the keys to find out the HMAC. \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Significant threats to MPTCP. Figure 6: Advertisement of the new IP address with ADD_ADDR in MPTCP Version (v1). In this article, the eavesdropper in the initial handshake and ADD_ADDR vulnerabilities are focused. The steps to exploit the ADD_ADDR vulnerability to initiate the attack to hijack the connection are demonstrated in Figure 7. The attack covered in [2, 34, 35] can be initiated by forging the ADD_ADDR packet to add the IP address of the attacker as an additional IP address by impersonating the identity of the legitimate user. The same address can be used to establish the subflow over a legitimate connection to hijack the session or to redirect the traffic flow on the compromised path. In order to advertise the additional IP address, the host needs to send the ADD_ADDR packet with an IP address to be added as an additional IP and address identifier as shown in Figure 5. The attacker can easily forge this packet by identifying the source IP-port pair and destination IP-port pair. The service offered by the server can be used to identify the port of destination, as for in most cases, port 80 is used for http.