바보야, 문제는 액티브X가 아니라 공인인증서야

강일용 zero@itdonga.com

"한국 드라마를 본 수많은 중국 시청자가 의상, 패션잡화 등을 사기 위해 한국 쇼핑몰에 접속했지만, 결제하기 위해 요구하는 공인인증서 때문에 결국 구매에 실패했다고 한다. 우리나라에서만 요구하는 공인인증서가 국내 쇼핑몰의 해외 진출에 걸림돌이 되고 있다."

지난 20일 청와대에서 열린 규제개혁점검회의에서 박근혜 대통령이 한 말이다. 깜짝 놀랐다. 대통령이 우리나라 웹의 문제가 무엇인지 정확하게 꿰뚫어보고 있었기 때문이다. 문제는 바로 '공인인증서'다.

"액티브엑스(ActiveX)는 어쩔 수 없이 PC에 설치해야 하는, 한국만의 특이한 규제입니다. 한류 열풍으로 인기 절정인 '천송이 코트(드라마 별에서 온 그대에서 배우 전지현이 입었던 코트)'를 중국에서 사고 싶어도 못 사는 건 바로 이것 때문입니다. 전자상거래 국제수지 적자가 7200억 원에 이르고 국내총생산(GDP) 대비 온라인 시장이 미국의 5분의 1에 그치는 건 액티브엑스 때문일지도 모릅니다. 액티브엑스, 액티브(Active)하게 엑스(X)표 쳐줬으면 좋겠습니다."

같은 자리에서 전국경제인연합회 이승철 상근 부회장이 한 발언이다. 외국 사용자의 국내 웹 접근을 막는 규제를 폐지해야 한다는 점에서 대통령의 발언과 일맥상통한다. 이 역시 맞는 말이다. 문제는 바로 '액티브X'다.

어라? 앞에선 문제가 공인인증서라 해놓고, 여기선 액티브X라고 한다. 이렇게 듣고보니 공인인증서와 액티브X는 떼려야 뗄 수 없는 관계인가 보다. 정말 그럴까.

단도직입적으로 말해 그렇지 않다. 공인인증서와 액티브X는 전혀 별개의 개념이다. 우리나라 웹 환경을 갈라파고스로 만든 원흉이라는 점에선 통하지만, 둘은 개념도 등장배경도 사용법도 전혀 다르다. 그럼에도 불구하고 언론은 둘을 혼용해서 사용자들을 헷갈리게 하고 있다. 무엇이 어떻게 왜 다른지 한번 살펴보자.

공인인증서
공인인증서

액티브X, MS가 만들고 한국이 키웠다

액티브X는 마이크로소프트(MS)가 개발한 웹 브라우저용 플러그인(Plug in)이다. 플러그인이란 응용 프로그램 스스로 처리하지 못하는 작업을 해결하기 위해 추가 설치하는 확장 프로그램이다. 좀 더 쉽게 설명해보자. 특정 홈페이지에 접속하니 '이 웹사이트에서 XXX에서 배포한 XXX 추가 기능을 설치하려고 합니다'라는 팝업창이 뜬다. 여기서 말하는 추가 기능이 바로 플러그인이다. 당신의 웹 브라우저에 플러그인을 추가하겠다고 묻는 것이다.

액티브X
액티브X

액티브X, NPAPI, 자바애플릿, 플래시, 실버라이트 등이 대표적인 플러그인이다. 그렇다. 플러그인은 액티브X만 존재하는 게 아니다. 액티브X는 플러그인 가운데 가장 유명한 죄밖에 없다.

플러그인은 왜 개발된 걸까. 초창기 웹 브라우저는 그 기능이 미약했다. 텍스트와 이미지만 읽을 수 있었고, 동영상 재생같은 것은 꿈도 꾸지 못했다. 암호화? 배부른 소리다. 이처럼 형편없는 웹 브라우저의 성능을 보조하기 위해 개발사들은 웹 브라우저의 성능을 강화하는 프로그램의 고안해냈다. 이것이 플러그인의 시초다.

