HTTPS가 뭐고 왜 쓰는걸까?

JAEHYUN·2022년 11월 14일
0

HTTPS (Hyper Text Transfer Protocol Secure)

HTTP나 HTTPS는 웹사이트 주소에서 많이 볼 수 있다. 예전에는 HTTP가 많았지만
요즘은 거의 HTTPS를 사용한다.

HTTPS를 사용하는 이유

1. 내가 어떤 웹사이트에 보내는 정보를 다른 누군가 훔쳐보지 못하게 한다.

내가 웹사이트에 아이디와 비밀번호를 입력하고 로그인 버튼을 누르면 인터넷을 타고 서버로 전송이 된다. HTTP로 보내게 되면 내가 입력한 텍스트 그대로, 누구든 알아볼 수 있는 형식으로 보내진다. 만약 누가 이 정보를 중간에 들여다본다면 내 개인정보는 유출이 되고 만다. 하지만 HTTPS로 전송을 한다면 해당 서버에 사람이 해석할 수 없는 비밀화된 텍스트로 변경해서 전송시킨다.

2. 내가 접속하려는 웹사이트가 신뢰할 수 있는 사이트인지 판별할 수 있다.

HTTPS는 피싱 사이트 같은 수상한 사이트를 걸러낼 수 있게 해준다. 기관으로부터 검증된 사이트만 주소에 HTTPS 사용이 허가되고, HTTP를 사용하는 사이트들은 주소창에 "안전하지 않음"이 뜬다.


위 두 가지의 보안 기능이 구현되는 이유는?

암호학에서 배우는 대칭키비대칭키(공개키)를 알아야 한다.

대칭키 암호는 암호화와 복호화에 같은 암호 키를 쓰는 알고리즘을 의미한다.
비대칭키 암호는 암호화와 복호화에 다른 암호 키를 쓰는 알고리즘을 의미한다.

클라이언트는 초기에 서버를 신뢰하지 못한다. 그래서 양쪽에서 일종의 탐색과정을 거치게 되는데, 먼저 클라이언트는 랜덤 데이터를 생성해서 서버에 보낸다. 랜덤 데이터를 받은 서버에서 역시 무작위로 만든 데이터, 해당 서버의 인증서를 클라이언트로 보낸다. 클라이언트는 서버로부터 받은 인증서가 진짜인지 가짜인지 확인하기 위해, 브라우저에 내장된 CA들의 정보를 통해 비대칭키로 확인하게 된다. CA의 인증을 받은 인증서들은 해당 CA의 개인키로 암호화가 되어있다. 이 인증서가 진짜라면 CA의 공개키로 복호화 할 수 있다. 만약 이 CA 리스트 중에 이 인증서가 해당하는 것이 없다면 브라우저 주소창에 "안전하지 않음"이 뜨게 된다.

이렇게 좋은 비대칭키(공개키)가 있는데 왜 대칭키를 쓸까?

비대칭키 방식으로 메시지를 암호화 및 복호화 하는 건 대칭키로 할 때보다 컴퓨터에 훨씬 큰 부담을 준다. 사이트를 이용할 때 주고받을 다량의 데이터를 비대칭키로 일일이 암호화, 복호화 하는 건 무리이기 때문이다.

profile
더 열심히 성장하고 싶은 개발자

0개의 댓글