OTP

파일:Attachment/banking otp.jpg
위 : HSBC전용, 바스코 제작
중간 : 바스코(Vender No.4)사 제작
아래 : 미래테크놀러지(Vender No.1) 제작

One Time Password
One Time Pad 와는 무관하니 헷갈리지 말자

1 개요

보안 시스템의 일종이다.

대한민국의 경우, 금융기관의 오픈뱅킹을 사용해야 할 때 OTP 토큰이나 시각장애인 전용 점자 보안카드가 반드시 필요해서 찾게 되는 물건이기도 하다. 보안카드를 사진 찍어서 보관하는 등 허술하게 보관하는 사람도 많고, 이걸 어떻게든 빼가서 장난치려는 악의적인 사기가 많아졌기 때문.

다이렉트 뱅킹은 무조건 OTP가 필수다. 웬만한 은행들의 오픈뱅킹은 OTP를 강제하고 있으며, 보안카드오픈뱅킹에서 계좌조회만 가능하다.

접속시마다 그때그때 필요한 비밀번호를 생성하여[1] 그 번호를 통해 사용자 본인 확인을 하는 방식이다.

비밀번호가 1회용이라 노출되어도 사용 불가능하며, 비밀번호를 숨겨진 알고리즘을 이용하여 생성해 내므로 서버와의 접속 없이도 생성이 가능하여 중간 과정에서 패킷이 유출되거나 하는 위험이 없다. 보안의 개념을 방어력에서 기동성(?)으로 바꿔버린 체계. 보통 시간동기나 해쉬체인을 사용한다. 참고로 금융기관에서 흔히 사용하는 시간동기(Time OTP) 방식을 사용하는 OTP 토큰이 아닌, Event OTP를 사용하는 OTP 토큰을 사용하는 경우 비밀번호 생성 버튼을 신나게 누르다가 어느 순간부터 해당 OTP 토큰을 못쓰게 될 수도 있으니 주의해야 한다.[2]

게다가 OTP 하나를 여러 은행에다가 등록해 놓았다면, OTP를 분실했다가 회수하였을 때 일일이 등록한 은행에 가서 정지를 풀어야 한다. 그리고 은행마다 다를 수 있겠지만 타행 OTP를 연결해서 쓰는데 그 OTP 유효기간이 다 되어서 갱신하게 될 일 등이 생기면 갱신 전에 OTP 등록을 해지하고 새 OTP를 다시 등록해야 하는 경우가 생길 수 있다.

접속시마다 새로 생성된 번호를 입력해야 하므로 번거로우며, 하드웨어 OTP 토큰의 경우 내장된 시계의 품질이 좋지 않으면 내부 시계에 오차가 생길 수 있어서, 서버에[3] 시간을 자주 맞춰 줘야 한다는 점[4]이 단점이다. 게다가 게임에 한정된 이야기일 수 있지만, 막 점검이 끝난 게임 등 사람들이 몰려 서버의 상태가 좋지 않을 때 OTP를 이용해서 접속을 하려고 하면 비이용자의 두 배 이상의 시간이 걸리게 된다.

하지만 보안이라는 것은 귀찮음을 대가로 안전을 보장받는 것이라서, 귀찮지 않은 보안이란 이 세상에 존재하지 않는다. 물론 귀찮으면서 안정성도 없는 것은 있지만

컴퓨터를 이용하여 OTP 토큰이 만들어낸 OTP를 입력하는 일[5]을 할 경우에는 자신이 쓰는 컴퓨터의 관리를 잘 하는 것도 중요하다. PC·휴대폰용 소프트웨어 OTP를 안 쓰는 금융 거래에선 이런 일이 없지만, PC·휴대폰용 소프트웨어 OTP를 활용하는 온라인 게임의 해킹에 다음의 기법이 실제로 사용된 적도 있다.

사용자가 올바른 OTP를 입력하긴 했는데 여러가지 방법을 써서[6] 정상적인 로그인 과정을 방해한 뒤 해커의 컴퓨터로 올바르게 입력한 OTP를 보낸 후해커의 컴퓨터에서 사용자의 OTP를 자동으로 대신 입력해서 해커가 로그인한다.

위의 방법 이외에도 넥슨의 캐쉬털이 사건같은 색다른[7] 해킹이 발생할 수 있으므로 자기 PC의 보안을 잘 지키는 것이 최우선이며, PC방 등지의 불안한 장소에서 쓸 보안수단으로 OTP를 사용하는 것이 바람직하다. 결국 OTP 하나만 걸었다고 안심하지 말고 추가적인 보안 수단을 사용할 수 있다면[8] 그것도 같이 사용하는 것이 좋다.

