실시간 뉴스



[최세준]인터넷뱅킹의 안전성과 OTP


인터넷뱅킹 거래시 은행권에서 흔하게 사용하는 보안관련 제품이 보안카드이다. 많은 인터넷 뱅킹 이용자들이 이 보안카드 시스템만 있으면 인터넷 거래를 안전하게 할 수 있을 것이라 과신한다.

하지만, 요즘 간간히 발생하는 인터넷 뱅킹 사고 사례에서 알 수 있듯이 PC에 해킹 프로그램이 설치된 경우, 보안카드를 소지하고 있지 않더라도 보안카드의 비밀번호 값을 훔쳐낼 수 있기 때문에 안전한 인증이라고 할 수는 없다.

그럼 보안카드가 왜 안전하지 않은지 좀 더 자세히 살펴보자. 보안카드는 보통 35개의 비밀번호로 구성되어 있고, 각 비밀번호에 대한 번호가 붙어있다. 그리고, 인터넷 뱅킹시 "35번 비밀번호"와 같이 보안카드 내의 특정 번호에 해당하는 비밀번호를 요구한다.

이 경우 사용자 PC에 설치된 해킹 프로그램은 인터넷뱅킹 과정을 주시하고 있다가 보안카드 비밀번호 입력을 기록해둔다. 예를 들어 35번 비밀번호는 3567, 15번 비밀번호는 9186 등이 그것이다.

그리고 나서, 자신의 인터넷 뱅킹에 접속하여 자신이 알고있는 번호(24번 혹은 15번)의 안전카드 비밀번호를 물어볼 때까지 계속해서 시도를 하는 것이다.

즉, 사용자의 보안카드의 경우 35개의 정해진 비밀번호로 구성이 되기 때문에 인터넷뱅킹 과정에서 한 번 훔쳐내면 다시 같은 비밀번호로 공격을 하는 것이 가능하기 때문이다.

때문에 인터넷뱅킹을 비롯해 각종 온라인 서비스에 필요한 인증에 있어 가장 안전한 방법은 실시간으로 변화하는 1회용 비밀번호를 사용하는 것이다. OTP는 이를 위해 태어난 보안 솔루션이다.

◆OTP의 기본 정의

보통 보안에 대한 프로세스에서 사용자를 인증하는 방법에는 크게 세 가지가 있다. 알고 있는 것을 확인하는 방법(what you know)과 가지고 있는 것을 확인하는 방법(what you have), 마지막으로 사용자 자신을 확인하는 방법(what you are)이 그것이다.

이 중 두 가지 방법을 조합해서 사용하는 방식을 두 요소 인증(two-factor authentication)이라고 하며, 강력한 사용자 인증이 필요한 어플리케이션의 경우 두 요소 인증 방법을 적용해야 한다.

OTP는 One Time Password의 약자로써, 매번 다른 비밀번호를 통해 사용자를 인증하는 방법을 말한다. 좀 더 기술적인 표현으로는 현재의 비밀번호로부터 다음의 비밀번호를 유추하는 것이 굉장히 어렵운 비밀번호 생성방법으로 정의할 수 있다.

거의 모든 OTP 생성 알고리즘은 일방향 함수(출력으로부터 입력을 유추할 수 없는 함수, 해쉬함수라고 함)에 기반을 두고 있다.

◆알고리즘의 종류

OTP 알고리즘은 질의-응답 방식, 시간동기화 방식, 이벤트 동기화 방식, 조합방식 등의 네 가지 방식으로 나눌 수 있다. 질의-응답 방식에서는, 사용자가 서버가 제시한 질의값을 알고리즘에 입력하여 응답값을 얻고 해당 응답값으로 자신을 인증하게 된다.

앞서 설명한 보안카드가 바로 질의-응답 방식이다. "15번 비밀번호를 입력하세요"의 질문에서 "15"라는 숫자가 질의값이며, 이에 해당하는 응답값은 안전카드의 15번에 해당하는 네 자리 비밀번호가 된다.

실제로 운용되는 OTP 장치는 보통 6자리 질의값과 6자리 응답값을 사용한다.

