다음을 통해 공유


전송 계층 보안 프로토콜

IT 전문가를 위한 이 토픽에서는 TLS(전송 계층 보안) 프로토콜의 작동 방식과 TLS 1.0, TLS 1.1 및 TLS 1.2용 IETF RFC에 대한 링크를 제공하는 방식을 설명합니다.

참고 항목

Windows Server의 이후 릴리스에서는 TLS 1.0 및 1.1이 기본적으로 사용하지 않도록 설정됩니다. 자세한 내용은 TLS 버전 1.0 및 1.1 비활성화 리소스를 참조하세요.

TLS(및 SSL) 프로토콜은 애플리케이션 프로토콜 계층과 TCP/IP 계층 사이에 위치하며, 여기서 애플리케이션 데이터를 보호하고 전송 계층으로 보낼 수 있습니다. 프로토콜은 애플리케이션 계층 및 전송 계층 간에 작동하므로 TLS와 SSL은 여러 애플리케이션 계층 프로토콜을 지원할 수 있습니다.

TLS 및 SSL은 연결 지향 전송(일반적으로 TCP)을 사용 중이라고 가정합니다. 이 프로토콜을 사용하면 클라이언트와 서버 애플리케이션에서 다음과 같은 보안 위험을 감지할 수 있습니다.

  • 메시지 변조

  • 메시지 인터셉션

  • 메시지 위조

TLS 및 SSL 프로토콜은 두 개의 계층으로 나눌 수 있습니다. 첫 번째 계층은 애플리케이션 프로토콜과 핸드셰이크 프로토콜, 변경 암호 사양 프로토콜 및 경고 프로토콜의 3가지 핸드셰이크 프로토콜로 구성됩니다. 두 번째 계층은 레코드 프로토콜입니다.

TLS 및 SSL 프로토콜 계층

Schannel SSP에서는 TLS 및 SSL 프로토콜을 수정하지 않고 구현합니다. SSL 프로토콜은 독점이지만, 인터넷 엔지니어링 태스크 포스는 공용 TLS 사양을 생성합니다. Windows 버전에서 지원되는 TLS 또는 SSL 버전에 대한 자세한 내용은 TLS/SSL(Schannel SSP)의 프로토콜을 참조하세요. 각 사양에는 다음에 대한 정보가 포함됩니다.

  • TLS 레코드 프로토콜

  • TLS 핸드셰이킹 프로토콜: - 암호 사양 프로토콜 변경 - 경고 프로토콜

  • 암호화 계산

  • 필수 암호화 도구 모음

  • 애플리케이션 데이터 프로토콜

RFC 5246 - TLS(전송 계층 보안) 프로토콜 버전 1.2

RFC 4346 - TLS(전송 계층 보안) 프로토콜 버전 1.1

RFC 2246 - TLS 프로토콜 버전 1.0

TLS 세션 재개

Windows Server 2012 R2에 도입된 Schannel SSP는 TLS 세션 재개의 서버 측 부분을 구현했습니다. RFC 5077의 클라이언트 측 구현이 Windows 8에 추가되었습니다.

서버에 TLS를 연결하는 디바이스는 자주 다시 연결해야 합니다. TLS 세션 재개는 약식 TLS 핸드셰이크를 포함하므로 TLS 연결을 설정하는 비용을 줄여줍니다. 이렇게 하면 TLS 서버 그룹이 서로의 TLS 세션을 다시 시작할 수 있도록 하여 더 많은 재개 시도를 용이하게 해줍니다. 이 수정은 Windows Phone 및 Windows RT 디바이스를 포함하여 RFC 5077을 지원하는 모든 TLS 클라이언트에 대해 다음과 같은 비용 절감을 제공합니다.

  • 서버에서 리소스 사용량 감소

  • 대역폭 감소로 인한 클라이언트 연결의 효율성 향상

  • 연결 재개로 인해 TLS 핸드셰이크에 소요된 시간 절감

상태 비저장 TLS 세션 재개에 대한 자세한 내용은 IETF 문서 RFC 5077을 참조하세요.

애플리케이션 프로토콜 협상

Windows Server 2012 R2 및 Windows 8.1는 클라이언트 측 TLS 애플리케이션 프로토콜 협상을 허용하는 지원을 도입했습니다. 애플리케이션은 HTTP 2.0 표준 개발의 일부로 프로토콜을 활용할 수 있으며 사용자는 SPDY 프로토콜을 실행하는 앱을 사용해서 Google 및 Twitter와 같은 온라인 서비스 액세스할 수 있습니다.

애플리케이션 프로토콜 협상이 작동하는 방식에 대한 자세한 내용은 TLS(전송 계층 보안) 애플리케이션 계층 프로토콜 협상 확장을 참조하세요.

서버 이름 표시기 확장을 위한 TLS 지원

SNI(서버 이름 표시기) 기능은 단일 서버에 다수의 가상 이미지가 실행되고 있을 경우 서버를 올바르게 식별할 수 있도록 SSL 및 TLS 프로토콜을 확장합니다. 가상 호스팅 시나리오에서 잠재적으로 각각의 개별 인증서를 소유하고 있는 몇몇 도메인이 단일 서버에서 호스팅됩니다. 이 경우 서버는 클라이언트로 보낼 인증서를 사전에 알 수 있는 방법이 없습니다. SNI를 사용하면 클라이언트가 프로토콜에서 대상 도메인을 더 일찍 알릴 수 있으므로 서버가 적절한 인증서를 올바르게 선택할 수 있습니다.

이를 통해 다음과 같은 추가 기능이 제공됩니다.

  • 단일 인터넷 프로토콜과 포트의 조합에서 여러 SSL 웹 사이트를 호스팅할 수 있음

  • 여러 SSL 웹 사이트가 단일 웹 서버에서 호스팅될 때 메모리 사용량 절감

  • 더 많은 사용자가 SSL 웹 사이트에 동시에 연결하도록 허용