본문 바로가기

Network

[얄팍한 코딩사전] HTTPS는 무엇인가? 그리고 왜 쓸까?(ft. 대칭키 vs 비대칭키) 1편

보통 주소창에 주소를 적을 때, www앞에 https:// 이렇게 붙인다.

예전에는 http:// (HTTP)가 많았지만, 요즘 공신력 있는 사이트 대부분은 거의 https:// (HTTPS)를 많이 사용한다.

*TMI: 청와대 홈페이지는 아직도 http://이다... 그래서 주소창을 보면 '주의요함'이 적혀있다!

청와대 홈페이지. 아직도 http://를 사용하고 있더라..

 

HTTPS의 S는 Secure, 즉 기존의 HTTP사이트보다 더 안전하다는 얘기.

(HTTP over SSL(TLS), HTTP over Secure라고 부르기도 한다.)

 

HTTPS요청을 SSL 혹은 TLS라는 알고리즘을 이용해 HTTP통신을 하는 과정에서 내용을 암호화하여 데이터를 전송하는 방법.
→ 이 내용은 어려우니 다음에 차차 설명하도록 하겠다.

 

그렇다면 무엇으로부터 안전하다는 걸까?

 

1. 먼저, 내가 어떤 웹사이트에 보내는 정보를 제 3자가 훔쳐보지 못하게 한다.(암호화)

내가 네이버에 접속하여 id와 password를 입력한다고 하자.

로그인 버튼을 누르면, 나의 소중한 id와 password정보가 인터넷을 타고 네이버 서버로 전송이 된다.

 

 1/ HTTP로 보낼 경우

- 내가 입력한 id, password 정보가 입력된 텍스트 그대로, 누구든 알아볼 수 있는 형식으로 보내진다.

- 만약 누군가가 이 정보를 중간에 들여다본다면, 그 사람은 이제 나의 네이버 아이디와 비번을 알게되는 것이다..

 

이렇게 HTTP는 id, pw가 누구든지 알아볼 수 있는 형식으로 전송된다.

 

 

HTTP프로토콜은 요청 및 응답을 탈취한다면 프로그램을 이용하여 아래와 같이 해당 요청으로 전달되는 데이터의 내용을 확인할 수 있다.

아래 사진은 데이터를 전송하는 요청을 'wireshark'라는 패킷분석 프로그램을 이용하여 캡쳐한 사진.

하이라이트된 부분부터 보면 id, password가 나온다!

 

보통 여러 사이트와 앱에서 같은 아이디와 비번으로 설정하다보니

한 곳에서만 털려도 사실상 나의 모든 사이버정보가 털린다고 볼 수 있다.

출처:https://blog.naver.com/bounceout/222484866929

!!유퀴즈에 나오신 화이트해커 박찬암씨도 사이트별로 비밀번호를 다르게 하는게 중요하다고 하셨습니다!!

 

 

 

 

2/ HTTPS로 보낼 경우

- 반면 HTTPS로 보낼 경우, 정보들을 네이버만 알아볼 수 있는 '뒤죽박죽이 된 텍스트'(암호화된 데이터)로 변경하여 실어보낸다. 그 어떤 사람들이 들여다봐도 뭐라고 쓴건지 알아볼 수 없도록!

 

 

아래 사진은 위 사진과 동일한 요청을 프로토콜만 HTTPS로 변경했을 때의 데이터를 캡쳐한 사진이다.

전혀 알아볼 수 없도록 암호화가 되어 전송되고있다.

 

 

 

 

2. 내가 접속한 사이트가 신뢰할 수 있는 사이트인지를 판별해준다.

네이버에 접속하려고 링크를 클릭했는데, 알고보니 '네이놈'이라는 피싱 사이트인 경우가 있다.

그 사이트에 나의 네이버 아이디, 비번을 입력해버리면 이 피싱 사이트가 나의 네이버 계정 정보를 알게된다.

은행 온라인 뱅킹 사이트일 경우는 더더욱 큰일난다.

HTTPS는, 이런 수상한 사이트를 걸러낼 수 있도록 해준다.

 

Q. 어떻게?

→ 기관으로부터 검증된 사이트만 주소에 HTTPS사용이 허가되고,

HTTP를 사용하는 사이트들은 주소창에 '안전하지 않다'는 표시가 뜨게된다. (청와대 홈페이지처럼...)

 

 

정리하자면, HTTPS는

1. 내가 사이트에 보내는 정보를 제3자가 못보게 한다.

2. 내가 접속하는 사이트가 믿을만한 곳인지 알려준다.

크게  이 2가지 덕분에 HTTP보다 훨씬 안전하다.

 

 

대칭키와 비대칭키에 대한 설명은 다음편에!

To be Continued..!

 

**모든 글과 그림의 출처는 유튜브 영상 '얄팍한 코딩사전', '코드스테이츠'입니다.