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에서도 보안뉴스를 받아보세요!! 
그린존시큐리티 4개월 배너모니터랩 파워비즈 6개월 2020년6월22~12월 22일 까지넷앤드 파워비즈 진행 2020년1월8일 시작~2021년 1월8일까지위즈디엔에스 2018파워비즈배너 시작 11월6일 20181105-20200131
설문조사
코로나19 팬더믹 이후, 가장 기승을 부리고 있는 사이버 공격 유형은 무엇이라고 보시나요?
랜섬웨어
피싱/스미싱
스피어피싱(표적 공격)/국가 지원 해킹 공격
디도스 공격
혹스(사기) 메일
악성 앱
해적판 소프트웨어
기타(댓글로)