[Cisco] IPSec 구축으로 데이터 보호하기 [GNS3]
#1 IKE Phase 1- Main Mode
- IKE Phase-1의 주요 목적은 IKE Phase-2에 사용할 수 있는 보안 터널을 설정하는 것이다.
- IKE Phase-1를 Main Mode 라고도 하며, 3단계에 걸쳐서 총 6개의 패킷(각 단계별 2개)을 주고 받는다.
1) Negotiation 항목
- Hashing: 무결성을 검증하기 위해 해시 알고리즘을 사용하고, 이를 위해 MD5 또는 SHA를 사용한다.
- Authentication: 각 Peer는 자신이 누구인지 증명해야 하기때문에, 두 가지 옵션은 일반적으로 사용되는 a pre-shared key 또는 digital certificates를 사용한다.
- DH (Diffie Hellman) group: DH Group은 키 교환 과정에서 사용되는 키의 강도를 결정한다. Group 번호가 높을수록 안전하지만 계산 시간이 더 오래 걸린다.
- Lifetime: 수명이 짧을수록, 더 안전하며. 벤더사별로 다른 수명 시간을 사용한다. 공통 기본값은 86400초(1일)이다.
- Encryption: 암호화를 위해 사용하는 알고리즘 (ex: DES, 3DES 또는 AES)
2) DH Key Exchange
- 협상이 성공하면 두 피어는 사용할 정책을 알 수 있으며, 협상한 DH Group을 사용하여 키 자료를 교환한다.
- 최종 결과로 두 피어가 a shared key를 갖게 된다.
3) Authentication
- 마지막 단계는 협상에서 합의한 인증 방법을 사용하여 두 Peer가 서로를 인증하는 것이며, 인증이 성공하면 IKE Phase-1 단계를 완료한 것이다. [양방향 IKE Phase-1 Tunnel (= ISAKMP Tunnel)]
- 즉, 두 Peer가 이 Tunnel 에서 송수신할 수 있음을 의미한다.
1) Security Association (Proposal & Transform Payload) #1
* Proposal Payload & Transform Payload
- IKE 프로토콜을 사용하여 안전한 통신 채널을 설정하려는 두 피어(장치) 간의 협상 프로세스의 일부
- 안전한 통신 채널을 설정하기 위해 두 피어가 사용할 암호 알고리즘, 키 교환 메커니즘, 인증 방법 및 기타 보안 매개 변수를 일괄적으로 정의한다.
Proposal Payload | Transform Payload |
- 보안 연결 협상에 사용될 보안 매개 변수 집합 - Proposal Number: 제안 식별. = 이번 케이스는 첫 번째 제안(제안 번호: 1)임을 알 수 있다. - Protocol ID: 보안 연결을 설정할 프로토콜을 지정. = ISAKMP - SPI Size: SPI 크기: = 0으로 표시된 것처럼 이번 케이스는 보안 매개 변수 지수(SPI)가 사용되지 않았다. - Proposal Transforms: 이 제안의 변환 수(보안 매개 변수 집합), = 이번 케이스에서의 변환은 1개다. |
- 제안할 특정 변환에 대한 암호화 및 보안 설정을 지정 - Transform Number: 제안 내에서 변환을 식별 = 이번 케이스는 첫 번째 제안(제안 번호: 1)임을 알 수 있다. - Transform ID: 변환 유형을 지정한다. = 이 경우 KEY_IKE(1)로 IKE 키와 관련된 메커니즘 참조 가능 - IKE Attributes: 이러한 속성은 변환의 다양한 측면을 정의 - Encryption Algorithm: 암호화를 위해 암호 블록 연결 모드의 트리플 데이터 암호화 표준인 3DES-CBC를 지정 - Hash Algorithm: 메시지 해시에 대한 MD5를 지정 - Group Description: 키 교환에 사용되는 Diffie-Hellman = 여기서는 대체 1024비트 MODP 그룹이다. - Authentication Method: 인증을 위한 사전 공유 키의 사용을 나타내는 사전 공유 키를 지정 - Life Type: 수명이 초 단위로 지정되었다. - Life Duration: 이 보안 연결의 수명을 3600초(1시간)로 지정 |
2) Security Association (Proposal & Transform Payload) #2
- Responder는 Initiator로부터 첫 번째 메시지를 수신하면 응답한다.
- 이 메시지는 변환 페이로드의 속성에 동의함을 Initiator에게 알리는 데 사용된다.
- Responder가 자체 SPI 값을 설정했음을 알 수 있다.
3) Key Exchange and Nonce Payload #1
- 위의 출력에서 Key Exchange 와 Nonce에 대한 페이로드를 볼 수 있다.
- 이 두 개의 페이로드는 두 Peer 간에 보안 채널을 설정하기 위한 ISAKMP 협상 프로세스의 일부다.
- Peer가 사용할 보안 연결에 동의했기 때문에, Initiator가 Diffie Hellman 키 교환을 시작한다.
ISAKMP header | Key Exchange payload | Nonce payload |
- 메시지에 대한 주요 메타데이터가 제공되며 payload에는 협상 중에 교환된 실제 데이터가 포함된다. | - 일부 키 교환 메커니즘(예: Diffie-Hellman)을 사용하여 공유 키를 설정하는 데 필요한 데이터를 전송한다. | - 보안을 강화하기 위해 추가적인 임의성을 제공 - Nonce(number used once)는 replay attacks 공격을 방지하기 위한 보안 조치로 Initiator가 생성한 임의의 값이다. - Nonce는 일반적으로 이전 세션에서 재생되지 않도록 보장하기 위해 포함된다. |
4) Key Exchange and Nonce Payload #2
- Responder는 Diffie-Hellman Nonce를 Initiator로 전송한다. 이제 두 Peer가 Diffie-Hellman shared key를 계산할 수 있다.
5) IKE Phase 1 Completion#1
- 마지막 두 개의 메시지는 암호화되어 더 이상 내용을 볼 수 없다.
- 이 두 개는 각 Peer의 식별 및 인증에 사용된다.
6) IKE Phase 1 Completion#2
- IKEv1 Main Mode가 이제 완료되었으며 IKE Phase-2를 진행할 수 있다.
#2 IKE Phase 2 - Quick Mode
- IKE Phase-2 Tunnel(IPSec 터널)은 실제로 사용자 데이터를 보호하기 위해 사용된다.
- IKE Phase-2 Tunnel을 구축하는 모드를 Quick Mode라고 한다.
- IKE Phase-1단계에서와 마찬가지로, 다음과 같은 여러 항목에 대해 협상한다.
1) Negotiation 항목
- IPsec Protocol: AH 혹은 ESP를 사용할 것인가?
- Encapsulation Mode: transport 혹은 tunnel mode를 사용할 것인가?
- Encryption: 암호화 알고리즘으로 사용할 것은 무엇인가? DES, 3DES or AES?
- Authentication: 인증 알고리즘으로 사용할 것은 무엇인가? MD5 or SHA?
- Lifetime: IKE Phase-2 Tunnel의 유효 기간를 어느 정도로 정할 것인가?
- 이 협상은 IKE Phase-1 Tunnel의 안에서 발생 및 암호화되어 데이터를 볼 수 없다.
- IKE Phase-2가 완료되면, 일부 사용자 데이터를 보호할 수 있다.
- "Encrypted Data" 섹션에는 협상의 초기 단계에서 설정된 키를 사용하여 암호화된 페이로드 데이터가 포함된다.
참고 : https://networklessons.com/cisco/ccie-routing-switching/ipsec-internet-protocol-security#IKE_Phase_2
'IT > Network' 카테고리의 다른 글
[CentOS] SMTP Command 알아보기 [Wireshark / ChatGPT] (0) | 2023.09.13 |
---|---|
[Network] DMZ를 구성하는 이유는? (0) | 2023.09.07 |
[Network] IPSec 알아보기 (0) | 2023.08.14 |
[Network] Wireshark로 SSL/TLS 통신 과정 살펴보기 (0) | 2023.08.11 |
[Network] SSL/TLS Handshake 알아보기 [Wireshark / ChatGPT] (0) | 2023.08.11 |