The Cable GuyWindows의 EAPHost

Joseph Davies

이 칼럼에는 Windows Server "Longhorn" 시험판에 대한 정보가 수록되어 있으며 이 정보는 변경될 수 있습니다.

보호되는 네트워크에 연결하는 액세스 클라이언트는 협상된 인증 방법을 사용하여 인증 서버의 확인을 받아야 합니다. 예를 들어 액세스 클라이언트와 인증 서버는 MS-CHAP v2(Microsoft Challenge Handshake 인증

프로토콜 버전 2)와 같은 특정 암호 인증 프로토콜을 사용하는 데 동의할 수 있습니다. 하지만 액세스 클라이언트와 인증 서버가 하드코드된 기본 제공 인증 방법을 사용하는 경우 새 프로토콜을 추가하기가 어렵습니다.

EAP(확장할 수 있는 인증 프로토콜)는 전화 접속 및 VPN과 같은 PPP(지점 간 프로토콜) 연결과 IEEE 802.1X 기반 무선 네트워크 등 많이 사용되는 보호되는 네트워크 액세스 기술의 인증 방법에 확장성을 제공하는 아키텍처 프레임워크입니다. EAP는 MS-CHAP v2와 같은 인증 방법이 아니라 네트워크 공급업체가 EAP 방법이라고 하는 새로운 인증 방법을 개발하고 쉽게 설치할 수 있게 하는 액세스 클라이언트 및 인증 서버의 프레임워크입니다. EAP에 대한 자세한 내용은 Microsoft EAP 웹 페이지(microsoft.com/eap)를 참조하십시오.

EAP는 Windows 2000부터 Microsoft® Windows®에서 지원되었으나 Windows XP 및 Windows Server® 2003에 포함된 EAP 아키텍처에는 특정 유형의 링크 계층에 EAP를 사용할 수 있는 소프트웨어 구성 요소인 신청자와 EAP 방법에 대한 확장성의 제한이 있었습니다. 그러나 Windows Vista™와 Windows Server의 차기 버전인 코드명 "Longhorn"에 포함된 EAPHost 아키텍처에서는 이러한 제한이 해결되어 타사 네트워크 공급업체가 새로운 신청자와 EAP 방법에 맞게 Windows를 더욱 쉽게 확장할 수 있습니다.

Windows Server 2003 및 Windows XP의 EAP 지원

Windows Server 2003과 Windows XP에서는 802.1X로 인증하는 유무선 연결과 전화 접속, VPN 기반 원격 액세스, 사이트 간 연결 등의 PPP 기반 연결에 EAP를 사용합니다. 특히 이러한 운영 체제는 RFC 2284를 준수하는 EAP의 구현을 포함하며 IEEE 802.1X 및 PPP 신청자를 포함합니다. 그림 1에서 Windows XP 및 Windows Server 2003의 EAP 및 신청자 아키텍처를 볼 수 있습니다. 하지만 Windows XP 서비스 팩 2(SP2)와 Windows Server 2003 SP1의 EAP 구현에서는 RFC 3748(EAP의 현재 인터넷 표준) 및 기타 EAP RFC를 지원하지 않습니다.

그림 1 Windows XP 및 Windows Server 2003의 EAP 및 신청자 아키텍처

그림 1** Windows XP 및 Windows Server 2003의 EAP 및 신청자 아키텍처 **

EAP API를 사용하면 Windows XP와 Windows Server 2003에서 인증을 확장할 수 있습니다. 타사 공급업체는 새 EAP 방법을 개발하고 설치할 수 있지만 기본 제공 PPP와 802.1X 신청자에서 이렇게 설치된 EAP 방법 중 일부를 사용하지 못할 수도 있습니다. 예를 들어 공급업체가 새로운 지문 인식 EAP 인증 방법을 만들어도 이 방법을 무선 연결에 사용하지 못할 수 있습니다.

기본 제공 신청자에는 이러한 제한이 있기 때문에 일부 타사 소프트웨어 및 하드웨어 공급업체에서는 일반적으로 기본 제공 신청자와 전체 EAP 아키텍처를 바꾸고 해제하는 자체 신청자를 개발합니다. 하지만 이러한 방법은 몇 가지 문제를 수반합니다. 우선 기본 제공 신청자와 EAP 아키텍처를 바꾸게 되면 개발 비용 문제가 생기므로 작업이 지연될 수 있습니다. 또한 기업 고객이 자체 신청자를 개발하지 않으면 라이선스에 대해 사용자 단위로 비용이 부과되고 타사 제품을 설치해야 할 수 있습니다.

