ワンタイムパスワードとは?仕組みと種類・企業が選ぶ導入方式を解説

ワンタイムパスワード(OTP)は、一度きりで無効になる使い捨てのパスワードです。ネットバンキングやクレジットカードの本人認証、業務システムのログインで、固定パスワードだけでは防げない不正ログインを止めるために使われます。この記事では、時刻同期のTOTPとカウンタ同期のHOTP、チャレンジレスポンスという生成方式の違いから、認証アプリ・SMS・ハードウェアトークンといった受け取り方、そして企業が自社システムに導入するときの方式の選び方まで整理する内容です。SMSで受け取る方式のリスクや、OTPでも防げない攻撃への対策も具体的に示します。

目次

まとめ:ワンタイムパスワードの要点と企業の導入判断

ワンタイムパスワードは、一定時間または一定回数だけ有効な使い捨てパスワードで、多要素認証における「所有要素」を担います。生成方式は、時刻を基準にするTOTP(RFC6238)、カウンタを基準にするHOTP(RFC4226)、サーバーからの乱数に応答するチャレンジレスポンスの3系統です。受け取り方は認証アプリ・SMS・メール・ハードウェアトークンがあり、安全性とコストが方式ごとに違います。

企業が業務システムに導入するなら、既定は認証アプリによるTOTPです。SMSで受け取る方式は、SIMスワップや傍受のリスクからNISTの指針で制限付き認証に分類されており、高権限アカウントでは主要な手段にしない判断が要ります。OTPはリアルタイムの中間者フィッシングを完全には防げないため、より強い保護が必要な場面ではパスキー(FIDO2)への移行も並行して検討する領域です。二段階認証や多要素認証との位置づけは、二段階認証とは?二要素認証・多要素認証との違いと企業の導入判断で全体像を確認できます。

ワンタイムパスワードの基本|固定パスワードにない使い捨ての安全性

まず、ワンタイムパスワードが何を解決する仕組みなのかを押さえます。固定パスワードとの違いと、多要素認証のなかでの役割の2点が起点になります。

ワンタイムパスワードの定義と一度使うと無効になる使い捨て構造

ワンタイムパスワードは、認証のたびに新しく生成され、一度使うか一定時間が過ぎると無効になる数字列です。一般的には6桁の数字で、有効時間は30秒から数分に設定されます。固定パスワードは、盗まれれば同じ文字列で何度でもログインされます。使い捨てのOTPなら、仮に通信途中で1回分を盗まれても、その値はすぐ失効するため再利用が効きません。銀行の振込やクレジットカードの3Dセキュア(本人認証サービス)で使われるのは、この一回性が理由です。

多要素認証で所有要素を担うワンタイムパスワードの基本的な役割

認証の要素は、パスワードのような「知識」、スマートフォンやトークンのような「所有」、指紋や顔のような「生体」の3つに分かれます。ワンタイムパスワードは、そのコードを受け取れる端末やトークンを持っていることを示す「所有」の要素です。固定パスワード(知識)にOTP(所有)を足すと、2つの異なる要素で確認する二要素認証になります。OTP単体はあくまで所有要素の一つで、認証全体を1つで完結させるものではありません。二段階認証・二要素認証・多要素認証の呼び分けは二段階認証の解説記事で整理しています。

ワンタイムパスワードの生成方式|TOTP・HOTPと同期の仕組み

ワンタイムパスワードは、サーバーと端末が同じ値を独立に計算し、それが一致するかで認証します。値の「基準」を何に置くかで、方式が3系統に分かれます。

時刻同期方式TOTP(RFC6238)の30秒ごと更新の仕組み

時刻同期方式(TOTP)は、現在時刻と、端末とサーバーで共有した秘密鍵から数字列を計算します。標準仕様はRFC6238で定義され、更新間隔(タイムステップ)の既定値は30秒です。30秒ごとにコードが切り替わるため、画面に表示された値が短時間で使えなくなります。Google AuthenticatorやMicrosoft Authenticatorなどの認証アプリが、この方式の代表例です。端末の時計が大きくずれると認証に失敗するため、サーバー側は前後数ステップ分の値も照合して許容します。

カウンタ同期方式HOTP(RFC4226)と同期ずれへの対処

