セキュリティトークンはオンラインバンキングなど、極めて高い安全性が求められるWebサイトのアクセス時に利用され、高い安全性と利便性を両立させることを可能とする。この記事では、セキュリティトークンの種類と使用方法、そして実際の活用事例などを通してそのメリットや特徴を解説していく。
セキュリティトークンとは
セキュリティトークンとはワンタイムパスワードを発行するための小さなハードウェアで、ハードウェアトークンと呼ばれることもある。ワンタイムパスワードにも、いくつかの方式があるが、セキュリティトークンで発行されるワンタイムパスワードは、時刻同期方式(詳細は後述)と呼ばれる方式が主に採用されている。セキュリティトークンのメリットは「トークンごとに異なる情報を保持している」ということであり、セキュリティトークンの所有という行為がセキュリティの強化を担保することになる。このような方式は「所有認証」と呼ばれる。
ワンタイムパスワードとは、その名の通り、毎回あるいは一定時間ごとに変更されるパスワードを使うことで、セキュリティを高める仕組みである。セキュリティトークンを使わずとも、メールや電話でワンタイムパスワードを受け取るという方法もある。しかし、サービスにログインしようとするたびに、メールや電話でワンタイムパスワードを問い合わせなくてはならないというのはユーザーに負担となる。
セキュリティトークンを用いれば、場所や時間を問わずトークンのボタンを押すだけでワンタイムパスワードが発行され、利便性が大きく向上する。この点からも、ワンタイムパスワードを使う際にセキュリティトークンが使われている。
なお、暗号通貨の分野において、ブロックチェーン上で発行した証券の性質を有するトークンをセキュリティトークン(電子記録移転権利)と呼ぶことがあるが、この記事ではその意味としてではなく、ワンタイムパスワードを発行するハードウェアとして説明する。
セキュリティトークンを用いたワンタイムパスワードの発行と二段階認証
通常、セキュリティトークンで発行されるワンタイムパスワードは二段階認証で利用される。2020年に立て続けに発生したネット系金融サービスにおける不正アクセスなどを受け、金融などの重要度の高いサービスにおける二段階認証の必要性は世間でも認知されつつある。
二段階認証はその名の通り、二段階で認証を行う方式のことであり、第一段階として一般的なパスワードで認証、その次にワンタイムパスワードなどで認証という手順を踏む。オンラインバンキングの場合、ログイン自体は通常のIDとパスワードだけで認証を行い、口座から外部に振り込みを行う場合に限定してワンタイムパスワードを要求するようなものもある。
二段階認証と似た言葉に、二要素認証がある。二段階認証は「二つの段階に分けて認証を行う」もので、二要素認証は「二つの異なった『要素』を使って認証を行う」ものとなる。二要素認証における要素とは「知識認証」、「所有認証」、「生体認証」の三つであり、このうち異なる二つを用いることで、二要素での認証を実現する。
銀行での手続きを例に解説しよう。通常、銀行のATMではキャッシュカードと暗証番号を求められるが、キャッシュカードは「所有認証」、暗証番号は「知識認証」となり、二要素認証となっている。また、セキュリティトークンを用いて認証を行う場合も同様に、パスワードを知っているという知識による認証とセキュリティトークンを所持していることによる認証を組み合わせた二要素認証となる。そして、二つの段階を踏むという側面もあるため、二段階認証でもある。
どちらの言葉も該当する場合が少なくないが、二段階認証がすべて二要素認証であるとは限らない。例えば、通常のパスワードを二つ使って、第一パスワードで認証後、さらに第二パスワードで認証するといった仕組みの場合、二段階認証ではあるが、どちらも「知識認証」なので、要素としては一つとなる。詳しくは以下の記事を参考にしてほしい。
ワンタイムパスワードの二つの方式
ワンタイムパスワードは有効期限を設定し、毎回変わることで安全性を確保する。ワンタイムパスワードは、「時刻同期方式」と「チャレンジレスポンス方式」の二つに大別できる。
時刻同期方式
時刻同期方式は「Time-based One-Time Password」の頭文字から「TOTP方式」とも呼ばれる。ワンタイムパスワードを生成するための情報として「時刻」を使い、セキュリティトークンを利用することが特徴である。時刻情報をセキュリティトークンと認証を行うサーバーの双方が持ち、お互いの時刻を同期させる。ワンタイムパスワードを生成する場合、生成時点の時刻にユーザーごとに異なる乱数発生キーを加えたものをシード値として計算を行う。認証サーバー側でも同様の計算を行い、送られてきたワンタイムパスワードと照合することで認証を行う。時刻同期方式のワンタイムパスワードの有効期限は30秒から1分程度と極めて短く、期限を過ぎると新たなパスワードが求められる。
チャレンジレスポンス方式
チャレンジレスポンス方式ではユーザーが入力すべきパスワードを認証サーバーとのやりとりによって、その都度生成する。具体的な認証の流れは次のようになる。
- ユーザーが認証サーバーに対してユーザーIDを送信する。
- 認証サーバーがユーザーに対してランダムなコードを返送する。
- コードを受信したユーザーはそのコードをもとに、専用プログラムでパスワードを生成し、サーバーに送信する。
- 認証サーバー側でも同じ専用プログラムでパスワードを生成し、ユーザーから送信されたパスワードと照合して認証を行う。
チャレンジレスポンス方式の場合、セキュリティトークンは不要なものの、厳密には二要素認証とはならないため、時刻同期方式に比べるとセキュリティの強度は落ちることになる。
セキュリティトークンの種類
セキュリティトークンはその形状によって「キーホルダー型」、「カード型」、「電卓型」に分けることができる。
キーホルダー型
コンパクトなキーホルダー型のセキュリティトークンで、液晶画面とボタンを備えており、ボタンを押すことでワンタイムパスワードが表示される。電池の寿命は3~7年程度とされる。
カード型
クレジットカードのような形状をした薄型のセキュリティトークンで、財布などに入れて持ち歩きやすいことがメリット。キーホルダー型と同様に、ボタンを押すことでワンタイムパスワードが表示される。キーホルダー型以上に携帯性に優れるため、キーホルダー型からの移行が進んでいる。電池の寿命は3~10年程度(液晶画面などの寿命により異なる)とされる。
電卓型
電卓のような形状で、テンキーのような数字入力機能を備えたセキュリティトークン。セキュリティトークン自体に暗証番号を設定できるため、本体だけで二要素認証(知識認証と所有認証)が可能となる。
セキュリティトークンの活用例
セキュリティトークンを活用している代表的なサービスとして挙げられるのが、オンラインバンキングや証券会社のオンライントレードだ。
ネット専業銀行
このネット専業の銀行では、2006年から口座保有者に対して無料でキーホルダー型セキュリティトークンを配布。ワンタイムパスワードを採用することでセキュリティを高めている。さらに2016年には極めて薄型のカード型セキュリティトークンを導入するなど、国内でも先駆けの存在である。近年、キーホルダー型セキュリティトークンの配布を順次終了し、カード型セキュリティトークンに移行している。
大手銀行
この大手銀行では、電卓型のセキュリティトークン「ワンタイムパスワードカード」を採用している。ただし、機能としては有しているものの、数字キーは基本的に使われず、セキュリティトークン自体に暗証番号をかけることはできない。
金融機関以外でも大手ゲーム会社が同社のアカウントサービスの認証にワンタイムパスワードを導入し、キーホルダー型セキュリティトークンを販売しているといった事例もある。
スマホアプリによるソフトウェアトークンに移行する企業も
セキュリティトークンはセキュリティの向上に有効な対策の一つであるが、ハードウェア配布のコストや紛失のリスクがデメリットでもある。そのため最近では、銀行などを中心にセキュリティトークンの機能をスマホアプリで提供するケースが増えている。
先に紹介したネット専業銀行や大手銀行、ゲーム会社でもセキュリティトークンの代わりとなるスマホアプリを提供している。こうしたスマホアプリによるワンタイムパスワードの生成は、ソフトウェアトークンとも呼ばれる。オンラインバンキングの場合、スマホでの利便性を高めるために専用アプリを提供しているところが多いが、最近ではそうした専用アプリにソフトウェアトークン機能が統合されることが増えている。
ソフトウェアトークンは、先述のハードウェア配布時の費用面の問題を解消するだけでなく、事業者側としては紛失時の再発行といった煩雑な手続きから開放される点も大きなメリットとなる。スマホの所有率も年々向上していることもあり、これまでハードウェアを配布していた事業者でもソフトウェアトークンに切り替えていくことが予想される。ハードウェアとしてのセキュリティトークンは、極めて高い安全性などが求められるため、一部のサービスのみが利用するようになっていくのかもしれない。