이 만화를 읽기 시작하면서 브라우저의 주소 표시 줄에 녹색 자물쇠가 보일꺼야.
무슨일이 일어난 걸까?
그러나 먼저, 서버와 브라우져는 안전하게 의사 소통하는 방법에 동의해야해.
브라우저와 서버 간의 협상 프로세스를 '핸드 셰이크'라고해.
협상은 매우 빨리 진행돼. 우리가 협상의 과정이 어떻게 작동하는지 보여줄게.
자 시작하자 얘들아.
준비됬어? 천천히 살펴보는 '핸드 셰이크'는 다음과 같아.
끝!
한번 더 해볼게 대신 빠르게.
한-번-더 !
멈춰!
단계 별로 천천히 하자.
저는 Compugter에게 사용할 수 있는 SSL/TLS 버전과 암호화 알고리즘 목록을 보냅니다. 요즘은 TLS 1.3을 선호하므로 key_share도 함께 보냅니다.
암호화 알고리즘 목록의 멋진 단어는 'cipher suite'야.
저녁 식사에서 전문가처럼 보일 수 있어.
SSL 및 TLS 프로토콜은 시간이 지남에 따라 발전했으며, 자세한 이야기는 곧 해줄게.
그런 다음 컴퍼터그의 답변을 기다릴게.
저는 TLS 1.3과 암호 스위트를 선택하고 key_share도 반환합니다. 여기서부터 TLS 1.3은 나머지 핸드셰이크를 암호화합니다.
곧바로 제 인증서를 보내는데, 여기에 제 공개키가 포함되어 있어 상대가 제 신원을 확인할 수 있습니다.
컴퍼터그의 인증서가 합법적인지 확인해.
앞서 서로 key share를 보냈기 때문에, 둘 다 같은 비밀을 도출할 수 있어 기밀성이 확보됩니다.
ServerHello(2단계) 이후부터 핸드셰이크는 암호화됩니다.
두 측은 Finished 메시지를 교환하여 같은 비밀을 도출했음을 증명하고 — 한 번의 왕복으로 세션 키가 준비됩니다.
비밀번호, 신용 카드 정보, 모든 것.
간단하, 그렇지?
다음번에 안전하게 HTTPS를 통해 웹 사이트에 연결할 때는 브라우저에 샤카를 제공해줘 이제 비밀 핸드 셰이크를 알고 있으니까.