(57)【要約】【課題】暗号化ネットワークストレージシステムにおけるデータの暗号化／復号化の安全性の向上を図るとともに、クライアント側に専用のアプリケーションプログラムを必要としない安価な暗号化ネットワークストレージシステムを提供する。【解決手段】  クライアント端末から入力する秘密暗号鍵をセキュア・ハッシュを含む一方向暗号に変換してサーバに送信し、一方向暗号化された暗号鍵を用いてファイルの暗号化／復号化を行う。さらに、クライアント端末における一方向暗号化は、サーバからダウンロードされるＨＴＭＬファイルに組み込まれているスクリプトによってクライアント端末のＷｅｂブラウザで実行し、クライアント端末からサーバに送信される一方向暗号化された暗号鍵は、サーバには保存しない。【選択図】図７
2011054028.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置を備えたＷｅｂサーバと、複数のユーザのクライアント端末とがネットワークを介して相互に通信可能に接続され、前記クライアント端末からアップロードされたデータファイルを可逆暗号化し、前記記憶装置に保管する暗号化ネットワークストレージシステムにおいて、
前記クライアント端末は、
入力手段と、
前記入力手段によって入力された平文の秘密暗号鍵を一方向暗号化し、一方向暗号化された暗号鍵（以下「一方向暗号化鍵」という。）を生成する一方向暗号生成手段と、
前記一方向暗号化鍵を記憶する記憶手段と、
を備え、
前記Ｗｅｂサーバは、
前記クライアント端末から送信された前記一方向暗号化鍵の改竄の有無を検出するメッセージ認証手段と、
前記データファイルを前記一方向暗号化鍵を用いて可逆暗号化し、可逆暗号化された前記データファイルを前記記憶装置に格納する可逆暗号化手段と、
を備え、
前記メッセージ認証手段は、前記クライアント端末から送信された前記一方向暗号化鍵のメッセージ認証コード（以下「ＭＡＣ値」という。）を算出し、該ＭＡＣ値と前記記憶装置に予め記憶されている前記一方向暗号化鍵のＭＡＣ値とを照合し、一致すれば前記可逆暗号化手段による暗号化を許可し、不一致の場合は前記暗号化を不許可としその旨を前記クライアント端末に通知するとともに、
前記クライアント端末の前記一方向暗号生成手段は、前記ＷｅｂサーバからダウンロードされるＨＴＭＬファイルに組み込まれているスクリプトによって前記クライアント端末のＷｅｂブラウザで実行されるものであり、
前記一方向暗号化鍵は、前記クライアント端末から前記Ｗｅｂサーバに送信されるクッキー情報の一部として前記記憶手段に記憶され、前記Ｗｅｂサーバには保存されないことを特徴とする暗号化ネットワークストレージシステム。
【請求項２】
前記クライアント端末が、
前記平文の秘密暗号鍵を可逆暗号化し、可逆暗号化された秘密暗号鍵を生成する可逆暗号化手段をさらに備え、
前記可逆暗号化された秘密暗号鍵を前記記憶手段に記憶するとともに、復号化された前記秘密暗号鍵を表示可能に構成されていることを特徴とする請求項１に記載の暗号化ネットワークストレージシステム。
【請求項３】
前記一方向暗号化鍵は前記Ｗｅｂブラウザのクッキーから前記Ｗｅｂサーバに自動送信されることを特徴とする請求項１又は２に記載の暗号化ネットワークストレージシステム。
【請求項４】
前記Ｗｅｂサーバが、
前記データファイルのファイル名及びファイルデータをそれぞれ別個に暗号化するために、前記一方向暗号化鍵に基づいて、ファイル名用暗号鍵及びファイルデータ用暗号鍵をそれぞれ生成する暗号鍵生成手段をさらに備え、
前記可逆暗号化手段が、前記ファイル名用暗号鍵及び前記ファイルデータ用暗号鍵を用いて前記ファイル名及び前記ファイルデータをそれぞれ可逆暗号化し、前記記憶装置に保管することを特徴とする請求項１乃至３のいずれかに記載の暗号化ネットワークストレージシステム。
【請求項５】
前記Ｗｅｂサーバが、一方向暗号生成手段をさらに備え、前記クライアント端末の前記入力手段から入力された拡張鍵と前記ファイルデータ用暗号鍵とから、一方向暗号による拡張ファイルデータ用暗号鍵を生成するとともに、
前記可逆暗号化手段が、前記拡張ファイルデータ用暗号鍵を用いて前記ファイルデータを可逆暗号化し、前記記憶装置に保管することを特徴とする請求項４に記載の暗号化ネットワークストレージシステム。
【請求項６】
前記Ｗｅｂサーバが、乱数発生手段をさらに備え、
前記クライアント端末からの前記データファイルのアップロード要求時に、
前記拡張ファイルデータ暗号鍵の一部と前記乱数発生手段で発生させた乱数とから、前記一方向暗号生成手段によりフィンガープリントを生成し、前記乱数と一緒に前記記憶装置に格納するとともに、
前記クライアント端末からの前記データファイルのダウンロード要求時に、
前記クライアント端末から入力された前記データファイルに対応した前記拡張鍵と、前記記憶装置から読み出した前記乱数とに基づいて前記一方向暗号生成手段によりフィンガープリントを再生成し、該再生成されたフィンガープリントと、前記記憶装置から読み出した前記フィンガープリントとを照合し、一致した場合に前記データファイルのダウンロードを許可することを特徴とする請求項５に記載の暗号化ネットワークストレージシステム。
【請求項７】
前記一方向暗号生成手段が、ハッシュ関数である請求項１乃至６のいずれかに記載の暗号化ネットワークストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は暗号化ネットワークストレージシステムに関するものであり、特に、ネットワークストレージに保存するデータを暗号化／復号化する際に使用される暗号鍵の作成及び管理方法に特徴を有するものである。
【背景技術】
【０００２】
ネットワークストレージとは、ネットワークに直接接続して使用するファイルサーバ専用機のことであるが、ハードディスクとネットワークインタフェース、ＯＳ、管理用ユーティリティ等を一体化した単機能サーバで、記憶装置をネットワークに直に接続したように見えることからこのように呼ばれている。ネットワークに接続された他のコンピュータからは、通常のファイルサーバと同様、共有ディスクとして使用することができる。ファイルシステムやネットワーク通信機能は最初から内蔵されているため、システムへの導入や追加が容易で、異なる種類の複数のサーバからのデータの共有も楽に行うことができるという特長がある。
【０００３】
一方、企業の重要情報の交換にはセキュリティの確保が求められている。このため、ネットワークストレージに保管するデータを暗号化することが行われている。
一つの方法は、ネットワークストレージを利用するユーザのコンピュータ（以下「クライアント端末」という。）において暗号化処理を行い、暗号化データをサーバに転送して保管するものである。これは、平文のデータを外部に流出させないという点では安全性は高いが、クライアント端末のそれぞれに専用のアプリケーションプログラムを用意する必要があり、システムが複雑になるため、通常のＷｅｂブラウザを利用したシステムを構築することができないという問題がある。
他の方法は、クライアント端末から暗号鍵（平文）とデータ（平文）をネットワークを介してサーバに送信し、サーバにおいてその暗号鍵を用いてデータを暗号化し保管するものである。これは、通信路のセキュリティが確保されていれば通信途中での漏洩のおそれはないが、サーバ側管理者による情報漏洩のリスクが常につきまとう。すなわち、システムを簡略化するため毎回暗号鍵を送信せずに、サーバに暗号鍵を保管しておいて、それを用いて暗号化／復号化を行う場合、サーバ側管理者に暗号鍵を読み取られてしまうと、保管されている暗号化データを復号化されてしまうからである。従って、暗号鍵をサーバに保管せず、毎回クライアント端末から送り、暗号化／復号化の処理が終わったら保存しない（破棄）というシステムにすることが考えられる（特許文献１の段落００９６参照）。
しかしながら、平文の暗号鍵がサーバに送信される以上、それが第三者に読み取られればデータの復号化は容易に為されてしまう。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２７１４３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は上述のような事情に鑑み為されたものであり、暗号化ネットワークストレージシステムにおけるデータの暗号化／復号化の安全性の向上を図るとともに、クライアント側に専用のアプリケーションプログラムを必要としない安価な暗号化ネットワークストレージシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、記憶装置を備えたＷｅｂサーバと、複数のユーザのクライアント端末とがネットワークを介して相互に通信可能に接続され、前記クライアント端末からアップロードされたデータファイルを可逆暗号化し、前記記憶装置に保管する暗号化ネットワークストレージシステムに関し、本発明の上記目的は、
前記クライアント端末は、入力手段と、前記入力手段によって入力された平文の秘密暗号鍵を一方向暗号化し、一方向暗号化された暗号鍵（以下「一方向暗号化鍵」という。）を生成する一方向暗号生成手段と、前記一方向暗号化鍵を記憶する記憶手段と、を備え、
前記Ｗｅｂサーバは、前記クライアント端末から送信された前記一方向暗号化鍵の改竄の有無を検出するメッセージ認証手段と、前記データファイルを前記一方向暗号化鍵を用いて可逆暗号化し、可逆暗号化された前記データファイルを前記記憶装置に格納する可逆暗号化手段と、を備え、
前記メッセージ認証手段は、前記クライアント端末から送信された前記一方向暗号化鍵のメッセージ認証コード（以下「ＭＡＣ値」という。）を算出し、該ＭＡＣ値と前記記憶装置に予め記憶されている前記一方向暗号化鍵のＭＡＣ値とを照合し、一致すれば前記可逆暗号化手段による暗号化を許可し、不一致の場合は前記暗号化を不許可としその旨を前記クライアント端末に通知するとともに、前記クライアント端末の前記一方向暗号生成手段は、前記ＷｅｂサーバからダウンロードされるＨＴＭＬファイルに組み込まれているスクリプトによって前記クライアント端末のＷｅｂブラウザで実行されるものであり、前記一方向暗号化鍵は、前記クライアント端末から前記Ｗｅｂサーバに送信されるクッキー情報の一部として前記記憶手段に記憶され、前記Ｗｅｂサーバには保存されないことを特徴とする暗号化ネットワークストレージシステムによって達成される。
【０００７】
また、本発明の上記目的は、前記クライアント端末が、前記平文の秘密暗号鍵を可逆暗号化し、可逆暗号化された秘密暗号鍵を生成する可逆暗号化手段をさらに備え、前記可逆暗号化された秘密暗号鍵を前記記憶手段に記憶するとともに、復号化された前記秘密暗号鍵を表示可能に構成されていることを特徴とする前記暗号化ネットワークストレージシステムによって効果的に達成される。
【０００８】
さらに、本発明の上記目的は、前記Ｗｅｂサーバが、前記データファイルのファイル名及びファイルデータをそれぞれ別個に暗号化するために、前記一方向暗号化鍵に基づいて、ファイル名用暗号鍵及びファイルデータ用暗号鍵をそれぞれ生成する暗号鍵生成手段をさらに備え、前記可逆暗号化手段が、前記ファイル名用暗号鍵及び前記ファイルデータ用暗号鍵を用いて前記ファイル名及び前記ファイルデータをそれぞれ可逆暗号化し、前記記憶装置に保管することを特徴とする前記暗号化ネットワークストレージシステムによって効果的に達成される。
【０００９】
またさらに、本発明の上記目的は、前記Ｗｅｂサーバが、一方向暗号生成手段をさらに備え、前記クライアント端末の前記入力手段から入力された拡張鍵と前記ファイルデータ用暗号鍵とから、一方向暗号による拡張ファイルデータ用暗号鍵を生成するとともに、
前記可逆暗号化手段が、前記拡張ファイルデータ用暗号鍵を用いて前記ファイルデータを可逆暗号化し、前記記憶装置に保管することを特徴とする前記暗号化ネットワークストレージシステムによってさらに効果的に達成される。
【００１０】
さらにまた、本発明の上記目的は、前記Ｗｅｂサーバが、乱数発生手段をさらに備え、
前記クライアント端末からの前記データファイルのアップロード要求時に、前記拡張ファイルデータ暗号鍵の一部と前記乱数発生手段で発生させた乱数とから、前記一方向暗号生成手段によりフィンガープリントを生成し、前記乱数と一緒に前記記憶装置に格納するとともに、
前記クライアント端末からの前記データファイルのダウンロード要求時に、前記クライアント端末から入力された前記データファイルに対応した前記拡張鍵と、前記記憶装置から読み出した前記乱数とに基づいて前記一方向暗号生成手段によりフィンガープリントを再生成し、該再生成されたフィンガープリントと、前記記憶装置から読み出した前記フィンガープリントとを照合し、一致した場合に前記データファイルのダウンロードを許可することを特徴とする前記暗号化ネットワークストレージシステムによってさらに効果的に達成される。
【発明の効果】
【００１１】
本発明に係る暗号化ネットワークストレージシステムによれば、クライアント端末から入力された秘密暗号鍵（平文）が、一方向暗号化されてＷｅｂサーバに送信され、ファイルデータ用の暗号化／復号化鍵として使用されるので、仮に、Ｗｅｂサーバの管理者が暗号化鍵を盗んだとしても、それを元の秘密暗号鍵（平文）に戻すことができないため、ユーザになりすまして暗号化されたデータファイルを復号化してダウンロードすることができない。
また、クライアント端末における秘密暗号鍵（平文）の一方向暗号化は、ＷｅｂサーバからダウンロードするＨＴＭＬに組み込まれたスクリプトによって実行されるため、クライアント端末にはＷｅｂブラウザがインストールされていればよく、特別な専用ソフトウェアを必要としないため、システム導入コストが低い。さらには、Ｗｅｂブラウザを利用するため、一方向暗号化鍵はクッキーとしてクライアント端末に保管され、次回以降のアクセス時には秘密暗号鍵（平文）を再入力する必要がなくなる。
【００１２】
本発明の好ましい実施の形態によれば、ファイルデータのみならず、ファイル名もそれぞれ別の暗号化鍵を用いて暗号化を行うので、ファイル名からファイルの内容を類推され攻撃の対象となることを防止することができる。
さらには、ファイルデータの暗号化／復号化に使用する暗号化鍵に対して、ファイルごとに異なる拡張鍵を付加して新たな暗号化鍵を生成して使用するため、安全性が格段に向上する。
【図面の簡単な説明】
【００１３】
【図１】本発明に係る暗号化ネットワークストレージシステムの全体構成を示すブロック図である。
【図２】本発明に係る暗号化ネットワークストレージシステムにおけるＷｅｂサーバの内部構成の一例を示すブロック図である。
【図３】本発明に係る暗号化ネットワークストレージシステムにおけるクライアント端末の内部構成の一例を示すブロック図である。
【図４】管理ユーザによる暗号鍵の初期設定の手順を説明するための図である。
【図５】一般ユーザによる暗号鍵の初期設定の手順を説明するための図である。
【図６】本発明の実施例１における、Ｗｅｂサーバへのアップロードの手順を説明するための図である。
【図７】本発明の実施例１における、Ｗｅｂサーバからのダウンロードの手順を説明するための図である。
【図８】本発明の実施例２における、Ｗｅｂサーバへのアップロードの手順を説明するための図である。
【図９】本発明の実施例２における、Ｗｅｂサーバからのダウンロードの手順を説明するための図である。
【図１０】本発明の実施例３における、Ｗｅｂサーバへのアップロードの手順を説明するための図である。
【図１１】本発明の実施例３における、拡張ファイルデータ用暗号鍵の生成と、そのフィンガープリントを生成する手順を説明するための図である。
【図１２】本発明の実施例３における、Ｗｅｂサーバからのダウンロードの手順を説明するための図である。
【発明を実施するための形態】
【００１４】
本発明に係る暗号化ネットワークストレージシステムの実施形態について、図面を参照しつつ詳細に説明する。
【００１５】
図１は本発明に係る暗号化ネットワークストレージシステムの全体構成を示すブロック図であり、このシステムを提供する事業者のＷｅｂサーバ（以下、単に「サーバ」という。）１００と、このシステムを利用するユーザのクライアント端末２００（管理ユーザ端末２０１と一般ユーザ端末２０２とから成る。）とが、ネットワーク３００を介して相互に通信可能に接続されている。
【００１６】
図２は本発明に係る暗号化ネットワークストレージシステムにおけるサーバ１００の内部構成の一例を示すブロック図である。
記憶装置（ストレージ）１０１は、ユーザがアップロードしたファイルが暗号化されて保管される場所であるとともに、その他必要に応じてデータ（例えば認証用データ）を保存しておく場所でもある。必ずしもサーバ１００に内蔵している必要はなく、外付けであってもよい。
暗号鍵登録手段１０２は、後述のように、ユーザ登録時に、クライアント端末（管理ユーザ用）２０１から送信される一方向暗号化鍵のＭＡＣ値を計算し、それを記憶装置１０１に登録するものである。
メッセージ認証手段１０３は、クライアント端末２００からのアクセスの都度送信される一方向暗号化鍵のＭＡＣ値を算出し、そのＭＡＣ値と記憶装置１０１に登録されている一方向暗号化鍵のＭＡＣ値とを照合し、一致すればファイルの暗号化／復号化を許可し、不一致の場合は不許可としその旨をクライアント端末２００に通知するものである。
可逆暗号化手段１０４は、クライアント端末２００からアップロードされたデータファイルを一方向暗号化鍵を用いて可逆暗号化し、可逆暗号化されたデータファイルを記憶装置１０１に格納するとともに、クライアント端末２００からのダウンロード要求に基づいてデータファイルを一方向暗号化鍵を用いて復号化するものである。可逆暗号化のアルゴリズムとしては、例えば、ＤＥＳ等の共通鍵暗号方式が利用可能である。
暗号鍵生成手段１０５は、クライアント端末（一般ユーザ用）２０２から送信された一方向暗号化鍵から、データファイルのファイル名及びファイルデータをそれぞれ別個に暗号化するための、ファイル名用暗号鍵及びファイルデータ用暗号鍵をそれぞれ生成するものである。たとえば、一方向暗号化鍵をそれぞれ別の規則でビット列を並べ替えたりすることにより２種類の新たな暗号鍵を生成することができる。
乱数発生手段１０６は、所定のビット数の乱数を発生させるものである。また、一方向暗号生成手段１０７は、入力されたデータのフィンガープリント（メッセージダイジェスト）を生成するものであり、たとえば、ハッシュ関数が利用可能である。
通信手段１０８はネットワークを介して外部機器との通信を行うものであり、制御手段１０９は、上記各手段を所定の制御プログラムによって制御するものであり、ＣＰＵ、ＲＡＭ、ＲＯＭ等から構成される。
【００１７】
図３は本発明に係る暗号化ネットワークストレージシステムにおけるクライアント端末（以下「端末」という。）２００の内部構成の一例を示すブロック図である。管理ユーザ用、一般ユーザ用ともに同じ構成である。一般的なパソコンが利用可能である。
入力手段２１１は端末２００にデータを入力するためのものであり、たとえばキーボードである。表示手段２１２はデータを人間の目で見える形で表示するものであり、ディスプレイ装置がこれに該当する。記憶手段２１３は入力したデータやダウンロードしたデータを記憶するものであり、固定記憶装置（例えばハードディスク等）やＵＳＢメモリ等が利用可能である。
一方向暗号生成手段２１４は、入力された秘密暗号鍵（平文）から一方向暗号化鍵を生成し、クッキー情報の一部として記憶手段２１３に記憶させるものであり、たとえば、ハッシュ関数やＭＡＣ関数（ＨＭＡＣも含む）が利用可能である。
また、可逆暗号化手段２１５は、入力された秘密暗号鍵をシステム固定の共通鍵（図示せず）で可逆暗号化〔共通鍵暗号方式〕し、クッキー情報の一部として記憶手段２１３に記憶させるものである。なお、一方向暗号生成手段２１４と可逆暗号化手段２１５は、サーバからダウンロードしたＨＴＭＬファイルに組み込まれているスクリプト（例えば、ＪａｖａＳｃｒｉｐｔ（登録商標））によって、Ｗｅｂブラウザ（以下、単に「ブラウザ」という。）上で実行される。秘密暗号鍵の可逆暗号化は、秘密暗号鍵を安全に端末内に保管しておくために為されるものであるので、秘密暗号鍵を紙に書いて金庫等に安全に保管できるのであれば、可逆暗号化手段２１５は省略可能である。
通信手段２１６はネットワークを介してサーバとの通信を行うものであり、制御手段２１７は、上記各手段を所定の制御プログラムによって制御するものであり、ＣＰＵ、ＲＡＭ、ＲＯＭ等から構成される。
【００１８】
図４は管理ユーザによる暗号鍵の初期設定の手順を説明するための図である。管理ユーザとは、このシステムによるサービスを利用する契約ユーザ（主として企業）の管理部門を意味している。すなわち、このシステムを実際に利用して業務を行うユーザ（一般ユーザ）が使用する秘密暗号鍵を作成し、これを一般ユーザに秘密に配布するとともに、サーバへの利用登録を行い、一般ユーザが利用できるようにお膳立てを行う者である。以下、図に基づいて説明する。
まず、管理ユーザは、本発明に係る暗号化ネットワークストレージシステムのサービス（以下「本サービス」という。）を提供する業者のサーバにアクセスし、暗号鍵設定画面（図示せず）を端末２０１に表示する。管理ユーザが自由発案した秘密暗号鍵（Ａ）を設定画面上で入力し、一方向暗号化を実行すると、暗号鍵（Ａ）が一方向暗号化され、一方向暗号化鍵（Ａ’）が生成される。鍵Ａ’は例えば鍵Ａのハッシュ値（ＳＨＡ−１等）又はＭＡＣ値である。鍵Ａ’はクッキーとして端末２０１の記憶手段２１３に記憶されるとともに、サーバに送信されて、サーバの暗号鍵登録手段１０２によってＭＡＣ値が計算され、それがサーバの記憶装置１０１に登録される。
また、それと同時に、鍵Ａは可逆暗号化手段２１５によって可逆暗号化され（鍵Ａ’’となる。）、クッキー情報の一部として記憶手段２１３に記憶される。鍵Ａ’’を必要に応じて復号化することにより、元の鍵Ａとしてディスプレイに表示することができる。鍵Ａ’’はクッキーとして保存されるため、サーバにアクセスする度に自動送信されてしまうが、サーバ側では使用せずに破棄されるようになっている。
なお、鍵Ａ''は、ブラウザと端末ごとに異なる情報から生成した共通鍵で暗号化されるため、端末毎に異なる値となり、他の端末において元の鍵Ａに戻すことは不可能である。
【００１９】
図５は一般ユーザによる暗号鍵の初期設定の手順を説明するための図である。一般ユーザは、管理ユーザが発案し登録済みの秘密暗号鍵（Ａ）を管理ユーザから取得し、端末２０２の初期設定画面に入力する。入力された鍵Ａは一方向暗号化され、記憶手段２１３にクッキーとして記憶されるとともに、鍵Ａ’としてサーバに送信される。サーバに送信された鍵Ａ’は、メッセージ認証手段１０３によってＭＡＣ値が算出され、予め記憶装置１０１に登録されている鍵Ａ’のＭＡＣ値と照合され、一致すればユーザ認証成功が端末に通知され、不一致の場合は認証失敗が端末２０２に通知される。なお、鍵Ａの可逆暗号化については管理ユーザの場合と同じであるので、説明は省略する。
【実施例１】
【００２０】
図６は本発明の実施例１における、サーバへのアップロードの手順を説明するための図である。
一般ユーザの端末２０２からサーバ１００にアクセスし、アップロード画面を開いて、端末２０２の記憶手段にあるデータファイルをサーバ１００にアップロードすると、鍵Ａ’及び鍵Ａ’’もクッキーとして同時にアップロードされる。サーバに自動送信された鍵Ａ’は、メッセージ認証手段１０３でＭＡＣ値が算出され、そのＭＡＣ値と記憶装置１０１に登録されているＭＡＣ値とが照合され、一致すれば鍵Ａ’によるデータファイルの可逆暗号化が実行され、記憶装置１０１に暗号化データファイルが保存される。鍵Ａ’は暗号化後はサーバには保存されずに破棄される。不一致の場合は認証失敗としてその旨が端末２０２に通知される。なお、自動送信された鍵Ａ’’はサーバでは全く使用されずに破棄される。
【００２１】
図７は本発明の実施例１における、サーバからのダウンロードの手順を説明するための図である。
一般ユーザの端末２０２からサーバ１００にアクセスし、ダウンロード画面を開いて、端末２０２からダウンロードすべきデータファイルのファイル名をサーバ１００に送信すると、鍵Ａ’及び鍵Ａ’’もクッキーとして同時に送信される。サーバに自動送信された鍵Ａ’は、メッセージ認証手段１０３でＭＡＣ値が算出され、そのＭＡＣ値と記憶装置１０１に登録されているＭＡＣ値とが照合され、一致すれば、送信されたファイル名による記憶装置１０１内の検索が行われ、要求されたデータファイルの抽出が行われた後、鍵Ａ’によるデータファイルの復号化が実行され、復号化データファイルが端末２０２にダウンロードされる。鍵Ａ’は復号化後はサーバには保存されずに破棄される。不一致の場合は認証失敗としてその旨が端末２０２に通知される。なお、自動送信された鍵Ａ’’はサーバでは全く使用されずに破棄される。
以上の実施例１はファイル名は暗号化せず、ファイルデータのみ暗号化するものであるが、次に述べる実施例２及び３は、ファイル名とファイルデータをそれぞれ別個に異なる暗号鍵で暗号化を行うものである。サーバ側には平文のファイル名が存在しないため、ファイル名から内容を類推されるおそれがなくなり、安全性がさらに向上する。
【実施例２】
【００２２】
図８は本発明の実施例２における、サーバへのアップロードの手順を説明するための図である。端末２０２側の動作は実施例１と同じであるので、サーバ１００側の動作のみ説明する。ただし、実施例１と共通する部分の説明は省略する。
端末２０２から自動送信された鍵Ａ’が、暗号鍵生成手段１０５に入力され、ファイル名用暗号鍵及びファイルデータ用暗号鍵がそれぞれ別個に生成される。たとえば、鍵Ａ’をそれぞれ別の規則でビット列を並べ替えることにより、ファイル名用暗号鍵及びファイルデータ用暗号鍵を別個に生成することができる。あるいは、鍵Ａ’を二つに分割し、それぞれをハッシュ化してもよい。
以上のようにして生成されたファイル名用暗号鍵及びファイルデータ用暗号鍵を用い、可逆暗号化手段１０４において、ファイル名及びファイルデータをそれぞれ可逆暗号化し、記憶装置１０１に保存する。
【００２３】
図９は本発明の実施例２における、サーバからのダウンロードの手順を説明するための図である。端末２０２側の動作は実施例１と同じであるので、サーバ１００側の動作のみ説明する。ただし、実施例１と共通する部分の説明は省略する。
一般ユーザの端末２０２からサーバ１００にアクセスし、ダウンロード画面を開いて、端末２０２からダウンロードすべきデータファイルのファイル名（平文）をサーバ１００に送信すると、鍵Ａ’及び鍵Ａ’’もクッキーとして同時に送信される。端末２０２から自動送信された鍵Ａ’が、暗号鍵生成手段１０５に入力され、ファイル名用暗号鍵及びファイルデータ用暗号鍵がそれぞれ別個に生成される。
次に、ダウンロード要求されたデータファイルのファイル名が、ファイル名用暗号鍵によって暗号化されるとともに、暗号化されたファイル名によって記憶装置１０１内を検索し、それに対応する暗号化ファイルデータを抽出する。この暗号化ファイルデータを上記ファイルデータ用暗号鍵を用いて復号化し、平文のファイルデータとして端末２０２にダウンロードする。
【実施例３】
【００２４】
図１０は本発明の実施例３における、サーバへのアップロードの手順を説明するための図である。ファイル名とファイルデータをそれぞれ別個に異なる暗号鍵で暗号化を行う点においては実施例２と共通するが、ファイルデータ用暗号鍵をさらに強化した拡張ファイルデータ用暗号鍵を用いてファイルデータの暗号化を行い、さらに拡張ファイルデータ用暗号鍵のフィンガープリント（メッセージダイジェスト）を生成して、暗号化ファイルデータと関連付けて保存する点において異なる。
【００２５】
図１１は、本発明の実施例３における、拡張ファイルデータ用暗号鍵の生成と、そのフィンガープリントを生成する手順を説明するための図である。
鍵Ａ’から生成されたファイルデータ用暗号鍵と、端末２０２から手入力された拡張鍵とから一方向暗号生成手段１０７によって拡張ファイルデータ用暗号鍵を生成し、それを用いてファイルデータを可逆暗号化する。このとき、生成した拡張ファイルデータ用暗号鍵の一部（例えば半分）と、サーバ内で発生させた乱数とから一方向暗号生成手段１０７によってセキュア・ハッシュ（例えばＳＨＡ−１）を含むフィンガープリントを生成し、その乱数とともに当該フィンガープリントも暗号化ファイルデータと関連付けて、記憶装置１０１に保存する。
【００２６】
図１２は本発明の実施例３における、サーバからのダウンロードの手順を説明するための図である。実施例２におけるダウンロード動作と異なる点は、ダウンロード要求時に拡張鍵を端末から手入力する点である。
すなわち、端末２０２から拡張鍵が手入力され、サーバ１００に送信されると、拡張ファイルデータ用暗号鍵が生成されるとともに、要求されたファイル名に対応したフィンガープリントと乱数が記憶装置１０１から読み出される。生成された拡張ファイルデータ用暗号鍵の一部と読み出された乱数とからフィンガープリントが生成され、読み出されたフィンガープリントとの比較が行われる。一致すれば、手入力された拡張鍵が正当であると判定されて暗号化ファイルデータの復号化が許可されて、拡張ファイルデータ用暗号鍵で復号化されたファイルデータがダウンロードされる。一方、フィンガープリントが一致しなかった場合は、拡張鍵が不正であるとみなし、その旨を端末２０２に通知する。
【符号の説明】
【００２７】
１００  Ｗｅｂサーバ
１０１  記憶装置（ストレージ）
１０２  暗号鍵登録手段
１０３  メッセージ認証手段
１０４  可逆暗号化手段
１０５  暗号鍵生成手段
１０６  乱数発生手段
１０７  一方向暗号生成手段
１０８  通信手段
１０９  制御手段
２００  クライアント端末
２０１  管理ユーザ用端末
２０２  一般ユーザ用端末
２１１  入力手段
２１２  表示手段
２１３  記憶手段
２１４  一方向暗号生成手段
２１５  可逆暗号化手段
２１６  通信手段
２１７  制御手段
３００  ネットワーク
【図１】
2011054028.tif 000003
【図２】
2011054028.tif 000004
【図３】
2011054028.tif 000005
【図４】
2011054028.tif 000006
【図５】
2011054028.tif 000007
【図６】
2011054028.tif 000008
【図７】
2011054028.tif 000009
【図８】
2011054028.tif 000010
【図９】
2011054028.tif 000011
【図１０】
2011054028.tif 000012
【図１１】
2011054028.tif 000013
【図１２】
2011054028.tif 000014