IPSEC phase

 

IPSec 터널 생성과정에 해당하는 IKE(Internet Key Exchange)의 터널 생성 과정

*IKE : IPSec의 보안연관 생성을 위한 복합 프로토콜. SA(Security Association)를 생성 유지

**SA : 데이터의 안전한 전달을 위해 통신의 쌍방(양방향) 간 약속되어지는 사항들(암호 알고리즘, 키 교환 방법, 주기)

 

IKE phase 1(ISAKMP 1) : VPN간 안전한 phase 2 SA 교환을 위한 phase 1 터널 생성과 상대방 인증

IKE phase 2(IPSec SA) : 패킷의 암호화 알고리즘 결정과 암호화 키 교환

 

IKE phase 1을 통해 상대방(peer VPN)을 인증하고 Phase 2의 협의사항(IPSec SA)을 암호화 해 전달하기 위한 암호 알고리즘을 결정, 암호화 키 교환한다.

--> IKE phase 2를 실시할 환경인 IKE phase 1 터널을 만드는 것 

IKE phase 2를 통해 패킷(데이터)을 암호화할 알고리즘과 암호화 키를 교환하고 패킷의 무결성을 검증할 방법을 협의한다.

--> 사용자가 교환할 패킷을 어떻게 교환할지 협의하는 단계 

AH헤더, ESP헤더를 선택한다.

 

IKE phase 1

목표 :  ISAKMP SA를 협상해 안전한 터널을 생성하고 상대방을 인증하는 것

*안전한 터널 : 패킷의 암호화된 교환에 직접적인 영향을 미치는 수단(IKE phase 2 SA)을 암호화하여 전달할 수 있는 터널

 

 

[목표를 이루기 위한 방법]

 

1. ISAKMP SA 제안 및 협의사항

[ SA ]

Hash : 인증 정보 교환 시 인증 정보가 변질되지 않았음을 증명하기 위한 해쉬 코드 첨부에 사용되는 해쉬 알고리즘(SHA, MD5)

Authentication : 상대방 VPN을 인증하기 위한 방법 (Pre-share;Key, RSA Encryption, RSA signature)

DH Group : 인증 정보를 암호화 할 키를 생성하는 대칭키 교환 알고리즘으로 phase 2에서 사용(DH Group1, 2, 5)

Lifetime : Phase 1 Tunnel이 유지되는 시간, 새로운 키를 생성하는 주기

Encryption : 키 교환 알고리즘과 함께 인증 정보를 암호화할 암호화 알고리즘(AES, DES, 3DES)

 

[SA 교환 과정]

(1) VPN 간 사용 가능한 SA 협의. 한쪽 VPN이 먼저 ISAKMP(5개의 SA)를 제안 시 상대방 VPN이 확인 후 자신이 사용 가능한 ISAKMP 세트 중 일치하는 것을 확인 후 답변

 

(2) 1에서 결정된 DH 키 교환 알고리즘 사용, 키 재료(Key Materials)를 교환하여 VPN간 공통적인 대칭키를 생성

--> 인증 정보 암호화 및 phase 2의 대칭키 생성에 사용

* 2023.10.10 - [네트워크] - 디피 헬만 알고리즘

 

(3) 1에서 결정한 해쉬 알고리즘 및 암호화 알고리즘, 2에서 생성한 대칭키를 이용하여 인증 정보를 암호화하여 서로에게 전송함으로 인증을 마치고 서로를 인증하며 터널 생성

 

2. 인증 정보 교환을 통한 상대방 VPN 인증

3. 인증 정보 암호화 및 phase 2에 사용할 암호화 키 생성

 

IKE phase 2

목표 : 패킷을 암호화하여 전송할 터널을 생성

1. IPSec SA 제안 및 협의

2. 패킷을 암호화 할 암호화 키 생성 및 인증

 

IPSec 협의사항

 IPSec Protocol : 패킷 인증 / 암호화를 위한 프로토콜 헤더 선택(AH, ESP)

Encapsulation Mode : IPSec 터널의 운용 모드 선택(Transport, Tunnel)

Encryption : 패킷을 암호화 할 암호화 알고리즘 선택(AES, DES, 3DES)

Authentication : 패킷을 인증할 해쉬 알고리즘 선택(MD5, SHA)

Lifetime: phase 2 Tunnel이 유지되는 시간 phase 1의 대칭키 기반으로 키를 재생성하는 주기(phase 1보다 낮게 책정)

PFS(Perfect Forward Security) : 키를 주기적으로 교환하도록 강제하는 기능 설정, 옵션 사항

 

교환과정

1. 한쪽 VPN이 먼저 IPSEC 세트(IPSec 협의사항)를 제안 시 상대방이 확인 후 자신이 사용 가능한 IPSec 세트 중 일치하는 것을 확인해 답변 

 

2. 패킷에 실질적인 영향을 주는 AH/ESP, Transport Mode, Tunnel Mode, 암호화 알고리즘, 해쉬 알고리즘, PFS등 포함

--> IPSec VPN의 사용 의의에 해당하는 SA를 협의 하는 과정

 

3. phase 1에서 생성한 대칭키를 기반으로 phase 2에서 추가적인 키 재료(Key Materials)를 서로에게 보내 새로운 대칭키를 생성

--> 랜덤 난수 값인 Nonce를 교환 (재전송 공격 방지)

---> Nonce는 일회성이므로 해커가 Nonce가 포함된 암호화 패킷을 훔쳐 전송 시, 한번만 사용해야 될 패킷이 또 사용됐으므로 VPN에서 감지 후 거부

* 재전송 공격 : 해커가 암호화된 패킷을 가로챈 후 가공하지 않고 재전송해 마치 송신자인 척 하는 공격

 

4. 반대쪽 VPN이 마찬가지로 Nonce를 상대방 VPN에게 전송 시 새로운 대칭키가 탄생 (패킷을 암호화하는데 사용)

  

 

 

 

 

'네트워크' 카테고리의 다른 글

EtherType  (0) 2023.10.11
디피 헬만 알고리즘  (1) 2023.10.10
SSL-VPN  (0) 2023.10.10
IPSEC  (0) 2023.09.06
ipv6  (0) 2023.09.01