얼마전 U-OTP 서비스를 제공중인 회원사로부터 OTP에 대한 기사가 났는데 우리는 문제가 없느냐며 까칠한 문의가 왔었습니다. 기사 내용은 시중 은행의 OTP에서 심각한 보안 취약성이 발견되었다는 기사였는데요..
지금 그 기사에 대해 생각을 정리해보려고 링크해둔 기사를 다시 보니 재밌게도 처음 내용과는 많이 바뀌어 있더군요. ^^
처음 기사의 내용은 H은행 고객이 보안카드 대신 OTP토큰을 사용하게 되었는데 OTP 생성기에서 5개 정도 OTP 번호를 생성해 적어두었다가 다음날 인터넷뱅킹을 하면서 적어둔 OTP 번호를 입력하였더니 비밀번호로 적용되었다라는 내용과 함께 OTP가 안전하다더니 보안성이 매우 취약하다는 내용으로 매몰차게 끝나는 내용이었지요.
H은행이라고 표현된 그 은행이 어디인지는 모르겠으나, 기사의 내용만 본다면 해당 은행과 함께 그나마 보안에 강력하다는 OTP를 믿을 수 없게 될 것 같습니다. OTP에 대해 생소한 사람들로 하여금 충분히 오해를 불러일으킬만했거든요. 그 덕에 저는 부랴부랴 회원사에 OTP 구현방식에 대한 설명과 함께 U-OTP는 안전하니 걱정마시라는 당부의 말씀을 보내어 안심을 시켜드려야 했답니다.
지금 올라와 있는 기사를 보니 OTP 구현방식에 대한 설명이 추가되어 있네요. OTP가 어떤 방식으로 비밀번호를 생성하는지 이해한다면 보안성에 대한 의심(?)과 걱정 없이 사용하시는데 도움이 될 것 같아 블로그에도 간단히 설명을 해봅니다.
OTP는 크게 '시간동기방식'과 '이벤트방식'으로 나눌 수 있습니다.(시간동기+이벤트 방식은 시간동기 방식으로 이해합니다.)
'시간동기방식'은 서버와 OTP장치(U-OTP는 핸드폰이겠지요)간에 동기화된 시간 정보를 기준으로 특정 시간 간격 마다 변하는 비밀번호를 생성합니다.
U-OTP는 이러한 '시간동기방식'을 이용하며, 보통 번호의 유효시간 제약이 통상 1분/1분30초 정도로 설정되는데 비해 그 유효시간은 30초로 설정되어 있습니다. 해킹의 위험을 보다 확실히 방지하고자 유효시간을 통상보다 줄여 개발하였습니다.
'이벤트방식'은 서버와 OTP장치가 동일한 카운트값을 기준으로 비밀번호를 생성하는 방식입니다. OTP 알고리즘을 사용하며, 비밀번호를 얻은 후에는 카운트값을 증가시켜서 저장해두었다가 다음 번에 알고리즘의 입력으로 사용합니다. 따라서 유효시간 제약이 없는 걸로 알려져있습니다.
기사에 언급된 은행은 바로 이러한 '이벤트 방식'을 이용한 것이며, 국내 금융보안연구원에서 설립 추진한 통합OTP센터에서는 순수한 이벤트동기 방식의 OTP는 권장하지 않는 것으로 되어 있다고 알고 있습니다.
U-OTP는 지금까지 테스트와 1년여간 운영의 결과, 위 H은행과 같은 '하루 정도 지난 후에도 인증이 통과'되는 현상은 없었습니다. 또한, U-OTP는 보다 안전한 사용을 위해 '연속인증거부'라는 프로세스를 가지고 있으며, 이는 동일한 인증번호로 두 번이상 인증되는 것을 원천적으로 차단하고 있습니다.
일부 금융권 OTP의 문제점을 크게 부각시키는 기사들이 나오고 있지만 특정 은행의 문제를 OTP전체의 문제로 과장되어 이해되는 일은 없어야 할 것으로 보입니다.
해당 기사 보러가기


















댓글을 달아 주세요