EAPHost의 기능

EAPHost는 다음과 같은 새 기능을 제공합니다.

추가 EAP 방법 지원. EAPHost는 www.iana.org/assignments/eap-numbers의 EAP Registry에 나와 있는 모든 EAP 방법과 Cisco Systems, Inc에서 개발하여 공급하는 LEAP(Lightweight EAP) 등의 다른 유명 인증 방법의 설치와 사용을 지원합니다.

네트워크 검색. EAPHost는 RFC 4284의 정의에 따라 네트워크 검색을 지원합니다.

RFC 3748 준수. EAPHost는 EAP 상태 시스템을 준수하며 RFC 3748에 명시된 여러 보안 취약점을 해결합니다. 이전에는 신청자가 자체 상태 시스템을 구현해야 했습니다. 또한 EAPHost는 확장 EAP 유형(공급업체별 EAP 방법 포함)과 같은 기능을 지원합니다.

EAP 방법 공존. EAPHost에서는 동일한 EAP 방법의 여러 구현이 동시에 존재할 수 있습니다. 예를 들어 Microsoft 버전의 PEAP(Protected EAP)와 Cisco Systems, Inc. 버전의 PEAP를 모두 설치하여 선택할 수 있습니다.

모듈식 신청자 아키텍처. EAPHost는 이전 버전에서처럼 전체 EAP 구현을 바꿀 필요 없이 새로운 신청자를 쉽게 추가할 수 있는 모듈식 신청자 아키텍처를 지원합니다.

EAP 방법 공급업체의 경우 EAPHost를 사용하여 Windows XP 및 Windows Server 2003용으로 이미 개발된 EAP 방법을 지원할 수 있으며 Windows Vista 및 Windows Server "Longhorn"용의 새로운 EAP 방법을 더욱 쉽게 개발할 수 있습니다. 또한 EAPHost를 사용하면 EAP 유형을 더욱 정확하게 분류할 수 있으므로 기본 제공 IEEE 802.1X 신청자가 EAP를 사용할 수 있습니다.

신청자 공급업체의 경우 EAPHost를 사용하여 새 링크 계층에 대한 추가 신청자를 제공할 수 있습니다. EAPHost는 NAP(네트워크 액세스 보호)와 통합되어 있으므로 새 신청자에 NAP 인식 기능이 없어도 됩니다. 새 신청자는 연결 식별자를 등록하고 신청자에 다시 인증하도록 알리는 콜백 함수를 등록하기만 하면 NAP에 참가할 수 있습니다. NAP에 대한 자세한 내용은 TechNet Magazine의 이번 호에서 John Morello가 기고한 Security Watch 칼럼과 microsoft.com/nap의 NAP 웹 페이지를 참조하십시오. EAPHost용 신청자나 EAP 방법을 개발하는 방법에 대한 자세한 내용은 msdn2.microsoft.com/aa364249.aspx에서 Extensible Authentication Protocol Host를 참조하십시오.

EAPHost 및 EAP 인프라 아키텍처

EAPHost 아키텍처는 EAPHost의 EAP 인프라 아키텍처, EAP 피어(인증 클라이언트)의 EAPHost 아키텍처 및 인증 서버의 EAPHost 아키텍처로 구성됩니다. 그림 2에서는 Windows Vista 또는 Windows Server "Longhorn" 컴퓨터의 EAPHost에 대한 EAP 인프라 아키텍처의 구성 요소를 보여 줍니다. 이들 운영 체제의 경우 EAP 피어에는 신청자 계층(예: 802.1X용 기본 제공 신청자), EAP 피어를 위한 새로운 EAPHost 아키텍처(신청자와 EAP 방법의 통신과 관리 지원) 및 인증을 수행할 EAP 방법 계층이 있습니다.

그림 2 EAPHost의 EAP 인프라 아키텍처

그림 2** EAPHost의 EAP 인프라 아키텍처 **(더 크게 보려면 이미지를 클릭하십시오.)