시작은 썬 마이크로시스템즈였다. 자사의 프로그래밍 언어 자바를 기반으로한 플러그인 자바애플릿을 95년에 고안해내고, 이를 웹 브라우저에 추가할 수 있도록 했다. 썬 마이크로시스템즈에 주도권을 내주기 싫었던 넷스케이프 그룹은 NPAPI라는 독자적인 플러그인을 개발하고 넷스케이프 브라우저 2.0과 함께 배포하기 시작했다. MS 역시 96년말 문제의 액티브X를 개발하고 인터넷 익스플로러 3에 추가했다. 인터넷 익스플로러는 액티브X 위주로, 크롬, 파이어폭스, 사파리, 오페라 등 다른 웹 브라우저는 NPAPI 위주로 플러그인을 지원하고 있다.

플래시와 실버라이트의 사정은 앞의 셋과 조금 다르다. 셋은 웹 브라우저의 부족한 성능 확장에 초점을 맞춘 반면, 플래시와 실버라이트는 이미지와 텍스트 위주의 웹 환경에 동영상이나 반응형 웹 등 보다 풍요로운 인터넷 환경(Rich Internet Application)을 더하기 위해 고안됐다. 때문에 초기 인터넷 웹 게임이나 동영상 스트리밍 서비스는 플래시와 실버라이트 활용해 제작됐다.

2000년대 초반 웹 환경은 그야말로 플러그인 천국이었다. 인터넷뱅킹, 전자정부, 동영상 스트리밍, 웹 하드 등 온갖 분야에 플러그인이 사용됐다. 어쩔수 없었다. 대안이 없었기 때문이다. 부실한 웹 브라우저의 성능만으론 다양한 웹 서비스를 제공할 길이 없었다. 다른 나라보다 인터넷 보급이 빨라 2000년대 초반에 전국민 인터넷 시대를 연 대한민국은 그렇게 플러그인, 정확히 말하자면 액티브X와 플래시로 도배되어 갔다.

하지만 플러그인은 치명적인 문제를 품고 있었다. 보안에 취약하다는 점이다. 일단 플러그인 자체가 그다지 보안이 좋은 편이 아니었다. 틈만나면 취약점이 발견돼 개발사에서 패치를 제공해야 했다.

또 다른 문제는 사용자를 '예스맨(Yes Man)'으로 만든다는 점이다. 특정 서비스를 사용하려면 반드시 플러그인 설치에 동의해야 한다. 선택의 여지같은 것은 없다. 사용자들은 서비스를 제공받기 위해 어쩔 수 없이 '네(Yes)'를 눌러야 했다. 여기에 각종 악성코드가 섞여 들어왔다. 심지어 일부 사용자는 동의하는 절차마저 귀찮게 느껴 보안수준을 최하등급으로 낮추기까지 했다. 도둑에게 문을 활짝 열어주는 꼴이다. 때문에 사용자의 PC는 악성코드의 천국이 되어갔다.

악성코드의 침투를 막기 위해 사용자가 웹 브라우저의 보안 수준을 최고 등급으로 높이면 플러그인 설치는 불가능해진다. 보안 프로그램을 설치하기 위해 웹 브라우저의 보안 수준을 낮추는 촌극이 벌어졌다.

이러한 문제점을 인식한 W3C(World Wide Web Consortium)과 웹 브라우저 개발사들은 새로운 방안을 모색했다. 플러그인을 설치하지 않아도 인터넷뱅킹, 전자정부, 동영상 스트리밍, 웹 하드, 게임 등 온갖 작업을 모든 웹 브라우저에서 처리할 수 있도록 하는 웹 언어 'HTML5'를 2008년부터 개발하고, 새로운 웹 표준으로 지정할 것이라고 2012년 12월 밝혔다.

HTML5 개발과 함께 플러그인 퇴출도 가속화되고 있다. 플러그인 퇴출에 가장 적극적인 회사는 놀랍게도 MS다. MS는 인터넷 익스플로러11을 공개하며, 모던UI 버전에 액티브X를 설치할 수 없게 했다. 오직 데스크톱 버전에만 설치 가능하다. 액티브X 퇴출을 위한 사전작업이다. 구글과 모질라 재단도 발빠르게 움직이고 있다. 구글은 현재 크롬에 NPAPI 설치를 막는 옵션을 제공하고 있으며, 올해 말 NPAPI 자체를 크롬에서 퇴출시킬 예정이다. 모질라 재단도 파이어폭스에서 NPAPI를 제거하겠다고 공지한 상황이다.

