공인인증/보안프로그램에 관한 제안(technical)

2009.3.29

우리의 개발자분들이 겪는 어려움과 한국의 웹환경에 대해서는 모두 나름의 문제 의식이 있으실 것입니다.

그러나, 공무원을 탓하고 보안업계 과점 사업자들의 부도덕을 한탄하며 무기력감에 빠져 있을 것이 아니라, 뚜렷한 기술적 논거로 뒷받침된 합리적 정책 대안을 명시적, 구체적으로 제시, 설명하는 노력이 어느 때 보다도 필요한 시점이라고 생각합니다.

저는 선진적 기술과 국제적 안목을 가진 고급 기술 인력 분들이 제대로 그 견해를 관철 할 수 있고, 그 역량에 맞는 대우를 받는 상황을 만들어 내고 싶습니다. 행정권한을 행사하는 분들이 양심적인 기술전문가들의 조언, 객관적이고 투명하게 검증된 해법을 채택하도록 그 대안을 제시하고 설명할 필요가 있습니다.

“전자금융거래에서의 공인인증/보안프로그램 설계 및 운용 원칙”을 KLDPWiki 페이지로 만들었습니다. 직접 수정, 개선해 주시기 바랍니다. http://kldp.org/node/104111 도 참조 바랍니다.


이하에서는 전자서명과 보안접속에 대한 간단한 배경설명을 드리겠습니다.

전자서명은 거래당사자의 본인확인과 거래내역의 부인방지에 사용되는 기술입니다. 그러나, 이 기술은 보안접속과는 무관합니다. 한국을 제외한 전세계의 모든 전문가들이 이점은 알고 있고, 우리 전자서명법도 보안접속에 관한 내용은 전혀 없을 뿐 아니라, KISA역시 보안접속 문제는 (공인) 인증/전자서명과는 무관하다는 점을 거듭 확인하고 있습니다.

세계적 기술경향은, PKI client 는 순수히 전자서명 기능만을 구현하고, 보안접속은 ssl/tls 로 구현합니다. 한국에서는 90년대 후반의 특수한 사정(ssl 이 저급한 수준에서만 가능했던 상황) 하에서 개발된 “전자서명/보안접속 통합 plugin”이라는 10년 전 기술이 아직까지 사용되는 안일함과 기술적 타성(정체성)이 지배하고 있다는 것이 문제의 핵심입니다.

이론의 여지 없이 당연히, 당장 시정되어야 할 사항은, 전자서명이 필요 없고 보안접속만 필요한 서비스에서도 ‘전자서명/보안접속 통합 plugin’를 마구 들이대는 한국의 기술 관행입니다.

ssl/tls 가 “해킹에 취약하다”는 견해는 10년 전에 개발한 ‘통합 plugin’을 어떻게 해서라도 계속 팔아보려는 국내 보안업체 입장을 대변하는 것입니다. ssl/tls는 전세계의 무수한 서비스 제공자들이 민감한 서비스에 이용하고 있으며, 공개적 검증을 통하여 그 안전성을 가늠할 수 있는 방법입니다. 오히려 한국에서만 사용하는 ‘통합 plugin’이 과연 어떤 방식으로 shared key 를 서버와 클라이언트 간에 전달하는지에 대해서는 documentation 조차 없습니다. 즉, 아무도 그 각 step의 구체적 단계에서 있을지 모를 보안위험을 객관적으로 검증해 볼 기회조차 없는 해법입니다. 보안 소프트웨어는 공개적 검증이 가능해야 안전하다는 점은 전세계의 보안전문가들이 동의합니다(국내 보안업체들과 국정원 보안인증사무국 관계자만이 “technical specs 이 공개되면 위험하다”는 특이한 견해를 유지하고 있을 뿐입니다).

(공인)인증서, 즉, 이용자 인증서(user certificate)가 수행하는 신원확인/부인방지 기능은 보안에 관련된 이슈라기보다는 법률적 이슈입니다. 전자거래와 관련된 분쟁이 발생했을 때, 일방당사자(고객)는 그 거래가 자신이 수행한 거래가 아니라거나, 자신이 수행한 거래와는 내용이 다르다고 주장하고, 상대방 당사자(서버)는 그 주장을 다투는 상황에서 서버가 자기 주장을 뒷받침할 용도로 법원에 제시할 수 있는 것이 바로 전자서명 데이터입니다.

물론, 이 서명데이터가 오로지 거래의 일방 당사자가 자체적으로 마련한, 그 내막을 법원도 알 수 없고, 감독관청도 알 수 없고, 상대방 당사자도 알 수 없는 私製소프트웨어로 생성시킨 데이터라면, 그 데이터는 증명력이 없습니다. 이러한 서명데이터는 “공인전자서명 외의 전자서명”으로 우리 법은 규정하고, 일방이 그 효력을 부인하면 서명/날인으로서의 효력이 없습니다.

공인인증서(와 쌍을 이루는 개인키)가 사용되기만 하면, 어떤 소프트웨어로 만들어 내더라도 무조건 공인전자서명이 되는 것은 아닙니다. 예를 들어, 이미 깨진 해쉬 알고리즘으로 생성된 서명데이터를 믿을 수는 없습니다. 거래의 당사자들로부터 중립적 지위에 있는 공인인증기관이 감독관청의 심사를 받고 제공하는 “공인” 가입자 설비(accredited client software)로 생성시킨 서명데이터가 “공인전자서명”입니다.

은행이 제 멋대로 제공하는 私製소프트웨어가 난무하는 현 사태는 시정되어야 합니다.

현행 법제를 전제로 수용할 경우에도, 사태를 교정하는 방법은 간단합니다.

  • i) 순수히 인증/서명 관련 기능만을 가진 공인가입자 설비를 공인인증기관이 감독관청의 심사/검증을 받고 일괄 제공하고,
  • ii) 보안접속은 ssl/tls 로 구현하고,
  • iii) 나머지 잡다한 ‘보안프로그램’을 자기 컴퓨터에 설치할지는 순전히 이용자의 자유로운 판단과 선택에 맡기면 됩니다.

트랙백.

  1. No comments yet.
(will not be published)

링크가 많이 포함된 댓글은 즉시 나타나지 않을 수 있습니다

  1. No trackbacks yet.