본문 바로가기
Security/정보보안기사

[정보보안기사] #5. VPN의 개념 및 동작 방식

by 이미존재 2022. 10. 20.
반응형

■ VPN이란 무엇이며 동작 방식과 주요 기능은 어떤것이 있는가


 ※ 해당 포스트는 필자가 정보보안기사를 공부하면서 작성한 자료로 일부 정보가 변경되거나 잘못된 부분이 
     있을 수 있으므로 댓글 남겨 주시면 수정하도록 하겠습니다.

 ▶ 정보보안기사 실기 시험에서 최소 2년에 한번은 나올 정도로 자주 다루어지는 것이 VPN과 snort입니다.
     요즘은 비중이 조금 줄어 든 면도 있으나 snort의 정책 설정 및 로그 결과 분석 정도는 할 수 있어야 합니다.
 ▶ 이번 포스팅에서는  먼저 VPN의 정의와 동작 방식에 대해 알아 보도록 하겠습니다.

1. VPN이란 무엇인가

 - VPN : Virtual Private Network의 약어 입니다.
 - 정보통신망(네트워크)에서 보안 프로토콜을 사용한 터널링 기술을 이용하여 가상 사설망(Private Network - 내부 네트워크)에 암호화된 데이터를 통신 할 수 있도록 해주는 시스템을 말합니다.
 1) 터널링 프로토콜
  - 로컬 시스템과 원격지 시스템 사이에 보안 데이터 터널을 생성하고 온라인 상태가 되면 다른곳에서는 더 이상 트래픽의 콘텐츠를 볼수 없습니다.
 2) 암호화
  - 데이터를 전송하기 전에 각 IP 패킷을 인증정보를 담고 암호화함으로써 통신의 보안을 유지합니다.

 

2. VPN을 사용해야하는 이유

 - 개인정보보호법에서는 아래와 같이 VPN사용을 가이드 하고 있으며, 다양한 법령에서 안전한 접속수단 및 인증수단을 마련하도록 하고있습니다.

 - 개인정보보호법 : 개인정보의 안전성 확보조치 기준(개인정보보호위원회고시 제2020-2호, 2020. 8. 11., 제정)
제6조(접근통제) ① 개인정보처리자는 정보통신망을 통한 불법적인 접근 및 침해사고 방지를 위해 다음 각 호의 기능을 포함한 조치를 하여야 한다. 
1. 개인정보처리시스템에 대한 접속 권한을 IP(Internet Protocol) 주소 등으로 제한하여 인가받지 않은 접근을 제한 

2. 개인정보처리시스템에 접속한 IP (Internet Protocol)주소 등을 분석하여 불법적인 개인정보 유출 시도 탐지 및 대응 

② 개인정보처리자는 개인정보취급자가 정보통신망을 통해 외부에서 개인정보처리시스템에 접속하려는 경우 가상사설망(VPN : Virtual Private Network) 또는 전용선 등 안전한 접속수단을 적용하거나 안전한 인증수단을 적용하여야 한다. 


3. 네트워크 패킷

 - VPN의 이해를 돕기 위해 기본적인 네트워크 지식과 패킷의 기본 개념을 알고 있어야 합니다.
 - 네트워크 패킷을 위키백과에서는 아래와 같이 정의 하고 있습니다.

: 패킷(packet, 문화어: 파케트, 소포)은 정보 기술에서 패킷 방식의 컴퓨터 네트워크가 전달하는 데이터의 형식화된 블록이다. 
  패킷은 제어 정보와 사용자 데이터로 이루어지며, 이는 페이로드라고도 한다. 
  패킷을 지원하지 않는 컴퓨터 통신 연결은 단순히 바이트, 문자열, 비트를 독립적으로 연속하여 데이터를 전송한다. 
  데이터가 패킷으로 형식이 바뀔 때, 네트워크는 장문 메시지를 더 효과적이고 신뢰성 있게 보낼 수 있다.
