2020년 국비지원 교육 내용 정리 중
IPSec
- IETF가 개발한 공개 표준
- IP는 비연결형이지만 IPsec은 연결지향형
- 송/수신하는 IP 트래픽 보호를 위해서 암호화 및 다양한 보안 Protocol을 사용한다.
- IPsec은 데이터 전송 시 크게, 두가지 Mode를 지원한다.
- IPsec을 사용하여 데이터를 전송할 때, SA(Security Association : 보안 연관)를 사용하여 정보 보호시 필요한 정보들을 공유한다. (ISAKMP의 SA 교환은 단방향이며 2단계의 SA Session을 연결해야한다.)
- SA는 송/수신자간 모두 SA Parameter를 유지해야한다.
IPSec Mode | |
Transport mode (PC에서 암호화 / 복호화) |
Tunnel mode (Router나 VPN장비에서 암호화 / 복호화) |
- End System 장비간 통신하는 데이터를 보호 - End-to-End Communication - IP Header를 제외한 나머지 데이터에 대한 암호화 및 인증 기능을 지원 - 예를 들면 VoIP(Voice over IP)가 될 수 있다. |
- 네트워크와 네트워크 간 통신시 데이터 보호 - Gate-to-Gate Communication - VPN장비를 통과하는 모든 데이터를 보호하며 원본 IP Header 앞에 New IP Header를 encapsulation하며 New IP Header 뒤의 데이터에 대한 암호화 및 인증 기능을 지원 |
- IPsec 구성 시 Dynamic Routing protocol(RIP , EIGRP , OSPF)을 정보보호 범위로 포함시키면 Tunnel로 연결된 EIGRP , OSPF 인접성이 단절된다. 또한, 해당 정보를 전송할 수 없기때문에 인접성이 단절된다.
- 또한, IPsec은 Unicast Traffic에 대한 보안 기능만 지원하기 때문에 RIP , EIGRP , OSPF 등과 같은 Multicast를 사용하는 Protocol은 정보 보호범위에 포함할 수 없다.
- IPsec에서는 사용되는 Secure Protocol
1) Internet Key Exchange (IKE)
2) IP Authentication Header (AH)
3) IP Encapsulating Security Payload (ESP)
1) ISAKMP
(Interface Security Association And Key Management Protocol)
- UDP Port Number 500
- Key관리를 위한 Framework
- Key 생성 및 협상 , 변경 , 삭제에 필요한 절차와 Packet구조를 정의하고 Peer들만 식별할 수 있는 기능을 제공
- 여기서 송신자와 수신자가 같은 Key를 안전하게 나누어 가지는 방법에 문제가 발생하게된다.
- 따라서, ISAKMP를 사용하여 송/수신자의 Session Key를 생성한다.
IPSec 통신 시 논의 항목 - ISAKMP를 사용하여 송/수신자가 협상한다. |
|
통신 방식 | AH , ESP |
암호화 알고리즘 | DES , 3DES , AES |
인증 알고리즘 | MD5 , SHA |
인증이나 암호화 Key | 협상 필요 |
Key의 길이나 Key의 유효기간 | 협상 필요 |
- ISAKMP는 두 가지 단계가 존재한다.
ISAKMP = SA Phase-1과 SA Phase-2의 두 단계로 동작 |
|
Phase-1 | Phase-2 |
장비 간의 인증 및 통신에 필요한 정보를 협상 (암호화 알고리즘, 인증 알고리즘, 사용할 Key, Key의 크기, 키교환 주기) |
실제 데이터를 보호하는 역할 |
ISAKMP의 SA를 보호 (Encrption과 같은 암호화 알고리즘과 Hash알고리즘을 사용한 인증 기능 사용) |
Protection suite (AH , ESP) |
Sessin key 생성 (Diffie-hellman group 사용) |
Protection suite algorithm (DES , 3DES , AES , MD5 , SHA) |
인증 방법 (Pre-shared key, Public Key encryption, Public Key signature) |
보호 되어야할 네트워크 및 IP 주소 |
Peer 간 인증 및 안전한 경로를 설정 | 실제 security protocol들이 사용할 SA를 개설하는 과정을 담당 |
Phase-2에서 Negotiation하는 과정을 보호하기 위해서 사용 | Phase-2의 통신 협상의 정보를 제공 |
- 암호화 & 복호화 Key는 오랜기간 사용하게 되면 crypto analysis(암호 분석)공격에 의해 노출될 수 있기 때문에 주기적으로 Session key를 교체해야한다.
2) AH(Authentication Header)
- Protocol Number = 51
- 기밀성(암호화) 보장 X
- 송신자와 수신자가 같은 Key를 공유하고 해당 Key를 사용하여 Hash인증을 수행
- IP Header에 포함된 데이터의 무결성과 데이터 인증 및 보호를 제공을 위해서 사용된다.
(여기서의 인증은 세션에 대한 인증이 아닌 Packet의 무결성을 의미)
- 즉 데이터를 확인할 수는 있지만, 위조/변조는 할 수 없다.
- IP Header의 일부를 제외한 (TTL , TOS) IP Header전체를 인증
= IP Header 조작이 불가능하므로 NAT (Network Address Translation) 환경에서 적용할 수 없다.
(NAT는 IP Header의 Source Address를 변경하는 기능이므로 사용할 수 없다.)
- 인증 알고리즘은 MD5와 SHA등의 HASH알고리즘을 사용한다.
3) ESP (Encapsulating Security Payload)
- Protocol number=50
- 기밀성(암호화) , 원본 데이터의 인증, 무결성과 같은 보안 서비스를 지원
- AH의 경우에는 데이터의 인증 기능만 제공하지만 ESP는 데이터 암호화 기능과 함께 인증 기능도 포함
- ESP만으로도 암호화 및 인증을 실행 할 수 있지만 보안의 강도를 높일 때 AH와 병행사용이 가능하다.
- 이전에는 AH와 ESP를 병행하여 상용했지만 병행하여 사용할 경우 throughput이 증가하여 지금은 병행 사용을 하지 않는 것이 일반적이다.
ESP Header의 위치
-Transport mode사용시 ESP Header의 위치
-Tunnel mode사용시 ESP Header의 위치
참고 : 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] Wireshark로 IPSec 통신 과정 살펴보기 [GNS3 / Wireshark] (0) | 2023.08.14 |
[Network] Wireshark로 SSL/TLS 통신 과정 살펴보기 (0) | 2023.08.11 |
[Network] SSL/TLS Handshake 알아보기 [Wireshark / ChatGPT] (0) | 2023.08.11 |