Search

SNI (Server Name Indication)

암호화된 TLS 연결은 TCP peer들 간에 수립될수 있다. Client는 다른 Peer와 연결을 수립과 TLS handshake를 위해 IP주소만 알면된다. 그러나 동일한 IP주소로 Server가 다수의 사이트를 제공하고자 할때 각 사이트의 TLS 인증서가 무엇인지 알수가 없다.
이 문젤르 해결하기 위해서 Server Name Indication (SNI) 확장이 TLS 프로토콜에 도입되었다. SNI는 Client TLS handshake의 일부과정으로 연결을 시도하는 hostname을 알려준다. 그결과 Server는 ClientHello 메시지를 통해 보내진 SNI Hostname을 확인하고 적절한 인증서를 선택하여 원하는 host에 대한 TLS handshake를 완료한다.