CS 지식

[CS 지식17.] IPsec vs SSL/TLS

Somaz 2024. 11. 11. 12:08
728x90
반응형

Overview

IPsec과 SSL/TLS는 인터넷에서의 안전한 통신을 보장하기 위한 핵심 프로토콜이다. 두 방식 모두 데이터 암호화, 인증, 무결성 보장을 목적으로 하지만, 작동하는 계층과 사용 목적, 설정 방식에 있어 뚜렷한 차이를 가진다.

  • IPsec은 네트워크 계층에서 모든 트래픽(IP 패킷)을 보호하며 VPN에서 흔히 사용되고,
  • SSL/TLS는 애플리케이션 계층 위에서 세션 단위 보안을 제공하여 HTTPS, 이메일, 웹 기반 서비스 등에 폭넓게 활용된다.

 

 

이 글에서는 IPsec과 SSL/TLS 각각의 개념, 작동 방식, VPN 사례 및 비교 포인트를 정리하여, 상황에 따라 어떤 보안 메커니즘을 채택하는 것이 더 효과적인지를 이해할 수 있도록 돕는다.

 

 

 

출처 : https://www.linkedin.com/pulse/what-difference-between-ipsec-ssl-nawwar-mohammad-amqne

 

 

 

 

📅 관련 글

2023.01.13 - [CS 지식] - [CS 지식1.] 웹 브라우저의 동작원리

2023.02.23 - [CS 지식] - [CS 지식2.] DNS의 동작원리(Domain Name System)

2023.03.06 - [CS 지식] - [CS 지식3.] HTTP / HTTPS 란?

2023.03.07 - [CS 지식] - [CS 지식4.] OSI 7계층 & TCP/IP 4계층이란?

2023.03.17 - [CS 지식] - [CS 지식5.] 가상화란?

2023.05.24 - [CS 지식] - [CS 지식6.] HTTP 메서드(Method)란? / HTTP Status Code

2023.12.05 - [CS 지식] - [CS 지식7.] Kubernetes 구성요소와 Pod 생성 방식이란?

2023.12.19 - [CS 지식] - [CS 지식8.] 프로세스(Process)와 스레드(Thread)란?

2023.12.30 - [CS 지식] - [CS 지식9.] 클라우드 컴퓨팅이란?(Public & Private Cloud / IaaS SaaS PaaS / Multitenancy)

2024.01.05 - [CS 지식] - [CS 지식10.] 웹1.0(Web1.0) vs 웹2.0(Web2.0) vs 웹3.0(Web3.0)

2024.02.02 - [CS 지식] - [CS 지식11.] NAT(Network Address Translation)란?

2024.05.22 - [CS 지식] - [CS 지식13.] 동기 및 비동기 처리란?

2024.05.23 - [CS 지식] - [CS 지식14.] 3tier 아키텍처란?

2024.08.28 - [CS 지식] - [CS 지식15.] SSR vs CSR vs ISR vs SSG

2024.11.09 - [CS 지식] - [CS 지식16.] stdin(표준입력) vs stdout(표준출력) vs stderr(표준에러)

2024.11.11 - [CS 지식] - [CS 지식17.] IPsec vs SSL/TLS

2024.11.22 - [CS 지식] - [CS 지식18.] Quantum Computing(양자 컴퓨팅)

 

 

 

 


 

 

 

IPsec vs SSL/TLS

IPsec(인터넷 프로토콜 보안) 및 SSL(보안 소켓 레이어) 은 모두 네트워크 트래픽을 보호하는 데 사용되는 프로토콜이다. 이는 인터넷을 통해 데이터 무결성, 기밀성 및 신뢰성을 제공하지만 네트워크 스택의 다양한 계층에서 작동한다.

 

 

IPsec 이란?

IPsec은 통신 세션의 각 IP 패킷을 인증하고 암호화하여 인터넷 프로토콜(IP) 통신을 보호하기 위한 프로토콜 모음이다. IPsec에는 세션 시작 시 에이전트 간 상호 인증을 설정하고 세션 중에 사용할 암호화 키를 협상하기 위한 프로토콜이 포함되어 있다.

  • 네트워크 계층 보안(Network Layer Security): IPsec은 IP 계층에서 작동하므로 이를 통과하는 모든 트래픽을 보호할 수 있으므로 VPN에 적합하다.
  • 암호화 및 인증(Encryption and Authentication): 두 가지 작동 모드를 제공합니다. 전송 모드(encrypts the payload only) 및 터널 모드(encrypts the entire IP packet).
  • 다양한 애플리케이션(Versatile in Application): 인터넷과 같이 신뢰할 수 없는 네트워크에서 보안 네트워크(VPN)를 만드는 데 사용할 수 있다.

 

 

 

