KISA(국내 공인인증제도의 정점에 있는 한국인터넷진흥원), 미래부, 금융위, 금감원 그리고 공인인증업체들이 계속 되풀이하는 주장들이 있습니다. 그런 주장들이 참(true)인지, 거짓(false)인지를 정리해 보았습니다.
(1)법이나 제도에 관한 주장과 (2)보안 기술에 관한 주장으로 나누어 보았습니다.
(1)법이나 제도에 관한 주장
1. “종이문서에 막도장이나 인감도장을 찍거나 육필서명을 해야하듯, 전자문서에는 전자서명을 해야한다.”
거짓(false)
육필서명, 날인, 전자서명은 모두 ‘증거자료’에 불과합니다. 육필서명/날인/전자서명이 없다고 문서가 법적으로 무효로 되는 것이 아닙니다. 심지어 문서 자체가 아예 없어도 계약은 유효하게 성립하고 당사자를 구속할 수 있습니다. 세계 각국에서 온라인 상거래(뱅킹, 쇼핑)가 전자서명 없이 이루어지지만, 아무런 법적 문제도 없고 그런 거래(계약)도 모두 유효합니다.
전자서명 안된 단순한 이메일 내용이나 SMS문자 메세지, 카톡 메세지 등도 전세계(한국 포함)의 법정은, 종이에 서명날인된 계약서와 마찬가지로 “유효한 증거자료”로 받아들입니다.
2. “미국은 사고거래 책임을 고객이 지지만, 한국은 은행이 진다.”
거짓(false)
지겹도록 반복된 근거없는 주장입니다. 신용카드 그 자체, OTP생성기 그 자체를 고객이 분실해서 그것으로 사고거래가 이루어진 경우, 고객은 분실사실을 “안 때로부터 2일 안에 신고”하기만 하면, 그 사이에 아무리 많은 거래가 이루어졌어도 50달러만 책임을 지고, 은행이 나머지를 모두 부담합니다. 카드 자체를 분실하지는 않았는데, 공격자가 카드번호를 알아내서 거래한 경우, 고객은 그런 거래내역을 “통지받은 날로부터 60일 안에 신고”하기만 하면 한푼도 책임을 지지 않습니다. 고객의 과실여부는 아예 묻지 않습니다.
영국도 한국처럼 은행이 책임을 지도록 법제도가 되어 있습니다.
https://opennet.or.kr/2694 참조.
3. “미국은 은행이 사고거래 책임을 안져도 되기 때문에, 은행들은 다양한 인증방법을 부담없이 선택한다.”
거짓(false)
위 2번 참조. 은행이 모든 책임을 져야 하기 때문에, 은행은 더욱 안전한 보안기술을 선택하여 배상책임을 줄이려 노력합니다. 규제 당국의 올바른 자세는, “금융회사들은 각자 알아서 보안기술을 선택해라. 단, 사고가 나면 철저히 물어줘야 한다” 입니다. 이건 상식입니다.
바젤위원회(BCBS)가 채택한 전자금융위험관리원칙(Risk management principles for electronic banking)에서도, “어떤 인증 기법을 사용할 것인지는 … 은행경영진의 평가에 기초하여 은행이 결정하여야 한다“고 규정되어 있습니다(제4원칙).
4. “한 국가에 여러개의 최상위인증기관(루트인증기관)이 존재하면, 무질서하고 혼란스럽게 된다. ‘최상위’인증기관은 하나만 있어야 하고, 정부가 감독, 관리해야 한다.”
거짓(false)
미국내에도 벌써 VeriSign, GlobalSign, AOL, CACert, GeoTrust, Godaddy, Wells Fargo 등 여러 루트인증기관들이 있습니다.
루트인증기관은 원래부터 ‘정부’와는 무관한 것입니다. 한국에서만 미개하게 정부가 루트인증기관을 관리, 관장해야 한다고 오해하는 것입니다. 미국의 여러 루트인증기관들, 미국 정부가 승인하는 것이 아닙니다. 전세계의 여러 루트인증기관들도 마찬가지 입니다.
인증업체의 업무가 기술적, 관리적으로 안전하게 수행되지를 점검하는데 사용되는, 국제적으로 널리 인정받는 ‘인증업체 업무수행 점검 기준’이 있습니다(WebTrust 기준, ETSI가 공표한 기준, ISO 기준). 이 중 하나의 기준에 따라서 전문적인 보안감사(security audit) 업체가 해당 인증기관을 검증(실사)하여, “적합” 판정을 받으면, 그런 인증기관은 웹브라우저 회사들에게 루트인증기관으로 기본 탑재해 달라고 신청하게 됩니다. 웹브라우저들이 모두 믿어주면 바로 루트인증기관이 되는 것입니다.
애초부터 정부가 개입할 여지가 없는 분야입니다.
https://opennet.or.kr/2557#WebTrust 참고바랍니다.
5. “지난13년간 사용된 공인인증제도를 일거에 폐지하면, 국내 전자금융거래에 혼란과 불편이 생긴다. 따라서 ‘점진적’으로 개선해야 한다.”
거짓(false)
전자서명법/전자금융거래법 개정안은 “공인인증서 사용을 금지”하자는 것이 아닙니다. 그걸 계속 쓰고싶은 은행/카드사는 계속 쓰고, 그것을 걷어내고 다른 기술을 사용하고 싶은 은행/카드사는 다른 기술을 “자유롭게 선택”할 수 있도록 하자는 것입니다. 사고거래에 대해서는 은행이 모두 책임을 져야하는 것은 변함이 없습니다, 공인인증서를 쓰건 다른 기술을 쓰건. 지금도 그렇고 앞으로도 그렇습니다. 위2번 참조.
자신이 이용하던 어떤 은행, 카드사, 쇼핑몰이 어느날 공인인증서 내놓으라는 요구를 더이상 안하면, 유저가 ‘불편’해집니까? 이 프로그램 저 프로그램 깔아라 더이상 요구 안하고, 거래가 신속하게 완료되는 것이 ‘혼란’스럽습니까? 이때까지가 불편했던 것이고, 이때까지가 혼란스러웠던 것입니다(어느 프로그램이 악성인지 분간을 못하잖아요?)
새로운 변화가 싫고, 지금처럼 액티브X를 수북히 설치해야 편리하고 안심이 된다고 생각하는 고객은 공인인증서를 계속 사용하는 은행/카드사를 이용하시면 됩니다. 공인인증서를 사용하기 싫은 고객은 그것을 안쓰는 쇼핑몰이나 은행으로 갈아타면 되고요. 현재 발의된 전자금융거래법 개정안이 바로 이런 ‘점진적’ 변화를 보장하는 것입니다. 하루 아침에 모두 갈아엎으라! 는 것이 아닙니다. 그건 공산주의.
6. “공인인증서가 여러 문제가 있다는 것은 알지만, 지금으로서는 마땅한 ‘대안’이 없다. 대안이 있는가?”
거짓(false)
그냥 “저는 아무것도 몰라요”라고 솔직히 자신의 무지를 인정하고 조용히 계시면 됩니다.
7. “외국은 실시간 이체가 안되지만, 한국은 실시간 이체가 된다. 따라서 공인인증서 같은 ‘강력한’ 보안수단이 필요하다.”
거짓(false)
외국은 실시간 이체가 안된다는 것도 거짓(false)이고, 공인인증서가 ‘강력한’ 보안 수단이라는 것도 거짓(false)입니다. 거짓(false) 진술을 두개 연결한다고 해서, 그 진술이 참(true)이 되지는 않습니다.
인터넷으로 돈을 ‘즉시로’ 간편하게 주고받는 기술로 등장한 것이 페이팔입니다. “Paypal”이란 말 자체가 친구(pal)에게 돈을 지급(pay)하는데 사용하는 서비스란 뜻입니다. 이 서비스가 워낙 인기가 있으므로 미국 은행들은 굳이 위험하고 무모한 실시간 계좌이체 서비스를 내놓을 이유가 없는 것입니다. 이제 구글은 페이팔보다 더 간편하게 친구, 지인, 가족들에게 돈을 ‘즉시로’ 송금할 수 있는 구글월렛 서비스를 시작했습니다. 이메일 첨부파일 보내듯, “돈”을 ‘실시간’으로 보내는 시절이 시작된 것입니다.
외국이 이렇게 기술과 서비스의 진보를 거듭하는 동안, 한국의 KISA/금융위/미래부는 15년도 넘게 낙후된 공인인증 기술을 ‘신주단지’ 모시듯 하면서, 거짓(false) 진술을 두개 엮으면 참(true)이 되는 듯 착각하고 있을 뿐.
(2)보안 기술에 관한 주장
1. “공인인증서 만큼 안전한 기술은 없다.”
거짓(false)
그렇게 안전하면 왜 억지로 강제하시나요? 안전한 기술이라면 강제 안해도 전세계로 퍼져 나갑니다. SSL/TLS 기술(https 접속, 서버인증 암호화 교신 기술) 강제 안해도 전세계가 모두 자발적으로 사용하고 있습니다.
공인인증서 강제해야 된다고 주장하는 자는, 정부가 강제 안해주면 당장에 퇴출될 후진 기술이라는 사실을 스스로 자인하고 있습니다. 기술로 승부할 자신 있으면, ‘강제 규정’부터 먼저 들어내고 시작합시다. 비겁하게스리…
기술로 승부할 자신이 없으니까 (기술을 모르는)공무원에게 쪼르르 달려가서 “이건 강제해야 합니다”라고 꼬드기는 짓, 이런 짓을 하는 분은 부끄러움을 모르는 분이라고 생각합니다.
한국의 공인인증 기술은 1998년에 개발된 것입니다. 그 후로는 전세계의 보안 기술과 공격 기술은 더 이상 진전이 없었나요? “공인인증서 만큼 안전한 기술은 없다”는 주장은 순도 100%의 거짓(false)입니다. 정말로 보안 기술을 모르는 무식한 분만이 감히 하실 수 있는 발언입니다.
2011년에 미국 국립표준기술연구소가 발간한 Electronic Authentication Guideline (v.800-63-1)을 보면(p. 52), 공인인증서처럼 파일형태로 저장되는 인증서(MF Software Cryptographic Token)는, 오른쪽 그림에 예시된 것과 같은 OTP생성기(MF OTP Harware Token)보다 안전성이 떨어진다고 설명하고 있습니다. 비교표 참조
2. “공인인증서는 부인방지/무결성 보장 기능이 있다. 현재로는 공인전자서명만이 이 기능을 가지고 있다.”
거짓(false)
둘 다 거짓(false)입니다. 부인방지(non-repudiation)는 거래의 당사자가 나중에 그 거래를 함부로 부인하지 못하게 한다는 뜻입니다. 거래내용(예를 들어, “A는 B에게 100만원을 송금함”)에 당사자(A)의 전자서명을 받아두면, 나중에 딴소리 못하게 할 수 있다는 겁니다. 무결성(integrity) 보장도 같은 뜻입니다. 거래 내역 데이터가 나중에 조작(tamper)되었는지 여부를 확인할 수 있다는 뜻인데, 나중에 조작되지 않았다(즉, integrity가 유지되었다)는 점을 확인할 수 있는 것이 전자서명이라는 주장입니다.
하지만, 이것이 가능하려면 우선 A의 인증서 개인키가 유출되지 않았고, 그 거래가 이루어진 시점에 오직 A만이 자신의 인증서 개인키를 지배, 관리하고 있었다는 ‘대전제’가 먼저 충족되어야 합니다. 당사자(A)의 인증서(개인키+암호)를 공격자가 입수하거나 함부로 재발급 받아서 공격자가 그걸로 전자서명을 하고 거래할 경우, 아예 대전제 자체(개인키의 유일귀속, 배타적 지배)가 충족되지 않기 때문에 부인방지를 거론할 여지조차 없습니다. https://opennet.or.kr/1789#non-repudiation
물론, 모든 암호학 초보 교과서에 “인증서/전자서명은 non-repudiation 기능이 있다”고 분명히 적혀있습니다. 그러나 그 뜻은 “어떤 자가 그런 거래를 했고, 그 거래내역이 나중에 조작(tamper)되지 않았음을 그자의 전자서명으로 검증할 수 있으므로, 그자(서명을 한 그놈)은 그 거래내역을 부인하지 못한다”는 뜻일 뿐입니다. 실제 사고거래 상황에서는 완벽하게 소용이 없는 공허한 이론적, 논리적 개념일 뿐입니다. “실제로 공격자를 붙잡으면”, 그 공격자는 그런 거래를 했다는 점을 부인하지 못하게 할 수 있다는 뜻입니다. 쓸모 없는 헛소리일 뿐이지요.
3. “하지만, 이런 문제점은 유저가 인증서 개인키를 허술하게 관리해서 생기는 문제일 뿐, 공인인증서 기술 자체가 허술한 것은 아니다.”
거짓(false)
보안 기술이 허술한지, 안전한지의 문제는 “실제로” 안전하게 사용될 수 있는지를 기준으로 판단하는 것입니다. “이론적으로” 아무리 안전해도, “실제로” 문제가 자주 발생하면 그런 기술은 허술한 기술입니다.
“이론적”으로는 비밀번호(고정암호, static password)도, 유출되지만 않으면, 대단히 안전합니다. “유저가 잘못해서 유출된 것”이라고 자꾸 유저 탓을 해대는 보안업체는 보안업체로서 자격이 아예 없습니다. 보안 업체에게 돈을 주는 이유는 평균적인 대다수의 유저들도 별 피해를 입지 않고 거래할 수 있는 “실제로” 괜찮은 기술을 제공할 것으로 전제하기 때문입니다. 탁월한 보안지식이 있는 극소수 유저들만 안전하게 사용할 수 있는 “이론적”으로만 안전한 기술을 돈을 받고 판다면, 그건 사기행각입니다. “이론적”으로만 안전한 기술은 “이론적으로만 돈을 받아야지” 실제로 돈을 받아서는 안되지요.
4. “키보드보안과 개인방화벽 플러그인들을 설치하면, 공격자가 유저의 인증서 개인키와 인증서 암호를 탈취하는 것을 조금은 더 어렵게 할 수 있다.”
거짓(false)
이들 플러그인들은 유저가 해당 금융기관 사이트에 접속해 있는 동안에만 작동합니다. 유저가 금융기관 사이트에 접속하지 않거나, 다른 사이트로 이동하면 꺼집니다.
공인인증서는 그저 “파일+고정암호”일 뿐입니다. 유저의 컴퓨터에 악성코드를 심은 공격자가 “일부러” 유저가 금융기관 사이트에 접속할 때까지 아무일도 안하고 기다려주었다가, 유저가 금융기관 사이트에 접속하여 이들 플러그인이 실행되는 동안에만 개인키 파일이나 인증서 암호 탈취를 시도해보고, 유저가 금융기관 사이트를 벗어나고 보안플러그인이 꺼지면 공격도 중단한다는 시나리오는 참으로 기발하기는 하나, 제정신을 가진 자가 생각할 수 있는 것은 아닙니다.
아무리 플러그인을 설치해도 파일과 고정암호가 유출되는 것을 막을 방법은 없고, 유출이 더 어려워지는 것도 아닙니다. 플러그인을 설치해 보겠다고 유저들의 이용습관을 엄청나게 위험하도록 유도하는 행위(반드시 “예”하세요)는 부도덕하고 무책임하며 무식한 것입니다.
5. “공인인증서를 USB에 저장해두면, 그래도 좀 덜 위험하다.”
거짓(false)
KISA, 금융기관, 보안업체들이 이구동성으로 반복하는 거짓(false) 진술입니다. 유저의 컴퓨터에 악성코드를 심는데 성공한 공격자가 하드디스크를 한번 둘러보고 NPKI폴더가 없으면, 그 즉시 악성코드를 깔끔히 삭제하고 철수하겠습니까?
유저가 USB를 공격자 모르게 ‘몰래’ 삽입할 수 있다고 혹시 상상하시는 건가요?
걍, “기술을 몰라요, 업자가 그렇게 이야기하라고 했어요”라고 고백하시는 것이 솔직할 것입니다. 오히려 USB는 여기 저기 남의 컴퓨터에 삽입하는 일이 잦습니다. 더 위험하면 했지…
6. “공인인증서를 복사하려면 인증서 암호를 입력해야 한다. 따라서 공인인증서는 쉽게 복사해가기 어렵다.”
거짓(false)
인증서를 PC하드디스크 USB 로 복사하거나, PC 안드로이드 폰으로 ‘복사’할 때 인증서 암호를 입력하게 하는 것은 대표적인 “보안 쑈”입니다. 인증서는 단순히 copy & paste 하면 복사됩니다. 물론 개인키를 ‘이용’하려면 인증서 암호를 입력해야 하지만, 개인키를 ‘복사’할 때에는 암호 입력이 필요없는데 굳이 그때도 암호를 입력하라고 쑈를 할 필요까지는 없지 않나요? 함부로 복사된다는 ‘사실’을 컴맹 유저들을 상대로 이렇게 숨겨덮는다고 안전해 집니까?
좀, 솔직해 집시다. https://opennet.or.kr/1693
7. “인터넷뱅킹 사고금액은 미국이 한국보다 약290배나 된다(2009년 기준). 따라서 한국의 보안이 훨씬 우수하다.”
확인 불가(unverifiable)
이것이 사실이라면, 이렇게 ‘획기적인’ 한국의 공인인증기술을 당장 미국 업계나 학계에 가서 발표해 주시면 좋겠군요. 미개한 미국 사람들을 구제하는 차원에서 미국에서도 액티브X 떡칠 한국 ‘선진’ 보안의 뜨거운 맛을 보여주세요.
금감원은 2006년 한해 동안 전자금융사고가 “단2건 발생”했다고 국회에 보고했습니다. 이말을 믿으세요?
금융위/금감원 스스로가 “공인인증서 만큼 안전한 보안기술은 없다”면서 이걸 쓰라고 강요하고 있으므로, 그 결과로 사고가 많이 난다는 사실은 숨기고 싶은 것 아닐지? 미국, 영국 등 다른 나라의 금융감독기구는 금융거래 사고 규모를 축소조작할 이유가 없습니다. 이 기술 쓰라, 저 기술 쓰라 강요한 바 없기 때문입니다. 규제자는 최대한 정확하게 사고거래 규모를 조사하고, 철저하게 배상되도록 감독하고, 기술의 실상을 투명하게 공표하여 활발한 연구와 기술 개발이 이루어지도록 권장합니다.
8. “현행 전자서명법 자체는 기술중립적이다. 공인인증서를 사용하도록 강제하는 내용이 없다.”
참(true)
맞습니다. 전자서명법 자체는 전자서명이나 공인인증서 사용을 강제하는 내용이 전혀 없습니다. 최재천 의원이 발의하는 전자서명법 개정안도 인증서 사용을 강제하는 내용이 전혀 없습니다.
그러나, 전자서명법을 만든 당시 정통부와 KISA는 공인인증서 사용을 “강제”하기 위하여 배대헌 교수(당시 계명대, 현재 경북대 로스쿨)께 연구 용역을 발주하고, 배교수님께서는 금융실명법이 있으니 금융거래에는 본인확인이 법률상 요구된다, 따라서 ‘금융’거래에는 공인인증서를 반드시 사용해야 한다는 “강제 논리”를 담은 용역 보고서를 제출했습니다. 이것을 근거로 정통부와 KISA가 금융감독위원회에게 공인인증서 사용을 강제해 달라고 부탁한 것입니다.
물론, 저는 배교수님의 논리가 틀렸다고 생각합니다. 금융실명제를 한국만 하는 것도 아니고, 미국, 영국 등 선진국들은 모두 금융실명제를 하고 있습니다. 금융거래에서 ‘본인 확인’을 해야 하는건 맞지만, 본인확인을 꼭 인증서로 해야하는 건 아닙니다. 공인인증서(X.509 규격의 전자인증서)는 무수히 많은 본인확인 기술 중 하나에 불과한 것입니다.
금융실명제가 있다고 해서 공인인증서 사용을 강제할 이유는 전혀 없는데도, 배대헌 교수의 이상한 법 논리를 근거로 ‘금융’거래에 공인인증서 사용을 강요하기 시작한 것입니다. 애초에 보안 기술과는 무관했고, 법 논리도 틀렸고, 기술에 대한 이해도 없었습니다(배대헌 교수께서는 X.509가 ‘알고리즘’이라고 오해하시는 분). 인증기관들의 덩치가 커져야 감독관청이 뽀대가 나고, 정통부 고위 공무원이 퇴임 후에 인증업체 이사 자리라도 꿰 찰 수 있다는 ‘보신’ 논리가 작용했는지는 몰라도 ‘보안’과는 거리가 먼 것이었습니다. 한국 보안에 치명타를 가해온 ‘플러그인 떡칠 공인인증서 사용강제’는 이렇게 시작된 것입니다.
전자서명법 자체는 기술중립적일지 몰라도 전자금융거래법은 그렇지 않습니다. 이종걸 의원이 발의한 전자금융거래법 개정안은 이런 불행하고 부끄러운 과오를 청산하고, 전자금융거래 규제의 기술 중립성을 확보하기 위한 것입니다.
관련 글:
https://opennet.or.kr/2740 [보도자료] 이종걸, 최재천 의원 전자금융거래법, 전자서명법 개정법률안 발의
https://opennet.or.kr/1789 공인인증서 FAQ
https://opennet.or.kr/2908 캘리포니아 주 전자서명 규정
https://opennet.or.kr/2938 공인인증서의 ‘보안 수준’?
김교수님, 보내주신 자료 잘 받았구요. 공청회 준비하시느라 고생 많으셨습니다.. ^^
위에서 언급하신 (제게 보내주신) 자료인 Electronic Authentication Guideline (v.800-63-1)은 엄밀히 말하면 전자서명보다는 사용자 인증과 관련한 미국 표준문서입니다. 정확히는 미국 연방정부의 표준이지요. 그렇지만 엄연히 하드웨어에 기반한 보안제품이 소프트웨어에 기반한 보안제품에 비해 보안강도가 우수한 것은 사실입니다.
일반적으로 서명이나 암호 관련 보안제품들의 보안성을 평가할 때는 주로 FIPS(연방정부 정보처리 표준) 140-2를 활용합니다. FIPS 140-2에는 네 가지 보안 레벨이 정의되어 있는데요. 여기서 레벨 1 등급은 주로 소프트웨어 기반의 보안제품에 일반적으로 사용되며, 레벨 2 이상 등급 부터는 물리적(physical, 즉, 하드웨어 기반의) 보호장치를 갖춘 보안제품이어야 받을수 있습니다. 현재 국내 대부분의 인터넷 뱅킹에서 사용하고 있는 소프트웨어에 기반한 private key 보호방법은 레벨 1으로 가장 기본적인 수준이라 보시면 되겠습니다.
참고로 미국의 전자서명 표준인 [FIPS PUB 186-3 : Digital Signature Standard (DSS)]에 따르면 부인방지(Non-repudiation)를 다음과 같이 정의하고 있습니다.
Non-repudiation : A service that is used to provide assurance of the integrity and origin of data in such a way that the integrity and origin can be verified and validated by a third party as having originated from “A SPECIFIC ENTITY IN POSSESSION OF THE PRIVATE KEY” (i.e., the signatory).
그러므로 Non-repudiation을 만족시키기 위해서는 “Possession of the private key의 유일성”을 입증하는 것이 매우 중요하단 얘기이지요. 그런 의미에서 제일 기본 등급인 FIPS 140-2 Level 1 등급의 방식(즉 소프트웨어 기반의 방식)을 우리나라와 같이 거래 규모가 큰 인터넷 뱅킹 환경에서 적용하는 것은 다소 무리가 있는게 사실입니다.
김교수님, 23일 공청회에서 좋은 발표해주셔서 정말 감사합니다. 글자 깨진 부분은 원래 댓글에 반영했어요.
“무수히 많은 본인확인 기술 중 하나에 불과한 것”이라고 하셨는데, 본인확인 기술에는 어떤 것들이 있을까요?
왜 한국에서는 휴대폰인증, 공인인증과 아이핀만 본인확인 기술로 사용할까요?
잘보고 갑니다^^