IPsec이란? | IPsec VPN이 작동하는 방식

IPsec은 공개적으로 공유되는 네트워크에서 VPN과 같은 암호화된 보안 연결을 설정하는 데 사용되는 네트워킹 프로토콜 그룹입니다.

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • IPsec 프로토콜 제품군에 대해 알아보기
  • IPsec VPN의 작동 방식 이해하기
  • IPsec 터널 모드와 IPsec 전송 모드의 비교

관련 콘텐츠


계속 알아보시겠어요?

인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!

Cloudflare가 개인 데이터를 수집하고 처리하는 방법은 Cloudflare의 개인정보 취급방침을 참조하세요.

글 링크 복사

IPsec이란?

IPsec은 장치 간 연결을 보호하기 위한 프로토콜 그룹입니다. IPsec은 공용 네트워크를 통해 전송되는 데이터를 안전하게 유지하는 데 도움이 됩니다. IPsec은 VPN을 설정하는 데 사용되는 경우가 많으며 패킷의 출처를 인증하는 것과 함께 IP 패킷을 암호화하여 작동합니다.

"IPsec"이라는 용어에서 "IP"는 "인터넷 프로토콜"을 나타내고 "sec"는 "보안"을 나타냅니다.인터넷 프로토콜은 인터넷에서 사용되는 기본 라우팅 프로토콜입니다. 인터넷 프로토콜은 IP 주소를 사용하여 데이터가 이동할 위치를 지정합니다.IPsec은 이 프로세스에 암호화* 및 인증을 추가하므로 안전합니다.

*암호화는 데이터가 무작위로 표시되도록 수학적으로 변경하여 정보를 숨기는 프로세스입니다. 간단히 말해서 암호화는 권한 있는 당사자만 해석할 수 있는 "비밀 코드"를 사용하는 것입니다.

백서
네트워크 하드웨어에서 벗어나는 방법
가이드
앱 액세스 보호를 위한 Zero Trust 가이드

IPsec이 중요한 이유는 무엇인가요?

네트워킹 방법은 기본적으로 암호화되지 않기 때문에 IPsec과 같은 보안 프로토콜이 필요합니다.

우편 서비스를 통해 우편물을 보낼 때는 일반적으로 봉투 겉면에 메시지를 쓰지 않습니다. 대신 발신자와 수신자 사이에서 메일을 처리하는 사람이 메시지를 읽을 수 없도록 봉투 안에 메시지를 동봉합니다. 그러나 TCP/IP와 같은 네트워킹 프로토콜 제품군은 연결 및 전달에만 관여하며 전송된 메시지는 숨겨지지 않습니다. 중간에 있는 사람은 누구나 읽을 수 있습니다. IPsec 및 기타 데이터를 암호화하는 프로토콜은 기본적으로 데이터가 네트워크를 통과할 때 데이터를 둘러싸는 봉투를 씌워 보안을 유지합니다.

VPN이란? IPsec VPN이란?

가상 사설망(VPN)은 둘 이상의 컴퓨터 간의 암호화된 연결입니다. VPN 연결은 공용 네트워크를 통해 이루어지지만, VPN을 통해 교환되는 데이터는 암호화되어 있으므로 여전히 비공개입니다.

VPN을 사용하면 공용 인터넷과 같은 공유 네트워크 인프라를 통해 기밀 데이터에 안전하게 액세스하고 교환할 수 있습니다. 예를 들어, 직원은 사무실에서가 아니라 원격으로 작업할 때 VPN을 사용하여 회사 파일 및 애플리케이션에 액세스하는 경우가 많습니다.

많은 VPN에서는 IPsec 프로토콜 제품군을 사용하여 이러한 암호화된 연결을 설정하고 실행합니다.그러나 모든 VPN에서 IPsec을 사용하는 것은 아닙니다.VPN의 또 다른 프로토콜은 IPsec과 OSI 모델의 다른 계층에서 작동하는 SSL/TLS입니다.(OSI 모델은 인터넷을 작동시키는 프로세스를 추상적으로 표현한 것입니다.)

사용자는 IPsec VPN에 어떻게 연결할까요?

사용자는 VPN 애플리케이션 또는 "클라이언트"에 로그인하여 IPsec VPN에 액세스할 수 있습니다. 이렇게 하려면 일반적으로 사용자가 장치에 애플리케이션을 설치해야 합니다.

