전자서명 웹 표준화 안되나

어제 한국정보보호학회에서 주최한 공인인증서 의무화 논란에 대한 토론회가 있었습니다.

공인 인증서를 민간 금융 거래에 광범위하게 사용하고 있는 우리 나라에서 다른 인증 수단을 허용해 줄 것인지 여부에 대해 서로 이견을 좁히기 어려웠다는 후문입니다.

특히, KISA에서는 부인 방지 기능을 전자 서명을 요체로 하는 우리 공인 인증 기술이 국제적으로도 널리 쓰이고 있고 수출 가능하다는 입장을 보였습니다.

한국인터넷 진흥원(KISA) 강필용 팀장은 이날 토론회에서 “최근 공인인증서와 관련해 많은 오해가 생겨나고 있고, 보안성이나 효용성이 사실과 달리 호도되고 있다”며, “공인인증서는 국제표준을 준수하고 기술중립성을 갖고 있고 해외에도 수출되고 있고, 10년 이상 사용하면서 OTP+SSL에 비해 훨씬 안전한 것으로 검증된 기술”이라고 강조했다.

“공인인증 서는 전세계에서 사용할 수 있는 기술로, 국내 공인인증기술은 우수성을 인정받아 개발도상국 IT지원 일환으로 세계로 수출되고 있는 대표 브랜드”라고 덧붙였다. 현재 필리핀, 베트남, 파나마 전자정부에 이미 구축돼 있고 이집트, 인도네시아, 카메룬, 코스타리카에서도 구축이 추진되고 있다는 것이 KISA의 설명이다.

즉, “국내 플러그인 기반 전자 서명 기술이 해외 선진국이 사용하고 있는 OTP+SSL보다 검증된 기술”임에도 선진국이 아니라 후진국과 개발도상국에 IT 지원 일환으로 수출을 하고 있다는 말입니다. (그러나 수출된 나라에서도 민간이 아니라 관공서 위주로만 채택된 상태이죠.)

그렇다면 왜 선진국은 안전하지 않은 OTP+SSL을 사용하고 부인 방지기능이 탁월한 전자서명을 쓰지 않는 것일까요? 왜 전자서명 기능이 범용 웹 브라우저에 탑재되어 제공되지 않는 것일까요?

전자 서명은 웹 초기 부터 있었다
공개키 기반(PKI) 보안 기술의 요체가 되는 SSL 클라이언트 인증서 및 전자서명 기능은 웹이 시작될때 부터 구현 되어있었습니다. 1998년 Netscape에 처음 crypto.signText 기능으로 탑재 되었고 IE에서는 CAPICOM이라는 activex 콘트롤로 구현 가능합니다.

사실상 우리나라 전자 서명법과 그 규격은 사실 이 기술의 copycat이라고 보시면 됩니다. 과거 베리사인에서도 기업 솔루션에 activex/java plugin기반 전자서명 도구를 제공하기도 했습니다. 지금은 휴대용 보안토큰(HSM)이랑 일회용 암호생성기(OTP) 등 오프라인 기기 인증만 하는 걸로 봐서 플러그인 기반 제품들은 걷어 낸 걸로 보입니다

웹 브라우저에서 전자서명을 수행하는 crypto.signText는 초창기 Mozilla에서 보안 공격이 많아서 기능 해제(deprecated) 됐다가 얼마 전 다시 제공되는데, 웹 브라우저에 탑재된 SSL 인증기관에서 발급한 인증서에서만 가능하도록 제한이 좀 강화되었구요. (Opera에서도 사용됩니다.)

수요가 없는 기술
근데 13년이나 된 기술이 왜 웹 표준화도 안되고 있느냐? 바로 외국에서는 수요가 거의 없기 때문입니다. 유럽 국가에서 공인 인증에 대한 수요가 있긴 하고, 플러그인으로 구현하는 하는 곳이 있기는 합니다만 상업 등기, 전자 문서 서명 및 입찰, 기업간 거래 등의 분야에서는 PKI 기반 소프트웨어가 상용화 되어 있으나 웹 기반으로 구현하는 곳은 거의 없습니다.

