ECH 지원 상태 확인하기

자물쇠 사진

사용중인 브라우저 등 HTTP 클라이언트가 ECH(Encrypted Client Hello)를 지원하는지 확인해보자

참고로 ECH의 이전 버전은 ESNI(Encrypted SNI) 였다.

Chromium(크로미움) 117부터 ECH가 기본 활성화 되어있다.

Cloudflare

Cloudflare Browser Check
Secure DNS Transport using DoH (DNS over HTTPS) or DoT (DNS over TLS) and SNI with ECH

Cloudflare(클라우드플레어)에서 제공하는 Browser Check 페이지가 있다.

결과는 아래처럼 나온다. 맨 오른쪽 Secure SNI 결과에서 SNI(Server Name Indicator)가 암호화 되었다는 것을 확인할 수 있다.

curl

curl/docs/ECH.md at d4240b9bf2a1db4913365143f7b8d0719c774840 · curl/curl
A command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP…

curl에서 실험적인 피처로 ECH를 제공한다. 프로덕션 환경에서는 쓰면 안된다. ECH 피쳐를 포함해 curl을 빌드하는 경우 사용할 수 있다.

ECH 테스트 사이트는 글 작성일 기준으로 아래와 같다

https://defo.ie/ech-check.php
https://draft-13.esni.defo.ie:8413/stats
https://draft-13.esni.defo.ie:8414/stats
https://crypto.cloudflare.com/cdn-cgi/trace
https://tls-ech.dev

아래는 ECH 옵션을 사용하지 않는 curl에서 cloudflare trace 페이지를 호출한 결과다. sni=plaintext라고 표시된다.

동일 페이지를 ECH 지원하는 크롬 브라우저에서 접속하면 아래와 같이 sni=encrypted로 나온다.

참고자료