このところちょいちょい書いているソニー銀行について、
先日のパリ旅行の準備段階でウェブサイトにログインできない
トラブルにみまわれ焦りました。
ソニー銀行ではセキュアなログインを
実現するための方法が複数用意されており、
私が使っているのがハードトークン。
ウェブサイトからのログイン時にパスワード等とは別に、
トークンにその瞬間に表示されている何桁かの数字も入力し、
トークンの所有を証明することでログインが承認されます。
ただトークンは操作する機器(PC、スマートフォン等)で
初めてログインする際にしか使わず、
いつもの機器からだとトークンなしでもログインできるので、
いつもいつも使うものでもないため、
今回久しぶりに使ったところ…何度やってもログインに失敗しますorz
で、原因として考えたのがトークンの時刻のズレ。
そもそもトークンによる認証は想像するに…
トークンは時刻をカウントし続けていて、
トークンのシリアル番号と現在時刻から認証コードを生成し、
サーバ側では認証コードの生成アルゴリズム、シリアル番号、
そして現在時刻によって認証コードを生成し、
トークンの生成コードとの一致でログインの承認を行っていると思われ、
トークンの時刻が狂ってしまうと一生ログインできないことになります。
しかも原価の安いトークンで使っているRTC(リアルタイムクロック)ICとか、
発振子(水晶等)なんてそれほど精度がいいとも思えません。
ということで時刻補正ができるんじゃないかと探してみたところ、
ログインできる機器でログインした後に
[各種手続]-[トークンについての手続]-[時刻補正]メニューで
トークン側の時刻をサーバに登録して、
トークンとリアルの時間差を予めサーバに教えられるようになっていました。
早速実行(トークンで表示されている認証コードを入力)することで
これまでログインしたことのない機器からの
トークン認証によるログインができるようになりました。助かった!
ただ補正の過程から、認証コードから時刻が逆算できる可能性があり、
それだと認証コードのアルゴリズムが解析される可能性も。
トークンの製造番号は厳重に秘匿する必要がありそうです。
0 件のコメント:
コメントを投稿