실제로 차세대 웹 표준을 만드는 WHATWG과 W3C의 HTML5 w/g에서 2006년 부터 공감대 형성을 위해 노력 했지만, 기술 수요가 없었습니다. 현재 본 이슈는 Web Application 워킹그룹으로 넘어와 있으나 1년이 넘게 아무런 액션이 없는 상태입니다.

요즘은 그냥 워킹그룹 메일링리스트에 이야기만 해봤자 아무런 도움이 안된다는 판단하에 그 이후에 현재 Mozilla와 Opera 사람들을 중심으로 공감대 형성 및 기본 스펙 작업을 하고 있긴 합니다만 시간이 좀 소요될 것 같네요.

노력은 했었나?
90년대말 우리 나라 PKI 업계는 100여개에 가까울 정도로 엄청난 경쟁 상태였고 이를 토대로 PKI 기술이 사회 전반에 다양하게 영향을 주었습니다. 하지만, 해외 진출이나 산업 기술의 표준화 노력이 부족하여 지금은 십여개 정도만 명맥을 유지하는 상태이죠.

웹 브라우저에서 전자 서명을 수행하려면 웹 브라우저에 국내 공인 인증기관 루트 인증서가 정식 탑재되고, 공인 인증서가 pkcs#12로 가져오기/내보내기가 되어야 하며 crypto.signText 같은 기능이 잘 동작해야 합니다.

우리 나라 공인 인증 기술이 국내 기술로만 만들어지다 보니 표준과 다른 구현이 존재 합니다. 공인 인증서들이 국제 규격을 벗어나는 다양한 확장(extension) 들이 있기도 하고, 공인 인증서 암호 사용 방법이나 인증서 저장 위치 등에서 차이가 납니다.

사실 전자서명 웹 표준화에 대해 KISA나 국내 (공인 인증) 보안 업계의 노력은 전무하다시피 합니다. 기술 구현 노력은 어느 정도 하고 있으나 OpenSSL에 SEED 탑재를 최초로 한 것도 perky님이었고, 이를 기반으로 KISA에서 Firefox에 SEED 알고리듬을 탑재했지만 NSS 패치는 6개월 동안 응답이 없고, KISA root ca 인증서 탑재에 수 년이 걸려도 못하고 있는 상태입니다. 지켜 보는 저로서는 답답한 상태입니다.

KISA에서는 단순히 전자서명과 부인방지라는 교과서적인 이론만 가지고 기술 우수성만 주장하지 말았으면 합니다. 전자서명을 수행하기 위해 사용자 플러그인 기술을 사용할 수 밖에 없어 PC의 보안성을 낮추고 그로 인해 AV, 키보드 보안까지 해야 하며 보안이 뛰어난 웹 브라우저 선택을 불가능하게 하는 사회적 보안 비용이 들었으니 말입니다.

저도 전자서명 웹 표준화는 필요하다고 생각합니다. 우리 나라 보안 기술이 훌륭하다면 전 세계적으로 설득 가능해야 합니다. 우물안 개구리라는 말이 괜히 있는게 아니죠. 다양한 정보 보호 기술이 경쟁을 할 수 있는 구도를 만들어야만 공인 인증 제도 역시 경쟁력을 확보할 수 있을 것입니다. 그리고 왜 외국에서는 전자서명을 민간 부분에서 대거 채택하고 있지 않은지도 잘 살펴보고 경쟁력이 있는지도 가늠해봐야 할 것입니다.

여러분의 생각

  1. 강병철 2010 April 01 7:56

    깔끔한 결론 “우물안 개구리라는 말이 괜히 있는게 아니죠.”.

의견 쓰기

이름* 이메일* 홈페이지(선택)