사실 OTP 토큰의 알고리즘을 만든 곳이 해킹당해서 졸지에 자신까지 해킹당할 수 있는 경우도 있다. OTP 토큰을 만들던 美 RSA社가 해킹을 당해서 알고리즘이 털린 적이 있었는데 나중에 해킹당한 RSA의 알고리즘이 적용된 OTP 토큰을 사용했던 록히드 마틴해킹당한 적이 있었다. 이에 따라 금융당국에서 RSA社의 알고리즘을 사용한 OTP 토큰를 무상으로 급히 교체했던 적이 있다.[9]

2 OTP 발생기의 종류

2.1 하드웨어 OTP

2.1.1 동글형 OTP 토큰

원래의 OTP는 일회용 비밀번호를 생성할 수 있도록 제작된 OTP 토큰이란 이름의 특수 하드웨어 장치나 카드를 사용하는 형태이다. 금융기관용 OTP 토큰이 가장 많이 쓰이며, 이 외에도 블리자드 로그인용이나 정부기관용 OTP 토큰 등도 있다. 여기선 금융기관용 OTP 토큰을 중점으로 설명하기로 한다.

흔히 볼 수 있고 흔히 사용하는 금융기관용 OTP 토큰은 은행이나 증권사에서 2000~5000원[10]에 구입할 수 있다. 당연하지만 일단 한 번 OTP 토큰을 구입해 두면 금융기관별로 OTP 토큰을 다시 구매할 필요 없이 해당 금융기관에 방문하여 자신이 구입한 OTP 토큰을 등록할 수 있다. 심지어 금융공동망으로 OTP 발급내역이 조회되어서 텔러가 "XX은행에서 받으신 OTP로 등록해 드릴까요?"라고 물어본다. 보통 금융기관이나 기타 OTP를 지급하는 곳에서는 미래테크놀러지와 바스코 OTP를 많이 주는데, 미래 OTP는 유리몸 수준의 품질과 바스코에 비해 짧은 배터리 수명으로 악명높다. 바스코 OTP는 옷 삶을때 같이 삶아도 멀쩡하던데 미래는 그냥 곱게 써도 금방 고장...

배틀넷 2.0(월드 오브 워크래프트, 스타크래프트2, 디아블로 3,하스스톤) 로그인 전용 하드웨어 OTP 토큰인 'Battle.net 인증기'는 블리자드 홈페이지에서 7000원에 구입할 수 있다.[11] 단, 말 그대로 배틀넷 2.0 로그인 전용 OTP 토큰이라서 금융기관에선 사용할 수 없다.

보통 금융거래용으로 많이 쓰는 금융기관용 OTP 토큰을 잃어버리거나 배터리가 방전된 경우, OTP 토큰을 새로 구입하는 것으로 끝나는 것이 아니다. 보안상 배터리를 바꾸는 순간 OTP 토큰의 생성값(시드)이 바뀌어 버리게 설계되어 있어서 배터리 교체는 불가능하다. 보통 구입 후 2~3년 정도 이용할 수 있고, 거의 안쓰면 4년 이상 사용할 수도 있다. 그러나 OTP 토큰이 신기하거나 심심하다고 매일 시도때도 없이 OTP 토큰의 전원 버튼을 누르면 배터리가 빨리 방전된다.

만약 OTP 토큰의 배터리가 방전되었을 경우 금융기관용 OTP 토큰의 경우에는 자신이 일정 등급 이상[12]의 은행 우수고객이 아니라면 그냥 분실신고하고 재발급을 받는 것처럼 OTP 구입 비용이 또 들어간다. 공짜로 바꿔주고 자시고 그런 거 없다. 인터넷으로도 타기관 OTP 등록이 가능한 은행이 있지만, 없거나 연동이 불안한 곳도 많아 은행지점을 방문해야 하는 경우가 많다. 다른 용도의 OTP 토큰인 경우는 다를 수도 있기 때문에 해당 OTP 토큰을 사용하는 해당 기관의 설명을 참조하자.(범용이 아닌 한정용으로 발급한 경우 타 은행에 등록을 못할 수 있다.) 다만, OTP는 몇 개를 받건 상관없지만 반드시 1기관 1OTP. 이를테면 보안카드와 같이 쓴다거나 여러 개를 걸어놓고 쓰는 것은 안 된다.