[출처 : https://ko.wikipedia.org/wiki/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC_%ED%8C%A8%ED%82%B7 ]

 - 간단히 말하면 네트워크를 통해 정보를 보낼때 특정 형태에 맞춰서 보내는 약속입니다.

1) 구성요소
  - IP 패킷은 헤더와 페이로드, 트레일러로 이루어져 있습니다.
  - 헤더 : 송신지 주소, 수신지 주소, 프로토콜 및 패킷번호가 포함됩니다.
  - 페이로드 : 패킷에 의해 전송되는 실제 데이타를 나타내며 데이터라 부르기도합니다.
  - 트레일러 : 네트워크 유형에 따라 다르나 일반적으로 패킷 끝을 나타내는 비트와 완전히 수신되었는지 확인하는 CRC(Cyclic Redundancy Check)가 포함됩니다.



4. VPN의 계층별 분류

 1) 2계층(데이터링크)
  - PPTP(Point-to-Point Tunneling Protocol)
   : MS사가 개발한 프로토콜로서 TCP 연결을 사용하여 IP, IPX, NetBEUI 트래픽을 암호화하고 IP헤더를 캡슐화하여 인터넷을 경유하여 전송하며, 하나의 터널에 하나의 연결만 지원.
   : 사용자 인증은 MS-CHAP(PPP) 인증을 사용함
  - L2TP(Layer 2 Tunneling Protocol) : MS의 PPTP + 시스코에서 제안한 L2F 결합한 형태로 호환성이 좋음
  - L2F (Layer 2 Fowarding Protocol) : CISCO 개발, 다자간 통신 지원, UDP 사용

 2) 3계층(네트워크)
  - IPSec
   : IP 계층(3계층)의 보안 프로토콜. IP계층에서 직접 보안서비스를 제공하여 상위 계층 프로그램의 변경이 필요 없음
   : 보안 서비스 제공을 위하여 AH와 ESP 프로토콜 이용
   : 전송모드는 종단에서 종단, 터널모드는 보안터널G/W 구간(IPSec을 지원하는 라우터, VPN, 또는 F/W 등) 내에서 보안 채널을 형성
   : AH, Authentication header
    > 데이터의 무결성 보장과 IP 패킷 데이터(IP Payload) 원본 인증에 사용
    > 인증은 제공하지만, 암호화 기능이 없어 기밀성 보장이 안됨

    > IP 헤더가 보호되지 않기 때문에 트래픽 흐름에 대한 기밀성이 보장되지 않음
   : ESP, Encapsulating Security Payload
    > 새로운 IP 패킷을 만들어 기존 패킷은 Payload에 넣어 감싸는 방식으로 암호화를 제공하는 방식

    > 원본 IP 헤더는 보호가 되고 새로운 IP 헤더는 터널 게이트웨이와 종단 정보만을 가지고 있으므로 제한적 트래픽 흐름 기밀성 보장

    > 원본 IP 헤더는 source와 destination 주소를 가지고, 새로운 IP 헤더는 터널 게이트웨이 주소를 가짐으로써 트래픽 분석에 의한 공격을 방지할 수 있음.
    > 메시지 출처 인증 + 메시지 무결성 + 메시지 기밀성
    > 재전송 공격 방지, 제한된 트래픽 흐름 기밀성
   : IKE(Internet Key Exchange) - 키 관리 프로토콜로써, ISAKMP과 OAKLEY를 결합한 것(ISAKMP/OAKLEY라 표현하기도함)

 3) 4계층(트랜스포트) 이상
  - SSL(SSH VPN 아님)
   : 장소나 단말 종류와 관계없이 웹브라우저만을 이용해 내부 네트워크 접속 가능

