초록
MPTCP(Multipath Transmission Control Protocol)는 두 호스트의 연결설정 시, 다수의 TCP 경로를 구성하여 동시에 데이터를 송수신할 수 있다. 따라서 MPTCP는 경로를 추가하려는 호스트의 유효성을 확인하기 위한 인증과정이 필요하기 때문에 초기 연결 설정 시, 키를 교환하여 인증용 토큰을 만든다. 하지만 기존 MPTCP의 토큰은 공개적으로 전송된 키를 그대로 사용하여 생성되기 때문에 MITM(Man In The Middle) 공격에 취약하다. 본 연구에서는 기존 MPTCP 키 교환방식에 ECDH(Elliptic Curve Diffie-Hellman) 키 교환 알고리즘을 적용시켜 기존의 키를 ECDH 공개키로 대체하고, 두 호스트만이 알 수 있는 비밀키를 생성하여 토큰을 만들기 위한 키로 사용하도록 하였다. 또한, 비밀키를 사용하여 데이터의 암호 및 복호화까지 지원하는 방법을 설계하고 구현함으로써 기존 MPTCP에 기밀성을 추가하였다.
MPTCP(Multipath Transmission Control Protocol) is able to compose many TCP paths when two hosts connect and the data is able to be transported through these paths simultaneously. When a new path is added, the authentication between both hosts is necessary to check the validity of host. So, MPTCP exchanges a key when initiating an connection and makes a token by using this key for authentication. However the original MPTCP is vulnerable to MITM(Man In The Middle) attacks because the key is transported in clear text. Therefore, we applied a ECDH(Elliptic Curve Diffie-Hellman) key exchange algorithm to original MPTCP and replaced the original key to the ECDH public key. And, by generating the secret key after the public key exchanges, only two hosts is able to make the token using the secret key to add new subflow. Also, we designed and implemented a method supporting encryption and decryption of data using a shared secret key to apply confidentiality to original MPTCP.