説明

情報記憶装置

【課題】使い勝手の向上を図る。
【解決手段】USBメモリ1は、フラッシュメモリ50と、USBI/F20と、フラッシュメモリ50に対する読み出し処理及び書き込み処理を制御するメインコントローラ10とを有する。フラッシュメモリ50は、ユーザ端末110が有する標準機能によってユーザ端末110から認識され、ユーザ端末110からの情報の読み出しが可能な通常アクセス可能領域51と、標準機能によってはユーザ端末110から認識されないセキュリティ保護領域52とを有する。そして、通常アクセス可能領域51には、セキュリティ保護領域52をユーザ端末110から認識させるための認識機能をユーザ端末110に付加するプログラムが記憶されている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報記憶装置に関する。
【背景技術】
【0002】
ユーザ端末と通信可能に接続され、ユーザ端末からの情報を記憶したり、記憶した情報をユーザ端末に読み出させたりする情報記憶装置がある。近年では、可搬性を有する情報記憶装置が普及している。この種の情報記憶装置では、可搬性を有するため、記憶した情報を保護することが重要である。この点を考慮し、暗号演算処理を行うICチップを有する情報記憶装置が考えられている(例えば、特許文献1を参照。)。
【0003】
この情報記憶装置を使用する場合、ユーザ端末からICチップを使用できるようにする必要がある。この場合、ドライバ等の専用プログラムをユーザ端末にインストールする必要がある。このプログラムは、情報記憶装置とともに提供される。例えば、CD−ROM等の記憶媒体に記憶されている。また、インターネットを通じてダウンロードすることも行われている。
【特許文献1】国際公開第2002/099742号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【0004】
この種の情報記憶装置を出先のコンピュータで使用する場合、専用プログラムを記憶した記憶媒体を持ち歩くか、インターネットを通じて専用プログラムをダウンロードする必要があった。このため、使い勝手が悪いという問題があった。
【0005】
本発明は、このような事情に鑑みてなされたものであり、その主たる目的は、使い勝手の向上を図ることである。
【課題を解決するための手段】
【0006】
前記目的を達成するための主たる発明は、
(A)ユーザ端末と通信するための通信インタフェースと、
(B)前記ユーザ端末が有する標準機能によって前記ユーザ端末から認識され、前記ユーザ端末からの情報の読み出しが可能な第1領域、及び、前記ユーザ端末が有する標準機能によっては前記ユーザ端末から認識されない第2領域を有するメモリであって、
前記第2領域を前記ユーザ端末から認識させるための認識機能を前記ユーザ端末に付加する認識用プログラムを、前記第1領域に記憶しているメモリと、
(C)前記メモリと前記通信インタフェースとの間に設けられ、前記ユーザ端末からの要求に基づいて前記メモリに対する読み出し処理及び書き込み処理を行うコントローラと、
(D)を有する情報記憶装置である。
【0007】
本発明の他の特徴は、本明細書、及び添付図面の記載により、明らかにする。
【発明を実施するための最良の形態】
【0008】
本明細書の記載、及び添付図面の記載により、少なくとも次のことが明らかにされる。
【0009】
すなわち、(A)ユーザ端末と通信するための通信インタフェースと、(B)前記ユーザ端末が有する標準機能によって前記ユーザ端末から認識され、前記ユーザ端末からの情報の読み出しが可能な第1領域、及び、前記ユーザ端末が有する標準機能によっては前記ユーザ端末から認識されない第2領域を有するメモリであって、前記第2領域を前記ユーザ端末から認識させるための認識機能を前記ユーザ端末に付加する認識用プログラムを、前記第1領域に記憶しているメモリと、(C)前記メモリと前記通信インタフェースとの間に設けられ、前記ユーザ端末からの要求に基づいて前記メモリに対する読み出し処理及び書き込み処理を行うコントローラと、(D)を有する情報記憶装置を実現できることが明らかにされる。
【0010】
このような情報記憶装置によれば、認識用プログラムが記憶された記憶媒体を別途持ち運ぶ必要がなくなる。このため、使い勝手の向上が図れる。
【0011】
かかる情報記憶装置であって、前記ユーザ端末が有する標準機能は、前記ユーザ端末のオペレーティングシステムに搭載されているものであることが好ましい。
【0012】
かかる情報記憶装置であって、前記第1領域は、前記ユーザ端末が有する標準機能によって、情報の読み出し専用領域として前記ユーザ端末から認識される領域であることが好ましい。
【0013】
このような情報記憶装置によれば、標準機能の下でユーザ端末からは、第1領域に記憶された情報が読み出し専用の情報となる。このため、第1領域の情報が保護でき、使い勝手の向上が図れる。
【0014】
かかる情報記憶装置であって、少なくとも前記ユーザ端末を通じて送られた認証情報に基づき、前記第2領域に対するアクセス権限を有する正規の使用者か否かを判断するセキュリティ処理を行うICチップを有し、前記第2領域は、前記ICチップによる前記セキュリティ処理で、前記ユーザ端末の使用者が正規の使用者と判断されたことを条件に、前記ユーザ端末からの要求に基づく情報の書き込みや情報の読み出しが可能になる領域であることが好ましい。
【0015】
このような情報記憶装置によれば、正規の使用者によるユーザ端末の操作により、第2領域に対する情報の書き込みや読み出しが行える。このため、第2領域の情報が保護でき、使い勝手の向上が図れる。
【0016】
かかる情報記憶装置であって、前記第1領域は、前記ユーザ端末が有する標準機能によって、情報の読み出し専用領域として前記ユーザ端末から認識される領域であり、かつ、前記ICチップによる前記セキュリティ処理で、前記ユーザ端末の使用者が正規の使用者と判断されたことを条件に、前記ユーザ端末からの要求に基づく情報の書き込みが可能になる領域であることが好ましい。
【0017】
このような情報記憶装置によれば、正規の使用者によるユーザ端末の操作により、第1領域に対する情報の書き換えが行える。このため、使い勝手の向上が図れる。
【0018】
かかる情報記憶装置であって、前記ICチップは、前記ユーザ端末を通じて送られた認証情報が正規のものである場合であって、かつ、前記ユーザ端末と通信可能に接続された管理サーバとの間で外部認証が成立した場合に、前記コントローラに対して前記第2領域の全体に対する読み出し処理及び書き込み処理を許可し、前記ユーザ端末を通じて送られた認証情報が正規のものである場合であって、かつ、前記管理サーバとの間で外部認証が成立しなかった場合に、前記コントローラに対して前記第2領域の一部に対する読み出し処理及び書き込み処理を許可することが好ましい。
【0019】
このような情報記憶装置によれば、認証の度合いに応じて第2領域の使用可能範囲が定められるので、使い勝手の向上が図れる。
【0020】
かかる情報記憶装置であって、前記ICチップを有するチップユニットが装着されるチップユニット装着部であって、前記チップユニットが前記コントローラに対して通信可能な状態で装着されるチップユニット装着部を有することが好ましい。
【0021】
このような情報記憶装置によれば、チップユニットが取り外された状態において、第2領域に対する情報の書き込みや読み出しが行えない。このため、セキュリティ性の向上が図れる。
【0022】
かかる情報記憶装置であって、前記ICチップを有するチップユニットが装着されるチップユニット装着部であって、前記チップユニットが前記コントローラに対して通信可能な状態で装着されるチップユニット装着部を有し、前記チップユニットは、或る固有識別情報を記憶したICチップを有する第1のチップユニットと、他の固有識別情報を記憶したICチップを有する第2のチップユニットとを有し、前記コントローラは、前記第1のチップユニットが前記チップユニット装着部に装着され、かつ、前記ICチップによる前記セキュリティ処理で、前記ユーザ端末の使用者が前記正規の使用者と判断された場合に、前記第2領域の一部に対する情報の読み出し処理及び書き込み処理を行い、前記第2のチップユニットが前記チップユニット装着部に装着され、かつ、前記ICチップによる前記セキュリティ処理で、前記ユーザ端末の使用者が前記正規の使用者と判断された場合に、前記第2領域の他の一部に対する情報の読み出し処理及び書き込み処理を行うことが好ましい。
【0023】
このような情報記憶装置によれば、チップユニット毎に、第2領域における異なる部分が使用対象となる。このため、使い勝手の向上が図れる。
【0024】
かかる情報記憶装置であって、前記第1領域は、前記チップユニット装着部を前記ユーザ端末に使用させるためのプログラムを記憶していることが好ましい。
【0025】
このような情報記憶装置によれば、チップユニット装着部をユーザ端末に使用させるためのプログラムが記憶された記憶媒体を別途持ち運ぶ必要がなくなる。このため、使い勝手の向上が図れる。
【0026】
かかる情報記憶装置であって、前記第1領域は、前記ユーザ端末と前記ICチップとの間における情報の送受信を可能にするためのプログラムを記憶していることが好ましい。
【0027】
このような情報記憶装置によれば、ユーザ端末とICチップとの間における情報の送受信を可能にするためのプログラムが記憶された記憶媒体を別途持ち運ぶ必要がなくなる。このため、使い勝手の向上が図れる。
【0028】
かかる情報記憶装置であって、前記チップユニット装着部は、前記チップユニットが挿入される開口と、前記開口を通じて挿入された前記チップユニットを保持する保持部とを有することが好ましい。
【0029】
かかる情報記憶装置であって、前記ICチップは、前記ユーザ端末を通じて送られた認証情報を予め記憶された比較用認証情報と比較することにより、前記正規の使用者であるか否かを判断することが好ましい。
【0030】
かかる情報記憶装置であって、前記ICチップは、前記認証情報が正規のものであると判断した場合に、前記認証情報が正規のものである旨を示す情報を前記コントローラに対して送信し、前記コントローラは、前記認証情報が正規のものである旨を示す情報の受信を条件に、前記ユーザ端末からの要求に基づき、前記第2領域に対する情報の読み出し処理及び書き込み処理を行うことが好ましい。
【0031】
かかる情報記憶装置であって、前記ICチップは、前記ユーザ端末から送信された平文情報を前記第2領域に記憶すべき暗号化情報に変換して前記コントローラへ送信し、前記第2領域に記憶された暗号化情報を前記ユーザ端末へ送信すべき平文情報に変換して前記コントローラに送信することが好ましい。
【0032】
このような情報記憶装置によれば、第2領域に記憶される情報が暗号化されるため、セキュリティ性を向上させることができる。
【0033】
かかる情報記憶装置であって、前記ICチップは、前記平文情報の暗号化に用いられる暗号化用鍵、及び、前記暗号化情報の復号に用いられる復号用鍵を記憶することが好ましい。
【0034】
このような情報記憶装置によれば、第2領域に記憶される情報が暗号化されるため、セキュリティ性を向上させることができる。
【0035】
かかる情報記憶装置であって、前記ICチップは、平文情報の暗号化に用いられる暗号化用鍵、及び、暗号化情報の復号に用いられる復号用鍵を記憶し、前記コントローラは、前記ICチップから転送された前記暗号化用鍵を用いて、前記ユーザ端末から送信された前記平文情報を前記第2領域に記憶すべき暗号化情報に変換する一方、前記ICチップから転送された前記復号用鍵を用いて、前記第2領域に記憶された暗号化情報を前記ユーザ端末へ送信すべき平文情報に変換することが好ましい。
【0036】
このような情報記憶装置によれば、セキュリティ性を向上させつつ、処理の高速化が図れる。
【0037】
かかる情報記憶装置であって、前記ICチップは、平文情報の暗号化に用いられる暗号化用鍵、及び、暗号化情報の復号に用いられる復号用鍵を記憶し、前記コントローラは、前記ICチップから転送された前記暗号化用鍵を用いて、前記ユーザ端末から送信された前記平文情報を前記第2領域に記憶すべき暗号化情報に変換する一方、前記ICチップから転送された前記復号用鍵を用いて、前記第2領域に記憶された暗号化情報を前記ユーザ端末へ送信すべき平文情報に変換し、かつ、前記チップユニットが前記チップユニット装着部から取り外された場合に、転送された前記暗号化用鍵及び前記復号用鍵を消去することが好ましい。
【0038】
このような情報記憶装置によれば、セキュリティ性を高めることができる。
【0039】
かかる情報記憶装置であって、前記ICチップは、平文情報の暗号化に用いられる暗号化用鍵及び暗号化情報の復号に用いられる復号用鍵として、共通暗号鍵を記憶し、前記コントローラは、前記ICチップから転送された前記共通暗号鍵を用いて、前記ユーザ端末から送信された前記平文情報を前記第2領域に記憶すべき暗号化情報に変換する一方、前記第2領域に記憶された暗号化情報を前記ユーザ端末へ送信すべき平文情報に変換し、かつ、前記チップユニットが前記チップユニット装着部から取り外された場合に、転送された前記共通暗号鍵を消去することが好ましい。
【0040】
このような情報記憶装置によれば、セキュリティ性を高めることができる。
【0041】
かかる情報記憶装置であって、前記第2領域は、その記憶容量が前記第1領域の記憶容量よりも大きいことが好ましい。
【0042】
このような情報記憶装置によれば、メモリを有効に使用することができる。
【0043】
かかる情報記憶装置であって、前記第1領域は、前記ユーザ端末によって読み出され、前記ユーザ端末の使用が許可される特定の使用者か否かを、前記ユーザ端末に判断させるための許可情報を記憶していることが好ましい。
【0044】
このような情報記憶装置によれば、情報記憶装置を、ユーザ端末を使用するための鍵として用いることができる。このため、利便性の向上が図れる。
【0045】
かかる情報記憶装置であって、前記第2領域は、前記ユーザ端末によって読み出され、前記ユーザ端末の使用が許可される特定の使用者か否かを、前記ユーザ端末に判断させるための許可情報を記憶していることが好ましい。
【0046】
このような情報記憶装置によれば、高いセキュリティと利便性の向上が図れる。
【0047】
===第1実施形態===
<情報記憶装置について>
可搬性を有する情報記憶装置用のメモリとしては、例えばフラッシュメモリやハードディスクがある。また、ユーザ端末と情報記憶装置とを通信可能に接続するための通信インタフェースとしては、例えばUSB(Universal Serial Bus)、IEEE1394、シリアルI/F(インタフェース)、及び、赤外線がある。本明細書では、情報記憶装置用のメモリとしてフラッシュメモリを用い、インタフェースとしてUSBを用いたUSBメモリ1を例に挙げて説明する。なお、USBメモリ1は、可搬性を有する情報記憶装置の一種に相当する。
【0048】
<USBメモリ1の構成>
まず、USBメモリ1の全体構成について説明する。ここで、図1Aは、USBメモリ1の外観を説明する斜視図である。図1Bは、USBメモリ1の一部分を切り欠いて示した斜視図である。図2は、USBメモリ1、及び、ユーザ端末110の構成を説明するブロック図である。図3は、カードコネクタ40を説明する斜視図である。例示したUSBメモリ1は、図1B及び図2に示すように、メインコントローラ10と、USB_I/F20と、ICカード30と、カードコネクタ40と、フラッシュメモリ50と、筐体60とを有する。後述するように、ICカード30は、カードコネクタ40に対して着脱可能に構成されている。このため、USBメモリ1におけるICカード30を除いた部分のことを、USBメモリ1の本体部1Aともいう。この本体部1Aは、情報記憶装置の本体部に相当する。
【0049】
メインコントローラ10は、USBメモリ1における全体的な制御を担当する。例えば、USB_I/F20を制御することで、ユーザ端末110から送信された情報を受信したり、ユーザ端末110に対して情報を送信したりする。また、フラッシュメモリ50からの情報の読み出し処理やフラッシュメモリ50への情報の書き込み処理も制御する。さらに、メインコントローラ10は、カードコネクタ40を通じ、ICカード30(ICチップ32)との間で情報を送受信する。なお、カードコネクタ40によるこの機能は、カードリーダライタまたはその機能モジュールと等価である。このメインコントローラ10は、CPU11と、内部メモリ12と、内部バス13とを有する。CPU11は、制御を行う中心部分であり、内部メモリ12に記憶されたプログラムに従って動作する。内部メモリ12には、CPU11によって実行されるプログラムや動作に必要な設定値等が記憶される。内部バス13は、CPU11と内部メモリ12との間でデータを伝送する。なお、内部バス13には、カードコネクタ40やフラッシュメモリ50も通信可能に接続されている。
【0050】
USB_I/F20は、ユーザ端末110と通信するための通信インタフェースに相当する。このUSB_I/F20は、プラグ21とUSBコントローラ22とを有する。プラグ21は、ユーザ端末110が有するUSB_I/F113のポート(以下、USBポートともいう。)に装着されるものである。USBコントローラ22は、メインコントローラ10によって制御され、ユーザ端末110側のUSB_I/F113との間における通信を制御する。
【0051】
ICカード30は、ICチップ32を有するカード型の情報媒体であり、チップユニットに相当する。前述したように、このICカード30はUSBメモリ1の本体部1Aに対して着脱可能に装着される。なお、ICカード30については後で詳しく説明する。カードコネクタ40は、ICカード30が装着される部材であり、チップユニット装着部に相当する。図3に示すように、このカードコネクタ40は、ガイド部材41と、基板側端子42とを有する。ガイド部材41は、チップユニットの保持部に相当し、チップユニットとしてのICカード30を案内して所定位置に導いて保持する。本実施形態のガイド部材41は、側壁部と天井部とを有する部材であり、配線基板Bの表面に取り付けられる。ガイド部材41が取り付けられることで、配線基板Bの表面には、ICカード30が挿入される開口と、この開口を通じて挿入されたICカード30が保持される保持空間とが区画される。基板側端子42は、ICチップ32との間で通信をするための端子である。ICカード30がカードコネクタ40に装着されると、ICチップ32が有する接点端子群38と接触する。この基板側端子42は、配線を通じてメインコントローラ10に接続されている。このため、ICカード30がカードコネクタ40に装着されると、メインコントローラ10とICチップ32との間で通信が可能となる。前述のとおり、カードコネクタ40は、カードリーダライタまたはその機能モジュールと機能的に等価である。
【0052】
フラッシュメモリ50は、ユーザ端末110から受信した情報やユーザ端末110へ送信する情報を記憶するものである。このフラッシュメモリ50については後で詳しく説明する。
【0053】
筐体60は、前述した各部を収納するための部材である。図1Aに示すように、このUSBメモリ1において筐体60は、直方体状の外観形状をしている。そして、USB_I/F20のプラグ21は、筐体60よりも外側に突出した状態で設けられている。これにより、ユーザ端末110側のUSBポートにプラグ21を直接差し込むことができる。また、筐体60におけるプラグ21取付面とは反対側の面には、ICカード30が挿入される貫通口61が形成されている。
【0054】
<ユーザ端末110及び管理サーバ120>
ユーザ端末110は、CPU111と、メモリ112と、USB_I/F113と、通信I/F114と、内部バス115とを有する。CPU111は、制御を行う中心部分であり、メモリ112に記憶されたプログラムに従って動作する。メモリ112には、CPU111によって実行されるプログラムや動作に必要な設定値等が記憶される。このプログラムとしては、例えば、オペレーティングシステム(以下OSともいう。)やアプリケーションプログラムがある。OSは、ユーザ端末110における基本的な制御を行ったり、ユーザインタフェースを提供したりするプログラムである。そして、ユーザ端末110が有する標準機能とは、OSに搭載されている機能を意味する。例えば、マイクロソフト社製のWindows(登録商標)に標準で搭載されている機能を意味する。アプリケーションプログラムは、ユーザ端末110に特定の機能を実現させるためのプログラムである。USB_I/F113は、USBメモリ1と通信するための通信インタフェースに相当する。このUSB_I/F113は、USBポートとUSBコントローラとを有する(何れも図示せず。)。USBポートは、USBメモリ1が有するプラグ21が挿入される部分である。USBコントローラは、USBメモリ1側のUSB_I/F20との間における通信を制御する。通信I/F114は、インターネット等の外部ネットワークと通信するためのネットワークインタフェースである。内部バス115は、CPU111、メモリ112、USB_I/F113、及び、通信I/F114との間でデータを伝送する。
【0055】
管理サーバ120は、ユーザ端末110と通信可能に接続され、USBメモリ1の管理等を行う。この管理サーバ120は、CPU121と、メモリ122と、通信I/F123と、内部バス124とを有する。これらの各部については、ユーザ端末110で説明したものと同様であるので、説明は省略する。そして、管理サーバ120のメモリ122には、ICチップ32の固有ID(CUID:Chip Unique IDentifier)と、ICチップ32による外部認証用の、対応する暗号演算用鍵(本実施形態では、公開鍵を外部認証に用いられる情報の復号や暗号化に用いる。)とが記憶される。これらの情報は、例えば、ICチップ32の発行時において管理サーバ120へ記憶される。管理サーバ120は、例えば、USBメモリ1が適正に使用されているかの判断時に、必要な処理を行う。本実施形態において、この判断は、ICチップ32による管理サーバ120の外部認証で行われる。この場合、管理サーバ120は、ICチップ32に対して必要な情報を送信する。簡単に説明すると、この判断では、まず、ICチップ32が、ユーザ端末110を通じて、管理サーバ120へチャレンジコードを送信する。管理サーバ120は、受信したチャレンジコードに対応するレスポンスを送信する。このレスポンスは、ユーザ端末110を通じてICチップ32に受信される。そして、受信したレスポンスが予定されている内容であった場合、ICチップ32は、正規の使用者による使用と判断して、セキュリティ保護領域52(図5,後述する。)へのアクセスを許可する。なお、一連の認証動作については後で説明する。
【0056】
===USBメモリ1の主要部===
<ICカード30>
図4Aは、ICチップ32の構成を説明するブロック図である。図4Bは、ICチップ32が有する内部メモリ12の記憶領域を説明する概念図である。ICカード30は、基板31と、この基板31に実装されるICチップ32とを有する。本実施形態におけるICカード30は、切手程度或いはその半分程度の大きさである。また、その厚さは1mm前後である。基板31は、電気絶縁性を有するもの、例えばプリント配線板が用いられる。ICチップ32は、CPU33と、内部メモリ34と、暗号処理回路35と、シリアルI/F36と、内部バス37と、接点端子群38とを有する。
【0057】
CPU33は、内部メモリ34に記憶されたプログラムに従って動作する。内部メモリ34には、CPU33によって実行されるプログラムや動作に必要な設定値等が記憶される。例えば、図4Bに示すように、プログラム本体と、暗号/復号鍵と、認証情報とが記憶される。
【0058】
ここで、プログラム本体は、CPU33の動作を定めるものである。暗号/復号鍵は、平文(平文情報に相当する。)を暗号文(暗号化情報に相当する。)に変換する際、及び、暗号文を平文に変換する際に用いる情報である。そして、この暗号/復号鍵は、暗号処理回路35で用いられる。認証情報は、セキュリティ情報の一種である。この認証情報は、例えば、ユーザ端末110の使用者が、USBメモリ1の情報にアクセス可能な権限を有する者(つまり正規の使用者)か否かを判断する際に用いられる。本実施形態における認証情報は、PIN(Personal Identification Number)である。そして、出荷時においてPINは設定されていない。このため、初回の認証時においてPINの入力を求め、これを初期のPINとして用いる。
【0059】
暗号処理回路35は、セキュリティ保護領域52に記憶される情報の暗号化等(平文の暗号化や暗号文の復号を)行う。このUSBメモリ1では、情報の暗号化等に際し、共通暗号鍵方式が採られている。暗号処理回路35は、内部メモリ34に記憶された暗号/復号鍵を用いて情報の暗号化等を行う。シリアルI/F36は、メインコントローラ10との間で情報の送受信をするためのものである。内部バス37は、CPU33、内部メモリ34、暗号処理回路35、及び、シリアルI/F36の間でデータを伝送する。接点端子群38は、電源端子38a、グランド端子38b、クロック端子38c、及び、I/O端子38dを有する。電源端子38aは、ICチップ32が動作するための電源(例えば直流3.3V)が与えられる。グランド端子38bは、グランド電位を与える端子である。なお、ICチップ32内における電源用の配線、及び、グランド用の配線は図示を省略している。クロック端子38cは、CPU33の動作等に用いられるクロックが供給される。I/O端子38dは、メインコントローラ10との間で送受信される情報が入出力される。
【0060】
<フラッシュメモリ50>
図5は、フラッシュメモリ50の記憶領域を説明する概念図である。フラッシュメモリ50は、ユーザ端末110との間で送受信される情報を記憶するメモリである。すなわち、フラッシュメモリ50は、ユーザ端末110から受信した情報を記憶したり、ユーザ端末110へ送信する情報を記憶したりする。このフラッシュメモリ50は、通常アクセス可能領域51と、セキュリティ保護領域52とを有する。
【0061】
通常アクセス可能領域51は、ユーザ端末110が有する標準機能(例えばOSによって提供される機能。)によってユーザ端末110から認識される領域である。この通常アクセス可能領域51は、前述したICカード30が装着されていない状態において、情報の読み出し専用領域となっている。また、ICカード30が装着された状態であっても、ユーザ端末110の使用者が正規ユーザと認証されるまでは情報の読み出し専用領域となっている。従って、この通常アクセス可能領域51は、読み出し情報が記憶される読み出し領域に相当する。そして、使用者が正規ユーザと認証されると、情報の読み出しに加え、情報の書き込みも可能となる。
【0062】
セキュリティ保護領域52は、ユーザ端末110が有する標準機能によっては、ユーザ端末110から認識されない領域である。従って、このセキュリティ保護領域52は、保護対象情報が記憶されるセキュリティ領域に相当する。このセキュリティ保護領域52をユーザ端末110に認識させるためには、専用のプログラムをユーザ端末110にインストールする必要がある。また、このセキュリティ保護領域52には、情報が暗号化された状態で記憶される。すなわち、セキュリティ保護領域52に記憶される情報は、保護対象情報に相当する。そして、情報の暗号化や復号は、ICカード30(暗号処理回路35)によってなされる。従って、セキュリティ保護領域52に対する情報の書き込みや読み出しを行うためには、ICカード30をカードコネクタ40に装着し、認証情報等に基づき使用者が正規ユーザ(つまり正規の使用者)と認証される必要がある。
【0063】
また、セキュリティ保護領域52の容量は、通常アクセス可能領域51の容量よりも十分に大きく定められている。これは、セキュリティ保護領域52と通常アクセス可能領域51の機能の差による。後述するように、通常アクセス可能領域51には、セキュリティ保護領域52をユーザ端末110に利用させるために必要なプログラムが格納される。そして、これらのプログラムの容量は既知である。従って、最小限の容量で足りる。一方、セキュリティ保護領域52は、ユーザ端末110で扱われる情報を記憶する領域である。このため、容量が大きいほど使い勝手が向上する。これらのことを考慮して、このUSBメモリ1では、セキュリティ保護領域52の容量を通常アクセス可能領域51の容量よりも大きくし、フラッシュメモリ50を有効に使用できるようにしている。
【0064】
<通常アクセス可能領域51>
通常アクセス可能領域51にはプログラムとして、セキュリティミドルウェア、セキュリティメモリデバイスドライバ、チップユニットドライバ、及び、インストーラなどが記憶されている。インストーラを除く各プログラムは、ユーザ端末110の標準機能によっては提供されない付加機能を、ユーザ端末110に付加するためのものである。以下、これらのプログラムについて説明する。
【0065】
セキュリティミドルウェアは、USBメモリ1をユーザ端末110用のセキュリティキーとして用いるための機能を付加する。セキュリティキーとは、ユーザ端末110の使用を制限するためのものである。例えば、ユーザ端末110が有するUSB_I/F113に装着されることで、使用者(ユーザ)による操作を受け付ける。一方、USB_I/F113から取り外されると、スクリーンセーバが起動するとともに、使用者(第三者)による操作は受け付けない。このため、ユーザは、ユーザ端末110を使用する際にUSBメモリ1(セキュリティキー)を装着し、席を離れるとき等にUSBメモリ1を取り外すことで、情報の漏洩を防止することができる。また、セキュリティミドルウェアは、USBメモリ1を許可情報記憶媒体として用いるための機能も付与する。例えば、通常アクセス可能領域51には、ユーザ端末110にログオンする際のユーザID(認証情報)、ログオン用のパスワード、及び、電子署名(証明書)が記憶される。そして、ユーザは、ユーザ端末110へのログオン時にUSBメモリ1(許可情報記憶媒体)を装着しておくことで、ユーザIDやパスワード等を入力することなくユーザ端末110を使用できる。これにより、推測され難いユーザIDやパスワードを設定することができ、セキュリティ性を向上させることができる。これらの機能をユーザ端末110に実現させるセキュリティミドルウェアは、ユーザ端末110の使用を特定の使用者(ユーザ)に許可するための許可情報、すなわち、ユーザ端末110の使用が許可される特定の使用者か否かを、ユーザ端末110に判断させるための許可情報に相当し、認証用に用いられる他の認証情報のデータ本体も含む。
【0066】
セキュリティメモリデバイスドライバは、前述したセキュリティ保護領域52をユーザ端末110に認識させるためのプログラムである。このセキュリティメモリデバイスドライバがユーザ端末110にインストールされると、ユーザ端末110は、通常アクセス可能領域51のアドレスに加え、セキュリティ保護領域52のアドレスも認識する。図5の例で説明すると、ユーザ端末110の標準機能ではアドレス[0000]から[nnnn]までが認識されるのに対し、セキュリティメモリデバイスドライバがインストールされると、アドレス[0000]から[nnnn]に加えて、アドレス[s0000]から[snnnn]も認識される。なお、アドレスの先頭に付された[s]の文字は、説明の便宜上付したものである。
【0067】
また、セキュリティメモリデバイスドライバがインストールされた状態では、セキュリティ保護領域52のアドレスが認識されるだけである。すなわち、セキュリティ保護領域52に対する情報の読み出しや情報の書き込みを行うためには、ICチップ32による認証を経る必要がある。
【0068】
チップユニットドライバは、ICカード30やカードコネクタ40をユーザ端末110で使用可能にするためのプログラムである。カードコネクタ40は、ユーザ端末110のOSによって使用可能となる装置の1つとして扱われている。また、ICカード30(ICチップ32)は、ユーザ端末110が有する外部セキュリティ装置の1つとして扱われる。従って、ICカード30やカードコネクタ40を使用するためには、ユーザ端末110にそのためのプログラム(つまり、チップユニットドライバ)をインストールする必要がある。本実施形態におけるチップユニットドライバは、リーダライタドライバとチップドライバとから構成されている。リーダライタドライバは、カードコネクタ40をユーザ端末110で使用可能にするためのプログラムであり、チップドライバは、ICチップ32との間における情報の送受信を可能にするためのプログラムである。
【0069】
インストーラは、前述した各プログラム(セキュリティミドルウェア,セキュリティメモリデバイスドライバ,チップユニットドライバ)を、ユーザ端末110にインストールする際に用いられるプログラムである。
【0070】
===動作について===
<ユーザ端末110の標準機能による認識>
次に、前述した構成を有するUSBメモリ1の動作について説明する。まず、ユーザ端末110の標準機能によるフラッシュメモリ50の認識状態について説明する。ここで、図6Aは、ユーザ端末110とUSBメモリ1との間でなされる認識処理を説明するための図である。図6Bは、ユーザ端末110におけるUSBメモリ1の認識状態の一例を説明するための図である。
【0071】
ユーザ端末110(CPU111やUSB_I/F113)は、USBメモリ1が有するプラグ21の接続を監視している(S1)。そして、プラグ21がユーザ端末110のUSBポートに接続されると、ユーザ端末110はエニュメレーションを行う(S2)。エニュメレーションとは、接続されているUSB機器の識別やアドレスの指定等を行う一連の処理である。このとき、ユーザ端末110とUSBメモリ1との間で、アドレスやディスクリプタ(識別情報)が送受信される。このエニュメレーションを行うことで、USBメモリ1がユーザ端末110から使用できる状態になる。すなわち、図2に符号Aで示す枠内の部分が有効になる。その結果、USBメモリ1は、ユーザ端末110から外部ドライブとして認識される。この例においてUSBメモリ1は、図6Bに示すようにDドライブとして認識される。このDドライブ内に、セキュリティミドルウェアが記憶されたフォルダ、及び、各種のドライバが記憶されたフォルダが作成されている。前述したように、これらのフォルダは、ユーザ端末110からは読み出し専用のフォルダとして認識される。従って、ユーザ端末110から、各フォルダに記憶されたプログラムが利用できる。例えば、インストーラを実行することができる。
【0072】
<ドライバ等のインストール後>
次に、ドライバ等がインストールされた場合のフラッシュメモリ50の認識状態について説明する。ここで、図7Aは、ドライバ等のインストールを説明するための図である。図7Bは、ユーザ端末110におけるUSBメモリ1の認識状態の一例を説明するための図である。
【0073】
インストーラの実行(S3)により、必要なドライバが通常アクセス可能領域51内のフォルダから読み出され、ユーザ端末110にインストールされる(S4)。その結果、セキュリティ保護領域52も、ユーザ端末110から認識できるようになる。この例では、図5に示すアドレス[s0000]からアドレス[snnnn]もあることが認識される。なお、この例において、セキュリティ保護領域52は、図7Bに示すように1つのフォルダとして認識される。また、インストーラの実行により、カードコネクタ40やICカード30も使用可能となる。そして、ICカード30が使用可能になったことに伴い、メインコントローラ10は、初期のPINが設定されているか否かを確認する。ここで、初期のPINが設定されていなかった場合、メインコントローラ10は、ユーザ端末110を通じてユーザ(使用者)にPINの入力を求める。入力されたPINはICチップ32の内部メモリ34に記憶される。また、初期のPINが入力されることで、通常アクセス可能領域51に対する情報の書き込みが可能となる。そこで、メインコントローラ10は、USBメモリ1をセキュリティキーとして用いるために必要な情報の入力を求める。例えば、ユーザID、ログオンパスワード、電子署名といった情報の入力を求める。入力されたこれらの情報は、通常アクセス可能領域51に記憶される。なお、これらの情報は、ICカード30が装着され、かつ、使用者が正規ユーザと認証された場合に書き換えることができる。
【0074】
<セキュリティ保護領域52に対する処理>
次に、セキュリティ保護領域52に対する情報の読み出しや書き込みについて説明する。ここで、図8は、セキュリティ保護領域52に対する情報の読み出しや書き込みを説明するための図である。なお、以下の説明において、ユーザ端末110には必要なドライバ等がインストールされているものとする。また、ICカード30はUSBメモリ1に装着され、USBメモリ1のプラグ21はユーザ端末110のUSBポートに接続されているものとする。
【0075】
<初回のアクセス処理について>
初回のアクセス処理とは、ユーザの認証が済んでいない状態でのアクセス処理のことである。言い換えれば、セキュリティ保護領域52はユーザ端末110から認識できているが、この領域に対するアクセスの権限はユーザ端末110に与えられていない状態である。この処理において、ユーザがセキュリティ保護領域52に対するアクセスを試みると(例えば、図7Bのセキュリティフォルダをダブルクリックすると)、ユーザ端末110は、USBメモリ1のメインコントローラ10に対し、この領域の読み出し要求を送信する(S11)。この読み出し要求に基づき、メインコントローラ10は、ICチップ32に対して認証が済んでいるか否かを問い合わせる(S12)。このタイミングでは、認証が済んでいないため、ICチップ32は、未認証の旨を示す回答をメインコントローラ10へ送信する(S13)。この回答を受けて、メインコントローラ10は、PINの入力をユーザ端末110に要求する(S14)。
【0076】
使用者がPINを入力すると、ユーザ端末110は、入力されたPINをメインコントローラ10に対して送信する(S15)。メインコントローラ10は、入力されたPINが正規のものであるか否かをICチップ32に問い合わせる(S16)。このとき、ICチップ32は、ドライバ等のインストール時に入力された初期のPIN(その後に書き換えられた場合には書き換え後のPIN)と、入力されたPINとを比較し、両者が一致した場合に正規のPINが入力されたと判断する。なお、この例では、正規のPINであった場合について説明している。ここで、本実施形態では、比較対象となるPIN(初期のPIN又は書き換え後のPIN)がICチップ32に記憶されている。前述したように、ICチップ32が設けられたICカード30は、USBメモリ1の本体部1Aに対して着脱可能である。このため、ICカード30を取り外しておくことで、USBメモリ1の本体部1Aが解析されたとしても、PINが取得されることはない。これにより、セキュリティ性を高めることができる。
【0077】
ICチップ32は、そのPINが正規のものであるかを判断し、正規のものであった場合、管理サーバ120に対する外部認証を試みる。このため、ICチップ32は、チャレンジコードを生成する。そして、生成したチャレンジコードをメインコントローラ10やユーザ端末110を通じて、管理サーバ120へ送信する(S17〜S19)。チャレンジコードは、乱数を含む情報を暗号化した暗号化情報と、ICチップ32の固有ID(CUID)とを組にしたものである。この実施形態における暗号化情報は、ICチップ32で生成された乱数、CUID及びフラッシュメモリ50の固有IDで構成される情報を、ICチップ32が保有する暗号鍵(秘密鍵または私有鍵ともいう)で暗号化したものである。また、チャレンジコードの一部を構成するCUIDは、平文情報である。
【0078】
管理サーバ120は、チャレンジコードからCUIDを認識し、このCUIDに基づいて対応する暗号鍵を選択する。そして、選択した暗号鍵を用いて暗号化情報を復号し、暗号化情報に含まれる乱数を取得する。そして、取得した乱数を基にして構成される情報を、暗号鍵を用いて暗号化することで、レスポンスデータを生成する。管理サーバ120は、生成したレスポンスデータを、ユーザ端末110やメインコントローラ10を通じて、ICチップ32へ送信する(S20〜S22)。ICチップ32は、保有する暗号鍵によってレスポンスデータを復号し、乱数を取得する。そして、取得した乱数がチャレンジコードの生成時に用いた乱数と一致した場合に、ICチップ32は外部認証の成立と判定する。
【0079】
外部認証の成立に伴い、ICチップ32は、読み出しを許可する旨をメインコントローラ10へ送信する(S23)。そして、メインコントローラ10は、セキュリティ保護領域52に対する読み出し処理及び書き込み処理を行う。この場合において、メインコントローラ10は、読み出し対象となる対象データを、フラッシュメモリ50のセキュリティ保護領域52から読み出す(S24)。このように、本実施形態では、ユーザ端末110を通じて送られたPIN(認証情報)が正規のものであること、及び、管理サーバ120との外部認証が成立したことを条件に、セキュリティ保護領域52に対する読み出し処理及び書き込み処理が許可される。そして、管理サーバ120との外部認証は、ICチップ32が送信したチャレンジデータに対する管理サーバ120のレスポンスに基づいて行われる。このため、正規のICチップ32を装着していないと、セキュリティ保護領域52に記憶された情報を読み出すことができない。このため、セキュリティ保護領域52に記憶された情報を読み出そうとする悪意の試みを有効に防止できる。
【0080】
ここで、読み出した対象データは暗号化された状態にある。このため、メインコントローラ10は、この対象データをICチップ32に送信する(S25)。ICチップ32では、暗号化されている対象データを、内部メモリ34に記憶された暗号/復号鍵(復号用鍵に相当する。)によって復号し、平文にする。そして、平文の対象データをメインコントローラ10へ送信する(S26)。メインコントローラ10は、平文の対象データをユーザ端末110に送信する(S27)。これにより、ユーザ端末110では、平文の対象データが利用される。例えば、ユーザインタフェースを介して、セキュリティ保護領域52に記憶された情報(対象データ)の内容が視認される。
【0081】
<2回目以降のアクセス処理について>
次に、2回目以降のアクセス処理について説明する。まず、ユーザ端末110からの情報の書き込み処理について説明する。この場合、ユーザ端末110からメインコントローラ10に対して書き込み要求が送信される(S31)。この書き込み要求に基づき、メインコントローラ10は、ICチップ32に対して認証が済んでいるか否かを問い合わせる(S32)。このタイミングでは認証が済んでいるので、ICチップ32は、認証済みの旨を示す回答をメインコントローラ10へ送信する(S33)。この回答を受けて、メインコントローラ10は、書き込み対象となる対象データをユーザ端末110から受信する(S34)。この対象データは、平文であるので暗号化する必要がある。このため、メインコントローラ10は、平文の対象データをICチップ32に送信する(S35)。そして、ICチップ32は、内部メモリ34に記憶された暗号/復号鍵(暗号化用鍵に相当する。)を用い、送信された対象データを暗号化する。そして、メインコントローラ10に送信する(S36)。さらに、メインコントローラ10は、暗号化された対象データをフラッシュメモリ50のセキュリティ保護領域52に記憶する(S37)。
【0082】
次に、ユーザ端末110からの情報の読み出し処理について説明する。この場合、ユーザ端末110からメインコントローラ10に対して読み出し要求が送信される(S41)。この読み出し要求に基づき、メインコントローラ10は、ICチップ32に対して認証が済んでいるか否かを問い合わせる(S42)。このタイミングでも認証が済んでいるため、ICチップ32は、認証済みの旨を示す回答をメインコントローラ10へ送信する(S43)。この回答を受けて、メインコントローラ10は、読み込み対象となる対象データをフラッシュメモリ50のセキュリティ保護領域52から読み込む(S44)。この対象データは、暗号化されているので、ユーザ端末110で認識するためには復号する必要がある。このため、メインコントローラ10は、暗号化された対象データをICチップ32に送信する(S45)。そして、ICチップ32は、内部メモリ34に記憶された暗号/復号鍵を用い、送信された対象データを平文にする(復号する)。そして、メインコントローラ10に送信する(S46)。さらに、メインコントローラ10は、平文の対象データをユーザ端末110に送信する(S47)。その結果、ユーザ端末110では、セキュリティ保護領域52に記憶された情報を利用できる。
【0083】
なお、一連の処理が済んでUSBメモリ1が取り外された場合、次回の使用時に再度初回のアクセス処理で説明した認証が行われる。
【0084】
<まとめ>
以上説明したように、このUSBメモリ1では、チップユニットとしてのICカード30がUSBメモリ1の本体部1Aに対して着脱可能に構成されている。そして、フラッシュメモリ50が有するセキュリティ保護領域52に対し、ユーザ端末110からアクセスするためには認証を行う必要がある。ここで、認証情報としてのPINはICカード30が有するICチップ32に記憶されている。また、セキュリティ保護領域52に対して記憶される情報は暗号化されている。このため、この情報を利用するためには、ICチップ32による暗号化や復号等を経る必要がある。従って、ICカード30が取り外された状態では、フラッシュメモリ50のセキュリティ保護領域52に対するアクセスができなくなる。すなわち、セキュリティ保護領域52に対する情報の書き込みやセキュリティ保護領域52からの情報の読み出しができなくなる。その結果、セキュリティ性の向上が図れる。例えば、機密情報を記憶したUSBメモリ1を保管する場合において、USBメモリ1の本体部1AとICカード30とを別々の場所に保管することで、記憶された機密情報への不正アクセス(盗難を含め)を、より高いセキュリティで防止することができる。同様に、このUSBメモリ1を他の場所で使用する場合において、USBメモリ1の本体部1Aを郵送しICカード30を持参する等して物理的に分離することで、機密情報の漏洩が確実に防止できる。
【0085】
また、セキュリティ保護領域52は、ICカード30が装着され、かつ、認証が得られないとユーザ端末110からは認識されない。このように、セキュリティ保護領域52が認識されないことによってもセキュリティ性の向上が図れる。加えて、ICカード30をUSBメモリ1の本体部1Aとは別工程で作成することもできる。このため、ICカード30内に記憶する情報(PIN等の認証情報)を、ユーザ固有のものとすることもできる。例えばSIM(Subscriber Identity Module)によって構成することができる。これにより、本体部1Aを共通化することができ、生産効率の向上が図れる。
【0086】
また、このUSBメモリ1では、フラッシュメモリ50の通常アクセス可能領域51に記憶された情報が利用できる。例えば、通常アクセス可能領域51に記憶されたセキュリティミドルウェア(許可情報に相当し、認証用に含まれる他の認証情報のデータ本体も含まれる。)によって、USBメモリ1をセキュリティキーとしても使用することができる。加えて、通常アクセス可能領域51は、ユーザ端末110の標準機能によって認識される。このため、ICカード30が装着されていなくても種々の機能が実現できる。例えば、この通常アクセス可能領域51には、USBメモリ1が有するカードコネクタ40用のドライバやICカード30用のドライバ、及び、セキュリティ保護領域52をユーザ端末110に認識させるためのプログラム(セキュリティメモリデバイスドライバ)が記憶されている。このため、CD−ROM等の記憶媒体を持ち運ばなくてもセキュリティ保護領域52に記憶された情報(保護対象情報)を利用できる。このため、USBメモリ1の利便性を向上させることができる。
【0087】
加えて、この通常アクセス可能領域51は、セキュリティ保護領域52が利用できない状態では読み出し専用領域となっている。一方、セキュリティ保護領域52に対するアクセスが可能となっている状態では書き込みも許容される。このため、通常アクセス可能領域51に情報を書き込むことのできる者を正規ユーザ等に制限できる。従って、セキュリティ性を維持しつつ利便性の向上が図れる。
【0088】
===その他の実施形態===
前述した実施形態では、情報記憶装置としてUSBメモリ1を例に挙げて説明した。この説明の中には、情報の記憶方法や、情報記憶装置を制御するためのコンピュータプログラム及びコードの説明も含まれている。また、この実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることはいうまでもない。特に、以下に述べる実施形態であっても、本発明に含まれる。
【0089】
<情報記憶装置について>
前述した実施形態では、情報記憶装置として、ユーザ端末110に用いられる情報をフラッシュメモリ50に記憶するUSBメモリ1について説明したが、この構成に限定されるものではない。例えば、ユーザ端末110に用いられる情報を他の種類の記憶媒体に記憶させてもよい。図9の例は、ユーザ端末110に用いられる情報をハードディスクに記憶するUSBハードディスク70(情報記憶装置の一種)である。なお、USBハードディスク70は、フラッシュメモリ50がハードディスク71に置き換わった点、及び、プラグ21がポート72に置き換わった点がUSBメモリ1と相違するが、他の構成は同じである。このため、説明は省略する。
【0090】
<認証と使用可能領域の関係について>
前述した実施形態では、ICチップ32による管理サーバ120の外部認証が成立した場合に、セキュリティ保護領域52に対する情報の書き込みや読み出しができる構成となっていた。この点に関し、セキュリティ保護領域52を複数のサブ領域に分割し、使用可能なサブ領域を、認証の成立状況に応じて定めてもよい。例えば、図10に示すように、第1サブ領域52a〜第4サブ領域52dをセキュリティ保護領域52に設けた場合について説明する。この場合、PIN認証は成立したが、管理サーバ120との間で認証が成立しなかった場合には、一部のサブ領域が使用可能となる。例えば、第1サブ領域52a及び第2サブ領域52bが使用可能となり、第3サブ領域52c及び第4サブ領域52dは使用できない。また、PIN認証が成立し、かつ、管理サーバ120との認証も成立した場合には、第1サブ領域52a〜第4サブ領域52dの各領域が使用可能となる。
【0091】
このときICチップ32は、ユーザ端末110を通じて送られたPIN(認証情報)が正規のものである場合であって、かつ、管理サーバ120との間で外部認証が成立した場合に、メインコントローラ10に対してセキュリティ保護領域52の全体に対する読み出し処理及び書き込み処理を許可し、ユーザ端末110を通じて送られたPINが正規のものである場合であって、かつ、管理サーバ120との間で外部認証が成立しなかった場合に、メインコントローラ10に対してセキュリティ保護領域52の一部に対する読み出し処理及び書き込み処理を許可する。このように、認証の段階に応じて、セキュリティ保護領域52における書き込みや読み出しが行える領域を定めるようにすると、使用状況に応じてセキュリティレベルを異ならせることができる。例えば、社内のイントラネットなどセキュリティ性が高い環境では、セキュリティ保護領域52の全体を使用できるようにし、出先のユーザ端末110で使用する場合には一部のセキュリティ保護領域52a,52bしか使用できないようにすると、出先のユーザ端末110からは使用できない領域52c,52dに高い機密性を持たせることができる。その結果、1つのセキュリティ保護領域52を有効に活用することができ、使い勝手を向上させることができる。
【0092】
勿論、使用の簡便性を重視し、入力されたPIN(認証情報)が正規のものであったことを条件に、セキュリティ保護領域52の全体を使用できるようにしてもよい。この場合、ユーザ端末110を通じて送られたPINが正規のものであると、ICチップ32は、その旨を示す情報(例えばチャレンジコードや専用情報)をメインコントローラ10へ送信する。メインコントローラ10は、この情報の受信に基づき、セキュリティ保護領域52の全体に対して情報の読み書きができる状態になる。このように構成することで、管理サーバ120とは通信できない状態のユーザ端末110に対してUSBメモリ1を用いる場合に、その使い勝手を向上させることができる。
【0093】
<暗号化処理について>
前述した実施形態では、セキュリティ保護領域52に記憶される情報の暗号化、及び、セキュリティ保護領域52から読み出された情報の復号は、ICチップ32によってなされていた。これらの暗号化及び復号の処理を、メインコントローラ10に行わせてもよい。この場合、ICチップ32からメインコントローラ10に対し、暗号/復号鍵を秘密状態で転送する必要がある。また、前記暗号/復号鍵の暗号化/復号の手順を定める制御情報に関し、構成によっては、ICチップ32からメインコントローラ10に対し、秘密状態での転送が必要となる場合も考えられる。さらに、ICチップ32が取り外された状態では、暗号/復号鍵を読み取られないようにする必要がある。これらを考慮すると、次の構成を採ることが好ましい。
【0094】
まず、平文情報の暗号化に用いられる暗号化用鍵、及び、暗号化情報の復号に用いられる復号用鍵としては、共通暗号鍵を用いる。すなわち、図4Bに示す暗号/復号鍵として共通暗号鍵が用いられる。この共通暗号鍵は、ICチップ32における耐タンパを有する記憶領域に記憶される。また、メインコントローラ10及びICチップ32のそれぞれには、共通暗号鍵や制御プログラム(以下、共通暗号鍵等ともいう。)のやり取りに用いる暗号化や復号の共通アルゴリズムが実装されている。
【0095】
共通暗号鍵等の転送は、例えば、ICチップ32によるPIN認証が成立した後に行われる。この場合、まず、ICチップ32からメインコントローラ10に対して乱数を要求する指令を送信する。この指令に基づき、メインコントローラ10は乱数を生成する。生成した乱数は、メインコントローラ10にて一時的に記憶される。また、メインコントローラ10は、共通アルゴリズムによる符号化を行うことで、生成した乱数を含むレスポンスデータを生成し、このレスポンスデータをICチップ32へ送信する。ICチップ32は、受信したレスポンスデータを共通アルゴリズムで復号し、乱数を取得する。また、ICチップ32では、取得した乱数をいわゆるセッション鍵として用い、記憶している共通暗号鍵等を共通アルゴリズムで符号化する。これにより、レスポンスデータが生成される。そして、このレスポンスデータは、メインコントローラ10へ送信される。ICチップ32からのレスポンスデータを受信すると、メインコントローラ10は、一時的に記憶している乱数を用い、共通アルゴリズムによる復号を行うことで、レスポンスデータから共通暗号鍵等を取得する。この例では、ICチップ32からの明示的な要求に基づいて、メインコントローラ10は乱数を生成している。このため、共通のプロトコルを実装した系でないと処理が行えない。すなわち、ICチップ32が装着されない状態では、情報の暗号化や復号が行えない。その結果、高いセキュリティを保つことができる。
【0096】
これらの共通暗号鍵、及び、制御プログラムは、メインコントローラ10が有する揮発性メモリに記憶される。この揮発性メモリは、メモリ12の一部に設けられている。そして、CPU11は、共通暗号鍵等を用いてセキュリティ保護領域52に記憶する情報の暗号化、及び、セキュリティ保護領域52から読み出す情報の復号を行う。これらの場合において、メインコントローラ10は、暗号化処理や復号処理を行う度に、ICチップ32の装着確認を行う。すなわち、暗号化処理や復号処理は、ICカード30がカードコネクタ40に正常に(通信可能に)装着されていることを条件に行われる。そして、ICカード30がカードコネクタ40から抜き取られた場合には、直ちに揮発性メモリから共通暗号鍵等が消去される。また、電源が切断された場合や、プラグ21がUSB_I/F113のポートから取り外された場合も、直ちに揮発性メモリから共通暗号鍵等が消去される。このため、ICカード30が抜き取られた場合等におけるセキュリティレベルを高めることができる。なお、少なくとも共通暗号鍵が消去されれば、高いセキュリティ性を確保することができる。
【0097】
以上説明したように、この例では、メインコントローラ10による処理の高速性とセキュリティ性の確保とが、高いレベルで両立できる。
【0098】
<管理サーバ120について>
前述した実施形態では、ICチップ32のメモリ34に、暗号/復号鍵、及び、認証情報が記憶されていた。この構成では、ICチップ32が破損した場合や紛失した場合に、セキュリティ保護領域52に記憶されている暗号化情報が読み出せなくなってしまうという問題が生じる。このような問題を解決するため、管理サーバ120に、暗号/復号鍵、及び、認証情報を記憶するようにしてもよい。このように構成することで、万一、ICチップ32が破損したり紛失したりしても、同じ情報を記憶したICチップ32を作製できる。要するに、キーリカバリ機能/キーエスクロー機能を持たせることができる。これにより、使い勝手を向上させることができる。この場合において、暗号/復号鍵等は、HSM(Hardware Security Module)のような耐タンパ性を有するデバイスに記憶することが好ましい。
【0099】
<ICカード30について>
前述の実施形態では、1つのUSBメモリ1の本体部1Aに対し、1種類のICカード30(固有IDが1つ)が用いられていた。しかし、1つのUSBメモリ1の本体部1Aに対し、複数種類のICカード30を用いてもよい。この場合、セキュリティを考慮すると、或るICカード30が装着された場合にはセキュリティ保護領域52の或る領域に対して情報の書き込みと読み出しが可能となり、他のICカード30が装着された場合にはセキュリティ保護領域52の他の領域に対して情報の書き込みと読み出しが可能となることが求められる。そこで、或る固有ID(固有識別情報)を記憶したICチップ32を有するICカード30で暗号化された情報を記憶した領域は、他の固有IDを記憶したICチップ32を有するICカード30ではアクセスできない構成としてもよい。
【0100】
図11に示す例では、或る固有IDを記憶したICチップ32を有する第1のICカード30Aで暗号化された情報が、セキュリティ保護領域52の第1領域52eに記憶されている。その後、第1のICカード30Aが抜き取られ、他の固有IDを記憶したICチップ32を有する第2のICカード30Bが装着される。そして、第2のICカード30Bで暗号化された情報が、第1領域52e以外の領域(例えば第2領域52f)に記憶される。
【0101】
この例において、メインコントローラ10は、固有IDに基づいて、装着されたICカード30の種類を認識する。そして、情報の記憶可能領域を認識する。第1のICカード30Aが装着された状態では、セキュリティ保護領域52には情報が記憶されていない。このため、メインコントローラ10は、全領域を情報の記憶可能領域として認識する。そして、第1領域52eに情報が記憶されると、この第1領域52eのアドレスを第1のICカード30Aの専用領域としてメモリ12に記憶する。次に、第2のICカード30Bが装着されると、メインコントローラ10は、第1領域52eを除く領域を情報の記憶可能領域として認識する。このとき、メインコントローラ10は、第1領域52eの存在を表示させない。このため、第2のICカード30Bのユーザには、第1領域52eを除く領域が空き領域として表示される。そして、情報は、この空き領域の一部である第2領域52fに記憶される。第2領域52fに情報が記憶された後に、再度第1のICカード30Aが装着されると、第2領域52fを除く領域が情報の記憶や読み出しのできる対象領域として認識される。以後は、同様の処理がなされる。従って、第3のICカード30Cが装着された場合には、第1領域52e及び第2領域52fを除く領域が空き領域として認識される。
【0102】
このように、この例では、ICカード30A〜30C毎に専用領域が定められ、その専用領域に対して暗号化情報の書き込みや読み出しがなされる。その結果、セキュリティ性を確保しつつ、複数のユーザで記憶領域を有効に活用することができる。
【0103】
<セキュリティ保護領域52について>
前述の実施形態では、ICカード30の装着を条件に情報の書き込み等ができるセキュリティ保護領域52を、フォルダで認識させるように構成していた。認識の態様はフォルダに限定されるものではない。例えば、「ボリューム」や「パーティション」といったように、論理ディスクとして認識させることもできる。そして、大容量記憶媒体としての利用によって制約をなくすことができる。すなわち、それぞれを独立した「論理ディスク」として利用することができる。
【0104】
<セキュリティミドルウェアについて>
前述の実施形態では、セキュリティミドルウェアが通常アクセス可能領域51に記憶されていた。このセキュリティミドルウェアを、セキュリティ保護領域52に記憶させるように構成してもよい。この場合、ICチップ32がカードコネクタ40に装着されないと、USBメモリ1をセキュリティキーとして用いることができない。このため、高いセキュリティが確保できるとともに、利便性の向上が図れる。また、セキュリティミドルウェアのうち、ユーザ端末使用許可情報などの他の認証情報のデータ本体を、ICチップ32の記憶領域に記憶させるようにしてもよい。この場合も、ICチップ32がカードコネクタ40に装着されないと、USBメモリ1をセキュリティキーとして用いることができないため、高いセキュリティ性を確保することができる。
【0105】
<通常アクセス可能領域51に記憶させる情報について>
前述した実施形態では、通常アクセス可能領域51に対してドライバやインストーラを記憶させていたが、この通常アクセス可能領域51に他の情報を記憶させてもよい。この通常アクセス可能領域51は、ICカード30が装着されていない状態では読み出し専用であるので、この点を利用して特定のアプリケーションプログラムのみが利用できる領域としてもよい。例えば、電子的著作権保護の対象となっているデータを記憶するようにしてもよい。この場合、必要に応じて、通常アクセス可能領域51に記憶させる情報も暗号化してもよい。
【0106】
<ユーザ端末110との間のインタフェースについて>
前述した実施形態では、ユーザ端末110との間のインタフェースとして、USBを例に挙げて説明した。しかし、他の形式のインタフェースであってもよい。例えば、IEEE1394、シリアルI/F、或いは、赤外線であってもよい。
【0107】
<ICチップ32のインタフェースについて>
前述した実施形態では、ICチップ32とメインコントローラ10とは、チップユニット装着部の基板側端子42を通じて接続されていた。この点に関し、ICチップ32とメインコントローラ10とを無線(例えば電磁誘導方式)で接続するようにしてもよい。
【0108】
<認証情報について>
前述した実施形態では、認証情報としてPINやチャレンジコードを用いていたが、認証情報はこれらに限定されるものではなく、種々の情報を用いることができる。例えば、指紋や静脈等の生体認証情報を用いてもよいし、パスワードを用いてもよい。
【0109】
<情報記憶装置について>
前述した実施形態では、可搬性を有するUSBメモリ1を例に挙げて説明したが、可搬性を有さない大容量の情報記憶装置であっても、同様に構成できる。
【図面の簡単な説明】
【0110】
【図1】図1Aは、USBメモリの外観を説明する斜視図である。図1Bは、USBメモリの一部分を切り欠いて示した斜視図である。
【図2】USBメモリ、及び、ユーザ端末の構成を説明するブロック図である。
【図3】カードコネクタを説明する斜視図である。
【図4】図4Aは、ICチップの構成を説明するブロック図である。図4Bは、ICチップが有する内部メモリの記憶領域を説明する概念図である。
【図5】フラッシュメモリの記憶領域を説明する概念図である。
【図6】図6Aは、ユーザ端末とUSBメモリとの間でなされる認識処理を説明するための図である。図6Bは、ユーザ端末におけるUSBメモリの認識状態の一例を説明するための図である。
【図7】図7Aは、ドライバ等のインストールを説明するための図である。図7Bは、ユーザ端末におけるUSBメモリの認識状態の一例を説明するための図である。
【図8】セキュリティ保護領域に対する情報の読み出しや書き込みを説明するための図である。
【図9】情報記憶装置の他の構成を説明するための図である。
【図10】情報記憶装置の応用例を説明するための図である。
【図11】情報記憶装置の他の応用例を説明するための図である。
【符号の説明】
【0111】
1 USBメモリ,1A USBメモリの本体部,
10 メインコントローラ,11 CPU,12 内部メモリ,13 内部バス,
20 USB_I/F,21 プラグ,22 USBコントローラ,
30(30A〜30C) ICカード,31 基板,32 ICチップ,
33 CPU,34 内部メモリ,35 暗号処理回路,36 シリアルI/F,
37 内部バス,38 接点端子群,38a 電源端子,38b グランド端子,
38c クロック端子,38d I/O端子,
40 カードコネクタ,41 ガイド部材,42 基板側端子,
50 フラッシュメモリ,51 通常アクセス可能領域,
52 セキュリティ保護領域,60 筐体,61 貫通口,
70 USBハードディスク,71 ハードディスク,72 ポート,
110 ユーザ端末,111 CPU,112 メモリ,113 USB_I/F,
114 通信I/F,115 内部バス,
120 管理サーバ,121 CPU,122 メモリ,123 通信I/F,
124 内部バス,
B 配線基板

