사용자 삽입 이미지
최근 KB국민은행이 액티브X(Active-X)를 전혀 사용하지 않고도 인터넷뱅킹을 쓸 수 있는 시스템을 구현했다. 올 상반기 유행하던 범용실행파일(exe) 형태가 아닌 순수 HTML5로 개발한 것이라 업계의 눈길을 끌었다.

사실 순수 웹표준으로 인터넷뱅킹을 구현하려는 노력은 오래전부터 있어왔다. 한국전자통신연구원(ETRI)를 비롯해 보안업계에서는 HTML5 웹크립토API를 지원하는 웹브라우저에서 별도의 플러그인 없이 전자서명을 할 수 있는 방법을 논의해왔다. 당연히 PKCS(Public-Key Cryptography Standards) 라이브러리를 채택해 암호 기능도 갖췄다. 소프트포럼, 예티소프트 등 전통적인 PKI 업체들이 지난해부터 이 시장에 매진했고 현재 솔루션으로 구현도 마쳤다.

오래전부터 완료됐음에도 불구하고 HTML5 기반 공인인증 시스템이 확산되지 않은 이유는 전자금융거래법때문이다. 동법 제9조에 따르면 금융회사들은 접근매체의 위조나 변조로 발생한 사고로 이용자가 손해를 입을 경우 책임을 져야 한다. 따라서 은행들은 접근매체(공인인증서 등)의 위조나 변조를 막기 위한 방법을 모색했는데, 그것이 개인방화벽, 키보드보안, 백신 등으로 불리는 ‘인터넷보안 3종 세트 프로그램’이다.

이러한 보안프로그램들은 웹표준으로 구현하기가 불가능하다. PC에서 발생하는 이상행위를 잡아야 하니 로컬(사용자PC)에 설치돼야 한다. 따라서 액티브X나 NPAPI, exe처럼 로컬과 웹브라우저를 연결해주는 형태로 설치를 할 수 밖에 없다.
사용자 삽입 이미지

이 상황에서 KB국민은행이 택한 카드는 보안3종세트를 버리는 것이다. 대신 사용자 인증단에서의 보안을 일회용비밀번호(OTP)로 강화했다. 스마트폰과 근거리무선통신(NFC) 기능으로 연동되는 OTP카드를 도입했다. 공격자의 입장에서는 물리적으로 분리가 돼 있고, 혹여나 복제가 가능하다고 치더라도 스마트폰과 연동이 되지 않으므로 보안성도 담보된다.

공인인증서 시스템은 앞서 설명한 것처럼 HTML5로 구현했다. HTML5로도 인증서 발급, 폐기, 암호화 등의 기능을 사용할 수 있다. HTML5에 포함된 웹크립토API가 그 기능을 수행할 수 있기 때문이다.
사용자 삽입 이미지

공인인증서 저장은 웹브라우저에 한다. HTML5 요구사항에 웹브라우저 저장소가 있는데, 여기에 공인인증서를 넣어두고 웹브라우저 내부에서 인증서를 호출해 전자서명을 하는 형태다. 공인인증서가 웹브라우저 안에 있으니 로컬과 연동해주는 프로그램이 당연히 필요가 없다. (혹자는 공인인증서를 은행의 서버에 저장한다고 오해를 하는데, ‘개인키(인증서)’는 양도가 불가능하기 때문에 그런 시스템이 나올 가능성은 없다.)

하지만 아직 완벽한 것은 아니다. 지금 사용되고 있는 공인인증서를 웹브라우저 저장소 규격에 맞춰 복사하는 작업이 필요하다. 이때문에 KB국민은행에서도 공인인증서를 변환하는 프로그램(certconverter)을 제공한다. 변환 프로그램은 공인인증서를 PKCS#12 형태(인증서와 개인키가 결합된)의 인증서로 바꿔준다. 이 때문에 액티브X와 ‘도긴개긴’이라고 평가하는 사용자도 있다.

더 큰 아쉬움은 따로 있다. 웹브라우저 저장소에 보관된 공인인증서는 KB국민은행 인터넷뱅킹에서만 사용할 수 있다. 타 은행이 HTML5 기반 공인인증서 시스템을 도입하더라도 공인인증서를 변환해서 저장하는 절차는 또 겪어야한다. 그리고 아직 웹크립토 워킹그룹에서 SOP(Same Origin Policy)로 인해 문제 해결이 끝나지 않았기 때문에 당분간 이러한 시스템은 유지될 것으로 보인다. 게다가 PC가 바뀌더라도 동일한 절차를 수행해야 한다. 이 시스템은 어디까지나 로컬에 설치된 웹브라우저 저장소에 공인인증서를 보관하는 것에 불과하기 때문이다.

여전히 불편한점이 많음에도 불구하고 KB국민은행의 시도는 칭찬받아 마땅하다. 우선 보안3종세트를 걷어냈다는 점이 가장 크다. 또 스마트OTP 보급에 투자를 아끼지 않는 것도 인정할 만 하다. 현재 KB국민은행은 이달 말까지 10만개 한정으로 발급 수수료를 면제해주고 있다.

댓글 쓰기

저작권자 © 딜라이트닷넷 무단전재 및 재배포 금지