질의-응답 방식의 경우 사용자가 질의값을 입력해야하고, 그 결과로 얻은 응답값 또한 입력해야 하므로 사용자의 입력내용이 많아서 불편하다.

이와는 달리 시간동기화 방식에서는 서버와 OTP 장치 간에 동기화된 시간 정보를 기준으로 특정 시간 간격(보통 1분)마다 변하는 비밀번호를 생성한다.

따라서, 사용자는 질의값을 확인/입력할 필요가 없다. RSA사의 SecureID, VASCO 사의 Digipass 등 많은 OTP 장치가 바로 이 방식을 사용하고 있다.

하지만, 이 방식의 경우 특정 시간 간격마다 비밀번호가 변하기 때문에, 입력 중에 비밀번호가 변할 수 있다. 그렇다고, 시간 간격을 너무 길게 잡으면 공격의 가능성이 커지게 되는 단점을 가지고 있다. 또한 잘못 입력하면 다시 생성될 때까지 기다려야한다.

이벤트 동기화 방식은 서버와 OTP 장치가 동일한 카운트 값을 기준으로 비밀번호를 생성하는 방식이다. 즉, OTP 알고리즘을 사용하며 비밀번호를 얻은 후에는 카운트 값을 증가시켜서 저장해두었다가 다음 번에 알고리즘의 입력으로 사용한다.

이 방식의 경우 다시 생성을 요청하지 않으면 비밀번호가 변하지 않기 때문에 사용자의 편의성 측면에서는 시간 동기화 방식에 비해 낫지만, OTP 장치에서 여러 번 비밀번호만 생성하고 사용하지 않으면, OTP 장치와 서버 간의 카운트가 불일치되어 OTP 장치를 다시 초기화해야 하는 단점을 가지고 있다.

시간동기화와 이벤트 방식의 단점을 보완하기 위해서 이들 두 가지 방식을 조합한 알고리즘도 있다. 즉, OTP 알고리즘의 입력으로 시간, 카운트 값을 모두 사용하는 것이다. 즉, 특정 시간 간격마다 비밀번호가 다시 생성되며, 같은 시간 간격 내에서 재시도 시에는 카운트 값을 증가시켜서 비밀번호가 변하도록 하는 방법이다.

이렇게 함으로써, 같은 시간 간격 내에서도 여러 번 시도할 수 있는 장점이 생기며, 같은 시간 간격 내에서도 카운트값에 따라 다른 비밀번호가 생성되므로 안정성 또한 높아지게 된다.

◆motp(Mobile One Time Password)

현재로서는 가장 안정적인 인증 솔루션인 OTP의 유일한 단점은 사용자들에게 약간의 수고를 필요로 한다는 것이다. 일단 OTP프로그램이 내장된 토큰을 휴대하고 다녀야 하며, 여기에 기존 아이디와 비밀번호에 추가로 OTP값을 입력해야만 인증을 받을 수 있기 때문이다.

이러한 문제점은 특히 사용자 스스로 극도의 보안경각심을 가지게 되는 인터넷뱅킹이 아닌 기타 엔터테인먼트 서비스에서 불편함으로 지적되곤 한다. 예를 들어 불특정다수가 자유롭게 이용하고 있는 온라인 게임과 각종 포털 서비스, 홈쇼핑 등이 그것이다.

이를 위해 모빌리언스에서는 국내에서는 유일무이하게 휴대가 불편한 토큰 대신 대부분의 사람들이 소지하고 있는 휴대폰에서 구동되는 OTP, 'motp'를 서비스하고 있다.

특히 최근 들어 중국발 해킹사고가 빈번하게 발생하고 있는 온라인 게임계에서 motp에 높은 관심을 기울이고 있으며, 현재까지 약 10여개 게임업체, 그 외 상당수 기업에서 MOTP를 사용하고 있으며 현재에도 수 많은 업체와 의견조율을 거쳐 계약에 박차를 가하고 있다.

/모빌리언스 인증서비스팀 최세준 팀장 choisejoon@mobilians.co.kr


2024 iFORUM






alert

댓글 쓰기 제목 [최세준]인터넷뱅킹의 안전성과 OTP

댓글-

첫 번째 댓글을 작성해 보세요.

로딩중
포토뉴스