IT用語集

ソフトウェアトークンとは? わかりやすく10分で解説

水色の背景に六角形が2つあるイラスト 水色の背景に六角形が2つあるイラスト
アイキャッチ
目次

ソフトウェアトークンとは

ソフトウェアトークンとは、スマートフォンやPCなどのデバイス上で動作し、一時的に有効な認証コード(ワンタイムパスワード:OTP)を生成する仕組み(アプリケーション/機能)を指します。ログイン時にID・パスワードに加えてOTPの入力を求めることで、パスワードが漏えいしても第三者が突破しにくい状態を作れます。

多くのソフトウェアトークンは、あらかじめ利用者ごとに発行された秘密情報(シークレット)と、時刻や回数といった条件を材料にしてOTPを生成します。OTPは短時間で変化し、同じコードを長く使い回せないため、盗み見やリプレイ(再送)攻撃のリスクを下げる効果があります。

現在では、オンラインバンキング、クラウドサービス、VPN、社内システムなど、幅広い場面で利用されています。特にリモートワークやクラウド移行が進むほど、「外部からのアクセスが増える」ため、ソフトウェアトークンを含む多要素認証(MFA)の重要性は高まります。

ソフトウェアトークンとハードウェアトークンの違い

ソフトウェアトークンとハードウェアトークンの違いは、OTPを生成する“実体”にあります。ハードウェアトークンは専用の物理デバイスでOTPを生成しますが、ソフトウェアトークンはスマートフォンやPCにインストールしたアプリ等でOTPを生成します。

  • 運用面:ソフトウェアトークンは配布・再発行・更新をオンラインで行える場合が多く、拠点が多い組織でも展開しやすい傾向があります。
  • コスト面:専用デバイスを配る必要がない分、初期費用を抑えやすい一方、MDM(端末管理)やサポート体制が別途必要になることもあります。
  • リスク面:ハードウェアは紛失・故障が課題になりやすく、ソフトウェアは端末の盗難・マルウェア感染・端末乗っ取りなど、端末側リスクの影響を受けます。

どちらが優れているかは一概に言えません。本人確認の強さだけでなく、配布方法、復旧手順、端末管理の成熟度など、運用まで含めて選択することが重要です。

ソフトウェアトークンの種類

ソフトウェアトークンは「OTPをどう生成・提示するか」でいくつかに分かれます。代表例は次のとおりです。

  • 時刻ベース(TOTP):時刻を“移動要素”としてOTPを生成します。多くの認証アプリが採用している方式で、原理的にはオフラインでもコードを生成できます。
  • カウンタベース(HOTP):ボタン操作や要求回数などのカウンタ値を移動要素としてOTPを生成します。サーバー側とカウンタ同期が必要になります。
  • チャレンジ&レスポンス:サーバーが出したチャレンジ(数値など)に対して、トークンがレスポンスを計算して返す方式です。取引内容の署名や高い保証を狙う設計で使われます。
  • プッシュ承認(プッシュ通知):OTP入力の代わりに、スマホへの通知を“承認する”方式です。利便性は高い一方、プッシュ爆撃(承認連打)への対策設計が重要です。

なお、「APIトークン(アクセスキー)」のようにシステム間連携で使う“文字列”は、ここでいうソフトウェアトークン(OTP生成器)とは意味が異なります。用語が混同しやすいため、設計・説明の場面では区別して扱う必要があります。

ソフトウェアトークンの利用シーン

ソフトウェアトークンは、ID・パスワードに“追加で”提示させることで本人確認を強化する用途で使われます。典型的には次のような場面です。

  • クラウドサービスの管理者ログイン、重要操作(設定変更、権限付与)
  • VPN/リモートアクセス/VDIなど、社外から社内リソースへ接続する場面
  • オンラインバンキングや決済など、金銭・個人情報に直結する取引
  • 社内システムへのログイン(人事、会計、顧客管理)

また、MFAの文脈ではソフトウェアトークンは一般に「所持(持っているもの)」の要素として扱われます。ただし、端末が共有されている、ロックが弱い、端末が乗っ取られているなどの場合は強度が落ちるため、端末管理やポリシー設計がセットで必要です。

ソフトウェアトークンの技術原理