Windows Server "Longhorn"용 인증 서버에는 인증 서버를 위한 새로운 EAPHost 아키텍처인 NPS(네트워크 정책 서버)와 EAP 방법 계층이 있습니다. Windows Server 2003에서 인터넷 인증 서비스(IAS)로 알려진 NPS는 RADIUS(Remote Authentication Dial-In User Service) 서버와 프록시 및 NAP용 정책 서버입니다.

EAP 피어의 신청자는 PPP 또는 802.1X와 같은 링크 계층 기술을 사용하여 EAP 피어와 통과 인증자(무선 액세스 지점 또는 원격 액세스 서버와 같은 네트워크 액세스 서버) 간의 링크에서 EAP 메시지를 보내고 받습니다. 통과 인증자와 인증 서버의 NPS는 RADIUS를 사용하여 통과 인증자와 NPS 사이의 IP 기반 네트워크를 통해 EAP 메시지를 보내고 받습니다.

EAP 피어와 인증 서버가 특정 EAP 방법의 사용을 협상한 후 논리적 통신은 EAP 피어의 협상된 EAP 방법과 인증 서버 사이에 전송되는 EAP 메시지로 이루어집니다.

그림 3에서는 Windows Vista 또는 Windows Server "Longhorn"이 실행되는 EAP 피어의 EAPHost 아키텍처를 보여 줍니다. 이 아키텍처는 신청자, EAPHost 구성 요소, EAP 방법 관리 구성 요소 및 NAP 구성 요소로 구성됩니다.

그림 3 EAP 피어의 EAPHost 아키텍처

그림 3** EAP 피어의 EAPHost 아키텍처 **(더 크게 보려면 이미지를 클릭하십시오.)

Windows Vista 및 Windows Server "Longhorn"에는 802.1X 기반 유무선 연결을 위한 802.1X 신청자가 포함되어 있습니다. 전화 접속이나 VPN 기반 원격 액세스 또는 사이트 간 연결을 위한 PPP 신청자는 이 두 운영 체제의 향후 업데이트를 위해 계속 연구 중입니다. 타사에서 개발된 다른 신청자가 추가될 수도 있습니다. EAPHost API를 사용하면 이러한 신청자가 연결에 EAP를 사용할 수 있습니다. 자세한 내용은 msdn2.microsoft.com/aa364249.aspx의 기사를 참조하십시오.

EAPHost 구성 요소에는 EAP 피어 상태 시스템(RFC 3748 참조)을 유지 관리하고 EAP 메시지의 유효성을 검사하는 EAP 클라이언트 상태 시스템/프로토콜 유효성 검사기가 포함되어 있습니다. 또한 EAPHost 호환 여부에 관계없이 여러 EAP 방법을 관리하며 응용 프로그램과 서비스에서 EAP 방법을 사용할 수 있도록 돕는 EAP 방법 관리자도 포함되어 있습니다. 마지막으로 EAP 방법 라이브러리를 쉽게 로드하고 언로드할 수 있도록 도와 주는 EAP 라이브러리 관리자도 있습니다.

EAP 방법 구성 요소는 다음과 같습니다.

기본 제공 EAP 방법. 여기에는 PEAP, EAP-TLS(전송 계층 보안) 및 EAP-MS-CHAP-V2 등이 있습니다.

두 개의 호스트 API. EAPHost 비호환 EAP 방법(레거시 EAP API)과 타사 EAPHost 호환 EAP 방법(EAPHost 방법 API)을 호스트합니다.

레거시 변환기 방법. 레거시 EAP API에 기록되어 있는 EAPHost 비호환 EAP 방법과 EAPHost 방법 API 간을 변환합니다.

EAP 방법 프록시 관리자 . EAPHost와 호환되는지 여부에 관계없이 타사 EAP 방법을 호스트합니다.

EAP 방법 API는 EAPHost 호환 EAP 방법을 위한 새로운 API입니다. EAP 방법은 EAP 방법 API에 정의되어 있는 API를 내보냅니다. EAPHost에서는 EAP 방법을 로드하고 내보낸 API 함수를 호출합니다.

NAP 구성 요소에는 다음 항목이 포함되어 있습니다.

EAP NAP EC 메신저 . 이 구성 요소를 사용하면 EAPHost NAP EC(적용 클라이언트)와 기타 EAPHost 구성 요소 간에 상태 설명 및 이벤트 등과 같은 NAP 관련 데이터를 쉽게 주고받을 수 있습니다.

