외로운 Nova의 작업실

정보보안기사 필기 - 29(VPN) 본문

Certification/정보보안기사

정보보안기사 필기 - 29(VPN)

Nova_ 2022. 12. 19. 12:57

- VPN

VPN(virtual private networl)는 국내 지사와 국외 지사로 확장되는 기업의 활동 규모 및 지역 증가라는 업무 환경 변화에도 불구하고 모두가 하나의 네트워크로 맞물려 있어야하는 과제로 인해 생기게되었습니다. 독립적인 네트워크 구축을 위해 사설망을 사용하는 것을 비용이 너무 많이들고, 공중 네트워크는 보안관련 서비스를 제공하지않기때문에 문제가 있어 이를 해결하기위해 공중 네트워크를 보안관련 서비스를 적용시켜 VPN을 구성하게됩니다. 즉,공중 네트워크를 이용하여 사설 네트워크가 요구하는 서비스를 제공할 수 있도록 네트워크를 구성한 것이 VPN입니다. 서비스는 라우터 체계의 비공개, 데이터 암호화, 사용자 인증등이 있습니다.

 

<VPN 구현 기술>

  • 터널링 : 전용망과 같은 보안효과를 주기위한 기법으로 VPN내의 두 호스트간에 가상 경로를 설정해주어 투명한 통신서비스를 제공합니다. IP패킷이 공중망을 통과할때 사용자 간에 마치 터널이 꿇린 것 처럼 통로를 마련하여 이 통로를 통해 데이터를 안전하게 전송하는 것입니다.
  • 암호화 및 인증 : 기밀성을 제공하기위해 VPN에서는 대칭키 암호를 사용하며 암호화에 사용하는 대칭키는 공개키 암호방식을 사용한 키교환을 통해 공유됩니다. 메시지 인증은 MAC 또는 해시함수를 이용하여 무결성을 입증하고 보안서버로부터 인증을 받아야 접속이 허가되는 인증 시스템도 갖춰있습니다.
  • 접근 제어 : 암호화하지 않은 IP 패킷 정보에서만 필터링 수행이 가능하므로 암호화된 패킷에는 적용이 불가능합니다.

 

<VPN 형태에따른 분류>

  • intranet VPN : 기업 내부를 LAN을 통해 연결하는데 사용하며 넓게는 지사까지 연결하며 단순한 형태의 VPN입니다.
  • Extranet VPN : 고객사나 협력업체에게 intranet을 이용할 수 있도록 해줍니다.
  • Remot access VPN : 재택 근무자나 원격접속자는 무선 및 전화접속을 이용하여 ISP의 NAS(network access server)에 접속하여 VPN을 구성합니다.

 

<VPN의 구성>

VPN은 터널링 되는 데이터를 페이로드라고 부르며 터널링 구간에서의 페이로드는 변경되지 않습니다. 터널링을 지원하는 프로토콜은 PPTP, L2TP, L2F, MPLS, IPSec등이 있습니다. 이는 몇 계층에서 터널링을 지원하는지에따라 분류되는데 PPTP,L2TP,L2F는 2계층 프로토콜이며 IPSec은 3계층 프로토콜, MPLS는 2계층과 3계층 모두를 지원합니다.

 

<2계층 터널링 프로토콜>

  • PPTP(point-to-point tunneling protocol) : MS사에서 개발한것으로 IP, IPX, NetBEUI 페이로드를 암호화하고 IP헤더로 캡슐화하여 전송합니다. TCP연결을 사용하며 모바일이 서버에 접속하기에 용이하게 구성되어 있습니다.
  • L2F(layer 2 forwarding protocol) : 시스코사에서 제안된 프로토콜로 NAS 개시 VPN형이기 때문에 별도의 s/w가 필요없습니다. 다자간 통신이 가능하며 UDP를 사용합니다.
  • L2TP(layter 2 tunneling protocol) : L2TP는 PPTP와 L2F를 결합한 방법으로 ms사와 cisco사가 지원하며 호환성이 뛰어납니다.

 

