Saturday, February 15, 2014

Internet banking in Linux

인터넷 뱅킹과 공인인증서 in 리눅스

인터넷 뱅킹과 공인인증서 in 리눅스


;; =================================================
;; εμαcs is ⎋[esc]⌘[meta]⌥[alt]⌃[ctrl]⇧[shift].
;; =================================================

이 문서는 emacs org-mode로 작성된 글입니다.


Operating System Environments

  • Main- : OS X Mavericks (10.9.1)
  • Sub- : Debian GNU/Linux Wheezy (7.3)
  • Server: Debian GNU/Linux Wheezy || Squeeze || Lenny
  • Mobile: iOS 7.0.4

리눅스 배포판들, 웹 브라우저, 오픈뱅킹

모든 테스트는 Mozilla Firefox (혹은 IceWeasel)에서 수행하였다.

테스트에 사용된 리눅스 배포판들

테스트해 본 은행들

결과

우리은행 오픈뱅킹 설치페이지에서는 알 수 없는 뭔가를 통합한 "전체설치" 파일을 내려받으라고 써있는데, 무슨 배포판들을 지원하는지, 어떤 브라우저에서 가능한지, 그런 정보가 전혀 공지 되어 있지 않다. 총 다섯 가지를 설치해야 한다는데, "전체설치" 파일인가 뭔가는 당연히(?) 설치가 안되고, 각각을 따로 깔려해도 그 중 하나가 설치되지않는다. 국민은행은 "오픈뱅킹"이라고 명시적으로 표현한 웹페이지 자체가 없다.1 위에서 "불가능"으로 분류된 은행권들의 구린 공통점들이 있다. 특별한 설정을 바꾸지 않는한 웹 브라우저로 접속하는 순간, 접속한 브라우저 정보와 사용 중인 OS 정보를 접속한 은행권에서 바로 알 수 있다.(예를 들어, Windows로 Mozilla FirefoxGoogle Chrome에 접속하면 [Windows 용 내려받기]가 자동으로 뜬다. 물론 OS X로 하면 OS X 용이 뜨고, Ubuntu로 접속하면 .tar.bz2 혹은 .deb 파일 내려받기가 바로 뜬다.) 그럼에도 불구하고, 마치 Linux에서 되는 양, 설치 페이지로 자동으로 이동하고 무조건 깔라고 지시한다. 그리고 실패하면 사용자가 뭔가 잘못한 것같은 느낌이 들게 만든다. 최악이다. 처음부터 안된다고 써 놓으면 될 것을, 이것저것 설치하게 만들고 나서는, 결국엔 되지도 않는다. 이건 마치 "이스트소프트"의 "알집" 같지 않은가? 자기가 못 풀면서, 알집이 못 푼다고 창을 띄우지 않고 "압축이 잘못된 파일입니다."라고 버젓이 띄운다.(심지어는 알집에서 .zip 으로 압축한 파일도 가끔 다른 프로그램에서 풀지 못한다.)

알집은 아예 쓰지 말 것을 강력히 권한다.

은행은 아직까지는 그럭저럭 지원하는 신한은행 오픈뱅킹이나 씨티은행 오픈뱅킹을 사용하자.

신한은행과 씨티은행

씨티은행 오픈뱅킹은 우리은행 보다는 조금 낫지만, 우선 설치페이지까지 가기가 불편하고, 뭘 까는지, 지원하긴 하는 지, 등의 정보가 역시 없다.

설치는 신한은행 오픈뱅킹을 통해서 하는 것이, 무엇을 설치하는 지 분명하게 알고 깔 수 있게 되어있다. 단 두 개만 설치하면 되고, 그 과정도 다른 리눅스 소프트웨어 설치 과정과 차이가 없다. 설치가 완료되면 신한은행 오픈뱅킹을 사용할 수 있음은 물론이고, 별도의 다른 설치 과정 없이 씨티은행 오픈뱅킹도 바로 사용 가능하다. 아래 상세 과정에 사용된 이미지들은 Kubuntu 12.04 LTS (Precise Pangolin), 64-bit(amd64)에서 찍은 스크린샷들이다.

