Blog entry by Joon Sam

Picture of Joon Sam
by Joon Sam - Tuesday, 11 February 2020, 2:17 PM
Anyone in the world

인터넷 브라우저를 통해 웹사이트에 접속할 때 주소창에 해당사이트의 웹주소를 입력합니다. 요즘은 브라우저들이 자동으로 처리해주기 때문에 직접 입력하는 경우는 좀 줄었지만 주소의 첫부분을 주의 깊게 보신 분들은 이부분이 어떤 웹사이트들은 “http://”로 시작을 하고 또 어떤 웹사이트들은 ‘https://’로 시작하는 것을 보신 적이 있을 것입니다. 또 구글사의 웹브라우저인 크롬(Chrome) 브라우저를 이용해서 웹서치를 하신다면, 주소 앞부분에 ‘안전함(secured)’, ‘안전하지 않음(not secured)’이 표시되는 것을 보신 적이 있으실 수도 있습니다. 현재 구글 사의 크롬 웹브라우저는 그 주소가 ‘http://’로 시작하는 모든 웹사이트를 안전하지 않은 웹사이트라고 구분하고 있고, ‘https://’로 시작하는 웹사이트들만 안전한 사이트라고 사용자들에게 구분해서 알려주고 있습니다. ‘S’ 한 글자가 무슨 차이를 가져오기에 안전하고 그렇지 않음을 구분할 수 있는 것일까요? 정말로 ‘http://’로 시작하는 모든 사이트는 안전하지 않으며, 반대로 ‘https://’로 시작하는 웹사이트들은 모두 안전한 사이트라고 믿을 수 있는 것일까요?


 ‘http’란 ‘HyperText Transfer Protocol’이라는 말의 약자입니다. 이는 사이버 웹상에서 정보를 주고 받을 때 따르기로 한 프로토콜을 의미합니다. 우리가 모든 정보가 저장되어 있는 곳, 예를 들면 국립도서관 같은 곳을 찾아갔다고 생각해 봅시다. 그곳에서 원하는 정보를 얻고 싶으면 창구에 비치되어 있는 ‘정보 열람 요청서'와 같은 서류를 작성해서 그곳의 직원에게 제출해야 할 것입니다. 요청서는 정해져 있는 양식이 있을 것이고 그곳에 필요한 정보들을 적어서 직원에게 주면 그 직원은 요청서에 따라 우리가 원하는 정보가 무엇인지를 확인하고 해당 정보를 보관소에서 찾아다 줄 수 있을 것입니다. 인터넷 상에서 우리가 원하는 정보를 찾고자 할 때도 이와 동일한 과정을 거치게 됩니다. 정보를 찾고자 할 때 우리가 이용하는 웹브라우저는 국립도서관의 직원과 같습니다. 우리가 웹페이지에서 클릭하거나 입력하는 모든 것들은 웹브라우저를 통해 정해져 있는 양식의 서류, 즉 http 양식을 따르는 서류(html 문서)로 변환되며, 도서관에 해당하는 서버(server)에 전달됩니다. 서버에서는 양식에 맞춰 제공된 서류를 읽어들임으로써, 사용자가 원하는 정보가 무엇인지를 확인하고 웹브라우저를 통해 사용자에게 정보를 보내주게 됩니다. 

 문제는 http 양식을 따른 정보들은 말 그대로 텍스트 문서라는 것입니다. 즉, 우리가 종이에 정보를 적어서 보내는 것과 아무런 차이가 없기 때문에 양식에 적어서 도서관의 직원에게 전달해 주는 종이를 누가 들여다 보기만 한다면 그 내용들은 고스란히 유출될 수 밖에 없는 것과 같은 이치로, 누군가가 웹문서를 해킹하여 들여다 보기만 한다면, 사용자가 입력한 모든 내용들이 그대로 보여지게 됩니다. 만약, 신용카드, 아이디, 패스워드와 같은 중요한 개인 정보가 담겨 있다 하더라도, 그 어떤 보안장치도 없이 정보가 누출될 수 있는 가능성을 갖고 있습니다. 