ソフトウェアトークンがOTPを生成できる理由は、端末とサーバーが同じ秘密情報(シークレット)を共有し、同じルールで計算できるようにしているからです。サーバーは利用者が入力したOTPを、その時点で“計算上正しい値”と照合し、一致すれば本人だと判断します。

ここでは、OTPが生成される流れと、代表的な方式(時刻ベース/カウンタベース/チャレンジ&レスポンス)を整理します。

ワンタイムパスワード(OTP)の基本構造

OTPは一般に、次の要素を組み合わせて作られます。

  • 秘密情報(シークレット):利用者ごとに発行される鍵情報。漏えいするとOTPを複製できる恐れがあります。
  • 移動要素:時刻(TOTP)やカウンタ(HOTP)など、毎回変化する要素。
  • 計算方式:暗号学的ハッシュ(HMACなど)を用いて、短い数字コードへ変換します。

ポイントは、OTPの安全性は「数字が複雑だから」ではなく、秘密情報を第三者が知らないことに依存している点です。したがって、シークレットの配布(プロビジョニング)と保護が、運用の根幹になります。

時刻ベース(TOTP)の考え方

時刻ベース方式は、端末とサーバーが「現在時刻」を材料にしてOTPを計算します。時刻は一定間隔(例:30秒)ごとに区切られ、区切りが進むたびにOTPが変わる設計が一般的です。

実運用では、端末とサーバーの時刻が完全一致していなくても認証できるよう、サーバー側は前後の時間窓(許容範囲)を持って照合します。とはいえ、端末時刻が大きくずれるとログインできなくなるため、時刻同期(NTP、端末自動時刻設定)を前提にした設計が重要です。

カウンタベース(HOTP)の考え方

カウンタベース方式は、OTP生成のたびにカウンタを進め、その値を材料にOTPを計算します。物理トークンでよく見られる方式ですが、ソフトウェアでも利用できます。

この方式の課題は、端末側とサーバー側のカウンタがずれると認証できなくなる点です。そのため、サーバーが一定範囲のカウンタ値を試す、再同期手順を用意するなど、運用設計が必要になります。

チャレンジ&レスポンス方式

チャレンジ&レスポンス方式では、サーバーがチャレンジ(例:ランダム数値)を提示し、端末はそれを材料にレスポンスを計算して返します。チャレンジが毎回変わるため、固定値の使い回しが起こりにくく、取引署名のような設計にも発展させやすいのが特徴です。

一方で、利用者に「チャレンジを入力してレスポンスを返す」といった操作を求めると負担が増えるため、導入目的(高保証が必要か、利便性を優先するか)に合わせた選択が必要です。

ソフトウェアトークンの安全性を左右するポイント

ソフトウェアトークンは便利ですが、安全性は“アプリそのもの”だけで決まりません。特に次の点が重要です。

  • シークレットの保護:端末内の安全領域(セキュアエンクレーブ等)に保存できるか、バックアップや移行時に漏えいしないか。
  • プロビジョニングの確実性:QRコードやリンクで配布する場合、第三者が横取りできない設計(本人確認、通信保護、ワンタイム性)があるか。
  • 端末の防御:OSアップデート、マルウェア対策、画面ロック、脱獄・root化検知、MDMポリシーの適用。
  • 復旧手順:機種変更や紛失時に、本人であることを確認して再発行できるか(バックアップコード、ヘルプデスク手順)。

ソフトウェアトークンと情報セキュリティ

ソフトウェアトークンは、認証を強化する“部品”として大きな効果を持ちます。一方で、導入の仕方によっては「期待したほど強くならない」こともあります。ここでは、役割・メリット・デメリットを整理します。

ソフトウェアトークンの役割

ソフトウェアトークンの主な役割は、ログイン時に追加の証明材料を要求し、パスワード単体の認証を突破されにくくすることです。特に、フィッシングやパスワードリスト攻撃が一般化している状況では、OTPがあるだけで突破難易度は上がります。

ただし、フィッシングサイトにOTPまで入力させる“リアルタイム中継”の攻撃もあり得ます。そのため、リスクが高い環境では、FIDO2などのフィッシング耐性の高い方式や、アクセス元条件・リスクベース認証などと組み合わせる設計が現実的です。