설치 과정

  1. 아래 명령어를 Bash shell(Termial)에서 실행하여, Debian GNU/Linux나 Kubuntu(or Ubuntu)의 버전과 architecture를 확인하자.
    $lsb_release -a
    $dpkg --print-architecture
    

    12394262653_a2f8e5137a_z.jpg

  2. 신한은행 오픈뱅킹에 들어가서 "공인인증 전자서명 프로그램"과 "개인 방화벽 프로그램", 이 두 개를 다운로드 한다. 자신의 architecture가 i386 이면 "32bit 용"을 받고, amd64 이면 "64bit 용"을 내려받는다.2

    12394186074_99dd9f9d66_z.jpg

  3. 다운이 완료되면 해당 디렉터리(directory)로 가자. aosfirewall_…debnpcrossweb-plugin-…deb 파일을 확인할 수 있을 것이다. 여기서 amd64 architecture 용을 받았다고 가정한다면, Bash shell(Termial)을 열어 우선 aosfirewall_…deb 파일을 설치하자.
    $sudo dpkg -i aosfirewall_u64.deb
    

    아무런 error도 없이 설치될 것이다. 두 번째로 npcrossweb-plugin-…deb 파일을 설치하려 하면 아래와 비슷한 error가 뜰 것이다.

    12393731015_b3c20f447f_z.jpg

    npcrossweb-plugin-…deb 파일을 설치하려면 다른 packages가 필요한데 없다는 메시지다. 당황할 필요 없이, 위 그림에서 처럼 Depends: 다음에 나오는 packages를 모조리 설치해주면 된다. 또 에러가 나오면, 거기에 필요한 packages를 추가해서 한꺼번에 설치하면 된다. 내 경우는 libwebkitgtk-1.0-0, libgail18, libgeoclue0, libwebkitgtk-1.0-common, libjavascriptcoregtk-1.0-0 이 모두가 필요했다.

    $sudo apt-get install libwebkitgtk-1.0-0 libgail18 libgeoclue0 libwebkitgtk-1.0-common libjavascriptcoregtk-1.0-0
    

    이제 두 번째 파일인 npcrossweb-plugin-…deb 를 설치하자.

    $sudo dpkg -i npcrossweb-plugin-u11_6.4.25-5016_amd64.deb
    

다시 한번 말하지만, 설치가 완료되면 신한은행 오픈뱅킹을 사용할 수 있음은 물론이고, 별도의 다른 설치 과정 없이 씨티은행 오픈뱅킹도 바로 사용 가능하다. 우리은행을 비롯한 다른 은행들은 그래도 사용할 수 없었다.

공인인증서

이미 쓰고 있는 공인인증서가 있다면, 그냥 복사해서 붙이고 쓰면 된다. 컴에 숨겨있지도 않고 버젓이 NPKI 라는 폴더(or directory) 아래 떡하니 있다. 각 OS 마다 NPKI 가 위치한 경로(path)가 다르고, 그 아래 sub-directory 이름을 조금 수정해야 할 필요는 있다. 가장 중요하게 필요한 파일은 두 개이다.

  • signCert.der
  • signPri.key

이 파일들은 저장 매체나 OS에 따라 아래와 같은 경로(path) 아래 저장되어 있다.3

  • usb: /NPKI/yessign/user/CN…/
  • OS X: ~/Library/Preferences/NPKI/yessign/user/CN…/
  • Debian GNU/Linux 7.3 and Kubuntu 12.04: ~/NPKI/yessign/USER/cn…/

여기서 ~ 는 home directory를 의미한다. Bash shell(terminal)에서 cd ~ 하면 이동하는 위치다. 사용자 이름을 name_A 라고 하면, OS X에서는 /Users/name_A/ 를 의미하고, Linux에서는 /home/name_A/ 를 의미한다. 그리고 yessign 은 공인인증서 발급 업체(혹은 인증기관식별자)를 의미한다.

만약을 위해 원본은 지우지 말고 가지고 있기를 추천한다.

예를 들어, OS X에서 Debian GNU/Linux로 usb를 가지고 공인인증서를 이동시키려면,

  1. OS X에서 ~/Library/Preferences/ 아래의 NPKI directory를 통째로 usb에 복사한다. 그냥 Finder에서 해도 되고 terminal에서 해도 된다.
  2. 이 usb를 Debian GNU/Linux에 꽂는다.
  3. Debian GNU/Linux에서 자신의 home directory (즉, /home/name_A/) 아래에 usb에 있는 NPKI directory를 통째로 복사한다.
  4. ~/NPKI/yessign 로 가서 user directory 이름을 USER 로 바꾸고, 그 아래로 가서 CN… 으로 시작하는 directory의 이름에서 'CN='을 'cn='으로, 'OU='을 'ou='으로, 'O='을 'o='으로, 'C='을 'c='으로 변경한다.