따라서 위의 하드웨어 OTP를 사용할 경우 소액의 장치 구입비용과 유지비용이 발생하기 때문에 OTP 토큰 구입 비용을 들이면서까지 돈과 크게 관련없는 서비스에 로그인할 필요가 없다고 생각하지만 그래도 OTP는 필요한 업체/사람을 위한 소프트웨어 OTP란 것이 있다.

2.1.2 카드형 OTP 토큰

둥글넙적한 기존 OTP 토큰의 불편한 휴대성을 개선하여 나온 OTP 토큰으로, 신용카드처럼 생겨서 카드형 OTP라고 불린다. 금융기관용은 은행이나 증권사에서 10,000~15,000원 정도에 구입할 수 있다.비싸다 참고로 우체국은 2만원이다. 하지만 카드형 OTP라고 해서 우리가 보아왔던 플라스틱 카드처럼 얇고 잘 휘어지는 건 아니었다. 그냥 신용카드처럼 생긴 OTP 토큰이라고 생각하면 된다. 카드형 OTP는 교통카드·IC현금카드처럼 CPURAM이 내장되어 있는 건 같지만, 외부 요인과 완전히 독립적인 장치라서 외부로부터 전원을 공급받는 금속 접점이나 내장 안테나 코일[13] 대신 자체 배터리가 장착되어 있고, 1회용 암호를 보여줄 디스플레이까지 장착되어 있기 때문에 카드 모양만 신용카드이고 두께는 두꺼웠다. 처음에는 흑백 LCD 액정[14]이 달려 있었는데, 카드가 휘어지면 액정이 손상된다는 큰 문제가 있었다.[15] 이런 이유로 초기의 카드형 OTP는 거의 퇴출되었다.

그런데, 이런 단점을 개선하고자 디스플레이에 e-ink를 쓴 제품이 나왔다. 두께도 신용카드와 거의 비슷할 정도로 얇아지고, 휘어지기도 잘 휘어 진다.그리고 내부 부품도 함께 전자잉크는 LCD 액정에 비해서 휘어짐에 훨씬 더 강할 뿐만 아니라 배터리 소모도 적어서 수명도 길고, 흑백 LCD 액정보다 훨씬 더 잘 보인다는 장점도 가지고 있다.

모든 은행에서 카드형 OTP를 취급하는 것은 아니며, 일반적인 동글형보다 비싸다. 게다가 지점에 따라서는 카드형 OTP를 구비해 놓지 않을 경우가 있으므로, 미리 물어본 후 찾아가야 한다.

e-ink를 기반으로 OTP 기능을 넣은 신용카드가 기업은행SC제일은행, 우리은행에서 출시되었다. [16] 이후 스마트 OTP 기반으로 OTP 기능을 넣은 신용카드도 국민카드, 신한카드에서 출시되었다.

2.2 하이브리드 OTP 토큰

기존에 사용되던 하드웨어형 토큰은 배터리가 닳으면 사용이 불가능하고 휴대하기에도 까다롭다는 단점이 있었고, 소프트웨어형 토큰은 보안이 취약하여 은행거래에는 부적합하다는 단점이 있었다. 하이브리드 OTP 토큰은 이 두가지 시스템을 절충하여 만든것으로 실질적으로는 하드웨어 토큰에 가까운 방식이다.

이 방식은 은행이 고객에게 비밀번호 발생에 필요한 정보가 담긴 IC카드를 발급하고 고객이 비밀번호가 필요할때 마다 전용 프로그램에 IC카드를 읽혀서 비밀번호를 생성하는 방식이다. 배터리의 교체가 필요없어 반영구적으로 사용이 가능하며, 기존 카드형 OTP보다 튼튼하고 저렴하지만 보안성 역시 떨어진다.[17] 또한 타행에서 사용시 별도의 코드와 앱이 필요한것 등 사용법 또한 기존 OTP에 비하여 비교적 불편하다.

은행권에서는 스마트 OTP라고 부르며 현재 국민은행신한은행[18], 산업은행, 기업은행 그리고 우리은행이 발급하고 있으며 타기관 OTP 등록시 국민은행, 신한은행, 산업은행, 우리은행, 하나은행, NH농협은행, 우체국, SC은행, 기업은행은 정상적으로 등록이 가능하지만 외환은행, 전북은행, 시티은행은 등록이 불가능하다.

2.3 소프트웨어 OTP 토큰 (OTP 프로그램)

