ソニー銀行やジャパネットのワンタイムトークンの仕組み

どうやってるのか前から不思議だった。www.japannetbank.co.jp

トークンのなかにあるのは時計とランダム数列。30秒立つと次の項を表示する。


同じ数列を銀行のサーバーも保持してる。
初回認証でサーバーに数字を教えれば、サーバー側は次から何時何分に何の数字がでるか予想できる。

トークン側の時間計算がずれたら、もう一度数字を教えて、サーバー側はトークンが今何項目かを補正する。

数列は最後まで行ったら1項目に戻る。


なので、トークンとサーバーは通信することなく、ユーザーが間に入って、トークンの現在の数字を教えてあげるだけで認証ができる。


保持してる数列は端末ごとにバラバラ。


そりゃ、あんなちゃっちい100円ショップであるようやつが銀行のシステムと通信してるわけないよね。(´・ω・`)