물론 바꿔서 이제 cn… 으로 시작하는 directory 아래에 signCert.der, signPri.key 이 두 파일이 있어야 한다. 혹시 안되면, Debian GNU/Linux에서 ~/NPKI/ 아래에 yessign/ 말고 다른 directories는 모두 지우고 다시 은행권에 접속해보자.

이런 과정이 귀찮으면, 갖다 붙인 공인인증서가 있는 usb를 Linux에 꽂고, 웹 브라우저로 은행권에 접속하면 usb에 있는 공인인증서가 바로 보이므로, 이 자체로 써도 된다. 그리고 은행권에서 제공하는 공인인증서 관리 페이지로 이동 후, 거기서 usb에서 Linux로 '복사하기' 해도 물론 된다.

다른 은행들

위에서 "불가능"으로 열거한 은행들을 쓰는 방법이 있기야 있다. 해당 은행이 명시적으로 지원한다고 표시한 리눅스 배포판을 쓰면 된다. 외환은행(KEB) 오픈뱅킹을 예를 들어 보자. 그래도 나름 친절하게도 서비스 안내에서 "지원가능 OS와 브라우저"를 명시적으로 써 놨다.4

OS 브라우저 지원Bit
리눅스 파이어폭스 3.5 이상  
Ubuntu 9~11 오페라 10.10 이상 32 Bit/64 Bit
Fedora 12~15 크롬 5.0 이상  

외환은행(KEB) 오픈뱅킹 서비스 안내 페이지에서 인용

Ubuntu 11…

13.10이 가장 최근이며, 12.04 LTS (Precise Pangolin)가 나온 지가 2년이 다되어가서 다음 LTS가 곧 나올 마당에 Ubuntu 11이 지원하는 가장 최신의 OS이다. 이런 옛날 OS를 오직 은행권 사용을 위해 다른 모든 것을 포기하고, 컴에 직접 설치해서 쓰기를 절대로 권하지 않는다. VirtualBox 같은 가상화 프로그램을 이용해서 해당 리눅스 배포판을 깔고 은행 용으로만 쓰면 된다. VirtualBox 사용법은 지난 Posts에서 여러 번 언급하였다.

물론 이 글을 읽는 독자가 직접 1) 사용을 원하는 은행에 찾아가서 2) 오픈뱅킹 관련 안내 페이지를 찾은 후 3) 지원하는 리눅스 배포판 중 마음에 드는 것을 다운받아야 한다. 현재(<2014-02-15 Sat>) Kubuntu 홈페이지에서는 13.10과 12.04 LTS만이 다운로드 가능하다. 구 버전은 아래의 링크를 따라가서, 파일 이름 중간에 alternate 가 붙은 녀석을 골라 다운받으면 된다.(예를 들어, kubuntu-10.04-alternate-amd64.iso)

Epilog

한국의 오픈웹 환경과 공인인증서와 관련된 문제를 이 글에서 다 다루기에는 역부족이다. 관련된 것들 중에 추천할 만한 읽을 것들과 들을 것들은 아래를 참조하자.

또한, 알집은 아예 쓰지 말고, NAVER는 아예 접속조차 하지 말자. 이 둘은 안 쓰는 것이 상책이고, 사실 필요도 없다.


Footnotes:

1

물론 한국에만 Windows OS 이외의 OS를 지원하는 척 하면서 "오픈뱅킹"이라는 표현을 쓴다. 원래 대부분의 OS를 지원해야 마땅하며, Windows만 제대로 지원하는 주제에 생색내는 표현이다.

2

Ubuntu 용에 버젓이 "RPM Package"라고 적혀있다. 그냥 웃으며 넘어가자.

3

Windows 경우에는 C:\program File\NPKI 아래에 저장되어 있다고 한다. 자세한 내용은 여기를 참조하자.

4

OS X의 경우는 10.6 Snow Leopard가 지원하는 가장 최신의 OS이다. 무려 2009년에 나온 OS다. 지금은 2014년이다.


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

Created: 2014-02-16 Sun 06:31

Emacs 23.4.1 (Org mode 8.0.2)

No comments:

Post a Comment