EAPHost NAP EC . 이 구성 요소는 다른 NAP 구성 요소와 상호 작용하여 802.1X로 인증된 연결이 NAP 시스템 상태 요구 사항을 충족하지 못하는 경우 상태 유효성 검사와 제한된 액세스 적용 기능을 제공합니다.

NAP 에이전트. 클라이언트의 현재 상태를 유지 관리하는 구성 요소로 이 구성 요소를 사용하면 설치된 NAP EC 및 SHA(System Heath Agent) 계층 간에 원활하게 통신할 수 있습니다. 각 SHA는 하나 이상의 시스템 상태 요구 사항에 대해 정의됩니다.

그림 3에 나와 있는 것과 같이 타사 공급업체에서는 신청자와 EAPHost 호환 EAP 방법을 새로 개발할 수 있습니다. 또한 Windows Server 2003이나 Windows XP용으로 개발된 기존 EAP 방법도 사용할 수 있습니다.

그림 4에서는 Windows Server "Longhorn" 및 NPS가 실행되는 인증 서버의 EAPHost 아키텍처를 보여 줍니다. 이 아키텍처는 EAP 방법을 지원하기 위한 EAP 피어의 아키텍처와 동일합니다. 인증 서버에는 EAPHost API를 사용하여 EAP 방법을 사용하고 구성하는 NPS가 신청자 대신 존재합니다. EAP 구성 요소 내에서 EAP 서버 상태 시스템/프로토콜 유효성 검사기는 EAP 인증 서버 상태 시스템의 유지 관리와 수신 EAP 메시지의 유효성 검사 작업을 수행합니다.

그림 4 인증 서버의 EAPHost 아키텍처

그림 4** 인증 서버의 EAPHost 아키텍처 **(더 크게 보려면 이미지를 클릭하십시오.)

타사 소프트웨어 공급업체는 인증 서버의 EAPHost를 사용하여 새로운 EAPHost 호환 EAP 방법을 개발 및 설치하고 Windows XP와 Windows Server 2003용으로 이미 개발된 EAP 방법을 지원할 수 있습니다.

또한 EAPHost는 EAP 피어와 인증 서버 모두에 EAPHost UI 프록시 API(그림 34에는 나와 있지 않음)를 제공합니다. EAPHost 호환 방법에서 이 API를 사용하여 사용자 상호 작용이 필요한 대화 상자를 표시할 수 있습니다. 타사 공급업체는 보다 원활한 사용자 환경을 위해 EAPHost UI 프록시 API를 사용하여 자체적인 대화 상자를 추가할 수 있습니다.

°á·Ð

Windows Server "Longhorn"과 Windows Vista의 EAPHost는 최신 인터넷 표준에 맞게 Windows의 EAP 구현을 업데이트하며 EAP 인증 방법과 신청자를 사용하여 Windows를 확장하기 위한 새로운 모듈식 아키텍처를 제공합니다. 네트워킹 공급업체는 EAPHost API에 기록되는 새로운 신청자와 EAPHost 방법 API에 기록되는 새로운 인증 방법을 개발하여 전체 Windows EAP 구현을 바꾸지 않고도 Windows의 기존 사용자 환경을 확장할 수 있습니다. 또한 EAPHost는 Windows Server 2003과 Windows XP용으로 개발된 기존 EAP 방법도 지원합니다.

Windows XP용 EAPHost

Microsoft는 EAPHost 아키텍처, RFC 3748 지원 및 유선 802.1X 연결을 위한 EAPHost 기반 신청자가 포함된 Windows XP SP2용 업데이트를 발표할 계획입니다. 이 업데이트를 통해 Windows Vista용으로 개발된 EAPHost 신청자가 Windows XP SP2에서도 작동하게 됩니다. 이 업데이트에 대한 최신 정보는 blogs.technet.com/nap의 NAP 제품 팀 블로그를 참조하십시오.

Joseph Davies는 Microsoft의 기술 전문 저술가로 1992년부터 Windows 네트워킹을 주제로 글을 쓰고 가르치는 일을 하고 있습니다. Microsoft Press에서 5권의 책을 저술한 그는 월간 TechNet Cable Guy 칼럼의 저자이기도 합니다.

© 2008 Microsoft Corporation 및 CMP Media, LLC. All rights reserved. 이 문서의 전부 또는 일부를 무단으로 복제하는 행위는 금지됩니다..