본문 바로가기

Dev. Etc/knowledge

Http와 Https은 무엇이 다른가? (차이점)

 

HTTPHTTPS의 개념과 차이

 

인터넷을 하다보면 웹 페이지 주소창에 http로 시작하는 것이 있고 https로 시작하는 것이 있습니다.

우리가 일반적으로 www.naver.com이라고 입력하면 브라우저는 자동으로 앞에 http://를 붙여줍니다.

https://와 http://는 어떤 차이가 있을지에 대해 알아보겠습니다.

HTTPHTTPS

웹은 크게 클라이언트와 서버로 나뉘게 됩니다. ( 웹 브라우저는 크롬, 익스플로러, 사파리 등이 있습니다.)

웹 브라우저(클라이언트)가 웹 서버에 무엇인가를 요청할 때 사용하는 프로토콜입니다.

즉, http와 https는 둘다 요청할떄 사용되는 프로토콜이기에 PC입장에서 보면 단순한 텍스트 교환입니다.

그냥 일반적인 텍스트가 HTTP와 HTTPS에 탑재되어 있습니다. 하지만, 이렇게 주고받는 신호를 중간에

누군가가 가로채서 텍스트 내용을 볼수도있습니다.

 

 

* HTTP는 이러한 주고 받는 모든 데이터들을 암호화가 되어있지 않은 상태로 데이터를 주고받는 프로토콜입니다.

만약에 내가 메일을 읽고 있는데 누가 그 신호를 가로챈다면 메일 내용을 읽을 수 있습니다.

즉, 보안성에서 굉장히 취약합니다.

 

 

*  HTTPS는 HTTP와 같지만, 모든 통신 내용을 암호화합니다.

HTTPS에서 s는 secure socket을 의미하며, 안전한 통신망을 뜻합니다.

우리는 파일에 암호를 많이 걸어 봤습니다. 어떤 키를 설정해서 걸면 나중에 풀 때에도 그걸 입력해서 풉니다.

키라는 것은 암호화를 푸는 패스워드 같은 것입니다. 웹서버가 키 하나를 정해서 페이지를 암호화해서 사용자의 웹브라우저로 보내고

웹 브라우저는 그 키를 사용해서 페이지를 열어봅니다. 하지만, 웹 서버를 하나이지만 사용자(웹브라우저 / 클라이언트)는 다수입니다. 그런데 키를 사용자들에게 주면 아무나 암호화를 풀 수 있게 됩니다.

, 페이지 암호화 키가 그 페이지를 보는 특정 사용자에게만 알려줘야 합니다.

예를 들어 두개의 A,B의 키가 있습니다. 11번가 사이트를 통해 들어오는 사용자들에게 B라는 키만 알려줍니다.

여기서 A키는 개인키이고, B키는 공개키입니다.

그러면 11번가에 연결을 시도한 사용자는 B키를 얻었기에 데이터를 암호화해서 서버에 전송하고, 서버는 A라는 개인키를 이용해서 복호화 합니다.

반대로 서버가 정보를 제공해야할경우, A키로 암호화한 데이터를 전송하기 때문에 B키가 있는 사용자는 정보를 복호화해서 볼수있습니다.

A라는 키는 11번가 관리자외에는 아무도 모르기 때문에, B키만 알아서는 똑같이 암호화를 할 수 없습니다.

A키로 암호화하면 반드시 B키로 복호화 할수있고, B키로 암호화하면 반드시 A키로 복호화 할수 있습니다.

이렇듯 HTTPS는 HTTP에 비해 보안성에서 뛰어납니다.

 

 

결론

가벼운 웹서핑이라면 HTTP를 사용해도 됩니다.

하지만, 정보를 주고받는 경우라면 심각한 개인정보 유출로 이어질수있습니다.

예를 들어 웹사이트를 통해서 판매되는 상품정보와 판매처 정보만 알리는 경우라면 HTTP로 충분합니다.

하지만 결제 시스템이 도입되거나 중요한 메일 정보 전송, 회원가입과 같은 사용자의 정보를 웹서버와 주고 받아야 한다면

HTTP는 위험합니다. 이런경우 보안이 뛰어난 HTTPS를 사용해야 합니다.