<3계층 터널링 프로토콜>

  • IPSec : AH(authentication header)와 ESP(encapsulation security payload)를 통해 IP 데이터그램의 인증과 무결성 기밀성을 제공합니다. 전송모드는 IP 페이로드를 암호화하여 IP 헤더로 캡슐화하며 터널모드는 IP패킷 모두를 암호화하여 전송합니다. AH는 무결성고 인증을 입증하고 ESP는 무결성과 기밀성 인증을 입증합니다.
  • SSL : IPSec vpn보다 저렴하고 안전한 채널 관리를 담당하며 인증을 통한 송수진 경로의 안전성도 보장되며 PKI 공개키/개인키를 이용한 웹사이트 통신 보안이 가능합니다.

<VPN 인증>

 MD5, SHA-1과 같은 해시알고리즘을 활용한 프로토콜로 인증을합니다. 인증절차는 상호동릭적인 peer-peer 방식과 주종관계인 클라이언트-서버 방식이 있습니다.

 

<VPN 인증 peer-peer 방식>

  • PAP(password authentication protocol) : 호스트는 사용자 계정과 패스워드를 목적지 호스트로보내고 목적지 시스템은 요청 컴퓨터를 인증한후 연결을 허용합니다.
  • CHAP(challenge handshake authentocation protocol) : PAP와 같은 용도에서 3단계 핸드 셰이킹과 해시를 통해 보안요소를 첨가했습니다.

 

<VPN 인증 클라이언트-서버 방식>

  • RADIUS : 외부에서 회사네트워크로 다이얼 업 모뎀에 접속하는 사용자를 인증하고 내부 시세틈에 액세스할 수 있는 권한을 부여하기위해서 중앙서버와 통신할 경우 사용됩니다.
  • TACACS(terminal access controller access control system) : 사용자 ID, 암호, PINs 및 암호키 정보를 인증서버에서 데이터베이스 형태로 관리하며 클라이언트로부터 인증 요청을 처리합니다.

 

<MPLS VPN>

시스코사의 태그 스위칭과 IBM의 ARIS를 결합해 IETF에서 정한 표준으로 3계층 주소를 이용해서 해당 라우터가 갖고있는 레이블 정보와 비교하여 부가적인 MPLS 레이블 정보를 덧붙입니다ㅏ. 그리고 다음 라우터에서 새로운 레이블로 변경되는데 이를 레이블 스와핑이라고합니다. 특히, MPLS 통신 네트워크를 이용하여 VPN을 제공하는 서비스는 운영 관리가 간단하고 편리하며 저가의 VPN서비스 제공이 가능하며 특징은 아래와 같습니다.

  • 2계층의 스위칭 속도와 3계층의 라우팅 기능을 접목
  • 짧고 고정된 길이의 레이블을 이용하여 스위칭
  • 패킷 전달은 레이블 스와핑으로 수행
  • Qos, VoIP, TE등 다양한 서비스 제공

- IPSec(IP security protocol)

IPSec은 IP 계층의 보안 프로토콜로서 호스트와 호스트간, 호스트와 보안게이트웨이 간, 보안 게이트웨이와 보안 게이트웨이 간의 경로를 보호하기위한 프로토콜입니다. 아래는 IPSec의 보안 서비스들 입니다.

  • 접근제어 : 송수진된 IP패킷에대한 시스템 접근을 제어합니다.
  • 비연결 무결성 : 무결성을 보장해줍니다.
  • 데이터 발신처 인증 : MAC을 통해 올바른 발신처로부터 온것임을 보장해줍니다.
  • 재전송 패킷의 거부 : IP 패킷별로 순서번호를 전송하고 수신측에서 보안연관에 순서번호를 유지하고 이를 검증하여 재전송 공격을 방지합니다.
  • 기밀성 : 암호화를 통해 기밀성을 유지합니다.
  • 제한된 트래픽 흐름의 기밀성 : 트래픽흐름이란 어디에서 출발해서 어디로 가는지에대한 정보인데 ES/터널모드의 경우 New IP 헤더를 통해 터널/.보안게이트웨이 구간의 트래픽 흐름 정보는 노출되지만 원본 IP헤더는 암호화되어있기때문에 종단 노드 구간의 트래픽 흐름의 기밀성은 보장됩니다.

