PAP
더 많은 작업
PAP(Password Authentication Protocol)는 PPP 링크를 맺을 때 접속하는 쪽이 아이디와 비밀번호를 평문으로 보내 인증받는 가장 단순한 PPP 인증 프로토콜이다.
PPP 는 링크를 맺는 과정에서 어떤 인증 프로토콜을 쓸지 협상한다. PAP 를 고르면 링크 수립 단계가 끝난 뒤 접속하는 쪽(peer)이 아이디·비밀번호 쌍을 인증하는 쪽(authenticator)에 되풀이해 보내고, 인증하는 쪽은 수락하거나 거부한다. RFC 1334 는 PAP 가 강한 인증 방식이 아니라고 스스로 밝힌다. 비밀번호가 회선 위로 평문으로 지나가고, 재전송이나 반복적인 대입 시도를 막는 장치가 없으며, 시도 횟수와 시점을 접속하는 쪽이 정한다. 그래서 더 강한 방식(CHAP 등)을 갖춘 구현은 그것을 PAP 보다 먼저 협상하라고 요구한다.[1]
CHAP(Challenge-Handshake Authentication Protocol)은 비밀번호를 보내지 않는다. 인증하는 쪽이 임의의 도전값(challenge)을 보내면 접속하는 쪽이 그 값과 공유 비밀을 일방향 해시 함수에 넣어 계산한 응답을 돌려주고, 인증하는 쪽은 자기가 계산한 값과 비교한다. 링크가 맺어진 뒤에도 수시로 새 도전값을 보내 다시 확인한다.[2]
| 구분 | PAP | CHAP |
|---|---|---|
| 보내는 것 | 아이디와 비밀번호(평문) | 도전값에 대한 해시 응답 |
| 핸드셰이크 | 2단계(요청, 수락·거부) | 3단계(도전, 응답, 성공·실패) |
| 재전송 공격 | 막지 못한다 | 매번 다른 도전값을 써서 막는다 |
| 재인증 | 링크 수립 때 한 번 | 링크 중에도 수시로 |
- 오늘날 원격 접속·VPN 에서는 둘 다 단독으로 쓰지 않고 EAP 계열이나 터널 암호화와 함께 쓴다
PAP 는 사용자를 확인하는 인증 프로토콜일 뿐, 데이터를 암호화하지 않는다. 따라서 터널링 프로토콜의 기밀성을 맡는 프로토콜로 짝지을 수 없다.
| 터널링 프로토콜 | 기밀성·무결성을 맡는 프로토콜 |
|---|---|
| L2TP | 자체 암호화가 없어 IPSec 와 함께 쓴다(L2TP/IPsec, RFC 3193)[3] |
| SSTP | PPP 프레임을 HTTPS, 즉 SSL/TLS 연결에 실어 보낸다[4] |
| PPTP | PPP 의 MPPE 암호화에 기대며 지금은 취약하다고 본다 |
- SSH 는 원격 접속과 포트 포워딩에 쓰는 별개의 보안 프로토콜이고, L2TP·SSTP 의 기본 보안 계층이 아니다
- ↑ 「RFC 1334: PPP Authentication Protocols」, IETF, https://www.rfc-editor.org/rfc/rfc1334, 확인일: 2026-11-04.
- ↑ 「RFC 1994: PPP Challenge Handshake Authentication Protocol (CHAP)」, IETF, https://www.rfc-editor.org/rfc/rfc1994, 확인일: 2026-11-04.
- ↑ 「RFC 3193: Securing L2TP using IPsec」, IETF, https://www.rfc-editor.org/rfc/rfc3193, 확인일: 2026-11-04.
- ↑ 「[MS-SSTP]: Secure Socket Tunneling Protocol (SSTP)」, Microsoft Learn, https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-sstp/c50ed240-56f3-4309-8e0c-1644898f0ea8, 확인일: 2026-11-04.