- 회원들이 추천해주신 좋은 글들을 따로 모아놓는 공간입니다.
- 추천글은 매주 자문단의 투표로 선정됩니다.
Date | 18/11/07 14:35:04수정됨 |
Name | T.Robin |
Subject | 인터넷 뱅킹, 공인인증서를 사용하지 않아도 안전할까? |
안녕하세요. T.Robin입니다. 타임라인을 보던 중에 모 회원님께서 제목과 같은 질문을 주셔서 간단하게 답변하려다가, 답변이 너무 길어져서 티타임으로 옮깁니다. 도움이 되셨으면 합니다. 공인인증서. 참 여러가지로 불편합니다. 파일도 챙겨야 되고, 패스워드도 알아야 되고, 뭐 설치도 해야 되고...... 그렇습니다. 뭐 보안때문에 그렇다고는 하는데, 정말 이게 안전한 걸까요? 이게 없으면 더 뚫리기가 쉬워지는 걸까요? 우선 결론부터 먼저 말씀드리자면, 공인인증서는 별로 의미가 없고, 기타 [보안 솔루션]들은 제 역할을 하지 못하거나 의미가 없습니다-최소한 제 의견은 그러합니다. 진짜 우려되시거든 OTP를 쓰시는게 정답입니다. 서버가 직접 뚫리는 사태가 발생하지 않는 한, 현재로서는 OTP가 가장 효율적이고 궁극적인 보안 체계입니다. 공인인증서는 공인인증서에 있는 인증서 내용으로 데이터를 암호화해서 전달하는 역할을 수행하는데, 문제는 이걸 [HTTPS가 똑같이 수행]하고 있다는 거죠. HTTP도 서버-클라이언트간 인증서를 사용해서 암호화를 수행하고 암호화된 데이터로 통신을 수행합니다. 단지 공인인증서는 부수적으로 [이걸 암호화한게 나]라는걸 제 3자를 통해 인증해주는 효과가 있습니다만, 엄밀하게 따지면 사실 이게 진짜 나인지 아니면 다른 사람인지 확실하게 구분하지는 못합니다. PC 뒤에서 공인인증서 패스워드를 입력하는 사람이 나인지, 아니면 다른 사람인지 어떻게 알 수 있을까요? 특히나 공인인증서는 PC 내부에 그냥 독립된 파일로 존재하는 녀석이라, 파일의 위치만 알면 Windows 탐색기로도 쉽게 복사나 이동이 가능합니다. 어떤 측면에서는 ID/password 외에 결재 전용의 두번째 패스워드를 입력하는 것과 하등 다를게 없습니다. 물론 금융거래에서는 해당 거래를 수행하는게 본인임을 증명하는게 매우 중요하죠. 하지만 그런 방법이라면 전통적인 해결방안도 있고, 새로운 방안도 있습니다. 난수표(은행에서 주는 속칭 '시크릿 카드')나 OTP가 그것이죠. 이건 물리적으로 들고 다녀야 되는거고, 잃어버리거나 고장나면 신고를 하게 되어있습니다. 뒤집어서 말하면 본인임을 증명하는 용도라면 이 쪽이 훨씬 더 확실할 뿐더러 더 안전합니다. 제 관점에서 보면, 공인인증서는 그냥 계륵이에요. 참고로 말씀드리면, 암호화를 사용하면 통신을 도청하거나 적용된 암호화 기술을 알아도 통신한 내용을 해석할 수 없습니다. 20세기 이후 암호화 기술의 특징 중 하나가 암호화 [알고리즘을 알아도 암호화를 풀어낼 수 없다]는 거죠. 자세한건 수학적인 내용이라 말씀드리기는 어렵습니다만, 하여간 그렇습니다(이 부분은 누가 좀 도와주셨으면......). 하지만 이게 다가 아니죠. 사실 문제가 되는 부분은 [양 끝단]입니다. 이를테면, 송수신 데이터를 암호화하기 전에 PC나 전화기, 서버 등에서 해당 정보를 가로채는 경우가 있습니다. 바이러스에 감염되었다던가, 해킹툴이 설치되었다던가 하는 경우 송수신되는 자료(송장, 결재 패스워드 등)를 가로채버릴 수 있습니다. 그러면 서버나 클라이언트(PC, 전화기 등)를 해킹해야 되는데, 서버는 일단 해킹이 매우 어렵습니다. 보안에 쏟아붓는 비용, 규모, 전문성이 일반인들이 PC 보안에 투자하는 것과는 비교가 되지 않습니다. 원래 공격은 상대의 가장 약한 부분을 자신의 가장 강력한 무기로 치는게 기본이라, 전자금융거래에 있어서는 대부분 클라이언트가 해킹의 대상이 됩니다. 가장 쉬운 방법은 PC에 해킹툴을 심어서 접속 암호 등을 가져와서 정상적인 거래인 것처럼 꾸미는 겁니다. 참고로 스마트폰 등의 경우 이런 부분에 있어서 운영체제 수준에서 별도의 대응방안이 마련되어 있습니다. 대상 프로그램이 명시적으로 허용하지 않는 한, 다른 프로그램은 내가 현재 사용중인 프로그램의 데이터를 가져올 수 없습니다. 내가 A 프로그램을 사용중인데, A 프로그램이 B 프로그램과 데이터를 연동한다고 명시적으로 선언하지 않는 이상은 B 프로그램이 백날 발악(......)해봐야 A 프로그램의 데이터를 가져올 수 있는 방법이 없다 이거죠. PC는 프로그램간 데이터 공유라는 측면에서 더 유연함을 보이는 반면, 이 유연함을 악용하는 경우가 있다는 문제가 있습니다. 그리고 대부분의 해킹툴은 이 '유연함'을 악용해서 키보드 입력(=패스워드 입력)을 훔치는 등의 방법으로 사용자의 정상적 금융거래를 흉내냅니다. 현존하는 EXE니 ActiveX니 하는 보안프로그램들은 악성 프로그램들을 감지해서 문제를 차단하는 역할을 수행합니다. 키보드 입력을 훔쳐내는 방법을 감지(키보드 보안)한다던가, 인터넷 통신 시도나 알려진 악성프로그램인지 여부를 확인(백신/antivirus)하는게 바로 이들의 역할입니다. 문제라면 얘들이 제대로 된 역할을 수행하느냐 하면 절대로 그렇지 않다는 거죠. 우스갯소리로-내지는 자조적인 목소리로-, 보안시장은 창과 방패가 있으면 항상 창이 이기는 시장이라고들 합니다. 뭐가 됐든 먼저 공격을 할 수 있는 새로운 방법이 나오고, 그 방법이 나오면 그 뒤에야 부랴부랴 대응방안이 나오는게 이 업계의 기본 사이클인거죠. 이론상으로는, 무슨 짓을 하던간에 여러분의 PC는 언젠가 뚫리게 되어 있습니다. 여러분이 입력하는 패스워드와 공인인증서 파일은 언제든지 해커에게 넘어갈 준비가 되어 있고요. 이쯤 되면, 눈치 빠르신 홍차넷의 여러 고수 여러분들께서는 제가 왜 OTP가 가장 효율적이고 궁극적인 보안 체계라고 말씀드리는지 감을 잡으셨을 겁니다. 해커가 아무리 쇼를 한들 PC 밖에서 물리적으로 존재하는 OTP에 영향을 끼칠 수 있는 방법은 기술적으로는 없습니다. PC에 연결이 되어야 뭘 하던지 말던지 하는데, OTP는 뭐 연결하는 곳도 없을 뿐더러 내장 배터리가 다되면 그냥 버리는 1회용품이잖아요. 게다가 패스워드가 1분에 한번씩 바뀌니, 패스워드를 1분에 한 번씩만 사용할 수 있게 해두면 해킹을 당해서 패스워드가 해커 손에 넘어가봐야 의미가 없어지죠. 물론 비슷한 이유로 난수표도 좋은 대응방안이긴 합니다만, 적용가능한 패스워드의 조합 수가 훨씬 적기 때문에 OTP보다 보안성이 더 떨어집니다. 요는, 시크릿 카드 사진찍어서 보내버리면 말 그대로 '개털리는' 상황이 되죠. 설이 길었습니다만(그리고 하고 싶은 말을 다 하진 못했습니다만), 전자금융보안을 이해하는데 도움이 되셨으면 합니다. * Toby님에 의해서 티타임 게시판으로부터 게시물 복사되었습니다 (2018-11-21 04:04) * 관리사유 : 추천게시판으로 복사합니다. 10
|
예전에 ActiveX를 국내에 도입하는 데 주도적인 역할을 한 회사에서 몸담고 있었다는 분과 이거 관련해서 대화할 기회가 있었는데, 그 분은 당시에는 가능한 솔루션이 ActiveX밖에 없었다고 변명하시더군요. 하지만 저는 그럴 거라면 차라리 주식 HTS처럼 별개의 앱으로 기능을 구현했어야 한다고 생각합니다. 지금 이건 대체 무슨 꼬라지인지…
완전무결하다기보단, 가장 강력한 보안체계라고 하는게 나을겁니다.
아무리 OTP가 구조상 완전하다고 해도 알고리즘이나 운영 프로세스상에서 헛점이 있으면 말짱 꽝이거든요. :P
아무리 OTP가 구조상 완전하다고 해도 알고리즘이나 운영 프로세스상에서 헛점이 있으면 말짱 꽝이거든요. :P
지문이나 홍채의 경우 입력되는 정보를 중간에 가로채서 동일하게 전송하면 동일하게 인증이 가능하다는 치명적인 결점이 있죠. 그래서 전 OTP를 지문이나 홍채보다 더 높게 칩니다. 이정도의 불편함은 감수할 수 있다고 봐요.
매우 예전 이야기입니다만, 어느 보안 전문가가 이런 이야기를 했다고 합니다.
"백날 전산보안 전산보안 해봐야, 내부자가 작정하고 들고 튀면 답 없다. 차라리 훈련 잘 된 보안요원을 한 명 더 투입하는게 나을걸?"
"백날 전산보안 전산보안 해봐야, 내부자가 작정하고 들고 튀면 답 없다. 차라리 훈련 잘 된 보안요원을 한 명 더 투입하는게 나을걸?"
OTP가 지금 방법중에서 가장 훌륭하긴 한데, 이것 자체만으론 만능은 아닙니다 ㅎㅎ
'해커가 클라이언트를 조작하고 있는' 모델에서 지금 사용하고 있는 OTP의 문제는,
OTP 번호를 가로채 다른 곳에 사용할 수 있다는 겁니다.
OTP를 사용함에도 뚫린다!고 하는 케이스들은 대부분 이런건데요.
예를들어 사용자 A가 B에게 만원만큼 송금하고자 해서 은행에 접속했다고 가정하면,
공격자 C는 웹페이지를 변조해 B에게 만원 송금하는것처럼 보여주고선, 실제로는 C에게 만원을 송금하도록 하는겁니다.
그러면 사용자 A는 OTP값... 더 보기
'해커가 클라이언트를 조작하고 있는' 모델에서 지금 사용하고 있는 OTP의 문제는,
OTP 번호를 가로채 다른 곳에 사용할 수 있다는 겁니다.
OTP를 사용함에도 뚫린다!고 하는 케이스들은 대부분 이런건데요.
예를들어 사용자 A가 B에게 만원만큼 송금하고자 해서 은행에 접속했다고 가정하면,
공격자 C는 웹페이지를 변조해 B에게 만원 송금하는것처럼 보여주고선, 실제로는 C에게 만원을 송금하도록 하는겁니다.
그러면 사용자 A는 OTP값... 더 보기
OTP가 지금 방법중에서 가장 훌륭하긴 한데, 이것 자체만으론 만능은 아닙니다 ㅎㅎ
'해커가 클라이언트를 조작하고 있는' 모델에서 지금 사용하고 있는 OTP의 문제는,
OTP 번호를 가로채 다른 곳에 사용할 수 있다는 겁니다.
OTP를 사용함에도 뚫린다!고 하는 케이스들은 대부분 이런건데요.
예를들어 사용자 A가 B에게 만원만큼 송금하고자 해서 은행에 접속했다고 가정하면,
공격자 C는 웹페이지를 변조해 B에게 만원 송금하는것처럼 보여주고선, 실제로는 C에게 만원을 송금하도록 하는겁니다.
그러면 사용자 A는 OTP값을 입력할 것이고, 결과는? 당연히 C에게 만원 송금이죠.
게임에서도 마찬가지로, A와 C가 동시에 로그인창을 띄워두고, A가 OTP를 입력할 때 그걸 가로채 C가 로그인한 다음
A에게는 로그인 실패 메시지를 띄우는겁니다. 아주 잠깐의 시간이지만 C가 A의 아이템을 가로채기엔 충분한 시간이죠.
요는 OTP의 값이 '어떤 행위에 대한' 난수열인지 구분하지 않기 때문이 첫번째고,
두번째는 당연히 OTP 값을 가로 챌 수 있다는거겠지요. (나쁜 MS!)
이 모델에서도 OTP가 동작하도록 만들 수 있죠.
송금을 하고자 하면 명령에 대한 QR코드 형태를 띄운다음 OTP에 '달려있는 카메라'로 찍으면
A가 B에게 만원을 송금합니다! 라고 OTP에 '달려있는 화면'으로 보여주고, 동의할 경우 그에대한 난수열이 제공되는 형태여야 되겠습니다!
'해커가 클라이언트를 조작하고 있는' 모델에서 지금 사용하고 있는 OTP의 문제는,
OTP 번호를 가로채 다른 곳에 사용할 수 있다는 겁니다.
OTP를 사용함에도 뚫린다!고 하는 케이스들은 대부분 이런건데요.
예를들어 사용자 A가 B에게 만원만큼 송금하고자 해서 은행에 접속했다고 가정하면,
공격자 C는 웹페이지를 변조해 B에게 만원 송금하는것처럼 보여주고선, 실제로는 C에게 만원을 송금하도록 하는겁니다.
그러면 사용자 A는 OTP값을 입력할 것이고, 결과는? 당연히 C에게 만원 송금이죠.
게임에서도 마찬가지로, A와 C가 동시에 로그인창을 띄워두고, A가 OTP를 입력할 때 그걸 가로채 C가 로그인한 다음
A에게는 로그인 실패 메시지를 띄우는겁니다. 아주 잠깐의 시간이지만 C가 A의 아이템을 가로채기엔 충분한 시간이죠.
요는 OTP의 값이 '어떤 행위에 대한' 난수열인지 구분하지 않기 때문이 첫번째고,
두번째는 당연히 OTP 값을 가로 챌 수 있다는거겠지요. (나쁜 MS!)
이 모델에서도 OTP가 동작하도록 만들 수 있죠.
송금을 하고자 하면 명령에 대한 QR코드 형태를 띄운다음 OTP에 '달려있는 카메라'로 찍으면
A가 B에게 만원을 송금합니다! 라고 OTP에 '달려있는 화면'으로 보여주고, 동의할 경우 그에대한 난수열이 제공되는 형태여야 되겠습니다!
알만한 사람들은 정경유착 + 눈먼돈 따먹기의 산실이라는걸 다 알고 있지요..
현업에 종사중인 개발자라면 더더욱 그렇고요.
하지만, 공인인증서의 경우 정부기관부터 금융 및 기타 산업분야까지 뻗어있기에,
단기간에 바뀌길 기대하는것은 힘들어보입니다.
기술적인 부분 보다는, 공인인증서를 사용하는 부분들의 서비스 명칭이 대부분 '전자서명'이니..
다른 명분이 있지 않겠나 생각되네요. 책임전가 라던가요.
누군가가 총대를 좀 매줬으면 좋겠습니다만.. 아마 제가 치킨튀기기 전까진 힘들지 않을까 싶네요.
근데 본문과 별개... 더 보기
현업에 종사중인 개발자라면 더더욱 그렇고요.
하지만, 공인인증서의 경우 정부기관부터 금융 및 기타 산업분야까지 뻗어있기에,
단기간에 바뀌길 기대하는것은 힘들어보입니다.
기술적인 부분 보다는, 공인인증서를 사용하는 부분들의 서비스 명칭이 대부분 '전자서명'이니..
다른 명분이 있지 않겠나 생각되네요. 책임전가 라던가요.
누군가가 총대를 좀 매줬으면 좋겠습니다만.. 아마 제가 치킨튀기기 전까진 힘들지 않을까 싶네요.
근데 본문과 별개... 더 보기
알만한 사람들은 정경유착 + 눈먼돈 따먹기의 산실이라는걸 다 알고 있지요..
현업에 종사중인 개발자라면 더더욱 그렇고요.
하지만, 공인인증서의 경우 정부기관부터 금융 및 기타 산업분야까지 뻗어있기에,
단기간에 바뀌길 기대하는것은 힘들어보입니다.
기술적인 부분 보다는, 공인인증서를 사용하는 부분들의 서비스 명칭이 대부분 '전자서명'이니..
다른 명분이 있지 않겠나 생각되네요. 책임전가 라던가요.
누군가가 총대를 좀 매줬으면 좋겠습니다만.. 아마 제가 치킨튀기기 전까진 힘들지 않을까 싶네요.
근데 본문과 별개로, 엑티브엑스 자체는 높으신 분들이 많이 사랑하시더라고요.
웹이 많이 발전했지만, 역시 아직도 네이티브의 손길이 필요한 영역은 있기에..
현업에 종사중인 개발자라면 더더욱 그렇고요.
하지만, 공인인증서의 경우 정부기관부터 금융 및 기타 산업분야까지 뻗어있기에,
단기간에 바뀌길 기대하는것은 힘들어보입니다.
기술적인 부분 보다는, 공인인증서를 사용하는 부분들의 서비스 명칭이 대부분 '전자서명'이니..
다른 명분이 있지 않겠나 생각되네요. 책임전가 라던가요.
누군가가 총대를 좀 매줬으면 좋겠습니다만.. 아마 제가 치킨튀기기 전까진 힘들지 않을까 싶네요.
근데 본문과 별개로, 엑티브엑스 자체는 높으신 분들이 많이 사랑하시더라고요.
웹이 많이 발전했지만, 역시 아직도 네이티브의 손길이 필요한 영역은 있기에..
회사 aws 서비스도 MFA로 관리하는데 우리나라만 이 사단이죠.
그냥 윗분말처럼 나랏돈 따먹는 중소기업 하나가 딱 버티고 있는겁니다.
그냥 윗분말처럼 나랏돈 따먹는 중소기업 하나가 딱 버티고 있는겁니다.
목록 |
|