説明

セキュリティアダプタ

【課題】保護対象情報の生成機能を有さない外部メモリであっても、保護対象情報を扱えるようにする。
【解決手段】セキュリティアダプタ1は、第1インタフェースと、第2インタフェースと、コントローラ10とを有する。第1インタフェースは、コンピュータ装置との間で用いられる情報を送受信する。第2インタフェースは、外部メモリとの間で用いられる情報を送受信するためのものであって、セキュリティ領域が設けられる外部メモリとの間で用いられる情報を送受信する。コントローラ10は、セキュリティ領域に対するアクセス権限を有する正規の使用者か否かを、少なくともコンピュータ装置を通じて送られた認証情報に基づいて判断するセキュリティ処理を行い、かつ、セキュリティ処理で、コンピュータ装置の使用者が正規の使用者と判断されたことを条件に、コンピュータ装置からの要求に基づくセキュリティ領域に対する保護対象情報の読み出し処理及び書き込み処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、セキュリティアダプタに関する。
【背景技術】
【0002】
コンピュータ装置の普及により、データやプログラムといった各種の情報を、外付けのハードディスクやUSBメモリ等の外部メモリに記憶することが行われている。このような外部メモリに記憶される情報の中には、機密性が要求される保護対象情報もある。この保護対象情報は、正規の使用者によって書き込みや読み出しが行えることが求められる。保護対象情報を保護するため、暗号化処理を行う外部メモリが提案されている(例えば、特許文献1を参照。)。この外部メモリは、外部メモリにUIM(User Identity Module)用の装着部を有する。そして、装着部に装着されたUIMが保護対象情報を生成する。
【特許文献1】特開2005−276025号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、情報の暗号化機能を有さない外部メモリは、広く普及している。このような外部メモリに対して保護対象情報を記憶したいという要請がある。この場合、コンピュータ装置にて暗号や復号を行う方法が一般的である。しかし、この方法では、暗号や復号を行う特定のソフトウェアを、別の情報記憶媒体や別途通信などを用いて当該コンピュータ装置にあらかじめ導入をしておかなくてはならないなど、使用者が作業場所や環境を物理的に移動するなどの状況において不便があった。
【0004】
本発明は、このような事情に鑑みてなされたものであり、その主たる目的は、情報の暗号化機能を有さない外部メモリについて、保護対象情報を扱えるようにすることにある。
【課題を解決するための手段】
【0005】
前記目的を達成するための主たる発明は、
(A)コンピュータ装置との間で用いられる情報を送受信する第1インタフェースと、
(B)外部メモリとの間で用いられる情報を送受信する第2インタフェースであって、保護対象情報を記憶するためのセキュリティ領域が設けられる外部メモリとの間で用いられる情報を送受信する第2インタフェースと、
(C)前記第1インタフェースと前記第2インタフェースとの間に設けられるコントローラであって、
前記セキュリティ領域に対するアクセス権限を有する正規の使用者か否かを、少なくとも前記コンピュータ装置を通じて送られた認証情報に基づいて判断するセキュリティ処理を行い、かつ、
前記セキュリティ処理で、前記コンピュータ装置の使用者が前記正規の使用者と判断されたことを条件に、前記コンピュータ装置からの要求に基づく前記セキュリティ領域に対する前記保護対象情報の読み出し処理及び書き込み処理を行う、コントローラと、
(D)を有する、セキュリティアダプタ。
【0006】
本発明の他の特徴は、本明細書、及び添付図面の記載により、明らかにする。
【発明を実施するための最良の形態】
【0007】
本明細書の記載、及び添付図面の記載により、少なくとも次のことが明らかにされる。
【0008】
すなわち、(A)コンピュータ装置との間で用いられる情報を送受信する第1インタフェースと、(B)外部メモリとの間で用いられる情報を送受信する第2インタフェースであって、保護対象情報を記憶するためのセキュリティ領域が設けられる外部メモリとの間で用いられる情報を送受信する第2インタフェースと、(C)前記第1インタフェースと前記第2インタフェースとの間に設けられるコントローラであって、前記セキュリティ領域に対するアクセス権限を有する正規の使用者か否かを、少なくとも前記コンピュータ装置を通じて送られた認証情報に基づいて判断するセキュリティ処理を行い、かつ、前記セキュリティ処理で、前記コンピュータ装置の使用者が前記正規の使用者と判断されたことを条件に、前記コンピュータ装置からの要求に基づく前記セキュリティ領域に対する前記保護対象情報の読み出し処理及び書き込み処理を行う、コントローラと、(D)を有する、セキュリティアダプタを実現できることが、明らかにされる。
このようなセキュリティアダプタによれば、コンピュータ装置と外部メモリとをセキュリティアダプタを介して接続することで、外部メモリに保護対象情報を記憶させたり、外部メモリに記憶された保護対象情報を読み出したりすることができる。このため、情報の暗号化機能を有さない外部メモリであっても保護対象情報を扱うことができる。
【0009】
かかるセキュリティアダプタであって、前記コントローラは、前記セキュリティ処理を行う第1コントローラと、前記外部メモリに対する情報の読み出し処理及び書き込み処理を行う第2コントローラと、を有することが好ましい。
このようなセキュリティアダプタによれば、セキュリティ処理を行う第1コントローラを、外部メモリに対する情報の読み出し処理及び書き込み処理を行う第2コントローラとは別個に設けているので、機能に応じて使用するコントローラを使い分けることができ、使い勝手の向上が図れる。
【0010】
かかるセキュリティアダプタであって、前記第1コントローラは、前記セキュリティ処理を行うとともに前記セキュリティ処理に用いられるセキュリティ情報を記憶したICチップを有するチップユニットであって、チップユニット装着部に対して取り外し可能な状態で装着されるチップユニットによって構成され、前記第2コントローラは、前記チップユニットが前記チップユニット装着部に装着された状態で、前記ICチップと通信し、前記保護対象情報の読み出し処理及び書き込み処理を、前記チップユニットが前記チップユニット装着部に装着され、かつ、前記ICチップによる前記セキュリティ処理で、前記コンピュータ装置の使用者が前記正規の使用者と判断されたことを条件に行うことが好ましい。
このようなセキュリティアダプタによれば、保護対象情報の読み出し処理及び書き込み処理が、チップユニットがチップユニット装着部に装着され、かつ、正規の使用者と判断されたことを条件に行われる。このため、セキュリティ性を高めることができる。
【0011】
かかるセキュリティアダプタであって、前記チップユニットは、或る固有識別情報を記憶したICチップを有する第1のチップユニットと、他の固有識別情報を記憶したICチップを有する第2のチップユニットとを有し、前記第2コントローラは、前記第1のチップユニットが前記チップユニット装着部に装着され、かつ、前記ICチップによる前記セキュリティ処理で、前記ユーザ端末の使用者が前記正規の使用者と判断された場合に、前記セキュリティ領域の一部に対する前記保護対象情報の読み出し処理及び書き込み処理を行い、前記第2のチップユニットが前記チップユニット装着部に装着され、かつ、前記ICチップによる前記セキュリティ処理で、前記ユーザ端末の使用者が前記正規の使用者と判断された場合に、前記セキュリティ領域の他の一部に対する前記保護対象情報の読み出し処理及び書き込み処理を行うことが好ましい。
このようなセキュリティアダプタによれば、チップユニット毎に、セキュリティ領域における異なる部分が使用対象となるので、使い勝手の向上が図れる。例えば、使用者毎に使用領域を分けることができる。
【0012】
かかるセキュリティアダプタであって、前記第2コントローラは、前記外部メモリが有する領域であって情報を記憶可能な領域の少なくとも一部を、前記セキュリティ領域に変更する変更処理を行うことが好ましい。
このようなセキュリティアダプタによれば、変更処理を第2コントローラが行うので、コンピュータ装置の種類に依らず処理を共通化でき、汎用性を高めることができる。
【0013】
かかるセキュリティアダプタであって、前記変更処理を前記第2コントローラに行わせる変更処理用プログラムを記憶する、変更処理用プログラム記憶部を有することが好ましい。
このようなセキュリティアダプタによれば、変更処理用プログラムが記憶された記憶媒体を別途持ち運ぶ必要がなくなる。このため、利便性の向上が図れる。
【0014】
かかるセキュリティアダプタであって、前記外部メモリは、前記保護対象情報以外の情報を記憶する非セキュリティ領域を有し、前記第2コントローラは、前記コンピュータ装置からの要求に基づく前記非セキュリティ領域に対する前記保護対象情報以外の情報の読み出し処理及び書き込み処理を、前記チップユニットの前記チップユニット装着部への装着状態に関わらず行うことが好ましい。
このようなセキュリティアダプタによれば、チップユニットの非装着状態における利便性を高めることができる。
【0015】
かかるセキュリティアダプタであって、前記コンピュータ装置の使用が許可される特定の使用者か否かを、前記コンピュータ装置に判断させるための許可情報を記憶する、許可情報記憶部を有することが好ましい。
このようなセキュリティアダプタによれば、このセキュリティアダプタを、コンピュータ装置を特定の使用者に使用させるためのセキュリティキーとして用いることができる。このため、利便性の向上が図れる。
【0016】
かかるセキュリティアダプタであって、前記コントローラは、前記特定の使用者を示す他の許可情報が前記コンピュータ装置に入力されたことを示す情報を、前記コンピュータ装置から受信した場合に、前記許可情報を前記許可情報記憶部から読み出して前記コンピュータ装置へ送信することが好ましい。
このようなセキュリティアダプタによれば、コンピュータ装置の使用は、セキュリティアダプタの装着と、正しい他の許可情報の入力を条件に許可される。このため、セキュリティ性と利便性の調和を図ることができる。
【0017】
かかるセキュリティアダプタであって、前記コントローラは、前記セキュリティ処理を行う第1コントローラであって、前記セキュリティ処理を行うとともに前記セキュリティ処理に用いられるセキュリティ情報を記憶したICチップを有するチップユニットであって、チップユニット装着部に対して取り外し可能な状態で装着されるチップユニットによって構成された第1コントローラと、前記外部メモリに対する情報の読み出し処理及び書き込み処理を行う第2コントローラであって、前記チップユニットが前記チップユニット装着部に装着された状態で、前記ICチップと通信し、前記保護対象情報の読み出し処理及び書き込み処理を、前記チップユニットが前記チップユニット装着部に装着され、かつ、前記ICチップによる前記セキュリティ処理で、前記コンピュータ装置の使用者が前記正規の使用者と判断されたことを条件に行い、前記許可情報記憶部からの前記許可情報の読み出し処理を、前記チップユニットの前記チップユニット装着部への装着状態に関わらず行う、第2コントローラと、を有することが好ましい。
このようなセキュリティアダプタによれば、チップユニットの装着状態に関わらず、セキュリティアダプタを、コンピュータ装置を使用するための鍵として用いることができる。このため、さらなる利便性の向上が図れる。
【0018】
かかるセキュリティアダプタであって、前記第2コントローラは、前記許可情報記憶部への前記許可情報の書き込み処理を、前記チップユニットが前記チップユニット装着部に装着され、かつ、前記セキュリティ処理で、前記コンピュータ装置の使用者が前記正規の使用者と判断されたことを条件に行うことが好ましい。
このようなセキュリティアダプタによれば、許可情報の記憶や更新を、正規の使用者に限って行わせることができる。このため、セキュリティ性の向上が図れる。
【0019】
かかるセキュリティアダプタであって、前記コントローラは、前記セキュリティ処理を行う第1コントローラであって、前記セキュリティ処理を行うとともに前記セキュリティ処理に用いられるセキュリティ情報を記憶し、かつ、前記許可情報記憶部が設けられたICチップを有するチップユニットであって、チップユニット装着部に対して取り外し可能な状態で装着されるチップユニットによって構成された第1コントローラと、前記外部メモリに対する情報の読み出し処理及び書き込み処理を行う第2コントローラであって、前記チップユニットが前記チップユニット装着部に装着された状態で、前記ICチップと通信する、第2コントローラと、を有することが好ましい。
このようなセキュリティアダプタによれば、許可情報記憶部が耐タンパ性の高いICチップに設けられており、ICチップを有するチップユニットがチップユニット装着部に対して着脱可能に構成されているので、セキュリティ性を高めることができる。
【0020】
かかるセキュリティアダプタであって、前記第1コントローラは、予め記憶された比較用認証情報に基づいて前記認証情報が正規のものであるかを判断し、正規のものであると判断した場合に、正規の使用者であることを示す情報を前記第2コントローラへ送信することが好ましい。
このようなセキュリティアダプタによれば、第1コントローラによる判断を容易に行える。
【0021】
かかるセキュリティアダプタであって、前記コンピュータ装置は、使用者によって直接的に操作されるユーザ端末であることが好ましい。
このようなセキュリティアダプタによれば、ユーザ端末と外部メモリとの間で保護対象情報が扱える。
【0022】
かかるセキュリティアダプタであって、前記コントローラは、前記セキュリティ処理を行う第1コントローラと、前記外部メモリに対する情報の読み出し処理及び書き込み処理を行う第2コントローラとを有し、前記第1コントローラは、前記セキュリティ処理を行うとともに前記セキュリティ処理に用いられるセキュリティ情報を記憶したICチップを有するチップユニットであって、チップユニット装着部に対して取り外し可能な状態で装着されるチップユニットによって構成され、前記第2コントローラは、前記ユーザ端末からの要求に基づき、前記チップユニット装着部と前記ユーザ端末とを通信可能にするためのドライバプログラムをドライバプログラム記憶部から読み出し、前記第1インタフェースを通じて前記ユーザ端末へ送信することが好ましい。
このようなセキュリティアダプタによれば、ドライバプログラムが記憶された記憶媒体を別途持ち運ぶ必要がなくなる。このため、利便性の向上が図れる。
【0023】
かかるセキュリティアダプタであって、前記コントローラは、前記セキュリティ処理を行う第1コントローラと、前記外部メモリに対する情報の読み出し処理及び書き込み処理を行う第2コントローラとを有し、前記第1コントローラは、前記セキュリティ処理を行うとともに、前記セキュリティ処理に用いられるセキュリティ情報を記憶したICチップであって、前記ユーザ端末から送信された平文情報を前記セキュリティ領域に記憶すべき暗号化情報に変換して前記第2コントローラへ送信し、前記セキュリティ領域に記憶された前記暗号化情報を前記ユーザ端末へ送信すべき平文情報に変換して前記第2コントローラに送信するICチップを有することが好ましい。
このようなセキュリティアダプタによれば、耐タンパ性の高いICチップが情報の暗号化や復号を行うので、セキュリティ性を高めることができる。
【0024】
かかるセキュリティアダプタであって、前記ICチップは、前記平文情報の暗号化に用いられる暗号化用鍵、及び、前記暗号化情報の復号に用いられる復号用鍵を記憶することが好ましい。
このようなセキュリティアダプタによれば、耐タンパ性の高いICチップに暗号化用鍵や復号用鍵を記憶させているので、セキュリティ性を高めることができる。
【0025】
かかるセキュリティアダプタであって、前記コントローラは、前記セキュリティ処理を行う第1コントローラと、前記外部メモリに対する情報の読み出し処理及び書き込み処理を行う第2コントローラとを有し、前記第1コントローラは、前記セキュリティ処理を行うとともに、平文情報の暗号化に用いられる暗号化用鍵、及び、暗号化情報の復号に用いられる復号用鍵を記憶したICチップを有し、前記第2コントローラは、前記ICチップから転送された前記暗号化用鍵を用いて、前記ユーザ端末から送信された前記平文情報を前記セキュリティ領域に記憶すべく暗号化し、前記ICチップから転送された前記復号用鍵を用いて、前記セキュリティ領域に記憶された前記暗号化情報を前記ユーザ端末へ送信すべく復号することが好ましい。
このようなセキュリティアダプタによれば、外部メモリに対する情報の読み出し処理及び書き込み処理を行う第2コントローラが、情報の暗号化や復号についても行うので、処理の高速化が図れる。
【0026】
かかるセキュリティアダプタであって、前記暗号化用鍵及び前記復号用鍵は、共通暗号鍵であり、前記第1コントローラは、前記ICチップを有するチップユニットであって、チップユニット装着部に対して取り外し可能な状態で装着されるチップユニットによって構成され、前記第2コントローラは、前記チップユニットが前記チップユニット装着部から取り外された場合に、転送された前記共通暗号鍵を消去することが好ましい。
このようなセキュリティアダプタによれば、第2コントローラは、チップユニットのチップユニット装着部からの取り外しを条件に共通暗号鍵を消去するので、セキュリティ性を高めることができる。
【0027】
かかるセキュリティアダプタであって、前記コントローラは、前記セキュリティ処理を行う第1コントローラと、前記外部メモリに対する情報の読み出し処理及び書き込み処理を行う第2コントローラとを有し、前記第1コントローラは、前記ユーザ端末を通じて送られた認証情報が正規のものである場合であって、かつ、前記ユーザ端末と通信可能に接続された管理サーバとの間で外部認証が成立した場合に、前記第2コントローラに対して前記セキュリティ領域の全体に対する読み出し処理及び書き込み処理を許可し、前記ユーザ端末を通じて送られた認証情報が正規のものである場合であって、かつ、前記管理サーバとの間で外部認証が成立しなかった場合に、前記第2コントローラに対して前記セキュリティ領域の一部に対する読み出し処理及び書き込み処理を許可することが好ましい。
このようなセキュリティアダプタによれば、認証の度合いに応じてセキュリティ領域の使用可能範囲が定められるので、使い勝手の向上が図れる。
【0028】
かかるセキュリティアダプタであって、前記コンピュータ装置は、使用者によって直接的に操作されるシンクライアント端末装置に、ネットワークを通じて通信可能に接続されたサーバであることが好ましい。
このようなセキュリティアダプタによれば、シンクライアント端末装置を介してサーバと外部メモリとの間で保護対象情報が扱える。
【0029】
かかるセキュリティアダプタであって、前記コントローラは、前記セキュリティ処理を行う第1コントローラと、前記外部メモリに対する情報の読み出し処理及び書き込み処理を行う第2コントローラとを有し、前記第1コントローラは、前記セキュリティ処理を行うとともに前記セキュリティ処理に用いられるセキュリティ情報を記憶したICチップを有するチップユニットであって、チップユニット装着部に対して取り外し可能な状態で装着されるチップユニットによって構成され、前記第2コントローラは、前記サーバからの要求に基づき、前記チップユニット装着部と前記シンクライアント端末装置とを通信可能にするためのドライバプログラムをドライバプログラム記憶部から読み出し、前記第1インタフェースを通じて前記シンクライアント端末装置へ送信することが好ましい。
このようなセキュリティアダプタによれば、ドライバプログラムが記憶された記憶媒体を別途持ち運ぶ必要がなくなる。このため、利便性の向上が図れる。
【0030】
かかるセキュリティアダプタであって、前記サーバは、記憶対象となる平文情報を暗号化することで前記保護対象情報を生成し、前記セキュリティ領域に記憶すべく前記シンクライアント端末装置へ送信することが好ましい。
このようなセキュリティアダプタによれば、サーバで暗号化された保護対象情報が送受信されるので、セキュリティ性を高めることができる。
【0031】
かかるセキュリティアダプタであって、前記第2インタフェースは、前記外部メモリと無線で通信をすることが好ましい。
このようなセキュリティアダプタによれば、外部メモリとの間で、情報が無線で送受信されるため、利便性の向上が図れる。
【0032】
かかるセキュリティアダプタであって、前記第2インタフェースは、前記外部メモリが前記コントローラに対して通信可能な状態で装着される外部メモリ装着部であって、前記外部メモリが取り外し可能に装着される外部メモリ装着部であることが好ましい。
このようなセキュリティアダプタによれば、保護対象情報の生成機能を有さない外部メモリであっても保護対象情報が扱える。
【0033】
かかるセキュリティアダプタであって、前記第1インタフェースは、前記コンピュータ装置と無線で通信をすることが好ましい。
このようなセキュリティアダプタによれば、セキュリティアダプタとコンピュータ装置との間で、情報が無線で送受信されるため、利便性の向上が図れる。
【0034】
かかるセキュリティアダプタであって、情報通信に関する契約者を識別するための契約者識別情報が参照できることを条件に、情報通信用の基地局との間で無線による通信が可能となる基地局通信部を有し、前記コントローラは、前記セキュリティ処理を行うとともに、前記契約者識別情報を記憶したICチップを有する第1コントローラと、前記外部メモリに対する情報の読み出し処理及び書き込み処理を行う第2コントローラと、を有することが好ましい。
このようなセキュリティアダプタによれば、ICチップを多用途に用いることができる。
【0035】
かかるセキュリティアダプタであって、前記コントローラと通信可能に設けられ、情報通信用の基地局との間で無線による通信が可能となる基地局通信部を有し、前記コントローラは、前記セキュリティ処理にて送信される情報の少なくとも一部を、前記基地局通信部を通じて送信することが好ましい。
このようなセキュリティアダプタによれば、セキュリティ性を向上させることができる。
【0036】
===第1実施形態===
<セキュリティアダプタの概要>
まず、セキュリティアダプタの概要について説明する。セキュリティアダプタは、コンピュータ装置と外部メモリとの間に通信可能な状態で介在するものである。そして、このセキュリティアダプタは、コンピュータ装置からの情報を暗号化して外部メモリの所定領域に記憶させたり、外部メモリの所定領域に記憶された暗号化情報を復号してコンピュータ装置に送信したりする。図1に示す第1実施形態において、セキュリティアダプタ1は、コンピュータ装置としてのユーザ端末110と、外部メモリとしてのUSBメモリ120及びUSBハードディスク130との間に介在している。このセキュリティアダプタ1には、ICチップ72を有するICカード70(チップユニットに相当する。)が装着される。そして、ICチップ72は、ユーザ端末110からの平文情報を暗号化して暗号化情報を生成する。この暗号化情報は、保護対象情報に相当するものであり、USBメモリ120やUSBハードディスク130(これらを総括してUSBメモリ等ともいう。)へ送信される。そして、暗号化情報は、USBメモリ120が有する記憶素子122のセキュリティ領域122b(図6Aを参照。)や、USBハードディスク130が有する磁気ディスクのセキュリティ領域(図示せず。)に記憶される。また、ICチップ72は、セキュリティ領域からの暗号化情報を復号してユーザ端末110へ送信する。この構成により、暗号化機能を有さないUSBメモリ等であっても、暗号化情報を扱うことができるようになる。以下、詳細に説明する。
【0037】
<セキュリティアダプタ1の構成>
図1及び図2Aに示すように、セキュリティアダプタ1は、コントローラ10と、ホスト側USB_I/F20(インタフェース)と、デバイス側USB_I/F30と、記憶素子40と、筐体50とを有する。そして、コントローラ10は、ホスト側USB_I/F20とデバイス側USB_I/F30との間に設けられており、セキュリティアダプタ1における全体的な制御を担当する。このコントローラ10は、メインコントローラ60と、ICカード70と、ICカードコネクタ80とを有する。
【0038】
メインコントローラ60は、第2コントローラとして機能するものである。このメインコントローラ60は、外部メモリ(USBメモリ120,USBハードディスク130)に対する情報の読み出し処理及び書き込み処理を行う。例えば、デバイス側USB_I/F30を制御することで、情報をUSBメモリ等へ送信したり、USBメモリ等からの情報を受信したりする。また、メインコントローラ60は、ユーザ端末110との間でなされる通信を制御する。例えば、ホスト側USB_I/F20を制御することで、ユーザ端末110から送信された情報を受信したり、ユーザ端末110に対して情報を送信したりする。さらに、メインコントローラ60は、ICカードコネクタ80を通じ、ICカード70(ICチップ72)との間で情報を送受信する。なお、ICカードコネクタ80によるこの機能は、カードリーダライタまたはその機能モジュールと等価である。
【0039】
メインコントローラ60は、CPU61と、内部メモリ62と、内部バス63とを有する。CPU61は、制御を行う中心部分であり、内部メモリ62に記憶されたプログラムに従って動作をする。内部メモリ62には、CPU61によって実行されるプログラムや動作に必要な設定値等が記憶される。内部バス63は、CPU61と内部メモリ62との間でデータを伝送する。なお、内部バス63には、ホスト側USB_I/F20、デバイス側USB_I/F30、ICカードコネクタ80、及び、記憶素子40も通信可能に接続されている。
【0040】
ホスト側USB_I/F20は、ユーザ端末110と通信するための通信インタフェースに相当する。また、ユーザ端末110は、使用者(ユーザ)によって直接的に操作されるコンピュータ装置に相当する。このため、ホスト側USB_I/F20は、コンピュータ装置との間で用いられる情報を送受信する第1インタフェースに相当する。図2Aに示すように、ホスト側USB_I/F20は、USBプラグ21と第1USBコントローラ22とを有する。図2Bに示すように、USBプラグ21は、ユーザ端末110が有する端末側USB_I/F114のUSBポート(便宜上、端末側USBポートともいう。)に装着されるものである。第1USBコントローラ22は、メインコントローラ60によって制御され、端末側USB_I/F114との間における通信を制御する。
【0041】
デバイス側USB_I/F30は、USBメモリ等と通信するための通信インタフェースに相当する。USBメモリ等は、後述するように、保護対象情報を記憶するためのセキュリティ領域(例えば、図6Aに示すセキュリティ領域122b)が設けられる外部メモリの一種である。このため、デバイス側USB_I/F30は、外部メモリとの間で用いられる情報を送受信する第2インタフェースに相当する。デバイス側USB_I/F30は、USBポート(便宜上、アダプタ側USBポート31ともいう。)と、第2USBコントローラ32とを有する。アダプタ側USBポート31には、USBメモリ120やUSBハードディスク130が有するメモリ側USBプラグ(何れも図示せず。)が装着される。この実施形態において、アダプタ側USBポート31は複数設けられている。具体的には図2Aに示すように、2つのアダプタ側USBポート31,31が設けられている。このため、セキュリティアダプタ1には、USBハブのように、複数の外部メモリを接続することができる。第2USBコントローラ32は、メインコントローラ60によって制御され、メモリ側USBプラグ21との間における通信を制御する。
【0042】
ICカード70は、セキュリティ処理を行う第1コントローラに相当する。セキュリティ処理は、USBメモリ等に設けられるセキュリティ領域に、ユーザ端末110を通じてアクセスを試みる者が、このセキュリティ領域に対するアクセス権限を有する正規の使用者か否かを判断するための処理である。この実施形態では、正規の使用者か否かの判断を、ユーザ端末110を通じて送られた認証情報に基づいて行っている。なお、セキュリティ処理については後で説明する。ICカード70は、ICチップ72を有するカード型の情報媒体であり、チップユニットに相当する。このICカード70は、ICカードコネクタ80に対して着脱可能に取り付けられる。このため、セキュリティアダプタ1におけるICカード70を除いた部分のことを、セキュリティアダプタ1の本体部ともいう。なお、ICカード70については、後で詳しく説明する。
【0043】
ICカードコネクタ80は、ICカード70が装着される部材であり、チップユニット装着部に相当する。図2Cに示すように、ICカードコネクタ80は、ガイド部材81と、基板側端子82とを有する。ガイド部材81は、チップユニットの保持部に相当し、チップユニットとしてのICカード70を案内して所定位置に導いて保持する。本実施形態のガイド部材81は、側壁部と天井部とを有する部材であり、配線基板Bの表面に取り付けられる。ガイド部材81が取り付けられることで、配線基板Bの表面には、ICカード70が挿入される開口と、この開口を通じて挿入されたICカード70が保持される保持空間とが区画される。基板側端子82は、ICチップ72との間で通信をするための端子である。ICカード70がICカードコネクタ80に装着されると、ICチップ72が有する接点端子群77と接触する。この基板側端子82は、配線を通じてメインコントローラ60に接続されている。このため、ICカード70がICカードコネクタ80に装着された状態で、メインコントローラ60は、ICチップ72との間で通信が可能となる。前述のとおり、ICカードコネクタ80は、カードリーダライタまたはその機能モジュールと機能的に等価である。
【0044】
記憶素子40は、情報を記憶可能な不揮発性の半導体メモリであり、例えばフラッシュメモリで構成される。この記憶素子40には、メインコントローラ60によって読み出される各種のプログラムや情報が記憶されている。この記憶素子40についても、後で詳しく説明する。
【0045】
筐体50は、前述した各部を収納するための部材である。このセキュリティアダプタ1において筐体50は、直方体状の外観形状をしている。そして、ホスト側USB_I/F20が有するUSBプラグ21は、ケーブル23を介して接続されることで、筐体50よりも外側に設けられる。これにより、端末側USBポートにUSBプラグ21を差し込むことができる。また、筐体50における側面には、ICカード70が挿入される貫通口、及び、アダプタ側USBポート31が臨む貫通口が設けられている。
【0046】
<外部メモリについて>
コンピュータ装置と通信可能に接続される外部メモリとしては、例えば、ハードディスク装置、USBメモリ、及び、メモリカードがある。ハードディスク装置は、ハードディスクと、接続用のI/Fとを、ケースに収容したものである。接続用のI/Fとしては、例えばUSB_I/Fがある。USBメモリは、フラッシュメモリと、USB_I/Fとをケースに収容したものである。メモリカードは、フラッシュメモリをカード型のケースに収容したものである。図1には、外部メモリの例として、USBメモリ120と、USBハードディスク130とを示している。
【0047】
USBメモリ120は、メモリ側コントローラ121と、記憶素子122と、USB_I/F123とを有している。メモリ側コントローラ121は、CPU124と、内部メモリ125と、内部バス126とを有する。CPU124は、制御を行う中心部分であり、内部メモリ125に記憶されたプログラムに従って動作をする。内部メモリ125には、CPU124によって実行されるプログラムや動作に必要な設定値等が記憶される。内部バス126は、CPU124と内部メモリ125との間でデータを伝送する。この内部バス126には、記憶素子122やUSB_I/F123も通信可能に接続されている。記憶素子122は、情報を記憶可能な不揮発性の半導体メモリであり、例えばフラッシュメモリによって構成される。この実施形態において、記憶素子122は、ユーザ端末110との間で送受信される情報を記憶する。そして、メモリ側コントローラ121は、セキュリティアダプタ1のコントローラ10からの命令に従って、情報を対応する領域に記憶する。例えば、命令で指定されたアドレスの領域に情報を記憶する。USB_I/F123は、他のUSB_I/Fとの間で情報を送受信する。図1の例において、USBメモリ120のUSB_I/F123は、セキュリティアダプタ1のデバイス側USB_I/F30に接続されている。このため、USBメモリ120は、セキュリティアダプタ1との間で情報を送受信する。仮に、USBメモリ120のUSB_I/F123が端末側USBポートに接続された場合には、USBメモリ120は、ユーザ端末110との間で情報を直接的に送受信する。
【0048】
USBハードディスク130は、ハードディスク側コントローラ131と、磁気ディスク132と、ヘッド133と、モータ134と、USB_I/F135とを有している。ハードディスク側コントローラ131は、メモリ側コントローラ121と同様に、CPU136と、内部メモリ137と、内部バス138とを有する。CPU136は、制御を行う中心部分であり、内部メモリ137に記憶されたプログラムに従って動作をする。内部メモリ137には、CPU136によって実行されるプログラムや動作に必要な設定値等が記憶される。内部バス138は、CPU136と内部メモリ137との間でデータを伝送する。この内部バス138には、ヘッド133、モータ134、及び、USB_I/F135も通信可能に接続されている。従って、ハードディスク側コントローラ131は、ヘッド133の制御や、モータ134の制御も行う。磁気ディスク132は、USBメモリ120の記憶素子122と同様に、ユーザ端末110との間で送受信される情報を記憶する。ヘッド133は、磁気ディスク132へ情報を記憶させたり、磁気ディスク132に記憶された情報を読み出したりする。モータ134は、磁気ディスク132を回転させるものである。USB_I/F135は、USBメモリ120のUSB_I/F123と同様に、他のUSB_I/Fとの間で情報を送受信する。
【0049】
<ユーザ端末110について>
ユーザ端末110は、使用者によって直接的に操作されるコンピュータ装置に相当する。図1に示すように、ユーザ端末110は、CPU111と、メモリ112と、通信I/F113と、USB_I/F114と、内部バス115とを有する。CPU111は、制御を行う中心部分であり、メモリ112に記憶されたプログラムに従って動作する。メモリ112には、CPU111によって実行されるプログラムや動作に必要な設定値等が記憶される。このプログラムとしては、例えば、オペレーティングシステム(以下OSともいう。)やアプリケーションプログラムがある。OSは、ユーザ端末110における基本的な制御を行ったり、ユーザインタフェースを提供したりするプログラムである。そして、ユーザ端末110が有する標準機能とは、OSに搭載されている機能を意味する。例えば、マイクロソフト社製のWindows(登録商標)に標準で搭載されている機能を意味する。アプリケーションプログラムは、ユーザ端末110に特定の機能を実現させるためのプログラムである。通信I/F113は、インターネット等の外部ネットワークと通信するためのネットワークインタフェースである。USB_I/F114は、他のUSB_I/Fと通信するためのものである。この実施形態において、USB_I/F114は、セキュリティアダプタ1が有するホスト側USB_I/F20に接続されている。このため、USB_I/F114は、セキュリティアダプタ1と通信するための通信インタフェースに相当する。このUSB_I/F114は、端末側USBポートとUSBコントローラとを有する(何れも図示せず。)。端末側USBポートは、セキュリティアダプタ1が有するUSBプラグ21が挿入される部分である。USBコントローラは、他のUSB_I/Fとの間における通信を制御する。内部バス115は、CPU111、メモリ112、通信I/F113、及び、USB_I/F114との間でデータを伝送する。
【0050】
<管理サーバ140について>
管理サーバ140は、ネットワークを通じてユーザ端末110と通信可能に接続されており、セキュリティアダプタ1の管理等を行う。この管理サーバ140は、CPU141と、メモリ142と、通信I/F143と、内部バス144とを有する。これらの各部については、ユーザ端末110で説明したものと同様であるので、説明は省略する。そして、管理サーバ140のメモリ142には、ICチップ72の固有ID(CUID:Chip Unique IDentifier)と、ICチップ72による外部認証用の、対応する暗号演算用鍵とが記憶される。なお、本実施形態では、公開暗号鍵を外部認証に用いられる情報の復号や暗号化に用いている。もちろん、他の形態として共通暗号鍵を用いてもよい。共通暗号鍵を用いたとしても、外部認証そのものの本質は影響を受けない。外部認証用の情報等は、例えば、ICチップ72の発行時において管理サーバ140へ記憶される。管理サーバ140は、例えば、USBメモリ120が適正に使用されているかを判断する際に、必要な処理を行う。本実施形態において、この判断は、ICチップ72による管理サーバ140の外部認証で行われる。この場合、管理サーバ140は、ICチップ72に対して必要な情報を送信する。簡単に説明すると、PINによる認証の終了後、ICチップ72は、ユーザ端末110を通じて、管理サーバ140へチャレンジコードを送信する。管理サーバ140は、受信したチャレンジコードに対応するレスポンスを送信する。このレスポンスは、ユーザ端末110を通じてICチップ72に受信される。そして、受信したレスポンスが予定されている内容であった場合、ICチップ72は、正規の使用者による使用と判断して、USBメモリ等に設けられるセキュリティ領域へのアクセスを許可する。なお、一連の認証動作については後で説明する。
【0051】
===セキュリティアダプタ1の主要部===
<ICカード70について>
図3Aに示すように、ICカード70は、基板71と、この基板71に実装されるICチップ72とを有する。本実施形態におけるICカード70は、切手程度或いはその半分程度の大きさである。また、その厚さは1mm前後である。基板71は、電気絶縁性を有するもの、例えばプリント配線板が用いられる。ICチップ72は、CPU73と、内部メモリ74と、暗号処理回路75と、シリアルI/F76と、接点端子群77と、内部バス78とを有する。
【0052】
CPU73は、内部メモリ74に記憶されたプログラムに従って動作する。内部メモリ74には、CPU73によって実行されるプログラムや動作に必要な設定値等が記憶される。例えば、図3Bに示すように、プログラム本体と、暗号/復号鍵と、比較用の認証情報とが記憶される。ここで、プログラム本体は、CPU73の動作を定めるものである。暗号/復号鍵は、平文(平文情報に相当する。)を暗号文(暗号化情報に相当する。)に変換する際、及び、暗号文を平文に変換する際に用いる情報である。そして、この暗号/復号鍵は、暗号処理回路75で用いられる。比較用の認証情報は、セキュリティ処理に用いられるセキュリティ情報に相当する。この認証情報は、例えば、ユーザ端末110の使用者が、USBメモリ120の情報にアクセス可能な権限を有する者か否かを判断する際に用いられる。本実施形態における認証情報は、PIN(Personal Identification Number)である。そして、出荷時においてPINは設定されていない。このため、初回の認証時においてPINの入力を求め、これを初期のPINとして用いる。このPINが比較用の認証情報として用いられ、ユーザ端末110を通じて入力された認証情報と比較(照合)される。
【0053】
暗号処理回路75は、USBメモリ等のセキュリティ領域に記憶される情報について、情報の暗号化等を行う。すなわち、平文の暗号化や暗号文の復号を行う。この暗号処理回路75では、情報の暗号化等に際し、共通暗号鍵方式を採用している。暗号処理回路75は、内部メモリ74に記憶された暗号/復号鍵(共通暗号鍵)を用いて情報の暗号化等を行う。シリアルI/F76は、メインコントローラ60との間で情報の送受信をするためのものである。接点端子群77は、電源端子77a、グランド端子77b、クロック端子77c、及び、I/O端子77dを有する。電源端子77aには、ICチップ72が動作するための電源(例えば直流3.3V)が与えられる。グランド端子77bには、グランド電位が与えられる。なお、ICチップ72内における電源用の配線、及び、グランド用の配線は図示を省略している。クロック端子77cには、CPU73の動作等に用いられるクロックが供給される。I/O端子77dは、メインコントローラ60との間で送受信される情報を入出力するための端子である。内部バス78は、CPU73、内部メモリ74、暗号処理回路75、及び、シリアルI/F76の間でデータを伝送する。
【0054】
<記憶素子40について>
図4は、セキュリティアダプタ1が有する記憶素子40の記憶領域を説明する概念図である。この記憶領域は、ICカード70による認証がなされるまでは、情報の読み出し専用の領域として機能する。すなわち、ICカード70によってセキュリティ処理が実行され、ユーザ端末110の使用者が、USBメモリ等のセキュリティ領域に対するアクセス権限を有する正規の使用者と判断されるまでは、情報の読み出し専用の領域として機能する。そして、正規の使用者と判断された場合、記憶領域は、情報の読み出しや書き込みが可能な領域になる。このように構成することで、記憶領域に記憶される情報について、情報の書き込みや情報の更新を正規の使用者に限定することができる。このため、使い勝手を向上させることができる。この記憶領域には、プログラムとして、セキュリティミドルウェア、セキュリティメモリデバイスドライバ、チップユニットドライバ、及び、インストーラなどが記憶されている。以下、これらのプログラムについて説明する。
【0055】
セキュリティミドルウェアは、セキュリティアダプタ1を、ユーザ端末110用のセキュリティキーとして用いるための機能を付加する。ここで、セキュリティキーとは、ユーザ端末110に対する操作を受け付ける状態と受け付けない状態とを切り替えるためのものである。すなわち、ユーザ端末110(コンピュータ装置)を特定の使用者に使用させるためのものである。例えば、セキュリティアダプタ1が端末側USBポートに装着されることで、ユーザ端末110はロックの解除状態となり、キーボードやマウス等の入力装置からの入力を受け付ける。一方、セキュリティアダプタ1が端末側USBポートから取り外されると、ユーザ端末110はロック状態に移行し、スクリーンセーバを起動させるとともに、入力装置からの入力は受け付けない。このため、使用者は、ユーザ端末110を使用する際にセキュリティアダプタ1を装着し、ユーザ端末110から離れるとき等にセキュリティアダプタ1を取り外すことで、離席時におけるユーザ端末110の、他の使用者(権限のない第三者)による使用を防止できる。このため、ユーザ端末110を介しての情報の漏洩を防止できる。
【0056】
また、セキュリティミドルウェアは、セキュリティアダプタ1を、許可情報記憶媒体として用いるための機能も付与する。ここで、許可情報とは、ユーザ端末110の使用が許可される特定の使用者か否かを、ユーザ端末110に判断させるための情報である。このため、セキュリティアダプタ1が有する記憶素子40は、許可情報を記憶する許可情報記憶部に相当する。許可情報としては、例えば、ユーザ端末110にログオンする際のユーザID(ユーザ端末110用の認証情報)、ログオン用のパスワード、及び、ディジタル証明書がある。そして、使用者は、ユーザ端末110へのログオン時にセキュリティアダプタ1(許可情報記憶媒体)を装着しておくことで、ユーザIDやパスワード等を入力することなくユーザ端末110を使用できる。すなわち、ユーザ端末110の起動時に、メインコントローラ60がユーザ端末110と通信し、記憶素子40から読み出したユーザID等をユーザ端末110へ送信する。この構成を採ることで、推測され難いユーザIDやパスワードを設定することができ、セキュリティ性を向上させることができる。
【0057】
なお、許可情報の利用に際し、使用者側でセキュリティポリシーを設定するように構成してもよい。例えば、一部の許可情報についてのユーザ端末110への入力を、使用者が手動で行う構成にしてもよい。この場合、手動で入力された許可情報(他の許可情報ともいう。)が正規の内容であったことを条件に、ユーザ端末110は、セキュリティアダプタ1に対して、他の許可情報が正規の内容であった旨の情報を送信する。セキュリティアダプタ1のメインコントローラ60は、他の許可情報が正規の内容であった旨の情報に基づいて、記憶素子40(許可情報記憶部)に記憶されている許可情報を読み出し、ユーザ端末110へ送信する。ユーザ端末110は、受信した許可情報に基づいて使用可能な状態へ移行する。他の許可情報は、例えば、ユーザIDとログオン用のパスワードであり、許可情報記憶部に記憶される許可情報は、例えば、各種アプリケーションを利用するためのユーザIDとパスワードである。また、他の許可情報を、ユーザIDとログオン用のパスワードとし、許可情報記憶部に記憶される許可情報を、ディジタル証明書とネットワークパスワードとしてもよい。このように構成することで、セキュリティアダプタ1がユーザ端末110に装着されていること、及び、正しい他の許可情報が手動で入力されたことを条件に、ユーザ端末110の使用が許可される。その結果、セキュリティ性と利便性の調和を図ることができる。さらに、記憶素子40に記憶された許可情報の読み出しは、ICカード70(チップユニット)が装着され、かつ正規の使用者であることが判定されていることを条件になされるように構成してもよい。
【0058】
前述したように、記憶素子40に記憶された情報は、ICカード70による認証に関わらず読み出すことができる。また、この情報を書き換えるためには、ICカード70による認証を経て正規の使用者と認識される必要がある。このため、許可情報の設定や更新を、正規の使用者に限定することができる。この点でもセキュリティ性を向上させることができる。なお、セキュリティミドルウェアには、認証用に用いられる他の認証情報のデータ本体も含まれる。
【0059】
セキュリティメモリデバイスドライバは、USBメモリ120の記憶素子122、或いは、USBハードディスク130の磁気ディスク132に、セキュリティ領域(例えば、記憶素子122に設けられるセキュリティ領域122b)を設定するためのプログラムである。また、セキュリティメモリデバイスドライバは、設定したセキュリティ領域に対し、情報を書き込んだり、情報を読み出したりする際にも使用される。このセキュリティメモリデバイスドライバの実行により、メインコントローラ60は、USBメモリ120の記憶素子122やUSBハードディスク130の磁気ディスク132が有する記憶領域に、セキュリティ領域用のアドレスを設定する。そして、このアドレスがユーザ端末110から認識できるようになる。なお、セキュリティ領域に対する情報の読み出しや情報の書き込みを行うためには、ICチップ72による認証を経る必要がある。このため、メインコントローラ60は、セキュリティメモリデバイスドライバの実行により、認証を経ることなく情報の書き込みや読み込みが行える領域(例えば、通常アクセス可能領域122a,図5Aを参照。)の少なくとも一部を、認証を経ないと情報の書き込みや読み込みが行えない領域(例えば、セキュリティ領域122b,図6を参照。)に変更する変更処理を行っているといえる。そして、この変更処理を、セキュリティアダプタ1のメインコントローラ60が行っているので、ユーザ端末110の種類に依らず処理を共通化でき、汎用性を高めることができる。このようなセキュリティメモリデバイスドライバは、変更処理をメインコントローラ60に行わせる変更処理用プログラムに相当する。また、セキュリティアダプタ1が有する記憶素子40は、変更処理用プログラムを記憶する変更処理用プログラム記憶部に相当する。
【0060】
チップユニットドライバは、ICカード70やICカードコネクタ80を、ユーザ端末110で使用できるようにするためのプログラムである。本実施形態におけるチップユニットドライバは、リーダライタドライバとチップドライバとから構成されている。リーダライタドライバは、ICカードコネクタ80とユーザ端末110とを通信可能に接続するためのドライバプログラムであり、チップドライバは、ICチップ72との間における情報の送受信を可能にするためのドライバプログラムである。従って、記憶素子40は、これらのドライバプログラムを記憶するドライバプログラム記憶部に相当する。これらのプログラムをユーザ端末110にインストールすることにより、ICカード70の装着状態をユーザ端末110から認識できる。すなわち、ICカード70が装着されていること、或いは、装着されていないことを、ユーザ端末110から認識できる。
【0061】
インストーラは、前述した各プログラム(セキュリティミドルウェア,セキュリティメモリデバイスドライバ,チップユニットドライバ)を、ユーザ端末110にインストールする際に用いられるプログラムである。
【0062】
ところで、記憶素子40の記憶領域は、ICカード70による認証を経るまでの間、情報の読み出し専用の領域として機能する。言い換えれば、インストーラを含む各プログラムは、ICカード70による認証を経なくても、メインコントローラ60を通じて読み出すことができる。従って、セキュリティアダプタ1は、ICカード70の装着状態に関わらず、これらのプログラムを使用できる。例えば、セキュリティミドルウェアの実行により、セキュリティアダプタ1をセキュリティキーとして使用したり、ユーザ端末110の起動時に許可情報を送信させたりできる。また、CD−ROM等の記憶媒体を持ち歩かなくても、ICカード70やICカードコネクタ80を、ユーザ端末110に使用させることができる。このため、利便性の向上が図れる。
【0063】
<USBメモリ等の記憶領域について>
次に、USBメモリ等の記憶領域について説明する。なお、記憶領域に関し、USBメモリ120とUSBハードディスク130は、同じように考えることができる。このため、以下の説明はUSBメモリ120について行い、USBハードディスク130については省略する。図5Aに示すように、セキュリティメモリデバイスドライバが実行される前において、USBメモリ120の記憶素子122は、ユーザ端末110において記憶領域の全体が通常アクセス可能領域122aとして認識される。ここで、通常アクセス可能領域とは、ICチップ72による認証の有無に関わらず(すなわち、ICカード70の装着状態に関わらず)、ユーザ端末110からの指令に基づき、メインコントローラ60によって情報の書き込みや読み出しができる領域のことであり、非セキュリティ領域に相当する。図5Bに例示するように、通常アクセス可能領域122aに作成されるフォルダAやフォルダB、及び、これらのフォルダ内に作成されたファイル(保護対象情報以外の情報に相当する。)は、何らの制約なしにユーザ端末110からの指令に基づいて、書き込んだり読み出したりできる。
【0064】
そして、ユーザ端末110からセキュリティメモリデバイスドライバが実行されると、メインコントローラ60は、通常アクセス可能領域122aの少なくとも一部をセキュリティ領域122bに変更する。なお、通常アクセス可能領域122aの全体を変更することで、セキュリティ領域122bを設けてもよい。図6Aの例において、メインコントローラ60は、通常アクセス可能領域122aの一部分をセキュリティ領域122bに変更している。これにより、図6Bに示すように、通常アクセス可能領域122aにはフォルダA及びフォルダBが作成され、セキュリティ領域122bにはセキュリティフォルダCが作成される。
【0065】
このセキュリティフォルダCは、ICチップ72による認証が行われていなくてもユーザ端末110から認識できる。しかし、セキュリティフォルダCの中にファイルを記憶させたり、セキュリティフォルダCの中に記憶されたファイルを読み出したりする場合には、ICチップ72による認証により、ユーザ端末110の使用者が正規の使用者と認証される必要がある(後述する。)。また、ドライバプログラムの変更により、セキュリティフォルダCを、ICチップ72による認証が行われていないと領域として認識できないように、すなわち不可視化するようにすることもできる。
【0066】
このセキュリティ領域122bには、情報が暗号化された状態で記憶される。すなわち、セキュリティ領域122bに記憶される情報は、保護対象情報に相当する。本実施形態において、情報の暗号化や復号は、ICチップ72(暗号処理回路75)によってなされる。従って、セキュリティ領域に対する情報の書き込みや読み出しを行うためには、ICカード70をICカードコネクタ80に装着し、認証情報等に基づき使用者が正規の使用者と認証される必要がある。
【0067】
===動作について===
<セキュリティアダプタ1の接続時の動作について>
次に、前述した構成を有するセキュリティアダプタ1の動作について説明する。まず、セキュリティアダプタ1をユーザ端末110へ接続する際の動作について説明する。図7Aに示すように、ユーザ端末110(CPU111やUSB_I/F114)は、セキュリティアダプタ1が有するUSBプラグ21の端末側ポートへの接続を監視している(S1)。そして、USBプラグ21が端末側ポートに接続されると、ユーザ端末110はエニュメレーションを行う(S2)。エニュメレーションとは、接続されているUSB機器の識別やアドレスの指定等を行う一連の処理である。このとき、ユーザ端末110とセキュリティアダプタ1との間で、アドレスやディスクリプタが送受信される。このエニュメレーションを行うことで、セキュリティアダプタ1がユーザ端末110で使用できる状態になる。なお、この段階では、ICカード70やICカードコネクタ80を除いた各部、すなわち、メインコントローラ60、ホスト側USB_I/F20、デバイス側USB_I/F30、及び、記憶素子40が有効になっている。このため、記憶素子40がユーザ端末110から認識される。この例において記憶素子40は、図7Bに示すように、Eドライブとして認識されている。なお、Eドライブは、この段階において読み出し専用領域となっている。そして、Eドライブには、セキュリティミドルウェアが記憶されたフォルダ、及び、各種のドライバが記憶されたフォルダが作成されている。従って、ユーザ端末110からは、各フォルダに記憶されたプログラムを利用できる。例えば、インストーラを実行することができる。
【0068】
また、この段階では、デバイス側USB_I/F30が有効になるので、セキュリティアダプタ1は、USBハブとしても機能する。例えば、プリンタやスキャナといったUSB機器がデバイス側USB_I/F30に接続された場合、これらのUSB機器がユーザ端末110から認識される。そして、USB機器用のデバイスドライバを、記憶素子40に予め記憶させておくことで、CD−ROM等の記憶媒体を持ち歩かなくても、USB機器をユーザ端末110に利用させることができる。また、USBメモリ等の外部メモリについては、その多くがOSの標準機能で認識される。このため、図5Aに示すように、この段階では、ユーザ端末110からは、外部メモリにおける記憶領域の全体が通常アクセス可能領域として認識される。
【0069】
ユーザ端末110からの要求に基づいてインストーラが実行されると、必要なドライバが記憶素子40(ドライバフォルダ)から読み出され、ユーザ端末110にインストールされる。例えば、チップユニットドライバがインストールされると、ICカード70やICカードコネクタ80がユーザ端末110から使用できるようになる。ICカード70が使用可能になったことに伴い、メインコントローラ60は、初期のPINが設定されているか否かを確認する。ここで、初期のPINが設定されていなかった場合、メインコントローラ60は、ユーザ端末110を通じて使用者にPINの入力を求める。入力されたPINはICチップ72の内部メモリ74に記憶される。
【0070】
また、セキュリティミドルウェアがインストールされると、セキュリティアダプタ1が、そのユーザ端末用のセキュリティキーとして使用できるようになったり、そのユーザ端末用の許可情報記憶媒体として使用できるようになったりする。ここで、初期のPINが入力された場合には、セキュリティアダプタ1の記憶素子40に対して、情報の書き込みが可能になる。従って、セキュリティアダプタ1を許可情報記憶媒体として使用する場合には、この段階で必要な情報を入力する。具体的には、メインコントローラ60は、ユーザID、ログオンパスワード、ディジタル証明書といった情報の入力を求める。入力されたこれらの情報は、ICカード70が装着され、かつ、使用者が正規の使用者と認証された場合に、書き換えることができる。このように、許可情報の書き換えが行える者を、正規の使用者に限定しているので、セキュリティ性の向上が図れる。
【0071】
さらに、USBメモリ等がデバイス側USB_I/F30に接続された状態で、セキュリティメモリデバイスドライバがインストールされると、メインコントローラ60は、変更処理を行う。これにより、USBメモリ等の記憶領域には、セキュリティ領域が設けられる(図6A,図6Bを参照。)。
【0072】
<セキュリティ領域に対する処理>
次に、セキュリティ領域に対する情報の読み出しや書き込みについて説明する。ここで、図8は、セキュリティ領域に対する情報の読み出しや書き込みを説明するための図である。なお、以下の説明において、ユーザ端末110には必要なドライバ等がインストールされているものとする。また、セキュリティアダプタ1はユーザ端末110に接続され、ICカード70はセキュリティアダプタ1のICカードコネクタ80に装着されているものとする。さらに、セキュリティアダプタ1には、USBメモリ120が接続されているものとする。
【0073】
<初回のアクセス処理について>
初回のアクセス処理とは、使用者認証が済んでいない状態でのアクセス処理のことである。言い換えれば、セキュリティ領域はユーザ端末110から認識できているが、このセキュリティ領域に対するアクセスの権限がユーザ端末110(そのユーザ端末110の使用者)に与えられていない状態でのアクセス処理である。この処理において、使用者がセキュリティ領域に記憶された情報の読み出しを試みると(例えば、図6Bのセキュリティフォルダをダブルクリックすると)、ユーザ端末110は、セキュリティアダプタ1のメインコントローラ60に対し、この領域の読み出し要求を送信する(S11)。この読み出し要求に基づき、メインコントローラ60は、ICチップ72に対して認証が済んでいるか否かを問い合わせる(S12)。このタイミングでは、認証が済んでいないため、ICチップ72は、未認証の旨を示す回答をメインコントローラ60へ送信する(S13)。この回答を受けて、メインコントローラ60は、PINの入力をユーザ端末110に要求する(S14)。
【0074】
使用者がPINを入力すると、ユーザ端末110は、入力されたPINをメインコントローラ60に対して送信する(S15)。メインコントローラ60は、入力されたPINが正規のものであるか否かをICチップ72に問い合わせる(S16)。このとき、ICチップ72は、ドライバ等のインストール時に入力された初期のPIN(その後に書き換えられた場合には書き換え後のPIN)と、入力されたPINとを比較し、両者が一致した場合に正規のPINが入力されたと判断する。なお、この例では、正規のPINであった場合について説明している。
【0075】
ここで、本実施形態では、比較対象となるPIN(比較用の認証情報に相当する。)がICチップ72に記憶されている。そして、ICチップ72が設けられたICカード70は、セキュリティアダプタ1の本体部に対して着脱可能に装着されている。このため、ICカード70を取り外しておくことで、セキュリティアダプタ1の本体部が解析されたとしても、PINが取得されることはない。これにより、セキュリティ性を高めることができる。また、ICチップ72は、比較対象となるPINと入力されたPINとを比較することで、正規の使用者であるか否かを判断している。このため、ICチップ72による判断を容易に行うことができる。
【0076】
ICチップ72は、そのPINが正規のものであるかを判断し、正規のものであった場合、管理サーバ140に対する外部認証を試みる。このため、ICチップ72は、チャレンジコードを生成する。そして、生成したチャレンジコードをメインコントローラ60やユーザ端末110を通じて、管理サーバ140へ送信する(S17〜S19)。チャレンジコードは、乱数を含む情報を暗号化した暗号化情報と、ICチップ72の固有ID(CUID)とを組にしたものである。この実施形態における暗号化情報は、ICチップ72で生成された乱数、CUID及びセキュリティアダプタ1の固有IDで構成される情報を、ICチップ72が保有する暗号用鍵(秘密鍵または私有鍵ともいう)で暗号化したものである。また、チャレンジコードの一部を構成するCUIDは、平文情報である。
【0077】
管理サーバ140は、チャレンジコードから平文情報であるCUIDを認識し、このCUIDに基づいて対応する暗号用鍵(公開暗号鍵)を選択する。そして、選択した暗号用鍵を用いて暗号化情報を復号し、暗号化情報に含まれる乱数を取得する。さらに、取得した乱数を基にして構成される情報を、暗号用鍵を用いて暗号化することで、レスポンスデータを生成する。管理サーバ140は、生成したレスポンスデータを、ユーザ端末110やメインコントローラ60を通じて、ICチップ72へ送信する(S20〜S22)。ICチップ72は、保有する暗号用鍵によってレスポンスデータを復号し、乱数を取得する。そして、取得した乱数がチャレンジコードの生成時に用いた乱数と一致した場合に、ICチップ72は外部認証の成立と判定する。外部認証の成立に伴い、ICチップ72は、読み出しを許可する旨の情報、すなわち、ユーザ端末110の使用者が、セキュリティ領域に対するアクセス権限を有する正規の使用者であることを示す情報を、メインコントローラ60へ送信する(S23)。この情報を受信したメインコントローラ60は、セキュリティ領域に対する読み出し処理及び書き込み処理を許可する。この場合において、メインコントローラ60は、読み出し対象となる対象データを、USBメモリ120のセキュリティ領域から読み出す。すなわち、メインコントローラ60は、USBメモリ120に対して読み出し要求を行う(S24)。そして、USBメモリ120から送信されてきた対象データを受信する(S25)。
【0078】
このように、本実施形態のセキュリティアダプタ1は、ユーザ端末110を通じて送られたPIN(入力された認証情報)が正規のものであること、及び、管理サーバ140との外部認証が成立したことを条件に、セキュリティ領域に対する読み出し処理及び書き込み処理が許可される。そして、管理サーバ140との外部認証は、ICチップ72が送信したチャレンジデータに対する管理サーバ140のレスポンスにも基づいて行われる。このため、正規のICチップ72を装着していないと、セキュリティ領域に記憶された情報を読み出すことができない。このため、セキュリティ領域に記憶された情報を読み出そうとする悪意の試みを有効に防止できる。
【0079】
ここで、USBメモリ120から送信されてきた対象データは、セキュリティ領域に記憶された情報であり、暗号化されている。すなわち、暗号化された保護対象情報に相当する。このため、この対象データを復号して平文にする必要がある。そこで、メインコントローラ60は、この対象データをICチップ72に送信する(S26)。ICチップ72では、暗号化されている対象データを、内部メモリ74に記憶された暗号/復号鍵(復号用鍵に相当する。)によって復号し、平文にする。そして、平文の対象データ(ユーザ端末110へ送信すべき平文情報に相当する。)をメインコントローラ60へ送信する(S27)。メインコントローラ60は、平文の対象データをユーザ端末110に送信する(S28)。これにより、ユーザ端末110では、平文の対象データが利用される。例えば、ユーザインタフェースを介して、セキュリティ領域に記憶された情報(対象データ)の内容が使用者に視認される。
【0080】
<2回目以降のアクセス処理について>
次に、2回目以降のアクセス処理について説明する。まず、ユーザ端末110からの情報の書き込み処理について説明する。この場合、ユーザ端末110からメインコントローラ60に対して書き込み要求が送信される(S31)。この書き込み要求に基づき、メインコントローラ60は、ICチップ72に対して認証が済んでいるか否かを問い合わせる(S32)。このタイミングでは認証が済んでいるので、ICチップ72は、認証済みの旨を示す回答をメインコントローラ60へ送信する(S33)。この回答は、ユーザ端末110の使用者が、セキュリティ領域に対するアクセス権限を有する正規の使用者であることを示す情報に相当する。この回答を受けて、メインコントローラ60は、書き込み対象となる対象データをユーザ端末110から受信する(S34)。ユーザ端末110から送信された対象データは、平文であるので暗号化する必要がある。このため、メインコントローラ60は、平文の対象データをICチップ72に送信する(S35)。そして、ICチップ72は、内部メモリ74に記憶された暗号/復号鍵(暗号化用鍵に相当する。)を用い、送信された平文の対象データを暗号化する。この暗号化された対象データ(セキュリティ領域に記憶すべき暗号化情報に相当する。)は、メインコントローラ60へ送信される(S36)。メインコントローラ60は、暗号化された対象データをUSBメモリ120に送信する。USBメモリ120は、暗号化された対象データを、セキュリティ領域に記憶する(S37)。
【0081】
次に、ユーザ端末110からの情報の読み出し処理について説明する。この場合、ユーザ端末110からメインコントローラ60に対して読み出し要求が送信される(S41)。この読み出し要求に基づき、メインコントローラ60は、ICチップ72に対して認証が済んでいるか否かを問い合わせる(S42)。このタイミングでも認証が済んでいるため、ICチップ72は、認証済みの旨を示す回答をメインコントローラ60へ送信する(S43)。この回答を受けて、メインコントローラ60は、読み込み対象となる対象データの読み出し要求をUSBメモリ120に送信する(S44)。読み出し要求の受信に伴い、USBメモリ120は、対象データをメインコントローラ60へ送信する(S45)。この対象データは暗号化されているので、ユーザ端末110で認識するためには、復号する必要がある。このため、メインコントローラ60は、暗号化された対象データをICチップ72に送信する(S46)。そして、ICチップ72は、内部メモリ74に記憶された暗号/復号鍵を用い、送信された対象データを復号して平文にする。そして、メインコントローラ60に送信する(S47)。さらに、メインコントローラ60は、平文の対象データをユーザ端末110に送信する(S48)。その結果、ユーザ端末110では、セキュリティ領域に記憶された情報が利用できるようになる。
【0082】
以後は、同様な手順で、ユーザ端末110からの要求に応じた情報の読み出し処理や書き込み処理が行われる。そして、セキュリティアダプタ1がユーザ端末110から取り外された場合、ICカード70がICカードコネクタ80から取り外された場合、電源が切断された場合においては、次回の使用時において再度初回のアクセス処理で説明した認証が行われる。
【0083】
<まとめ>
以上説明したように、第1実施形態では、ユーザ端末110とUSBメモリ等との間にセキュリティアダプタ1を介在させることで、USBメモリ等が有するセキュリティ領域に保護対象情報を記憶させたり、セキュリティ領域に記憶された保護対象情報を読み出したりすることができる。このため、情報の暗号化機能を有さないUSBメモリ等であっても保護対象情報を扱うことができる。
【0084】
このセキュリティアダプタ1では、セキュリティ処理を行うICカード70(第1コントローラ)を、USBメモリ等に対する情報の読み出し処理及び書き込み処理を行うメインコントローラ60(第2コントローラ)とは別個に設けている。このため、機能に応じて使用するコントローラ10を使い分けることができ、使い勝手の向上が図れる。例えば、セキュリティ処理に関わらない処理については、メインコントローラ60に行わせることで、ICカード70が装着されていない状態であっても、セキュリティアダプタ1に種々の処理を行わせることができる。加えて、このセキュリティアダプタ1では、セキュリティ領域に対する情報(保護対象情報)の読み出し処理及び書き込み処理が、ICカード70のICカードコネクタ80への装着、及び、ICチップ72による使用者の認証を条件に行われる。このため、ICカード70をセキュリティアダプタ1とは別の場所に保管しておくことで、万一、セキュリティアダプタ1が解析されてしまったとしても、情報の漏洩は防止できる。その結果、セキュリティ性を高めることができる。
【0085】
このセキュリティアダプタ1では、メインコントローラ60が変更処理を行い、USBメモリ等の記憶領域の少なくとも一部をセキュリティ領域に変更している。このように、メインコントローラ60が変更処理を行っているので、ユーザ端末110の種類に依らず、セキュリティ領域に変更するための処理を共通化できる。その結果、汎用性を高めることができる。そして、変更処理に用いられるプログラム(セキュリティメモリデバイスドライバ)は、セキュリティアダプタ1が有する記憶素子40に記憶されている。この記憶素子40は、ICチップ72による使用者の認証がなされていない状態では、情報の読み出し専用領域として機能する。このため、使用者の認証がなされていなくても、記憶素子40に記憶された情報を利用することができる。このため、CD−ROM等の記憶媒体を別途持ち歩かなくても済み、利便性の向上が図れる。
【0086】
このセキュリティアダプタ1では、耐タンパ性の高いICチップ72が、平文情報の暗号化及び暗号化情報の復号を行っている。そして、暗号化や復号に用いられる暗号化用鍵も、耐タンパ性の高いICチップ72に記憶されている。このため、セキュリティ性を高めることができる。
【0087】
このセキュリティアダプタ1では、ICカード70がセキュリティアダプタ1の本体部から取り外し可能に構成されている。このため、ICカード70をセキュリティアダプタ1の本体部とは別工程で作成することもできる。この場合において、ICカード70内に記憶する情報(PIN等の比較用の認証情報)を、使用者固有のものとすることもできる。例えばSIM(Subscriber Identity Module)によって構成することができる。これにより、本体部を共通化することができ、生産効率の向上が図れる。
【0088】
ところで、このセキュリティアダプタ1では、許可情報を記憶素子40に記憶させていたが、この構成に限定されない。例えば、許可情報を、ICチップ72が有する内部メモリ74に記憶するようにしてもよい。言い換えれば、許可情報記憶部を内部メモリ74によって構成してもよい。このように構成することで、ICチップ72を所有する使用者に限定して、ユーザ端末110を使用させることができ、セキュリティ性の向上が図れる。
【0089】
また、管理サーバ140に対する外部認証に関し、後述する第4実施形態のように、ユーザ端末110と管理サーバ140とを接続するネットワークとは別のネットワーク(情報通信用の基地局を経由する通信網)を利用できる場合には、別のネットワークを利用して外部認証を行ってもよい。この場合、セキュリティアダプタ1から送信される情報の全部を別のネットワークを利用して送信してもよいし、情報の一部を別のネットワークを利用して送信してもよい。このように、セキュリティアダプタ1から送信される情報の少なくとも一部を、別のネットワークを通じて送信するように構成すると、ユーザ端末110と管理サーバ140とを接続するネットワークを通じて、外部認証に用いられる情報(例えばPIN)が漏洩することを有効に防止できる。
【0090】
===第2実施形態===
前述した第1実施形態は、コンピュータ装置の一例として、使用者によって直接的に操作されるユーザ端末110を説明した。この構成では、ユーザ端末110とUSBメモリ等との間で保護対象情報が扱える。ところで、コンピュータ装置は、ユーザ端末110に限られない。例えば、シンクライアントシステムで用いられるサーバであってもよい。以下、シンクライアントシステムに用いる、セキュリティアダプタ1の第2実施形態について説明する。
【0091】
<構成について>
図9は、第2実施形態を説明するためのブロック図である。なお、第1実施形態で説明した部分と同じ部分については、同じ符号を付して示し、説明は省略する。第1実施形態との違いは、セキュリティアダプタ1がシンクライアント端末装置150に接続されていること、及び、USBハードディスク130の記憶領域に対する情報の読み出し及び書き込みが、アプリケーションサーバ160によって行われることにある。以下、これらの違いを中心に、第2実施形態について説明する。まず、シンクライアントシステムについて説明する。例示したシンクライアントシステムは、シンクライアント端末装置150と、アプリケーションサーバ160とを有する。
【0092】
シンクライアント端末装置150は、使用者が直接的に操作する端末であり、アプリケーションサーバ160に対し、ネットワークを通じて通信可能に接続されている。このシンクライアントシステムにおいて、シンクライアント端末装置150とアプリケーションサーバ160との間は、情報が暗号化された状態で送受信される。シンクライアント端末装置150は、前述のユーザ端末110と比較した場合、ユーザインタフェースの提供等の最低限の機能しか有さない点に特徴を有している。なお、シンクライアント端末装置150は、専用端末によって構成することもできるし、汎用性を有するパーソナルコンピュータによって構成することもできる。パーソナルコンピュータによってシンクライアント端末装置150を構成した場合、例えば、表示装置の表示領域に専用の表示領域が設けられる。そして、アプリケーションサーバ160から送信された画像データに対応する画像が、この表示領域に表示される。この場合、シンクライアント端末装置150にインストールするアプリケーションプログラムによって、シンクライアント端末装置150における印刷やデータの記憶等の入出力が制限される。これにより、セキュリティ性が高められている。
【0093】
例示したシンクライアント端末装置150は、CPU151と、メモリ152と、通信I/F153と、USB_I/F154と、内部バス155とを有する。これらの各部は、第1実施形態のユーザ端末110が有する各部と同じ機能を有する。ただし、先の説明から判るように、メモリ152に記憶されるコンピュータプログラムがユーザ端末110とは異なっている。例えば、シンクライアント端末装置150のメモリ152には、OSやウェブの閲覧ソフトといった必要最小限のソフトウェアしか記憶されていない。なお、シンクライアント端末装置150が有する通信I/F153やUSB_I/F154については、OSの標準機能によって使用できるようになっている。このため、セキュリティアダプタ1が接続されると、アプリケーションサーバ160からは、記憶素子40に記憶されたプログラム等が利用できる。そして、アプリケーションサーバ160からの指令に基づいてインストーラが実行されると、ICカードコネクタ80はシンクライアント端末装置150と通信可能な状態になる。また、セキュリティアダプタ1は、アプリケーションサーバ160に対するセキュリティキーとして機能したり、アプリケーションサーバ160に対する許可情報記憶媒体として機能したりする。
【0094】
アプリケーションサーバ160は、コンピュータ装置の一種である。シンクライアント端末装置150が専用端末として構成されている場合、アプリケーションサーバ160は、使用者に提供される殆どの処理を行う。また、シンクライアント端末装置150が汎用のパーソナルコンピュータによって構成されている場合、アプリケーションサーバ160は、使用者に提供される機能に応じた処理を行う。何れの場合においても、アプリケーションサーバ160は、使用者の操作によってシンクライアント端末装置150から送信された情報を受信する。そして、受信した情報に基づいて、アプリケーションプログラムを実行する。そして、シンクライアント端末装置150が有する表示装置(図示せず。)に画像を表示させるための表示用情報を、シンクライアント150へ送信する。
【0095】
例示したアプリケーションサーバ160は、CPU161と、メモリ162と、通信I/F163とを有する。これらの各部は、第1実施形態の管理サーバ140と同じ機能を有する。ただし、先の説明から判るように、メモリ162に記憶されるコンピュータプログラムが管理サーバ140とは異なっている。例えば、アプリケーションサーバ160のメモリ162には、使用者に利用させるための各種のアプリケーションプログラムが記憶されている。
【0096】
<初回のアクセス処理について>
図10に示すように、初回のアクセス処理において、使用者がシンクライアント端末装置150を通じてセキュリティ領域に対するアクセスを試みると、例えばセキュリティ領域に対する情報の書き込みを指示すると、シンクライアント端末装置150は、アプリケーションサーバ160に対して、書き込み要求操作を示す操作情報を送信する(S51)。この操作情報を受けて、アプリケーションサーバ160は、セキュリティアダプタ1のメインコントローラ60に対し、情報の書き込み要求を送信する(S52)。この書き込み要求に基づき、メインコントローラ60は、ICチップ72に対して認証が済んでいるか否かを問い合わせる(S53)。このタイミングでは、認証が済んでいないため、ICチップ72は、未認証の旨を示す回答をメインコントローラ60へ送信する(S54)。この回答を受けて、メインコントローラ60は、PINの入力をアプリケーションサーバ160に要求する(S55)。アプリケーションサーバ160は、シンクライアント端末装置150に対し、PINの入力を促す要求表示画面を表示させるための表示用情報を送信する(S56)。シンクライアント端末装置150は、この表示用情報の受信により、表示装置に要求表示画面を表示する。使用者がシンクライアント端末装置150を通じてPINの入力操作をすると、その操作情報がアプリケーションサーバ160へ送信される(S57)。この操作情報に基づいて、アプリケーションサーバ160は、入力されたPINを認識する。そして、アプリケーションサーバ160は、認識したPINをメインコントローラ60に対して送信する(S58)。メインコントローラ60は、入力されたPINが正規のものであるか否かをICチップ72に問い合わせる(S59)。このとき、ICチップ72は、記憶しているPINと受信したPINとを比較し、両者が一致した場合に正規のPINが入力されたと判断する。
【0097】
ICチップ72は、受信したPINが正規のものであった場合、アプリケーションサーバ160に対する外部認証を試みる。このため、ICチップ72は、チャレンジコードを生成する。そして、生成したチャレンジコードを、メインコントローラ60を通じて、アプリケーションサーバ160へ送信する(S60,S61)。なお、チャレンジコードは、第1実施形態のものと同様である。アプリケーションサーバ160は、受信したチャレンジコードからレスポンスデータを生成する。なお、レスポンスデータの生成も第1実施形態と同様にしてなされる。また、暗号化や復号に用いられる暗号用鍵は、例えば、ICカード70を発行する際にICチップ72の固有ID(CUID)と組にした状態で、アプリケーションサーバ160に登録される。
【0098】
アプリケーションサーバ160は、生成したレスポンスデータを、メインコントローラ60を通じて、ICチップ72へ送信する(S62,S63)。ICチップ72は、レスポンスデータから取得した乱数が、チャレンジコードの生成時に用いた乱数と一致した場合に、ICチップ72は外部認証の成立と判定する。外部認証の成立に伴い、ICチップ72は、書き込みを許可する旨の情報を、メインコントローラ60へ送信する(S64)。この情報は、アプリケーションサーバ160を使用している使用者が、セキュリティ領域に対するアクセス権限を有する正規の使用者であることを示す情報に相当する。メインコントローラ60は、書き込みを許可する旨の情報を、アプリケーションサーバ160へ送信する(S65)。アプリケーションサーバ160では、この情報の受信に伴って書き込みの対象となる平文情報、すなわち、保護対象情報を暗号化する(S66)。暗号化された情報は、メインコントローラ60に送信され(S63)、USBハードディスク130のセキュリティ領域に記憶される(S64)。
【0099】
ところで、暗号用鍵のアプリケーションサーバ160への登録は、ICカード70の発行時の登録に限られない。例えば、PINによる認証が成立したことを条件に、セキュリティアダプタ1から送信するようにしてもよい。さらに、後述する第4実施形態のように、シンクライアントシステム用のネットワークとは別のネットワーク(情報通信用の基地局を経由する通信網)を利用できる場合には、別のネットワークを利用して暗号用鍵を送信してもよい。セキュリティアダプタ1から送信される情報(暗号用鍵)を、別のネットワークを通じて送信するように構成すると、シンクライアント端末装置150を通さずに暗号鍵の共有が行える。その結果、暗号用鍵の不正取得を防止でき、セキュリティ性を一層向上させることができる。
【0100】
<2回目以降のアクセス処理について>
次に、2回目以降のアクセス処理について説明する。ここでは、USBハードディスク130のセキュリティ領域に記憶された保護対象情報を、アプリケーションサーバ160に読み込む場合の処理について説明する。この場合、使用者がシンクライアント端末装置150を通じてセキュリティ領域に記憶された情報の読み出しを指示する。これにより、シンクライアント端末装置150はアプリケーションサーバ160に対して、読み出し要求操作を示す操作情報を送信する(S71)。この操作情報を受けて、アプリケーションサーバ160は、セキュリティアダプタ1のメインコントローラ60に対し、情報の読み出し要求を送信する(S72)。この読み出し要求に基づき、メインコントローラ60は、ICチップ72に対して認証が済んでいるか否かを問い合わせる(S73)。このタイミングでは認証が済んでいるので、ICチップ72は、認証済みの旨を示す回答をメインコントローラ60へ送信する(S74)。この回答もまた、アプリケーションサーバ160を使用している使用者が、セキュリティ領域に対するアクセス権限を有する正規の使用者であることを示す情報に相当する。この回答を受けて、メインコントローラ60は、対象データの読み出し要求をUSBハードディスク130に対して送信する(S75)。
【0101】
読み出し要求の受信に伴い、USBハードディスク130は、対象データをメインコントローラ60に送信する(S76)。メインコントローラ60は、対象データをアプリケーションサーバ160へ送信する(S77)。ここで、USBハードディスク130から送信された対象データは、アプリケーションサーバ160で暗号化されたものである。このため、メインコントローラ60は、暗号化された対象データを、そのままアプリケーションサーバ160へ送信する。アプリケーションサーバ160は、受信した対象データを復号して利用する(S78)。
【0102】
<まとめ>
以上説明したように、第2実施形態では、シンクライアント端末装置150を介してアプリケーションサーバ160とUSBメモリ等との間で保護対象情報が扱える。すなわち、シンクライアントシステムにおいて、外部メモリに情報を記憶させることができる。そして、外部メモリに記憶させた情報は、シンクライアントシステムにおける認証により、正規の使用者と判断されなければアクセスすることができない。このため、情報を外部メモリに記憶して可搬できるという利便性と、シンクライアントシステムによる認証によるセキュリティ性とを、高いレベルで調和させることができる。特に、アプリケーションサーバ160のクラッシュによる情報の喪失リスクや、アプリケーションサーバ160に対する不正アクセスによる情報の暴露リスクを、情報の記憶担体を分散化させることにより低減でき、システム全体としてのセキュリティ性と可用性を向上することができる。
【0103】
この場合においても、シンクライアント端末装置150用のドライバプログラム等を記憶した記憶媒体を持ち運ばなくて済むので、利便性の向上が図れる。また、アプリケーションサーバ160から外部メモリへ送信される保護対象情報は、暗号鍵によってアプリケーションサーバ160で暗号化されている。同様に、外部メモリからアプリケーションサーバ160へ送信される保護対象情報も、ICチップ72によって暗号化されている。このため、セキュリティ性を高めることができる。
【0104】
なお、この第2実施形態では、アプリケーションサーバ160で暗号化された対象データ(保護対象情報)を、USBハードディスク130のセキュリティ記憶領域に記憶しているが、この構成に限定されない。第1実施形態と同じように、セキュリティアダプタ1で暗号化するようにしてもよい。
【0105】
===第3実施形態===
前述した第1実施形態及び第2実施形態では、セキュリティアダプタ1とユーザ端末110の間、セキュリティアダプタ1とシンクライアント端末装置150の間、及び、セキュリティアダプタ1と外部メモリ(USBメモリ120,USBハードディスク130)との間を、USBケーブルで接続していた。各装置の接続は有線に限られるものではない。すなわち、無線で接続してもよい。以下、各装置を無線で接続した第3実施形態について説明する。この第3実施形態の構成は、インタフェースの部分を除き、第1実施形態の構成と同じである。このため、相違する部分についてのみ説明を行い、共通の部分については説明を省略する。
【0106】
図11に示すように、この第3実施形態では、セキュリティアダプタ1がアダプタ側無線I/F90を有し、ユーザ端末110が端末側無線I/F116を有し、無線ハードディスク130´がハードディスク側無線I/F139を有する。そして、情報は、各機器の間を無線で送受信される。それぞれの無線I/F90,116,139には、種々の規格のものを用いることができる。例えば、特定周波数(2.4〜2.45GHz帯)の電波や赤外線が用いられる。なお、ユーザ端末110とセキュリティアダプタ1との間の規格と、セキュリティアダプタ1と無線ハードディスク130´との間の規格とは、異なっていてもよい。例えば、ユーザ端末110とセキュリティアダプタ1とを特定周波数の電波で接続し、セキュリティアダプタ1と無線ハードディスク130´とを赤外線で接続するようにしてもよい。
【0107】
この第3実施形態では、セキュリティアダプタ1、ユーザ端末110(コンピュータ装置)、及び、無線ハードディスク130´(外部メモリ)を、それぞれ無線で通信可能に接続している。このため、電波や赤外線が届く範囲にセキュリティアダプタ1を配置するだけで各機器が無線で接続される。その結果、ケーブルの接続等の処理を行わずに済み、利便性の向上が図れる。特に、電波で通信するように構成した場合には、機器同士の間に障害物があっても通信ができるので、各機器の配置の自由度が高くなって好ましい。例えば、セキュリティアダプタ1を身につけたまま通信をさせることができるので、離席時にユーザ端末110を確実にロック状態に移行させることができる。
【0108】
===第4実施形態===
前述した各実施形態において、ICカード70は、セキュリティアダプタ1専用のものであった。また、外部メモリ(USBメモリ120,USBハードディスク130,無線ハードディスク130´)は、USB_I/Fや無線I/Fといった通信用のインタフェースを有するものであった。ここで、ICカード70は、セキュリティアダプタ1専用のものでなくてもよい。また、外部メモリは、情報を送受信するための接点端子群を有するものであってもよい。以下、このように構成した第4実施形態について説明する。
【0109】
図12に示すように、第4実施形態では、携帯電話機170をセキュリティアダプタとして用いている点に特徴を有する。ユーザ端末110は、第3実施形態と同様に、通信用のインタフェースが無線になっているタイプのものである。このため、説明は省略する。携帯電話機170は、セキュリティアダプタとして機能するものであり、メインコントローラ171と、電話機側無線I/F172と、基地局通信部173と、音声処理部174と、入力部175と、ICカードコネクタ176と、ICカード177と、記憶素子178と、メモリカードコネクタ179と、内部バス180とを有する。これらの中で、ICカードコネクタ176、記憶素子178、及び、内部バス180は、第1実施形態のICカードコネクタ80、記憶素子40、及び、内部バス63と同様の構成である。このため、説明は省略する。
【0110】
メインコントローラ171は、CPU181とメモリ182とを有しており、携帯電話機170における全体的な制御を担当する。例えば、音声通話に関する処理を行うとともに、外部メモリに対する情報の読み出し処理及び書き込み処理を行う。なお、この第4実施形態では、外部メモリとしてメモリカード183が用いられる。このメモリカード183は、フラッシュメモリ等によって構成される記憶素子(図示せず)を有する点でUSBメモリ等と共通している。また、メモリカード183は、通信用のインタフェース(例えば、USB_I/F123や無線I/F139)を有しておらず、それに代えて接続用のメモリ側接点端子群を有している点でUSBメモリ等とは相違している。このため、メインコントローラ171との通信は、メモリカードコネクタ179を介して行われる。
【0111】
このメモリカードコネクタ179は、外部メモリ装着部に相当し、メモリカード183が、メインコントローラ171に対して通信可能な状態で、かつ、取り外し可能な状態で装着される。図示は省略するが、メモリカードコネクタ179は、ガイド部材と基板側接点端子群とを有する。ガイド部材は、メモリカード183を所定の装着位置まで案内するための部材である。基板側接点端子群は、メモリカード183が所定の装着位置に装着された場合に、メモリ側接点端子群と接触する。そして、基板側接点端子群とメモリ側接点端子群とが接触すると、メモリカード183とメインコントローラ171とが通信可能な状態となる。
【0112】
電話機側無線I/F172は、第3実施形態のアダプタ側無線I/F90と同様の構成であり、ユーザ端末110との間で、情報を無線で送受信するためのものである。電話機側無線I/F172としては、特定周波数の電波や赤外線を用いるものが用いられる。基地局通信部173は、情報通信用の基地局と通信するためのものである。例えば、メインコントローラ171からの音声データを、基地局へ向けて送信する。また、基地局から送信された音声データを受信する。また、データ通信の場合には、音声データに代えて通信データを送受信する。音声処理部174は、マイクMFが集音した音声をディジタル変換してメインコントローラ171へ送信したり、メインコントローラ171からの音声データをアナログ変換してスピーカSPへ出力したりする。入力部175は、相手先の電話番号の入力など、種々の操作をするものである。
【0113】
ICカード177は、前述した各実施形態のICカード70と同様の構成を有する。なお、各実施形態のものとの相違は、音声通話に関する契約者を識別するための契約者識別情報が記憶されている点にある。すなわち、契約者識別情報は、ICチップ184が有する内部メモリに記憶されている。この契約者識別情報は、音声通話やデータ通信等の情報通信を行う際に参照される。例えば、メインコントローラ171は、契約者識別情報を参照できることを条件に、基地局通信部173を有効にする。このように、第4実施形態のICカード177では、ICチップ184に、契約者識別情報を記憶させているので、ICチップ184を多用途に用いることができる。
【0114】
なお、基地局通信部173と基地局との間では、ディジタル方式で通信が行われる。このため、携帯電話機170のディジタル情報通信の機能を利用することにより、携帯電話機170と管理サーバ140との間で、基地局を経由した通信を行うことができる。これにより、管理サーバ140との間でなされる外部認証や、管理サーバ140との間における暗号鍵のやりとりを、基地局を経由して行うことができる。このように構成することで、ユーザ端末110を通さずに外部認証や暗号鍵の共有が行える。その結果、ユーザ端末110を通じての認証情報の漏洩や暗号鍵の不正取得を防止でき、セキュリティ性を一層向上させることができる。
【0115】
===その他の実施形態===
前述した各実施形態では、セキュリティアダプタ1について説明をした。この説明の中には、情報の記憶方法や読み出し方法、セキュリティアダプタ1を制御するためのコンピュータプログラム及びコードの説明も含まれている。また、各実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることはいうまでもない。また、各実施形態で開示された技術的思想同士を組み合わせることもできる。さらに、以下に述べる実施形態であっても、本発明に含まれる。
【0116】
<認証と使用可能領域の関係について>
前述した第1実施形態では、ICチップ72による管理サーバ140の外部認証が成立した場合に、USBメモリ120に設けられたセキュリティ領域122bに対し、情報の書き込みや読み出しができる構成となっていた。この点に関し、セキュリティ領域122bを複数のサブ領域に分割し、使用可能なサブ領域を、認証の成立状況に応じて定めてもよい。例えば、図13に示すように、第1サブ領域122c〜第4サブ領域122fをセキュリティ領域122bに設けた場合について説明する。この場合、PIN認証は成立したが、管理サーバ140との間で認証が成立しなかった場合には、一部のサブ領域が使用可能となる。例えば、第1サブ領域122c及び第2サブ領域122dが使用可能となり、第3サブ領域122e及び第4サブ領域122fは使用できない。また、PIN認証が成立し、かつ、管理サーバ140との認証も成立した場合には、第1サブ領域122c〜第4サブ領域122fが使用可能となる。
【0117】
このときICチップ72は、ユーザ端末110を通じて送られたPIN(入力された認証情報)が正規のものである場合であって、かつ、管理サーバ140との間で外部認証が成立した場合に、メインコントローラ60に対してセキュリティ領域122bの全体に対する読み出し処理及び書き込み処理を許可し、ユーザ端末110を通じて送られたPINが正規のものである場合であって、かつ、管理サーバ140との間で外部認証が成立しなかった場合に、メインコントローラ60に対してセキュリティ領域122bの一部に対する読み出し処理及び書き込み処理を許可する。このように、認証の段階に応じて、セキュリティ領域における書き込みや読み出しが行える領域を定めるようにすると、使用状況に応じてセキュリティレベルを異ならせることができる。例えば、社内のイントラネットなどセキュリティ性が高い環境では、セキュリティ領域122bの全体を使用できるようにし、出先のユーザ端末110で使用する場合には一部のセキュリティ領域122bしか使用できないようにすることができる。これにより、出先のユーザ端末110からは使用できない領域については高い機密性を持たせることができる。その結果、1つのセキュリティ領域122bを有効に活用することができ、使い勝手を向上させることができる。
【0118】
勿論、使用の簡便性を重視し、入力されたPINが正規のものであったことを条件に、セキュリティ領域122bの全体を使用できるようにしてもよい。この場合、ユーザ端末110を通じて送られたPINが正規のものであると、ICチップ72は、その旨を示す情報(例えばチャレンジコードや専用情報)をメインコントローラ60へ送信する。メインコントローラ60は、この情報の受信に基づき、セキュリティ領域122bの全体に対して情報の読み書きができる状態になる。このように構成した場合、管理サーバ140は不要である。
【0119】
加えて、セキュリティアダプタ1によって管理サーバ140が認証できた場合に、セキュリティ領域の一部を使用可能とし、加えて、管理サーバ140によってセキュリティアダプタ1が認証できた場合(つまり、相互認証が成立した場合)に、他の領域をも使用可能にしてもよい。同様に、セキュリティアダプタ1によって管理サーバ140が認証できた場合に、一部の領域について、情報を読み出し可能な領域と定め、相互認証が成立した場合に、その領域に対する情報の書き込みをも可能にしてもよい。
【0120】
<暗号化処理について>
前述した各実施形態において、セキュリティ領域に記憶される情報の暗号化、及び、セキュリティ領域から読み出された情報の復号は、ICチップ72によってなされていた。これらの暗号化及び復号の処理を、メインコントローラ60(171)に行わせてもよい。この場合、ICチップ72からメインコントローラ60に対し、暗号/復号鍵を秘密状態で転送する必要がある。また、前記暗号/復号鍵の暗号化/復号の手順を定める制御情報に関し、構成によっては、ICチップ72からメインコントローラ60に対し、秘密状態での転送が必要となる場合も考えられる。さらに、ICチップ72が取り外された状態では、暗号/復号鍵を読み取られないようにする必要がある。これらを考慮すると、次の構成を採ることが好ましい。
【0121】
まず、平文情報の暗号化に用いられる暗号化用鍵、及び、暗号化情報の復号に用いられる復号用鍵としては、共通暗号鍵を用いる。この共通暗号鍵は、ICチップ72における耐タンパを有する記憶領域に記憶される。また、メインコントローラ60及びICチップ72のそれぞれには、共通暗号鍵や制御プログラム(以下、共通暗号鍵等ともいう。)のやり取りに用いる暗号化や復号の共通アルゴリズムが実装されている。
【0122】
共通暗号鍵等の転送は、例えば、ICチップ72によるPIN認証が成立した後に行われる。この場合、まず、ICチップ72からメインコントローラ60に対して乱数を要求する指令を送信する。この指令に基づき、メインコントローラ60は乱数を生成する。生成した乱数は、メインコントローラ60にて一時的に記憶される。また、メインコントローラ60は、共通アルゴリズムによる符号化を行うことで、生成した乱数を含むレスポンスデータを生成し、このレスポンスデータをICチップ72へ送信する。ICチップ72は、受信したレスポンスデータを共通アルゴリズムで復号し、乱数を取得する。また、ICチップ72では、取得した乱数をいわゆるセッション鍵として用い、記憶している共通暗号鍵等を共通アルゴリズムで符号化する。これにより、レスポンスデータが生成される。そして、このレスポンスデータは、メインコントローラ60へ送信される。ICチップ72からのレスポンスデータを受信すると、メインコントローラ60は、一時的に記憶している乱数を用い、共通アルゴリズムによる復号を行う。これにより、レスポンスデータから共通暗号鍵等を取得する。この例では、ICチップ72からの明示的な要求に基づいて、メインコントローラ60は乱数を生成している。このため、共通のプロトコルを実装した系でないと処理が行えない。すなわち、ICチップ72が装着されない状態では、情報の暗号化や復号が行えない。その結果、高いセキュリティを保つことができる。
【0123】
これらの共通暗号鍵、及び、制御プログラムは、メインコントローラ60が有する揮発性メモリに記憶される。この揮発性メモリは、内部メモリ62の一部に設けられている。そして、CPU61は、共通暗号鍵等を用いてセキュリティ領域に記憶する情報の暗号化、及び、セキュリティ領域から読み出す情報の復号を行う。これらの場合において、メインコントローラ60は、暗号化処理や復号処理を行う度に、ICチップ72の装着確認を行う。すなわち、暗号化処理や復号処理は、ICカード70がICカードコネクタ80に正常に(通信可能に)装着されていることを条件に行われる。そして、ICカード70がICカードコネクタ80から抜き取られた場合には、直ちに揮発性メモリから共通暗号鍵等が消去される。また、電源が切断された場合や、プラグが端末側ポートから取り外された場合も、直ちに揮発性メモリから共通暗号鍵等が消去される。このため、ICカード70が抜き取られた場合等におけるセキュリティレベルを高めることができる。なお、少なくとも共通暗号鍵が消去されれば、高いセキュリティ性を確保することができる。
【0124】
この例では、メインコントローラ60による処理の高速性とセキュリティ性の確保とが、高いレベルで両立できる。
【0125】
<認証について>
第1実施形態及び第2実施形態において、PINによる認証や外部認証は、セキュリティ領域への初回のアクセス処理時に行われていた。これは、セキュリティアダプタ1を多用途に用いるように構成したからである。すなわち、セキュリティアダプタ1は、ユーザ端末110(或いは、シンクライアント端末装置150)に接続され、かつ、未認証の状態において、USBハブとして用いられるからである。ここで、セキュリティアダプタ1の使用を、正規の使用者と認証されたことを条件に可能とする構成としてもよい。この場合には、ユーザ端末110への接続時、或いは、シンクライアント端末装置150への接続時に、PINによる認証や外部認証が行われる。
【0126】
この場合においても、第4実施形態のように、基地局を経由した別のネットワークを利用できる場合には、別のネットワークを利用して外部認証を行ってもよいし、暗号用情報を送受信してもよい。このとき、セキュリティアダプタ1から送信される情報の全部を別のネットワークを利用して送信してもよいし、情報の一部を別のネットワークを利用して送信してもよい。このように、セキュリティアダプタ1から送信される情報の少なくとも一部を、別のネットワークを通じて送信するように構成すると、コンピュータ装置とセキュリティアダプタ1とを接続するネットワークを通じて、認証用の情報が漏洩することを有効に防止できる。
【0127】
また、第2実施形態において、セキュリティアダプタ1の外部認証をするための管理サーバを、別筐体で独立させた状態で設けてもよい。この場合、セキュリティアダプタ1に、シンクライアントシステムで利用される動作モードであることを認識させるため、第1実施形態における外部認証とは、別種のプロトコルを用いることが望ましい。
【0128】
<管理サーバ140について>
前述した各実施形態において、暗号/復号鍵、及び、比較用の認証情報は、ICチップ72の内部メモリ74に記憶されていた。この構成では、ICチップ72が破損した場合や紛失した場合に、セキュリティ領域に記憶されている暗号化情報が読み出せなくなってしまうという問題が生じる。このような問題を解決するため、管理サーバ140に、暗号/復号鍵、及び、比較用の認証情報を記憶するようにしてもよい。このように構成することで、万一、ICチップ72が破損したり紛失したりしても、同じ情報を記憶したICチップ72を作製できる。要するに、キーリカバリ機能/キーエスクロー機能を持たせることができる。これにより、使い勝手を向上させることができる。この場合において、暗号/復号鍵等は、HSM(Hardware Security Module)のような耐タンパ性を有するデバイスに記憶することが好ましい。
【0129】
<ICカード70について>
前述の各実施形態では、1つのセキュリティアダプタ1の本体部に対し、1種類のICカード70(固有IDが1つ)が用いられていた。しかし、1つのセキュリティアダプタ1の本体部に対し、複数種類のICカード70を用いてもよい。この場合、セキュリティを考慮すると、或るICカード70が装着された場合にはセキュリティ領域の或る領域に対して情報の書き込みと読み出しが可能となり、他のICカード70が装着された場合にはセキュリティ領域の他の領域に対して情報の書き込みと読み出しが可能となることが求められる。そこで、或る固有ID(固有識別情報)を記憶したICチップ72を有するICカード70で暗号化された情報を記憶した領域は、他の固有IDを記憶したICチップ72を有するICカード70ではアクセスできない構成としてもよい。
【0130】
図14に示す例では、或る固有IDを記憶したICチップ72を有する第1のICカード70Aで暗号化された情報が、セキュリティ領域122bの第1保護領域122gに記憶されている。その後、第1のICカード70Aが抜き取られ、他の固有IDを記憶したICチップ72を有する第2のICカード70Bが装着される。そして、第2のICカード70Bで暗号化された情報が、第1保護領域122g以外の領域(例えば第2保護領域122h)に記憶される。
【0131】
この例において、メインコントローラ60は、固有IDに基づいて、装着されたICカード70の種類を認識する。そして、情報の記憶可能領域を認識する。第1のICカード70Aが装着された状態では、セキュリティ領域122bには情報が記憶されていない。このため、メインコントローラ60は、全領域を情報の記憶可能領域として認識する。そして、第1保護領域122gに情報が記憶されると、この第1保護領域122gのアドレスを第1のICカード70Aの専用領域として内部メモリ62に記憶する。次に、第2のICカード70Bが装着されると、メインコントローラ60は、第1保護領域122gを除く領域を情報の記憶可能領域として認識する。このとき、メインコントローラ60は、第1保護領域122gを表示させない。このため、第2のICカード70Bの使用者には、第1保護領域122gを除いた領域が空き領域として表示される。そして、情報は、この空き領域の一部である第2保護領域122hに記憶される。第2保護領域122hに情報が記憶された後に、再度第1のICカード70Aが装着されると、第2保護領域122hを除く領域が情報の記憶や読み出しのできる対象領域として認識される。以後は、同様の処理がなされる。従って、第3のICカード70Cが装着された場合には、第1保護領域122g及び第2保護領域122hを除いた領域が空き領域として認識される。
【0132】
この例では、複数のICカード70A〜70Cのそれぞれについて専用領域が定められ、その専用領域に対して暗号化情報の書き込みや読み出しがなされる。すなわち、チップユニット毎に、セキュリティ領域における異なる部分が使用対象となる。その結果、セキュリティ性を確保しつつ、複数の使用者で記憶領域を有効に活用することができ、使い勝手の向上が図れる。
【0133】
<セキュリティ領域について>
前述の各実施形態では、ICカード70の装着を条件に情報の書き込み等ができるセキュリティ領域を、フォルダとして認識させる構成であった。認識の態様はフォルダに限定されるものではない。例えば、「ボリューム」や「パーティション」といったように、論理ディスクとして認識させることもできる。そして、大容量記憶媒体としての利用によって制約をなくすことができる。すなわち、それぞれを独立した「論理ディスク」として利用することができる。
【0134】
<ICチップ72のインタフェースについて>
前述した各実施形態では、ICチップ72とメインコントローラ60とは、ICカードコネクタ80の基板側端子82を通じて接続されていた。この点に関し、ICチップ72とメインコントローラ60とを無線(例えば電磁誘導方式)で接続するようにしてもよい。
【0135】
また、前述した各実施形態において、ICチップ72は、ICカード70に実装されており、セキュリティアダプタ1の本体部から取り外しできる構成であった。この点に関し、ICチップ72をセキュリティアダプタ1に内蔵させてもよい。例えば、ICチップ72をセキュリティアダプタ1の配線用基板に実装してもよい。
【0136】
<認証情報について>
前述した実施形態では、認証情報としてPINやチャレンジコードを用いていたが、認証情報はこれらに限定されるものではなく、種々の情報を用いることができる。例えば、指紋や静脈等の生体認証情報を用いてもよいし、パスワードを用いてもよい。
【0137】
<セキュリティミドルウェアについて>
前述した実施形態では、セキュリティミドルウェアを、記憶素子40に記憶させていたが、この構成に限定されない。例えば、セキュリティミドルウェア等を、ICチップ72の内部メモリ74に記憶させてもよい。このように構成した場合、耐タンパ性の高いICチップ72(内部メモリ74)にセキュリティミドルウェア等が記憶されるので、セキュリティ性の向上が図れる。例えば、ICチップ72をセキュリティアダプタ1の本体部から取り外した状態で保管することにより、セキュリティアダプタ1の本体部が解析されたとしても、許可情報等が漏洩してしまう不具合を防止できる。
【0138】
<外部メモリについて>
前述した各実施形態では、外部メモリとして、USBメモリ120、USBハードディスク130、メモリカード183、及び、無線ハードディスク130´を例示したが、外部メモリはこれらに限定されるものではない。情報を記憶可能な媒体であれば利用できる。例えば、フレキシブルディスクであってもよいし、光磁気ディスクであってもよい。
【図面の簡単な説明】
【0139】
【図1】セキュリティアダプタ、ユーザ端末、及び、USBメモリ等の構成を説明する図である。
【図2】図2Aは、セキュリティアダプタの構成を説明する斜視図である。図2Bは、USB_I/F等の構成を説明する斜視図である。図2Cは、ICカードコネクタの構成を説明する斜視図である。
【図3】図3Aは、ICカードの構成を説明するブロック図である。図3Bは、ICチップが有する内部メモリの記憶領域を説明する概念図である。
【図4】記憶素子の記憶領域を説明する概念図である。
【図5】図5Aは、セキュリティメモリデバイスドライバが実行される前におけるUSBメモリの記憶領域を説明する概念図である。図5Bは、USBメモリの記憶領域に作成されるフォルダを説明する図である。
【図6】図6Aは、セキュリティメモリデバイスドライバの実行後におけるUSBメモリの記憶領域を説明する概念図である。図6Bは、USBメモリの記憶領域に作成されるフォルダを説明する図である。
【図7】図7Aは、セキュリティアダプタの接続時における動作を説明するための図である。図7Bは、ユーザ端末からのセキュリティアダプタの認識状態の一例を説明するための図である。
【図8】セキュリティ領域に対する情報の読み出しや書き込みを説明するための図である。
【図9】第2実施形態を説明するための図である。
【図10】第2実施形態における、セキュリティ領域に対する情報の読み出しや書き込みを説明するための図である。
【図11】第3実施形態を説明するための図である。
【図12】第4実施形態を説明するための図である。
【図13】認識の度合いによってセキュリティ領域の利用方法が異なる実施形態を説明するための図である。
【図14】ICカード毎に利用できる領域が異なる実施形態を説明するための図である。
【符号の説明】
【0140】
1 セキュリティアダプタ,10 コントローラ,
20 ホスト側USB_I/F,21 USBプラグ,
22 第1USBコントローラ,30 デバイス側USB_I/F,
31 アダプタ側USBポート,32 第2USBコントローラ,
40 記憶素子,50 筐体,60 メインコントローラ,
61 CPU,62 内部メモリ,63 内部バス,70 ICカード,
70A 第1のICカード,70B 第2のICカード,
70C 第3のICカード,71 基板,72 ICチップ,
73 CPU,74 内部メモリ,75 暗号処理回路,
76 シリアルI/F,77 接点端子群,77a 電源端子,
77b グランド端子,77c クロック端子,77d I/O端子,
78 内部バス,80 ICカードコネクタ,81 ガイド部材,
82 基板側端子,110 ユーザ端末,111 CPU,
112 メモリ,113 通信I/F,114 USB_I/F,
115 内部バス,116 端末側無線I/F,120 USBメモリ,
121 メモリ側コントローラ,122 記憶素子,
122a 通常アクセス可能領域,122b セキュリティ領域,
122c 第1サブ領域,122d 第2サブ領域,
122e 第3サブ領域,122f 第4サブ領域,
123 USB_I/F,124 CPU,125 内部メモリ,
126 内部バス,130 USBハードディスク,
130´ 無線ハードディスク,131 ハードディスク側コントローラ,
132 磁気ディスク,133 ヘッド,134 モータ,
135 USB_I/F,136 CPU,137 内部メモリ,
138 内部バス,139 ハードディスク側無線I/F,
140 管理サーバ,141 CPU,142 メモリ,
143 通信I/F,144 内部バス,150 シンクライアント端末装置,
151 CPU,152 メモリ,153 通信I/F,
154 USB_I/F,155 内部バス,
160 アプリケーションサーバ,161 CPU,162 メモリ,
163 通信I/F,170 携帯電話機,171 メインコントローラ,
172 電話機側無線I/F,173 基地局通信部,174 音声処理部,
175 入力部,176 ICカードコネクタ,177 ICカード,
178 記憶素子,179 メモリカードコネクタ,180 内部バス,
181 CPU,182 メモリ
B 配線基板,MF マイク,SP スピーカ