カウンタ同期方式(HOTP)は、時刻ではなく「カウンタ(回数)」を基準にします。RFC4226で定義され、TOTPの土台にもなった仕様です。ボタンを押すたび、あるいは認証するたびにカウンタが1つ進み、その値と秘密鍵から数字列を生成します。時計に依存しないため、時刻を持たない安価なトークンでも動きます。弱点は、端末側だけボタンを何度も押すとカウンタがずれる点です。サーバーは一定範囲まで先読みして同期を回復させますが、範囲を超えると再同期の操作が必要になります。

チャレンジレスポンス方式とトランザクション署名による本人確認

チャレンジレスポンス方式は、サーバーが毎回ちがう乱数(チャレンジ)を送り、端末がそれと秘密鍵から応答(レスポンス)を計算して返します。時刻もカウンタも共有しないため同期ずれが起きません。法人ネットバンキングでは、振込先口座番号や金額をチャレンジに含めて署名させる「トランザクション署名」に使われ、表示された取引内容そのものを承認させることで改ざんを検知します。運用面で3方式を整理すると次のとおりです。

生成方式 値の基準 同期ずれ 主な用途
TOTP 時刻(既定30秒) 時計のずれで発生 認証アプリ全般
HOTP カウンタ(回数) 押し過ぎで発生 安価な物理トークン
チャレンジレスポンス サーバーの乱数 起きにくい 法人ネットバンキング

個人向けサービスや業務システムのログインではTOTPが実質の標準です。取引単位の承認まで求める金融取引では、チャレンジレスポンスとトランザクション署名が選ばれます。

ワンタイムパスワードの受け取り方|アプリ・SMS・トークンの違い

同じOTPでも、コードをどの経路で受け取るかで安全性と手間が変わります。実務でまず比べるのは、認証アプリ・SMS/メール・ハードウェアトークンの3つです。

認証アプリで受け取るTOTP方式と代表的な認証アプリの選び方

認証アプリは、スマートフォン内でTOTPを計算して表示します。通信経路を通らずに端末内で完結するため、SMSのような傍受のリスクがありません。代表的なアプリはGoogle Authenticator、Microsoft Authenticator、1Passwordなどで、多くはQRコードで秘密鍵を登録します。企業で配布するなら、選定の基準になるのは機種変更時の移行手順とバックアップの可否です。アプリの具体的な設定や機種変更の流れはMicrosoft Authenticatorの解説記事で確認できます。

SMS・メールで受け取る方式とNISTが示す制限付き認証の扱い

SMSやメールでOTPを送る方式は、専用アプリが要らず導入が簡単です。一方で、電話網を経由するSMSにはSIMスワップ(携帯番号の乗っ取り)や傍受のリスクが指摘されています。米国立標準技術研究所(NIST)のデジタルID指針SP 800-63Bの第4版では、SMSや電話網を使うOTPを「制限付き認証(restricted authenticator)」に位置づけ、利用時は代替手段の提供や利用者への告知、リスク評価の更新を求めています。禁止ではありませんが、管理者権限など被害の大きいアカウントでは、SMSを主要な手段にしない運用が現実的です。

ハードウェアトークンで受け取る方式と導入・運用コストの考え方

ハードウェアトークンは、コードを表示する専用の小型端末(キーホルダー型やカード型)です。スマートフォンを持てない現場や、私物端末の業務利用を制限したい環境で選ばれます。端末そのものが独立しているため、スマホのマルウェア感染の影響を受けません。反面、1台あたりの調達費と、紛失・電池切れ時の再発行という運用コストがかかります。3つの受け取り方を安全性とコストで比べると次のとおりです。

受け取り方 傍受・乗っ取り耐性 コスト 向く場面
認証アプリ 高い 低い(無料アプリ) 一般的な業務利用
SMS/メール 低い(SIMスワップ等) 送信費のみ 簡便さ優先の場面
ハードウェアトークン 高い 調達・再発行の費用 スマホ制限の現場

コストと運用負担のバランスから、多くの企業では認証アプリを既定にし、スマートフォンを使えない業務にだけハードウェアトークンを併用する形に落ち着きます。

企業がワンタイムパスワードを導入するときの判断基準と方式選定

ここからは、自社システムにOTPを組み込むかどうかの判断を言い切ります。採用すべき条件と、逆に主要な手段にすべきでない場面、そしてOTPだけでは足りない領域を分けて考えます。

自社の業務システムでワンタイムパスワードを採用すべき判断条件

