株式会社タフス

OTP

食パンの袋の中にクモが入っていて、何年かぶりに奇声をあげてしまった、どうもhemです。

いつもいつもお堅い話ばかりでしたので、今回はちょっと違ったことを書きたいと思います。

昨今、様々なセキュリティ対策がありますが、その中の一つにワンタイム・パスワードというものがあります。

ワンタイム・パスワード(OTP)は、遠隔地の端末よりネットワークを通じてサーバーにアクセスする際に、アクセスしてきたユーザーが正規のユーザーかどうかを検証する為の認証技術の一つです。
この技術を用いると、端末がサーバーにパスワードを送信する際に通信経路途中で万一「盗聴」されても、1度発行されたパスワードは繰り返し使えないという点で、固定式のパスワードよりもセキュリティが向上します。

まあ前述までのようなことは私も多少理解していたのですが、じゃあどういう仕組みなのよ、っていうようなことをちゃんと理解したのは最近なんですね…

ワンタイム・パスワードは、事前に認証する側とされる側でハードウエアや関数などを共有しておき、それを元に毎回異なるパスワードを発行しています。
代表的な方式としてチャレンジ・レスポンス方式とタイムスタンプ方式があります。

そのうち、チャレンジ・レスポンス方式についての認証プロセスは以下の通りです。

(1)ユーザーがサーバーへアクセス要求を送る。
(2)サーバーがユーザーにそれ自体に意味を持たないビット列(チャレンジ値)を返す。
(3)ユーザーは手元にある電卓に似た計算機(レスポンス生成器)に、チャレンジ値を入力し、表示された値(レスポンス値)をサーバーに返す。これは、事前にユーザー側とサーバー側で共有しておいた関数によって算出された値である。
(4)レスポンス値を受け取ったサーバーは、サーバーが独自計算して生成した値とそれを比較し、二つが一致したら、事前に共有していた関数が同一のものと判断し認証する。

いかがでしょう。お陰ですっごく勉強になりましたね!(自分が)

もう一つの代表的方式であるタイムスタンプ方式ならびにワンタイム・パスワード全般について以下に詳しく載ってますので、興味ある方はどんぞ〜

http://itpro.nikkeibp.co.jp/article/COLUMN/20060414/235357/