監修:飛天ジャパン株式会社
ワンタイムパスワードトークンとは
ワンタイムパスワードトークン (英: One-Time Password Token) とは、一度だけ有効なパスワードを使用してセキュリティを向上させるデバイスまたはソフトウェアです。
OTPトークンとも呼ばれ、通常は短い数字列や文字列で構成され、ログインなどの際に使用されます。OTPトークンはこのワンタイムパスワードを生成するためのデバイスやアプリケーションです。
ワンタイムパスワードは一度だけ有効で再利用ができないため、盗難や漏洩からのリスクが低減し、従来の固定パスワードよりもセキュリティ性が高いです。主に多要素認証の一要素として使用されることが多く、アカウントへの不正アクセスをより困難にします。
また、ユーザーが同じパスワードを複数のサービスで使い回すことにより、なりすましの被害が多く発生しております。ワンタイムパスワードは一度しか使用できないためセキュリティを強制的に向上させます。
ワンタイムパスワードトークンの使用用途
ワンタイムパスワードトークンの主要な使用用途は下記の通りです。
1. WebやOSログオンの認証強化
様々なオンライン (Web) サービスやWindowsOSではIDとパスワードを使って自身のアカウントにログインします。ワンタイムパスワード認証を追加することでセキュリティを大幅に向上します。
ワンタイムパスワード認証に対応したWebサービスではハードウェアトークンやスマホアプリで生成したパスワードで認証することでなりすましの被害を未然に防止します。OSログインについても認証ソリューションを導入することで、同様にワンタイムパスワードにて認証強化を実現します。
2. ネットバンキング
ネットバンキングサービスでは、銀行口座のセキュリティを強化するためにワンタイムパスワードトークンが使用されます。
ユーザーがログインや振り込みをする際に、あらかじめ顧客と紐づけを行ったハードウェアトークンやスマホアプリなどで生成したワンタイムパスワードを使用して入力させる仕組みです。このワンタイムパスワードを入力しない限りログインができず、銀行口座への不正なアクセスから顧客を守ることが可能です。
3. 仮想プライベートネットワーク (VPN)
リモートワークなどで社内ネットにアクセスが必要な場合、VPN接続のセキュリティを強化するためにワンタイムパスワードトークンが使用されます。ユーザーはVPNへのアクセスを試みるとき、ワンタイムパスワードを生成して入力を求める仕組みです。これにより、不正なユーザーがネットワークにアクセスするのを防ぎ、セキュリティを向上させます。
ワンタイムパスワードトークンの原理
ワンタイムパスワードトークンの原理は、数学的なアルゴリズムや暗号学的な手法を使用して一度だけ有効なパスワードを生成する仕組みです。
まずはユーザーまたはデバイスにワンタイムパスワードを生成するための初期シード値またはシークレットキーが割り当てられます。このシード値はランダムな方法で生成され、ユーザーとサーバーなどの認証機関によって共有されます。この初期値を基にワンタイムパスワードを生成する仕組みです。
ワンタイムパスワードトークンは、タイムまたはイベントに基づいて生成されます。タイムベースのトークンは一定の時間 (60秒) 間隔ごとに新しいワンタイムパスワードを生成するアルゴリズムです。イベントベースのトークンはユーザー認証ごとに内部イベントを増加させ、そのイベントに基づいて新しいパスワードを生成します。
ユーザーとサーバは共有シークレットキーと、タイムまたはイベント情報を使用してワンタイムパスワードを生成します。ユーザーとサーバ間で検証するために、タイムやイベントを同期することが必要です。ユーザー側の認証要求に対し、サーバ側で合致を確認後、認証を許可することでセキュリティを強化します。
ワンタイムパスワードトークンの選び方
ワンタイムパスワードトークンを選ぶ際に考慮すべき要因はいくつかあります。以下は、ワンタイムパスワードトークンを選ぶ際に考慮すべき重要な要素です。
1. 種類
ワンタイムパスワードトークンには、ハードウェアトークンとソフトウェアトークンの2種類が存在します。
ハードウェアトークンは物理デバイスとして提供され、通常はキーチェーンやカード形式のデバイスです。物理的な要素のため、トークンが盗難されにくいです。ただし、ソフトウェアトークンに比べてコストがかかることがあります。
ソフトウェアトークンはアプリケーションとして使用されるトークンです。デバイス上にソフトウェアをインストールして使用します。コストが低いことが多い反面、デバイスが盗まれるとセキュリティが脅かされる可能性があります。
2. 信頼性
セキュリティ要件に応じて、トークンのセキュリティ機能を評価することが必要です。特に高度なセキュリティが必要な場合は、国際規格のOATH TOTP (RFC6238) に準拠した信頼性の高いハードウェアトークンで検討することが重要です。
3. 使用感覚
ユーザーがトークンを簡単に使用できるかどうかも重要です。ソフトウェアトークンは多くのユーザーにとって使いやすい必要があります。実際に使う現場での使用感を確認し、ユーザーに有利な方式を選びます。一般的にハードウェアトークンはボタンをクリックするだけで利用できるため、スマホアプリの起動等が必要なソフトウェアトークンより容易に使える傾向があります。
本記事はワンタイムパスワードトークンを製造・販売する飛天ジャパン株式会社様に監修を頂きました。
飛天ジャパン株式会社の会社概要はこちら