"오픈"뱅킹의 현실

This is a old post that has been migrated. While the content is probably very obsolete, in case someone needs it, it's here. Also makes great filler for a empty blog.

This article is intentionally in Korean only. There are possibilities that I might translate this into English when time allows, but for the time being Google translate would be your only way around if you have trouble reading Korean.

최근 주요 은행에서 도입하기 시작한 Cross-browser / cross-platform 지원의 여파로 IE 와 윈도우가 아닌 환경에서도 온라인 뱅킹이 가능해졌는데, 이를 언론 또는 해당 금융사의 마케팅 팀에서 오픈 뱅킹이라는 명칭을 많이 사용하고 있습니다. 이미 사용기 등은 많은 곳에서 다루어진 부분이라, 언급을 굳이 하지 않아도 읽어볼 만한 곳이 많고, 그것도 모자라 글 재주가 미천한지라 다른데에서 언급 된적이 없었던 개인적인 의문점에 대해서 확인한 내용만 조금 정리해봤습니다.

가장 큰 의문점은, 왜 오픈뱅킹이라는 이름을 쓰면서 플랫폼 별 브라우저 호환성에 제한을 두는가였는데 이에 대해서는 아래 내용을 보면 그 출발점을 알 수 있습니다.

아주 최신 자료는 아니지만, 그나마 양호합니다. 다만 KB오픈뱅킹 안내 페이지를 지금의 상황을 보면 아래와 같은데, 윈도우에서는 여러 브라우저를 잘 지원면서도 맥과 리눅스 지원에 대해서 묘한 점이 있습니다.

어째서인지 맥은 사파리 밖에 지원하지 않고, 리눅스는 파이어폭스 밖에 지원하지를 않습니다. 분명, 윈도우에서의 브라우저 지원표를 보면 NPAPI 플러그인을 썼을 것 같은데, 그 외 OS의 지원표를 보면 지나치게 제한적이라는 생각이 들 수 밖에 없습니다. 아무리 봐도 이상해서 진상 파악을 위해 조금 더 들여다보게 되었는데, 리눅스용 플러그인은 테스트 가능한 환경이 업무 환경 또는 서버 뿐이라 설치해볼 용기가 나지 않> 아, 일단 맥 패키지 위주로만 봤습니다.

우선, 패키지를 해부한 결과 브라우저 플러그인은 두개로 좁혀집니다. 나머지는 시스템 전역 라이브러리 (ClientSM.bundle)과 언인스톨러(Uninstaller.app)인데, 실제로 브라우저 호환성하고는 직접적인 연관이 없을 것 같으니 일단은 생략하고...

  • XecureWebFilePlugin.plugin
  • XecureWebPlugin.plugin

그 안에 실제 플러그인 바이너리는 아래 두 개의 파일입니다.

  • XecureWebFilePlugin.plugin/Contents/MacOS/XecureWebFilePlugin_Intel
  • XecureWebPlugin.plugin/Contents/MacOS/XecureWebPlugin_Intel

둘 다 겉보기에는 여느 NPAPI 플러그인과 동일해 보이는데, 왜 지원이 안되는지 도무지 이해가 안됩니다. 우선, 모든 NPAPI 플러그인에 반드시 선언이 되어야만 하는 API가 > 몇 가지 있습니다. 아래에 나열되어 있는 것들인데, 바이너리를 열어 아래 심볼들에 대한 참조가 있는지 확인해보았습니다.

  • NP_Initialize
  • NP_GetEntryPoints
  • NP_Shutdown

위 API를 사용하지 않고서 플러그인을 만들 수가 없는데, 문제의 플러그인은 위 심볼이 선언이 되어있지 않습니다. 즉, NPAPI 호환 플러그인이 아니라는 것입니다. 조금 더 들여다보니, 아래 심볼들이 확인됩니다.

  • 00002469 t -[XWPluginView webPlugInDestroy]
  • 000023b7 t -[XWPluginView webPlugInInitialize]
  • 000024ae t -[XWPluginView webPlugInSetIsSelected:]
  • 0000245f t -[XWPluginView webPlugInStart]
  • 00002464 t -[XWPluginView webPlugInStop]

놀랍게도 WebKit 플러그인으로 제작되었다는 겁니다. (추가적으로, WebKit 플러그인은 쉬운 구분을 위해서 보통 .plugin이 아니라 .webplugin으로 묶는데, 왜 .plugin을 썼는가에 대해서도 조금은 의문이지만 사소한 문제인 관계로..)

그렇다면 파이어폭스는 어떻게 지원했을까요? 다운로드 페이지를 보면 파이어폭스는 링크가 따로 있는데, 아래와 같습니다.

그렇습니다. 파이어폭스 Add-on 형태로 공급합니다. 게다가 패키지 안에는 NPAPI를 사용하는 네이티브 플러그인이 포함되어 있기 때문에, 플랫폼 종속성 마저 있다는 것을 알고, 다시 한번 오픈뱅킹 특징 안내 페이지로 가 보았습니다.

"다양한 운영체제 및 브라우저" 라는 말에 잠시 웃어주고, 머리 속에 떠오르는 첫 이미지를 정리해봅니다.

소프트포럼에서 대체 무슨 의도로 이렇게 하고 있는지는 도무지 모르겠지만, 확실히 거꾸로 가고 있다는 생각은 듭니다. 공식 입장 표명을 할 것 같지는 않지만, 그러기 전까지는 수수께끼로 남은 채 비주류 브라>

우저 사용자들은 또 다시 소외를 당해야 합니다.

오픈 뱅킹 전이나 다를바 없이 금융 업무를 위해 다른 브라우저를 사용하거나, 최악의 경우에는 가상 머신, 그 보다 더 열악한 상황이라면 (사용 환경이 SPARC Solaris 이라든가...) 온라인 뱅킹 하나만을 위해서 다른 컴퓨터를 사용해야하는 불편함을 감수하고 살아야 합니다. 이렇게 되지 않았으면 하는 실낫같은 희망을 갖고 있었는데, 결국에는 ActiveX를 쓰던 시절하고 별반 다를 바가 없는 연장선이 되어 버린 것 같아 아쉬울 따름입니다.

마지막으로 여담의 내용이지만, ActiveX 배포 패키지 안에 .svn 디렉토리가 포함되어있다는 흥미로운 사실도 발견했습니다. 체크아웃한 파일이 하나 뿐이라 많은 정보를 확인하지는 못했습니다만...