외부와 완전히 독립적인 장치인 OTP 토큰과는 달리 소프트웨어 OTP는 보통 휴대폰이나 PC에 OTP 프로그램을 설치하여서 번호를 생성하는 방식을 이용하며 처음 사용할 때 최대 5000원의 비용이 발생하는 OTP 토큰과 달리 별도의 비용이 들어가지 않는 것이 보통이다.

대한민국에서 소프트웨어 OTP 토큰이 보안계의 무적치트와 비슷한 위력을 가져온다는 것을 깨달아 본격적으로 도입된 이후로부터 대부분의 온라인 프로그램(대표적으로 게임)들의 로그인 메뉴를 살펴보면 OTP 로그인 서비스를 찾아볼 수 있다.

하지만 OTP만 걸어놓으면 보안문제가 해결될 것 같은 희망(과 부실해지는 보안개념)과는 다르게, 소프트웨어적인 OTP 보안 시스템은 별도로 하드웨어를 사용하는 것에 비하면 시드가 외부로 유출되기 대단히 쉽기 때문에인터넷 연결 안 된 컴퓨터 봤어? 보안상 대단히 취약하다. 따라서 금융거래에서는 PC·휴대폰용 소프트웨어 OTP 프로그램은 사용하지 않는다.

휴대폰 OTP 프로그램의 경우에는 시드가 해킹당할 위험이 상대적으로 적다. 사실상 컴퓨터나 마찬가지인 스마트폰의 경우도 안드로이드 계열이라면 약간 신경을 써줘야 하지만[19] 관리만 잘해주면 대체로 안전한 편. 하지만 PC OTP 프로그램의 경우엔 해킹 후 OTP 프로그램의 시드를 읽어내어 해킹한다던가 하는 위험성이 존재한다. 그러니까 PC OTP 프로그램을 쓴다면 자신의 컴퓨터를 잘 관리하자. 다른 단점으로는 비밀번호를 맞게 쳤는데도 접속이 안 되는 말도 안되는 상황도 존재한다.

대표적인 소프트웨어 OTP 토큰은 구글의 OTP 토큰[20] 등이 있다. 하드웨어 OTP 토큰에서 설명했던 Battle.net 인증기의 소프트웨어 OTP 토큰 버전도 있다.

2.4 이메일형 OTP

인터넷뱅킹에서 특정 거래를 하려고 할때 사전에 등록한 이메일로 1회용 비밀번호가 보내지는 방식이다.
일본의 금융기관에서 주로 쓰인다. メール通知パスワード라고도 한다.

이메일형 OTP를 쓸 수 있는 일본의 주요 금융기관 리스트

등 이메일형 OTP를 쓸 수 있는 금융기관이 상당히 많다.

은행 홈페이지의 설명 페이지를 참조
미츠비시도쿄UFJ은행의 설명페이지
미즈호은행의 설명페이지

스팀에서도 로그인시에 이 방법을 사용한다.
스팀 가드(Steam Guard)라고 불리우며, 새로 다른곳에서 로그인하거나 이전 로그인시 해당 컴퓨터 등록을 하지 않았다면, 사용자가 가입시 등록한 이메일로 영문/숫자조합의 5글자로 된 코드를 보내준다.
2015년 5월경부터 스팀 어플리케이션을 이용한 소프트웨어 OTP가 그룹에 가입된 사람들에 한정하여 베타테스트가 진행되고 있다.
이젠 소프트웨어 OTP를 이용한 스팀가드를 사용 안하면 거래가 72시간동안 지연된다.

3 인터넷뱅킹으로 OTP 등록하기

3.1 인터넷으로 OTP 등록이 가능한 금융기관 리스트

OTP 교체할 때 금융기관 순례를 안해도 된다.

3.2 인터넷으로 OTP 등록이 불가능한 금융기관 블랙리스트

OTP교체시 금융기관 순례를 해야된다.
지방은행이 많은건 착각?

4 OTP 배터리 확인방법

  • 업체코드 01 (제조사:미래테크놀로지 , 공급사 :미래테크놀로지)
별도의 확인 방법은 없으나 배터리 잔량이 얼마 남지 않았을 때엔 화면에 Lo_bat 표시가 나타난다.
  • 업체코드 02 (제조사:RSA , 공급사 : 인네트)
상시 전원이 켜져있는 제품이므로 별도의 조작은 필요하지 않다. 1회용 암호 우측 옆에 작게 3자가 나오고 화살표가 깜빡이면 배터리 수명이 얼마 남지 않았다는 의미이다. 참고로 OTP 후면에 보증기한이 mm/dd/yy의 형식으로 새겨져 있다.
  • 업체코드 03 (제조사:인터넷시큐리티 , 공급사 : 인터넷시큐리티)
  • 업체코드 04 (제조사 : VASCO, 공급사 : OTP멀티솔루션)
