特許第6404481号(P6404481)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ノキア テクノロジーズ オーユーの特許一覧

特許6404481クラウドコンピューティングにおける異種混合データ記憶管理方法および装置
<>
  • 特許6404481-クラウドコンピューティングにおける異種混合データ記憶管理方法および装置 図000003
  • 特許6404481-クラウドコンピューティングにおける異種混合データ記憶管理方法および装置 図000004
  • 特許6404481-クラウドコンピューティングにおける異種混合データ記憶管理方法および装置 図000005
  • 特許6404481-クラウドコンピューティングにおける異種混合データ記憶管理方法および装置 図000006
  • 特許6404481-クラウドコンピューティングにおける異種混合データ記憶管理方法および装置 図000007
  • 特許6404481-クラウドコンピューティングにおける異種混合データ記憶管理方法および装置 図000008
  • 特許6404481-クラウドコンピューティングにおける異種混合データ記憶管理方法および装置 図000009
  • 特許6404481-クラウドコンピューティングにおける異種混合データ記憶管理方法および装置 図000010
  • 特許6404481-クラウドコンピューティングにおける異種混合データ記憶管理方法および装置 図000011
  • 特許6404481-クラウドコンピューティングにおける異種混合データ記憶管理方法および装置 図000012
  • 特許6404481-クラウドコンピューティングにおける異種混合データ記憶管理方法および装置 図000013
  • 特許6404481-クラウドコンピューティングにおける異種混合データ記憶管理方法および装置 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6404481
(24)【登録日】2018年9月21日
(45)【発行日】2018年10月10日
(54)【発明の名称】クラウドコンピューティングにおける異種混合データ記憶管理方法および装置
(51)【国際特許分類】
   G06F 12/00 20060101AFI20181001BHJP
   H04L 9/14 20060101ALI20181001BHJP
   H04L 9/32 20060101ALI20181001BHJP
【FI】
   G06F12/00 510B
   G06F12/00 514Z
   G06F12/00 537H
   H04L9/00 641
   H04L9/00 675B
【請求項の数】27
【全頁数】36
(21)【出願番号】特願2017-536778(P2017-536778)
(86)(22)【出願日】2015年1月19日
(65)【公表番号】特表2018-508864(P2018-508864A)
(43)【公表日】2018年3月29日
(86)【国際出願番号】CN2015071013
(87)【国際公開番号】WO2016115663
(87)【国際公開日】20160728
【審査請求日】2017年7月24日
(73)【特許権者】
【識別番号】315002955
【氏名又は名称】ノキア テクノロジーズ オーユー
(74)【代理人】
【識別番号】100127188
【弁理士】
【氏名又は名称】川守田 光紀
(72)【発明者】
【氏名】ヤン テイ
【審査官】 岸野 徹
(56)【参考文献】
【文献】 特表2014−519099(JP,A)
【文献】 特開2007−129413(JP,A)
【文献】 特表2012−533126(JP,A)
【文献】 特表2011−510405(JP,A)
【文献】 国際公開第2013/085519(WO,A1)
【文献】 高橋 健志 Takeshi TAKAHASHI,マルチテナントクラウドコンピューティング Multitenant Cloud Computing,電子情報通信学会技術研究報告 Vol.111 No.309 IEICE Technical Report,日本,社団法人電子情報通信学会 The Institute of Electronics,Information and Communication Engineers,2011年11月11日,第111巻,pp.25-32
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00
H04L 9/14
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
通信ネットワークにおけるデータ記憶管理方法であって、
前記通信ネットワークにおけるデータセンターにより、第1のデバイスから前記データセンターにデータを記憶するための要求を受信することと、
前記データセンターに当該データが記憶されているかを確認することと、
当該データが前記データセンターに記憶済みではないという確認結果に応じて、前記第1のデバイスから、前記データの平文または暗号文(CT)を少なくとも含むデータパッケージを受信することと、
当該データが前記データセンターに記憶済みであるという確認結果に応じて、前記データの重複排除ポリシーを取得することと、
前記重複排除ポリシーが、権限者(AP)および前記データの所有者の両方または一方、前記APのみ、あるいは前記データ所有者のみによって重複排除が制御されることを示す場合、前記APおよび前記データ所有者の両方または一方、前記APのみ、あるいは前記データ所有者のみに連絡して、前記データの重複排除を実行することと、
前記重複排除ポリシーが、前記APおよび前記データ所有者のいずれによっても重複排除が制御されないことを示す場合、前記データの重複排除を前記データセンターにより実行することと、
を含む方法。
【請求項2】
前記データパッケージはさらに、それぞれ前記データの特定の部位を示す複数のインデックスを含むインデックスリストと、それぞれ1つのインデックスに対応する複数のハッシュ情報を含むハッシュチェーン情報とを含み、
前記連絡して前記データの重複排除を実行すること、または前記データの重複排除を実行することは、
前記第1のデバイスに、前記インデックスリストの少なくとも1つのインデックスに対応するハッシュ情報を送信することを要求することと、
前記第1のデバイスからの前記要求された少なくとも1つのインデックスに対応する前記ハッシュ情報に基づき、前記第1のデバイスが前記データを保持しているかを検証することと、
保持しているという検証結果に応じて、連絡して重複排除を実行するか、前記第1のデバイスに対して、前記データの重複排除情報を記録することと、を含む請求項1に記載の方法。
【請求項3】
前記データに対する前記重複排除ポリシーを取得することは、前記データセンターに事前に記憶された前記重複排除ポリシーを読み出すこと、前記データ所有者から前記重複排除ポリシーを受信すること、または前記データパッケージに応じて前記重複排除ポリシーを決定することと、を含む、請求項1または2に記載の方法。
【請求項4】
前記重複排除ポリシーを決定することは、
前記データパッケージが、前記データを暗号化して前記CTを取得するためのデータ暗号化鍵(DEK)を分割して得られた第1のDEKおよび第2のDEKを暗号化して得られた互いに異なる第1の暗号鍵(CK)および第2のCKをさらに含む場合、前記APおよび前記データ所有者の両方によって重複排除が制御されると決定すること、
前記データパッケージが互いに等しい前記第1および第2のCKをさらに含む場合、前記APまたは前記データ所有者の一方によって重複排除が制御されると決定すること、
前記データパッケージが前記第1のCKのみ、または第2のCKのみをさらに含む場合、前記APのみまたは前記データ所有者のみによって重複排除が制御されると決定すること、
前記データパッケージがCKを含まない場合、前記APおよび前記データ所有者のいずれによっても重複排除が制御されないと決定することを含む、請求項1から3のいずれかに記載の方法。
【請求項5】
前記APに連絡して前記データの重複排除を実行することは、
利用不能であれば、再暗号化鍵を前記APから受信することと、
プロキシ再暗号化(PRE)方式に沿って、前記再暗号化鍵で前記第1のCKを再暗号化することと、
前記第1のデバイスが前記第1のデバイスの秘密鍵により前記再暗号化された第1のCKを復号できるように、前記再暗号化された第1のCKを、前記第1のデバイスに送信することと、を含む請求項1から4のいずれかに記載の方法。
【請求項6】
前記データ所有者に連絡して前記データの重複排除を実行することは、
属性ベース暗号(ABE)方式で前記第2のCKを復号することが適格な場合、前記データ所有者が前記第1のデバイスに対する属性秘密鍵を発行できるように、前記第1のデバイスの属性識別子(ID)を前記データ所有者に送信することを含む、請求項に記載の方法。
【請求項7】
当該データが前記データセンターに記憶済みではないという確認結果に応じて、少なくとも1つの他のデータセンターに当該データが記憶されているかを確認することを要求することと、
前記データに対する重複排除を実行可能な、前記少なくとも1つの他のデータセンターからの記憶済みであるという応答に応じて、前記第1のデバイスに対する前記データの重複排除情報を記録することと、
前記少なくとも1つの他のデータセンターからの記憶済みではないという応答に応じて、それに応じたデータの記憶を実行することと、をさらに含む、請求項1から6のいずれかに記載の方法。
【請求項8】
前記データセンターにより、第2のデバイスからデータの削除要求を受信することと、
前記第2のデバイスによって前記データセンターに前記データが記憶されているかを確認することと、
記憶されているという確認結果に応じて、前記第2のデバイスに対する前記データの記憶の記録を削除し、前記データの重複排除記録が空であれば、前記データを削除し、前記データの前記重複排除記録が空でなければ、前記データの所有者に通知して前記CTを更新することと、
記憶されていないという確認結果に応じて、前記データを記憶し、前記第2のデバイスに対して前記データの記憶の記録を削除可能な別のデータセンターに連絡することと、をさらに含む、請求項1から7のいずれかに記載の方法。
【請求項9】
前記所有者に通知して前記CTを更新することは、
前記所有者が重複排除制御を継続すると判断するかを問い合わせることと、
継続するという判断に応じて、前記データ所有者と協働して、前記データの前記重複排除ポリシーに沿って前記CTを更新することと、
継続しないという判断に応じて、前記データの別の保持者に前記CTの更新を要求するか、前記データ所有者と協働で、前記APのみによって重複排除が制御されることを示す新たな重複排除ポリシーに沿って前記CTを更新することを含む、請求項8に記載の方法。
【請求項10】
データの前記CTを更新する要求に応じて、前記データの前記重複排除ポリシーを取得することと、
前記重複排除ポリシーが、APの重複排除制御が必要であることを示す場合、PRE方式に沿って前記再暗号化鍵により更新済み第1のCKを再暗号化することと、
前記第1のデバイスが、前記第1のデバイスの秘密鍵で、前記再暗号化された更新済み第1のCKを復号できるように、前記再暗号化された更新済み第1のCKを前記第1のデバイスに送信することと、
前記重複排除ポリシーが、前記データの所有者による重複排除制御が必要であることを示す場合、ABE方式に沿って必要であれば、前記データの所有者に、前記データの識別子と、前記データの所有者の公開鍵情報を通知することで、前記第1のデバイスが更新済み第2のCKを復号できるように、前記第1のデバイスに秘密鍵を発行して、前記データの所有者によるデータ重複排除を実行可能とすることと、をさらに含む、請求項5に記載の方法。

