낡고 허술한 공인인증서 기술의 실상

13년 동안 정부가 강제로 끌고온 공인인증서 기술의 실상은 이렇습니다.

1. 저장 위치, 저장 방법

1999년 당시의 윈도우 운영체제는 ‘이용자 권한’이라는 개념 자체가 존재하지 않았습니다. 그냥 자기 PC는 자신이 마음대로 주무를 수 있다(아무리 컴맹이라 할지라도)는 ‘보안 부재’ 발상에 입각해 있던 운영체제 였습니다. 그래서 시스템 파일들이 저장되는 C:\Program Files 라는 곳에 떡허니 NPKI라는 이름의 폴더를 만들고 그 속에 ‘개인 인증서’를 저장하는 (지금 기준으로는 황당한) 발상을 한 것입니다.

MS사는 윈도우2000이후부터 ‘유저의 권한’을 차등적으로 규정하고, 관리자 권한을 함부로 사용하지 않도록 개선해 왔습니다. 유닉스와 유사한 Linux 운영체제, 그리고 맥 운영체제에는 처음부터 존재하던 중요한 보안 장치가 윈도우에서는 뒤늦게 도입된 셈이지요.

그리고 윈도우 비스타부터는 액티브X 조차도 non-admin (일반이용자) 권한으로 설치, 운용할 수 있도록 개선되었습니다. 하지만, 국내의 보안인력은 이런 것이 있는 줄도 모르는 분들이 태반입니다. 아직도 인터넷뱅킹은 ‘관리자 권한’으로 하라고 강요하고 있지요.

2. ‘서버’인증이라는 개념조차 없습니다.

어떤 웹브라우저도 인식할 수 없는 위치에 공인인증서(유저 인증서)를 저장해 두고, 플러그인을 유저들에게 나누어주고 그것으로 공인인증서를 “어쨋건 사용하기만 하면 된다”는 발상에 근거한 ‘한국형 인증서’ 기술로는 서버의 신원을 확인할 방법이 없습니다. 공인인증서 사용에 필요한 추가프로그램(플러그인)은 유저가 서버에 http로 접속한 상태에서 뿌려집니다. 서버의 신원을 전혀 확인할 수 없는 상태에서, 유저가 그 서버를(과연 그 서버인지 알 수도 없지만) ‘무조건 믿고’ 그 서버가 주는 이해 못할 프로그램을 자신의 컴퓨터에 내려받아 설치하도록 강요됩니다. 웹이용 상황에서 요구되는 보안의 가장 첫걸음부터 무시한 발상이지요.

‘공인인증서’를 개발할 시점의 한국 기술자분들은 ‘서버 인증’이 왜 필요한지를 이해하지도 못한 상황이었고, 그런 인식수준에서 ‘유저 인증’ 기술로 개발된 것이 바로 공인인증서 입니다. 지금도 공인인증서 거의 대부분은 유저인증서(client certificate, user certificate)입니다.

실은, 한국의 공인인증기관은 서버인증서를 제대로 발급할 능력도 없습니다. 우선, 인증서 규격을 제대로 준수하는 ‘기술적 방법’을 몰라서, 오페라 웹브라우저로 그런 서버(한국의 공인인증기관이 발급한 서버인증서를 장착한 웹서버; 예를 들어, https://www.kisa.or.kr이나, 최근 논란이 되었던 https://www.fineapps.co.kr 등)에 접속을 시도하면 ‘접속 오류’가 납니다. KISA는 이 문제를 7년이 지난 오늘도 해결하지 못하고 있습니다. 기술적 오류 뿐 아니라, ‘신뢰 결여’ 문제도 있습니다. 파이어폭스 웹브라우저의 경우(그리고 리눅스에서 작동하는 모든 웹브라우저의 경우), 국내 공인인증기관이 발급한 서버인증서를 장착한 웹서버에 유저가 접속을 시도하면, “이 사이트는 믿을 수 없는 사이트인데, 그래도 계속하겠는가?”라는 무시무시한 경고가 뜹니다. 이런 상황은 해당 인증기관과 그런 인증기관에서 서버인증서를 발급받은 사이트 운영자로서는 치명적인 것입니다.

유저들에게 “이런 보안 경고를 무시하고 계속 진행해 주세요”라고 안내한다면, 그야말로 무지막지한 것입니다.

3. 컴맹 유저를 상대로 한 ‘속임수’에 의존하고 있습니다.

PC의 하드디스크에 저장된 공인인증서를 USB에 복사하거나(또는 그 반대 경우), PC/USB에 저장된 공인인증서를 안드로이드 스마트폰에 복사할 경우(또는 그 반대 경우), 실은 아무런 암호나 ‘인증코드(스마트폰에 인증서를 복사할 때 요구되는 16자리 숫자; 인증서 암호와는 다름)’ 없이도 단순히 copy & paste 하기만 하면 마구 복사가 됩니다.

‘컴맹 이용자’들은 이런 엄연한 fact를 알지 못합니다. 바로 이런 이용자들을 상대로 KISA/금융권/보안업체들은 인증서 암호를 입력하라, 16자리 인증코드를 입력하라, 주민번호를 입력하라… 는 등, 그야 말로 온갖 “XX 훈련”을 시키고 있습니다. 그 이유는 무엇일까요?

  • 이렇게 해두면, 사고가 터졌을때 보안 기술을 전혀 모르는 법관에게 “공인인증서는 이렇게 안전하다, 복사도 함부로 못한다”는 거짓 주장을 내세울 수 있습니다.
  • “걍 copy & paste 하면돼요”라고 솔직하게 안내하거나, (NPKI폴더를 찾지 못하는 일반 이용자를 위하여) 인증서 복사 프로그램을 제공하고 “복사 버튼을 클릭하면 즉시 복사”되도록 간편하고 정직하게 설계해두면, 대부분의 이용자들이 “이렇게 허술한가?”라는 정당한 의심을 하게 될 것입니다. 이처럼 정당하고 근거있는 의심을 “암호입력 코스프레”로 가려덮어 보려는 것입니다.

4. KISA가 과연 안전하게 업무를 수행하는지 아무도 검증하지 않습니다.

루트인증기관은 최상위에 위치한 인증기관을 말합니다. 전세계에서 인정받고 전세계를 상대로 영업하는 루트인증기관들은 모두 전문성과 독립성이 있는 제3자(보안 감사 서비스 업체)에 의해서 정기적으로 검증을 받고, 그 검증 결과를 웹브라우저 회사들에게 제출합니다.

하지만, 공인인증제도의 정점에 위치한 ‘한국형’ 루트인증기관 KISA는 누구로부터도 검증을 받지 않습니다. 그뿐 아니라, KISA는 전세계의 루트인증기관들이 모두 제3자의 검증(실사)을 정기적으로 받는다는 사실 조차도 최근까지 모르고 있었습니다. 아무도 검증 안하는 KISA를 정점으로 구축된 한국의 공인인증체제를 무작정 믿으라는 정부의 요구는 상식을 벗어난 것입니다.

이런 엄연한 fact를 가려 덮으면서, “공인인증서는 안전하다”고 계속 국민을 호도하는 금융위/미래부/금융기관/보안업체에 대해서는 책임을 물어야 할 것이라고 생각합니다.

오픈넷

Print Friendly, PDF & Email