(57)【要約】 【課題】  ＰＣのキーロックデバイスとして安全性を向上したＵＳＢモジュールを提供する。【解決手段】  コンピュータ１０に着脱自在に接続されてユーザーの認証に用いるＵＳＢモジュール２０であって、乱数生成器２０４と、その生成乱数ＲＤを鍵情報として保存するメモリ２０３を備える。鍵情報に乱数を用いることにより、鍵情報の予測・生成を困難にでき、よって、高いセキュリティを確保できる。この鍵情報は、ユーザーが再設定可能である。【選択図】    図１
2006018545.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに着脱自在に接続されてユーザーの認証に用いるＵＳＢモジュールであって、
乱数生成器と、その生成乱数を鍵情報として保存するメモリを備えることを特徴とするＵＳＢモジュール。
【請求項２】
前記メモリ内の鍵情報を前記コンピュータよりユーザーが再設定可能とすることを特徴とする請求項１に記載のＵＳＢモジュール。
【請求項３】
さらに、前記乱数生成器の生成乱数を別の鍵情報として保存する別のメモリを備え、且つ、ユーザーによる当該別の鍵情報の再設定を不可とすることを特徴とする請求項１に記載のＵＳＢモジュール。
【請求項４】
前記コンピュータとの接続毎に前記別の鍵情報を自動更新することを特徴とする請求項３に記載のＵＳＢモジュール。
【請求項５】
前記乱数生成器は、二つの入力部に入力される信号の位相差に応じて出力の状態（０または１）が確定するフリップ・フロップと、これら二つの入力信号に位相差を生じさせる遅延回路と、前記入力信号によるフリップ・フロップ出力の０または１の出現率が所定の繰り返し周期内で一定になるように前記位相差を制御する位相制御回路とで構成されることを特徴とする請求項１から請求項４までの何れかに記載のＵＳＢモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータを使用可能なユーザーを認証するためのＵＳＢモジュールに関するものである。
【背景技術】
【０００２】
近年、パーソナルコンピュータ（以下、ＰＣという）においては、社内ＬＡＮやインターネット等の普及に伴う第三者からのアクセスの機会が増加しており、このため、ＰＣのセキュリティ確保が益々重要視されてきている。
一方では、既存のＵＳＢ機器に登録されているベンダーＩＤ、プロダクトＩＤ、デバイスＩＤ、シリアル番号等の各情報をセキュリティチェックのための認証用（鍵情報）として利用し、ＰＣ使用時に、このＵＳＢ機器をＰＣに接続することによりユーザーの認証を行うことで、ＰＣのセキュリティを確保するものが提案されている。
【０００３】
つまり、ＰＣにＵＳＢ機器が接続されると、ＰＣに予めインストールしたソフトウエアが双方の鍵情報が一致するかどうかを判断し、一致した場合のみＰＣのロックを解除して使用を許可するようにしている。
係る認証装置として、例えば、特許文献１が開示されており、また、鍵情報として乱数を用いるものとして特許文献２が開示されている。
【特許文献１】特開２００２−２５１２２６号公報
【特許文献２】特開２００３−２１６０３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、プリンタや据え置き型ハードディスクドライブ等のように、持ち運び困難なＵＳＢ機器をキーロックデバイスとした場合、ＰＣ利用者が離席した際等に第三者によって鍵解除されてしまう可能性があるため適切とは言い難い。本来ＰＣの利用者が一時的に席を離れるような場合にこそ、安全対策が必要不可欠であるといえる。
また、持ち運び可能なＵＳＢ装置であっても、本来、ベンダーＩＤ、プロダクトＩＤ、シリアル番号等は固有固定の解析可能な情報であることからＵＳＢ装置の複製が可能であって、安全性が高いとは言い難い。
【０００５】
本発明は、係る問題に鑑みて成されたもので、乱数を鍵情報として用いて鍵情報を予測困難にすることにより、ＰＣのキーロックデバイスとして安全性を向上したＵＳＢモジュールを提供することを目的としている。
【課題を解決するための手段】
【０００６】
すなわち、請求項１に記載の本発明は、コンピュータに着脱自在に接続されてユーザーの認証に用いるＵＳＢモジュールであって、乱数生成器と、その生成乱数を鍵情報として保存するメモリを備えることを特徴としている。
本構成では、乱数を鍵情報に用いることにより鍵情報の予測・生成を困難にでき、キーロックデバイスの複製を抑制して高いセキュリティを確保できる。
【０００７】
また、請求項２に記載の本発明は、請求項１に記載のＵＳＢモジュールにおいて、前記メモリ内の鍵情報を前記コンピュータよりユーザーが再設定可能とすることを特徴としている。
本構成では、ユーザーが鍵情報を再設定することにより鍵情報の予測・生成をさらに困難にし、高いセキュリティを確保できる。
【０００８】
また、請求項３に記載の本発明は、請求項１に記載のＵＳＢモジュールにおいて、さらに、前記乱数生成器の生成乱数を別の鍵情報として保存する別のメモリを備え、且つ、ユーザーによる当該別の鍵情報の再設定を不可とすることを特徴としている。
本構成では、ユーザーが鍵情報の存在を認識できないことから、鍵情報の予測・生成をさらに困難にし、高いセキュリティを確保できる。
【０００９】
また、請求項４に記載の本発明は、請求項３に記載のＵＳＢモジュールにおいて、前記コンピュータとの接続毎に前記別の鍵情報を自動更新することを特徴としている。
本構成では、ユーザーに意識させることなく、乱数を用いた鍵情報が自動更新されるため、鍵情報の予測・生成をさらに困難にし、高いセキュリティを確保できる。
【００１０】
また、請求項５に記載の本発明は、請求項１から請求項４までの何れかに記載のＵＳＢモジュールにおいて、前記乱数生成器は、二つの入力部に入力される信号の位相差に応じて出力の状態（０または１）が確定するフリップ・フロップと、これら二つの入力信号に位相差を生じさせる遅延回路と、前記入力信号によるフリップ・フロップ出力の０または１の出現率が所定の繰り返し周期内で一定になるように前記位相差を制御する位相制御回路とで構成されることを特徴としている。
本構成では、規則性、相関性、周期性を有しない物理乱数が得られることから、仮にＵＳＢモジュールを複製されても肝心の鍵情報の生成は実質的に不可能であり、よって、極めて高いセキュリティが確保できる。
【発明の効果】
【００１１】
以上説明したように、本発明によれば、認証用の鍵情報として乱数を用いたので、鍵情報の予測・生成を困難にでき、よって、高いセキュリティを確保できる。また、ユーザーがこの鍵情報を再設定できるようにすると、セキュリティはさらに向上する。また、上記鍵情報とは別に、ユーザーが再設定できない新たな鍵情報を追加し、その鍵情報をコンピュータとの接続毎に自動更新するようにすると、セキュリティはさらに向上する。
また、乱数に、規則性、相関性、周期性を有しない物理乱数を用いると、鍵情報の予測・生成は実質的に不可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、図面に基づいて本発明の実施形態を説明する。
図１は本発明の第１実施形態による認証装置の構成を示し、図２は第１実施形態による認証装置の動作シーケンスを示し、図３は第１実施形態による鍵情報の書き換え処理を示し、図４は本発明に係る第２実施形態による認証装置の構成を示し、図５は第２実施形態による認証装置の動作シーケンスを示し、図６は第２実施形態による鍵情報の書き換え処理を示し、図７は本発明の乱数生成器の概略構成を示している。
【００１３】
図１に示すように、本実施形態の認証装置は、ＰＣ１０と、このＰＣ１０に着脱自在に接続され、且つ、ＵＳＢ規格に適合するＵＳＢモジュール２０とで構成されている。
【００１４】
ＵＳＢモジュール２０は、ＰＣ１０のＵＳＢボードに接続可能なＵＳＢコネクタ２０１と、ＰＣ１０との間の情報通信を制御するＵＳＢコントローラ２０２と、ベンダーＩＤ、プロダクトＩＤ、シリアル番号等、ユーザーがＯＳ上で確認可能なデバイスディスクリプタ情報を保存しておくためのメモリ２０３（例えば、ＥＥＰＲＯＭを使用）と、乱数生成器２０４とを備えている。このＵＳＢモジュール２０は携帯可能なサイズである。
【００１５】
ＵＳＢコントローラ２０２は、ＰＣ１０との間のインターフェース制御の他、メモリ２０３の読み出し／書き込み動作も制御するが、メモリ制御はＵＳＢコントローラ２０２と乱数生成器２０４との間に別個ＣＰＵを介在して行うようにしても良い。
また、ベンダーＩＤ、プロダクトＩＤ、シリアル番号については、メモリ２０３を設けず、ＵＳＢコントローラ２０２内、または、別個用意したＣＰＵの各記憶エリアに保存するようにしても構わない。
【００１６】
ベンダーＩＤは周辺機器メーカー固有の不変的な番号であって、本来、ＰＣがＵＳＢを認証する上で必要とされている。プロダクトＩＤは製品管理を目的として自社製品に割り振る不変的な番号であって、本来、ＰＣがＵＳＢを認証する上で必要とされている。
シリアル番号は製品のシリアル管理を目的に利用可能な番号であって、本来、ＵＳＢの認証に必要でないが、本発明では、乱数生成器２０４の生成乱数ＲＤを当メモリエリアに保存し、ＵＳＢ認証時の鍵情報として使用するようにしている。
以下、このシリアル番号の保存エリアに保存される乱数情報をシリアル番号と呼ぶことにする。
【００１７】
一方、ＰＣ１０には、ＵＳＢモジュール２０を認識するための専用のデバイスドライバと、プロテクト用のアプリケーションソフト（認証および鍵情報を書き換えるためのソフト）がインストールされており、上記構成のＵＳＢモジュール２０をＰＣ１０に接続することにより、ＰＣ１０とＵＳＢモジュール２０とが電気的に接続されると共に、上記アプリケーションソフトが実行されることにより、両者間でＵＳＢ規格に準じたデータ通信が行えるようになっている。
【００１８】
以下、第１実施形態による認証装置の動作（ＰＣ１０側とＵＳＢモジュール２０側の動作・処理）を図２のシーケンス図を参照して説明する。尚、ＵＳＢモジュール２０側の処理はＵＳＢコントローラ２０２の制御のもとで行われる。
【００１９】
先ず、ＰＣ１０に電源を投入するとオペレーティングシステム（ＯＳ）が起動し、次いで、予めインストールされているプロテクト用のアプリケーションソフトが起動する（Ｓ１）。
ＰＣ１０のＵＳＢポートにＵＳＢモジュール２０が接続されると、ＵＳＢモジュール２０はＰＣ１０に対して接続情報を送信する（Ｓ２−Ｓ３）。
ＰＣ１０は、この接続情報によりＵＳＢモジュール２０の接続を認識し、ＵＳＢモジュール２０に対してＩＤ情報（デバイスディスクリプタ情報）を要求する（Ｓ４−Ｓ５）。
ＵＳＢモジュール２０は、ＩＤ情報の要求を受けてメモリ２０３の情報保存エリアより必要なＩＤ情報（本実施形態では、鍵情報としてシリアル番号を利用する）を読み出してＰＣ１０に送信する（Ｓ６−Ｓ７）。
ＰＣ１０は、受信したＩＤ情報（鍵情報）と予めＰＣ（即ち、ＯＳ）に登録されている鍵情報を照合し、双方が一致した場合のみＰＣプロテクトを解除する（Ｓ８−Ｓ９）。これで、プロテクト処理が終了する。
すなわち、ＰＣ１０にＵＳＢモジュール２０を接続することにより、ＰＣ１０のロックが解除され、ユーザーはＰＣ１０の使用が可能となる。
【００２０】
次に、鍵情報としてのシリアル番号を変更する場合は、アプリケーションソフトのシリアル番号書き換え処理が実行され、その処理の中でＰＣ１０はＵＳＢモジュール２０に対してシリアル番号の変更を要求する（Ｓ１０−Ｓ１１）。
ＵＳＢモジュール２０は、シリアル番号の変更要求を受けると、乱数生成器２０４で生成した乱数ＲＤを新たなシリアル番号情報としてＰＣ１０に送信する（Ｓ１２−Ｓ１３）。
ＰＣ１０は、この乱数による鍵情報を受信し、新たなシリアル番号として承認する（Ｓ１４−Ｓ１５）。
ＵＳＢモジュール２０は、新たなシリアル番号の承認を受けてメモリ２０３内のシリアル番号保存エリアの内容をＰＣ１０で承認された乱数情報にて更新する（Ｓ１６）。
情報更新後、ＰＣ１０のＯＳの情報が更新されることにより、プロテクト用ソフトが認識しているシリアル番号情報が更新される（Ｓ１７−Ｓ１８）。
【００２１】
次に、図２のシーケンスにおいて用いたシリアル番号書き換え処理の実行例を図３に示す。尚、この処理は図２にけるシーケンスＳ１０〜Ｓ１８に対応するものである。
【００２２】
図３によれば、書き換え処理におけるＵＳＢの認証判定を始めとして、シリアル番号の生成コマンド、シリアル番号の取得コマンド、シリアル番号のロードフラグ設定コマンド等各種コマンド動作に対するＵＳＢモジュール２０の応答にエラーが発生した場合は、直ちにユーザーに通知されるようになっている。また、書き換え処理が正常終了した際には、ユーザーにその旨が通知されると共に、更新後のシリアル番号の通知も可能とされている。
書き換え終了後は、ＰＣ１０のＯＳに新たな鍵情報を認識・登録させるため、ＵＳＢモジュール２０の初期化（リセット）、または、抜き差しする（ＰＮＰ）必要がある。
【００２３】
以上のように、本発明の第１実施形態では、従来の固有固定の解析可能な鍵情報に替えて、乱数生成器からの乱数を鍵情報として用いることにより、鍵情報の予測・生成を困難にでき、高いセキュリティを確保できる。加えて、本実施形態では、ユーザーが鍵情報を任意に再設定できるようにしているので、鍵情報の予測・生成をより一層困難なものにすることができ、より高いセキュリティを確保した、高セキュリティデバイスを実現できる。
【００２４】
次に、図４に基づいて本発明の第２実施形態を説明する。
本実施形態のＵＳＢモジュール２０が、ＵＳＢコネクタ２０１、ＵＳＢコントローラ２０２、メモリ２０３、乱数生成器２０４で構成される点は図１に示す第１実施形態と同様であるが、メモリ２０３における鍵情報の保存エリアとして、ベンダーＩＤ、プロダクトＩＤ、シリアル番号の各保存エリアの他、鍵ＩＤの保存エリアを有する点が相違している。
この鍵ＩＤは、シリアル番号と共に認証用の鍵情報として使用されるもので、乱数生成器２０４の生成乱数ＲＤを用いて設定されると共に、シリアル番号と相違し、ユーザーがＯＳ上で確認できないようになっている。尚、ベンダーＩＤ、プロダクトＩＤ、シリアル番号については、ＵＳＢコントローラ２０２内の各記憶エリアに保存しておくことも勿論可能である。
【００２５】
以下、第２実施形態による認証装置の動作（ＰＣ１０側とＵＳＢモジュール２０側の動作・処理）を図５のシーケンス図を参照して説明する。尚、ＵＳＢモジュール２０側の処理はＵＳＢコントローラ２０２の制御のもとで行われる。
【００２６】
先ず、ＰＣ１０に電源を投入するとオペレーティングシステム（ＯＳ）が起動し、次いで、予めインストールされているプロテクト用のアプリケーションソフトが起動する（Ｓ２０）。
ＰＣ１０のＵＳＢボードにＵＳＢモジュール２０が接続されると、ＵＳＢモジュール２０はＰＣ１０に対して接続情報を送信する（Ｓ２１−Ｓ２２）。
ＰＣ１０は、この接続情報によりＵＳＢモジュール２０の接続を認識し、ＵＳＢモジュール２０に対してＩＤ情報（デバイスディスクリプタ情報）を要求する（Ｓ２３−Ｓ２４）。
ＵＳＢモジュール２０は、ＩＤ情報の要求を受けてメモリ２０３の情報保存エリアより必要なＩＤ情報（本実施形態では、鍵情報としてシリアル番号を利用する）を読み出してＰＣ１０に送信する（Ｓ２５−Ｓ２６）。
ＰＣ１０は、受信したＩＤ情報（シリアル番号）と予めＰＣ（即ち、ＯＳ）に登録されている鍵情報（シリアル番号）を照合し、双方が一致した場合、ＵＳＢモジュール２０に対して別の鍵情報（鍵ＩＤ）を要求する（Ｓ２７−Ｓ２８）。
ＵＳＢモジュール２０は、鍵ＩＤ情報の要求を受けると、メモリ２０３の鍵ＩＤ情報保存エリアより鍵ＩＤ情報を読み出してＰＣ１０に送信する（Ｓ２９−Ｓ３０）。
ＰＣ１０は、受信した鍵ＩＤ情報と予めＰＣ（即ち、ＯＳ）に登録されている鍵ＩＤ情報を照合し、双方が一致した場合のみＰＣプロテクトを解除すると共に、この鍵ＩＤ情報の更新を行うべく、ＵＳＢモジュール２０に対して新たな鍵ＩＤ情報の生成を自動的に要求する（Ｓ３１−Ｓ３２）。
ＵＳＢモジュール２０は、鍵ＩＤの生成要求を受けると乱数生成器２０４で生成した乱数ＲＤを新たな鍵ＩＤ情報としてメモリ２０３内の鍵ＩＤ保存エリアに上書き保存すると共に、当鍵ＩＤ情報をＰＣ１０に送信する（Ｓ３３−Ｓ３５）。
ＰＣ１０は、新たな鍵ＩＤ情報を受けてＰＣに登録されている鍵ＩＤ情報を書き換え、プロテクト用ソフトが認識している鍵ＩＤ情報を更新する。これでプロテクト処理は終了する。（Ｓ３６）。
【００２７】
このように、本実施形態では、ユーザーがその存在を認識できない（ＯＳ上で認識できない）鍵ＩＤ情報を用いることにより、鍵情報の予測・生成を一層困難なものにすることができ、加えて、この鍵ＩＤ情報の更新がＵＳＢモジュール２０の接続毎にユーザーが関与することなく自動的に行われるため、極めて高いセキュリティを確保できるものである。
【００２８】
次に、ユーザーがシリアル番号を変更する場合は、アプリケーションソフトのシリアル番号書き換え用ソフトが実行され、その処理の中でＰＣ１０はＵＳＢモジュール２０に対してシリアル番号の変更を要求する（Ｓ３７−Ｓ３８）。
ＵＳＢモジュール２０は、シリアル番号の変更要求を受けると、乱数生成器２０４で生成した乱数ＲＤを新たなシリアル番号情報としてＰＣ１０に送信する（Ｓ３９−Ｓ４０）。
ＰＣ１０は、この乱数による鍵情報を受信し、新たなシリアル番号として承認する（Ｓ４１−Ｓ４２）。
ＵＳＢモジュールは、新たなシリアル番号の承認を受けてメモリ２０３のシリアル番号保存エリアの内容をＰＣ１０で承認された乱数情報にて更新する（Ｓ４３）。
情報更新後、ＰＣ１０のＯＳが更新されることにより、プロテクト用ソフトが認識しているシリアル番号情報が更新される（Ｓ４４−Ｓ４５）。
【００２９】
次に、図５のシーケンスにおける鍵ＩＤ書き換え処理の実行例を図６に示す。尚、この処理は主に図５にけるシーケンスＳ２３〜Ｓ３６に対応するものである。
【００３０】
図６によれば、ＵＳＢの認証判定にエラーが生じた場合は、直ちにユーザーにエラーが通知されると共に、鍵ＩＤの生成コマンドや鍵ＩＤの取得コマンドに対するＵＳＢモジュール２０の応答にエラーが発生した場合は、鍵ＩＤの書き換えを失敗したことをユーザーに通知し、鍵ＩＤの認証を停止するようになっている。
【００３１】
以上、第１実施形態および第２実施形態において用いた乱数は、ＣＰＵ等によって生成した疑似乱数を用いることも勿論可能であるが、本発明では、ＵＳＢモジュール２０に搭載した乱数生成器２０４により生成される物理乱数を用いている。
【００３２】
乱数生成器２０４は、図７に示すように、乱数ＲＤを出力するフリップ・フロップ１と、このフリップ・フロップ１の入力間（ＣＬＫ端子、Ｄ端子）に位相差を与える遅延回路２、３と、遅延回路３の遅延時間を調整する位相制御回路４とで概略構成されている。
【００３３】
位相制御回路４は、ＣＬＫ信号の所定の繰り返し周期を計測すると共に、この所定周期内におけるフリップ・フロップ出力（乱数データＲＤ）の１または０の数を監視して、その出現率が一定値（例えば、５０％）に維持されるよう遅延回路３の遅延時間を自動調整するフィードバック制御を行い、結果的には、フリップ・フロップ１に入力される二つの入力信号の位相差を０に近づけていくように動作する。
【００３４】
乱数生成器２０４で生成された乱数ＲＤは規則性、相関性、周期性を有しない物理乱数であるから、鍵情報として仮にＵＳＢモジュール２０を複製されても肝心の鍵情報の生成は実質的に不可能であり、よって、極めて高いセキュリティが確保できるものである。
【図面の簡単な説明】
【００３５】
【図１】本発明の第１実施形態による認証装置の構成を示すブロック図。
【図２】本発明の第１実施形態による認証装置の動作シーケンスを示す図。
【図３】本発明の第１実施形態による鍵情報の書き換え処理を示すフローチャート。
【図４】本発明の第２実施形態による認証装置の構成を示すブロック図。
【図５】本発明の第２実施形態による認証装置の動作シーケンスを示す図。
【図６】本発明の第２実施形態による鍵情報の書き換え処理を示すフローチャート。
【図７】乱数生成器の概略構成を示すブロック図。
【符号の説明】
【００３６】
１  フリップ・フロップ
２、３  遅延回路
４  位相制御回路
１０  コンピュータ（ＰＣ）
２０  ＵＳＢモジュール
２０３  メモリ
２０４  乱数生成器
【図１】
2006018545.tif 000003
【図２】
2006018545.tif 000004
【図３】
2006018545.tif 000005
【図４】
2006018545.tif 000006
【図５】
2006018545.tif 000007
【図６】
2006018545.tif 000008
【図７】
2006018545.tif 000009