ワンタイムパスワードとは、認証セキュリティを強化する目的で用いられる、一定期間に一度しか利用できない使い捨てのパスワードを指す。業務システムからネットバンクなどのコンシューマー向けサービスに至るまで、ログイン時に高度な認証セキュリティが求められるシーンで用いられる(続きはページの末尾にあります)。
従来のサイバー攻撃は、標的のPCを不正に操作するためにマルウェアなどを仕込む手法が多かった。それに加えて、現在はSMSを利用するフィッシング詐欺「スミッシング」や、既に流出した情報を利用してログインを試みる「パスワードリスト攻撃」などが横行し、システムやサービスの不正ログインリスクは企業の頭を悩ませる問題となっている。
IDとパスワードの組み合わせでログインを許可する一要素認証の場合、こうしたサイバー攻撃によってログイン情報が外部に流出してしまうと、不正ログインやなりすましが容易になる。また、ブルートフォース攻撃(総当たり攻撃)によって認証を突破される恐れもある。こうしたリスクを回避するために用いられるのがワンタイムパスワードだ。
主に「チャレンジレスポンス認証」と「タイムスタンプ認証」の2つの仕組みを用いられることが多い。
ユーザーが認証サーバにリクエストを送信すると、サーバはランダムな文字列を返す。ユーザーは指定された計算式を使ってその文字列を送り返し、サーバが正しいかどうかを判断することで認証を実施する。
ユーザーがトークン(ワンタイムパスワードを生成するツールなど)を使って時間ごとに変わるパスワードを生成し、認証サーバに送信する。その情報が一致しているかどうかをサーバが判断し、一致していれば認証を承認する。
ワンタイムパスワードには、SMSや任意のメールアドレス、認証アプリを利用するものなど、幾つかの形式がある。金銭を扱うオンラインバンキングや各種Webサービス、「Microsoft 365」や「GitHub」など、幅広いサービスで利用されている。
製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。