【請求項11】
ユーザ装置におけるデータ記憶管理方法であって、
前記ユーザ装置が、データセンターにデータの記憶要求を送信することと、
前記データセンターからの前記データの要求に応じて、前記データの平文または暗号文(CT)を少なくとも含み、権限者(AP)および前記データの所有者の両方または一方、前記APのみ、あるいは前記データ所有者のみによって重複排除が制御される、またはそのいずれによっても制御されないことを示す前記データの重複排除ポリシーを含むデータパッケージ、または当該重複排除ポリシーが判定可能なデータパッケージを、前記データセンターに送信することと、
前記データセンターまたは少なくとも1つの他のデータセンターからの前記データの重複排除要求に応じて、重複排除を実行するために属性ベース暗号(ABE)方式に沿って適格なデータ保持者に属性秘密鍵を発行することと、
を含む方法。
【請求項12】
前記データの適格なデータ保持者を検証するために、それぞれ前記データの特定の部位を示す複数のインデックスを含むインデックスリストと、それぞれ1つのインデックスに対応する複数のハッシュ情報を含むハッシュチェーン情報とを前記データパッケージにより送信することをさらに含む請求項11に記載の方法。
【請求項13】
前記データセンターに第2のデータを記憶する要求を送信することと、
前記データセンターからの少なくとも1つのインデックスに対応するハッシュ情報の要求に応じて、前記第2のデータの保持者を検証するために前記データセンターに対して前記少なくとも1つのインデックスに対応する計算されたハッシュ情報を送信することと、をさらに含む請求項11または12に記載の方法。
【請求項14】
前記重複排除ポリシーが前記APおよび前記データ所有者の両方によって重複排除が制御されることを示す場合、前記データパッケージにより、前記データを暗号化して前記CTを取得するためのデータ暗号化鍵(DEK)を分割して得られた第1のDEKおよび第2のDEKを暗号化して得られた互いに異なる第1の暗号鍵(CK)および第2のCKを送信することと、
前記重複排除ポリシーが、重複排除が前記APまたは前記データ所有者の一方によって制御されることを示す場合、前記データパッケージにより、互いに等しい前記第1および第2のCKを送信することと、
前記重複排除ポリシーが、重複排除が前記APのみまたは前記データ所有者のみによって制御されることを示す場合、前記第1のCKのみまたは前記第2のCKのみを前記データパッケージにより送信することと、
前記重複排除ポリシーが、前記APおよび前記データ所有者のいずれによっても重複排除が制御されないことを示す場合、前記データパッケージにより前記平文を送信することと、
をさらに含む請求項13に記載の方法。
【請求項15】
前記第1のDEKは、プロキシ再暗号化(PRE)方式に沿って、前記APの公開鍵で暗号化され、
前記第2のDEKは、前記データの保持に適格なユーザのユーザ識別子(ID)を含むアクセスポリシーに基づいて暗号化される、請求項14に記載の方法。
【請求項16】
前記データの前記重複排除要求は、ユーザID情報を含み、
重複排除を実行するために前記属性秘密鍵を発行することは、
前記ユーザID情報が前記データの保持に適格なユーザを示すかを検証することと、
示すという検証結果に応じて、前記ユーザID情報に基づいて前記属性秘密鍵を生成することと、を含む、請求項11〜15のいずれかに記載の方法。
【請求項17】
前記データセンターから、前記第2のデータに対する再暗号化された第1のCKを受信することと、
前記ユーザ装置の秘密鍵により前記再暗号化された第1のCKを復号して前記第1のDEKを取得することと、
前記第2のデータの所有者から属性秘密鍵を受信し、前記第2のデータの所有者または前記データセンターから前記第2のデータに対する前記第2のCKを受信することと、
前記第2のCKを前記属性秘密鍵により復号して、前記第2のDEKを取得することと、
前記第1および第2のDEKを結合して、複製排除のために前記DEKを取得することと、をさらに含む請求項14に記載の方法。
【請求項18】
前記ユーザ装置により、データの削除要求を前記データセンターに送信することと、
前記データセンターからの少なくとも1つのインデックスに対応するハッシュ情報の要求に応じて、前記データの前記保持者を検証するために前記データセンターに対して前記少なくとも1つのインデックスに対応する計算されたハッシュ情報を送信することと、
前記データセンターまたは少なくとも1つの他のデータセンターからの、CT更新の要求に応じて、前記データの重複排除ポリシーに沿って前記CTを更新することと、をさらに含む請求項13に記載の方法。
【請求項19】
重複排除制御の継続が必要な場合、前記データのオリジナルの重複排除ポリシーに沿って、前記CTを更新することと、
重複排除制御の継続が不要な場合、前記APのみによって重複排除が制御されることを示す新たな重複排除ポリシーに沿って、前記CTを更新することと、をさらに含む請求項18に記載の方法。
【請求項20】
前記データセンターに、データのCTの更新要求であって、権限者(AP)および前記データの所有者の両方または一方、前記APのみ、あるいは前記データ所有者のみによって重複排除が制御される、またはそのいずれによっても制御されないことを示す前記データの重複排除ポリシーを含む要求、または当該重複排除ポリシーが判定可能な要求を送信することと、
前記重複排除ポリシーが、前記データ所有者による重複排除制御が必要であることを示す場合、属性秘密鍵が未送信であれば、重複排除を実行するために属性ベース暗号(ABE)方式に沿って適格なデータ保持者に前記属性秘密鍵を発行することと、をさらに含む請求項11〜19のいずれかに記載の方法。
【請求項21】
前記データセンターから再暗号化された更新済み第1のCKを受信することと、
前記ユーザ装置の秘密鍵により、前記再暗号化された更新済み第1のCKを復号し、前記更新済み第1のDEKを取得することと、
利用不能な場合、前記データの所有者から属性秘密鍵を受信し、前記データセンターまたはデータ所有者から前記更新済み第2のCKを受信することと、
前記属性秘密鍵により前記更新済み第2のCKを復号して、前記更新済み第2のDEKを取得することと、
前記更新済み第1および第2のDEKを結合して、重複排除のために前記更新済みDEKを取得することと、をさらに含む請求項11から20のいずれかに記載の方法。
【請求項22】
通信ネットワークにおけるデータの記憶を管理する装置であって、
第1のデバイスから前記装置にデータを記憶するための要求を受信する手段と、
前記装置に当該データが記憶されているかを確認する手段と、
当該データが前記装置に記憶済みではないという確認結果に応じて、前記第1のデバイスから、前記データの平文または暗号文(CT)を少なくとも含むデータパッケージを受信する手段と、
当該データが前記装置に記憶済みであるという確認結果に応じて、前記データの重複排除ポリシーを取得する手段と、
前記重複排除ポリシーが、権限者(AP)および前記データの所有者の両方または一方、前記APのみ、あるいは前記データ所有者のみによって重複排除が制御されることを示す場合、前記APおよび前記データ所有者の両方または一方、前記APのみ、あるいは前記データ所有者のみに連絡して、前記データの重複排除を実行する手段と、
前記重複排除ポリシーが、前記APおよび前記データ所有者のいずれによっても重複排除が制御されないことを示す場合、前記データの重複排除を実行する手段と、
を備える装置。
【請求項23】
ユーザ装置におけるデータの記憶を管理する装置であって、
データセンターにデータの記憶要求を送信する手段と、
前記データセンターからの前記データの要求に応じて、前記データの平文または暗号文(CT)を少なくとも含み、権限者(AP)および前記データの所有者の両方または一方、前記APのみ、あるいは前記データ所有者のみによって重複排除が制御される、またはそのいずれによっても制御されないことを示す前記データの重複排除ポリシーを含むデータパッケージ、または当該重複排除ポリシーが判定可能なデータパッケージを、前記データセンターに送信する手段と、
前記データセンターまたは少なくとも1つの他のデータセンターからの前記データの重複排除要求に応じて、重複排除を実行するために属性ベース暗号(ABE)方式に沿って適格なデータ保持者に属性秘密鍵を発行する手段と、
を備える装置。
【請求項24】
処理手段及び記憶手段を備える装置であって、前記記憶手段はプログラム命令を格納し、前記プログラム命令は、前記処理手段に実行されると、前記装置に、請求項1から10のいずれかに記載の方法を遂行させるように構成される、装置。
【請求項25】
処理手段及び記憶手段を備える装置であって、前記記憶手段はプログラム命令を格納し、前記プログラム命令は、前記処理手段に実行されると、前記装置に、請求項11から21のいずれかに記載の方法を遂行させるように構成される、装置。
【請求項26】
装置の処理手段に実行されると、前記装置に、請求項1から10のいずれかに記載の方法を遂行させるように構成されるプログラム命令を備える、コンピュータプログラム。
【請求項27】
装置の処理手段に実行されると、前記装置に、請求項11から21のいずれかに記載の方法を遂行させるように構成されるプログラム命令を備える、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態は、広く通信ネットワークにおけるデータ記憶管理に関し、詳しくはクラウドコンピューティングにおける異種混合データ記憶管理に関する。
【背景】
【0002】
クラウドコンピューティングは、巨大なリモートサーバー群同士をネットワーク化することで、集中型のデータ記憶や、コンピュータサービスまたは資源へのオンラインアクセスを可能とするものである。これは、各種資源(例えばストレージ、コンピューティングおよびサービス)を整理し、ユーザの所望どおりに提供することによる情報技術(IT)サービスの新たな形態を実現するものである。クラウドコンピューティングでは、ネットワーク資源同士をリンクすることで、巨大な資源プールが提供される。拡張性、弾性、耐故障性、利用回数制料金のような好ましい性質も備えている。したがって、魅力的なサービスプラットフォームとなり、IT構造の在り方も変えていくであろう。
【0003】
最も広く利用されているクラウドサービスとしては、ストレージサービスが挙げられる。近年、様々なデータがクラウドに記憶されている。例えば、機密の個人情報や個人データ、公に共有されるデータやある個人の集団に限定して共有されるデータ等である。特に、重要データについては、クラウドにおいて権限のない者からのあらゆるアクセスから保護されるべきである。しかし、重要でないデータについてはその限りではない。したがって、様々な状況に応じて、効率的かつ柔軟にクラウドにおけるデータの記憶を管理することが、クラウドサービスプロバイダ(CSP)にとっての重要な課題である。
【0004】
例えば、特に共有データの重複データが同一または異なるユーザにより、同一CSPまたは複数のCSPによるクラウドに記憶される場合がある。いかにクラウド記憶領域が巨大とは言え、このような重複は、ネットワーク資源の大量浪費、大量の電力消費、運転費用の増加、データ管理の複雑化を生じかねない。したがって、経済的な記憶がなされれば、CSPにとって運転費用の低減という大きな利益となり、ひいてはクラウドユーザにもサービス料金値下げという恩恵がもたらされる。
【0005】
このように、クラウドコンピューティングにおける効率的、柔軟、かつ経済的にデータの記憶を管理する方法を提供できれば、有利である。
【摘要】
【0006】
本概要は、詳細に後述される概念のある選択肢をより簡略的に導入するものである。本概要は、請求項の主題の主要な特徴や不可欠な特徴を特定することを意図するものではなく、請求項の主題の範囲を限定することを意図するものでもない。
【0007】
本開示の1つの態様によると、通信ネットワークにおけるデータ記憶管理方法が提供され、前記方法は、前記通信ネットワークにおけるデータセンターにより、第1のデバイスから前記データセンターにデータを記憶するための要求を受信することと、前記データセンターに当該データが記憶されているかを確認することと、当該データが前記データセンターに記憶済みではないという確認結果に応じて、前記第1のデバイスから、前記データの平文または暗号文(CT)を少なくとも含むデータパッケージを受信することと、当該データが前記データセンターに記憶済みであるという確認結果に応じて、前記データの重複排除ポリシーを取得することと、前記重複排除ポリシーが、権限者(AP)および前記データの所有者の両方または一方、前記APのみ、あるいは前記データ所有者のみによって重複排除が制御されることを示す場合、前記APおよび前記データ所有者の両方または一方、前記APのみ、あるいは前記データ所有者のみに連絡して、前記データの重複排除を実行することと、前記重複排除ポリシーが、前記APおよび前記データ所有者のいずれによっても重複排除が制御されないことを示す場合、前記データの重複排除を前記データセンターにより実行することと、を含む。
【0008】
本開示の別の態様によると、前記データパッケージはさらに、それぞれ前記データの特定の部位を示す複数のインデックスを含むインデックスリストと、それぞれ1つのインデックスに対応する複数のハッシュ情報を含むハッシュチェーン情報とを含み、前記連絡して前記データの重複排除を実行すること、または前記データの重複排除を実行することは、前記第1のデバイスに、前記インデックスリストの少なくとも1つのインデックスに対応するハッシュ情報を送信することを要求することと、前記第1のデバイスからの前記要求された少なくとも1つのインデックスに対応する前記ハッシュ情報に基づき、前記第1のデバイスが前記データを保持しているかを検証することと、保持しているという検証結果に応じて、連絡して重複排除を実行するか、前記第1のデバイスに対して、前記データの重複排除情報を記録することと、を含む。
【0009】
本開示の別の態様によると、前記データに対する前記重複排除ポリシーを取得することは、前記データセンターに事前に記憶された前記重複排除ポリシーを読み出すこと、前記データ所有者から前記重複排除ポリシーを受信すること、または前記データパッケージに応じて前記重複排除ポリシーを決定することと、を含む。
【0010】
本開示の別の態様によると、前記重複排除ポリシーを決定することは、前記データパッケージが、前記データを暗号化して前記CTを取得するためのデータ暗号化鍵(DEK)を分割して得られた第1のDEKおよび第2のDEKを暗号化して得られた互いに異なる第1の暗号鍵(CK)および第2のCKをさらに含む場合、前記APおよび前記データ所有者の両方によって重複排除が制御されると決定すること、前記データパッケージが互いに等しい前記第1および第2のCKをさらに含む場合、前記APまたは前記データ所有者の一方によって重複排除が制御されると決定すること、前記データパッケージが前記第1のCKのみ、または第2のCKのみをさらに含む場合、前記APのみまたは前記データ所有者のみによって重複排除が制御されると決定すること、前記データパッケージがCKを含まない場合、前記APおよび前記データ所有者のいずれによっても重複排除が制御されないと決定することを含む。
【0011】
本開示の別の態様によると、前記APに連絡して前記データの重複排除を実行することは、利用不能であれば、前記第1のデバイスに対する再暗号化鍵を前記APから受信することと、プロキシ再暗号化(PRE)方式に沿って、前記再暗号化鍵で前記第1のCKを再暗号化することと、前記第1のデバイスが前記第1のデバイスの秘密鍵により前記再暗号化された第1のCKを復号できるように、前記再暗号化された第1のCKを、前記第1のデバイスに送信することと、を含む。
【0012】
本開示の別の態様によると、前記データ所有者に連絡して前記データの重複排除を実行することは、属性ベース暗号(ABE)方式で前記第2のCKを復号することが適格な場合、前記データ所有者が前記第1のデバイスに対する属性秘密鍵を発行できるように、前記第1のデバイスの属性識別子(ID)を前記データ所有者に送信することを含む。
【0013】
本開示の別の態様によると、前記方法は、当該データが前記データセンターに記憶済みではないという確認結果に応じて、少なくとも1つの他のデータセンターに当該データが記憶されているかを確認することを要求することと、前記データに対する重複排除を実行可能な、前記少なくとも1つの他のデータセンターからの記憶済みであるという応答に応じて、前記第1のデバイスに対する前記データの重複排除情報を記録することと、前記少なくとも1つの他のデータセンターからの記憶済みではないという応答に応じて、それに応じたデータの記憶を実行することと、をさらに含む。
【0014】
本開示の別の態様によると、前記方法は、前記データセンターにより、第2のデバイスからデータの削除要求を受信することと、前記第2のデバイスによって前記データセンターに前記データが記憶されているかを確認することと、記憶されているという確認結果に応じて、前記第2のデバイスに対する前記データの記憶の記録を削除し、前記データの重複排除記録が空であれば、前記データを削除し、前記データの前記重複排除記録が空でなければ、前記データの所有者に通知して前記CTを更新することと、記憶されていないという確認結果に応じて、前記データを記憶し、前記第2のデバイスに対して前記データの記憶の記録を削除可能な別のデータセンターに連絡することと、をさらに含む。
【0015】
本開示の別の態様によると、前記所有者に通知して前記CTを更新することは、前記所有者が重複排除制御を継続すると判断するかを問い合わせることと、継続するという判断に応じて、前記データ所有者と協働して、前記データの前記重複排除ポリシーに沿って前記CTを更新することと、継続しないという判断に応じて、前記データの別の保持者に前記CTの更新を要求するか、前記データ所有者と協働で、前記APのみによって重複排除が制御されることを示す新たな重複排除ポリシーに沿って前記CTを更新することを含む。
【0016】
本開示の別の態様によると、前記方法は、データの前記CTを更新する要求に応じて、前記データの前記重複排除ポリシーを取得することと、前記重複排除ポリシーが、APの重複排除制御が必要であることを示す場合、PRE方式に沿って前記再暗号化鍵により前記更新済み第1のCKを再暗号化することと、前記第1のデバイスが、前記第1のデバイスの秘密鍵で、前記再暗号化された更新済み第1のCKを復号できるように、前記再暗号化された更新済み第1のCKを前記第1のデバイスに送信することと、前記重複排除ポリシーが、前記データ所有者による重複排除制御が必要であることを示す場合、ABE方式に沿って必要であれば、前記データ所有者に、前記データの識別子と、前記データ保持者の前記公開鍵情報を通知することで、前記更新済み第2のCKを復号できる秘密鍵を前記第1のデバイスに発行して、前記データ所有者によるデータ重複排除を実行可能とすることと、をさらに含む。
【0017】
本開示の別の態様によると、ユーザ装置におけるデータ記憶管理方法が提供され、前記方法は、前記ユーザ装置が、データセンターにデータの記憶要求を送信することと、前記データセンターからの前記データの要求に応じて、前記データの平文または暗号文(CT)を少なくとも含み、権限者(AP)および前記データの所有者の両方または一方、前記APのみ、あるいは前記データ所有者のみによって重複排除が制御される、またはそのいずれによっても制御されないことを示す前記データの重複排除ポリシーを含むデータパッケージ、または当該重複排除ポリシーが判定可能なデータパッケージを、前記データセンターに送信することと、前記データセンターまたは少なくとも1つの他のデータセンターからの前記データの重複排除要求に応じて、重複排除を実行するために属性ベース暗号(ABE)方式に沿って適格なデータ保持者に属性秘密鍵を発行することと、を含む。
【0018】
本開示の別の態様によると、前記方法は、前記データの適格なデータ保持者を検証するために、それぞれ前記データの特定の部位を示す複数のインデックスを含むインデックスリストと、それぞれ1つのインデックスに対応する複数のハッシュ情報を含むハッシュチェーン情報とを、前記データパッケージにより送信することをさらに含む。
【0019】
本開示の別の態様によると、前記方法は、前記データセンターに第2のデータを記憶する要求を送信することと、前記データセンターからの少なくとも1つのインデックスに対応するハッシュ情報の要求に応じて、前記第2のデータの保持者を検証するために前記データセンターに対して前記少なくとも1つのインデックスに対応する計算されたハッシュ情報を送信することと、をさらに含む。
【0020】
本開示の別の態様によると、前記方法は、前記重複排除ポリシーが前記APおよび前記データ所有者の両方によって重複排除が制御されることを示す場合、前記データパッケージにより、前記データを暗号化して前記CTを取得するためのデータ暗号化鍵(DEK)を分割して得られた第1のDEKおよび第2のDEKを暗号化して得られた互いに異なる第1の暗号鍵(CK)および第2のCKを送信することと、前記重複排除ポリシーが、重複排除が前記APまたは前記データ所有者の一方によって制御されることを示す場合、前記データパッケージにより、互いに等しい前記第1および第2のCKを送信することと、前記重複排除ポリシーが、重複排除が前記APのみまたは前記データ所有者のみによって制御されることを示す場合、前記第1のCKのみまたは前記第2のCKのみを前記データパッケージにより送信することと、前記重複排除ポリシーが、前記APおよび前記データ所有者のいずれによっても重複排除が制御されないことを示す場合、前記データパッケージにより前記平文を送信することと、をさらに含む。
【0021】
本開示の別の態様によると、前記第1のDEKは、プロキシ再暗号化(PRE)方式に沿って、前記APの公開鍵で暗号化され、前記第2のDEKは、前記データの保持に適格なユーザのユーザ識別子(ID)を含むアクセスポリシーに基づいて暗号化される。
【0022】
前記データの前記重複排除要求は、ユーザID情報を含み、重複排除を実行するために前記属性秘密鍵を発行することは、前記ユーザID情報が前記データの保持に適格なユーザを示すかを検証することと、示すという検証結果に応じて、前記ユーザID情報に基づいて前記属性秘密鍵を生成することと、を含む。
【0023】
本開示の別の態様によると、前記方法は、前記データセンターから、前記第2のデータに対する再暗号化された第1のCKを受信することと、前記ユーザ装置の秘密鍵により前記再暗号化された第1のCKを復号して前記第1のDEKを取得することと、前記第2のデータの所有者から属性秘密鍵を受信し、前記第2のデータの所有者または前記データセンターから前記第2のデータに対する前記第2のCKを受信することと、前記第2のCKを前記属性秘密鍵により復号して、前記第2のDEKを取得することと、前記第1および第2のDEKを結合して、複製排除のために前記DEKを複製排除のために前記DEKを取得することと、をさらに含む。
【0024】
本開示の別の態様によると、前記方法は、前記ユーザ装置により、データの削除要求を前記データセンターに送信することと、前記データセンターからの少なくとも1つのインデックスに対応するハッシュ情報の要求に応じて、前記データの前記保持者を検証するために前記データセンターに対して前記少なくとも1つのインデックスに対応する計算されたハッシュ情報を送信することと、前記データセンターまたは少なくとも1つの他のデータセンターからの、前記CT更新の要求に応じて、前記データの重複排除ポリシーに沿って前記CTを更新することと、をさらに含む。
【0025】
本開示の別の態様によると、前記方法は、重複排除制御の継続が必要な場合、前記データのオリジナルの重複排除ポリシーに沿って、前記CTを更新することと、重複排除制御の継続が不要な場合、前記APのみによって重複排除が制御されることを示す新たな重複排除ポリシーに沿って、前記CTを更新することと、をさらに含む。
【0026】
本開示の別の態様によると、前記方法は、前記データセンターに、データのCTの更新要求であって、権限者(AP)および前記データの所有者の両方または一方、前記APのみ、あるいは前記データ所有者のみによって重複排除が制御される、またはそのいずれによっても制御されないことを示す前記データの重複排除ポリシーを含む要求、または当該重複排除ポリシーが判定可能な要求を送信することと、前記重複排除ポリシーが、前記データ所有者による重複排除制御が必要であることを示す場合、属性秘密鍵が未送信であれば、重複排除を実行するために属性ベース暗号(ABE)方式に沿って適格なデータ保持者に前記属性秘密鍵を発行することと、をさらに含む。
【0027】
本開示の別の態様によると、前記方法は、前記データセンターから再暗号化された更新済み第1のCKを受信することと、前記ユーザ装置の秘密鍵により、前記再暗号化された更新済み第1のCKを復号し、前記更新済み第1のDEKを取得することと、利用不能な場合、前記データの所有者から属性秘密鍵を受信し、前記データセンターまたはデータ所有者から前記更新済み第2のCKを受信することと、前記属性秘密鍵により前記更新済み第2のCKを復号して、前記更新済み第2のDEKを取得することと、前記更新済み第1および第2のDEKを結合して、重複排除のために前記更新済みDEKを取得することと、をさらに含む。
【0028】
本開示の別の態様によると、装置が提供され、前記装置は、上記のいずれか1つの方法のすべてのステップを実行するように構成された手段を備える。
【0029】
本開示の別の態様によると、装置が提供され、前記装置は、少なくとも1つのプロセッサと、コンピュータ実行可能コードを含む少なくとも1つのメモリと、を備え、前記少なくとも1つのメモリおよび前記コンピュータ実行可能コードは、前記少なくとも1つのプロセッサにより、前記装置に上記のいずれか1つの方法のすべてのステップを実行させるように構成される。
【0030】
本開示の別の態様によると、コンピュータ実行可能プログラムコードを記憶した少なくとも1つの非一時的コンピュータ可読記憶媒体を含むコンピュータプログラムプロダクトが提供され、前記コンピュータ実行可能コードは、実行されたとき、上記のいずれか1つの方法を装置に実施させるように構成される。
【0031】
本開示のこれらの目的やその他の目的、特徴、および効果は、添付の図面と照らして、以下の具体例としての実施形態の詳細な説明から明らかとなる。
【図面の簡単な説明】
【0032】
図1図1は、本開示の少なくとも1つの実施形態が実現され得る例示的システムを示す。
【0033】
図2図2は、本開示の実施形態に係る、ヘテロジニアス制御に基づくデータ重複排除のための全体的なシステム処理を示すフローチャートである。
【0034】
図3図3は、本開示の実施形態に係る、権限者による制御に基づくデータ重複排除のための全体的なシステム処理のフローチャートを示す。
【0035】
図4図4は、本開示の実施形態に係る、データ所有者による制御に基づくデータ重複排除のための全体的なシステム処理のフローチャートを示す。
【0036】
図5図5は、本開示の実施形態に係る、権限者とデータ所有者のいずれの制御も介さないデータ重複排除のための全体的なシステム処理のフローチャートを示す。
【0037】
図6図6は、本開示の実施形態に係る、複数のCSPの協働によるデータ重複排除の処理のフローチャートを示す。
【0038】
図7図7は、本開示の実施形態に係るデータ削除処理のフローチャートを示す。
【0039】
図8図8は、本開示の実施形態に係るデータ重複排除制御の継続処理のフローチャートを示す。
【0040】
図9図9は、本開示のある実施形態に係る、データ暗号化鍵および暗号文の更新のための全体的なシステム処理のフローチャートを示す。
【0041】
図10図10は、本開示のある実施形態に係るユーザ装置において、データの記憶を管理する処理のフローチャートを示す。
【0042】
図11図11は、本開示のある実施形態に係る通信ネットワークにおいて、データの記憶を管理する処理のフローチャートを示す。
【0043】
図12図12は、本開示のいくつかの例示的実施形態を実施する際に好適に用いられる装置を示す概略ブロック図である。
【発明を実施するための形態】
【0044】
開示された実施形態の十分な理解を促すために、以下に詳細を述べて説明とする。しかし、実施形態はこれらの特定の詳細やこれと均等の配置によらず実施できることは、当業者には明らかである。
【0045】
上述のように、クラウドコンピューティングでは、様々なデータがクラウドに記憶されている。例えば、機密の個人情報や個人データ、公に共有されるデータやある個人の集団に限定して共有されるデータ等である。重要データについては、クラウドにおいて権限のない者から、場合によってはクラウドサービスプロバイダ(CSP)からも含めて、あらゆるアクセスから保護されるべきであるが、そうでないデータもある。特に共有データの重複データが同一または異なるユーザにより、同一CSPまたは複数のCSPによるクラウドに保存される場合がある。同一データは、平文または暗号文(様々なデータ保持者が把握している様々な鍵を使用して暗号化)の形式で保存され得る。通常、重複データの記憶はストレージ資源の大量浪費、電力の不要な消費、クラウドサービスプロバイダの運転費用の増加、クラウドにおけるデータ管理の複雑化(例えばデータ検索が複雑化し得る)につながる。
【0046】
一方で、データ所有者または保持者は、自身のデータの取扱いについてCSPを完全には信頼しておらず、(デジタル著作権管理の一環として)自身でデータのアクセス、記憶、利用を管理することを望む場合がある。しかし、複雑さや可用性を考えると、常に自身で自データを管理したり、機密性の低いデータを個人的に管理したりすることは不便となり得る。さらに、互換性を考えると、データ重複排除が、他のデータアクセス制御機構と協働可能であることが大いに期待される。すなわち、一度のみクラウドで保存された同じデータ(暗号化されているか否かにかかわらず)が、データ所有者やデータ保持者(すなわち、オリジナルデータを保持する適格なデータユーザ)のポリシーに基づき異なるユーザにアクセスされる可能性がある。
【0047】
本開示の実施形態は、データセキュリティおよびプライバシー要求を満たすように、データ所有者、信頼された第三者、またはその両方により制御された、あるいはそのいずれにも制御されていないデータ重複排除に柔軟に対応し、同時に各種データ記憶状況において記憶領域を節約するための、クラウドコンピューティングにおけるデータの記憶を安全に管理するための包括的かつ異種対応的(ヘテロジニアス)方法を提供できる。本開示の実施形態を、図1〜12を参照して以下に説明する。
【0048】
図1は、本開示の少なくとも1つの実施形態が実現され得る例示的システムを示す。図示のように、システム100は、複数のユーザ装置110−1〜110−nと、データセンター120および120'と、権限者(AP)130とを含んでもよい。ユーザ装置110−1〜110−nの内の任意のものは、そのユーザが、データセンター120または120'にデータをアップロード、保存可能としてもよい。機密でないデータは平文テキスト形式でアップロード、保存され、一方、機密データは暗号文形式でアップロード、保存されてもよい。例えば、ユーザ装置110−1〜110−nのユーザが同一の一データを保持し、そのデータ保持者の少なくとも一がデータ所有者であり得る。多数のデータ保持者が同一の平文または暗号文データをデータセンター120または120'に保存した場合に、データ重複が生じ得る。データ所有者は、データ所有者、AP130、またはその両方によりデータ重複排除を制御可能とするように、あるいはそのいずれにも可能としないように、自由に決定可能である。ユーザ装置110は、デスクトップコンピュータ、ラップトップコンピュータ、携帯電話、タブレットコンピュータ、携帯情報端末(PDA)等の、有線や無線通信が可能な、任意の固定または携帯デバイスであってもよい。
【0049】
データセンター120または120'は、データストレージサービスを提供してもよい。多数のデータ保持者が同一の平文または暗号文データをデータセンター120または120'に保存した場合、データセンター120または120'は、データ重複排除を自身で実行しても、データ所有者および/またはAP130と協働で実行してもよい。データセンター120および120'は、業務提携に基づき、協働で重複排除により記録領域を節約してもよい。図1で示されているのはデータセンター120および120'の2つだが、システム100はより多くのデータセンターを含んでもよい。例えば、データセンター120および120'は、それぞれ異なるCSP(例えば、ローカルCSPとリモートCSP)により提供されてもよい。あるいは、データセンター120および120'は、従前のファイルホスティングサービス技術のような、その他任意のデータ記憶技術により実現されてもよい。
【0050】
AP130は、データセンター120または120'に記憶されたデータへのアクセスを管理してもよい。例えば、AP130は、データ所有者の代わりにデータ重複排除を担ったり、データセンター120または120'を介してデータ所有者と協働でデータ重複排除を実行したりしてもよい。AP130は、アクセスマネジメントセンターとして機能してもよい。APは、いずれのデータセンターとも癒着がなく、データ保持者によりデータ重複排除を実行するのに信頼足るとされている存在である。例えばAPは、特別に設立された組織である。
【0051】
ユーザ装置110−1〜110−n、データセンター120および120'、AP130が互いに通信する通信ネットワークは、有線や無線ネットワークであってもよい。当該ネットワークとしては、ローカルエリアネットワーク(Local Area Network:LAN)、メトロポリタンエリアネットワーク(Metropolitan Area Network:MAN)、広域ネットワーク(Wide Area Network:WAN)、公衆データネットワーク(例えばインターネット)、個人モバイルネットワーク、または商業上所有された所有者パケット交換型ネットワーク(例えば所有者ケーブルまたは光ファイバネットワーク)等のその他の好適なパケット交換型ネットワークが挙げられるが、これらに限定されるものではない。無線ネットワークは、例えばセルラーネットワークであってもよく、広域展開用高速データレート(Enhanced Data rates for Global Evolution:EDGE)、汎用パケット無線サービス(General Packet Radio Service:GPRS)、GSM(登録商標),インターネットプロトコルマルチメディアサブシステム(Internet protocol Multimedia Subsystem:IMS)、ユニバーサル移動通信システム(Universal Mobile Telecommunications System:UMTS)等や、さらにその他の好適な無線媒体、例えば、WiMAX(登録商標)、無線LAN(Wireless LAN:WLAN)、ロングタームエボリューション(Long Term Evolution:LTE)ネットワーク、符号分割多元接続(Code Division Multiple Access:CDMA)、WCDMA(登録商標)、Wi−Fi(Wireless Fidelity)、衛星、モバイルアドホックネットワーク(Mobile Ad-hoc Network:MANET)、遅延体制ネットワーク等を含む様々な技術を用いてもよい。
【0052】
図2は、本開示の実施形態に係る、ヘテロジニアス制御に基づくデータ重複排除のための全体的なシステム処理を示すフローチャートである。なお、本開示のいくつかの実施形態を、データセンターがクラウド記憶技術で実現されている図2から9を参照して説明するが、本開示はそれに限定されるものではない。上述のように、本開示の原理は従前のファイルホスティングサービス技術のような、任意のその他のデータ記憶技術で実現されるデータセンターにも適用可能であることが、当業者には理解できよう。
【0053】
全体的なシステム処理がよりよく理解できるように、まず例示的実施形態の概要およびそれに関連した方式の鍵やアルゴリズムについて説明する。なお、説明に対する理解を促すために、ユーザのデバイスは以下ではユーザ(例えばデータ所有者またはデータ保持者)と称する場合がある。
【0054】
本開示の例示的実施形態では、例えば異なる記憶状況および/または重複排除ポリシーに沿って、データ所有者がデータ暗号化鍵(DEK)をNULL値または非NULL値に設定可能であってもよい。データ所有者がデータアクセス制御の実行を望まない場合、DEKはNULL値を持つように設定されてもよい。この場合、CSPに平文が記憶され、CSPが重複排除を一手に担ってもよい。一方、データアクセス制御が必要であれば、DEKは非NULL値を持つように設定されてもよい。非NULL値は、対称秘密鍵であってもよい。この場合、暗号文(CT)が保存されてもよい。
【0055】
その後、例えば異なる記憶状況および/または重複排除ポリシーに沿って、DEKが2つの部分、具体的にはDEK1およびDEK2に分けられる。データ所有者が自身のみによってデータ重複排除を制御することを望む場合、DEK1がNULLとなってもよく、したがって、DEK2=DEKとなる。この場合、属性ベース暗号(ABE)方式を採用してもよい。
【0056】
ABEシステムでは、ユーザは正確な識別子ではなく、属性群により識別されてもよい。各データは属性ベースアクセス構造で暗号化されてもよく、その場合、アクセス構造に適合する属性を持つユーザのみがデータを復号できる。ABEは、属性およびポリシーと暗号文およびユーザの復号鍵との関連性に基づく、鍵ポリシーABE(KP−ABE)および暗号文ポリシーABE(CP−ABE)の二通りに展開した。CP−ABEでは、暗号文は、属性に対してブーリアン方式として定式化されているアクセス制御ポリシーに沿って暗号化されてもよい。この構造では、アクセス制御ポリシーに適合する属性を持つユーザのみが、その秘密属性鍵により暗号文を復号可能となることが保証される。KP−ABEでは、ユーザの秘密鍵は属性群と関連付けられてもよい。
【0057】
一例として、適格なデータ保持者の識別子(ID)を含むアクセスポリシーに基づいて、DEK2を暗号化して暗号鍵CK2が得られてもよい。すなわち、適格なデータ保持者のIDを属性として利用するのである。これにより、適格なデータ保持者はその属性がアクセスポリシーに適合し、CK2を復号できる。
【0058】
さらに、データ所有者が、AP単独でデータ重複排除を制御することを望む場合、DEK2をNULLにしてもよく、したがって、DEK1=DEKとなる。この場合、プロキシ再暗号化(PRE)方式を採用してもよい。PREでは、プロキシへの信用を上乗せする必要なく、鍵一組で委任者が細かなポリシーを実現できるようになる。PREシステムでは、委任者のCTは当該委任者の公開鍵で生成でき、委任者は再暗号化鍵を、適格なデータ保持者のデータアクセス用に、プロキシに割り当ててもよい。これを受けて、プロキシは再暗号化鍵によりCTを再暗号化してもよく、これにより再暗号化されたCTは適格なデータ保持者(例えば受任者)の秘密鍵で復号できる。
【0059】
一例として、APが委任者で、CSPがプロキシで、適格なデータ保持者が受任者であり得る。データ所有者はAPの公開鍵でDEK1を暗号化することでCK1を取得し、当該CK1をCSPに送信してもよい。CSPは、APにより割り当てられた再暗号化鍵でCK1を再暗号化し、再暗号化されたCK1を適格なデータ保持者に送信してもよい。これにより、適格なデータ保持者は自身の受任者秘密鍵により再暗号化されたCK1を復号できる。
【0060】
さらに、データ所有者が、自身とAPとの両方でデータ重複排除を制御することを望む場合、DEK1とDEK2はいずれも非NULLであってもよい。この場合、ABE方式とPRE方式のいずれも採用可能で、DEK1とDEK2を集約してDEKを取得することができる。さらに、データ所有者が自身とAPとのいずれかでデータ重複排除を制御することを望む場合、DEK1=DEK2=DEKとなる。この場合、重複排除は、データ所有者またはAPのいずれかに連絡することで実行されてもよい。
【0061】
このように、本開示は、データ所有者と権限者の一方または両方あるいはその他によるクラウドデータ重複排除に対する二次元的記憶管理を提案できる。これは、データ所有者、信頼できる第三者、その両方、またはその他によってクラウドデータ重複排除の取扱いが可能な状況に適用できる。
【0062】
CSP側では、重複データMのハッシュコードをその識別子として利用できる。この識別子は、データアップロードおよび記憶の際にデータ重複の確認に使用される。データMのハッシュコード、すなわちH(M)は、データ所有者またはデータ保持者により、CSPが実行する原本性検証のために署名されてもよい。例えば、H(M)は、公開鍵暗号化システム(PKC)で署名されてもよい。また、データMのランダムに選択された具体的な部位における複数のハッシュコードは、そのインデックスを基に計算されてもよい(例えばデータの最初の20.1%のハッシュコード、データの21〜25%のハッシュコード)。これらのハッシュコードは、データMのハッシュチェーン(HC)と称されてもよい。
【0063】
データ所有者/保持者がデータMをCSPに記憶しようとする際に、重複確認のために、データMの署名されたハッシュコードをCSPに送信してもよい。重複確認の結果が重複を示す場合、CSPはさらに、データ保持者が所有者であるかを、データMのハッシュチェーン(例えば、チェーンにおけるいくつかの特定のハッシュコード)に基づいて検証してもよい。当該ハッシュチェーンによる検証の結果が所有者であると示す場合、データ所有者の重複排除ポリシーに基づく重複排除のため、CSPはデータ所有者および/またはAPに連絡してもよい。
【0064】
データ重複確認は、CSP間で実行されてもよい。あるCSPが別のCSPのためにデータを保存してもよい。データ保持者が同一のデータを別のCSPに保存しようとすると、CSP間で、その契約に基づき、重複確認が実行されてもよい。別のCSPの適格なユーザからの重複データアクセスは、当該CSPにより対応されてもよい。
【0065】
本開示の例示的実施形態で使用される鍵を、以下の表に示す。
【0066】
上述のシステム鍵の用途について、例示的実施形態で使用されるいくつかの基本的アルゴリズムの説明とともに詳述する。
【0067】
InitiateNode(u)
InitiateNodeアルゴリズムは、システム設定時にユーザuにより実行されてもよく、通常は固有のノード識別子であるノード識別子uを入力とする。アルゴリズムは、以下の鍵組と認証を出力してもよい。
(1)ABE用の公開ユーザ鍵PK_uおよび秘密ユーザ鍵SK_u。
ユーザuがデータ所有者で、ユーザu'がデータ保持者であるとする。上述のアルゴリズムIssueIDSK(ID,SK_u,PK_u')を呼び出すことにより、ユーザu'に対して、公開ユーザ鍵PK_u'を使用してユーザu'の秘密属性鍵(すなわちSK_(ID,u,u'))を発行してもよい。
各ユーザは、別のユーザの識別子に基づいて別のユーザに秘密属性鍵を発行するために使用される秘密鍵SK_uを保持してもよい。それはさらにユーザu−pk_(ID,u)の識別子属性(IDで示す)の自身の公開鍵を生成するために使用されてもよい。秘密ユーザ鍵SK_uはさらに、PK_uにより暗号化された暗号文の復号に使用されてもよい。
(2)公開鍵暗号化システム(PKC)用の鍵組PK'_uおよびSK'_u。
SK'_uは、署名生成の実行や、PK'_uによって暗号化されたデータの復号に使用されてもよい。したがって、PK'_uは、署名検証やデータ暗号化に使用されてもよい。
(3)PRE用の鍵組pk_uおよびsk_u。
上述のように、PREシステムは三種類の関係者、すなわち、委任者、プロキシ(代理)、受任者を含み得る。一例として、データ保持者が受任者であり得る。したがって、pk_uを受任者公開鍵、sk_uを受任者秘密鍵と称してもよい。
(4)さらに、PK_u、PK'_u、pk_uは、権限のある第三者(例えばPKIにおけるCA)またはCSPによりそれぞれCert(PK_u)、Cert(PK'_u)、Cert(pk_u)という認証とされてもよい。Cert(PK_u)、Cert(pk_u)、Cert(PK'_u)は、CSPおよびCSPユーザにより検証されてもよい。
【0068】
InitiateAP
このアルゴリズムの処理では、APは単独でPRE用のpk_APおよびsk_APを生成し、CSPのストレージサービスを介して、CSPユーザに対してpk_APを同時送信してもよい。一例として、APはPREシステムにおける委任者であり得る。したがって、pk_APを委任者公開鍵、sk_APを委任者秘密鍵と称してもよい。
【0069】
Encrypt(DEK_u,M)
Encryptアルゴリズムは、データM、対称鍵DEK_uを入力としてもよい。このアルゴリズムは、DEK_uによりデータMを暗号化し、暗号文CT_uを出力してもよい。この処理は、ユーザuがCSPに記憶された自身のデータをDEK_uで保護するために実行してもよい。
【0070】
SeparateKey(DEK_u)
DEK_uとDEK_uの両方が非NULLであると判定されると、DEK_uの入力に応じて、この関数は例えばランダム分割に基づいて、鍵の2つの部分DEK_uおよびDEK_uを出力してもよい。
【0071】
CreateIDPK(ID,SK_u)
CreateIDPKアルゴリズムは、ユーザ(すなわちデータ所有者)が自身のデータ記憶の制御と、クラウドへのアクセスを望んだ際にはいつでも実行されてもよい。このアルゴリズムは、ユーザuのID(例えばPK_u)がデータ記憶管理に関連するポリシーに適合するかを確認してもよい。例えば、データの記憶およびアクセス管理のため、該IDがデータ所有者のIDであるかを確認してもよい。IDがポリシーに適合する場合、このアルゴリズムは、ABE機構に応じて、ユーザuのIDに関連した公開属性鍵(pk_(ID,u)で示す)を出力してもよい。適合しない場合、このアルゴリズムは、NULLを出力してもよい。
なお、識別子属性はID(匿名識別子であってもよい)として示されている。(ID,u)で示されるすべての属性には、pk_(ID,u)で示された公開鍵が存在する。これはユーザuにより生成され、DEKの一部である対称鍵DEK2の暗号化に使用される。
【0072】
EncryptKey(DEK_u,A,pk_(ID,u))
EncryptKeyアルゴリズムは、対称鍵DEK_uである第2部分と、アクセスポリシーAと、データ記憶管理に関連したポリシーで生じる識別子属性に対応する公開鍵pk_(ID,u)を入力としてもよい。このアルゴリズムは、ポリシーAによりDEK_uを暗号化し、暗号鍵CK_uを出力してもよい。この処理は、CSPにおけるデータの記憶に対する重複排除に対応するためにユーザuにより実行されてもよい。
アクセスポリシーAについて、例えばデータ所有者はID=PK_u'(j=1、2、3)を有する別のデータ保持者とデータの記憶を共有することを望む場合がある。この場合、ポリシーAはID=PK_u'∨PK_u'∨PK_u'となり得る。EncryptKeyアルゴリズムは、j=1、2、3のすべてに対して繰り返し、論理積ごとにランダム値R_jおよび構成要素CK_jを生成してもよい。暗号鍵CKはタプルCK=<CK_、CK_、…、CK_>として取得され得る。
【0073】
IssueIDSK(ID,SK_u,PK_u')
IssueIDSKアルゴリズムを呼び出す前に、Cert(PK_u')が信頼された第三者またはデータ所有者自身により認証された有効な識別子であるかを確認することで、ユーザu'の適格性を確認してもよい。図2を参照して後述するように、ユーザuはCSPを介してユーザu'からCert(PK_u')を受信してもよい。
確認の結果が適格を示した場合、最初に公開鍵PK_u'を有するユーザu'が適格な属性IDを有するか(すなわちPK_u'がデータを保持する権限を有するか)を確認することで、ユーザuがIssueIDSKアルゴリズムを実行してもよい。例えば、PK_u'がアクセスポリシーAに適合するかを確認してもよい。
その結果が適合することを示す場合、IssueIDSKアルゴリズムは、ユーザu'に対して秘密属性鍵SK_(ID,u,u')を出力してもよい。適合しなければ、このアルゴリズムは、NULLを出力してもよい。生成されたSK_(ID,u,u')は、ユーザuからセキュアチャネルを介して、またはPKCを使用して、ユーザu'に送信されてもよい。
なお、pk_(ID,u)により暗号化された暗号鍵を復号するための対応する秘密属性鍵は、適格なデータ保持者に対して個別化され、データ所有者uにより発行される。癒着が生じないよう、すべてのデータ保持者には、それぞれ自身のみが使用可能な、別々の秘密属性鍵が提供される。適格な保持者u'に対してユーザuから発行される属性IDの秘密属性鍵は、sk_(ID,u,u')で示される。
【0074】
DecryptKey(CK_u,A,PK_u',sk_(ID,u,u'))
DecryptKeyアルゴリズムは、EncryptKeyアルゴリズムにより生成された暗号鍵と、CK_uを暗号化したアクセスポリシーAと、ユーザu'に対するSK_u'、sk_(ID,u,u')を入力としてもよい。属性(例えばPK_u')が十分アクセスポリシーAに適合するならば、DecryptKeyアルゴリズムは、暗号鍵CK_uを復号し、対応する平文鍵DEK_uを出力してもよい。適合しない場合、このアルゴリズムは、NULLを出力してもよい。
この処理は、重複保存が生じると、ユーザu'により実行されてもよい。最初にPK_u'が暗号化ポリシーAに適合するかが確認され、その結果が適合を示す場合、復号を実行してDEK_uを取得する。
【0075】
上述のように、PRE方式はAPによりDEK再暗号化に対応してもよい。プロキシ再暗号化は、CSP(すなわちプロキシ)がAPの公開鍵により計算されたDEKの暗号文を、適格なデータ保持者の秘密鍵を使用して復号できるものに変換可能とするものであってもよい。再暗号化と称する暗号文変換中に、CSPはDEKの元となる平文について知ることはないため、データ保持者の平文データを把握することはできない。PRE方式に関連したアルゴリズムを以下に説明する。
【0076】
E(pk_AP,DEK_u)
pk_APおよびDEK_uの入力に応じて、このアルゴリズムは、暗号文CK1=E(pk_AP,DEK_u)を出力してもよい。
【0077】
RG(pk_AP,sk_AP,pk_u')
(pk_AP,sk_AP,pk_u')の入力に応じて、再暗号化鍵生成アルゴリズムRGは、プロキシCSPに対して再暗号化鍵rk_AP→u'を出力してもよい。
【0078】
R(rk_AP→u',CK
rk_AP→u'および暗号文CKの入力に応じて、再暗号化関数Rは、秘密鍵sk_u'により復号可能なR(rk_AP→u',CK)=E(pk_u',DEK_u)=CK'を出力してもよい。
【0079】
D(sk_u,CK'
sk_uおよび暗号文CK'の入力に応じて、復号アルゴリズムDは平文鍵DEK_uを出力してもよい。
【0080】
CombineKey(DEK_u,DEK_u)
DEK_uおよびDEK_uの入力に応じて、この関数は、結合によって完全鍵DEK_uを出力してもよい。
【0081】
Decrypt(DEK_u,CT_u)
Decryptアルゴリズムは、暗号化データCT_uおよび対称鍵DEK_uを入力としてもよい。このアルゴリズムは、DEK_uによりCT_uを復号し、平文データMを出力してもよい。この処理は、CSPに保存されたデータの平文を開示するため、データ保持者により実行される。
【0082】
次に、本開示の実施形態に係るヘテロジニアス制御によるデータ重複排除のための全体的なシステム処理を、図2を参照して説明する。本処理では、ユーザu1が実際のデータ所有者であり、自身の機密個人データMをDEK_u1で保護してCSPに保存する。一方、ユーザu2は同じデータのCSPへの保存を試みるデータ保持者である。図2のシステムでは、データ所有者およびAPの両方が重複排除制御に必要であり、CSPは1つのみ存在する。
【0083】
ステップ202において、CSPおよびAPの各ユーザはシステム設定を実行してもよい。各ユーザuは、InitiateNode(u)を呼び出し、3つの鍵組(PK_u,SK_u)、(PK'_u,SK'_u)、(pk_u,sk_u)(i=1、2、…)を生成する。一方、各ユーザuは、自身で生成した公開鍵Cert(PK_u)、Cert(PK'_u)、Cert(pk_u)に対応する認証を、権利を有する第三者(PKIにおけるCA)またはCSPから取得してもよい。例えば、ステップ202aにおいて、ユーザuは3つの鍵組(PK_u,SK_u)、(PK'_u,SK'_u)、(pk_u,sk_u)を生成し、その生成した公開鍵に対応する認証Cert(PK_u)、Cert(PK'_u)、Cert(pk_u)を取得してもよい。上述のように、ユーザuはデータ所有者であるため、PRE用の鍵組(pk_u,sk_u)と対応する認証Cert(pk_u)も省略されてもよい。ステップ202bにおいて、ユーザuは3つの鍵組(PK_u,SK_u)、(PK'_u,SK'_u)、(pk_u,sk_u)を生成し、その生成した公開鍵に対応する認証Cert(PK_u)、Cert(PK'_u)、Cert(pk_u)を取得してもよい
【0084】
APは、ステップ202dにおいてInitiateAPを呼び出し、自身の鍵組(pk_AP,sk_AP)を生成し、pk_APを各ユーザに同時送信してもよい。さらに、CSPは、ステップ202cにおいて各公開鍵PK_u、PK'_ui、pk_uを受信し、対応する認証Cert(PK_u)、Cert(PK'_u)、Cert(pk_u)を各ユーザuに発行してもよい。
【0085】
次にステップ204において、ユーザuは、データMのハッシュ情報を生成してもよい。ハッシュ情報は、少なくともデータMのハッシュコードを含んでもよい。例えば、ユーザuは、H(M)を計算し、SK'_uによりH(M)を署名しSign(H(M),SK'_u)としてもよい。ここで、Sign()は署名関数を示す。
【0086】
次にステップ206において、ユーザuは、少なくともデータMのハッシュ情報を送信してもよい。例えば、ユーザuは、パッケージP={H(M),Sign(H(M),SK'_u),Cert(PK_u),Cert(PK'_u),Cert(pk_u)}をCSPに送信してもよい。別の例として、パッケージは少なくともデータ記憶重複確認に必要なH(M)、Sign(H(M),SK'_u)、Cert(PK'_u)を含んでもよい。
【0087】
その後、ステップ208において、CSPは同じデータMを保存しているかを確認してもよい。同じデータがCSPに保存されていない場合、CSPはユーザuにデータ送信を要求してもよく、同じデータがCSPに保存されている場合、ステップ220にて詳細に後述するように、CSPはユーザuが所有者であるかを検証してもよい。なお、ステップ208および220は実質的に同じである。ここでは最初にアップロードしたのが実際のデータ所有者であるため、ステップ208においてCSPはユーザuにデータアップロードを要求する。
【0088】
例えば、ステップ208において、CSPは、認証Cert(PK'_u)を検証し、PK'_uにより署名Sign(H(M),SK'_u)を検証し、その後CSPに同じH(M)が記録されているかを確認してもよい。ここではユーザu(すなわちデータ所有者)が最初にアップロードしているので、ステップ210においてCSPはユーザuにデータを要求してもよい。
【0089】
次にステップ212において、ユーザuは、データMをDEKで暗号化し、DEKをDEK1とDEK2に分割し、PRE方式でDEK1を暗号化し、ABE方式でDEK2を暗号化し、データMのインデックスリストとハッシュチェーン情報を計算してもよい。
【0090】
例えば、プライバシーおよびセキュリティ保護のために、ユーザuは、データMをランダムに選択された対称鍵DEK_uにより暗号化してCT_u=Encrypt(DEK_u,M)を取得してもよい。その後ユーザuは、SeparateKey(DEK_u)を呼び出して、DEK1_uおよびDEK2_uというDEK_uの2つのランダムな部位を取得してもよい。ユーザuは、EncryptKey(DEK2_u,A,pk_(ID,u))を呼び出して、pk_(ID,u)によりDEK2_uを暗号化して、CK1_uを取得してもよい。pk_(ID,u)は、上述のようにユーザuのデータ記憶管理ポリシーに応じて生成される。ユーザuは、E(pk_AP,DEK1_)を呼び出して、pk_APによりDEK1_uを暗号化することでCK_uを取得してもよい。
【0091】
さらに、ユーザuは、インデックスリストIN={In,In,…,In}をランダムに選択してもよい。当該リストは、Mの特定の部位を示す(例えばInはデータの最初の1%を示し,Inはデータの最初の1.2%を示す)。さらに、ユーザuは、インデックスに基づいて各種Mの部位のハッシュコードを計算して,HC(M)={H(M),H(M),…,H(M)}を取得してもよい。さらにユーザuは、SK'_uによりHC(M)を署名して、Sign(HC(M),SK'_u)を取得してもよい。
【0092】
次にステップ214において、ユーザuは、インデックスリスト、ハッシュチェーン情報、暗号化されたデータ、暗号化されたDEK1、暗号化されたDEK2を送信してもよい。ハッシュチェーン情報は、少なくともデータMのハッシュチェーンを含んでもよい。例えば、ユーザuは、データパッケージDP={CT_u,CK1_u,CK2_u,In,HC(M),Sign(HC(M),SK'_u)}を、セキュアチャネルを介してCSPに送信してもよい。続いてステップ216において、CSPはデータパッケージを保存してもよい。
【0093】
次にステップ218において、ユーザuは、すでに保存された同じデータMをCSPに保存しようとしてもよい。ステップ206と同様に、ユーザuは、少なくともデータMのハッシュ情報を送信してもよい。例えば、ユーザuは、パッケージP={H(M),Sign(H(M),SK'_u),Cert(PK_u),Cert(PK'_u),Cert(pk_u)}をCSPに送信してもよい。別の例としてパッケージは、データ記憶重複確認に必要なH(M),Sign(H(M),SK'_u),Cert(PK'_u)を少なくとも含んでもよい。
【0094】
次にステップ208と同様に、ステップ220において、CSPは、同じデータを保存しているかを確認してもよい。CSPに同じデータが保存されていなければ、CSPはユーザにデータ送信を要求してもよい。CSPに同じデータが保存されていれば、CSPはユーザが所有者かを検証してもよい。ユーザuにより同じデータがCSPに保存されているので、この確認結果は正となる。この場合、CSPはユーザuにインデックスリストの少なくとも1つのインデックスに対応するハッシュ情報の送信を要求してもよい。例えば、CSPは、1つのインデックxまたは複数のインデックスをランダムに選択してもよい。さらに、CSPは、PK'_uによりインデックスxを暗号化してE(x,PK'_u)としてもよい。ステップ222において、CSPはインデックス情報(例えば、E(x,PK'_u))をユーザuに送信してもよい。
【0095】
次にステップ224において、ユーザuは、対応するハッシュ情報を計算して、CSPに送信してもよい。対応するハッシュ情報は、CSPから送信された少なくとも1つのインデックスに対応するハッシュ情報を少なくとも含んでもよい。例えば、ユーザuは、ハッシュコードHC(M)を計算してもよく、ここで、MはCSPから送信された少なくとも1つのインデックスxに対応するMの部位を示す。さらに、ユーザuは、SK'_uによりHC(M)を署名して、Sign(HC(M),SK'_u)としてもよい。続いてユーザuは、HC(M)およびSign(HC(M),SK'_u)をCSPに送信してもよい。なお、このステップでは、データの保持者を確定するため、CSPは複数のHC(M)を検証してもよい。
【0096】
次にステップ226において、ユーザuがCSPに保存したハッシュチェーン情報に基づいて、CSPは、ユーザuから送信されたハッシュ情報を検証してもよい。検証の結果が正であれば、CSPは、重複排除のためAPおよびユーザuに連絡してもよい。なお、APおよびユーザuには、同時または任意の順番で順次連絡してもよい。図2では、CSPはまずAPに連絡し、その後ユーザuに連絡している。
【0097】
例えば、ステップ226において、CSPは、PK'_uによりSign(HC(M),SK'_u)を検証し、受信したHC(M)がCSPにすでに保存されているHC(M)と同一であるかを確認してもよい。この確認の結果が正の場合、CSPはステップ228に進んでもよい。ステップ228において、CSPは、ユーザuのPRE用公開鍵情報を、まだAPと共有されていない場合、APに送信してもよい。例えば、CSPは、認証Cert(pk_u)(pk_uを含む)をAPに送信してもよい。
【0098】
次にステップ230において、APは、ユーザuに関する第三者でのデータ記憶ポリシーを検証してもよい。検証結果が正であれば、APは、ユーザuに対す再暗号化情報を生成してもよい(利用不能な場合)。例えば、適格なデータ保持者に関する第三者でのデータ記憶ポリシーは、適格なデータ保持者のPRE用の公開鍵情報を含むアクセスポリシーであってもよく、ステップ212においてデータ所有者uにより生成され、ステップ214においてCSPに送信され、ステップ228においてAPに送信されてもよい。あるいは、APに対しては別の安全な方法で送信されてもよい。さらに、例えばAPは、RG(pk_AP,sk_AP,pk_u)を呼び出してrk_AP−>uを生成してもよい(利用不能な場合)。続いてステップ232において、APは、再暗号化情報をCSPに送信してもよい。例えば、APはrk_AP−>uをCSPに対して、セキュアチャネルを使用して発行してもよい。
【0099】
ステップ234において、CSPは、再暗号化情報によりCK1_uを再暗号化してもよい。例えば、CSPは、R(rk_AP−>u2,E(pk_AP,DEK1_u))=E(pk_u,DEK1_u)を呼び出してCK1_uを再暗号化してもよい。続いてステップ236において、CSPは、再暗号化されたCK1_u(すなわちE(pk_u,DEK1_u))をユーザuに通知してもよい。ユーザuは、E(pk_u,DEK1_u)について受領通知をCSPに送信してもよい。続いてステップ238において、ユーザuは、再暗号化されたCK1_u(すなわちE(pk_u,DEK1_u))をその秘密鍵sk_u(例えばD(sk_u,E(pk_u,DEK1_u))を呼び出すことにより)復号してもよい。
【0100】
ステップ240において、CSPは、重複排除のためにデータ所有者uに連絡してもよい。例えば、CSPは、データMのデータ識別子(例えばH(M))と、ユーザuのABE用の公開鍵情報(例えば、PK_uを含むCert(PK_u))をユーザuに送信してもよい。
【0101】
次にステップ242において、ユーザuは、ユーザuに関する第三者でのデータ記憶の適格性を検証してもよい。この検証の結果が正であれば、ユーザuは、ユーザuに対する個別化属性秘密鍵を生成してもよい。例えば、ユーザuは、Cert(PK_u)を検証し、IssueIDSK(ID,SK_u,PK_u)を呼び出してsk_(ID,u,u)を生成してもよい。上述のようにIssueIDSKアルゴリズムは、PK_uが適格な属性IDであるかを確認してもよい。
【0102】
次にステップ244において、ユーザuは、ユーザuに対する個別化属性秘密鍵と、任意で暗号化されたDEK2とをユーザuに発行してもよい。例えば、ユーザuは、sk_(ID,u,u)と、任意でCK2_uとをユーザuに発行してもよい(セキュアチャネルまたはPKCを使用する)。なお、CK2_uがCSPにより共有されている場合、ユーザuは、ユーザuに対する個別化属性秘密鍵のみを発行してもよい。
【0103】
次にステップ246において、ユーザuは、ユーザuに対する個別化属性秘密鍵に基づいて暗号化されたDEK2を復号し、得られたDEK2とDEK1とを結合してDEKを取得してもよい。例えば、ユーザuは、DecryptKey(CK_u,A,SK_u,sk_(ID,u,u))を呼び出してCK2_uを復号して、DEK2_uを取得し、CombineKey(DEK1_u,DEK2_u)を呼び出して、ステップ238で得られたDEK1_uとDEK2_uを結合してDEK_uを取得してもよい。このようにして、ユーザuは、CSPに重複データを保存することなく、取得したDEK_uによりCT_uを復号してもよい。
【0104】
ステップ248において、ユーザuは、CSPにデータ重複排除成功を通知してもよい。例えば、ユーザuは、Cert(PK_u)とH(M)をCSPに送信してもよい。この通知を受けて、CSPはステップ250において、対応する重複排除情報(例えば、Cert(PK_u2)およびH(M))を自身のシステムに記録してもよい。例えば、CSPは、ユーザuに対するハッシュ情報H(M)の重複排除記録を更新してもよい。このとき、ユーザuおよびuの両方がCSPに保存された同一のデータMに自由にアクセスできる。ユーザuは、DEK_uを直接使用してもよく、ユーザuは、ステップ246においてDEK_uを取得してもよい。
【0105】
図3は、本開示の実施形態に係る、権限者による制御に基づくデータ重複排除のための全体的なシステム処理のフローチャートを示す。図2および3に示す2つの処理の主な違いは、DEKの分割の仕方である。具体的には、図2では、DEK1+DEK2=DEKとなり、DEK1とDEK2の両方が非NULLのため、重複排除制御はデータ所有者とAPの両方を要する。一方、図3では、DEK2はNULLで、DEK1(非NULL)=DEKとなる。したがって、重複排除はAPのみによって制御される。
【0106】
図2および3に示す2つの処理の違いを以下に詳述する。ステップ202aおよび202bと同様のステップ302aおよび302bにおいて、ABE制御が不要であるため鍵組(PK_u、SK_u)を省略してもよい。次に、ステップ212と同様のステップ312において、DEK1がDEKに設定され、DEK1のみがPRE方式に沿って暗号化される。したがって、ステップ314においてCK2は省略できる。さらに、図2に示すABEに基づく重複排除ステップは省略可能である。
【0107】
図4は、本開示の実施形態に係る、データ所有者による制御に基づくデータ重複排除のための全体的なシステム処理のフローチャートを示す。図2および4に示す2つの処理の主な違いは、DEKの分割の仕方である。具体的には、図2では、DEK1+DEK2=DEKとなり、DEK1とDEK2の両方が非NULLのため、重複排除制御はデータ所有者とAPの両方を要する。一方、図4では、DEK1はNULLで、DEK2(非NULL)=DEKとなる。したがって、重複排除はデータ所有者のみによって制御される。
【0108】
図2および4に示す2つの処理の違いを以下に詳述する。ステップ202aおよび202bと同様のステップ402aおよび402bにおいて、PRE制御が不要であるため、鍵組(PK_u,SK_u)を省略してもよい。さらに、ステップ402dも省略してもよい。次に、ステップ212と同様のステップ412において、DEK2がDEKに設定され、DEK2のみがABE方式に沿って暗号化される。したがって、ステップ414においてCK1は省略できる。さらに、図2に示すPREに基づく重複排除ステップは省略可能である。
【0109】
図5は、本開示の実施形態に係る、権限者、データ所有者のいずれの制御も介さないデータ重複排除のための全体的なシステム処理のフローチャートを示す。ここで、DEKはNULLであるため、CSPには平文が保存される。
【0110】
ステップ502において、各ユーザとCSPにおいて、システム設定が実行されてもよい。各ユーザuは、InitiateNode(u)を呼び出して1の鍵組(PK'_u,SK'_u)(i=1、2、…)を生成してもよい。一方、各ユーザuは、自身で生成した公開鍵Cert(PK'_u)に対応する認証を、権利を有する第三者(PKIにおけるCA)またはCSPから取得してもよい。例えばステップ502aにおいて、ユーザuは1つの鍵組(PK'_u,SK'_u)を生成し、その生成した公開鍵に対応する認証Cert(PK'_u)を取得してもよい。ステップ502bにおいて、ユーザuは、1つの鍵組(PK'_u,SK'_u)を生成し、その生成した公開鍵に対応する認証Cert(PK'_u)を取得してもよい。ステップ502cにおいて、CSPは、公開鍵PK'_uを受領し、対応する認証Cert(PK'_u)を各ユーザuに発行してもよい。
【0111】
ステップ504において、ユーザuは、データMのハッシュ情報を生成してもよい。ハッシュ情報は、少なくともデータMのハッシュコードを含んでもよい。例えば、ユーザuは、H(M)を計算し、SK'_uによりH(M)を署名し、Sign(H(M),SK'_u)としてもよい。ここで、Sign()は署名関数を示す。
【0112】
次にステップ506において、ユーザuは、少なくともデータMのハッシュ情報を送信してもよい。例えば、ユーザuは、パッケージP={H(M),Sign(H(M),SK'_u),Cert(PK'_u)}をCSPに送信してもよい。
【0113】
次にステップ508において、CSPは、同じデータMを保存しているかを確認してもよい。同じデータがCSPに保存されていない場合、CSPは、ユーザuにデータ送信を要求してもよく、同じデータがCSPに保存されている場合、ステップ520にて詳細に後述するように、CSPは、ユーザuが所有者であるかを検証してもよい。なお、ステップ508および520は実質的に同じである。ここでは最初にアップロードしたのがデータ所有者であるため、ステップ508においてCSPはユーザuにデータアップロードを要求する。
【0114】
例えば、ステップ508において、CSPは、認証Cert(PK'_u)を検証し、PK'_uにより署名Sign(H(M),SK'_u)を検証し、その後CSPに同じH(M)が記録されているかを確認してもよい。ここではユーザu(すなわちデータ所有者)が最初にアップロードしているので、ステップ510においてCSPはユーザuにデータを要求してもよい。
【0115】
次にステップ512において、ユーザuは、データMのインデックスリストとハッシュチェーン情報を計算してもよい。例えば、ユーザuは、インデックスリストIN={In,In,…,In}をランダムに選択してもよい。当該リストは、Mの特定の部位を示す(例えばInはデータの最初の1%を示し、Inはデータの最初の1.2%を示す)。さらに、ユーザuはインデックスに基づいて各種Mの部位のハッシュコードを計算して、HC(M)={H(M),(M),…,H(M)}を取得してもよい。さらにユーザuは、SK'_uによりHC(M)を署名して、Sign(HC(M),SK'_u)を取得してもよい。
【0116】
次にステップ514において、ユーザuは、少なくともインデックスリスト、ハッシュチェーン情報、データMを送信してもよい。ハッシュチェーン情報は、少なくともデータMのハッシュチェーンを含んでもよい。例えば、ユーザuは、データパッケージDP={M_u,In,HC(M),Sign(HC(M),SK'_u)}をCSPに送信してもよい。続いてステップ516において、CSPはデータパッケージを保存してもよい。
【0117】
次にステップ518において、ユーザuは、すでに保存された同じデータMをCSPに保存しようとしてもよい。ステップ506と同様に、ユーザuは、少なくともデータMのハッシュ情報を送信してもよい。例えば、ユーザuは、パッケージP2={H(M),Sign(H(M),SK'_u),Cert(PK'_u)}をCSPに送信してもよい。
【0118】
次にステップ508と同様に、ステップ520において、CSPは、同じデータMを保存しているかを確認してもよい。CSPに同じデータが保存されていなければ、CSPは、ユーザにデータ送信を要求してもよい。CSPに同じデータが保存されていれば、CSPは、ユーザが所有者かを検証してもよい。ユーザuにより同じデータがCSPに保存されているので、この確認結果は正となる。この場合、CSPは、ユーザuにインデックスリストの少なくとも1つのインデックスまたは複数のインデックスに対応するハッシュ情報の送信を要求してもよい。例えば、CSPは、少なくとも1つのインデックxをランダムに選択してもよい。さらに、CSPは、PK'_uにより少なくとも1つのインデックスxを暗号化してE(x,PK'_u)としてもよい。続いてステップ522において、CSPは、インデックス情報(例えば、E(x,PK'_u))をユーザuに送信してもよい。なお、このステップでは、データの保持者を確定するため、CSPは複数のHC(M)を検証してもよい。
【0119】
次にステップ524において、ユーザuは、対応するハッシュ情報を計算して、CSPに送信してもよい。対応するハッシュ情報は、CSPから送信された少なくとも1つのインデックスに対応するハッシュ情報を少なくとも含んでもよい。例えば、ユーザuは、ハッシュコードHC(M)を計算してもよく、ここで、MはCSPから送信された少なくとも1つのインデックスxに対応するMの部位を示す。さらに、ユーザuは、SK'_uによりHC(M)を署名して、Sign(HC(M),SK'_u)としてもよい。ユーザuは、HC(M)およびSign(HC(M),SK'_u)をCSPに送信してもよい。
【0120】
次にステップ526において、ユーザuがCSPに保存したハッシュチェーン情報に基づいて、CSPは、ユーザuから送信されたハッシュ情報を検証してもよい。検証の結果が正であれば、CSPは、ユーザuに対するハッシュ情報H(M)の重複排除記録を更新してもよい。このようにして、ユーザuは、重複データをCSPに保存することなく、データにアクセスできる。
【0121】
なお、図2から図5に示す実施形態では、DEK2はアクセスポリシー(すなわちCP−ABE方式が採用される)で暗号化されるが、本開示はこれに限定されない。例えば、本開示の実施形態ではKP−ABEを採用してもよい。
【0122】
図6は、本開示の実施形態に係る、複数のCSPの協働によるデータ重複排除の処理のフローチャートを示す。ステップ602において、ユーザはそのローカルCSPにデータの記憶を要求してもよい。例えば、ステップ602の処理はステップ204(または304、404、504)および206(または306、406、506)と同様であってもよい。
【0123】
次にステップ604において、ローカルCSPは、データ重複が生じたかを確認してもよい。ステップ604での確認結果が正であれば、ローカルCSPはステップ606に進んで、重複排除ポリシーに基づいて重複排除をローカルCSP自身またはデータ所有者および/またはAPに連絡して実行してもよい。例えば、重複排除ポリシーは、データ所有者から何らかのCK受信したか、どのような種類のCK(複数可)が受信されたかに応じて決定されてもよい。CKが受信されてなければ、CSPは自身で重複排除を実行してもよい。CSPは、CK1が受信されていればAPに連絡してもよく、CK2が受信されていればデータ所有者に連絡してもよい。ただし、本開示はこれに限定されない。別の例として、ステップ214、314、414、または514において、重複排除ポリシーを単純にデータパッケージにより送信してもよく、あるいはその他の安全な方法でCSPに送信してもよい。さらなる例として、重複排除ポリシーは事前に決定され(例えば、ユーザu1とCSPとの間の契約に応じて決定)、CSPのシステムに予め記憶されてもよい。
【0124】
ステップ604および606の処理は、ステップ(220、222、226、228、234、236、240および250)、ステップ(320、322、326、328、334および336)、またはステップ(520、522および526)の処理と同様であってもよい。
【0125】
一方、ステップ604の確認結果が否であれば、ローカルCSPは返答ステップ608に進んで、同じデータが記憶されたかを別のCSPに確認してもよい(例えば、ユーザのデータ記憶要求の一斉送信による)。別のCSPから保存されたという応答が得られなかった場合、ローカルCSPは、ステップ612においてユーザからデータパッケージを要求することで、データの記憶を実行してもよい。一方、同じデータを自身のストレージシステムに記憶しているという応答をしたリモートCSP'が存在すれば、ローカルCSPは、ステップ614において、ユーザデータ重複情報をローカルに記録してもよい。なお、ローカルCSPは、任意でリモートCSP'に重複排除要求を送信し、重複排除を生じさせてもよい。ステップ616において、リモートCSP'は、重複排除を自身で、またはデータ所有者および/またはAPに連絡して実行してもよい。所有者および/またはAPに連絡する場合、所有者および/またはAPにより対応する鍵が生成され、CSPおよびCSP'協働の下、ユーザに発行されてもよい(例えば、CSP'がCSPを介してユーザに連絡してもよい)。ステップ616の処理は、ステップ(220、222、226、228、234、236、240、250)、ステップ(320、322、326、328、334、336)、またはステップ(520、522、526)の処理と同様であってもよい。ただし、ステップ610において、CSP'に同一のデータが保存されていると判定されていることから、ステップ616において、CSP'は、直接ハッシュチェーンによる検討に進んでもよい。
【0126】
図7は、本開示の実施形態に係るデータ削除処理のフローチャートを示す。ステップ702において、ユーザuは、データ削除要求をそのローカルCSPに送信してもよい。データ削除要求は、少なくともデータMのハッシュ情報を含んでもよい。例えば、ユーザuは、H(M)およびSign(H(M),SK'_u)をローカルCSPに送信してもよい。
【0127】
次にステップ704において、CSPは、ユーザuが所有者であるかを検証し、検証結果が正であればCSPはユーザuの記憶の記録を削除し、当該ユーザへのデータMへの今後のアクセスをブロックしてもよい。ユーザuが所有者であるかの検証は、ステップ(220、222、226)での所有者であるかの検証処理と同様であってもよい。
【0128】
次にステップ706において、CSPは、データがローカルで保存されているかを確認してもよい。ステップ706の確認結果が正であれば、ステップ718において、CSPは、データ重複記録が空であるか(すなわち、当該データがユーザによりCSPにこれ以上保存されないか)を確認してもよい。ステップ718の確認結果が正であれば、CSPは、データを削除してもよい。一方、ステップ718の確認結果が否であれば、CSPは、データ所有者に連絡して、図9を参照して後述するようなDEK更新を実行してもよい。ユーザuがデータ所有者であれば、CSPは、重複排除制御を継続するかをユーザuに問い合わせてもよい。これは図8を参照して後述する。
【0129】
一方、ステップ706の確認結果が否であれば、ローカルCSPは、ステップ708において、実際にデータを保存しているリモートCSP'に連絡してもよい。例えば、CSPは、データ削除要求をCSP'に転送してもよい。ステップ710において、CSP'はユーザuの記憶の記録を削除し、当該ユーザへのデータMへの今後のアクセスをブロックしてもよい。続いてステップ718と同様に、ステップ712において、CSP'は、データ重複記録が空であるか(すなわち、当該データがユーザによりCSP'にこれ以上保存されないか)を確認してもよい。ステップ712の確認結果が正であれば、CSP'はステップ714において、データを削除してもよい。一方、ステップ712の確認結果が否であれば、CSP'はステップ714において、データ所有者に連絡して、図9を参照して後述するようなDEK更新を実行してもよい。上述の場合と同様に、ユーザuがデータ所有者であれば、CSP'は重複排除制御を継続するかをユーザuに問い合わせてもよい。これは図8を参照して後述する。
【0130】
図8は、本開示の実施形態に係るデータ重複排除制御の継続処理のフローチャートを示す。ここでは、データ所有者はCSPにおける自身のデータを削除するが、CSPにおいて同一のデータを記憶している別の適格なデータ保持者が存在している。したがって、CSPは、データ所有者に重複排除制御の継続について問い合わせる。
【0131】
ステップ802において、CSPは、データ所有者に対して重複排除制御の継続について問い合わせる。ステップ802でのデータ所有者の判定が正であれば、データ所有者はステップ812において、例えば適格なユーザにアクセス鍵を発行することで、重複排除制御を継続してもよい。一方、ステップ802でのデータ所有者の判定が否であれば、データ所有者は、ステップ806において重複排除制御をAPに転送してもよい。例えば、データ所有者は、新たにDEK'=DEK'1を生成し、これをpk_APで暗号化し、DP'={CT',CK1'}をCSPに送信してもよい。ステップ808において、CSPは、すべての適格なユーザの再暗号化鍵を使用してCK1'を再暗号化し、元のデータの重複排除記録を更新してもよい。ステップ810において、任意の適格なデータユーザがデータにアクセスすると、CSPはCT'および再暗号化されたCK1'を適格なユーザに提供してもよい。
【0132】
なお、図8は単に重複排除制御の継続の一つの可能性を示すものであって、本開示はこれに限定されない。例えば、他のデータ保持者が重複排除制御を引き継いでもよい。この場合、CSPは、既存の複数のデータ保持者から新たな代理人を求めてもよいし、それらの1つを選択してもよい(例えば、データ記憶期間および/またはユーザの希望に従う)。新たな代理人は、新たなDEK'を生成し、その新たなDEK'を適用して記憶の更新を実行する。この処理は、図9を参照して後述するDEKの更新と同様である。
【0133】
図9は、本開示のある実施形態に係る、データ暗号化鍵および暗号文更新のための全体的なシステム処理のフローチャートを示す。ステップ912において、データ所有者(または適格なデータ保持者)uは、新たなデータ暗号化鍵DEK'を生成し、DEK'によりデータMを暗号化し、DEK'をDEK1'およびDEK2'に分割し、PRE方式に沿ってDEK1'を暗号化し、ABE方式に沿ってDEK2'を暗号化してもよい。例えば、ユーザuは、新たな対称鍵DEK'_uによりデータMを暗号化してCT'_u=Encrypt(DEK'_u,M)を取得してもよい。ユーザuは、SeparateKey(DEK'_u)を呼び出して、DEK'_uの2つのランダムな部位、すなわちDEK1'_uとDEK2'_uとを取得してもよい。ユーザuは、EncryptKey(DEK2'_u,A,pk_(ID,u))を呼び出して、pk_(ID,u)によりDEK2'_uを暗号化して、CK2'_uを取得してもよい。ユーザuは、E(pk_AP,DEK1'_u)を呼び出して、pk_APによりDEK1'_uを暗号化して、CK1'_uを取得してもよい。
【0134】
次にステップ914において、ユーザuは、ハッシュおよび/またはハッシュチェーン情報、新たな暗号化されたデータ、新たな暗号化されたDEK1、新たな暗号化されたDEK2を送信してもよい。ハッシュまたはハッシュチェーン情報は、少なくともデータMのハッシュコードまたはハッシュチェーンを含んでもよい。例えば、ユーザuは、データパッケージDP'={CT'_u,CK1'_u,CK2'_u,H(M)および/またはHC(M),Sign(H(M),SK'_u)および/またはSign(HC(M),SK'_u)}をCSPに送信してもよい。次にステップ916において、CSPは、ユーザuが適格かを検証し、結果をDP1'に記憶してもよい。例えば、CSPは、Sign(H(M),SK'_u)および/またはSign(HC(M),SK'_u)をPK'_uにより検証することで、ユーザuが適格かを検証してもよい。
【0135】
次にステップ928において、rk_AP−>uが利用できない場合、CSPは、任意の適格なデータ保持者(例えば、ユーザu)のPRE用の公開鍵情報をAPに送信してもよい。例えば、CSPは、認証Cert(pk_u)(pk_uを含む)をAPに送信してもよい。
【0136】
次にステップ930において、APは、ユーザuに関する第三者でのデータ記憶ポリシーを検証してもよく、検証結果が正であれば、APは、ユーザuに対する再暗号化情報を生成してもよい(利用できない場合)。例えば、APは、RG(pk_AP,sk_AP,pk_u)を呼び出して(利用できない場合)、rk_AP−>uを生成してもよい。次にステップ932において、APは、CSPに再暗号化情報を発行してもよい。例えば、APは、rk_AP−>uを例えばセキュアチャネルを利用してCSPに発行してもよい。
【0137】
次にステップ934において、CSPは、再暗号化情報によりCK1'_uを再暗号化してもよい。例えば、CSPは、R(rk_AP−>u,E(pk_AP,DEK1'_u))=E(pk_u,DEK1'_u)を呼び出してCK1'_uを再暗号化してもよい。次にステップ936において、CSPは、ユーザuに再暗号化されたCK1'(すなわちE(pk_u,DEK1'_u))と新たな暗号化されたDEK2'(すなわちCK2'_u)を通知してもよい。ユーザuは、E(pk_u,DEK1'_u)の受領確認をCSPに送信してもよい。
【0138】
次にステップ944において、ユーザuは、ユーザuに対する個別化属性秘密鍵をユーザuに発行してもよい(未送信の場合)。例えば、ユーザuは、(未送信の場合)sk_(ID,u,u)をユーザuに対して発行してもよい(セキュアチャネルまたはPKCを使用)。
【0139】
次にステップ946において、ユーザuは、例えばDecryptKey(CK'_u,A,SK_u2,sk_(ID,u,u))を呼び出してCK2'_u(ステップ936で取得)を復号してDEK2'_uを取得し、自身の秘密鍵sk_uにより再暗号化されたDEK1'_u(すなわちE(pk_u,DEK1'_u))を復号し、CombineKey(DEK1'_u,DEK2'_u)を呼び出してDEK1'_uとDEK2'_uを結合してDEK'_uを取得してもよい。このようにして、ユーザuはDEK'_uにより新たな暗号化されたデータCT'_uにアクセスできる。
【0140】
なお、上述の処理ではデータ所有者uが、秘密鍵がどこからすでに発行済みであるか把握しており、CSPがこの情報をデータ所有者に通知する必要がないとされている。仮にデータ所有者がこの情報を失った場合、適格性確認の更新により古いユーザがさらにアクセスできなくなった場合、またはデータ所有者が秘密鍵の発行に遅れると、CSPによる通知が必要となり得る。この場合、ステップ940において、CSPは、データMのデータ識別子(例えば、H(M))と、適格なデータ保持者のABE用の公開鍵情報(例えば、PK_uを含むCert(PK_u))をユーザuに送信してもよい。
【0141】
なお、図9においてデータ所有者およびAPの両方の重複排除制御が必要な状況のみ示している。図3および4と同様に、DEK1'=DEK'またはDEK2'=DEK'を設定して、別の重複排除制御用のステップを省略することで、APの重複排除制御のみが必要な状況またはデータ所有者の重複排除制御のみが必要な状況に対するDEKの更新処理が実現できる。
【0142】
図10は、本開示のある実施形態に係るユーザ装置において、データの記憶を管理する処理のフローチャートを示す。当該処理は、本開示の機能を実現するため、ユーザ装置により実行されてもよい。まず、ステップ1002において、DEKはNULL値または非NULL値を有するように設定されてもよい(例えば、異なる記憶状況および/または重複排除ポリシーに基づく)。次にステップ1004において、DEKがNULL値を有するかを判定してもよい。ステップ1004において、DEKがNULL値を有すると判定されると、データは通信ネットワークにおけるデータセンターに送信されて、記憶される。一方、ステップ1004において、DEKが非NULL値を有すると判定されると、ステップ1008においてデータはDEKにより暗号化されてもよい。
【0143】
次にステップ1010において、DEKは、第1のDEKおよび第2のDEKに分割されてもよい(例えば、異なる記憶状況および/または重複排除ポリシーに基づく)。第1および第2のDEKはそれぞれNULL値または非NULL値を有する。次にステップ1012において、第1のDEKは非NULL値を有する場合、プロキシ再暗号化(PRE)方式に沿って暗号化されてもよく、第2のDEKは非NULL値を有する場合、属性ベース暗号(ABE)方式に沿って暗号化されてもよい。次にステップ1014において、暗号化されたデータと、存在するならば暗号化された第1のDEKと、存在するならば暗号化された第2のDEKとをデータセンターに送信、保存してもよい。ステップ1002〜1014の処理は、ステップ(212、214)または(312、314)または(412、414)または(512、514)の処理と同様であってもよい。
【0144】
さらに、DEK2が非NULL値を有する場合(すなわちデータ所有者の重複排除制御が必要な場合)、ステップ1016において、重複排除要求の受信に応じて、個別化属性秘密を生成して、適格なユーザに発行してもよい。ステップ1016の処理は、ステップ(242、244)または(442、444)の処理と同様であってもよい。
【0145】
任意でステップ1018において、別データの適格な保持者は、当該別データに対する再暗号化されたDEK1'と、当該別データに対する暗号化されたDEK2'と、個別化属性秘密鍵を受信してもよい。復号を実行してDEK1'およびDEK2'を取得し、DEK1'およびDEK2'を結合してデータ重複排除に対するDEK'を取得してもよい。ステップ1018の処理は、ステップ(238、246)、または338、446の処理と同様であってもよい。
【0146】
図11は、本開示のある実施形態に係る通信ネットワークにおいて、データの記憶を管理する処理のフローチャートを示す。当該処理は、本開示の機能を実現するため、データセンターにより実行されてもよい。まず、ステップ1102において、データ記憶要求がユーザにより受信されてもよい。ステップ1102の処理は、ステップ(206、218)または(306、318)または(406、418)または(506、518)の処理と同様であってもよい。次にステップ1104において、データセンターに同じデータが記憶済みかを判定してもよい。ステップ1104において、データセンターにおいて同じデータが記憶済みではないと判定されると、暗号化データ、存在するならば暗号化された第1のデータ暗号化鍵(DEK)、存在するならば暗号化された第2のデータ暗号化鍵(DEK)、またはデータを第1のデバイスから受信し、データセンターに保存してもよい。なお、暗号化データはDEKによりデータを暗号化することで生成される。DEKは第1のDEKおよび第2のDEKに分割される。第1のDEKおよび第2のDEKはそれぞれNULL値または非NULL値を有する。ステップ1106において、暗号化された第1のDEKは、プロキシ再暗号化(PRE)方式に沿って第1のDEKを暗号化することで生成され、第2のDEKは、第2のDEKを属性ベース暗号(ABE)方式に沿って暗号化することで生成される。ステップ1104および1106の処理は、ステップ(208、210、216)または(308、310、316)または(408、410、416)または(508、510、516)の処理と同様であってもよい。
【0147】
一方、ステップ1104において、同じデータがデータセンターに保存済みであると判定されれば、ステップ1108においてAPの重複排除制御が必要か判定されてもよい(例えば、第1のデバイスから受信したデータに暗号化された第1のDEKが存在するかに基づく)。ステップ1108において、APの重複排除制御が不要であると判定された場合、処理はステップ1112に進んでもよい。一方、ステップ1108においてAPの重複排除制御が必要であると判定されると、APに連絡してPRE方式に沿った重複排除を実行してもよい。ステップ1108および1110の処理は、ステップ(228、232、234、236)または(328、332、334、336)の処理と同様であってもよい。ステップ228または328において、APの重複排除制御が必要であると判断されているため(例えば、第1のデバイスから受信したデータが暗号化された第1のDEKを含むという事実に基づく)、APに連絡して重複排除を実行してもよい。ステップ232または332において、APから再暗号化鍵を受信してもよい。ステップ234または334において、暗号化された第1のDEKを再暗号化鍵により再暗号化してもよい。ステップ236または336において、再暗号化された第1のDEKを適格なデータ保持者に発行してもよい。
【0148】
次にステップ1112において、データ所有者の重複排除制御が必要か判断される(例えば、第1のデバイスから受信したデータに暗号化された第2のDEKが存在するかに基づく)。ステップ1112において、データ所有者の重複排除制御が不要であると判断されると、ステップ1116において処理が終了してもよい。一方、ステップ1112においてデータ所有者の重複排除制御が必要であると判断されると、ステップ1114においてデータ所有者に連絡してABE方式に沿った重複排除を実行してもよい。ステップ1112および1114の処理は、ステップ240または440と同様であってもよい。その後、ステップ1116において処理が終了してもよい。
【0149】
上述の説明に基づき、本開示により以下の技術的効果が得られる。
(1)拡張性:本開示は、1つのCSPおよび複数のCSPで生じた大規模な重複データ記憶に対応できる。各記憶領域を節約するため、重複確認および重複排除が複数のCSP間で実行されてもよい。
(2)柔軟性:本開示は、重複排除およびアクセス制御の両方に対応するためのポリシーA更新により、ABEに基づくDEK2暗号化に制御属性(アクセスポリシー)を導入することで、データ所有者が扱う他のデータアクセス制御機構と協働可能である。これにより、データ所有者の期待に沿ったデジタル著作権管理に対応できる。さらに、集中型データアクセス制御機構とも協働可能である。これは、CSPでの権限者(AP)および/またはCK1再暗号化における再暗号化鍵生成用の確認に、アクセスポリシーを絡めることで実現される。本発明の柔軟性により、データ所有者の意図に応じて分散型制御、集中型制御の一方または両方に対応可能となる。
(3)データ所有者がABEを採用する、さらに/あるいはAPにPREを適用することで、データアクセスおよび重複排除に使用される属性(例えば信頼レベルおよび識別子)を含むアクセスポリシー木を容易に構築でき、アクセスおよび重複排除のための委任制御が可能となるようAPにポリシーを絡めることが容易となる。
(4)低コストストレージ:本開示によると、複数のCSPについて記憶容量を節約できることは明白である。1つのデータは、多数のCSPをまたいで1つのコピーのみ記憶される。各CSPで重複排除記録を記憶するのには、ある程度記憶容量またはメモリを消費する可能性があり、追加の重複確認や重複排除処理は、ある程度のメモリおよび処理コストを要する可能性がある。しかし、このようなコストは重複データの記憶を大量に節約できることを考えると、些細なものである。
(5)安全性:本開示では、安全性がABE理論、PRE理論、対称鍵暗号化、および公開PKC理論で裏付けられている。一次元重複排除制御よりも二次元重複排除制御のほうが安全であろう。さらに、データの所有者検証のため、ランダムなハッシュチェーン確認を適用した。重複排除を実現するため、同時にデータ記憶管理に対応するため、追加の管理プロトコルを適用してもよい。
【0150】
図12は、本開示のいくつかの例示的実施形態を実施する際に好適に用いられる装置を示す概略ブロック図である。例えば、図1に示すユーザ装置110、データセンター120または120'、AP130の少なくとも1つが、装置1200により実現できる。図示のとおり、装置1200は、データプロセッサ(DP)1210、プログラム(PROG)1230を記憶するメモリ(MEM)1220、有線および/または無線通信で別の外部デバイスとデータを通信するための通信インターフェース1240を備える。
【0151】
PROG1230は、DP1210によって実行されたとき、上述のとおり本開示の例示的実施形態に従って装置1200を動作させることができるプログラム命令を含むと想定される。すなわち、本開示の例示的実施形態は、少なくとも部分的に、DP1210によって実行可能なコンピュータソフトウェア、またはハードウェア、またはソフトウェアとハードウェアの組合せによって実施されてもよい。
【0152】
MEM1220は、ローカル技術的環境に適切な任意の種類のものでよく、半導体によるメモリデバイス、フラッシュメモリ、磁気的メモリデバイスおよびシステム、光学的メモリデバイスおよびシステム、固定型メモリおよび着脱可能メモリ等の任意の適切なデータ記憶技術を使用して実施されてもよい。DP1210は、ローカル技術的環境に適切な任意の種類のものでよく、非限定的な例として汎用コンピュータ、専用コンピュータ、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、およびマルチコアプロセッサアーキテクチャによるプロセッサの内の1つ以上を含んでもよい。
【0153】
一般的に、上述の様々な例示的実施形態は、ハードウェアまたは専用回路、ソフトウェア、論理回路またはこれらの任意の組合せによって実施されてもよい。例えば、いくつかの態様はハードウェアで実施されてもよく、他の態様はコントローラ、マイクロプロセッサ、またはその他のコンピュータデバイスによって実行されてもよいファームウェアまたはソフトウェアによって実施されてもよいが、本開示はこれらに限定されない。本開示の例示的実施形態の様々な態様がブロック図、フローチャート、またはその他の何らかの図表によって示され記載されているが、本明細書に記載されたこれらのブロック、装置、システム、技術または方法は、非限定的な例として、ハードウェア、ソフトウェア、ファームウェア、専用回路または論理回路、汎用ハードウェアまたはコントローラ、またはその他のコンピュータデバイス、あるいはこれらの何らかの組合せで実施されてもよいことが理解されよう。
【0154】
このように、本開示の例示的実施形態の少なくともいくつかの態様は、集積回路チップおよびモジュール等の様々な要素に実施されてもよいことが理解されよう。本開示の例示的実施形態は、本開示の例示的実施形態に従って動作するように構成されたデータプロセッサ、デジタル信号プロセッサ、ベースバンド回路、および無線周波数回路の内の少なくとも1つを実施するための回路(同様にファームウェアも)を含む集積回路として実施された装置に実現されてもよいことが理解されよう。
【0155】
本開示の例示的実施形態の少なくともいくつかの態様は、例えば1つ以上のプログラムモジュール中にあり、1つ以上のコンピュータまたはその他のデバイスによって実行されたコンピュータ実行可能命令によって実施されてもよいことが理解されよう。一般的に、プログラムモジュールには、コンピュータ中のプロセッサまたはその他のデバイスによって実行されたときに、特定のタスクを行う、または特定の抽象データタイプを実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等が含まれる。コンピュータ実行可能命令は、ハードディスク、光学ディスク、着脱可能な記憶媒体、固体メモリ、RAM等のコンピュータ可読媒体に記憶されてもよい。当該技術分野の当業者には自明であるが、プログラムモジュールの機能は、様々な実施形態において望ましいように組み合わされても分散されてもよい。さらに、これらの機能は、その全体または一部が、ファームウェア、または集積回路、フィールドプログラマブルゲートアレイ(FPGA)等のハードウェア均等物によって実施されてもよい。
【0156】
本開示は、本明細書に明確に開示されたもののみならず、そこから一般化されたものも含めて、あらゆる新規の特徴や特徴の組合せを含む。上述の説明を添付の図面に照らせば、本開示の上述の例示的実施形態の様々な変形例および適用が当業者には明らかとなろう。あらゆる変形例は、非限定的な本開示の例示的実施形態の範囲に含まれる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12