ワンタイムパスワードの認証の仕組み
ワンタイムパスワードはセキュリティを向上させるため、広く用いられています。その仕組みは大きく分けるとタイムスタンプ認証とチャレンジレスポンス認証の2種類です。それぞれの仕組みについてみていきましょう。
タイムスタンプ認証
タイムスタンプ認証とは、トークン(ワンタイムパスワードを表記する機器)に時刻と連動する乱数を表示させる認証方法です。トークンと認証サーバの時刻が連動することから「時刻同期方式」ともいいます。
トークンにはキーホルダーやカードの形をしたハードウェアトークンやスマートフォンにインストールするトークンアプリなどがあります。オンラインバンクの認証などでよく用いられるのがトークンアプリです。スマートフォンを通じて乱数を受け取った経験があるかもしれません。
トークンと認証サーバのアルゴリズムは同じように動くため、ネットで通信しなくても同時刻に同じ数字が表示されるようになっています。ユーザーが正しい乱数を入力すると本人であると確認され、認証されます。
チャレンジレスポンス認証
チャレンジレスポンス認証とは、ユーザーと認証を管理するサーバーがデータをやり取りして行う認証方式のことです。
ユーザーがサーバにログインしようとした際、ユーザーはサーバにIDを送信してログインを申請します。サーバは「チャレンジコード」とよばれるランダムな文字をユーザに送信します。
一方、ユーザーはチャレンジコードをもとに計算した「レスポンスコード」とよばれる返信をサーバに送ります。その後、サーバがレスポンスコードとチャレンジコードを照合して、一致すれば認証が成功となります。