🌐 HTTPS 의 작동 원리

오늘날 우리는 인터넷이라는 기술을 통해 빠르고 편리하게 다양한 정보를 주고 받으며 살고 있습니다. 이렇게 정보를 주고 받을 때 가장 많이 사용하는 기술 중 하나가 HTTP 라는 통신 프로토콜인데요, 이 통신 프로토콜에는 한가지 단점이 있었으니 그건 바로 중간에서 누군가가 통신하고 있는 내용을 엿볼 수 있다는 겁니다. 만약 내가 네이버에 로그인할 때 사용한 아이디나 비밀번호 혹은 내가 은행 어플을 통해 사용한 계좌나 비밀번호를 누군가가 알 수 있다면 어떻게 될까요? 아마 사람들은 절대 인터넷 혹은 HTTP 통신을 사용하는 서비스를 쓰지 않을 겁니다. 그래서 이러한 사태를 막고 HTTP 통신시 주고받는 정보를 보호하기 위해 만들어진게 바로 HTTPS(HTTP Secure) 입니다. HTTPS 의 동작은 과거 전쟁 영화에서 자주 나오는 암호로 된 통신과 유사합니다. 우리가 서버로 데이터를 전달할 때 이를 평문이 아닌 특정 규칙으로 암호화하여 전달하고 이를 받은 서버는 다시 복호화 하여 데이터를 읽어들이는 것이죠. 이를 통해 혹여 해커가 통신 과정에서 정보를 탈취하더라도 해당 정보가 정확히 어떤걸 의미하는지 알기 힘들게 합니다. 이렇게 클라이언트와 서버간의 암/복호화가 가능하도록 하기위해서는 서로의 신분을 확인하고 어떤 암호화를 수행할지 등을 확인하는 과정이 필요한데요 이를 SSL 핸드쉐이크라고 불립니다. SSL 핸드쉐이크는 다음과 같은 순서로 진행이 됩니다. 1️⃣ 클라이언트가 웹 서버에 접속합니다.(Client Hello) 이때 클라이언트는 클라이언트에서 사용하는 SSL/TLS 버전 및 지원하는 암호화 방식, 임의의 난수 등을 전달합니다. 2️⃣ 서버가 클라이언트에게 응답 및 정보를 제공합니다.(Server Hello) 이때 서버는 클라이언트가 전달한 암호화 방식 중 서버가 지원하는 암호화 방식 및 SSL 인증서, 임의의 난수 등을 전달합니다. 3️⃣ 클라이언트는 응답을 준 서버가 신뢰할 수 있는지를 SSL 인증서로 확인합니다. 혹시나 웹 브라우저로 인터넷을 쓰시다가 신뢰할 수 없는 사이트라는 화면을 보신적이 있다면 이 과정에서 인증서에 문제가 있었기 때문에 나타나는 것이라고 이해하시면 됩니다. 4️⃣ 클라이언트는 자신이 생성한 난수와 서버의 난수를 사용하여 premaster secret 을 만듭니다. 5️⃣ 서버는 사이트의 비밀키로, 클라이언트가 보낸 premaster secret 값을 복호화 합니다. 6️⃣ 서버와 클라이언트 모두 SSL 핸드쉐이크를 종료하고 HTTPS 통신을 시작합니다. 공유해드린 게시물에 위와 관련되어 좀더 자세한 내용들이 정리되어있으니 관심있으신 분들께서는 한번씩 읽어보시면 좋겠습니다.

안전한 웹을 위해 HTTPS 이해하기: ①HTTPS의 작동 원리 | 요즘IT

요즘IT

안전한 웹을 위해 HTTPS 이해하기: ①HTTPS의 작동 원리 | 요즘IT

다음 내용이 궁금하다면?

지금 간편 가입하고 다음 내용을 확인해 보세요!

또는

이미 회원이신가요?

2023년 1월 16일 오전 6:17

 • 

저장 60조회 2,615

댓글 0