TLS 1.0/1.1 — 2026년에 아직 누가 쓰는가?

TLS 1.0과 1.1은 공식 폐기되고 모든 브라우저가 거부한다. 그런데 서버는 아직 제공한다. 얼마나, 왜?

TLS 1.0과 1.1은 브라우저에서 죽었고 인프라에서는 짜증나게 살아있다.

그 분리가 이야기 전체다.

브라우저의 눈으로 웹을 보면 마이그레이션이 거의 끝난 것처럼 보인다. 서버와 어플라이언스의 롱테일을 보면, 모두가 사라져야 한다고 동의한 지 수년이 지나도 계속 인터넷에서 덜거덕거리는 기술 중 하나처럼 보인다. 폐기는 정책 이벤트다. 제거는 청소 프로젝트다. 둘은 동기화되지 않는다.

브라우저 이야기는 끝났다

RFC 8996이 2021년에 TLS 1.0과 1.1을 공식 폐기했다. 브라우저 벤더는 이미 그 방향으로 행진하고 있었다. Chrome, Firefox, Safari, Edge 모두 지원을 제거했다. TLS 1.0 전용 사이트는 향수 어린 핸드셰이크를 받지 않는다. 에러 페이지를 받는다.

서버 이야기는 안 끝났다

Qualys SSL Pulse가 약 15만 개의 인기 HTTPS 사이트를 스캔하면서 수년간 추적해왔다. 추세는 하락이지만 꼬리가 길다. 현대 브라우저가 그 버전을 협상하지 않는데도 서버 측에서 TLS 1.0이나 1.1을 활성화한 곳이 무시 못 할 비율로 남아있다.

이 서버들은 더 이상 브라우저에 웹 페이지를 서빙하는 게 아니다. 레거시 클라이언트에 API를 서빙하거나, 하드코딩된 프로토콜 버전으로 기계 간 통신을 처리하거나, 2018년 이후 재설정 안 된 로드 밸런서 뒤에 앉아있다.

왜 남아있나

결제 단말기. POS 디바이스와 결제 처리 하드웨어가 TLS 1.0만 지원하는 펌웨어를 갖고 있는 경우가 많다. 수천 대의 분산 디바이스 펌웨어 업데이트가 자본 지출이라 매년 미뤄진다.

임베디드/산업 시스템. SCADA 컨트롤러, 의료 기기, 건물 관리 시스템 — 10-20년 수명 주기에 OTA 업데이트 메커니즘이 없는 하드웨어. TLS 라이브러리가 제조 시점에 구워졌다.

“작동하니까 건드리지 마.” 가장 흔한 이유. 서버가 수년간 돌아갔다. 뭐가 연결되는지 정확히 아무도 모른다. TLS 1.0을 비활성화하면 미지의 클라이언트가 깨질 수 있다. 뭔가 깨뜨릴 리스크가 켜둔 리스크보다 크게 느껴진다.

잊혀진 서버. 수년 전 생성된 가상 머신, 아직 돌아가고, 아직 접근 가능하고, 아무도 관리하지 않는다.

켜둔 채로의 리스크

TLS 1.0에 알려진 취약점이 있다. BEAST(2011)가 TLS 1.0의 CBC 모드 암호 스위트를 악용해 데이터를 복호화한다. POODLE(2014)은 주로 SSL 3.0 공격이었지만 관련 약점이 TLS 1.0 구현에 영향을 미친다. 둘 다 AES-GCM이나 ChaCha20-Poly1305 같은 현대 암호 스위트를 지원하지 않는다.

현대 클라이언트가 이 버전을 협상하지 않아도, 서버에 활성화되어 있으면 공격 표면이 늘어난다. 다운그레이드 공격이 가능해진다.

해야 할 일

서버가 아직 TLS 1.0이나 1.1을 제공하면, 오늘 비활성화하라.

nginx: ssl_protocols TLSv1.2 TLSv1.3; Apache: SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1

정당한 현대 클라이언트 중 TLS 1.0이나 1.1이 필요한 것은 없다. 비활성화했을 때 뭔가 깨지면 그게 이미 보안 부채였다. 지금 찾는 게 인시던트 중에 찾는 것보다 낫다.

표준이 폐기했다. 브라우저가 거부했다. TLS 1.0을 살려두는 유일한 건 관성이다. 관성은 보안 전략이 아니다.

토론 참여

← 블로그로 돌아가기