IPsec VPN: IPsec 프로토콜의 모든 것에 대해서 알아보기
TechShielder

IPsec VPN: IPsec 프로토콜의 모든 것에 대해서 알아보기

사이버 보안 공격이 증가하면서, 많은 분들과 기업들이 중요한 개인 혹은 기업 정보를 도용하려는 악의적인 단체로부터 보호하기 위하여 조치를 취하고 있습니다. 일반적인 사람들은 이제 해커와 사이버 범죄자들이 개인정보를 도용하기 위하여 악용하는 방식에 대해서 점점 더 많이 알고 있습니다. 그 어느 때보다 인터넷 보안이 모든 개인이나 기업의 일상에서 중요한 부분이 되었습니다. 

가상 사설 통신망(Virtual Private Network: VPN)은 여러분이 인터넷 상의 커뮤니케이션을 위한 보안 채널을 구축하도록 허용하며, 덕분에 염탐꾼들이 액세스할 수 없습니다. 이용되는 프로토콜을 기반으로 다양한 VPN 카테고리가 있습니다. 이용되는 프로토콜은 SSL/TLS, IPsec, PPTP, L2TP, SSH, OpenVPN이 있습니다.

IPsec VPN이란 무엇인가요?

IPsec(Internet Protocol Security)은 국제 인터넷 표준화 기구(Internet Engineering Task Force: IETF)에서 개발한 유명한 보안 프로토콜 모음이며, IP 패킷을 암호화하고 두 개의 엔드포인트 사이에서 인증을 제공함으로써 인터넷 보안을 보호합니다. IPsec을 이용하여 인터넷 연결을 보호하는 VPN은 IPsec VPN으로 알려져 있습니다. 

IPsec은 이러한 기능으로 인터넷 연결을 보호합니다.

1. 기밀유지: IPsec은 데이터를 암호화해서 그 누구도 인터넷 연결을 염탐해서 기밀 정보를 훔치지 못하도록 합니다.

2. 무결성: IPsec은 데이터의 무결성을 확인할 방법을 제공하기 위하여 악의적인 단체에서 해싱 기술을 이용하여 데이터를 바꾸지 못하도록 하는 메커니즘입니다.

3. 인증: 사용자 혹은 기기가 본인이 주장하는 사람이 맞는지 확인하기 위하여 연결의 양 끝에서 인증합니다. 

4. 재실행 방지: IPsec은 일련 번호를 이용하여 공격자가 이미 인증 절차를 통과한 패킷을 재생산할 수 없는지 확인합니다. 

네트워크 레이어에서 작동되는 IPsec은 데이터뿐만 아니라 전체 IP 패킷을 암호화합니다. 법인 조직에서는 사이트 간 연결을 위해서 보통 IPsec VPN을 이용합니다. 왜냐하면 IPsec VPN이 다른 VPN보다 더 탄탄하게 보호해주기 때문입니다. 

IPsec에는 2가지 모드가 있는데 터널(tunnel) 모드와 전송(transport) 모드입니다. 

터널 모드로 실행되는 IPsec VPN은 원래의 IP 패킷 전체를 암호화하여 새로운 헤더에 압축합니다. 이 터널은 두 개의 게이트웨이 사이에 있습니다(예: 두 개의 라우터 사이 혹은 라우터와 방화벽 사이). 또한, 인증 헤더를 패킷에 추가함으로써 연결 양 끝에서 인증을 완료합니다. 전송 모드는 IP 패킷의 페이로드만 암호화하며, 초기 헤더를 암호화하거나 수정하지 않습니다.

암호화가 페이로드에서만 이루어지는 것이 아니라 전체 IP 패킷에서 이루어지기 때문에 터널 모드는 일반적으로 전송 모드보다 더 안전합니다. 

IPsec VPN에서 어떤 주요 프로토콜을 이용하나요?

IPsec VPN은 프로토콜의 도움으로 데이터 기밀성, 인증, 무결성, 재실행 방지를 제공하여 인터넷 연결을 보호합니다. 위에 언급했다시피, IPsec은 프로토콜 모음입니다. IPsec이 이러한 기능을 제공하기 위하여 이용하는 다음의 프로토콜을 확인해보세요.

1. 인증 헤더(Authentication Header: AH)