ワンタイムパスワードの追加が費用に見合うのは、次の条件に当てはまる場合です。

  • 個人情報や金銭を扱い、なりすましログインの被害が大きい
  • 社外からのリモートアクセスがあり、固定パスワードの漏えい経路が広い
  • 取引先や監査から多要素認証の実装を求められている

逆に、社内ネットワーク限定で扱う情報の機微性が低いシステムでは、OTPより先にパスワードポリシーの見直しやアクセス制限で足りることがあります。認証強化は、守る資産の価値に対して過不足なく設計するのが原則です。

SMSワンタイムパスワードを主要な認証手段にすべきでない場面

管理者アカウントや、送金・顧客データの一括操作ができる高権限の画面では、SMS OTPを唯一の第2要素にする設計を避けます。SIMスワップで携帯番号を奪われると、SMSで届くコードごと攻撃者に渡り、二要素の一方が丸ごと突破されるためです。この場合は認証アプリのTOTPかハードウェアトークン、より強くはパスキーを主要素側に置き、SMSは代替手段や低リスク操作に限定します。「とりあえずSMSで全アカウントに一律導入」は、高権限ほど危険が残る典型的な失敗パターンです。

OTPで防げない中間者攻撃とパスキー(FIDO2)による対策

ワンタイムパスワードにも限界があります。偽のログイン画面に利用者を誘導し、入力されたIDとOTPをその場で本物のサイトに転送する「リアルタイム中間者フィッシング」には、OTPは原理的に無防備です。利用者が正しいコードを入力しても、攻撃者が同じ30秒以内に使い回せてしまいます。これを防ぐのが、アクセス先のドメインに認証情報を紐づけるパスキー(FIDO2/WebAuthn)です。パスキーは偽サイトに対しては署名を返さないため、フィッシング耐性を持ちます。被害が重大なシステムでは、OTPを入り口にしつつ、高権限操作はパスキーへ移行する二段構えが現実的な解になります。

よくある質問

ワンタイムパスワードについて検索で多い質問に答えます。

ワンタイムパスワードとは何の略で、OTPとどう違いますか?

ワンタイムパスワードは英語のOne-Time Passwordを訳した言葉で、その頭文字を取った略称がOTPです。両者は同じものを指します。日本語では「使い捨てパスワード」と呼ばれることもあります。一度きり、または一定時間だけ有効なパスワードという意味で、呼び方が違うだけで仕組みに差はありません。

ワンタイムパスワードはどこで確認し、届かないときはどうしますか?

確認できる場所は、受け取り方で変わります。認証アプリの表示先は、アプリを開いた画面の6桁コードです。SMSやメールの場合は、届いたメッセージ本文に記載された数字が該当します。届かないときにまず見るのは、電波状況・迷惑メール設定・登録した電話番号やアドレスの誤りの3点です。それでも解決しないなら、時間をおいて再送するか、認証アプリへの切り替えが確実な回避策になります。

ワンタイムパスワードと二段階認証の違いは何ですか?

ワンタイムパスワードは「使い捨てのコード」という認証の部品で、二段階認証は「2つの段階で本人確認する仕組み」という認証の方式です。固定パスワードのあとにOTPを入力させれば、OTPを部品として使った二段階認証になります。つまり両者は対立する概念ではなく、OTPは二段階認証を実現する手段の一つです。詳しい違いは二段階認証の解説記事で整理しています。

ワンタイムパスワードがあれば不正ログインは完全に防げますか?

完全ではありません。OTPは盗んだ固定パスワードだけでのログインを防ぐ効果は高い一方、偽サイトに入力させたコードをその場で悪用するリアルタイムフィッシングには弱さがあります。被害が大きいアカウントでは、OTPに加えて、ドメインに紐づくパスキー(FIDO2)や、ログインの異常検知を組み合わせる多層的な防御が有効です。

機種変更するとワンタイムパスワードアプリはどうなりますか?

認証アプリの秘密鍵は端末内に保存されるため、そのまま機種変更するとコードが引き継がれず、ログインできなくなる場合があります。事前にアプリのクラウドバックアップを有効にするか、各サービスの設定画面で新端末を再登録します。バックアップに対応しないアプリでは、旧端末が使えるうちに移行手続きを済ませることが必要です。

関連記事

資料請求

RELATED POSTS 関連記事