확장 가능 인증 프로토콜

확장 가능 인증 프로토콜(Extensible Authentication Protocol, EAP)은 네트워크와 인터넷 연결에 사용되는 인증 프레임워크이다. RFC 3748(구 RFC 2284)에 정의되어 있으며 RFC 5247에 의해 업데이트된다. EAP는 EAP 방식들에 의해 생성되는 자료와 파라미터의 전송 및 이용을 제공하기 위한 인증 프레임워크이다. RFC가 정의한 방식들, 벤더에 특화된 방식들, 새로운 제안들이 다수 존재한다. EAP는 유선 프로토콜이 아니며 인터페이스와 포맷의 정보를 정의하기만 한다. EAP를 사용하는 각 프로토콜은 프로토콜 메시지 내의 사용자 EAP 메시지로 캡슐화하는 방법을 정의한다. EAP는 현재 널리 사용되고 있다. 이를테면 IEEE 802.11(와이파이)에서 WPA와 WPA2 표준은 인증 매커니즘으로 IEEE 802.1X(다양한 EAP 타입과 함께)를 채택하고 있다. EAP는 인증 프레임워크이며 특정한 인증 매커니즘은 아니다. EAP 방식으로 불리는 인증 방식의 공통 기능과 협상(negotiation)을 일부 제공한다. 현재 대략 40개의 각기 다른 방식들이 존재한다. IETF RFC에 정의된 방식에는 EAP-MD5, EAP-POTP, EAP-GTC, EAP-TLS, EAP-IKEv2, EAP-SIM, EAP-AKA, EAP-AKA 등이 있다. 추가적으로 수많은 벤더 특화 방식들과 새로운 제안들이 존재한다. 무선망에 운용이 가능한 공통적으로 쓰이는 현대의 방식들에는 EAP-TLS, EAP-SIM, EAP-AKA, LEAP, EAP-TTLS가 포함된다. 무선 LAN 인증에 사용되는 EAP 방식의 요구사항은 RFC 4017 내에 기술되어 있다. EAP에 쓰이는 유형 및 패킷 코드 목록은 IANA EAP 레지스트리를 통해 확인이 가능하다. EAP-NOOB(Nimble out-of-band authentication for EAP)은 미리 구성된 인증 자격 정보가 없고 서버에 아직 등록되지 않은 장치를 위한 제네릭 부트스트래핑 솔루션이다. EAP-TLS는 RFC 5216 에 정의돼있는 IETF 공개 표준이며 TLS 프로토콜을 사용하며 무선 벤더들 사이에서 널리 지원된다. EAP-TLS는 아직까지 가능한 EAP 표준중 가장 안전한 것으로 여겨지며 모든 무선랜 하드웨어 및 소프트웨어 제조사들로부터 보편적으로 지원된다. EAP-MD5는 EAP를 위한 초기 RFC(RFC 2284)에서 처음 정의되었을 때 유일한 IETF Standard Track EAP 방법이었다. EAP-MD5는 최소한의 보안을 제공한다. MD5 해시 기능은 사전 공격에 취약하며 키 생성을 지원하지 않아서 동적 WEP 또는 WPA / WPA2 엔터프라이즈와 함께 사용하기에 적합하지 않는다. EAP-MD5는 EAP 단말과 EAP 서버 간의 인증은 제공하지만, 상호 인증은 제공하지 않는다는 점에서 다른 EAP 방법과 차이가 있다. EAP 서버 인증을 제공하지 않기 때문에, 해당 EAP 방법은 중간자 공격 (man-in-the-middle attacks)에 취약하다. EAP-MD5 지원은 Windows 2000에서 처음 포함되었으며, Windows Vista에서는 지원되지 않는다. EAP-POTP(EAP Protected One-Time Password)는 RFC 4793 내에 정의되어 있으며 인증키 생성을 위해 휴대용 기기, 또는 휴대용 컴퓨터에서 구동되는 하드웨어 및 소프트웨어 모듈 등에서 일회성 비밀번호(OTP) 토큰을 사용하는 EAP 방식이다. RSA 연구소가 개발하였다. EAP-PSK(EAP Pre-shared key)는 RFC 4764 내에 정의되어 있으며 사전 공유키(PSK)를 사용하여 상호 인증 및 세션 키를 가져오는 EAP 방식이다. EAP Password (EAP-PWD)는 RFC 5931 내에 정의되어 있으며 인증을 위한 공유 비밀번호를 사용하는 EAP 방식이다. EAP Tunneled Transport Layer Security (EAP-TTLS)는 TLS를 확장하는 EAP 프로토콜이다. EAP Internet Key Exchange v. 2 (EAP-IKEv2)는 인터넷 키 교환 프로토콜 버전 2(IKEv2)에 기반을 둔 EAP 방식이다. Flexible Authentication via Secure Tunneling(EAP-FAST; RFC 4851)은 LEAP을 대체하기 위한 시스코 시스템즈의 프로토콜 제안이다. Tunnel Extensible Authentication Protocol (TEAP; RFC 7170)은 상호 인증 터널을 구축하기 위해 TLS 프로토콜을 사용하여 피어와 서버 간 안전한 통신을 가능케 하는 터널 기반 EAP 방식이다. EAP-SIM은 GSM의 SIM을 이용하여 인증 및 세션 키 배포를 위해 사용된다. UMTS 인증 및 키 합의를 위한 EAP-AKA(Extensible Authentication Protocol Method, EAP-AKA)는 USIM를 이용한 인증 및 세션 키 배포를 위한 EAP 매커니즘이다. EAP-AKA는 RFC 4187 내에 정의되어 있다. EAP-AKA의 변종인 EAP-AKA'는 RFC 5448 내에 정의되어 있으며 3GPP 코어 네트워크에 대해 3GPP가 아닌 접근을 위해 사용된다. 이를테면 EVDO, 와이파이, 와이맥스를 통해 접근하는 것이다. EAP Generic Token Card 또는 EAP-GTC는 PEAPv0/EAP-MSCHAPv2의 대안으로서 시스코가 개발한 EAP 방식으로, RFC 2284 및 RFC 3748 내에 정의되어 있다. 암호화 키 교환 기능이 포함된 EAP인 EAP-EKE는 짧은 비밀번호를 사용하고 공인인증서가 불필요한, 안전한 상호 인증을 제공하는 몇 안 되는 EAP 방식들 가운데 하나이다. EAP는 유선 프로토콜이 아니다. 대신 EAP는 메시지 형식만을 정의한다. EAP를 사용하는 각 프로토콜은 해당 프로토콜 메시지 내에 EAP 메시지를 캡슐화하는 방법을 정의한다. EAP는 원래 점대점 프로토콜(PPP)의 인증 확장이었다. EAP가 챌린지-핸드셰이크 인증 규약(CHAP)과 비밀번호 인증 프로토콜(PAP)의 대안으로 생성된 이후(CHAP와 PAP는 최종적으로 EAP에 통합됨) PPP는 EAP를 지원하기 시작했다. PPP의 EAP 확장은 RFC 2284(구 RFC 3748)에 처음 정의되었다. 인증 프로토콜 ITU-T X.1035 "AAA and Network Security for Mobile Access. RADIUS, DIAMETER, EAP, PKI and IP mobility". M Nakhjiri. John Wiley and Sons, Ltd. RFC 3748, § 1 “Ultimate wireless security guide: A primer on Cisco EAP-FAST authentication”. techrepublic.com. 2008년 2월 17일에 확인함.  RFC 3748: EAP (2004년 6월) RFC 5247: EAP 키 관리 프레임워크 (2008년 8월)