(57)【特許請求の範囲】
【請求項１】
アプリケーション・プログラムを動作させるサーバ装置と、利用者の指示に基づき前記サーバ装置と通信して前記利用者に前記アプリケーション・プログラムを利用させるクライアント装置とを備えたシステムであって、
前記サーバ装置は、
前記サーバ装置および前記クライアント装置によって情報を共有するための共有領域に対して前記アプリケーション・プログラムからデータを出力させる処理である出力処理を検出する出力検出部と、
前記出力処理の検出に応じ、前記アプリケーション・プログラムから出力させた出力データに代えて、正規の前記クライアント装置であると認証するための認証データを示す指示情報を、前記共有領域に記憶させる出力制御部と
を有し、
前記クライアント装置は、
前記共有領域からデータを読み出す処理である読出処理を検出する読出検出部と、
前記読出処理の検出に応じ、前記指示情報を前記共有領域から読み出して、前記指示情報が示す前記認証データにより、前記出力データを取得する読出制御部と
を有するシステム。
【請求項２】
前記出力制御部は、前記出力処理の検出に応じ、前記サーバ装置によってアクセス可能かつ前記クライアント装置によってアクセス不能な局所領域に前記出力データを記憶させ、
前記読出制御部は、前記読出処理の検出に応じ、前記指示情報として読み出した前記認証データを、前記出力データの取得要求に対応付けて前記サーバ装置に送信し、
前記サーバ装置は、前記読出制御部から前記取得要求および前記認証データを受けたことに応じ、前記認証データに基づいて前記クライアント装置を認証し、認証に成功したことを条件に、前記出力データを前記局所領域から読み出して前記クライアント装置に送信する認証部を更に有する
請求項１に記載のシステム。
【請求項３】
前記出力制御部は、前記出力処理の検出に応じ、正規の前記クライアント装置によって復元可能な形式に前記出力データを変換して前記共有領域に記憶させ、更に、
変換された前記出力データを復元する方法を示す復元情報を前記指示情報として前記共有領域に記憶させ、
前記読出制御部は、前記読出処理の検出に応じ、前記指示情報として読み出した前記復元情報に基づいて、変換された前記出力データを復元する
請求項１に記載のシステム。
【請求項４】
前記出力制御部は、前記出力処理の検出に応じ、前記出力データを暗号化して前記共有領域に記憶させ、更に、暗号化された前記出力データを復号化する復号鍵を前記復元情報として前記共有領域に記憶させ、
前記読出制御部は、前記読出処理の検出に応じ、前記指示情報として読み出した前記復号鍵によって、暗号化された前記出力データを復号化する
請求項３に記載のシステム。
【請求項５】
前記出力制御部は、前記出力処理の検出に応じ、前記出力データを複数の分割データに分割して前記共有領域に記憶させ、更に、前記複数の分割データから前記出力データを復元する情報を示す前記復元情報を前記共有領域に記憶させ、
前記読出制御部は、前記読出処理の検出に応じ、前記指示情報として読み出した前記復元情報に基づいて、前記複数の分割データを前記共有領域から読み出して結合することにより前記出力データを復元する
請求項３に記載のシステム。
【請求項６】
前記出力制御部は、前記出力処理の検出に応じ、前記出力データではなく前記指示情報である旨を示す識別子を含めて、前記指示情報を前記共有領域に記憶させ、
前記読出制御部は、前記読出処理の検出に応じ、前記共有領域から読み出されるデータが前記識別子を含むことを条件に、前記指示情報に基づいて前記出力データを取得する
請求項３に記載のシステム。
【請求項７】
前記サーバ装置は、前記アプリケーション・プログラムの表示画面を、画面の表示イメージとして前記クライアント装置に提供する装置であり、
前記出力検出部は、前記アプリケーション・プログラムによって表示されたデータを、前記表示イメージとは異なる内部処理データとして前記共有領域に出力させる、データコピー処理を、前記出力処理として検出し、
前記読出検出部は、前記内部処理データを読み出して、前記クライアント装置のアプリケーション・プログラムから編集可能な状態に管理するデータペースト処理を、前記読出処理として検出する
請求項１に記載のシステム。
【請求項８】
前記共有領域は、情報をプリンタに印刷させる印刷コマンドを記憶するための領域であり、
前記出力検出部は、前記アプリケーション・プログラムによって表示されたデータを、前記クライアント装置からアクセス可能なプリンタに印刷させるために、印刷コマンドを前記共有領域に出力する処理を、前記出力処理として検出し、
前記読出検出部は、前記アプリケーション・プログラムによって表示されたデータを、前記クライアント装置からアクセス可能なプリンタに印刷させるために、印刷コマンドを前記共有領域から読み出す処理を、前記読出処理として検出する
請求項１に記載のシステム。
【請求項９】
前記共有領域は、前記クライアント装置のファイルシステムによって管理された記憶領域であって、前記サーバ装置によってアクセス可能とするために前記サーバ装置のファイルシステムの一部としてマウントされた領域であり、
前記出力検出部は、前記アプリケーション・プログラムから前記サーバ装置の前記ファイルシステムに対する書き込み対象のパスが前記共有領域であることを条件に、当該ファイルシステムに対する書き込みを前記出力処理として検出し、
前記読出検出部は、前記クライアント装置のファイルシステムに対するアクセスを、前記読出処理として検出する
請求項１に記載のシステム。
【請求項１０】
アプリケーション・プログラムを動作させるサーバ装置と、利用者の指示に基づき前記サーバ装置と通信して前記利用者に前記アプリケーション・プログラムを利用させるクライアント装置とを備えたシステムにおけるサーバ装置であって、
前記サーバ装置および前記クライアント装置によって情報を共有するための共有領域に対して前記アプリケーション・プログラムからデータを出力させる処理である出力処理を検出する出力検出部と、
前記出力処理の検出に応じ、前記アプリケーション・プログラムから出力させた出力データに代えて、正規の前記クライアント装置であると認証するための認証データを示す指示情報を、前記共有領域に記憶させる出力制御部と
を備えるサーバ装置。
【請求項１１】
アプリケーション・プログラムを動作させるサーバ装置と、利用者の指示に基づき前記サーバ装置と通信して前記利用者に前記アプリケーション・プログラムを利用させるクライアント装置とを備えたシステムにおけるクライアント装置であって、
前記サーバ装置および前記クライアント装置によって情報を共有するための共有領域からデータを読み出す処理である読出処理を検出する読出検出部と、
前記読出処理の検出に応じ、正規の前記クライアント装置であると認証するための認証データを示す指示情報を、前記共有領域から読み出して、前記指示情報が示す前記認証データにより、前記アプリケーション・プログラムから出力させた出力データを取得する読出制御部と
を備えるクライアント装置。
【請求項１２】
アプリケーション・プログラムを動作させるサーバ装置と、利用者の指示に基づき前記サーバ装置と通信して前記利用者に前記アプリケーション・プログラムを利用させるクライアント装置とを備えたシステムにおいて、データの送受信を制御する方法であって、
前記サーバ装置において、
前記サーバ装置および前記クライアント装置によって情報を共有するための共有領域に対して前記アプリケーション・プログラムからデータを出力させる処理である出力処理を検出するステップと、
前記出力処理の検出に応じ、前記アプリケーション・プログラムから出力させた出力データに代えて、正規の前記クライアント装置であると認証するための認証データを示す指示情報を、前記共有領域に記憶させるステップと、
前記クライアント装置において、
前記共有領域からデータを読み出す処理である読出処理を検出するステップと、
前記読出処理の検出に応じ、前記指示情報を前記共有領域から読み出して、前記指示情報が示す前記認証データにより、前記出力データを取得するステップと
を有する方法。
【請求項１３】
アプリケーション・プログラムを動作させるサーバ装置と、利用者の指示に基づき前記サーバ装置と通信して前記利用者に前記アプリケーション・プログラムを利用させるクライアント装置とを備えたシステムにおけるサーバ装置として、情報処理装置を機能させるプログラムであって、
前記情報処理装置を、
前記サーバ装置および前記クライアント装置によって情報を共有するための共有領域に対して前記アプリケーション・プログラムからデータを出力させる処理である出力処理を検出する出力検出部と、
前記出力処理の検出に応じ、前記アプリケーション・プログラムから出力させた出力データに代えて、正規の前記クライアント装置であると認証するための認証データを示す指示情報を、前記共有領域に記憶させる出力制御部と
して機能させるプログラム。
【請求項１４】
アプリケーション・プログラムを動作させるサーバ装置と、利用者の指示に基づき前記サーバ装置と通信して前記利用者に前記アプリケーション・プログラムを利用させるクライアント装置とを備えたシステムにおけるクライアント装置として、情報処理装置を機能させるプログラムであって、
前記情報処理装置を、
前記サーバ装置および前記クライアント装置によって情報を共有するための共有領域からデータを読み出す処理である読出処理を検出する読出検出部と、
前記読出処理の検出に応じ、正規の前記クライアント装置であると認証するための認証データを示す指示情報を、前記共有領域から読み出して、前記指示情報が示す前記認証データにより、前記アプリケーション・プログラムから出力させた出力データを取得する読出制御部と
して機能させるプログラム。
【請求項１５】
アプリケーション・プログラムを動作させるサーバ装置の機能と、利用者の指示に基づき前記サーバ装置と通信して前記利用者に前記アプリケーション・プログラムを利用させるクライアント装置の機能とを、複数の情報処理装置のそれぞれに実装する方法であって、
第１の前記情報処理装置に対し、
前記サーバ装置および前記クライアント装置によって情報を共有するための共有領域に対して前記アプリケーション・プログラムからデータを出力させる処理である出力処理を検出する機能と、
前記出力処理の検出に応じ、前記アプリケーション・プログラムから出力させた出力データに代えて、正規の前記クライアント装置であると認証するための認証データを示す指示情報を、前記共有領域に記憶させる機能と
の少なくとも一部を実装するステップと、
第２の前記情報処理装置に対し、
前記共有領域からデータを読み出す処理である読出処理を検出する機能と、
前記読出処理の検出に応じ、前記指示情報を前記共有領域から読み出して、前記指示情報が示す前記認証データにより、前記出力データを取得する機能と
の少なくとも一部を実装するステップと
を備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報の不正な取得を防止するシステムおよびその方法に関する。特に、本発明は、不正なクライアント装置によって、サーバ装置から情報を取得することを防止するシステムおよびその方法に関する。
【背景技術】
【０００２】
近年、情報の漏洩を防止する技術として、Ｓｅｒｖｅｒ−Ｂａｓｅｄ  Ｃｏｍｐｕｔｉｎｇ（以下、ＳＢＣと呼ぶ）が注目されている。ＳＢＣにおいては、サーバ装置によってアプリケーション・プログラムを動作させ、クライアント装置ではその出力を画面に表示し、または、利用者の入力をサーバ装置に送信する。従って、アプリケーション・プログラムの実行に必要なデータや実行結果はサーバ装置のみに記憶され、クライアント装置には記憶されない。このため、クライアント装置を通じた機密情報の不正な持ち出しを防止することができる。【０００３】
情報の漏洩防止を徹底するためには、クライアント装置は、独自の記憶装置を搭載していない方が好ましく、入力デバイスと表示装置のみを備えた専用端末（Ｔｈｉｎ  Ｃｌｉｅｎｔと呼ばれる）であるべきである。しかしながら、パーソナル・コンピュータなどと比べて専用端末は普及しておらず、このため、専用端末の導入には費用や手間がかかるという問題がある。また、クライアント装置に独自の記憶装置を搭載させておけば、機密情報を使用しないアプリケーション・プログラムはクライアント装置で動作させることができるので、サーバ装置の負荷を軽減できる。このため、現状では、パーソナル・コンピュータなどがＳＢＣのクライアント装置として用いられる場合が多い。【０００４】
【非特許文献１】マイクロソフト社「ターミナル  サービス」http://www.microsoft.com/technet/prodtechnol/windowsserver2003/ja/library/ServerHelp/7c464857-fe19-4cdf-a39b-dac3ff9b6b7c.mspx
【非特許文献２】シトリックス社  「メタフレーム・プレゼンテーション・サーバの仕組み」http://www.citrix.co.jp/products/mps/construction.html
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、クライアント装置が独自の記憶装置を搭載している場合には、サーバ装置で用いられる機密情報がクライアント装置の記憶装置にコピーされ、不正に持ち出される恐れがある。例えば、ウィンドウズ・ターミナル・サーバ（非特許文献１を参照。）などにおいては、利用者の利便性を向上させるために、サーバ装置およびクライアント装置の間で仮想的に情報を共有するためのクリップボードの機能が提供されている。この機能を用いれば、サーバ装置からデータ（画面の表示イメージではなく、文字列データや数値データなどの編集可能なデータ）を、クリップボードに出力させることができ、また、それをクライアント装置の記憶装置にコピーさせることができる。【０００６】
また、ウィンドウズ・ターミナル・サーバやシトリックス社のメタフレーム（非特許文献２を参照。）などにおいては、クライアント装置のＭＡＣアドレスやＩＰアドレスによってアクセスを制限する機能が設けられている。しかしながら、ＩＰアドレスやＭＡＣアドレスを偽装された場合には、不正なクライアント装置からのアクセスを許可してしまう場合がある。また、この機能によっては、クライアント装置からのアクセスをその種類によらず一律に禁止することはできるが、特定の種類のアクセスのみを禁止することは出来ない。例えば、あるクライアント装置に対し、情報の閲覧のみを許可し、情報の持ち出しを禁止するなどの制御はできない。【０００７】
そこで本発明は、上記の課題を解決することのできるシステム、方法、プログラム、サーバ装置、および、クライアント装置を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の実施形態においては、アプリケーション・プログラムを動作させるサーバ装置と、利用者の指示に基づきサーバ装置と通信して利用者にアプリケーション・プログラムを利用させるクライアント装置とを備えたシステムであって、サーバ装置は、サーバ装置およびクライアント装置によって情報を共有するための共有領域に対してアプリケーション・プログラムからデータを出力させる処理である出力処理を検出する出力検出部と、出力処理の検出に応じ、アプリケーション・プログラムから出力させた出力データに代えて、正規のクライアント装置であると認証するための認証データを示す指示情報を、共有領域に記憶させる出力制御部とを有し、クライアント装置は、共有領域からデータを読み出す処理である読出処理を検出する読出検出部と、読出処理の検出に応じ、指示情報を共有領域から読み出して、指示情報が示す認証データにより、出力データを取得する読出制御部とを有するシステムを提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明の効果】
【０００９】
本発明によれば、サーバ装置からの情報の漏洩を効果的に防止することができる。
【発明を実施するための最良の形態】
【００１０】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。【００１１】
図１は、情報処理システム１０の全体構成を示す。情報処理システム１０は、サーバ装置２００と、クライアント装置３００とを有する。サーバ装置２００は、利用者のためにアプリケーション・プログラムを動作させ、その表示画面を、画面の表示イメージとしてクライアント装置３００に提供する。クライアント装置３００は、利用者の指示に基づきサーバ装置２００と通信してそのアプリケーション・プログラムを利用者に利用させる。具体的には、クライアント装置３００が有する表示装置３０５は、クライアント装置３００上で動作するアプリケーション・プログラムの表示画面であるアプリケーション・ウィンドウ３１５のみならず、サーバ装置２００上で動作するアプリケーション・プログラムの表示画面であるアプリケーション・ウィンドウ２１５を表示する。そして、クライアント装置３００は、アプリケーション・ウィンドウ３１５に対して受け付けた入力は自ら処理し、アプリケーション・ウィンドウ２１５に対して受け付けた入力はその指示内容をサーバ装置２００に送ってサーバ装置２００において処理させる。【００１２】
本図に示す情報処理システム１０は、ＳＢＣ（Ｓｅｒｖｅｒ  Ｂａｓｅｄ  Ｃｏｍｐｕｔｉｎｇ）と呼ばれており、サーバ装置２００内のデータをクライアント装置３００に送信する必要が無く、画面の表示データのみを送信すればよいことから、情報の漏洩防止に効果的であると考えられている。一方で、ＳＢＣにおいても利用者の利便性を高めるべく、サーバ装置２００およびクライアント装置３００で情報を共有するためのクリップボードの機能が提案されている。この機能によれば、サーバ装置２００は、アプリケーション・ウィンドウ２１５に対して利用者からデータコピー指示を受け付けた場合に、サーバ装置２００内のデータを仮想的なクリップボードに書き込む。そして、クライアント装置３００は、アプリケーション・ウィンドウ３１５に対して利用者からデータペースト指示を受け付けた場合に、そのクリップボードからデータを読み出してクライアント装置３００において利用可能な状態とする。【００１３】
このようなクリップボードの機能は、サーバ装置２００からのデータの読出を可能とし、データの不正な持ち出しに利用されてしまう恐れがある。本実施の形態に係る情報処理システム１０は、ＳＢＣにおいてこのような不正に利用される恐れのある各種の機能を、正当なクライアント装置のみに利用可能として、情報の漏洩を効果的に防止することを目的とする。この目的を達成するための機能については第１実施例において説明する。更に、画面の表示イメージさえもクライアント装置３００において保存できないように制御する機能について、第２実施例および第３実施例において説明する。【００１４】
図２は、第１実施例における情報処理システム１０の機能構成を示す。情報処理システム１０は、サーバ装置２００と、クライアント装置３００とを有する。サーバ装置２００は、情報処理装置として機能するための各種のハードウェアを有する。図２の説明では、これらのハードウェアのうちＣＰＵ１０００およびＲＡＭ１０２０を用いて、サーバ装置２００上で動作するプログラムについて説明する。同様に、クライアント装置３００は、ＣＰＵ１０００およびＲＡＭ１０２０を有し、これらを用いて、クライアント装置３００上で動作するプログラムについて説明する。【００１５】
サーバ装置２００は、アプリケーション・プログラム２１０と、モニター・プログラム２２０と、オペレーティング・システム２３０とを動作させる。クライアント装置３００は、アプリケーション・プログラム３１０と、モニター・プログラム３２０と、オペレーティング・システム３３０とを動作させる。ここで、オペレーティング・システム２３０およびオペレーティング・システム３３０は、いわゆるカーネルと呼ばれる、オペレーティングシステムの基本機能を提供するプログラムのみならず、アプリケーション・プログラムに各種の機能を提供するサービス・プログラムや、アプリケーション・プログラムの動作を支援する各種のミドルウェアをも含む。【００１６】
サーバ装置２００は、サーバ装置２００で動作するアプリケーション・プログラム２１０、および、クライアント装置３００で動作するアプリケーション・プログラム３１０によって情報を共有するための共有領域２４０を、ＲＡＭ１０２０内に有する。また、クライアント装置３００は、アプリケーション・プログラム２１０およびアプリケーション・プログラム３１０によって情報を共有するための共有領域３４０を、ＲＡＭ１０２０内に有する。即ち例えば、共有領域２４０および共有領域３４０は、オペレーティング・システム２３０およびオペレーティング・システム３３０内のサービス・プログラムによって、情報を共有するための仮想的な領域として管理されている。より具体的には、共有領域２４０に書き込まれたデータは直ちにクライアント装置３００に送信されて共有領域３４０に書き込まれる。同様に、共有領域３４０に書き込まれたデータは直ちにサーバ装置２００に送信されて共有領域２４０に書き込まれる。【００１７】
更に、サーバ装置２００は、サーバ装置２００によってアクセス可能かつクライアント装置３００によってアクセス不能な局所領域２５０をＲＡＭ１０２０内に有する。なお、以上に示す共有領域２４０、局所領域２５０、および、共有領域３４０は、ＲＡＭ１０２０のみならず、ハードディスクドライブなどの各種の記録媒体によって実現されてもよい。【００１８】
図３は、第１実施例のモニター・プログラム２２０によって実現される各機能の構成を示す。モニター・プログラム２２０によって、ＣＰＵ１０００は、出力検出部２６０と、出力制御部２７０と、認証部２８０として機能する。出力検出部２６０は、アプリケーション・プログラム２１０から共有領域２４０に対してデータを出力させる処理である出力処理を検出する。具体的には、出力検出部２６０は、アプリケーション・プログラム２１０からオペレーティング・システム２３０に対する所定のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）の呼び出しを、出力処理として検出する。このＡＰＩによって呼び出されるのは、共有領域２４０に対してデータを出力する機能を実現するために、オペレーティング・システム２３０によって提供されるサービス・プログラムである。【００１９】
出力制御部２７０は、出力処理の検出に応じ、アプリケーション・プログラム２１０から出力させた出力データに代えて、正規のクライアント装置３００であると認証するための認証データを示す指示情報を、共有領域２４０に記憶させる。具体的には、出力制御部２７０は、検出されたＡＰＩの呼び出しの引数パラメータなどを変更することにより、オペレーティング・システム２３０の機能によって共有領域２４０に記憶される出力データを指示情報に変更する。この指示情報には、クライアント装置３００が正当なクライアント装置であると認証するための認証データが含まれていてもよい。また、出力制御部２７０は、局所領域２５０に出力データを記憶させる。また、出力制御部２７０は、不正アクセスを検出した場合には、局所領域２５０から出力データを削除してもよい。認証部２８０は、出力データの取得要求に対応付けて認証データをクライアント装置３００内の読出制御部３７０から受け付ける。これに応じ、認証部２８０は、この認証データに基づいてクライアント装置３００を認証する。認証に成功したことを条件に、認証部２８０は、出力データを局所領域２５０から読み出してクライアント装置３００に送信する。
【００２０】
図４は、第１実施例のモニター・プログラム３２０によって実現される各機能の構成を示す。モニター・プログラム３２０は、ＣＰＵ１０００を、読出検出部３６０と、読出制御部３７０として機能させる。読出検出部３６０は、共有領域２４０からデータを読み出す処理である読出処理を検出する。具体的には、読出検出部３６０は、アプリケーション・プログラム３１０からオペレーティング・システム３３０に対する所定のＡＰＩの呼び出しを、読出処理として検出する。読出制御部３７０は、この読出処理の検出に応じ、指示情報を共有領域３４０から読み出して、この指示情報が示す認証データにより、出力データをサーバ装置２００から取得する。例えば、読出制御部３７０は、指示情報によって指定されたＩＰアドレスによりサーバ装置２００を特定し、サーバ装置２００に対して出力データの取得要求を送信してもよい。これに加えて、読出制御部３７０は、クライアント装置３００を正規のクライアント装置であると認証させるための認証データをサーバ装置２００に送信してもよい。
【００２１】
図５は、第１実施例の共有領域２４０のデータ構造の一例を示す。共有領域２４０に記憶された指示情報は、既に述べたように、クライアント装置３００であると認証するための認証データを示す。この指示情報は、具体的には、サーバ装置２００のＩＰアドレス、サーバ装置２００の局所領域２５０から出力データを取得するためにアクセスするべきポート番号、および、クライアント装置３００を正当なクライアント装置として認証させるためのパスワードを含む。この指示情報によれば、読出制御部３７０は、この指示情報に基づいてサーバ装置２００にアクセスし、クライアント装置３００を正規のクライアント装置として認証させ、出力データを取得することができる。
【００２２】
図６は、第１実施例の共有領域２４０のデータ構造の他の例を示す。この例において、共有領域２４０は、指示情報のみならず出力データ自体を更に記憶する。即ち、この例における出力制御部２７０は、出力データを局所領域２５０に記憶させるのではなく、正規のクライアント装置によって復元可能な形式に出力データを変換して共有領域２４０に記憶させる。図６の例では、出力制御部２７０は、出力データを暗号化させ、更に、この出力データを複数の分割データ（分割データ１〜ｎ）に分割して共有領域２４０内に分散して記憶させる。【００２３】
また、出力制御部２７０は、変換されたこの出力データを復元する方法を示す復元情報を指示情報として共有領域２４０に記憶させる。この復元情報は、暗号化された出力データを復号化する復号鍵と、複数の分割データから出力データを復元するための情報とを含む。更に、この指示情報は、共有領域２４０に記憶されているデータが、出力データではなく指示情報である旨を示す識別子を含む。これにより、この識別子の意味を解釈できないクライアント装置は、共有領域２４０からデータを読み出しても出力データを復元することができない。一方で、正当なクライアント装置は、共有領域２４０に出力データ自体が記憶されていても、指示情報が記憶されていても、識別子によって適切に処理を振り分けて、もとの出力データを正しく復元することができる。【００２４】
なお、出力データが暗号化されている場合であっても、出力制御部２７０は、復元情報として復号鍵を共有領域２４０に記憶してなくてもよい。この場合には、クライアント装置３００は、クライアント装置３００のＲＡＭ１０２０などに予め記憶している復号鍵によって、この出力データを復号する。即ち、この復号鍵は、共有領域２４０を用いずに、予めサーバ装置２００からクライアント装置３００に送信されていてもよい。【００２５】
以下、第１実施例を応用した３つの応用例について、その処理の流れを述べる。
図７は、第１実施例の第１応用例における処理の流れを示す。第１応用例は、ＳＢＣの機能として提供されるクリップボードによる情報漏洩の防止を目的とする。サーバ装置２００は、アプリケーション・プログラム２１０によって表示されたデータを共有領域２４０に出力させるデータコピー指示の入力を受け付ける（Ｓ７００）。このデータコピー指示は、表示装置３０５におけるアプリケーション・ウィンドウ２１５に対して入力され、通信ネットワークを介してサーバ装置２００に送信されてもよい。そして、出力検出部２６０は、このデータコピー指示に応じたデータコピー処理を出力処理として検出する（Ｓ７１０）。オペレーティング・システム２３０がウィンドウズ（登録商標）の場合、具体的には、出力検出部２６０は、SetClipboardDataというＡＰＩの呼び出しを出力処理として検出してもよい。【００２６】
このデータコピー処理は、アプリケーション・プログラム２１０によって表示されたデータを、表示イメージとは異なる内部処理データとして共有領域２４０に出力させる指示である。内部処理データとは、具体的には、表示された文字の形状を示すイメージデータではなく、文字列を構成する文字の識別子を配列したテキストデータなどである。このような内部処理データは、表示イメージと比較して再利用が容易であり、不当なクライアント装置によって持ち出されると悪用され易い。【００２７】
このため、出力制御部２７０は、データコピー処理によって出力される出力データそのものではなく、その出力データを取得するための認証データを示す指示情報を共有領域２４０に記憶させる（Ｓ７２０）。そして、出力制御部２７０は、この出力データを局所領域２５０に記憶させ、または、この出力データを変換して共有領域２４０に記憶させる（Ｓ７３０）。これにより、正当でないクライアント装置には、指示情報を出力データとして読み出させ、元の出力データを正しく取得させないようにすることができる。
【００２８】
アプリケーション・プログラム３１０は、内部処理データを共有領域３４０から読み出して、クライアント装置３００のアプリケーション・プログラム３１０から編集可能な状態に管理するデータペースト指示を、利用者から受け付ける（Ｓ７４０）。読出検出部３６０は、このデータペースト指示に対応するデータペースト処理を、読出処理として検出する（Ｓ７５０）。オペレーティング・システム３３０がウィンドウズ（登録商標）の場合、具体的には、読出検出部３６０は、GetClipboardDataというＡＰＩの呼び出しを読出処理として検出してもよい。読出処理の検出に応じ、読出制御部３７０は、共有領域３４０からデータを読み出す（Ｓ７６０）。【００２９】
読出制御部３７０は、読み出したこのデータに、このデータが指示情報である旨を示す識別子が含まれることを条件に、指示情報が示す認証データによって出力データを取得する（Ｓ７７０）。例えば、読出制御部３７０は、指示情報として読み出した復号鍵によって、暗号化された出力データを復号化してもよいし、指示情報として読み出した復元情報に基づいて、複数の分割データを結合してもよい。これにより、出力データはアプリケーション・プログラム３１０によって利用可能とすることができ、正当なクライアント装置によってサーバ装置から適切に情報を取得させることができる。
以上、第１応用例によれば、不当なクライアント装置に仮想クリップボードを利用させないようにし、サーバ装置２００内のデータが編集可能な形式で漏洩することを防止できる。
【００３０】
図８は、第１実施例の第２応用例における処理の流れを示す。ＳＢＣにおいては、サーバ装置２００内の情報をクライアント装置３００に接続されたプリンタによって印刷させる機能が提供される。即ち第２応用例においては、共有領域２４０は、情報をプリンタに印刷させる印刷コマンドを記憶するための領域（いわゆる、印刷キューや、プリンタ・スプールと呼ばれる記憶領域）となる。この領域中の印刷コマンドも、クリップボードと同様に、ＳＢＣの機能によって共有領域３４０と同期される。そして、共有領域３４０に記憶された印刷コマンドは、クライアント装置３００に接続されたプリンタに送られて印刷処理に用いられる。第２応用例は、このような印刷機能による情報漏洩の防止を目的とする。【００３１】
アプリケーション・プログラム２１０は、印刷指示の入力を受ける（Ｓ８００）。この印刷指示は、例えばクライアント装置３００において、利用者からアプリケーション・ウィンドウ２１５に対して入力される指示である。出力検出部２６０は、所定の印刷コマンドを共有領域２４０に出力する処理を出力処理として検出する（Ｓ８１０）。この印刷コマンドは、アプリケーション・プログラム２１０によって表示されたデータを、クライアント装置３００からアクセス可能なプリンタに印刷させるためのコマンドである。出力処理の検出に応じ、出力制御部２７０は、この印刷コマンドとは異なり、この印刷コマンドを取得するための認証データを示す指示情報を含むダミーコマンドを、印刷キューである共有領域２４０に出力する（Ｓ８２０）。そして、出力制御部２７０は、印刷コマンドを局所領域２５０に記憶させ、または、印刷コマンドを分割して共有領域２４０に記憶させる（Ｓ８３０）。印刷コマンドを分割する場合には、複数の仮想印刷キューを予め設けておき、それらのそれぞれに、分割した印刷コマンドのそれぞれを出力してもよい。
【００３２】
なお、Ｓ８２０において、ダミーコマンドは、サーバ装置２００から出力された出力データは含んでいないが、印刷コマンドとしての書式には準拠していることが望ましい。これにより、クライアント装置３００において、コマンドを読み取るためのプログラムとして、従来の印刷用プログラムを用いることができ、プログラム開発のコストを削減できる。【００３３】
クライアント装置３００において、アプリケーション・プログラム３１０は、印刷指示の入力を受ける（Ｓ８４０）。読出検出部３６０は、所定の印刷コマンドを共有領域３４０から読み出す処理を、前述の読出処理として検出する（Ｓ８５０）。この印刷コマンドは、アプリケーション・プログラム２１０によって表示されたデータを、クライアント装置３００からアクセス可能なプリンタに印刷させるためのコマンドである。読出処理の検出に応じ、読出制御部３７０は、ダミーコマンドを共有領域３４０から読み出す（Ｓ８６０）。そして、読出制御部３７０は、このダミーコマンドに含まれる指示情報が示す認証データによって、印刷コマンドを取得し、アプリケーション・プログラム３１０によって利用可能とする（Ｓ８７０）。
以上、第２応用例によれば、不当なクライアント装置にプリント機能を利用させないようにし、サーバ装置２００内のデータの印刷による情報漏洩を防止できる。
【００３４】
図９は、第１実施例の第３応用例における処理の流れを示す。第３応用例は、ファイルシステムの一部を複数の情報処理装置で共有する機能による、情報の漏洩を防止することを目的とする。第３応用例において、共有領域２４０および共有領域３４０は、クライアント装置３００のファイルシステム（ＦＳ）によって管理された記憶領域であって、サーバ装置２００によってアクセス可能とするためにクライアント装置３００のファイルシステムの一部としてマウントされた領域である。以下、この領域を共有ＦＳと呼ぶ。【００３５】
アプリケーション・プログラム２１０は、ファイルシステムに対するファイルの書込み指示を受け付ける（Ｓ９００）。この指示は、このファイルシステムに新たにファイルを作成する指示のみならず、既にこのファイルシステムに記憶されたファイルを変更する指示を含む。そして、出力検出部２６０は、アプリケーション・プログラム２１０からサーバ装置２００のＦＳに対する書き込み対象のパスが、この共有ＦＳであることを条件に、このファイルシステムに対する書き込みを出力処理として検出する（Ｓ９１０）。【００３６】
出力処理の検出に応じ、出力制御部２７０は、新たに作成・更新するファイルに代えて、このファイルを取得するための認証データを示す指示情報を、この共有ＦＳに書き込む（Ｓ９２０）。そして、出力制御部２７０は、このファイルを局所領域２５０に書き込む（Ｓ９３０）。
【００３７】
図１０は、第２実施例における情報処理システム１０の全体構成を示す。第２実施例は、サーバ装置２００に記憶されたデータを、テキストデータなどの利用し易い形態のみならず、画面の表示イメージとしても漏洩させないことを目的とする。第２実施例における情報処理システム１０は、第１実施例と同様に、サーバ装置２００と、クライアント装置３００とを有する。サーバ装置２００は、アプリケーション・プログラム２１０と、モニター・プログラム２２０と、オペレーティング・システム２３０とを、ＣＰＵ１０００において動作させる。更に、サーバ装置２００は、ＲＡＭ１０２０内に、局所領域２５０を有する。クライアント装置３００は、アプリケーション・プログラム３１０と、モニター・プログラム３２０と、オペレーティング・システム３３０とを動作させ、表示装置３０５を有する。実施例１と同様に、クライアント装置３００は、アプリケーション・プログラム２１０の出力を表示装置３０５において画面に表示する。【００３８】
図１１は、第２実施例のモニター・プログラム２２０によって実現される各機能の構成を示す。モニター・プログラム２２０は、ＣＰＵ１０００を、出力検出部２６０と、出力制御部２７０と、認証部２８０として機能させる。出力検出部２６０は、アプリケーション・プログラム２１０によって、クライアント装置３００の画面に表示する表示データをクライアント装置３００に出力する処理である出力処理を検出する。この出力処理は、具体的には、アプリケーション・プログラム２１０によるオペレーティング・システム２３０に対するＡＰＩ呼び出しである。出力制御部２７０は、この出力処理の検出に応じ、アプリケーション・プログラム２１０によって表示される表示データを予め定められたマスク・パターンによってマスクしたスクランブル・パターンを生成する。例えば、マスク・パターンとは、所定の乱数に基づくランダム・パターンであり、スクランブル・パターンは、表示データの各画素データとランダム・パターンの各画素データとの排他的論理和を配列したパターンである。【００３９】
そして、出力制御部２７０は、このマスク・パターンを局所領域２５０に記憶させる。また、出力制御部２７０は、この表示データに代えて、このスクランブル・パターンをクライアント装置３００に送り、表示装置３０５において表示させる。スクランブル・パターンを送信して表示させる処理は、従来公知の技術によって実現される。例えば、ＲＤＰやＩＣＡと呼ばれる通信プロトコルによれば、画面の表示イメージを情報処理装置間で送受信できる。認証部２８０は、クライアント装置３００から受けた、画面の表示要求に応じ、マスク・パターンを局所領域２５０から読み出してクライアント装置３００に送る。【００４０】
図１２は、第２実施例のモニター・プログラム３２０によって実現される各機能の構成を示す。モニター・プログラム３２０は、ＣＰＵ１０００を、表示検出部３８０と、表示制御部３９０として機能させる。表示検出部３８０は、サーバ装置２００から受けた表示データ（この例の場合はスクランブル・パターン）を表示する表示処理を検出する。そして、表示制御部３９０は、表示処理の検出に応じ、画面の表示要求をサーバ装置２００に送信し、マスク・パターンをサーバ装置２００から取得する。そして、表示制御部３９０は、このマスク・パターンによってスクランブル・パターンを元の表示データに復元して表示する。例えば、表示制御部３９０は、このマスク・パターンの各画素データと、スクランブル・パターンの各画素データとの排他的論理和を配列したパターンを、元の表示データとして表示してもよい。この排他的論理和演算は、ある表示オブジェクトを他の表示オブジェクトを透過させて重ねて表示するために設けられた、Ｚオーダー上位のバッファに、画素データを入力することによって実現されてもよい。【００４１】
以上、第２実施例によれば、マスク・パターンの重ねあわせ処理を行わないクライアント装置においては、正常な画面を表示できなくすることで、表示イメージの不当な持ち出しを防止できる。【００４２】
図１３は、第３実施例における情報処理システム１０の全体構成を示す。第３実施例の目的は、第２実施例の目的と同様である。即ち、第３実施例は、サーバ装置２００に記憶されたデータを、テキストデータなどの利用し易い形態のみならず、画面の表示イメージとしても漏洩させないことを目的とする。これに加えて、第３実施例は、正常なクライアント装置に対して、モニター・プログラム３２０のようなプログラムを実行させることを不要とし、既に普及している情報処理システムとの親和性を高めることを目的とする。具体的には、従来のオペレーティング・システムは、画面の表示イメージを記憶装置内に保存する機能（いわゆる、「ＰｒｉｎｔＳｃｒｅｅｎ」などと呼ばれる）を有している。この機能を利用すれば、クライアント装置３００に表示された画面の表示イメージは、たとえそれがサーバ装置の指示によるものであっても、クライアント装置３００の記憶装置を通じて不正に持ち出されるおそれがある。第３実施例は、ＰｒｉｎｔＳｃｒｅｅｎなどの機能によっては取得できないように画面を表示することで、情報の漏洩を防止することを目的とする。【００４３】
情報処理システム１０は、サーバ装置２００と、クライアント装置３００とを有する。サーバ装置２００は、ＣＰＵ１０００によって、アプリケーション・プログラム２１０と、モニター・プログラム２２０と、オペレーティング・システム２３０とを動作させる。クライアント装置３００は、ＣＰＵ１０００によって、アプリケーション・プログラム３１０と、オペレーティング・システム３３０とを動作させる。クライアント装置３００は、モニター・プログラム３２０を動作させなくてもよい。また、クライアント装置３００は、表示装置３０５と、グラフィック制御部４００と、ダイレクト・ドロー制御部４１０と、ＲＡＭＤＡＣ４２０とを有する。グラフィック制御部４００は、サーバ装置２００から受信した表示データを、表示装置に送信可能な信号に変換してビデオ・ラムのオンスクリーンバッファ（主画面用のバッファ）に記憶させる。また、ダイレクト・ドロー制御部４１０は、サーバ装置２００から受信した表示データを、グラフィック制御部４００によらずビデオ・ラムのオフスクリーンバッファ（オーバーレイ画面用のバッファ）に記憶させる。なお、グラフィック制御部４００、および、ダイレクト・ドロー制御部４１０の各機能は、グラフィックスチップによって実現されてもよいし、それらの機能の一部はソフトウェアによって実現されてもよい。ＲＡＭＤＡＣ４２０は、ビデオ・ラム上の表示データを表示装置３０５に転送する。また、ＲＡＭＤＡＣ４２０は、本発明に係る合成処理部として機能する。即ち、ＲＡＭＤＡＣ４２０は、オンスクリーンバッファに記憶された表示データと、オフスクリーンバッファに記憶された表示データとを合成して表示装置３０５に転送することで、表示装置３０５における表示を実現する。【００４４】
図１４は、第３実施例のモニター・プログラム２２０によって実現される各機能の構成を示す。モニター・プログラム２２０は、ＣＰＵ１０００を、出力検出部４２０と、出力制御部４３０として機能させる。出力検出部４２０は、アプリケーション・プログラム２１０によって、クライアント装置３００の画面に表示する表示データをグラフィックチップ４００に出力する処理である出力処理を検出する。この出力処理の検出に応じ、その表示データを表示装置３０５に送信可能な信号に変換する。そして、出力制御部４３０は、グラフィックチップ４００に出力される表示データに代えて、変換されたこの信号データを、ダイレクト・ドロー制御部４１０に送信する。この場合、出力制御部４３０は、この表示データとは無関係な表示データ（例えば、ダミーの表示データと呼ぶ）を、グラフィックチップ４００に出力してもよい。【００４５】
この結果、グラフィックチップ４００によってはダミーの表示データに基づく画面が表示され、ダイレクト・ドロー制御部４１０によっては、正常な表示画面が表示される。従来のＰｒｉｎｔＳｃｒｅｅｎなどの機能は、オペレーティング・システムの管理下にある表示画面を対象とするものであるから、この機能によってはダミーの表示データのみが取得され、正常な表示画面は取得されない。このように、第３実施例によれば、モニター・プログラム３２０のような特別なプログラムを用いずに、画面の表示データの漏洩を防止することができる。【００４６】
図１５は、以上の各実施例において、サーバ装置２００またはクライアント装置３００として機能する情報処理装置５００のハードウェア構成の一例を示す。情報処理装置５００は、ホストコントローラ１０８２により相互に接続されるＣＰＵ１０００、ＲＡＭ１０２０、及びグラフィックコントローラ１０７５を有するＣＰＵ周辺部と、入出力コントローラ１０８４によりホストコントローラ１０８２に接続される通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を有する入出力部と、入出力コントローラ１０８４に接続されるＢＩＯＳ１０１０、フレキシブルディスクドライブ１０５０、及び入出力チップ１０７０を有するレガシー入出力部とを備える。【００４７】
ホストコントローラ１０８２は、ＲＡＭ１０２０と、高い転送レートでＲＡＭ１０２０をアクセスするＣＰＵ１０００及びグラフィックコントローラ１０７５とを接続する。ＣＰＵ１０００は、ＢＩＯＳ１０１０及びＲＡＭ１０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ１０７５は、ＣＰＵ１０００等がＲＡＭ１０２０内に設けたフレームバッファ上に生成する画像データを取得し、表示装置１０８０上に表示させる。これに代えて、グラフィックコントローラ１０７５は、ＣＰＵ１０００等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。本図における表示装置１０８０は、例えば、図１に示す表示装置３０５として機能する。また、本図に示すグラフィックコントローラ１０７５は、例えば、図１３に示すグラフィックチップ４００として機能する。【００４８】
入出力コントローラ１０８４は、ホストコントローラ１０８２と、比較的高速な入出力装置である通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を接続する。通信インターフェイス１０３０は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ１０４０は、情報処理装置５００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ１０６０は、ＣＤ−ＲＯＭ１０９５からプログラム又はデータを読み取り、ＲＡＭ１０２０又はハードディスクドライブ１０４０に提供する。【００４９】
また、入出力コントローラ１０８４には、ＢＩＯＳ１０１０と、フレキシブルディスクドライブ１０５０や入出力チップ１０７０等の比較的低速な入出力装置とが接続される。ＢＩＯＳ１０１０は、情報処理装置５００の起動時にＣＰＵ１０００が実行するブートプログラムや、情報処理装置５００のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ１０５０は、フレキシブルディスク１０９０からプログラム又はデータを読み取り、入出力チップ１０７０を介してＲＡＭ１０２０またはハードディスクドライブ１０４０に提供する。入出力チップ１０７０は、フレキシブルディスク１０９０や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。【００５０】
情報処理装置５００に提供されるプログラムは、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ１０７０及び/又は入出力コントローラ１０８４を介して
、記録媒体から読み出され情報処理装置５００にインストールされて実行される。プログラムが情報処理装置５００等に働きかけて行わせる動作は、図１から図１４において説明したサーバ装置２００またはクライアント装置３００における動作と同一であるから、説明を省略する。【００５１】
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置５００に提供してもよい。【００５２】
図１６は、複数の情報処理装置に対し、サーバ装置２００の機能、および、クライアント装置３００の機能のそれぞれを実装する処理の流れを示す。図１６では、図１５に図示した情報処理装置５００などを複数設置し、これら複数の情報処理装置５００に対して、第１実施例などに示したサーバ装置２００の機能と、クライアント装置３００の機能とを実装する方法について説明する。なお、これらの情報処理装置には、オペレーティング・システムやアプリケーション・プログラムが既にインストールされており、これらの情報処理装置は通信回線によって接続されているものとする。【００５３】
サービス・エンジニアは、モニター・プログラム２２０を第１の情報処理装置５００にインストールする（Ｓ１６００）。即ち、サービス・エンジニアは、この情報処理装置に、出力検出部２６０の機能、出力制御部２７０の機能、および、認証部２８０の機能のうち少なくとも一部を実装する。次に、サービス・エンジニアは、モニター・プログラム３２０を第２の情報処理装置５００にインストールする（Ｓ１６１０）。即ち、サービス・エンジニアは、この情報処理装置に、読出検出部３６０の機能、および、読出制御部３７０の機能のうち少なくとも一部を実装する。
以上の処理により、サービス・エンジニアは、通常の複数の情報処理装置から構成されるシステムを、本実施例に係る情報処理システム１０として機能させることができる。【００５４】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００５５】
【図１】図１は、情報処理システム１０の全体構成を示す。
【図２】図２は、第１実施例における情報処理システム１０の機能構成を示す。
【図３】図３は、第１実施例のモニター・プログラム２２０によって実現される各機能の構成を示す。
【図４】図４は、第１実施例のモニター・プログラム３２０によって実現される各機能の構成を示す。
【図５】図５は、第１実施例の共有領域２４０のデータ構造の一例を示す。
【図６】図６は、第１実施例の共有領域２４０のデータ構造の他の例を示す。
【図７】図７は、第１実施例の第１応用例における処理の流れを示す。
【図８】図８は、第１実施例の第２応用例における処理の流れを示す。
【図９】図９は、第１実施例の第３応用例における処理の流れを示す。
【図１０】図１０は、第２実施例における情報処理システム１０の全体構成を示す。
【図１１】図１１は、第２実施例のモニター・プログラム２２０によって実現される各機能の構成を示す。
【図１２】図１２は、第２実施例のモニター・プログラム３２０によって実現される各機能の構成を示す。
【図１３】図１３は、第３実施例における情報処理システム１０の全体構成を示す。
【図１４】図１４は、第３実施例のモニター・プログラム２２０によって実現される各機能の構成を示す。
【図１５】図１５は、以上の各実施例において、サーバ装置２００またはクライアント装置３００として機能する情報処理装置５００のハードウェア構成の一例を示す。
【図１６】図１６は、複数の情報処理装置に対し、サーバ装置２００の機能、および、クライアント装置３００の機能のそれぞれを実装する処理の流れを示す。
【符号の説明】
【００５６】
１０  情報処理システム
２００  サーバ装置
２１０  アプリケーション・プログラム
２１５  アプリケーション・ウィンドウ
２２０  モニター・プログラム
２３０  オペレーティング・システム
２４０  共有領域
２５０  局所領域
２６０  出力検出部
２７０  出力制御部
２８０  認証部
３００  クライアント装置
３０５  表示装置
３１０  アプリケーション・プログラム
３１５  アプリケーション・ウィンドウ
３２０  モニター・プログラム
３３０  オペレーティング・システム
３４０  共有領域
３６０  読出検出部
３７０  読出制御部
３８０  表示検出部
３９０  表示制御部
４００  グラフィックチップ
４１０  ダイレクト・ドロー制御部
４２０  出力検出部
４３０  出力制御部
５００  情報処理装置
【図１】
0004793882.tif 000002
【図２】
0004793882.tif 000003
【図３】
0004793882.tif 000004
【図４】
0004793882.tif 000005
【図５】
0004793882.tif 000006
【図６】
0004793882.tif 000007
【図７】
0004793882.tif 000008
【図８】
0004793882.tif 000009
【図９】
0004793882.tif 000010
【図１０】
0004793882.tif 000011
【図１１】
0004793882.tif 000012
【図１２】
0004793882.tif 000013
【図１３】
0004793882.tif 000014
【図１４】
0004793882.tif 000015
【図１５】
0004793882.tif 000016
【図１６】
0004793882.tif 000017