
우리가 매일 주소창에 치는 https://에서 'S'는 단순한 문자가 아니라, 데이터가 암호화되어 안전하게 전송되고 있음을 의미한다.
만약 HTTP를 그대로 사용한다면, 카페의 공용 와이파이 등을 통해 누군가 내 비밀번호나 개인정보를 그대로 훔쳐볼 수 있다.
이를 방지하기 위해 브라우저와 서버가 통신을 시작하기 전, 서로의 신원을 확인하고 암호화 방식을 합의하는 과정이 바로 TLS Handshake다.
TLS(Transport Layer Security) 핸드쉐이크는 복잡해 보이지만, 본질은 "너 믿을 만한 사람이야?"라고 묻고 "이 열쇠로 우리끼리만 암호화해서 얘기하자"라고 약속하는 과정이다.
Client Hello
Server Hello & Certificate
Key Exchange
TLS는 보안성을 위해 비대칭키(공개키) 방식을 사용하고, 실제 통신의 속도를 위해 대칭키 방식을 혼합하여 사용한다.
비대칭키
대칭키
네트워크의 흐름을 이해하는 것은 단순히 지식을 쌓는 것을 넘어, 더 견고하고 빠른 서비스를 만드는 밑거름이 된다.
네트워크 기초와 최근 깊이 있게 파고든 브라우저의 동작 원리를 결합하여, 성능과 보안이라는 두 마리 토끼를 모두 잡는 개발자로 성장해 나가고자 한다.