상세 컨텐츠

본문 제목

SNI 란?

기술보안/Network

by about_SC 2021. 1. 12. 09:38

본문

* SNI (Server Name Indication)

SNI란 한국어로 서버명 지정 이라는 뜻인데, TLS 프로토콜 확장형이다. 랜선을 통하여 tcp 통신을 수행할 시에 핸드세이크 과정을 거치게 되는데, 이때 핸드세이크 과정의 시작점에서 웹브라우저에게 호스트명(www.co.kr)을 정해주는 것으로 이해하자. 이 방식을 통하여 동일서버에서 여러개의 SSL 통신이 가능하게 된다.

 

* SNI 동작방식

웹서버에 브라우저가 https 접속할시에 SSL/TLS 접속을 하게되는데, 브라우저는 피싱사이트가 아닌 진짜 사이트에 접속된것인지 여부를 알수 있도록 서버에서 SSL 인증서를 가져오게된다. 브라우저는 가져온 인증서를 가지고 접속하고자하는 도메인 주소와 인증서의 이름을 비교하게 된다. 만일 이름이 일치하면 보안접속이 이루어 지게된다. 아니면 경고 메시지를 띄우게된다. 

보통 하나의 서버에 여러개의 도메인을 서비스 하므로, ip만 가지고 이를 판단하게 되면 서버상의 하나의 도메인만 SSL 통신이 가능하게 되므로 해결책이 필요하였다. 바로 솔루션이 SNI이다. 즉 하나의 서버상에 여러 도메인을 서비스 하는 경우 SNI가 있다면 SSL 통신이 가능해 진다. 이를 위해서 서버측과 웹브라우저 측에 모두 SNI 지원이 필요하다고 한다.

'기술보안 > Network' 카테고리의 다른 글

[network] SSH 터널링  (0) 2019.10.17
[퍼시스턴스 기법] SSH 터널링  (0) 2018.12.08
[용어정리] 내부망, DMZ구간, 외부망 이란?  (0) 2018.11.29

관련글 더보기