다섯 살도 알 수 있게 · 보안
TLS가 뭐예요?
TLS 와 HTTPS 를 마을 상점과 봉인 편지를 주고받기로 약속하는 이야기로 풀어봤어요.
마을 빵집에 편지를 보내요. 그런데 배달부가 뜯어 봐요.길에서는 누가 읽는지 몰라요. 그래서 봉인 편지를 쓰고 싶은데, 빵집과 나는 만난 적이 없어요.
도장을 편지로 보내면 배달부가 베껴요. 게다가 어느 빵집이 진짜인지도 몰라요.둘만 아는 도장이 필요한데, 도장을 보내는 길이 바로 그 위험한 길이에요. 가짜 빵집에 봉인 편지를 보내면 더 나빠요.
TLS는 상점과 주고받는 봉인 약속이에요.먼저 빵집의 신분증을 확인하고, 둘만 아는 새 도장을 그 자리에서 만들어요. 그다음부터 편지는 다 봉인이에요.
신분증 먼저왕의 도장이 찍힌 것만
새 도장은 그 자리에서길로 보내지 않아요
편지마다 봉인배달부는 못 읽어요
자물쇠 표시약속이 됐다는 표시
약속은 네 마디면 끝나요. 도장은 길로 보내지 않고, 재료를 반씩 섞어 각자 만들어요.배달부가 오가는 말을 다 엿봐도 반쪽으론 도장을 못 만들어요. 그리고 이 도장은 오늘만 써요 — 내일은 새로 만들어요.
자물쇠는 편지를 지켜요. 하지만 가짜 빵집도 자물쇠를 달 수 있어요.자물쇠는 "봉인됐고 신분증을 봤다"는 뜻이지 "착한 상점"이라는 뜻이 아니에요. 가짜 편지가 이끄는 가짜 빵집도 자기 이름으로 신분증을 받을 수 있어요 — 이름을 꼭 봐요.
한 줄로
TLS = 상점의 신분증을 먼저 확인하고, 둘만 아는 새 도장을 그 자리에서 만들어, 그다음 편지를 전부 봉인하는 약속. 자물쇠는 그 약속이 됐다는 표시예요.
TLS, Transport Layer Security. HTTPS 의 S 가 이거예요. 핸드셰이크에서 서버 인증서를 검증하고 키 교환으로 세션 키를 만든 뒤, 이후 통신을 모두 암호화해요. 중간자 공격을 막지만, 상대가 '착한' 사이트인지는 보장하지 않아요.
어른들은 이렇게 불러요
- HTTPS
HTTPS - 봉인 약속을 한 상점 주소. 주소 앞에 https 가 붙고 자물쇠가 보이면, 그 상점과는 봉인 편지로만 주고받아요.
- 핸드셰이크
Handshake - 약속을 맺는 네 마디. 안녕 → 신분증 → 재료 반씩 → 봉인 시작. 편지를 보내기 전에 딱 한 번 해요.
- 세션 키
Session key - 오늘만 쓰는 새 도장. 그 자리에서 만들고, 길로 보내지 않고, 끝나면 버려요. 내일은 새로 만들어요.
- 인증서
Certificate - 빵집의 신분증. 왕의 도장이 찍혀 있어야 믿어요. → 왕의 도장이 찍힌 신분증
- 자물쇠 아이콘
Padlock icon - 약속이 됐다는 표시. 봉인됐고 신분증을 봤다는 뜻. '착한 상점'이라는 뜻은 아니에요.
- 중간자 공격
Man-in-the-middle - 편지를 뜯어 보는 배달부. 신분증 확인과 봉인이 막아요. 가짜 신분증을 들이밀면 빨간 자물쇠가 떠요. → 편지를 중간에서 뜯어보는 배달부
- 암호화
Encryption - 봉인 편지 그 자체. TLS 는 봉인 편지를 낯선 상점과도 쓸 수 있게 해 주는 약속이에요. → 열쇠 없이는 못 읽는 편지
- 만료
Expiry - 기한 지난 신분증. 빵집 신분증도 기한이 있어요. 지나면 브라우저가 빨간 자물쇠로 돌려세워요.
다음 이야기
딱 필요한 열쇠만 →