VPN 로그인은 일반적으로 암호 기반입니다.VPN을 통해 전송된 데이터는 암호화되지만, 사용자 비밀번호가 손상되면 공격자가 VPN에 로그인하여 이 암호화된 데이터를 훔칠 수 있습니다.2단계 인증(2FA)을 사용하면 비밀번호만 훔치는 것만으로는 더 이상 공격자가 액세스할 수 없으므로 IPsec VPN 보안을 강화할 수 있습니다.

가입
모든 Cloudflare 요금제의 보안 및 속도

IPsec은 어떻게 작동할까요?

IPsec 연결에는 다음과 같은 단계가 포함됩니다.

키 교환: 암호화에는 가 필요합니다. 키는 메시지를 "잠금"(암호화) 및 "잠금 해제"(암호 해독)하는 데 사용할 수 있는 임의의 문자열입니다.IPsec은 연결된 장치 간에 키 교환을 통해 키를 설정하여 각 장치에서 다른 장치의 메시지를 해독할 수 있도록 합니다.

패킷 헤더 및 트레일러: 네트워크를 통해 전송되는 모든 데이터는 패킷이라는 더 작은 조각으로 나뉩니다.패킷에는 페이로드, 즉 전송되는 실제 데이터와 헤더, 즉 해당 데이터에 대한 정보가 모두 포함되므로 패킷을 수신하는 컴퓨터에서 패킷으로 수행할 작업을 알 수 있습니다.IPsec은 인증 및 암호화 정보가 포함된 데이터 패킷에 여러 헤더를 추가합니다.또한 IPsec은 이전이 아닌, 각 패킷의 페이로드 이후에 트레일러를 추가합니다.

인증: IPsec은 수집 가능한 항목의 인증 스탬프와 같이 각 패킷에 대한 인증을 제공합니다.따라서 패킷이 공격자가 아닌 신뢰할 수 있는 원본에서 온 것을 확인할 수 있습니다.

암호화: IPsec은 각 패킷 및 각 패킷의 IP 헤더 내의 페이로드를 암호화합니다(터널 모드 대신 전송 모드를 사용하지 않는 경우 - 아래 참조).이렇게 하면 IPsec을 통해 전송되는 데이터가 안전하게 비공개로 유지됩니다.

전송: 암호화된 IPsec 패킷은 전송 프로토콜을 사용하여 하나 이상의 네트워크를 통해 대상으로 이동합니다.이 단계에서 IPsec 트래픽은 TCP가 아닌 UDP를 전송 프로토콜로 가장 자주 사용한다는 점에서 일반 IP 트래픽과 다릅니다.전송 제어 프로토콜인 TCP는 장치 간에 전용 연결을 설정하고 모든 패킷이 도착하도록 합니다.사용자 데이터그램 프로토콜인 UDP는 이러한 전용 연결을 설정하지 않습니다.IPsec은 UDP를 사용하는데, 이렇게 하면 IPsec 패킷이 방화벽을 통과할 수 있기 때문입니다.

암호 해독: 통신의 다른 쪽 끝에서 패킷이 해독되고, 애플리케이션(예: 브라우저)은 이제 전달된 데이터를 사용할 수 있습니다.

IPsec에서는 어떤 프로토콜이 사용될까요?

네트워킹에서 프로토콜은 네트워크로 연결된 모든 컴퓨터가 데이터를 해석할 수 있도록 데이터 형식을 지정하는 정해진 방법입니다.IPsec은 하나의 프로토콜이 아니라 프로토콜 모음입니다.IPsec 제품군을 구성하는 프로토콜은 다음과 같습니다.

인증 헤더(AH): AH 프로토콜은 데이터 패킷이 신뢰할 수 있는 소스에서 왔으며 소비자 제품의 변조 방지 씰처럼 데이터가 변조되지 않았는지 확인합니다.이 헤더는 암호화를 제공하지 않으며 공격자로부터 데이터를 숨기는 데 도움이 되지 않습니다.

보안 프로토콜 캡슐화(ESP): ESP는 전송 모드가 사용되지 않는 한 각 패킷에 대한 IP 헤더 및 페이로드를 암호화하며, 전송 모드에서는 페이로드만 암호화됩니다.ESP는 각 데이터 패킷에 자체 헤더와 트레일러를 추가합니다.

보안 연결 (SA): SA는 암호화 키 및 알고리즘을 협상하는 데 사용되는 여러 프로토콜을 나타냅니다.가장 일반적인 SA 프로토콜 중 하나는 인터넷 키 교환(IKE)입니다.

마지막으로, 인터넷 프로토콜(IP)은 IPsec 제품군의 일부는 아니지만, IPsec은 IP 위에서 직접 실행됩니다.

