(57)【特許請求の範囲】
【請求項１】
サーバアプリケーションおよび鍵の発行手段を有するサーバシステムとクライアントアプリケーションおよびキャッシュファイルを有するクライアントシステムとの間におけるデータ通信に使用されるデータ秘匿制御システムであって、
上記クライアントシステムは、
上記鍵の発行手段から取得した鍵によりデータを暗号化および復号化する暗号化／復号化手段と、
上記サーバシステムのサーバアプリケーションとの間でデータ通信を行う通信手段とを具備し、
上記通信手段は、
上記サーバアプリケーションから取得したデータに秘匿データであることを示すマークが付されているか否かを判断し、秘匿データであることを示すマークが付されていないことを判断したとき、上記サーバアプリケーションから取得したデータを上記キャッシュファイルに格納せず上記クライアントアプリケーションに渡し、秘匿データであることを示すマークが付されていることを判断したとき、上記鍵の発行手段から鍵を取得し、取得した鍵を上記暗号化／復号化手段に渡して、上記サーバアプリケーションから取得したデータを暗号化して上記キャッシュファイルに格納し、暗号化しないデータを上記クライアントアプリケーションに渡すデータ取得処理手段
を具備したことを特徴とする通信データ秘匿制御システム。
【請求項２】
上記通信手段は、
上記クライアントアプリケーションが上記サーバアプリケーションに対してデータ要求を発行したとき、このデータ要求に従うデータが上記キャッシュファイルに存在するか否かを調べ、存在するとき、上記クライアントアプリケーションに代わって上記サーバアプリケーションと通信を行い、上記要求されたデータが更新されているか否かを調べて、
更新されていないとき、上記鍵の発行手段から鍵を取得し、取得した鍵を上記暗号化／復号化手段に渡して、上記要求されたデータを上記キャッシュファイルから読み出し、復号化して上記クライアントアプリケーションに渡し、
更新されているとき、上記サーバアプリケーションから更新されたデータを取得し、上記鍵の発行手段から鍵を取得し、取得した鍵を上記暗号化／復号化手段に渡して、上記取得したデータを暗号化して上記キャッシュファイルに格納し、暗号化しないデータを上記クライアントアプリケーションに渡す処理手段をさらに具備したことを特徴とする請求項１に記載の通信データ秘匿制御システム。
【請求項３】
上記通信手段は、上記クライアントアプリケーションに渡すデータのヘッダに、キャッシュ不可情報を付加する処理手段をさらに具備したことを特徴とする請求項１または２に記載の通信データ秘匿制御システム。
【請求項４】
上記クライアントシステムは、上記サーバシステムと接続している回線の状態を監視し、上記回線が切断されたとき、上記鍵の発行手段から取得した鍵を一定時間経過後に無効にする回線監視手段をさらに具備したことを特徴とする請求項１に記載の通信データ秘匿制御システム。
【請求項５】
上記サーバシステムは、上記クライアントアプリケーションとの間でデータ通信を行うサーバ側の通信手段を具備し、
上記通信手段は、上記クライアントアプリケーションに渡すデータが秘匿データであるか否かを判断し、秘匿データであることを判断したとき、上記クライアントアプリケーションに渡すデータに秘匿データであることを示すマークを付加する処理手段を具備したことを特徴とする請求項１に記載の通信データ秘匿制御システム。
【請求項６】
上記サーバシステムは、上記クライアントシステムのユーザーを認証する認証手段を具備し、
上記鍵の発行手段は、上記認証手段の認証を経て、鍵を発行することを特徴とする請求項１または５に記載の通信データ秘匿制御システム。
【請求項７】
サーバアプリケーションおよび鍵の発行手段を有するサーバシステムとクライアントアプリケーションおよびキャッシュファイルを有するクライアントシステムとの間におけるデータ通信に用いられるデータ秘匿制御方法であって、
上記クライアントシステムに、
上記鍵の発行手段から取得した鍵によりデータを暗号化および復号化する暗号化／復号化手段と、
上記サーバシステムのサーバアプリケーションとの間でデータ通信を行う通信手段とを具備し、
上記通信手段に、
上記サーバアプリケーションから取得したデータに秘匿データであることを示すマークが付されているか否かを判断する判断ステップと、
上記判断ステップで秘匿データであることを示すマークが付されていないことを判断したとき、上記サーバアプリケーションから取得したデータを上記キャッシュファイルに格納せず上記クライアントアプリケーションに渡す処理ステップと、
上記判断ステップで秘匿データであることを示すマークが付されていることを判断したとき、上記鍵の発行手段から鍵を取得し、取得した鍵を上記暗号化／復号化手段に渡して、上記サーバアプリケーションから取得したデータを暗号化して上記キャッシュファイルに格納し、暗号化しないデータを上記クライアントアプリケーションに渡す処理ステップと、
を具備したことを特徴とする通信データ秘匿制御方法。
【請求項８】
サーバアプリケーションおよび鍵の発行手段を有するサーバシステムとクライアントアプリケーションおよびキャッシュファイルを有するクライアントシステムとの間におけるデータ通信に用いられるデータ秘匿制御方法であって、
上記クライアントシステムに、
上記鍵の発行手段から取得した鍵によりデータを暗号化および復号化する暗号化／復号化手段と、
上記サーバシステムのサーバアプリケーションとの間でデータ通信を行う通信手段とを具備し、
上記通信手段に、
上記クライアントアプリケーションが上記サーバアプリケーションに対してデータ要求を発行したとき、このデータ要求に従うデータが上記キャッシュファイルに存在するか否かを調べるキャッシュの確認ステップと、
上記キャッシュの確認ステップで上記データ要求に従うデータが上記キャッシュファイルに存在することが確認されたとき、上記クライアントアプリケーションに代わって上記サーバアプリケーションと通信を行い、上記要求されたデータが更新されているか否かを調べるデータ更新の確認ステップと、
上記データ更新の確認ステップで上記要求されたデータが更新されていないことを確認したとき、上記鍵の発行手段から鍵を取得し、取得した鍵を上記暗号化／復号化手段に渡して、上記要求されたデータを上記キャッシュファイルから読み出し、復号化して上記クライアントアプリケーションに渡す第１処理ステップと、
上記データ更新の確認ステップで上記要求されたデータが更新されていることを確認したとき、上記サーバアプリケーションから、更新されたデータを取得し、上記鍵の発行手段から鍵を取得し、取得した鍵を上記暗号化／復号化手段に渡して、上記取得したデータを暗号化し、この暗号化したデータを上記キャッシュファイルに格納し、暗号化しないデータを上記クライアントアプリケーションに渡す第２処理ステップと、
上記キャッシュの確認ステップで上記データ要求に従うデータが上記キャッシュファイルに存在しないことが確認されたとき、上記データ要求に従うデータを上記サーバアプリケーションから取得し、取得したデータに秘匿データであることを示すマークが付されているか否かを判定する判定ステップと、
上記判定断ステップで秘匿データであることを示すマークが付されていないことを判定したとき、上記サーバアプリケーションから取得したデータを上記キャッシュファイルに格納せず上記クライアントアプリケーションに渡す第３処理ステップと、
上記判定ステップで秘匿データであることを示すマークが付されていることを判定したとき、上記鍵の発行手段から鍵を取得し、取得した鍵を上記暗号化／復号化手段に渡し、上記サーバアプリケーションから取得したデータを暗号化して上記キャッシュファイルに格納し、暗号化しないデータを上記クライアントアプリケーションに渡す第４処理ステップと、
を具備したことを特徴とする通信データ秘匿制御方法。
【請求項９】
上記第１乃至第４処理ステップは、上記クライアントアプリケーションに渡すデータのヘッダに、キャッシュ不可情報を付加するステップをさらに具備したことを特徴とする請求項８に記載の通信データ秘匿制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、サーバシステムとクライアントシステム間のデータ通信と格納技術、特に通信データの秘匿格納と再生制御に係る通信データ秘匿制御システム、及び通信データ秘匿制御方法に関する。
【０００２】
【従来の技術】
従来、サーバシステムとクライアントシステム間のデータ通信におけるデータ秘匿機能には、大きく分けて次の２つの実現方法がある。
（１）通信路のデータ秘匿機能
（２）格納データの秘匿機能
上記（１）の機能は、サーバシステムとクライアントシステムの通信層に暗号化等のデータ秘匿機能を付加し、通信路でのデータの盗聴や改竄を防止するものである。実際は、ルータやアクセスサーバといった通信制御装置自体、若しくは通信制御ソフトウェアと、クライアントシステムのプロトコルモジュールに秘匿機能を設ける方式と、サーバアプリケーションとクライアントアプリケーションに秘匿機能を設ける方式とがある。
【０００３】
一方、サーバから受信したデータは、場合によってはクライアントシステム内のファイルシステムに格納されるが、データによっては第三者に対する秘匿性を必要とする場合もある。
【０００４】
しかしながら、通信層からは暗号化されていない生のデータがクライアントシステムのアプリケーションに渡されるため、ファイルシステムに生のデータが格納されることになり、データの秘匿性を満たせない。
【０００５】
これを解決するために、上記（２）の格納データの秘匿機能を併せて使用する方法がある。例えば、ファイルを暗号化するモジュールをクライアントシステムに導入し、一旦格納されたデータをユーザの手によって秘匿し保存し直す方法である。
【０００６】
しかし、この方法では以下の（ａ）、（ｂ）に示すようにデータの秘匿性が保てないことがある。
（ａ）クライアントアプリケーションによっては、データのキャッシング機能を有するものがある。代表的なものにＷＷＷ（World Wide Web）のブラウザがある。
【０００７】
このＷＷＷブラウザでは、通信路のデータ秘匿が機能するような場合であっても、キャッシュファイルには生のデータが保存される。従って、第三者によりデータを盗み取られる虞がある。
【０００８】
（ｂ）ファイルを暗号化するモジュールを使用する場合、暗号化／復号化のためにはキーが必要である。このキーをどのように保存するかが問題となる。例えば、キーをパスワード等で暗号化しクライアントシステム内のファイルに保存する方式では、パスワードが破られればデータを盗み見られてしまう。特に、ユーザは操作性の点から安易なパスワードを付与することが多く、パスワードを解読される可能性が高い。
【０００９】
又、上記（１）において、サーバシステムとクライアントシステムのアプリケーション間でデータ秘匿機能を利用する場合には、双方でその機能が必要であるだけでなく、サーバシステム側のアプリケーションにおいて、データ毎の秘匿設定が必要となり、データ作成者、あるいは管理者の操作の煩雑さも増す。
【００１０】
【発明が解決しようとする課題】
無線／有線の通信インフラの整備に伴い、クライアントシステムを移動して運用するケースが増えてきている。例えば、営業員が客先等から電話回線を使用して社内のサーバシステムに接続しデータを閲覧するといった運用である。この場合、顧客データ等の機密性の高いデータにアクセスするような運用では、データにアクセスするためは、毎回社内システムに接続し、データ転送を行う必要がある。
【００１１】
一方で、通信コストを下げるために、クライアントシステム内に、機密データを一時的に保存する方法もある。この場合は上記で述べた（２）の格納データの秘匿機能を利用することになるが、機器を移動して使用することから機器の盗難や紛失の虞が増大し、上記（ｂ）の問題も含め、第三者によって機密データを盗み取られる虞がある。勿論、上記（２）記載の格納データの秘匿機能を利用していても、上記（ａ）のようなケースに対しては効果がないため、第三者により簡単に機密データを盗み取られてしまう。
【００１２】
又、サーバシステムとクライアントシステムのアプリケーション間でのデータ秘匿を行う場合は、設定／管理の煩雑さも課題となる。アプリケーションに極力依存しないで秘匿性を高める必要もある。
【００１３】
そこで、本発明は上記事情を考慮してなされたもので、上記不具合を解消し、クライアントシステムのユーザの操作性を損なうことなく、サーバシステムより取得したデータの秘匿性を高めるとともに、サーバシステムとクライアントシステムのアプリケーションに依存しないデータ秘匿転送と格納制御機能を有する通信データ秘匿制御システム、及び通信データ秘匿制御方法を提供することを目的とする。
【００１４】
【課題を解決するための手段】
本発明は、上記目的を達成するため、サーバアプリケーションおよび鍵の発行手段を有するサーバシステムとクライアントアプリケーションおよびキャッシュファイルを有するクライアントシステムとの間におけるデータ通信に使用されるデータ秘匿制御システムであって、上記クライアントシステムは、上記鍵の発行手段から取得した鍵によりデータを暗号化および復号化する暗号化／復号化手段と、上記サーバシステムのサーバアプリケーションとの間でデータ通信を行う通信手段とを具備し、上記通信手段は、上記サーバアプリケーションから取得したデータに秘匿データであることを示すマークが付されているか否かを判断し、秘匿データであることを示すマークが付されていないことを判断したとき、上記サーバアプリケーションから取得したデータを上記キャッシュファイルに格納せず上記クライアントアプリケーションに渡し、秘匿データであることを示すマークが付されていることを判断したとき、上記鍵の発行手段から鍵を取得し、取得した鍵を上記暗号化／復号化手段に渡して、上記サーバアプリケーションから取得したデータを暗号化して上記キャッシュファイルに格納し、暗号化しないデータを上記クライアントアプリケーションに渡すデータ取得処理手段を具備したことを特徴とする。
【００１５】
また、本発明は、サーバアプリケーションおよび鍵の発行手段を有するサーバシステムとクライアントアプリケーションおよびキャッシュファイルを有するクライアントシステムとの間におけるデータ通信に用いられるデータ秘匿制御方法であって、上記クライアントシステムに、上記鍵の発行手段から取得した鍵によりデータを暗号化および復号化する暗号化／復号化手段と、上記サーバシステムのサーバアプリケーションとの間でデータ通信を行う通信手段とを具備し、上記通信手段に、上記サーバアプリケーションから取得したデータに秘匿データであることを示すマークが付されているか否かを判断する判断ステップと、上記判断ステップで秘匿データであることを示すマークが付されていないことを判断したとき、上記サーバアプリケーションから取得したデータを上記キャッシュファイルに格納せず上記クライアントアプリケーションに渡す処理ステップと、上記判断ステップで秘匿データであることを示すマークが付されていることを判断したとき、上記鍵の発行手段から鍵を取得し、取得した鍵を上記暗号化／復号化手段に渡して、上記サーバアプリケーションから取得したデータを暗号化して上記キャッシュファイルに格納し、暗号化しないデータを上記クライアントアプリケーションに渡す処理ステップと、を具備したことを特徴とする。
【００１６】
また、本発明は、サーバアプリケーションおよび鍵の発行手段を有するサーバシステムとクライアントアプリケーションおよびキャッシュファイルを有するクライアントシステムとの間におけるデータ通信に用いられるデータ秘匿制御方法であって、上記クライアントシステムに、上記鍵の発行手段から取得した鍵によりデータを暗号化および復号化する暗号化／復号化手段と、上記サーバシステムのサーバアプリケーションとの間でデータ通信を行う通信手段とを具備し、上記通信手段に、上記クライアントアプリケーションが上記サーバアプリケーションに対してデータ要求を発行したとき、このデータ要求に従うデータが上記キャッシュファイルに存在するか否かを調べるキャッシュの確認ステップと、上記キャッシュの確認ステップで上記データ要求に従うデータが上記キャッシュファイルに存在することが確認されたとき、上記クライアントアプリケーションに代わって上記サーバアプリケーションと通信を行い、上記要求されたデータが更新されているか否かを調べるデータ更新の確認ステップと、上記データ更新の確認ステップで上記要求されたデータが更新されていないことを確認したとき、上記鍵の発行手段から鍵を取得し、取得した鍵を上記暗号化／復号化手段に渡して、上記要求されたデータを上記キャッシュファイルから読み出し、復号化して上記クライアントアプリケーションに渡す第１処理ステップと、上記データ更新の確認ステップで上記要求されたデータが更新されていることを確認したとき、上記サーバアプリケーションから、更新されたデータを取得し、上記鍵の発行手段から鍵を取得し、取得した鍵を上記暗号化／復号化手段に渡して、上記取得したデータを暗号化し、この暗号化したデータを上記キャッシュファイルに格納し、暗号化しないデータを上記クライアントアプリケーションに渡す第２処理ステップと、上記キャッシュの確認ステップで上記データ要求に従うデータが上記キャッシュファイルに存在しないことが確認されたとき、上記データ要求に従うデータを上記サーバアプリケーションから取得し、取得したデータに秘匿データであることを示すマークが付されているか否かを判定する判定ステップと、上記判定断ステップで秘匿データであることを示すマークが付されていないことを判定したとき、上記サーバアプリケーションから取得したデータを上記キャッシュファイルに格納せず上記クライアントアプリケーションに渡す第３処理ステップと、上記判定ステップで秘匿データであることを示すマークが付されていることを判定したとき、上記鍵の発行手段から鍵を取得し、取得した鍵を上記暗号化／復号化手段に渡し、上記サーバアプリケーションから取得したデータを暗号化して上記キャッシュファイルに格納し、暗号化しないデータを上記クライアントアプリケーションに渡す第４処理ステップと、を具備したことを特徴とする。
【００２９】
【発明の実施の形態】
以下、図面を参照して本発明の一実施形態を説明する。
（第１の実施形態）
図１は本発明の第１の実施形態に係るクライアントシステム１０とサーバシステム２０との構成を概念的に示す図である。
【００３０】
クライアントシステム１０は、アプリケーション部１１、通信部１２、暗号化／複号化部１３、回線監視部１４、鍵部１５、キャッシュファイル１６、キャッシュファイル１７にて構成されている。
【００３１】
アプリケーション部１１は、クラインアトシステム１０にインストールされているアプリケーションソフトウェアであり、サーバシステム２０のアプリケーション部２１に対してデータの要求等を行う。
【００３２】
通信部１２は、アプリケーション部１１からサーバシステム２０へ送信するデータまたはサーバシステム２０から受信するデータの送受信の制御等を行う。
暗号化／復号化部１３は通信部１２とキャッシュファイル１７に接続し、送受信するデータを暗号化してキャッシュファイル１７に格納したり、暗号化されている場合は復号化をしてキャシュファイル１７から取り出す。ここで、この暗号化／復号化にはサーバシステム２０の認証部２４が発行する鍵が必要となる。
【００３３】
回線監視部１４は通信部１２と鍵部１５に接続し、通信部１２からの鍵要求を受付けて、有効な鍵を保持しているかどうかを確認し、鍵の入手や入手した鍵の鍵部１５への保存等を行う。
【００３４】
一方、サーバシステム２０は、アプリケーション部２１、通信部２２、秘匿データ名一覧部２３、認証部２４、鍵一覧部２５にて構成されている。
アプリケーション部２１は、サーバシステム２０にインストールされているアプリケーションソフトウェアであり、アプリケーション部１１の要求に基づきデータの提供等を行う。
【００３５】
通信部２２は、アプリケーション部２１からクライアントシステム１０へ送信するデータまたはクライアントシステム１０から受信するデータの送受信の制御等を行う。
【００３６】
秘匿データ名一覧部２３は通信部２２に接続され、秘匿データ名の一覧情報を保持している。
認証部２４は、ユーザ名やパスワード並びにそれに対応する鍵等の一覧情報を保持する鍵一覧部２５を接続し、クライアントシステム１０のユーザを認証し鍵を発行する。
【００３７】
本発明の主旨が実施されていない場合は、クライアントシステム１０のアプリケーション部１１と、サーバシステム２０のアプリケーション部２１の間で直接通信がなされており、アプリケーション部１１が通信に利用したキャッシュデータはキャッシュファイル１６にそのまま保存されていたとする。即ち、機密データであっても、直接キャッシュファイルにアクセスすることにより、内容の読み出しが可能である。
【００３８】
以下にアプリケーション部１１とアプリケーション部２１との間の通信を図２乃至図５のフローチャートを参照して説明する。
まず、クライアントシステム１０を利用しているユーザは、アプリケーション部１１を使用して、サーバシステム上で動作しているアプリケーション部２１にリクエストを発行する。実際は、通信アドレスとポートを設定し直し、通信部１２をアプリケーション部２１と見倣すようにすることで、アプリケーション部１１のリクエストは通信部１２に渡される（図２ステップＡ１）。
【００３９】
通信部１２は、そのリクエストに対するデータがキャッシュファイル１７に存在すかどうかチェックする（図２ステップＡ２）。
キャッシュファイル１７に存在しない場合は（図２ステップＡ２のＮＯ）、回線を接続し、通信部２２にリクエストを渡し、通信部２２での処理を経た後、通信部２２からデータを取得する（図２ステップＡ８）。
【００４０】
上記の通信部２２での処理は、図３のフローチャートを用いて後述する。
通信部１２は、通信部２２より返されたデータに秘匿データであることを示すマークが付いていない場合は（図２ステップＡ９のＮＯ）、受け取ったデータをキャッシュファイル１７に格納せず、そのままアプリケーション部１１に送信して（図２ステップＡ７）、処理は終了する。
【００４１】
通信部１２は、通信部２２より返されたデータに秘匿データであることを示すマークが付いている場合は（図２ステップＡ９のＹＥＳ）、回線監視部１４より鍵を入手する。この鍵を入手する処理は、図４のフローチャートを用いて後述する。
【００４２】
鍵を入手しデータを暗号化／復号化部１３を介して暗号化した後にキャッシュファイル１７に格納する（図２ステップＡ１１）。アプリケーション部１１には、キャッシュ不可のマークを付け（図２ステップＡ６）、暗号化されていないデータを返す（図２ステップＡ７）。
【００４３】
また、通信部１２は、アプリケーション部１１より受け取ったリクエストに対するデータがキャッシュファイル１７に格納してあった場合は（図２ステップＡ２のＹＥＳ）、キャッシュの整合性をとるために通信部２２を介してデータの更新情報を入手する（図２ステップＡ３）。
【００４４】
データが更新されていた場合は（図２ステップＡ４のＹＥＳ）、ステップＡ２のＮＯの場合と同様にして新たにデータを入手する（図２ステップＡ１０）。
データが更新されていなかった場合は（図２ステップＡ４のＮＯ）、回線監視部１４より鍵を入手する。
【００４５】
この際の鍵を入手する処理は、図４のフローチャートを用いて後述する。
鍵を入手したならば暗号化／復号化部１３を介してキャッシュファイル１７からデータを復号化して取り出し（図２ステップＡ５）、アプリケーション部１１には、キャッシュ不可のマークを付けて（図２ステップＡ６）、暗号化されていないデータを返す（図２ステップＡ７）。
【００４６】
また、ユーザ設定により、回線が接続されていないときはキャッシュの整合性はチェックしないとすることで、通信コストを抑えることもできる。
ここで、上記した図２のステップＡ２のＮＯ、またはステップＡ４のＹＥＳの処理後の通信部２２での処理を図３のフローチャートを用いて説明する。
【００４７】
データがキャッシュファイル１７に存在しない場合（図２ステップＡ２のＮＯ）、通信部２２は、通信部１２よりリクエストを受け取る（図３ステップＢ１）。
【００４８】
通信部２２はアプリケーション部２１にリクエストを発行し、データを入手する（図３ステップＢ２）。同時に、そのデータ名を秘匿データ名一覧部２３と比較し（図３ステップＢ３）、一致した場合は（図３ステップＢ３のＹＥＳ）、データのヘッダに秘匿データであることを示すマークを付加し（図３ステップＢ５）、通信部１２に返す（図３ステップＢ４）。
【００４９】
アプリケーション部２１より入手したデータが秘匿データ名一覧部２３と一致しなかった場合は（図３ステップＢ３のＮＯ）、ヘッダには何も施さずに通信部１２にデータを返す（図３ステップＢ４）。
【００５０】
以上で通信部２２での処理は終わり、通信部１２は通信部２２からデータを取得する（図２ステップＡ８）。
上記したステップＡ４のＹＥＳの場合も上記と同様にステップＢ１以下の処理で通信部１２は通信部２２からデータを取得する（図２ステップＡ１０）。
【００５１】
次に、図２のステップＡ４のＮＯまたはステップＡ１０の処理後の回線監視部１４から鍵を入手する処理を図４のフローチャートを用いて以下に説明する。
暗号化／復号化部１３はキャッシュファイル１７にデータを暗号化して格納したり、復号化して取り出すために鍵が必要である。この鍵は回線を介して、サーバシステム２０の認証部２４より取り寄せたものである。この鍵の入手と管理は、回線監視部１４によって次のようになされる。
【００５２】
回線監視部１４は通信部１２から鍵要求を受け付けると（図４ステップＣ１）、まず、有効な鍵を保持しているかを確認する（図４ステップＣ２）。ここで有効とは、回線が接続されており且つ鍵を入手済みの場合、或いは回線は接続されていないが以前に入手した鍵の有効時間がまだ切れていない場合を指すものとする。有効な鍵を保持していた場合は（図４ステップＣ２のＹＥＳ）、それを通信部１２に返す（図４ステップＣ７）。
【００５３】
一方、有効な鍵を保持していなかった場合には（図４ステップＣ２のＮＯ）、回線監視部１４は回線を接続し（図４ステップＣ３）、認証部２４より鍵を入手し（図４ステップＣ４）、鍵部１５に保存する（図４ステップＣ５）。
【００５４】
認証部２４は、例えばユーザ名とパスワード、それに対応する鍵を格納した鍵一覧部２５を保持しており、回線監視部１４が送ったユーザ名、パスワードと一致するエントリがあった場合は、その鍵を回線監視部１４に返せばよい。
【００５５】
また、このとき、回線監視部１４が入手した鍵の有効時間はまだ確定していないので、鍵の有効時間を最大に設定し（図４ステップＣ６）、鍵を通信部１２に返す（図４ステップＣ７）。
【００５６】
回線が切れたことを回線監視部１４が検出した際には、有効時間を設定する。
回線が切れたことを検出した場合の有効時間の設定処理は、図５のフローチャートにより説明する。
【００５７】
回線監視部１４は、回線が切れたことを検出したら（図５ステップＤ１）、鍵を保持しているか否かを判定する（図５ステップＤ２）。
ここで鍵を保持していたら（図５ステップＤ２のＹＥＳ）、鍵の有効時間を設定する（図５ステップＤ３）。鍵を保持していなかったら（図５ステップＤ２のＮＯ）、処理を終了する。
【００５８】
以上のようにして通信部１２は鍵を入手し以後の処理を行う。
（第２の実施形態）以下、第２の実施形態におけるクライアントシステム３０とサーバシステム４０とを概念的に示す構成図を図６に示す。
【００５９】
前述した第１の実施形態との差異は、暗号化／復号化機能をクライアントシステム３０とサーバシステム４０に分散していることである。
クライアントシステム３０は、アプリケーション部３１、通信部３２、複号化部３３、回線監視部３４、鍵部３５、キャッシュファイル３６、及びキャッシュファイル３７にて構成されている。
【００６０】
アプリケーション部３１は、クラインアトシステム３０にインストールされているアプリケーションソフトウェアであり、サーバシステム４０のアプリケーション部４１に対してデータの要求等を行う。
【００６１】
通信部３２は、アプリケーション部３１からサーバシステム４０へ送信するデータまたはサーバシステム４０から受信するデータの送受信の制御等を行う。
復号化部３３は、データが暗号化されている場合はその復号化をしてキャシュファイル３７から取り出す。この復号化にはサーバシステム４０の認証部４４が発行する鍵が必要となる。
【００６２】
回線監視部３４は、通信部３２からの鍵要求を受付け、有効な鍵を保持しているか否かを確認し、鍵の入手、入手した鍵の鍵部３５への保存等を行う。
一方、サーバシステム４０は、アプリケーション部４１、通信部４２、秘匿データ名一覧部４３、認証部４４、鍵一覧部４５、及び暗号化部４６にて構成されている。
【００６３】
アプリケーション部４１は、サーバシステム４０にインストールされているアプリケーションソフトウェアであり、アプリケーション部３１の要求に基づきデータの提供等を行う。
【００６４】
通信部４２は、アプリケーション部４１からクライアントシステム３０へ送信するデータまたはクライアントシステム３０から受信するデータの送受信の制御等を行う。
【００６５】
秘匿データ名一覧部４３は、秘匿データ名の一覧情報を保持している。
認証部４４は、クライアントシステム３０のユーザを認証し鍵を発行する。
鍵一覧部４５は、ユーザ名、パスワード、それに対応する鍵等の一覧情報を保持している。
【００６６】
暗号化部４６は、データを暗号化して通信部４２に渡す。
上記構成につき以下にその動作を図７、図８及び図９のフローチャートを参照して説明する。
【００６７】
クライアントシステム３０を利用しているユーザは、アプリケーション部３１を使用して、サーバシステム４０上で動作しているアプリケーション部４１にリクエストを発行する。実際は、通信アドレスとポートを設定し直し、通信部３２をアプリケーション部４１と見倣すようにすることで、アプリケーション部３１のリクエストは通信部３２に渡される（図７ステップＥ１）。
【００６８】
通信部３２は、そのリクエストに対するデータがキャッシュファイル３７に存在するかどうかチェックする（図７ステップＥ２）。キャッシュファイル３７に存在しない場合は（図７ステップＥ２のＮＯ）、回線を接続し、通信部４２にリクエストを渡し、通信部４２での処理を経た後、通信部４２からデータを取得する（図７ステップＥ８）。
【００６９】
上記した通信部４２での処理については図８に示すフローチャートを用いて後に説明する。
通信部３２は、通信部４２より返されたデータに秘匿データであることを示すマークが付いていない場合（図７ステップＥ９のＮＯ）は、受け取ったデータをキャッシュファイル３７に格納せず、そのままアプリケーション部３１に送信して（図７ステップＥ７）、処理を終了する。
【００７０】
通信部３２は、通信部４２より返されたデータに秘匿データであることを示すマークが付いている場合は（図７ステップＥ９のＹＥＳ）、データを暗号化されたままキャッシュファイル３７に保存する（図７ステップＥ１１）。
【００７１】
次に、回線監視部３４より鍵を入手する。この鍵を入手する処理は、図９のフローチャートを用いて後に説明する。
鍵を入手し、キャッシュファイル３７に保存したデータを復号化部３４を介して復号化した（図７ステップＥ１２）後、アプリケーション部３１には、キャッシュ不可のマークを付け（図７ステップＥ６）、暗号化されていないデータを返す（図７ステップＥ７）。
【００７２】
また、通信部３２は、アプリケーション部３１より受け取ったリクエストに対するデータがキャッシュファイル３７に格納してあった場合は（図７ステップＥ２のＹＥＳ）、キャッシュの整合性をとるために通信部４２を介してデータの更新情報を入手する（図７ステップＥ３）。
【００７３】
データが更新されていた場合は（図７ステップＥ４のＹＥＳ）、図７のステップＥ２のＮＯの場合と同様にして新たにデータを入手する（図７ステップＥ１０）。
【００７４】
また、データが更新されていない場合（図７ステップＥ４のＮＯ）、クライアントシステム３０の通信部３２は、サーバシステム４０の通信部４２より受け取ったデータのヘッダに秘匿情報が付加されていた際に、データが暗号化されているので、回線監視部３４より鍵を入手してキャッシュファイル３７に保存してあるデータを復号化し（図７ステップＥ５）、ヘッダにはキャッシュ不可情報を付加して（図７ステップＥ６）、アプリケーション部３１に渡す（図７ステップＥ７）。また、キャッシュファイル３７へは、データを復号化せずに暗号化したままで保存する。
【００７５】
このようにすることで、本発明の実施形態では、クライアントシステムに暗号化の機能が不要となる。例えば、復号化の速いアルゴリズムを適用すれば、応答性能を劣化させずに、通信路と、一時的に保存される通信データの秘匿が実現できる。
【００７６】
ここで、上記した図７のステップＥ２のＮＯ、またはステップＥ４のＹＥＳの処理後の通信部４２での処理を図８のフローチャートを用いて説明する。
データがキャッシュファイル３７に存在しない場合（図７ステップＥ２のＮＯ）、通信部４２は、通信部３２よりリクエストを受け取る（図８ステップＦ１）。
【００７７】
通信部４２はアプリケーション部４１にリクエストを発行し、データを入手する（図８ステップＦ２）。
同時に、そのデータ名を秘匿データ名一覧部４３と比較し（図８ステップＦ３）、一致した場合は（図８ステップＦ３のＹＥＳ）、認証部４４より回線を接続しているユーザに対する鍵を取り出す（図８ステップＦ５）。
【００７８】
ここで得られた鍵を使って暗号化部４６によりデータを暗号化する（図８ステップＦ６）。
データのヘッダに秘匿データであることを示すマークを付加し（図８ステップＦ７）、通信部３２に返す（図８ステップＦ４）。
【００７９】
アプリケーション部４１より入手したデータが秘匿データ名一覧部４３と一致しなかった場合は（図８ステップＦ３のＮＯ）、ヘッダには何も施さずに通信部３２にデータを返す（図８ステップＦ４）。
【００８０】
以上で通信部４２での処理を終了し、通信部３２は通信部４２からデータを取得する（図８ステップＥ８）。
上記した図７のステップＥ４のＹＥＳの場合も上記と同様に、図８のステップＦ１以下の処理にて通信部３２が通信部４２からデータを取得する（図８ステップＥ１０）。
【００８１】
次に、上記した図７のステップＥ４のＮＯ、またはステップＥ１１の処理後の回線監視部３４から鍵を入手する処理を図９のフローチャートを用いて以下に説明する。
【００８２】
復号化部３３はキャッシュファイル３７のデータを復号化して取り出すために鍵が必要である。この鍵は回線を介して、サーバシステム４０の認証部４４より取り寄せたものである。この鍵の入手と管理は、回線監視部３４によって次のようになされる。
【００８３】
回線監視部３４は通信部３２から鍵要求を受け付けると（図９ステップＧ１）、まず、有効な鍵を保持しているかを確認する（図９ステップＧ２）。
ここで有効とは、回線が接続されており且つ鍵を入手済みの場合、或いは回線は接続されていないが以前に入手した鍵の有効時間がまだ切れていない場合を指すものとする。
【００８４】
有効な鍵を保持していた場合は（図９ステップＧ２のＹＥＳ）、それを通信部３２に返す（図９ステップＧ７）。
一方、有効な鍵を保持していなかった場合には（図９ステップＧ２のＮＯ）、回線監視部３４は回線を接続し（図９ステップＧ３）、認証部４４より鍵を入手し（図９ステップＧ４）、鍵部３５に保存する（図９ステップＧ５）。
【００８５】
認証部４４は、例えばユーザ名とパスワード、それに対応する鍵を格納した鍵一覧部４５を保持しており、回線監視部３４が送ったユーザ名、パスワードと一致するエントリがあった場合は、その鍵を回線監視部３４に返せばよい。
【００８６】
また、このとき、回線監視部３４が入手した鍵の有効時間はまだ確定していないので、鍵の有効時間を最大に設定し（図９ステップＧ６）、鍵を通信部３２に返す（図９ステップＧ７）。
【００８７】
回線が切れたことを回線監視部３４が検出した際には、有効時間を設定する。
回線が切れたことを検出した場合の有効時間の設定処理は、図５のフローチャートの処理と同様であるので説明は省略する。
以上の様にして通信部３２は鍵を入手し以後の処理を行う。
【００８８】
【発明の効果】
以上詳記したように本発明によれば、クライアントシステムのユーザの操作性を損なうことなく、サーバシステムより取得したデータの秘匿性を高めるとともに、サーバシステムとクライアントシステムのアプリケーションに依存しないデータ秘匿転送と格納制御機能を有する通信データ秘匿方式が提供できる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係るシステム全体の構成を概念的に示すブロック図。
【図２】同実施の形態に係る、通信部１２を中心としたデータ要求の処理動作を示すフローチャート。
【図３】同実施の形態に係る、通信部２２を中心とした秘匿データチェックの処理動作を示すフローチャート。
【図４】同実施の形態に係る、回線監視部１４を中心とした鍵を渡す処理動作を示すフローチャート。
【図５】同実施の形態に係る、回線監視部１４を中心とした鍵の有効時間を設定する処理動作を示すフローチャート。
【図６】本発明の第２の実施形態に係るシステム全体の構成を概念的に示すブロック図。
【図７】同実施の形態に係る、通信部３２を中心としたデータ要求の処理動作を示すフローチャート。
【図８】同実施の形態に係る、通信部４２を中心とした秘匿データチェックの処理動作を示すフローチャート。
【図９】同実施の形態に係る、回線監視部３４を中心とした鍵を渡す処理動作を示すフローチャート。
【符号の説明】
１０，３０…クライアントシステム
１１，３１…アプリケーション部
１２，３２…通信部
１３…暗号化／複合化部
１４，３４…回線監視部
１５，３５…鍵部
１６，１７，３６，３７…キャッシュファイル
２０，４０…サーバシステム
２１，４１…アプリケーション部
２２，４２…通信部
２３，４３…秘匿データ名一覧部
２４，４４…認証部
２５，４５…鍵一覧部
３３…複合化部
４６…暗号化部
【図１】
0004131581.tif 000002
【図２】
0004131581.tif 000003
【図３】
0004131581.tif 000004
【図４】
0004131581.tif 000005
【図５】
0004131581.tif 000006
【図６】
0004131581.tif 000007
【図７】
0004131581.tif 000008
【図８】
0004131581.tif 000009
【図９】
0004131581.tif 000010