IPSec Protocol..
일반적으로 IPv4는 패킷을 보호하기 위한 보안적인 필드가 없다. 그래서 누군가 스니핑(도청)을 한다면 헤더는 물론 내부 데이터도 쉽게 확인할 수 있는 위험이 있다. 이러한 문제를 IPSec Protocol을 이용해 패킷을 암호화하고 인증을 실시하여 데이터의 기밀성과 무결성을 보장할 수 있다.
- Authenticaton Header
- Encapsulating Security Protocol
- Security Associations
- Internet Key Exchange
IPsec Protocol 유형은
AH(Authentication Header Protocol)와
ESP(Encapsulating Security Payload Protocol)로 나뉜다.
1. Authentication Header
- 두 개의 시스템이 송수신하는 IP패킷에 대한 인증을 제공한다. 데이터의 무결성을 보장한다. 이 때, 인증은 단방향 해시 함수(MD5, SHA)를 패킷에 적용시킨 후 Message Digest1를 생성하여 실시한다.
단, 패킷을 암호화하진 않는다. 기밀성을 보장하지 않는다. - RFC 2402에 정의되어있으며, IPv4 프로토콜 필드에서 51번을 사용한다.
- IPSec VPN에 적용 시 인증 알고리즘(MD5-HMAC, SHA-HMAC)을 지원한다.
1: Message Digest란, 단방향 해싱 함수에 의해 생성되는 숫자 문자열을 포함한 암호화 해시 함수이다. (자세한 내용-techopedia)
1-1. AH Mode
AH Mode에 따라 encapsulation 범위가 달라진다.
AH Transport Mode : 상위 계층의 Payload(헤더가 포함된 전체 데이터)만 보호한다. 즉, IP헤더를 제외한 IP패킷의 Payload만 보호한다. AH Header만 붙는다.
AH Tunnel Mode : Original IP Header 일부를 제외한 IP 패킷 전체를 보호한다. AH Header와 New IP Header가 붙는다.

2. Encapsulating Security Payload
- 두 개의 시스템이 송수신하는 IP패킷에 대한 인증과 암호화를 실시한다. 데이터의 무결성과 기밀성을 보장한다.
- RFC 2406에 정의되어 있으며, IPv4 프로토콜 필드에서 50번을 사용한다.
- 인증 알고리즘(MD5-HMAC, SHA-HMAC)과 대칭키 암호화 알고리즘(DES, 3DES, AES)를 지원한다.
2-1. ESP Mode
ESP Mode에 따라 encapsulation 범위가 달라진다.
ESP Transport Mode : 상위 계층의 Payload(헤더가 포함된 전체 데이터)만 보호한다. 즉, IP헤더를 제외한 IP패킷의 Payload만 보호한다. AH Header만 붙는다.
ESP Tunnel Mode : AH Tunnel과 달리 IP 패킷 전체를 보호한다. AH Header와 New IP Header가 붙는다.

3. Security Associations
AH와 ESP로 IPSec 서비스를 구현할 때, 암호화 및 인증에 사용할 요소를 SA로 정의한다. 가장 중요한 요소는 암/복호화 키의 수명이다.
조금 더 쉽게 이야기하자면,,
한곳에서 암호화된 데이터를 다른 곳에서 복호화하기 위해 서로 암호화 알고리즘을 정해서 사용해야하고, 암/복호화 키에 대해 알고 있어야한다. 이것을 SA라고 한다.
3-1. SA 생성
SA 생성방법은 수동으로 생성하는 방법과 IKE를 통해서 생성하는 방법이 있다.
관리자가 수동으로 키를 입력하여 SA를 생성했을 경우,
SA의 삭제 만료 시간이 없고 SA가 생성되자마자 바로 연결된다.
IKE Protocol을 이용한 협상에 의해 SA를 생성했을 경우,
SA는 3,600초 또는 4,608,000KB 처리했을 때 삭제되고, 필요할 때 SA를 연결한다. 이때, 특정 시간이나 데이터 처리 후 삭제하는 이유는 주기적인 SA 갱신과 키 업데이트를 통해 해킹 방지를 하기 위함이다.
3-2. SA 계층 구조
SA는 1단계 SA, 2단계 SA로 계층적 구조를 갖는다.
1단계 SA: ISAKMP SA 생성 단계
두 IPSec 개체 간 인증과 2단계 SA를 성립하는 메세지를 보호하기 위한 세션키를 협상한다. 수동으로 SA를 생성할 경우 1단계 SA는 생성되지 않는다.
2단계 SA: IPSec SA 생성 단계
실제 IPSec을 이용해 패킷 전송에 사용할 SA이다. 인바운드, 아웃바운드 SA 총 2개를 생성하게 된다.
4. Internet Key Exchange
ISAKMP와 Oakley Protocol으로 결합된 (IPSec에서 사용되는) 키 관리 프로토콜이다. IKE는 상호 개체간 인증된 보안 통신 채널을 생성하고, SA 정보를 협상한다.
4-1. IKE 협상 과정
협상과정은 1단계와 2단계로 구성되어 있다.
IKE 1단계: ISAKMP SA 생성
보안성이 없는 네트워크를 통해 암호화된 데이터를 송수신하기 위한 준비 단계다. 기본적으로 Main Mode로 동작한다. 6개 메세지를 교환하여 IKE 1단계를 성립한다. 처음 요청하는 개체를 Initiator, 응답하는 개체를 Responder라고 한다.

① ISKAMP SA 정책 협상 내용
– VPN 장비간 인증 방식: Pre-Shared Key, RSA Encrytion, RSA Signature
– 암호화 방식: DES, 3DES, AES
– 무결성 확인 방식: MD5, SHA
– 보안 정책 사용 기간: 60~86,400 seconds
② Diffie-Hellman Key
암호화되지 않은 통신망을 통해 공통의 비밀 키를 공유하는 키 교환 방식.
암호의 크기가 클수록 보안이 증가하지만, 계산하는 시간이 오래걸려 성능이 떨어지게 된다.
Group 1 – 768Bit, Group 2- 1,024Bit, Group 5 – 1,536 Bit
(참고-위키백과)
③ 인증서 교환을 통해 인증
①과 ②단계에서 결정된 암호화 방식과 계산된 키를 사용해 패킷을 암호화하고, 무결성 확인을 위한 해시 코드를 생성하여 첨부한다. Initiator가 먼저 자신의 ID와 인증정보를 Responder에게 암호화하여 전송한다. 마찬가지로 Responder도 Initiator에게 자신의 ID와 인증정보를 전송하면서 인증을 마친다.
IKE 2단계: IPSec SA 생성
1단계 성립 이후 Main mode에서 Quick mode로 전환된다. 실제 암호화된 데이터를 송수신하는 단계이며, 3개의 메세지를 교환하여 IKE 2단계를 성립한다.

① IPSec SA 정책 협상 내용
– 보호 대상 트래픽: ‘access-list’ 사용
– IKE 1단계, 2단계 정책 연동: ‘crypto map’ 사용
– IPSec Protocol: AH, ESP
– 암호화 방식: DES, 3DES, AES
– 무결성 확인 방식: MD5, SHA
– 보안 정책 사용 기간: 120~86,400 seconds / 2,560~536,870,912 KB
② IPSec SA 정책 확인 / 인증 시도
최종 IPSec SA 정책을 확인 및 Initiator에게 인증 시도.
③ 인증 및 종료
Reply Attack 방지 및 데이터 원천 인증 보장을 위해 Hash Payload가 담긴 패킷을 응답한다.