본문 바로가기
CS/네트워크

IPSec(Internet Protocol Security)

by KOMAS 2024. 9. 20.
반응형

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 게이트웨이보안 장비입니다.

 

과정 요약:

  1. 암호화: 원본 패킷(헤더와 데이터) 전체가 암호화됨.
  2. 외부 헤더 추가: 새로운 IP 헤더를 추가하여 네트워크에서 라우팅 가능하게 만듦.
  3. 라우팅: 라우터는 새 헤더를 기반으로 패킷을 목적지로 보냄.
  4. 복호화: 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)

  1. 해시 값 생성: 송신자가 IP 패킷(헤더 및 데이터)을 전송할 때, 해시 함수(예: HMAC-SHA1)를 이용해 패킷의 무결성을 나타내는 해시 값을 생성합니다. 이 해시 값은 인증 키와 함께 패킷에 포함됩니다.
  2. 수신자가 해시 값 계산: 수신자는 동일한 해시 함수를 사용해 패킷의 해시 값을 다시 계산합니다.
  3. 해시 값 비교: 수신자가 계산한 해시 값과 송신자가 보낸 해시 값을 비교하여 무결성을 확인합니다. 값이 같으면 패킷이 전송 중 변경되지 않았다는 것을 보장합니다.

해시값을 통해 무결성을 검증하기 떄문에, 해시 함수를 이전에 교환하는 과정을 거쳤어야 한다.
해시 함수는 노출되면 안되므로 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