<AH 보안서비스>

AH 프로토콜은 네트워크 계층의 보안을 위해 다음과 같은 서비스를 제공합니다.

  • 무결성 : 무결성을 증명합니다.
  • 인증 : 전달된 메시지가 발신지로부터 온 메시지임을 증명합니다.
  • 재전송 공격에대한 보호 : 순서번호를 이용해 재전송공격을 보호합니다.
  •  

<AH - 인증용 데이터 생성 방법>

전송모드 : 호스트와 호스트간의 메시지 무결성을 제공하는 방법으로 계층간의 캡슐화 과정을 통하여 상위 계층의 데이터에대하여 인증 데이터를 생성하는 방법입니다. 상위 계층 데이터의 앞, IP 헤더 정보 뒷부분에 인증데이터를 삽입하여 before and after 원칙이라고 하며 IP 데이터그램이 가지고 있는 메시지만으로 MAC 알고맂므을 이용하여 AH를 만들고 생성된 AH는 IP헤더와 상위 계층의 데이터 사이에 위치합니다.

터널모드 : 호스트와 호스트, 호스트와 보안게이트웨이, 보안 게이트웨이와 보안 게이트웨이간의 전송 경로를 보호하는 방법으로서 네트워크 계층의 헤더를 포함하는 모든 데이터에대하여 인증용 데이터를 생성하는 방법입니다. 새로 생성되는 IP 헤더에는 보안 구간을 통하여 전달되는 목적지의 보안 게이트웨이 주소 혹은 호스트 주소가 삽입됩니다.

 

<ESP 보안서비스>

IP ESP프로토콜은 IP 데이터그램에 암호화 기능을 부가한 것으로 기본3가지와 추가적인 2가지 서비스를 제공합니다.

  • 기밀성 : 기밀성을 보장합니다.
  • 재전송 공격 방지 서비스 : 순서번호를 이용하여 재전송공격을 방지합니다.
  • 제한된 트래픽 흐름 기밀성 : 제한적으로 트래픽 흐름에대한 정보를 보호합니다.
  • 무결성 : 무결성을 보장합니다.
  • 인증 : 전달된 메시지가 발신지로부터 온 메시지임을 증명합니다.

<ESP 헤더 데이터 형식>

security parameter index : 보안함숫값으로 해당 데이터그램에 적용되는 보안 연계식별자를 의미합니다.

sequence number : 순서번호로 보안 연계프로토콜에 의한 포로토콜 설정단계에서 초기치 0으로 설정됩니다.

payload : 가변 길이 데이터로서 기밀성을 위해 암호화된 데이터가 저장됩니다.

padding : 데이터 암호화 결과와 패딩 길이 및 다음 헤더 필드를 포함하였을경우 32비트 경계를 맞추기위한 데이터입니다.

payload length : 8비트로 구성되며 32비트 단위로 정의된 인증 데이터 필드의 개수를 의미합니다.

next header : 8비트로 구성되며 다음 확장 헤더에대한 주소를 의미합니다.

ICV : 인증데이터로 무결성 체크 코드로 IP 헤더의 보안 함수값 필드에서 next 헤더 필드에 해당하는 부분을 인증 알고리즘을 통하여 생성된 값입니다.

 

<ESP - 암호데이터 생성 방법>

전송 모드 : 호스트와 호스트간의 전송 경로를 보호하는 방법으로서 계층간의 캡슐화 과정을 통하여 상위 계층의 데이터에대하여 암호화 데이터 및 인증용 데이터를 생성하는 방법입니다. ESP 헤더에서 ESP 트레일러까지 모든 부분에대해 인증 알고리즘을 이용하여 인증 데이터를 생성한 후 마지막에 ESP Auth 필드에 저장하여 ESP 패킷을 생성합니다.

