TLS
TLS(전송 계층 보안)는 인터넷에서 오가는 데이터를 암호화하고, 바뀌지 않았는지와 상대 서버가 진짜인지 확인하는 통신 규격이에요. HTTPS 의 자물쇠가 바로 TLS 예요.
목차 보기
TLS는 인터넷에서 오가는 내용을 암호화하고, 상대가 진짜인지 확인하는 통신 약속(규격)이에요. 두 사람이 비밀 편지를 주고받기 전에 잠깐 만나 "이번에 쓸 열쇠"를 몰래 정하는 절차와 비슷해요. 주소창의 https:// 와 자물쇠가 바로 TLS가 일하고 있다는 표시예요.
읽기 전에 알아 둘 말 3개
- 프로토콜 — 컴퓨터끼리 대화하는 순서와 형식을 정한 약속이에요.
- 핸드셰이크 — 본 통신 전에 서로 확인하고 열쇠를 정하는 첫 인사예요.
- 대칭키 — 잠그는 열쇠와 여는 열쇠가 같은 방식이에요. 빠르지만 열쇠를 안전하게 나누는 게 숙제예요.
TLS는 무엇을 지켜 주나요?
TLS는 Transport Layer Security(전송 계층 보안)의 줄임말이에요. 세 가지를 지켜 줘요.
- 엿보기 막기(기밀성) — 카페 와이파이 주인이 중간에서 봐도 내용을 못 읽어요.
- 바꿔치기 막기(무결성) — 중간에서 글자 하나만 바꿔도 받는 쪽이 알아채요.
- 가짜 막기(인증) — 접속한 서버가 진짜 그 주소의 주인인지 SSL 인증서로 확인해요.
웹에서 쓰면 HTTPS가 돼요. HTTPS는 평범한 HTTP를 TLS 상자에 넣어 보내는 거예요. 메일이나 앱 통신도 같은 TLS를 써요.
어떻게 연결을 맺나요?
TLS 1.3 기준으로 핸드셰이크는 이렇게 흘러가요.
- 브라우저 → 서버: "나는 이런 버전과 암호 방식을 쓸 수 있어." 열쇠를 만들 재료 절반도 같이 보내요.
- 서버 → 브라우저: 고른 방식과 나머지 재료 절반, 그리고 인증서와 서명을 보내요.
- 양쪽: 두 재료를 합쳐 이번 연결에서만 쓸 대칭키를 각자 계산해요. 이 열쇠는 선로 위로 한 번도 지나가지 않아요.
- 본 통신: 이제부터 오가는 내용은 전부 그 대칭키로 잠겨요.
재료를 공개해도 열쇠를 알 수 없는 수학을 쓰기 때문에 가능해요. 1.3에서는 이 인사가 한 번 주고받기(왕복 1회)로 끝나요.
SSL과는 뭐가 다르고, 버전은 어떻게 이어지나요?
SSL은 TLS의 옛 이름이자 앞선 규격이에요. 국제 표준 단체 IETF가 이어받으며 이름을 TLS로 바꿨어요. 지금 "SSL"이라고 부르는 것도 실제로는 대부분 TLS예요.
| 버전 | 표준 문서·시기 | 지금 상태 |
|---|---|---|
| SSL 3.0 | 1996년 판 | 2015년 사용 중단(RFC 7568) |
| TLS 1.0 | RFC 2246 · 1999년 | 2021년 사용 중단(RFC 8996) |
| TLS 1.1 | RFC 4346 · 2006년 | 2021년 사용 중단(RFC 8996) |
| TLS 1.2 | RFC 5246 · 2008년 | 아직 널리 쓰여요 |
| TLS 1.3 | RFC 8446 · 2018년 → 개정판 RFC 9846 · 2026년 7월 | 현재 기본 |
2026년 7월에 나온 RFC 9846은 새 버전이 아니라 TLS 1.3 설명서를 다듬은 개정판이에요. 버전 이름은 그대로 1.3이에요.
TLS 1.3은 무엇이 나아졌나요?
- 더 빨라요 — 1.2는 핸드셰이크에 왕복 2번이 필요했는데, 1.3은 1번이면 돼요.
- 낡은 방식을 뺐어요 — 오래된 키 교환 방식을 지워서, 나중에 서버 열쇠가 털려도 지난 대화를 풀 수 없게 했어요(전방 비밀성).
- 인사도 숨겨요 — 서버의 첫 답장 뒤부터는 핸드셰이크 내용까지 암호화돼요. 인증서도 이 안에서 오가요.
다시 접속할 때 첫 데이터를 바로 싣는 0-RTT 기능도 있어요. 다만 표준 문서는 이 데이터가 다시 보내기 공격에 약하다고 적고 있어서, 주문·결제 같은 요청에는 쓰지 않는 게 원칙이에요.
직접 확인해 보기 — 우리 사이트는 어떤 TLS를 쓸까?
2026년 10월 29일, 서울 사무실 PC에서 openssl 로 futureinfra.ai 에 버전을 하나씩 정해 접속해 봤어요. 옛 버전은 내 쪽 보안 수준을 일부러 낮춰서 시도했어요.
openssl s_client -connect futureinfra.ai:443 -servername futureinfra.ai -tls1_3
→ Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
→ Negotiated TLS1.3 group: X25519MLKEM768
openssl s_client ... -tls1_2 → Protocol: TLSv1.2 · ECDHE-ECDSA-AES128-GCM-SHA256
openssl s_client ... -tls1_1 → no peer certificate available · Cipher is (NONE)
openssl s_client ... -tls1 → no peer certificate available · Cipher is (NONE)
1.3과 1.2는 연결됐고, 1.1과 1.0은 서버가 받아 주지 않았어요. 표준에서 사용 중단된 버전을 막아 둔 거예요.
열쇠 재료를 나눈 방식(그룹)은 X25519MLKEM768 이었어요. 기존 방식 X25519에, 미국 표준기술연구소(NIST)가 2024년 표준으로 정한 ML-KEM(FIPS 203)을 섞은 거예요. 먼 미래의 양자컴퓨터로도 오늘 대화를 풀기 어렵게 하려는 방식이에요.
TLS가 시간을 얼마나 쓰는지도 쟀어요. curl 로 다섯 번 접속해 TCP 연결이 끝난 시점부터 TLS 핸드셰이크가 끝난 시점까지를 뺐어요.
curl -s -o NUL -w "%{time_connect} %{time_appconnect}\n" https://futureinfra.ai/
TLS 핸드셰이크에 걸린 시간: 8.7 · 8.9 · 10.7 · 9.4 · 9.1 ms → 중간값 9.1ms
0.009초 정도예요. 눈 한 번 깜빡이는 시간(약 0.1초)의 10분의 1도 안 돼요. 서울 안에서 잰 값이라 먼 나라 서버라면 더 걸려요.
자주 하는 오해
- "TLS가 있으면 안전한 사이트예요." TLS는 오가는 길을 지켜 줄 뿐이에요. 사이트 자체가 사기거나 서버에 취약점이 있으면 막지 못해요.
- "TLS는 웹에만 써요." 메일 전송, 앱과 서버 사이 API 통신, 데이터베이스 접속에도 써요.
- "암호화하면 많이 느려져요." 위 측정처럼 연결당 몇 밀리초예요. 1.3과 HTTP/2·3을 쓰면 체감 차이는 거의 없어요.
퓨쳐인프라에서는
위에서 본 것처럼 futureinfra.ai 는 TLS 1.3을 먼저 쓰고, 1.2까지 받아요. 퓨쳐인프라 가상서버를 만들면 주소와 인증서가 같이 붙어 처음부터 HTTPS로 열려요. 인증서는 90일마다 알아서 갱신돼요. 앱 호스팅도 도커 이미지 하나로 주소와 HTTPS가 자동이에요(월 5,500원부터). 가입하면 2,000원 크레딧으로 직접 만들어 위 명령으로 확인해 볼 수 있어요.
자주 묻는 질문
내 사이트가 어떤 TLS 버전을 쓰는지 어떻게 보나요?
위의 openssl 명령에 내 주소를 넣으면 돼요. 브라우저 개발자 도구의 보안(Security) 화면에서도 연결에 쓰인 버전이 보여요.
TLS 1.2를 계속 써도 되나요?
네, 1.2는 사용 중단 대상이 아니에요. 다만 서버가 1.3도 함께 받도록 열어 두는 게 좋아요.
오래된 기기에서 어떤 사이트가 안 열려요. 왜 그런가요?
그 기기가 TLS 1.0·1.1만 할 줄 알면, 옛 버전을 막아 둔 사이트와 말이 안 통해요. 운영체제나 브라우저를 업데이트해야 해요.
TLS와 SSL 인증서는 무슨 사이인가요?
TLS는 암호화 절차이고, 인증서는 그 절차 중에 서버가 내미는 신분증이에요. 인증서 이야기는 SSL 인증서 글에 따로 있어요.
이 글의 확인 출처
- TLS 1.3 개정판 — IETF RFC 9846 (원판 RFC 8446)
- TLS 1.0·1.1 사용 중단 — IETF RFC 8996
- ML-KEM 표준 — NIST FIPS 203
- openssl s_client 사용법 — OpenSSL 문서
관련 용어
- 작성: 서순명(솔리드그루 이사 · 퓨쳐인프라 — 국내 IDC 에서 클라우드 서버·앱 호스팅·AI API 를 운영) · 작성일 2026년 10월 29일
- 운영사: 솔리드그루 · 사업자등록번호 875-44-00335 · 서울특별시 구로구 디지털로29길 38, 7층 707호 · 전화 02-6933-6229 · support@futureinfra.ai · 고객센터 · 이용약관
- 한계: 직접 확인은 2026년 10월 29일 서울 사무실 PC 한 대에서 futureinfra.ai 한 곳에 접속해 본 것이에요. 핸드셰이크 시간은 5회만 쟀고 다른 지역·회선은 재지 않았어요.
- 이해관계: 퓨쳐인프라는 이 글을 쓴 회사의 서비스이고, 글 안에 가상서버·앱 호스팅의 자동 HTTPS 안내가 들어 있어요.
연관 서비스
많이 본 글
-
블로그
무료 도메인 사이트 추천 2026 — 내도메인.한국·DuckDNS 발급 방법
내도메인.한국·DuckDNS 처럼 계속 무료인 주소 10곳을 11월 3일 서울에서 다시 재고(6곳 6ms 안), 발급 순서·구글·네이버 무료 주소·'첫해 무료'의 2년째 값까지 정리했어요. -
블로그
도메인 구매 사이트 추천 2026 — 가비아·후이즈 등 15곳 갱신·이전비 비교
같은 .co.kr 도 등록업체 15곳의 3년 값이 3.8만~8.6만 원이에요(11월 3일 KRNIC 표). 갱신가·이전비·해외 업체 조건, 11월 인상 뒤 가비아 실제 화면, 구매처 확인과 기관이전까지 정리했어요. -
블로그
클로드 MCP·Gemini MCP 연동 방법 2026, MCP 서버 9곳
클로드 MCP(데스크톱·Claude Code)와 Gemini MCP 연동(Gemini CLI·안티그래비티·Gemini 앱·API) 등 9곳의 MCP 서버 연결법을 공식 문서로 정리했어요. 원격 57ms 실측과 오류 해결까지. -
블로그
Gemini 3.9 Flash 나왔나요? 지금 최신은 3.8 Flash — 3.7과 직접 잰 속도·비용
2026년 9월 22일 기준 Gemini 3.9 Flash는 미출시입니다. 최신 3.8 Flash의 사양·가격(2027년 2배 인상)과, 3.7 Flash와 같은 과제로 직접 잰 속도·비용·JSON 형식 준수 차이를 정리했습니다. -
블로그
서버비 한 달 얼마? 방문자 10만 명도 월 3만 2천 원(2026 계산)
월 방문자 1천·1만 명은 1만 4천 원, 10만 명은 3만 2천 원이에요. 요금제별 트래픽 기본 제공량까지 넣어 다시 계산하고 AWS·카페24·가비아·네이버클라우드 값과 숨은 비용을 비교했어요(2026-10-26 확인).
댓글 0
로그인하면 댓글을 남길 수 있습니다.