IPSec(Internet Protocol Security)은 인터넷 프로토콜(IP)에서 데이터를 보호하기 위한 보안 프레임워크입니다.
Layer 3에서 암호화를 제공하며, 인증을 통해 데이터의 기밀성, 무결성, 그리고 송신자의 신원을 보장합니다.
간략 정리
Phase 1: 협상 준비 및 보안 채널 구축
- 정책 비교: 양 장비가 통신 규칙(암호화/인증 방식 등)을 맞춰봅니다.
- 인증: PSK(비밀번호) 등을 이용해 서로가 허가된 장비인지 확인합니다.
- DH 키 교환: DH 공개키를 교환하여, Phase 2 협상 과정을 보호할 암호화 키를 만듭니다.
Phase 2: 실제 데이터 터널 구축 및 통신
- IPsec 정책 협상: ESP 등 실제 데이터를 암호화할 규칙을 새로 정합니다.
(중요: 이 모든 협상 과정은 3번에서 만든 키로 암호화되어 안전하게 보호됩니다.) - 데이터 암호화: Phase 2에서 새로 만든 '별개의 세션 키'를 사용하여 데이터를 암호화하고 통신합니다.
(DH 키를 직접 사용하지 않습니다.)
🔹 1단계: IKE Phase 1 – 보안 협상 채널 만들기 (ISAKMP SA)
목적: 양 끝단 장비 간 신뢰를 확보하고, 암호화된 터널을 만드는 것
8시간 또는 24시간 마다 설정함(선택)
📦 과정
1. Initiator가 협상 시작 | 서로의 정책(ISAKMP policy: 암호화, 해시, 인증, DH 그룹 등) 비교 |
2. DH(Diffie-Hellman) 공개키 교환 | 공유 비밀 키 생성, 이후 해당 키로 메시지 암호화 EX) 내부 보관함 키 (연결 세션마다 생성, PHASE2에서 사용함) |
3. 인증 방식 처리 | Pre-shared Key (서로 갖고 있는 비밀 키 PSK) EX) 집 키 |
4. ISAKMP SA 수립 | 암호화된 채널이 만들어짐 |
- 여기서 만들어진 SA(Security Association)는 제어 채널에 해당
- 암호화 방식 예: AES, 3DES
- 해시 예: SHA-1, SHA-256
- 인증 예: PSK (가장 일반적)
🔐 ISAKMP SA가 만들어지면, 이 채널로 Phase 2 정보를 주고받습니다.
🔹 2단계: IKE Phase 2 – 실제 IPsec 터널 협상 (IPsec SA)
목적: 실제 데이터를 암호화하는 IPsec 터널을 설정
📦 과정
1. Quick Mode 협상 | 트래픽 보호를 위한 IPsec 정책 비교 |
2. IPsec SA 생성 | ESP 또는 AH, 암호화/해시 알고리즘 확정 |
3. IPsec 터널 완성 | SA에 기반한 데이터 트래픽 암호화 시작 |
- IPsec SA는 실 데이터 트래픽에 사용됨
🔹 이후: 데이터 암호화 전송
데이터가 IPsec 터널을 통해 전송됨
패킷 형태는 다음과 같음:
- ESP (Encapsulating Security Payload) → 암호화 + 인증
- AH (Authentication Header) → 인증만 (암호화는 없음, 잘 안 씀)
보통 ESP만 씁니다. AH는 간 보기용.
- 전송 모드: IP 패킷의 페이로드(데이터)만 암호화.
- 터널 모드: 원래의 IP 패킷 전체(헤더+데이터)를 암호화하고 새로운 IP 헤더를 붙여 캡슐화합니다. 주로 게이트웨이 간(Site-to-Site VPN) 통신에 사용됩니다.
터널모드
터널 모드에서는 전체 IP 패킷이 암호화되어 원래의 IP 헤더도 숨겨지기 때문에,
암호화된 패킷이 네트워크를 통해 전달되기 위해 새로운 외부 IP 헤더가 추가됩니다.
이 새로운 헤더는 목적지에 도달할 때까지의 경로를 결정하는 데 사용됩니다.
네트워크 라우터들은 이 외부 IP 헤더만 보고 패킷을 라우팅합니다.
목적지에 도착하면, VPN 게이트웨이가 패킷을 복호화하고 원래의 IP 헤더와 데이터를 확인해 최종 목적지로 전달합니다.
터널 모드에서는 원본 패킷(원래의 목적지 IP 주소가 포함된 패킷)이 암호화되며,
그 위에 새로운 외부 IP 헤더가 추가됩니다.
이 새로운 헤더의 목적지는 원래 패킷의 목적지가 아닌, VPN 게이트웨이나 보안 장비입니다.
과정 요약:
- 암호화: 원본 패킷(헤더와 데이터) 전체가 암호화됨.
- 외부 헤더 추가: 새로운 IP 헤더를 추가하여 네트워크에서 라우팅 가능하게 만듦.
- 라우팅: 라우터는 새 헤더를 기반으로 패킷을 목적지로 보냄.
- 복호화: VPN 게이트웨이에서 복호화 후 원래 목적지로 전달.
이 과정을 통해 암호화된 패킷이 네트워크를 통해 안전하게 목적지까지 도달할 수 있습니다.
IPSec 과정
1. IKE (Internet Key Exchange): 두 장치 간 인증 및 암호화 키 교환을 수행.
2. SA (Security Association): 암호화 및 인증에 대한 보안 매개변수를 설정.
3. SAD (Security Association Database): 설정된 SA가 저장되고, IPSec 통신에 적용될 때 사용됨.
4. ESP(Encapsulating Security Payload) 또는 AH(Authentication Header): 암호화 및 인증을 적용해 트래픽을 보호.
5. 암호화된 패킷이 안전하게 전송되고 복호화됨.
1. IKE (Internet Key Exchange)
두 노드간의 인증은 공개 키 암호화 방식(예: 인증서) 또는 사전 공유 키(PSK)를 사용한다.
- Phase 1 (보안 채널 설정):
- 목적: 인증과 키 교환을 통해 안전한 보안 채널 생성.
- 결과: IKE SA 설정, 이후 IKE 메시지는 보안 채널을 통해 보호됨.
- Phase 2 (IPSec SA 협상):
- 목적: 실제 데이터 트래픽을 보호할 SA 설정.
- 결과: IPSec SA가 설정되고, IPSec 트래픽이 이 SA를 통해 암호화 및 인증됨.
2. SA (Security Association)
두 장치 간 보안 매개변수(암호화 알고리즘, 인증 방법, 키 등)에 대한 합의를 의미합니다.
3.SAD
SA는 SAD(Security Association Database)에 저장
4. AH(Authentication Header), ESP(Encapsulating Security Payload)
AH(Authentication Header)
- 해시 값 생성: 송신자가 IP 패킷(헤더 및 데이터)을 전송할 때, 해시 함수(예: HMAC-SHA1)를 이용해 패킷의 무결성을 나타내는 해시 값을 생성합니다. 이 해시 값은 인증 키와 함께 패킷에 포함됩니다.
- 수신자가 해시 값 계산: 수신자는 동일한 해시 함수를 사용해 패킷의 해시 값을 다시 계산합니다.
- 해시 값 비교: 수신자가 계산한 해시 값과 송신자가 보낸 해시 값을 비교하여 무결성을 확인합니다. 값이 같으면 패킷이 전송 중 변경되지 않았다는 것을 보장합니다.
해시값을 통해 무결성을 검증하기 떄문에, 해시 함수를 이전에 교환하는 과정을 거쳤어야 한다.
해시 함수는 노출되면 안되므로 IKE (Internet Key Exchange) 과정을 거친다.
ESP(Encapsulating Security Payload)
- ESP 헤더: 패킷의 암호화된 페이로드 전에 위치.
- ESP 트레일러: 암호화된 페이로드 뒤에 위치해 패딩 및 인증 데이터 포함.
- ESP 인증 데이터: 선택적으로 패킷 무결성 확인.
5. 통신
'CS > 네트워크' 카테고리의 다른 글
Blocking / Non Blocking, Synchronous / Asynchronous (0) | 2023.10.03 |
---|---|
[TCP/IP MODEL] (0) | 2022.08.31 |