説明

USB型トークン

【課題】外部機器から多数のUSB型トークンに多量のデータを速やかに書き込む。
【解決手段】アンテナに接続して非接触近接通信を行う通信インターフェース回路と、前記通信インターフェース回路に接続しデータを送受する演算集積回路と記憶回路を有し、前記演算集積回路が前記記憶回路に記憶した非接触近接通信のプロトコルを生成する手段と、プログラム読み込み手段を有し、前記プログラム読み込み手段が、外部機器から非接触近接通信により、少なくともワンタイムパスワード作成プログラムと時刻修正プログラムとを受信し前記記憶回路に記憶し、前記時刻修正プログラムが外部機器から非接触近接通信により時刻データを受信し内部時計の時刻を修正する処理を行ない、前記ワンタイムパスワード作成プログラムがワンタイムパスワードのデータを作成し非接触近接通信により前記外部機器に送信する処理を行なう。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ワンタイムパスワードにより認証されるUSB型トークンに係り、特に、無線で認証処理を行えるUSB型トークンに関するものである。
【背景技術】
【0002】
従来から、ワンタイムパスワード(OTP;one−time password)を利用した認証を行うUSB型トークン(USB端子を有するトークン装置)が知られている。USB型トークンとしては、例えば、生成したOTPを表示するUSB型トークンがある。(Aladdin社製「eToken NG−OTP」、RSA社製「SecurID SID800」、Gemalto社製「Protiva SDC」、VASCO社製「DIGIPASS」等)。
【0003】
また、特許文献1では、RFIDタグとアンテナをUSB型トークンに設置し、無線通信によりワンタイムパスワードで認証するUSB型トークンが開示されていた。特許文献2と3では、USB接続端子とアンテナコイル付きのSIMホルダーにSIMを装着して、外部機器と非接触交信を可能にし、改札ゲート等の外部機器に非接触で認証できるUSB接続端子付きSIMホルダーが開示されていた。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−338398号公報
【特許文献2】特開2004−118771号公報
【特許文献3】特開2004−133843号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来のUSB型トークンでは、特許文献1から3のUSB型トークンでは、USB型トークンにワンタイムパスワード(OTP)を発生させるソフトウェアのデータを書き込むには、USB型トークンをUSBポートに電気接続させて書き込むため、一度に多数のUSB型トークンにOTPを発生させるプログラムのデータを書き込む処理は、速やかには処理できない問題があった。また、認証サーバ側の問題としては、USB型トークンと認証サーバの時刻のずれに対して、認証サーバは許容範囲(例えばプラスマイナス10分程度)を定め、もしUSB型トークンから送られてきたOTPが認証サーバの計算したOTPと異なった場合には、認証サーバは、許容範囲となっている前後10分間のOTPを複数計算して一致するかを確認しなければならず、認証サーバの負担を大きくする問題があった。また、認証サーバが、個々のUSB型トークン毎に、USB型トークンの内部時計と認証サーバの時間のずれを記憶しなければならず、認証サーバの負担を大きくする問題があった。
【0006】
本発明は、上記課題を解決するためになされたものであり、その目的とするところは、外部機器から多数のUSB型トークンにプログラムのデータや秘密情報などの多量のデータを速やかに書き込むことができるUSB型トークンで、かつ、認証サーバがワンタイムパスワードを作成する負担を軽減したUSB型トークンを提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明は、USB端子部を備えたUSB型トークンであって、アンテナに接続して非接触近接通信を行う通信インターフェース回路と、前記通信イ
ンターフェース回路に接続しデータを送受する演算集積回路と記憶回路を有し、前記演算集積回路が前記記憶回路に記憶した非接触近接通信のプロトコルを生成する手段と、プログラム読み込み手段を有し、前記プログラム読み込み手段が、外部機器から非接触近接通信により、少なくともワンタイムパスワード作成プログラムと時刻修正プログラムとを受信し前記記憶回路に記憶し、前記時刻修正プログラムが外部機器から非接触近接通信により時刻データを受信し内部時計の時刻を修正する処理を行ない、前記ワンタイムパスワード作成プログラムがワンタイムパスワードのデータを作成し非接触近接通信により前記外部機器に送信する処理を行なうことを特徴とするUSB型トークンである。
【0008】
また、本発明は、上記のUSB型トークンであって、アクセスコントロール機器の上記外部機器の有するリーダ/ライタ用アンテナが発生する磁界から電力を受けて上記ワンタイムパスワード作成プログラムと上記時刻修正プログラムを実行することを特徴とするUSB型トークンである。
【0009】
また、本発明は、上記のUSB型トークンであって、上記外部機器から非接触近接通信により暗号鍵(秘密鍵)のデータを受信し上記記憶回路に記憶することを特徴とするUSB型トークンである。
【0010】
また、本発明は、上記のUSB型トークンであって、上記非接触近接通信のプロトコルを生成する手段が、非接触近接通信の複数のプロトコルを生成することを特徴とするUSB型トークンである。
【0011】
また、本発明は、上記のUSB型トークンであって、生体観測手段を有し、前記生体観測手段からの信号により本人確認を行う生体認証手段を有し、前記生体認証手段が本人を確認した場合にロックを外すことを特徴とするUSB型トークンである。
【発明の効果】
【0012】
本発明のUSB型トークンは、演算集積回路が記憶回路に記憶した非接触近接通信のプロトコルを生成するプログラムと、プログラム読み込み手段のプログラムを実行することで、USB型トークンを外部機器のUSBコネクタに抜き差しせずに非接触で、外部機器からプログラムや暗号鍵(秘密鍵)等の多量のデータを送信させ、そのプログラムや暗号鍵等の多量のデータをUSB型トークンが短時間に受信して記憶回路に記憶することができる効果がある。特に、ワンタイムパスワード作成プログラムと時刻修正プログラムのデータを、USB型トークンが非接触近接通信で短時間に受信して記憶回路に記憶させることができる効果がある。また、時刻修正プログラムにより、外部機器から時刻データを非接触近接通信で受信し内部時計の時刻を修正し、認証サーバの時計の時刻とUSB型トークンの内部時計の時刻を同期させるので、認証サーバにワンタイムパスワードを計算させて認証をさせる際の負担を軽減できる効果がある。
【図面の簡単な説明】
【0013】
【図1】本発明の実施形態のUSB型トークンの外観を示す図である。
【図2】本発明の実施形態のUSB型トークンの本体の内部のブロック構成を示す図である。
【図3】本発明の実施形態のUSB型トークンの記憶回路の構成を示すブロック図である。
【図4】本発明の実施形態のUSB型トークンと外部機器の非接触近接通信のシステム及び認証サーバのブロック構成を示す図である。
【図5】本発明の実施形態のUSB型トークンを用いた改札ゲート入退場処理の手順を示す図である。
【図6】本発明の実施形態の認証サーバの種鍵データベースのデータ構造を示す図である。
【図7】本発明の実施形態のUSB型トークンを外部機器のUSBコネクタに差し込んで認証サーバと通信するシステムの構成を示すブロック図である。
【発明を実施するための形態】
【0014】
以下、本発明におけるUSB型トークン20の実施形態例を、図1から図4を参照して詳細に説明する。
<第1の実施形態>
図1は、本発明のUSB型トークン20の第1の実施形態を示す外観図である。USB端子部1は、USB型トークン本体2に収納可能な構造になっていても良い(図示せず)。収納構造は、特に限定しないが、USB型トークン本体2の側面に窓部を設け、USB端子部1と連結した取手部分を窓部から突出させ、それを動かすことにより行っても良いし、押し込むとノック式にUSB端子部1がひっかかって固定され、それを外すことによりUSB端子部1が飛び出てくる構造にしても良い。また、USB型トークン本体2には、OTP表示ボタン2aとOTP表示部2bを設置する。
【0015】
図2は、第1の実施形態のUSB型トークン本体2の内部構造を示す。第1の実施形態のUSB型トークン20は、USB端子部1とコイル状のループアンテナのアンテナ3と、アンテナ3に接続する通信インターフェース回路4と、演算集積回路6(必要に応じてコプロセッサ回路も含む)と記憶回路7と、USB端子部1に接続する第2の通信インターフェース回路8を有し、各回路に電力を供給する電源回路として、内部電源回路9と電池10を有する。
【0016】
アンテナ3は、ループアンテナが好ましい。記憶回路7は、図3のように、例えば2Gバイト程度の大容量のフラッシュメモリとEEPROM(あるいはFRAM)とROM(リードオンリーメモリ)などの不揮発性メモリとRAM(ランダムアクセスメモリ)とを含む。電源回路は、図2のように、充電可能な内部電源回路9と電池10から成る。通信インターフェース回路4は、通信のプロトコルを制御するNFC通信(ISO/IEC21481やISO/IEC18092、ISO/IEC14443、ISO/IEC15693)などの近距離無線通信規格で通信インターフェース回路4を制御する非接触近接通信セキュア用集積回路5と復調回路からなる。非接触近接通信セキュア用集積回路5は、演算集積回路6にその機能を共用させることで、省略することも可能である。図4のように外部機器30のリーダ/ライタ用アンテナ30aをUSB型トークン20の近傍に非接触で配置し、そのリーダ/ライタ用アンテナ30aに磁界を発生させてUSB型トークン20のアンテナ3に誘導起電力を発生させる。その誘導起電力を、図2のUSB型トークン20の通信インターフェース回路4の復調回路が整流回路で整流して直流電力に変換し、それにより内部電源回路9を充電する。
【0017】
図2の非接触近接通信セキュア用集積回路5は演算回路を有し、更に記憶回路(例えば32kB程度のEEPROMと112kB程度のユーザROMと4kB程度のRAM)を内蔵して、これらの記憶回路に非接触近接通信の組み込みソフトウェア(プログラム)を記録させて、それらに記憶したプログラムで動作させるようにすることもできる。あるいは、非接触近接通信セキュア用集積回路5には記憶回路は内蔵させず、記憶回路7のROM等にUSB型トークン20の製造時に書き込んだ非接触近接通信用の組み込みソフトウェア(プログラム)を非接触近接通信セキュア用集積回路5の演算回路が読み出して処理するようにしても良い。
【0018】
また、記憶回路7のROMには、USB型トークン20の製造時点に、USB型トークン20のシリアル番号、数バイトの製造者シリアル番号、仮鍵(輸送鍵)のパスワードや必要なプログラムを書き込む。必要なプログラムはROM以外に、EEPROM(あるい
はFRAM)に書き込んでも良い。記憶回路7のROMに書き込むプログラムは、プログラム読み込み手段のプログラムを含む100Kバイトから300Kバイト程度の組み込みOS(オペレーティングシステム)のプログラムを書き込む。このOSは、JAVA(登録商標)あるいはMULTOS(登録商標)等の汎用OSのプログラムを用いることもできる。更に、電力解析等のタンパー攻撃に対抗する数Kバイトの耐タンパー攻撃プログラムもROMに書き込む。非接触近接通信セキュア用集積回路5の内蔵のROMあるいは、記憶回路7のROMに書き込む記憶非接触近接通信用の組み込みソフトウェア(プログラム)は、複数の変調方式を用いるなどの複数の非接触の通信プロトコル(ISO/IEC21481やISO/IEC18092、ISO/IEC14443、ISO/IEC15693等)を実施するプログラムを書き込むことで、非接触近接通信の複数のプロトコルを生成する手段を構成する。
【0019】
更に、次に説明する非接触近接通信により、演算集積回路6が非接触近接通信のプロトコルを生成するプログラムと、プログラム読み込み手段のプログラムを実行することで、USB型トークン20の記憶回路のEEPROM(あるいはFRAM)に、非接触で、OTP(ワンタイムパスワード)生成プログラム7aと時刻修正プログラム7bとアクセスコントロールプログラム、データ発行IDのデータ、仮の暗証番号(PIN)、そのUSB型トークン20固有の暗号鍵(秘密鍵)のデータとOTPの種データ、更に必要に応じて認証サーバ40等の他の機器の暗号鍵(秘密鍵)のデータとOTPの種データも送信し、USB型トークン20の演算集積回路6がそのデータを記憶回路7のEEPROM(あるいはFRAM)に書き込む。この非接触近接通信により、更に多量のデータやプログラムや1kバイト程度ある電子証明書のデータもこのUSB型トークン20の記憶回路7に書き込むことができる。その書き込み速度は、EEPROMでは、約1ビット/(3m秒)×並列ビット数(例えば8ビット)=約2.5kbpsの速度で書き込んで、1kバイトのデータを3.3秒で書き込むことができる。また、FRAMを用いる場合は、FRAM自体の書き込み速度は、約1ビット/(25μ秒)×並列ビット数(例えば8ビット)=約320kbpsで書き込めるが、13.56MHzの周波数の非接触近接通信の最大の通信速度(約26kbps)に書き込み速度が制約され、結局1Kバイトのデータを約0.32秒でFRAMへ書きむことができる。
【0020】
記憶回路7のEEPROM(あるいはFRAM)には、ユーザ固有のIDデータや暗証番号(PIN;Personal identification number)、公開鍵証明書(フラッシュメモリに書き込んでも良い)のデータ、暗号鍵(秘密鍵)、1Kバイト程度の割符データ(フラッシュメモリに記憶しても良い)等を記憶する。更に、数KバイトのOSのアップデートファイルや、アクセスコントロールプログラム、およびOTP(ワンタイムパスワード)生成プログラム7aと時刻修正プログラム7bと、OTP生成用の数十バイトのOTPの種データを書き込む。また、10Kバイト程度の指紋認証プログラムや静脈認証プログラムと、1Kバイト程度の指紋、静脈データをEEPROM(あるいはFRAM)に書き込む。これら、1Kバイト程度のプログラムやデータは、非接触近接通信で書き込むと、EEPROMに3.3秒で、あるいはFRAMに0.32秒の短時間で書き込むことができる効果がある。
【0021】
記憶回路7のフラッシュメモリには、数Mバイトの割符プログラムや、電子証明書のデータや、(認証局が公開鍵証明書により、その個人に属することを認証した暗号鍵(秘密鍵))(EEPROMに書き込んでも良い)や、契約書の電子データ、デジタル署名と組み合わせて送信すべき大容量の重要ファイルを保存する。さらに演算集積回路6は、主要演算集積回路と暗号コプロセッサとの2種類の演算集積回路で構成することもでき、暗号コプロセッサに暗号処理を分担させるように構成することも可能である。
【0022】
(非接触近接通信)
図4を参照して、本実施形態のUSB型トークン20が外部機器30と非接触近接通信を行うシステムを説明する。USB型トークン20は外部機器30の外部機器30のリーダ/ライタ用アンテナ30aの近傍に非接触で配置する。外部機器30はワンタイムパスワードを発生させるソフトウェアをUSB型トークン30に書き込む装置である。この外部機器30が、単一の周波数の搬送波(13.56MHz等)の交流磁界をリーダ/ライタ用アンテナ30aに発生させる。外部機器30がリーダ/ライタ用アンテナ30aの交流磁界を変調させることで信号を送信する。USB型トークン20は、その交流磁界によりアンテナ3に誘導起電力を発生させて通信インターフェース回路4で信号を感知する。USB型トークン20からの信号の外部機器30への送信方式は、USB型トークン20の通信インターフェース回路4がアンテナ3の負荷インピーダンスを変調させることで行う。外部機器30のリーダ/ライタ用アンテナ30aがUSB型トークン20のアンテナ3の負荷変調を電磁誘導で感知することで、外部機器30がUSB型トークン20から信号を受信する。この場合は、USB型トークン20自体は磁界を発生させないのでUSB型トークン20の電力消費が少ない効果がある。
【0023】
また、USB型トークン20の通信インターフェース回路4は、外部機器30が制御するリーダ/ライタ用アンテナ30aの発生する磁界がアンテナ3に発生する誘導起電力を整流して電源回路の内部電源回路9を充電させ、その内部電源回路9が演算集積回路6と記憶回路7を駆動して外部機器30に応答できるため、電源回路の内部電源回路9へ予め電力を充電しておかないでも、外部機器30から無線で給電されて外部機器30に応答できる効果がある。また、本実施形態のUSB型トークン20が外部機器30との間で行う非接触近接通信は、電磁誘導で通信するため、通信可能範囲が約10cm程度に狭くなる。通信可能範囲が10cm程度に狭くなることで、第三者の盗聴が困難など、物理的な面でセキュリティが優れる効果がある。
【0024】
この非接触近接通信では、外部機器30とUSB型トークン20が近接通信の通信プロトコルで交信する。近接通信のプロトコルは、記憶回路7のROMあるいは接触通信セキュア用集積回路5のROMに書き込まれた非接触近接通信のプロトコル、例えば、NFC通信(近距離無線通信:Near Field Communication)などを用いる。これにより、外部機器30がUSB型トークン20のアンテナ3にコマンド(要求)信号を伝送し、そのコマンド信号を通信インターフェース回路4を介して演算集積回路6に受信させる。また、USB型トークン20から外部機器30への信号は、演算集積回路6が外部機器30にレスポンス(応答)信号を送信する。こうしてアンテナ3に接続する通信インターフェース回路4を有するUSB型トークン20が、リーダ/ライタ用アンテナ30aに接続した外部機器30との間で非接触近接通信を行う。
【0025】
こうして、外部機器30が、近接通信の通信プロトコルでUSB型トークン20にデータを送信する。その外部機器30は、非接触近接通信により、OTP(ワンタイムパスワード)生成プログラム7aと時刻修正プログラム7bやアクセスコントロールプログラムのデータ、データ発行IDのデータ、仮の暗証番号(PIN)、暗号鍵(秘密鍵)のデータ、OTPの種データ、あるいは、電子証明書のデータ等の多量のデータをUSB型トークン20に送信し、USB型トークン20の演算集積回路6がこれらのデータを記憶手段7のEEPROM(あるいはFRAM)に記憶する。EEPROM(あるいはFRAM)にデータを書き込む際に電力を必要とするので、USB型トークン20には電池10を搭載することが望ましいが、USB型トークン20に書き込むデータを送信する外部機器30に十分強い磁界を発生させ、電磁誘導で十分な電力をUSB型トークン20のアンテナ3を介して内部電源9に供給することで、電池10の搭載を省略することも可能である。
【0026】
このように、本実施形態では、USB型トークン20の製造の際に、USB型トークン20にソフトウェアを書き込む外部機器30が、USB型トークン20を外部機器30の
USBコネクタに差し込まずに外部機器30のリーダ/ライタ用アンテナ30aが発生させた磁界を利用した非接触近接通信でソフトウェア(プログラム)やセキュリティ情報をUSB型トークン20に書き込む。これにより、多数のUSB型トークン20に速やかにソフトウェアを書き込むことができる効果がある。この非接触近接通信により、ワンタイムパスワードを発生させるソフトウェア等のデータをUSB型トークン20のアンテナ3に送信し、USB型トークン20の演算集積回路6が、そのデータを記憶回路7に書き込む。このようにして、外部機器30から、非接触の近接通信により、USB型トークン20に、OTP(ワンタイムパスワード)生成プログラム7aのデータ、時刻修正プログラム7bのデータ、OTPの種データ、データ発行IDのデータ、仮の暗証番号(PIN)、暗号鍵(秘密鍵)のデータ、電子証明書のデータなどの秘密データを送信し、それらを記憶回路7に書き込むことができる。外部機器30は、USB型トークン20をUSBコネクタに抜き差しせずに非接触の近接通信でこれらの重要データを書き込むため、外部機器30は、多数のUSB型トークン20に短時間でセキュリティ情報を書き込むことができ、セキュリティ情報書き込みの処理能力を高くできる効果がある。
【0027】
(USB型トークンを認証サーバが認証するシステム)
図4から図6を参照して、OTP(ワンタイムパスワード)生成プログラム7aと時刻修正プログラム7bを書き込まれたUSB型トークン20が、外部機器30と非接触近接通信を行い、外部機器30を介して認証サーバ40と通信を行ない認証処理を行なうシステムを説明する。この認証処理のために、USB型トークン20の演算集積回路6は、記憶回路7に記憶した時刻修正プログラム7bとワンタイムパスワード(OTP)生成プログラム7aを実行することでOTP生成処理を行う。ワンタイムパスワード(OTP)とは、刻々と変化するパスワードのことであり、遠隔地にある端末からネットワークを通じてサーバコンピュータを利用(リモートアクセス)する際に、アクセスしてくる人間が正規のユーザか否かを検証する認証技術として利用され、近年では、インターネット上で個人認証を行う際等に利用されている技術である。
【0028】
(改札ゲート入退場処理)
以下、図4から図6を参照して、外部機器30が入退場の改札ゲートやドアを制御するアクセスコントロール機器である場合について、本実施形態のUSB型トークン20が、外部機器30と非接触近接通信を行い、外部機器30と通信する認証サーバ40がUSB型トークン20を認証して改札ゲートを開閉する改札ゲート入退場処理を説明する。図5に改札ゲート入退場処理の手順を示す。図4の下に認証サーバ40のブロック図を示す。認証サーバ40は、OTP認証手段41と、種鍵データベース46を備える。図4のOTP認証手段41におけるデータ受信部42、OTP検証部43および時刻送信部45は、認証サーバ40のCPUを動作させるコンピュータプログラムで実現され、時計44は一般的なサーバに備えられた時計で実現され、種鍵データベース46はハードディスクなどの情報記憶装置で実現される。
【0029】
(認証サーバと外部機器の動作)
図5のように、先ず、認証サーバ40が、図4のOTP認証手段41が有する時計44で時刻データを作成し、OTP認証手段41の時刻送信部45が、その時刻データを外部機器30に送信する。外部機器30は、時刻データを受信すると、リーダ/ライタ用アンテナ30aに交流磁界を発生させる。すなわち、アクセスコントロール機器である外部機器30が、リーダ/ライタ用アンテナ30aに単一の周波数の搬送波(13.56MHz等)の磁界を発生させ、USB型トークン20のアンテナ3に電磁誘導で電力を給電しつつ、その交流磁界を変調する非接触近接通信で、USB型トークン20に認証サーバ40の時刻データを送信する。また、USB型トークン20にユーザ固有のID(例えば社員番号)データとOTPの送信を要求するコマンドを送信する。
【0030】
(時刻修正処理)
USB型トークン20は、そのアンテナ3の誘導電圧の変化を感知することで、時刻修正プログラム7bを実行して、認証サーバ40から指定された時刻データを外部機器30から受け取り、その時刻データでUSB型トークン20の内部時計の時刻を修正する。これにより、認証サーバ40の時計44の時刻とUSB型トークン20の内部時計の時刻を同期させることができ、認証サーバ40にワンタイムパスワードを計算させる際の負担を軽減できる効果がある。
【0031】
この時刻修正処理は、電源回路が内部電源回路9だけを有し電池10を有さないUSB型トークン20で、しかも、内部電源回路9に電力の蓄積が無くなったUSB型トークン20にも対応できる。それは、そのUSB型トークン20が、最初に、外部機器30のリーダ/ライタ用アンテナ30aの発生する磁界によりアンテナ3に誘導起電力を与えられ、その誘導起電力を通信インターフェース回路4が整流して内部電源回路9を充電させる。次に、その内部電源回路9が演算集積回路6と記憶回路7を駆動して、時刻修正プログラム7bを実行する。それにより、USB型トークン20が外部機器30から時刻データを受信して内部時計の時刻を認証サーバ40の時計44に同期させることができる。
【0032】
この時刻修正処理において、認証サーバ40が、USB型トークン20に認証サーバ40を認証させる逆認証処理を行なうこともできる。すなわち、認証サーバ40の時刻送信部45は、認証サーバ40固有のOTPの種データと時計44の時刻データと暗号鍵(秘密鍵)を用いて、時刻データと認証サーバ40固有のOTPの種データを認証サーバ40固有の暗号鍵で暗号化しワンタイムパスワード(OTP)のデータを作成する。更に、この暗号化の際に、SHA−1、MD5等のハッシュ関数等を用いた演算処理、若しくは特定のアルゴリズムを用いたビット演算等を行うことにより更なるデータ加工を行った上で、ワンタイムパスワードを作成しても良い。すなわち、この暗号化の際に、暗号化アルゴリズムとして、例えば、CAST-256、CRYPTON、DEAL、DFC、E2、FROG、HPC、LOKI97、MAGENTA、MARS、RC6、Rijndael、SAFER+、Serpent、Twofishなどを用い、暗号化アルゴリズの種類によって異なる様々な方法で更なるデータ加工を行い、ワンタイムパスワードを作成することもできる。そして、そのワンタイムパスワードを時刻データとともに、USB型トークン20に送信する。
【0033】
USB型トークン20は、時刻修正プログラム7bが、認証サーバ40からの時刻データとワンタイムパスワードを受信する。次に、時刻修正プログラム7bが、認証サーバ40が用いたのと同じ暗号鍵(秘密鍵)を予め記憶しておいた記憶回路7から読み出して、認証サーバ40固有のOTPの種データを記憶回路7から読み出す。その暗号鍵(秘密鍵)を用いて、認証サーバ40から送られた時刻データと認証サーバ40固有のOTPの種データを暗号化し認証サーバ40と同じアルゴリズムでワンタイムパスワード(OTP)を作成する。そして、作成したワンタイムパスワードを認証サーバ40から送られたワンタイムパスワードと照合する。両者のワンタイムパスワードが一致した場合に、USB型トークン20が認証サーバ40を認証する。次に、時刻修正プログラム7bがUSB型トークン20の内部時計を認証サーバ40から送られた時刻データにより補正するように処理することもできる。
【0034】
(OTP作成処理)
次に、USB型トークン20は、ユーザ固有のID(例えば社員番号)データとOTPの送信を要求するコマンドを受信した場合に、以下の処理を行なう。ここで、USB型トークン20が認証サーバ40を認証する逆認証処理を行なった場合には、USB型トークン20が認証サーバ40を認証した場合に限り、以下の処理を行なう。すなわち、USB型トークン20は、そのOTP作成プログラム7aを動作させ、1分毎(時間設定は自由)に、USB型トークン20の固有の暗号鍵(秘密鍵)を用いて、OTPの種データと内部時計の時刻データを暗号化し、ワンタイムパスワード(OTP)のデータを作成する。更に、この暗号化の際に、SHA−1、MD5等のハッシュ関数等を用いた演算処理、若しくは暗号化アルゴリズの種類によって異なる様々な方法のビット演算等を行うことにより更なるデータ加工を行った上で、ワンタイムパスワードを作成しても良い。そして、USB型トークン20が、通信インターフェース回路4によりアンテナ3の負荷インピーダンスを、このユーザ固有のIDデータとワンタイムパスワードのデータによって変調させる。それにより、外部機器30のリーダ/ライタ用アンテナ30aがUSB型トークン20のアンテナ3の負荷変調を電磁誘導で感知する。それにより、外部機器30(アクセスコントロール機器)がUSB型トークン20からこれらのデータの信号を受信する非接触近接通信を行なう。外部機器30は、以上の処理により受信したユーザ固有のIDデータとOTPのデータを、ネットワークを通じて認証サーバ40に送信する。
【0035】
すなわち、USB型トークン20は、先ず、時刻修正プログラム7bが、認証サーバ40から時刻データを受け取り、その時刻データでUSB型トークン20の内部時計の時刻を修正する。次に、OTP作成プログラム7aを実行し、1分毎(時間設定は自由)に、USB型トークン20の固有の暗号鍵(秘密鍵)を用いて、内部時計の時刻データとOTPの種データを暗号化し、ワンタイムパスワード(OTP)のデータを作成する。更に、この暗号化の際に、SHA−1、MD5等のハッシュ関数等を用いた演算処理、若しくは暗号化アルゴリズの種類によって異なる様々な方法のビット演算等を行うことにより更なるデータ加工を行った上で、ワンタイムパスワードを作成しても良い。そして、作成したワンタイムパスワード(OTP)のデータを認証サーバ40に送信する。また、電池10を有するUSB型トークン20では、USB型トークン本体2に設置したOTP表示ボタン2aを操作者に押させることで、電池10で駆動するOTP表示部2bにOTPを表示して操作者に通知することもできる。操作者には、そのOTPを外部機器30に設置したキーボードから入力させる。外部機器30はそのOTPを認証サーバ40に送信する。OTPの生成は、こうして、USB型トークン20のOTP作成プログラム7aと認証サーバ40が時刻を同期させて、それぞれOTPを生成するタイムスタンプ方式で行なう。
【0036】
(USB型トークンの生体認証機能)
また、USB型トークン20には、更にセキュリティを向上させるために、指紋を読み取るセンサや指静脈を読み取るセンサ等の生体観測手段を設置することもできる。その場合は、記憶回路7のEEPROM(あるいはFRAM)に書き込んだ10Kバイト程度の生体認証ソフトウェアを演算集積回路6が実行する生体認証手段が、生体観測手段からの信号を処理して本人確認を行う生体認証処理を行う。その生体認証処理が本人を確認(認証)した場合に、USB型トークン20から必要なデータが引き出され(USB型トークン20のロックが外され)、本人が認証されない場合は、USB型トークン20にロックをかけ使用を制限する。なお、生体認証に用いる10Kバイト程度の指紋認証プログラムのデータは、外部機器30から非接触近接通信によりUSB型トークン20に送信し、USB型トークン20の演算集積回路6が記憶回路7のEEPROM(あるいはFRAM)に記憶することにより、多数のUSB型トークンに短時間にプログラムを書き込むことが可能である。
【0037】
(認証サーバの構成)
認証サーバ40は、図4のように、OTP認証手段41と種鍵データベース46を有する。OTP認証手段41は、データ受信部42と、OTP検証部43と、時計44と、時刻データをUSB型トークン20に送信する時刻送信部45を有する。図6に、種鍵データベース46のID−OTP対応データ47のデータ構造を示す。すなわち、種鍵データベース46には、USB型トークン20毎に割り振られた識別データであるユーザIDとUSB型トークン20に記憶されたOTPの種データを一対にして関連付けたID−OTP対応データ47を記憶する。
【0038】
データ受信部42は、外部機器30から、認証するUSB型トークン20のユーザ固有のID及びワンタイムパスワード(OTP)を取得する。次に、OTP検証部43は、種鍵データベース46のID−OTP対応データ47からユーザ固有のIDに関連付けられたOTPの種データと暗号鍵(秘密鍵)を抽出する。次に、その暗号鍵(秘密鍵)を用いて、時刻データとOTPの種データを暗号化しUSB型トークン20と同じアルゴリズムでワンタイムパスワード(OTP)を作成する。そして、作成したワンタイムパスワード(OTP)とUSB型トークン20から取得したOTPを比較し、一致すれば、USB型トークン20を認証する。
【0039】
(認証サーバの認証処理)
図4のように、認証サーバ40は、ユーザ固有のIDデータとOTPをデータ受信部42で受け取る。次に、認証サーバ40のOTP検証部43が、受信したOTPとは独立に、USB型トークン20と同じOTP作成プログラムを実行し、USB型トークン20と同じ暗号鍵(秘密鍵)を用いて、時刻データとUSB型トークン20のID毎のOTPの種データを暗号化しUSB型トークン20と同じアルゴリズムでワンタイムパスワード(OTP)を作成する。次に、OTP検証部43が、自身が作成したOTPと受信したOTPとを比較して一致するか否かを判定してUSB型トークン20の認証を行う。
【0040】
認証サーバ40のOTP検証部43がOTPを作成する処理は、以下のように行なう。すなわち、先ず、受信したユーザ固有のIDに基づき、ID−OTP対応データ47から、受信したユーザ固有のIDに関連付けられているOTPの種データ(シード値)と暗号鍵(秘密鍵)を抽出する。次に、その暗号鍵(秘密鍵)を用いて、時計44の時刻データとOTPの種データを、USB型トークン20のOTP作成プログラム7aと同じアルゴリズムで暗号化しワンタイムパスワード(OTP)を作成する。そして、作成したワンタイムパスワードと、データ受信部42がUSB型トークン20から取得したワンタイムパスワードを照合する。両者が一致する場合に、USB型トークン20を登録されたユーザとして認証する。
【0041】
(改札ゲート開閉処理)
認証サーバ40は、認証結果をネットワークを通じて外部機器30(アクセスコントロール機器)に返信する。外部機器30(アクセスコントロール機器)は、認証サーバ40がUSB型トークン20の認証に成功した場合に、認証サーバ40が認証したUSB型トークン20のユーザーの資格に応じて入退場の改札ゲートを開閉する。あるいは、外部機器30のアクセスコントロールの種類に応じて、家屋のドアの開閉、あるいは家屋や車のドアの鍵の開錠等のアクセスコントロール機器を制御する。
【0042】
(USB型トークンの外部機器のUSBコネクタへの接続処理)
また、USB型トークン20は、図7のように、そのUSB端子1を外部の情報処理装置などの外部機器30のUSBコネクタに電気接続して、外部機器30からUSB(2.0)の規格で高速に、電子証明書のデータ、電子割符のデータ、指紋認証や指静脈による認証などの生体認証ソフトウェアや、それらのソフトウェアに関連するファイル(割符ファイル、履歴情報など)のデータを送受信することができる。また、外部機器30のUSB端子に接続時に、USB型トークン20の内部電源回路9が外部機器30から電力を充電するようにすることもできる。
【0043】
(PIN認証処理)
図7を参照して、USB型トークン2を情報処理装置などの外部機器30のUSBコネクタに差し込んで使用する例を説明する。USB型トークン20のUSB端子1を外部機器30のUSBコネクタに電気接続する際に、最初に、以下に説明するPIN認証処理を
行う。USB型トークン20は、記憶回路7のEEPROMに暗証番号(PIN)を記憶する。このPIN番号は、最初に、非接触近接通信により仮の暗証番号(PIN)をUSB型トークン20に送付し、USB型トークン20は受け取ったデータを記憶手段7のEEPROMに書き込んで記憶しておく。その暗証番号(PIN)をUSB型トークン20の保持者が情報処理装置などの外部機器30のキーボードから正しいPIN番号を入力して、外部機器30がそのPIN番号をUSB型トークン20に送信してUSB型トークン20に認証された後に、USB型トークン20のPIN番号を書き換えてUSB型トークン20を使用する。外部機器30のPIN認証処理は、USB型トークン20の保持者が、外部機器30のUSBコネクタにUSB型トークン20を差し込むことで開始される。
【0044】
(外部機器の処理1)外部機器30のセキュリティ手段は、USB型トークン20の設置者に、キーボードからUSB型トークン20の暗証番号(PIN)と同じPIN番号を入力することを要求する。
(外部機器の処理2)外部機器30は、キーボードから入力したPIN番号をUSB型トークン20に送信する。USB型トークン20では、外部機器30から送信されたPIN番号を読み込んで、EEPROMに記憶してあるPIN番号と照合する処理を行う。USB型トークン20が外部機器30に照合結果の可否を送信する。両者のピン番号が一致した場合は、外部機器30がそのUSB型トークン20と、その設置者を認証し、その外部機器30の使用を可能にする(USB型トークンのロックも外す)。外部機器30からUSB型トークン20が取り外された場合には、外部機器30(及びUSB型トークン)にロックをかけ使用を制限する。
【0045】
(外部機器の処理3)また、外部機器30は、認証したUSB型トークン20が差し込まれている間は、その外部機器30がネットワークを通じて認証サーバ40にアクセスする際に、その認証サーバ40の要求するワンタイムパスワード(OTP)等のパスワードをUSB型トークン20から読み出して認証サーバ40に送信することで認証サーバ40からワンタイムパスワード(OTP)等で認証されるシングルサインオン動作を行う。シングルサインオン動作とは、外部機器30をLANに接続する際のパスワード等の認証に必要なデータの送信、認証サーバ40に接続する際のパスワード等の認証に必要なデータの送信を、USB型トークン20から必要データを読み出して、自動的に相手サーバに送信する動作であり、操作者の操作の手間を省く動作である。USB型トークン20から外部機器30を介して認証サーバ40に絶えずワンタイムパスワード(OTP)を送信し、認証サーバ40に絶えず認証処理を行わせることで、USB型トークン20を設置した外部機器30と認証サーバ40との通信のセキュリティを高めることができる効果がある。
【0046】
(デジタル署名作成処理)
USB型トークン20は、以下に説明するデジタル署名作成処理を行う。USB型トークン20のUSB端子部1を外部機器30のUSBコネクタに差し込んで、操作者が外部機器30のキーボードからPIN番号を入力し、そのPIN番号を外部機器30がUSB型トークン20に送信し、USB型トークン20で、EEPROMに記憶したPIN番号とキーボードから入力されたPIN番号を照合するPIN認証処理を行い、両者が一致するか不一致であるかの照合結果を外部機器30に送信する。外部機器30では、両PIN番号が一致している照合結果を受信した場合に外部機器30の処理を立ち上げる。次に、外部機器30が、USB型トークン20に公開鍵証明書のデータの送信を要求する。次に、USB型トークン20が公開鍵証明書のデータを外部機器30に送信する。外部機器は、その公開鍵証明書のデータを認証サーバ40に送信する。認証サーバ40は、公開鍵証明書のデータが正しいかどうかを確認した上でチャレンジ(乱数)データを外部機器30を経由してUSB型トークン20に送信する。
【0047】
次に、USB型トークン20の演算集積回路6がデジタル署名の暗号鍵(秘密鍵)を記
憶回路7から読み出して、その暗号鍵(秘密鍵)を用いて、受信したチャレンジ(乱数)データを暗号化する。その暗号化したデータ(電子署名)を、外部機器30を経由して認証サーバ40に送信する。認証サーバ40は、この電子署名を受け取ると、USB型トークン20と前記公開鍵証明書の公開鍵を用いて、暗号化したデータを元に復元する。そして、その復元したデータが先に送付したチャレンジ(乱数)データと比較し、両者が一致することで、文書に署名を行なったのが送信者本人であることと、文書が通信途上で改ざんされていないことを確認する。電子証明書(公開鍵証明書)は認証局が発行したデータであるので、認証サーバ40がその個人(送信者)に属する確証を得ることができる。
【0048】
(電子割符処理)
また、USB型トークン20の記憶回路7のフラッシュメモリには、2Mバイトから3Mバイトのデータ量の電子割符処理のプログラムを記憶させることができる。電子割符処理のプログラムをUSB型トークン20に常駐させ、外部機器30がUSB型トークン20の電子割符プログラムを参照して電子割符処理を外部機器30に行わせることで、外部機器30に電子割符を合わせた全データを残留させず、電子割符データの秘匿性を高めることができる効果がある。
【産業上の利用可能性】
【0049】
本発明は、外部機器30が、多数のUSB型トークン20をUSBコネクタに抜き差しせずに非接触で短時間にOTP作成プログラム7aや時刻修正プログラム7b、暗号鍵、電子証明書等の多量のデータを多数のUSB型トークン20に短時間に書き込むUSB型トークン20に利用できる。
【符号の説明】
【0050】
1・・・USB端子部
2・・・USB型トークン本体
2a・・・OTP表示ボタン
2b・・・OTP表示部
3・・・アンテナ
4・・・通信インターフェース回路
5・・・非接触近接通信セキュア用集積回路
6・・・演算集積回路
7・・・記憶回路
7a・・・OTP(ワンタイムパスワード)作成プログラム
7b・・・時刻修正プログラム
8・・・第2の通信インターフェース回路
9・・・内部電源回路
10・・・電池
20・・・USB型トークン
30・・・外部機器
30a・・・リーダ/ライタ用アンテナ
40・・・認証サーバ
41・・・OTP認証手段
42・・・データ受信部
43・・・OTP検証部
44・・・時計
45・・・時刻送信部
46・・・種鍵データベース
47・・・ID−OTP対応データ

