Home > 전체기사
[시큐리티 Q&A] http vs. https 웹사이트 보안성 비교
  |  입력 : 2014-05-13 09:15
페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기

Q. 웹사이트 앞에 주로 표기되는 http 외에 최근 보안이 강화된 https 사이트도 있다고 들었는데, 이 두 방식이 어떻게 다르길래 https는 보안이 강화됐다고 하는 것인가? 또한, https 방식의 웹사이트에서 특별히 신경써야 할 보안대책이 있는가?



A-1. https는 http+ssl로 암호화된 http 프로토콜이다. http는 평문으로 통신되기 때문에 통신구간 도청이나 위·변조 공격에 취약하다. 반면 https는 암호 통신이기 때문에 안전하다.

 

최근 EV-SSL 개념이 웹 브라우저에 탑재되어 EV-SSL 인증서를 사용하는 웹사이트에 접속 시 웹 브라우저 주소 창이 녹색으로 변하기 때문에 사용자 입장에서 쉽게 https를 식별할 수 있는 장점을 갖는다.

(김선종 이니텍 차장/seonjong.kim@initech.com)


A-2. http는 이런 HTML 같은 문서를 웹 브라우저가 웹 서버에 요청하는 프로토콜이다. 프로토콜이라는 것은 일종의 대화 규칙이다. 우리가 폰 뱅킹할 때 지정된 코드를 누르면 정해진 응답이 온다.

 

이게 없다면 웹 서버는 웹 브라우저가 무슨 페이지를 달라고 하는 건지도 모를 것이고 웹 브라우저도 웹 서버가 무슨 페이지를 보내는 건지 알 수가 없다. Http도 그냥 텍스트 교환일 뿐이다. 복잡한 바이너리 데이터가 아니라 그냥 텍스트 메시지를 주고 받는 것이다.

 

물론 그 텍스트 메시지 안에 HTML 페이지도 들어 있다. 텍스트이기 때문에 만약 내가 있는 네트워크 안에서 누가 그 신호를 가로채어 본다면 내용이 그대로 보이게 된다. 만약 내가 메일을 읽고 있는데 누가 그 신호를 가로챈다면 메일 내용을 읽을 수 있을 것이다.

 

https는 http하고 거의 같지만 모든 통신 내용을 암호화하는 것이 다르다. 사실 s가 secure socket, 즉 안전한 통신망을 뜻한다. 우리는 파일에 암호를 많이 걸어 봤을 것이다.

 

어떤 키를 설정해서 걸면 나중에 풀 때에도 그걸 입력해 푸는 것이다. 키라는 것은 암호화를 푸는 암호 즉 패스워드 같은 것이다. 웹 서버가 키 하나를 정해서 페이지를 암호화해서 사용자의 웹 브라우저로 보내고 웹 브라우저는 그 키를 이용해서 페이지를 복원할 수 있으면 좋겠지만 그렇게 간단하지 않다.

 

웹 서버는 하나이지만 사용자는 불특정 다수이다. 그런데 키를 사용자들에게 줘 버리면 아무나 암호화를 풀 수 있게 된다. 영희에게 갈 페이지를 철수도 풀어서 볼 수 있게 되는데, 이러면 암호화의 효과가 없다.

 

즉, 페이지 암호화 키가 그 페이지를 보는 특정 사용자에게만 알려져야 한다. 그러면 어떻게 할 수 있을까? 이것이 바로 https 프로토콜이 하는 일이다. 위에서 말한 암호화 방식을 사용하되, 그 키를 다시 공개키로 암호화하고 인증하는 것이다. 공개키는 쉽게 말해서 데이터를 암호화하는데 키가 두개 필요하다는 것이다. 암호화를 푸는 데에는 그 두 개 중 하나의 키만 있으면 된다.

 

한 사이트에서는 A, B라는 키를 가지고 있다. 그리고 이 B라는 키만 사용자들에게 알려준다. 그리고 한 사이트에 웹 브라우저가 연결을 시도할 때, 파일 암호화 키를 이 A, B 키로 암호화해서 보내 준다.

 