ソフトウェアトークンを使用するメリット

  • 導入・配布がしやすい:物理配布が不要で、遠隔の利用者にも展開しやすい。
  • コストを抑えやすい:専用デバイス購入が不要な場合が多い。
  • 運用を更新しやすい:アプリ更新、再発行、ポリシー変更などを比較的スムーズに行える。
  • オフラインでも使える場合がある:TOTPは原理的にインターネット接続なしでもOTPを生成できます(ログイン先への接続は別です)。

ソフトウェアトークンを使用するデメリット

  • 端末依存リスク:端末の盗難・故障・バッテリー切れ・乗っ取りなどが、そのまま認証の可用性に影響します。
  • マルウェアや不正アプリの影響:端末が侵害されると、シークレットの流出やOTPの盗み見につながる恐れがあります。
  • 復旧・再発行の運用が必要:機種変更や紛失時に、本人確認して再登録する手順(バックアップコード、ヘルプデスク)が欠かせません。
  • フィッシング耐性の限界:OTPは入力型である限り、攻撃者が中継する余地が残ります。

ソフトウェアトークンのセキュリティ対策

ソフトウェアトークンの効果を最大化するには、次のような対策をセットで検討します。

  • 端末ポリシー:OS更新の強制、画面ロック、root/脱獄端末の拒否、MDM適用。
  • 登録手順の強化:初期登録時の本人確認、登録リンクの短時間有効化、登録端末の制限。
  • 復旧手順の整備:バックアップコード配布、再登録の本人確認(複数要素で確認)、緊急時の代替経路。
  • 運用監視:不審なログイン試行、短時間の大量失敗、地理的に不自然なアクセスなどの検知。

ソフトウェアトークンとビジネスへの影響

ソフトウェアトークンは「セキュリティ対策」だけでなく、運用効率や監査対応にも影響します。導入の狙いを、現場の課題と結び付けて考えることが重要です。

ソフトウェアトークンのビジネス活用例

リモートワークやクラウド利用が増えると、社外からのアクセスが標準になります。たとえばVPNやクラウドの管理画面にMFAを必須化するだけでも、攻撃の成功確率を下げられます。

また、社内システムの重要操作(権限付与、データ出力、設定変更)に対して追加認証を要求すれば、内部不正やアカウント乗っ取りの影響を抑える設計にもつながります。

ソフトウェアトークンによる運用の効率化

ソフトウェアトークンは、物理配布が不要で、再発行や利用停止などのライフサイクル管理も比較的しやすい傾向があります。拠点が分散している組織でも、配布・回収の手間を減らしやすい点はメリットです。

一方で、端末紛失や機種変更の問い合わせは必ず発生します。ヘルプデスクが迷わないように、再発行の本人確認や手順を標準化しておくと、結果として運用コストを抑えやすくなります。

ソフトウェアトークンとコンプライアンス

多くの基準やガイドラインでは、「重要なアクセスに対して強い本人確認を求める」ことが求められます。ソフトウェアトークンによるMFAは、この要求に対する実装手段の一つになり得ます。

ただし、監査で問われやすいのは「導入したか」だけでなく、例外運用(どうしても使えない利用者への扱い)や、復旧手順(本人確認の妥当性)ログの保全です。トークンの導入と合わせて、運用規程や記録の整備も必要になります。

ソフトウェアトークンの将来性

今後も認証は強化されていく一方で、利用者の負担が増える設計は定着しにくい傾向があります。そのため、ソフトウェアトークンは、プッシュ承認や生体認証、端末の安全性判定などと組み合わせながら、利便性と安全性のバランスを取りつつ活用されていくと考えられます。

ただし「高度化=万能」ではありません。攻撃側も手口を変えるため、導入後もログ監視・例外運用・教育を含めた継続改善が前提になります。

ソフトウェアトークンの実装と管理

ソフトウェアトークンの導入では、アプリを配るだけでは終わりません。登録(プロビジョニング)、端末変更、紛失時復旧、利用停止など、ライフサイクル全体を設計して初めて“運用できる認証”になります。

ソフトウェアトークンの実装手順

