본문 바로가기

OSI 7계층/[LAYER 3] 네트워크 계층

IPSec VPN 파헤치기 1탄

오늘은 저번시간에 이어서 IPSec VPN을 좀 더 파헤쳐보는 시간입니다. ;-D

 

 

1. IPSec VPN 특징

이번 12회 정보보안기사 실기에 IPSec VPN 단단형 문제로 IPSec VPN에 대한 문제가 나왔었죠.

 

Q. IPSec VPN은 몇 계층에서 동작(지원)을 할까요?  

A. 네트워크계층 ( 3계층 )

 

정리 들어갑니다~

IPSec VPN은 IP계층에서의 안전한 전송/통신을 위해서 사용되는 3계층 터널링 프로토콜입니다.

 

IP계층 내에서 직접 서비스를 제공(패킷을 암/복호화하여 통신)하기 때문에

상위 계층과의 호환성을 고려할 필요가 없어 구축이 용이하다고 볼 수 있죠!

 

생성된 터널로 인가된 내부대역 또는 호스트만 통신을 할 수 있으며

암호화된 패킷의 송/수신이 특징입니다. 

이런 특징으로 IPSec VPN은 다음과 같은 보안 서비스를 제공합니다. 

 

  - 통신 상대방 인증

  - 데이터 원천(근원지) 인증

  - 기밀성

  - 접근제어

  - 재생 공격 방지  

 

 

Q. 재생 공격(Replay Attack)이란?

A. 유효한 데이터를 중간에 물래 낚아채어 후에 이를 그대로 재사용/재전송하는 공격

 

Q. 재생 공격 방지는 어떻게 방지 될 수 있는 걸까요?

A. 암호화된 전송 통로로 암호화된 패킷이 오가는 것이므로 재생 공격으로 부터 안전!

 

 

 

 

2. 헤더 프로토콜(AH, ESP) 

 

IPSec VPN에서 인증과 암호화를 담당하는 헤더!

헤더에는 두가지 종류가 있습니다.

바로바로, AH와 ESP인데요.

 

AH(Authentication Header)

무결성을 보장하기 위한 프로토콜이며, IP 패킷이 전송중에 변조되지 않았음을 보장하는 서비스를 제공합니다.

 

패킷을 한 번 살펴볼까요!?

 

Next Header : AH 헤더 다음에 오는 페이로드의 유형을 나타낸다.
                   ICMP -> 1, TCP -> 6, UDP -> 17 등등
Payload Length : AH 헤더의 길이
Reserved : 0으로 설정 되고, 사용되지 않는다.
Security Parameters Index : 데이터그램을 위한 SA(Security Association)를 식별하기 위한 Index값
Sequence Number : 동일한 SPI를 이용하여 보내진 패킷의 일련번호를 나타낸다
Authentication Data : IP패킷에 대한 무결성을 조사하기 위한 값(Integrity Check Value)을 포함하는 필드
         MD5, SHA-1 등과 같은 해쉬 함수를 사용해 MAC(Message Authentication Code)을 생성하여 포함

 

 

ESP(Encapsulation Security Payload)

IP 페이로드를 암호화하여 데이터 기밀성을 제공함으로써 제3자에게 데이터가 노출되는 것을 차단합니다.

 

패킷을 한 번 살펴 볼까요!?

 

 

Security Parameter Index(SPI) : 목적지 IP 주소와 ESP 를 조합하여 데이터그램에 대한 SA 를 식별하게 해주는 32비트 값
Sequence Number : UnSigned 32bit 필드로서 일정하게 증가하는 카운트 값
Payload Data : Next Header 필드에 의해 식별된 타입의 데이터를 포함하는 가변 길이 필드

비밀성을 위해 암호화된 데이터로,

전송 모드인 경우 원시 IP 패킷의 몸체 부분이 삽입되고 터널 모드인 경우 원시 IP 패킷 전체가 삽입
Padding : 암호화된 비트가 암호화에 사용된 알고리즘의 블록 사이즈의 배수가 되도록 만들기 위해 사용되는 가별 길이 필드
Pad Length : 패딩에서 사용된 패딩 데이터 길이
Next Header : Payload Data 필드에 포함된 데이터 타입을 식별해 주는 필드
Authentication Data : ICV(Integrity Check Value) 로 구성된 가변 길이 데이터 필드. 무결성 체크 값

 

 

3. 운영 모드(전송모드, 터널모드)  

 

IPSec VPN을 사용함에 있어 패킷을 전송하는 방법! 다른 말로 운영 모드라고 하는데요.

이 운영모드도 두가지로 나뉩니다.

 

전송모드(Transport mode)

 

원래의 IP 헤더는 그대로 이용하 나머지 데이터 부분만 보호하는 방식입니다.

 

 

 

상위 계층 프로토콜을 보호하기 위해 사용하며

주로 호스트 <-> 호스트 통신에 사용한답니다.  
 

암호화 구간은 다음 그림과 같이 통신 구간 전체입니다.  

 

터널모드(Tunnel mode)

 

IP 패킷 전체를 보호하면서 그 위에 새로운 IP 헤더를 추가 하여 통신을 합니다.

 

 

보통 호스트 <-> 게이트웨이와 게이트웨이 <-> 게이트웨이에 주로 사용합니다.

 

암호화 구간은 다음 그림과 같이 터널 구간 입니다.  

 

 

 

 

 

 

오늘은,

여기까지입니다.

 

다음주에 2탄으로 만나요~*