(57)【要約】      （修正有）【課題】複数個のデバイスの記憶領域の認証を自動的に行う。【解決手段】可搬媒体のコントローラへのアクセスを制御するコントローラアクセス手段と、可搬媒体の第一メモリ領域へのアクセスを制御する第一メモリ領域アクセス手段と、可搬媒体の第二メモリ領域へのアクセスを制御する第二メモリ領域アクセス手段と、ミドルウェアとを有する情報処理装置を備える。可搬媒体と情報処理装置との接続がなされると、コントローラアクセス手段は、可搬媒体と第二メモリ領域を紐付けるための情報を保持する。ミドルウェアは、第一メモリ領域アクセス手段とコントローラアクセス手段とを用いて第一メモリ領域を選択する第一メモリ領域選択手段と、第一メモリ領域アクセス手段とコントローラアクセス手段とを用いて第一メモリ領域を有する可搬媒体の第二メモリ領域を判別する第二メモリ領域判別手段とを備える。【選択図】図７
2009259133.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置から当該情報処理装置に設置された可搬媒体に対するアクセス制御方法であって、
前記情報処理装置は、
前記可搬媒体が、当該情報処理装置に接続された場合、前記可搬媒体が所定の条件を満たす第一のメモリ領域と第二のメモリ領域を有するかを判断し、
当該判断結果に対応する判断関連情報を格納し、
利用者の操作により、前記情報情報処理装置から前記可搬媒体へのアクセス要求があった場合、前記判断関連情報が前記第二のメモリ領域へのアクセスが可能であることを示すか否かを判断し、当該判断結果に応じて、前記第二のメモリ領域に対する、前記アクセス要求で要求されるアクセスを許可することを特徴とする可搬媒体に対するアクセス制御方法。
【請求項２】
請求項１に記載の可搬媒体に対するアクセス制御方法において、
前記所定の条件は、前記第一のメモリ領域が前記利用者の認証データを格納していることを特徴とする可搬媒体に対するアクセス制御方法。
【請求項３】
請求項１または２のいずれかに記載の可搬媒体に対するアクセス制御方法において、
前記判断関連情報は、前記第二のメモリ領域と、前記第一のメモリ領域を有する前記可搬媒体とを対応付ける情報であって、
当該情報が、前記第二のメモリ領域が前記第一のメモリ領域を有する前記可搬媒体とを対応付いていることを示す場合に、前記第二のメモリ領域に対する前記アクセスが可能と判断することを特徴とする可搬媒体に対するアクセス制御方法。
【請求項４】
請求項２または３のいずれかに記載の可搬媒体に対するアクセス制御方法において、
前記所定の条件として、前記第一のメモリ領域に格納された認証データを用いた認証がされた場合に、前記判断関連情報として、前記第二のメモリ領域に対してアクセスが可能であることを示す情報を格納することを特徴とする可搬媒体に対するアクセス制御方法。
【請求項５】
請求項４に記載の可搬媒体に対するアクセス制御方法において、
前記第二のメモリ領域は、当該第二のメモリ領域へのアクセスの可否を判断するための第二の認証データを保持し、
前記第二の認証データを用いた認証処理でも認証された場合に、前記アクセス要求で要求されるデータを当該第二のメモリ領域に対するアクセスを許可することを特徴とする可搬媒体に対するアクセス制御方法。
【請求項６】
請求項２乃至５のいずれかに記載の可搬媒体に対するアクセス制御方法において、
前記所定の条件には、さらに前記第一のメモリ領域が、前記第二のメモリ領域に比べて耐タンパ性を有することを特徴とする可搬媒体に対するアクセス制御方法。
【請求項７】
請求項１乃至６のいずれかに記載の可搬媒体に対するアクセス制御方法において、
前記アクセス要求で要求されるアクセスは、前記可搬媒体に対する情報の書き込みもしくは読み出しの少なくとも一方を含むことを特徴とする可搬媒体に対するアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータ（ＰＣ）やサーバ等の汎用コンピュータ、ならびに携帯電話やＰＤＡ、スマートフォン等の情報処理装置と接続される可搬媒体へのアクセス制御技術に関する。
【背景技術】
【０００２】
近年、ハードディスクやフラッシュメモリなどの記憶媒体は小型化および大容量化が急速に進んでおり、パーソナルコンピュータ（ＰＣ）等の補助記憶装置として広く使用されている。
【０００３】
このような記憶媒体には、置き忘れや盗難にあった際の情報漏洩または不正利用を防止するために、パスワード等の入力による利用者の認証を行い、正規の利用者であることが確認されないと、記憶媒体内に保存されたの情報にアクセスできないセキュリティ機能を備えているものがある。例えば、ＭｕｌｔｉＭｅｄｉａＣａｒｄ（ＭＭＣ）やＳｅｃｕｒｅＤｉｇｉｔａｌＣａｒｄ（ＳＤカード）等のメモリカードの規格では、パスワード認証に成功しないと情報の読書きができないＬｏｃｋ／Ｕｎｌｏｃｋ機能が規定されている。
【０００４】
また、近年、ＩＣチップのような、第三者からの攻撃に対するハードウェア的な耐久性を備え、内部のＣＰＵやメモリ、コントローラが解析されることによる情報漏洩の危険性を低減させる耐タンパデバイスが注目されている。ＩＣチップは、前述したセキュリティ機能すなわちホストからのアクセスに対してパスワード等の認証を求める利用者の判定処理や、鍵情報を利用した情報の暗復号、署名・検証といった処理を、デバイスの内部で行えるという特徴を有する。
【０００５】
特許文献１では、フラッシュメモリの機能に加えてＩＣチップの機能を持つフラッシュメモリカードが開示されている。このフラッシュメモリカードでは、利用者の認証情報などを持たせる耐タンパ領域をフラッシュメモリとは別に備えることから、従来のフラッシュメモリカードと比べて、利用者や機器の認証をより安全に行うことができる。なお、記憶領域と耐タンパ領域を併せ持つ同様の記憶媒体としては、他にもｓｍａｒｔＳＤやｉＶＤＲ−Ｓｅｃｕｒｅ等が知られている。
【０００６】
特許文献１に記載のような記憶領域と耐タンパ領域を併せ持つデバイスをホストに接続して通信を行う場合、記憶領域と耐タンパ領域のそれぞれがホストと通信する際に利用するインターフェースが異なるため、ホスト側では、耐タンパ領域にアクセスするための手段と記憶領域にアクセスするための手段を別々に備える必要がある。
【０００７】
例として、特許文献２では、第一メモリ領域と第二メモリ領域を備える記憶媒体にアクセスする手段として、第一のメモリ領域にアクセスするための第一メモリ領域アクセス手段と、第二メモリ領域にアクセスするための第二メモリ領域アクセス手段を備える構成が開示されている。
【０００８】
前述した記憶領域と耐タンパ領域を併せ持つデバイスでは、記憶領域への情報の読書きを行う場合、セキュリティを確保するために、耐タンパ領域で利用者やホストの認証を行った上で、記憶領域への情報の読書きを開始する利用形態が望ましい。
【０００９】
特許文献３では、第一の利用者認証を必要とするデバイスが接続可能な情報処理装置からの、第二の利用者認証を必要とする記憶媒体に対するアクセスを制御する方法が開示されている。これによれば、利用者から入力された第一のパスワードが正しい場合、デバイスから読み出したキー情報に基づいて第二のパスワードを自動的に生成し、生成された第２パスワードに基づいて第二の利用者認証を行い、記憶媒体へのアクセスを可能とする。
【００１０】
【特許文献１】特開２００１−２０９７７３
【特許文献２】特開２００５−２３５１５９
【特許文献３】特開２００３−２２３４２０
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献３に記載のアクセス制御方法を、特許文献１に記載のような記憶領域と耐タンパ領域を併せ持つデバイスに対して行うには、後述するような課題がある。
【００１２】
課題とはすなわち、記憶領域にアクセスするための手段と耐タンパ領域にアクセスするための手段をホスト側で別々に備えているために、記憶領域と耐タンパ領域が物理的に１つのデバイスであろうとなかろうと、ホスト側のＯＳや上位のアプリケーションはそれを判別することができない点にある。このため、記憶領域を持つデバイスが複数個ホストに接続されると、ホストは、選択したデバイスの耐タンパ領域に対して認証を行った後、同じデバイスの記憶領域がどれなのかを判別することができず、結果として記憶領域の認証を自動的に行うことができない。
【００１３】
本発明は以上の問題に鑑みてなされたものであり、固有のアクセス手段を必要とするメモリ領域を複数備えたデバイスがホストに接続された際に、第一のメモリ領域を選択したときに同デバイスの第二のメモリ領域を自動的に判別するための可搬媒体のアクセス制御方法を提供することを目的とする。
【００１４】
また、記憶領域と耐タンパ領域を併せ持つデバイスを用いて、利用者が情報を簡便かつ安全に持ち運べるようなシステムを提供することも本発明の目的である。
【課題を解決するための手段】
【００１５】
上記の課題を解決するために、本発明では、セキュリティ上の条件につき、予め定めた条件を有する第一のメモリ領域を有する可搬媒体（例えば、当該可搬媒体中の第二もしくは第一のメモリ領域）に対して、情報処理装置によるアクセス(書き込みおよび／または読み出し)を可能とするものである。逆に、上記の条件を満たす第一のメモリ領域を有しない可搬媒体には、アクセスを許容しない。
【００１６】
本発明を実現するための一態様としては、以下のものがある。可搬媒体のアクセス制御方法であって、第一メモリ領域と、第二メモリ領域と、第一メモリ領域または第二メモリ領域へのアクセスを制御するコントローラとを有する可搬媒体と、可搬媒体に接続され、可搬媒体のコントローラへのアクセスを制御するコントローラアクセス手段と、可搬媒体の第一メモリ領域へのアクセスを制御する第一メモリ領域アクセス手段と、可搬媒体の第二メモリ領域へのアクセスを制御する第二メモリ領域アクセス手段と、ミドルウェアとを有する情報処理装置とを用意し、
可搬媒体と情報処理装置との接続がなされると、コントローラアクセス手段は、可搬媒体と第二メモリ領域とを紐付けるための情報を保持し、
ミドルウェアは、第一メモリ領域アクセス手段とコントローラアクセス手段とを用いて第一メモリ領域を選択する第一メモリ領域選択手段と、第一メモリ領域アクセス手段とコントローラアクセス手段とを用いて第一メモリ領域を有する可搬媒体の第二メモリ領域を判別する第二メモリ領域判別手段とを備える。
【００１７】
なお、第一メモリ領域と第二メモリ領域とコントローラとを有する可搬媒体とは、以下を含む。すなわち、耐タンパ領域と記憶領域とを備えたフラッシュメモリデバイスやハードディスク装置、ＳＩＭカードと記憶装置を備えた携帯電話、また、耐タンパ領域と記憶領域とを備えたフラッシュメモリカード等を外部補助記憶装置として搭載したＰＤＡやスマートフォンを含む。
【００１８】
また、本発明では、より具体的な一態様として、以下の構成を備える。
第一メモリ領域と、第二メモリ領域と、前記第一メモリ領域ならびに前記第二メモリ領域へのアクセスを制御するコントローラとを有する可搬媒体と、
前記可搬媒体に接続され、前記可搬媒体の前記コントローラへのアクセスを制御するコントローラアクセス手段と、前記可搬媒体の前記第一メモリ領域へのアクセスを制御する第一メモリ領域アクセス手段と、前記可搬媒体の前記第二メモリ領域へのアクセスを制御する第二メモリ領域アクセス手段と、ミドルウェアとを有する情報処理装置とを用意しておき、
前記可搬媒体と前記情報処理装置との接続がなされると、前記コントローラアクセス手段は、前記可搬媒体と前記第二メモリ領域とを紐付けるための情報を保持し、
前記ミドルウェアが、前記第一メモリ領域アクセス手段と前記コントローラアクセス手段とを用いて前記第一メモリ領域にアクセスする第一メモリ領域アクセス手段と、前記コントローラアクセス手段を用いて前記第一メモリ領域を有する前記可搬媒体の前記第二メモリ領域を判別する第二メモリ領域判別手段とを備える。
【００１９】
また、上記のアクセス制御において、
前記第一メモリ領域は、前記第一メモリ領域へのアクセス可否を判定する第一アクセス可否判定手段を有し、
前記ミドルウェアは、利用者から第一認証情報の入力を受付け、前記第一アクセス可否判定手段による第一判定処理を実行し、
前記第一判定処理の結果が肯定的な場合、前記第一アクセス可否判定手段が、前記第一メモリ領域へのアクセスを許容するものも本発明に含まれる。
【００２０】
また、このアクセス制御において、
前記第一メモリ領域は、前記第二メモリ領域へのアクセスを行うための第二認証情報を有し、
前記第二メモリ領域は、前記第二メモリ領域へのアクセス可否を判定する第二アクセス可否判定手段を有し、
前記第一判定処理の結果が肯定的な場合、前記ミドルウェアが、前記第二認証情報を取得し、前記第二メモリ領域判別手段により前記第二メモリ領域を判別し、前記第二メモリ領域アクセス手段により前記第二メモリ領域に前記第二認証情報を送信し、前記第二アクセス可否判定手段による第二判定処理を実行し、
前記第二判定処理の結果が肯定的な場合、前記第二アクセス可否判定手段が、前記第二メモリ領域へのアクセスを許容するものも本発明に含まれる。
【００２１】
さらに、上記のアクセス制御において、
前記コントローラは、前記第二メモリ領域へのアクセス可否を判定する第二アクセス可否判定手段を有し、
前記第一メモリ領域は、前記第二メモリ領域へのアクセスを行うための第二認証情報を有し、
前記第一判定処理の結果が肯定的な場合、前記ミドルウェアが、前記第二認証情報を取得し、前記コントローラアクセス手段により前記コントローラに前記第二認証情報を送信し、前記第二アクセス可否判定手段による第二判定処理を実行し、
前記第二判定処理の結果が肯定的な場合、前記第二アクセス可否判定手段が、前記第二メモリ領域へのアクセスを許容するものも本発明に含まれる。
【００２２】
また、これらのアクセス制御方法において、
前記情報処理装置は、前記利用者の情報処理装置へのログオン可否をログオン認証情報により判定するログオン認証手段を有し、
前記第一メモリ領域は、前記情報処理装置へのログオンを行うための前記ログオン認証情報を有し、
前記第一判定処理の結果が肯定的な場合、前記ミドルウェアは、前記ログオン認証情報を取得し、前記ログオン認証手段によるログオン認証を実行し、
前記ログオン認証の結果が肯定的な場合、前記ミドルウェアは、前記情報処理装置のログオン開始と並行して、前記第二認証情報を取得し、前記第二判定処理を行うものも本発明に含まれる。なお、ここで「並行」とは、一部でも処理の時間帯が重なればよい。
【００２３】
また、上記のアクセス制御において、
前記第一メモリ領域は、前記第二メモリへのアクセス権限の有無を規定するアクセス権限情報を有し、
前記情報処理装置は、前記情報処理装置に接続される外部記憶媒体への情報の出力を制限する外部出力制限手段を有し、
前記第一判定処理の結果が肯定的な場合、前記ミドルウェアは、前記アクセス権限情報を取得ならびに判定し、前記第二メモリへのアクセス権限があると判定した場合、前記第二メモリへの情報の出力を許可するよう前記外部出力制限手段の制限を解除するものも本発明の一態様に含まれる。
なお、上述の情報処理装置は、いわゆるシンクライアントであっても構わない。
【００２４】
また、上記のアクセス制御を実行するための各装置（可搬媒体を含む）、これらのコンビネーション、サブコンビネーション、この方法をコンピュータに実行させるためのプログラムも本発明に含まれる。
【発明の効果】
【００２５】
本発明によれば、よりセキュリティを保持した形で、可搬媒体へのアクセスを制御できる。
【発明を実施するための最良の形態】
【００２６】
本発明の実施の形態について、図面を用いて説明する。本実施の形態は、いわゆるシンクライアントシステムを例に説明するが、本発明はそれに限定されるものではない。
【００２７】
図１に、本発明の可搬媒体のアクセス制御方法が適用されるシステムのブロック構成図を示す。利用者が使用する複数のクライアント２０００とサーバ３０００は、ネットワーク１００００を介して互いに接続されており、各クライアント２０００とサーバ３０００間での情報の送受信が可能である。
【００２８】
認証トークン１０００は、利用者が携帯し持ち歩くことが可能な媒体であり、図１に示すいずれのクライアント２０００にも接続することができる。メモリトークン１５００は、認証トークン１０００と同様に利用者が携帯し持ち歩くことが可能な媒体であり、図１に示すいずれのクライアント２０００にも接続することができる。利用者は、クライアント２０００を操作することで、任意のトークンを選択し、選択したトークンに対する情報の読出しや書込みを行うことができる。
【００２９】
本システムはシンクライアントであり、利用者が使用する業務アプリケーションや業務ファイルは、個々のクライアント２０００ではなくサーバ３０００で一括管理される。利用者は、認証トークン１０００をクライアント２０００に接続し、クライアント２０００ならびにサーバ３０００に対する認証を行うことで、サーバ３０００上の必要な業務アプリケーションや業務ファイルをサーバ３０００上で実行し、業務を行うことができる。
【００３０】
図２に、認証トークン１０００の詳細を説明するためのブロック構成図を示す。認証トークン１０００は、内部にＵＳＢ接続Ｉ／Ｆ１１００、コントローラ１２００、耐タンパ領域１３００、記憶領域１４００を実装しており、それぞれが図示するように接続されている。
【００３１】
ＵＳＢ接続Ｉ／Ｆ１１００は、認証トークン１０００をクライアント２０００に接続するために利用するインターフェースである。本実施例では、ＵＳＢによる接続を前提として説明するが、赤外線やＮＦＣ（Ｎｅａｒ Ｆｉｅｌｄ Ｃｏｍｍｕｎｉｃａｔｉｏｎ）でもよい。
【００３２】
コントローラ１２００は、内部にＣＰＵ１２１０、メモリ１２２０、ストレージ１２３０を含む。ＣＰＵ１２１０は、制御プログラム１２３１や記憶領域パスワード照合プログラム１２３２等のストレージ１２３０内のプログラムをメモリ１２２０にロードして実行する。
【００３３】
制御プログラム１２３１は、ＵＳＢ接続Ｉ／Ｆ１１００を介してクライアント２０００から受信した情報を耐タンパ領域１３００または記憶領域１４００に送信するための切り分け制御や、耐タンパ領域１３００や記憶領域１４００の情報をクライアント２０００に送信したりする際の排他制御を行うプログラムである。
【００３４】
記憶領域パスワード１２３３は、記憶領域１４００内の業務ファイル１４１０の読出しや書込みを行う利用者の権限を検証するための情報である。記憶領域パスワード１２３３の照合に成功していない状態では、コントローラ１２００と記憶領域１４００との間の通信はロックされており、利用者はクライアント２０００から認証トークン１０００内の記憶領域１４００にアクセスすることはできない。
【００３５】
記憶領域パスワード照合プログラム１２３２は、クライアント２０００から送信されたパスワードとコントローラのストレージ１２３０内に格納されている記憶領域パスワード１２３３の照合を行うプログラムである。記憶領域パスワード照合プログラム１２３２は、記憶領域パスワード１２３３の照合結果が正しい場合、コントローラ１２００と記憶領域１４００との間の通信のロックを解除状態に変更し、業務ファイル１４１０の読出しや書込みを許可する。なお、本解除状態は、認証トークン１０００がクライアント２０００から取外されると自動的にリセットされ、ロック状態に戻る。すなわち、記憶領域１４００にアクセスするための記憶領域パスワード１２３３の照合は、認証トークン１０００をクライアント２０００に接続する度に行う必要がある。本機能は、ＭｕｌｔｉＭｅｄｉａＣａｒｄ（ＭＭＣ）の規格で定められているＬｏｃｋ／Ｕｎｌｏｃｋのような機能を前提としている。なお、コントローラ１２００と記憶領域１４００との間の通信がロック状態であっても、クライアント２０００からコントローラ１２００への通信ならびにクライアント２０００から耐タンパ領域１３００への通信は行うことができる。
【００３６】
耐タンパ領域１３００は、ＩＣカードチップなどのセキュリティ評価団体の定める基準により認定を受けることが可能な水準の耐タンパ性を持つデバイスであり、内部にＣＰＵ１３１０、メモリ１３２０、ストレージ１３３０を含む。ＣＰＵ１３１０は、ストレージ１３３０からメモリ１３２０にロードされたプログラムを実行し、非対称鍵による暗復号、ストレージ１３３０内のファイル管理、ハッシュの演算、デジタル署名、証明書の検証、鍵の生成、乱数の生成を行う機能を持つ。ストレージ１３３０は、ＥＥＰＲＯＭ等の不揮発性ストレージであり、内部にはＰＩＮ照合プログラム１３３１や演算プログラム１３３２を含む所定のプログラムと、公開鍵１３４０や証明書１３３９を含む所定のデータが格納されている。
【００３７】
ＰＩＮ１３３５は、ＰＩＮ秘匿領域１３３３内のデータに対して読出しや書込みを行わせたり演算を行わせたりする利用者の権限を検証するための情報である。ＰＩＮ１３３５の照合に成功していない状態では、利用者はクライアント２０００からＰＩＮ秘匿領域１３３３内のデータにアクセスすることはできない。なお、本実施例のＰＩＮ１３３５は文字列を前提とするが、指紋、虹彩、声紋、静脈等の生体認証情報でもよい。また、本実施例ではＰＩＮ秘匿領域１３３３内の全てのデータに対する利用者の権限を一つのＰＩＮ１３３５で管理しているが、データ毎にＰＩＮを定め、個別に照合を行う構成にしてもよい。
【００３８】
ＰＩＮ照合プログラム１３３１は、クライアント２０００からコントローラ１２００を経由して送信されたＰＩＮとＰＩＮ秘匿領域１３３３内に格納されているＰＩＮ１３３５の照合を行うプログラムである。ＰＩＮ照合プログラム１３３１は、ＰＩＮ１３３５の照合結果が正しい場合、クライアント２０００からのＰＩＮ秘匿領域１３３３内のデータに対する読出しや書込み、演算といった処理を行うことを許可する。また、ＰＩＮ照合プログラム１３３１は、ＰＩＮ１３３５の照合に所定の回数連続して失敗したことを検知すると、不正な利用者によるアクセスが試行されていると判断し、ＰＩＮ秘匿領域１３３３を無効化し、以降、ＰＩＮ１３３５の照合要求を一切受け付けない。なお、本実施例では、ＰＩＮ秘匿領域１３３３内のデータを利用するたびにＰＩＮ照合を必要とするが、一度ＰＩＮ照合プログラム１３３１により正当と判断された利用者には、以降のアクセスにてＰＩＮ照合を求めない設定にしてもよい。
【００３９】
演算プログラム１３３２は、公開鍵１３４０や秘密鍵１３３４を用いた演算処理を実行したり、ストレージ１３３０内に格納されている公開鍵１３４０、証明書１３３９、クライアント認証情報１３３６、記憶領域パスワード１３３７、ユーザ権限情報１３３８等のデータを耐タンパ領域１３３０の外部へ出力したりする機能を持つプログラムである。
【００４０】
秘密鍵１３３４は、利用者の認証を行う際の電子署名等に使われる鍵であり、１つでも複数個でもよい。公開鍵１３４０は、秘密鍵１３３４に対応する非対称鍵暗号用の鍵であり、秘密鍵１３３４により生成された電子署名の検証等に使用される。証明書１３３９は、外部の認証局により発行された、公開鍵１３４０の正当性を証明するための証明書である。クライアント認証情報１３３６は、後述するクライアント２０００へのログオンを行う利用者の権限を検証するための情報である。記憶領域パスワード１３３７は、前述した記憶領域１４００のロックを解除するためのパスワードである。ユーザ権限情報１３３８は、認証トークン１０００の記憶領域１４００等を使用するための利用者の権限を規定する情報である。なお、公開鍵１３４０、証明書１３３９、ユーザ権限情報１３３８は、いずれもＰＩＮ秘匿領域１３３３に格納されていてもよい。
【００４１】
記憶領域１４００は、フラッシュメモリ等の不揮発性の記憶媒体であり、業務ファイル１４１０等の情報を保存可能である。
【００４２】
図３に、メモリトークン１５００の詳細を説明するためのブロック構成図を示す。メモリトークン１５００は、内部にＵＳＢ接続Ｉ／Ｆ１５１０、コントローラ１５２０、記憶領域１５３０を実装しており、それぞれが図示するように接続されている。
【００４３】
ＵＳＢ接続Ｉ／Ｆ１５１０は、メモリトークン１５００をクライアント２０００に接続するために利用するインターフェースである。本実施例では、ＵＳＢによる接続を前提として説明するが、赤外線やＮＦＣ（Ｎｅａｒ Ｆｉｅｌｄ Ｃｏｍｍｕｎｉｃａｔｉｏｎ）などでもよい。
【００４４】
コントローラ１５２０は、内部にＣＰＵ１５２１、メモリ１５２２、ストレージ１５２３を含む。ＣＰＵ１５２１は、制御プログラム１５２４等のストレージ１５２３内のプログラムをメモリ１５２２にロードして実行する。
【００４５】
制御プログラム１５２４は、ＵＳＢ接続Ｉ／Ｆ１５１０を介してクライアント２０００から受信した情報を記憶領域１５３０に送信したり、記憶領域１５３０内の情報をクライアント２０００に送信したりする際の制御を行うプログラムである。
【００４６】
記憶領域１５３０は、フラッシュメモリ等の不揮発性の記憶媒体であり、情報を保存可能である。
【００４７】
図４に、クライアント２０００の詳細を説明するためのブロック構成図を示す。クライアント２０００は、メモリ２３００、組込メモリ２６００を含む記憶装置、ＣＰＵ２２００などの処理装置を有し、記憶装置に格納されたプログラムに従って、処理装置が情報処理を実行するものである。クライアント２０００のＣＰＵ２２００上にて実行される情報は、キーボードやマウス等の入力装置２４００を介して利用者が操作することができるとともに、その処理結果がディスプレイ２５００により表示される。また、ネットワーク接続Ｉ／Ｆ２１００により、ネットワーク１００００を介して、サーバ３０００等、他の情報処理装置と通信を行うことができる。
【００４８】
本実施例のクライアント２０００は、情報を保存可能な記憶装置を持たないディスクレスクライアントである。クライアント２０００には業務ファイルが保存されることはないため、利用者がクライアント２０００を紛失しても業務情報が漏洩することはない。また、各クライアント２０００には利用者毎の設定が存在しないため、どの利用者もクライアント２０００を同じように使用することができる。
【００４９】
ＵＳＢＩ／Ｆ２７００は、クライアント２０００と認証トークン１０００またはメモリトークン１５００との接続を可能にするインターフェースである。前述したように、本実施例では、ＵＳＢによる認証トークンの接続を前提として説明するが、赤外線やＮＦＣ（Ｎｅａｒ Ｆｉｅｌｄ Ｃｏｍｍｕｎｉｃａｔｉｏｎ）でもよい。
【００５０】
組込メモリ２６００には、サーバ接続プログラム２６９０、ファイル送受信プログラム２６１０、クライアントログオンプログラム２６８０、耐タンパ領域プログラム２６７０、記憶領域プログラム２６３０、耐タンパ領域制御ドライバ２６６０、記憶領域制御ドライバ２６４０、ＵＳＢトークン制御ドライバ２６５０等の所定のプログラムと、クライアントセキュリティポリシ情報２６２０等の所定のデータが、予め書込まれている。組込メモリ２６００内のプログラムやデータは、クライアント２０００が再起動されるたびにリフレッシュされ、初期設定に戻る仕様となっている。
【００５１】
クライアントセキュリティポリシ情報２６２０は、企業のセキュリティポリシに則して定められる設定情報であり、ＵＳＢＩ／Ｆ２７００に接続されたＵＳＢマスストレージデバイスへのファイル出力可否や、利用者により入力されたＰＩＮのキャッシュ可否等を規定する。本実施例では、認証トークン１０００の記憶領域１４００やメモリトークン１５００の記憶領域１５３０を含むＵＳＢマスストレージデバイスへのファイル出力を許可しない設定である（但し、認証トークン１０００のコントローラ１２００や耐タンパ領域１３００へのアクセスは許可する）。また、一度照合に成功した認証トークン１０００のＰＩＮは、認証トークン１０００の取外しが行われるまでキャッシュする設定である。なお、これらの設定は、クライアント２２００の使用中に一時的に変更することが可能である。例えば、特定のＵＳＢストレージデバイスへのファイル出力を一時的に許可することが可能である。但し、前述したように、変更した設定は、クライアント２０００の再起動が行われると初期設定に戻る。
【００５２】
クライアントログオンプログラム２６８０は、クライアント２０００を使用する利用者の権限を検証するためのプログラムであり、クライアント２０００の電源が投入されると自動的に起動する。クライアントログオンプログラム２２９０は、認証トークン１０００内のクライアント認証情報１３３６に基づいてログオン処理を行う。ログオンに成功すると、利用者は、サーバ接続プログラム２６９０、ファイル送受信プログラム２６１０などのプログラムを使用することができる。認証トークン１０００内のクライアント認証情報１３３６が適切でない場合、ログオンに失敗し、利用者は前記プログラムを使用することができない。また、ログオンに使用した認証トークン１０００がクライアント２０００から取外されると、クライアントログオンプログラム２６８０は、ネットワーク１００００への切断を行うとともにクライアント２０００のログオフ処理を行う。ログオフ処理後に再度クライアント２０００を使用するためには、認証トークン１０００をクライアント２０００に再接続し、再度ログオン処理を行う必要がある。
【００５３】
サーバ接続プログラム２６９０は、クライアント２０００からサーバ３０００への接続を確立する際の相互認証ならびにクライアント２０００からサーバ３０００の遠隔操作を実現するためのプログラムある。図示しないサーバ証明書を利用したサーバ認証、認証トークン１０００内の証明書１３３９を利用したクライアント認証を行い、相互の認証に成功すると、クライアント２０００とサーバ３０００との間の接続を確立するとともに、セション鍵を共有して通信を暗号化する。利用者は、クライアント２０００の入力装置２４００を介して、サーバ３０００内の業務アプリケーションや業務ファイルを、暗号化された通信上で遠隔操作することができる。サーバ接続プログラム２６９０は、クライアント２０００へのログオンが完了すると実行することができる。
【００５４】
ファイル送受信プログラム２６１０は、サーバ３０００と認証トークン１０００の記憶領域１４００との間でファイルの送受信を行うためのプログラムである。ファイル送受信プログラム２６１０は、サーバ接続プログラム２６９０による通信の確立が完了した後に実行することができる。
【００５５】
クライアント２０００からの認証トークン１０００ならびにメモリトークン１５００へのアクセスは、耐タンパ領域１３００へのアクセスと記憶領域１４００、１５３０へのアクセスとのそれぞれについて、二つの異なる経路を介して行われる。詳細には、耐タンパ領域１３００にセキュリティに関する命令を実行する場合は、耐タンパ領域プログラム２６７０、耐タンパ領域制御ドライバ２６６０、ＵＳＢトークン制御ドライバ２２６３を経由して実行する。記憶領域１４００、１５３０にファイルの書込みを行う場合は、記憶領域プログラム２６３０、記憶領域制御ドライバ２６４０、ＵＳＢトークン制御ドライバ２６５０を経由して実行する。
【００５６】
耐タンパ領域プログラム２６７０は、クライアントログオンプログラム２６８０やサーバ接続プログラム２６９０などの複数のアプリケーションが認証トークン１０００の耐タンパ領域１３００にアクセスする際に利用する、ファイル管理、ファイル暗号／復号、ハッシュ演算、デジタル署名、証明書の検証、乱数の生成、鍵の生成等の関数群を実装したプログラムである。耐タンパ領域プログラム２６７０は、クライアント２０００の電源が投入されると自動的に起動する。
【００５７】
耐タンパ領域制御ドライバ２６６０は、認証トークン１０００内の耐タンパ領域１３００へのアクセスを制御するためのプログラムであり、クライアント２０００の電源が投入されると自動的に起動する。
【００５８】
記憶領域プログラム２６３０は、認証トークン１０００の記憶領域１４００やメモリトークン１５００の記憶領域１５３０への情報の読書きを実行するためのプログラムであり、クライアント２０００の電源が投入されると自動的に起動する。
【００５９】
記憶領域制御ドライバ２６４０は、認証トークン１０００の記憶領域１４００やメモリトークン１５００の記憶領域１５３０へのアクセスを制御するためのプログラムであり、クライアント２０００の電源が投入されると自動的に起動する。
【００６０】
ＵＳＢトークン制御ドライバ２６５０は、耐タンパ領域制御ドライバ２６６０と記憶領域制御ドライバ２６４０から受信した命令をＵＳＢＩ／Ｆ２７００を経由して認証トークン１０００またはメモリトークン１５００に送信したり、ＵＳＢＩ／Ｆ２７００を経由して受信した認証トークン１０００またはメモリトークン１５００からの応答を耐タンパ領域制御ドライバ２６６０や記憶領域制御ドライバ２６４０に送信したりするための制御を行うプログラムである。また、認証トークン１０００やメモリトークン１５００のＵＳＢＩ／Ｆ２７００への接続や取外しを検知する機能を持つ。ＵＳＢトークン制御ドライバ２６５０は、クライアント２２００の電源が投入されると自動的に起動する。
【００６１】
図５に、サーバ３０００の詳細を説明するためのブロック構成図を示す。サーバ３０００は、メモリ３２００、ハードディスク３３００を含む記憶装置、ＣＰＵ３１００などの処理装置を有し、記憶装置に格納されたプログラムに従って、処理装置が情報処理を実行するものである。また、ネットワーク接続Ｉ／Ｆ３４００により、ネットワーク１００００を介して、クライアント２０００等、他の情報処理装置と通信を行うことができる。
【００６２】
ハードディスク３３００には、業務アプリケーション３３１０、業務ファイル３３２０、サーバセキュリティポリシ情報３３３０、ユーザ権限情報データベース３３４０が格納されている。
【００６３】
業務アプリケーション３３１０は、文章作成、表計算、Ｅメール送受信など、利用者が日常の業務を行うためのアプリケーション群である。業務ファイル３３２０は、利用者が業務アプリケーション３３１０を使用して作成・編集するファイル群である。
【００６４】
サーバセキュリティポリシ情報３３３０は、クライアントセキュリティポリシ情報２６２０と同様、企業のセキュリティポリシに則して定められる設定情報であり、クライアント２０００とサーバ３０００との間で通信を行う際の認証方式や、データを暗号化するためのセション鍵の長さなどを規定する。本実施例のサーバセキュリティポリシ情報３３３０では、クライアント２０００とサーバ３０００との間の通信の確立に、ＰＫＩによるクライアント認証が必要な設定となっている。すなわち、クライアント２０００からサーバ３０００に接続する際に、利用者はサーバ３０００に証明書を提示する必要がある。
【００６５】
ユーザ権限情報データベース３３４０は、業務アプリケーション３３１０や業務ファイル３３２０、さらには認証トークン１０００の記憶領域１４００やファイル送受信プログラム２６１０の使用権限を、利用者一人一人について定めたデータベースであり、管理者により最新の状態に保たれる。利用者は、自身に権限が与えられていない業務アプリケーション２４３４や業務ファイル２４３２を使用することはできない。なお、ユーザ権限情報データベース３３４０の各利用者の権限情報は、後述する処理により、認証トークン１０００内のユーザ権限情報１３３８にも反映される仕組みとなっている。
【００６６】
図６に、利用者がクライアント２０００に認証トークン１０００とメモリトークン１５００を接続し、認証トークン１０００の記憶領域１４００に格納された業務ファイル１４１０をクライアント２０００にて読み出す際の、利用者、認証トークン１０００、クライアント２０００間にて行われる処理の詳細を説明するためのシーケンスを示す。
【００６７】
まず、利用者の操作によりクライアント２０００の電源が投入され、認証トークン１０００をクライアントに接続される（４００１）。このとき、クライアント２０００にはメモリトークン１５００も接続されているものとする。
【００６８】
クライアント２０００の電源が起動すると、ＵＳＢトークン制御ドライバ２６５０、耐タンパ領域制御ドライバ２６６０、記憶領域制御ドライバ２６４０、耐タンパ領域プログラム２６７０、記憶領域プログラム２６３０、クライアントログオンプログラム２６８０が起動する。また、クライアントセキュリティポリシ情報２６２０の設定がクライアント２０００に適用される。ＵＳＢトークン制御ドライバ２６５０が、クライアント２０００に認証トークン１０００とメモリトークン１５００とが接続されていることを検知すると、それぞれのトークンの耐タンパ領域名と記憶領域名を取得するための処理を実行する（４００２）。
【００６９】
図７は、図６のステップ４００２にて実行される処理の詳細を説明するために、認証トークン１０００とメモリトークン１５００の双方がクライアント２０００に接続された際に、クライアント２０００の各プログラムが取得・保持する情報を示したテーブルである。
【００７０】
トークン１０００内では、コントローラ１２００がＵＳＢシリアル番号「０００１」を、耐タンパ領域１３００が耐タンパ領域番号「０００Ａ」が、記憶領域１４００が記憶領域番号「００１Ａ」をそれぞれ保持する。トークン１５００内では、コントローラ１５２０がＵＳＢシリアル番号「０００２」を、記憶領域１５３０が記憶領域番号「００１Ｂ」をそれぞれ保持する。ＵＳＢシリアル番号、耐タンパ領域番号、記憶領域番号は、それぞれのデバイスや領域を判別するために予め一意に付与された番号である。
【００７１】
ＵＳＢトークン制御ドライバ２６５０が、認証トークン１０００とメモリトークン１５００の接続を検知すると、認証トークン１０００とメモリトークン１５００からそれぞれのＵＳＢシリアル番号「０００１」、「０００２」を取得し、内部に保持する。
【００７２】
耐タンパ領域制御ドライバ２６６０は、ＵＳＢトークン制御ドライバ２６５０とコントローラ１２００とを介して、耐タンパ領域１３００の耐タンパ領域番号「０００Ａ」を取得すると、これに対して耐タンパ領域名「ＳＣ１」を指定する。そして、耐タンパ領域制御ドライバ２６６０は、耐タンパ領域名「ＳＣ１」と、耐タンパ領域番号「０００Ａ」と、これに紐付けられるＵＳＢシリアル番号「０００１」を保持する。
【００７３】
記憶領域制御ドライバ２６４０は、ＵＳＢトークン制御ドライバ２６５０とコントローラ１２００、１５２０とを介して、記憶領域１４００、１５３０の記憶領域番号「００１Ａ」、「００１Ｂ」を取得すると、それぞれに対して記憶領域名「Ａ」、「Ｂ」を指定する。そして、記憶領域制御ドライバ２６４０は、記憶領域名「Ａ」、「Ｂ」と、記憶領域番号「００１Ａ」、「００１Ｂ」と、これらに紐付けられるＵＳＢシリアル番号「０００１」、「０００２」を保持する。
【００７４】
さらに、ＵＳＢトークン制御ドライバ２６５０は、既に保持しているＵＳＢシリアル番号「０００１」、「０００２」を基に、これらに紐付けられる記憶領域名「Ａ」、「Ｂ」を記憶領域制御ドライバ２６４０より取得し、内部に保持する。
【００７５】
以上の処理が完了すると、本実施の形態においては、後述する処理を行うことができる。
【００７６】
第一に、耐タンパ領域プログラム２６７０を使用して、選択した耐タンパ領域名に紐付けられる耐タンパ領域に対して通信を行うことができる。例えば、利用者が耐タンパ領域名「ＳＣ１」を選択すると、選択された耐タンパ領域名「ＳＣ１」に紐付けられる耐タンパ領域番号「０００Ａ」とＵＳＢシリアル番号「０００１」に基づいて、ＵＳＢトークン制御ドライバ２６５０はコントローラ１２００の選択を行い、耐タンパ領域制御ドライバ２６６０は耐タンパ領域１３００の選択を行う。これにより、利用者は、トークン１０００の耐タンパ領域１３００に対してセキュリティに関する命令を実行することができる。
【００７７】
第二に、耐タンパ領域プログラム２６７０を使用して、選択した耐タンパ領域名に紐付けられる耐タンパ領域と同じトークン内の記憶領域に紐付けられる記憶領域名を取得することができる。例えば、利用者が耐タンパ領域名「ＳＣ１」を選択すると、耐タンパ領域制御ドライバ２６６０は、これに紐付けられる耐タンパ領域番号「０００Ａ」とＵＳＢシリアル番号「０００１」に基づいてＵＳＢトークン制御ドライバ２６５０にアクセスを行い、ＵＳＢトークン制御ドライバ２６５０が保持するＵＳＢシリアル番号「０００１」に紐付けられる記憶領域名「Ａ」を取得する。これにより、耐タンパ領域プログラム２６７０は、セキュリティに関する命令を実行した耐タンパ領域１３００が格納されるトークン１０００の記憶領域１４００を、トークン１５００の記憶領域１５３０と混同することなく確実に判別することができる。
【００７８】
なお、本実施例のＵＳＢトークン制御ドライバ２６５０は、記憶領域名を保持する構成としたが、耐タンパ領域プログラム２６７０からの問合せがなされた際に記憶領域制御ドライバ２６４０から記憶領域名を動的に取得する機能を持つ構成にしてもよい。
【００７９】
また、本実施例では、ＵＳＢトークン制御ドライバ２６５０が記憶領域名を保持する構成としたが、耐タンパ領域制御ドライバ２６６０が記憶領域名を保持する構成にしてもよい。
【００８０】
図６のシーケンスの続きを説明する。ステップ４００２の処理により耐タンパ領域制御ドライバ２６６０が耐タンパ領域名「ＳＣ１」を取得すると、耐タンパ領域プログラム２６７０はこれを検知し、耐タンパ領域名「ＳＣ１」を有する認証トークン１０００が接続されたことをクライアントログオンプログラム２６８０に通知する。クライアントログオンプログラム２６８０は、前記通知を受けると、耐タンパ領域名「ＳＣ１」に対してクライアント認証情報を要求する（４００３）。
【００８１】
認証トークン１０００の耐タンパ領域１３００は、耐タンパ領域プログラム２６７０、耐タンパ領域制御ドライバ２６６０、ＵＳＢトークン制御ドライバ２６５０を経由して前記クライアント認証情報の要求を受けると、ＰＩＮ秘匿領域１３３３内のクライアント認証情報１３３６にアクセスするためのＰＩＮの認証をクライアントに要求する（４００４）。
【００８２】
ＰＩＮの要求がなされると、クライアントログオンプログラム２６８０は、利用者へのＰＩＮ入力要求をディスプレイ２５００に表示する（４００５）。利用者からＰＩＮの入力を受け付けると（４００６）、クライアントログオンプログラム２６８０は、入力されたＰＩＮを耐タンパ領域１３００に送信する（４００６）。
【００８３】
耐タンパ領域１３００のＰＩＮ照合プログラム１３３１は、クライアントログオンプログラム２６８０から送信されたＰＩＮと耐タンパ領域１３００内のＰＩＮ１３３５が一致するか検証するためのＰＩＮ照合処理を行う（４００８）。照合処理に成功すると、ＰＩＮ秘匿領域１３３３内へのアクセスが許可状態に変更され、耐タンパ領域１３００からクライアント２０００にクライアント認証情報１３３６が送信される（４００９）。クライアントログオンプログラム２６８０は、取得したクライアント認証情報１３３６に基づき、クライアントログオン処理を開始する（４０１０）。
【００８４】
また、クライアント２０００の耐タンパ領域プログラム２６７０は、耐タンパ領域１３００にユーザ権限情報１３３８を要求（４０１１）、取得し（４０１２）、認証トークン１０００の記憶領域１４００を利用可能にするための処理を開始する。まず、取得したユーザ権限情報１３３８に基づき、利用者が記憶領域１４００の使用権限を有するか否かの判定処理を行う（４０１３）。判定結果の結果が肯定的な場合、耐タンパ領域プログラム２６７０は、認証トークン１０００の耐タンパ領域１３００に記憶媒体パスワード１３３７を要求する（４０１４）。前記判定の結果が否定的な場合、耐タンパ領域プログラム２６７０は終了処理を行う（４０１５）。この場合、利用者は認証トークン１０００の記憶領域１４００を使用することはできない。なお、本判定処理については、ユーザ権限情報１３３８をより詳細に規定し、記憶領域１４００からの読出しのみを許可したり、記憶領域１４００内の特定のブロックのみに対する書込みを許可したりと、権限区分を細分化してもよい。
【００８５】
耐タンパ領域１３００は、記憶媒体パスワード１３３７を要求されると、利用者の認証のためＰＩＮの入力をクライアント２０００に要求する（４０１６）。ここで、本実施例のクライアントセキュリティポリシ情報２６２０では、一度入力したＰＩＮをキャッシュ可能な設定となっているため、ステップ４００６で入力されたＰＩＮを耐タンパ領域プログラム２６７０が保持しており、これを耐タンパ領域１３００に送信する（４０１７）。このため、利用者はＰＩＮを再度入力する必要はない。
【００８６】
図示しないＰＩＮ認証処理が完了すると、耐タンパ領域プログラム２６７０は、耐タンパ領域１３００から記憶媒体パスワード１３３７を取得し（４０１８）、認証トークン１０００のコントローラ１２００に送信する（４０１９）。コントローラ１２００の記憶領域パスワード照合プログラム１２３２は、クライアント２０００から送信された記憶領域パスワード１３３７と、コントローラ１２００内の記憶領域パスワード１２３３との、図示しない照合処理を行う。そして、前記照合処理の結果が肯定的な場合、コントローラ１２００と記憶領域１４００との間の通信がロック解除状態に変更される。前記照合の結果は、認証トークン１０００からクライアント２０００に通知される（４０２０）。
【００８７】
耐タンパ領域プログラム２６７０は、前記通知を受けると、耐タンパ領域制御ドライバ２６６０に対して、耐タンパ領域名「ＳＣ１」を有する認証トークン１０００が有する記憶領域１４００の記憶領域名を取得するための問合せを実行し、記憶領域名「Ａ」を取得する。そして、取得した記憶領域名を基に、クライアントセキュリティポリシ情報２６２０により制限されている認証トークン１０００の記憶領域１４００へのファイル出力を一時的に許可するための処理を行う（４０２１）。
【００８８】
クライアントログオン処理（４０１０）が完了すると、利用者は、入力装置２４００を介してサーバ接続プログラム２６９０等のプログラムを実行することができる（４０２２）。また、利用者が記憶領域１４００の使用権限を有している場合は、ファイル出力許可処理（４０２１）が完了すると、記憶領域１４００内の業務ファイル１４１０を閲覧・編集したり、記憶領域１４００内に新規ファイルを作成したりすることができる（４０２３）。
【００８９】
図８に、図６に示したクライアントログオン後に、利用者がサーバ２０００への接続を行い、サーバ２０００と認証トークン１０００の記憶領域１４００との間で業務ファイルを送受信する際の、利用者、認証トークン１０００、クライアント２０００、サーバ３０００間にて行われる処理の詳細を説明するためのシーケンスを示す。
【００９０】
まず、利用者がクライアント２０００においてサーバ接続プログラム２６９０を起動し（５００１）、指定したサーバ３０００への接続を要求する（５００２）。
【００９１】
サーバ３０００は、クライアント２０００からの接続要求を受けると、図示しないサーバ認証処理を行う。さらに、本実施例では、サーバセキュリティポリシ情報３３３０においてＰＫＩによるクライアント認証が必要とされているため、クライアント認証処理を開始する。まず、サーバ２０００は、クライアント１０００に署名と証明書の要求を行い（５００３）、クライアント２０００は認証トークン１０００に電子署名と証明書の要求を行う（５００４）。
【００９２】
認証トークン１０００は、秘密鍵１３３４を使用するためのＰＩＮの入力をクライアント２０００に要求する（５００５）。前述したように、本実施例におけるクライアントセキュリティポリシ情報２６２０では、一度入力したＰＩＮをキャッシュ可能な設定となっているため、耐タンパ領域プログラム２６７０が保持するＰＩＮを認証トークン１０００に送信する（５００６）。
【００９３】
図示しない認証トークン１０００内でのＰＩＮ照合処理に成功すると、認証トークン１０００は、サーバ３０００からクライアント２０００を経由して送信された情報に対し、秘密鍵１３３４を用いた電子署名を耐タンパ領域１３００内のＣＰＵにおいて生成する（５００７）。生成された電子署名は、証明書１３３９とともにクライアント２０００に送信され（５００８）、クライアント２０００からサーバ３０００に送信される（５００９）。
【００９４】
サーバ３０００において電子署名の検証に成功すると、サーバ３０００とクライアント２０００は、互いの鍵情報と証明書を利用して、セション鍵の鍵交換を行う（５０１０）。以降、サーバ３０００とクライアント２０００との間で通信される情報は、セション鍵を用いて暗号化される。
【００９５】
次に、サーバ３０００は、接続を行った利用者の最新のユーザ権限情報をユーザ権限情報データベース３３４０より取得し、クライアント２０００に送信する（５０１１）。クライアント２０００は、サーバ３０００から送信されたユーザ権限情報とステップ４０１２で認証トークン１０００から取得したユーザ権限情報１３３８とのバージョンの比較を行い、バージョンが異なる場合は、認証トークン１０００内のユーザ権限情報１３３８が最新でないと判定し、サーバ３０００から送信されたユーザ権限情報を認証トークン１０００に送信する（５０１２）。認証トークン１０００内の演算プログラム１３３２は、ユーザ権限情報１３３８の更新を行う（５０１３）。
【００９６】
ユーザ権限情報１３３８の更新処理が完了すると、クライアント２０００はユーザ権限情報１３３８を認証トークン１０００より再度取得し（５０１４）、サーバ３０００に結果を送信する（５０１５）。
【００９７】
以上の処理が完了すると、利用者は、クライアント２０００においてファイル送受信プログラム２６１０を起動することができる。ファイル送受信プログラム２６１０が起動すると（５０１６）、クライアント２０００の耐タンパ領域プログラム２６７０は、ユーザ権限情報に基づき、利用者がファイル送受信の使用権限を有するか否かの判定処理を行う（５０１７）。判定結果が否定的な場合、利用者は、ファイル送受信プログラム２６１０を使用することができない（５０１９）。判定結果が肯定的な場合、サーバ３０００にファイル送受信要求を送信する（５０１８）。サーバ３０００は、ファイル送受信要求を受理すると、クライアント２０００に結果通知を送信する（５０２０）。さらに、耐タンパ領域プログラム２６７０は、耐タンパ領域制御ドライバ２６６０に対して、耐タンパ領域名「ＳＣ１」を有する認証トークン１０００が有する記憶領域１４００の記憶領域名を取得するための問合せを実行し、記憶領域名「Ａ」を取得する。
【００９８】
以上より、利用者は、ファイル送受信プログラム２６１０の使用権限を有する場合、ファイル送受信プログラム２６１０の使用して、サーバ３０００と記憶領域名「Ａ」が指定された認証トークン１０００の記憶領域１４００との間でファイルの送受信を行うことができる。例えば、ネットワーク１００００が利用不可のオフライン環境下で作成した認証トークン１０００の記憶領域１４００内の業務ファイル１４１０を、サーバ３０００にアップロード（５０２０）し、オンライン環境で継続して業務を行うことができる。また、クライアント１０００のバッテリ駆動時間が少なく消費電力を抑えて使用したい場合には、あらかじめサーバ３０００の業務ファイル３３２０を認証トークン１０００の記憶領域１４００にダウンロード（５０２０）しておくことで、オフライン環境でも継続して業務を行うことができる。
【００９９】
なお、ファイル送受信プログラム２６１０の使用については、利用者のユーザ権限情報に基づいて、認証トークン１０００内の業務ファイル１４１０をサーバ３０００にアップロードする処理のみを許可したり、ファイルを暗号化する場合は業務ファイル３３２０の受信を許可したりといった設定にしてもよい。
【０１００】
以上の実施の形態によれば、固有のアクセス手段を必要とするメモリ領域を複数備えたデバイスがホストに接続された際に、第一のメモリ領域を選択したときに同デバイスの第二のメモリ領域を自動的に判別することができる。
【０１０１】
さらに、記憶領域と耐タンパ領域を併せ持つデバイスを用いることで、簡便かつ安全な情報の持ち運びを実現することができる。
【図面の簡単な説明】
【０１０２】
【図１】本発明におけるシステムの構成を説明するためのブロック構成図。
【図２】本発明における認証トークンの構成を説明するためのブロック構成図。
【図３】本発明におけるメモリトークンの構成を説明するためのブロック構成図。
【図４】本発明におけるクライアントの構成を説明するためのブロック構成図。
【図５】本発明におけるサーバの構成を説明するためのブロック構成図。
【図６】本発明における利用者、トークン、クライアント間にて行われる処理の詳細を説明するためのシーケンス。
【図７】本発明におけるクライアントとトークンが保持する情報を説明するためのテーブル。
【図８】本発明における利用者、トークン、クライアント、サーバ間にて行われる処理の詳細を説明するためのシーケンス。
【符号の説明】
【０１０３】
１０００…認証トークン、１１００…ＵＳＢ接続Ｉ／Ｆ、１２００…コントローラ、１２１０…ＣＰＵ、１２２０…メモリ、１２３０…ストレージ、１２３１…制御プログラム、１２３２…記憶領域パスワード照合プログラム、１２３３…記憶領域パスワード、１３００…耐タンパ領域、１３１０…ＣＰＵ、１３２０…メモリ、１３３０…ストレージ、１３３１…ＰＩＮ照合プログラム、１３３２…演算プログラム、１３３３…ＰＩＮ秘匿領域、１３３４…秘密鍵、１３３５…ＰＩＮ、１３３６…クライアント認証情報、１３３７…記憶領域パスワード、１３３８…ユーザ権限情報、１３３９…証明書、１３４０…公開鍵、１４００…記憶領域、１４１０…業務ファイル、１５００…メモリトークン、１５１０…ＵＳＢ接続Ｉ／Ｆ、１５２０…コントローラ、１５２１…ＣＰＵ、１５２２…メモリ、１５２３…制御プログラム、１５２４…制御プログラム、１５３０…記憶領域、２０００…クライアント、２１００…ネットワーク接続Ｉ／Ｆ、２２００…ＣＰＵ、２３００…メモリ、２４００…入力装置、２５００…ディスプレイ、２６００…組込みメモリ、２６１０…ファイル送受信プログラム、２６２０…クライアントセキュリティポリシ情報、２６３０…記憶領域プログラム、２６４０…記憶領域ドライバ、２６５０…ＵＳＢトークン制御ドライバ、２６６０…耐タンパ領域制御ドライバ、２６７０…耐タンパ領域プログラム、２６８０…クライアントログオンプログラム、２６９０…サーバ接続プログラム、２７００…ＵＳＢＩ／Ｆ、３０００…サーバ、３１００…ＣＰＵ、３２００…メモリ、３３００…ハードディスク、３３１０…業務アプリケーション、３３２０…業務ファイル、３３３０…サーバセキュリティポリシ情報、３３４０…ユーザ権限情報データベース、３４００…ネットワーク接続Ｉ／Ｆ、１００００…ネットワーク
【図１】
2009259133.tif 000003
【図２】
2009259133.tif 000004
【図３】
2009259133.tif 000005
【図４】
2009259133.tif 000006
【図５】
2009259133.tif 000007
【図６】
2009259133.tif 000008
【図７】
2009259133.tif 000009
【図８】
2009259133.tif 000010