종종 무료 VPN으로 유니콘 HTTPS를 사용하시는 분들이 계십니다. 엄연히 따지면 유니콘 HTTPS는 VPN과 다릅니다. 기왕 프로그램을 사용하시는 거라면 그 원리에 대해서 알아두면 좋겠죠. 오늘은 유니콘 HTTPS의 원리에 대해서 알아보도록 하겠습니다.
HTTP & HTTPS
유니콘 HTTPS 자체를 설명하기에 앞서 HTTP랑 HTTPS의 개념에 대해서 먼저 알아봅시다.
HTTP는 웹 통신 프로토콜입니다. 사용자가 http://hello.world 이라는 임의의 페이지를 요청하면 관련 서버가 페이지나 리소스를 응답하는 방식으로 통신을 합니다. 우리는 http url 주소를 통해서 통신을 하고 있어요. http://naver.com/ 이면 네이버쪽 서버에 요청을 하고 http://google.com 이면 구글에 요청을 하죠. 접근하려는 주소에 따라서 사용자 입장에서 보게 되는 페이지가 달라지죠. 이 url 주소를 가지고 브라우저와 서버 사이의 통신을 정의한 것을 HTTP라고 합니다.
허나, 요즘은 HTTP 보다는 HTTPS를 사용하는 편입니다. HTTPS가 뭘까요?? HTTPS는 보안을 위해서 HTTP에 Security를 더한 프로토콜입니다. HTTP는 해커가 중간에서 데이터 통신을 가로챌 수 있었습니다. HTTPS는 제 3자가 끼어들 가능성을 고려해 데이터를 암호화해서 보내게끔 해줍니다. HTTPS는 브라우저에서 자물쇠가 잠긴 표시가 뜬다면 이 사이트는 HTTPS구나 하고 파악할 수 있답니다.
유니콘 HTTPS 원리 with. SNI 차단
우리나라 정부는 SNI필드 차단방식으로 특정 사이트에 대한 HTTPS 연결을 차단시켜버립니다. SNI는 Server Name Indication으로 다수의 도메인 주소를 하나의 IP 주소로 연결하는 경우에도 HTTPS를 활성화시킬 수 있도록 해주는 표준 방식입니다. 그런데 이 SNI는 암호화가 없습니다. SNI 암호화는 아직도 비표준이기에 사실상 원문 그대로 볼 수 있죠. 그렇다면 SNI 패킷에 기록된 원문 그대로인 도메인을 보고 특정 웹사이트를 차단할 수 있지 않을까요?? 네 맞습니다. 이를 이용해서 특정 사이트를 차단시켜버렸어요.
반대로 SNI 필드를 암호화 시켜버린다면 어떻게 될까요?? http://hello.com/ 이라는 사이트를 블랙 리스트에 넣어놨는데 암호화된 값이 abcdefg 이런 형태라면 검열에서 제외가 되겠죠. 서버에 요청하기 전에 SNI필드를 암호화하고 해당 서버만 SNI를 해독할 수 있도록 지원하는 것이 바로 유니콘 https 입니다.
즉 유니콘 HTTPS는 암호화를 통해서 차단 사이트에 접근할 수 있도록 도와줍니다. 다만 서버측에서 한국이라는 지역에서 아예 접근하지 못하도록 막아놨다면 그곳에는 접근할 수 없습니다. 이런 경우에는 VPN을 통해서 IP 자체를 해외 IP로 변조하여 들어가야합니다.
이번 포스팅으로 인해 유니콘 HTTPS가 VPN이 아닌 점을 확실히 아셨으면 합니다. 여기까지 읽어주셔서 감사합니다!!
'TechTalk' 카테고리의 다른 글
컨테이너 기술이란? (0) | 2023.08.02 |
---|---|
백준 알고리즘 문제 풀이용 Pycharm Template 설정 (0) | 2023.03.16 |
WSL2와 Windows에서 파일 접근하기 (0) | 2023.03.11 |
WSL2 with VS Code (0) | 2023.03.10 |
Webpack 에 대한 소개 (1) | 2023.02.02 |