【特許請求の範囲】
【請求項1】
USB端子部を備えたUSB型トークンであって、アンテナに接続して非接触近接通信を行う通信インターフェース回路と、前記通信インターフェース回路に接続しデータを送受する演算集積回路と記憶回路を有し、前記演算集積回路が前記記憶回路に記憶した非接触近接通信のプロトコルを生成する手段と、プログラム読み込み手段を有し、前記プログラム読み込み手段が、外部機器から非接触近接通信により、少なくともワンタイムパスワード作成プログラムと時刻修正プログラムとを受信し前記記憶回路に記憶し、前記時刻修正プログラムが外部機器から非接触近接通信により時刻データを受信し内部時計の時刻を修正する処理を行ない、前記ワンタイムパスワード作成プログラムがワンタイムパスワードのデータを作成し非接触近接通信により前記外部機器に送信する処理を行なうことを特徴とするUSB型トークン。
【請求項2】
請求項1に記載のUSB型トークンであって、アクセスコントロール機器の前記外部機器の有するリーダ/ライタ用アンテナが発生する磁界から電力を受けて前記ワンタイムパスワード作成プログラムと前記時刻修正プログラムを実行することを特徴とするUSB型トークン。
【請求項3】
請求項1又は2に記載のUSB型トークンであって、前記外部機器から非接触近接通信により暗号鍵(秘密鍵)のデータを受信し前記記憶回路に記憶することを特徴とするUSB型トークン。
【請求項4】
請求項1乃至3の何れか一項に記載のUSB型トークンであって、前記非接触近接通信のプロトコルを生成する手段が、非接触近接通信の複数のプロトコルを生成することを特徴とするUSB型トークン。
【請求項5】
請求項1乃至4の何れか一項に記載のUSB型トークンであって、生体観測手段を有し、前記生体観測手段からの信号により本人確認を行う生体認証手段を有し、前記生体認証手段が本人を確認した場合にロックを外すことを特徴とするUSB型トークン。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−2994(P2011−2994A)
【公開日】平成23年1月6日(2011.1.6)
【国際特許分類】
【出願番号】特願2009−145185(P2009−145185)
【出願日】平成21年6月18日(2009.6.18)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.FRAM
【出願人】(000003193)凸版印刷株式会社 (10,630)
【Fターム(参考)】