반응형

 웹 페이지를 보다보면 http로 시작을 하는 것이 있고 https로 시작을 하는 부분이 있습니다. 우리가 일반적으로 쓰는 주소들은 (ex. naver.com) 우리가 앞에 http://를 붙여주지 않아도 브라우저가 알아서 http://를 붙여줍니다. 그렇다면 https:// 는 어떨 때 사용을 하는 것일까요? 도대체 이 두 녀석의 차이는 뭘까요? 

 알아보도록 하겠습니다



HTTP 와 HTTPS 도대체 너희는 뭐가 다르니?


HTTP와 HTTPS


우선 HTTP와 HTTPS는 모두 다 어떠한 요청을 웹 브라우저가(즉, 사용자 혹은 클라이언트)가 웹 서버에 무엇인가 요청을 할 때 사용하는 프로토콜입니다.


 둘 다 프로토콜이기 때문에 컴퓨터의 입장에서 본다면 단순한 텍스트 교환입니다. 그냥 일반적인 텍스트가 이 두 녀석 안에 탑재되어 있습니다. 자, 여기서 힌트! 이 프로토콜이 주고받는 것들은 텍스트라고 하였습니다. 

 그렇다면 이렇게 주고 받는 신호를 중간에 누군가가 가로채서 본다면?! 텍스트이기 때문에 가로챈 그 누군가가 내용을 다 볼 수 있겠죠? 

 


HTTP는 이러한 주고 받는 모든 데이터들이 암호화가 되어 있지 않은 상태로 데이터를 주고 받는 프로토콜입니다. 당연히 보안상 이슈가 많았겠죠? 그래서 나온게 바로 HTTPS인 것입니다. 보안상 이슈가 엄청 중요한 곳들은 HTTP를 사용하지 않습니다. 그 예를 한 번 보도록 하겠습니다.



국내 주요 증권사, 금융사들은 모두 다 HTTPS 를 사용하고 있습니다. 물론 증권사나 금융사만 이러한 HTTPS를 사용하는 것이 아닙니다. 대부분의 기업들 홈페이지가 다 HTTPS입니다. 그렇다면 HTTPS 는 어떠한 방식으로 HTTP보다 보안성을 높였을까요?




보안성을 더한 프로토콜 HTTPS !


 HTTPS 는 HTTP와 거의 같지만 다른점이 있습니다. 바로 모든 통신 내용들을 암호화 하여서 전송한다는 것입니다. 여기서 뒤에 붙은 S는 Secure Socket의 약어 즉, 안전한 통신망을 의미한다고 보시면 됩니다. 

 이렇게 암호화를 하는 방법은 간단합니다. 공개키 방식을 사용해서 암호화를 진행합니다. 

공개키를 간단하게 설명하면 2개의 키를 가지고 하나는 암호화 하나는 복호화 하는데 사용을 하는 방식입니다. 그렇기에 사용자들은 페이지를 안전하게 보면서 데이터를 주고 받을 수 있는 것입니다.





 자, 이러한 키가 저장이 되어 있는 곳이 바로 이 HTTPS 프로토콜 입니다. HTTP의 경우에는 중간에 가로채는 일이 가능하기 때문에 페이지를 조작해서 부당한 이익을 챙길 수 있습니다. 하지만 HTTPS 는 그럴 수 없죠. 중간에서 가로 챌 수가 없기 때문에 내가 데이터를 주고 받는 곳은 위험의 요소가 훨씬 적다는 것을 알 수 있죠. 



결론 

 

 그렇다면 왜 이렇게 안전한 HTTPS를 모두 다 쓰지 않고 보안에 취약한 HTTP를 쓸까? 조금만 생각을 해보면 간단합니다. 암호화를 복호화하는데 웹 서버가 부하를 많이 받으니까... 그리고 이러한 키가 서버의 인증서가 되는데 이러한 인증서를 제공하는 업체들(Verisign)은 가격이 많이 비싸죠. 

 

 그래서 대부분 아무나 봐도 얻어 갈 정보가 없는 페이지는 HTTP로 작성을 하고 개인정보나 금융정보등 남들에게 노출이 되어서는 절대 안되는 것들은 HTTPS를 사용해서 암호화를 진행하는 것입니다. 


 어느정도 이 둘의 차이점을 이해 하셨나요? 혹시나 암호화를 풀 수 있다는 생각은 하지 않으시는게 좋습니다. 암호화에 사용되는 비트수를 얼마로 잡느냐에 차이지만 만약 1024비트로 잡는다면 이 암호의 길이는 2^1024입니다. 얼마 안되는 숫자 같으신가요? 2^20승만 해도 백 만이 훌쩍 넘어가 버립니다. 아무리 슈퍼컴퓨터라도 백 년은 더 걸리는 작업이 걸리는 것이죠. 그렇기에 이 프로토콜이 안전한 것입니다 =)




반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기