① OTP 버튼을 길게 누른다
② 화면에 battery 라는 문자가 표시되면 버튼을 놓는다
③ 화면 오른쪽에 표시된 숫자가 배터리 잔여량
  • 업체코드 05 (제조사:Incard, 공급사 : 인네트)
  • 업체코드 06 (제조사:시큐어컴퓨팅, 공급사 : ???)
  • 업체코드 07 (제조사:Active, 공급사 : 인네트)
  • 업체코드 08 (제조사:Identita , 공급사:테트라플러스, 예스컴)
  • 업체코드 09 (제조사:토탐폼즈, 공급사:?)
  • 업체코드 10 (제조사:스마트크리에이티브, 공급사:?)
  • 업체코드 11 (제조사:스마트이노베이션, 공급사:?)
다른 OTP는 추가바람
  1. 주로 난수 발생기에 현재 시간을 넣어 비밀번호를 생성한다.
  2. 서버와 클라이언트(토큰)가 각자의 카운터(서버는 인증횟수, 클라이언트는 생성횟수)를 가지고, 이 카운터 값을 기반으로 OTP를 생성/검증하는 방식인데, 생성되었지만 인증에 사용되지 않은 비밀번호가 너무 많아지면 양쪽 카운터 사이에 오차가 발생해 클라이언트는 항상 잘못된 비밀번호를 발급하게 된다. 이렇게 되면 고자 확정. 다만 오차 범위를 두어 그 안에서는 보정이 가능하도록 된 시스템도 있다.
  3. 금융기관의 인터넷뱅킹 중 OTP 토큰 설정
  4. 시간이 다를 경우 같은 사용자 정보로부터 다른 번호가 생성되는데 이건 서버가 현재 시간을 토대로 생성한 번호와 다르기 때문에 결국 무의미한 번호가 된다.
  5. 인터넷 뱅킹을 이용한 금융거래나 온라인 게임의 로그인 하는 일 등
  6. 내부적으로 틀린값을 더 넣어서 오류를 내거나 혹은 렉으로 위장한 지연 등
  7. 미처 OTP와 연결해놓지 못한 채 잊고있는 부분에서
  8. 예를 들자면 던전앤파이터의 보안카드나 고블린패드와 같은 게임내에 존재하는 인증시스템, 금융기관쪽은 대부분 공인인증서와 별도의 이체비밀번호 등
  9. 농협, 수협, 우체국, 새마을금고, 기업은행, 삼성증권에서 2011년 3월 17일 이전에 OTP를 발급받은 사람이라면 교체대상자인지 확인하고, 아직 교체를 받지 않았으면 반드시 교체를.....이라 말하기엔 이젠 배터리가 먼저 다 닳았을 것으로 보인다.
  10. 간혹 계좌를 새로 열 경우 계좌개설 기념(아니면 무료증정 행사 등)으로 OTP 토큰을 무료로 주는 경우도 있다. 우체국 쪽은 OTP 무료발급 행사를 많이 하는 편.
  11. 소프트웨어 OTP 토큰도 있으며, OTP를 사용하면 특정 게임에서 사용할 수 있는 '새끼 심장부 사냥개'를 선물로 준다고 한다.
  12. 보통 4개 등급 중 3번째나 4번째 수준
  13. 금융IC카드야 당연하게도 금속 접점을 통해 전원을 공급받고, 교통카드는 교통카드 단말기에서 전자기유도를 통해 무선으로 전원을 공급받는다.
  14. 보통 전자계산기에 달려 있는 것
  15. 실제로 주머니 또는 지갑에 넣어 두었다고 액정이 손상되서 사용하지 못하는 사례가 다수 보고되었다.
  16. 물론 당 은행에서도 아무 카드만 되는 것은 아니다.
  17. 보안 체계와 알고리즘은 하드웨어형과 같다. 문제가 되는 부분은 매채분리가 이뤄지지 않은 부분서 보안성이 현저히 떨어진다는 것.
  18. Vender Code 312, 일부 거점지점에서만 발행함
  19. 참고로 iOS의 경우에는 애플 특유의 폐쇄성 덕분에 보안 하나는 유저가 정말 작정하고 걸려들지 않는 이상 안드로이드보다 안전하다.
  20. 구글 뿐만이 아니라 페이스북 등 타사의 서비스나 자기 서버의 인증에도 사용할 수 있다.