Server Name Indication
SNI는 TLS의 확장에서 접속하려는 호스트를 핸드 셰이킹과정에 알리는 역할을 수행한다. 이를 통해 같은 IP와 TCP 포트번호를 통해 여러개의 인증 서버를 사용할 수 있게 된다. 하지만 핸드셰이킹 과정중에 SNI필드는 TLS 표준에서 암호화하는 부분이 없기 때문에 평문 상태로 SNI 필드가 전송되는 문제가 있다. 이를 해결하기위해 ESNI(Encrypted SNI)가 논의중인데, ESNI가 적용되려면 DoH(DNS over Https)가 지원이 되어야 한다. 이 방식은 연결하고자 하는 호스트의 공개키를 전달받는 시점을 DNS의 시점으로 앞당기면서 SNI필드의 암호화 문제를 해결한다. 이를 통해 호스트와 연결할 때는 SNI 필드가 암호화된 상태로 전송될 수 있다.