커널 모드 SSL
커널 모드 SSL은 제한된 지원으로 Windows Server 2003 SP1(서비스 팩 1)에서 도입되었습니다. WINDOWS Server 2003 SP1에서 실행되는 컴퓨터의 경우 커널 SSL을 사용하도록 레지스트리 키를 설정해야 합니다. Windows Server 2008 및 Windows Vista에서 실행되는 컴퓨터의 경우 SSL에 대한 전체 커널 모드 지원이 제공됩니다.
다음 섹션에서는 커널 모드 SSL 지원에 대해 설명합니다.
- Windows Server 2003 SP1의 커널 모드 SSL
- Windows Server 2008 및 Windows Vista의 커널 모드 SSL
WINDOWS Server 2003 SP1에서 HTTP Server API는 커널 모드에서 SSL 보안을 실행하는 옵션을 제공합니다(사용자 모드 SSL이 기본값임). 커널 모드 기능은 암호화 및 암호 해독 작업을 커널로 이동하여 SSL 성능을 향상시켜 커널 모드와 사용자 모드 간의 전환 수를 줄입니다.
커널 모드에서 SSL을 실행하는 경우 다음 기능이 지원되지 않습니다.
- 클라이언트 인증서
- RC2 암호화
- PCT 1.0 프로토콜
- 서버 인증서 구성을 변경하려면 HTTP 서비스를 다시 시작해야 합니다.
- 대량 암호화 및 오프로드 지원
커널 모드 SSL은 EnableKernelSSL 레지스트리 값에 의해 제어되며 값을 1로 설정하여 사용하도록 설정됩니다. 커널 모드 SSL을 사용하도록 설정하면 사용자 모드 SSL이 비활성화되고 HTTP 서비스를 다시 시작해야 적용됩니다. EnableKernelSSL 레지스트리 키는 다음 위치에 있습니다.
Hkey_local_machine\시스템\CurrentControlSet\서비스\HTTP(HTTP)\매개 변수\EnableKernelSSL
Windows Server 2008 및 Windows Vista에서 실행되는 컴퓨터의 경우 HTTP Server API는 향상된 SSL 기능을 제공합니다.
지원되는 새로운 기능은 다음과 같습니다.
- 커널 모드 SSL의 전체 클라이언트 인증서 지원
- 모든 HTTP SSL 트랜잭션에 대한 커널 모드 SSL
- 대량 암호화 및 오프로드 지원
- PCT 1.0 프로토콜
- RC2 암호화
- 사용자 모드 SSL에 대한 성능 향상
커널 모드 SSL은 다음 위치에 있는 HTTP 매개 변수 키 아래의 두 레지스트리 값을 통해 구성할 수 있습니다.
HKEY_LOCAL_MACHINE
System
CurrentControlSet
Services
HTTP
Parameters
EnableSslCloseNotify
DisableSslCertChainCacheOnlyUrlRetrieval
사용자에게 레지스트리 값을 수정하고 로그 파일 및 해당 파일이 포함된 폴더를 보거나 수정하려면 관리자/로컬 시스템 권한이 있어야 합니다.
레지스트리 값의 구성 정보는 HTTP Server API 드라이버가 시작될 때 읽습니다. 따라서 설정이 변경되면 드라이버를 중지하고 다시 시작하여 새 값을 읽어야 합니다. 이 작업은 다음 콘솔 명령을 사용하여 수행할 수 있습니다.
net stop http
net start http
다음 표에는 레지스트리 구성 값이 나열됩니다.
레지스트리 값 | 설명 |
---|---|
EnableKernelSSL |
Windows Server 2008 및 Windows Vista: 이 레지스트리 값은 사용되지 않습니다. |
EnableSslCloseNotify | 닫기 알림을 사용하도록 설정하려면 TRUE로 설정된 DWORD 값, 종가 알림 요구 사항을 사용하지 않도록 설정하는 FALSE 값입니다. 닫기 알림은 기본적으로 사용하지 않도록 설정됩니다. 종결 알림을 사용하도록 설정하면 클라이언트 애플리케이션은 TCP 연결을 닫기 전에 가까운 알림 메시지를 보내야 합니다. 또한 HTTP Server API는 연결을 닫기 전에 닫기 알림을 보냅니다. 닫기 알림을 사용하도록 설정하고 클라이언트가 가까운 알림 메시지를 보내면 HTTP 서버 API는 향후 클라이언트에 대한 연결에서 SSL 세션을 다시 사용합니다. 클라이언트가 닫기 알림을 보내지 않으면 HTTP Server API는 향후 연결에서 동일한 SSL 세션을 다시 사용하지 않습니다. 따라서 새 연결에서 전체 SSL 핸드셰이크가 트리거되어 성능이 저하됩니다. 참고: 근접 알림을 사용하도록 설정하면 HTTPS 요청 및 응답에 대한 잘림 공격을 완화하는 데 도움이 됩니다. 닫기 알림을 사용하지 않도록 설정하면 HTTP Server API는 이후 연결을 위해 SSL 세션을 다시 사용합니다. |
DisableSslCertChainCacheOnlyUrlRetrieval | HTTP Server API가 인터넷 또는 로컬 저장소 또는 FALSE에서 중간 인증서를 검색하여 로컬 저장소에서만 중간 인증서를 검색할 수 있도록 TRUE로 설정된 DWORD 값입니다. 기본 레지스트리 값은 FALSE입니다. 기본적으로 HTTP Server API는 로컬 컴퓨터 계정 아래의 중간 인증 기관 저장소에서 중간 인증서를 검색하여 클라이언트 인증서 체인을 빌드합니다. 이 값을 TRUE 로 설정하면 HTTP Server API는 로컬 저장소뿐만 아니라 인터넷의 중간 인증 기관에서도 중간 인증서를 검색할 수 있습니다. |