터널 모드 : 호스트와 호스트, 호스트와 보안 게이트웨이, 보안 게이트웨이와 보안 게이트웨이 간의 전송 경로를 보호하는 방법으로서 네트워크 계층의 헤더를 포함한 모든 데이터에대하여 암호화 데이터 및 인증용 데이터를 생성합니다. ESP 트레일러를 삽입하고 암호화하여 ESP 헤더레 첨부한후 ESP 헤더에서 ESP 트레일러까지 인증알고리즘을 사용하여 ESP Auth를 생성하고 붙입니다.

 

<AH와 ESP 비교>

사실상 AH는 ESP에서 다 서비스를 해주기때문에 필요가 없습니다.하지만 AH는 이미 일부 상업용 제품에 포함되어 있으므로 이들 제품이 사라질때까지는 AH가 인터넷의 한 부분으로 남아있을겁니다.

 

<보안 연계>

보안 연계(SA, securoty association)는 한 장비와 다른 장비 사이에 맺은 특정한 종류의 보안 연결을 설명하는 보안정보로 둘 사이에 안전한 통신을 하기위해 사용하는 보안 방법을 명시한 계약서라고 볼 수 있습니다. 장비의 보안 연계는 보안 연계 데이터베이스 SAD(security association database)에 포함됩니다. SA는 단반향이기때문에 양방향통신에서는 각 두개의 SA를 가지고 있습니다.

 

<보안 연계 데이터베이스>

  • SPD(security policy database) : IPSec 환경에서 보안 정책을 수행하기위한 정책 데이트베이스로서 모든 IP 데이터그램에대한 패킷 제거, 패킷 통과, IPSec 처리로 분류합니다.
  • SAD(security association database) : 각각의 보안 연계와 관련된 매개 변수 값을 저장하는 데이터베이스입니다. 예를 들어 순서번호 값등이 있습니다.

<보안 연계 - IP 트래픽 처리>

IPSec은 개별 패킷 기반으로 처리되어 아웃바운드 패킷은 전송되기전에 IPSec 로직에 의해 처리되며 인바운드 패킷은 상위 계층으로 패킷 내용을 전달하기전에 IPSec 로직에 의해 처리됩니다.

아웃바운드 패킷 처리 단계 : 

1. IPSec은 이패킷에 일치되는 SPD를 검색합니다.

2. 만약 일치되는 것이 발견되고 그 정책이 PROTECT라면 일치되는 엔트리를 찾기위해 SAD를 검색합니다.

3. 만약 엔트리가 없다면 적절한 키를 가진 SA를 생성하기위해 IKE가 수행되며 엔트리는 SA로 구성됩니다.

4. SAD에서 일치하는 엔트리가 패킷에대한 처리를 결정합니다. 암호화나 인증, 두가지 모두중에 하나가 수행되며 전송 또는 터널모드중에 하나가 사용됩니다. 이후 패킷은 전송을 위해 네트워크로 발송됩니다.

인바운드 패킷 처리 단계 :

1. IPSec은 필드를 조사하여 보호되지않은 IP패킷인지 ESP나 AH 헤더/트레일러를 가진 패킷인지 결정합니다. 

2. 보호되어 있다면 IPSec은 SAD를 검색하고 일치하는 항목이 있다면 ESP나 AH의 적절한 처리를 적용합니다. 그리고 IP헤더가 처리되어 벗겨지고 패킷의 몸체는 다음 상위 계층인 TCP로 전달됩니다.

 

<IKE>

IKE(internet key exchange)는 보안 정책을 협상하고 키를 관리하기위한 프로토콜입니다. IPSec과는 독립적으로 구현되어 운영되므로 여러가지 키 관리 프로토콜 중에 선택하여 사용해야합니다. IKE는 Oakley, SKEME 및 ISAKMP 프로토콜에 기반을 둔 복잡한 프로톨입니다.

Oakley : diffie-hellman 키 교환 프로토콜에 기반을 둔 복잡한 프로토콜입니다.

SKEME는 또다른 키 교환 프로토콜입니다.

ISAKMP(internet security association and key management protocol)은 미국 국가보안국(NSA)에서 만든 IKE에서 정의된 교환을 실제로 실행하도록 설계된 프로토콜입니다.

Comments