【特許請求の範囲】
【請求項1】
(A)コンピュータ装置との間で用いられる情報を送受信する第1インタフェースと、
(B)外部メモリとの間で用いられる情報を送受信する第2インタフェースであって、保護対象情報を記憶するためのセキュリティ領域が設けられる外部メモリとの間で用いられる情報を送受信する第2インタフェースと、
(C)前記第1インタフェースと前記第2インタフェースとの間に設けられるコントローラであって、
前記セキュリティ領域に対するアクセス権限を有する正規の使用者か否かを、少なくとも前記コンピュータ装置を通じて送られた認証情報に基づいて判断するセキュリティ処理を行い、かつ、
前記セキュリティ処理で、前記コンピュータ装置の使用者が前記正規の使用者と判断されたことを条件に、前記コンピュータ装置からの要求に基づく前記セキュリティ領域に対する前記保護対象情報の読み出し処理及び書き込み処理を行う、コントローラと、
(D)を有する、セキュリティアダプタ。
【請求項2】
請求項1に記載のセキュリティアダプタであって、
前記コントローラは、
前記セキュリティ処理を行う第1コントローラと、
前記外部メモリに対する情報の読み出し処理及び書き込み処理を行う第2コントローラと、
を有する、セキュリティアダプタ。
【請求項3】
請求項2に記載のセキュリティアダプタであって、
前記第1コントローラは、
前記セキュリティ処理を行うとともに前記セキュリティ処理に用いられるセキュリティ情報を記憶したICチップを有するチップユニットであって、チップユニット装着部に対して取り外し可能な状態で装着されるチップユニットによって構成され、
前記第2コントローラは、
前記チップユニットが前記チップユニット装着部に装着された状態で、前記ICチップと通信し、
前記保護対象情報の読み出し処理及び書き込み処理を、前記チップユニットが前記チップユニット装着部に装着され、かつ、前記ICチップによる前記セキュリティ処理で、前記コンピュータ装置の使用者が前記正規の使用者と判断されたことを条件に行う、セキュリティアダプタ。
【請求項4】
請求項3に記載のセキュリティアダプタであって、
前記チップユニットは、
或る固有識別情報を記憶したICチップを有する第1のチップユニットと、
他の固有識別情報を記憶したICチップを有する第2のチップユニットとを有し、
前記第2コントローラは、
前記第1のチップユニットが前記チップユニット装着部に装着され、かつ、前記ICチップによる前記セキュリティ処理で、前記ユーザ端末の使用者が前記正規の使用者と判断された場合に、前記セキュリティ領域の一部に対する前記保護対象情報の読み出し処理及び書き込み処理を行い、
前記第2のチップユニットが前記チップユニット装着部に装着され、かつ、前記ICチップによる前記セキュリティ処理で、前記ユーザ端末の使用者が前記正規の使用者と判断された場合に、前記セキュリティ領域の他の一部に対する前記保護対象情報の読み出し処理及び書き込み処理を行う、セキュリティアダプタ。
【請求項5】
請求項2から請求項4の何れかに記載のセキュリティアダプタであって、
前記第2コントローラは、
前記外部メモリが有する領域であって情報を記憶可能な領域の少なくとも一部を、前記セキュリティ領域に変更する変更処理を行う、セキュリティアダプタ。
【請求項6】
請求項5に記載のセキュリティアダプタであって、
前記変更処理を前記第2コントローラに行わせる変更処理用プログラムを記憶する、変更処理用プログラム記憶部を有する、セキュリティアダプタ。
【請求項7】
請求項3に記載のセキュリティアダプタであって、
前記外部メモリは、
前記保護対象情報以外の情報を記憶する非セキュリティ領域を有し、
前記第2コントローラは、
前記コンピュータ装置からの要求に基づく前記非セキュリティ領域に対する前記保護対象情報以外の情報の読み出し処理及び書き込み処理を、前記チップユニットの前記チップユニット装着部への装着状態に関わらず行う、セキュリティアダプタ。
【請求項8】
請求項1から請求項7のいずれかに記載のセキュリティアダプタであって、
前記コンピュータ装置の使用が許可される特定の使用者か否かを、前記コンピュータ装置に判断させるための許可情報を記憶する、許可情報記憶部を有する、セキュリティアダプタ。
【請求項9】
請求項8に記載のセキュリティアダプタであって、
前記コントローラは、
前記特定の使用者を示す他の許可情報が前記コンピュータ装置に入力されたことを示す情報を、前記コンピュータ装置から受信した場合に、前記許可情報を前記許可情報記憶部から読み出して前記コンピュータ装置へ送信する、セキュリティアダプタ。
【請求項10】
請求項8に記載のセキュリティアダプタであって、
前記コントローラは、
前記セキュリティ処理を行う第1コントローラであって、
前記セキュリティ処理を行うとともに前記セキュリティ処理に用いられるセキュリティ情報を記憶したICチップを有するチップユニットであって、チップユニット装着部に対して取り外し可能な状態で装着されるチップユニットによって構成された第1コントローラと、
前記外部メモリに対する情報の読み出し処理及び書き込み処理を行う第2コントローラであって、
前記チップユニットが前記チップユニット装着部に装着された状態で、前記ICチップと通信し、
前記保護対象情報の読み出し処理及び書き込み処理を、前記チップユニットが前記チップユニット装着部に装着され、かつ、前記ICチップによる前記セキュリティ処理で、前記コンピュータ装置の使用者が前記正規の使用者と判断されたことを条件に行い、
前記許可情報記憶部からの前記許可情報の読み出し処理を、前記チップユニットの前記チップユニット装着部への装着状態に関わらず行う、第2コントローラと、
を有するセキュリティアダプタ。
【請求項11】
請求項10に記載のセキュリティアダプタであって、
前記第2コントローラは、
前記許可情報記憶部への前記許可情報の書き込み処理を、前記チップユニットが前記チップユニット装着部に装着され、かつ、前記セキュリティ処理で、前記コンピュータ装置の使用者が前記正規の使用者と判断されたことを条件に行う、セキュリティアダプタ。
【請求項12】
請求項8に記載のセキュリティアダプタであって、
前記コントローラは、
前記セキュリティ処理を行う第1コントローラであって、
前記セキュリティ処理を行うとともに前記セキュリティ処理に用いられるセキュリティ情報を記憶し、かつ、前記許可情報記憶部が設けられたICチップを有するチップユニットであって、チップユニット装着部に対して取り外し可能な状態で装着されるチップユニットによって構成された第1コントローラと、
前記外部メモリに対する情報の読み出し処理及び書き込み処理を行う第2コントローラであって、
前記チップユニットが前記チップユニット装着部に装着された状態で、前記ICチップと通信する、第2コントローラと、
を有する、セキュリティアダプタ。
【請求項13】
請求項2から請求項12の何れかに記載のセキュリティアダプタであって、
前記第1コントローラは、
予め記憶された比較用認証情報に基づいて前記認証情報が正規のものであるかを判断し、正規のものであると判断した場合に、正規の使用者であることを示す情報を前記第2コントローラへ送信する、セキュリティアダプタ。
【請求項14】
請求項1から請求項13の何れかに記載のセキュリティアダプタであって、
前記コンピュータ装置は、
使用者によって直接的に操作されるユーザ端末である、セキュリティアダプタ。
【請求項15】
請求項14に記載のセキュリティアダプタであって、
前記コントローラは、
前記セキュリティ処理を行う第1コントローラと、
前記外部メモリに対する情報の読み出し処理及び書き込み処理を行う第2コントローラとを有し、
前記第1コントローラは、
前記セキュリティ処理を行うとともに前記セキュリティ処理に用いられるセキュリティ情報を記憶したICチップを有するチップユニットであって、チップユニット装着部に対して取り外し可能な状態で装着されるチップユニットによって構成され、
前記第2コントローラは、
前記ユーザ端末からの要求に基づき、前記チップユニット装着部と前記ユーザ端末とを通信可能にするためのドライバプログラムをドライバプログラム記憶部から読み出し、前記第1インタフェースを通じて前記ユーザ端末へ送信する、セキュリティアダプタ。
【請求項16】
請求項14に記載のセキュリティアダプタであって、
前記コントローラは、
前記セキュリティ処理を行う第1コントローラと、
前記外部メモリに対する情報の読み出し処理及び書き込み処理を行う第2コントローラとを有し、
前記第1コントローラは、
前記セキュリティ処理を行うとともに、前記セキュリティ処理に用いられるセキュリティ情報を記憶したICチップであって、
前記ユーザ端末から送信された平文情報を前記セキュリティ領域に記憶すべき暗号化情報に変換して前記第2コントローラへ送信し、前記セキュリティ領域に記憶された前記暗号化情報を前記ユーザ端末へ送信すべき平文情報に変換して前記第2コントローラに送信するICチップを有する、セキュリティアダプタ。
【請求項17】
請求項16に記載のセキュリティアダプタであって、
前記ICチップは、
前記平文情報の暗号化に用いられる暗号化用鍵、及び、前記暗号化情報の復号に用いられる復号用鍵を記憶する、セキュリティアダプタ。
【請求項18】
請求項14に記載のセキュリティアダプタであって、
前記コントローラは、
前記セキュリティ処理を行う第1コントローラと、
前記外部メモリに対する情報の読み出し処理及び書き込み処理を行う第2コントローラとを有し、
前記第1コントローラは、
前記セキュリティ処理を行うとともに、平文情報の暗号化に用いられる暗号化用鍵、及び、暗号化情報の復号に用いられる復号用鍵を記憶したICチップを有し、
前記第2コントローラは、
前記ICチップから転送された前記暗号化用鍵を用いて、前記ユーザ端末から送信された前記平文情報を前記セキュリティ領域に記憶すべく暗号化し、前記ICチップから転送された前記復号用鍵を用いて、前記セキュリティ領域に記憶された前記暗号化情報を前記ユーザ端末へ送信すべく復号する、セキュリティアダプタ。
【請求項19】
請求項18に記載のセキュリティアダプタであって、
前記暗号化用鍵及び前記復号用鍵は、
共通暗号鍵であり、
前記第1コントローラは、
前記ICチップを有するチップユニットであって、チップユニット装着部に対して取り外し可能な状態で装着されるチップユニットによって構成され、
前記第2コントローラは、
前記チップユニットが前記チップユニット装着部から取り外された場合に、転送された前記共通暗号鍵を消去する、セキュリティアダプタ。
【請求項20】
請求項14に記載のセキュリティアダプタであって、
前記コントローラは、
前記セキュリティ処理を行う第1コントローラと、
前記外部メモリに対する情報の読み出し処理及び書き込み処理を行う第2コントローラとを有し、
前記第1コントローラは、
前記ユーザ端末を通じて送られた認証情報が正規のものである場合であって、かつ、前記ユーザ端末と通信可能に接続された管理サーバとの間で外部認証が成立した場合に、前記第2コントローラに対して前記セキュリティ領域の全体に対する読み出し処理及び書き込み処理を許可し、
前記ユーザ端末を通じて送られた認証情報が正規のものである場合であって、かつ、前記管理サーバとの間で外部認証が成立しなかった場合に、前記第2コントローラに対して前記セキュリティ領域の一部に対する読み出し処理及び書き込み処理を許可する、セキュリティアダプタ。
【請求項21】
請求項1から請求項13の何れかに記載のセキュリティアダプタであって、
前記コンピュータ装置は、
使用者によって直接的に操作されるシンクライアント端末装置に、ネットワークを通じて通信可能に接続されたサーバである、セキュリティアダプタ。
【請求項22】
請求項21に記載のセキュリティアダプタであって、
前記コントローラは、
前記セキュリティ処理を行う第1コントローラと、
前記外部メモリに対する情報の読み出し処理及び書き込み処理を行う第2コントローラとを有し、
前記第1コントローラは、
前記セキュリティ処理を行うとともに前記セキュリティ処理に用いられるセキュリティ情報を記憶したICチップを有するチップユニットであって、チップユニット装着部に対して取り外し可能な状態で装着されるチップユニットによって構成され、
前記第2コントローラは、
前記サーバからの要求に基づき、前記チップユニット装着部と前記シンクライアント端末装置とを通信可能にするためのドライバプログラムをドライバプログラム記憶部から読み出し、前記第1インタフェースを通じて前記シンクライアント端末装置へ送信する、セキュリティアダプタ。
【請求項23】
請求項21又は請求項22に記載のセキュリティアダプタであって、
前記サーバは、
記憶対象となる平文情報を暗号化することで前記保護対象情報を生成し、前記セキュリティ領域に記憶すべく前記シンクライアント端末装置へ送信する、セキュリティアダプタ。
【請求項24】
請求項1から請求項23の何れかに記載のセキュリティアダプタであって、
前記第2インタフェースは、
前記外部メモリと無線で通信をする、セキュリティアダプタ。
【請求項25】
請求項1から請求項23の何れかに記載のセキュリティアダプタであって、
前記第2インタフェースは、
前記外部メモリが前記コントローラに対して通信可能な状態で装着される外部メモリ装着部であって、前記外部メモリが取り外し可能に装着される外部メモリ装着部である、セキュリティアダプタ。
【請求項26】
請求項1から請求項25の何れかに記載のセキュリティアダプタであって、
前記第1インタフェースは、
前記コンピュータ装置と無線で通信をする、セキュリティアダプタ。
【請求項27】
請求項1から請求項26の何れかに記載のセキュリティアダプタであって、
情報通信に関する契約者を識別するための契約者識別情報が参照できることを条件に、情報通信用の基地局との間で無線による通信が可能となる基地局通信部を有し、
前記コントローラは、
前記セキュリティ処理を行うとともに、前記契約者識別情報を記憶したICチップを有する第1コントローラと、
前記外部メモリに対する情報の読み出し処理及び書き込み処理を行う第2コントローラと、を有する、
セキュリティアダプタ。
【請求項28】
請求項1から請求項13の何れかに記載のセキュリティアダプタであって、
前記コントローラと通信可能に設けられ、情報通信用の基地局との間で無線による通信が可能となる基地局通信部を有し、
前記コントローラは、
前記セキュリティ処理にて送信される情報の少なくとも一部を、前記基地局通信部を通じて送信する、セキュリティアダプタ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2008−197963(P2008−197963A)
【公開日】平成20年8月28日(2008.8.28)
【国際特許分類】
【出願番号】特願2007−33265(P2007−33265)
【出願日】平成19年2月14日(2007.2.14)
【特許番号】特許第4009315号(P4009315)
【特許公報発行日】平成19年11月14日(2007.11.14)
【出願人】(506231397)有限会社トゥールビヨン (3)
【Fターム(参考)】