요약
TLS(전송 계층 보안) 1.0 및 1.1은 컴퓨터 네트워크를 통해 암호화 채널을 만들기 위한 보안 프로토콜입니다. Microsoft Windows XP 및 Windows Server 2003부터 지원해 왔다. 그러나 규정 요구 사항이 변경되고 있습니다. 또한 TLS 1.0에는 새로운 보안 약점이 있습니다. 따라서 Microsoft TLS 1.0 및 1.1 종속성을 제거하는 것이 좋습니다. 가능한 경우 운영 체제 수준에서 TLS 1.0 및 1.1을 사용하지 않도록 설정하는 것이 좋습니다. 자세한 내용은 TLS 1.0 및 1.1 사용 안 함을 참조하세요. 2022년 9월 20일 미리 보기 업데이트에서는 winhttp 및 wininet를 기반으로 하는 애플리케이션에 대해 기본적으로 TLS 1.0 및 1.1을 사용하지 않도록 설정합니다. 이는 지속적인 노력의 일부입니다. 이 문서는 다시 사용하도록 설정하는 데 도움이 됩니다. 이러한 변경 내용은 2022년 9월 20일 또는 그 이후에 릴리스된 Windows 업데이트를 설치한 후에 반영됩니다.
브라우저에서 TLS 1.0 및 1.1 링크에 액세스할 때의 동작
2022년 9월 20일 이후에 브라우저에서 TLS 1.0 또는 1.1을 사용하는 웹 사이트를 열면 메시지가 표시됩니다. 그림 1을 참조하세요. 이 메시지는 사이트에서 오래되거나 안전하지 않은 TLS 프로토콜을 사용한다고 명시합니다. 이 문제를 해결하려면 TLS 프로토콜을 TLS 1.2 이상으로 업데이트할 수 있습니다. 이것이 불가능한 경우 TLS 버전 1.1 이하 사용에서 설명한 대로 TLS를 사용하도록 설정할 수 있습니다.
그림 1: TLS 1.0 및 1.1 웹 페이지에 액세스할 때 브라우저 창
winhttp 애플리케이션에서 TLS 1.0 및 1.1 링크에 액세스할 때의 동작
업데이트 후 winhttp를 기반으로 하는 애플리케이션이 실패할 수 있습니다. 오류 메시지는 "WinHttpSendRequest 작업을 수행하는 동안 ERROR_WINHTTP_SECURE_FAILURE"입니다.
winhttp 또는 wininet에 따라 사용자 지정 UI 애플리케이션에서 TLS 1.0 및 1.1 링크에 액세스할 때의 동작
애플리케이션이 TLS 1.1 이하를 사용하여 연결을 만들려고 하면 연결이 실패하는 것처럼 보일 수 있습니다. 애플리케이션을 닫거나 작동이 중지되면 그림 2와 같이 PCA(프로그램 호환성 도우미) 대화 상자가 나타납니다.
그림 2: 애플리케이션을 닫은 후 프로그램 호환성 도우미 대화 상자
PCA 대화 상자에는 "이 프로그램이 올바르게 실행되지 않았을 수 있습니다." 그 아래에는 두 가지 옵션이 있습니다.
-
호환성 설정을 사용하여 프로그램 실행
-
이 프로그램이 올바르게 실행되었습니다.
호환성 설정을 사용하여 프로그램 실행
이 옵션을 선택하면 애플리케이션이 다시 열립니다. 이제 TLS 1.0 및 1.1을 사용하는 모든 링크가 올바르게 작동합니다. 그 때부터 PCA 대화 상자가 표시되지 않습니다. 레지스트리 편집기는 다음 경로에 항목을 추가합니다.
-
를Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store.
-
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers.
실수로 이 옵션을 선택한 경우 이러한 항목을 삭제할 수 있습니다. 삭제하면 다음에 앱을 열 때 PCA 대화 상자가 표시됩니다.
그림 3: 호환성 설정을 사용하여 실행해야 하는 프로그램 목록
이 프로그램이 올바르게 실행되었습니다.
이 옵션을 선택하면 애플리케이션이 정상적으로 닫힙니다. 다음에 애플리케이션을 다시 열면 PCA 대화 상자가 나타나지 않습니다. 시스템은 모든 TLS 1.0 및 1.1 콘텐츠를 차단합니다. 레지스트리 편집기에서 경로Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store 다음 항목을 추가합니다 . 그림 4를 참조하세요. 실수로 이 옵션을 선택한 경우 이 항목을 삭제할 수 있습니다. 항목을 삭제하면 다음에 앱을 열 때 PCA 대화 상자가 표시됩니다.
그림 4: 앱이 올바르게 실행되었다는 레지스트리 편집기 항목
중요 레거시 TLS 프로토콜은 특정 애플리케이션에 대해서만 사용하도록 설정됩니다. 시스템 전체 설정에서 사용하지 않도록 설정되어 있더라도 마찬가지입니다.
TLS 버전 1.1 이하 사용(wininet 및 Internet Explorer 설정)
TLS 1.1 이하는 더 이상 안전한 것으로 간주되지 않으므로 사용하지 않는 것이 좋습니다. 그들은 POODLE 공격과 같은 다양한 공격에 취약합니다. 따라서 TLS 1.1을 사용하도록 설정하기 전에 다음 중 하나를 수행합니다.
-
최신 버전의 애플리케이션을 사용할 수 있는지 확인합니다.
-
앱 개발자에게 TLS 1.1 이하에 대한 종속성을 제거하도록 앱에서 구성을 변경하도록 요청합니다.
솔루션이 작동하지 않는 경우 시스템 전체 설정에서 레거시 TLS 프로토콜을 사용하도록 설정하는 두 가지 방법이 있습니다.
-
인터넷 옵션
-
그룹 정책 편집기
인터넷 옵션
인터넷 옵션을 열려면 작업 표시줄의 검색 상자에 인터넷 옵션을 입력합니다. 그림 1에 표시된 대화 상자에서 설정 변경을 선택할 수도 있습니다. 고급 탭의 설정 패널에서 아래로 스크롤합니다. 그곳에서 TLS 프로토콜을 사용하거나 사용하지 않도록 설정할 수 있습니다.
그림 5: 인터넷 속성 대화 상자
그룹 정책 편집기
그룹 정책 편집기를 열려면 작업 표시줄 검색 상자에 gpedit.msc를 입력합니다. 그림 6에 표시된 창과 같은 창이 나타납니다.
그림 6: 그룹 정책 편집기 창
-
Internet Explorer > Internet Explorer > Internet 제어판 > 고급 페이지 > 암호화 지원 해제 를 > > 로컬 컴퓨터 정책>(컴퓨터 구성 또는 사용자 구성) > Windows 구성 요소로 이동합니다.그림 7을 참조하세요.
-
암호화 지원 끄기를 두 번 클릭합니다.
그림 7: 그룹 정책 편집기에서 암호화 지원을 해제하는 경로
-
사용 옵션을 선택합니다. 그런 다음, 드롭다운 목록을 사용하여 그림 8과 같이 사용하도록 설정할 TLS 버전을 선택합니다.
그림 8: 암호화 지원 및 드롭다운 목록 끄기 사용
그룹 정책 편집기에서 정책을 사용하도록 설정하면 인터넷 옵션에서 정책을 변경할 수 없습니다. 예를 들어 SSL3.0 및 TLS 1.0 사용을 선택하면 인터넷 옵션에서 다른 모든 옵션을 사용할 수 없습니다. 그림 9를 참조하세요. 그룹 정책 편집기에서 암호화 지원 끄기를 사용하도록 설정하면 인터넷 옵션에서 설정을 변경할 수 없습니다.
그림 9: 사용할 수 없는 SSL 및 TLS 설정을 보여 주는 인터넷 옵션
TLS 버전 1.1 이하 사용(winhttp 설정)
Windows의 WinHTTP에서 TLS 1.1 및 TLS 1.2를 기본 보안 프로토콜로 사용하도록 설정하려면 업데이트를 참조하세요.
중요한 레지스트리 경로(wininet 및 Internet Explorer 설정)
-
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
-
여기서는 그룹 정책 편집기를 사용하는 경우 현재 사용하도록 설정된 프로토콜의 값을 저장하는 SecureProtocols를 찾을 수 있습니다.
-
-
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
-
여기서는 인터넷 옵션을 사용하는 경우 현재 활성화된 프로토콜의 값을 저장하는 SecureProtocols를 찾을 수 있습니다.
-
-
그룹 정책 SecureProtocols는 인터넷 옵션에서 설정한 집합보다 우선합니다.
안전하지 않은 TLS 대체 사용
위의 수정은 TLS 1.0 및 TLS 1.1을 사용하도록 설정합니다. 그러나 TLS 대체를 사용하도록 설정하지는 않습니다. TLS 대체를 사용하도록 설정하려면 아래 경로 아래의 레지스트리에서 EnableInsecureTlsFallback 을 1로 설정해야 합니다.
-
설정을 변경하려면: SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttp
-
정책을 설정하려면: SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
EnableInsecureTlsFallback이 없는 경우 새 DWORD 항목을 만들고 1로 설정해야 합니다.
중요한 레지스트리 경로
-
ForceDefaultSecureProtocols
-
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttp
-
기본적으로 FALSE입니다. 0이 아닌 값을 설정하면 애플리케이션이 winhttp 옵션을 사용하여 사용자 지정 프로토콜을 설정하지 못하게 됩니다.
-
-
EnableInsecureTlsFallback
-
설정을 변경하려면: SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttp
-
정책을 설정하려면: SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
-
기본적으로 FALSE입니다. 0이 아닌 값을 설정하면 보안 프로토콜(tls1.2 이상)으로 핸드셰이크가 실패하는 경우 애플리케이션이 안전하지 않은 프로토콜(TLS1.0 및 1.1)으로 대체될 수 있습니다.
-