導入時は、少なくとも次の手順を押さえる必要があります。

  1. 対象範囲の決定:どのシステムにMFAを必須化するか(管理者のみ/全員/社外アクセスのみ等)。
  2. 方式の選定:TOTP、プッシュ承認、チャレンジ&レスポンスなど、求める強度と利便性のバランスを決めます。
  3. 登録(プロビジョニング)設計:QRコード配布、初回ログイン時登録、管理者による配布など、横取りされない流れを設計します。
  4. 例外・代替の設計:端末を持てない利用者、海外出張、端末故障などの例外運用を決めます(バックアップコード等)。
  5. テストと段階展開:一部部門で検証し、問い合わせ傾向を見て手順を固めてから全社展開します。

ソフトウェアトークンの管理方法

運用では、次の管理項目が重要です。

  • 利用者のライフサイクル:入社・異動・退職に伴う登録/解除、権限変更の即時反映。
  • 端末変更・紛失対応:再登録フロー、本人確認の方法、サポート窓口の手順書。
  • 利用状況の可視化:MFA未登録者、例外適用者、失敗が多い利用者などの把握。
  • ログの保全:認証ログ、管理操作ログを監査・インシデント対応に使える形で保存。

ソフトウェアトークンのセキュリティ維持

継続運用の観点では、次の“当たり前”を守れるかが重要です。

  • 端末の更新:OS・アプリのアップデート、脆弱性対策の徹底。
  • 不正兆候の検知:失敗連続、深夜帯の異常、普段と異なる場所・端末からのアクセスなどの監視。
  • 例外の棚卸し:一時的に外したMFA要件が放置されないよう、期限付きで管理する。

ソフトウェアトークンの継続的な改善

導入後は「問い合わせ」「失敗理由」「例外の発生パターン」を見ながら改善します。たとえば、再登録手順の簡素化、バックアップコード運用の見直し、プッシュ承認への移行検討などが対象になります。

重要なのは、利便性の改善が“セキュリティ低下”にならないことです。手順を短くする場合でも、本人確認の品質やログの確保といった守るべき点は残し、現場で回る形に整えていきます。

まとめ

ソフトウェアトークンは、スマートフォンやPC上でOTPを生成し、本人確認を強化するための仕組みです。パスワードだけに依存した認証よりも不正ログインを防ぎやすく、リモートワークやクラウド利用が進む環境では、実務的に有効な選択肢になり得ます。

一方で、効果は「導入したか」だけで決まりません。シークレットの保護、登録手順、端末管理、紛失時復旧、例外運用、ログ監視まで含めて設計して初めて、現実のセキュリティ向上につながります。自社のリスクと運用体制を踏まえ、方式選定と運用設計をセットで進めることが重要です。

Q.ソフトウェアトークンとは何ですか?

スマートフォンやPC上でワンタイムパスワード(OTP)を生成し、ログイン時の本人確認を強化する仕組みです。

Q.ハードウェアトークンとの違いは何ですか?

ハードウェアは専用の物理デバイスでOTPを生成し、ソフトウェアはスマホやPCのアプリでOTPを生成します。

Q.TOTPとHOTPはどう違いますか?

TOTPは時刻を基にOTPを生成し、HOTPはカウンタ(回数)を基にOTPを生成します。

Q.TOTPはインターネット接続がないと使えませんか?

OTPの生成自体はオフラインでも可能ですが、認証先へ接続できないとログイン手続きは進められません。

Q.ソフトウェアトークンの安全性は何に依存しますか?

秘密情報(シークレット)の保護、登録手順の確実性、端末の安全性、紛失時の復旧手順などの運用設計に大きく依存します。

Q.OTPを使っていてもフィッシング被害は起きますか?

起きる可能性があります。攻撃者がOTPをリアルタイムに中継する手口もあるため、追加対策と組み合わせが重要です。

Q.端末を紛失した場合はどうなりますか?

再発行や再登録が必要になります。バックアップコードや本人確認を含む復旧手順を事前に用意しておくことが重要です。

Q.導入時に最初に決めるべきことは何ですか?

対象システムと必須化範囲、採用方式(TOTPなど)、登録手順、例外運用と復旧手順の設計が優先事項です。

Q.ソフトウェアトークンの運用でよくある落とし穴は何ですか?

例外運用の放置、本人確認が弱い再発行、端末ポリシー未整備、ログを活用できない運用設計が典型的な落とし穴です。

Q.プッシュ承認はOTPより安全ですか?

利便性は高い一方で、承認連打への耐性など設計次第です。利用環境に合わせた方式選定が必要です。

記事を書いた人

ソリトンシステムズ・マーケティングチーム