반응형

IPSec(Internet Protocol Security)

- IPSec은 하나의 Protocol이 아니라, 통신 세션의 각 IP패킷을 암호화하고 인증하는 안전한 인터넷 프로토콜(IP) 통신을 위한 인터넷 프로토콜 스위트다.

- Network Layer 상에서 IP Packet 단위로 인증, 암호화를 진행하는 기술을 말한다.

- IPsec은 host와 host 사이,보안 게이트웨이 사이(네트워크 <> 네트워크), 보안 게이트웨이와 호스트 사이(네트워크 <> 호스트)에 데이터 흐름을 보호하기 위해 사용된다

 

IPSec Mode

- 전송 모드와 터널 모드가 존재하며, 인증과 암호화를 위한 Header 종류로 AH와 ESP가 있다.

[전송 모드(Transport Mode)]

IP Header와 Payload 사이에 IPSec Header를 추가하여 상위 계층의 Protocol을 보호하지만, Original IP Header는 보호하지 못한다.

1) AH Header (Authentication Header)

Original IP Header (보호 X) IPSec Header (AH Header) Original IP Payload (보호)

2) ESP Header (Encapsulation Security Payload Header)

- 전송 자료를 암호화하여 전송하고, 수신자가 받은 자료를 복호화하여 수신한다.

- AH와 달리 암호화를 제공한다. (대칭키, DES, 3-DES 등)

Original IP Header (보호 X) IPSec Header (ESP Header) Original IP Payload (보호) ESP Trailer ESP Auth

 

[터널 모드(Tunnel Mode)]

Original Packet 전체를 보호한다. Original Packet 전체를 IPSec으로 캡슐화하기때문에 Original IP Header를 식별할 수 없어 새로운 IP Header를 추가한다.

1) AH Header (Authentication Header)

New IP Header IPSec Header (AH Header) Original IP Header (보호) Original IP Payload (보호)

2) ESP Header (Encapsulation Security Payload Header)

New IP Header IPSec Header (ESP Header) Original IP Header (보호) Original IP Payload (보호) ESP Trailer
ESP Auth

 

IPSec Header 구조

종류 설명
AH - 데이터 무결성과 IP 패킷의 인증을 제공 (MAC 기반)
- Replay Attack으로부터 보호
- 인증 시 MD5, SHA-1 인증 알고리즘 사용
- 수신자는 같은 키를 이용하여 인증 값 검증
ESP - 전송 자료를 암호화하여 전송하고, 수신자가 받은 자료를 복호화하여 수신
- AH와 달리 암호화를 제공(대칭키, DES, 3DES 알고리즘)
- TCP/UDP 등의 Transport Layer까지 암호화할 경우, Transport Mode
- 전체 IP 패킷에 대해 암호화할 경우, Tunnel Mode

 


SSL(Secure Socket Layer), TLS

- 보안 소켓 계층을 이르는 말로, 인터넷에서 데이터를 안전하게 전송하기 위한 인터넷 통신 규약 프로토콜이다.

- SSL V3.0을 공식적으로 표준화하여 이름을 붙인 것이 TLS 이다.

- 기존 통신이 TCP/IP Protocol을 이용하는 것이라면, SSL 통신은 SSL/TLS Protocol을 사용하여 실제 데이터를 암호화 하여 통신하는 것을 말한다.

- 대표적으로 HTTPS는 SSL 통신중 일부이며, 그 외 SSH, SFTP등 여러 종류의 SSL 통신이 존재한다.

 

SSL Handshaking

TCP 연결 후 웹 브라우저는 443 포트를 호출하여 3-way handshaking을 수행하며, 그 과정은 아래와 같다.

 

1) Client -> Server

- 'Client Hello' 메시지를 전송하는데, 웹 브라우저에서 지원하는 SSL 버전, 암호화 알고리즘 등의 정보가 포함됨

- 'Random'을 전송하는데, 이는 Replay Attack을 방지하기 위한 임의적인 숫자임

2) Server -> Client

- 서버가 지원할 수 있는 알고리즘과 함께 'Server Hello' 메시지를 전송

- 웹 서버도 'Random'을 전송

3) Client -> 공인 또는 사설 CA

- 전달받은 서버 인증서를 CA를 통해 신뢰할 수 있는 서버인지 확인

* 공인 CA 인증서: 인증서의 공개키로 복호화

* 사설 CA 인증서: 브라우저에 저장된 CA 리스트에 없기 때문에 https 경고 표시

4) Client -> Server

- 암호 통신에 사용할 Session Key 생성 후 서버의 공개키로 암호화해 Pre-master Key를 만들어 서버에 전송 (Change Cipher Spec)

- 서버에게 협의 종료를 전달 (Finished)

5) Server -> Client

- Client의 응답에 동의하고 협의된 알고리즘의 적용을 알림 (Change Cipher Spec)

- 클라이언트에게 협의 종료를 전달 (Finished)

SSL Handshaking 과정

 

SSL Offloading, ADC(Application Delivery Controller)

- 웹 사이트에 사용자가 몰리는 경우, 서버가 SSL 암/복호화까지 진행하면 과부하로 인해 마비될 수 있다.

- 이러한 SSL 처리 부하를 처리해주는 장비를 ADC라고 하며, Load Balancing 장치라고도 한다.

[웹방화벽과의 관계]

- 실무 시 웹 방화벽에서 탐지 기능이 제대로 동작하지 않는 경우를 종종 볼 수 있는데, 원인은 여러가지 이유가 있을 수 있지만 ADC에서의 설정값도 확인을 해야한다.

 

Cipher Suite

- TLS Handshake를 통해 클라이언트 <> 서버간 어떤 Protocol을 사용할지, 어떻게 암호화할지 등을 협의한다.

- 위의 협의된 알고리즘의 집합을 Cipher Suite라고 부르며, 보안 취약점 공개 등에 따라 권고사항을 확인 후 Customizing 하게 암호화 통신을 진행하도록 설정한다.

 

 


# 참고

위키백과, ko.wikipedia.org/wiki/IPsec
네이버 지식백과, terms.naver.com/entry.nhn?docId=1180906&cid=40942&categoryId=32851

개인 블로그(IPSec Mode), m.blog.naver.com/PostView.nhn?blogId=sdug12051205&logNo=221537706305&proxyReferer=https:%2F%2Fwww.google.com%2F

개인블로그(Cipher Suite), https://rsec.kr/?p=455

이기적 정보보안기사 필기 1권 이론서

반응형

'기초지식 > 네트워크(업무)' 카테고리의 다른 글

네트워크 - Load Balancer  (0) 2021.07.08
네트워크 - LLCF, Failover  (0) 2020.10.01
네트워크 - VPN  (0) 2020.10.01
네트워크 - Tunneling  (0) 2020.09.27
네트워크 - NAT  (0) 2020.09.27

+ Recent posts