HTTPS란?
2026.02.24 - [CS] - 🚨(스포주의) HTTP 몰아보기 (결말포함)
🚨(스포주의) HTTP 몰아보기 (결말포함)
What is HTTP?HTTP는 서버와 클라이언트가 데이터를 주고받는 통신 규약이다. 0과 1의 비트 배열로 변환할 수 있다면, 텍스트, 이미지, 영상, 음성 어떤 형태의 데이터든 전송이 가능하다. 우리가 웹사
asht1214.tistory.com
2026.02.25 - [CS/보안] - 🔑키 훔치면 아무것도 못하쥬? (대칭키 vs 비대칭키)
🔑키 훔치면 아무것도 못하쥬? (대칭키 vs 비대칭키)
Intro. 암호학의 양대산맥인 대칭키 암호와 비대칭키 암호에 대해서 알아보자. 대칭키와 비대칭키 말고도 일방향 해시 함수와 하이브리드 암호도 있다. 하지만, 대킹키 암호와 비대칭키 암호가
asht1214.tistory.com
우선 HTTP와 암호화에 대해서 알고 있어야 이 글을 이해하기 쉽다.
저번 게시글에서 HTTP에 대해서 알아보았다. HTTP는 단순히 정보를 쉽게 주고 받기 위해 만들어진 프로토콜이기 때문에, 중간에 누가 가로채간다면 데이터가 쉽게 노출될 수 있다. 이러한 보안상의 약점을 보완하기 위해 만든 것이 HTTPS(HTTP Secure)이다.

요즘은 전부 HTTPS를 사용한다. 당장 내 블로그 주소만 봐도, 앞에 https가 붙는 것을 확인할 수 있다. 집 문을 열어놓고 외출하는 사람은 없는 것과 마찬가지다.
작동 원리
HTTPS는 CA(Certificate Authority)라는 제 3자의 인증기관을 통해 서로가 진짜임을 확인하고, SSL/TLS 암호화 알고리즘을 통해 주고 받는 정보를 암호화하여 데이터를 안전하게 지킨다. 처음에 사용자가 HTTPS 기반 웹사이트에 접속했을 때 비대칭키 암호를 이용해 암호키를 전달하고, 후에 이 키를 이용해 대칭키 암호를 사용하여 데이터들을 주고 받는다.
속도를 위해서 주고받는 데이터는 비대칭키 암호가 아닌 대칭키 암호로 암호화한다. .
CA니 SSL/TLS니 생소한 단어가 많이 보인다. 현재는 간략히 그런게 있구나 정도만 알고 있으면 된다. 후에 다른 게시글로 자세히 다루겠다.
안 쓰면 어떻게 될까?
보안 때문에 사용하는 것은 알겠다. 근데 구체적으로 HTTPS를 사용하지 않을 때 어떤 일들이 일어날까?
스니핑 (Sniffing, 패킷 감청)
가장 흔한 공격의 형태로, 네트워크 중간에서 주고받는 데이터들을 몰래 훔쳐보는 것이다. (도청장치) 공공 와이파이 등을 해킹해 주고받는 데이터들을 가로챌 수 있는데 이때 HTTP를 사용하면 암호화하지 않은 평문을 보내기 때문에 사용자의 정보들이 쉽게 노출될 수 있다.
중간자 공격 (MITM, Man in the Middle)
비대칭키 암호에서 설명했을 때와 비슷하게, 서버와 유저 사이의 통신 과정에서 공격자가 몰래 끼어뜨는 공격 방법이다. 보통 이런 경우 사용자는 자신이 공격을 당하고 있다는 사실조차 인지하지 못한다. 자신은 올바른 상대방과 통신하고 있다고 믿지만, 실상은 모든 데이터가 공격자를 거쳐가기 때문에 도청 뿐만 아니라 무단으로 수정도 가능하다.
파밍 및 파싱 (Pharming & Phishing)
HTTPS의 과정 중에는 사이트가 진짜인지 인증하는 과정이 있다. 즉 HTTP는 인증하는 과정이 없기 때문에 가짜 사이트를 만들기가 매우 쉽다. 예를 들어, 평소처럼 쿠팡 사이트에서 로그인하고 물건을 담고 결제를 진행했는데, 알고 보니 공격자가 만든 정교한 가짜 사이트였다면, 당신의 정보는 모두 공격자에게 넘어가게 됩니다.
장단점
가장 큰 장점은 당연하게도 데이터 보호이다. 민감한 정보를 숨기는 기밀성과 동시에 데이터가 의도한대로 제대로 작동하는 무결성 또한 보장한다. 근데 그러면 더 복잡한 과정을 거치기 때문에 속도가 느려질 것이라 생각이 들 수도 있지만, 의외로 속도도 빨라진다. 최신 통신 규약인 HTTP/2.0과 HTTP/3.0이 HTTPS 환경에서만 작동한다. 2.0과 3.0 버전에는 여러 리소스를 한 번에 전송하는 기술을 지원하기 때문에 기존의 HTTP/1.1보다 훨씬 빠른 속도로 데이터를 전송할 수 있다.
완벽한 사람은 세상에 존재할 수 없듯이 완벽한 기술 또한 존재할 수 없다. HTTPS에도 HTTP의 단점을 보완하며 얻은 이점으로 인해 그에 따른 단점도 생길 수 밖에 없다. 우선, 비용이 발생한다는 문제다. 인증서를 보장해주는 기관이 존재함에 따라 기관에 돈을 내야하는 상황이 생긴다. 최근에는 그 비용이 점점 줄어드는 추세이긴 하다. 또한, 서버의 CPU를 추가적으로 사용한다는 점과 인증서를 주기적으로 갱신해야 하기 때문에 관리하는 것도 일이다.
현재는 거의 모든 웹사이트가 HTTPS 환경을 전제로 만들어진다. HTTP는 사용자가 항상 의심을 하며 서비스를 사용해야 하고, 서비스를 제공하는 입장에서도 자신들이 진짜이고 안전하다는 사실을 수시로 확인시켜줘야 한다. 문제가 발생해도 추적도 불가능하기 때문에 미연에 방지하는 방법 말고는 문제가 발생하면 해결할 수가 없다.
경찰서가 없는 마을이라고 생각하면 된다.
'CS > Web 이론' 카테고리의 다른 글
| 🚨(스포주의) HTTP 몰아보기 (결말포함) (0) | 2026.02.24 |
|---|