이처럼 개발사들이 플러그인 퇴출을 위해 나서고 있지만, 정작 대한민국은 플러그인에 대한 미련을 버리지 못하고 있다. 정부 홈페이지, 인터넷뱅킹, 동영상 스트리밍, 웹 하드 등 모든 분야에 여전히 플러그인을 사용 중이다. 지난해 미래창조과학부가 국내 100대 민간 홈페이지 가운데 액티브X를 사용하는 홈페이지를 집계한 결과 75개 홈페이지가 액티브X를 사용하고 있는 것으로 드러났다. 액티브X의 보고인 관공서 홈페이지를 제외하고 집계한 수치임에도 불구하고.

물론 액티브X를 사용하지 않는다고 홍보하는 홈페이지도 일부 존재한다. 하지만 대부분이 액티브X를 NPAPI로 교체한 것에 불과하다. 시한부라는 점에서 별 다를 게 없다. HTML5를 채택한 곳은 극소수다.

마지막으로 플러그인의 천국 대한민국에서 일어난 코미디를 하나 소개한다. 지난해 MS가 인터넷 익스플로러11을 공개하자 한 언론이 인터넷 익스플로러11(모던UI 버전)에 액티브X를 설치할 수 없다고 보도했다. 여기에 액티브X에 기대 웹 서비스를 제공 중인 관공서, 은행, 기업들이 반발하자, MS는 인터넷 익스플로러11(데스크톱 버전)에 액티브X를 설치할 수 있다고 해명자료를 배포했다. 기업이 앞장서서 '우리는 표준을 지키지 않습니다'고 홍보하는 나라, 이것이 대한민국의 현실이다.

전국경제인연합회가 진행한 설문조사도 시사하는 바가 크다. 국민 700명을 대상으로 액티브X 때문에 불편을 경험한 적 있는지 물어본 결과 전체의 88%가 불편함을 경험했고, 78.6%가 액티브X를 퇴출해야 한다고 밝혔다. 국민 10명 가운데 8명이 액티브X를 그만 사용하면 좋겠다고 얘기한다. 설문조사는 액티브X만 콕 찝어서 저격했지만, 사실 국민이 불편해 하는 것은 액티브X가 아니라 플러그인이다. 플러그인을 그만 사용하자. 이제 얘기를 들어줄 때도 되지 않았나.

공인인증서, 정부가 금융권에게 만들어준 면죄부

플러그인에 대해 알아봤으니 이제 공인인증서가 무엇인지 알아보자. 공인인증서란 쉽게 말해 전자 인감도장이다. 우리나라에는 '이 도장이 내 도장이다'고 관공서를 통해 정식으로 인증받는 '인감(印鑑)'이라는 독특한 제도가 있다. 공인인증서는 이 인감을 웹으로 옮겨둔 제도다. 사용자가 인터넷 상에서 한 거래를 '이 거래는 내가 승인한 거래다'고 인증해주는 기술이다.

공인인증서 역시 초창기 열악한 인터넷 환경에서 어떻게든 인터넷뱅킹과 전자상거래를 구현하기 위해 고안해낸 기술이다. 플러그인과 비슷하다.

초기 웹 브라우저는 암호화 능력이 부족해 해커가 중간에서 데이터를 가로채기 쉬웠다. 암호화 전송기술 자체가 없는 것은 아니었다. 넷스케이프 그룹이 95년 고안해낸 SSL(Secure Sockets Layer, https)라는 기술이 암호화 전송기술 표준으로 각광받았다. 하지만 미국 정부의 방침 탓에 인터넷뱅킹을 구현하기엔 암호화 수준이 모자랐다. 때문에 독자적인 암호화 기술을 적용한 공인인증서를 개발해냈다. 그리고 플러그인을 사용해 공인인증서를 웹 브라우저에 적용하기 시작했다. 공인인증서와 액티브X의 밀월관계는 이렇게 시작됐다.

공인인증서
공인인증서

그렇다면 공인인증서가 없는 외국은 어떻게 인터넷뱅킹과 전자상거래를 진행할까.

