Computer >> 컴퓨터 >  >> 네트워킹 >> 네트워크 보안

PPP 트래픽을 터널링하도록 설계된 네트워크 보안 프로토콜은 무엇일까? — PPTP와 PPP 완벽 정리

PPP(Point-to-Point Protocol)란 무엇인가?

PPP(Point-to-Point Protocol, 점대점 프로토콜)는 TCP/IP 체계에 속하는 데이터 링크 계층(2계층) 프로토콜로, 두 노드 사이에 직접 연결을 설정하기 위해 사용됩니다. 전화선이나 직렬 케이블, 광섬유 등 물리적인 회선을 통해 두 시스템을 연결하고, 인터넷이나 전화망을 통해 데이터를 전송하는 표준 방식입니다.

PPP는 단순히 두 피어(peer) 간에 패킷을 교환할 수 있는 링크를 만드는 것뿐만 아니라, 인증(authentication), 암호화(encryption), 그리고 데이터 압축(compression) 기능까지 제공한다는 점에서 큰 장점을 가지고 있습니다.

PPTP: PPP 트래픽을 터널링하도록 설계된 보안 프로토콜

그렇다면 "인증을 위해 PPP에 의존하며, PPP 트래픽을 터널링하도록 설계된" 네트워크 보안 프로토콜은 무엇일까요? 정답은 바로 PPTP(Point-to-Point Tunneling Protocol, 점대점 터널링 프로토콜)입니다.

PPTP는 기존의 PPP 연결을 IP 네트워크 위에서 캡슐화하여 가상 사설망(VPN) 터널을 형성하는 프로토콜입니다. 사용자 인증 과정은 PPP가 담당하며, PPTP 자체는 이 PPP 프레임을 감싸 안전하게 전송하는 역할을 수행합니다. 즉, PPTP는 PPP의 인증 메커니즘(PAP, CHAP, MS-CHAP 등)에 의존하여 보안을 확보합니다.

PPP의 작동 원리

PPP는 2계층(데이터 링크 계층)에서 작동하며, 직렬 케이블, 전화선, 트렁크 회선, 휴대전화, 전용 무선 링크, 광섬유 등 다양한 물리적 매체를 통해 두 라우터 또는 호스트 간의 직접 연결을 설정합니다.

PPP 링크는 전이중(full-duplex) 방식으로 동작하며, 패킷은 순서대로 전달됩니다. 이러한 특성 덕분에 신뢰성 있는 점대점 통신이 가능합니다.

PPP의 세 가지 핵심 구성 요소

PPP 규격은 크게 세 가지 주요 구성 요소로 이루어져 있습니다.

  • 캡슐화(Encapsulation): 데이터그램을 프레임으로 감싸 전송하는 방식을 정의합니다.
  • LCP(Link Control Protocol): 데이터 링크 연결을 설정하고 관리·종료하는 역할을 담당합니다.
  • NCP(Network Control Protocol): 네트워크 계층의 다양한 프로토콜(IP, IPX 등)을 구성하고 협상합니다.

PPP의 인증 프로토콜: PAP와 CHAP

PPP는 인증을 위해 두 가지 대표적인 프로토콜을 사용합니다.

  • PAP(Password Authentication Protocol): 사용자 이름과 비밀번호를 평문으로 전송하는 단순한 인증 방식입니다.
  • CHAP(Challenge-Handshake Authentication Protocol): 3-way 핸드셰이크 방식으로 해시 값을 주고받아 인증하므로 PAP보다 훨씬 안전합니다.

두 프로토콜 모두 로컬 시스템에 접근이 허용된 호출자의 식별 정보나 자격 증명을 비밀 데이터베이스에 저장해 두고, 이를 기반으로 접속자를 검증합니다.

PPP가 바이트 지향(Byte-Oriented) 프로토콜인 이유

PPP에서 플래그(flag)는 하나의 바이트로 표현되며, 프레임의 데이터 영역에 이와 같은 패턴이 나타날 때마다 반드시 이스케이프(escape) 처리해야 합니다. 수신 측은 이 추가된 바이트를 통해 다음 바이트가 실제 플래그가 아님을 인식하고 데이터와 제어 정보를 정확히 구분할 수 있습니다.

PPP와 함께 사용되는 다양한 NCP 프로토콜

PPP는 여러 네트워크 계층 프로토콜과 함께 사용될 수 있으며, 각각에 대응하는 NCP가 존재합니다.

  • IPCP: IP용 NCP, 프로토콜 코드 0x8021 (RFC 1332)
  • OSINLCP: OSI 네트워크 계층 프로토콜용 (RFC 1377)
  • ATCP: AppleTalk용 (RFC 1378, 프로토콜 코드 0x8029)

또한 초기에는 SLIP처럼 모뎀이 전화선을 통해 인터넷에 접속하는 방식으로 활용되었으며, VPN 환경에서는 IP(Internet Protocol), TRILL, IPX(Internetwork Packet Exchange), NBF 등 다양한 프로토콜과 함께 사용되었습니다.

네트워크 보안 프로토콜이란?

보안 프로토콜(security protocol)은 본질적으로 통신 프로토콜의 일종입니다. 참여 당사자들이 공동의 목표를 달성하기 위해 일련의 행동을 수행하기로 약속한 것이며, 암호학적 기법을 활용하여 보안 목표(기밀성, 무결성, 인증 등)를 달성하도록 설계됩니다.

대표적인 예로 SSL(Secure Socket Layer)이 있습니다. SSL은 인터넷 연결의 보안을 보장하고 민감한 정보를 보호하기 위한 프로토콜로, 서버-클라이언트 간 통신뿐 아니라 서버-서버 간 통신도 동시에 지원합니다.

또한 RFC 7296에 정의된 IKE(Internet Key Exchange)는 신뢰할 수 없는 네트워크 상에서 두 시스템 또는 장치 간의 통신을 승인하고, 키 교환을 통해 클라이언트 간 또는 서버 간 보안 터널을 구축하여 암호화된 데이터 전송을 가능하게 합니다.

네트워크에서 사용되는 주요 프로토콜

실시간 데이터 전송을 포함한 네트워크 통신에는 다음과 같은 프로토콜들이 널리 사용됩니다.

  • TCP(Transmission Control Protocol): 신뢰성 있는 연결 지향형 전송
  • IP(Internet Protocol): 패킷의 주소 지정 및 라우팅
  • UDP(User Datagram Protocol): 빠른 비연결형 전송
  • POP(Post Office Protocol): 이메일 수신

마무리: PPP와 PPTP의 관계 정리

정리하면, PPP는 두 노드 간의 직접 연결을 설정하고 인증·암호화·압축을 지원하는 2계층 프로토콜입니다. 그리고 이 PPP 트래픽을 터널링하도록 설계되어 PPP의 인증 기능에 의존하는 네트워크 보안 프로토콜이 바로 PPTP(Point-to-Point Tunneling Protocol)입니다. VPN 기술의 초석이 된 PPTP를 이해하려면 PPP의 구조와 인증 방식(PAP, CHAP)을 함께 알아두는 것이 중요합니다.