SSL/TLS

SSL(and its successor, TLS - Transport Layer Security)은 네트워크로 연결된 컴퓨터 간의 연결을 보호하기 위한 프로토콜이다. 원래는 HTTP 트래픽용으로 설계되었지만 인터넷을 통한 다양한 유형의 통신을 보호하는 데 사용된다.

  • 세션 계층 보안(Session Layer Security): SSL은 세션 계층에서 작동하지만 SSL을 활용하도록 설계된 특정 애플리케이션을 보호한다.
  • 암호화, 인증 및 무결성(Encryption, Authentication, and Integrity): SSL은 데이터가 인터넷을 통해 전송되기 전에 암호화 알고리즘을 사용하여 데이터를 암호화하고 인증을 위해 인증서를 사용한다.
  • 보안 웹 브라우징에 널리 사용됨(Widely Used for Secure Web Browsing): 일반적으로 신용 카드 거래, 데이터 전송 및 웹 사이트 로그인을 보호하는 데 사용된다.

 

 

 

IPsec과 SSL의 차이점

  • 운영 계층(Layer of Operation)IPsec은 네트워크 계층에서 작동하여 통과하는 모든 트래픽을 보호한다. SSL은 세션 계층에서 작동하여 사용자와 애플리케이션 간의 특정 세션을 보호한다.
  • 인증서 관리(Management of Certificates): SSL은 일반적으로 신뢰할 수 있는 인증 기관의 계층 구조를 사용하여 엔드포인트의 ID를 인증한다. IPsec은 인증서를 사용할 수도 있지만 사전 공유 키나 다른 형태의 네트워크 수준 인증을 통해 관리되는 경우가 많다.
  • 유연성 및 설정(Flexibility and Setup): SSL은 일반적으로 애플리케이션별로 설정하고 관리하기가 더 쉬운 것으로 간주된다. 네트워크 아키텍처에 통합되는 IPsec은 더 많은 설정이 필요하고 보안 애플리케이션이 덜 세분화되어 있지만 더 넓은 적용 범위를 제공한다.
  • 사용 시나리오(Usage Scenarios): IPsec은 전체 네트워크 트래픽의 보안이 필요한 VPN에 선호된다. SSL은 특히 HTTP(HTTPS)를 통한 웹 사이트 보안과 같은 특정 애플리케이션에 선호된다.

 

Feature IPsec SSL/TLS
Layer Network (IP layer) Session (Application)
Security Encrypts entire packet Encrypts session data
Usage VPNs, site-to-site Web browsers, specific applications
Authentication Certificates, pre-shared keys Certificates, often from a CA
Configuration Complex, network-level Simpler, application-specific
Encryption Modes Transport and Tunnel Secure channel per session

 

 

 

 

IPsec VPN vs SSL/TLS VPN

특성 IPsec VPN SSL/TLS VPN
정의 모든 IP 패킷을 암호화하고 인증하여 인터넷 프로토콜 통신을 보호하는 프로토콜 제품군(TCP/UDP 지원) 연결을 암호화하고 보호하는 프로토콜, 데이터 부분만 암호화(TCP 지원 O UDP 지원X)
암호화 네트워크 레이어에서 작동하며 IP 레벨에서 모든 트래픽을 암호화하며 전체 네트워크 암호화에 이상적 세션 레이어에서 작동하며 애플리케이션능레벨에서 암호화하여 특정 애플리케이션 또는 서비스를 보안 유지
프로토콜 IP TCP
계층 OSI 모델의 네트워크 레이어에서 작동(3 Layer) OSI 모델의 세션 레이어에서 작동(6 Layer)
사용 편의성 설정 및 관리가 더 복잡함. 네트워크 레벨에서 작동하고 더 포괄적인 구성이 필요함 표준 보안 웹 브라우징을 위해 브라우저를 통해 쉽게 사용 및 구현 가능
인증 인증서, 사전 공유 키 또는 더 상세한 구성이 필요할 수 있는 다른 인증 방법을 사용할 수 있음 신뢰할 수 있는 인증 기관에서 관리하는 인증서와 키를 주로 사용
배포 전체 네트워크 액세스, 사이트 간 VPN 또는트보안 액세스가 필요한 전체 서브넷에 가장 적합 인터넷을 통한 개별 애플리케이션 또는 서비스에 대한 원격 액세스에 이상적
유연성 클라이언트 설정에 대한 유연성이 떨어지지만 강력한 보안 기능을 제공 웹 기반 액세스에 더 유연하며 웹 SSL VPN을 사용하여 클라이언트 소프트웨어 설치 없이 사용 가능
일반적인 사용 사례 전체 데이터를 네트워크를 통해 전송할 때 보안 사이트 간 연결, 주로 기업 환경에서 사용 웹 애플리케이션, SaaS 제품 및 기타 웹 기반 리소스에 대한 보안 연결에 사용
보안 복잡성의 대가로 강력한 보안을 제공하며 네트워크를 통해 전송되는 모든 데이터를 커버 적당한 보안을 제공하며 특히 임시 액한스에 대해 인터넷 연결에서 쉽게 설정 및 관리 가능
특징 2개의 서버 장비 필요, 소프트웨어 설치가 필요, 다양한 어플리케이션과 호환 사설망에 직접 연결된 것처럼 사용가능 1개의 서버 장비 필요, 웹 브라우저만으로 사용, SSL 포탈을 통해서 연결됨

 

 

 

 

 

 


 

 

 