인터넷뱅킹을 구현하려면 3가지 요소가 필요하다. 첫 번째는 암호화 전송기술이다. 사용자와 은행이 주고받는 데이터를 암호화해 해커가 데이터를 분석할 수 없게 하는 것이다. 두 번째는 사용자 인증이다. 사용자 또는 은행이 본인이 맞음을 인증해 해커가 사용자나 은행으로 가장해 데이터를 탈취할 수 없게 하는 것이다. 세 번째는 OTP(일회용 암호)다. 거래만을 위한 전용 비밀번호를 생성해 해킹을 방지한다. 공인인증서는 여기서 첫 번째와 두 번째를 구현하기 위한 기술이다.

외국의 경우 암호화 전송기술은 SSL로 해결했다. 분명 초창기 공인인증서는 SSL보다 안전했다. 하지만 지금은 둘의 차이가 없다. SSL은 TLS(Transport Layer Security)로 이름을 바꾸고, AES 56비트 암호화를 거쳐 128비트, 256비트로 암호화 수준을 점점 강화했다. 공인인증서도 비슷한 절차를 밟았다. AES 128비트 암호화를 거쳐 2012년 초 256비트로 강화됐다.

사용자 인증은 어떻게 해결했을까. 외국과 국내는 이 부분이 좀 다르게 진행된다. 국내에서 인터넷뱅킹을 하려면 사용자가 본인 인증을 받아야 한다. 미래창조과학부가 지정한 금융결제원, 한국정보인증, 코스콤, 한국전자인증, 한국무역정보통신 등 5곳의 공인인증기관이 사용자가 본인이 맞음을 인증해준다. 이 과정을 통해 발급받은 것이 바로 공인인증서다.

반면 외국의 경우 사용자는 본인 인증을 받을 필요가 없다(인터넷뱅킹에 본인 인증을 요구하는 일부 국가가 존재하긴 한다). 은행만 인증을 받으면 된다. 그렇다면 은행은 누가 인증해줄까? 국내와 다르게 국가가 아닌 공신력있는 제3자가 인증해주는 방식을 취하고 있다. 베리사인, 코모도 그룹 등이 대표적인 제3자 인증기관이다. 이러한 제3자 인증기관에서 발급한 인증서를 'EV SSL 인증서'라고 한다. SSL로 암호화된 홈페이지(URL 앞부분에 https라고 적혀 있는 홈페이지)에 접속하면, EV SSL 인증서를 통해 '누가 이 홈페이지를 인증해줬고 어느 정도로 암호화돼 있는지' 웹 브라우저를 통해 손쉽게 확인할 수 있다. 웹 표준 기술이기 때문이다.

SSL과 제3자 인증
SSL과 제3자 인증

여기서 문제가 발생했다. 국내의 경우 사용자가 본인 인증을 받다보니 은행은 손쉽게 해커유무를 판독할 수 있지만, 사용자는 은행 홈페이지가 진짜인지 피싱 사이트(진짜 홈페이지인것처럼 위장한 해킹 사이트)인지 구분하기 힘들다. 2000년대말 온갖 피싱 사이트가 기승을 부린 이유다. 결국 문제를 깨달은 국내 은행들은 국민은행을 필두로 하나둘씩 자사 홈페이지를 제3자 인증받았다. 공인인증서의 본인 인증방식에 문제가 있음을 스스로 시인한 셈이다.

박 대통령이 말한 무역장벽도 이 공인인증서의 사용자 본인 인증 때문에 발생한다. 국내 사용자의 경우 시중 은행이 본인 인증을 대행하고 있기 때문에 (번거롭지만) 1시간 정도만 투자하면 공인인증서를 발급받을 수 있다. 반면 외국인은 얼마 존재하지도 않는 대한민국 재외공관에 방문해 발급받아야 한다. 땅덩이가 넓은 중국이나 미국같은 나라에선 사실상 불가능한 일이다.

사실 더 큰 문제는 따로 있다. 공인인증서가 보안이라는 원래의 목적에서 벗어나 금융기관의 책임 면피용으로 사용되고 있다는 점이다. 여기선 고려대학교 법학전문대학원 김기창 교수의 발언을 인용한다.

