LumoMate
LumoMate/용어집/BoundarySecurity

HTTPS

HTTPS는 HTTP에 TLS 암호화를 더한, 안전한 웹 통신 규약입니다. 브라우저와 서버 사이 모든 데이터를 암호화하고, 서버의 신원도 확인합니다.
HTTPS의 개념을 표현한 편집형 일러스트.

쉬운 설명

예전엔 많은 사이트가 평문 HTTP로 통신했습니다. 사용자가 입력한 비밀번호·결제 정보·검색어가 카페 와이파이를 거쳐 가다가 누구나 엿볼 수 있는 상태였습니다. HTTPS는 그 통신 전체를 암호화해 중간에서 못 보게 합니다.

HTTPS의 두 축은 암호화와 신원 확인입니다. ① 브라우저가 서버의 인증서(공인 인증기관이 발급)를 검증해 '이게 진짜 우리은행 서버다'를 확인. ② 그 인증서를 기반으로 안전한 통로를 만들어 그 안에서만 데이터가 오갑니다. 인증서가 없거나 만료됐으면 브라우저가 빨간 경고를 띄웁니다.

동작은 핸드셰이크로 시작합니다. ① 클라이언트와 서버가 사용할 암호 방식을 합의. ② 서버가 인증서를 제시. ③ 클라이언트가 그 인증서를 신뢰할 만한 기관이 서명한 것인지 검증. ④ 안전한 통로의 키를 만들어 공유. 이 과정이 1~2 round-trip 안에 끝납니다. TLS 1.3에서는 더 빠르고 안전해졌습니다.

오늘날에는 사실상 모든 웹 트래픽이 HTTPS입니다. 이유 두 가지. ① 구글·브라우저들이 HTTP 사이트를 '안전하지 않음'으로 표시해 사용자가 무의식적으로 떠나게 만듭니다. ② Let's Encrypt 덕분에 인증서가 무료라 도입 비용이 사라졌습니다. 새로 만드는 사이트는 처음부터 HTTPS만 켜 두는 것이 표준입니다.

주의: HTTPS는 '통신 중 도청'만 막습니다. 서버 안의 데이터·사용자의 비밀번호 강도·피싱 사이트 같은 다른 위협은 별도의 방어가 필요합니다. 또 인증서를 잘못 관리하면(만료·키 유출·낮은 등급의 발급자) HTTPS의 가치가 떨어집니다. 자동 갱신(certbot·ACM 같은 매니지드)이 표준입니다.

HTTPS의 개념을 본문 안에서 다른 각도로 비춰 보는 편집형 일러스트.
FIG. 1HTTPS을 다른 각도에서 다시 봅니다.

비유로 보면

HTTPS는 우체국에서 보내는 등기우편과 비슷합니다. 일반 우편은 누구나 봉투를 열어 볼 수 있지만, 등기는 봉인된 봉투에 추적 번호가 붙어 도착지까지 누구도 못 열어 봅니다. 보내는 곳과 받는 곳의 신원도 우체국이 한 번 확인해 줍니다.

어디에서 만나나

사실상 모든 현대 웹사이트(95% 이상이 HTTPS), API 통신, 모바일 앱과 서버 통신, 이메일·메시징의 일부, IoT 기기의 클라우드 통신. 검색엔진 SEO와 사용자 신뢰에도 영향을 미쳐, HTTPS가 없는 사이트는 사실상 운영이 어렵습니다.

작은 예시

카페 와이파이에 접속해 인터넷뱅킹을 합니다. 그 자리의 다른 사람이 통신을 엿보더라도 HTTPS로 암호화돼 있어 '어떤 사이트와 통신하고 있다'는 사실 정도만 알 수 있고, 비밀번호·송금 내용 같은 본문은 알 수 없습니다.

자주 하는 오해

오해
흔한 오해 셋. ① 'HTTPS면 안전' — 통신은 안전하지만 사이트 자체가 사기·피싱일 수 있습니다. ② '자물쇠 아이콘이 보이면 신뢰' — Let's Encrypt 등으로 누구나 인증서를 받을 수 있어, 자물쇠가 '진짜 회사'를 보장하지는 않습니다. ③ '느려진다' — TLS 1.3에서는 HTTP보다 거의 차이가 없거나 더 빠르기도 합니다(0-RTT).

한 줄 정리

HTTPS는 '통신의 안전' 한 층입니다. 모든 사이트의 기본값이 됐지만, 그것만으로 보안이 끝나지는 않습니다.
매주 월요일 오전 8시

한 주에 한 통,
오래 남는 이해를 보냅니다.

흘려보내지 않는 글만 골라 보내드립니다. 광고와 추적, 외부로 빠지는 미끼 링크 없이 메일 안에서 끝나는 한 통입니다.

언제든 한 번의 클릭으로 해지할 수 있습니다. 스팸은 보내지 않습니다.