10강 / 20강
https — 자물쇠가 실제로 증명하는 것
TLS 악수 · 인증서 · 신뢰의 사슬
주소창의 자물쇠. 많은 사람이 '이 사이트는 착하다' 로 읽지만, 실제 뜻은 둘뿐입니다.
자물쇠가 보장하는 것
가로채도 못 읽는다 — 내용이 암호화됐다.
상대가 이 이름의 주인이다 — 인증서로 증명됐다.
상대가 이 이름의 주인이다 — 인증서로 증명됐다.
보장하지 않는 것
이 사이트가 정직한지.
피싱 사이트도 자물쇠는 멀쩡히 답니다.
피싱 사이트도 자물쇠는 멀쩡히 답니다.
악수 — 넉 마디로
| # | 누가 | 무엇을 |
|---|---|---|
| 1 | 브라우저 | "안녕. 나는 이런 암호를 쓸 수 있어. 그리고 나는 drson.iotok.org 를 찾아왔어" |
| 2 | 서버 | "안녕. 이게 내 인증서야" — 이름과 공개키가 적혀 있고 CA 가 서명했다 |
| 3 | 브라우저 | 서명을 내가 믿는 CA 목록에 대 본다. 이름도 맞는지 본다 |
| 4 | 둘 다 | 이번 대화에만 쓸 열쇠를 만든다. 이제부터는 전부 암호화 |
신뢰의 사슬
내 인증서 ← 중간 CA ← 루트 CA
브라우저·운영체제에는 루트 CA 목록이 미리 들어 있습니다. 사슬을 따라가 그 목록의 누군가에 닿으면 믿고, 못 닿으면 경고를 띄웁니다.
12강의 오리진 인증서가 브라우저에서 경고를 내는 이유가 바로 이것이에요 — 그 사슬은 브라우저의 목록에 닿지 않습니다. 클라우드플레어의 목록에만 닿습니다.
발급자를 <code>믿는_루트</code> 안의 값으로 바꿔 다시 눌러 보세요.
Python
브라우저에서 실행
🤔 확인 문제
주소창에 자물쇠가 보입니다. 확실히 말할 수 있는 것은?
해설 자물쇠는 암호화와 이름의 주인 확인 두 가지만 말합니다. 사이트의 선의는 전혀 보장하지 않아요 — 피싱 사이트도 자물쇠를 답니다.