(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-12-20
(45)【発行日】2023-12-28
(54)【発明の名称】鍵端末に秘密鍵を秘匿したまま暗号ファイルを処理するネットワークストレージ
(51)【国際特許分類】
H04L 9/08 20060101AFI20231221BHJP
【FI】
H04L9/08 B
(21)【出願番号】P 2023551959
(86)(22)【出願日】2022-07-29
(86)【国際出願番号】 JP2022029351
【審査請求日】2023-08-25
【早期審査対象出願】
(73)【特許権者】
【識別番号】506305528
【氏名又は名称】パスロジ株式会社
(74)【代理人】
【識別番号】100095407
【氏名又は名称】木村 満
(72)【発明者】
【氏名】小川 秀治
(72)【発明者】
【氏名】鈴木 健夫
【審査官】平井 誠
(56)【参考文献】
【文献】特開2014-209780(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/00-40
G06F 21/00-88
G09C 1/00- 5/00
(57)【特許請求の範囲】
【請求項1】
アップロード端末と、ダウンロード端末と、ストレージサーバと、主公開鍵とともに主鍵対に含まれる主秘密鍵を秘密裏に記録する鍵端末と、を備えるストレージシステムであって、
(a) 前記アップロード端末は、
共通鍵を生成し、
前記生成された共通鍵で、目的ファイルを暗号化することにより、暗号ファイルを生成し、
前記主公開鍵で、前記生成された共通鍵を暗号化することにより、第1暗号を生成し、
前記生成された暗号ファイルと、前記生成された第1暗号と、を、前記ストレージサーバに格納し、
(b)前記ダウンロード端末は、
一時公開鍵と、一時秘密鍵と、を含む一時鍵対を生成し、
前記一時秘密鍵を秘密裏に記録し、
前記鍵端末へ、前記一時公開鍵を伝達し、
前記ストレージサーバへサインインを試行し、
(c)前記サインインが成功すると、前記鍵端末と、前記ストレージサーバと、は協働して、
前記記録された主秘密鍵と、前記伝達された一時公開鍵と、前記格納された第1暗号と、から、前記一時公開鍵で前記共通鍵を暗号化した第2暗号を、前記ストレージサーバに対して前記共通鍵を秘匿したまま、生成し、
前記ダウンロード端末へ、前記生成された第2暗号を伝達し、
(e)前記ダウンロード端末は、
前記一時秘密鍵で、前記伝達された第2暗号から前記
共通鍵を復号し、
前記ストレージサーバから、前記格納された暗号ファイルを取得し、
前記復号された共通鍵で、前記取得された暗号ファイルから前記目的ファイルを復号する
ストレージシステムにおいて、
前記サインインの成否は、前記鍵端末の使用を要素の一つとする多要素認証により判定される
ことを特徴とするストレージシステム。
【請求項2】
前記鍵端末は、
前記記録された主秘密鍵と、前記伝達された一時公開鍵と、から、プロキシ鍵を生成し、
前記ストレージサーバへ、前記生成されたプロキシ鍵を伝達し、
前記ストレージサーバは、
前記格納された第1暗号を、前記伝達されたプロキシ鍵で再暗号化することにより、前記第2暗号を生成し、
前記ダウンロード端末へ、前記生成された第2暗号を伝達する
ことを特徴とする請求項1に記載のストレージシステム。
【請求項3】
前記鍵端末は、
前記ストレージサーバから、前記格納された第1暗号を取得し、
前記記録された主秘密鍵で、前記第1暗号から、前記
共通鍵を復号し、
前記伝達された一時公開鍵で、前記復号された
共通鍵を暗号化することにより、前記第2暗号を生成し、
前記ストレージサーバを介して、前記ダウンロード端末へ、前記生成された第2暗号を伝達する
ことを特徴とする請求項1に記載のストレージシステム。
【請求項4】
前記サインインには、前記鍵端末にてアプリケーションプログラムを起動することを必要とし、
前記アプリケーションプログラムを起動する際に、パスワード、パスフレーズ、暗証番号、PIN、もしくは、提示されたランダムな表から要素を抜き出す順序規則に基づく合言葉により、前記鍵端末の所有者の認証を行う
ことを特徴とする請求項1に記載のストレージシステム。
【請求項5】
前記ストレージサーバへの前記サインインの試行は、前記一時公開鍵をともない、
前記鍵端末は、前記サインインの試行にともなう前記一時公開鍵を、前記ストレージサーバから取得することにより、前記一時公開鍵を伝達される
ことを特徴とする請求項1に記載のストレージシステム。
【請求項6】
前記ダウンロード端末は、前記生成された一時公開鍵を機械認識可能に符号化したコードを、画面に表示し、
前記鍵端末は、前記表示されたコードをスキャンして機械認識することにより、前記一時公開鍵を伝達される
ことを特徴とする請求項1に記載のストレージシステム。
【請求項7】
前記ストレージサーバへの前記サインインの試行は、前記一時公開鍵をともない、
前記鍵端末は、前記機械認識された前記一時公開鍵を前記ストレージサーバへ報告し、
前記サインインの試行にともなう前記一時公開鍵と、前記鍵端末から報告された前記一時公開鍵と、が一致することを、前記サインインが成功するための必要条件とする
ことを特徴とする請求項6に記載のストレージシステム。
【請求項8】
前記鍵端末は、前記機械認識された前記一時公開鍵に対して、前記記録された主秘密鍵による電子署名を施し、前記電子署名とともに前記一時公開鍵を前記ストレージサーバへ報告し、
前記ストレージサーバは、前記主公開鍵により、前記報告された電子署名を検証し、
前記検証が成功することを、前記サインインが成功するための必要条件とする
ことを特徴とする請求項7に記載のストレージシステム。
【請求項9】
前記アップロード端末と、前記ダウンロード端末と、は、前記主鍵対を所有する鍵所有者が使用する同一のコンピュータにより実現され、
前記ストレージシステムは、前記鍵所有者による前記目的ファイルのバックアップおよびリストアを可能とする
ことを特徴とする請求項1に記載のストレージシステム。
【請求項10】
前記アップロード端末は、前記目的ファイルを所有するファイル所有者が使用するコンピュータにより実現され、
前記ダウンロード端末は、前記主鍵対を所有する鍵所有者が使用する他のコンピュータにより実現され、
前記ストレージシステムは、前記ファイル所有者から前記鍵所有者への前記目的ファイルの伝達を可能とする
ことを特徴とする請求項1に記載のストレージシステム。
【請求項11】
アップロード端末と、ダウンロード端末と、ストレージサーバと、主公開鍵とともに主鍵対に含まれる主秘密鍵を秘密裏に記録する鍵端末と、が実行するストレージ方法であって、
(a) 前記アップロード端末は、
共通鍵を生成し、
前記生成された共通鍵で、目的ファイルを暗号化することにより、暗号ファイルを生成し、
前記主公開鍵で、前記生成された共通鍵を暗号化することにより、第1暗号を生成し、
前記生成された暗号ファイルと、前記生成された第1暗号と、を、前記ストレージサーバに格納し、
(b)前記ダウンロード端末は、
一時公開鍵と、一時秘密鍵と、を含む一時鍵対を生成し、
前記一時秘密鍵を秘密裏に記録し、
前記鍵端末へ、前記一時公開鍵を伝達し、
前記ストレージサーバへサインインを試行し、
(c)前記サインインが成功すると、前記鍵端末と、前記ストレージサーバと、は協働して、
前記記録された主秘密鍵と、前記伝達された一時公開鍵と、前記格納された第1暗号と、から、前記一時公開鍵で前記共通鍵を暗号化した第2暗号を、前記ストレージサーバに対して前記共通鍵を秘匿したまま、生成し、
前記ダウンロード端末へ、前記生成された第2暗号を伝達し、
(e)前記ダウンロード端末は、
前記一時秘密鍵で、前記伝達された第2暗号から前記
共通鍵を復号し、
前記ストレージサーバから、前記格納された暗号ファイルを取得し、
前記復号された共通鍵で、前記取得された暗号ファイルから前記目的ファイルを復号する
ストレージ方法において、
前記サインインの成否は、前記鍵端末の使用を要素の一つとする多要素認証により判定される
ことを特徴とするストレージ方法。
【請求項12】
アップロード端末にて実行されるアップロードプログラムと、ダウンロード端末にて実行されるダウンロードプログラムと、ストレージサーバにて実行されるストレージプログラムと、主公開鍵とともに主鍵対に含まれる主秘密鍵を秘密裏に記録する鍵端末にて実行される鍵プログラムと、を備えるシステムプログラムであって、
(a) 前記アップロードプログラムは、前記アップロード端末に、
共通鍵を生成し、
前記生成された共通鍵で、目的ファイルを暗号化することにより、暗号ファイルを生成し、
前記主公開鍵で、前記生成された共通鍵を暗号化することにより、第1暗号を生成し、
前記生成された暗号ファイルと、前記生成された第1暗号と、を、前記ストレージサーバに格納する
処理を実行させ、
(b)前記ダウンロードプログラムは、前記ダウンロード端末に、
一時公開鍵と、一時秘密鍵と、を含む一時鍵対を生成し、
前記一時秘密鍵を秘密裏に記録し、
前記鍵端末へ、前記一時公開鍵を伝達し、
前記ストレージサーバへサインインを試行する
処理を実行させ、
(c)前記サインインが成功すると、前記鍵プログラムと、前記ストレージプログラムと、は、それぞれ、前記鍵端末と、前記ストレージサーバと、に、
前記記録された主秘密鍵と、前記伝達された一時公開鍵と、前記格納された第1暗号と、から、前記一時公開鍵で前記共通鍵を暗号化した第2暗号を、前記ストレージサーバに対して前記共通鍵を秘匿したまま、生成し、
前記ダウンロード端末へ、前記生成された第2暗号を伝達する
処理を協働して実行させ、
(e)前記ダウンロードプログラムは、前記ダウンロード端末に、
前記一時秘密鍵で、前記伝達された第2暗号から前記
共通鍵を復号し、
前記ストレージサーバから、前記格納された暗号ファイルを取得し、
前記復号された共通鍵で、前記取得された暗号ファイルから前記目的ファイルを復号する
処理を実行させる
システムプログラムにおいて、
前記サインインの成否は、前記鍵端末の使用を要素の一つとする多要素認証により判定される
ことを特徴とするシステムプログラム。
【請求項13】
請求項12に記載のダウンロードプログラムが記録された非一時的なコンピュータ読取可能な情報記録媒体。
【請求項14】
請求項12に記載の鍵プログラムが記録された非一時的なコンピュータ読取可能な情報記録媒体。
【請求項15】
請求項12に記載のストレージプログラムが記録された非一時的なコンピュータ読取可能な情報記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、鍵端末に秘密鍵を秘匿したまま暗号ファイルを処理するネットワークストレージに関する。
【背景技術】
【0002】
ユーザが所有する目的ファイルを、ストレージサーバへバックアップして、後からリストアできるようにしたり、他のユーザへ伝達できるようにしたりするネットワークストレージ(オンラインストレージ、あるいは、クラウドストレージと呼ばれることもある。)サービスが提供されている(たとえば、特許文献1参照)。
【0003】
ネットワークストレージサービスにおいては、目的ファイルを暗号ファイルに暗号化してからストレージサーバに格納すれば、復号のための鍵を知らない者は、目的ファイルを知得できないようにすることができる。
【0004】
ここで、ファイルの暗号化においては、公開鍵暗号技術を利用することができる。公開鍵暗号技術では、ユーザのために秘密鍵と公開鍵からなる鍵対を生成する。公開鍵は、ファイルの暗号化に利用される鍵であり、他のユーザに公開することができる。秘密鍵は、ファイルの復号に利用される鍵であり、当該ユーザが秘密裏に管理すべきものである。
【0005】
公開鍵暗号技術においては、あるユーザXの公開鍵で暗号化された暗号ファイルAから、ユーザYの公開鍵で暗号化された暗号ファイルBを、ユーザXおよびユーザY以外のユーザが、ユーザXおよびユーザYの秘密鍵を知得しないまま、作り出すことができるようにするプロキシ再暗号化(proxy re-encription)技術も研究されている。暗号ファイルAを暗号ファイルBに変換するための情報は、プロキシ鍵と呼ばれることもある(たとえば、非特許文献1参照)。
【0006】
ネットワークストレージサービスにおいて暗号を利用する際には、目的ファイルを暗号化してストレージサーバへアップロードするための機器(アップロード端末)と、ストレージサーバから暗号ファイルをダウンロードして復号する機器(ダウンロード端末)と、が利用されることになる。
【先行技術文献】
【特許文献】
【0007】
【非特許文献】
【0008】
【文献】Sherman S.M. CHOW, Weng JIAN, Yanjiang YANG, and Robert H. DENG. (2010). Efficient unidirectional proxy reencryption. Progress in Cryptology - AFRICACRYPT 2010: Third International Conference on Cryptology in Africa, Stellenbosch, South Africa, May 3-6: Proceedings. vol. 6055, pp. 316-332. Research Collection School Of Information Systems. (https://ink.library.smu.edu.sg/sis_research/1316). 2010年5月
【発明の概要】
【発明が解決しようとする課題】
【0009】
公開鍵暗号技術やプロキシ再暗号化においては、秘密鍵の管理が極めて重要である。そこで、ユーザが秘密鍵を秘密裏に管理するための機器(鍵端末)を上記の機器とは別に用意して、秘密鍵の管理を容易にするとともに、鍵端末に格納された秘密鍵を、コンピュータ通信網に一切送り出さず、ストレージサーバ、アップロード端末、ダウンロード端末のいずれにも知得させないまま、ファイルの暗号化、復号、再暗号化等の処理を可能とする技術が強く望まれている。
【0010】
本発明は、上記のような課題を解決するためのもので、鍵端末に秘密鍵を秘匿したまま暗号ファイルを処理するストレージシステムを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明に係るストレージシステムは、アップロード端末と、ダウンロード端末と、ストレージサーバと、主公開鍵とともに主鍵対に含まれる主秘密鍵を秘密裏に記録する鍵端末と、を備え、
(a) 前記アップロード端末は、
共通鍵を生成し、
前記生成された共通鍵で、目的ファイルを暗号化することにより、暗号ファイルを生成し、
前記主公開鍵で、前記生成された共通鍵を暗号化することにより、第1暗号を生成し、
前記生成された暗号ファイルと、前記生成された第1暗号と、を、前記ストレージサーバに格納し、
(b)前記ダウンロード端末は、
一時公開鍵と、一時秘密鍵と、を含む一時鍵対を生成し、
前記一時秘密鍵を秘密裏に記録し、
前記鍵端末へ、前記一時公開鍵を伝達し、
前記ストレージサーバへサインインを試行し、
(c)前記サインインが成功すると、前記鍵端末と、前記ストレージサーバと、は協働して、
前記記録された主秘密鍵と、前記伝達された一時公開鍵と、前記格納された第1暗号と、から、前記一時公開鍵で前記共通鍵を暗号化した第2暗号を、前記ストレージサーバに対して前記共通鍵を秘匿したまま、生成し、
前記ダウンロード端末へ、前記生成された第2暗号を伝達し、
(e)前記ダウンロード端末は、
前記一時秘密鍵で、前記伝達された第2暗号から前記共有鍵を復号し、
前記ストレージサーバから、前記格納された暗号ファイルを取得し、
前記復号された共通鍵で、前記取得された暗号ファイルから前記目的ファイルを復号する。
【0012】
また、本発明のストレージシステムにおいて、
前記鍵端末は、
前記記録された主秘密鍵と、前記伝達された一時公開鍵と、から、プロキシ鍵を生成し、
前記ストレージサーバへ、前記生成されたプロキシ鍵を伝達し、
前記ストレージサーバは、
前記格納された第1暗号を、前記伝達されたプロキシ鍵で再暗号化することにより、第2暗号を生成し、
前記ダウンロード端末へ、前記生成された第2暗号を伝達する
ように構成することができる。
【0013】
また、本発明のストレージシステムにおいて、
前記鍵端末は、
前記ストレージサーバから、前記格納された第1暗号を取得し、
前記記録された主秘密鍵で、前記第1暗号から、前記共有鍵を復号し、
前記伝達された一時公開鍵で、前記復号された共有鍵を暗号化することにより、前記第2暗号を生成し、
前記ストレージサーバを介して、前記ダウンロード端末へ、前記生成された第2暗号を伝達する
ように構成することができる。
【発明の効果】
【0014】
本発明によれば、鍵端末に秘密鍵を秘匿したまま暗号ファイルを処理するストレージシステムを提供することができる。
【図面の簡単な説明】
【0015】
【
図1】本発明の実施例の一つに係るストレージシステムの構成を示す説明図である。
【0016】
【
図2】本発明のストレージシステムにおける情報のやりとりの様子を説明する説明図である。
【0017】
【
図3】本発明のストレージシステムにおいて、プロキシ暗号化により、鍵端末とストレージサーバが協働する形態を説明する説明図である。
【0018】
【
図4】本発明のストレージシステムにおいて、鍵端末にて復号と暗号化を行うことにより、鍵端末とストレージサーバが協働する形態を説明する説明図である。
【発明を実施するための形態】
【0019】
以下に本発明の実施形態を説明する。なお、本実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【0020】
(基本構成)
図1は、本発明の実施例の一つに係るストレージシステムの構成を示す説明図である。以下、本図を参照して説明する。
【0021】
本実施形態に係るストレージシステム101は、アップロード端末111と、ダウンロード端末121と、ストレージサーバ131と、鍵端末141と、を備える。また、省略可能な要素として、鍵サーバ161を備えることができる。これらの機器は、コンピュータ通信網151を介して通信可能に接続されている。ストレージシステム101は、いわゆるネットワークストレージサービスを提供する。
【0022】
本ストレージシステムでは、アップロード端末111がアップロードしたファイルを、ダウンロード端末121がダウンロードする。
【0023】
アップロード端末111と、ダウンロード端末121と、は、同じコンピュータにより実現されていても良いし、異なるコンピュータにより実現されていても良い。また、アップロード端末111を使用するアップロードユーザと、ダウンロード端末121を使用するダウンロードユーザと、は、同一でも良いし、異なっていてもよい。
【0024】
アップロードユーザと、ダウンロードユーザと、が、同一である場合は、本ストレージシステム101を、ファイルバックアップ用に利用することができる。すなわち、アップロード端末111がバックアップしたファイルを、ダウンロード端末121がリストアすることができる。
【0025】
アップロード端末111と、ダウンロード端末121と、が、異なるコンピュータにより実現されている場合や、アップロードユーザとダウンロードユーザが異なる場合は、本ストレージシステム101は、異なるユーザ間、あるいは、異なるコンピュータ間での、ファイルの送受用に利用することができる。すなわち、アップロード端末111から、ダウンロード端末121へ、ファイルを伝達することができる。
【0026】
本実施形態では、鍵端末141は、公開鍵暗号技術に基づく処理を実現し、ダウンロードユーザにより使用される。ここで、ダウンロードユーザには、主秘密鍵と主公開鍵とを含む主鍵対が割り当てられる。すなわち、ダウンロードユーザは、主鍵対を所有する鍵所有者である。
【0027】
鍵端末141は、主秘密鍵を秘密裏に記録する。本実施形態は、主秘密鍵が鍵端末141の外部には一切流出しないように構成される。すなわち、本実施形態では、アップロード端末111、ダウンロード端末121、および、ストレージサーバ131は、主秘密鍵を一切知得せずに、上記のファイルのバックアップ/リストアやファイルの伝達の処理を進める。
【0028】
鍵サーバ161は、ユーザの識別名を指定する問合せがあると、データベースに登録された情報に基づいて、当該ユーザに割り当てられた公開鍵を指定した回答をする。本実施形態においては、ダウンロードユーザに割り当てられた主公開鍵は、鍵サーバ161に登録され、アップロード端末111、ダウンロード端末121、および、ストレージサーバ131が、ダウンロードユーザの識別名により鍵サーバ161に対する問合せをすれば、ダウンロードユーザの主公開鍵を知得することができる。
【0029】
なお、ストレージサーバ131と、鍵サーバ161と、が、同じサーバコンピュータにより実現されるように構成しても良い。
【0030】
また、鍵サーバ161を省略する態様では、主公開鍵は、各種の非一時的(non-transitory)な情報記録媒体や、一時的(transitory)な情報伝送媒体による通信を介して、アップロード端末111、ダウンロード端末121、および、ストレージサーバ131が知得できるようにしても良い。
【0031】
非一時的な情報記録媒体としては、
SSD(Solid State Disk)等により実現されるUSB(Universal Serial Bus)メモリ、
CD-ROM(Compact Disk Read Only Memory)、
DVD-ROM(Digital Versatile Disk ROM)
等を利用することができる。
【0032】
一時的な情報伝送媒体としては、
Bluetooth(商標)通信、
NFC(Near Field Communication)通信、
USB(Universal Serial Bus)ケーブルを介した有線通信、
ネットワークケーブルを介した有線通信、
無線アクセスポイントを介したWifi通信、
携帯電話通信網を介したモバイル通信、
画面に1次元バーコード、2次元コード、文字等を表示し、画像認識や文字認識をさせることにより情報を伝達する通信
等を採用することができる。
【0033】
ユーザの識別名としては、たとえば、メールアドレス、住所及び氏名、社会保障番号、税番号、国民識別番号、各種公的サービスや各種民間サービスにおいて利用されているアカウント名等を採用することができる。
【0034】
主鍵対は、典型的には、鍵端末141にて生成され、生成された主鍵対のうち、主秘密鍵は鍵端末141に秘密裏に記録され、主公開鍵は鍵サーバ161に登録される。
【0035】
なお、後述するように、未登録のユーザについて問い合わせがあったときに、鍵サーバ161は、仮公開鍵と仮秘密鍵とを含む仮鍵対を生成し、当該未登録のユーザに対応付けてデータベースに登録するとともに、当該仮公開鍵を回答する、という態様を採用することができる。
【0036】
未登録のユーザが、鍵端末141にて主鍵対を生成して、鍵サーバ161へ主公開鍵を登録する際には、安全な通信路を介して鍵サーバ161から鍵端末141へ仮鍵対が伝達される。仮鍵対を用いたダウンロード処理がなされた後、あるいは、仮鍵対が鍵端末141に伝達されてから一定時間が経過した後は、当該仮鍵対は無効化し、鍵端末141にて新たな主鍵対を生成して、新たな主公開鍵を鍵サーバ161に登録することが望ましい。
【0037】
ダウンロード端末121は、ファイルをダウンロードする際に一時的に使用するための一時鍵対を生成する。生成される一時鍵対には、一時公開鍵と一時秘密鍵が含まれる。典型的には、一時秘密鍵は、ダウンロード端末121内にて秘密裏に利用される。したがって、すなわち、一時秘密鍵は、アップロード端末111、ストレージサーバ131、鍵端末141等の、外部の機器には知得されない。
【0038】
本実施形態に係るアップロード端末111、ダウンロード端末121、ストレージサーバ131、鍵端末141、鍵サーバ161は、その機能に応じたプログラムを各種のコンピュータのハードウェア上で実行することにより、実現することができる。
【0039】
典型的には、アップロード端末111、ダウンロード端末121としては、ユーザが日常的な作業に使用するデスクトップコンピュータ、ラップトップコンピュータ、およびタブレットコンピュータを利用することができる。これらのコンピュータは、デスクトップ仮想化技術によって仮想化されたものであっても良い。
【0040】
ストレージサーバ131としては、多数の巨大ファイルを格納可能な大容量のファイルサーバコンピュータ等を利用することができる。
【0041】
鍵端末141としては、スマートフォンやタブレット等の携帯性に優れた汎用のコンピュータ端末のほか、公開鍵暗号技術に係る処理および鍵対の管理を実現可能とした専用のコンピュータ端末を利用することもできる。
【0042】
鍵サーバ161としては、ユーザの識別名を指定する問合せを行うと当該ユーザに係る公開鍵を指定する回答をする機能を有するウェブAPI(Application Programming Interface)を提供するウェブサーバコンピュータや、OpenPGP技術に基づいて公開鍵を公開するためのOpenPKSDに準じた公開鍵サーバコンピュータ等を利用することができる。
【0043】
(コンピュータ)
以下、これらのコンピュータの構成について説明する。一般には、コンピュータは、非一時的な情報記録媒体に記録された種々のプログラムを、一時的(temporary)な記憶装置であるRAM(Random Access Memory)に読み出してから、CPU(Central Processing Unit)あるいはプロセッサが読み出されたプログラムに含まれる指令を実行する。ただし、ROM(Read Only Memory)とRAMを一つのメモリ空間にマッピングして実行することが可能なアーキテクチャでは、ROMに格納されたプログラムに含まれる指令を、直接CPUが読み出して実行する。CPUあるいはプロセッサ等は、RAM等と協働して、当該ハードウェアが備えるNIC(Network Interface Card)、Wifi通信モジュール、モバイル通信通信モジュール、やディスプレイ、タッチスクリーン、マイク、スピーカ、ヘッドホン、キーボード、マウス、トラックパッド、タッチパネル、GPS(Global Positioning System)センサ、地磁気センサ、姿勢センサ等の外部接続機器を制御する。
【0044】
コンピュータにて実行されるプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、ROM、EEPROM(Electrically Erasable Programmable ROM)、フラッシュメモリ、半導体メモリ等のコンピュータ読み取り可能な非一時的情報記録媒体に記録することができる。この情報記録媒体は、各ハードウェアとは独立して配布・販売することができる。
【0045】
各機器を実現するためのプログラムを、機能ごとに分割し、そのそれぞれを、適宜複数の情報記録媒体に別個に記録し、当該複数の情報記録媒体を媒体セットにまとめ、当該媒体セットを、各ハードウェアとは独立して配布・販売することもできる。
【0046】
さらに、上記のプログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網151等の一時的伝送媒体を介して、プログラム配布サーバ等から、各コンピュータへ配布することもできる。たとえば、コンピュータとしてスマートフォンを採用する場合には、スマートフォン用のアプリケーションストアにてプログラムを配布、販売することが可能である。
【0047】
なお、上記のプログラムを、電子回路の動作レベル記述用のプログラミング言語によって記述することも可能である。この場合には、上記のプログラムから、電子回路の配線図やタイミングチャート等、各種の設計図が生成され、当該設計図に基づいて、上記の画像処理装置を構成する電子回路を作成することができる。たとえば、上記のプログラムから、FPGA(Field Programmable Gate Array)技術によって再プログラム可能なハードウェア上に、上記画像処理装置を、構成することができるほか、ASIC(Application Specific Integrated Circuit)技術によって、特定用途専用の電子回路を構成することも可能である。
【0048】
(情報のやりとり)
図2は、本発明のストレージシステムにおける情報のやりとりの様子を説明する説明図である。以下、本図を参照して説明する。なお、本図では、矢印により、ある機器から他の機器へ情報を受け渡しする様子を示している。この情報のやりとりは、当該ある機器と当該他の機器との間でコンピュータ通信網151等を介した通信による情報の送受を行っても良いし、当該ある機器ならびに当該他の機器以外の1以上の別の機器が、当該ある機器から一旦情報を受け取った後、当該別の機器へその情報を受け渡すこととしても良い。また、以降の図では、情報のやりとりを行う機器に対する符号は、図示を省略している。
【0049】
また、以下の説明では、鍵サーバ161も含めて図示しているが、鍵サーバ161は、前述した通り、適宜省略が可能である。
【0050】
このほか、以下の説明における各処理は、処理の対象となる情報の依存関係を維持する範囲で、適宜実行の順序を変更したり、並行して実行したりすることができる。
【0051】
(アップロード)
以下では、ファイルのアップロードについて説明する。アップロード端末111は、バックアップや受け渡しの対象となる目的ファイルと、当該目的ファイルをダウンロードすべきダウンロードユーザの識別名と、を特定する(201)。
【0052】
アップロード端末111を使用するアップロードユーザは、典型的には、目的ファイルの所有者である。
【0053】
本図では、アップロードユーザがアップロード端末111に対して両者を指定するように図示しているが、たとえば特定のフォルダに格納されたファイルを定期的にバックアップする場合等には、アップロードユーザがアップロード端末111にて自身の識別名を設定しておき、バックアップの際に、当該設定された識別名をダウンロードユーザの識別名として特定することとしても良い。また、アップロード端末111が、当該フォルダに配置されているファイルをスキャンして、列挙されたファイルを目的ファイルとして特定することとしても良い。
【0054】
次に、アップロード端末111は、特定された識別名に係る公開鍵(主公開鍵)を取得する。本図では、アップロード端末111は、特定された識別名を指定する問合せを鍵サーバ161に対して送る(202)。鍵サーバ161は、当該問い合わせに指定された識別名に係る公開鍵があらかじめ登録されていれば、当該公開鍵を指定した回答を、アップロード端末111に対して返す(203)。
【0055】
なお、鍵サーバ161に当該識別名に係る公開鍵が登録されていない場合については、後述する。
【0056】
また、ダウンロードユーザの公開鍵(主公開鍵)が情報記録媒体等を介してあらかじめアップロード端末111に設定されている場合は、鍵サーバ161とのやりとりは省略することができる。
【0057】
そして、アップロード端末111は、共通鍵を生成し(204)、当該共通鍵で目的ファイルを暗号化して暗号ファイルを生成する(205)。
【0058】
ここで、共通鍵とは、目的ファイルを暗号化して暗号ファイルを生成するためと、暗号ファイルを復号して元の目的ファイルを生成するためと、の両方に共通して使用する鍵のことであり、対称鍵、共有鍵と呼ばれることもある。
【0059】
共通鍵による暗号化には、IDEA, AES, Camellia等のブロック暗号技術や、RC4, FISH、MUGI等のストリーム暗号技術等、種々の技術を適用することができる。
【0060】
ここで、複数の目的ファイルに対しては、共通鍵は、共通するものとしても良いし、目的ファイルごとに異なるものとしても良い。また、目的ファイルのバックアップや受渡しをするごとに新たな共通鍵を生成しても良いし、一定期間同じ共通鍵を保管して、保管された共通鍵を使用し続けることとしても良い。
【0061】
共通鍵は、ランダムに生成され、十分な長さを要することが望ましい。
【0062】
そして、アップロード端末111は、取得された主公開鍵で、生成された共通鍵を、暗号化して、第1暗号を生成する(206)。
【0063】
主公開鍵による暗号化は、公開鍵暗号技術によるものであり、RSA暗号、ElGamal暗号、楕円曲線暗号など、種々の技術を適用することができる。
【0064】
そして、アップロード端末111は、暗号ファイルと、第1暗号と、を、ストレージサーバ131に格納する(207)。これにより、目的ファイルのアップロードに係る処理は完了し、以降の処理では、アップロード端末111を使用する必要はなくなる。
【0065】
上記のように、アップロード端末111では、主公開鍵を鍵サーバ161等から取得することができ、共通鍵は、必要に応じて生成することができるため、主公開鍵や共通鍵をアップロード端末111にて維持・管理する必要はない。また、アップロード端末111は、ダウンロードユーザに割り当てられた秘密鍵(主秘密鍵)を知得する必要はない。
【0066】
(ダウンロード)
以下では、ファイルのダウンロードについて説明する。なお、上記のように、ダウンロードユーザの主秘密鍵は、鍵端末141に秘密裏に記録されており、アップロード端末111、ダウンロード端末121、ストレージサーバ131は、処理を進めるにあたって、主秘密鍵を知得する必要はない。
【0067】
まず、ダウンロード端末121は、一時公開鍵と、一時秘密鍵と、を含む一時鍵対を生成して(211)、ダウンロード端末121内に一時秘密鍵を秘密裏に記録し(212)、鍵端末141へ、一時公開鍵を伝達して(213)、ストレージサーバ131へサインインを試行する(214)。
【0068】
ここで生成される一時鍵対は、ダウンロードユーザに割り当てられる主鍵対と同じ公開鍵暗号システムによるものとしても良いし、異なる公開鍵暗号システムによっても良い。
【0069】
一時鍵対は、ダウンロード端末121で一時的に使用されるものであり、ダウンロードを行う度に生成しても良いし、保存して、一定期間維持することとしても良い。
【0070】
典型的には、当該サインインの試行により、ダウンロードユーザの識別名が、ダウンロード端末121からストレージサーバ131へ伝達されるが、セッションIDを用いてサインイン状態を一定期間保持する実施形態においては、当該セッションIDをダウンロード端末121からストレージサーバ131へ伝達することにより、ストレージサーバ131がダウンロードユーザの識別名を知得できるようにしても良い。
【0071】
また、ダウンロード端末121は、サインインを試行する際に、当該サインインにともなって、一時公開鍵をストレージサーバ131へ伝達することとしても良い。この態様では、一時公開鍵を、ダウンロード端末121から鍵端末141へ、ストレージサーバ131を介して、間接的に伝達することができる。
【0072】
なお、サインインの成否は、鍵端末141の使用を要素の一つとする多要素認証により判定されるものとすることができる。この態様では、ダウンロード端末121からのサインインを試行する際に、鍵端末141にて所定のアプリケーションプログラムを起動する必要がある。したがって、ストレージサーバ131は、鍵端末141にてアプリケーションプログラムが起動しているか否かを判定し、起動していれば、アプリケーションプログラムへ一時公開鍵を伝達する。
【0073】
このほか、ダウンロード端末121は、画面に、
一時公開鍵を文字情報としてそのまま表示し、あるいは、
一時公開鍵を各種の一次元バーコードや二次元バーコード等の画面表示可能、かつ、機械認識可能なコードに符号化して、当該コードを表示し、
鍵端末141が画面に表示された情報をスキャンして機械認識することにより、一時公開鍵を伝達することとしても良い。
【0074】
この態様を上記の態様と両用して、多要素認証のサインインの可否を判定することも可能である。
【0075】
すなわち、鍵端末141は、機械認識された一時公開鍵をストレージサーバ131へ報告する。
【0076】
ストレージサーバ131は、サインインの試行にともなってダウンロード端末121から伝達された一時公開鍵と、鍵端末141から報告された一時公開鍵と、が一致することを、サインインが成功するための必要条件とする。
【0077】
この際には、さらに、鍵端末141に記録された主秘密鍵を用いて、機械認識された一時公開鍵に対する電子署名を施した上で、電子署名とともに一時公開鍵をストレージサーバ131へ報告することとしても良い。
【0078】
ストレージサーバ131は、主公開鍵により、報告された電子署名を検証し、検証が成功することを、サインインが成功するための必要条件とする。
【0079】
このほか、一時公開鍵は、Bluetooth(商標)通信、NFC(Near Field Communication)通信、USB(Universal Serial Bus)ケーブルを介した有線通信、ネットワークケーブルを介した有線通信、無線アクセスポイントを介したWifi通信、携帯電話通信網を介したモバイル通信等により、ダウンロード端末121から鍵端末141へ伝達することも可能である。
【0080】
さて、サインインが成功する(215)と、鍵端末141と、ストレージサーバ131と、は協働して、第2暗号を生成し(216)、ダウンロード端末121へ、生成された第2暗号を伝達する(217)。
【0081】
ここで、第2暗号は、一時公開鍵で共通鍵を暗号化したものに相当する。また、第2暗号は、鍵端末141に記録された主秘密鍵と、ダウンロード端末121から伝達された一時公開鍵と、格納された第1暗号と、から、生成される。
【0082】
ここで、本実施形態では、第2暗号の生成において、ストレージサーバ131に対して共通鍵は秘匿したままとする必要がある。このように構成することで、ストレージサーバ131の管理者といえども、暗号ファイルを復号できないようにして、ファイルの安全性を向上させるのである。このような第2暗号の生成手法としては、以下のような手法がありうる。
【0083】
第1は、プロキシ再暗号化を利用する手法である。
図3は、本発明のストレージシステムにおいて、プロキシ暗号化により、鍵端末とストレージサーバが協働する形態を説明する説明図である。以下、本図を参照して説明する。
【0084】
まず、鍵端末141は、鍵端末141に記録された主秘密鍵と、ダウンロード端末121から伝達(213)された一時公開鍵と、から、プロキシ鍵を生成して(301)、ストレージサーバ131へ、生成されたプロキシ鍵を伝達する(302)。
【0085】
一方、ストレージサーバ131は、ストレージサーバ131に格納された第1暗号を、鍵端末141から伝達(302)されたプロキシ鍵で再暗号化することにより、第2暗号を生成し(303)、ダウンロード端末121へ、生成された第2暗号を伝達する(217)。
【0086】
この態様では、主鍵対の公開鍵暗号システムによる暗号を再暗号化できるような公開鍵暗号システムを、一時鍵対を生成する際に利用することになる。
【0087】
たとえば、主鍵対の公開鍵暗号システムとして、非特許文献1にてAFGH06として紹介されている技術を採用することができる。この公開鍵暗号システムAFGH06では、Eを楕円曲線、Pをその上の点、e: E×E→Gを対称ペアリングとし、g=e(P,P)∈Gとして、Pとgを公開する。
【0088】
主秘密鍵は、ランダムに選択された整数aであり、aPを主公開鍵とする。
【0089】
一時秘密鍵は、ランダムに選択された整数bであり、bPを一時公開鍵とする。
【0090】
メッセージmに対する主公開鍵aによる暗号化は、整数rをランダムに選んで
ca = (mgr,r(aP))
を暗号文とする。
【0091】
暗号文ca = (u,Va)に対する通常の復号は、
u/e(Va,(1/a)P) = mgr/e(raP,(1/a)P) = mgr/e(P,P)r = mgr/gr = m
とする。
【0092】
プロキシ鍵sは、主秘密鍵aと一時公開鍵bPを用いて、
s = (1/a)(bP) = (b/a)P
とする。
【0093】
暗号文ca = (u,Va)のプロキシ鍵sによる再暗号化は、
e(Va,ra→b) = e(raP,(b/a)P)=e(P,P)rb=grb
を計算して、
(u,e(Va,ra→b)) = (u,grb)
を暗号文とする。
【0094】
再暗号化された暗号文(u,vb)を一時秘密鍵で復号するには、
u/vb
1/b = mgr/(grb)1/b = mgr/gr = m
とする。
【0095】
この手法では、主鍵対は、楕円曲線上の公開鍵暗号システムに基いているが、一時鍵対は、有限体上の公開鍵暗号システムに基くことになり、再暗号化は一度しかできない。
【0096】
本実施形態においては、非特許文献1に開示されるプロキシ再暗号化の技術はもちろん、種々のプロキシ再暗号化技術を適用することができる。そして、採用する技術に応じて、主鍵対や一時鍵対の生成、公開鍵による暗号化、秘密鍵による復号を実行すれば良い。
【0097】
第2は、復号および暗号化を鍵端末141にて行う手法である。
図4は、本発明のストレージシステムにおいて、鍵端末にて復号と暗号化を行うことにより、鍵端末とストレージサーバが協働する形態を説明する説明図である。以下、本図を参照して説明する。
【0098】
まず、鍵端末141は、ストレージサーバ131から、ストレージサーバ131に格納された第1暗号を取得する(401)。
【0099】
そして、鍵端末141は、鍵端末141に記録された主秘密鍵で、ストレージサーバ131から取得した第1暗号を復号して、共有鍵を得る(402)。
【0100】
さらに、鍵端末141は、ダウンロード端末121から伝達された一時公開鍵で、復号された共有鍵を暗号化することにより、第2暗号を生成する(403)。
【0101】
そして、鍵端末141は、ストレージサーバ131を介して(404)、ダウンロード端末121へ、生成された第2暗号を伝達する(217)。なお、鍵端末141は、ストレージサーバ131を介さずに、ダウンロード端末121へ直接第2暗号を伝達することとしても良い。
【0102】
本態様では、鍵端末141にて主秘密鍵を用いて第1暗号から共通鍵を復号した上で、一時公開鍵を用いて共通鍵を暗号化して第2暗号としている。
【0103】
したがって、主鍵対と、一時鍵対と、で、機器やライブラリの性能や用途に応じて、種々の公開鍵暗号システムを利用することができる。
【0104】
図2に戻り、説明を続ける。ダウンロード端末121は、第2暗号が伝達されると(217)、ダウンロード端末121に秘密裏に記録されている一時秘密鍵で、伝達された第2暗号から共有鍵を復号する(218)。
【0105】
そして、ダウンロード端末121は、ストレージサーバ131から、ストレージサーバ131に格納された暗号ファイルを取得する(219)。
【0106】
なお、第2暗号の伝達(217)と、暗号ファイルの取得(219)と、は、まとめて行うこととしても良い。
【0107】
最後に、ダウンロード端末121は、復号された共通鍵で、ストレージサーバ131から取得された暗号ファイルを復号して(220)目的ファイルを得る(221)。
【0108】
ここで各情報の関係を再度整理する。
暗号ファイルは、目的ファイルを共通鍵で暗号化したものである。
第1暗号は、共通鍵を主公開鍵で暗号化したものである。
第1暗号を主秘密鍵で復号すると、共通鍵が得られる。
第2暗号は、共通鍵を一時公開鍵で暗号化したものに相当する。
一時公開鍵と主秘密鍵から、プロキシ鍵が得られる。
第1暗号にプロキシ鍵を適用すると、共通鍵を秘匿したまま、第2暗号が得られる。
第2暗号を一時秘密鍵で復号すると、共通鍵が得られる。
暗号ファイルを共通鍵で復号すると、目的ファイルが得られる。
【0109】
本態様によれば、ダウンロードユーザの主秘密鍵は、鍵端末141から外部に出ることがないため、主秘密鍵を安全に管理することができるようになる。
【0110】
なお、本態様では、ダウンロードユーザが鍵端末141に専用のアプリケーションプログラムをインストールして本システムの利用を開始する際に、鍵端末141が主鍵対を生成し、主公開鍵を鍵サーバ161に登録することが望ましい。
【0111】
ただし、アップロードユーザがアップロードを実行しようとする際に、ダウンロードユーザがまだ本システムの利用を開始していないことがある。
【0112】
この場合には、鍵サーバ161が、主鍵対の生成を代行することで、ダウンロードユーザが本システムの利用を開始していなくとも、アップロードユーザによるアップロードを済ませてしまうことが可能である。
【0113】
すなわち、アップロード端末111からの問い合わせに指定されたダウンロードユーザの識別名に対応付けられる公開鍵が鍵サーバ161に登録されていなければ、鍵サーバ161は、
仮公開鍵と仮秘密鍵とからなる仮鍵対を生成し、
当該識別に対応付けて、生成された仮公開鍵を登録し、
当該識別名に係るユーザが鍵端末141にてアプリケーションプログラムをインストールして本システムの利用を開始する際に、鍵端末141へ仮秘密鍵を渡して、これを主秘密鍵として秘密裏に記録させる。
【0114】
この態様は、ダウンロードユーザがストレージシステム101の利用を開始していなくとも、アップロードユーザは、目的ファイルに対する暗号ファイルをストレージサーバ131に格納することができる。また、アップロードユーザからダウンロードユーザへの連絡に応じて、ダウンロードユーザがストレージシステム101の利用を開始すれば、目的ファイルを入手することができる。
【0115】
なお、ダウンロードユーザは、暗号ファイルをストレージサーバ131から入手して目的ファイルを復号した後は、すみやかに鍵端末141にて新たな主鍵対を生成し、鍵サーバ161に登録することが望ましいことになる。
【0116】
また、鍵端末141に対するアプリケーションプログラムのインストール時に、鍵端末141で直ちに新たな主鍵対を生成するとともに、インストール後一定期間は、仮鍵対に基づく仮秘密鍵と、新たな主鍵対に係る主秘密鍵と、の両方を両用することとしても良い。
【0117】
(複数のダウンロードユーザ)
公開鍵暗号システムでは、複数の宛先ユーザがそれぞれ所有する複数の公開鍵を用いて1つのメッセージを1つの暗号文へ暗号化し、当該複数の宛先ユーザのそれぞれは、自身が秘密鍵と、他の宛先ユーザの公開鍵と、を用いて、当該1つの暗号文から、元のメッセージを復号できるものがある。
【0118】
そのような公開鍵暗号システムを利用することにより、複数のダウンロードユーザが目的ファイルを取得できるようにするための、1つの第1暗号および1つの暗号ファイルを用意することが可能である。
【0119】
この態様では、目的ファイルを暗号ファイルに暗号化した共通鍵を、複数のダウンロードユーザがそれぞれ所有する複数の公開鍵によって、1つの第1暗号を得る。
【0120】
各ダウンロードユーザが使用する鍵端末141には、当該各ダウンロードユーザが所有する主秘密鍵が秘密裏に記録されている。また、鍵端末141は、他のダウンロードユーザがそれぞれ所有する主公開鍵は、鍵サーバ161から取得することができる。
【0121】
そこで、各鍵端末141は、第1暗号から共通鍵を復号し、各ダウンロード端末121から伝達された一時公開鍵で、当該復号された共通鍵を暗号化して第2暗号とすれば、各ダウンロード端末121における暗号ファイルの復号処理を進めることができる。
【0122】
複数のダウンロードユーザの識別名は、それぞれを列挙することとしても良いし、識別名の共通部分(たとえばドメイン名等)を指定した問合せを鍵サーバ161へ送っても良い。1又は複数の識別名が公開鍵とともに回答された場合には、回答された識別名がダウンロードユーザの識別名となり、回答された公開鍵を用いて第1暗号が生成される。
【0123】
(主鍵対の履歴)
鍵端末141は、鍵端末141のユーザが過去に所有していた主鍵対の履歴を記録しておき、必要に応じていずれかを選択して利用できるようにしても良い。
【0124】
また、この履歴は、鍵端末141にて復号が可能な暗号化方式により暗号化した上で、鍵サーバ161に保管しておくことも可能である。
【0125】
鍵端末141にてアプリケーションプログラムを起動する際に、鍵端末141の所有者の認証を行う場合には、その認証で用いられる「合言葉」によって履歴を暗号化すれば良い。この「合言葉」としては、パスワード、パスフレーズ、暗証番号、PIN等を採用することができる。
【0126】
また、ランダムな表がユーザに提示され、ユーザに割り当てられた順序規則に基づいて、表内の要素を抜き出し、当該順序規則が正しく適用されているかか否かに基づいて認証をする態様では、当該順序規則に基づく「合言葉」によって暗号化を行うことができる。
【0127】
また、鍵端末141に保持されている履歴内の
最新の公開鍵、
すべての公開鍵、
秘密鍵の漏洩が発見されていない公開鍵、あるいは、
秘密鍵の漏洩が発見されていない公開鍵からランダムに選択された公開鍵
等により、履歴を暗号化して、鍵サーバ161に保管しても良い。
【0128】
このような態様を採用すれば、アップロード端末111が過去に利用して保存した主公開鍵を再び利用して第1暗号および暗号ファイルを生成して送ってきた場合であっても、鍵端末141では、過去の主公開鍵に対応する過去の主秘密鍵を履歴から取得して使用することで、第2暗号を生成することができ、ダウンロード端末121では、暗号ファイルから目的ファイルを復号することが可能となる。
【0129】
このとき、アップロード端末111は、過去のどの主公開鍵を利用したか、を示すために、
第1暗号、暗号ファイルとともに、利用した主公開鍵、
当該主公開鍵に割り当てられた識別名、
当該主公開鍵の所有者(アップロードユーザが想定したダウンロードユーザ)の識別名、
等を、対応付けてストレージサーバ131に格納することとしても良い。
【0130】
鍵端末141では、ストレージサーバ131に格納されたこれらの情報を検索の鍵として、鍵端末141に保管される履歴から該当する主公開鍵を探し、当該主公開鍵に対応する主秘密鍵を取得することができる。
【0131】
現実の運用では、主公開鍵は、ユニークで重複することはないと考えられるので、アップロード端末111が暗号化に利用した主公開鍵もストレージサーバ131に格納する態様では、主公開鍵のみを鍵として履歴の検索をすることができる。ただし、主公開鍵の識別名や所有者の情報をさらにチェックし、これらを鍵端末141のユーザに知らせることにより、どの主秘密鍵を使用すべきか、の厳重な確認をすることもできる。
【0132】
また、アップロード端末111がストレージサーバ131に、主公開鍵そのものは格納しないが、主公開鍵の識別名や主公開鍵の所有者の識別名等の情報は格納する態様では、これらの情報により、第1暗号や暗号ファイルのダウンロードをさせても良いか否かを判定することができる。
【0133】
さらに、ストレージサーバ131にて第1暗号および暗号ファイルとともにダウンロードユーザの識別名(主公開鍵の識別名)を格納する態様では、ダウンロード端末121からダウンロードユーザがサインインした際のダウンロードユーザの識別名によって当該ダウンロードユーザがストレージサーバ131からダウンロード可能なファイルを検索し、一覧を生成して、その一覧をダウンロード端末121に表示することも可能となる。すなわち、第1暗号および暗号ファイルは、これらに係る主公開鍵を所有するユーザのみがダウンロード可能となる。
【0134】
(複数のダウンロードユーザ)
本実施形態は、任意の人数のダウンロードユーザを指定して、目的ファイルを送る態様に適用することができる。
【0135】
たとえば、3人のダウンロードユーザの識別名aaa@example.com, bbb@example.com, ccc@example.com を指定してアップロードをする場合、第1暗号は、3人のダウンロードユーザaaa@example.com, bbb@example.com, ccc@example.com に割り当てられた3つの公開鍵により共有鍵を暗号化する。
【0136】
ストレージサーバ141は、当該第1暗号および暗号ファイルは、aaa@example.com, bbb@example.com, ccc@example.comとしてサインインしたダウンロード端末121のみが取得できるように、ファイルを管理する。
【0137】
ダウンロードユーザaaa@example.com側では、第1暗号からダウンロードユーザaaa@example.comの秘密鍵(および、他のダウンロードユーザbbb@example.com, ccc@example.comの公開鍵)により、共有鍵を復号、あるいは、第2暗号へ再暗号化をすることができる。他のダウンロードユーザについても同様である。
【0138】
また、ダウンロードユーザとしてドメイン@example.comを指定した場合は、鍵サーバ161を利用してドメイン@example.comを有するユーザを検索し、見つかった全ユーザの公開鍵により、共有鍵を第1暗号へ暗号化する。
【0139】
ドメイン@exmaple.comにマッチする識別名を有するユーザは、ダウンロード端末121を用いて、ストレージサーバ131から第1暗号および暗号ファイルを取得することができる。その後は、鍵端末141に記録された自身の秘密鍵と、当該ドメインにマッチする他のユーザの公開鍵と、を用いて、第1暗号から共有鍵を復号したり、第2暗号へ再暗号化したりできる。
【0140】
なお、鍵サーバ161や鍵端末141にてドメイン@example.comに対するドメイン主鍵対を生成し、ドメイン@example.comに対してドメイン主鍵対に含まれるドメイン主公開鍵を鍵サーバ161へ登録し、アップロード端末111では、ドメイン主公開鍵で共有鍵を第1暗号へ暗号化する態様を採用することもできる。
【0141】
この態様では、ドメイン主鍵対に含まれるドメイン主秘密鍵を、当該ドメインにマッチするユーザが利用可能な秘密鍵の1つとして、当該マッチするユーザ(あるいはその中の特定の権限を有するユーザ)が使用する鍵端末141にて共有しても良いし、当該ドメイン主秘密鍵を鍵サーバ161のみが管理することとしても良い。
【0142】
このように、鍵端末141により物理的に共有され、もしくは、鍵サーバ161により論理的に共有されたドメイン主秘密鍵を用いて、鍵サーバ161と鍵端末141が協働して、ドメイン公開鍵による暗号から、一時公開鍵による暗号へ、再暗号化を行えば良い。
【0143】
以上説明したように、この態様では、複数のダウンロードユーザや、あるドメインにマッチするユーザ(あるいはそのうちでドメイン主秘密鍵を利用可能なユーザ)であれば、目的ファイルを取得できるようになる。
【0144】
(まとめ)
以上説明したように、本実施形態に係るストレージシステムは、アップロード端末と、ダウンロード端末と、ストレージサーバと、主公開鍵とともに主鍵対に含まれる主秘密鍵を秘密裏に記録する鍵端末と、を備え、
(a) 前記アップロード端末は、
共通鍵を生成し、
前記生成された共通鍵で、目的ファイルを暗号化することにより、暗号ファイルを生成し、
前記主公開鍵で、前記生成された共通鍵を暗号化することにより、第1暗号を生成し、
前記生成された暗号ファイルと、前記生成された第1暗号と、を、前記ストレージサーバに格納し、
(b)前記ダウンロード端末は、
一時公開鍵と、一時秘密鍵と、を含む一時鍵対を生成し、
前記一時秘密鍵を秘密裏に記録し、
前記鍵端末へ、前記一時公開鍵を伝達し、
前記ストレージサーバへサインインを試行し、
(c)前記サインインが成功すると、前記鍵端末と、前記ストレージサーバと、は協働して、
前記記録された主秘密鍵と、前記伝達された一時公開鍵と、前記格納された第1暗号と、から、前記一時公開鍵で前記共通鍵を暗号化した第2暗号を、前記ストレージサーバに対して前記共通鍵を秘匿したまま、生成し、
前記ダウンロード端末へ、前記生成された第2暗号を伝達し、
(e)前記ダウンロード端末は、
前記一時秘密鍵で、前記伝達された第2暗号から前記共有鍵を復号し、
前記ストレージサーバから、前記格納された暗号ファイルを取得し、
前記復号された共通鍵で、前記取得された暗号ファイルから前記目的ファイルを復号する
ように構成することができる。
【0145】
また、本実施形態のストレージシステムにおいて、
前記鍵端末は、
前記記録された主秘密鍵と、前記伝達された一時公開鍵と、から、プロキシ鍵を生成し、
前記ストレージサーバへ、前記生成されたプロキシ鍵を伝達し、
前記ストレージサーバは、
前記格納された第1暗号を、前記伝達されたプロキシ鍵で再暗号化することにより、第2暗号を生成し、
前記ダウンロード端末へ、前記生成された第2暗号を伝達する
ように構成することができる。
【0146】
また、本実施形態のストレージシステムにおいて、
前記鍵端末は、
前記ストレージサーバから、前記格納された第1暗号を取得し、
前記記録された主秘密鍵で、前記第1暗号から、前記共有鍵を復号し、
前記伝達された一時公開鍵で、前記復号された共有鍵を暗号化することにより、前記第2暗号を生成し、
前記ストレージサーバを介して、前記ダウンロード端末へ、前記生成された第2暗号を伝達する
ように構成することができる。
【0147】
また、本実施形態のストレージシステムにおいて、
前記サインインの成否は、前記鍵端末の使用を要素の一つとする多要素認証により判定される
ように構成することができる。
【0148】
また、本実施形態のストレージシステムにおいて、
前記ストレージサーバへの前記サインインの試行は、前記一時公開鍵をともない、
前記鍵端末は、前記サインインの試行にともなう前記一時公開鍵を、前記ストレージサーバから取得することにより、前記一時公開鍵を伝達される
ように構成することができる。
【0149】
また、本実施形態のストレージシステムにおいて、
前記ダウンロード端末は、前記生成された一時公開鍵を機械認識可能に符号化したコードを、画面に表示し、
前記鍵端末は、前記表示されたコードをスキャンして機械認識することにより、前記一時公開鍵を伝達される
ように構成することができる。
【0150】
また、本実施形態のストレージシステムにおいて、
前記ストレージサーバへの前記サインインの試行は、前記一時公開鍵をともない、
前記鍵端末は、前記機械認識された前記一時公開鍵を前記ストレージサーバへ報告し、
前記サインインの試行にともなう前記一時公開鍵と、前記鍵端末から報告された前記一時公開鍵と、が一致することを、前記サインインが成功するための必要条件とする
ように構成することができる。
【0151】
また、本実施形態のストレージシステムにおいて、
前記鍵端末は、前記機械認識された前記一時公開鍵に対して、前記記録された主秘密鍵による電子署名を施し、前記電子署名とともに前記一時公開鍵を前記ストレージサーバへ報告し、
前記ストレージサーバは、前記主公開鍵により、前記報告された電子署名を検証し、
前記検証が成功することを、前記サインインが成功するための必要条件とする
ように構成することができる。
【0152】
また、本実施形態のストレージシステムにおいて、
前記アップロード端末と、前記ダウンロード端末と、は、前記主鍵対を所有する鍵所有者が使用する同一のコンピュータにより実現され、
前記ストレージシステムは、前記鍵所有者による前記目的ファイルのバックアップおよびリストアを可能とする
ように構成することができる。
【0153】
また、本実施形態のストレージシステムにおいて、
前記アップロード端末は、前記目的ファイルを所有するファイル所有者が使用するコンピュータにより実現され、
前記ダウンロード端末は、前記主鍵対を所有する鍵所有者が使用する他のコンピュータにより実現され、
前記ストレージシステムは、前記ファイル所有者から前記鍵所有者への前記目的ファイルの伝達を可能とする
ように構成することができる。
【0154】
本実施形態のストレージ方法は、アップロード端末と、ダウンロード端末と、ストレージサーバと、主公開鍵とともに主鍵対に含まれる主秘密鍵を秘密裏に記録する鍵端末と、が実行し、
(a) 前記アップロード端末は、
共通鍵を生成し、
前記生成された共通鍵で、目的ファイルを暗号化することにより、暗号ファイルを生成し、
前記主公開鍵で、前記生成された共通鍵を暗号化することにより、第1暗号を生成し、
前記生成された暗号ファイルと、前記生成された第1暗号と、を、前記ストレージサーバに格納し、
(b)前記ダウンロード端末は、
一時公開鍵と、一時秘密鍵と、を含む一時鍵対を生成し、
前記一時秘密鍵を秘密裏に記録し、
前記鍵端末へ、前記一時公開鍵を伝達し、
前記ストレージサーバへサインインを試行し、
(c)前記サインインが成功すると、前記鍵端末と、前記ストレージサーバと、は協働して、
前記記録された主秘密鍵と、前記伝達された一時公開鍵と、前記格納された第1暗号と、から、前記一時公開鍵で前記共通鍵を暗号化した第2暗号を、前記ストレージサーバに対して前記共通鍵を秘匿したまま、生成し、
前記ダウンロード端末へ、前記生成された第2暗号を伝達し、
(e)前記ダウンロード端末は、
前記一時秘密鍵で、前記伝達された第2暗号から前記共有鍵を復号し、
前記ストレージサーバから、前記格納された暗号ファイルを取得し、
前記復号された共通鍵で、前記取得された暗号ファイルから前記目的ファイルを復号する
ように構成する。
【0155】
本実施形態に係るシステムプログラムは、アップロード端末にて実行されるアップロードプログラムと、ダウンロード端末にて実行されるダウンロードプログラムと、ストレージサーバにて実行されるストレージプログラムと、主公開鍵とともに主鍵対に含まれる主秘密鍵を秘密裏に記録する鍵端末にて実行される鍵プログラムと、を備え、
(a) 前記アップロードプログラムは、前記アップロード端末に、
共通鍵を生成し、
前記生成された共通鍵で、目的ファイルを暗号化することにより、暗号ファイルを生成し、
前記主公開鍵で、前記生成された共通鍵を暗号化することにより、第1暗号を生成し、
前記生成された暗号ファイルと、前記生成された第1暗号と、を、前記ストレージサーバに格納する
処理を実行させ、
(b)前記ダウンロードプログラムは、前記ダウンロード端末に、
一時公開鍵と、一時秘密鍵と、を含む一時鍵対を生成し、
前記一時秘密鍵を秘密裏に記録し、
前記鍵端末へ、前記一時公開鍵を伝達し、
前記ストレージサーバへサインインを試行する
処理を実行させ、
(c)前記サインインが成功すると、前記鍵プログラムと、前記ストレージプログラムと、は、それぞれ、前記鍵端末と、前記ストレージサーバと、に、
前記記録された主秘密鍵と、前記伝達された一時公開鍵と、前記格納された第1暗号と、から、前記一時公開鍵で前記共通鍵を暗号化した第2暗号を、前記ストレージサーバに対して前記共通鍵を秘匿したまま、生成し、
前記ダウンロード端末へ、前記生成された第2暗号を伝達する
処理を協働して実行させ、
(e)前記ダウンロードプログラムは、前記ダウンロード端末に、
前記一時秘密鍵で、前記伝達された第2暗号から前記共有鍵を復号し、
前記ストレージサーバから、前記格納された暗号ファイルを取得し、
前記復号された共通鍵で、前記取得された暗号ファイルから前記目的ファイルを復号する
処理を実行させる
ように構成することができる。
【0156】
本実施形態に係る非一時的なコンピュータ読取可能な情報記録媒体は、上記のアップロードプログラム、ダウンロードプログラム、鍵プログラム、および、ストレージプログラムのいずれか少なくとも一つが記録される
ように構成することができる。
【0157】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【産業上の利用可能性】
【0158】
本発明によれば、鍵端末に秘密鍵を秘匿したまま暗号ファイルを処理するストレージシステムを提供することができる。
【符号の説明】
【0159】
101 ストレージシステム
111 アップロード端末
121 ダウンロード端末
131 ストレージサーバ
141 鍵端末
151 コンピュータ通信網
161 鍵サーバ
【要約】
ストレージシステム(101)において、鍵端末(141)は、主公開鍵とともに主鍵対に含まれる主秘密鍵を秘密裏に記録する。アップロード端末(111)は、生成した共通鍵で目的ファイルを暗号ファイルへ暗号化し、主公開鍵で共通鍵を第1暗号へ暗号化し、暗号ファイルと第1暗号をストレージサーバ(131)に格納する。ダウンロード端末(121)は、一時公開鍵と一時秘密鍵を含む一時鍵対を生成し、一時秘密鍵を秘密裏に記録し、鍵端末(141)へ一時公開鍵を伝達し、ストレージサーバ(131)へサインインする。すると、鍵端末(141)とストレージサーバ(131)は協働して、ストレージサーバ(131)に対して共通鍵を秘匿したまま、一時公開鍵で共通鍵を暗号化した第2暗号を生成し、ダウンロード端末(121)へ伝達する。ダウンロード端末(121)は、一時秘密鍵で第2暗号から共有鍵を復号し、ストレージサーバ(131)から取得した暗号ファイルから共通鍵で目的ファイルを復号する。