khann's IT와 경제 블로그

반응형

정부의 HTTPS의 SNI 필드 감청

지난 2019년 2월 정부는 음란사이트 차단을 위해 SNI필드를 필터하여 감청하여 블랙리스트에 등록된 주소를 차단하기로 했다.

(관련 기사 : https://news.joins.com/article/23372607 )

 

 

HTTPS란?

기존 HTTP(HyperText Transfer Protocol)은 보안이 안된 평문상태로 웹상의 데이터를 주고받는다. 

그래서 넷스케이프 커뮤니케이션스는 1994년에 HTTP에 보안(Security)이 적용된 HTTPS를 개발했다.

따라서, HTTP에서 평문으로 통신하는 과정을 SSL이나 TLS프로토콜을 통해 암호화하여 통신하는 웹 통신 프로토콜인것이다.

HTTPS의 암호통신 방법으로 SSL/TLS가 있으며 안전한 통신을 할 수 있도록 대칭키암호, 공개키암호, 일방향해시함수, 전자서명 등등을 조합하여 만든 일련의 과정이다.

 

약 10년전(틀릴 수도 있다) 네이버, 다음 등 커뮤니티 사이트가 HTTPS로 변환되었다. 그러나 아직도 몇몇 웹사이트의 경우 HTTP로 되어 있는 경우가 많다. (HTTP로 이루어진 사이트의 경우 공공장소, 확실하지않은 와이파이 등에 접속해서 이용할 경우 와이어샤크로 여러분의 패킷(계정정보 등)을 평문으로 전부 볼 수 있다.)

 

 

 

HTTPS의 통신과정

HTTPS에서는 HTTP에서와 달리 보안을 위해 인증서가 존재한다.

우리는 이 인증서를 확인해 볼 수 있다. 

 

크롬의 경우, 주소 왼쪽의 '자물쇠 아이콘'을 클릭하고, '인증서: (유효)'을 클릭하면 볼 수 있다.

 

우리가 보고있는 웹페이지 인증서 확인하기 #1
우리가 보고있는 웹페이지 인증서 확인하기 #2

 

이러한 인증서는 우리가 이용하는 공인인증서에서 사용하는것과 같다고 볼 수 있다.

인증서는 발급기관에서 증명해주는 증명서같은 것이다.

 

인증서를 획득 및 통신시 무결성을 증명하기 위한 과정은 아래와 같다.

 

서버(Server) : 발급기관에게 Server의 공개키와 Server정보를 보낸다.

발급기관(CA) : Server의 공개키를 CA의 비밀키로 암호화한 인증서를 제공해준다.

사용자(Client) : 사이트에 접속하면 Server로부터 인증서를 수신받고 CA의 공개키(우리가 사용하는 웹 브라우저에 미리 등록되어있다)를 이용하여 복호화한다.

 

HTTPS의 통신과정

 

 

이제. 사용자는 HTTPS를 통해 서버에 대한 무결성을 확인했다. 하지만 통신을 하기 위해선 한가지 단계가 더 남아있다.

바로 handshake과정이다.(TCP통신을 하는 HTTP/HTTPS는 모두 Handshake과정을 거친다)

 

 

HTTPS's handshake과정(TLS)

 

 

현재 TLS1.2버전까지에서는 Handshake 과정(위 그림에서 1번부터 4번까지의 과정)은 Unecrypted Part이다.

바로 이 부분을 정부에서 이용한것이다.

처음 사용자가 웹사이트에 접속하면 Client Hello를 보내고 Server Hello를 받는 과정에 Certificate(인증서)를 수신한다.

패킷 안에 SNI 필드영역이 포함되어있고 이러한 과정은 암호화되지 않는다.

 

(앞으로 TLS 1.3버전이 나오면 이러한 과정도 암호화된다는 소식이 전해온다. 희소식이다.)

 

 

SNI(Server Name Indication)란?

TLS의 확장 표준 중 하나로, 인증서에서 사용하는 방식이다. 

하나의 웹 서버에서 여러 도메인의 웹사이트를 서비스하는 경우에 사용 된다.

호스트이름을 보내면 그에 맞는 인증서를 회신받는다.

 

 

그렇다면,,

SNI필드를 열어보는 과정은 엄연한 패킷 감청인가 아닌가? 이 과정속에는 암호화되지 않은 영억(취약점)을 이용한다.

이 이슈는 논란이 되어 청와대 국민청원까지 올라갔다.

해당 국민청원 주소 : https://www1.president.go.kr/petitions/522031

 

https 차단 정책에 대한 반대 의견 > 대한민국 청와대

나라를 나라답게, 국민과 함께 갑니다.

www1.president.go.kr

 

 

다음 포스트에서는 직접 SNI필드를 감청해보는 실습을 해보도록 하겠다.

 

 

피드백은 언제나 환영입니다.

반응형

이 글을 공유합시다

facebook twitter googleplus kakaostory naver