이 프로토콜은 IP 데이터 패킷 인증에 기여합니다. 인증 헤더는 데이터 패킷이 터널의 다른 끝 부분에서 나오도록 합니다. 해시 기능을 이용하면 그 누구도 데이터를 수정하지 못하도록 함으로써 데이터 무결성을 보장합니다. AH는 또한 재실행 방지 보호 옵션을 제공합니다. 

2. ESP(Encapsulating Security Protocol)

ESP는 IP 헤더와 패킷의 페이로드를 모두 암호화함으로써 터널에 있는 데이터를 보호합니다. ESP는 인증, 무결성, 기밀성, 재실행 방지를 IP 패킷에 추가합니다. 또한 헤더와 트레일러를 데이터 패킷에 추가함으로써 원래의 IP 패킷을 압축합니다. IPsec 전송 모드는 ESP가 IP 헤더를 압축하지 않도록 막아서, 전송 레이어 세그먼트 및 페이로드에서만 암호화를 시행합니다. 

3. 보안 연계(Security Association: SA)

SA는 꼭 프로토콜은 아니지만, IPsec 터널 엔드포인트가 안전하게 각각 사이에서 연결을 구축하는 방식을 보여주는 수단이기는 합니다. 터널이 보안을 유지하도록 하기 위한 방식에 대한 합의입니다. 보안 연계는 보안 매개 변수 색인(Security Parameter Index: SPI), 즉, IP 데스티네이션 주소와 IPsec 프로토콜(AH 혹은 ESP)을 필요로 합니다. 보안 연계는 단순 커뮤니케이션 모드에서 작동합니다. 그러므로, 두 가지 보안 연계(아웃바운드 및 인바운드)가 게이트웨이당 IPsec VPN 터널을 구축합니다. IPsec은 인터넷 표준 암호 키 교환(Internet Key Exchange: IKE) 프로토콜을 이용하여 두 개의 엔드포인트 사이에서 보안 연계를 구축합니다. 

IPsec VPN의 작동 원리란 무엇인가요?

다음 내용은 IPsec VPN 프로세스에 연루되는 주요한 프로세스입니다.

1.  키 교환(Key Exchange)

두 개의 엔드포인트 사이에서 IPsec 터널을 구축하는 데에는 인터넷 표준 암호 키 교환(IKE)을 이용하게 됩니다. 

IKE에는 두 가지 단계가 있습니다. IKE 1단계와 IKE 2단계가 있죠. 1단계에서는 2가지 피어/게이트웨이가 보안 연계를 이용하여 어떤 암호화, 인증, 해시 프로토콜을 이용할 것인지 결정합니다. ISAKMP(Internet Security Association and Key Management Protocol) 세션이 설정됩니다. 1단계는 2단계에서 VPN 터널을 안전하게 구축할 수 있도록 두 가지 엔드포인트 사이에 신뢰를 구축합니다.

1단계에서 VPN 게이트웨이 사이에 성공적으로 교환되면 2단계가 시작된다는 것을 의미합니다. 이 단계에서 게이트웨이는 보안 연계(압축 모드, 암호화, 인증 알고리즘)에 동의하게 됩니다. 2단계가 성공적으로 완료되면, 저희에게 IPsec VPN 터널이 생기며, 이제 하나의 게이트웨이에서 다른 게이트웨이로 데이터를 옮길 수 있습니다. 

2.  패킷 헤더 및 트레일러

IP는 네트워크를 지나서 데이터 패킷으로 통과되는 데이터를 분리하는데, 이러한 데이터는 IP 헤더, 데이터 페이로드, 데이터의 기타 정보로 구성되어 있습니다. IPsec은 작동 모드에 따라서 패킷 인증 및 암호화에 대한 정보가 있는 다양한 헤더와 트레일러를 추가합니다. 

3. 인증 및 암호화

IPsec은 AH와 ESP를 이용하여 인증과 암호화를 시행합니다. AH는 인증을 보장하고 ESP는 암호화를 책임집니다. 

4. 전송

전송 프로토콜의 도움을 받는 IPsec 패킷은 이제 네트워크 전반에 걸쳐 마지막 목적지로 이동할 수 있습니다. 

5. 암호 해제

패킷이 마지막 목적지에 도달할 때 암호화가 해제되며, 어플리케이션은 원하는대로 자유롭게 데이터를 이용할 수 있습니다.

IPsec VPN을 이용하는 것의 장점

IPsec은 다음과 같은 장점이 있습니다.

1.  네트워크 레이어 보안