IPsec과 SSL/TLS, 더 깊이 들어가보고 싶다면?

 

 

 

OSI 7계층 기준 위치 비교

보안 프로토콜이 OSI 모델의 어느 계층에서 작동하는지 이해하는 것은 매우 중요하다.

 

프로토콜 위치 설명
IPsec 3계층 (Network Layer) IP 패킷 전체를 보호합니다. IP 계층에서 동작하므로 응용 프로그램과 무관하게 모든 트래픽에 보안 적용이 가능합니다.
SSL/TLS 5~6계층 (Session/Presentation Layer) 일반적으로 애플리케이션 계층 위에서 작동하며, HTTPS나 SMTP over TLS 등 특정 프로토콜과 결합되어 보안을 제공합니다.

핵심 차이: IPsec은 하위 계층에서 전면적인 보호, SSL/TLS는 상위 계층에서 세션 단위 보호이다.

 

 

 

 

 

TLS Handshake 과정 정리

TLS는 클라이언트와 서버 간의 보안 연결을 수립하기 위해 핸드셰이크(Handshake) 절차를 거친다.

 

 

TLS 1.2 기준 핸드셰이크 흐름

  1. ClientHello: 클라이언트가 지원하는 암호 스위트, TLS 버전, 랜덤 값 등 전송
  2. ServerHello: 서버가 암호 스위트 선택, 인증서(Certificate) 전송
  3. Key Exchange: 클라이언트가 premaster secret 전송
  4. Finished: 양측이 대칭키 생성 후 "Finished" 메시지 교환

 

 

TLS 1.3은?

  • 핸드셰이크 단계를 단순화하며 속도와 보안성을 개선
  • 불필요한 RSA 기반 key exchange 제거 → forward secrecy 보장

 

 

 

 

 

IKE (Internet Key Exchange)

IPsec에서 가장 핵심적인 프로토콜 중 하나가 IKE이다.

  • IKE는 SA(Security Association) 를 설정하기 위한 협상 프로토콜
  • 암호화 키 생성, 교환, 인증 등을 처리
  • IKEv2는 현재 가장 보편적으로 사용되는 버전

 

IKEv2의 특징

  • DDoS에 강한 DoS 방지 기능
  • NAT Traversal 지원
  • 상태 유지(Session Resumption) 효율적

 

 

 

 

실무 VPN 구성 예시

항목 SSL 기반 (OpenVPN) IPsec 기반 (strongSwan)
사용 목적 HTTPS 기반 터널링, 간단한 원격 접속 사이트 간 또는 사설망 통신용
설정 용이성 비교적 쉬움 복잡한 구성 필요
예시 config client.conf, server.conf (OpenVPN) ipsec.conf, ipsec.secrets (strongSwan)

OpenVPN은 SSL/TLS 기반으로 사용이 간편, IPsec은 기업 네트워크 보안에 적합한 강력한 구조

 

 

 

 

 

인증서 기반 vs 사전 공유 키 (PSK)

