1. 공인인증서가 뭐예요?
파일입니다. USB에 저장하셨을 경우, USB폴더 안을 보시면 NPKI라는 폴더가 있습니다. 그안에 저장되어 있어요.
하드디스크에 저장했다면, C:\Program Files\NPKI에 있고, 거기 없으면, %UserProfile%\AppData\LocalLow\NPKI\ 에 있습니다.
NPKI 폴더 안을 둘러보면, 자기 이름이 적힌 하위 폴더가 있고 그 안에 다음과 같은 두개의 파일이 들어 있습니다. signPri.key라는 파일이 나의 개인키이고, signCert.der이 나의 인증서.
2. ActiveX가 뭐예요?
웹브라우저가 못하는 일을 할 수 있게 해주는 추가/부가 프로그램입니다. 흔히 웹서버가 유저에게 나눠주는데, 이 프로그램을 자신의 컴퓨터에 설치하면 웹브라우저가 못하는 온갖 좋은일 나쁜일 모조리 할 수 있습니다.
매우 위험할 수 있기 때문에 설치할 때 “보안경고창”이 뜹니다.
무슨말인지 도통 모르겠지요? “Yes”를 누르면, 당신컴퓨터는 이 프로그램을 뿌린자(보안경고창에 이름이 적혀있긴 하지만, 별 도움은 안되요)가 마음대로 할 수 있습니다. 그자가 ‘천사’이기를 천지신명께 비는 수밖에 …
ActiveX는 MS사의 인터넷익스플로러(IE)웹브라우저의 기능을 확장시켜주는 것이고, 파이어폭스, 크롬, 사파리 등 다른 웹브라우저도 유사한 부가 프로그램이 있고, 역시 비슷하게 위험합니다. 이런 부가프로그램들을 통틀어 “브라우저 플러그인”이라고 부릅니다.
3. 공인인증서와 ActiveX는 무슨 관련이 있나요?
공인인증서는 한국 내에서만 통용되는 위치(NPKI폴더)와 파일명칭(signCert.der, signPri.key)으로 저장되어 있습니다. 따라서 지구상의 어떤 웹브라우저도 한국의 공인인증서를 ‘인식’하지 못합니다.
따라서 부가 프로그램을 뿌리고, 유저들이 그 프로그램을 자기 컴퓨터에 설치하도록 만들어야 합니다. 그래야 웹브라우저로 하는 인터넷 거래에서 공인인증서를 사용할 수 있게 됩니다. ActiveX는 부가 프로그램들 중 하나인데, 국내 개발자들이 제일 친숙하게 프로그램을 짤 수 있어서 지금까지 그게 주로 사용되어 왔습니다.
4. 공인인증서는 안전하지 않나요?
불행하게도, 그렇지 않습니다.
첫째, 부가 프로그램을 유저가 자신의 컴퓨터에 설치하는 행위 자체가 엄청나게 위험합니다. 천지신명께 비는 수 밖에 없다고 말씀드렸습니다. 이때까지 “예스맨”처럼 보안경고창이 뜰때 “예”를 계속 눌러왔다면, 자기 컴퓨터는 이미 거덜난 것으로 보면 맞습니다. 공인인증서를 강제하지 않았더라면, 유저들에게 이런 위험한 습관을 ‘강요’하는 상황은 없었을 것입니다.
둘째, 공인인증서는 NPKI폴더를 copy&paste 하면 마구 복제됩니다. 그러니 “인증서 암호” 밖에 믿을 것이 없는데, 유저들이 다른 계정 암호와 인증서 암호를 같게 정해두고 쓰는 경우가 대부분이고, 다른 계정 암호는 쉽게 유출됩니다. 이미 2007년에도 5000장 이상 유출된 적이 있고, 2013년에도 700장 가량 유출된 것이 발견되었습니다. 발견되지 않은 유출은 … 그 규모를 알 수 없고요.
셋째, 공인인증서는 유저의 계좌번호, 계좌비밀번호, 보안카드번호를 알면 누구든지 온라인상으로 재발급 받을 수 있습니다. 인증서 암호는 알 필요 없습니다. 재발급 받는 자가 스스로 정하기 때문입니다. 극심하게 기승을 부리는 보이스피싱도 공인인증서를 ‘재발급’ 받는데 필요한 정보를 고객으로부터 받아내기 위한 것입니다.
5. 그래도 공인인증서는 ‘부인방지’ 효과가 있다던데?
그거 뻥이예요. 다음 질문으로 넘어가요. 🙂
OK. 궁금해 하시니까 설명드릴께요. 조금 기니까 각오하세요.
‘부인방지(Non-repudiation) 기능’은 거래가 이러이러한 내용으로 이루어졌다는 사실을 거래 당사자가 사후에 ‘부인(repudiate)’하는 사태를 막는데 필요한 기능을 말합니다. “갑돌이는 갑순이에게 100만원을 송금합니다”라는 거래내역에 대하여 전자서명을 해두면, 나중에 그 거래내역 중 한 글자라도 변경되면 서명검증에 실패하므로 전자문서의 변조여부를 확인할 수 있다는 말입니다.
그러나, ‘철수’가 갑돌이 공인인증서 개인키와 인증서 암호를 몰래 입수해서 그걸로 갑돌이 행세를 하면서 “갑돌이는 영희에게 1000만원 송금합니다”는 내용으로 거래했다고 합시다. 물론 그 거래에는 갑돌이의 전자서명이 되어있지요. 나중에 갑돌이가 통장에서 1000만원이 빠져나간 사실을 발견하고, “나는 영희를 알지도 못하고, 영희에게 1000만원 송금할 이유도 없고, 송금한 적도 없다”고 부인(repudiate)할 수 있을까요? 당연히 부인할 수 있고, 그런 거래는 부인되어야 합니다. 그 뿐아니라, 은행은 갑돌이에게 1000만원+이자를 물어줘야 합니다. 그게 우리나라의 법입니다. 외국도 그렇고요.
갑돌이의 전자서명이 있으면 은행은 “갑돌이가 그 거래를 부인 못하게 할 수 있다”? 도대체 누가 그런 날강도 같은 소리를 해요? “공인인증서는 부인방지 효과가 있다”는 말은 바로 이런 날강도 같은 억지주장입니다. 어느 나라 법원도 이런 주장을 받아주지 않습니다. “Non-repudiation”, “부인방지” 어쩌면서 아는척 떠들어 대는 분들은 자신이 무슨 헛소리를 지껄이는지조차 이해를 못하는 앵무새입니다(금감원에 많음). 금감원이 소비자를 보호하는 곳인지, 은행 앞잽이인지, 원…
정말로 공인인증서에는 “부인방지 효과”가 있다고 생각하세요? 그러기를 원하세요? 그럼 당신 계좌에서 어느날 우크라이나로 돈이 다 빠져나가도, 당신 인증서로 전자서명되어 있기만 하면 당신이 다 뒤집어 쓰세요. 당신은 그래도 싸. 부인하지마.
6. 대안은 뭔가요?
첫째, 정부(금융위원회)가 공인인증서 사용을 강요하지 않으면 됩니다. 공인인증서 계속 쓸 은행/카드사는 쓰고, 그거 안쓰고 다른 보안/인증 기술로 거래하고자 하는 은행/카드사는 그렇게 하도록 허용하면 됩니다.
둘째, 이렇게 자유롭게 선택하도록 하면, 안전한 기술이 자연스럽게 채택될 것입니다. 전자금융사고가 나면 금융기관이 배상책임을 지도록(개인 고객이 사고를 당한 경우) 법이 이미 마련되어 있기 때문에 사고가 많이 나면 날수록 금융기관 손해이지요. 허술한 기술을 ‘일부러’ 채택할 금융기관은 없습니다.
‘부인방지’ 어쩌구 하면서 사고거래의 책임을 고객에게 지우기 시작하면, 보안에 투자할 은행이 없습니다. 책임 안져도 되는데 뭐하러 보안에 투자해요? 세계 어느 나라도 이렇게 하지 않습니다. 한국도 미국도 영국도 사고거래의 책임은 (개인고객의 경우) 금융기관이 지도록 해두고 있습니다.
셋째, 은행/카드사가 다양한 보안 기술을 사용하면, 소비자는 자신이 편리하고 안전하다고 판단하는 은행/카드사를 ‘선택’할 수 있게 됩니다. 내 컴퓨터에 뭔가를 자꾸 설치하려는 은행/카드사, ‘부인방지’ 어쩌구 하면서 고객에게 책임을 뒤집어 씌우려는 은행/카드사는 자연스럽게 OUT되겠지요. 지금은 소비자에게 선택의 여지가 없지요.
7. 왜 안 바뀌나요?
몰라요.
공인인증서를 13년간 강제해 온 금융위원회 위원장(현재 신제윤)께서는 아마 액티브X가 뭔지도 모르고 인터넷 뱅킹 어떻게 하는줄도 모를걸요? 역대 금융위원장/금감원장도 마찬가지. 현재 금감원의 송현 IT감독국장, 김윤진 팀장도 공인인증기술이 뭔지, 액티브X가 뭔지 모릅니다(제가 확인한 사실).
국회의원도 모르고, 행안부(미창부로 소관부서가 이관되기 전까지 공인인증 관할 관청) 장관도 모르고…
새로 생긴 미래부 장관께서는 아시려나?
하지만, 공인인증업체와 공인인증 솔루션 장사하는 보안업체는 편하게 장사할 수 있지요(지난 13년간). 어쨋건 우리는, 남한의 보안은 “부칸 소행” 앞에는 무조건 뚫린다는 괴상한 소리를 사고터질 때마다 들어야 하는 웃기는 상황에서 오늘도 “예”를 눌러 액티브X를 내 컴퓨터에 깔고 있습니다.
8. 외국에도 공인인증서를 쓰나요?
안써요! 미쳤어요?
“아마존 닷컴엔 왜 공인인증서 결제가 없을까”
관련 글:
https://opennet.or.kr/2740 [보도자료] 이종걸, 최재천 의원 전자금융거래법, 전자서명법 개정법률안 발의
https://opennet.or.kr/2864 공인인증서 진실게임
https://opennet.or.kr/2908 캘리포니아 주 전자서명 규정
https://opennet.or.kr/2938 공인인증서의 ‘보안 수준’?
안녕하세요. 평소에 오픈넷의 활동을 지지하는 사람입니다.
쉽게 정리를 잘 해 주셨습니다만, 이해하기 쉬운 것과 기술적으로 올바른 것은 다른 것 같아, 내용에 의견을 드립니다. ‘인증서 암호’라고 쓰셨는데, 이를 ‘개인키 암호’로 바꾸어 주시는 것이 기술적으로 올바른데, 그렇게 바꾸는 것이 어떨까요? 사용자의 화면에 ‘인증서 암호’라고 기술적으로 잘못된 메시지가 나오다보니, 통상 ‘캐인키 암호’를 ‘인증서 암호’라고 쓰기도 하는데… 인증서는, 공개키를 가지고 있으며 디렉토리 서버에 공개된 것이니 누구나 접근하여 가져갈 수 있는 것이니 당연히 암호가 없고, ‘개인키에 접근하는 암호’를 입력하는 것이니 이를 ‘개인키 암호’라고 바꾸어 기술하는 것이 기술적으로 올바를 것 같습니다.
네. 물론입니다. 본문에는 “인증서 암호”라고 표시하고, 그 상세한 의미는 양성현님 댓글에서 설명되는 현재 상황이 제일 무난한듯.
“개인키 암호”가 뭔말인지 아는 “공인인증서 이용자”가 과연 몇사람 될까요.
공인인증, 액티브x 얘기 나올때마다 아주 속터져 죽겠습니다. 웹표준운동때부터 교수님 활동 지지하고있습니다. 유익한정보 많이 올려주세요~~
공인인증서 관한 동영상이 올라 갔어요.
http://www.parkoz.com/zboard/view.php?id=images2&no=102645&category=1
댓글중에 공인인증서가 보안성이 높다고 하니 쉽게 앞으로 공인인증서 강제화 하는 법이 폐지가 잘 안될것 같네요….
부인방지가 안되기 때문에 문제가 발생한게 아닙니다.
부당한 거래에 대한 부인은 당연한 것 입니다.
즉, 문제는 부인방지가 아니라 공인인증서의 헛점 때문에 일어나게 된,부당한 거래가 일어난 그 자체 입니다.