geek_stuff/today 2006. 6. 1. 23:00

HSBC의 OTP (One time password) device.

속눈썹님의 블로그에서 트랙백: http://ilashman.cafe24.com/5393

OTP (One Time Password) Device라는것이 인터넷 뱅킹에서도 사용이 되고 있네요.
One Time Password란 한번만 사용할 수 있는 패스워드로, 보통 로그인 방식이 매번 같은 id와 같은 password를
사용하는 방식이라면 OTP는 이런것이죠.

처음로그인할때: 너 이름이 뭐지?
패스워드: 이코요

두번째로그인할때: 너 키가 몇이지?
패스워드: 1xx cm요

세번째로그인할때: 너 몸무게가 몇이지?
패스워드: xx kg요
One Time Password의 예


이렇게 매번 다른질문으로 사용자에게 질문을 하면 사용자는 그에 맞는 password를 입력함으로서
다른사람이 합법적 유저가 한 행위를 똑같이 반복함으로서 인증수단이 무효화되는 것을 방지하려는 거죠

오늘 속눈썹님의 블로그에서 재미있는 글을 봤습니다. HSBC의 OTP라고 해서 뭔가하고 봤는데...



HSBC의 OTP Device

이렇게 생긴 장치더군요. 속눈썹맨님의 궁금해 하신건

과연 이 device가 자체적으로 통신을 해서 HSBC와 password를 주고 받느냐 인데..

결론부터 말씀드리자면 "제 생각엔 아닙니다." 입니다.

만일 OTP라는게 One Time Password의 줄임말이라면 말이죠..



HSBC의 홈페이지에 가보니 OTP를 맨처음 사용할 때 뒤에있는 바코드의 일련번호를 입력해서 등록하는게 나오는데, 이것은 각각의 device에 저장된 6자리 password의 목록일꺼라 생각됩니다.

OTP의 일련번호: 0001
OTP 0001이 생성할 수 있는 번호 및 순서 100001, 300003, 600006, 200002, 400004

OTP의 일련번호: 0002
OTP 0002가 생성할 수 있는 번호 및 순서 500005, 700007, 900009, 800008, 100001
로그인 서버에 저장된 OTP관련 내용들(가정)

이런식으로 서버에 저장이 되어있겠죠, 꼭 번호가 다 틀리지 않아도 순서만으로도 다른 OTP가 만들어 질 수 있는겁니다. 하지만 그것도 어느정도의 범위가 지정되어 있겠죠, 앞뒤 50개사이에는 각각의 OTP가 같은 값을 가질수 없다 라던지 하는...

그리고 여러번 눌러놓고도 패스워드가 다 입력이 가능했다는것은 사용자의 실수를 만회하기 위해서 어느정도 여유를 둔것 같네요, 마지막 입력한 패스워드의 앞뒤 10개정도면 입력해도 받아들일수 있도록 말이죠...

어디까지나 제 생각입니다만..ㅋ 궁금하신게 해결되셨나 모르겠네요.


여담입니다만, 저게 통신이 가능하다면 아마 은박지로 쌓아놓으면 전파가 방해되어서 사용이 불가능할겁니다.
아니면 핸드폰이 처지지않는 지하라던지, 이런곳에서는 통신이 된다면 동작이 불가능 하겠죠.

하지만 결국 통신을 하지 않는다면 저 OTP는 버튼을 누를때마다 이미 저장되어있는 번호를 순차적으로 보여주는 장치라는 것밖에 되지 않는다는 거죠. 아주 약간의 메모리(6.56Mb: 하지만 이것은 0부터 999999까지 모든수를 저장했을때)와 버튼 스위치 하나, 그리고 메모리에 있는것을 액정에 표시하는 회로만으로 구성되어져있는 싸구려 장치이라는겁니다. 사실 무슨은행이 이런거에다가 통신이 되는 걸 집어넣겠습니까.. 쓸때마다 돈나오고 은행측에서는 유지비가 장난이 아닐듯 싶은데요.ㅎㅎ