"공인인증서는 정부가 금융기관에게 준 면죄부입니다. 나(금융기관)는 이만큼 보안에 노력을 기울였으니 금융사고가 발생해도 사용자에게 책임을 지지 않는다는 보증서죠. 예를 들어봅시다. 해커가 사용자의 계정과 공인인증서를 탈취해 외국에서 인터넷뱅킹을 시도했습니다. 은행은 단번에 이 사실을 알 수 있죠. 평소에 사용자가 접속하던 국내 IP가 아니라 해외 IP이니까요. 외국 은행같으면 의심스럽기 때문에 이 거래를 거절하고, 즉시 사용자에게 연락을 취할겁니다. 그런데 국내 은행은 그냥 승인합니다. 인증된 사용자(공인인증서)가 거래를 한 것이니 거절할 이유가 없다는 겁니다. 이 때문에 은행의 관리책임을 물어 사용자에게 배상하라는 법원 판결 자체가 나오질 않습니다. 공인인증서가 인감도장과 같은 역할을 하니, 해커가 한 거래조차 사용자가 한 거래로 인식할 합당한 이유가 은행에게 있다는 겁니다. 과거 오프라인상에서나 통할 법할 논리를 21세기 온라인상에서 펼치고 있어요. 이렇게 정부가 면죄부를 발행해주니 은행들은 보안을 강화할 필요성 자체를 느끼지 못하게 됩니다."

국내의 경우 은행 ID/비밀번호, 공인인증서, OTP라는 삼중 보안을 취하고 있다. 반면 해외의 경우 은행 ID/비밀번호, OTP라는 이중 보안을 기본으로 한다. 얼핏 보면 국내가 훨씬 안전할 것 같지만, 실상은 그렇지 않다. 외국 은행의 경우 ID/비밀번호, OTP 외에 참신하면서도 강력한 보안방법을 개발해 자체 적용하고 있다. 뱅크오브아메리카(BOA)의 예를 들어보자. BOA 홈페이지에서 인터넷뱅킹을 하려면 은행 ID/비밀번호, OTP 외에 이미지 패스워드라는 독특한 과정을 하나 더 거쳐야 한다. 사용자만 알 수 있는 암호화된 그림을 보여줘 해당 그림을 찾지 못하면 거래를 진행할 수 없다. 제3자인 해커는 이 이미지 패스워드 과정을 뚫기 힘들다. 외국 은행 대부분이 이렇게 자체 개발한 보안 방식을 적용해 삼중, 사중 보안을 취하고 있다. 반면 국내 은행은 정부가 지정해준 공인인증서에만 보안을 기대고 있다.

미래창조과학부 최문기 장관은 24일 취임 1주년을 맞아 기자들과 만나 액티브X 프리(Free)를 실천해 어떤 웹 브라우저에서도 공인인증서를 사용할 수 있도록 하겠다고 밝혔다. 슬픈 얘기다. 공인인증서에 적용된 암호화 기술 'SEED'는 W3C가 인증한 웹 표준 기술이 아니기 때문에 웹 브라우저 적용하려면 반드시 플러그인이 필요하다. 대안인 HTML5도 원래 액티브X, NPAPI 대체보다 플래시, 실버라이트 같은 액션 스크립트 대체를 목적으로 개발된 기술이다. 웹 표준인 SSL과 EV SSL 인증서가 아닌 다른 보안방식을 쓰려면 결국 HTML5에 확장 기능을 추가해야 한다. 달라지는 게 하나도 없다. 사용자는 여전히 웹 브라우저에 무엇인가를 덕지덕지 설치해야 하고, 은행은 여전히 공인인증서만 철석같이 믿고 있겠다. 외국인은 여전히 국내 쇼핑몰을 이용할 수 없다. 아니면 대한민국판 '천리마 쇼핑몰'을 이용하는 촌극이 벌어지던가.

글 / IT동아 강일용(zero@itdonga.com)

IT동아의 모든 콘텐츠(기사)는 Creative commons 저작자표시-비영리-변경금지 라이선스에 따라 이용할 수 있습니다.
의견은 IT동아(게임동아) 페이스북에서 덧글 또는 메신저로 남겨주세요.