(57)【要約】  暗号化鍵ＩＤを埋め込まれた機密ファイルを当該暗号化鍵ＩＤに対応する暗号化鍵を用いて暗号化し、上記暗号化鍵ＩＤに対応する復号鍵を用いて復号する暗号化・復号部と、上記暗号化鍵を格納する暗号化鍵格納部と、上記復号鍵を格納する復号鍵格納部と、サーバ・コンピュータから送信される上記クライアント・コンピュータのセキュリティ遵守要件を格納した遵守要件格納部と、アプリケーション・ソフトウェアによる機密ファイルの読み出し命令又は書き込み命令に応じて、上記クライアント・コンピュータが上記セキュリティ遵守要件を遵守しているか判断し、遵守している場合は、上記書き込み命令に応答して、暗号化鍵及び該暗号化鍵に対応する暗号化鍵ＩＤを上記暗号化鍵格納部から上記暗号化・復号部に渡し、又は上記読み出し命令に応答して、上記暗号化された機密ファイルに埋め込まれた暗号化鍵ＩＤに対応する復号鍵を上記復号鍵格納部から上記暗号化・復号部に渡すセキュリティ要件監視部と、を含むクライアント・コンピュータ。
2010061801.tif 000002
【特許請求の範囲】
【請求項１】
機密ファイルを保護するためのクライアント・コンピュータであって、前記クライアント・コンピュータはネットワークを介してサーバ・コンピュータと接続することが可能であり、
前記クライアント・コンピュータは、
前記機密ファイルを暗号化鍵を用いて暗号化し及び該暗号化された機密ファイルを前記暗号化鍵に対応する復号鍵を用いて復号するための暗号化・復号部であって、前記暗号化された機密ファイルは暗号化鍵ＩＤを埋め込まれており、前記暗号化鍵及び前記復号鍵は、前記暗号化鍵ＩＤに対応付けられている、前記暗号化・復号部と、
前記暗号化鍵を格納するための暗号化鍵格納部と、
前記復号鍵を格納するための復号鍵格納部と、
前記クライアント・コンピュータのセキュリティ遵守要件を格納した遵守要件格納部であって、該セキュリティ遵守要件は前記サーバ・コンピュータから送信される、前記遵守要件格納部と、
アプリケーション・ソフトウェアによる機密ファイルの読み出し命令又は書き込み命令に応じて、前記クライアント・コンピュータが前記セキュリティ遵守要件を遵守しているかどうかを判断するためのセキュリティ要件監視部であって、
前記クライアント・コンピュータが前記セキュリティ遵守要件を遵守している場合に、
前記書き込み命令に応答して、暗号化鍵及び該暗号化鍵に対応する暗号化鍵ＩＤを前記暗号化鍵格納部から前記暗号化・復号部に渡し、又は
前記読み出し命令に応答して、前記暗号化された機密ファイルに埋め込まれた暗号化鍵ＩＤに対応する復号鍵を前記復号鍵格納部から前記暗号化・復号部に渡す、
前記セキュリティ要件監視部と
を含む、前記クライアント・コンピュータ。
【請求項２】
前記セキュリティ要件監視部が、
所定の時間に前記サーバ・コンピュータと通信し、
前記クライアント・コンピュータのユーザ情報の検証及び前記セキュリティ遵守要件のバージョンの検証を前記サーバ・コンピュータに要求し、
前記サーバ・コンピュータ上での前記ユーザ情報の検証が成功し且つ前記クライアント・コンピュータの前記バージョンが前記サーバ・コンピュータに格納されたセキュリティ遵守要件の最新バージョンと一致した場合に、該最新バージョンのセキュリティ遵守要件に対応する暗号化鍵、復号鍵、並びに該暗号化鍵及び復号鍵に対応する暗号化鍵ＩＤを前記サーバ・コンピュータから受信する、請求項１に記載のクライアント・コンピュータ。
【請求項３】
前記セキュリティ要件監視部が、
前記クライアント・コンピュータが前記ネットワークに接続され且つ前記サーバ・コンピュータに未達の場合に、前記暗号化鍵格納部及び前記復号鍵格納部をロックする、請求項１に記載のクライアント・コンピュータ。
【請求項４】
前記セキュリティ要件監視部が、
前記クライアント・コンピュータが前記ネットワークから切断された場合に、前記暗号化鍵格納部及び前記復号鍵格納部のロックを解除する、
請求項３に記載のクライアント・コンピュータ。
【請求項５】
前記セキュリティ要件監視部が、
前記クライアント・コンピュータのユーザ情報の検証及び前記セキュリティ遵守要件のバージョンの検証を前記サーバ・コンピュータに要求し、
前記検証が成功することに応じて、前記ロックを解除する、請求項３に記載のクライアント・コンピュータ。
【請求項６】
前記セキュリティ要件監視部が、
前記クライアント・コンピュータが前記セキュリティ遵守要件を遵守していない場合に、前記暗号化鍵格納部に格納された暗号化鍵、及び前記復号鍵格納部に格納された復号鍵を消去する、請求項１に記載のクライアント・コンピュータ。
【請求項７】
前記セキュリティ要件監視部が、
前記遵守要件格納部にセキュリティ遵守要件が格納されていない場合に、前記暗号化鍵格納部に格納された暗号化鍵、及び前記復号鍵格納部に格納された復号鍵を消去する、請求項１に記載のクライアント・コンピュータ。
【請求項８】
前記セキュリティ要件監視部が、
セキュリティ・ソフトウェアからの警告を受信することに応じて、前記暗号化鍵格納部に格納された暗号化鍵、及び前記復号鍵格納部に格納された復号鍵を消去する、請求項１に記載のクライアント・コンピュータ。
【請求項９】
前記セキュリティ要件監視部が、
前記復号鍵が前記復号鍵格納部にない場合、前記サーバ・コンピュータに、前記復号鍵の要求命令、ユーザ情報、及び前記復号鍵に対応する暗号化鍵ＩＤを送信し、
前記サーバ・コンピュータから前記復号鍵ＩＤに対応する復号鍵を受信することに応じて、該受信した復号鍵を前記暗号化・復号部に渡す、
請求項１に記載のクライアント・コンピュータ。
【請求項１０】
前記セキュリティ要件監視部が、
前記暗号化鍵が前記暗号化鍵格納部にない場合、前記暗号化・復号部に暗号化鍵を取得できないことを通知する、
請求項１に記載のクライアント・コンピュータ。
【請求項１１】
前記セキュリティ要件監視部が、前記クライアント・コンピュータが前記セキュリティ遵守要件を遵守しているかどうかを所定のサイクル毎に判断する、請求項１に記載のクライアント・コンピュータ。
【請求項１２】
前記暗号化・復号部が、
復号する機密ファイルに埋め込まれている暗号化鍵ＩＤを該機密ファイルから取得し、該暗号化鍵ＩＤを前記セキュリティ要件監視部に渡し、
前記セキュリティ要件監視部から渡された復号鍵を用いて、暗号化された機密ファイルを復号する、
請求項１に記載のクライアント・コンピュータ。
【請求項１３】
前記暗号化・復号部が、
前記セキュリティ要件監視部から渡された暗号化鍵を用いて機密ファイルを暗号化し、該暗号化された機密ファイルに該暗号化鍵に対応する暗号化鍵ＩＤを埋め込む、請求項１に記載のクライアント・コンピュータ。
【請求項１４】
前記セキュリティ遵守要件の遵守が、セキュリティ・ソフトウェアによる脅威報告がないこと、クライアント・コンピュータの起動パスワードがかかっていること、又はアイドル時のスクリーンロックが設定されていることの少なくとも１を含む、請求項１に記載のクライアント・コンピュータ。
【請求項１５】
請求項１に記載のクライアント・コンピュータと接続することが可能であるサーバ・コンピュータであって、
前記クライアント・コンピュータのユーザのアクセス権限情報を格納するアクセス権限格納部と、
前記クライアント・コンピュータに送信するためのセキュリティ遵守要件を格納するサーバ側遵守要件格納部と、
暗号化鍵、該暗号化鍵に対応する復号鍵、前記暗号化鍵及び前記復号鍵に対応する暗号化鍵ＩＤ、並びにセキュリティ遵守要件のバージョンを含むレコードを格納する暗号化鍵・復号鍵格納部と、
前記クライアント・コンピュータからユーザ情報の検証要求を受信することに応じて、前記クライアント・コンピュータから送信されたユーザ情報を前記アクセス権限格納部に格納されたアクセス権限情報と照合し、該照合が一致することに応じて、前記クライアント・コンピュータから送信されたセキュリティ遵守要件のバージョンを前記セキュリティ要件格納部に格納された最新バージョンと比較するセキュリティ検証部と
を含む、前記サーバ・コンピュータ。
【請求項１６】
前記暗号化・復号鍵作成部が、
前記セキュリティ遵守要件の更新ごとに、暗号化鍵、該暗号化鍵に対応する復号鍵、該暗号化鍵及び該復号鍵に対応する暗号化鍵ＩＤ、並びに更新されたセキュリティ遵守要件のバージョンを含むレコードを追加する、請求項１５に記載のサーバ・コンピュータ。
【請求項１７】
前記セキュリティ検証部が、
前記クライアント・コンピュータから送信されたセキュリティ遵守要件のバージョンが前記セキュリティ要件格納部に格納された最新バージョンと一致することに応じて、
前記最新バージョンのセキュリティ遵守要件に対応する暗号化鍵、復号鍵、該暗号化鍵及び該復号鍵に対応する暗号化鍵ＩＤ、並びに前記最新バージョンのセキュリティ遵守要件を前記クライアント・コンピュータに送信する、請求項１５に記載のサーバ・コンピュータ。
【請求項１８】
前記セキュリティ検証部が、
前記クライアント・コンピュータから前記復号鍵の送信要求を受信することに応じて、前記送信要求とともに送信されたユーザ情報を前記アクセス権限格納部に格納されたアクセス権限と照合し、照合が一致することに応じて、前記復号鍵、並びに該暗号化鍵及び該復号鍵に対応する暗号化鍵ＩＤを前記クライアント・コンピュータに送信する、請求項１５に記載のサーバ・コンピュータ。
【請求項１９】
ネットワークを介してサーバ・コンピュータと接続することが可能なクライアント・コンピュータ上の機密ファイルを保護するための方法であって、
アプリケーション・ソフトウェアによる機密ファイルの読み出し命令又は書き込み命令に応じて、前記クライアント・コンピュータが前記サーバ・コンピュータから送信されたセキュリティ遵守要件を遵守しているかどうかを判断するステップであって、前記セキュリティ遵守要件は遵守要件格納部に格納されている、前記判断するステップと、
前記遵守状況が前記セキュリティ要件を遵守している場合に、
前記書き込み命令に応答して、
暗号化鍵を用いて前記機密ファイルを暗号化するステップであって、前記暗号化鍵は暗号化鍵格納部に格納されている、前記暗号化するステップと、
前記暗号化されたファイルに前記暗号化鍵に対応する暗号化鍵ＩＤを埋め込むステップと
を実行するステップと、又は
前記読み出し命令に応答して、
暗号化された機密ファイルに埋め込まれた暗号化鍵ＩＤに対応する復号鍵を用いて、暗号化された機密ファイルを復号するステップであって、前記復号鍵は復号鍵格納部に格納されている、前記復号するステップ
を実行するステップと
を含む、前記方法。
【請求項２０】
前記クライアント・コンピュータが前記セキュリティ遵守要件を遵守していない場合、  セキュリティ遵守要件が遵守要件格納部に格納されていない場合、又は
セキュリティ・ソフトウェアからの警告を受信する場合、
前記暗号化鍵格納部に格納された暗号化鍵、及び前記復号鍵格納部に格納された復号鍵を消去するステップをさらに含む、請求項１９に記載の方法。
【請求項２１】
前記復号鍵が前記復号鍵格納部にない場合、前記サーバ・コンピュータに、前記復号鍵の要求命令、ユーザ情報、及び前記復号鍵に対応する暗号化鍵ＩＤを送信するステップと、
前記サーバ・コンピュータから前記暗号化鍵ＩＤに対応する復号鍵を受信することに応じて、該受信した復号鍵を用いて前記暗号化された機密ファイルを復号するステップと
をさらに含む、請求項１９に記載の方法。
【請求項２２】
ネットワークを介してサーバ・コンピュータと接続することが可能なクライアント・コンピュータ上の機密ファイルを保護するための方法であって、
アプリケーション・ソフトウェアによる機密ファイルの読み出し命令又は書き込み命令に応じて、前記クライアント・コンピュータが前記サーバ・コンピュータから送信されたセキュリティ遵守要件を遵守しているかどうかを判断するステップであって、前記セキュリティ遵守要件は遵守要件格納部に格納されている、前記判断するステップと、
前記クライアント・コンピュータが前記セキュリティ遵守要件を遵守している場合に、    前記書き込み命令に応答して、
暗号化鍵を用いて前記機密ファイルを暗号化するステップであって、前記暗号化鍵は暗号化鍵格納部に格納されている、前記暗号化するステップと、
前記暗号化されたファイルに前記暗号化鍵に対応する暗号化鍵ＩＤを埋め込むステップと
を実行するステップと、又は
前記読み出し命令に応答して、
暗号化された機密ファイルに埋め込まれた暗号化鍵ＩＤに対応する復号鍵を用いて、暗号化された機密ファイルを復号するステップであって、前記復号鍵は復号鍵格納部に格納されている、前記復号するステップ
を実行するステップと
を含み、
前記クライアント・コンピュータが前記セキュリティ遵守要件を遵守していない場合に、
前記暗号化鍵格納部に格納された暗号化鍵、及び前記復号鍵格納部に格納された復号鍵を消去するステップと、
前記サーバ・コンピュータにセキュリティ遵守要件の送付を要求するステップと
を実行するステップと
を含む、前記方法。
【請求項２３】
クライアント・コンピュータの機密ファイルを保護するためのコンピュータ・プログラムであって、前記クライアント・コンピュータに請求項１９〜２２のいずれか１項に記載の方法の各ステップを実行させる、前記コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機密ファイルを保護するためのクライアント・コンピュータ、及びそのサーバ・コンピュータ、並びにその方法及びコンピュータ・プログラムに関する。
【背景技術】
【０００２】
ファイル共有ソフト、例えばＰ２Ｐなどによる機密情報流出事件が多発している。これは、パーソナル・コンピュータ（以下、ＰＣ）のセキュリティ対応が不十分であることに起因している。機密情報流出の再発を防止するために、企業あるいは官公庁は以下のような対策を行っている。
・システム管理者は、各ユーザの所有するＰＣに対してセキュリティ対応を推進する。
セキュリティ・ソフトウェア、例えばアンチウィルス・ソフトウェア及びスパイウェア監視ソフトの導入などを導入し、各ユーザにセキュリティ遵守要件の遵守を指導する。
定義したセキュリティ遵守要件を各ユーザのＰＣが満たしているかどうかを監視するヘルスチェックユーティリティを各ＰＣに導入する。
・システム管理者は、セキュリティ対応が不十分なＰＣに接続されるおそれのあるリムーバブル・メディア、例えばポータブルハードディスク、ＵＳＢメモリー、カードメモリーなどを使用禁止にする。使用禁止にするために、ＢＩＯＳレベルでＵＳＢスロットの使用を不可にし、ＢＩＯＳへのアクセスをパスワードによって禁止する。
・システム管理者は、業務に携わるユーザ以外の情報閲覧を防止するために、ファイルの暗号化を指導する。【０００３】
しかし、上記対応をとっても、セキュリティ・ソフトウェアの定義ファイルの更新し忘れによる不正侵入がありうる。また、上記対応は、ファイルを外部へ持ち出しする場合の追加作業、あるいはファイル操作毎の暗号化作業をユーザに強いる。その結果、ユーザの利便性を下げるとともに、オフィスワークの作業効率を落とす結果になっている。【０００４】
下記特許文献１は、内部ネットワークの端末装置が外部のネットワークに接続する際に、前記端末装置が有するセキュリティに関する履歴情報と、セキュリティに関する規約情報とを比較し、前記履歴情報が規約情報を満たしているか否かを判定して、端末装置の接続を制御する接続制御装置を記載する（第００００７段落を参照）。しかし、特許文献１は、ネットワークの接続についての発明であって、機密ファイルの保護についての発明でない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３３７５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、ユーザの利便性を損なわずに、ファイル共有ソフトなどに起因する情報漏洩の危険性をなくすことである。
【課題を解決するための手段】
【０００７】
本発明は、機密ファイルを保護するためのクライアント・コンピュータを提供する。該クライアント・コンピュータは、ネットワークを介してサーバ・コンピュータと接続することが可能である。該クライアント・コンピュータは、
上記機密ファイルを暗号化鍵を用いて暗号化し及び該暗号化された機密ファイルを上記暗号化鍵に対応する復号鍵を用いて復号するための暗号化・復号部であって、上記暗号化された機密ファイルは暗号化鍵ＩＤを埋め込まれており、上記暗号化鍵及び上記復号鍵は、上記暗号化鍵ＩＤに対応付けられている、上記暗号化・復号部と、
上記暗号化鍵を格納するための暗号化鍵格納部と、
上記復号鍵を格納するための復号鍵格納部と、
上記クライアント・コンピュータのセキュリティ遵守要件を格納した遵守要件格納部であって、該セキュリティ遵守要件は上記サーバ・コンピュータから送信される、上記遵守要件格納部と、
アプリケーション・ソフトウェアによる機密ファイルの読み出し命令又は書き込み命令に応じて、上記クライアント・コンピュータが上記セキュリティ遵守要件を遵守しているかどうかを判断するためのセキュリティ要件監視部であって、
上記クライアント・コンピュータが上記セキュリティ遵守要件を遵守している場合に、
上記書き込み命令に応答して、暗号化鍵及び該暗号化鍵に対応する暗号化鍵ＩＤを上記暗号化鍵格納部から上記暗号化・復号部に渡し、又は
上記読み出し命令に応答して、上記暗号化された機密ファイルに埋め込まれた暗号化鍵ＩＤに対応する復号鍵を上記復号鍵格納部から上記暗号化・復号部に渡す、
上記セキュリティ要件監視部と
を含む。【０００８】
本発明の１つの実施態様では、上記セキュリティ要件監視部は、
所定の時間に上記サーバ・コンピュータと通信し、
上記クライアント・コンピュータのユーザ情報の検証及び上記セキュリティ遵守要件のバージョンの検証を上記サーバ・コンピュータに要求し、
上記サーバ・コンピュータ上での上記ユーザ情報の検証が成功し且つ上記クライアント・コンピュータの上記バージョンが上記サーバ・コンピュータに格納されたセキュリティ遵守要件の最新バージョンと一致した場合に、該最新バージョンのセキュリティ遵守要件に対応する暗号化鍵、復号鍵、並びに該暗号化鍵及び復号鍵に対応する暗号化鍵ＩＤを上記サーバ・コンピュータから受信する。【０００９】
本発明の１つの実施態様では、上記セキュリティ要件監視部は、上記クライアント・コンピュータが上記ネットワークに接続され且つ上記サーバ・コンピュータに未達の場合に、上記暗号化鍵格納部及び上記復号鍵格納部をロックする。【００１０】
本発明の１つの実施態様では、上記セキュリティ要件監視部は、上記クライアント・コンピュータが上記ネットワークから切断された場合に、上記暗号化鍵格納部及び上記復号鍵格納部のロックを解除する。【００１１】
本発明の１つの実施態様では、上記セキュリティ要件監視部は、上記クライアント・コンピュータのユーザ情報の検証及び上記セキュリティ遵守要件のバージョンの検証を上記サーバ・コンピュータに要求し、該検証が成功することに応じて、上記ロックを解除する。【００１２】
本発明の１つの実施態様では、上記セキュリティ要件監視部は、上記クライアント・コンピュータが上記セキュリティ遵守要件を遵守していない場合に、上記暗号化鍵格納部に格納された暗号化鍵、及び上記復号鍵格納部に格納された復号鍵を消去する。【００１３】
本発明の１つの実施態様では、上記セキュリティ要件監視部は、
上記遵守要件格納部にセキュリティ遵守要件が格納されていない場合に、上記暗号化鍵格納部に格納された暗号化鍵、及び上記復号鍵格納部に格納された復号鍵を消去する。【００１４】
本発明の１つの実施態様では、上記セキュリティ要件監視部は、
セキュリティ・ソフトウェアからの警告を受信することに応じて、上記暗号化鍵格納部に格納された暗号化鍵、及び上記復号鍵格納部に格納された復号鍵を消去する。【００１５】
本発明の１つの実施態様では、上記セキュリティ要件監視部は、
上記復号鍵が上記復号鍵格納部にない場合、上記サーバ・コンピュータに、上記復号鍵の要求命令、ユーザ情報、及び上記復号鍵に対応する暗号化鍵ＩＤを送信し、
上記サーバ・コンピュータから上記暗号化鍵ＩＤに対応する復号鍵を受信することに応じて、該受信した復号鍵を上記暗号化・復号部に渡す。【００１６】
本発明の１つの実施態様では、上記セキュリティ要件監視部は、上記暗号化鍵が上記暗号化鍵格納部にない場合、上記暗号化・復号部に暗号化鍵を取得できないことを通知する。【００１７】
本発明の１つの実施態様では、上記セキュリティ要件監視部は、上記クライアント・コンピュータが上記セキュリティ遵守要件を遵守しているかどうかを所定のサイクル毎に判断する。【００１８】
本発明の１つの実施態様では、上記暗号化・復号部が、
復号する機密ファイルに埋め込まれている暗号化鍵ＩＤを該機密ファイルから取得し、該暗号化鍵ＩＤを上記セキュリティ要件監視部に渡し、
上記セキュリティ要件監視部から渡された復号鍵を用いて、暗号化された機密ファイルを復号する。【００１９】
本発明の１つの実施態様では、上記暗号化・復号部が、
上記セキュリティ要件監視部から渡された暗号化鍵を用いて機密ファイルを暗号化し、該暗号化された機密ファイルに該暗号化鍵に対応する暗号化鍵ＩＤを埋め込む。【００２０】
本発明の１つの実施態様では、上記セキュリティ遵守要件の遵守が、セキュリティ・ソフトウェアによる脅威報告がないこと、クライアント・コンピュータの起動パスワードがかかっていること、又はアイドル時のスクリーンロックが設定されていることの少なくとも１を含む。【００２１】
本発明はまた、上記に記載のクライアント・コンピュータと接続することが可能であるサーバ・コンピュータを提供する。該サーバ・コンピュータは、
上記クライアント・コンピュータのユーザのアクセス権限情報を格納するアクセス権限格納部と、
上記クライアント・コンピュータに送信するためのセキュリティ遵守要件を格納するサーバ側遵守要件格納部と、
暗号化鍵、該暗号化鍵に対応する復号鍵、上記暗号化鍵及び上記復号鍵に対応する暗号化鍵ＩＤ、並びにセキュリティ遵守要件のバージョンを含むレコードを格納する暗号化鍵・復号鍵格納部と、
上記クライアント・コンピュータからユーザ情報の検証要求を受信することに応じて、上記クライアント・コンピュータから送信されたユーザ情報を上記アクセス権限格納部に格納されたアクセス権限情報と照合し、及び該照合が一致することに応じて、上記クライアント・コンピュータから送信されたセキュリティ遵守要件のバージョンを上記セキュリティ要件格納部に格納された最新バージョンと比較するセキュリティ検証部と
を含む。【００２２】
本発明の１つの実施態様では、上記暗号化・復号鍵作成部が、
上記セキュリティ遵守要件の更新ごとに、暗号化鍵、該暗号化鍵に対応する復号鍵、該暗号化鍵及び該復号鍵に対応する暗号化鍵ＩＤ、並びに更新されたセキュリティ遵守要件のバージョンを含むレコードを追加する。【００２３】
本発明の１つの実施態様では、上記検証部が、
上記クライアント・コンピュータから送信されたセキュリティ遵守要件のバージョンが上記セキュリティ要件格納部に格納された最新バージョンと一致することに応じて、
上記最新バージョンのセキュリティ遵守要件に対応する暗号化鍵、復号鍵、該暗号化鍵及び該復号鍵に対応する暗号化鍵ＩＤ、並びに上記最新バージョンのセキュリティ遵守要件を上記クライアント・コンピュータに送信する。【００２４】
本発明の１つの実施態様では、上記セキュリティ検証部が、
上記クライアント・コンピュータから上記復号鍵の送信要求を受信することに応じて、上記送信要求とともに送信されたユーザ情報を上記アクセス権限格納部に格納されたアクセス権限と照合し、照合が一致することに応じて、上記復号鍵、並びに該暗号化鍵及び該復号鍵に対応する暗号化鍵ＩＤを上記クライアント・コンピュータに送信する。【００２５】
本発明はまた、ネットワークを介してサーバ・コンピュータと接続することが可能なクライアント・コンピュータ上の機密ファイルを保護するための方法を提供する。該方法は、クライアント・コンピュータに下記ステップを実行させる。該ステップは、
アプリケーション・ソフトウェアによる機密ファイルの読み出し命令又は書き込み命令に応じて、上記クライアント・コンピュータが上記サーバ・コンピュータから送信されたセキュリティ遵守要件を遵守しているかどうかを判断するステップであって、上記セキュリティ遵守要件は遵守要件格納部に格納されている、上記判断するステップと、
上記遵守状況が上記セキュリティ遵守要件を遵守している場合に、
上記書き込み命令に応答して、
暗号化鍵を用いて上記機密ファイルを暗号化するステップであって、上記暗号化鍵は暗号化鍵格納部に格納されている、上記暗号化するステップと、
上記暗号化されたファイルに上記暗号化鍵に対応する暗号化鍵ＩＤを埋め込むステップと
を実行するステップと、又は
上記読み出し命令に応答して、
暗号化された機密ファイルに埋め込まれた暗号化鍵ＩＤに対応する復号鍵を用いて、暗号化された機密ファイルを復号するステップであって、上記復号鍵は復号鍵格納部に格納されている、上記復号するステップ
を実行するステップと
を含む。【００２６】
本発明の１つの実施態様では、上記方法は、クライアント・コンピュータに下記ステップをさらに実行させる。該ステップは、
上記クライアント・コンピュータが上記セキュリティ遵守要件を遵守していない場合、上記暗号化鍵格納部に格納された暗号化鍵、及び上記復号鍵格納部に格納された復号鍵を消去するステップ、
セキュリティ遵守要件が遵守要件格納部に格納されていない場合、上記暗号化鍵格納部に格納された暗号化鍵、及び上記復号鍵格納部に格納された復号鍵を消去するステップ、又は。
セキュリティ・ソフトウェアからの警告を受信する場合、上記暗号化鍵格納部に格納された暗号化鍵、及び上記復号鍵格納部に格納された復号鍵を消去するステップ
を含む。【００２７】
本発明の１つの実施態様では、上記方法は、クライアント・コンピュータに下記ステップをさらに実行させる。該ステップは、
上記復号鍵が上記復号鍵格納部にない場合、上記サーバ・コンピュータに、上記復号鍵の要求命令、ユーザ情報、及び上記復号鍵に対応する暗号化鍵ＩＤを送信するステップと、
上記サーバ・コンピュータから上記暗号化鍵ＩＤに対応する復号鍵を受信することに応じて、該受信した復号鍵を用いて上記暗号化された機密ファイルを復号するステップと
を含む。【００２８】
本発明はまた、ネットワークを介してサーバ・コンピュータと接続することが可能なクライアント・コンピュータ上の機密ファイルを保護するための方法を提供する。該方法は、クライアント・コンピュータに下記ステップを実行させることを含む。該ステップは、  アプリケーション・ソフトウェアによる機密ファイルの読み出し命令又は書き込み命令に応じて、上記クライアント・コンピュータが上記サーバ・コンピュータから送信されたセキュリティ遵守要件を遵守しているかどうかを判断するステップであって、上記セキュリティ遵守要件は遵守要件格納部に格納されている、上記判断するステップと、
上記クライアント・コンピュータが上記セキュリティ遵守要件を遵守している場合に、
上記書き込み命令に応答して、
暗号化鍵を用いて上記機密ファイルを暗号化するステップであって、上記暗号化鍵は暗号化鍵格納部に格納されている、上記暗号化するステップと、
上記暗号化されたファイルに上記暗号化鍵に対応する暗号化鍵ＩＤを埋め込むステップと
を実行するステップと、又は
上記読み出し命令に応答して、
暗号化された機密ファイルに埋め込まれた暗号化鍵ＩＤに対応する復号鍵を用いて、暗号化された機密ファイルを復号するステップであって、上記復号鍵は復号鍵格納部に格納されている、上記復号するステップ
を実行するステップと
を含み、
上記クライアント・コンピュータが上記セキュリティ遵守要件を遵守していない場合に、
上記暗号化鍵格納部に格納された暗号化鍵、及び上記復号鍵格納部に格納された復号鍵を消去するステップと、
上記サーバ・コンピュータにセキュリティ遵守要件の送付を要求するステップと
を実行するステップと
を含む。【００２９】
本発明はさらに、クライアント・コンピュータの機密ファイルを保護するためのコンピュータ・プログラムを提供する。該コンピュータ・プログラムは、クライアント・コンピュータに、上記のいずれか一つに記載の方法の各ステップを実行させる。
【発明の効果】
【００３０】
本発明の実施形態に従っていないＰＣ上ではセキュリティ遵守が保証されないために、機密ファイルへのアクセスを拒否することが可能である。また、本発明の実施態様に従うＰＣ上では、通常のオフィスワーク以外の追加作業、例えば暗号化ソフトの起動又は操作を省略することが可能である。また、本発明の実施態様に従うＰＣ間では、特殊なデバイス又はユーザによる追加作業を要することなく、データ交換をすることが可能である。また、本発明の実施態様によれば、セキュリティ遵守に対応しなくなったＰＣ上では、機密ファイルへ再びアクセスすることが拒否される。また、本発明の実施態様によれば、情報漏洩の危険性のないオフライン環境にあるＰＣ上では、セキュリティ遵守状況に応じて、機密ファイルへのアクセス許可を継続するために、ユーザの作業性が確保される。また、本発明の実施態様によれば、機密情報の拡散を防止するために、機密ファイルには許可を得たユーザのみが閲覧可能とする。これは、セキュリティ遵守の如何に関わらない。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施態様である、クライアント・コンピュータ（１０１）の構成の例を示す。
【図２】本発明の実施態様である、サーバ・コンピュータ（１２１）の構成の例を示す。
【図３】本発明の実施態様である、クライアント・コンピュータ（１０１）及びサーバ・コンピュータ（１２１）の各部に含まれるコンテンツの例を示す。
【図４】本発明の実施態様である、クライアント・コンピュータ（１０１）とサーバ・コンピュータ（１２１）との間のデータの流れを示す。
【図５】本発明の実施態様である、暗号化・復号部（１０３）によるファイルの暗号化、及びファイルの書き込みの動作フローチャートを示す。
【図６】本発明の実施態様である、暗号化・復号部（１０３）によるファイルの復号、及びファイルの読み込みの動作フローチャートを示す。
【図７】本発明の実施態様である、セキュリティ要件監視部（１０２）の動作フローチャートを示す。
【図８】本発明の実施態様である、セキュリティ要件監視部（１０２）によるファイル操作の動作フローチャートを示す。
【図９】本発明の実施態様である、セキュリティ要件監視部（１０２）による暗号化された機密ファイルの読み込み処理時の動作フローチャートを示す。
【図１０】本発明の実施態様である、セキュリティ要件監視部（１０２）によるファイルの書き込み処理時の動作フローチャートを示す。
【図１１】本発明の実施態様である、セキュリティ検証部（１２２）の動作フローチャートを示す。
【図１２】本発明の実施態様である、セキュリティ検証部（１２２）におけるユーザ情報の検証処理の動作フローチャートを示す。
【図１３】本発明の実施態様である、セキュリティ検証部（１２２）における遵守要件の送付要求処理の動作フローチャートを示す。
【図１４】本発明の実施態様である、セキュリティ検証部（１２２）における復号鍵の送付要求処理の動作フローチャートを示す。
【図１５】本発明の実施態様である、暗号化鍵・復号鍵作成部（１２３）における遵守要件の追加イベント発生時の動作フローチャートを示す。
【図１６】本発明の実施形態における、データの受け渡し時の内容を示す。
【図１７】本発明の実施形態における、クライアント・コンピュータ（１０１）及びサーバ・コンピュータ（１２１）のハードウェアのブロック図を示す。
【発明を実施するための形態】
【００３２】
以下、図面に従って、本発明の実施形態を説明する。本実施形態は、本発明の好適な態様を説明するためのものであり、本発明の範囲をここで示すものに限定する意図はないことを理解されたい。また、以下の図を通して、特に断らない限り、同一符号は、同一の対象を指す。
【００３３】
図１は、本発明の実施態様である、クライアント・コンピュータ（１０１）の構成の例を示す。
クライアント・コンピュータ（１０１）は、セキュリティ要件監視部（１０２）、暗号化・復号部（１０３）、遵守要件格納部（クライアント側）（１０４）、暗号化鍵格納部（１０５）、復号鍵格納部（１０６）、暗号化対象格納部（１０７）を含む。また、クライアント・コンピュータ（１０１）では、セキュリティ・ソフトウェア（１０８）、例えば、アンチウィルス・ソフトウェア（１０９）及びスパイウェア監視ソフトウェア（１１０）、並びに一般アプリケーション（１１１）が記憶装置（図示せず）上にインストールされている。さらに、クライアント・コンピュータ（１０１）では、暗号化鍵ＩＤ（１１２）を含む暗号化された機密ファイル（１１３）又は通常ファイル（１１４）が記憶装置（図示せず）上に格納されうる。
【００３４】
セキュリティ要件監視部（１０２）は、サーバ・コンピュータ（１２１）に対して、ユーザ情報の検証を要求し、セキュリティ遵守要件、暗号化鍵、復号鍵、暗号化鍵ＩＤ、及びアクセス権限の可否の送信を要求する。セキュリティ要件監視部（１０２）はまた、セキュリティ・ソフトウェアからのレポートを受信する。該レポートは例えば、アンチウィルス・ソフトウェアによるウィルス検出の警告、スパイウェア監視ソフトウェアによるスパイウェア活動の検出の警告である。セキュリティ要件監視部（１０２）はまた、クライアント・コンピュータ（１０１）の遵守状況に基づく暗号化又は復号の許可又は不許可の決定を行う。そして、セキュリティ要件監視部（１０２）は遵守状況が守られていない場合に、暗号化鍵格納部（１０５）及び復号鍵格納部（１０６）に格納された暗号化鍵及び復号鍵を消去する。セキュリティ要件監視部（１０２）はまた、ネットワークへの接続判定及びサーバ・コンピュータ（１２１）への接続判定を行い、クライアント・コンピュータ（１０１）がネットワークに接続し、サーバ・コンピュータ（１２１）に接続できない場合に、暗号化鍵格納部（１０５）及び復号鍵格納部（１０６）をロックする。
【００３５】
暗号化・復号部（１０３）は、暗号化鍵を使用して機密ファイル（１１３）を暗号化し、暗号化された機密ファイルの記録部への書き出し、及び復号鍵を使用して暗号化された機密ファイル（１１３）を復号し、復号された機密ファイルの読み出しを実行する。暗号化・復号部（１０３）は、機密ファイルでない通常ファイルの記録部への書き出し及び読み出しを実行する。
【００３６】
遵守要件格納部（クライアント側）（１０４）は、遵守要件のバージョン及び遵守要件を含む。遵守要件は、クライアント・コンピュータ（１０１）が遵守すべき要件を規定する。遵守要件は、例えば、セキュリティ・ソフトウェアに用意されている要件を用いることが出来る。遵守要件の例は、下記の通りである。暗号化・復号部（１０３）が機密ファイルの暗号化及び復号を自動的に行うために、遵守要件を満たさないクライアント・コンピュータからは、該機密ファイルへのアクセスが拒否される。
・セキュリティ・ソフトウェアが導入されているか。
・更新データがインストールされているか。
・セキュリティ・ソフトウェアから脅威報告がされていないか。
・ハードディスク又はリムーバル・ディスクにパスワードが適用されているか。
・スクリーン・セーバにパスワードが適用されているか。
・ファイアーウォールが導入されているか。
・ネットワークの共有情報が所定の名前であるか。
・メールソフトウェアに暗号化が設定されているか。
・アカウントＩＤが、所定の文字数以上に設定されているか。
・アカウント・パスワードが所定の期間毎に更新されているか。
・オペレーティング・システムのバッチが適用されているか。
・オペレーティング・システムのサービスパックが適用されているか。
・ＢＩＯＳの設定条件が所定の規則に従っているか。
遵守要件は、サーバ・コンピュータ（１２１）からクライアント・コンピュータ（１０１）に送信される。遵守要件は、サーバ・コンピュータ（１２１）において更新される。更新された遵守要件は、サーバ・コンピュータ（１２１）からクライアント・コンピュータ（１０１）に送信される。遵守要件の更新のたびに、更新された遵守要件に新たなバージョンが付される。遵守要件を格納していないコンピュータでは、セキュリティ遵守の保証がされないために、ユーザによる機密ファイルへのアクセスが拒否される。
【００３７】
暗号化鍵格納部（１０５）は、暗号化鍵ＩＤ及び該暗号化鍵ＩＤに対応付けられた暗号化鍵を格納する記録媒体である。暗号化鍵は、機密ファイルの暗号化に用いられる鍵である。暗号化鍵及び暗号化鍵ＩＤは、サーバ・コンピュータ（１２１）から送信される。暗号化鍵は、暗号化鍵ＩＤによって識別される。該暗号化鍵と対をなす復号鍵がまた同じ暗号化鍵ＩＤによって識別されるので、暗号化鍵と復号鍵の対をみつけることが可能である。暗号化鍵格納部（１０５）は、典型的には、暗号化鍵キャッシュである。暗号化鍵が、暗号化鍵キャッシュ内に格納されるのは、セキュリティ遵守要件が変更になったときに、暗号化鍵キャッシュをクリアにする必要があるためである。暗号化鍵キャッシュをクリアにするとは、暗号化鍵キャッシュ内の暗号化鍵を削除することを含む。
【００３８】
復号鍵格納部（１０６）は、暗号化鍵ＩＤ及び該暗号化鍵ＩＤに対応付けられた復号鍵を格納する記録媒体である。復号鍵は、暗号化された機密ファイルの復号に用いられる鍵である。復号鍵及び暗号化鍵ＩＤは、サーバ・コンピュータ（１２１）から送信される。復号鍵は、暗号化鍵ＩＤによって識別される。該復号鍵と対をなす暗号化鍵がまた同じ暗号化鍵ＩＤによって識別されるので、復号鍵と暗号化鍵の対をみつけることが可能である。復号鍵格納部（１０６）は、典型的には、復号鍵キャッシュデータベースである。復号鍵がデータベース内に格納されるのは、機密ファイルによって、復号するための復号鍵が異なるために、複数の復号鍵をデータベースとして保有しておく必要があるからである。
【００３９】
暗号化対象格納部（１０７）は、暗号化するべきファイルを特定するためのデータを格納する。暗号化対象格納部（１０７）は、典型的には、暗号化対象データベースである。暗号化するべきファイルを特定するためのデータは、例えば、ファイルの拡張子が所定の拡張子であるかどうか、ファイル名に所定の文字列が含まれるかどうか、ファイル内のデータに所定の文字列が含まれるかどうか、ファイルがリムーバブル・メディアに存在するかどうかによって決定されうる。所定の文字列は、例えば機密であることを示す文字であり、例えば「暗号」、「機密」、「マル秘」である。
【００４０】
セキュリティ・ソフトウェア（１０８）は、例えばアンチウィルス・ソフトウェア（１０９）及びスパイウェア監視ソフトウェア（１１０）を含むがこれらに限定されない。アンチウィルス・ソフトウェア（１０９）は、ウィルスソフトに対して有効なソフトウェアである。スパイウェア監視ソフトウェア（１１０）は、スパイウェア、アドウェア、トロイの木馬、又は現在立ち上げっているプロセスを監視するソフトウェアである。
【００４１】
一般アプリケーション（１１１）は、例えばワードプロセッサ・ソフトウェア、スプレッドシート・ソフトウェア、プレゼンテーション・ソフトウェア、ドローイング・ソフトウェアである。
【００４２】
暗号化鍵ＩＤ（１１２）は、例えばバイナリ形式で、機密ファイル（１１３）に埋め込まれる。暗号化鍵ＩＤは暗号化された機密ファイルを復号するために用いる復号鍵を特定するために、同一の暗号化鍵ＩＤが暗号化鍵及び該暗号化鍵と対になる復号鍵に対応付けられている。
【００４３】
機密ファイル（１１３）とは、第三者に対して公開することを望まない又は望まれない内容を含むファイルである。機密ファイルは、例えば、マル秘ファイル、社外秘ファイル、公開前ファイル、特許出願ファイル、及び官公庁提出用ファイルである。
【００４４】
通常ファイル（１１４）とは、第三者に対して公開してもかまわない内容を含むファイルである。
【００４５】
図２は、本発明の実施態様である、サーバ・コンピュータ（１２１）の構成の例を示す。
サーバ・コンピュータ（１２１）は、セキュリティ検証部（１２２）、暗号化鍵・復号鍵作成部（１２３）を含む。また、サーバ・コンピュータ（１２１）は、遵守要件格納部（サーバ側）（１２４）、暗号化鍵・復号鍵格納部（１２５）、及びアクセス権限格納部（１２６）を含む。
【００４６】
セキュリティ検証部（１２２）は、クライアント・コンピュータ（１０１）の遵守要件のバージョン及びユーザ情報に基づき、遵守要件並びに暗号化鍵及び復号鍵を、遵守要件格納部（サーバ側）（１２４）、暗号化鍵・復号鍵格納部（１２５）から選択してクライアント・コンピュータ（１０１）に送信する。
【００４７】
暗号化鍵・復号鍵作成部（１２３）は、遵守要件の更新に基づいて、該更新された遵守要件に対応する新たな暗号化鍵及び該暗号化鍵に対応する復号鍵を作成する。
【００４８】
遵守要件格納部（サーバ側）（１２４）は、各クライアント・コンピュータ（１０１）が遵守すべき遵守要件を遵守要件のバージョンで管理し且つ蓄積する。
【００４９】
暗号化鍵・復号鍵格納部（１２５）は、暗号化鍵ＩＤ（１１２）、遵守要件のバージョンと、暗号化鍵及び復号鍵を関連付けて蓄積する。
【００５０】
アクセス権限格納部（１２６）は、クライアント・コンピュータ（１０１）を利用可能なユーザのアクセス権を蓄積する。よって、クライアント・コンピュータ（１０１）のユーザは、アクセス権限を有することをサーバ・コンピュータ（１２１）に予め登録しておく必要がある。サーバ・コンピュータ（１２１）は、該登録によって、クライアント・コンピュータ（１０１）のユーザを管理することが可能である。
【００５１】
図３は、本発明の実施態様である、クライアント・コンピュータ（１０１）及びサーバ・コンピュータ（１２１）の各部に含まれるコンテンツの例を示す。
クライアント・コンピュータ（１０１）の遵守要件格納部（クライアント側）（１０４）、暗号化鍵格納部（１０５）、復号鍵格納部（１０６）、暗号化対象格納部（１０７）は、下記コンテンツを含む。
遵守要件格納部（クライアント側）（１０４）は、遵守要件のバージョン及び該遵守要件のバージョンに対応する遵守要件を含む。遵守要件のバージョン及び遵守要件は、サーバ・コンピュータ（１２１）の遵守要件格納部（サーバ側）（１２４）から得られる。
暗号化鍵格納部（１０５）は、暗号化鍵ＩＤ及び該暗号化鍵ＩＤに対応付けられた暗号化鍵を１つのレコードとして含む。暗号化鍵は、例えば、共通鍵方式における共通鍵、又は公開鍵暗号方式における秘密鍵である。暗号化鍵ＩＤ及び暗号化鍵は、サーバ・コンピュータ（１２１）の暗号化鍵・復号鍵格納部（１２５）から得られる。
復号鍵格納部（１０６）は、暗号化鍵ＩＤ及び該暗号化鍵ＩＤに対応付けられた復号鍵を１つのレコードとして含む。復号鍵は、例えば、共通鍵方式における共通鍵、又は公開鍵暗号方式における公開鍵である。同じ暗号化鍵ＩＤに関連付けられた暗号化鍵と復号鍵がペアの鍵である。暗号化鍵ＩＤ及び復号鍵は、サーバ・コンピュータ（１２１）の暗号化鍵・復号鍵格納部（１２５）から得られる。
暗号化対象格納部（１０７）は、機密ファイルとすべきファイルの情報を含む。機密ファイルとすべきかどうかは、遵守要件内に規定されているか、或いは暗号化対象情報がクライアント・コンピュータ（１０１）に直接入力される。
サーバ・コンピュータ（１２１）の遵守要件格納部（サーバ側）（１２４）、暗号化鍵・復号鍵格納部（１２５）、アクセス権限格納部（１２６）は、下記コンテンツを含む。  遵守要件格納部（サーバ側）（１２４）は、遵守要件のバージョン及び該遵守要件のバージョンに対応する遵守要件を含む。クライアント・コンピュータ（１０１）の要求に応じて、遵守要件のバージョン及び遵守要件がクライアント・コンピュータ（１０１）に送信される。
暗号化鍵・復号鍵格納部（１２５）は、暗号化鍵ＩＤ、該暗号化鍵ＩＤに対応付けられた暗号化鍵、該暗号化鍵ＩＤに対応付けられた復号鍵、及び遵守要件のバージョンを１つのレコードとして含む。クライアント・コンピュータ（１０１）の要求に応じて、暗号化鍵ＩＤ及び暗号化鍵、又は暗号化鍵ＩＤ及び復号鍵がクライアント・コンピュータ（１０１）に送信される。
アクセス権限格納部（１２６）は、クライアント・コンピュータ（１０１）のユーザ情報、及び該ユーザそれぞれのアクセス権限の可否を含む。
【００５２】
図４は、本発明の実施態様である、クライアント・コンピュータ（１０１）とサーバ・コンピュータ（１２１）との間のデータの流れを示す。
クライアント・コンピュータ（１０１）とサーバ・コンピュータ（１２１）との間の通信は、暗号化して行われる（１４１）。暗号化通信の方法は、例えば、ＳＳＬ、ＯｐｅｎＳＳＨである。
クライアント・コンピュータ（１０１）は、サーバ・コンピュータ（１２２）に対して、ユーザ情報の検証要求（１４２）、セキュリティ遵守要件の送付要求（１４３）、暗号化鍵及び復号鍵、又は復号鍵の送付要求（１４４）を送信する。
サーバ・コンピュータ（１２１）は、クライアント・コンピュータ（１０１）に対して、ユーザ情報の検証結果に基づいて、暗号化鍵ＩＤ、暗号化鍵、復号鍵、セキュリティ遵守要件を送付する（１４５）。なお、サーバ・コンピュータ（１２１）は、ＳＳＬによる暗号化通信を用いて、暗号化鍵及び復号鍵の両方をクライアント・コンピュータ（１０１）に同時に送信しうる。
【００５３】
図５は、本発明の実施態様である、暗号化・復号部（１０３）によるファイルの暗号化、及びファイルの書き込みの動作フローチャートを示す。
ステップ２０１では、一般アプリケーション（１１１）の書き込みイベントが発生することに応じて、暗号化・復号部（１０３）は、該書き込みの命令をフックする。
ステップ２０２では、暗号化・復号部（１０３）は、書き込み対象であるファイルの情報を取得する。ファイルの情報は、例えば、該ファイルがリムーバブル・デバイスに存在するか、暗号化指定フォルダに存在するか、ファイル名が所定の文字列を含むか、ファイルの内容が所定の文字列を含むかである。所定の文字列は、例えば機密であることを示す文字であり、例えば「暗号」、「機密」、「マル秘」である。リムーバブル・デバイスとは、外付けハードディスク、各種メモリーカード、メモリー記録媒体である。
ステップ２０３では、暗号化・復号部（１０３）は、上記取得したファイルの情報をセキュリティ要件監視部（１０２）に送信する。
ステップ２０４では、セキュリティ要件監視部（１０２）は、暗号化・復号部（１０３）から送信されたファイルの情報と、暗号化対象格納部（１０７）に格納された情報とを比較し、書き込み対象のファイルが機密ファイルであるかどうかを判断する。セキュリティ要件監視部（１０２）は、書き込み対象のファイルが機密ファイルであるか又は機密ファイルでないかの判断結果を暗号化・復号部（１０３）に送信する。該判断結果の送信は、例えば、ファイルタイプが機密又は通常であるかの送信をすることによって行われる。書き込み対象のファイルが機密ファイルでない場合、すなわち通常ファイル（１１４）である場合、セキュリティ要件監視部（１０２）は、通常ファイルである旨、例えばファイル・タイプ（通常）を暗号化・復号部（１０３）に送信する。暗号化・復号部（１０３）は、該ファイル・タイプ（通常）を受信し、処理をステップ２０５に進める。一方、書き込み対象のファイルが機密ファイルである場合、処理はステップ２０６に進む。
ステップ２０５では、暗号化・復号部（１０３）は、上記ファイルが通常ファイルであるので、暗号化せずに該ファイルを記憶部に書き込む（通常書き込み）。
ステップ２０６では、上記ファイルが機密ファイルであるので、セキュリティ要件監視部（１０２）は、該機密ファイルを暗号化するための暗号化鍵が暗号化鍵格納部（１０５）にあるかどうかを確認する。暗号化鍵が暗号化鍵格納部（１０５）にある場合、セキュリティ要件監視部（１０２）は、暗号化鍵を暗号化・復号部（１０３）に渡す。暗号化・復号部（１０３）は、暗号化鍵の取得に伴い、処理をステップ２０８に進める。一方、暗号化鍵が暗号化鍵格納部（１０５）にない場合、セキュリティ要件監視部（１０２）は、暗号化・復号部（１０３）に暗号化鍵を取得できないことを通知する。暗号化・復号部（１０３）は、該通知を受け、処理をステップ２０７に進める。
ステップ２０７では、暗号化鍵が暗号化鍵格納部（１０５）に格納されていないので、暗号化・復号部（１０３）は、サーバ・コンピュータ（１２１）とネットワーク接続することをユーザに要求する。サーバ・コンピュータ（１２１）とネットワーク接続が出来た場合に、暗号化鍵の送信要求をサーバ・コンピュータ（１２１）に送信する（下記図６Ａ及び図６Ｂのユーザ情報の検証処理を参照）。ネットワーク接続することをユーザに要求することは、例えば、ユーザにサーバ・コンピュータ（１２１）とネットワーク接続できる環境に移動することを要求することを含む。代替的には、暗号化・復号部（１０３）は、ユーザに対応を要求する。ユーザによる対応は、例えば、ユーザ自身によってファイルを暗号化することである。
ステップ２０８では、暗号化・復号部（１０３）は、暗号化鍵格納部（１０５）からの暗号化鍵を使用してファイルを暗号化し、暗号化されたファイルを記憶部に書き込む。
ステップ２０９では、暗号化・復号部（１０３）は、上記暗号化に使用した暗号化鍵に対応する暗号化鍵ＩＤを暗号化されたファイルに埋め込む。暗号化鍵ＩＤは、暗号化鍵格納部（１０５）から取得される。
ステップ２１０では、ステップ２０５、２０７及び２０９の処理の終了を受けて、一般アプリケーションの書き込みイベント処理を終了する。
【００５４】
図６は、本発明の実施態様である、暗号化・復号部（１０３）によるファイルの復号、及びファイルの読み込みの動作フローチャートを示す。
ステップ２１１では、一般アプリケーション（１１１）の読み込みイベントが発生することに応じて、暗号化・復号部（１０３）は、該読み込みの命令をフックする。
ステップ２１２では、暗号化・復号部（１０３）は、読み込み対象であるファイルの情報を取得する。そして、暗号化・復号部（１０３）は、該読み込み対象のファイルが暗号化されているかどうかを確認する。ファイルが暗号化されているかどうかの確認は、例えば、ファイルの拡張子が暗号化ファイルの拡張子であるか、一般アプリケーションの拡張子であるかを識別することによって行われる。読み込み対象のファイルが暗号化されていない場合、処理はステップ２１３に進む。一方、読み込み対象のファイルが暗号化されている場合、処理はステップ２１４に進む。
ステップ２１３では、読み込み対象のファイルが暗号化されていないので、暗号化・復号部（１０３）は、一般アプリケーションに通常通りファイルを提供する。一般アプリケーションは、提供されたファイルをそのまま読み込む。
ステップ２１４では、読み込み対象のファイルが暗号化されているので、暗号化・復号部（１０３）は、読み込み対象のファイルから暗号化鍵ＩＤを取得する。
ステップ２１５では、暗号化・復号部（１０３）は、取得した暗号化鍵ＩＤをセキュリティ要件監視部（１０２）に送信する。
ステップ２１６では、セキュリティ要件監視部（１０２）は、暗号化・復号部（１０３）からの暗号化鍵ＩＤに対応する復号鍵を復号鍵格納部（１０６）から検索する。該検索は、暗号化鍵ＩＤを使用し、例えばクエリを用いて実行される。セキュリティ要件監視部（１０２）は、上記暗号化鍵ＩＤを有するレコードを見つけることによって、該レコード内の復号鍵が検索対象である復号鍵であることを特定できる。復号鍵が復号鍵格納部（１０６）にない場合、セキュリティ要件監視部（１０２）は、復号鍵が読み込み不可である旨を暗号化・復号部（１０３）に渡す。暗号化・復号部（１０３）は、処理をステップ２１７に進める。代替的には、復号鍵が復号鍵格納部（１０６）にない場合、セキュリティ要件監視部（１０２）は、ユーザ情報及び暗号化鍵ＩＤをサーバ・コンピュータ（１２１）に送信する。その結果、サーバ・コンピュータ（１２１）から復号鍵を取得出来た場合、復号鍵格納部（１０６）に該取得した復号鍵及び暗号化鍵ＩＤを１つのレコードとして記録する。さらに、セキュリティ要件監視部（１０２）は、暗号化・復号部（１０３）に該取得した復号鍵を渡す。暗号化・復号部（１０３）は、処理をステップ２１８に進める。また、復号鍵が復号鍵格納部（１０６）にある場合、セキュリティ要件監視部（１０２）は、復号鍵が読み込み可能である旨を暗号化・復号部（１０３）に渡す。暗号化・復号部（１０３）は、処理をステップ２１８に進める。
ステップ２１７では、復号鍵が復号鍵格納部（１０６）にないので、暗号化・復号部（１０３）は、一般アプリケーション（１１１）にファイルの読み込みができない旨を知らせる。
ステップ２１８では、復号鍵が復号鍵格納部（１０６）にあるので、セキュリティ要件監視部（１０２）は、復号鍵格納部（１０６）からの復号鍵を暗号化・復号部（１０３）に送信する。
ステップ２１９では、暗号化・復号部（１０３）は、復号鍵格納部（１０６）からの復号鍵を使用して、暗号化されたファイルを復号し、復号されたファイルを記憶部に書き込む。一般アプリケーションは、該復号されたファイルを読み込む。
ステップ２２０では、ステップ２１３、２１７及び２１９の処理の終了を受けて、一般アプリケーションの書き込みイベントを終了する。
【００５５】
図７は、本発明の実施態様である、セキュリティ要件監視部（１０２）の動作フローチャートを示す。
ステップ３０１では、セキュリティ要件監視部（１０２）は、クライアント・コンピュータ（１０１）のオペレーティング・システムの起動とともに起動する。
ステップ３０２では、セキュリティ要件監視部（１０２）は、本発明の実施態様に従うクライアント・コンピュータ（１０１）にログインするためのユーザ情報の入力を促す。該ユーザ情報は、サーバ・コンピュータのアクセス権限格納部（１２６）において管理される。なお、ステップ３０２では、ユーザ情報の入力を促すだけで、該ユーザがアクセス権限を有するかどうかは、下記ステップ３１４において確認される。
ステップ３０３では、セキュリティ要件監視部（１０２）は、遵守要件格納部（１０４）に遵守要件が格納されているかどうかを確認する。遵守要件格納部（１０４）に遵守要件が格納されていない場合、処理はステップ３０４に進む。遵守要件格納部（１０４）に遵守要件が格納されている場合、処理はステップ３０５に進む。
ステップ３０４では、セキュリティ要件監視部（１０２）は、暗号化鍵格納部（１０５）の暗号化鍵及び復号鍵格納部（１０６）の復号鍵を消去する。
ステップ３０５では、セキュリティ要件監視部（１０２）は、遵守要件格納部（１０４）から遵守要件を読み取る。
ステップ３０６では、セキュリティ要件監視部（１０２）は、クライアント・コンピュータ（１０１）が遵守要件を遵守しているかを確認する。遵守要件が遵守されている場合、処理はステップ３０７に進む。一方、遵守要件が遵守されていない場合、処理はステップ３０４に進む。
ステップ３０７では、セキュリティ要件監視部（１０２）は、クライアント・コンピュータ（１０１）がネットワークに接続されているかどうか、すなわちオンラインであるかどうかを確認する。オンラインでない場合、処理はステップ３０８に進む。オンラインである場合、処理はステップ３０９に進む。
ステップ３０８では、セキュリティ要件監視部（１０２）は、暗号化鍵格納部（１０５）及び復号鍵格納部（１０６）のロークがかかっている場合に、該ロックを解除する。ロックがかかっている場合とは、ステップ３１３においてロックがかかり、ループによってステップ３０８に戻ってきた場合である。
ステップ３１０では、セキュリティ要件監視部（１０２）は、変数Ｏｎｌｉｎｅに０（オフラインである）、及び変数Ｒｅａｃｈａｂｌｅに０（サーバ・コンピュータに到達しない）をそれぞれ設定し、処理をステップ３１１に進める。
ステップ３１１では、セキュリティ要件監視部（１０２）は、図４に示すファイル操作処理をする。ファイル処理内容は、変数Ｏｎｌｉｎｅ及び変数Ｒｅａｃｈａｂｌｅの各値、及び図４に示すステップの条件文によって異なってくる。
ステップ３１２では、セキュリティ要件監視部（１０２）は、図４に示すファイル操作処理が正常に終了したかどうかを確認する。正常に終了した場合、ステップ３０５に戻る。正常に終了しなかった場合、ステップ３０４に戻る。
ステップ３０９では、セキュリティ要件監視部（１０２）は、クライアント・コンピュータ（１０１）がサーバ・コンピュータ（１２１）に接続できるかどうかを確認する。接続できない場合、処理はステップ３１３に進む。接続できる場合、処理はステップ３１４に進む。
ステップ３１３では、クライアント・コンピュータ（１０１）がサーバ・コンピュータ（１２１）に接続できないので、セキュリティ要件監視部（１０２）は、暗号化鍵格納部（１０５）及び復号鍵格納部（１０６）をロックする。ロックは、ステップ３０７においてＹｅｓ（すなわち、オンライン状態（ネットワークに接続できる））であり、且つステップ３０９においてＮｏ（すなわち、サーバ不到達（サーバと通信できない））である場合に行われる。
ステップ３１５では、セキュリティ要件監視部（１０２）は、変数Ｏｎｌｉｎｅに１（オンラインである）、及びＲｅａｃｈａｂｌｅに０（サーバ・コンピュータに到達しない）をそれぞれ設定し、処理をステップ３１６に進める。
ステップ３１６では、セキュリティ要件監視部（１０２）は、図４に示すファイル操作処理をする。ファイル処理内容は、変数Ｏｎｌｉｎｅ及び変数Ｒｅａｃｈａｂｌｅの各値、及び図４に示すステップの条件文によって異なってくる。
ステップ３１７では、セキュリティ要件監視部（１０２）は、図４に示すファイル操作処理が正常に終了したかどうかを確認する。正常に終了した場合、ステップ３０５に戻る。正常に終了しなかった場合、ステップ３０４に戻る。
ステップ３１４では、セキュリティ要件監視部（１０２）は、ステップ３０２で取得したユーザ情報を使用して、ログインしたユーザにアクセス権限があるかどうかの検証要求をサーバ・コンピュータ（１２１）に送る。セキュリティ要件監視部（１０２）は、アクセス権限があるかないかの情報がサーバ・コンピュータ（１２１）から戻ってくると、処理をステップ３１８に進める。
ステップ３１８では、セキュリティ要件監視部（１０２）は、ユーザにアクセス権限があるという回答がサーバ・コンピュータ（１２１）からあった場合、処理をステップ３１９に進める。一方、セキュリティ要件監視部（１０２）は、ユーザにアクセス権限がないという回答がサーバ・コンピュータ（１２１）からあった場合、処理をステップ３０４に戻す。
ステップ３１９では、セキュリティ要件監視部（１０２）は、クライアント・コンピュータ（１０１）から送信された遵守要件のバージョンとサーバ・コンピュータ（１２１）の遵守要件格納部（１２４）に格納された遵守要件の最新のバージョンとが一致したかどうかの情報を、サーバ・コンピュータのセキュリティ検証部（１２２）から受信する。遵守要件の上記バージョンが一致しない場合、処理はステップ３２０に進む。一方、遵守要件の上記バージョンが一致する場合、処理はステップ３２２に進む。ステップ３１９では、遵守要件の上記バージョンが一致するまで、処理がステップ３２２に進むことはない。  ステップ３２０では、遵守要件の上記バージョンが一致しないので、クライアント・コンピュータ（１０１）は、サーバ・コンピュータ（１２１）に対して、最新の遵守要件の送付を要求する。
ステップ３２１では、セキュリティ要件監視部（１０２）は、サーバ・コンピュータ（１２１）の遵守要件格納部に格納された最新の遵守要件、及び該最新の遵守要件のバージョンを、遵守要件格納部（１０４）に格納されている遵守要件、及びその遵守要件のバージョンに上書きする。該上書きによって、クライアント側の遵守要件格納部（１０４）が更新される。上書き後、ステップ３０５に戻る。
ステップ３２２では、遵守要件の上記バージョンが一致するので、セキュリティ要件監視部（１０２）は、暗号化鍵格納部（１０５）及び復号鍵格納部（１０６）のロックがかかっている場合に、該ロックを解除する。ロックがかかっている場合とは、ステップ３１３においてロックがかかり、ループによってステップ３２２に戻ってきた場合である。
ステップ３２３では、セキュリティ要件監視部（１０２）は、暗号化鍵ＩＤを使用して、復号鍵格納部（１０６）を走査する。
ステップ３２４では、暗号化鍵ＩＤに対応する復号鍵が復号鍵格納部（１０６）中に存在しない場合、処理はステップ３２５に進む。一方、暗号化鍵ＩＤに対応する復号鍵が復号鍵格納部（１０６）中に存在する場合、処理はステップ３２７に進む。
ステップ３２５では、復号鍵が復号鍵格納部（１０６）中に存在しないので、セキュリティ要件監視部（１０２）は、暗号化鍵ＩＤ及び該暗号化鍵ＩＤに対応する暗号化鍵を暗号化鍵格納部（１０５）に上書きする。続いて、処理は、ステップ３２６に進む。
ステップ３２６では、セキュリティ要件監視部（１０２）は、上記暗号化鍵ＩＤ及び該暗号化鍵ＩＤに対応する復号鍵を復号鍵格納部（１０６）に追加する。
ステップ３２７では、セキュリティ要件監視部（１０２）は、変数Ｏｎｌｉｎｅに１（オンラインである）、及び変数Ｒｅａｃｈａｂｌｅに１（サーバ・コンピュータに到達する）を設定し、処理をステップ３１６に進める。
ステップ３２８では、クライアント・コンピュータ（１０１）がオンラインでない場合、処理はステップ３２９に進む。一方、クライアント・コンピュータ（１０１）がオンラインである場合、処理はステップ３３０に進む。
ステップ３２９では、クライアント・コンピュータ（１０１）がオンラインでないので、セキュリティ要件監視部（１０２）は、変数Ｏｎｌｉｎｅに０（オンラインでない）、変数Ｒｅａｃｈａｂｌｅに０（サーバ・コンピュータに到達しない）を設定し、処理をステップ３３２に進める。
ステップ３３２では、セキュリティ要件監視部（１０２）は、図４に示すファイル操作処理をする。ファイル処理内容は、変数Ｏｎｌｉｎｅ及び変数Ｒｅａｃｈａｂｌｅの各値、及び図４に示すステップの条件文によって異なってくる。
ステップ３３０では、セキュリティ要件監視部（１０２）は、クライアント・コンピュータ（１０１）がサーバ・コンピュータ（１２１）に接続できるかどうかを確認する。接続できない場合、処理はステップ３３１に進む。接続できる場合、処理はステップ３２０に進む。
ステップ３３１では、セキュリティ要件監視部（１０２）は、変数Ｏｎｌｉｎｅに１（オンラインである）、変数Ｒｅａｃｈａｂｌｅに０（サーバ・コンピュータに到達しない）を設定し、処理をステップ３３２に進める。
ステップ３３２では、セキュリティ要件監視部（１０２）は、図４に示すファイル操作処理をする。ファイル処理内容は、変数Ｏｎｌｉｎｅ及び変数Ｒｅａｃｈａｂｌｅの各値、及び図４に示すステップの条件文によって異なってくる。
【００５６】
図８は、本発明の実施態様である、セキュリティ要件監視部（１０２）によるファイル操作の動作フローチャートを示す。
ステップ３４１は、図７のステップ３１１、３１６及び３３２によるファイル操作処理のサブルーチンの呼出しによって開始される。
ステップ３４２では、セキュリティ要件監視部（１０２）は、暗号化・復号部（１０３）から読み込み要求があったかどうかを確認する。読み込み要求があった場合、処理はステップ３４４に進む。一方、読み込み要求がなかった場合、処理はステップ３４３に進む。
ステップ３４４では、暗号化・復号部（１０３）からファイルの読み込み要求があったので、セキュリティ要件監視部（１０２）は、図９に示すファイルの読み込み処理のサブルーチンを呼び出す。
ステップ３４５では、セキュリティ要件監視部（１０２）は、ファイルの読み込み処理が正常に終了したかどうかを判断する。正常に終了した場合、処理はステップ３４８に進む。一方、正常に終了しなかった場合、処理はステップ３４６に進む。
ステップ３４６では、ステップ３４５の結果を受けて、サブルーチンの戻り値として異常終了が返される。
ステップ３４３では、セキュリティ要件監視部（１０２）は、暗号化・復号部（１０３）から書き込み要求かあったかどうかを確認する。書き込み要求が
あった場合、処理はステップ３４７に進む。一方、書き込み要求がなかった場合、処理はステップ３４８に進む。
ステップ３４７では、暗号化・復号部（１０３）からファイルの書き込み要求があったので、セキュリティ要件監視部（１０２）は、図１０に示すファイルの書き込み処理のサブルーチンを呼び出す。該書き込み処理のサブルーチンの終了後、処理はステップ３４８に進む。
ステップ３４８では、セキュリティ要件監視部（１０２）は、セキュリティ・ソフトウェア（１０８）から状況情報を取得する。
ステップ３４９では、セキュリティ要件監視部（１０２）は、セキュリティ・ソフトウェア（１０８）からの状況情報が、脅威を発見したかどうかを確認する。脅威が発見された場合、処理はステップ３４６に進む。一方、脅威が発見されなかった場合、処理はステップ３５０に進む。
ステップ３４６では、ステップ３４９の結果を受けて、サブルーチンの戻り値として異常終了が返される。該戻り値は、図７のステップ３１２及び３１７の正常終了かどうかの判断処理に使用される。
ステップ３５０では、セキュリティ要件監視部（１０２）は、変数Ｏｎｌｉｎｅが０であり且つ現在オンラインかどうかを確認する。変数Ｏｎｌｉｎｅは、図７のステップ３１０、３２７、３２９及び３３１において設定される。変数Ｏｎｌｉｎｅが０であることは、ファイル操作処理のサブルーチンに入る前に「オンラインでなかった」ことを示す。すなわち、ここでは、変数Ｏｎｌｉｎｅの値を確認し、０ならばＹｅｓを、０でなければＮｏを返す。よって、判定式「変数Ｏｎｌｉｎｅ＝＝０」は、変数Ｏｎｌｉｎｅが０であれば、Ｙｅｓを返す。変数Ｏｎｌｉｎｅが０であり且つ現在オンラインである場合、処理はステップ３５１に進む。一方、変数Ｏｎｌｉｎｅが０であり且つ現在オンラインでない場合、処理はステップ３５２に進む。
ステップ３５１では、変数Ｏｎｌｉｎｅが０であり且つ現在オンラインであるので、セキュリティ要件監視部（１０２）は、暗号化鍵格納部（１０５）及び復号鍵格納部（１０６）をロックする。
ステップ３５２では、セキュリティ要件監視部（１０２）は、変数Ｒｅａｃｈａｂｌｌｅが０であり且つ現在サーバ到達であるかどうかを確認する。変数Ｒｅａｃｈａｂｌｌｅは、図７のステップ３１０、３２７、３２９及び３３１において設定される。変数Ｒｅａｃｈａｂｌｌｅが０であることは、ファイル操作処理のサブルーチンに入る前に「サーバに到達出来なかった場合」を示す。すなわち、ここでは、変数Ｒｅａｃｈａｂｌｅの値を確認し、０ならばＹｅｓを、０でなければＮｏを返す。よって、判定式「変数Ｒｅａｃｈａｂｌｌｅ＝＝０」は、変数Ｒｅａｃｈａｂｌｌｅが０であれば、Ｙｅｓを返す。変数Ｒｅａｃｈａｂｌｌｅが０であり且つ現在サーバ到達である場合、処理はステップ３５４に進む。一方、変数Ｒｅａｃｈａｂｌｌｅが０であり且つ現在サーバ到達していない場合、処理はステップ３５３に進む。
ステップ３５３では、セキュリティ要件監視部（１０２）は、規定時間が経過したかどうかを確認する。規定時間には、システム管理者が適当であると考える期間が設定されうる。該規定時間の値が、クライアント・コンピュータがサーバ・コンピュータに到達できる状態において、該サーバ・コンピュータにユーザ情報の検証を要求しない期間の最長値となる。規定時間が経過している場合、処理はステップ３５４に進む。一方、規定時間が経過していない場合、処理はステップ３４２に戻る。
ステップ３５４では、ステップ３５１、３５２又は３５３の処理の終了を受けて、サブルーチンの戻り値として正常終了が返される。該戻り値は、図７のステップ３１２及び３１７の正常終了かどうかの判断処理に使用される。
【００５７】
図９は、本発明の実施態様である、セキュリティ要件監視部（１０２）による暗号化された機密ファイルの読み込み処理時の動作フローチャートを示す。
ステップ３６１は、図８のステップ３４４によるファイルの読み込み処理のサブルーチンの呼出しによって開始される。
ステップ３６２では、セキュリティ要件監視部（１０２）は、暗号化・復号部（１０３）から、復号鍵を検索するために、読み込み対象のファイルに埋め込まれた暗号化鍵ＩＤを受信する。
ステップ３６３では、セキュリティ要件監視部（１０２）は、復号鍵格納部（１０６）がロック中であるかどうかを確認する。ロック中である場合、処理はステップ３６４に進む。ロック中でない場合、処理はステップ３６５に進む。
ステップ３６４では、復号鍵格納部（１０６）がロック中であるので、セキュリティ要件監視部（１０２）は、暗号化・復号部（１０３）に、暗号化された機密ファイルが読み込みできないことを通知する。
ステップ３６５では、復号鍵格納部（１０６）がロック中でないので、セキュリティ要件監視部（１０２）は、復号鍵格納部（１０６）に暗号化鍵ＩＤを使用してクエリを実行し、復号鍵を走査する。
ステップ３６６では、復号鍵が取得できた場合、処理はステップ３７３に進む。一方、復号鍵が取得できなかった場合、処理はステップ３６７に進む。
ステップ３６７では、セキュリティ要件監視部（１０２）は、変数Ｒｅａｃｈａｂｌｅが１であるかどうかを確認する。変数Ｒｅａｃｈａｂｌｌｅは、図７のステップ３１０、３２７、３２９及び３３１において設定される。変数Ｒｅａｃｈａｂｌｌｅが１であることは、ファイル操作処理のサブルーチンに入る前に「サーバに到達出来た場合」を示す。すなわち、ここでは、変数Ｒｅａｃｈａｂｌｅの値を確認し、１ならばＹｅｓを、１でなければＮｏを返す。よって、判定式「変数Ｒｅａｃｈａｂｌｌｅ＝＝１」は、変数Ｒｅａｃｈａｂｌｌｅが１であれば、Ｙｅｓを返す。変数Ｒｅａｃｈａｂｌｅが１でない場合、処理はステップ３６４に進む。一方、Ｒｅａｃｈａｂｌｅが１である場合、処理はステップ３６８に進む。
ステップ３６８では、セキュリティ要件監視部（１０２）は、サーバ・コンピュータ（１２１）に復号鍵を要求する。セキュリティ要件監視部（１０２）は、該要求のために、クライアント・コンピュータ（１０１）のユーザ情報及び暗号化鍵ＩＤをサーバ・コンピュータ（１２１）に送信する。
ステップ３６９では、セキュリティ要件監視部（１０２）は、クライアント・コンピュータ（１０１）のユーザに権限があるかどうかの検証をサーバ・コンピュータ（１２１）に要求する。該ユーザに権限がない場合、処理はステップ３７０に進む。該ユーザに権限がある場合、処理はステップ３７２に進む。
ステップ３７０では、ユーザが権限を有しないので、セキュリティ要件監視部（１０２）は、暗号化・復号部（１０３）に、ファイルの読み込みが出来ない旨の通知を行う。
ステップ３７１では、ステップ３７０の結果を受けて、サブルーチンの戻り値として異常終了が返される。該戻り値は、図８のステップ３４５の正常終了かどうかの判断処理に使用される。
ステップ３７２では、ユーザが権限を有するので、セキュリティ要件監視部（１０２）は、暗号化鍵ＩＤ及び、サーバ・コンピュータ（１２１）から受け取った復号鍵を１つのレコードとして復号鍵格納部（１０６）に追加する。
ステップ３７３では、セキュリティ要件監視部（１０２）は、暗号化・復号部（１０３）に、暗号化された機密ファイルの読み込みが可能である旨、及び復号鍵を渡す。
ステップ３７４では、ステップ３６４又は３７３の処理の終了を受けて、サブルーチンの戻り値として正常終了が返される。該戻り値は、図８のステップ３４５の正常終了かどうかの判断処理に使用される。
【００５８】
図１０は、本発明の実施態様である、セキュリティ要件監視部（１０２）によるファイルの書き込み処理時の動作フローチャートを示す。
ステップ３８１は、図８のステップ３４７によるファイルの書き込み処理のサブルーチンの呼出しによって開始される。
ステップ３８２では、セキュリティ要件監視部（１０２）は、暗号化・復号部（１０３）から、書き込み対象であるファイルの情報を取得する。
ステップ３８３では、セキュリティ要件監視部（１０２）は、上記取得したファイルの情報で、暗号化対象格納部（１０７）を走査し、書き込み対象のファイルについての情報を取得する。
ステップ３８４では、セキュリティ要件監視部（１０２）は、暗号化・復号部（１０３）から送信されたファイルの情報と、暗号化対象格納部（１０７）から取得した情報とを比較し、書き込み対象のファイルが機密ファイルであるか通常ファイルであるかを判断する。機密ファイルでない場合、処理はステップ３８５に進む。一方、機密ファイルである場合、処理はステップ３８６に進む。
ステップ３８５では、セキュリティ要件監視部（１０２）は、暗号化・復号部（１０３）に機密ファイルでない旨、或いは通常ファイルであることを通知する。
ステップ３８６では、機密ファイルである場合に、セキュリティ要件監視部（１０２）は、暗号化鍵格納部（１０５）がロック中であるかどうかを確認する。暗号化鍵格納部（１０５）がロックされている場合、処理はステップ３８７に進む。一方、暗号化鍵格納部（１０５）がロックされていない場合、処理はステップ３８８に進む。
ステップ３８７では、暗号化鍵格納部（１０５）がロックされているので、セキュリティ要件監視部（１０２）は、暗号化・復号部（１０３）に、機密ファイルそのもの、及び該機密ファイルを書き込むための暗号化鍵を提供することが出来ない旨を通知する。ステップ３８７に到着するためには、クライアント・コンピュータ（１０１）がオフラインであるか、又はクライアント・コンピュータ（１０１）がオンラインであり且つサーバ・コンピュータ（１２１）に未達の場合であるので、いずれの場合であっても暗号化鍵を提供することはできない。
ステップ３８９では、セキュリティ要件監視部（１０２）は、暗号化鍵格納部（１０５）から、暗号化鍵ＩＤ及び暗号化鍵を取得する。
ステップ３９０では、セキュリティ要件監視部（１０２）は、暗号化・復号部（１０３）に、対象が機密ファイルであること、及び該機密ファイルを書き込むための暗号化鍵を提供することができる旨を通知し、暗号化鍵ＩＤ及び上記暗号化鍵を渡す。
ステップ３９１では、ステップ３８５、３８７又は３９０の処理の終了を受けて、サブルーチンの戻り値として正常終了が返される。その結果、図８のステップ３４７が終了し、処理はステップ３４８に進む。
【００５９】
図１１は、本発明の実施態様である、セキュリティ検証部（１２２）の動作フローチャートを示す。
ステップ４０１では、セキュリティ検証部（１２２）は、サーバ・コンピュータ（１２１）のオペレーティング・システムの起動とともに起動する。
ステップ４０２では、セキュリティ検証部（１２２）は、クライアント・コンピュータ（１０１）から、ユーザ情報の検証要求を受信したかどうかを確認する。検証要求を受信した場合、処理はステップ４０３に進む。一方、検証要求を受信しなかった場合、処理はステップ４０４に進む。
ステップ４０３では、検証要求を受信したので、セキュリティ検証部（１２２）は、ユーザ情報の検証処理を行う。ユーザ情報の検証処理は、図１２に示すサブルーチンを呼び出すことによって実行される。
ステップ４０４では、セキュリティ検証部（１２２）は、クライアント・コンピュータ（１０１）から、遵守要件の送付要求を受信したかどうかを確認する。遵守要件の送付要求を受信した場合、処理はステップ４０５に進む。一方、遵守要件の送付要求を受信しなかった場合、処理はステップ４０６に進む。
ステップ４０５では、検証要求を受信したので、セキュリティ検証部（１２２）は、遵守要件の送付要求処理を行う。遵守要件の送付要求処理は、図１３に示すサブルーチンを呼び出すことによって実行される。
ステップ４０６では、セキュリティ検証部（１２２）は、クライアント・コンピュータ（１０１）から、復号鍵の送付要求を受信したかどうかを確認する。復号鍵の送付要求を受信した場合、処理はステップ４０７に進む。一方、復号鍵の送付要求を受信しなかった場合、処理はステップ４０２に戻る。
ステップ４０７では、復号鍵の送付要求を受信したので、セキュリティ検証部（１２２）は、復号鍵の送付要求処理を行う。復号鍵の送付要求処理は、図１４に示すサブルーチンを呼び出すことによって実行される。
【００６０】
図１２は、本発明の実施態様である、セキュリティ検証部（１２２）におけるユーザ情報の検証処理の動作フローチャートを示す。
ステップ４１１は、図１１のステップ４０３によるユーザ情報の検証処理のサブルーチン呼出しによって開始される。
ステップ４１２では、セキュリティ検証部（１２２）は、クライアント・コンピュータ（１０１）から、ユーザ情報及び遵守要件のバージョンを受信する。
ステップ４１３では、セキュリティ検証部（１２２）は、アクセス権限格納部（１２６）に上記受信したユーザ情報でクエリを実行し、アクセス権限情報を取得する。
ステップ４１４では、セキュリティ検証部（１２２）は、クライアント・コンピュータ（１０１）のユーザに権限があるかどうかを判断する。該ユーザに権限がない場合、処理はステップ４１５に進む。一方、該ユーザに権限がある場合、処理はステップ４１６に進む。
ステップ４１５では、クライアント・コンピュータ（１０１）のユーザに権限がないので、セキュリティ検証部（１２２）は、クライアント・コンピュータ（１０１）に、該ユーザのアクセス権限がない旨を通知する。
ステップ４１６では、クライアント・コンピュータ（１０１）のユーザに権限があるので、セキュリティ検証部（１２２）は、サーバ側の遵守要件格納部（１２４）から、最新の遵守要件のバージョンを取得する。
ステップ４１７では、セキュリティ検証部（１２２）は、クライアント・コンピュータ（１０１）から送信された遵守要件のバージョンが、上記最新の遵守要件のバージョンと一致するかどうかを確認する。上記バージョンが一致しない場合、処理はステップ４１８に進む。一方、上記バージョンが一致する場合、処理はステップ４１９に進む。
ステップ４１８では、上記バージョンが一致しないので、セキュリティ検証部（１２２）は、クライアント・コンピュータ（１０１）に、ユーザのアクセス権限はあるが、遵守要件のバージョンが不一致である旨を通知する。ここで、ステップ４１８では、遵守要件のバージョンが一致しないので、暗号化鍵ＩＤ、暗号化鍵及び復号鍵はクライアント・コンピュータ（１０１）に渡されることはない。
ステップ４１９では、セキュリティ検証部（１２２）は、暗号化鍵・復号鍵格納部（１２５）に遵守要件のバージョンでクエリを実行する。そして、セキュリティ検証部（１２２）は、遵守要件のバージョンに対応する暗号化鍵ＩＤ、暗号化鍵及び復号鍵を取得する。
ステップ４２０では、上記バージョンが一致するので、セキュリティ検証部（１２２）は、クライアント・コンピュータ（１０１）に、ユーザのアクセス権限があること、及びクライアント・コンピュータ（１０１）から送信された遵守要件のバージョンとサーバ・コンピュータ（１２１）の遵守要件格納部（１２４）に格納された遵守要件の最新のバージョンとが一致したことを通知するとともに、上記取得した暗号化鍵ＩＤ、暗号化鍵及び復号鍵をクライアント・コンピュータ（１０１）に渡す。
ステップ４２１では、セキュリティ検証部（１２２）は、ステップ４１５、４１８又は４２０の処理の終了を受けて、ユーザ情報の検証処理のサブルーチンを終了する。そして、処理は、図１１のステップ４０２に戻る。
【００６１】
図１３は、本発明の実施態様である、セキュリティ検証部（１２２）における遵守要件の送付要求処理の動作フローチャートを示す。
ステップ４３１は、図１１のステップ４０５による遵守要件の送付要求処理のサブルーチンの呼出しによって開始される。
ステップ４３２では、セキュリティ検証部（１２２）は、サーバ・コンピュータ（１２１）の遵守要件格納部（１２４）から、最新の遵守要件のバージョン及び該バージョンに対応する遵守要件を抽出する。
ステップ４３３では、セキュリティ検証部（１２２）は、上記抽出した遵守要件のバージョン及び遵守要件をクライアント・コンピュータ（１０１）に渡す。
ステップ４３４では、セキュリティ検証部（１２２）は、ステップ４３３の処理の終了を受けて、遵守要件の送付要求処理のサブルーチンを終了する。そして、処理は、図１１のステップ４０２に戻る。
【００６２】
図１４は、本発明の実施態様である、セキュリティ検証部（１２２）における復号鍵の送付要求処理の動作フローチャートを示す。
ステップ４４１は、図１１のステップ４０７による復号鍵の送付要求処理のサブルーチン呼出しによって開始される。
ステップ４４２では、セキュリティ検証部（１２２）は、クライアント・コンピュータ（１０１）から、ユーザ情報及び暗号化鍵ＩＤを受信する。
ステップ４４３では、セキュリティ検証部（１２２）は、アクセス権限格納部（１２６）に上記受信したユーザ情報でクエリを実行し、アクセス権限情報を取得する。
ステップ４４４では、セキュリティ検証部（１２２）は、クライアント・コンピュータ（１０１）のユーザに権限があるかどうかを判断する。該ユーザに権限がない場合、処理はステップ４４５に進む。一方、該ユーザに権限がある場合、処理はステップ４４６に進む。
ステップ４４５では、クライアント・コンピュータ（１０１）のユーザに権限がないので、セキュリティ検証部（１２２）は、クライアント・コンピュータ（１０１）に、ユーザのアクセス権限がない旨を通知する。
ステップ４４６では、クライアント・コンピュータ（１０１）のユーザに権限があるので、セキュリティ検証部（１２２）は、暗号化鍵・復号鍵格納部（１２５）に暗号化鍵ＩＤでクエリを実行する。そして、セキュリティ検証部（１２２）は、暗号化鍵ＩＤに対応する復号鍵を取得する。
ステップ４４７では、クライアント・コンピュータ（１０１）のユーザに権限があるので、セキュリティ検証部（１２２）は、クライアント・コンピュータ（１０１）に、該ユーザのアクセス権限がある旨を通知するとともに、上記取得した復号鍵をクライアント・コンピュータ（１０１）に渡す。
ステップ４４８では、セキュリティ検証部（１２２）は、ステップ４４５又は４４７の処理の終了を受けて、ユーザ情報の検証処理のサブルーチンを終了する。そして、処理は、図１１のステップ４０２に戻る。
【００６３】
図１５は、本発明の実施態様である、暗号化鍵・復号鍵作成部（１２３）における遵守要件の追加イベント発生時の動作フローチャートを示す。
ステップ５０１では、暗号化鍵・復号鍵作成部（１２３）は、遵守要件の更新があり、サーバ側の遵守要件格納部（１２４）への遵守要件の追加イベントが発生したことを確認する。
ステップ５０２では、暗号化鍵・復号鍵作成部（１２３）は、暗号化鍵ＩＤを決定する。
ステップ５０３では、暗号化鍵・復号鍵作成部（１２３）は、サーバ側の遵守要件格納部（１２４）から、最新の遵守要件のバージョンを取得する。
ステップ５０４では、暗号化鍵・復号鍵作成部（１２３）は、上記暗号化鍵ＩＤに対応付けられた暗号化鍵を作成する。
ステップ５０５では、暗号化鍵・復号鍵作成部（１２３）は、上記暗号化鍵ＩＤに対応付けられ、且つ上記作成された暗号化鍵と対の復号鍵を作成する。
ステップ５０６では、暗号化鍵・復号鍵作成部（１２３）は、暗号化鍵ＩＤ、暗号化鍵、復号鍵、及び遵守要件のバージョンを１レコードとして、暗号化鍵・復号鍵格納部（１２５）に追加する。
ステップ５０７では、暗号化鍵・復号鍵作成部（１２３）は、ステップ５０６の処理の終了を受けて、遵守要件の追加イベント発生時の処理を終了する。
【００６４】
図１６は、本発明の実施形態における、データの受け渡し時の内容を示す。
各要求元は、各要求先に対して、要求元送信データを送信する。各要求先は、それに応じて、各要求元に対して、要求先送信データを送信する。
【００６５】
図１７は、本発明の実施形態における、クライアント・コンピュータ（１０１）及びサーバ・コンピュータ（１２１）のハードウェアのブロック図を示す。
本発明の実施例に係るクライアント・コンピュータ（１０１）及びサーバ・コンピュータ（１２１）（以下、単にコンピュータ・システム（７０１）という）は、ＣＰＵ（７０２）とメイン・メモリ（７０３）と含み、これらはバス（７０４）に接続されている。ＣＰＵ（７０２）は好ましくは、３２ビットまたは６４ビットのアーキテクチャに基づくものであり、例えば、インテル社のＸｅｏｎ（商標）シリーズ、Ｃｏｒｅ（商標）シリーズ、Ａｔｏｍ（商標）シリーズ、Ｐｅｎｔｉｕｍ（商標）シリーズ、Ｃｅｌｅｒｏｎ（商標）シリーズ、ＡＭＤ社のＰｈｅｎｏｍ（商標）シリーズ、Ａｔｈｌｏｎ（商標）シリーズ、Ｔｕｒｉｏｎ（商標）シリーズ及びＳｅｍｐｒｏｎ（商標）などを使用することができる。バス（７０４）には、ディスプレイ・コントローラ（７０５）を介して、ＬＣＤモニタなどのディスプレイ（７０６）が接続される。ディスプレイ（７０６）は、そのコンピュータ・システム（７０１）上で動作中のソフトウェアについての情報を、適当なグラフィック・インターフェースで表示するために使用される。バス（７０４）にはまた、ＩＤＥ又はＳＡＴＡコントローラ（７０７）を介して、ハードディスク又はシリコン・ディスク（７０８）と、ＣＤ−ＲＯＭ、ＤＶＤ又はＢｌｕ−ｒａｙドライブ（７０９）が接続されている。ＣＤ−ＲＯＭ、ＤＶＤ又はＢＤドライブ（７０９）は、必要に応じて、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ又はＢＤからプログラムをハードディスク又はシリコン・ディスク（７０８）に導入するために使用される。バス（７０４）には更に、キーボード・マウスコントローラ（７１０）を介して、或いはＵＳＢコントローラ（図示せず）を介して、キーボード（７１１）及びマウス（７１２）が接続されている。
【００６６】
通信インタフェース（７１４）は、例えばイーサネット（商標）プロトコルに従うものであり、通信コントローラ（７１３）を介してバス（７０４）に接続される。通信インタフェース（７１４）は、コンピュータ・システム（７０１）及び通信回線（７１５）を物理的に接続する役割を担い、コンピュータ・システム （７０１）のオペレーティング・システムの通信機能のＴＣＰ／ＩＰ通信プロトコルに対して、ネットワーク・インターフェース層を提供する。通信回線は、有線ＬＡＮ環境、或いは例えばＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎなどの無線ＬＡＮ接続規格に基づく無線ＬＡＮ環境であってもよい。
【００６７】
以上、実施形態に基づき本発明を説明してきたが、本実施形態に記載されている内容は、本発明の一例であり、当業者なら、本発明の技術的範囲を逸脱することなく、さまざまな変形例に想到できることが明らかであろう。
【図１】
2010061801.tif 000003
【図２】
2010061801.tif 000004
【図３】
2010061801.tif 000005
【図４】
2010061801.tif 000006
【図５】
2010061801.tif 000007
【図６】
2010061801.tif 000008
【図７】
2010061801.tif 000009
【図８】
2010061801.tif 000010
【図９】
2010061801.tif 000011
【図１０】
2010061801.tif 000012
【図１１】
2010061801.tif 000013
【図１２】
2010061801.tif 000014
【図１３】
2010061801.tif 000015
【図１４】
2010061801.tif 000016
【図１５】
2010061801.tif 000017
【図１６】
2010061801.tif 000018
【図１７】
2010061801.tif 000019
【国際調査報告】
2010061801.tif 000020
2010061801.tif 000021
2010061801.tif 000022
2010061801.tif 000023