セキュリティトークン

セキュリティトークン（ハードウェアトークン、認証トークン、暗号トークン）とは、コンピュータサービスの利用権限のある利用者に、認証の助けとなるよう与えられる物理的な装置のことである。
概要.
セキュリティトークン（ハードウェアトークン）の多くはポケットや財布に入れて持ち運べる程のサイズで、利用者のキーチェーンにつけられるように設計されているものもある。
カードサイズのトークンには、暗証番号を入力するための小さいキーパッドや、ワンタイムパスワードを表示する小さな表示部を備えるものもある。また、USB端子に挿入して使用するものもあり、その場合は市販のUSBメモリのような小型のものが多い。
トークン内部には、デジタル署名の署名鍵（暗号鍵）や指紋のような生体認証のためのテンプレート情報などを記憶するものがある。トークン内部に秘密情報を格納する場合には、を有するパッケージに収めるように設計されているものもある。
トークンの実装例.
トークンには、とてもシンプルなものから複数の認証方式を含む複雑なものまである。多数のベンダが各々独自の製品を提供していて特許を受けているものも多い。
デジタル署名.
デジタル署名が通常の手書きの署名のように信用されるためには、署名を作ることを認可されている利用者だけがデジタル署名を生成する署名鍵にアクセスできることが満たされている必要がある。署名鍵の生成と保管をトークン内部で行えることは、安全なデジタル署名を可能にし、また署名鍵は利用者の識別情報の証明にも使えるので、ユーザ認証にも使用することができる。
トークンを使って利用者を識別するためには、すべてのトークンがある種のユニークなナンバーを持たねばならない。法律では、基金が振り込まれる銀行の口座番号に基づく銀行業務を認証する場合などのケースでは、トークンにキーボードなどのユーザインタフェースを持たないものは、デジタル署名に使用することができない。
シングルサインオンソフトウェア.
enterprise single sign-onのような、いくつかのタイプのシングルサインオンソリューションにおいては、シームレスな認証やpassword filling（パスワードを自動的に埋める機能）をもつソフトウェアを格納するのにトークンを利用する。パスワードはトークンに格納されているので、利用者はパスワードを記憶する必要がなく、そのため、より安全なパスワードを選択することも、より安全なパスワードを割り当てられることも可能である。
ワンタイムパスワード.
ワンタイムパスワードには、ログイン毎に変化するタイプと、設定した時間が経過したあとに変化するタイプがある。
ログイン毎に変化するワンタイムパスワード.
ログイン毎に変化するタイプのワンタイムパスワードには、秘密の共有鍵を初期値として、前のパスワードから新しいパスワードを生成するために、暗号論的なハッシュ関数のような複雑な数学的アルゴリズムを利用するものがある。
オープンソースのOATHアルゴリズムは標準化されているが、他のアルゴリズムは米国の特許になっている。
時間同期ワンタイムパスワード.
時間同期ワンタイムパスワードは設定した時間間隔（例：1分）ごとに絶え間なく変化する。このためには、クライアントのトークンと認証サーバはある種の同期が存在しなくてはならない。非接続型のトークンは、トークンがクライアントに配布される前にこの時間同期は完了しており、ほかのタイプのトークンは、トークンが入力デバイスに挿入されたときに同期を行う。
トークンのタイプ.
Bluetooth型トークン.
Bluetoothで通信可能なタイプ。USB端子もついていることが多く、Bluetoothが利用できない時でもUSBを介して通信をすることができる。
携帯電話.
T-FAツールの新しいカテゴリーにより、PCユーザーの携帯電話をトークンデバイスに変換することができる。セキュリティトークンが携帯電話にインストールされているか、SMSメッセージ交換を使うか、あるいは対話型の電話通信を起こすか、あるいは http あるいは https のような標準的なインターネット・プロトコルを使うことで携帯電話認証トークンになり得る。
このような方法は、実装を単純化してロジスティクスのコストを削減し、そして別途ハードウェアトークン装置を導入しなくて済む。SMSを用いる場合は、テキストメッセージやWAP/HTTPサービスのために料金が発生するかもしれないが、バンド外の認証解決はPCベースのキーロガーのような脅威に対抗することができる。無線ベースの一回限りのパスワードシステムはトークンとまったく同じような中間者攻撃を受けやすい。中間者攻撃を阻止するためには強い相互認証が必要である。また一部の企業は、標準的なクレジットカードにセキュリティのトークンを取り入れることに成功している。
非接続型トークン.
現在、最も普及しているタイプ。他に機器が不要というメリットがあるが、一方でバッテリーの寿命が10年間使用できるUSB型と比べて3〜5年と短い。費用を抑えるため、バッテリーのみを交換できるタイプもある。
PCカード型トークン.
ノートパソコン用のトークン。厚さの薄いType IIのPCカードがよく用いられる。
スマートカード型トークン.
スマートカード型トークンは他のタイプと比べて費用が安いが、その半面、耐久性が弱いため、寿命が短い。
USB型トークン.
コンピューターでの接続規格として普及しているUSB端子を使ったトークン。費用が安く、特別な機器が不要なのが特徴。
主要メーカーの製品:
スマートカード・USB型トークン.
スマートカード・USB型は、スマートカードチップを備え、スマートカード・USBの両方で通信できる。幅広いセキュリティーに対応し、特別な機器が不要。また、スマートカード本来の機能、セキュリティーを使用できるのも特徴である。OS側から見ると、このトークンは「USBで接続された、スマートカードを内蔵するスマートカードリーダー」ということになる。
主要メーカーの製品:　
その他.
特殊な用途を持っていたり、写真つきIDカードとして使用できたりするものもあり、携帯電話やPDAをセキュリティートークンとして使用することもできる。また、Booleansoftはおよそクレジットカード大のCDトークンを提供している。
関連技術.
エンタープライズ・シングル・サインオン.
一部のエンタープライズ・シングル・サインオン (E-SSO) ソリューションではセキュリティートークンを使用している。
二要素認証 (T-FA).
セキュリティートークンは、二要素認証および多要素認証ソリューションにおいて「what you have」コンポーネントを提供する。
使用方法.
もっともシンプルなセキュリティートークンはコンピュータへの接続を必要としない。クライアントは、要求されたときにトークンに表示されている数字（通常はユーザーIDも）を入力するだけである。そうでないものは、Bluetoothのような無線技術でコンピュータに接続する。また別のものはコンピュータに挿入する。この場合は、：
すると、トークンのタイプに応じてコンピュータのOSは以下の動作をする：
トークンに関連した応用例の一つとしてハードウェアドングル (dongle) があり、これはソフトウェアの所有権があることを立証するために一部のコンピュータプログラムが必要とするものである。ドングルを入力機器に装着すると、そのソフトウェアは、問題のソフトウェアの使用を認可するためのI/O装置にアクセスする。