그러면 사용자들은 B라는 키로 데이터를 풀어볼 수 있다. A는 해당 사이트 관리자 말고는 아무도 모르기 때문에, B만 알아서는 해당 사이트와 똑같이 암호화를 할 수 없다. 즉 사용자는 B로 풀어봐서 풀어지면 이 데이터는 A키를 아는 해당 사이트 관리자가 암호화한 것이라는 걸 알 수 있는 것이다.

 

http 프로토콜의 경우 중간에서 네트워크 데이터를 가로채서 마치 자기가 해당 사이트인 것처럼 해서 가짜 페이지를 보낼 수도 있을 것이다. 하지만 https의 경우에는 A키를 모르기 때문에 중간에서 누가 그렇게 할 수가 없다. 이렇게 해서 반대편이 해당 사이트라는 것을 우리는 믿을 수 있다.

 

이렇게 믿을 수 있으면 IE같은 브라우저에서는 주소 창의 색을 다르게 해서 안전하다고 알려준다. 이렇게 해서 웹 서버와 사용자가 교환한 키로 전체이후로는 HTML을 암호화해서 교환하는 것이다.

 

이렇게 되면 중간에서 웹 페이지를 누가 가로채도 내용을 전혀 읽을 수 없다. 사실 시간이 주어진다면 암호화를 풀 수도 있다. 예를 들어 1024비트 암호화를 사용한다면 암호 키가 1024비트, 즉 2의 1024승이라는 것이다. 암호를 계산해서 푸는 방법은 없다. 키를 모르고 암호화를 푼다는 것은 모든 키를 하나씩 다 대입해서 풀릴 때까지 해 보는 것이다.

 

그러면 위의 경우 평균적으로 2의 512승 번을 해봐야 한다. 2의 512승과 2x512는 차원이 다르다. 2의 20승만 해도 백 만이 넘는다. 아무리 빠른 컴퓨터로 대입해도 아마 몇 천 년은 해야 할 것이다. 그래서 안전하다고 할 수 있다.

 

그러면 https가 안전하면 모두 https를 사용하면 되는데, 왜 http를 사용하는지에 대해 의문을 가질 것이다. https 암호화를 하려면 웹 서버에 부하가 생기고 위에서 말한 B가 그 서버의 인증서가 되는데, 이것은 Verisign 같은 업체에서 비싼 돈을 주고 사야하므로, 특히 우리나라 웹 사이트들은 잘 사용하지 않는다.

 

하지만 외국 금융 사이트에서는 https는 필수이다. 또 http는 비연결형으로 웹 페이지를 보는 중 인터넷 연결이 끊겼다가 다시 연결되어도 페이지를 계속 볼 수 있지만 https의 경우에는 소켓(데이터를 주고 받는 경로) 자체에서 인증을 하기 때문에 인터넷 연결이 끊기면 소켓도 끊어져서 다시 https 인증을 해야 하기 때문에 시간이 또 걸릴 수 있다.

(전승준 한국산업기술보호협회 관제운영팀 연구원/sjun@kaits.or.kr)


[김지언 기자(boan4@boannews.com)]


<저작권자: 보안뉴스(http://www.boannews.com/) 무단전재-재배포금지>

  •  
  • 1
  • 페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기


  •  SNS에서도 보안뉴스를 받아보세요!! 
모니터랩 파워비즈 6개월 2020년6월22~12월 22일 까지넷앤드 파워비즈 진행 2020년1월8일 시작~2021년 1월8일까지위즈디엔에스 2018파워비즈배너 시작 11월6일 20181105-20200131
설문조사
코로나19 사태로 인해 화상회의, 원격교육 등을 위한 협업 솔루션이 부상하고 있습니다. 현재 귀사에서 사용하고 있는 협업 솔루션은 무엇인가요?
마이크로소프트의 팀즈(Teams)
시스코시스템즈의 웹엑스(Webex)
구글의 행아웃 미트(Meet)
줌인터내셔녈의 줌(Zoom)
슬랙의 슬랙(Slack)
NHN의 두레이(Dooray)
이스트소프트의 팀업(TeamUP)
토스랩의 잔디(JANDI)
기타(댓글로)