Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 850

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

監修Cybersecurity entrepreneur & security researcher

ワンタイムパスワード (OTP) とは何ですか?

ワンタイムパスワード (OTP)1 回のログインまたは短い時間枠の間だけ有効な短い数字コード。通常は第 2 認証要素として使われる。


ワンタイムパスワード(OTP)は一度だけ使える資格情報で、傍受されたコードも使用後は攻撃者にとって無価値になります。最近の OTP は、認証器(アプリやハードウェアトークン)とサーバーで共有する秘密から計算されます。HOTP(RFC 4226)は単調増加するイベントカウンターの HMAC-SHA-1 を 6-8 桁のコードに切り詰めます。TOTP(RFC 6238)はカウンターを Unix 時間をステップ(既定 30 秒)で割った値に置き換えるため、認証アプリはその周期で更新されます。OCRA(RFC 6287)はコードをサーバーのチャレンジや取引データに結び付け、古い S/KEY/OTP 方式(RFC 1760/2289)はハッシュを連鎖させて一度きりの利用を実現しました。

SMS やメールでの配信は一般的ですが脆弱です。SS7 傍受、SIM スワップ、モバイルマルウェアがコードを露呈させ、NIST SP 800-63B は 2017 年以降 SMS をアウトオブバンド経路として制限しています。

本質的な限界は、人間が読んで打ち直せる OTP はリアルタイムで中継できるという点です。Evilginx や EvilProxy のような中間者(adversary-in-the-middle)フィッシングキットはログインをプロキシし、OTP を捕捉して有効期間内に再送します。高価値アカウントには、フィッシング耐性がありオリジンに束縛される要素、すなわち FIDO2/WebAuthn パスキーを優先すべきです。これは同様の中継ができません。

flowchart TD
  A[共有秘密がアプリとサーバーに配備] --> B{OTP の種類}
  B -->|HOTP| C[イベントカウンターを加算]
  B -->|TOTP| D[現在時刻を 30 秒ステップで割る]
  C --> E[カウンターまたは時間ステップの HMAC-SHA-1]
  D --> E
  E --> F[6 から 8 桁のコードに切り詰め]
  F --> G[利用者がログイン時にコードを送信]
  G --> H{サーバーが再計算し時間枠内で照合}
  H -->|一致| I[第 2 要素を受理]
  H -->|不一致| J[拒否]

● 例

  1. 01

    Google Authenticator が 30 秒ごとに表示する 6 桁の TOTP コード。

  2. 02

    銀行振込を承認するために送信されるワンタイムコード付き SMS。

● よくある質問

ワンタイムパスワード (OTP) とは何ですか?

1 回のログインまたは短い時間枠の間だけ有効な短い数字コード。通常は第 2 認証要素として使われる。 サイバーセキュリティの ID とアクセス カテゴリに属します。

ワンタイムパスワード (OTP) とはどういう意味ですか?

1 回のログインまたは短い時間枠の間だけ有効な短い数字コード。通常は第 2 認証要素として使われる。

ワンタイムパスワード (OTP) からどのように防御しますか?

ワンタイムパスワード (OTP) に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。

ワンタイムパスワード (OTP) の別名は何ですか?

一般的な別名: OTP, ワンタイムパスコード。

● 関連用語

● 関連項目