# Efficient Key Exchange Using Identity-Based Encryption in Multipath TCP Environment
## 2 Background Study
### Available Solutions to Enhance the Security of MPTCP  
Many solutions are available to enhance the security of MPTCP by preventing various attacks such as session hijacking, traffic diversion, DoS attacks, etc. In this section, the various solutions are covered and analyzed to identify the open paths for researchers in the area of MPTCP security. In order to fulfill the basic security goals (confidentiality, integrity, and availability), the keys shared during the initial handshake must be secured from eavesdroppers. The eavesdropper can use these keys to initiate other attacks as well. The encryption, hashing, and public key infrastructure are the various areas, which can be used to solve the issue, but MPTCP uses the TCP header to communicate various information.  
Figure 7: Use of ADD_ADDR vulnerability to initiate the attack to compromise the connection.  
The hash chain-based solution proposed by [20] uses the hashing algorithm recursively to avoid the usage of the same key for future authentication, but the initial random values are shared during the three-way handshake through which an eavesdropper can gain access to the initial values and hijack the upcoming session. The sum chained hash-based solution [21] is an extension to the hash chain-based algorithm, which is vulnerable to integrity time-shifted attacks. Both the solutions use hashing techniques to enhance the security of MPTCP, but none of them can prevent the attacks initiated by the eavesdropper in the initial handshake.  
Tcpcrypt falls under the category of opportunistic security solutions, which use public key encryptions to offer cryptographic protection to enhance the security by using the session ID for individual TCP subflow. TLS is much more efficient then tcpcrypt, but TLS focuses on the security at the application level, which is again not solving the security issues related to MPTCP and TCP. Moreover, the use of an asymmetric key cryptosystem for subflow authentication increases the overall performance of MPTCP. TLS offers the facility to return back to TCP by detecting the attack, which slows down the whole communication. The use of long security keys increases the requirement for computation power.  
In [39], the authors proposed that MPTCPsec offers authentication and encryption for the MPTCP. MPTCPsec prevents DoS attacks by authenticating every packet option. Moreover, it offers security against packet injection attacks by preventing the use of unsecure subflows using the MP_PRIO option to change the priority of the infected subflow. In [24], the authors have proposed a model that uses ECC by exchanging the points during the initial handshake by using a four-way handshake mechanism. This scheme decreases the overall computation overhead of the network, as it uses the ECC at the time of addition of a new subflow. The proposed model by the authors is vulnerable to an attacker that is present during the three-way handshake and can use the points to obtain the session key, which can be used in initial various types of attacks.  
Figure 8: Real vs. illusion for [PERSON] and [PERSON] during the session hijacking attack.  
The advanced version of ADD_ADDR[17] has been integrated with the Linux kernel implementation of the MPTCP current version (v1) to offer security against ADD_ADDR vulnerability, but still, the attacker available during the three-way handshake can initiate the session hijacking by calculating the HMAC for the authentication using the keys exchanged during the initial handshake.  
Table 3[2] compares various solutions available to enhance the security of MPTCP and its limitations, which offers paths to researchers to think in the area of MPTCP security.