[SW 정글 3일차] SSL이 만료되면 어떻게 되나요?

rg.log·2022년 9월 20일
0

SW 사관학교 JUNGLE

목록 보기
2/31
post-thumbnail

웹사이트 디자인을 담당하던 언니에게 오랜만에 톡이 왔다.
알던 내용과 더불어 마침 week0 토이프로젝트를 진행하며 사용했던 https에 대해 정리해보았다.

HTTPS 란

HTTP over Secure Socket Layer 의 약자로 즉 SSL(Secure Socket Layer)을 이용한 HTTP 통신 방식을 말한다.

이제 HTTP가 궁금할 것이다. 간단하게 HTTP는 웹 환경에서 브라우저와 웹서버가 통신하는 방법이다.

크롬 주소창에 http://velog.io/@zxcvbee 와 같이 주소를 입력하면 웹서버로 요청을 보내고, 웹서버는 요청에 맞는 페이지를 응답으로 보내주게 된다. 이 예시에서는 보고 계신 블로그일 것이다. 요청에 따라 로그인이라면 페이지 주소가 아닌 아이디, 패스워드와 같은 중요데이터일 수 있다.

HTTP의 치명적 단점인 보안

HTTP를 개발 처음에 많이 공부하나, 브라우저와 웹서버가 통신할 때 주고 받는 데이터가 암호화 되지 않은 채로 전송되는 단점을 가지고 있다. 해커가 중간에 도청을 하게된다면 그대로 정보를 탈취할 수 있는 것이다.


마치 돈다발이 든 가방을 들고 다니는데 비밀번호가 없는 것과 같다. 누군가 가방을 훔쳐가지 않고, 어딘가에 두고 올 일이 없어 다른 누군가 만질 일이 없는 정상적인 상황이라면 OK 지만, 혼란한 세상 속 조금이라도 정상적이지 않은 상황에서는 문제가 되는 것과 같다.

그래서 HTTPS란

HTTP에 SSL이라는 기술을 더해 데이터를 암호화해서 통신하는 것이다. 중간에 도청을 당해도 내용을 알아볼 수 없다.

이제 HTTPS의 소중함을 느꼈을 것이다. 그럼 HTTPS에서 사용되는 암호화는 어떤 것인지 알아보자.

암호화

브라우저에서 암호화 알고리즘으로 데이터를 잠궜다면(암호화) 서버에서는 해당 데이터에 맞는 키로 열어야 한다.(복호화)

안타깝게도 여기서 또 한가지 문제가 존재한다. 키를 주고 받을 때 해커가 가로챌 수 있다. 해커가 키를 가져간다면? 아무리 데이터를 암호화해서 통신해도 마음껏 복호화해서 데이터를 볼 수 있을 것이다. 그럼 키를 또 암호화하고 그 키를 또.. 무한굴레에 빠지는 생각이 들 것이나 조금 더 알게 된다면 명쾌해질 것이다.

SSL

Secure Sockets Layer 줄여서 SSL은 암호화 통신과 그에 사용되는 키를 공유하도록 하는 기술이다. CA라는 전세계에서 신뢰받는 인증기관은 암호화에 사용되는 키를 담은 인증서를 발급하고 관리한다.

브라우저(chrome)는 웹서버(google)와 통신하기 전에 인증기관 리스트를 확인해 인증기관에 현재 통신하려는 웹서버의 인증서가 있는지 확인하고 받는다.


인증서에는 웹서버가 인증서 발급시 첨부한 암호화키가 들어있으므로 이것으로 데이터를 암호화하여 웹서버와 통신한다. 웹서버는 자신의 암호화키로 복호화하면 된다.

제 3자인 CA 인증기관이 관리하는 SSL을 사용하기 때문에 암호화 키를 나눠갖는 과장에서 탈취 당하지 않을 수 있다!


주소창에 이렇게 자물쇠 표시 혹은 https:// 로 표시된 것을 자주 볼 수 있을 것이다. https의 사용율이 이전에 비해 월등히 높아졌기 때문일 것이다.

SSL이 만료되면 어떻게 되나요?

SSL을 사용한 HTTPS와 HTTP에 대한 이해가 생겼으니 유추할 수 있을 것이다. SSL이 만료된다면 사이트의 안전성을 증명할 수 없기 때문에 사이트의 보안이 죽었다고 할 수 있다. 하여 기업에서는 보안인증서 만료일 전 갱신이 필요할 것이다.

참고. HTTPS
웹에서 HTTPS 암호화 – Google 투명성 보고서

0개의 댓글