티스토리 뷰
SSL/TLS란 무엇인가? | HTTPS가 동작하는 원리 쉽게 정리
웹사이트 주소창에 https://가 붙어 있는 것은 이제 너무 익숙한 모습입니다. 하지만 막상 “HTTPS가 왜 안전한지”, “SSL과 TLS는 뭐가 다른지”, “인증서는 왜 필요한지”를 설명하려고 하면 생각보다 헷갈리는 경우가 많습니다.
특히 이런 질문이 자주 나옵니다.
- SSL과 TLS는 같은 말인가?
- HTTPS는 정확히 무엇을 보호하는가?
- 브라우저는 서버를 어떻게 믿는가?
- 인증서는 왜 필요하고 누가 발급하는가?
- 암호화는 정확히 어떤 흐름으로 이루어지는가?
많은 분들이 HTTPS를 단순히 보안이 적용된 웹사이트 정도로 이해하지만, 실제로는 그 뒤에 암호화, 인증, 무결성 검증이 함께 작동하고 있습니다.
이번 글에서는 SSL/TLS가 무엇인지, 왜 HTTPS가 필요한지, SSL과 TLS는 어떤 관계인지, 인증서는 어떤 역할을 하는지, 그리고 HTTPS가 실제로 어떤 흐름으로 동작하는지까지 쉽게 정리해보겠습니다.
기본 HTTP 통신은 평문(Plain Text)으로 데이터를 주고받는 방식입니다. 즉 네트워크 구간에서 누군가가 패킷을 볼 수 있다면, 이론적으로는 요청과 응답 내용을 그대로 읽을 수 있습니다.
예를 들어 사용자가 로그인 폼에 아이디와 비밀번호를 입력했다고 해보겠습니다. 만약 이 정보가 보호되지 않은 채 전송된다면 중간에서 내용을 들여다볼 위험이 생깁니다.
HTTP만 사용할 때 생길 수 있는 대표적인 문제는 아래와 같습니다.
- 통신 내용이 노출될 수 있음
- 데이터가 중간에서 변조될 수 있음
- 접속한 서버가 진짜인지 확인하기 어려움
즉 문제는 단순히 “내용이 보이느냐”만이 아닙니다. 누가 통신 상대인지 믿을 수 있는가도 함께 중요합니다.
SSL은 Secure Sockets Layer의 약자이고, TLS는 Transport Layer Security의 약자입니다.
원래는 SSL이 먼저 사용되었고, 이후 보안적으로 개선된 후속 표준이 TLS입니다. 그래서 오늘날 실무나 브라우저 환경에서는 대부분 TLS를 사용하지만, 여전히 관성적으로 “SSL 인증서”, “SSL 설정” 같은 표현이 많이 남아 있습니다.
즉 현재 시점에서는 이렇게 이해하면 됩니다.
- SSL: 과거에 쓰이던 보안 프로토콜 이름
- TLS: 현재 사용되는 후속 표준
- SSL/TLS: 관용적으로 함께 묶어 부르는 표현
그래서 제목이나 설명에서 SSL/TLS를 함께 쓰더라도, 실제 동작은 보통 TLS 기준으로 이해하는 것이 맞습니다.
HTTPS는 HTTP + TLS라고 보면 됩니다. 즉 웹 통신 자체는 HTTP 방식으로 이루어지지만, 그 통신 구간을 TLS로 보호하는 것입니다.
쉽게 말하면,
HTTP = 그냥 웹 통신
HTTPS = TLS로 보호된 웹 통신
입니다.
사용자가 브라우저에서 https://example.com에 접속하면, 브라우저와 서버는 먼저 TLS 연결을 맺는 과정을 진행합니다. 그 연결이 안전하게 만들어진 뒤에야 실제 HTTP 요청과 응답이 그 안에서 오가게 됩니다.
즉 HTTPS는 “HTTP가 사라진 것”이 아니라, HTTP를 안전한 터널 안에 넣어 전송하는 구조라고 이해하면 됩니다.
TLS가 제공하는 핵심 기능은 크게 3가지로 정리할 수 있습니다.
- 기밀성(Confidentiality)
통신 내용을 암호화해서 제3자가 쉽게 읽지 못하도록 합니다. - 무결성(Integrity)
데이터가 중간에서 변조되지 않았는지 확인할 수 있게 합니다. - 인증(Authentication)
접속한 서버가 진짜 서버인지 확인할 수 있게 합니다.
이 세 가지가 함께 있어야 HTTPS가 단순 암호화 이상의 의미를 갖습니다.
예를 들어 비밀번호가 암호화되어도, 접속한 대상이 가짜 서버라면 문제가 됩니다. 그래서 인증서와 서버 검증이 중요한 것입니다.
브라우저는 서버가 보내온 인증서를 보고 “이 서버가 정말 내가 접속하려는 도메인의 서버가 맞는가?”를 검증합니다.
인증서에는 보통 이런 정보가 들어 있습니다.
- 도메인 정보
- 공개키(Public Key)
- 발급 기관 정보
- 유효 기간
- 전자서명 정보
여기서 핵심은 인증서가 단순 소개 카드가 아니라, 신뢰 가능한 인증기관(CA, Certificate Authority)의 서명을 통해 검증된다는 점입니다.
브라우저는 미리 신뢰하는 루트 CA 목록을 가지고 있고, 서버가 제시한 인증서가 이 신뢰 체계 안에서 유효한지 확인합니다. 유효하지 않으면 우리가 익숙하게 보는 “주의 요함”, “안전하지 않음” 같은 경고가 뜰 수 있습니다.
HTTPS 동작 원리를 초보자 기준으로 너무 복잡하지 않게 정리하면 대략 이런 흐름입니다.
1. 브라우저가 HTTPS 서버에 접속 요청
2. 서버가 인증서와 공개키 정보를 보냄
3. 브라우저가 인증서가 믿을 만한지 검증
4. 양쪽이 안전한 대칭키를 만들기 위한 절차 수행
5. 이후 실제 HTTP 데이터는 대칭키로 암호화해서 주고받음
왜 이렇게 하느냐면, 공개키 암호화와 대칭키 암호화는 역할이 조금 다르기 때문입니다.
- 공개키 암호화: 안전한 키 교환과 인증에 강점
- 대칭키 암호화: 실제 데이터 암호화를 빠르게 처리하는 데 강점
즉 HTTPS는 보통 처음 연결을 안전하게 만드는 구간과 실제 데이터를 빠르게 암호화하는 구간을 나눠서 생각하면 이해하기 쉽습니다.
이 흐름을 흔히 TLS 핸드셰이크라고 부릅니다. 초보자 단계에서는 세부 패킷 이름을 모두 외우기보다, “처음에 인증과 키 교환을 하고 그다음 안전한 통신을 한다” 정도로 이해해도 충분합니다.
- HTTPS면 무조건 완벽하게 안전하다.
HTTPS는 통신 구간을 보호하는 데 강력하지만, 서버 자체 취약점이나 피싱 사이트 문제까지 모두 해결하는 것은 아닙니다. - SSL과 TLS는 완전히 다른 기술이다.
현재는 TLS가 실제 표준이고, SSL은 관용적으로 남은 이름이라고 보는 편이 맞습니다. - 인증서는 암호화만 담당한다.
인증서는 서버 신원 확인과 공개키 전달에서도 핵심 역할을 합니다. - HTTPS를 쓰면 데이터가 절대 안 보인다.
통신 내용은 보호되지만, 도메인 수준 정보나 일부 메타데이터까지 모두 숨겨지는 것은 아닙니다.
- HTTPS는 HTTP를 TLS로 보호한 형태다.
- 현재 실무 기준으로는 SSL보다 TLS가 핵심이다.
- 인증서는 서버 신뢰성 검증에 매우 중요하다.
- 암호화만이 아니라 인증과 무결성도 함께 봐야 한다.
SSL/TLS를 처음 배울 때는 암호화만 강조되는 경우가 많습니다. 물론 암호화는 핵심 요소 중 하나지만, 조금 더 깊게 보면 더 중요한 질문은 이것입니다.
내가 지금 연결한 서버가 정말 내가 의도한 그 서버가 맞는가?
이 질문에 답하지 못하면, 아무리 데이터를 암호화해도 가짜 서버와 안전하게 통신하는 이상한 상황이 생길 수 있습니다. 그래서 인증서와 CA 체계가 중요하고, HTTPS는 단순 암호화 기술이 아니라 신뢰 가능한 연결을 만드는 체계로 이해하는 편이 더 정확합니다.
실무 이야기를 과하게 하지 않고 정리하면, 오늘날 웹 서비스는 사실상 HTTPS가 기본입니다. 로그인 페이지뿐 아니라 일반 페이지도 HTTPS를 적용하는 것이 일반적이고, 인증서 발급과 갱신 자동화도 많이 사용됩니다.
초보자 기준에서는 아래 정도를 이해해두면 충분합니다.
- HTTPS는 이제 선택보다 기본에 가깝다.
- 인증서가 만료되거나 잘못 설정되면 브라우저 경고가 뜰 수 있다.
- 로드밸런서, 리버스 프록시, CDN 같은 앞단 장비에서도 TLS 처리를 담당할 수 있다.
- 결국 중요한 것은 “어디에서 TLS를 종료하고, 어떻게 신뢰를 유지할 것인가”이다.
- Q. SSL 인증서와 TLS 인증서는 다른 건가요?
→ 현재는 대부분 TLS 기준으로 동작하지만, 관용적으로 여전히 SSL 인증서라고 많이 부릅니다. - Q. HTTPS를 쓰면 모든 보안 문제가 해결되나요?
→ 아닙니다. 통신 보호에는 매우 중요하지만, 애플리케이션 취약점이나 계정 탈취까지 모두 막는 것은 아닙니다. - Q. HTTPS는 왜 속도가 크게 느리지 않나요?
→ 처음 연결 과정에는 추가 작업이 있지만, 실제 데이터 전송은 빠른 대칭키 암호화를 활용하기 때문입니다.
SSL/TLS는 단순히 데이터를 숨기는 기술이 아닙니다.
- 통신 내용을 보호하고
- 데이터 변조를 막고
- 서버의 신뢰성을 검증하고
- HTTPS를 통해 웹 통신을 더 안전하게 만드는 기반 기술입니다.
그리고 오늘날 HTTPS를 이해하는 핵심은 암호화 + 인증 + 무결성을 함께 보는 것입니다.
마지막으로 한 줄로 정리하면 이렇습니다.
SSL/TLS는 브라우저와 서버 사이에 신뢰할 수 있는 안전한 연결을 만들고, 그 위에서 HTTP를 HTTPS로 보호해주는 핵심 보안 기술입니다.
'IT > DevOps·Infra' 카테고리의 다른 글
| Nginx란 무엇인가? 리버스 프록시와 로드밸런싱 개념 쉽게 이해하기 (0) | 2026.03.28 |
|---|---|
| 로드밸런서란 무엇인가? | L4, L7 차이까지 쉽게 정리 (0) | 2026.03.27 |
| Docker 설치부터 기본 명령어, 사용 예시까지 | 초보자 입문 가이드 (0) | 2026.03.26 |
| Docker란 무엇인가? | 컨테이너 개념을 초보도 쉽게 이해하기 (0) | 2026.03.26 |
| CI/CD란 무엇인가? | 배포 자동화를 쉽게 이해하기 (0) | 2026.03.26 |