IPsec은 네트워크 레이어에서 작동하며, 모든 네트워크 커뮤니케이션이 암호화되고 안전하도록 보장합니다. 그러므로, 터널을 통과하는 모든 인터넷 트래픽은 안전합니다. 여러분의 개인정보는 모든 형태의 도청으로부터 안전합니다. IPsec은 네트워크를 통과하는 모니터링 트래픽을 허용합니다. 암호화는 모든 IP 패킷에서 이루어집니다. 이는 IPsec VPN의 보안을 개선하고 유연성을 향상시킵니다. 

2. 기밀성

IPsec의 또 다른 장점은 기밀성입니다. 모든 데이터 전송 과정에서 IPsec은 퍼블릭 암호화 키를 이용하여 기밀 데이터를 안전하게 전송합니다. 이러한 키는 데이터가 올바른 엔드포인트에서 나왔음을 확인합니다. 그러므로, 데이터 패킷을 복제하기가 상당히 어려워집니다. 이러한 키를 반드시 안전하게 보호해야 데이터를 안전하게 보호할 수 있습니다. 

3.  어플리케이션에 대한 의존성 없음

IPsec은 네트워크 레이어에서 작동하기 때문에 어플리케이션에 투명합니다. 즉, IPsec을 이용하기 위하여 어플리케이션을 수정하는 것에 대해서 걱정할 필요가 없으며, 그저 IPsec을 시행하기만 하면 실행됩니다. 엔드 유저는 앱의 환경설정에 대해서 걱정할 필요가 없습니다. IPsec은 IP 스택에서 작동하기 때문에 운영체제에 변경사항만 요구할 뿐입니다. 각 어플리케이션에 변경사항을 적용해야 하는 SSL/TLS와 달리 이용되는 어플리케이션의 유형에 대해서 걱정할 필요가 없습니다. 

IPsec VPN을 이용하는 것의 단점

IPsec VPN에 장점이 있는 것처럼, 단점도 있습니다. 몇 가지 단점을 알아봅시다.

1.  전용 클라이언트 VPN

IPsec VPN은 보통 여러분이 이용하고자 하는 모든 기기에서 VPN 소프트웨어를 필요로 합니다. 필요한 특정 VPN 클라이언트가 있는 기기 없이는 기업용 네트워크에 액세스할 수 없습니다. 예를 들어, 업무용 노트북을 이용하지 않고 있을 때 원격 액세스해야 한다면, 기업에서 이용 중인 VPN 클라이언트 소프트웨어를 다운로드하고 설치해야 합니다. 클라이언트 소프트웨어에 의존한다는 것은 소프트웨어 관련한 어떠한 문제라도 VPN의 이용을 지연시킬 거라는 의미입니다.

2.  폭넓은 액세스 범위

IPsec을 이용하는 상당한 단점은 전체 네트워크 서브넷에 액세스할 수 있다는 점입니다. 예를 들어, 가정용 네트워크에서 기업용 네트워크에 원격 액세스한다면 네트워크에 있는 모든 기기에 액세스할 수 있습니다. 액세스를 방지하는 다른 보안 프로세스를 제외하고, 네트워크를 이용하는 기기에 존재하는 취약점은 기업용 네트워크에 걸쳐 이동할 수 있습니다. 

3. 호환성

운영체제에 따라서 여러분은 IPsec VPN용 다양한 클라이언트 어플리케이션 버전이 필요할 수 있습니다. 클라이언트 소프트웨어는 모든 운영체제와 호환되지 않을 수도 있습니다. 

다른 문제로는 CPU 간접비와 고장난 알고리즘 이용 등이 있습니다.

결론

IPsec VPN은 인터넷 서핑 혹은 기업용 네트워크 액세스 시 호환성, 무결성, 인증을 보장합니다. IPsec을 이용하여 VPN을 시행하면 높은 수준의 암호화와 같이 유용한 보안 기능을 이용하여 높은 보호 수준을 보장할 수 있습니다. IPsec VPN을 설치하는 것은 복잡할 수 있지만, IPsec VPN이 자랑하는 보안 기능을 위해서라면 이러한 복잡함도 감수할 만합니다. 시중의 모든 주요 프로토콜과 같이 IPsec에도 제한과 한계점이 있지만, 그럼에도 IPsec은 인터넷 상에서 엔드 투 엔드 커뮤니케이션을 보호하는 데 있어 최고의 자리를 선점하고 있습니다.