(57)【要約】【課題】外部機器から多数のＵＳＢ型トークンに多量のデータを速やかに書き込む。【解決手段】アンテナに接続して非接触近接通信を行う通信インターフェース回路と、前記通信インターフェース回路に接続しデータを送受する演算集積回路と記憶回路を有し、前記演算集積回路が前記記憶回路に記憶した非接触近接通信のプロトコルを生成する手段と、プログラム読み込み手段を有し、前記プログラム読み込み手段が、外部機器から非接触近接通信により、少なくともワンタイムパスワード作成プログラムと時刻修正プログラムとを受信し前記記憶回路に記憶し、前記時刻修正プログラムが外部機器から非接触近接通信により時刻データを受信し内部時計の時刻を修正する処理を行ない、前記ワンタイムパスワード作成プログラムがワンタイムパスワードのデータを作成し非接触近接通信により前記外部機器に送信する処理を行なう。【選択図】図２
2011002994.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢ端子部を備えたＵＳＢ型トークンであって、アンテナに接続して非接触近接通信を行う通信インターフェース回路と、前記通信インターフェース回路に接続しデータを送受する演算集積回路と記憶回路を有し、前記演算集積回路が前記記憶回路に記憶した非接触近接通信のプロトコルを生成する手段と、プログラム読み込み手段を有し、前記プログラム読み込み手段が、外部機器から非接触近接通信により、少なくともワンタイムパスワード作成プログラムと時刻修正プログラムとを受信し前記記憶回路に記憶し、前記時刻修正プログラムが外部機器から非接触近接通信により時刻データを受信し内部時計の時刻を修正する処理を行ない、前記ワンタイムパスワード作成プログラムがワンタイムパスワードのデータを作成し非接触近接通信により前記外部機器に送信する処理を行なうことを特徴とするＵＳＢ型トークン。
【請求項２】
請求項１に記載のＵＳＢ型トークンであって、アクセスコントロール機器の前記外部機器の有するリーダ／ライタ用アンテナが発生する磁界から電力を受けて前記ワンタイムパスワード作成プログラムと前記時刻修正プログラムを実行することを特徴とするＵＳＢ型トークン。
【請求項３】
請求項１又は２に記載のＵＳＢ型トークンであって、前記外部機器から非接触近接通信により暗号鍵（秘密鍵）のデータを受信し前記記憶回路に記憶することを特徴とするＵＳＢ型トークン。
【請求項４】
請求項１乃至３の何れか一項に記載のＵＳＢ型トークンであって、前記非接触近接通信のプロトコルを生成する手段が、非接触近接通信の複数のプロトコルを生成することを特徴とするＵＳＢ型トークン。
【請求項５】
請求項１乃至４の何れか一項に記載のＵＳＢ型トークンであって、生体観測手段を有し、前記生体観測手段からの信号により本人確認を行う生体認証手段を有し、前記生体認証手段が本人を確認した場合にロックを外すことを特徴とするＵＳＢ型トークン。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ワンタイムパスワードにより認証されるＵＳＢ型トークンに係り、特に、無線で認証処理を行えるＵＳＢ型トークンに関するものである。
【背景技術】
【０００２】
従来から、ワンタイムパスワード（ＯＴＰ；ｏｎｅ−ｔｉｍｅ  ｐａｓｓｗｏｒｄ）を利用した認証を行うＵＳＢ型トークン（ＵＳＢ端子を有するトークン装置）が知られている。ＵＳＢ型トークンとしては、例えば、生成したＯＴＰを表示するＵＳＢ型トークンがある。（Ａｌａｄｄｉｎ社製「ｅＴｏｋｅｎ  ＮＧ−ＯＴＰ」、ＲＳＡ社製「ＳｅｃｕｒＩＤ  ＳＩＤ８００」、Ｇｅｍａｌｔｏ社製「Ｐｒｏｔｉｖａ  ＳＤＣ」、ＶＡＳＣＯ社製「ＤＩＧＩＰＡＳＳ」等)。
【０００３】
また、特許文献１では、ＲＦＩＤタグとアンテナをＵＳＢ型トークンに設置し、無線通信によりワンタイムパスワードで認証するＵＳＢ型トークンが開示されていた。特許文献２と３では、ＵＳＢ接続端子とアンテナコイル付きのＳＩＭホルダーにＳＩＭを装着して、外部機器と非接触交信を可能にし、改札ゲート等の外部機器に非接触で認証できるＵＳＢ接続端子付きＳＩＭホルダーが開示されていた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３３８３９８号公報
【特許文献２】特開２００４−１１８７７１号公報
【特許文献３】特開２００４−１３３８４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のＵＳＢ型トークンでは、特許文献１から３のＵＳＢ型トークンでは、ＵＳＢ型トークンにワンタイムパスワード（ＯＴＰ）を発生させるソフトウェアのデータを書き込むには、ＵＳＢ型トークンをＵＳＢポートに電気接続させて書き込むため、一度に多数のＵＳＢ型トークンにＯＴＰを発生させるプログラムのデータを書き込む処理は、速やかには処理できない問題があった。また、認証サーバ側の問題としては、ＵＳＢ型トークンと認証サーバの時刻のずれに対して、認証サーバは許容範囲（例えばプラスマイナス１０分程度）を定め、もしＵＳＢ型トークンから送られてきたＯＴＰが認証サーバの計算したＯＴＰと異なった場合には、認証サーバは、許容範囲となっている前後１０分間のＯＴＰを複数計算して一致するかを確認しなければならず、認証サーバの負担を大きくする問題があった。また、認証サーバが、個々のＵＳＢ型トークン毎に、ＵＳＢ型トークンの内部時計と認証サーバの時間のずれを記憶しなければならず、認証サーバの負担を大きくする問題があった。
【０００６】
本発明は、上記課題を解決するためになされたものであり、その目的とするところは、外部機器から多数のＵＳＢ型トークンにプログラムのデータや秘密情報などの多量のデータを速やかに書き込むことができるＵＳＢ型トークンで、かつ、認証サーバがワンタイムパスワードを作成する負担を軽減したＵＳＢ型トークンを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、ＵＳＢ端子部を備えたＵＳＢ型トークンであって、アンテナに接続して非接触近接通信を行う通信インターフェース回路と、前記通信イ
ンターフェース回路に接続しデータを送受する演算集積回路と記憶回路を有し、前記演算集積回路が前記記憶回路に記憶した非接触近接通信のプロトコルを生成する手段と、プログラム読み込み手段を有し、前記プログラム読み込み手段が、外部機器から非接触近接通信により、少なくともワンタイムパスワード作成プログラムと時刻修正プログラムとを受信し前記記憶回路に記憶し、前記時刻修正プログラムが外部機器から非接触近接通信により時刻データを受信し内部時計の時刻を修正する処理を行ない、前記ワンタイムパスワード作成プログラムがワンタイムパスワードのデータを作成し非接触近接通信により前記外部機器に送信する処理を行なうことを特徴とするＵＳＢ型トークンである。
【０００８】
また、本発明は、上記のＵＳＢ型トークンであって、アクセスコントロール機器の上記外部機器の有するリーダ／ライタ用アンテナが発生する磁界から電力を受けて上記ワンタイムパスワード作成プログラムと上記時刻修正プログラムを実行することを特徴とするＵＳＢ型トークンである。
【０００９】
また、本発明は、上記のＵＳＢ型トークンであって、上記外部機器から非接触近接通信により暗号鍵（秘密鍵）のデータを受信し上記記憶回路に記憶することを特徴とするＵＳＢ型トークンである。
【００１０】
また、本発明は、上記のＵＳＢ型トークンであって、上記非接触近接通信のプロトコルを生成する手段が、非接触近接通信の複数のプロトコルを生成することを特徴とするＵＳＢ型トークンである。
【００１１】
また、本発明は、上記のＵＳＢ型トークンであって、生体観測手段を有し、前記生体観測手段からの信号により本人確認を行う生体認証手段を有し、前記生体認証手段が本人を確認した場合にロックを外すことを特徴とするＵＳＢ型トークンである。
【発明の効果】
【００１２】
本発明のＵＳＢ型トークンは、演算集積回路が記憶回路に記憶した非接触近接通信のプロトコルを生成するプログラムと、プログラム読み込み手段のプログラムを実行することで、ＵＳＢ型トークンを外部機器のＵＳＢコネクタに抜き差しせずに非接触で、外部機器からプログラムや暗号鍵（秘密鍵）等の多量のデータを送信させ、そのプログラムや暗号鍵等の多量のデータをＵＳＢ型トークンが短時間に受信して記憶回路に記憶することができる効果がある。特に、ワンタイムパスワード作成プログラムと時刻修正プログラムのデータを、ＵＳＢ型トークンが非接触近接通信で短時間に受信して記憶回路に記憶させることができる効果がある。また、時刻修正プログラムにより、外部機器から時刻データを非接触近接通信で受信し内部時計の時刻を修正し、認証サーバの時計の時刻とＵＳＢ型トークンの内部時計の時刻を同期させるので、認証サーバにワンタイムパスワードを計算させて認証をさせる際の負担を軽減できる効果がある。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態のＵＳＢ型トークンの外観を示す図である。
【図２】本発明の実施形態のＵＳＢ型トークンの本体の内部のブロック構成を示す図である。
【図３】本発明の実施形態のＵＳＢ型トークンの記憶回路の構成を示すブロック図である。
【図４】本発明の実施形態のＵＳＢ型トークンと外部機器の非接触近接通信のシステム及び認証サーバのブロック構成を示す図である。
【図５】本発明の実施形態のＵＳＢ型トークンを用いた改札ゲート入退場処理の手順を示す図である。
【図６】本発明の実施形態の認証サーバの種鍵データベースのデータ構造を示す図である。
【図７】本発明の実施形態のＵＳＢ型トークンを外部機器のＵＳＢコネクタに差し込んで認証サーバと通信するシステムの構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、本発明におけるＵＳＢ型トークン２０の実施形態例を、図１から図４を参照して詳細に説明する。
＜第１の実施形態＞
図１は、本発明のＵＳＢ型トークン２０の第１の実施形態を示す外観図である。ＵＳＢ端子部１は、ＵＳＢ型トークン本体２に収納可能な構造になっていても良い（図示せず）。収納構造は、特に限定しないが、ＵＳＢ型トークン本体２の側面に窓部を設け、ＵＳＢ端子部１と連結した取手部分を窓部から突出させ、それを動かすことにより行っても良いし、押し込むとノック式にＵＳＢ端子部１がひっかかって固定され、それを外すことによりＵＳＢ端子部１が飛び出てくる構造にしても良い。また、ＵＳＢ型トークン本体２には、ＯＴＰ表示ボタン２ａとＯＴＰ表示部２ｂを設置する。
【００１５】
図２は、第１の実施形態のＵＳＢ型トークン本体２の内部構造を示す。第１の実施形態のＵＳＢ型トークン２０は、ＵＳＢ端子部１とコイル状のループアンテナのアンテナ３と、アンテナ３に接続する通信インターフェース回路４と、演算集積回路６（必要に応じてコプロセッサ回路も含む）と記憶回路７と、ＵＳＢ端子部１に接続する第２の通信インターフェース回路８を有し、各回路に電力を供給する電源回路として、内部電源回路９と電池１０を有する。
【００１６】
アンテナ３は、ループアンテナが好ましい。記憶回路７は、図３のように、例えば２Ｇバイト程度の大容量のフラッシュメモリとＥＥＰＲＯＭ（あるいはＦＲＡＭ）とＲＯＭ（リードオンリーメモリ）などの不揮発性メモリとＲＡＭ（ランダムアクセスメモリ）とを含む。電源回路は、図２のように、充電可能な内部電源回路９と電池１０から成る。通信インターフェース回路４は、通信のプロトコルを制御するＮＦＣ通信（ＩＳＯ／ＩＥＣ２１４８１やＩＳＯ／ＩＥＣ１８０９２、ＩＳＯ／ＩＥＣ１４４４３、ＩＳＯ／ＩＥＣ１５６９３）などの近距離無線通信規格で通信インターフェース回路４を制御する非接触近接通信セキュア用集積回路５と復調回路からなる。非接触近接通信セキュア用集積回路５は、演算集積回路６にその機能を共用させることで、省略することも可能である。図４のように外部機器３０のリーダ／ライタ用アンテナ３０ａをＵＳＢ型トークン２０の近傍に非接触で配置し、そのリーダ／ライタ用アンテナ３０ａに磁界を発生させてＵＳＢ型トークン２０のアンテナ３に誘導起電力を発生させる。その誘導起電力を、図２のＵＳＢ型トークン２０の通信インターフェース回路４の復調回路が整流回路で整流して直流電力に変換し、それにより内部電源回路９を充電する。
【００１７】
図２の非接触近接通信セキュア用集積回路５は演算回路を有し、更に記憶回路（例えば３２ｋＢ程度のＥＥＰＲＯＭと１１２ｋＢ程度のユーザＲＯＭと４ｋＢ程度のＲＡＭ）を内蔵して、これらの記憶回路に非接触近接通信の組み込みソフトウェア（プログラム）を記録させて、それらに記憶したプログラムで動作させるようにすることもできる。あるいは、非接触近接通信セキュア用集積回路５には記憶回路は内蔵させず、記憶回路７のＲＯＭ等にＵＳＢ型トークン２０の製造時に書き込んだ非接触近接通信用の組み込みソフトウェア（プログラム）を非接触近接通信セキュア用集積回路５の演算回路が読み出して処理するようにしても良い。
【００１８】
また、記憶回路７のＲＯＭには、ＵＳＢ型トークン２０の製造時点に、ＵＳＢ型トークン２０のシリアル番号、数バイトの製造者シリアル番号、仮鍵（輸送鍵）のパスワードや必要なプログラムを書き込む。必要なプログラムはＲＯＭ以外に、ＥＥＰＲＯＭ（あるい
はＦＲＡＭ）に書き込んでも良い。記憶回路７のＲＯＭに書き込むプログラムは、プログラム読み込み手段のプログラムを含む１００Ｋバイトから３００Ｋバイト程度の組み込みＯＳ（オペレーティングシステム）のプログラムを書き込む。このＯＳは、ＪＡＶＡ（登録商標）あるいはＭＵＬＴＯＳ（登録商標）等の汎用ＯＳのプログラムを用いることもできる。更に、電力解析等のタンパー攻撃に対抗する数Ｋバイトの耐タンパー攻撃プログラムもＲＯＭに書き込む。非接触近接通信セキュア用集積回路５の内蔵のＲＯＭあるいは、記憶回路７のＲＯＭに書き込む記憶非接触近接通信用の組み込みソフトウェア（プログラム）は、複数の変調方式を用いるなどの複数の非接触の通信プロトコル（ＩＳＯ／ＩＥＣ２１４８１やＩＳＯ／ＩＥＣ１８０９２、ＩＳＯ／ＩＥＣ１４４４３、ＩＳＯ／ＩＥＣ１５６９３等）を実施するプログラムを書き込むことで、非接触近接通信の複数のプロトコルを生成する手段を構成する。
【００１９】
更に、次に説明する非接触近接通信により、演算集積回路６が非接触近接通信のプロトコルを生成するプログラムと、プログラム読み込み手段のプログラムを実行することで、ＵＳＢ型トークン２０の記憶回路のＥＥＰＲＯＭ（あるいはＦＲＡＭ）に、非接触で、ＯＴＰ（ワンタイムパスワード）生成プログラム７ａと時刻修正プログラム７ｂとアクセスコントロールプログラム、データ発行ＩＤのデータ、仮の暗証番号（ＰＩＮ）、そのＵＳＢ型トークン２０固有の暗号鍵（秘密鍵）のデータとＯＴＰの種データ、更に必要に応じて認証サーバ４０等の他の機器の暗号鍵（秘密鍵）のデータとＯＴＰの種データも送信し、ＵＳＢ型トークン２０の演算集積回路６がそのデータを記憶回路７のＥＥＰＲＯＭ（あるいはＦＲＡＭ）に書き込む。この非接触近接通信により、更に多量のデータやプログラムや１ｋバイト程度ある電子証明書のデータもこのＵＳＢ型トークン２０の記憶回路７に書き込むことができる。その書き込み速度は、ＥＥＰＲＯＭでは、約１ビット／（３ｍ秒）×並列ビット数（例えば８ビット）＝約２．５ｋｂｐｓの速度で書き込んで、１ｋバイトのデータを３．３秒で書き込むことができる。また、ＦＲＡＭを用いる場合は、ＦＲＡＭ自体の書き込み速度は、約１ビット／（２５μ秒）×並列ビット数（例えば８ビット）＝約３２０ｋｂｐｓで書き込めるが、１３．５６ＭＨｚの周波数の非接触近接通信の最大の通信速度（約２６ｋｂｐｓ）に書き込み速度が制約され、結局１Ｋバイトのデータを約０．３２秒でＦＲＡＭへ書きむことができる。
【００２０】
記憶回路７のＥＥＰＲＯＭ（あるいはＦＲＡＭ）には、ユーザ固有のＩＤデータや暗証番号（ＰＩＮ；Personal identification number)、公開鍵証明書（フラッシュメモリに書き込んでも良い）のデータ、暗号鍵（秘密鍵）、１Ｋバイト程度の割符データ（フラッシュメモリに記憶しても良い）等を記憶する。更に、数ＫバイトのＯＳのアップデートファイルや、アクセスコントロールプログラム、およびＯＴＰ（ワンタイムパスワード）生成プログラム７ａと時刻修正プログラム７ｂと、ＯＴＰ生成用の数十バイトのＯＴＰの種データを書き込む。また、１０Ｋバイト程度の指紋認証プログラムや静脈認証プログラムと、１Ｋバイト程度の指紋、静脈データをＥＥＰＲＯＭ（あるいはＦＲＡＭ）に書き込む。これら、１Ｋバイト程度のプログラムやデータは、非接触近接通信で書き込むと、ＥＥＰＲＯＭに３．３秒で、あるいはＦＲＡＭに０．３２秒の短時間で書き込むことができる効果がある。
【００２１】
記憶回路７のフラッシュメモリには、数Ｍバイトの割符プログラムや、電子証明書のデータや、（認証局が公開鍵証明書により、その個人に属することを認証した暗号鍵（秘密鍵））（ＥＥＰＲＯＭに書き込んでも良い）や、契約書の電子データ、デジタル署名と組み合わせて送信すべき大容量の重要ファイルを保存する。さらに演算集積回路６は、主要演算集積回路と暗号コプロセッサとの２種類の演算集積回路で構成することもでき、暗号コプロセッサに暗号処理を分担させるように構成することも可能である。
【００２２】
（非接触近接通信）
図４を参照して、本実施形態のＵＳＢ型トークン２０が外部機器３０と非接触近接通信を行うシステムを説明する。ＵＳＢ型トークン２０は外部機器３０の外部機器３０のリーダ／ライタ用アンテナ３０ａの近傍に非接触で配置する。外部機器３０はワンタイムパスワードを発生させるソフトウェアをＵＳＢ型トークン３０に書き込む装置である。この外部機器３０が、単一の周波数の搬送波（１３．５６ＭＨｚ等）の交流磁界をリーダ／ライタ用アンテナ３０ａに発生させる。外部機器３０がリーダ／ライタ用アンテナ３０ａの交流磁界を変調させることで信号を送信する。ＵＳＢ型トークン２０は、その交流磁界によりアンテナ３に誘導起電力を発生させて通信インターフェース回路４で信号を感知する。ＵＳＢ型トークン２０からの信号の外部機器３０への送信方式は、ＵＳＢ型トークン２０の通信インターフェース回路４がアンテナ３の負荷インピーダンスを変調させることで行う。外部機器３０のリーダ／ライタ用アンテナ３０ａがＵＳＢ型トークン２０のアンテナ３の負荷変調を電磁誘導で感知することで、外部機器３０がＵＳＢ型トークン２０から信号を受信する。この場合は、ＵＳＢ型トークン２０自体は磁界を発生させないのでＵＳＢ型トークン２０の電力消費が少ない効果がある。
【００２３】
また、ＵＳＢ型トークン２０の通信インターフェース回路４は、外部機器３０が制御するリーダ／ライタ用アンテナ３０ａの発生する磁界がアンテナ３に発生する誘導起電力を整流して電源回路の内部電源回路９を充電させ、その内部電源回路９が演算集積回路６と記憶回路７を駆動して外部機器３０に応答できるため、電源回路の内部電源回路９へ予め電力を充電しておかないでも、外部機器３０から無線で給電されて外部機器３０に応答できる効果がある。また、本実施形態のＵＳＢ型トークン２０が外部機器３０との間で行う非接触近接通信は、電磁誘導で通信するため、通信可能範囲が約１０ｃｍ程度に狭くなる。通信可能範囲が１０ｃｍ程度に狭くなることで、第三者の盗聴が困難など、物理的な面でセキュリティが優れる効果がある。
【００２４】
この非接触近接通信では、外部機器３０とＵＳＢ型トークン２０が近接通信の通信プロトコルで交信する。近接通信のプロトコルは、記憶回路７のＲＯＭあるいは接触通信セキュア用集積回路５のＲＯＭに書き込まれた非接触近接通信のプロトコル、例えば、ＮＦＣ通信（近距離無線通信：Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）などを用いる。これにより、外部機器３０がＵＳＢ型トークン２０のアンテナ３にコマンド（要求）信号を伝送し、そのコマンド信号を通信インターフェース回路４を介して演算集積回路６に受信させる。また、ＵＳＢ型トークン２０から外部機器３０への信号は、演算集積回路６が外部機器３０にレスポンス（応答）信号を送信する。こうしてアンテナ３に接続する通信インターフェース回路４を有するＵＳＢ型トークン２０が、リーダ／ライタ用アンテナ３０ａに接続した外部機器３０との間で非接触近接通信を行う。
【００２５】
こうして、外部機器３０が、近接通信の通信プロトコルでＵＳＢ型トークン２０にデータを送信する。その外部機器３０は、非接触近接通信により、ＯＴＰ（ワンタイムパスワード）生成プログラム７ａと時刻修正プログラム７ｂやアクセスコントロールプログラムのデータ、データ発行ＩＤのデータ、仮の暗証番号（ＰＩＮ）、暗号鍵（秘密鍵）のデータ、ＯＴＰの種データ、あるいは、電子証明書のデータ等の多量のデータをＵＳＢ型トークン２０に送信し、ＵＳＢ型トークン２０の演算集積回路６がこれらのデータを記憶手段７のＥＥＰＲＯＭ（あるいはＦＲＡＭ）に記憶する。ＥＥＰＲＯＭ（あるいはＦＲＡＭ）にデータを書き込む際に電力を必要とするので、ＵＳＢ型トークン２０には電池１０を搭載することが望ましいが、ＵＳＢ型トークン２０に書き込むデータを送信する外部機器３０に十分強い磁界を発生させ、電磁誘導で十分な電力をＵＳＢ型トークン２０のアンテナ３を介して内部電源９に供給することで、電池１０の搭載を省略することも可能である。
【００２６】
このように、本実施形態では、ＵＳＢ型トークン２０の製造の際に、ＵＳＢ型トークン２０にソフトウェアを書き込む外部機器３０が、ＵＳＢ型トークン２０を外部機器３０の
ＵＳＢコネクタに差し込まずに外部機器３０のリーダ／ライタ用アンテナ３０ａが発生させた磁界を利用した非接触近接通信でソフトウェア（プログラム）やセキュリティ情報をＵＳＢ型トークン２０に書き込む。これにより、多数のＵＳＢ型トークン２０に速やかにソフトウェアを書き込むことができる効果がある。この非接触近接通信により、ワンタイムパスワードを発生させるソフトウェア等のデータをＵＳＢ型トークン２０のアンテナ３に送信し、ＵＳＢ型トークン２０の演算集積回路６が、そのデータを記憶回路７に書き込む。このようにして、外部機器３０から、非接触の近接通信により、ＵＳＢ型トークン２０に、ＯＴＰ（ワンタイムパスワード）生成プログラム７ａのデータ、時刻修正プログラム７ｂのデータ、ＯＴＰの種データ、データ発行ＩＤのデータ、仮の暗証番号（ＰＩＮ）、暗号鍵（秘密鍵）のデータ、電子証明書のデータなどの秘密データを送信し、それらを記憶回路７に書き込むことができる。外部機器３０は、ＵＳＢ型トークン２０をＵＳＢコネクタに抜き差しせずに非接触の近接通信でこれらの重要データを書き込むため、外部機器３０は、多数のＵＳＢ型トークン２０に短時間でセキュリティ情報を書き込むことができ、セキュリティ情報書き込みの処理能力を高くできる効果がある。
【００２７】
（ＵＳＢ型トークンを認証サーバが認証するシステム）
図４から図６を参照して、ＯＴＰ（ワンタイムパスワード）生成プログラム７ａと時刻修正プログラム７ｂを書き込まれたＵＳＢ型トークン２０が、外部機器３０と非接触近接通信を行い、外部機器３０を介して認証サーバ４０と通信を行ない認証処理を行なうシステムを説明する。この認証処理のために、ＵＳＢ型トークン２０の演算集積回路６は、記憶回路７に記憶した時刻修正プログラム７ｂとワンタイムパスワード（ＯＴＰ）生成プログラム７ａを実行することでＯＴＰ生成処理を行う。ワンタイムパスワード（ＯＴＰ）とは、刻々と変化するパスワードのことであり、遠隔地にある端末からネットワークを通じてサーバコンピュータを利用（リモートアクセス）する際に、アクセスしてくる人間が正規のユーザか否かを検証する認証技術として利用され、近年では、インターネット上で個人認証を行う際等に利用されている技術である。
【００２８】
（改札ゲート入退場処理）
以下、図４から図６を参照して、外部機器３０が入退場の改札ゲートやドアを制御するアクセスコントロール機器である場合について、本実施形態のＵＳＢ型トークン２０が、外部機器３０と非接触近接通信を行い、外部機器３０と通信する認証サーバ４０がＵＳＢ型トークン２０を認証して改札ゲートを開閉する改札ゲート入退場処理を説明する。図５に改札ゲート入退場処理の手順を示す。図４の下に認証サーバ４０のブロック図を示す。認証サーバ４０は、ＯＴＰ認証手段４１と、種鍵データベース４６を備える。図４のＯＴＰ認証手段４１におけるデータ受信部４２、ＯＴＰ検証部４３および時刻送信部４５は、認証サーバ４０のＣＰＵを動作させるコンピュータプログラムで実現され、時計４４は一般的なサーバに備えられた時計で実現され、種鍵データベース４６はハードディスクなどの情報記憶装置で実現される。
【００２９】
（認証サーバと外部機器の動作）
図５のように、先ず、認証サーバ４０が、図４のＯＴＰ認証手段４１が有する時計４４で時刻データを作成し、ＯＴＰ認証手段４１の時刻送信部４５が、その時刻データを外部機器３０に送信する。外部機器３０は、時刻データを受信すると、リーダ／ライタ用アンテナ３０ａに交流磁界を発生させる。すなわち、アクセスコントロール機器である外部機器３０が、リーダ／ライタ用アンテナ３０ａに単一の周波数の搬送波（１３．５６ＭＨｚ等）の磁界を発生させ、ＵＳＢ型トークン２０のアンテナ３に電磁誘導で電力を給電しつつ、その交流磁界を変調する非接触近接通信で、ＵＳＢ型トークン２０に認証サーバ４０の時刻データを送信する。また、ＵＳＢ型トークン２０にユーザ固有のＩＤ（例えば社員番号）データとＯＴＰの送信を要求するコマンドを送信する。
【００３０】
（時刻修正処理）
ＵＳＢ型トークン２０は、そのアンテナ３の誘導電圧の変化を感知することで、時刻修正プログラム７ｂを実行して、認証サーバ４０から指定された時刻データを外部機器３０から受け取り、その時刻データでＵＳＢ型トークン２０の内部時計の時刻を修正する。これにより、認証サーバ４０の時計４４の時刻とＵＳＢ型トークン２０の内部時計の時刻を同期させることができ、認証サーバ４０にワンタイムパスワードを計算させる際の負担を軽減できる効果がある。
【００３１】
この時刻修正処理は、電源回路が内部電源回路９だけを有し電池１０を有さないＵＳＢ型トークン２０で、しかも、内部電源回路９に電力の蓄積が無くなったＵＳＢ型トークン２０にも対応できる。それは、そのＵＳＢ型トークン２０が、最初に、外部機器３０のリーダ／ライタ用アンテナ３０ａの発生する磁界によりアンテナ３に誘導起電力を与えられ、その誘導起電力を通信インターフェース回路４が整流して内部電源回路９を充電させる。次に、その内部電源回路９が演算集積回路６と記憶回路７を駆動して、時刻修正プログラム７ｂを実行する。それにより、ＵＳＢ型トークン２０が外部機器３０から時刻データを受信して内部時計の時刻を認証サーバ４０の時計４４に同期させることができる。
【００３２】
この時刻修正処理において、認証サーバ４０が、ＵＳＢ型トークン２０に認証サーバ４０を認証させる逆認証処理を行なうこともできる。すなわち、認証サーバ４０の時刻送信部４５は、認証サーバ４０固有のＯＴＰの種データと時計４４の時刻データと暗号鍵（秘密鍵）を用いて、時刻データと認証サーバ４０固有のＯＴＰの種データを認証サーバ４０固有の暗号鍵で暗号化しワンタイムパスワード（ＯＴＰ）のデータを作成する。更に、この暗号化の際に、ＳＨＡ−１、ＭＤ５等のハッシュ関数等を用いた演算処理、若しくは特定のアルゴリズムを用いたビット演算等を行うことにより更なるデータ加工を行った上で、ワンタイムパスワードを作成しても良い。すなわち、この暗号化の際に、暗号化アルゴリズムとして、例えば、CAST-256、CRYPTON、DEAL、DFC、E2、FROG、HPC、LOKI97、MAGENTA、MARS、RC6、Rijndael、SAFER+、Serpent、Twofishなどを用い、暗号化アルゴリズの種類によって異なる様々な方法で更なるデータ加工を行い、ワンタイムパスワードを作成することもできる。そして、そのワンタイムパスワードを時刻データとともに、ＵＳＢ型トークン２０に送信する。
【００３３】
ＵＳＢ型トークン２０は、時刻修正プログラム７ｂが、認証サーバ４０からの時刻データとワンタイムパスワードを受信する。次に、時刻修正プログラム７ｂが、認証サーバ４０が用いたのと同じ暗号鍵（秘密鍵）を予め記憶しておいた記憶回路７から読み出して、認証サーバ４０固有のＯＴＰの種データを記憶回路７から読み出す。その暗号鍵（秘密鍵）を用いて、認証サーバ４０から送られた時刻データと認証サーバ４０固有のＯＴＰの種データを暗号化し認証サーバ４０と同じアルゴリズムでワンタイムパスワード（ＯＴＰ）を作成する。そして、作成したワンタイムパスワードを認証サーバ４０から送られたワンタイムパスワードと照合する。両者のワンタイムパスワードが一致した場合に、ＵＳＢ型トークン２０が認証サーバ４０を認証する。次に、時刻修正プログラム７ｂがＵＳＢ型トークン２０の内部時計を認証サーバ４０から送られた時刻データにより補正するように処理することもできる。
【００３４】
（ＯＴＰ作成処理）
次に、ＵＳＢ型トークン２０は、ユーザ固有のＩＤ（例えば社員番号）データとＯＴＰの送信を要求するコマンドを受信した場合に、以下の処理を行なう。ここで、ＵＳＢ型トークン２０が認証サーバ４０を認証する逆認証処理を行なった場合には、ＵＳＢ型トークン２０が認証サーバ４０を認証した場合に限り、以下の処理を行なう。すなわち、ＵＳＢ型トークン２０は、そのＯＴＰ作成プログラム７ａを動作させ、１分毎（時間設定は自由）に、ＵＳＢ型トークン２０の固有の暗号鍵（秘密鍵）を用いて、ＯＴＰの種データと内部時計の時刻データを暗号化し、ワンタイムパスワード（ＯＴＰ）のデータを作成する。更に、この暗号化の際に、ＳＨＡ−１、ＭＤ５等のハッシュ関数等を用いた演算処理、若しくは暗号化アルゴリズの種類によって異なる様々な方法のビット演算等を行うことにより更なるデータ加工を行った上で、ワンタイムパスワードを作成しても良い。そして、ＵＳＢ型トークン２０が、通信インターフェース回路４によりアンテナ３の負荷インピーダンスを、このユーザ固有のＩＤデータとワンタイムパスワードのデータによって変調させる。それにより、外部機器３０のリーダ／ライタ用アンテナ３０ａがＵＳＢ型トークン２０のアンテナ３の負荷変調を電磁誘導で感知する。それにより、外部機器３０（アクセスコントロール機器）がＵＳＢ型トークン２０からこれらのデータの信号を受信する非接触近接通信を行なう。外部機器３０は、以上の処理により受信したユーザ固有のＩＤデータとＯＴＰのデータを、ネットワークを通じて認証サーバ４０に送信する。
【００３５】
すなわち、ＵＳＢ型トークン２０は、先ず、時刻修正プログラム７ｂが、認証サーバ４０から時刻データを受け取り、その時刻データでＵＳＢ型トークン２０の内部時計の時刻を修正する。次に、ＯＴＰ作成プログラム７ａを実行し、１分毎（時間設定は自由）に、ＵＳＢ型トークン２０の固有の暗号鍵（秘密鍵）を用いて、内部時計の時刻データとＯＴＰの種データを暗号化し、ワンタイムパスワード（ＯＴＰ）のデータを作成する。更に、この暗号化の際に、ＳＨＡ−１、ＭＤ５等のハッシュ関数等を用いた演算処理、若しくは暗号化アルゴリズの種類によって異なる様々な方法のビット演算等を行うことにより更なるデータ加工を行った上で、ワンタイムパスワードを作成しても良い。そして、作成したワンタイムパスワード（ＯＴＰ）のデータを認証サーバ４０に送信する。また、電池１０を有するＵＳＢ型トークン２０では、ＵＳＢ型トークン本体２に設置したＯＴＰ表示ボタン２ａを操作者に押させることで、電池１０で駆動するＯＴＰ表示部２ｂにＯＴＰを表示して操作者に通知することもできる。操作者には、そのＯＴＰを外部機器３０に設置したキーボードから入力させる。外部機器３０はそのＯＴＰを認証サーバ４０に送信する。ＯＴＰの生成は、こうして、ＵＳＢ型トークン２０のＯＴＰ作成プログラム７ａと認証サーバ４０が時刻を同期させて、それぞれＯＴＰを生成するタイムスタンプ方式で行なう。
【００３６】
（ＵＳＢ型トークンの生体認証機能）
また、ＵＳＢ型トークン２０には、更にセキュリティを向上させるために、指紋を読み取るセンサや指静脈を読み取るセンサ等の生体観測手段を設置することもできる。その場合は、記憶回路７のＥＥＰＲＯＭ（あるいはＦＲＡＭ）に書き込んだ１０Ｋバイト程度の生体認証ソフトウェアを演算集積回路６が実行する生体認証手段が、生体観測手段からの信号を処理して本人確認を行う生体認証処理を行う。その生体認証処理が本人を確認（認証）した場合に、ＵＳＢ型トークン２０から必要なデータが引き出され（ＵＳＢ型トークン２０のロックが外され）、本人が認証されない場合は、ＵＳＢ型トークン２０にロックをかけ使用を制限する。なお、生体認証に用いる１０Ｋバイト程度の指紋認証プログラムのデータは、外部機器３０から非接触近接通信によりＵＳＢ型トークン２０に送信し、ＵＳＢ型トークン２０の演算集積回路６が記憶回路７のＥＥＰＲＯＭ（あるいはＦＲＡＭ）に記憶することにより、多数のＵＳＢ型トークンに短時間にプログラムを書き込むことが可能である。
【００３７】
（認証サーバの構成）
認証サーバ４０は、図４のように、ＯＴＰ認証手段４１と種鍵データベース４６を有する。ＯＴＰ認証手段４１は、データ受信部４２と、ＯＴＰ検証部４３と、時計４４と、時刻データをＵＳＢ型トークン２０に送信する時刻送信部４５を有する。図６に、種鍵データベース４６のＩＤ−ＯＴＰ対応データ４７のデータ構造を示す。すなわち、種鍵データベース４６には、ＵＳＢ型トークン２０毎に割り振られた識別データであるユーザＩＤとＵＳＢ型トークン２０に記憶されたＯＴＰの種データを一対にして関連付けたＩＤ−ＯＴＰ対応データ４７を記憶する。
【００３８】
データ受信部４２は、外部機器３０から、認証するＵＳＢ型トークン２０のユーザ固有のＩＤ及びワンタイムパスワード（ＯＴＰ）を取得する。次に、ＯＴＰ検証部４３は、種鍵データベース４６のＩＤ−ＯＴＰ対応データ４７からユーザ固有のＩＤに関連付けられたＯＴＰの種データと暗号鍵（秘密鍵）を抽出する。次に、その暗号鍵（秘密鍵）を用いて、時刻データとＯＴＰの種データを暗号化しＵＳＢ型トークン２０と同じアルゴリズムでワンタイムパスワード（ＯＴＰ）を作成する。そして、作成したワンタイムパスワード（ＯＴＰ）とＵＳＢ型トークン２０から取得したＯＴＰを比較し、一致すれば、ＵＳＢ型トークン２０を認証する。
【００３９】
（認証サーバの認証処理）
図４のように、認証サーバ４０は、ユーザ固有のＩＤデータとＯＴＰをデータ受信部４２で受け取る。次に、認証サーバ４０のＯＴＰ検証部４３が、受信したＯＴＰとは独立に、ＵＳＢ型トークン２０と同じＯＴＰ作成プログラムを実行し、ＵＳＢ型トークン２０と同じ暗号鍵（秘密鍵）を用いて、時刻データとＵＳＢ型トークン２０のＩＤ毎のＯＴＰの種データを暗号化しＵＳＢ型トークン２０と同じアルゴリズムでワンタイムパスワード（ＯＴＰ）を作成する。次に、ＯＴＰ検証部４３が、自身が作成したＯＴＰと受信したＯＴＰとを比較して一致するか否かを判定してＵＳＢ型トークン２０の認証を行う。
【００４０】
認証サーバ４０のＯＴＰ検証部４３がＯＴＰを作成する処理は、以下のように行なう。すなわち、先ず、受信したユーザ固有のＩＤに基づき、ＩＤ−ＯＴＰ対応データ４７から、受信したユーザ固有のＩＤに関連付けられているＯＴＰの種データ（シード値）と暗号鍵（秘密鍵）を抽出する。次に、その暗号鍵（秘密鍵）を用いて、時計４４の時刻データとＯＴＰの種データを、ＵＳＢ型トークン２０のＯＴＰ作成プログラム７aと同じアルゴリズムで暗号化しワンタイムパスワード（ＯＴＰ）を作成する。そして、作成したワンタイムパスワードと、データ受信部４２がＵＳＢ型トークン２０から取得したワンタイムパスワードを照合する。両者が一致する場合に、ＵＳＢ型トークン２０を登録されたユーザとして認証する。
【００４１】
（改札ゲート開閉処理）
認証サーバ４０は、認証結果をネットワークを通じて外部機器３０（アクセスコントロール機器）に返信する。外部機器３０（アクセスコントロール機器）は、認証サーバ４０がＵＳＢ型トークン２０の認証に成功した場合に、認証サーバ４０が認証したＵＳＢ型トークン２０のユーザーの資格に応じて入退場の改札ゲートを開閉する。あるいは、外部機器３０のアクセスコントロールの種類に応じて、家屋のドアの開閉、あるいは家屋や車のドアの鍵の開錠等のアクセスコントロール機器を制御する。
【００４２】
（ＵＳＢ型トークンの外部機器のＵＳＢコネクタへの接続処理）
また、ＵＳＢ型トークン２０は、図７のように、そのＵＳＢ端子１を外部の情報処理装置などの外部機器３０のＵＳＢコネクタに電気接続して、外部機器３０からＵＳＢ（２．０）の規格で高速に、電子証明書のデータ、電子割符のデータ、指紋認証や指静脈による認証などの生体認証ソフトウェアや、それらのソフトウェアに関連するファイル(割符ファイル、履歴情報など)のデータを送受信することができる。また、外部機器３０のＵＳＢ端子に接続時に、ＵＳＢ型トークン２０の内部電源回路９が外部機器３０から電力を充電するようにすることもできる。
【００４３】
（ＰＩＮ認証処理）
図７を参照して、ＵＳＢ型トークン２を情報処理装置などの外部機器３０のＵＳＢコネクタに差し込んで使用する例を説明する。ＵＳＢ型トークン２０のＵＳＢ端子１を外部機器３０のＵＳＢコネクタに電気接続する際に、最初に、以下に説明するＰＩＮ認証処理を
行う。ＵＳＢ型トークン２０は、記憶回路７のＥＥＰＲＯＭに暗証番号（ＰＩＮ）を記憶する。このＰＩＮ番号は、最初に、非接触近接通信により仮の暗証番号（ＰＩＮ）をＵＳＢ型トークン２０に送付し、ＵＳＢ型トークン２０は受け取ったデータを記憶手段７のＥＥＰＲＯＭに書き込んで記憶しておく。その暗証番号（ＰＩＮ）をＵＳＢ型トークン２０の保持者が情報処理装置などの外部機器３０のキーボードから正しいＰＩＮ番号を入力して、外部機器３０がそのＰＩＮ番号をＵＳＢ型トークン２０に送信してＵＳＢ型トークン２０に認証された後に、ＵＳＢ型トークン２０のＰＩＮ番号を書き換えてＵＳＢ型トークン２０を使用する。外部機器３０のＰＩＮ認証処理は、ＵＳＢ型トークン２０の保持者が、外部機器３０のＵＳＢコネクタにＵＳＢ型トークン２０を差し込むことで開始される。
【００４４】
（外部機器の処理１）外部機器３０のセキュリティ手段は、ＵＳＢ型トークン２０の設置者に、キーボードからＵＳＢ型トークン２０の暗証番号（ＰＩＮ）と同じＰＩＮ番号を入力することを要求する。
（外部機器の処理２）外部機器３０は、キーボードから入力したＰＩＮ番号をＵＳＢ型トークン２０に送信する。ＵＳＢ型トークン２０では、外部機器３０から送信されたＰＩＮ番号を読み込んで、ＥＥＰＲＯＭに記憶してあるＰＩＮ番号と照合する処理を行う。ＵＳＢ型トークン２０が外部機器３０に照合結果の可否を送信する。両者のピン番号が一致した場合は、外部機器３０がそのＵＳＢ型トークン２０と、その設置者を認証し、その外部機器３０の使用を可能にする（ＵＳＢ型トークンのロックも外す）。外部機器３０からＵＳＢ型トークン２０が取り外された場合には、外部機器３０（及びＵＳＢ型トークン）にロックをかけ使用を制限する。
【００４５】
（外部機器の処理３）また、外部機器３０は、認証したＵＳＢ型トークン２０が差し込まれている間は、その外部機器３０がネットワークを通じて認証サーバ４０にアクセスする際に、その認証サーバ４０の要求するワンタイムパスワード（ＯＴＰ）等のパスワードをＵＳＢ型トークン２０から読み出して認証サーバ４０に送信することで認証サーバ４０からワンタイムパスワード（ＯＴＰ）等で認証されるシングルサインオン動作を行う。シングルサインオン動作とは、外部機器３０をＬＡＮに接続する際のパスワード等の認証に必要なデータの送信、認証サーバ４０に接続する際のパスワード等の認証に必要なデータの送信を、ＵＳＢ型トークン２０から必要データを読み出して、自動的に相手サーバに送信する動作であり、操作者の操作の手間を省く動作である。ＵＳＢ型トークン２０から外部機器３０を介して認証サーバ４０に絶えずワンタイムパスワード（ＯＴＰ）を送信し、認証サーバ４０に絶えず認証処理を行わせることで、ＵＳＢ型トークン２０を設置した外部機器３０と認証サーバ４０との通信のセキュリティを高めることができる効果がある。
【００４６】
（デジタル署名作成処理）
ＵＳＢ型トークン２０は、以下に説明するデジタル署名作成処理を行う。ＵＳＢ型トークン２０のＵＳＢ端子部１を外部機器３０のＵＳＢコネクタに差し込んで、操作者が外部機器３０のキーボードからＰＩＮ番号を入力し、そのＰＩＮ番号を外部機器３０がＵＳＢ型トークン２０に送信し、ＵＳＢ型トークン２０で、ＥＥＰＲＯＭに記憶したＰＩＮ番号とキーボードから入力されたＰＩＮ番号を照合するＰＩＮ認証処理を行い、両者が一致するか不一致であるかの照合結果を外部機器３０に送信する。外部機器３０では、両ＰＩＮ番号が一致している照合結果を受信した場合に外部機器３０の処理を立ち上げる。次に、外部機器３０が、ＵＳＢ型トークン２０に公開鍵証明書のデータの送信を要求する。次に、ＵＳＢ型トークン２０が公開鍵証明書のデータを外部機器３０に送信する。外部機器は、その公開鍵証明書のデータを認証サーバ４０に送信する。認証サーバ４０は、公開鍵証明書のデータが正しいかどうかを確認した上でチャレンジ（乱数）データを外部機器３０を経由してＵＳＢ型トークン２０に送信する。
【００４７】
次に、ＵＳＢ型トークン２０の演算集積回路６がデジタル署名の暗号鍵（秘密鍵）を記
憶回路７から読み出して、その暗号鍵（秘密鍵）を用いて、受信したチャレンジ（乱数）データを暗号化する。その暗号化したデータ（電子署名）を、外部機器３０を経由して認証サーバ４０に送信する。認証サーバ４０は、この電子署名を受け取ると、ＵＳＢ型トークン２０と前記公開鍵証明書の公開鍵を用いて、暗号化したデータを元に復元する。そして、その復元したデータが先に送付したチャレンジ（乱数）データと比較し、両者が一致することで、文書に署名を行なったのが送信者本人であることと、文書が通信途上で改ざんされていないことを確認する。電子証明書（公開鍵証明書）は認証局が発行したデータであるので、認証サーバ４０がその個人（送信者）に属する確証を得ることができる。
【００４８】
（電子割符処理）
また、ＵＳＢ型トークン２０の記憶回路７のフラッシュメモリには、２Ｍバイトから３Ｍバイトのデータ量の電子割符処理のプログラムを記憶させることができる。電子割符処理のプログラムをＵＳＢ型トークン２０に常駐させ、外部機器３０がＵＳＢ型トークン２０の電子割符プログラムを参照して電子割符処理を外部機器３０に行わせることで、外部機器３０に電子割符を合わせた全データを残留させず、電子割符データの秘匿性を高めることができる効果がある。
【産業上の利用可能性】
【００４９】
本発明は、外部機器３０が、多数のＵＳＢ型トークン２０をＵＳＢコネクタに抜き差しせずに非接触で短時間にＯＴＰ作成プログラム７ａや時刻修正プログラム７ｂ、暗号鍵、電子証明書等の多量のデータを多数のＵＳＢ型トークン２０に短時間に書き込むＵＳＢ型トークン２０に利用できる。
【符号の説明】
【００５０】
１・・・ＵＳＢ端子部
２・・・ＵＳＢ型トークン本体
２ａ・・・ＯＴＰ表示ボタン
２ｂ・・・ＯＴＰ表示部
３・・・アンテナ
４・・・通信インターフェース回路
５・・・非接触近接通信セキュア用集積回路
６・・・演算集積回路
７・・・記憶回路
７ａ・・・ＯＴＰ（ワンタイムパスワード）作成プログラム
７ｂ・・・時刻修正プログラム
８・・・第２の通信インターフェース回路
９・・・内部電源回路
１０・・・電池
２０・・・ＵＳＢ型トークン
３０・・・外部機器
３０ａ・・・リーダ／ライタ用アンテナ
４０・・・認証サーバ
４１・・・ＯＴＰ認証手段
４２・・・データ受信部
４３・・・ＯＴＰ検証部
４４・・・時計
４５・・・時刻送信部
４６・・・種鍵データベース
４７・・・ＩＤ−ＯＴＰ対応データ
【図１】
2011002994.tif 000003
【図２】
2011002994.tif 000004
【図３】
2011002994.tif 000005
【図４】
2011002994.tif 000006
【図５】
2011002994.tif 000007
【図６】
2011002994.tif 000008
【図７】
2011002994.tif 000009