5. IPSec 보안서비스

 - 기밀성(암호화)

  : 메시지가 제3자에 의해 도청이 되어도 그 내용을 알 수 없음을 보장

  : 암호화를 통해 보장된다. (ESP만 지원)
 - 비연결형 무결성(데이터 무결성)

  : 메시지가 위/변조 되지 않았음을 보장

  : 송신자가 보낸 Authentication Data(인증 데이터) 필드의 인증값을 수신자가 검증함으로 보장
 - 데이터 원본 인증(송신자 인증)

  : 전달된 메시지가 올바른 송신자로부터 온 것임을 증명

  : 상호협상에 의해 생성된 SA(보안협정)의 인증 알고리즘과 키를 통해 상호간의 인증을 수행
 - 재전송 공격 방지(Anti-Reply)

  : 재생공격으로부터 보호

  : IPSec 헤더의 Sequence Number 필드값을 통해 재생공격의 여부를 판단한다.(ESP만 지원, AH 옵션)
 - 접근제어

  : 중요한 정보 및 시스템에 대한 접근을 제어함

  : SAD(보안협정데이터베이스)를 이용하여 간접적으로 접근 제어를 제공

  : 패킷이 목적지에 도착했을 때 이 패킷에 대한 SA가 없다면 패킷은 폐기
 - 제한적 트래픽 흐름에 대한 기밀성

  : IPSec 의 터널모드에서는 IP 패킷 전체(Original IP헤더 및 Payload)가 암호화

  : 원본 IP 헤더에 존재하는 최초 송신자, 최종 목적지 정보를 알 수 없고, 새로운 IP 헤더의 터널 게이트웨이 양 종단간의 정보만 확인할 수 있음.(ESP만 지원)


6. IPSec 전송모드와 터널모드

 - IPSec VPN은 2가지 동작모드를 제공하며 전송모드와 터널모드가 있습니다.
 - 각 동작모드의 보안프로톨로 AH(Authentication Header)와 ESP(Encapsulating Security Payload) 프로토콜이 있습니다.

 1) 전송 모드(Transport Mode)
  : IP 헤더를 제외한 페이로드만 보호
  : 호스트와 호스트간의 데이터(Payload) 무결성 제공
  : 패킷의 페이로드 앞에 IPSec 헤더를 삽입하여 페이로드를 보호

  : 통신간 보호 구간은 종단(End node) 부터 종단(End node)까지



 2) 터널 모드(Tunnel Mode)
  : IP 패킷 전체(IP 헤더+IP 패킷 페이로드)를 보호.
  : IP 패킷 전체를 캡슐화하고, 보안터널게이트웨이 구간 주소를 담은 New IP Header를 추가

  : 통신간 보호 구간은 보안터널게이트웨이(IPSec을 지원하는 라우터, VPN 등) 부터 보안터널게이트웨이(IPSec을 지원하는 라우터, VPN 등)까지 입니다.

 


7. IPSec 프로토콜

 - 보안프로톨로 AH(Authentication Header)와 ESP(Encapsulating Security Payload) 프로토콜이 있으며 전송모드와 터널모드에 적용합니다.

 1) AH(Authentication Header)
  - 메시지 인증 코드(MAC)를 이용하여 무결성(인증) 제공, 송신처 인증(Authentication)을 제공
  - 암호화 미지원
  - 전송모드 
   : IP Header의 전송 중 변경 가능한 필드(mutable field)를 제외한 IP Packet 전체를 인증
  - 터널모드
   : New IP Header의 전송 중 변경 가능한 필드(mutable field)를 제외한 New IP Packet 전체를 인증


 2) ESP(Encapsulating Security Payload)
  - 메시지 인증 코드(MAC)와 암호화를 이용하여 무결성(인증) 제공, 송신처 인증(Authentication), 기밀성(Confidentiality) 제공
  - 암호화 지원
  - 전송모드 
   : IP Payload와 ESP Trailer를 암호화
   : 암호화된 데이터와 ESP Header를 인증
  - 터널모드
   : 원본 IP Packet 전체와 ESP Trailer를 암호화
   : 암호화된 데이터와 ESP Header를 인증

   : Original IP패킷 암호화로 New IP Header가 필요함

8. IPsec 통신과 프로토콜 요약

 - IPSec은 전송모드와 터널모드로 구성할수 있고 이때 보안 프로토콜은 AH와 ESP 프로토콜이 있습니다.
 - AH와 ESP모두 전송모드는 payload만 보호하고, 터널모드는 IP 패킷 전체를 보호합니다.
 

728x90

댓글