(57)【要約】【課題】暗号化された電子データが記憶されたストレージサービスから退会する場合に、暗号鍵を効率的に削除可能な情報処理装置を提供すること。【解決手段】利用者識別情報及び記憶装置識別情報の組に一意の暗号鍵が記憶された暗号鍵記憶手段２７と、記憶装置情報記憶手段２６と、利用者を識別する利用者識別手段１４と、データを記憶させる記憶装置の記憶装置識別情報の入力を受け付ける操作受付手段３０６と、利用者識別情報及び記憶装置識別情報の組に対応づけられている暗号鍵を読み出し、指定されたデータを暗号化する暗号化手段２１と、暗号化手段が暗号化したデータ、及び、前記記憶装置情報記憶手段にて記憶装置識別情報に対応づけられた前記利用者情報を、前記操作受付手段が入力を受け付けた記憶装置識別情報の記憶装置に送信する送信手段１５と、を有することを特徴とする。【選択図】図１
2014176030.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置とネットワークを介して通信可能な情報処理装置であって、
利用者識別情報及び記憶装置識別情報の組に一意の暗号鍵が記憶された暗号鍵記憶手段と、
記憶装置識別情報に対応づけて記憶装置を利用するための利用者情報が記憶された記憶装置情報記憶手段と、
利用者を識別する利用者識別手段と、
データを記憶させる記憶装置の記憶装置識別情報の入力を受け付ける操作受付手段と、
前記暗号鍵記憶手段にて前記利用者識別手段が識別した利用者識別情報及び前記操作受付手段が入力を受け付けた記憶装置識別情報の組に対応づけられている暗号鍵を読み出し、指定されたデータを暗号化する暗号化手段と、
前記暗号化手段が暗号化したデータ、及び、前記記憶装置情報記憶手段にて前記操作受付手段が入力を受け付けた記憶装置識別情報に対応づけられた前記利用者情報を、前記操作受付手段が入力を受け付けた記憶装置識別情報の記憶装置に送信する送信手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記操作受付手段が入力を受け付けた記憶装置識別情報と同じ記憶装置識別情報が、前記記憶装置情報記憶手段に記憶されていない場合、
暗号鍵を生成し、前記利用者識別手段が識別した利用者識別情報及び前記操作受付手段が入力を受け付けた記憶装置識別情報の組に対応づけて前記暗号鍵記憶手段に登録する鍵作成手段、
を有することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記操作受付手段が記憶装置識別情報を指定して暗号鍵の削除を受け付けた場合、
前記記憶装置情報記憶手段にて前記操作受付手段が入力を受け付けた記憶装置識別情報に対応づけられた前記利用者情報を、該記憶装置識別情報の記憶装置に送信し、
前記利用者情報が無効な場合にのみ、前記暗号鍵記憶手段にて、前記利用者識別手段が識別した利用者識別情報及び前記操作受付手段が入力を受け付けた記憶装置識別情報の組に対応づけられている暗号鍵を削除する暗号鍵削除手段、
を有することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
記憶装置及び端末とネットワークを介して通信可能な情報処理装置であって、
利用者識別情報及び記憶装置識別情報の組に一意の暗号鍵が記憶された暗号鍵記憶手段と、
記憶装置識別情報に対応づけて記憶装置を利用するための利用者情報が記憶された記憶装置情報記憶手段と、
利用者を識別する利用者識別手段と、
前記端末からデータを記憶させる記憶装置の記憶装置識別情報を受信する受信手段と、
前記暗号鍵記憶手段にて前記利用者識別手段が識別した利用者識別情報及び前記受信手段が受信した記憶装置識別情報の組に対応づけられている暗号鍵を読み出し、前記端末から受信したデータを暗号化する暗号化手段と、
前記暗号化手段が暗号化したデータ、及び、前記記憶装置情報記憶手段にて前記受信手段が受信した記憶装置識別情報に対応づけられた前記利用者情報を、前記受信手段が受信した記憶装置識別情報の記憶装置に送信する送信手段と、
を有することを特徴とする情報処理装置。
【請求項５】
記憶装置とネットワークを介して通信可能な１台以上の情報処理装置を有する情報処理システムであって、
利用者識別情報及び記憶装置識別情報の組に一意の暗号鍵が記憶された暗号鍵記憶手段と、
記憶装置識別情報に対応づけて記憶装置を利用するための利用者情報が記憶された記憶装置情報記憶手段と、
利用者を識別する利用者識別手段と、
データを記憶させる記憶装置の記憶装置識別情報を取得する記憶装置識別情報取得手段と、
前記暗号鍵記憶手段にて前記利用者識別手段が識別した利用者識別情報及び前記記憶装置識別情報取得手段が取得した記憶装置識別情報の組に対応づけられている暗号鍵を読み出し、指定されたデータを暗号化する暗号化手段と、
前記暗号化手段が暗号化したデータ、及び、前記記憶装置情報記憶手段にて前記記憶装置識別情報取得手段が取得した記憶装置識別情報に対応づけられた前記利用者情報を、前記記憶装置識別情報取得手段が取得した記憶装置識別情報の記憶装置に送信する送信手段と、
を有することを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置とネットワークを介して通信可能な情報処理装置に関する。
【背景技術】
【０００２】
インターネットの普及に伴いインターネット上で様々なサービスが提供されるようになった。このようなサービスは従来からあるがクラウドサービスと呼ばれる場合がある。インターネットやクラウドサービスで提供されるサービスの１つにストレージサービスがある。これは、利用者から電子データを預かり機密性を維持した状態で保存するサービスであり、利用者はインターネットにアクセス可能な環境であれば、自分の電子データを使用できる。
【０００３】
ストレージサービスの特筆すべき特徴として、電子データの保存先であるインターネットのどこかに存在するサーバの物理的な位置や構成について、利用者に意識させることがないという点が挙げられる。すなわち利用者は、ストレージサービスを利用することで、ストレージが置かれた環境を意識することなく、自分の電子データをインターネット上に保存でき、また、使用できる。
【０００４】
しかし、ストレージサービスでは、利用者はストレージサービスの内部的なセキュリティについて全面的に信頼することが難しいという側面がある。例えば、サービス運営者が利用者の電子データを盗み見るような行為が、完全に不可能になっていることが保証されているかどうかを利用者は確認しにくい。また、利用者が例えばサービス提供企業のブランドを信頼していたとしても、買収などによってそのサービスが別の企業による管理に変更されるなどの不安もある。
【０００５】
このような前提のもと、利用者がストレージサービスをセキュアに利用するための方法として、利用者が信頼できる別の暗号サービスを利用者とストレージサービスとの間で利用することが考えられる。暗号に関する処理および暗号鍵などの情報は、ストレージサービスには一切提供せずに、利用者とストレージサービスとの間で暗号化された電子データのみをやりとりすることで、機密性を維持することができる。
【０００６】
また、ストレージサービスでは、利用者がストレージサービスの使用を一切取りやめることを望んだ場合（サービスを退会する場合）、電子データが完全に削除されたことを利用者が確認しにくいという不都合もある。利用者がストレージサービスから退会する場合、一環としてストレージサービス上の電子データ（少なくとも重要なデータ）の削除を望むと考えられるが、ストレージサービスによっては完全な削除を保証できなかったり、利用者がストレージサービスを信用できない場合がある。
【０００７】
そこで、擬似的な削除方法として、削除したい電子データに対応する暗号鍵を破棄することで、その暗号化された電子データを誰も復号できない状態にする方法が考えられる（例えば、特許文献１参照。）。特許文献１には、ストレージサービスとユーザクライアントの間に置かれたサーバが電子データの暗号化を行い、暗号鍵をユーザＩＤとファイルＩＤに紐づけて管理するファイル管理システムが開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載されているファイル管理システムでは、利用者が電子データの擬似的な削除を望む場合、ファイル毎に暗号鍵を破棄しなければならないという問題がある。すなわち、電子データの暗号処理に用いられる暗号鍵は、個々の電子データごとに生成・管理されているため、サービスから退会する場合、ストレージサービス上にあるデータの数と同じだけの暗号鍵を破棄しなければならない。
【０００９】
また、利用者が複数のストレージサービスを利用している場合、退会するストレージサービスに記憶している電子データを暗号化した暗号鍵を選別して全て削除する必要があるという問題がある。すなわち、利用者が複数のストレージサービスのうち一部だけから退会する場合、利用者のデータそれぞれが保存されているストレージサービスを調べ、取りやめるストレージサービスに記憶されているデータに対応する暗号鍵だけを全て削除しなければならない。
【００１０】
このように、従来のストレージサービスでは、電子データを暗号化してセキュアな環境を構築しても、ストレージサービスから退会する場合に、任意の暗号鍵を削除するための処理や操作が複雑であるという問題があった。
【００１１】
本発明は、上記課題に鑑み、暗号化された電子データが記憶されたストレージサービスから退会する場合に、暗号鍵を効率的に削除可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、記憶装置とネットワークを介して通信可能な情報処理装置であって、利用者識別情報及び記憶装置識別情報の組に一意の暗号鍵が記憶された暗号鍵記憶手段と、記憶装置識別情報に対応づけて記憶装置を利用するための利用者情報が記憶された記憶装置情報記憶手段と、利用者を識別する利用者識別手段と、データを記憶させる記憶装置の記憶装置識別情報の入力を受け付ける操作受付手段と、前記暗号鍵記憶手段にて前記利用者識別手段が識別した利用者識別情報及び前記操作受付手段が入力を受け付けた記憶装置識別情報の組に対応づけられている暗号鍵を読み出し、指定されたデータを暗号化する暗号化手段と、前記暗号化手段が暗号化したデータ、及び、前記記憶装置情報記憶手段にて前記操作受付手段が入力を受け付けた記憶装置識別情報に対応づけられた前記利用者情報を、前記操作受付手段が入力を受け付けた記憶装置識別情報の記憶装置に送信する送信手段と、を有することを特徴とする。
【発明の効果】
【００１３】
暗号化された電子データが記憶されたストレージサービスから退会する場合に、暗号鍵を効率的に削除可能な情報処理装置を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本実施例のスキャナドライバの構成を模式的に説明する図の一例である。
【図２】暗号処理システムの概略構成図の一例である。
【図３】ユーザ端末のハードウェア構成図の一例である。
【図４】暗号処理部の機能構成図の一例である。
【図５】利用者情報等の一例である。
【図６】暗号鍵の作成について説明する図の一例である。
【図７】暗号処理部がファイルをストレージサービスに送信する手順を示すフローチャート図の一例である。
【図８】ユーザ端末がストレージサービスからデータをダウンロードする手順を示すフローチャート図の一例である。
【図９】暗号処理部が暗号鍵を削除する手順を示すフローチャート図の一例である。
【図１０】暗号処理システムの概略構成図の一例である。
【図１１】暗号処理システムの機能構成図の一例である。
【図１２】ユーザ端末が仲介サーバを介してファイルをストレージサービスに送信する手順を示すフローチャート図の一例である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態について図面を参照しながら説明する。しかしながら、本発明の技術的範囲が、本実施の形態に限定されるものではない。
【実施例１】
【００１６】
図１は、本実施例のスキャナドライバの構成を模式的に説明する図の一例である。本実施形態の暗号処理部は、利用者とストレージサービスに紐付けられた暗号鍵を生成する。つまり、利用者とストレージサービスの組ごとに重複しない暗号鍵を１つだけ作成する。
【００１７】
ユーザ１及びユーザ２がストレージサービスＡ、Ｂをそれぞれ利用する場合を例にして説明する。暗号処理部は、以下の４つの暗号鍵を作成する。
・利用者１がストレージサービスＡの利用を開始する際に「暗号鍵１Ａ」を作成する。
・利用者１がストレージサービスＢの利用を開始する際に「暗号鍵１Ｂ」を作成する。
・利用者２がストレージサービスＡの利用を開始する際に「暗号鍵２Ａ」を作成する。
・利用者２がストレージサービスＢの利用を開始する際に「暗号鍵２Ｂ」を作成する。
【００１８】
利用者１がストレージサービスＡに記録するデータは暗号鍵１Ａにより暗号化される。
【００１９】
利用者１がストレージサービスＢに記録するデータは暗号鍵１Ｂにより暗号化される。
【００２０】
利用者２がストレージサービスＡに記録するデータは暗号鍵２Ａにより暗号化される。
【００２１】
利用者２がストレージサービスＢに記録するデータは暗号鍵２Ｂにより暗号化される。
【００２２】
例えば、利用者１がストレージサービスＡの利用を取りやめる場合（退会する場合）、暗号処理部は、暗号鍵１Ａだけを破棄する。これにより、利用者１がストレージサービスＡに記録したデータは、すべて復号できなくなる。また、利用者１は継続してストレージサービスＢを利用できる。
【００２３】
したがって、利用者１は、信頼できる暗号処理部により確実に暗号鍵を破棄するので、ストレージサービスＡの電子データ（例えばファイル）が閲覧されたり退会後に漏洩する懸念がない。また、ストレージサービスＡに多くの電子データが記録されていても、電子データ毎に暗号鍵を削除する必要がない。したがって、利用者１は１つの暗号鍵を削除するだけで、安心してストレージサービスから退会できる。
【００２４】
なお、以下では、ストレージサービスの利用を取りやめることを、単に「退会する」という。退会とは、ストレージサービスの会員でなくなることをいい、ストレージサービス側で利用者のアカウントが破棄され、ストレージサービスにログインできなくなることをいう。
【００２５】
〔構成例〕
図２は、暗号処理システム３００の概略構成図の一例を示す。複数のサーバ２００がネットワーク５００に接続されており、ユーザ端末１００がネットワーク５００を経由して通信可能に接続されている。
【００２６】
サーバ２００は、ストレージサービスを提供する情報処理装置である。本実施例では、サーバ２００はネットワーク上に２台以上存在している。１つのサーバ２００が、アカウントが異なる複数のストレージサービスを提供する場合があり、この場合はサーバ２００は単数となる。本実施形態では説明のため、１つのサーバ２００が１つのストレージサービスを提供するものとして説明する。サーバ２００は、ファイルサーバ又はＮＡＳ（Network Attached Storage）などと呼ばれるが、どのように呼ばれていてもよい。サーバ２００は、不揮発な記憶装置、通信機能及びファイル管理システム（例えばＯＳ：Operating System）を有している。また、サーバ２００は筐体内に限られずネットワーク上のアクセス可能な場所に記憶装置を有していればよい。
【００２７】
また、一般には情報処理装置を呼ばれていなくても、サーバ２００の機能を有することは可能である。例えば、ＭＦＰ（Multi Function Peripheral）はコピー機、スキャナー、プリンタ、ファックス装置など画像を形成する機能を備えた装置であるが、サーバ２００に必要な機能を備えている。
【００２８】
ユーザ端末１００は、ノートＰＣ、デスクトップＰＣ、ワークステーション、スマートフォン、タブレット端末、携帯電話、ＰＤＡ（Personal Digital Assistant）、デジタルカメラ、テレビ会議端末、プロジェクタなど、利用者が使用する端末である。通信機能や操作部を保持していれば、ユーザ端末１００となりうる。例えば、ノートＰＣではワープロソフトウェアなどのアプリケーションが作成したアプリケーションデータが利用者の電子データとしてサーバ２００に記録される。また、携帯電話やデジタルカメラでは、カメラで撮影された画像データが電子データとしてサーバ２００に記録される。
【００２９】
ネットワーク５００は、ＬＡＮ、複数のＬＡＮがルータなどを介して接続されたＷＡＮ、又は、インターネットなどである。ネットワーク５００は有線で構築されていてもよいし、一部又は全てが無線ＬＡＮ（IEEE802.11b/a/g/n等）で構築されていてもよい。さらに、ネットワーク５００は携帯電話網、ＷｉＭａｘ網、ＰＨＳ網などの移動体向けに構築された通信網を含む。また、ユーザ端末１００とサーバ２００が無線ＬＡＮのアドホックモードやBluetooth（登録商標）などで１対１で通信する通信形態もネットワークに含めることとする。
【００３０】
図３は、ユーザ端末１００のハードウェア構成図の一例を示す。サーバ２００のハード的な構成も、ストレージサービスの提供という点からはユーザ端末１００と同様である。
【００３１】
ユーザ端末１００は、バスに接続された、ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、ＨＤＤ３０４、ディスプレイ３２０が接続されたグラフィックボード３０５、キーボード・マウス３０６、メディアドライブ３０７、及び、ネットワーク通信部３０８を有する。ＣＰＵ３０１はＨＤＤ３０４に記憶されたプログラム３１０をＲＡＭ３０３に展開して実行し、各部品を制御して入出力を行ったり、データの加工を行ったりする。ＲＯＭ３０２にはＢＩＯＳや、ＯＳをＨＤＤ３０４からＲＡＭ３０３に読み出すプログラムが記憶されている。
【００３２】
ＨＤＤ３０４は、不揮発性のメモリであればよくＳＳＤ（Solid State  Drive）などでもよい。ＨＤＤ３０４はＯＳ、デバイスドライバ、及び、後述する機能を提供するプログラム３１０を記憶している。ディスプレイ３２０にはプログラムが指示し、グラフィックボード３０５が作成したＧＵＩ画面が表示される。
【００３３】
キーボード・マウス３０６は利用者の操作を受け付ける入力装置である。メディアドライブ３０７はコンパクトディスク、ＤＶＤ及びブルーレイディスクなどの光学メディアにデータを読み書きする。また、フラッシュメモリなどのメモリカードにデータを読み書きしてもよい。
【００３４】
ネットワーク通信部３０８は、例えばＬＡＮに接続するためのイーサネット（登録商標）カードである。ＴＣＰ／ＩＰ（ＵＤＰ／ＩＰ）やアプリケーション層のプロトコルの処理はＯＳやプログラム３１０が行う。アプリケーション層のプロトコルは各種あるが、例えばファイル共有に適したプロトコルを含め一般的なプロトコルに対応している（例えば、ＳＭＢ（Server Message Block）、ＨＴＴＰ、ＦＴＰ、ＳＮＭＰ（Simple Network Management Protocol）等）。
【００３５】
プログラム３１０は、インストール可能な形式又は実行可能な形式のファイルで、コンピュータで読み取り可能な記録メディアに記録して配布される。また、プログラム３１０は、不図示のサーバからインストール可能な形式又は実行可能な形式のファイルで配布される。
【００３６】
〔機能例〕
図４は、暗号処理部などの機能構成図の一例を示す。暗号処理部５０は、ユーザ端末１００で動作するアプリケーションソフトウェアをＣＰＵ３０１が実行することで実現される。アプリケーションソフトウェアはブラウザ機能又は少なくともインターネットを介してストレージサービスにアクセスするための機能を備える。このため、ＵＲＬの入力欄や表示欄を備えている。
【００３７】
暗号処理部５０は、以下の機能を有している。
・利用者認証部： ユーザ端末１００を使用する利用者を、識別・認証する。
・鍵管理部： 鍵作成部２３と鍵削除部２４を有する。鍵作成部２３は暗号鍵を作成すると共に、作成した暗号鍵を管理する。鍵削除部２４は暗号鍵を復元不能に削除する。復元不能とは、例えば暗号鍵の記憶範囲（アドレス）に別のデータを上書きすることをいう。
・暗号復号部： 暗号部２１と復号部２２を有する。暗号部２１はストレージサービスに記録されるデータを暗号化する。復号部２２はデータを復号する。
・送信部：インターネットを介してストレージサービスにデータを送信する。
・受信部：インターネットを介してストレージサービスからデータを受信する。
・記憶部： 利用者情報、および、暗号鍵を実際に保存する
暗号処理部５０はネットワーク５００を介してストレージサービスを利用する。利用者が電子データをストレージサービスに送信する際、暗号処理部５０は電子データを暗号化してストレージサービスに送信する。また、利用者が電子データをストレージサービスから受信する際、暗号処理部５０はストレージサービスから受信した電子データを復号する。
【００３８】
図４の破線で囲まれた範囲は、記憶部１１に用意されている利用者情報ＤＢ２５、ストレージサービス情報ＤＢ２６、及び、暗号鍵ＤＢ２７に保存される情報のうち、一人の利用者に個別に用意される情報を示している。
・利用者情報は、利用者ごとに一意である。少なくとも、ユーザ端末１００を利用する利用者のユーザ識別（例えばユーザID）及びユーザ認証情報（例えばパスワード）が含まれる。
・ストレージサービス情報は、利用者が選択したデータを記録するサーバ（ストレージサービス）の情報である。ストレージサービス自体のインターネット上の所在識別（URL）、ストレージサービスを利用するためのアカウント識別情報（アカウントID）及びアカウント認証情報（パスワード）が含まれる。
・暗号鍵は、暗号化、復号に用いられる鍵情報である。
・暗号鍵とストレージサービス情報は、常に１対１の関係であり、必ず紐付けられて管理される。すなわち、暗号鍵はストレージサービス情報によって異なっている。「暗号鍵およびストレージサービス情報の組」は、必ず利用者情報と紐付けられて管理される。利用者は、任意数の「暗号鍵およびストレージサービス情報の組」を持ちうる。
【００３９】
このように、暗号鍵はそれが適用されるべきストレージサービス情報と紐付けられた形で、かつ、暗号鍵を利用できる利用者の利用者情報と紐付けられた形で、ユーザ端末１００内に記録されている。これにより、暗号処理部５０は当該利用者がストレージサービスを利用する際に、適用されるべき暗号鍵を一意に特定することができる。
【００４０】
また、各ストレージサービスは、送受信部３２と登録情報ＤＢ３１を有している。
・送受信部：インターネットを介してユーザ端末１００とデータを送受信する。
・登録情報ＤＢ：ストレージサービスの利用者のアカウントＩＤ、パスワード、電子データのデータＩＤなどを紐づけるデータベースである。
・データＤＢ：暗号化されたデータを記憶するＨＤＤなどの不揮発メモリである。
【００４１】
図５（ａ）は利用者情報ＤＢの利用者情報の一例を示す。利用者情報は、ユーザＩＤとパスワードが対応づけて登録されている。ユーザＩＤとパスワードは、暗号処理部５０が利用者を認証するための認証情報である。利用者情報は、利用者が暗号処理部５０をユーザ端末１００にインストールした際、又は、初めて暗号処理部５０を使用する際に、利用者又は暗号処理部により決定される。なお、利用者情報は、ユーザ端末１００を利用者が使用するための（ログインするための）利用者情報そのものを転用してもよい。
【００４２】
図５（ｂ）はストレージサービス情報ＤＢのストレージサービス情報の一例を示す。ストレージサービス情報は、ユーザＩＤ及びストレージサービスの識別情報に対応づけてＵＲＬ、アカウントＩＤ、パスワードが登録されている。ストレージサービスの識別情報は、例えばストレージサービス名であるが、ＵＲＬやサービス提供社名などの一意の情報であればよい。また、任意の数字、文字、記号、アルファベット、の組み合わせでもよい。ストレージサービスの識別情報は特許請求の範囲の記憶装置識別情報の一例である。
【００４３】
ストレージサービス情報は、利用者が暗号処理部５０に指示して作成させる。すなわち、利用者はすでにストレージサービスに入会しており、ストレージサービスから提供された（又は利用者が決定した）アカウントＩＤ、パスワードを電子メールで受信したり、紙にメモした状態である。暗号処理部５０は、利用者がストレージサービスの識別情報、アカウントＩＤ、及び、パスワードを入力するための画面（ＵＩ：User  Interface）をディスプレイ３２０に表示する。ＵＲＬは、利用者がアプリケーションでアクセスした場合にすでに特定されているが、利用者が手動で入力してもよい。利用者がキーボード・マウスを操作してこれらを入力することで、ストレージサービス情報ＤＢ２６にストレージサービス情報が登録される。
【００４４】
図５（ｃ）は暗号鍵ＤＢの暗号鍵を模式的に示す図の一例である。暗号鍵は、ユーザＩＤとストレージサービスの識別情報の組に対応づけられている。ユーザ端末１００を使用する利用者が一人に限定されている場合、ユーザＩＤは明らかであるが、実施例２のように複数の利用者が暗号処理部５０を使用する場合、ストレージサービスの識別情報とユーザＩＤが対応づけられていなければならない。
【００４５】
暗号鍵の作成タイミングは、利用者が新たなストレージサービスを指定して暗号処理部５０を介してアクセスする時である。しかし、利用者が新たなストレージサービスを利用する前であっても暗号処理部５０に明示的に暗号鍵の作成を要求した時に、鍵管理部１３が作成してもよい。
【００４６】
図５（ｄ）は、登録情報ＤＢ３１の一例を示す図である。登録情報ＤＢ３１には、ストレージサービスの会員である利用者のアカウントＩＤにパスワード、データＩＤ及びデータパスが登録されている。データＩＤは電子データの識別情報であり、例えばファイル名などである。データパスは、例えばストレージサービスにおいて利用者の各電子データが記憶されているフォルダ、ＵＲＬなどを示す。
【００４７】
〔暗号鍵について〕
図６は、暗号鍵の作成について説明する図の一例である。本実施例では、暗号方式は対称鍵暗号（共通鍵暗号方式）又は非対称鍵暗号（公開鍵暗号方式）のいずれでもよい。情報処理装置の技術的・機能的進化に対し充分な暗号強度を有していればよい。
【００４８】
図６（ａ）はストリーム暗号アルゴリズムの暗号作成情報のデータ構造例である。ストリーム暗号は対称鍵方式であり、暗号アルゴリズム(RC4など)、擬似乱数生成アルゴリズム(メルセンヌ・ツイスタなど)、及び、擬似乱数のシード長およびシード値が、典型的な暗号作成情報である。ストリーム暗号は、シード値を種として擬似乱数生成アルゴリズムに基づき生成した疑似乱数ビット列を生成し、暗号化対象データとビット演算（排他的論理和演算）を施すことで暗号化する。復号も同様である。
【００４９】
暗号化する上で、図６（ａ）のデータ構造例は全て必要ではなく、擬似乱数生成アルゴリズムやシード長が固定の場合、これらを省略できる。暗号化や暗号化したデータの復号に不可欠な情報は、擬似乱数シードであり、少なくとも疑似乱数ビット列があればよい。しかし、擬似乱数生成アルゴリズム、シード長、シード値があることで、選択肢が限定されなくなり総当り攻撃への耐性が向上する。以下、図５（ａ）のデータ構造例では、疑似乱数シードを暗号鍵と称する。
【００５０】
図６（ｂ）はブロック暗号アルゴリズムのデータ構造例である。ブロック暗号も対象鍵方式であり、暗号アルゴリズム(ＡＥＳ、ＤＥＳなど)、暗号利用モード(CBCなど)、鍵長及び鍵が、典型的な暗号作成情報である。ブロック暗号は、暗号対象データをブロックに分割して暗号化する。暗号アルゴリズム、暗号利用モード及び鍵長が固定の場合、これらを省略できる。すなわち、暗号化されたデータの復号に必要なのは暗号鍵である。以下、図６（ｂ）のデータ構造例では、暗号鍵をそのまま暗号鍵と称する。
【００５１】
図６（ｃ）は、非対称暗号アルゴリズムのデータ構造例である。非対称鍵暗号の場合、暗号アルゴリズム(RSAなど)、鍵長および鍵ペア(暗号鍵と復号鍵)が、典型的な暗号作成情報である。暗号アルゴリズムや鍵長が固定の場合、これらを省略してもよい。すなわち、暗号化されたデータの復号に必要なのは復号鍵である。以下、図６（ｃ）のデータ構造例では、説明を容易にするため暗号鍵と復号鍵を区別せずに暗号鍵と称する。
【００５２】
〔動作手順〕
図７は、暗号処理部５０が電子データをストレージサービスに送信する手順を示すフローチャート図の一例である。本図で説明する暗号処理部５０の動作は大きく２つに場合わけされる。『既にシステムに登録されているストレージサービスを使用する』ケースと、『新規のストレージサービスを使用する』ケースである。
S1：ストレージサービスを使用してサーバ２００にデータをアップロードしたい利用者はアプリケーションを起動して暗号処理部５０の機能を有効にする。利用者は、ユーザ端末１００に自身の利用者情報を入力する。
S2：暗号処理部５０の利用者認証部１４は、入力された利用者情報と、利用者情報ＤＢ２５の利用者情報とを照合して、利用者の認証を行う。認証に成功した場合にのみ、S3以降の処理が行われる。認証に失敗した場合、暗号処理部５０を使用する権限がある利用者ではないので、処理を終了する。
S3： 利用者は、暗号処理部５０に対して、アップロード先のストレージサービスを指定する。なお、暗号処理部５０は、ストレージサービス情報ＤＢ２６にてユーザＩＤに紐づけられたストレージサービスの所在識別（ＵＲＬ）を利用者に提示してもよい。ＵＲＬが表示されることで、利用者はストレージサービスを選択しやすくなる。
【００５３】
また、利用者が新しいストレージサービスを指定する（新たなストレージサービスを暗号処理部５０に登録する）場合がある。この場合、利用者は、ストレージサービスを提供しているサーバ２００のＵＲＬを任意に入力したり、検索サービスで検索することでストレージサービスのＵＲＬを特定している。
S4： 暗号処理部５０は、S3で入力されたストレージサービスの所在識別（ＵＲＬ）を、ストレージサービス情報ＤＢ２６にてユーザＩＤに紐づけられたストレージサービスの所在識別（ＵＲＬ）と照合する。S3で入力された所在識別（ＵＲＬ）と一致する所在識別（ＵＲＬ）がある場合、利用者が『既にシステムに登録されているストレージサービスを使用する』ケースである。この場合、処理はS5に進む。そうでない場合、利用者が『新規のストレージサービスを使用する』ケースであり、処理はS11 に進む。
S5： 暗号処理部５０は、S4で一致することを確認したストレージサービスの所在識別（ＵＲＬ）のストレージサービスの識別情報を特定し、暗号鍵ＤＢ２７からストレージサービスの識別情報とユーザＩＤに紐づけられた暗号鍵を読み出す。
S6： 暗号処理部５０は利用者に、アップロード対象の電子データの指示を要求し、利用者は電子データを指定する。
S7： 暗号処理部５０の暗号部２１は、S6で指示された電子データを、S5で取得した暗号鍵を用いて暗号化する。S4で所在識別（ＵＲＬ）が一致しないと判定され場合は、S12で生成した暗号鍵で暗号化する。
S8： 暗号処理部５０の送信部１５は、S7で暗号化されたデータを、S3で指定されたアップロード先のストレージサービスに送信する。この時、S3で指定されたストレージサービスのアカウントＩＤとパスワードをストレージサービス情報ＤＢ２６から読み出し送信する。
S11：『新規のストレージサービスを使用する』ケースの場合、暗号処理部５０は、S3で入力された、新たなストレージサービスの所在識別（ＵＲＬ）以外のストレージサービス情報について、利用者に入力を要求し、利用者はそれを入力する。なお、ストレージサービスの識別名称はS3で入力されてもよい。
S12： 暗号処理部５０の鍵管理部１３は新規の暗号鍵を生成する。この時、鍵管理部１３は、S1で入力された利用者のユーザＩＤ、及び、S3で入力されたストレージサービスの所在識別を例えば疑似乱数シードにして、暗号鍵を生成する。
【００５４】
そして生成された暗号鍵を、S3又はS11で入力されたストレージサービスの識別情報、及び、ユーザＩＤに紐付けて、記憶部１１の暗号鍵ＤＢ２７に保存する。その後、暗号処理部５０はS6のアップロード対象の指定処理を行う。
【００５５】
以上の処理により、利用者は過去に利用したことがある又は新しいストレージサービスに、暗号化した電子データを送信することができる。
【００５６】
図８は、ユーザ端末１００がストレージサービスからデータをダウンロードする手順を示すフローチャート図の一例である。S1〜S3の処理は、図7と同様である。
S31：利用者はストレージサービスを指定してデータをダウンロードする操作を行う。この時、ストレージサービス情報ＤＢ２６に登録されているストレージサービスの所在識別（ＵＲＬ）を提示してもよい。暗号処理部５０は、ストレージサービス情報ＤＢ２６にてストレージサービスの識別情報に紐づけられたアカウントＩＤ及びパスワードをストレージサービスに送信する。
S41：ストレージサービスは、アカウントＩＤ及びパスワードを受信する。
S42：ストレージサービスは、登録情報ＤＢ３１でアカウントＩＤに紐づけられた電子データのリスト（データＩＤ：例えばファイル名の一覧）をユーザ端末１００に送信する。
S32：暗号処理部５０の受信部１６は、データのリストを受信する。
S33：暗号処理部５０はデータのリストを表示し、利用者からダウンロードするデータの指示を受け付ける。
S34：送信部１５は、利用者が選択したデータのデータＩＤをストレージサービスに送信する。
S43：ストレージサービスは、データＩＤを受信する。
S44：ストレージサービスはデータＩＤで特定されたデータをデータＤＢから読み出しユーザ端末に送信する。
S35：暗号処理部５０の受信部１６は、データを受信する。
S36：暗号処理部５０は、S1で識別されたユーザＩＤとS3で指示されたストレージサービスの識別情報に紐づけられた暗号鍵を暗号鍵ＤＢ２７から読み出し、データを復号する。
【００５７】
このように、利用者としてはストレージサービスを指定し、データを選択するという従来の操作でストレージサービスを利用できる。
【００５８】
図９は、暗号処理部５０が暗号鍵を削除する手順を示すフローチャート図の一例である。S1、S2の処理は図7と同様である。
S21：ストレージサービスを退会した利用者は、暗号処理部５０に対して暗号鍵の削除処理を指定する。削除処理の指定は、特定のボタンを利用者が押下することで、開始してもよいし、退会に連動して開始してもよい。
S22：利用者は、暗号処理部５０に対して、退会したストレージサービスを指定する。暗号処理部５０は、ストレージサービス情報ＤＢ２６にてユーザＩＤに紐づけられたストレージサービスの所在識別（ＵＲＬ）を利用者に提示してもよい。ＵＲＬがあることで、利用者はストレージサービスを選択しやすくなる。
S23：暗号処理部５０は、ストレージサービス情報ＤＢ２６から利用者が指定したストレージサービスのアカウントＩＤとパスワードを読み出して所在識別（ＵＲＬ）にアクセスし、ログインを試みる。そして、ログインできたか否かを判定する。ログインできる場合には利用者が退会していないので、暗号鍵を削除すべきでないと考えられる。このため、利用者にその旨を通知して処理を終了する。または、その旨を通知しても利用者が暗号鍵の削除を要求した場合には、暗号鍵を削除してもよい。
S24：ログインできない場合（アカウントが無効な場合）、暗号処理部５０の鍵管理部１３は、S22で指定された所在識別を含むストレージサービス情報をストレージサービス情報ＤＢ２６から削除する。また、鍵削除部２４は、ユーザＩＤと削除したストレージサービスの識別情報に対応づけられた暗号鍵を暗号鍵ＤＢ２７から復号不能に削除する。なお、復号不能に削除するか否かを利用者が選択可能としてもよい。
【００５９】
図９の処理により、利用者が退会したストレージサービスが、退会により暗号化した利用者の電子データを削除していなくても、ユーザ端末１００から暗号鍵が削除されたので、第三者がデータを使用する可能性を困難にできる。利用者が複数のストレージサービスを使い分けていても削除する暗号鍵の選択に迷うことがない。また、利用者がストレージサービスに記憶した電子データが何個あっても、暗号処理部５０は１つの暗号鍵を削除するだけでよい。
【実施例２】
【００６０】
実施例１では、ユーザ端末１００が暗号処理部５０を有する暗号処理システムについて説明したが、本実施例では、仲介サーバが暗号処理部５０を有する暗号処理システムについて説明する。
【００６１】
図１０は、暗号処理システム３００の概略構成図の一例を示す。本実施例において、同一の符号を付した構成要素については、同様の機能を果たすので、一度説明した構成要素の説明を省略あるいは相違点についてのみ説明する場合がある。
【００６２】
図１０ではネットワーク５００に仲介サーバ４００が接続されている。仲介サーバ４００は、実施例１の暗号処理部５０を有する情報処理装置である。したがって、本実施例では以下のような手順で、利用者がデータをストレージサービスにアップロードする。
(i)  利用者が、仲介サーバ４００の暗号処理部５０にログインする（ユーザＩＤが特定される）。
(ii) 利用者が、ストレージサービスを指定して仲介サーバ４００に電子データを送信する。
(iii)  仲介サーバ４００が、ユーザＩＤとストレージサービスに紐づけられた暗号鍵でデータを暗号化する。
(iv)  仲介サーバ４００がストレージサービスに暗号化されたデータを送信する。
【００６３】
したがって、仲介サーバ４００が暗号処理部５０を有していても、利用者は、実施例１とほぼ同様の手順でデータを暗号化してストレージサービスに送信できる。
【００６４】
図１１は、暗号処理システムの機能構成図の一例を示す。本実施例の暗号処理部５０は例えばサーバアプリケーションとして実装される。仲介サーバ４００はユーザ端末１００にＨＴＭＬデータなどを送信し、ユーザ端末１００から送信されたデータを暗号化して、ストレージサービスに送信する。
【００６５】
ユーザ端末１００は、電子データを仲介サーバ４００に送信するデータ送信部４１、仲介サーバ４００からデータを受信するデータ受信部４２、及び、暗号鍵の削除要求を送信する削除要求部４３を有する。これらの機能は、ユーザ端末１００にインストールされているアプリケーション（例えば、ブラウザ）により実現される。
【００６６】
本実施例においても、暗号処理部５０において利用者情報とストレージサービス情報に暗号鍵が対応づけられているのは同様である。
【００６７】
図１２は、ユーザ端末１００が仲介サーバ４００を介して電子データをストレージサービスに送信する手順を示すフローチャート図の一例である。
S1-1：利用者はアプリケーション（例えばブラウザ）を起動して、仲介サーバ４００にアクセスする。これによりユーザ端末１００はＨＴＭＬなどを解釈してＵＩとなる画面を表示する。利用者はユーザ端末１００を操作して利用者情報を入力する。データ送信部４１は利用者情報（ユーザID、パスワード）を仲介サーバ４００に送信する。
S2-1：仲介サーバ４００の受信部１６は利用者情報（ユーザＩＤ、パスワード）を受信する。
S2-2：利用者認証部１４は送信された利用者情報と、利用者情報ＤＢ２５の利用者情報とを照合して、利用者の認証を行う。
S2-3：認証に成功した場合にのみ、利用者認証部１４は認証ＯＫをユーザ端末１００に送信する。認証に失敗した場合は、認証ＮＧが送信され、利用者は再度、利用者情報を入力する。
S1-2：ユーザ端末１００のデータ受信部４２は認証ＯＫを受信する。
S1-3：利用者は、データのアップロード先のストレージサービス及び対象データを指定する。これらは別々に指定してもよい。また、利用者が新しいストレージサービスを指定する場合がある。
S1-4：ユーザ端末１００のデータ送信部４１は、ストレージサービスの所在識別（ＵＲＬ）及び対象データを仲介サーバ４００に送信する。
S2-4：仲介サーバ４００の受信部１６は、ストレージサービスの所在識別（ＵＲＬ）及び対象データを受信する。
S2-5：暗号処理部５０は、S2-4で受信したストレージサービスの所在識別（ＵＲＬ）を、ストレージサービス情報ＤＢ２６にてユーザＩＤに紐づけられたストレージサービスの所在識別（ＵＲＬ）と照合する。S2-4で受信した所在識別（ＵＲＬ）と一致する所在識別（ＵＲＬ）がある場合、利用者が『既にシステムに登録されているストレージサービスを使用する』ケースである。この場合、処理はS2-6に進む。そうでない場合、利用者が『新規のストレージサービスを使用する』ケースであり、処理はS2-9 に進む。
S2-6：暗号処理部５０は、S2-1で受信したユーザＩＤ及びS2-5で一致することを確認した所在識別（ＵＲＬ）のストレージサービスの識別情報に紐づけられた暗号鍵を暗号鍵ＤＢ２７から読み出す。
S2-7：暗号復号部１２の暗号部２１は、S2-4で受信した対象データを暗号鍵で暗号化する。
S2-8：送信部１５は、S2-7で暗号化されたデータを、S2-4で指定されたアップロード先のストレージサービスに送信する。この時、S2-4で指定されたストレージサービスのアカウントＩＤとパスワードをストレージサービス情報ＤＢ２６から読み出し送信する。
S2-9：『新規のストレージサービスを使用する』ケースの場合、暗号処理部５０は、ストレージサービス情報の入力要求をユーザ端末１００に送信する。
S1-5：ユーザ端末１００のデータ受信部４２は、ストレージサービス情報の入力要求を受信する。
S1-6：暗号処理部５０は、新たなストレージサービスの所在識別以外のストレージサービス情報について、利用者に入力を要求し、利用者はそれを入力する。
S1-7：データ送信部４１は、ストレージサービス情報を仲介サーバ４００に送信する。
S2-10：仲介サーバ４００の受信部１６は、ストレージサービス情報を受信する。暗号処理部５０はストレージサービス情報をストレージサービス情報ＤＢ２６に登録する。
S2-11：暗号処理部５０の鍵作成部２３は新規の暗号鍵を生成する。この時、S2-1で受信した利用者のユーザＩＤ、及び、S2-4で受信したストレージサービスの所在識別を例えば疑似乱数シードにして、暗号鍵を生成する。そして生成された暗号鍵を、S2-1で受信したユーザＩＤ、及び、S2-4で受信したストレージサービスの識別情報と紐付け、暗号鍵ＤＢ２７に保存する。
S3-1：ストレージサービスは暗号化されたデータ、アカウントＩＤ、及び、パスワードを受信する。アカウントＩＤ、及び、パスワードにより利用者がログイン可能か否かを判定する。
S3-2：利用者がログイン可能な場合、ストレージサービスは暗号化されたデータをデータＤＢに記録する。
【００６８】
このように、利用者は、ストレージサービスの代わりに仲介サーバに対しデータを送信することで、ストレージサービスに暗号化されたデータを保存できる。ユーザ端末にはブラウザがあればセキュアにストレージサービスを利用できる。
【００６９】
なお、図１２では、仲介サーバからストレージサービスに直接、データが送信されたが、ユーザ端末が仲介サーバから暗号されたデータを受信して、ユーザ端末からストレージサービスにデータを送信してもよい。
【００７０】
また、利用者は、実施例１と同様に、ストレージサービスに記録されたデータを仲介サーバ４００を介してダウンロードすることができる。また、ストレージサービスから退会する場合、仲介サーバ４００に暗号鍵の削除要求を送信することで暗号鍵を削除すればよい。
【００７１】
したがって、利用者が仲介サーバ４００を信頼しているという前提では、仲介サーバの暗号鍵を削除すればストレージサービスのデータを第三者が使用することを困難にできたという安心を得られる。利用者が複数のストレージサービスを使い分けていても削除する暗号鍵の選択に迷うことがない。また、利用者はストレージサービスに記憶した電子データが何個あっても、仲介サーバの暗号鍵を１つ削除するだけでよい。
【００７２】
なお、実施例１，２により明らかなように暗号処理部５０はユーザ端末にあってもよいし、ネットワーク上のサーバに実装されていてもよい。したがって、本実施例は本発明の範囲を限定するものではなく、暗号処理部の機能が複数の情報処理装置に分散して保持されていてもよい。例えば、記憶部１１が仲介サーバ以外のネットワーク上に存在していてもよい。また、仲介サーバの一部の機能をユーザ端末や仲介サーバ以外の情報処理装置が保持してもよい。
【００７３】
このように、本実施例で説明する機能は各情報処理装置や仲介サーバに固定である必要はなく、用途や目的に応じて様々なシステム構成があることはいうまでもない。
【符号の説明】
【００７４】
１１      記憶部
１２      暗号復号部
１３      鍵管理部
１４      利用者認証部
２５      利用者情報ＤＢ
２６      ストレージサービスＤＢ
２７      暗号鍵ＤＢ
１００    ユーザ端末
２００    サーバ
【先行技術文献】
【特許文献】
【００７５】
【特許文献１】特開2005-209181号公報
【図１】
2014176030.tif 000003
【図２】
2014176030.tif 000004
【図３】
2014176030.tif 000005
【図４】
2014176030.tif 000006
【図５】
2014176030.tif 000007
【図６】
2014176030.tif 000008
【図７】
2014176030.tif 000009
【図８】
2014176030.tif 000010
【図９】
2014176030.tif 000011
【図１０】
2014176030.tif 000012
【図１１】
2014176030.tif 000013
【図１２】
2014176030.tif 000014