ソフトウェアトークンとは、スマートフォンやPCなどのデバイス上で動作し、一時的に有効な認証コード(ワンタイムパスワード:OTP)を生成する仕組み(アプリケーション/機能)を指します。ログイン時にID・パスワードに加えてOTPの入力を求めることで、パスワードが漏えいしても第三者が突破しにくい状態を作れます。
多くのソフトウェアトークンは、あらかじめ利用者ごとに発行された秘密情報(シークレット)と、時刻や回数といった条件を材料にしてOTPを生成します。OTPは短時間で変化し、同じコードを長く使い回せないため、盗み見やリプレイ(再送)攻撃のリスクを下げる効果があります。
現在では、オンラインバンキング、クラウドサービス、VPN、社内システムなど、幅広い場面で利用されています。特にリモートワークやクラウド移行が進むほど、「外部からのアクセスが増える」ため、ソフトウェアトークンを含む多要素認証(MFA)の重要性は高まります。
ソフトウェアトークンとハードウェアトークンの違いは、OTPを生成する“実体”にあります。ハードウェアトークンは専用の物理デバイスでOTPを生成しますが、ソフトウェアトークンはスマートフォンやPCにインストールしたアプリ等でOTPを生成します。
どちらが優れているかは一概に言えません。本人確認の強さだけでなく、配布方法、復旧手順、端末管理の成熟度など、運用まで含めて選択することが重要です。
ソフトウェアトークンは「OTPをどう生成・提示するか」でいくつかに分かれます。代表例は次のとおりです。
なお、「APIトークン(アクセスキー)」のようにシステム間連携で使う“文字列”は、ここでいうソフトウェアトークン(OTP生成器)とは意味が異なります。用語が混同しやすいため、設計・説明の場面では区別して扱う必要があります。
ソフトウェアトークンは、ID・パスワードに“追加で”提示させることで本人確認を強化する用途で使われます。典型的には次のような場面です。
また、MFAの文脈ではソフトウェアトークンは一般に「所持(持っているもの)」の要素として扱われます。ただし、端末が共有されている、ロックが弱い、端末が乗っ取られているなどの場合は強度が落ちるため、端末管理やポリシー設計がセットで必要です。
ソフトウェアトークンがOTPを生成できる理由は、端末とサーバーが同じ秘密情報(シークレット)を共有し、同じルールで計算できるようにしているからです。サーバーは利用者が入力したOTPを、その時点で“計算上正しい値”と照合し、一致すれば本人だと判断します。
ここでは、OTPが生成される流れと、代表的な方式(時刻ベース/カウンタベース/チャレンジ&レスポンス)を整理します。
OTPは一般に、次の要素を組み合わせて作られます。
ポイントは、OTPの安全性は「数字が複雑だから」ではなく、秘密情報を第三者が知らないことに依存している点です。したがって、シークレットの配布(プロビジョニング)と保護が、運用の根幹になります。
時刻ベース方式は、端末とサーバーが「現在時刻」を材料にしてOTPを計算します。時刻は一定間隔(例:30秒)ごとに区切られ、区切りが進むたびにOTPが変わる設計が一般的です。
実運用では、端末とサーバーの時刻が完全一致していなくても認証できるよう、サーバー側は前後の時間窓(許容範囲)を持って照合します。とはいえ、端末時刻が大きくずれるとログインできなくなるため、時刻同期(NTP、端末自動時刻設定)を前提にした設計が重要です。
カウンタベース方式は、OTP生成のたびにカウンタを進め、その値を材料にOTPを計算します。物理トークンでよく見られる方式ですが、ソフトウェアでも利用できます。
この方式の課題は、端末側とサーバー側のカウンタがずれると認証できなくなる点です。そのため、サーバーが一定範囲のカウンタ値を試す、再同期手順を用意するなど、運用設計が必要になります。
チャレンジ&レスポンス方式では、サーバーがチャレンジ(例:ランダム数値)を提示し、端末はそれを材料にレスポンスを計算して返します。チャレンジが毎回変わるため、固定値の使い回しが起こりにくく、取引署名のような設計にも発展させやすいのが特徴です。
一方で、利用者に「チャレンジを入力してレスポンスを返す」といった操作を求めると負担が増えるため、導入目的(高保証が必要か、利便性を優先するか)に合わせた選択が必要です。
ソフトウェアトークンは便利ですが、安全性は“アプリそのもの”だけで決まりません。特に次の点が重要です。
ソフトウェアトークンは、認証を強化する“部品”として大きな効果を持ちます。一方で、導入の仕方によっては「期待したほど強くならない」こともあります。ここでは、役割・メリット・デメリットを整理します。
ソフトウェアトークンの主な役割は、ログイン時に追加の証明材料を要求し、パスワード単体の認証を突破されにくくすることです。特に、フィッシングやパスワードリスト攻撃が一般化している状況では、OTPがあるだけで突破難易度は上がります。
ただし、フィッシングサイトにOTPまで入力させる“リアルタイム中継”の攻撃もあり得ます。そのため、リスクが高い環境では、FIDO2などのフィッシング耐性の高い方式や、アクセス元条件・リスクベース認証などと組み合わせる設計が現実的です。
ソフトウェアトークンの効果を最大化するには、次のような対策をセットで検討します。
ソフトウェアトークンは「セキュリティ対策」だけでなく、運用効率や監査対応にも影響します。導入の狙いを、現場の課題と結び付けて考えることが重要です。
リモートワークやクラウド利用が増えると、社外からのアクセスが標準になります。たとえばVPNやクラウドの管理画面にMFAを必須化するだけでも、攻撃の成功確率を下げられます。
また、社内システムの重要操作(権限付与、データ出力、設定変更)に対して追加認証を要求すれば、内部不正やアカウント乗っ取りの影響を抑える設計にもつながります。
ソフトウェアトークンは、物理配布が不要で、再発行や利用停止などのライフサイクル管理も比較的しやすい傾向があります。拠点が分散している組織でも、配布・回収の手間を減らしやすい点はメリットです。
一方で、端末紛失や機種変更の問い合わせは必ず発生します。ヘルプデスクが迷わないように、再発行の本人確認や手順を標準化しておくと、結果として運用コストを抑えやすくなります。
多くの基準やガイドラインでは、「重要なアクセスに対して強い本人確認を求める」ことが求められます。ソフトウェアトークンによるMFAは、この要求に対する実装手段の一つになり得ます。
ただし、監査で問われやすいのは「導入したか」だけでなく、例外運用(どうしても使えない利用者への扱い)や、復旧手順(本人確認の妥当性)、ログの保全です。トークンの導入と合わせて、運用規程や記録の整備も必要になります。
今後も認証は強化されていく一方で、利用者の負担が増える設計は定着しにくい傾向があります。そのため、ソフトウェアトークンは、プッシュ承認や生体認証、端末の安全性判定などと組み合わせながら、利便性と安全性のバランスを取りつつ活用されていくと考えられます。
ただし「高度化=万能」ではありません。攻撃側も手口を変えるため、導入後もログ監視・例外運用・教育を含めた継続改善が前提になります。
ソフトウェアトークンの導入では、アプリを配るだけでは終わりません。登録(プロビジョニング)、端末変更、紛失時復旧、利用停止など、ライフサイクル全体を設計して初めて“運用できる認証”になります。
導入時は、少なくとも次の手順を押さえる必要があります。
運用では、次の管理項目が重要です。
継続運用の観点では、次の“当たり前”を守れるかが重要です。
導入後は「問い合わせ」「失敗理由」「例外の発生パターン」を見ながら改善します。たとえば、再登録手順の簡素化、バックアップコード運用の見直し、プッシュ承認への移行検討などが対象になります。
重要なのは、利便性の改善が“セキュリティ低下”にならないことです。手順を短くする場合でも、本人確認の品質やログの確保といった守るべき点は残し、現場で回る形に整えていきます。
ソフトウェアトークンは、スマートフォンやPC上でOTPを生成し、本人確認を強化するための仕組みです。パスワードだけに依存した認証よりも不正ログインを防ぎやすく、リモートワークやクラウド利用が進む環境では、実務的に有効な選択肢になり得ます。
一方で、効果は「導入したか」だけで決まりません。シークレットの保護、登録手順、端末管理、紛失時復旧、例外運用、ログ監視まで含めて設計して初めて、現実のセキュリティ向上につながります。自社のリスクと運用体制を踏まえ、方式選定と運用設計をセットで進めることが重要です。
スマートフォンやPC上でワンタイムパスワード(OTP)を生成し、ログイン時の本人確認を強化する仕組みです。
ハードウェアは専用の物理デバイスでOTPを生成し、ソフトウェアはスマホやPCのアプリでOTPを生成します。
TOTPは時刻を基にOTPを生成し、HOTPはカウンタ(回数)を基にOTPを生成します。
OTPの生成自体はオフラインでも可能ですが、認証先へ接続できないとログイン手続きは進められません。
秘密情報(シークレット)の保護、登録手順の確実性、端末の安全性、紛失時の復旧手順などの運用設計に大きく依存します。
起きる可能性があります。攻撃者がOTPをリアルタイムに中継する手口もあるため、追加対策と組み合わせが重要です。
再発行や再登録が必要になります。バックアップコードや本人確認を含む復旧手順を事前に用意しておくことが重要です。
対象システムと必須化範囲、採用方式(TOTPなど)、登録手順、例外運用と復旧手順の設計が優先事項です。
例外運用の放置、本人確認が弱い再発行、端末ポリシー未整備、ログを活用できない運用設計が典型的な落とし穴です。
利便性は高い一方で、承認連打への耐性など設計次第です。利用環境に合わせた方式選定が必要です。