(57)【特許請求の範囲】
【請求項１】
Ｗｅｂブラウザを利用するＷｅｂ利用者端末と、前記Ｗｅｂ利用者端末を収容するアプリケーションサーバ装置と、ファイル転送用の専用アプリケーションがインストールされた専用利用者端末と、前記アプリケーションサーバ装置や前記専用利用者端末から受信した暗号化されたファイルを格納し、ファイルの転送サービスを提供するファイルサーバ装置とから構成されるファイル転送システムであって、
前記アプリケーションサーバ装置は、
前記ファイルを受信する受信者端末がＷｅｂ利用者端末である場合に、前記ファイルサーバ装置から所定の間隔で暗号化されたファイルを受信し、受信したファイルを復号化する復号化手段と、
前記復号化手段により復号されたファイルに対して、同一の受信者端末ごとに、当該ファイルをアーカイブ化してアーカイブファイルを生成するアーカイブ処理手段と、
前記アーカイブ処理手段により生成されたアーカイブファイルを暗号化して、所定の記憶部に格納する再暗号化手段と、
前記再暗号化手段により暗号化されて所定の記憶部に格納されたアーカイブファイルの取得要求を前記受信者端末から受信した場合に、当該受信者端末に対応するアーカイブファイルを復号化して、当該受信者端末に応答するファイル応答手段と、
を備え、
前記ファイルサーバ装置は、
前記ファイルを受信する受信者端末が専用利用者端末である場合に、当該専用利用者端末に対して前記専用アプリケーションで要求された複数のファイルを同時に送信する送信手段、
を備えたことを特徴とするファイル転送システム。
【請求項２】
前記復号化手段は、前記受信者端末からファイルの取得要求を受信した場合に、当該要求に対応するファイルを前記ファイルサーバ装置から取得して復号化し、
前記アーカイブ処理手段は、前記復号化手段により復号化されたファイルを同一の受信者端末ごとに、当該ファイルをアーカイブ化してアーカイブファイルを生成し、
前記ファイル応答手段は、前記アーカイブ処理手段により同一の受信者端末ごとにアーカイブ化されたアーカイブファイルを、当該受信者端末に応答することを特徴とする請求項１に記載のファイル転送システム。
【請求項３】
請求項１又は２に記載のファイル転送システムで用いられるアプリケーションサーバ装置。
【請求項４】
Ｗｅｂブラウザを利用するＷｅｂ利用者端末と、前記Ｗｅｂ利用者端末を収容するアプリケーションサーバ装置と、ファイル転送用の専用アプリケーションがインストールされた専用利用者端末と、前記アプリケーションサーバ装置や他の利用者端末から送信された暗号化されたファイルを受信して格納し、ファイルの転送サービスを提供するファイルサーバ装置とから構成されるファイル転送システムに適したファイル転送方法であって、
前記アプリケーションサーバ装置が、
前記ファイルを受信する受信者端末がＷｅｂ利用者端末である場合に、前記ファイルサーバ装置から所定の間隔で暗号化されたファイルを受信し、受信したファイルを復号化する復号化工程と、
前記復号化工程により復号されたファイルに対して、同一の受信者端末ごとに、当該ファイルをアーカイブ化してアーカイブファイルを生成するアーカイブ処理工程と、
前記アーカイブ処理工程により生成されたアーカイブファイルを暗号化して、所定の記憶部に格納する再暗号化工程と、
前記再暗号化工程により暗号化されて所定の記憶部に格納されたアーカイブファイルの取得要求を前記受信者端末から受信した場合に、当該受信者端末に対応するアーカイブファイルを復号化して、当該受信者端末に応答するファイル応答工程と、
を含み
前記ファイルサーバ装置が、
前記ファイルを受信する受信者端末が専用利用者端末である場合に、当該専用利用者端末に対して前記専用アプリケーションで要求された複数のファイルを同時に送信する送信工程、
を含んだことを特徴とするファイル転送方法。
【請求項５】
請求項３に記載のアプリケーションサーバ装置としてコンピュータに実行させるためのファイル転送プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、Ｗｅｂブラウザを利用するＷｅｂ利用者端末を収容するアプリケーションサーバ装置と、アプリケーションサーバ装置や他の利用者端末から送信された暗号化されたファイルを受信して格納するファイルサーバ装置とから構成されるファイル転送システム、アプリケーションサーバ装置、ファイル転送方法およびファイル転送プログラムに関する。
【背景技術】
【０００２】
従来より、端末装置間で電子データ（ファイル）などを送受信するファイル転送システムが利用されている。このファイル転送システムの送受信形態の一つとして、アプリケーション型クライアントから送信したファイルをＷｅｂブラウザ（以下単にブラウザという）で受信する手法が多く利用されている。
【０００３】
例えば、非特許文献１では、セキュアに大容量ファイルを流通させる大規模セキュアファイル流通基盤システム（ＳＳＳ：Scalable  Secure  file  Sharing  system）が開示されている。
【０００４】
具体的には、図１０に示すように、この大規模セキュアファイル流通基盤システムは、ＳＳＳ専用のアプリケーションがインストールされた専用アプリユーザ端末と、ファイル転送サービスを提供するＳＳＳサーバと、一般的なＷｅｂブラウザを使用するＷｅｂブラウザユーザ端末と、ＳＳＳサーバとＷｅｂブラウザユーザ端末との間に介在してＷｅｂブラウザユーザ端末を収容するＡＰサーバとから構成される。
【０００５】
このような構成において、各ユーザ端末がＳＳＳサーバにデータを送信（アップロード）する場合、専用アプリユーザ端末は、図１１に示すように、ＳＳＳサーバに格納したいファイル（データ）を圧縮（コンテナ化）して暗号化、チェックサム計算を行い、受信者端末を指定してＳＳＳサーバに直接送信し、ＳＳＳサーバは、この受信したコンテナを格納する。一方、専用アプリがインストールされていないＷｅｂブラウザユーザ端末は、ＳＳＳサーバに格納したいファイルと受信者端末を指定してＡＰサーバに送信し、ＡＰサーバは、図１２に示すように、専用アプリユーザ端末と同様の処理であるコンテナ化、暗号化、チェックサム計算を行ってＳＳＳサーバに送信する。そして、ＳＳＳサーバは、この受信したコンテナを格納する。
【０００６】
そして、このようにして、ＳＳＳサーバに格納されたファイル（コンテナ）を各受信者端末が受信（ダウンロード）する場合について説明する。まず、受信者端末が専用アプリユーザ端末である場合、受信者端末は、ＳＳＳサーバに対してファイル取得要求を直接送信し、ＳＳＳサーバは、この要求に応じて該当するファイルを受信者端末に送信する。そして、受信者端末は、受信したファイルに対して、チェックサム計算、復号化およびコンテナ解凍を行うことで、当該ファイルを得ることができる。次に、受信者端末がＷｅｂブラウザユーザ端末である場合、受信者端末は、ＡＰサーバに対してＳＳＳサーバに格納されるファイルの取得要求を送信し、ＡＰサーバは、図１３に示すように、バッチ処理などによってＳＳＳサーバから定期的に受信したコンテナに対してチェックサム計算、復号化およびコンテナ解凍を行って蓄積しておき、蓄積されるファイルから当該取得要求に対応するファイルを受信者端末に送信する。
【０００７】
このようにすることで、専用アプリユーザ端末間、Ｗｅｂブラウザユーザ端末間、専用アプリユーザ端末とＷｅｂブラウザユーザ端末間とにおいて、電子メールに添付できないような大容量のファイル（データ）を送受信させることができる。
【０００８】
【非特許文献１】“大規模セキュアファイル流通基盤システム（ＳＳＳ）”、ＮＴＴ技術ジャーナル８月号、2006.8、p36〜p39
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記した従来の技術は、専用アプリを持たない受信者端末にとっては、複数のファイルをまとめてダウンロードすることができず、利便性が悪いという課題があった。
【００１０】
具体的には、受信者端末が専用アプリユーザ端末である場合、受信者端末は、ファイルを複数選択してドラック＆ドロップすることにより、多数のファイルをコンテナとして一度でＳＳＳサーバにアップロードし、また同様に、ＳＳＳサーバから複数のコンテナを一度にダウンロードすることができる。一方で、受信者端末が専用アプリを持たないＷｅｂブラウザユーザ端末である場合、受信者端末は、ファイルを複数選択してドラック＆ドロップすることができない一般的なＷｅｂブラウザを用いて、複数のファイルをコンテナとして一度でＷｅｂサーバを介してＳＳＳサーバにアップロードする必要があり、また、ＳＳＳサーバに格納される複数のコンテナをＡＰサーバを介してダウンロードする際には、１コンテナずつＷｅｂブラウザを用いてＡＰサーバからファイルをダウンロードする必要がある。
【００１１】
例えば、送信者端末が専用アプリユーザ端末である場合に、ＳＳＳサーバを介して１０ファイル（１０コンテナ）をＷｅｂブラウザユーザ端末である受信者端末に送信する場合について説明する。この場合、送信者端末は、ドラック＆ドロップすることにより、１０ファイルを１０コンテナとしてＳＳＳサーバにアップロードしたとする。その後、ＳＳＳサーバは、格納した１０コンテナをＡＰサーバにバッチ処理で送信する。そして、受信者端末は、送信者端末がＳＳＳサーバにアップロードした後にＡＰサーバに送信された１０コンテナを、Ｗｅｂブラウザを用いて１コンテナずつの計１０回、ＡＰサーバからファイルをダウンロードするため、Ｗｅｂブラウザユーザ端末にとっては、利便性が非常に悪い。なお、専用アプリユーザ端末の場合は、１０コンテナを指定することにより、１回でダウンロードすることができる。
【００１２】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、専用アプリを持たないユーザ端末であっても、利便性よくファイルを送受信することが可能であるファイル転送システム、アプリケーションサーバ装置、ファイル転送方法およびファイル転送プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するため、請求項１に係る発明は、Ｗｅｂブラウザを利用するＷｅｂ利用者端末と、前記Ｗｅｂ利用者端末を収容するアプリケーションサーバ装置と、ファイル転送用の専用アプリケーションがインストールされた専用利用者端末と、前記アプリケーションサーバ装置や前記専用利用者端末から受信した暗号化されたファイルを格納し、ファイルの転送サービスを提供するファイルサーバ装置とから構成されるファイル転送システムであって、前記アプリケーションサーバ装置は、前記ファイルを受信する受信者端末がＷｅｂ利用者端末である場合に、前記ファイルサーバ装置から所定の間隔で暗号化されたファイルを受信し、受信したファイルを復号化する復号化手段と、前記復号化手段により復号されたファイルに対して、同一の受信者端末ごとに、当該ファイルをアーカイブ化してアーカイブファイルを生成するアーカイブ処理手段と、を備えることを特徴とする。
【００１４】
また、請求項１に係る発明は、上記の発明において、前記アプリケーションサーバ装置は、前記アーカイブ処理手段により生成されたアーカイブファイルを暗号化して、所定の記憶部に格納する再暗号化手段と、前記再暗号化手段により暗号化されて所定の記憶部に格納されたアーカイブファイルの取得要求を前記受信者端末から受信した場合に、当該受信者端末に対応するアーカイブファイルを復号化して、当該受信者端末に応答するファイル応答手段と、を備え、前記ファイルサーバ装置は、前記ファイルを受信する受信者端末が専用利用者端末である場合に、当該専用利用者端末に対して前記専用アプリケーションで要求された複数のファイルを同時に送信する送信手段、を備えることを特徴とする。
【００１５】
また、請求項２に係る発明は、上記の発明において、前記復号化手段は、前記受信者端末からファイルの取得要求を受信した場合に、当該要求に対応するファイルを前記ファイルサーバ装置から取得して復号化し、前記アーカイブ処理手段は、前記復号化手段により復号化されたファイルを同一の受信者端末ごとに、当該ファイルをアーカイブ化してアーカイブファイルを生成し、前記ファイル応答手段は、前記アーカイブ処理手段により同一の受信者端末ごとにアーカイブ化されたアーカイブファイルを、当該受信者端末に応答することを特徴とする。
【００１６】
また、請求項３に係る発明は、請求項１又は２に記載のファイル転送システムで用いられるアプリケーションサーバ装置であることを特徴とする。
【００１７】
また、請求項４に係る発明は、Ｗｅｂブラウザを利用するＷｅｂ利用者端末と、前記Ｗｅｂ利用者端末を収容するアプリケーションサーバ装置と、ファイル転送用の専用アプリケーションがインストールされた専用利用者端末と、前記アプリケーションサーバ装置や他の利用者端末から送信された暗号化されたファイルを受信して格納し、ファイルの転送サービスを提供するファイルサーバ装置とから構成されるファイル転送システムに適したファイル転送方法であって、前記アプリケーションサーバ装置が、前記ファイルを受信する受信者端末がＷｅｂ利用者端末である場合に、前記ファイルサーバ装置から所定の間隔で暗号化されたファイルを受信し、受信したファイルを復号化する復号化工程と、前記復号化工程により復号されたファイルに対して、同一の受信者端末ごとに、当該ファイルをアーカイブ化してアーカイブファイルを生成するアーカイブ処理工程と、前記アーカイブ処理工程により生成されたアーカイブファイルを暗号化して、所定の記憶部に格納する再暗号化工程と、前記再暗号化工程により暗号化されて所定の記憶部に格納されたアーカイブファイルの取得要求を前記受信者端末から受信した場合に、当該受信者端末に対応するアーカイブファイルを復号化して、当該受信者端末に応答するファイル応答工程と、を含み前記ファイルサーバ装置が、前記ファイルを受信する受信者端末が専用利用者端末である場合に、当該専用利用者端末に対して前記専用アプリケーションで要求された複数のファイルを同時に送信する送信工程、を含むことを特徴とする。
【００１８】
また、請求項５に係る発明は、請求項３に記載のアプリケーションサーバ装置としてコンピュータに実行させるためのファイル転送プログラムであることを特徴とする。
【発明の効果】
【００１９】
請求項１、３、４、５の発明によれば、ファイルサーバ装置から所定の間隔で暗号化されたファイルを受信し、受信したファイルを復号化し、復号されたファイルに対して、同一の受信者端末ごとに、当該ファイルをアーカイブ化してアーカイブファイルを生成し、同一の受信者端末ごとにアーカイブ化されたアーカイブファイルの取得要求を受信者端末から受信した場合に、当該受信者端末に対応するアーカイブファイルを復号化して、当該受信者端末に応答するので、専用アプリを持たないユーザ端末であっても、利便性よくファイルを送受信することが可能である。
【００２０】
例えば、複数のファイルをアーカイブ化して１つのファイルにまとめることにより、多数のファイルが一度に送信されたＷｅｂブラウザを利用する受信者端末であっても、１回のダウンロードでファイルを受信することができる。
【００２１】
また、請求項１、３、４、５の発明によれば、生成されたアーカイブファイルを暗号化して、所定の記憶部に格納し、暗号化されて所定の記憶部に格納されたアーカイブファイルの取得要求を受信者端末から受信した場合に、当該受信者端末に対応するアーカイブファイルを復号化して、当該受信者端末に応答するので、セキュリティを高くファイル転送を行うことが可能である。
【００２２】
例えば、従来行われていたように、アプリケーションサーバ（ＡＰサーバ）は、ファイルサーバ（ＳＳＳサーバ）から受信したファイルを平文のまま一度保存し、その後に、受信者端末の要求に応じて、平文で保存するファイルを応答する場合に比べて、アーカイブ化されたアーカイブファイルを暗号化して保存し、受信者端末の要求に応じて、暗号化されたアーカイブファイルを復号化して受信者端末に応答することができる結果、アプリケーションサーバ自体の盗難、サーバへの不正侵入に対しても、機密情報を守ることができる。
【００２３】
また、請求項２の発明によれば、受信者端末からファイルの取得要求を受信した場合に、当該要求に対応するファイルをファイルサーバ装置から取得して復号化し、復号化されたファイルを同一の受信者端末ごとに、当該ファイルをアーカイブ化してアーカイブファイルを生成し、当該受信者端末に応答するので、リアルタイムに復号しながら、ファイルを転送することができる結果、機密情報を強固に守ることができる。
【発明を実施するための最良の形態】
【００２４】
以下に添付図面を参照して、この発明に係るファイル転送システム、アプリケーションサーバ装置、ファイル転送方法およびファイル転送プログラムの実施例を詳細に説明する。なお、以下では、本実施例で用いる主要な用語、本実施例に係るファイル転送システムの概要および特徴、ファイル転送システムの構成および処理の流れを順に説明し、最後に本実施例に対する種々の変形例を説明する。
【実施例１】
【００２５】
［用語の説明］
まず最初に、本実施例で用いる主要な用語を説明する。本実施例で用いるファイル転送システムは、一般的なＷｅｂブラウザのＪａｖａ（登録商標）ＡＰＩであるサーブレットを用いてファイルを送受信するＷｅｂ利用者端末（特許請求の範囲に記載の「Ｗｅｂ利用者端末」または「受信者端末」に対応する）と、Ｗｅｂブラウザ端末からファイルを受信してコンテナ化、暗号化、チェックサム計算を行ってＳＳＳサーバに送信するＡＰサーバ（特許請求の範囲に記載の「アプリケーションサーバ装置」に対応する）と、専用アプリケーションを用いてファイルをコンテナ化、暗号化、チェックサム計算を行ってＳＳＳサーバに直接送信する専用利用者端末（特許請求の範囲に記載の「他の利用者端末」または「受信者端末」に対応する）と、ＡＰサーバや専用利用者端末から受信したコンテナを格納して他の端末に転送するＳＳＳサーバ（特許請求の範囲に記載の「ファイルサーバ装置」に対応する）とから構成される。なお、ＳＳＳサーバに格納されるコンテナとは、ＡＰサーバまたは専用利用者端末から送信されたファイルのことを示す、つまり、複数のファイルが同時に送信された場合、当該複数のファイルが１コンテナとなる。
【００２６】
そして、このファイル転送システムでは、Ｗｅｂ利用者端末や専用利用者端末は、受信者端末となるＷｅｂ利用者端末や専用利用者端末を指定して、送信したい複数のファイルをコンテナとしてＳＳＳサーバにアップロードするため、ＳＳＳサーバに格納されているコンテナは、送信時に指定された受信者端末に限りダウンロードすることができる。また、ＳＳＳサーバは、当該ファイル転送システムを利用する利用者端末のＩＰアドレスなど、利用者端末を一意に識別する情報を記憶しており、同様に、ＡＰサーバも、当該ファイル転送システムを利用するＷｅｂ利用者端末のＩＰアドレスなど、利用者端末を一意に識別する情報を記憶している。
【００２７】
また、ＡＰサーバおよび専用利用者端末は、共通鍵暗号方式や公開鍵暗号方式、またそれらを組み合わせた手法など一般的な暗号化方式を用いて、ファイルをコンテナ化および暗号化してＳＳＳサーバに送信し、各利用者端末間でファイルの転送を行う。例えば、ＡＰサーバまたは専用利用者端末は、予め記憶している受信者端末の公開鍵で暗号化したコンテナをＳＳＳサーバに送信し、受信者端末（専用利用者端末）は、ＳＳＳサーバから受信した暗号化されたコンテナを自身の秘密鍵で復号化することで、コンテナ化されたファイルを取得する。また別の手法としては、ＡＰサーバまたは専用利用者端末は、受信者端末（専用利用者端末）との共通鍵でコンテナを暗号化し、暗号化したコンテナを受信者端末の公開鍵で暗号化してＳＳＳサーバに送信する。そして、受信者端末（専用利用者端末）は、ＳＳＳサーバから受信した暗号化されたコンテナと共通鍵とを自身の秘密鍵で復号化して共通鍵を取得し、取得した共通鍵でコンテナを復号化することで、コンテナ化されたファイルを得ることができる。ここで、共通鍵や受信者端末の公開鍵などは、一般的な手法を用いて、予めセキュアな状態で取得しているものとする。
【００２８】
なお、Ｗｅｂ利用者端末がＡＰサーバを介してコンテナをＳＳＳサーバに送信する手法や専用利用者端末同士がＳＳＳサーバを介してコンテナを送受信する手法については、図８〜図１１と同様の手法を用いるので、ここでは、その詳細な説明は省略する。また、専用利用者端末についても、必ず専用アプリを用いたファイル転送を行う必要はなくＷｅｂブラウザを用いてファイル転送を行ってもよい。その場合、専用利用者端末は、ＡＰサーバにアクセスして、ＡＰサーバを介してＳＳＳサーバにファイルを送信したり、ＳＳＳサーバからファイルを受信したりするので、Ｗｅｂ利用者端末と同じ手法を用いることになる。
【００２９】
［ファイル転送システムの概要および特徴］
次に、図１を用いて、実施例１に係るファイル転送システムの概要および特徴を説明する。図１は、実施例１に係るファイル転送システムの概要と特徴を説明するための図である。
【００３０】
図１に示すように、このファイル転送システムは、ユーザＡ〜ユーザＣなどが利用する複数のＷｅｂ利用者端末と、ＡＰサーバと、専用アプリを利用する複数の専用利用者端末と、ＳＳＳサーバとから構成される。そして、ＳＳＳサーバは、ＡＰサーバや専用利用者端末から受信した暗号化されたコンテナを受信して記憶している。
【００３１】
このような構成において、実施例１に係るファイル転送システムは、上記したように、ＳＳＳサーバを介して、専用利用者端末間、Ｗｅｂ利用者端末間、専用利用者端末とＷｅｂ利用者端末間とにおいて、電子メールに添付できないような大容量のファイル（データ）を送受信させることを概要とするものであり、特に、専用アプリを持たないユーザ端末であっても、利便性よくファイルを送受信することが可能であることに主たる特徴がある。
【００３２】
この主たる特徴を具体的に説明すると、ＡＰサーバは、ＳＳＳサーバから所定の間隔で暗号化されたファイルを受信し、受信したファイルを復号化し、そして、復号されたファイルに対して、同一の受信者端末ごとに、当該ファイルをアーカイブ化してアーカイブファイルを生成する（図１の（１）と（２）参照）。
【００３３】
具体的に例を挙げると、ＡＰサーバは、定期的にバッチ処理などにより、ＳＳＳサーバから受信者端末（当該コンテナを受信するＷｅｂ利用者端末であり、例えば、ユーザＡが利用するＷｅｂ利用者端末）との共通鍵で暗号化されたコンテナと受信者端末の公開鍵で暗号化された共通鍵を受信する。そして、ＡＰサーバは、受信した暗号化されているコンテナに対して、公開鍵を予め登録する際に作成した受信者端末の秘密鍵を用いて、受信した受信者端末の公開鍵で暗号化された共通鍵を復号化する。続いて、ＡＰサーバは、復号化した共通鍵を用いて、ＳＳＳサーバから受信した暗号化されているコンテナそれぞれを復号化する。その後、ＡＰサーバは、このようにして復号化されたコンテナにそれぞれ指定されている受信者が同一であるコンテナを抽出し、抽出した同一の受信者端末であるコンテナをＪａｖａ（登録商標）のＡＰＩを用いてＺＩＰ化するとともに、それぞれの受信者端末ごとに共通鍵を作成する。
【００３４】
続いて、ＡＰサーバは、生成されたアーカイブファイルを暗号化して所定の記憶部に格納する（図１の（３）参照）。上記した例で具体的に説明すると、ＡＰサーバは、上記で生成されたＺＩＰ化されたファイル群（アーカイブファイル）に対して、作成した共通鍵で暗号化するとともに、使用した共通鍵を受信者の公開鍵で暗号化してアーカイブファイルＤＢに格納する。
【００３５】
その後、ＡＰサーバは、暗号化されて所定の記憶部に格納されたアーカイブファイルの取得要求を受信者端末から受信した場合に、当該取得要求に対応するアーカイブファイルを復号化して、当該受信者端末に応答する（図１の（４）と（５）を参照）。上記した例で具体的に説明すると、ＡＰサーバは、受信者端末であるユーザＡが利用するＷｅｂ利用者端末からファイル（またはコンテナ）の取得要求を受信する。すると、ＡＰサーバは、ユーザＡが利用する端末のＩＰアドレスなどからユーザＡが受信者端末となっているアーカイブファイルをアーカイブファイルＤＢから特定するとともに、ユーザＡの秘密鍵を用いて共通鍵を復号化する。そして、ＡＰサーバは、復号化した共通鍵を用いて、特定したアーカイブファイルをアーカイブファイルＤＢから取得して復号化し、復号化したアーカイブファイルを受信者端末でありユーザＡが利用する端末に送信する。
【００３６】
このように、実施例１に係るファイル転送システムは、受信者端末が一致する複数のファイルをアーカイブ化して、専用アプリケーションを持たないＷｅｂ利用者端末であっても、一度で複数のファイルをダウンロードさせることができる結果、上記した主たる特徴のごとく、専用アプリを持たないユーザ端末であっても、利便性よくファイルを送受信することが可能である。
【００３７】
［ファイル転送システムの構成］
次に、図２を用いて、図１に示したファイル転送システムの構成を説明する。ここでは、本実施例におけるファイル転送システムに密接に関連するＡＰサーバについて具体的に説明し、その他の装置については、詳細な説明は省略する。図２は、実施例１に係るファイル転送システムにおけるＡＰサーバの構成を示すブロック図である。
【００３８】
図２に示すように、このＡＰサーバ１０は、通信制御Ｉ／Ｆ部１１と、ファイル受信部１２と、送信用データＤＢ１３と、送信用構造化処理部２０と、コンテナ送信部２４と、コンテナ受信部３１と、応答用データＤＢ３２と、アーカイブＤＢ３３と、応答用構造化処理部４０と、ファイル応答部４６とから構成される。
【００３９】
通信制御Ｉ／Ｆ部１１は、ＳＳＳサーバやＷｅｂ利用者端末との間でやり取りする各種情報に関する通信を制御する。具体的に例を挙げれば、通信制御Ｉ／Ｆ部１１は、ファイル受信部１２とコンテナ送信部２４とコンテナ受信部３１とファイル応答部４６とにそれぞれ接続され、Ｗｅｂ利用者端末からファイルを受信したり、Ｗｅｂ利用者端末から受信したファイルをコンテナとしてＳＳＳサーバに送信したり、ＳＳＳサーバからコンテナを受信したり、Ｗｅｂ利用者端末に対してファイルを応答する各種制御を行う。
【００４０】
ファイル受信部１２は、Ｗｅｂ利用者端末からファイルを受信する。具体的に例を挙げると、ファイル受信部１２は、コンテナ生成部２１に接続され、Ｗｅｂ利用者端末から要求に応じて、ファイルをＳＳＳサーバに送信するためのＷｅｂ画面などを当該Ｗｅｂ利用者端末に応答する。そして、ファイル受信部１２は、応答したＷｅｂ画面のＪａｖａ（登録商標）ＡＰＩであるサーブレットから、ＳＳＳサーバに送信したいファイルと当該ファイルの受信者装置などの指定を受け付けて、当該ファイルをコンテナ生成部２１に出力する。なお、ここで、ファイル受信部１２は、送信元の端末装置を識別するための情報（例えば、ＩＰアドレスやユーザＩＤなど）を取得する。
【００４１】
送信用データＤＢ１３は、送信用構造化処理部２０で使用される各種暗号鍵を記憶したり、送信用構造化処理部２０により生成されたコンテナを記憶したりする。具体的に例を挙げると、送信用データＤＢ１３は、コンテナ送信部２４やチェックサム計算部２３とに接続され、当該ファイル転送システムを利用するＷｅｂ利用者端末を識別する識別子（例えば、ＩＰアドレスやユーザＩＤなど）に対応付けて共通鍵や公開鍵を記憶し、また、後述する送信用構造化処理部２０により生成されたコンテナを記憶する。
【００４２】
送信用構造化処理部２０は、ＳＳＳサーバに送信するコンテナを生成する制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有するとともに、特に本発明に密接に関連するものとしては、コンテナ生成部２１と、暗号化部２２と、チェックサム計算部２３とを備え、これらによって種々の処理を実行する。
【００４３】
コンテナ生成部２１は、Ｗｅｂ利用者端末から取得されたファイルをコンテナ化する。具体的に例を挙げれば、コンテナ生成部２１は、ファイル受信部１２や暗号化部２２にそれぞれ接続され、通信制御Ｉ／Ｆ部１１を介してファイル受信部１２により受信されたファイルを取得し、当該ファイルを圧縮（アーカイブ化）してコンテナを生成し、生成したコンテナを後述する暗号化部２２に出力する。
【００４４】
暗号化部２２は、コンテナ生成部２１により生成されたコンテナを暗号化する。具体的に例を挙げれば、暗号化部２２は、コンテナ生成部２１とチェックサム計算部２３とにそれぞれ接続され、コンテナ生成部２１から取得したコンテナの受信者端末を判別し、当該判別した受信者端末に対応する共通鍵を送信用データＤＢ１３から取得して、当該コンテナを暗号化する。そして、暗号化部２２は、当該受信者端末の公開鍵を送信用データＤＢ１３から取得して、コンテナの暗号化に使用した共通鍵を、当該公開鍵を用いて暗号化する。その後、暗号化部２２は、暗号化したコンテナと共通鍵とを新たなコンテナとしてチェックサム計算部２３に出力する。
【００４５】
チェックサム計算部２３は、ＳＳＳサーバに送信するコンテナごとにチェックサムを計算する。具体的に例を挙げれば、チェックサム計算部２３は、暗号化部２２と送信用データＤＢ１３とにそれぞれ接続され、暗号化部２２から取得した暗号化された新たなコンテナに対して、チェックサムを計算して付加し、同様に取得された暗号化された共通鍵とともに、送信用データＤＢ１３に格納する。
【００４６】
コンテナ送信部２４は、生成されたコンテナをＳＳＳサーバに送信する。具体的に例を挙げれば、コンテナ送信部２４は、通信制御Ｉ／Ｆ部１１と送信用データＤＢ１３とにそれぞれ接続され、送信用データＤＢ１３に記憶される暗号化されたコンテナと共通鍵とから構成される新たなコンテナを取得し、当該新たなコンテナを通信制御Ｉ／Ｆ部１１を介して、ＳＳＳサーバに送信する。
【００４７】
コンテナ受信部３１は、ＳＳＳサーバからコンテナを受信する。具体的に例を挙げれば、コンテナ受信部３１は、ＳＳＳサーバに格納されるコンテナの新着・状態を確認する新着・状態確認処理と、ＳＳＳサーバから受信したコンテナをライブラリ化するクライアントライブラリと、ＳＳＳサーバからコンテナを受信する受信処理とをそれぞれ実施する。また、コンテナ受信部３１は、通信制御Ｉ／Ｆ部１１と復号化部４１とにそれぞれ接続され、バッチ処理などにより定期的にＳＳＳサーバに格納されている複数のコンテナ（上記した新たなコンテナ）を受信して、後述する復号化部４１に出力する。
【００４８】
応答用データＤＢ３２は、応答用構造化処理部４０で使用される各種暗号鍵を記憶したり、応答用構造化処理部４０により生成されたコンテナを一時的に記憶したりする。具体的に例を挙げると、応答用データＤＢ３２は、受信者端末を識別する識別子に対応付けて公開鍵や、公開鍵を予め登録する際に作成した受信者端末ごとの秘密鍵や、応答用構造化処理部４０により生成された受信者端末ごとに共通鍵などを記憶したり、後述するコンテナ解凍部４３により解凍されたコンテナやファイルを一時的に記憶したりする。
【００４９】
アーカイブＤＢ３３は、生成されたアーカイブを記憶する。具体的に例を挙げれば、アーカイブＤＢ３３は、ファイル応答部４６と再暗号化部４５とにそれぞれ接続され、再暗号化部４５により生成されて格納されたアーカイブファイルを記憶する。
【００５０】
応答用構造化処理部４０は、受信者端末に送信するファイルを生成する制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有するとともに、特に本発明に密接に関連するものとしては、復号化部４１と、チェックサム計算部４２と、コンテナ解凍部４３と、アーカイブ処理部４４と、再暗号化部４５とを備え、これらによって種々の処理を実行する。
【００５１】
復号化部４１は、ＳＳＳサーバから所定の間隔で暗号化されたファイルを受信し、受信したファイルを復号化する。上記した例で説明すると、復号化部４１は、コンテナ受信部３１とチェックサム計算部４２とにそれぞれ接続され、コンテナ受信部３１から取得した暗号化されたコンテナそれぞれと共通鍵とから構成される新たなコンテナそれぞれに対して、当該コンテナの受信者端末に対応する秘密鍵を応答用データＤＢ３２から取得し、当該秘密鍵を用いて、ＳＳＳサーバに送信される際に暗号化部２２により受信者端末の公開鍵で暗号化された共通鍵それぞれを復号化する。続いて、復号化部４１は、復号化した共通鍵を用いて、ＳＳＳサーバから受信された暗号化されている新たなコンテナを復号化する。そして、復号化部４１は、復号化したコンテナそれぞれをチェックサム計算部４２に出力する。なお、受信されたコンテナそれぞれの応答先となる受信者端末の判定には、当該ファイルに付加される（一般的に付加されているパケットのヘッダなど）を示す識別子（例えば、ＩＰアドレスやユーザＩＤ）などを用いることで判別することができる。
【００５２】
チェックサム計算部４２は、チェックサムを計算して、受信されたコンテナに誤りがないかを判定する。具体的に例を挙げれば、チェックサム計算部４２は、復号化部４１と応答用データＤＢ３２とコンテナ解凍部４３とにそれぞれ接続され、復号化部４１から取得したコンテナそれぞれのチェックサムを計算し、当該コンテナに誤りがないかを判定する。そして、チェックサム計算部４２は、誤りがないと判定したコンテナを応答用データＤＢ３２に格納し、誤りがあると判定したコンテナに対しては、その旨をＳＳＳサーバに送信する。
【００５３】
コンテナ解凍部４３は、受信されたコンテナを解凍する。具体的に例を挙げれば、コンテナ解凍部４３は、応答用データＤＢ３２とチェックサム計算部４２とアーカイブ処理部４４とにそれぞれ接続され、チェックサム計算部４２により格納されたコンテナそれぞれを応答用データＤＢ３２から取得し、当該コンテナを解凍して応答用データＤＢ３２に格納する。
【００５４】
アーカイブ処理部４４は、復号化部４１により復号されたコンテナそれぞれに対して、同一の受信者端末ごとに、当該コンテナをＺＩＰ化（アーカイブ化）してアーカイブファイルを生成する。上記した例で具体的に説明すると、アーカイブ処理部４４は、応答用データＤＢ３２と再暗号化部４５とコンテナ解凍部４３とにそれぞれ接続され、応答用データＤＢ３２に記憶される解凍されたコンテナに対して、同一の受信者端末ごとに、当該コンテナをアーカイブ化してアーカイブファイルを生成する。そして、アーカイブ処理部４４は、それぞれの受信者端末ごとに共通鍵を作成して、受信者端末に対応付けて共通鍵を応答用データＤＢ３２に格納する。なお、受信されたコンテナに対して、同一の受信者端末を判定するには、コンテナ送信時にコンテナ送信部２４により当該コンテナに付加される（例えば、一般的に付加されているパケットのヘッダなど）受信者端末を示す識別子（例えば、ＩＰアドレスやユーザＩＤ）などを用いることで判別することができる。
【００５５】
再暗号化部４５は、アーカイブ処理部４４により生成されたアーカイブファイルを暗号化して所定の記憶部に格納する。上記した例で具体的に説明すると、再暗号化部４５は、アーカイブ処理部４４により生成されたＺＩＰ化されたアーカイブファイルに対して、それぞれのアーカイブファイルの受信者端末それぞれに対応付けて記憶されるアーカイブ処理部４４により作成された共通鍵それぞれを、応答用データＤＢ３２から取得する。そして、再暗号化部４５は、取得したそれぞれの共通鍵を用いてそれぞれのアーカイブファイルを暗号化するとともに、当該アーカイブファイルの受信者端末に対応付けて記憶されるそれぞれの公開鍵を、応答用データＤＢ３２から取得し、取得したそれぞれの公開鍵を用いて、それぞれのアーカイブファイルの暗号化に使用した共通鍵を暗号化してアーカイブＤＢ３３に格納する。なお、ここでは、アーカイブＤＢ３３には、受信者端末と、共通鍵で暗号化されたアーカイブファイルと、公開鍵で暗号化された共通鍵とが対応付けて記憶されることとなる。
【００５６】
ファイル応答部４６は、再暗号化部４５により暗号化されて所定の記憶部に格納されたアーカイブファイルの取得要求を受信者端末から受信した場合に、当該受信者端末に対応するアーカイブファイルを復号化して、当該受信者端末に応答する。上記した例で具体的に説明すると、ファイル応答部４６は、受信者端末からファイルの取得要求を受信すると、当該端末のＩＰアドレスなどから受信者端末を特定する。そして、ファイル応答部４６は、特定した受信者端末に対応するアーカイブファイルをアーカイブＤＢ３３から特定する。さらに、ファイル応答部４６は、当該受信者端末に対応付けて記憶される秘密鍵を応答用データＤＢ３２から取得して、特定したアーカイブファイルに対応付けてアーカイブＤＢ３３に記憶される共通鍵を復号化する。そして、ファイル応答部４６は、復号化した共通鍵を用いて、特定したアーカイブファイルをアーカイブＤＢ３３から取得して復号化し、復号化したアーカイブファイルを受信者端末に送信する。
【００５７】
［ファイル転送システムによる処理］
次に、図３〜７を用いて、ファイル転送システムによる処理を説明する。ここでは、図３と図４とを用いて、実施例１に係るファイル転送システムにおけるＡＰサーバで実施される処理の概要を説明し、図５〜図７を用いて、その詳細を説明する。
【００５８】
（ＡＰサーバによるＳＳＳサーバへのファイル送信処理）
まず、図３を用いて、ＡＰサーバによるＳＳＳサーバへのファイル送信処理について説明する。図３は、実施例１に係るＡＰサーバによるＳＳＳサーバへのファイル送信処理の流れを示すフローチャートである。
【００５９】
図３に示すように、Ｗｅｂ利用者端末から受信者端末が指定されているファイルを受信した場合に（ステップＳ１０１肯定）、ＡＰサーバ１０は、当該ファイルを圧縮したコンテナを生成し、生成したコンテナを暗号化し、暗号化したコンテナのチェックサムを計算してコンテナに付加し、当該チェックサムが付加されたコンテナをＳＳＳサーバに送信する（ステップＳ１０２〜ステップＳ１０５）。
【００６０】
具体的に例を挙げると、ＡＰサーバ１０は、当該ファイルを圧縮したコンテナを生成し、受信者端末との共通鍵を用いて生成したコンテナを暗号化し、受信者端末に対応する公開鍵を送信用データＤＢ１３から取得して、取得した公開鍵で暗号化に用いた共通鍵を暗号化する。そして、ＡＰサーバ１０は、共通鍵で暗号化したコンテナと公開鍵で暗号化した共通鍵とを新たなコンテナとして生成し、当該共通鍵で暗号化したコンテナのチェックサムを計算してコンテナに付加し、当該チェックサムが付加された新たなコンテナをＳＳＳサーバに送信する
【００６１】
（ＡＰサーバによる受信者端末へのファイル応答処理）
次に、図４を用いて、ＡＰサーバによる受信者端末へのファイル応答処理について説明する。図４は、実施例１に係るＡＰサーバによる受信者端末へのファイル応答処理の流れを示すフローチャートである。
【００６２】
図４に示すように、ＳＳＳサーバから定期的にコンテナを受信した場合（ステップＳ２０１肯定）、ＡＰサーバ１０は、受信したコンテナそれぞれ復号化し、復号化したコンテナそれぞれのチェックサムをそれぞれ計算する（ステップＳ２０２とステップＳ２０３）。
【００６３】
具体的に例を挙げると、ＡＰサーバ１０は、ＳＳＳサーバから受信した共通鍵で暗号化したコンテナと公開鍵で暗号化した共通鍵とから構成される複数の新たなコンテナそれぞれに対して、当該コンテナの受信者端末に対応する秘密鍵を応答用データＤＢ３２から取得し、当該秘密鍵を用いて、受信者端末の公開鍵で暗号化された共通鍵を復号化する。そして、ＡＰサーバ１０は、復号化した共通鍵を用いて、ＳＳＳサーバから受信された暗号化されている新たなコンテナをそれぞれ復号化する。その後、ＡＰサーバ１０は、復号化して得られたコンテナのチェックサムを計算する。
【００６４】
そして、チェックサムの計算により誤りがないコンテナそれぞれに対して、ＡＰサーバ１０は、コンテナそれぞれを解凍して、同一の受信者端末ごとにコンテナをアーカイブ化し、アーカイブ化された複数のアーカイブファイルをそれぞれ暗号化する（ステップＳ２０４〜ステップＳ２０６）。
【００６５】
具体的に例を挙げると、ＡＰサーバ１０は、チェックサムの計算により誤りがないコンテナを解凍して、同一の受信者端末ごとにアーカイブ化する。そして、ＡＰサーバ１０は、アーカイブ化されたアーカイブファイルごとに、当該アーカイブファイルの受信者端末に対応する共通鍵を用いて、それぞれのアーカイブファイルを暗号化する。さらに、ＡＰサーバ１０は、当該アーカイブファイルの受信者端末に対応付けて記憶されるそれぞれの公開鍵を用いて、それぞれのアーカイブファイルの暗号化に使用した共通鍵を暗号化してアーカイブＤＢ３３に格納する。
【００６６】
その後、Ｗｅｂ利用者端末である受信者端末からアーカイブファイル取得要求を受信すると（ステップＳ２０７肯定）、ＡＰサーバ１０は、受信者端末に対応するアーカイブファイルを復号化して、当該受信者端末に応答する（ステップＳ２０８）。
【００６７】
具体的に例を挙げると、ＡＰサーバ１０は、Ｗｅｂ利用者端末である受信者端末からアーカイブファイル取得要求を受信すると、当該受信者端末に対応する秘密鍵を用いて、アーカイブファイルの暗号化に使用した共通鍵を暗号化する。続いて、ＡＰサーバ１０は、復号化した共通鍵を用いて、アーカイブＤＢ３３に記憶される特定したアーカイブファイルを復号化して当該受信者端末に応答する。
【００６８】
（ＡＰサーバからＳＳＳサーバへのアップロード）
次に、図５を用いて、ＡＰサーバからＳＳＳサーバへのアップロードについて詳細に説明する。図５は、実施例１に係るＡＰサーバからＳＳＳサーバへのアップロードの流れを示すシーケンス図である。
【００６９】
図５に示すように、ＡＰサーバ１０のファイル受信部１２のサーブレットは、Ｗｅｂ利用者端末からファイルアップロードを受け付ける（ステップＳ３０１）。すると、サーブレットは、ＡＰサーバ１０のFileSystemに対して、一時ファイルを作成してファイルを格納し（ステップＳ３０２）、作成した一時ファイルに格納されたファイルからファイル情報を取得する（ステップＳ３０３とステップＳ３０４）。
【００７０】
そして、サーブレットは、送信用構造化処理部２０に対して圧縮（コンテナ化）／暗号化スレッドを起動する一方で（ステップＳ３０５）、ファイルアップロードを行ったＷｅｂ利用者端末に対してアップロード完了画面を表示する（ステップＳ３０６）。その後、送信用構造化処理部２０は、圧縮／暗号化／チェックサム計算を行って（ステップＳ３０７）、コンテナファイルをFileSystemに作成（一時格納）して（ステップＳ３０８）、コンテナ送信部２４に対してコンテナ送信スレッドを起動する（ステップＳ３０９）。そして、コンテナ送信部２４は、当該コンテナをＳＳＳサーバに送信し（ステップＳ３１０とステップＳ３１１）、送信用構造化処理部２０は、作成した一時ファイルを削除する（ステップＳ３１２）。
【００７１】
上記した処理を具体的に説明すると、Ｗｅｂ利用者端末によりＡＰサーバにアクセスがされると、ＡＰサーバ１０は、コンテナ送信メインメニュー（Ｗｅｂ画面）をＷｅｂ利用者端末に表示し、Ｗｅｂ利用者端末から「コンテナ送信ボタン」が押下されると、当該セッションからログイン情報、ＶＮｅｔｗｏｒｋＩＦ以外の情報を破棄する。そして、ＡＰサーバ１０は、当該セッションより配達証明可否フラグと暗号送受信禁止モードフラグを取得する。すると、ＡＰサーバ１０は、取得した配達証明可否フラグと暗号送受信禁止モードフラグとによりコンテナ送信画面表示情報を、当該アクセスされているブラウザに返却することで、Ｗｅｂ利用者端末に対して「コンテンツ送信画面」を表示する。
【００７２】
Ｗｅｂ利用者端末により「コンテンツ送信画面」の各入力項目（例えば、配達証明可否フラグやファイル受領確認情報や配達証明付きなどの付加オプションなど）が入力されて、「送信ボタン」が押下されると、Ｗｅｂ利用者端末からＡＰサーバにコンテナ送信要求が送信される。すると、ＡＰサーバ１０は、当該Ｗｅｂ利用者端末とのセッションから、配達証明可否フラグとアップロード制限値と、Ｗｅｂ利用者端末により「コンテンツ送信画面」に入力されたファイル暗号化可否の値とを取得する。そして、ＡＰサーバ１０は、取得した配達証明可否フラグとアップロード制限値と、Ｗｅｂ利用者端末により「コンテンツ送信画面」に入力された各値とのチェックを行う。
【００７３】
このチェックに問題（不都合、誤り）がなければ、ＡＰサーバ１０は、FileSystemよりファイル保存ディレクトリを取得し、取得したファイル保存ディレクトリから各ファイルを保存するディレクトリを作成し、Ｗｅｂ利用者端末によりアップロードされたファイルを保存する。そして、ＡＰサーバ１０は、FileSystemの別の領域に、アップロードされたコンテナ情報を登録し、コンテナ送信完了画面表示情報をブラウザに返却することで、Ｗｅｂ利用者端末にアップロード完了画面が表示される。
【００７４】
その後、ＡＰサーバ１０は、ＳＳＳサーバに対して、エイリアスアドレスを通知するためのアドレス展開要求を行って、アドレス数のチェックを行い、展開したアドレスを自装置のFileSystemに登録する。そして、ＡＰサーバ１０は、Ｖｃｏnｔオブジェクトを作成し、上記で取得したファイル暗号化可否の値が「可」であり、かつ、展開されたアドレスの受信者の公開鍵が取得できた場合、ファイルをＺＩＰ化（アーカイブ化）した上で暗号化する。なお、暗号化可否の値が「否」または受信者の公開鍵が取得できなかった場合は、暗号化なしや予め定めた暗号化手法を用いた暗号化送信を実行する。
【００７５】
続いて、ＡＰサーバ１０は、作成された暗号化ファイルのサイズをアップロード制限値よりチェックし、制限値を超える場合には、ファイルサイズ超過による暗号送信失敗として、履歴情報に格納する。
【００７６】
そして、作成された暗号化ファイルのサイズがアップロード制限値よりも小さい場合、ＡＰサーバ１０は、ファイル受領確認情報や配達証明付きなどの付加オプションの情報を取得してメタデータを生成する。その後、ＡＰサーバ１０は、作成したコンテナをＳＳＳサーバに送信し、送信完了後に、コンテナＩＤ、送信日時、コンテナファイルサイズを用いて、上記で格納したコンテナ情報を更新し、自装置に格納したアーカイブ前のファイル、メタデータファイル、アーカイブ後のファイルを削除する。なお、ファイル受領確認情報や配達証明付きなどの付加オプションがあった場合には、ＡＰサーバ１０は、送信完了後に、Ｗｅｂ利用者端末に対してファイル受領確認や配達証明などを応答する。
【００７７】
（ＡＰサーバにおけるＳＳＳサーバからのコンテナ定期受信）
次に、図６を用いて、ＡＰサーバにおけるＳＳＳサーバからのコンテナ定期受信処理について詳細に説明する。図６は、実施例１に係るＡＰサーバにおけるＳＳＳサーバからのコンテナ定期受信処理の流れを示すシーケンス図である。
【００７８】
図６に示すように、ＡＰサーバ１０のコンテナ受信部３１のクライアントライブラリは、新着コンテナが届いているかどうかをＳＳＳサーバに問い合わせ、設定された周期でコマンド「get  Contsinfo」を実行して、コンテナ情報を取得し、コンテナ到着イベントを新着・状態確認処理に通知する（ステップＳ４０１〜ステップＳ４０４）。
【００７９】
すると、コンテナ受信部３１は、新着・状態確認処理において、新着コンテナが有り、自動受信が有効であるのと、暗号送受信禁止モードとダウンロード制限値とを取得する（ステップＳ４０５〜ステップＳ４０８）。そして、暗号送受信禁止モードとダウンロード制限値とのそれぞれに違反しない場合、コンテナ受信部３１は、新着・状態確認処理において、受信処理に対して、全てのコンテナの受信を依頼し、コンテナ受信部３１は、受信処理において、ＳＳＳサーバから全てのコンテナを受信して、新着・状態確認処理にダウンロードしたことを通知する（ステップＳ４０９〜ステップＳ４１２）。
【００８０】
その後、コンテナ受信部３１は、新着・状態確認処理において、ダウンロードサイズを確認してダウンロードを行い、ダウンロードしたコンテナを復号化してクライアントライブライに格納するとともに、当該コンテナをＺＩＰ化して、ＺＩＰ化したコンテナを再暗号化する（ステップＳ４１３〜ステップＳ４１７）。なお、暗号送受信禁止モードが「暗号禁止」の場合やダウンロードサイズがダウンロード制限値を超える場合、暗号化コンテナ受信失敗となる。
【００８１】
上記した処理を具体的に説明すると、コンテナ到着イベントが通知されたＡＰサーバ１０は、ＳＳＳサーバから暗号送受信禁止モードとダウンロード制限値とファイル読み込みパラメータとを取得して、暗号化されたコンテナをＳＳＳサーバから受信する。そして、ＡＰサーバ１０は、暗号化コンテナ受信後、公開鍵登録時に作成した受信者端末の秘密鍵を応答用データＤＢ３２から取得する。続いて、ＡＰサーバ１０は、受信したコンテナのファイルサイズを取得するとともに、受信者の公開鍵で暗号化された共通鍵を、取得した受信者端末の秘密鍵を用いて復号化する。
【００８２】
その後、ＡＰサーバ１０は、復号化して得られた共通鍵を用いて、受信したコンテナを復号し、クライアントライブラリで解凍する。なお、サーバの状態が暗号送受信禁止モードや取得したコンテナのサイズが制限値以上である場合、ＡＰサーバ１０は、受信したファイルを削除し、ユーザ状態定義により状態変更を実行する。
【００８３】
そして、ＡＰサーバ１０は、解凍したコンテナからＺＩＰエンコーディングタイプを取得して、取得したいＺＩＰエンコーディングタイプから文字コードを指定し、Ｊａｖａ（登録商標）のＡＰＩを用いて、当該コンテナをＺＩＰ化する。続いて、ＡＰサーバ１０は、ＺＩＰ化したコンテナを復号化して得られた共通鍵を用いて暗号化し、使用した共通鍵を受信者の公開鍵で暗号化して記憶する。そして、ＡＰサーバ１０は、ダウンロード可能状態をＳＳＳサーバに通知し、各コンテナの状態を更新する。
【００８４】
（ＡＰサーバからＷｅｂ利用者端末へのファイル送信）
次に、図７を用いて、ＡＰサーバからＷｅｂ利用者端末へのファイル送信処理について詳細に説明する。図７は、実施例１に係るＡＰサーバからＷｅｂ利用者端末へのファイル送信処理の流れを示すシーケンス図である。
【００８５】
図７に示すように、Ｗｅｂ利用者端末に表示されるブラウザの「ファイル名リンク」が利用者によりクリックされると、Ｗｅｂ利用者端末からＡＰサーバ１０に対してファイルダウンロード要求が送信される（ステップＳ５０１とステップＳ５０２）。すると、ＡＰサーバ１０のファイル応答部４６は、Ｗｅｂ要求処理機能において、ファイルの受領を「済」に更新し、ダウンロード画面をＷｅｂ利用者端末に表示する（ステップＳ５０３とステップＳ５０６）。
【００８６】
その後、Ｗｅｂ利用者端末に表示される「ダウンロード画面」のダウンロード開始ボタンがクリックされて、ダウンロード要求がＡＰサーバ１０に送信されると、ファイル応答部４６は、Ｗｅｂ要求処理機能において、ファイル受信機能にコンテナファイルアクセスインクリメント要求を送信し、ファイル受信機能において、アーカイブＤＢ３３のコンテナファイルアクセス数がインクリメントされてダウンロード要求がＷｅｂ要求処理機能に送信される（ステップＳ５０７〜ステップＳ５１１）。
【００８７】
すると、ファイル応答部４６は、Ｗｅｂ要求処理機能において、ダウンロード開始指示がファイル受信機能に通知され、ファイル受信機能において、該当するファイルがアーカイブＤＢ３３から取得されて復号化され、処理結果（成功または失敗）がＷｅｂ要求処理機能に通知される（ステップＳ５１２〜ステップＳ５１６）。そして、ファイル応答部４６は、Ｗｅｂ要求処理機能において、ファイルダウンロード更新（済）をファイル受信機能に通知し、ファイル受信機能において、アーカイブＤＢ３３からダウンロードされたファイルのダウンロードフラグを「済」に更新し、その結果を受けて、Ｗｅｂ利用者端末に接続されているブラウザを介してファイルを応答する（ステップＳ５１７〜ステップＳ５２２）。
【００８８】
その後、ファイル応答部４６は、Ｗｅｂ要求処理機能において、アーカイブＤＢ３３においてダウンロードしたコンテナのコンテナファイルアクセス数をデクリメントし、ダウンロード完了処理要求を受信すると、ファイル受信機能に対してダウンロード完了処理機能の実行要求を送信し、ダウンロード完了処理結果がファイル受信機能より通知されることで、ダウンロード処理を終了する（ステップＳ５２３〜ステップＳ５２７）。
【００８９】
上記した処理を具体的に説明すると、Ｗｅｂ利用者端末は、利用者の操作により、ファイル受信画面（受信コンテナ詳細画面）のファイル一覧からダウンロードを行うファイル名のリンクがクリックされると、ＡＰサーバ１０に対してダウンロード要求を送信する。すると、ＡＰサーバ１０は、Ｗｅｂ利用者端末の利用者により選択されたファイルの受領を「済」に更新する。そして、ＡＰサーバ１０は、ブラウザ上でＷｅｂ利用者端末に対してダウンロード用画面を表示し、ダウンロード要求を受け付ける。
【００９０】
その後、ＡＰサーバ１０は、利用者による「ダウンロード画面」のダウンロード開始ボタンがクリックされて、ダウンロード要求を受け付けると、コンテナファイルアクセス数をインクリメントする。また、ＡＰサーバ１０は、受信者の秘密鍵を使用して共通鍵を復号化し、復号化した共通鍵を用いて、読み込み対象ファイルを復号化して、ネットワークへの書き込みを開始する。
【００９１】
ネットワークへの書き込みが終了すると、ＡＰサーバ１０は、ダウンロードフラグをダウンロード「済」に更新し、コンテナファイルのアクセス数をデクリメントする。その後、ＡＰサーバ１０は、コンテナの未ダウンロードファイル数から、当該コンテナがダウンロード完了かどうかを判断する。ここで、ダウンロード完了でない場合、ＡＰサーバ１０は、処理を終了する。
【００９２】
当該コンテナがダウンロード完了である場合、ＡＰサーバ１０は、受信側状態を「DOWNLOADED」に更新して、ダウンロードメール通知処理を行って、ＳＳＳサーバへ「DOWNLOADED」を通知し、「DOWNLOADED」の通知フラグを「通知済」に更新して、処理を終了する。
【００９３】
［実施例１による効果］
このように、実施例１によれば、ＳＳＳサーバから所定の間隔で暗号化されたファイルを受信し、受信したファイルを復号化し、復号されたファイルに対して、同一の受信者端末ごとに、当該ファイルをアーカイブ化してアーカイブファイルを生成し、同一の受信者端末ごとにアーカイブ化されたアーカイブファイルの取得要求を受信者端末から受信した場合に、当該受信者端末に対応するアーカイブファイルを復号化して、当該受信者端末に応答するので、専用アプリを持たないユーザ端末であっても、利便性よくファイルを送受信することが可能である。
【００９４】
例えば、複数のファイルをアーカイブ化して１つのファイルにまとめることにより、多数のファイルが一度に送信されたＷｅｂブラウザを利用する受信者端末であっても、１回のダウンロードでファイルを受信することができる。
【００９５】
具体的に例を挙げると、図８に示すように、送信者ＡがＷｅｂ利用者端末の利用者Ｂに対してコンテナ１（ファイル１とファイル２）とコンテナ２（ファイル３とファイル４）とを送信した場合について説明する。この場合、ＡＰサーバ１０は、これらのコンテナをＳＳＳサーバを介して受信すると、これらのコンテナの受信者端末が利用者Ｂであることより、コンテナ１とコンテナ２とをアーカイブ化したＺＩＰファイルを新たに作成する。そして、ＡＰサーバ１０は、Ｗｅｂ利用者端末（利用者Ｂ）から取得要求を受け付けると、作成した新たなＺＩＰファイルを応答する。
【００９６】
また、図９に示すように、送信者ＡがＷｅｂ利用者端末の利用者Ｂに対してコンテナ１（ファイル１とファイル２）を送信し、同様に、送信者Ｂがコンテナ２（ファイル３とファイル４）をＷｅｂ利用者端末（利用者Ｂ）に送信した場合について説明する。この場合、ＡＰサーバ１０は、これらのコンテナをＳＳＳサーバを介して受信すると、これらのコンテナの送信者が異なっていても受信者端末が同じ利用者Ｂであることより、コンテナ１とコンテナ２とをアーカイブ化したＺＩＰファイルを新たに作成する。そして、ＡＰサーバ１０は、Ｗｅｂ利用者端末（利用者Ｂ）から取得要求を受け付けると、作成した新たなＺＩＰファイルを応答する。
【００９７】
このようにすることで、複数のファイルをアーカイブ化して１つのファイルにまとめることにより、多数のファイルが一度に送信されたＷｅｂブラウザを利用する受信者端末であっても、１回のダウンロードでファイルを受信することができる。また、本実施例では、ＡＰサーバ１０は、コンテナをＳＳＳサーバから受信して、コンテナごとに同じ受信者端末にアーカイブ化する場合について説明したが、本発明はこれに限定されるものではなく、１ファイルごとにＳＳＳサーバから受信して同じ受信者端末にアーカイブ化することもできる。
【００９８】
また、実施例１によれば、生成されたアーカイブファイルを暗号化して、所定の記憶部に格納し、暗号化されて所定の記憶部に格納されたアーカイブファイルの取得要求を受信者端末から受信した場合に、当該受信者端末に対応するアーカイブファイルを復号化して、当該受信者端末に応答するので、セキュリティを高くファイル転送を行うことが可能である。
【００９９】
例えば、従来行われていたように、ＡＰサーバは、ＳＳＳサーバから受信したファイルを平文のまま一度保存し、その後に、受信者端末の要求に応じて、平文で保存するファイルを応答する場合に比べて、アーカイブ化されたアーカイブファイルを暗号化して保存し、受信者端末の要求に応じて、暗号化されたアーカイブファイルを復号化して受信者端末に応答することができる結果、ＡＰサーバ自体の盗難、サーバへの不正侵入に対しても、機密情報を守ることができる。
【実施例２】
【０１００】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に示すように、（１）ダウンロード手法、（２）サーバ構成、（３）システム構成等、（４）プログラムにそれぞれ区分けして異なる実施例を説明する。
【０１０１】
（１）ダウンロード手法
例えば、実施例１では、ＡＰサーバは、ＳＳＳサーバから一度コンテナを受信して、アーカイブ化した後に再度暗号化して記憶しておき、利用者端末からの要求に応じて、自装置に記憶するアーカイブファイルを応答する場合を説明したが、本発明はこれに限定されるものではなく、ＡＰサーバは、利用者端末からの要求に応じて、ＳＳＳサーバからファイルを取得してアーカイブ化して応答するようなリアルタイム復号送信を行うようにしてもよい。
【０１０２】
このようにすることで、受信者端末からファイルの取得要求を受信した場合に、当該要求に対応するファイルをファイルサーバ装置から取得して復号化し、復号化されたファイルを同一の受信者端末ごとに、当該ファイルをアーカイブ化してアーカイブファイルを生成し、当該受信者端末に応答するので、リアルタイムに復号しながら、ファイルを転送することができる結果、機密情報を強固に守ることができる。
【０１０３】
（２）サーバ構成
また、実施例１では、ＡＰサーバとＳＳＳサーバとから別の筺体である場合について説明したが、本発明はこれに限定されるものではなく、ＡＰサーバとＳＳＳサーバとが同じ筺体である一つのサーバ装置であってもよく、実施例１で説明した処理を実施することができる。また、ＡＰサーバとＳＳＳサーバとを、さらに細かい筺体に分けたとしても、実施例１で説明した処理を実施することができる。
【０１０４】
（３）システム構成等
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理（例えば、コンテナ送信のバッチ処理など）の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理（例えば、利用者端末における利用者の操作によるファイル取得要求の送信など）の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１０５】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合（例えば、チェックサム計算部とコンテナ解凍部とを統合するなど）して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１０６】
（４）プログラム
なお、本実施例で説明したファイル転送方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【産業上の利用可能性】
【０１０７】
以上のように、本発明に係るファイル転送システム、アプリケーションサーバ装置、ファイル転送方法およびファイル転送プログラムは、Ｗｅｂブラウザを利用するＷｅｂ利用者端末を収容するアプリケーションサーバ装置と、アプリケーションサーバ装置や他の利用者端末から送信された暗号化されたファイルを受信して格納するファイルサーバ装置とから構成されるファイル転送システムにおいて、ファイルを送受信することに有用であり、特に、専用アプリを持たないユーザ端末であっても、利便性よくファイルを送受信することに適する。
【図面の簡単な説明】
【０１０８】
【図１】実施例１に係るファイル転送システムの概要と特徴を説明するための図である。
【図２】実施例１に係るファイル転送システムにおけるＡＰサーバの構成を示すブロック図である。
【図３】実施例１に係るＡＰサーバによるＳＳＳサーバへのファイル送信処理の流れを示すフローチャートである。
【図４】実施例１に係るＡＰサーバによる受信者端末へのファイル応答処理の流れを示すフローチャートである。
【図５】実施例１に係るＡＰサーバからＳＳＳサーバへのアップロードの流れを示すシーケンス図である。
【図６】実施例１に係るＡＰサーバにおけるＳＳＳサーバからのコンテナ定期受信処理の流れを示すシーケンス図である。
【図７】実施例１に係るＡＰサーバからＷｅｂ利用者端末へのファイル送信処理の流れを示すシーケンス図である。
【図８】複数のコンテナを受信者端末ごとにアーカイブ化して応答する例を示す図である。
【図９】複数のコンテナを受信者端末ごとにアーカイブ化して応答する例を示す図である。
【図１０】従来技術を説明するための図である。
【図１１】従来技術を説明するための図である。
【図１２】従来技術を説明するための図である。
【図１３】従来技術を説明するための図である。
【符号の説明】
【０１０９】
１０  ＡＰサーバ
１１  通信制御Ｉ／Ｆ部
１２  ファイル受信部
１３  送信用データＤＢ
２０  送信用構造化処理部
２１  コンテナ生成部
２２  暗号化部
２３  チェックサム計算部
２４  コンテナ送信部
３１  コンテナ受信部
３２  応答用データＤＢ
３３  アーカイブＤＢ
４０  応答用構造化処理部
４１  復号化部
４２  チェックサム計算部
４３  コンテナ解凍部
４４  アーカイブ処理部
４５  再暗号化部
４６  ファイル応答部
【図１】
0004648412.tif 000002
【図２】
0004648412.tif 000003
【図３】
0004648412.tif 000004
【図４】
0004648412.tif 000005
【図５】
0004648412.tif 000006
【図６】
0004648412.tif 000007
【図７】
0004648412.tif 000008
【図８】
0004648412.tif 000009
【図９】
0004648412.tif 000010
【図１０】
0004648412.tif 000011
【図１１】
0004648412.tif 000012
【図１２】
0004648412.tif 000013
【図１３】
0004648412.tif 000014