VPN
VPN 개념
인터넷과 같은 공중 네트워크를 마치 전용회선처럼 사용할 수 있게 해주는 기술 혹은 네트워크를 통칭
공중망을 경유하여 데이터가 전송되더라도 외부인으로부터 안전하게 보호되도록 주소 및 라우터 체계의 비공개, 데이터 암호화, 사용자 인증 및 사용제 액세스 권한 제한 등의 기능 제공
TCP/IP기반의 개방형 네트워크인 인터넷에서 한 네트워크에서 다른 네트워크로 이동하는 모든 데이터 정보를 암호화하여 사설망 기능을 제공하기 위해 도입한 기술
VPN 기능
- 데이터 기밀성 : 데이터를 암호화하여 전송
- 데이터 무결성 : 암호화 및 전자서명 이용
- 데이터 근원 인증 : 해당 송신자에 의해 전송된 것임을 확인할 수 있는 서비스 제공
- 접근 통제 : 인증된 사용자에게만 접근을 허용하는 기능
VPN 구현 기술
- 터널링 : 캡슐화 기법, IP패킷이 공중망을 통과할 때 사용자 간에 터널이 뚫린 것처럼 통로를 마련하여 안전하게 데이터 전송
- 암호화 및 인증 : 대칭키 암호(RC5, SEED, AES)사용, 키는 공개키 암호(RSA, ElGamal)로 공유, 메시지 인증, 사용자 인증
- 접근제어 : 암호화하지 않은 IP 패킷 정보에서만 필터링 수행이 가능하므로 암호화된 패킷에는 적용 불가능
VPN 분류
- Intranet VPN : 기업 내부를 LAN을 통해 연결하는 데 사용, 넓게는 지사까지 연결
- Extranet VPN : 자사와 고객, 협력업체를 모두 VPN으로 구성
- Remote Access VPN : 재택근무자나 원격접속자는 무선 및 전화접속을 이용하여 ISP의 NAS에 접속
VPN 구성
VPN 터널링
가상회선을 생성하고 유지할 목적으로 상이한 프로토콜의 패킷 안에 패킷을 캡슐화하는 기능
터널링 지원 프로토콜 : PPTP, L2TP, L2F, MPLS, IPSec, SSL 등
구분 | 2계층 | 3계층 | MPLS | |
프로토콜 | L2TP, PPTP | IPSec, GRE | MPLS | |
구현 형태 | 클라이언트-서버 | 호스트-호스트 | 호스트-호스트 | |
캡슐화 대상 | IP, IPX, 애플토크 등 | IP | IP | |
보안 | 인증 | 비표준, 자체지원 | IPSec | 비표준, 자체지원 |
암호화 | 비표준, 자체지원 | IPSec | 비표준, 자체지원 | |
특징 | PPP 기술 활용 | 다중 서비스 지원 | QoS 제공 기능 | |
2,3계층 모두 지원 |
2계층 터널링 프로토콜
PPTP(Point-to-Point Tunneling Protocol)
- 서버가 MS사의 윈도우나 NT 여야 함
- MS에서 개발한 IP, IPX, NetBEUI 페이로드를 암호화하고, IP헤더로 캡슐화하여 전송
L2F(Layer 2 Forwarding Protocol)
- 시스코사에서 제안된 프로토콜
- NAS 개시 VPN형이기 때문에 사용자는 별도의 SW가 필요 없음
L2TP(Layer 2 Tunneling Protocol)
- PPTP와 L2F를 결합한 방법
- MS와 시스코에서 지원하고 있으며 호환성이 뛰어남
3계층 터널링 프로토콜 - IPSec
IP망에서 안전하게 정보를 전송하는 표준화된 3계층 터널링 프로토콜
AH와 ESP를 통해 인증, 무결성, 기밀성을 제공
AH : 데이터와 순서번호 보유, 송신자를 확인하고 메시지가 송신되는 동안 수정되지 않았음을 보장하는 헤더로 암호화 기능 없음
ESP : IP 페이로드를 암호화하여 데이터 기밀성을 제공하므로 3자의 악의에 의해 데이터가 노출되는 것을 차단
- 전송모드 : IP 페이로드를 암호화하여 IP헤더로 캡슐화
- 터널모드 : IP 패킷을 모두 암호화하여 전송
SSL(Secure Sockets Layer) VPN
IPSec VPN에 비해 설치 및 관리가 편리하고 비용 절감도 가능, IPSec이 더 빠름
클라이언트와 서버 사이의 안전한 통신 채널 관리를 담당
데이터를 암호화와 인증을 통해 송수신 경로의 안전성 보장
PKI의 공개키/개인키를 이용한 웹사이트 통신 보안 가능
구분 | IPSec VPN | SSL VPN |
접근 제어 | 애플리케이션 차원의 정교한 접근제어 미흡 | 애플리케이션 차원의 정교한 접근 제어 가능 |
적용 계층 | TCP/IP의 3계층 | TCP/IP의 5계층(전송~응용) |
지원성 | 별도의 소프트웨어 설치 필요 | 웹 브라우저 자체 지원 |
암호화 | DES/3DES/AES/RC4, MD5/SHA-1(패킷 단위) | DES/3DES/AES/RC4, MD5,SHA-1(메시지 단위) |
적합성 | Site to Site, LAN to LAN | Site to Remote |
장점 | 종단간 보안 기능 종단 부하 없음 |
접속과 관리의 편리성 Client Server 상호 인증 |
SOCKS v5
세션계층의 프락시에서 동작하므로 IPSec 보다 우수한 액세스 제어 규칙 적용과 인증 기능을 제공함
프락시 서비스는 방화벽 호스트에서 동작하는 특별한 애플리케이션 또는 서버 프로그램, 여기에 사용되는 프로토콜
다양한 인증 방법과 UDP 프락시를 지원
인증
데이터 인증
- 인증 프로토콜 사용하여 패킷 인증
- 무결성 만족
- MD5, SHA-1 등 해시알고리즘 사용
사용자 인증
Peer-Peer 방식
- PAP : PPP 연결 시 사용되는 인증 프로토콜, 두 단계 핸드셰이킹으로 구성
- CHAP : PAP의 보안을 위해 보안요소를 강화시킨 프로토콜, 3 단계 핸드셰이킹과 해시
- PKI 프로토콜, IPsec으로 원격 접속, 보안 매우 뛰어남, 구축 복잡, 다양한 서비스 연계
📍점대점 프로토콜(영어: Point-to-Point Protocol, PPP)
네트워크 분야에서 두 통신 노드 간의 직접적인 연결을 위해 일반적으로 사용되는 데이터 링크 프로토콜
클라이언트-서버 방식
- RADIUS : 다이얼 업 모뎀에 접속하는 사용자 인증, 권한 부여를 위해 중앙서버와 통신할 경우 사용
- TACACS : 인증서버에서 DB 형태로 관리하며 클라이언트로부터의 인증 요청을 처리, TACACS+에서는 MD를 추가하여 보안 강화
- TACACS, RADIUS 프로토콜, L2TP로 원격 접속
📍RADIUS
분산 보안 시스템(인증 프로토콜)
통상적으로 ISP에서 사용하는 전화 등에 의한 원격 접속에 대한 인증용 서버 지칭
분산형 클라이언트/서버 기반의 동작으로 사용자 관리는 중앙집중식으로 수행
인증방법은 PAP, CHAP 등 다양한 방법을 지원
MPLS VPN
L2헤더와 L3 사이에 존재하는 4byte의 레이블을 이용하여 목적지 네트워크로 스위칭함
레이블을 기반으로 경로가 결정되기 때문에 속도가 빠르고 대규모 VPN연결에 효율적
레이블 부여는 LER(Label Edge Router)에서만 수행
QoS, VoIP, TE(Traffic Engineering) 기능을 제공
IPsec
네트워크 계층(3계층) 보호를 위해 널리 사용되고 있는 표준
강력한 암호화와 인증 방식을 가지며, 두 컴퓨터 사이의 터널화된 통신을 가능토록 함
인증, 기밀성, 키 관리 등의 보안설정들을 협상하여 SA를 생성하기 위한 IKE와 인증 및 무결성을 제공해주는 AH, 그리고 실제 데이터의 암호화를 제공해주는 ESP 프로토콜로 구성됨
두 호스트 사이의 end to end 통신에 전송 모드를 이용
보안서비스 : 접근제어, 비연결 무결성, 데이터 발신처 인증, 재전송 패킷의 거부, 기밀성, 제한된 트래픽 흐름의 기밀성
IPSec 프로토콜의 인증헤더(AH), 보안 페이로드 캡슐화(ESP)
AH(Authentication Header, 인증 헤더) 프로토콜
메시지 인증을 제공하는 확장 헤더
발신지 인증과 데이터 무결성 제공
메시지 인증이 ESP에 의해서도 제공되기 때문에 AH 사용은 권고되지 않음
- AH 헤더는 IP헤더와 IP페이로드 사이에 삽입
- 보안함수값 SPI : 보안 연계 식별자를 의미, 목적지 IP 주소와 AH 프로토콜과 함께 사용, 보안연계를 정의하는 32비트 값
- 순서 번호 : 32비트로 구성된 카운터 값, 재전송 공격을 방지하기 위해 사용
- 인증 데이터 : 인증용 데이터인 ICV가 저장되며 인증 데이터의 크기는 32비트의 배수로 구성
전송모드
- 호스트와 호스트 간의 메시지의 무결성을 제공하는 방법
- 계층 간 캡슐화 과정을 통하여 상위 계층의 데이터(TCP 및 응용 계층의 데이터)에 대해 인증 데이터를 생성하는 방법
- 메시지의 무결성을 입증하기 위해 단지 IP 데이터그램이 갖고 있는 메시지만으로 MAC 알고리즘을 이용하여 AH 생성
터널모드
- 호스트와 호스트, 호스트와 보안 게이트웨이, 보안 게이트웨이와 보안 게이트웨이 간 전송 경로를 보호하는 방법
- 네트워크 계층의 헤더를 포함한 모든 데이터에 대하여 인증용 데이터를 생성하는 방법
- 라우터인 경우는 반드시 터널 모드를 적용, 터널모드는 호스트-호스트 간에도 적용 가능
📍SSH
TELNET과 같이 TCP를 하부 전송 프로토콜로 사용하나 더 안전하고 TELNET 보다 더 많은 서비스를 제공, 7계층 프로토콜
ESP(Encapsulating Security Payload) 프로토콜
기밀성 : 전달된 메시지가 중도에서 도청이나 해독되지 못하도록 함
재전송 공격 방지 서비스 : 향후에 IP 데이터그램이 재전송 공격으로 사용되는 것을 방지하기 위한 서비스
제한된 트래픽 흐름 기밀성 : 네트워크 상의 트래픽 흐름에 대한 정보를 보호하는 서비스
무결성 : 전달된 메시지가 중도에 변조 혹은 위조되지 않음을 증명
인증 : 전달된 메시지가 발신지로부터 온 메시지임을 증명
- 보안 함수값 SPI : 해당 데이터그램에 적용되는 보안 연계 식별자 의미
- 순서 번호 : 32비트로 구성된 순차적으로 증가하는 카운터 값으로서 재전송 공격을 방지하기 위해 사용
- 페이로드 데이터 : 가변 길이 데이터로서 기밀성을 위해 암호화된 데이터 저장
- 패딩 데이터 : 데이터 암호화 결과와 패딩 길이 및 다음 헤더 필드를 포함할 경우 32비트 단위 경계를 맞추기 위해 패딩
- payload len : 8비트로 구성, 인증 데이터 필드의 개수를 의미
- next header : 8비트로 구성, 다음 확장 헤더에 대한 주소를 의미
- 인증 데이터 : 인증 알고리즘(MAC)을 통하여 생성된 무결성 체크 코드
전송모드
- 호스트와 호스트 간 전송
- 암호화 데이터 및 인증용 데이터를 생성하는 방법
터널모드
- 원래의 IP 데이터그램 전체에 ESP 트레일러 부분을 삽입한 후 이를 암호화
- ESP 헤더 첨부
- 인증 알고리즘을 이용하여 인증 데이터를 생성
- ESP 패킷 생성
보안 연계 SA(Security Association)
한 장비와 다른 장비 사이에 맺은 특정한 종류의 보안 연결을 설명하는 보안 정보 (SAD에 포함)
SA는 단방향 설정이기 때문에 장비 A와 B는 각각 두 개의 SA를 가짐
SPD : IPSec 환경 하에서 보안 정책을 수행하기 위한 데이터 베이스
SAD : 각각의 보안 연계(AH SA, ESP SA, ISKMP SA)와 관련된 매개 변수 값을 저장하는 데이터 베이스
인터넷 키 교환 IKE(Internet Key Exchange)
내부적 및 외부적 보안 연계를 생성하기 위해 설계된 프로토콜
Oakley, SKEME, ISKMP 프로토콜을 사용