IPSec(Internet Protocol Security)은 인터넷 프로토콜(IP)에서 데이터를 보호하기 위한 보안 프레임워크입니다.
Layer 3에서 암호화를 제공하며, 인증을 통해 데이터의 기밀성, 무결성, 그리고 송신자의 신원을 보장합니다.
🔹 1단계: IKE Phase 1 – 보안 협상 채널 만들기 (ISAKMP SA)
목적: 양 끝단 장비 간 신뢰를 확보하고, 암호화된 터널을 만드는 것
📦 과정
1. Initiator가 협상 시작 | 서로의 정책(ISAKMP policy: 암호화, 해시, 인증, DH 그룹 등) 비교 |
2. DH(Diffie-Hellman) 키 교환 | 공유 비밀 키를 계산할 재료 준비 |
3. 인증 방식 처리 | Pre-shared Key, RSA, X.509 등으로 상대 인증 |
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는 실 데이터 트래픽에 사용됨
- SPI(Security Parameter Index)를 통해 구분
🔹 이후: 데이터 암호화 전송
데이터가 IPsec 터널을 통해 전송됨
패킷 형태는 다음과 같음:
- ESP (Encapsulating Security Payload) → 암호화 + 인증
- AH (Authentication Header) → 인증만 (암호화는 없음, 잘 안 씀)
보통 ESP만 씁니다. AH는 간 보기용.
- 전송 모드: IP 패킷의 페이로드(데이터)만 암호화.
- 터널 모드: 전체 IP 패킷을 암호화하여 함.
터널모드
터널 모드에서는 전체 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 |