よくある質問・用語集

  • もっと調べる
  • どうやって使う?

ワンタイムパスワード(OTP)とは

ワンタイムパスワードとは、一度限り有効なパスワードのことである。One Time Passwordの英語の頭文字をとって「OTP」とも呼ばれる。ワンタイムパスワードを用いた多要素認証(二段階認証)の利用を設定しておくと、一時的にしか利用できないパスワードが発行される。パスワードの再利用ができない仕組みになっているため、万が一パスワードが漏洩等した場合でも不正アクセスを防ぐことができ、よりセキュアな認証システムを構築することができる。この記事では、ワンタイムパスワード(OTP)認証の仕組みや、ワンタイムパスワード(OTP)の実装と事例について解説する。

ワンタイムパスワード(OTP)認証の仕組み

ワンタイムパスワード(OTP)認証の仕組みには、以下の方法がある。

  • 時刻同期型
  • チャレンジ・レスポンス型
  • メッセージ型

時刻同期型のワンタイムパスワード(OTP)

サーバとクライアントが、同じアルゴリズムで生成したパスワードを使って認証を行う方法である。パスワードは、ユーザ固有の情報と現在時刻を使って生成される。生成したパスワードは、時間が経過すると利用不能になるため、ワンタイムパスワードであることが保証される。この方法では、パスワード生成器であるトークンが必要になる。トークンには、ソフトウェアトークンとハードウェアトークンがある。最近では、スマートフォンのアプリ上で動作するソフトウェアトークンの利用が増えている。

チャレンジ・レスポンス型のワンタイムパスワード(OTP)

認証を行うときに、あらかじめ登録されているユーザ固有の情報と、サーバが発行したランダムな数値(チャレンジコード)を使って認証を行う方法である。サーバが、必ず異なるチャレンジコードを発行することで、ワンタイムパスワードであることを保証することができる。

メッセージ型のワンタイムパスワード(OTP)

サーバがランダムに発行したパスワードをユーザに送り、それを使って認証を行う方法である。この方法はパスワードだけでなく、ワンタイムなURLの生成などでもよく利用される。

ワンタイムパスワード(OTP)を実装するOSS

Google Authenticatorアプリのトークン

ワンタイムパスワードを実装するOSSとして、Google Authenticatorがある。Google Authenticatorは、ワンタイムパスワードのソフトウェアトークンと、サーバ側での検証の仕組みを提供する。

ワンタイムパスワード(OTP)の実装と事例

ワンタイムパスワードには様々な実装がある。特に、時刻同期型の製品として販売されていたSecureIDは、様々な企業に導入された。また、現在でも一部のネットバンクなどでも採用されている。

こうした時刻同期型のワンタイムパスワードの技術は、特許が取得されていた。しかし、この特許の期限が到来し、2011年にはRFC 6238として標準化された。そのため、現在ではオープンソースソフトウェアでの実装が広く普及している。また、スマートフォンの普及により、ワンタイムパスワードのトークン(生成器)もアプリで提供されることが多くなっている。

Google Authenticator〜ワンタイムパスワード(OTP)のOSS

Google Authenticatorは、RFC 6238に準拠した代表的なワンタイムパスワードのオープンソースソフトウェアである。Googleが開発し、同社の各種サービスで利用可能である。また、仕組みが公開されているため、他の企業や個人が自由に利用することができる。

Google Authenticatorでは、トークンはiPhoneやAndroidのアプリとして提供される。Google Authenticatorのサーバ側で発行したQRコードを読み取り、鍵情報をアプリに登録することで利用可能になる。

ワンタイムパスワード(OTP)のシステム連携

Google Authenticatorとシステムをうまく連携させることで、様々なシステムと連携が可能である。ここでは、いくつかの事例を紹介する。

VPNやWifiの認証でワンタイムパスワード(OTP)を利用する

Google AuthenticatorをFreeRADIUSと連携させることで、VPN装置にワンタイムパスワード認証を導入した事例である。この事例のように、RADIUSプロトコルをサポートしたネットワーク機器では、すべてワンタイムパスワード認証を導入することができる。

Webメールでワンタイムパスワード(OTP)を利用する

WebメールのソフトウェアであるRoundcubeでは、Google Authenticatorによる認証のプラグインモジュールを提供している。このモジュールを使うと、組織外からメールを読むときに、ワンタイムパスワード認証を実施することができる。

シングルサインオンでワンタイムパスワード(OTP)を利用する

シングルサインオンのソフトウェアであるOpenAMKeycloakは、ワンタイムパスワードによる認証をサポートしている。デージーネットでも、OpenAMの商用サポート版であるKAMOME SSOを利用して、ワンタイムパスワード認証を実装するシステムを構築した事例がある。

ネットサービスでワンタイムパスワード(OTP)を利用する

SaaS型で提供されているネットサービスでは、SAMLやOpenID Connectなどの外部認証に対応しているサービスが多い。OpenAMKeycloakは、SAMLやOpenID ConnectのIdPとして動作することができるため、これらのソフトウェアと連携することで、独自にワンタイムパスワード認証を導入することができる。

ワンタイムパスワード(OTP)に対するデージーネットの取り組み

デージーネットでは、FreeRADIUSとGoogle Authenticatorを組み合わせてワンタイムパスワードに対応したRADIUSサーバの構築を行っている。また、デージーネットで構築したワンタイムパスワードに対応した認証サーバは導入後支援サポートを受けることができる。

【カテゴリ】:セキュリティ  認証  

  • もっと調べる
  • どうやって使う?

【Webセミナー】ファイルの管理やサイト内の検索に活用できる!全文検索のOSS「Fess」ご紹介セミナー

日程: 12月23日(木)Webセミナー「BigBlueButton」を使用します。
内容: 「欲しいファイルが見つからない…」「サイト内の検索を自社独自で行いたい」ということはありませんか?本セミナーでは、オープンソースを活用した課題解決方法をお伝えします。
ご興味のあるかたはぜひご参加ください。

セミナー申込

関連用語

ワンタイムパスワード(OTP)に関連するページ(事例など)

ワンタイムパスワード(OTP)とは先頭へ