(57)【特許請求の範囲】
【請求項１】
ファイルを取り扱うサービスを提供するサービス提供装置から送信された情報を端末装置へ中継する場合に、前記端末装置へ中継する情報に、前記中継する情報を受信した前記端末装置において、前記端末装置から前記サービス提供装置へ送信する送信対象のファイルを指定する操作が行われることを意味するコードが含まれているか否かを判定する解析部と、
前記解析部により、前記端末装置へ中継する情報に前記コードが含まれていると判定された場合に、前記端末装置へ中継する情報に、機密性を有しないことが確認されて記憶部にデータが格納されたファイルの名称を含む属性情報を前記送信対象のファイルの選択肢として表示するファイル指定画面を前記端末装置の表示部に表示させ、前記ファイル指定画面を通じて前記送信対象のファイルを指定する操作が行われると、指定された前記送信対象のファイルの属性情報を含む情報を前記サービス提供装置へ送信する処理を前記端末装置で実行させるためのプログラムを付加する付加部と、
前記端末装置から送信された情報を前記サービス提供装置へ中継する際に、前記サービス提供装置へ中継する情報に、前記ファイル指定画面を通じて指定された前記送信対象のファイルの属性情報が含まれている場合に、指定された前記送信対象のファイルのデータを前記属性情報に基づき前記記憶部から取得し、取得した前記送信対象のファイルのデータを前記サービス提供装置へ中継する情報に付加して前記サービス提供装置に送信するファイル送信部と、
を含む中継装置。
【請求項２】
前記記憶部には、前記機密性を有しないことが確認されたファイルのデータが利用者単位又は利用者のグループ単位で格納され、
前記解析部は、前記端末装置を介し、前記サービス提供装置に対して前記サービスの提供を要求する操作を行った利用者も判定し、
前記付加部は、前記端末装置へ中継する情報に、前記ファイル指定画面として、前記記憶部にデータが記憶されたファイルのうち、前記解析部によって判定された利用者に対応するファイルの名称を含む属性情報を前記送信対象のファイルの選択肢として表示するファイル指定画面を前記端末装置の表示部に表示させる処理を含む処理を前記端末装置で実行させるためのプログラムを付加する請求項１記載の中継装置。
【請求項３】
前記記憶部にデータを格納すべきファイルが指定されると、指定された前記ファイルが機密性を有しないか否かを判定し、機密性を有しないことを確認した場合にのみ、前記ファイルのデータを前記記憶部に格納させると共に、前記記憶部にデータを格納した前記ファイルの属性情報を保持するファイル管理部を更に備え、
前記付加部は、前記ファイル指定画面に前記送信対象のファイルの選択肢として表示する前記ファイルの属性情報を前記ファイル管理部から取得し、取得した前記属性情報に基づいて前記プログラムを生成する請求項１又は請求項２記載の中継装置。
【請求項４】
前記ファイル管理部は、前記記憶部にデータを格納すべきファイルが指定され、指定された前記ファイルが機密性を有しないことを確認した場合に、前記ファイルのハッシュ値を演算し、演算したハッシュ値を前記ファイルの属性情報の１つとして保持し、
前記付加部は、前記端末装置へ中継する情報に、前記ファイル指定画面を通じて前記送信対象のファイルを指定する操作が行われると、指定された前記送信対象のファイルのデータを前記記憶部から取得してハッシュ値を演算し、指定された前記送信対象のファイルの属性情報として、演算した前記ハッシュ値を含む情報を前記サービス提供装置へ送信する処理を前記端末装置で実行させるためのプログラムを付加し、
前記ファイル送信部は、前記端末装置から送信されて前記サービス提供装置へ中継する情報に、前記送信対象のファイルの属性情報が含まれている場合に、前記送信対象のファイルのハッシュ値を前記ファイル管理部から取得し、前記属性情報に含まれているハッシュ値が前記ファイル管理部から取得したハッシュ値に一致している場合に、前記送信対象のファイルのデータを前記サービス提供装置へ中継する情報に付加して前記サービス提供装置に送信する請求項３記載の中継装置。
【請求項５】
前記サービス提供装置から前記端末装置を宛先として送信される情報は、前記端末装置の表示部に表示させる画面を表すＨＴＭＬデータであり、
前記付加部は、前記プログラムとして、前記端末装置上で動作しＨＴＭＬデータから前記端末装置の表示部に表示させる画面を生成するブラウザによって実行されるスクリプトを、前記サービス提供装置から前記端末装置を宛先として送信された情報に付加する請求項１乃至請求項４の何れか１項記載の中継装置。
【請求項６】
前記サービス提供装置から前記端末装置を宛先として送信される情報は、前記端末装置の表示部に表示させる画面を表すＨＴＭＬデータであり、
前記解析部は、前記コードとして、タイプ属性が"file"のフォームタグが、前記サービス提供装置から前記端末装置を宛先として送信される情報としての前記ＨＴＭＬデータに含まれているか否かを判定する請求項１乃至請求項５の何れか１項記載の中継装置。
【請求項７】
中継装置が、
ファイルを取り扱うサービスを提供するサービス提供装置から送信された情報を端末装置へ中継する場合に、前記端末装置へ中継する情報に、前記中継する情報を受信した前記端末装置において、前記端末装置から前記サービス提供装置へ送信する送信対象のファイルを指定する操作が行われることを意味するコードが含まれているか否かを判定し、
前記端末装置へ中継する情報に前記コードが含まれていると判定した場合に、前記端末装置へ中継する情報に、機密性を有しないことが確認されて記憶部にデータが格納されたファイルの名称を含む属性情報を前記送信対象のファイルの選択肢として表示するファイル指定画面を前記端末装置の表示部に表示させ、前記ファイル指定画面を通じて前記送信対象のファイルを指定する操作が行われると、指定された前記送信対象のファイルの属性情報を含む情報を前記サービス提供装置へ送信する処理を前記端末装置で実行させるためのプログラムを付加し、
前記端末装置から送信された情報を前記サービス提供装置へ中継する際に、前記サービス提供装置へ中継する情報に、前記ファイル指定画面を通じて指定された前記送信対象のファイルの属性情報が含まれている場合に、指定された前記送信対象のファイルのデータを前記属性情報に基づき前記記憶部から取得し、取得した前記送信対象のファイルのデータを前記サービス提供装置へ中継する情報に付加して前記サービス提供装置に送信する
ことを特徴とする中継方法。
【請求項８】
コンピュータに、
ファイルを取り扱うサービスを提供するサービス提供装置から送信された情報を端末装置へ中継する場合に、前記端末装置へ中継する情報に、前記中継する情報を受信した前記端末装置において、前記端末装置から前記サービス提供装置へ送信する送信対象のファイルを指定する操作が行われることを意味するコードが含まれているか否かを判定する解析ステップと、
前記解析ステップにおいて、前記端末装置へ中継する情報に前記コードが含まれていると判定した場合に、前記端末装置へ中継する情報に、機密性を有しないことが確認されて記憶部にデータが格納されたファイルの名称を含む属性情報を前記送信対象のファイルの選択肢として表示するファイル指定画面を前記端末装置の表示部に表示させ、前記ファイル指定画面を通じて前記送信対象のファイルを指定する操作が行われると、指定された前記送信対象のファイルの属性情報を含む情報を前記サービス提供装置へ送信する処理を前記端末装置で実行させるためのプログラムを付加する付加ステップと、
前記端末装置から送信された情報を前記サービス提供装置へ中継する際に、前記サービス提供装置へ中継する情報に、前記ファイル指定画面を通じて指定された前記送信対象のファイルの属性情報が含まれている場合に、指定された前記送信対象のファイルのデータを前記属性情報に基づき前記記憶部から取得し、取得した前記送信対象のファイルのデータを前記サービス提供装置へ中継する情報に付加して前記サービス提供装置に送信するファイル送信ステップと、
を含む処理を実行させるための中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は中継装置、中継方法及び中継プログラムに関する。
【背景技術】
【０００２】
近年、ウェブ上で提供される各種サービスを利用する機会が増加してきている。しかしながら、ウェブ上で提供されるサービスの中には、例えばファイルの公開や共有を実現するサービス等のように、端末装置からサービスを提供するサーバへのファイルのアップロードを前提としているサービスがある。そして、ファイルのアップロードを前提としているサービスを業務で利用する場合、利用者の不注意や判断ミス、操作ミス等により、機密性を有するファイルが企業内から誤って外部のサービス提供サーバへアップロードされる恐れがある。この場合、企業内の機密情報の漏洩に繋がる。
【０００３】
上記に関連して、電子メールに電子ファイルを添付するための添付操作を受け付けた場合に、サーバ装置によって前記電子ファイルに付加された属性情報を取得する技術が提案されている。この技術では、取得した属性情報に基づいて、電子ファイルを添付した電子メールの送信可否を端末装置で判断することで、電子ファイル毎に、機密度等に応じて電子メールへの添付を抑止している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−６５３３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、電子ファイルを添付した電子メールの送信可否を端末装置で判断する技術では、電子メールの送受信を行うアプリケーション(所謂メーラ)が、電子ファイルの属性情報を取得して送信可否を判断する機能を備えている必要がある。一般的なメーラは前記機能を備えておらず、上記技術を実現するためにはメーラの改変が必要になるので、上記技術の実現には困難を伴う。
【０００６】
また、上記技術は、電子メールに添付する電子ファイルの中身を端末装置で書き替えてから電子メールを送信する操作が行われたとしても、これを阻止できない。このため、悪意を持った利用者が、電子メールに添付する電子ファイルの中身を機密情報を含むように書き替えた後に、電子メールを送信する操作を行った場合、機密情報が漏洩することになる。
【０００７】
開示の技術は、機密性を有するファイルがサービス提供装置へ送信されることを防止することが目的である。
【課題を解決するための手段】
【０００８】
開示の技術は、ファイルを取り扱うサービスを提供するサービス提供装置から送信された情報を端末装置へ中継する場合に、解析部が以下の判定を行う。当該判定では、端末装置へ中継する情報に、中継する情報を受信した端末装置において、端末装置からサービス提供装置へ送信する送信対象のファイルを指定する操作が行われることを意味するコードが含まれているか否かが判定される。また解析部により、端末装置へ中継する情報に前記コードが含まれていると判定された場合、付加部は、端末装置へ中継する情報に、以下の処理を端末装置で実行させるためのプログラムを付加する。当該処理は、機密性を有しないことが確認されて記憶部にデータが格納されたファイルの名称を含む属性情報を送信対象のファイルの選択肢として表示するファイル指定画面を前記端末装置の表示部に表示させる処理を含む。また、上記処理は、ファイル指定画面を通じて送信対象のファイルを指定する操作が行われると、指定された送信対象のファイルの属性情報を含む情報をサービス提供装置へ送信する処理を含む。また、端末装置から送信された情報をサービス提供装置へ中継する際に、サービス提供装置へ中継する情報に、ファイル指定画面を通じて指定された前記送信対象のファイルの属性情報が含まれている場合、ファイル送信部は以下の処理を行う。当該処理は、指定された送信対象のファイルのデータを属性情報に基づき記憶部から取得し、取得した送信対象のファイルのデータをサービス提供装置へ中継する情報に付加してサービス提供装置に送信する処理を含む。
【発明の効果】
【０００９】
開示の技術は、機密性を有するファイルが誤ってサービス提供装置へ送信されることを防止できる、という効果を有する。
【図面の簡単な説明】
【００１０】
【図１】実施形態で説明したコンピュータ・システムの機能ブロック図である。
【図２】コンピュータ・システムの各コンピュータの概略ブロック図である。
【図３】第１実施形態における処理全体の流れを示すシーケンス図である。
【図４】第１実施形態に係るファイル管理サーバによるファイル管理処理の内容を示すフローチャートである。
【図５】中継サーバによるスクリプト付加処理の内容を示すフローチャートである。
【図６】スクリプト付加処理によって付加されるスクリプトの一例を示す説明図である。
【図７】スクリプト付加処理によって付加されるスクリプトの一例を示す説明図である。
【図８】第１実施形態に係る端末装置によるファイル選択処理の内容を示すフローチャートである。
【図９】(Ａ),(Ｃ)はアップロード画面、(Ｂ)はファイル一覧リスト(子画面)の一例を各々示すイメージ図である。
【図１０】第１実施形態に係る中継サーバによるファイルアップロード処理の内容を示すフローチャートである。
【図１１】第２実施形態における処理全体の流れを示すシーケンス図である。
【図１２】第２実施形態に係るファイル管理サーバによるファイル管理処理の内容を示すフローチャートである。
【図１３】第２実施形態に係る端末装置によるファイル選択処理の内容を示すフローチャートである。
【図１４】第２実施形態に係る中継サーバによるファイルアップロード処理の内容を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
【００１２】
〔第１実施形態〕
図１には、本実施形態に係るコンピュータ・システム１０が示されている。コンピュータ・システム１０は、複数台の端末装置１２と、サービス提供装置１４と、端末装置１２とサービス提供装置１４の間に設けられた中継装置１６と、を備えている。なお、図１ではサービス提供装置１４を１台のみ示しているが、端末装置１２と同様にサービス提供装置１４も複数台設けられていてもよい。
【００１３】
複数台の端末装置１２は、例えばＰＣ(Personal Computer)や携帯端末から成り、企業内の業務遂行のために企業内に設置され、ウェブページ閲覧部２２を各々備えている。ウェブページ閲覧部２２は、サービス提供装置１４へリクエストを送信することで、サービス提供装置１４へサービスの提供を要求する。また、ウェブページ閲覧部２２は、サービス提供装置１４から受信したレスポンスに含まれるウェブページのデータをウェブページとして端末装置１２のディスプレイ７２(図２参照)に表示させる。また、ウェブページ閲覧部２２は、サービス提供装置１４から受信したレスポンスにスクリプトが含まれている場合、当該スクリプトを実行する。
【００１４】
サービス提供装置１４は、端末装置１２に対してウェブ上で所定のサービスを提供する装置である。サービス提供装置１４は、例えばサーバ・コンピュータから成り、端末装置１２が設置された企業外に設置され、所定のサービスを提供するための処理を行うサービス提供部２４を備えている。サービス提供部２４は、所定のサービスとして、ウェブ上で提供可能な任意のサービスを適用可能であるが、本実施形態では、端末装置１２からサービス提供装置１４へのファイルのアップロードが前提となるサービスを提供する。ファイルのアップロードが前提となるサービスとしては、例えばアップロードされたファイルを公開、或いは共有するサービスや、アップロードされたファイルに対して何らかの処理を行って結果を返すサービス等が挙げられる。
【００１５】
中継装置１６は、端末装置１２と同一の企業内に設置されており、中継サーバ１８及びファイル管理サーバ２０を備えている。中継サーバ１８は、端末装置１２とサービス提供装置１４との間の情報(リクエスト／レスポンス)の送受を中継するサーバであり、リクエスト受付部２６、リクエスト解析部２８、ファイル取得部３０、リクエスト生成部３２、リクエスト転送部３４を備えている。また、中継サーバ１８は、レスポンス受付部３６、レスポンス解析部３８、スクリプト付加部４０、レスポンス転送部４２、利用者情報管理部４４及びＵＲＬ管理部４６を備えている。
【００１６】
なお、レスポンス解析部３８は開示の技術における解析部の一例であり、スクリプト付加部４０は開示の技術における付加部の一例である。また、リクエスト解析部２８、ファイル取得部３０、リクエスト生成部３２及びリクエスト転送部３４は、開示の技術におけるファイル送信部の一例である。
【００１７】
リクエスト受付部２６は、端末装置１２からサービス提供装置１４へ送信されたリクエストを受け付ける。リクエスト解析部２８は、リクエスト受付部２６によって受け付けられたリクエストを解析し、リクエストを送信した端末装置１２を操作している利用者の利用者ＩＤを前記リクエストから取得する。また、リクエスト解析部２８は、前記リクエストがファイルのアップロードを要求するアップロード・リクエストの場合に、アップロード対象のファイルの属性情報を前記アップロード・リクエストから取得する。利用者情報管理部４４は、リクエスト解析部２８によって取得された利用者ＩＤを記憶する。
【００１８】
ファイル取得部３０は、リクエスト解析部２８によってアップロード対象のファイルの属性情報がアップロード・リクエストから取得された場合に、アップロード対象のファイルのデータをファイル管理サーバ２０から取得する。リクエスト生成部３２は、リクエスト受付部２６によって受け付けられたリクエストを整形することで、サービス提供装置１４へ送信するリクエストを生成する。またリクエスト生成部３２は、ファイル取得部３０によってアップロード対象のファイルのデータが取得された場合、取得されたアップロード対象のファイルのデータを付加することで、サービス提供装置１４へ送信するアップロード・リクエストを生成する。
【００１９】
リクエスト転送部３４は、リクエスト生成部３２によって生成されたリクエストをサービス提供装置１４へ転送する。ＵＲＬ管理部４６は、端末装置１２からのリクエストの送信先としてのサービス提供装置１４のＵＲＬ(Uniform Resource Locator)を記憶する。
【００２０】
レスポンス受付部３６は、サービス提供装置１４から端末装置１２へ送信されたレスポンスを受け付ける。レスポンス解析部３８は、レスポンス受付部３６によって受け付けられたレスポンスを解析し、セッションＩＤを前記レスポンスから取得する。ところで、セキュイティ面から、イントラ(個人や企業内)のリソースの場所が外部サービスに渡らないよう、ブラウザに制限がかっており(仕様)、通常のＨＴＭＬタグでは、ファイル選択において、利用者の誤操作を防ぐことはできない。このため、レスポンス解析部３８は、レスポンス受付部３６によって受け付けられたレスポンスに<input type="file">タグが含まれているか否かを探索する。利用者情報管理部４４は、レスポンス解析部３８によって取得されたセッションＩＤを、リクエスト解析部２８によって取得された利用者ＩＤと対応付けて記憶する。
【００２１】
スクリプト付加部４０は、レスポンス解析部３８により、レスポンスに<input type="file">タグが含まれているとの解析結果が得られた場合に、前記レスポンスに付加するスクリプトを生成し、生成したスクリプトをレスポンスに付加する。レスポンス転送部４２は、レスポンス解析部３８及びスクリプト付加部４０による処理を経たレスポンスを端末装置１２へ送信する。
【００２２】
ファイル管理サーバ２０は、端末装置１２からサービス提供装置１４へのアップロードを予定しているファイルを管理するサーバであり、ファイル受付部４８、ファイル管理部５０及びファイル記憶部５２を備えている。なお、ファイル管理部５０は開示の技術におけるファイル管理部の一例であり、ファイル記憶部５２は開示の技術における記憶部の一例である。
【００２３】
ファイル受付部４８は、サービス提供装置１４へのアップロードを予定しているファイルを端末装置１２から受け付ける。ファイル管理部５０は、ファイル受付部４８によって受け付けられたファイルが機密性を有しないファイルか否かを判定する。ファイル記憶部５２はファイルＤＢ(データベース)５４を記憶している。ファイル記憶部５２は、ファイル管理部５０によって機密性を有しないことが確認されたファイルを、当該ファイルのファイル管理サーバ２０への送信を指示した利用者の利用者ＩＤと対応付けてファイルＤＢ５４に格納する。
【００２４】
また、ファイル管理部５０は、ファイル管理サーバ２０へのファイルの送信を指示した個々の利用者毎に、ファイルＤＢ５４に格納されたファイル一覧を表すファイル一覧リストを生成し、生成した利用者毎のファイル一覧リストを中継サーバ１８へ送信する。中継サーバ１８へ送信された利用者毎のファイル一覧リストは、中継サーバ１８の利用者情報管理部４４に保存される。
【００２５】
端末装置１２は、例えば図２に示すＰＣ６０で実現することができる。ＰＣ６０はＣＰＵ６２、メモリ６４、ＨＤＤ(Hard Disk Drive)やフラッシュメモリ等によって実現される不揮発性の記憶部６８、通信Ｉ／Ｆ(インタフェース)部７０を備えている。ＰＣ６０はディスプレイ７２、キーボード７４及びマウス７６が接続されており、通信Ｉ／Ｆ部７０を介してコンピュータ・ネットワーク(例えば企業内ＬＡＮ)８２に接続されている。記憶部６８にはブラウザのプログラム８０が記憶されている。ＣＰＵ６２は、ブラウザのプログラム８０を実行することで、図１に示すウェブページ閲覧部２２として動作する。
【００２６】
サービス提供装置１４は、例えば図２に示すアプリケーション・サーバ８４で実現することができる。アプリケーション・サーバ８４はＣＰＵ８６、メモリ８８、ＨＤＤ(Hard Disk Drive)やフラッシュメモリ等によって実現される不揮発性の記憶部９０、通信Ｉ／Ｆ部９２を備えている。アプリケーション・サーバ８４は通信Ｉ／Ｆ部９２を介してコンピュータ・ネットワーク(例えばインターネット)９６に接続されている。記憶部９０にはサービス提供プログラム９４が記憶されている。ＣＰＵ８６は、サービス提供プログラム９４を実行することで、図１に示すサービス提供部２４として動作する。
【００２７】
中継装置１６のうちの中継サーバ１８は、例えば図２に示すサーバ・コンピュータ１００で実現することができる。サーバ・コンピュータ１００はＣＰＵ１０２、メモリ１０４、ＨＤＤ(Hard Disk Drive)やフラッシュメモリ等によって実現される不揮発性の記憶部１０６、通信Ｉ／Ｆ部１０８を備えている。サーバ・コンピュータ１００は通信Ｉ／Ｆ部１０８を介してコンピュータ・ネットワーク８２,９６に各々接続されている。
【００２８】
記録媒体としての記憶部１０６には、サーバ・コンピュータ１００を中継サーバ１８として機能させるための中継プログラム１１０が記憶されている。ＣＰＵ１０２は、中継プログラム１１０を記憶部１０６から読み出してメモリ１０４に展開し、中継プログラム１１０が有するプロセスを順次実行する。
【００２９】
中継プログラム１１０は、リクエスト受付プロセス１１２、リクエスト解析プロセス１１４、ファイル取得プロセス１１６、リクエスト生成プロセス１１８、リクエスト転送プロセス１２０及びレスポンス受付プロセス１２２を有する。また中継プログラム１１０はレスポンス解析プロセス１２４、スクリプト付加プロセス１２６、レスポンス転送プロセス１２８、利用者情報管理プロセス１３０及びＵＲＬ管理プロセス１３２を有する。
【００３０】
ＣＰＵ１０２は、リクエスト受付プロセス１１２を実行することで、図１に示すリクエスト受付部２６として動作する。またＣＰＵ１０２は、リクエスト解析プロセス１１４を実行することで、図１に示すリクエスト解析部２８として動作する。またＣＰＵ１０２は、ファイル取得プロセス１１６を実行することで、図１に示すファイル取得部３０として動作する。またＣＰＵ１０２は、リクエスト生成プロセス１１８を実行することで、図１に示すリクエスト生成部３２として動作する。またＣＰＵ１０２は、リクエスト転送プロセス１２０を実行することで、図１に示すリクエスト転送部３４として動作する。
【００３１】
またＣＰＵ１０２は、レスポンス受付プロセス１２２を実行することで、図１に示すレスポンス受付部３６として動作する。またＣＰＵ１０２は、レスポンス解析プロセス１２４を実行することで、図１に示すレスポンス解析部３８として動作する。またＣＰＵ１０２は、スクリプト付加プロセス１２６を実行することで、図１に示すスクリプト付加部４０として動作する。またＣＰＵ１０２は、レスポンス転送プロセス１２８を実行することで、図１に示すレスポンス転送部４２として動作する。またＣＰＵ１０２は、利用者情報管理プロセス１３０を実行することで、図１に示す利用者情報管理部４４として動作する。またＣＰＵ１０２は、ＵＲＬ管理プロセス１３２を実行することで、図１に示すＵＲＬ管理部４６として動作する。これにより、中継プログラム１１０を実行したサーバ・コンピュータ１００が中継サーバ１８として機能することになる。
【００３２】
中継装置１６のうちのファイル管理サーバ２０は、例えば図２に示すサーバ・コンピュータ１３４で実現することができる。サーバ・コンピュータ１３４はＣＰＵ１３６、メモリ１３８、ＨＤＤ(Hard Disk Drive)やフラッシュメモリ等によって実現される不揮発性の記憶部１４０、通信Ｉ／Ｆ部１４２を備えている。サーバ・コンピュータ１３４は通信Ｉ／Ｆ部１４２を介してコンピュータ・ネットワーク８２に接続されている。
【００３３】
記録媒体としての記憶部１４０には、サーバ・コンピュータ１３４をファイル管理サーバ２０として機能させるためのファイル管理プログラム１４４と、ファイルＤＢ５４が記憶されている。ＣＰＵ１３６は、ファイル管理プログラム１４４を記憶部１４０から読み出してメモリ１３８に展開し、ファイル管理プログラム１４４が有するプロセスを順次実行する。
【００３４】
ファイル管理プログラム１４４は、ファイル受付プロセス１４６及びファイル管理プロセス１４８を有する。ＣＰＵ１３６は、ファイル受付プロセス１４６を実行することで、図１に示すファイル受付部４８として動作する。またＣＰＵ１３６は、ファイル管理プロセス１４８を実行することで、図１に示すファイル管理部５０として動作する。これにより、ファイル管理プログラム１４４を実行したサーバ・コンピュータ１３４が、ファイル管理サーバ２０として機能することになる。なお、中継プログラム１１０及びファイル管理プログラム１４４は開示の技術における中継プログラムの一例である。
【００３５】
次に本第１実施形態の作用を説明する。前述のように、サービス提供装置１４のサービス提供部２４は、端末装置１２からサービス提供装置１４へのファイルのアップロードが前提となるサービスを提供している。このため、このサービスを業務で利用する場合、端末装置１２を操作する利用者の不注意や判断ミス、操作ミス等により、機密性を有するファイルが企業内から誤って外部のサービス提供サーバへアップロードされる恐れがある。
【００３６】
機密情報の漏洩を抑制する技術として、機密性を有するファイルや当該ファイルが格納されたディレクトリを対象としてアクセス権を設定する技術が知られている。しかし、この技術は、機密性を有するファイルに対するアクセス権を有する利用者が、機密性を有するファイルを誤ってアップロードすることは防止できない。
【００３７】
また、他の技術として、中継サーバ１８によるＵＲＬフィルタリング処理によって、アクセス可能なサイトを制限する技術がある。しかし、この技術は、利用者からのアクセス要求を許可するか遮断するかをＵＲＬに基づいて選択するものであり、アップロード対象のファイルが機密性を有しているか否かに基づいて、アップロード・リクエストを通過又は遮断することはできない。
【００３８】
また、他の技術として、アップロード・リクエストに含まれるアップロード対象のファイルが機密性を有しているか否かを中継サーバ１８が判定し、アップロード・リクエストを通過又は遮断する処理を行うことも考えられる。しかし、この場合、中継サーバ１８がアップロード・リクエストを受信する度に中継サーバ１８に負荷が加わると共に、ファイルのアップロードに要する時間が長時間化するという問題が生ずる。特に、アップロード対象のファイルのサイズが大きい場合や、アップロード・リクエストが頻繁に送信された場合には、中継サーバ１８に過大な負荷が加わり、コンピュータ・ネットワーク８２内の通信が輻輳状態になる等の不具合が生ずる恐れもある。
【００３９】
このため、本第１実施形態では、アップロードを予定しているファイルが事前にファイル管理サーバ２０で受け付けられ、ファイル管理サーバ２０は、受け付けたファイルが機密性を有していないか否かを事前に判定する。そして、ファイル管理サーバ２０は、機密性を有していないことを確認したファイルのみをファイルＤＢ５４に格納する。
【００４０】
また、中継サーバ１８は、サービス提供装置１４から端末装置１２へのレスポンスのＨＴＭＬデータに、アップロード対象のファイルを指定する操作が行われることを意味するコード(<input type="file">タグ)が含まれているか否かを監視する。なお、<input type="file">タグはタイプ属性が"file"のフォームタグである。中継サーバ１８は、前記レスポンスのＨＴＭＬデータに前記コードが含まれていた場合、アップロード対象のファイルの選択肢として、ファイルＤＢ５４に格納されたファイルを端末装置１２のディスプレイ７２に表示させるスクリプトを前記レスポンスに付加する。
【００４１】
このスクリプトは、利用者によってアップロード対象のファイルが選択されてアップロードが指示されると、サービス提供装置１４へ送信するアップロード・リクエストに選択されたファイルの属性情報を設定する処理を端末装置１２によって行わせる。中継サーバ１８は、端末装置１２からサービス提供装置１４へのアップロード・リクエストを受信すると、当該リクエストに属性情報が設定されたファイルのデータをファイル管理サーバ２０から取得し、前記リクエストに付加する。
【００４２】
以下、図３〜図１０を参照し、本第１実施形態に係るコンピュータ・システム１０において、サービス提供装置１４が提供するサービスを利用するための一連の処理・利用者の操作について順に説明する。
【００４３】
本第１実施形態において、サービス提供装置１４が提供するサービスは、端末装置１２からサービス提供装置１４へのファイルのアップロードが前提となるサービスである。このため、サービス提供装置１４が提供するサービスを利用する場合、利用者は、サービス利用のための事前準備として、端末装置１２を介し、アップロードを予定しているファイルを対応する監視フォルダに格納させる操作を行う(図３のステップ２００も参照)。
【００４４】
監視フォルダは、ファイル管理サーバ２０の記憶部１４０に、コンピュータ・システム１０を利用する個々の利用者毎に設けられている。ファイル管理サーバ２０のファイル受付部４８は、何れかの監視フォルダに新たなファイルが格納されたか否かを常時監視している。上記のように、アップロードを予定しているファイルが何れかの監視フォルダに新たに格納されると、ファイル管理サーバ２０では、図４に示すファイル管理処理が行われる。
【００４５】
ファイル管理処理のステップ２５０において、ファイル受付部４８は、監視フォルダに新たに格納されたファイルを監視フォルダから取り出すと共に、ファイルが新たに格納された監視フォルダに対応する利用者の利用者ＩＤを取得する。次のステップ２５２において、ファイル管理部５０は、ファイル受付部４８によって監視フォルダから取り出されたファイルに対し、予め設定されたキーワードが含まれているか否かを検索する等により、機密性の有無を判定する(図３のステップ２０２も参照)。なお、機密性の有無はキーワード検索によって判定することに限られるものではなく、例えばファイル名や属性情報を用いて判定する等のように、公知の種々の技術を適用可能である。
【００４６】
次のステップ２５４において、ファイル管理部５０は、ステップ２５２における判定の結果に基づき、監視フォルダから取り出されたファイルが機密性の無いファイルか否かを判定する(図３のステップ２０４も参照)。監視フォルダから取り出されたファイルに、例えば"機密"や"confidential"等のキーワードが含まれていた場合には、当該ファイルは機密性有りと判断されてステップ２５４の判定が否定され、ステップ２６２へ移行する。この場合、ステップ２６２において、ファイル管理部５０は、監視フォルダにファイルを格納する処理を行った端末装置１２に対し、監視フォルダに格納されたファイルは機密性を有するのでファイルＤＢ５４には格納できない旨を通知するエラー情報を送信する。
【００４７】
一方、監視フォルダから取り出されたファイルが機密性を有していないと判定された場合、ステップ２５４の判定が肯定されてステップ２５６へ移行する。ファイル記憶部５２に記憶されているファイルＤＢ５４には、コンピュータ・システム１０を利用する個々の利用者毎に格納フォルダが設けられている。ステップ２５６において、ファイル管理部５０は、監視フォルダから取り出されたファイルのデータを、ファイルＤＢ５４のうち、ファイル受付部４８によって取得された利用者ＩＤに対応する格納フォルダ内に格納する(図３のステップ２０６も参照)。
【００４８】
次のステップ２５８において、ファイル管理部５０は、今回ファイルを新たに格納した格納フォルダに対応する特定の利用者のファイル一覧リストに、今回取り出したファイルの情報を追加する。ファイル一覧リストは、一例として図９(Ｂ)に示すように、個々の格納フォルダ毎に、格納フォルダに格納された各ファイルについて「ファイル名」、「チェック日時」、「パス名」(図示無し)の各属性情報が設定されている。そしてステップ２６０において、ファイル管理部５０は、更新したファイル一覧リストを利用者ＩＤと共に中継サーバ１８に送信する(図３のステップ２０８も参照)。ファイル管理サーバ２０から中継サーバ１８へ送信されたファイル一覧リスト及び利用者ＩＤは、中継サーバ１８の利用者情報管理部４４によって対応付けて保管される(図３のステップ２１０も参照)。
【００４９】
上記のようにして、アップロードを予定しているファイルのファイルＤＢ５４への格納が完了した後に、利用者は、サービス提供装置１４に対してサービスの提供を要求する操作を端末装置１２を介して行う(図３のステップ２１２も参照)。この操作は、例えば端末装置１２上でブラウザ(ウェブページ閲覧部２２)を起動し、アクセス先としてサービス提供装置１４のＵＲＬ(詳しくは、サービス提供装置１４のサイトのうちアップロード画面のＵＲＬ)を指定することによって為される。これにより、端末装置１２からは、サービス提供装置１４を宛先として、アップロード画面の配信を要求するリクエストが送信され、このリクエストが中継サーバ１８で受信されることで、中継サーバ１８では図５に示すスクリプト付加処理が行われる。
【００５０】
スクリプト付加処理のステップ２７０において、リクエスト受付部２６は、端末装置１２から受信したサービス提供装置１４宛のリクエストを受け付ける。また、リクエスト解析部２８はリクエスト受付部２６によって受け付けられたリクエストを解析し、当該リクエストに設定されている利用者ＩＤ(リクエストを送信した端末装置１２を操作している利用者のＩＤ)を取得する(図３のステップ２１４も参照)。利用者情報管理部４４は、リクエスト解析部２８によって取得された利用者ＩＤを記憶する。また、リクエスト転送部３４は、リクエスト受付部２６によって受け付けられたリクエストを、サービス提供装置１４へそのまま送信する。
【００５１】
サービス提供装置１４は、端末装置１２から送信されたリクエストを中継サーバ１８経由で受信すると、当該リクエストで配信が要求されたアップロード画面のデータを記憶部９０から読み出す。そしてサービス提供装置１４は、記憶部９０から読み出したアップロード画面のデータを、端末装置１２宛のレスポンスに整形して送信する(図３のステップ２１６も参照)。
【００５２】
サービス提供装置１４から送信されたリクエストが中継サーバ１８で受信されると、スクリプト付加処理のステップ２７２において、レスポンス受付部３６は、サービス提供装置１４から受信した端末装置１２宛のレスポンスを受け付る。また、レスポンス解析部３８はレスポンス受付部３６によって受け付けられたレスポンスを解析し、当該レスポンスに設定されているセッションＩＤを取得する(図３のステップ２１８も参照)。次のステップ２７４において、利用者情報管理部４４は、レスポンス解析部３８によって取得されたセッションＩＤを、先に記憶した利用者ＩＤと対応付けて記憶する。
【００５３】
また、ステップ２７６において、レスポンス解析部３８は、レスポンス受付部３６によって受け付けられたレスポンスに<input type="file">タグが含まれているか否かを探索する。そしてステップ２７８において、スクリプト付加部４０は、レスポンス解析部３８による探索によって<input type="file">タグが発見されたか否か判定する(図３のステップ２２０も参照)。上記の<input type="file">タグは、レスポンスを受信した端末装置１２において、端末装置１２からサービス提供装置１４へのアップロード対象のファイルを指定する操作が行われることを意味している。
【００５４】
ステップ２７８の判定が否定された場合、レスポンスを受信した端末装置１２ではアップロード対象のファイルを指定する操作が行われないと判断できるので、ステップ２７８からステップ２８８へ移行する。ステップ２８８において、レスポンス転送部４２は、サービス提供装置１４からのレスポンスを端末装置１２へそのまま(スクリプトを付加せずに)送信し、スクリプト付加処理を終了する。
【００５５】
一方、ステップ２７８の判定が肯定された場合は、レスポンスを受信した端末装置１２ではアップロード対象のファイルを指定する操作が行われると判断できるので、ステップ２７８からステップ２８０へ移行する。ステップ２８０において、スクリプト付加部４０は、レスポンス解析部３８によって取得されたセッションＩＤと対応付けて利用者情報管理部４４に記憶されている利用者ＩＤを利用者情報管理部４４から取得する。またスクリプト付加部４０は、取得した利用者ＩＤと対応付けて利用者情報管理部４４に保管されているファイル一覧リストを利用者情報管理部４４から読み出す。
【００５６】
次のステップ２８２において、スクリプト付加部４０は、端末装置１２でアップロード対象のファイルの選択が行われる際に、ステップ２８０で読み出したファイル一覧リストを端末装置１２のディスプレイ７２に表示させるスクリプトを生成する。スクリプト付加部４０によって生成されるスクリプトの一例を図６,７に示す。図６,７において、スクリプト付加部４０によって生成されるスクリプトは、破線で囲みかつ太字で示した部分である。
【００５７】
図６に示すスクリプトはアップロード画面(親画面)に関するスクリプトである。図９(Ａ),(Ｃ)に示すように、アップロード画面１５０には、アップロード対象のファイルの候補を表示させるための「参照」ボタン１５２及びアップロードを指示するための「アップロード」ボタン１５４が設けられている。また、アップロード画面には、アップロード対象のファイルのパス名を表示するための表示欄１５６も設けられている。スクリプト付加部４０によって生成される親画面に関するスクリプトには、「参照」ボタン１５２が選択された場合に新しいウインドウを開いてファイル一覧リスト画面(子画面)を呼び出すスクリプトが含まれている。また、リクエストの宛先と子画面との間でのデータの渡し方を定義するスクリプト、子画面からファイルのパス名を受け取るスクリプト、及び、「アップロード」ボタン１５４が選択された場合にリクエストを送信するスクリプトも含まれている。
【００５８】
また、図７に示すスクリプトは子画面に関するスクリプトである。図９(Ｂ)に示すように、ファイル一覧リスト画面１６０は、利用者名を示す文字列１６２及びファイル一覧リスト１６４が設けられている。なお、ファイル一覧リスト画面１６０は開示の技術におけるファイル指定画面の一例である。スクリプト付加部４０によって生成される子画面に関するスクリプトには、子画面を生成するスクリプトが含まれている。また、ファイル一覧リスト１６４に表示された何れかのファイルが選択されると、選択されたファイルのパス名を親画面のスクリプトへ伝えるスクリプトも含まれている。スクリプト付加部４０は、子画面を生成するスクリプトを、利用者情報管理部４４から読み出したファイル一覧リストに基づいて生成する。
【００５９】
次のステップ２８４において、スクリプト付加部４０は、レスポンス解析部３８による探索によって発見された<input type="file">タグを含むスクリプト(例えば以下のスクリプト)を、リクエスト受付部２６によって受け付けられたリクエストから削除する。
<input type="file" name="data"/> <br>
【００６０】
そしてスクリプト付加部４０は、リクエスト受付部２６によって受け付けられたリクエストに対し、削除したスクリプトに代えて、ステップ２８２で生成したスクリプトを付加する(図３のステップ２２２も参照)。次のステップ２８６において、レスポンス転送部４２は、スクリプト付加部４０によってスクリプトが付加されたレスポンスを端末装置１２へ送信し、スクリプト付加処理を終了する。
【００６１】
上記のように中継サーバ１８によってスクリプトが付加されたレスポンスを受信した端末装置１２では、受信したレスポンスに付加されたスクリプトがウェブページ閲覧部２２(ブラウザ)によって解釈・実行されることで、図８に示すファイル選択処理が行われる。
【００６２】
ファイル選択処理のステップ３００において、ウェブページ閲覧部２２は、図９(Ａ)に示すようなアップロード画面１５０を端末装置１２のディスプレイ７２に表示させる(図３のステップ２２４も参照)。次のステップ３０２において、ウェブページ閲覧部２２は、アップロード画面１５０内の「参照」ボタン１５２が選択される迄待機する。「参照」ボタン１５２が選択されると、ステップ３０２からステップ３０４へ移行し、ウェブページ閲覧部２２は、ファイル一覧リストを表示する子画面(図９(Ｂ)に示すファイル一覧リスト画面１６０)を表示する(図３のステップ２２６も参照)。
【００６３】
アップロード画面１５０内の「参照」ボタン１５２が選択された場合、一般には、予め任意に設定されたフォルダに格納されたファイルが一覧表示され、表示対象のフォルダの変更(ディレクトリの移動)も可能であるので、任意のファイルが選択可能である。このため、アップロード対象のファイルとして機密性を有するファイルが誤って選択される可能性がある。
【００６４】
これに対して本実施形態では、アップロード画面１５０内の「参照」ボタン１５２が選択された場合に、中継サーバ１８によって付加されたスクリプトにより、ファイル一覧リスト画面１６０が表示される。このファイル一覧リスト画面１６０内のファイル一覧リスト１６４には、機密性を有していないことがファイル管理サーバ２０によって確認されたファイルのみが選択肢として一覧表示される。このため、機密性を有するファイルがアップロード対象のファイルとして誤って選択されることが防止される。
【００６５】
次のステップ３０６において、ウェブページ閲覧部２２は、ファイル一覧リスト１６４に一覧表示されているファイルのうちの何れかのファイルが選択される迄待機する。この間、利用者は、ファイル一覧リスト１６４を参照し、一覧表示されているファイルの中からアップロード対象のファイルを選択する操作を行う(図３のステップ２２８も参照)。アップロード対象として何れかのファイルが選択されると、ステップ３０６からステップ３０８へ移行し、ウェブページ閲覧部２２は、選択されたファイルのファイル名、パス名及びチェック日時を親画面(のスクリプト)へ受け渡し、子画面の表示を消去する。また、ウェブページ閲覧部２２は、例として図９(Ｃ)に示すように、親画面へ受け渡されたファイルのパス名を表示欄１５６内に表示させる。
【００６６】
次のステップ３１０において、ウェブページ閲覧部２２は、アップロード画面１５０内の「アップロード」ボタン１５２が選択される迄待機する。「アップロード」ボタン１５２が選択されると、ステップ３１０からステップ３１２へ移行する。そして、ステップ３１２において、ウェブページ閲覧部２２は、アップロード対象として選択されたファイルのファイル名、パス名及びチェック日時を含むアップロード・リクエストをサービス提供装置１４へ送信する(図３のステップ２３０も参照)。なお、このアップロード・リクエストには、アップロード対象のファイルのファイル名、パス名及びチェック日時の各属性情報が含まれているものの、アップロード対象のファイルのデータ自体は含まれていない。
【００６７】
続いて、端末装置１２からサービス提供装置１４宛のアップロード・リクエスト(アップロード対象のファイルの属性情報を含むリクエスト)を受信した場合に中継サーバ１８で実行されるファイルアップロード処理について、図１０を参照して説明する。
【００６８】
ファイルアップロード処理のステップ３２０において、リクエスト受付部２６は、端末装置１２から受信したサービス提供装置１４宛のアップロード・リクエストを受け付ける。また、リクエスト解析部２８は、リクエスト受付部２６によって受け付けられたアップロード・リクエストを解析する。次のステップ３２２において、リクエスト解析部２８は、リクエスト受付部２６によって受け付けられたアップロード・リクエストからセッションＩＤ、アップロード対象のファイルのファイル名、パス名及びチェック日時を各々取得する。
【００６９】
ステップ３２４において、ファイル取得部３０は、リクエスト解析部２８によって取得されたパス名に基づき、アップロード対象のファイルのデータをファイル管理サーバ２０から取得する(図３のステップ２３２も参照)。次のステップ３２６において、リクエスト生成部３２は、ファイル取得部３０によって取得されたアップロード対象のファイルのデータを、リクエスト受付部２６によって受け付けられたアップロード・リクエストに付加する。また、リクエスト生成部３２は、サービス提供装置１４へ送信するためにアップロード・リクエストを整形する。アップロード・リクエストを整形する処理としては、例えばヘッダの情報(例えばコンテンツ・タイプ等)を書き替える処理が挙げられる。
【００７０】
そしてステップ３２８において、リクエスト転送部３４は、リクエスト生成部３２によってアップロード対象のファイルのデータが付加されて整形されたアップロード・リクエストをサービス提供装置１４へ送信する(図３のステップ２３４も参照)。このアップロード・リクエストがサービス提供装置１４で受信されることで、サービス提供装置１４のサービス提供部２４により、所定のサービスを提供する処理が行われることになる(図３のステップ２３６も参照)。
【００７１】
このように、本実施形態では、アップロード対象のファイルの選択に際し、機密性を有していないことがファイル管理サーバ２０によって事前に確認されたファイルのみが選択肢として一覧表示される。これにより、機密性を有するファイルがアップロード対象のファイルとして誤って選択されることを防止することができ、機密性を有するファイルがサービス提供装置１４へ送信されることを防止できる。
【００７２】
また、本実施形態では、アップロード対象のファイルが機密性を有しているか否かの判定はファイル管理サーバ２０によって事前に行われるので、中継サーバ１８はアップロード・リクエストを中継する際に前記判定を行う必要が無い。これにより、アップロード・リクエストを中継する際に中継サーバ１８に加わる負荷が軽減され、アップロード対象のファイルのサイズが大きい場合や、アップロード・リクエストが頻繁に送信された場合にも、ファイルのアップロードは短時間で完了する。
【００７３】
また、本実施形態では、端末装置１２から送信されるアップロード・リクエストにアップロード対象のファイルのデータが含まれていないので、端末装置１２と中継サーバ１８との間のトラフィックが減少する。一方、中継サーバ１８はアップロード・リクエストを受信した場合にアップロード対象のファイルのデータをファイル管理サーバ２０から取得するので、中継サーバ１８とファイル管理サーバ２０との間のトラフィックは増加する。但し、本実施形態において、利用者によってアップロード対象として選択されるファイルは、機密性を有していないことがファイル管理サーバ２０によって事前に確認されたファイルであり、選択されたファイルが機密性の点でアップロードできないことは生じない。このため、利用者によってアップロード対象のファイルが選択された後、当該ファイルが機密性を有していないか否か判定する場合と比較して、機密性の点でアップロードできないファイルのデータを送受することが無くなる。従って、コンピュータ・ネットワーク８２内における無駄なトラフィックが削減され、コンピュータ・ネットワーク８２全体としてのトラフィックを減少させることができる。
【００７４】
更に、サービス提供装置１４が提供するサービスの種類によっては、元々のファイルに対してデータ量の増減が生ずる改変(例えばヘッダに何らかの情報を付加する等)を行ったデータをアップロードすると、サービス提供処理の処理結果がエラーとなることがある。これに対して本実施形態では、機密性を有していないことがファイル管理サーバ２０によって確認されてファイルＤＢ５４にデータが格納されたファイルはファイル一覧リストによって管理される。このため、本実施形態は、機密性を有していないことが確認されたファイルのデータを改変する必要はなく、当該改変を行っていないので、サービス提供処理の処理結果がエラーとなることも防止できる。
【００７５】
また、本実施形態で説明した技術は、端末装置１２にブラウザがインストールされていれば実現可能である。このため、端末装置１２に専用のアプリケーションをインストールしたり、端末装置１２にインストールされているアプリケーション(例えばメーラ等)を改変する必要もなく、容易に実施可能である。
【００７６】
〔第２実施形態〕
次に開示の技術の第２実施形態について説明する。なお、本第２実施形態は第１実施形態と同一の構成であるので、各部分に同一の符号を付して構成の説明を省略し、以下、本第２実施形態の作用について、第１実施形態と異なる部分のみ説明する。
【００７７】
本第２実施形態は、機密性を有していないことがファイル管理サーバ２０によって確認されてファイルＤＢ５４にデータが格納されたファイルのアップロードに際し、当該ファイルの改竄を確認する点で第１実施形態と相違している。以下、図１１〜図１４を参照して詳細を説明する。
【００７８】
第２実施形態に係るファイル管理サーバ２０は、アップロードを予定しているファイルが何れかの監視フォルダに新たに格納されると、図１２に示すファイル管理処理を行う。このファイル管理処理では、監視フォルダから取り出したファイルが機密性を有していないと判定し (ステップ２５４の判定が肯定)、当該ファイルのデータをファイルＤＢ５４の格納フォルダ内に格納(ステップ２５６)した後に、ステップ２６４へ移行する。ステップ２６４において、ファイル管理部５０は、監視フォルダから取り出してファイルＤＢ５４に格納したファイルのハッシュ値を演算する(図１１のステップ２３８も参照)。
【００７９】
次のステップ２６６において、ファイル管理部５０は、今回ファイルを新たに格納した格納フォルダに対応する特定の利用者のファイル一覧リストに、今回取り出したファイルの情報として、ステップ２６４で演算したハッシュ値を含む各情報を追加する。これにより、次のステップ２６０において、ハッシュ値を含むファイル一覧リストが利用者ＩＤと共にファイル管理部５０から中継サーバ１８に送信される(図１１のステップ２０８も参照)。また、ファイル管理サーバ２０から中継サーバ１８へ送信されたファイル一覧リスト及び利用者ＩＤは、中継サーバ１８の利用者情報管理部４４によって対応付けて保管される(図１１のステップ２１０も参照)。
【００８０】
第２実施形態に係る中継サーバ１８によって行われるスクリプト付加処理については、第１実施形態で説明した処理(図５)と同じであるが、スクリプト付加部４０によって生成されてレスポンスに付加されるスクリプトが若干相違している。すなわち、前述のように本第２実施形態では、ファイル一覧リストに、各ファイルの情報の１つとして各ファイルのハッシュ値が含まれているが、本第２実施形態では、各ファイルのハッシュ値は端末装置への送信対象から除外され、スクリプトに含まれていない。また、本第２実施形態において、スクリプト付加部４０は、図１３に示すファイル選択処理を端末装置１２のウェブページ閲覧部２２(ブラウザ)によって行わせるスクリプトを生成する。以下、図１３を参照し、端末装置１２のウェブページ閲覧部２２(ブラウザ)によって行われるファイル選択処理を説明する。
【００８１】
このファイル選択処理は、端末装置１２のディスプレイ７２にファイル一覧リスト画面１６０が表示されている状態で、利用者によってアップロード対象のファイルが選択される (図３のステップ２２８も参照)と、ステップ３０６からステップ３１４へ移行する。ステップ３１４において、ウェブページ閲覧部２２は、スクリプトに含まれるパス名に基づき、利用者によって選択されたアップロード対象のファイルのデータをファイル管理サーバから取得する(図１１のステップ２４０も参照)。次のステップ３１６において、ウェブページ閲覧部２２は、ステップ３１４で取得したアップロード対象のファイルのデータに基づき、アップロード対象のファイルのハッシュ値を演算する(図１１のステップ２４２も参照)。また、ステップ３１８において、ウェブページ閲覧部２２は、アップロード対象のファイルのファイル名、パス名、チェック日時及び演算したハッシュ値を親画面(のスクリプト)へ受け渡し、子画面の表示を消去する。
【００８２】
次のステップ３１０において、ウェブページ閲覧部２２は、第１実施形態と同様に、アップロード画面１５０内の「アップロード」ボタン１５２が選択される迄待機する。「アップロード」ボタン１５２が選択されると、ステップ３１０からステップ３１９へ移行する。そして、ステップ３１９において、ウェブページ閲覧部２２は、アップロード対象のファイルのファイル名、パス名、チェック日時及びハッシュ値を含むアップロード・リクエストをサービス提供装置１４へ送信する(図１１のステップ２３０も参照)。なお、このアップロード・リクエストには、アップロード対象のファイルのファイル名、パス名、チェック日時及びハッシュ値の各属性情報が含まれているものの、アップロード対象のファイルのデータ自体は含まれていない。
【００８３】
第２実施形態に係る中継サーバ１８は、端末装置１２からサービス提供装置１４宛のアップロード・リクエストを受信した場合に、図１４に示すファイルアップロード処理を行う。このファイルアップロード処理のステップ３２０において、リクエスト受付部２６は、端末装置１２から受信したサービス提供装置１４宛のアップロード・リクエストを受け付ける。また、リクエスト解析部２８は、リクエスト受付部２６によって受け付けられたアップロード・リクエストを解析する。
【００８４】
次のステップ３３０において、リクエスト解析部２８は、リクエスト受付部２６によって受け付けられたアップロード・リクエストからセッションＩＤ、アップロード対象のファイルのファイル名、パス名、チェック日時及びハッシュ値を各々取得する。ステップ３２４において、ファイル取得部３０は、リクエスト解析部２８によって取得されたセッションＩＤと対応付けて利用者情報管理部４４に記憶されている利用者ＩＤを取得する。続いてファイル取得部３０は、取得した利用者ＩＤと対応付けて利用者情報管理部４４に記憶されているファイル一覧リストを利用者情報管理部４４から読み出す(図１１のステップ２４４も参照)。
【００８５】
次のステップ３３４において、ファイル取得部３０は、リクエスト解析部２８によって取得されたハッシュ値が、読み出したファイル一覧リストに設定されている同一ファイルのハッシュ値に一致しているか否か判定する(図１１のステップ２４６も参照)。ハッシュ値が不一致の場合、ファイルＤＢ５４に格納された同ファイルのデータは、機密性を有していないことがファイル管理サーバ２０によって確認された後で改竄された可能性がある。このため、ステップ３３４の判定が否定された場合はステップ３３６へ移行し、中継サーバ１８は端末装置１２に対してサービス提供装置１４へのファイルのアップロードができない旨を通知し、ファイルアップロード処理を終了する。
【００８６】
また、ハッシュ値が一致していた場合はステップ３３４の判定が肯定されてステップ３２４へ移行する。以降の処理は第１実施形態と同じであり、アップロード対象のファイルのデータがファイル管理サーバ２０から取得され(ステップ３２４)、当該データがアップロード・リクエストに付加され、アップロード・リクエストが整形される(ステップ３２６)。そして、アップロード・リクエストがサービス提供装置１４へ送信され(ステップ３２８)、サービス提供装置１４のサービス提供部２４により、所定のサービスを提供する処理が行われる(図１１のステップ２３６も参照)。
【００８７】
このように、本第２実施形態では、アップロードを予定しているファイルが機密性を有していないことを確認した際に、ハッシュ値を演算して保存しておき、ファイルをアップロードする際に改めてハッシュ値を演算して比較している。これにより、機密性を有しないことが確認されてファイルＤＢ５４に格納されたファイルが、当該ファイルのアップロードが行われる迄の間に改竄されて機密情報が付加された等の場合にも、ファイルのアップロードによって機密情報が漏洩することを防止できる。その他の作用効果は第１実施形態と同じであるので、説明を省略する。
【００８８】
なお、上記では機密性を有しないことが確認されたファイルをファイルＤＢ５４に利用者単位で格納・管理する態様を説明したが、利用者のグループ単位でファイルを格納・管理するようにしてもよい。
【００８９】
また、上記では端末装置１２及び中継装置１６が企業内に設置された態様を説明したが、開示の技術はこれに限られるものではなく、端末装置１２及び中継装置１６は、例えば家庭内に設置されていてもよい。また、上記では中継装置１６が中継サーバ１８とファイル管理サーバ２０に分けられた態様を説明したが、これに限定されるものではなく、中継サーバ１８とファイル管理サーバ２０の機能を単一の装置(コンピュータ)で実現するようにしてもよい。
【００９０】
また、上記では開示の技術の中継プログラムの一例である中継プログラム１１０及びファイル管理プログラム１４４のうち、中継プログラム１１０が記憶部１０６に予め記憶され、ファイル管理プログラム１４４が記憶部１４０に予め記憶されている態様を説明した。しかし、これに限定されるものではなく、開示の技術の中継プログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体に記録されている形態で提供することも可能である。
【００９１】
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【符号の説明】
【００９２】
１０  コンピュータ・システム
１２  端末装置
１４  サービス提供装置
１６  中継装置
１８  中継サーバ
２０  ファイル管理サーバ
２６  リクエスト受付部
２８  リクエスト解析部
３０  ファイル取得部
３２  リクエスト生成部
３４  リクエスト転送部
３６  レスポンス受付部
３８  レスポンス解析部
４０  スクリプト付加部
４２  レスポンス転送部
４４  利用者情報管理部
４８  ファイル受付部
５０  ファイル管理部
５２  ファイル記憶部
５４  ファイルＤＢ
８２  コンピュータ・ネットワーク
１００  サーバ・コンピュータ
１０２  ＣＰＵ
１０４  メモリ
１０６  記憶部
１１０  中継プログラム
１３４  サーバ・コンピュータ
１３６  ＣＰＵ
１３８  メモリ
１４０  記憶部
１４４  ファイル管理プログラム
【図１】
0005948930.tif 000002
【図２】
0005948930.tif 000003
【図３】
0005948930.tif 000004
【図４】
0005948930.tif 000005
【図５】
0005948930.tif 000006
【図８】
0005948930.tif 000007
【図９】
0005948930.tif 000008
【図１０】
0005948930.tif 000009
【図１１】
0005948930.tif 000010
【図１２】
0005948930.tif 000011
【図１３】
0005948930.tif 000012
【図１４】
0005948930.tif 000013
【図６】
0005948930.tif 000014
【図７】
0005948930.tif 000015