【特許請求の範囲】
【請求項1】
(A)ユーザ端末と通信するための通信インタフェースと、
(B)前記ユーザ端末が有する標準機能によって前記ユーザ端末から認識され、前記ユーザ端末からの情報の読み出しが可能な第1領域、及び、前記ユーザ端末が有する標準機能によっては前記ユーザ端末から認識されない第2領域を有するメモリであって、
前記第2領域を前記ユーザ端末から認識させるための認識機能を前記ユーザ端末に付加する認識用プログラムを、前記第1領域に記憶しているメモリと、
(C)前記メモリと前記通信インタフェースとの間に設けられ、前記ユーザ端末からの要求に基づいて前記メモリに対する読み出し処理及び書き込み処理を行うコントローラと、
(D)を有する情報記憶装置。
【請求項2】
請求項1に記載の情報記憶装置であって、
前記ユーザ端末が有する標準機能は、
前記ユーザ端末のオペレーティングシステムに搭載されているものである、情報記憶装置。
【請求項3】
請求項1又は請求項2に記載の情報記憶装置であって、
前記第1領域は、
前記ユーザ端末が有する標準機能によって、情報の読み出し専用領域として前記ユーザ端末から認識される領域である、情報記憶装置。
【請求項4】
請求項1から請求項3の何れかに記載の情報記憶装置であって、
少なくとも前記ユーザ端末を通じて送られた認証情報に基づき、前記第2領域に対するアクセス権限を有する正規の使用者か否かを判断するセキュリティ処理を行うICチップを有し、
前記第2領域は、
前記ICチップによる前記セキュリティ処理で、前記ユーザ端末の使用者が正規の使用者と判断されたことを条件に、前記ユーザ端末からの要求に基づく情報の書き込みや情報の読み出しが可能になる領域である、情報記憶装置。
【請求項5】
請求項4に記載の情報記憶装置であって、
前記第1領域は、
前記ユーザ端末が有する標準機能によって、情報の読み出し専用領域として前記ユーザ端末から認識される領域であり、かつ、前記ICチップによる前記セキュリティ処理で、前記ユーザ端末の使用者が正規の使用者と判断されたことを条件に、前記ユーザ端末からの要求に基づく情報の書き込みが可能になる領域である、情報記憶装置。
【請求項6】
請求項4又は請求項5に記載の情報記憶装置であって、
前記ICチップは、
前記ユーザ端末を通じて送られた認証情報が正規のものである場合であって、かつ、前記ユーザ端末と通信可能に接続された管理サーバとの間で外部認証が成立した場合に、前記コントローラに対して前記第2領域の全体に対する読み出し処理及び書き込み処理を許可し、
前記ユーザ端末を通じて送られた認証情報が正規のものである場合であって、かつ、前記管理サーバとの間で外部認証が成立しなかった場合に、前記コントローラに対して前記第2領域の一部に対する読み出し処理及び書き込み処理を許可する、情報記憶装置。
【請求項7】
請求項4から請求項6の何れかに記載の情報記憶装置であって、
前記ICチップを有するチップユニットが装着されるチップユニット装着部であって、前記チップユニットが前記コントローラに対して通信可能な状態で装着されるチップユニット装着部を有する、情報記憶装置。
【請求項8】
請求項4又は請求項5に記載の情報記憶装置であって、
前記ICチップを有するチップユニットが装着されるチップユニット装着部であって、前記チップユニットが前記コントローラに対して通信可能な状態で装着されるチップユニット装着部を有し、
前記チップユニットは、
或る固有識別情報を記憶したICチップを有する第1のチップユニットと、
他の固有識別情報を記憶したICチップを有する第2のチップユニットとを有し、
前記コントローラは、
前記第1のチップユニットが前記チップユニット装着部に装着され、かつ、前記ICチップによる前記セキュリティ処理で、前記ユーザ端末の使用者が前記正規の使用者と判断された場合に、前記第2領域の一部に対する情報の読み出し処理及び書き込み処理を行い、
前記第2のチップユニットが前記チップユニット装着部に装着され、かつ、前記ICチップによる前記セキュリティ処理で、前記ユーザ端末の使用者が前記正規の使用者と判断された場合に、前記第2領域の他の一部に対する情報の読み出し処理及び書き込み処理を行う、情報記憶装置。
【請求項9】
請求項7又は請求項8に記載の情報記憶装置であって、
前記第1領域は、
前記チップユニット装着部を前記ユーザ端末に使用させるためのプログラムを記憶している、情報記憶装置。
【請求項10】
請求項9に記載の情報記憶装置であって、
前記第1領域は、
前記ユーザ端末と前記ICチップとの間における情報の送受信を可能にするためのプログラムを記憶している、情報記憶装置。
【請求項11】
請求項7から請求項10の何れかに記載の情報記憶装置であって、
前記チップユニット装着部は、
前記チップユニットが挿入される開口と、
前記開口を通じて挿入された前記チップユニットを保持する保持部とを有する、情報記憶装置。
【請求項12】
請求項4から請求項11の何れかに記載の情報記憶装置であって、
前記ICチップは、
前記ユーザ端末を通じて送られた認証情報を予め記憶された比較用認証情報と比較することにより、前記正規の使用者であるか否かを判断する、情報記憶装置。
【請求項13】
請求項12に記載の情報記憶装置であって、
前記ICチップは、
前記認証情報が正規のものであると判断した場合に、前記認証情報が正規のものである旨を示す情報を前記コントローラに対して送信し、
前記コントローラは、
前記認証情報が正規のものである旨を示す情報の受信を条件に、前記ユーザ端末からの要求に基づき、前記第2領域に対する情報の読み出し処理及び書き込み処理を行う、情報記憶装置。
【請求項14】
請求項4から請求項13の何れかに記載の情報記憶装置であって、
前記ICチップは、
前記ユーザ端末から送信された平文情報を前記第2領域に記憶すべき暗号化情報に変換して前記コントローラへ送信し、前記第2領域に記憶された暗号化情報を前記ユーザ端末へ送信すべき平文情報に変換して前記コントローラに送信する、情報記憶装置。
【請求項15】
請求項14に記載の情報記憶装置であって、
前記ICチップは、
前記平文情報の暗号化に用いられる暗号化用鍵、及び、前記暗号化情報の復号に用いられる復号用鍵を記憶する、情報記憶装置。
【請求項16】
請求項4から請求項13の何れかに記載の情報記憶装置であって、
前記ICチップは、
平文情報の暗号化に用いられる暗号化用鍵、及び、暗号化情報の復号に用いられる復号用鍵を記憶し、
前記コントローラは、
前記ICチップから転送された前記暗号化用鍵を用いて、前記ユーザ端末から送信された前記平文情報を前記第2領域に記憶すべき暗号化情報に変換する一方、前記ICチップから転送された前記復号用鍵を用いて、前記第2領域に記憶された暗号化情報を前記ユーザ端末へ送信すべき平文情報に変換する、情報記憶装置。
【請求項17】
請求項7から請求項11の何れかに記載の情報記憶装置であって、
前記ICチップは、
平文情報の暗号化に用いられる暗号化用鍵、及び、暗号化情報の復号に用いられる復号用鍵を記憶し、
前記コントローラは、
前記ICチップから転送された前記暗号化用鍵を用いて、前記ユーザ端末から送信された前記平文情報を前記第2領域に記憶すべき暗号化情報に変換する一方、前記ICチップから転送された前記復号用鍵を用いて、前記第2領域に記憶された暗号化情報を前記ユーザ端末へ送信すべき平文情報に変換し、かつ、前記チップユニットが前記チップユニット装着部から取り外された場合に、転送された前記暗号化用鍵及び前記復号用鍵を消去する、情報記憶装置。
【請求項18】
請求項7から請求項11の何れかに記載の情報記憶装置であって、
前記ICチップは、
平文情報の暗号化に用いられる暗号化用鍵及び暗号化情報の復号に用いられる復号用鍵として、共通暗号鍵を記憶し、
前記コントローラは、
前記ICチップから転送された前記共通暗号鍵を用いて、前記ユーザ端末から送信された前記平文情報を前記第2領域に記憶すべき暗号化情報に変換する一方、前記第2領域に記憶された暗号化情報を前記ユーザ端末へ送信すべき平文情報に変換し、かつ、前記チップユニットが前記チップユニット装着部から取り外された場合に、転送された前記共通暗号鍵を消去する、情報記憶装置。
【請求項19】
請求項4から請求項18の何れかに記載の情報記憶装置であって、
前記第2領域は、
その記憶容量が前記第1領域の記憶容量よりも大きい、情報記憶装置。
【請求項20】
請求項1から請求項19の何れかに記載の情報記憶装置であって、
前記第1領域は、
前記ユーザ端末によって読み出され、前記ユーザ端末の使用が許可される特定の使用者か否かを、前記ユーザ端末に判断させるための許可情報を記憶している、情報記憶装置。
【請求項21】
請求項4から請求項19の何れかに記載の情報記憶装置であって、
前記第2領域は、
前記ユーザ端末によって読み出され、前記ユーザ端末の使用が許可される特定の使用者か否かを、前記ユーザ端末に判断させるための許可情報を記憶している、情報記憶装置。

【図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


【公開番号】特開2008−16001(P2008−16001A)
【公開日】平成20年1月24日(2008.1.24)
【国際特許分類】
【出願番号】特願2006−282514(P2006−282514)
【出願日】平成18年10月17日(2006.10.17)
【分割の表示】特願2006−185431(P2006−185431)の分割
【原出願日】平成18年7月5日(2006.7.5)
【出願人】(506231397)有限会社トゥールビヨン (3)
【Fターム(参考)】