항목 SSL/TLS IPsec
기본 인증 방식 CA 기반 공개 인증서 사용 PSK 또는 인증서 기반 모두 지원
설정 복잡도 비교적 단순 PSK는 간단하지만 보안 취약점 존재, 인증서는 더 안전하나 복잡함
실무 활용 HTTPS 웹 인증서, Let's Encrypt 등 내부망 IPsec VPN에서 PSK가 자주 사용됨

 

 

 

 

공격 벡터 비교

공격 방식 SSL/TLS IPsec
중간자 공격(MITM) 인증서 위조/신뢰 체계 파괴 시 가능 상대적으로 적지만 가능성 존재
인증서 위조 루트 인증서가 공격당하면 전파됨 사설 인증서나 PSK가 뚫리면 위험
키 협상 취약성 TLS 1.0/1.2의 취약한 cipher 사용 시 IKE 초기 handshake 취약점이 종종 공격 벡터가 됨
패킷 리플레이 TLS는 세션 단위라 비교적 안전 IPsec은 별도 anti-replay 메커니즘 필요

설계할 때 위협 모델을 분명히 하고, 최신 버전(TLS 1.3, IKEv2) 사용을 권장한다.

 

 

 

 

실전 VPN 설정 예제: strongSwan vs OpenVPN

 

 

1. IPsec VPN – strongSwan 설정 예제

구성: Ubuntu 서버 간 사이트-투-사이트 VPN (PSK 기반)

 

 

`/etc/ipsec.conf`

config setup
  charondebug="ike 2, knl 2, cfg 2"

conn myvpn
  left=10.0.0.1           # 이 장비의 내부 IP
  leftid=@left.example.com
  leftsubnet=10.0.0.0/24
  right=20.0.0.1          # 상대방 IP
  rightid=@right.example.com
  rightsubnet=20.0.0.0/24
  ike=aes256-sha1-modp1024!
  esp=aes256-sha1!
  keyexchange=ikev2
  authby=psk
  auto=start

 

 

 

`/etc/ipsec.secrets`

@left.example.com @right.example.com : PSK "mySuperSecretKey"

 

 

 

 

실행 명령어

sudo systemctl restart strongswan
sudo ipsec status

 

 

 

 

 

2. SSL VPN – OpenVPN 설정 예제

구성: 개인/원격 접속을 위한 TLS 기반 OpenVPN 서버

 

 

`/etc/openvpn/server.conf`

port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh.pem

server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"

keepalive 10 120
persist-key
persist-tun
cipher AES-256-CBC
user nobody
group nogroup
status openvpn-status.log
verb 3

 

 

 

클라이언트 구성 예 (`client.ovpn`)

client
dev tun
proto udp
remote myvpn.example.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun

ca ca.crt
cert client.crt
key client.key
cipher AES-256-CBC
verb 3

 

 

 

비교 요약

항목 strongSwan (IPsec) OpenVPN (SSL)
계층 Network Layer Session Layer
포트 UDP 500/4500 UDP 1194
인증 방식 PSK 또는 인증서 일반적으로 CA 기반 인증서
유연성 사이트 간 연결에 적합 원격 접속 및 BYOD 환경에 유리
복잡도 높은 구성 필요 상대적으로 단순한 설정

 

 

  • 간단한 원격 접속엔 OpenVPN이 편리하고,
  • 기업 내부 네트워크 간 보안 연결에는 strongSwan(IPsec)이 더 안전하고 탄탄하다.

 

 

 

 

 


 

 

 

 

 

마무리

 

IPsec과 SSL/TLS는 인터넷 환경에서 데이터를 안전하게 전송하기 위한 두 축이다.

  • IPsec네트워크 전반을 보호하는 데 강점을 가지며, 기업 간 VPN, 사설망 연결 등에 적합하다.
  • SSL/TLS특정 애플리케이션 수준의 보안에 유리하며, HTTPS, 웹 애플리케이션 보호, 원격 액세스 등에 널리 쓰인다.

 

두 방식은 보안 강도인증 체계 면에서 각기 다른 특성과 장단점을 가지므로, 시스템의 목적과 환경에 따라 적절히 선택하는 것이 중요하다.

 

특히 클라우드 시대의 도래로 SSL VPN과 같이 웹 브라우저만으로 접근 가능한 구조가 널리 사용되면서, 운영자 입장에서는 보안성과 유연성의 균형을 고려한 설계가 요구된다.

 

 

✔️ 보안의 기본은 적절한 암호화 기술 선택이며, IPsec과 SSL/TLS는 그 중심에 있는 핵심 기술이다.

 

 

 

 

 

 

 


Reference

 

 

 

728x90
반응형