한국은 다른 나라 대비 Internet Explorer(이하 IE) 점유율이 매우 높다.
이미 일부 나라는 몇년 전 Chrome 이 IE 점유율을 넘어섰다고 하였지만, 한국은 IE 가 여전히 50%를 넘는다.
여러가지 이유가 있겠지만 이는 ActiveX 와 관련이 있다.
대부분의 결제모듈, 공인인증서가 필요한 주요 웹사이트(포털, 쇼핑몰, 금융, ...)의 경우 이를 ActiveX 로 구현해놓았기 때문이다.
몇년 전 부터 매년 한번쯤 ActiveX 에 대한 이슈가 뉴스에 한 번씩 크게 나오기 마련이었다.
- Chrome 등 IE 외 브라우저 사용자가 늘어나면서
- Windows 8 에 포함된 비-Desktop 용 IE 에서 ActiveX 를 사용하지 못하면서
- ActiveX 때문에 중국에서 인기를 끌던 별그대에 나오는 천송이 코트(등 한국 제품을)를 구입하지 못하는 사례가 얘기되면서
- IE 대신 Windows 10 기본 브라우저가 된 Edge 브라우저가 ActiveX 를 지원하지 않으면서
- ...
물론 IE 외 브라우저에서 IE Tab 이라든지 IE 를 내장형식으로 실행시켜 ActiveX 를 지원하는 방법도 있으나, 사실 이 것은 트릭일 뿐이다. (엄밀히 말해서 크롬이 지원하는것이 아니라 IE 를 크롬탭에서 실행하는 방법일 뿐)
IE 외 브라우저 사용층이 늘면서 사람들은 ActiveX 및 ActiveX 로 모듈을 실행하는 사이트를 욕하기 시작했고, 결국 주요 사이트들은 NPAPI 로도 같은 기능(결제모듈, 공인인증서 등)을 제공할 수 있도록 하였다.
NPAPI 는 90년대 시절의 브라우저인 Netscape 에서 외부 모듈이 Netscape 의 기능을 사용할 수 있도록 한 것이며, 결국 Native 한 수준의 제어를 허용하게 된다.
직접적으로 ActiveX 와 비교할 순 없지만, NPAPI 는 IE 외의 대부분의 브라우저가 지원한다.
이로써 사람들은 문제들이 해결되는 줄 알았으나...
여전히 ActiveX 만을 지원하는 사이트도 많았고, NPAPI 도 ActiveX 와 같은 수준의 문제를 가지고 있었기 때문에 근본적인 문제가 해결되는 것은 아니었다.
게다가 최신 Chrome 부터는 NPAPI 가 default 로 꺼져있다. 켤수는 있지만 이는 일반 유저에게 불편함을 초래한다. 그리고 조만간 아예 제공하지 않을 방침이라고 한다.
ActiveX, NPAPI 대신 사용되는 기술로 Java Applet 이라는 기술이 있는데 엄밀히 말해 Java 자체는 Native 한 코드의 ActiveX, NPAPI 에 비해 제어의 한계가 있기 때문에 안전성이 높다고 하는 경우가 있지만 그렇다고 해서 안심하고 써도 되는 수준이라고 할 순 없다.
게다가 버전이나 브라우저에 따라 다르지만 Java Applet 을 브라우저가 직접 지원하지 않고 ActiveX, NPAPI 를 거쳐 설치되도록 하는 경우도 많다. (한 때 일부 보안모듈 개발 회사에서 공인인증서를 ActiveX 대신 여러 브라우저에서 모두 지원하기 위해 Java Applet 기반으로 작성했던 적이 있다)
최근에는 정부에서 업계에 ActiveX 를 없애라고 하였고, 이를 대체할 수 있는 기술인 EXE 를 도입한다고 하는 기사를 접하였다. 정말 웃긴 일이다. EXE 는 Windows 실행 파일 확장자이다. 대체 기술이라 할 만한 것이 아니다. ActiveX, NPAPI, Java Applet 보다 더 위험하다. 일반적인 실행파일을 그대로 허용한 다는 것은 보안 인증서 과정을 거칠 수 있는 ActiveX 에 비해 더 위험 가능성이 높다. 신뢰 있는 사이트에서 받는 다면 문제될 것이 없겠지만, 요즘엔 실행 파일들이 해킹된 버전으로 배포되는 경우도 종종 있으므로 큰 위험을 야기할 수 있다.
사실 ActiveX, NPAPI 의 초기 등장 배경으로 볼 때 나쁜 기술이 아니었다.
당시에는 브라우저가 지금처럼 많은 기능을 가지지 못했으며 (구 HTML, JS 의 기능을 볼 때),
또한 SSL(정식명칭 TLS) 같은 보안 프로토콜이 없던 시기 였기 때문에 일부 유저 편의 기능 및 보안성을 제공하기 위해서는 필수였기 때문이다.
또한, 브라우저 최적화가 매우 덜했던 시기라서 브라우저로 구현할 수 있을 지라도 어쩔 수 없이 필요한 때가 있었다.
하지만 지금은 최신 HTML 의 등장으로 벡터 그래픽, 다중 파일 선택 업로드, 비디오 플레이 등이 가능해졌고, 최신 브라우저는 보안 프로토콜을 지원한다.
즉 예전에 ActiveX, NPAPI 만이 가능했던 것들이 없이도 가능해진 것이다.
그런데 왜 ActiveX, NPAPI 등이 아직도 사라지지 않고, EXE 같은 말도 안되는 얘기가 계속 나오는 것일까? 문제는 ActiveX 에만 있는 것이 아니라 국내 공인인증제도 때문이다.
사실 공인인증서가 아닌 결제모듈 쪽은 많은 변활를 거두어서 외국의 페이팔 같은 것들이 한국에도 많이 등장했다. 옐로페이, 카카오페이 등 이런 것들은 결제 편의를 위해 개발된 것으로 이러한 흐름에 맞추려고 하고 있다.
(애초에 공인인증서, 결제모듈 외의 지원을 위한 용도(예.그래픽) 쪽은 몇년전에 거의 옮겨탔고)
하지만 공인인증서 쪽은 공인인증제도와 공인인증서 관련 업체들의 정치적 입장 때문에 쉬이 옮겨타지 못하는 것이다. 현재의 공인인증서 보안 능력은 브라우저 내장 보안기술이 사실상 대체 가능하다. 그러나 공인인증서라는 규격은 공인인증제도에 얽혀있는 문제고 이는 브라우저 기능외적으로 표현해주어야 하는 문제며 이는 오로지 ActiveX, NPAPI, EXE 로만 구현할 수 있다.
따라서 ActiveX 를 쓰지 말라고 하니 EXE 를 쓴다고 하는 것이다. (업체들도 답답할 것이다)
하지만 이것도 임시 방편일 것이다. 결국 비-Windows 에서도 금융 사이트를 자유롭게 이용하려 한다면, EXE 로도 답은 아니기 때문이다.
답은 하나다.
공인인증제도를 고쳐서 브라우저 기본 기능(HTML5, JS, SSL)으로도 돌릴 수 있는 사이트를 만들 수 있게 허용하는 것이다.