이러한 보안상의 문제점을 해결하고자 1994년 넷스케이프라는 기업에 의해 개발된 것이 바로 https 양식입니다. ‘https’는 ‘HyperText Transfer Protocol over Secure socket layer’라는 말의 약자로 기본적으로 http와 동일하지만, 정보를 암호화하여 주고받는다는 점이 다릅니다. 이때 사용되는 방법을 공개키 암호화 방식(public-key cryptography)이라고 합니다. 이 방법은 쉽게 설명하자면 두개의 열쇠를 짝으로 만들어 그 열쇠짝을 이용해서 만들어진 암호는 짝꿍 열쇠를 갖고 있는 사용자만이 해독할 수 있게 연결되어있습니다. 이때 한쪽의 열쇠는 공개시켜 놓음으로써 접속하고자 하는 사용자들이 각각의 열쇠를 소유할 수 있지만, 반대 짝꿍 열쇠는 서버가 비밀리에 간직함으로써 서버는 각각의 이용자에게 그들이 원하는 정보를 암호화하여 보내줄 수 있고, 또 각각의 사용자들이 입력한 모든 정보는 서버만이 해독할 수 있을뿐, 열쇠를 갖고 있지 않은 제 3자에 의한 해독을 불가능하게 만들어 놓은 것입니다. 이로써, ‘https’ 양식을 따라 만들어진 웹사이트에서 교환되는 정보들은 정보누출 사고로 부터 안전하게 지킬 수 있는 것입니다. 


 그렇다고 무조건 ‘https’양식이 좋은 것이라고 하기는 무리가 있습니다. 일단 https는 열쇠가 서로 맞는지 확인해야 하는 과정이 매 정보를 교환할때마다 이루어지기 때문에 상대적으로 속도가 느립니다. 반대로 ‘http’양식은 정보누출의 위험성을 안고 있기는 하지만 빠른 정보교환을 요구할 때에는 더 효과적입니다. 그렇기 때문에 회사나 개인 홈페이지 등을 만들어 놓는 사용자들은 홈페이지의 목적에 따라 어떤 양식의 홈페이지를 운영할 것인지 결정할 필요가 있습니다. 상품구입을 위한 결제를 하거나, 개인의 정보를 크게 다루지 않고, 일상적인 블로그를 만들어거나 정보공유 정도의 목적이라면 상대적으로 느리고 사용료가 비싼 https 양식의 홈페이지를 구축하기 보다는 빠르고 쉽게 만들 수 있는 http양식을 사용하는 것이 더 좋을 것입니다. 반대로 홈쇼핑 등의 홈페이지를 구축하는 경우에는 비용이 더 발생한다 하더라도  https양식의 홈페이지가 더 알맞을 것입니다. 사용자의 입장에서도 인터넷 쇼핑을 하는 경우 쇼핑몰의 주소가 https가 아닌 http양식이라면 본인이 입력하는 정보가 도용될 가능성이 있다는 것을 인지하고 각별히 조심할 필요가 있습니다. 이러한 의미에서 구글사의 크롬 웹브라우저는 http양식의 홈페이지는 “안전하지 않음", 그리고 https양식의 홈페이지는 “안전함"이라고 표시해 주는 것입니다. 다시 말해서, 신문 기사나 어떤 블로그의 글을 읽는 목적으로 들어가는 홈페이지는 비록 http 양식이기에 “안전하지 않음” 이라는 표시가 있다 하더라도 크게 걱정하실 필요는 없습니다. 그런 홈페이지에 동호회 가입등을 목적으로 아이디와 비밀번호를 설정하셔야 하는 경우는 가급적으로 다른 홈페이지에서도 함께 사용하는 아이디나 비밀번호 대신에 그 홈페이지에만 독립적으로 사용하는 정보를 설정하셔서 혹시 그 정보가 누출된다 하더라도 큰 문제가 되지 않도록 하시는 것이 좋을 것입니다. 그리고, http 양식으로 만들어진 홈페이지에서는 신용카드 번호와 같은 중요한 정보는 입력하지 않으시는 것이 좋을 것이라 생각됩니다. 하지만 https양식이 아무리 암호화가 되었다 하더라도 해킹이 완벽하게 불가능한 것은 아니므로 인터넷상에서 같은 중요한 정보를 공유하는 경우에는 언제나 주의를 기울이시는것이 바람직합니다. 또한 정보가 유출되었을 것이 의심되는 경우에는 비밀번호를 바꾸고, 서비스 제공업체에 연락을 취해 조취를 취하는 등의 노력이 필요할 것입니다.