IPsec 터널 모드와 IPsec 전송 모드의 차이점은?

IPsec 터널 모드는 두 개의 전용 라우터 간에 사용되며, 각 라우터는 공용 네트워크를 통해 가상 "터널"의 한쪽 끝 역할을 합니다. IPsec 터널 모드에서는 패킷 페이로드 외에도 패킷의 최종 대상을 포함하는 원래 IP 헤더가 암호화됩니다. 패킷을 전달할 위치를 중간 라우터에 알리기 위해 IPsec은 새 IP 헤더를 추가합니다. 라우터는 터널의 각 끝에서 IP 헤더를 해독하여 패킷을 대상으로 전달합니다.

전송 모드에서는 각 패킷의 페이로드가 암호화되지만, 원래 IP 헤더는 암호화되지 않습니다. 따라서 중개 라우터는 별도의 터널링 프로토콜(예: GRE)을 사용하지 않는 한 각 패킷의 최종 대상을 볼 수 있습니다.

IPsec에는 어떤 포트가 사용될까요?

네트워크 포트는 컴퓨터에서 데이터가 이동하는 가상 위치입니다. 포트는 컴퓨터에서 다양한 프로세스와 연결을 추적하는 방법입니다. 데이터가 특정 포트로 이동하면 컴퓨터의 운영 체제는 해당 데이터가 어떤 프로세스에 속하는지 알고 있습니다. IPsec은 일반적으로 포트 500을 사용합니다.

IPsec은 MSS 및 MTU에 어떤 영향을 미칠까요?

MSSMTU는 패킷 크기의 두 가지 측정 값입니다.패킷은 특정 크기(바이트 단위로 측정)에 도달해야만 컴퓨터, 라우터, 스위치가 처리할 수 있습니다.MSS는 각 패킷의 페이로드 크기를 측정하는 반면 MTU는 헤더를 포함한 전체 패킷을 측정합니다.네트워크의 MTU를 초과하는 패킷은 분편화될 수 있으며, 이는 더 작은 패킷으로 분할된 다음 재조립됨을 의미합니다.MSS를 초과하는 패킷은 단순히 삭제됩니다.

IPsec 프로토콜에서는 패킷에 여러 헤더와 트레일러가 추가되며, 모두 몇 바이트를 차지합니다. IPsec을 사용하는 네트워크의 경우 MSS 및 MTU를 적절하게 조정해야 하며, 그렇지 않으면 패킷이 분편화되고 약간 지연됩니다. 일반적으로 네트워크의 MTU는 1,500바이트입니다. 일반적인 IP 헤더의 길이는 20바이트이고 TCP 헤더도 20바이트이므로 각 패킷에는 1,460바이트의 페이로드가 포함될 수 있습니다. 그러나 IPsec에는 인증 헤더, ESP 헤더, 연결된 트레일러가 추가됩니다. 따라서 패킷에 50~60바이트 이상이 추가됩니다.

MTU 및 MSS에 대해서는 "MTU란?"에서 자세히 알아보세요.

Cloudflare에서는 IPsec을 지원할까요?

Cloudflare에서는 보안 액세스 서비스 에지(SASE) 솔루션인 Cloudflare One의 진입로로 IPsec을 지원합니다.

트래픽을 보호하기 위해 IPsec에서는 두 지점 사이에 SA를 설정하여 트래픽이 통과할 터널을 만들어야 합니다. 구현 모델에 따라 이로 인해 몇 가지 문제가 발생할 수 있습니다. 예를 들어, 메시 모델에서 모든 노드(또는 위치)는 전용 터널을 통해 서로 연결됩니다. 그러나 이렇게 하려면 여러 IPsec 터널을 만들고 관리해야 하는데, 이는 확장하기 어렵습니다.

그러나 Cloudflare에서는 Anycast IPsec 모델을 사용합니다. (Anycast 네트워크는 들어오는 요청을 다양한 노드로 라우팅하는 네트워크입니다.) Anycast IPsec을 사용할 경우 사용자는 Cloudflare에 하나의 IPsec 터널만 설정하면 글로벌 네트워크의 250곳 이상의 위치에 연결할 수 있습니다.

Anycast IPsec을 가능하게 하기 위해 Cloudflare에서는 Cloudflare 에지 네트워크의 서버에 SA를 복제하고 배포합니다. 즉, 전체 Cloudflare 네트워크가 네트워크에 대한 단일 IPsec 터널로 작동합니다.

Anycast IPsec 및 Cloudflare One에 대해 자세히 알아보세요.