(57)【特許請求の範囲】
【請求項１】
通信ネットワークにおけるデータ記憶管理方法であって、
前記通信ネットワークにおけるデータセンターにより、第１のデバイスから前記データセンターにデータを記憶するための要求を受信することと、
前記データセンターに当該データが記憶されているかを確認することと、
当該データが前記データセンターに記憶済みではないという確認結果に応じて、前記第１のデバイスから、前記データの平文または暗号文（ＣＴ）を少なくとも含むデータパッケージを受信することと、
当該データが前記データセンターに記憶済みであるという確認結果に応じて、前記データの重複排除ポリシーを取得することと、
前記重複排除ポリシーが、権限者（ＡＰ）および前記データの所有者の両方または一方、前記ＡＰのみ、あるいは前記データの所有者のみによって重複排除が制御されることを示す場合、前記ＡＰおよび前記データの所有者の両方または一方、前記ＡＰのみ、あるいは前記データの所有者のみに連絡して、前記データの重複排除を実行することと、
前記重複排除ポリシーが、前記ＡＰおよび前記データの所有者のいずれによっても重複排除が制御されないことを示す場合、前記データの重複排除を前記データセンターにより実行することと、
を含む方法。
【請求項２】
前記データパッケージはさらに、それぞれ前記データの特定の部位を示す複数のインデックスを含むインデックスリストと、それぞれ１つのインデックスに対応する複数のハッシュ情報を含むハッシュチェーン情報とを含み、
前記連絡して前記データの重複排除を実行すること、または前記データの重複排除を実行することは、
前記第１のデバイスに、前記インデックスリストの少なくとも１つのインデックスに対応するハッシュ情報を送信することを要求することと、
前記第１のデバイスからの前記要求された少なくとも１つのインデックスに対応する前記ハッシュ情報に基づき、前記第１のデバイスが前記データを保持しているかを検証することと、
保持しているという検証結果に応じて、連絡して重複排除を実行するか、前記第１のデバイスに対して、前記データの重複排除情報を記録することと、を含む請求項１に記載の方法。
【請求項３】
前記データに対する前記重複排除ポリシーを取得することは、前記データセンターに事前に記憶された前記重複排除ポリシーを読み出すこと、前記データの所有者から前記重複排除ポリシーを受信すること、または前記データパッケージに応じて前記重複排除ポリシーを決定することと、を含む、請求項１または２に記載の方法。
【請求項４】
前記重複排除ポリシーを決定することは、
前記データパッケージが、前記データを暗号化して前記ＣＴを取得するためのデータ暗号化鍵（ＤＥＫ）を分割して得られた第１のＤＥＫおよび第２のＤＥＫを暗号化して得られた互いに異なる第１の暗号鍵（ＣＫ）および第２のＣＫをさらに含む場合、前記ＡＰおよび前記データの所有者の両方によって重複排除が制御されると決定すること、
前記データパッケージが互いに等しい前記第１および第２のＣＫをさらに含む場合、前記ＡＰまたは前記データの所有者の一方によって重複排除が制御されると決定すること、
前記データパッケージが前記第１のＣＫのみ、または第２のＣＫのみをさらに含む場合、前記ＡＰのみまたは前記データの所有者のみによって重複排除が制御されると決定すること、
前記データパッケージがＣＫを含まない場合、前記ＡＰおよび前記データの所有者のいずれによっても重複排除が制御されないと決定することを含む、請求項１から３のいずれかに記載の方法。
【請求項５】
前記ＡＰに連絡して前記データの重複排除を実行することは、
利用不能であれば、再暗号化鍵を前記ＡＰから受信することと、
プロキシ再暗号化（ＰＲＥ）方式に沿って、前記再暗号化鍵で前記第１のＣＫを再暗号化することと、
前記第１のデバイスが前記第１のデバイスの秘密鍵により前記再暗号化された第１のＣＫを復号できるように、前記再暗号化された第１のＣＫを、前記第１のデバイスに送信することと、を含む請求項１から４のいずれかに記載の方法。
【請求項６】
前記データの所有者に連絡して前記データの重複排除を実行することは、
属性ベース暗号（ＡＢＥ）方式で前記第２のＣＫを復号することが適格な場合、前記データの所有者が前記第１のデバイスに対する属性秘密鍵を発行できるように、前記第１のデバイスの属性識別子（ＩＤ）を前記データの所有者に送信することを含む、請求項４に記載の方法。
【請求項７】
当該データが前記データセンターに記憶済みではないという確認結果に応じて、少なくとも１つの他のデータセンターに当該データが記憶されているかを確認することを要求することと、
前記データに対する重複排除を実行可能な、前記少なくとも１つの他のデータセンターからの記憶済みであるという応答に応じて、前記第１のデバイスに対する前記データの重複排除情報を記録することと、
前記少なくとも１つの他のデータセンターからの記憶済みではないという応答に応じて、それに応じたデータの記憶を実行することと、をさらに含む、請求項１から６のいずれかに記載の方法。
【請求項８】
前記データセンターにより、第２のデバイスからデータの削除要求を受信することと、
前記第２のデバイスによって前記データセンターに前記データが記憶されているかを確認することと、
記憶されているという確認結果に応じて、前記第２のデバイスに対する前記データの記憶の記録を削除し、前記データの重複排除記録が空であれば、前記データを削除し、前記データの前記重複排除記録が空でなければ、前記データの所有者に通知して前記ＣＴを更新することと、
記憶されていないという確認結果に応じて、前記データを記憶し、前記第２のデバイスに対して前記データの記憶の記録を削除可能な別のデータセンターに連絡することと、をさらに含む、請求項１から７のいずれかに記載の方法。
【請求項９】
前記所有者に通知して前記ＣＴを更新することは、
前記所有者が重複排除制御を継続すると判断するかを問い合わせることと、
継続するという判断に応じて、前記データの所有者と協働して、前記データの前記重複排除ポリシーに沿って前記ＣＴを更新することと、
継続しないという判断に応じて、前記データの別の保持者に前記ＣＴの更新を要求するか、前記データの所有者と協働で、前記ＡＰのみによって重複排除が制御されることを示す新たな重複排除ポリシーに沿って前記ＣＴを更新することを含む、請求項８に記載の方法。
【請求項１０】
データの前記ＣＴを更新する要求に応じて、前記データの前記重複排除ポリシーを取得することと、
前記重複排除ポリシーが、ＡＰの重複排除制御が必要であることを示す場合、ＰＲＥ方式に沿って前記再暗号化鍵により更新済み第１のＣＫを再暗号化することと、
前記第１のデバイスが、前記第１のデバイスの秘密鍵で、前記再暗号化された更新済み第１のＣＫを復号できるように、前記再暗号化された更新済み第１のＣＫを前記第１のデバイスに送信することと、
前記重複排除ポリシーが、前記データの所有者による重複排除制御が必要であることを示す場合、ＡＢＥ方式に沿って必要であれば、前記データの所有者に、前記データの識別子と、前記データの所有者の公開鍵情報を通知することで、前記第１のデバイスが更新済み第２のＣＫを復号できるように、前記第１のデバイスに秘密鍵を発行して、前記データの所有者によるデータ重複排除を実行可能とすることと、をさらに含む、請求項５に記載の方法。
【請求項１１】
ユーザ装置におけるデータ記憶管理方法であって、
前記ユーザ装置が、データセンターにデータの記憶要求を送信することと、
前記データセンターからの前記データの要求に応じて、前記データの平文または暗号文（ＣＴ）を少なくとも含み、権限者（ＡＰ）および前記データの所有者の両方または一方、前記ＡＰのみ、あるいは前記データの所有者のみによって重複排除が制御される、またはそのいずれによっても制御されないことを示す前記データの重複排除ポリシーを含むデータパッケージ、または当該重複排除ポリシーが判定可能なデータパッケージを、前記データセンターに送信することと、
前記データセンターまたは少なくとも１つの他のデータセンターからの前記データの重複排除要求に応じて、重複排除を実行するために属性ベース暗号（ＡＢＥ）方式に沿って適格なデータ保持者に属性秘密鍵を発行することと、
を含む方法。
【請求項１２】
前記データの適格なデータ保持者を検証するために、それぞれ前記データの特定の部位を示す複数のインデックスを含むインデックスリストと、それぞれ１つのインデックスに対応する複数のハッシュ情報を含むハッシュチェーン情報とを前記データパッケージにより送信することをさらに含む請求項１１に記載の方法。
【請求項１３】
前記データセンターに第２のデータを記憶する要求を送信することと、
前記データセンターからの少なくとも１つのインデックスに対応するハッシュ情報の要求に応じて、前記第２のデータの保持者を検証するために前記データセンターに対して前記少なくとも１つのインデックスに対応する計算されたハッシュ情報を送信することと、をさらに含む請求項１１または１２に記載の方法。
【請求項１４】
前記重複排除ポリシーが前記ＡＰおよび前記データの所有者の両方によって重複排除が制御されることを示す場合、前記データパッケージにより、前記データを暗号化して前記ＣＴを取得するためのデータ暗号化鍵（ＤＥＫ）を分割して得られた第１のＤＥＫおよび第２のＤＥＫを暗号化して得られた互いに異なる第１の暗号鍵（ＣＫ）および第２のＣＫを送信することと、
前記重複排除ポリシーが、重複排除が前記ＡＰまたは前記データの所有者の一方によって制御されることを示す場合、前記データパッケージにより、互いに等しい前記第１および第２のＣＫを送信することと、
前記重複排除ポリシーが、重複排除が前記ＡＰのみまたは前記データの所有者のみによって制御されることを示す場合、前記第１のＣＫのみまたは前記第２のＣＫのみを前記データパッケージにより送信することと、
前記重複排除ポリシーが、前記ＡＰおよび前記データの所有者のいずれによっても重複排除が制御されないことを示す場合、前記データパッケージにより前記平文を送信することと、
をさらに含む請求項１３に記載の方法。
【請求項１５】
前記第１のＤＥＫは、プロキシ再暗号化（ＰＲＥ）方式に沿って、前記ＡＰの公開鍵で暗号化され、
前記第２のＤＥＫは、前記データの保持に適格なユーザのユーザ識別子（ＩＤ）を含むアクセスポリシーに基づいて暗号化される、請求項１４に記載の方法。
【請求項１６】
前記データの前記重複排除要求は、ユーザＩＤ情報を含み、
重複排除を実行するために前記属性秘密鍵を発行することは、
前記ユーザＩＤ情報が前記データの保持に適格なユーザを示すかを検証することと、
示すという検証結果に応じて、前記ユーザＩＤ情報に基づいて前記属性秘密鍵を生成することと、を含む、請求項１１〜１５のいずれかに記載の方法。
【請求項１７】
前記データセンターから、前記第２のデータに対する再暗号化された第１のＣＫを受信することと、
前記ユーザ装置の秘密鍵により前記再暗号化された第１のＣＫを復号して前記第１のＤＥＫを取得することと、
前記第２のデータの所有者から属性秘密鍵を受信し、前記第２のデータの所有者または前記データセンターから前記第２のデータに対する前記第２のＣＫを受信することと、
前記第２のＣＫを前記属性秘密鍵により復号して、前記第２のＤＥＫを取得することと、
前記第１および第２のＤＥＫを結合して、複製排除のために前記ＤＥＫを取得することと、をさらに含む請求項１４に記載の方法。
【請求項１８】
前記ユーザ装置により、データの削除要求を前記データセンターに送信することと、
前記データセンターからの少なくとも１つのインデックスに対応するハッシュ情報の要求に応じて、前記データの前記保持者を検証するために前記データセンターに対して前記少なくとも１つのインデックスに対応する計算されたハッシュ情報を送信することと、
前記データセンターまたは少なくとも１つの他のデータセンターからの、ＣＴ更新の要求に応じて、前記データの重複排除ポリシーに沿って前記ＣＴを更新することと、をさらに含む請求項１３に記載の方法。
【請求項１９】
重複排除制御の継続が必要な場合、前記データのオリジナルの重複排除ポリシーに沿って、前記ＣＴを更新することと、
重複排除制御の継続が不要な場合、前記ＡＰのみによって重複排除が制御されることを示す新たな重複排除ポリシーに沿って、前記ＣＴを更新することと、をさらに含む請求項１８に記載の方法。
【請求項２０】
前記データセンターに、データのＣＴの更新要求であって、権限者（ＡＰ）、および前記データの所有者の両方または一方、前記ＡＰのみ、あるいは前記データの所有者のみによって重複排除が制御される、またはそのいずれによっても制御されないことを示す前記データの重複排除ポリシーを含む要求、または当該重複排除ポリシーが判定可能な要求を送信することと、
前記重複排除ポリシーが、前記データの所有者による重複排除制御が必要であることを示す場合、属性秘密鍵が未送信であれば、重複排除を実行するために属性ベース暗号（ＡＢＥ）方式に沿って適格なデータ保持者に前記属性秘密鍵を発行することと、をさらに含む請求項１１〜１９のいずれかに記載の方法。
【請求項２１】
前記データセンターから再暗号化された更新済み第１のＣＫを受信することと、
前記ユーザ装置の秘密鍵により、前記再暗号化された更新済み第１のＣＫを復号し、前記更新済み第１のＤＥＫを取得することと、
利用不能な場合、前記データの所有者から属性秘密鍵を受信し、前記データセンターまたはデータ所有者から前記更新済み第２のＣＫを受信することと、
前記属性秘密鍵により前記更新済み第２のＣＫを復号して、前記更新済み第２のＤＥＫを取得することと、
前記更新済み第１および第２のＤＥＫを結合して、重複排除のために前記更新済みＤＥＫを取得することと、をさらに含む請求項１１から２０のいずれかに記載の方法。
【請求項２２】
通信ネットワークにおけるデータの記憶を管理する装置であって、
第１のデバイスから前記装置にデータを記憶するための要求を受信する手段と、
前記装置に当該データが記憶されているかを確認する手段と、
当該データが前記装置に記憶済みではないという確認結果に応じて、前記第１のデバイスから、前記データの平文または暗号文（ＣＴ）を少なくとも含むデータパッケージを受信する手段と、
当該データが前記装置に記憶済みであるという確認結果に応じて、前記データの重複排除ポリシーを取得する手段と、
前記重複排除ポリシーが、権限者（ＡＰ）および前記データの所有者の両方または一方、前記ＡＰのみ、あるいは前記データの所有者のみによって重複排除が制御されることを示す場合、前記ＡＰおよび前記データの所有者の両方または一方、前記ＡＰのみ、あるいは前記データの所有者のみに連絡して、前記データの重複排除を実行する手段と、
前記重複排除ポリシーが、前記ＡＰおよび前記データの所有者のいずれによっても重複排除が制御されないことを示す場合、前記データの重複排除を実行する手段と、
を備える装置。
【請求項２３】
ユーザ装置におけるデータの記憶を管理する装置であって、
データセンターにデータの記憶要求を送信する手段と、
前記データセンターからの前記データの要求に応じて、前記データの平文または暗号文（ＣＴ）を少なくとも含み、権限者（ＡＰ）および前記データの所有者の両方または一方、前記ＡＰのみ、あるいは前記データの所有者のみによって重複排除が制御される、またはそのいずれによっても制御されないことを示す前記データの重複排除ポリシーを含むデータパッケージ、または当該重複排除ポリシーが判定可能なデータパッケージを、前記データセンターに送信する手段と、
前記データセンターまたは少なくとも１つの他のデータセンターからの前記データの重複排除要求に応じて、重複排除を実行するために属性ベース暗号（ＡＢＥ）方式に沿って適格なデータ保持者に属性秘密鍵を発行する手段と、
を備える装置。
【請求項２４】
処理手段及び記憶手段を備える装置であって、前記記憶手段はプログラム命令を格納し、前記プログラム命令は、前記処理手段に実行されると、前記装置に、請求項１から１０のいずれかに記載の方法を遂行させるように構成される、装置。
【請求項２５】
処理手段及び記憶手段を備える装置であって、前記記憶手段はプログラム命令を格納し、前記プログラム命令は、前記処理手段に実行されると、前記装置に、請求項１１から２１のいずれかに記載の方法を遂行させるように構成される、装置。
【請求項２６】
装置の処理手段に実行されると、前記装置に、請求項１から１０のいずれかに記載の方法を遂行させるように構成されるプログラム命令を備える、コンピュータプログラム。
【請求項２７】
装置の処理手段に実行されると、前記装置に、請求項１１から２１のいずれかに記載の方法を遂行させるように構成されるプログラム命令を備える、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実施形態は、広く通信ネットワークにおけるデータ記憶管理に関し、詳しくはクラウドコンピューティングにおける異種混合データ記憶管理に関する。
【背景】
【０００２】
クラウドコンピューティングは、巨大なリモートサーバー群同士をネットワーク化することで、集中型のデータ記憶や、コンピュータサービスまたは資源へのオンラインアクセスを可能とするものである。これは、各種資源（例えばストレージ、コンピューティングおよびサービス）を整理し、ユーザの所望どおりに提供することによる情報技術（ＩＴ）サービスの新たな形態を実現するものである。クラウドコンピューティングでは、ネットワーク資源同士をリンクすることで、巨大な資源プールが提供される。拡張性、弾性、耐故障性、利用回数制料金のような好ましい性質も備えている。したがって、魅力的なサービスプラットフォームとなり、ＩＴ構造の在り方も変えていくであろう。
【０００３】
最も広く利用されているクラウドサービスとしては、ストレージサービスが挙げられる。近年、様々なデータがクラウドに記憶されている。例えば、機密の個人情報や個人データ、公に共有されるデータやある個人の集団に限定して共有されるデータ等である。特に、重要データについては、クラウドにおいて権限のない者からのあらゆるアクセスから保護されるべきである。しかし、重要でないデータについてはその限りではない。したがって、様々な状況に応じて、効率的かつ柔軟にクラウドにおけるデータの記憶を管理することが、クラウドサービスプロバイダ（ＣＳＰ）にとっての重要な課題である。
【０００４】
例えば、特に共有データの重複データが同一または異なるユーザにより、同一ＣＳＰまたは複数のＣＳＰによるクラウドに記憶される場合がある。いかにクラウド記憶領域が巨大とは言え、このような重複は、ネットワーク資源の大量浪費、大量の電力消費、運転費用の増加、データ管理の複雑化を生じかねない。したがって、経済的な記憶がなされれば、ＣＳＰにとって運転費用の低減という大きな利益となり、ひいてはクラウドユーザにもサービス料金値下げという恩恵がもたらされる。
【０００５】
このように、クラウドコンピューティングにおける効率的、柔軟、かつ経済的にデータの記憶を管理する方法を提供できれば、有利である。
【摘要】
【０００６】
本概要は、詳細に後述される概念のある選択肢をより簡略的に導入するものである。本概要は、請求項の主題の主要な特徴や不可欠な特徴を特定することを意図するものではなく、請求項の主題の範囲を限定することを意図するものでもない。
【０００７】
本開示の１つの態様によると、通信ネットワークにおけるデータ記憶管理方法が提供され、前記方法は、前記通信ネットワークにおけるデータセンターにより、第１のデバイスから前記データセンターにデータを記憶するための要求を受信することと、前記データセンターに当該データが記憶されているかを確認することと、当該データが前記データセンターに記憶済みではないという確認結果に応じて、前記第１のデバイスから、前記データの平文または暗号文（ＣＴ）を少なくとも含むデータパッケージを受信することと、当該データが前記データセンターに記憶済みであるという確認結果に応じて、前記データの重複排除ポリシーを取得することと、前記重複排除ポリシーが、権限者（ＡＰ）および前記データの所有者の両方または一方、前記ＡＰのみ、あるいは前記データ所有者のみによって重複排除が制御されることを示す場合、前記ＡＰおよび前記データ所有者の両方または一方、前記ＡＰのみ、あるいは前記データ所有者のみに連絡して、前記データの重複排除を実行することと、前記重複排除ポリシーが、前記ＡＰおよび前記データ所有者のいずれによっても重複排除が制御されないことを示す場合、前記データの重複排除を前記データセンターにより実行することと、を含む。
【０００８】
本開示の別の態様によると、前記データパッケージはさらに、それぞれ前記データの特定の部位を示す複数のインデックスを含むインデックスリストと、それぞれ１つのインデックスに対応する複数のハッシュ情報を含むハッシュチェーン情報とを含み、前記連絡して前記データの重複排除を実行すること、または前記データの重複排除を実行することは、前記第１のデバイスに、前記インデックスリストの少なくとも１つのインデックスに対応するハッシュ情報を送信することを要求することと、前記第１のデバイスからの前記要求された少なくとも１つのインデックスに対応する前記ハッシュ情報に基づき、前記第１のデバイスが前記データを保持しているかを検証することと、保持しているという検証結果に応じて、連絡して重複排除を実行するか、前記第１のデバイスに対して、前記データの重複排除情報を記録することと、を含む。
【０００９】
本開示の別の態様によると、前記データに対する前記重複排除ポリシーを取得することは、前記データセンターに事前に記憶された前記重複排除ポリシーを読み出すこと、前記データ所有者から前記重複排除ポリシーを受信すること、または前記データパッケージに応じて前記重複排除ポリシーを決定することと、を含む。
【００１０】
本開示の別の態様によると、前記重複排除ポリシーを決定することは、前記データパッケージが、前記データを暗号化して前記ＣＴを取得するためのデータ暗号化鍵（ＤＥＫ）を分割して得られた第１のＤＥＫおよび第２のＤＥＫを暗号化して得られた互いに異なる第１の暗号鍵（ＣＫ）および第２のＣＫをさらに含む場合、前記ＡＰおよび前記データ所有者の両方によって重複排除が制御されると決定すること、前記データパッケージが互いに等しい前記第１および第２のＣＫをさらに含む場合、前記ＡＰまたは前記データ所有者の一方によって重複排除が制御されると決定すること、前記データパッケージが前記第１のＣＫのみ、または第２のＣＫのみをさらに含む場合、前記ＡＰのみまたは前記データ所有者のみによって重複排除が制御されると決定すること、前記データパッケージがＣＫを含まない場合、前記ＡＰおよび前記データ所有者のいずれによっても重複排除が制御されないと決定することを含む。
【００１１】
本開示の別の態様によると、前記ＡＰに連絡して前記データの重複排除を実行することは、利用不能であれば、前記第１のデバイスに対する再暗号化鍵を前記ＡＰから受信することと、プロキシ再暗号化（ＰＲＥ）方式に沿って、前記再暗号化鍵で前記第１のＣＫを再暗号化することと、前記第１のデバイスが前記第１のデバイスの秘密鍵により前記再暗号化された第１のＣＫを復号できるように、前記再暗号化された第１のＣＫを、前記第１のデバイスに送信することと、を含む。
【００１２】
本開示の別の態様によると、前記データ所有者に連絡して前記データの重複排除を実行することは、属性ベース暗号（ＡＢＥ）方式で前記第２のＣＫを復号することが適格な場合、前記データ所有者が前記第１のデバイスに対する属性秘密鍵を発行できるように、前記第１のデバイスの属性識別子（ＩＤ）を前記データ所有者に送信することを含む。
【００１３】
本開示の別の態様によると、前記方法は、当該データが前記データセンターに記憶済みではないという確認結果に応じて、少なくとも１つの他のデータセンターに当該データが記憶されているかを確認することを要求することと、前記データに対する重複排除を実行可能な、前記少なくとも１つの他のデータセンターからの記憶済みであるという応答に応じて、前記第１のデバイスに対する前記データの重複排除情報を記録することと、前記少なくとも１つの他のデータセンターからの記憶済みではないという応答に応じて、それに応じたデータの記憶を実行することと、をさらに含む。
【００１４】
本開示の別の態様によると、前記方法は、前記データセンターにより、第２のデバイスからデータの削除要求を受信することと、前記第２のデバイスによって前記データセンターに前記データが記憶されているかを確認することと、記憶されているという確認結果に応じて、前記第２のデバイスに対する前記データの記憶の記録を削除し、前記データの重複排除記録が空であれば、前記データを削除し、前記データの前記重複排除記録が空でなければ、前記データの所有者に通知して前記ＣＴを更新することと、記憶されていないという確認結果に応じて、前記データを記憶し、前記第２のデバイスに対して前記データの記憶の記録を削除可能な別のデータセンターに連絡することと、をさらに含む。
【００１５】
本開示の別の態様によると、前記所有者に通知して前記ＣＴを更新することは、前記所有者が重複排除制御を継続すると判断するかを問い合わせることと、継続するという判断に応じて、前記データ所有者と協働して、前記データの前記重複排除ポリシーに沿って前記ＣＴを更新することと、継続しないという判断に応じて、前記データの別の保持者に前記ＣＴの更新を要求するか、前記データ所有者と協働で、前記ＡＰのみによって重複排除が制御されることを示す新たな重複排除ポリシーに沿って前記ＣＴを更新することを含む。
【００１６】
本開示の別の態様によると、前記方法は、データの前記ＣＴを更新する要求に応じて、前記データの前記重複排除ポリシーを取得することと、前記重複排除ポリシーが、ＡＰの重複排除制御が必要であることを示す場合、ＰＲＥ方式に沿って前記再暗号化鍵により前記更新済み第１のＣＫを再暗号化することと、前記第１のデバイスが、前記第１のデバイスの秘密鍵で、前記再暗号化された更新済み第１のＣＫを復号できるように、前記再暗号化された更新済み第１のＣＫを前記第１のデバイスに送信することと、前記重複排除ポリシーが、前記データ所有者による重複排除制御が必要であることを示す場合、ＡＢＥ方式に沿って必要であれば、前記データ所有者に、前記データの識別子と、前記データ保持者の前記公開鍵情報を通知することで、前記更新済み第２のＣＫを復号できる秘密鍵を前記第１のデバイスに発行して、前記データ所有者によるデータ重複排除を実行可能とすることと、をさらに含む。
【００１７】
本開示の別の態様によると、ユーザ装置におけるデータ記憶管理方法が提供され、前記方法は、前記ユーザ装置が、データセンターにデータの記憶要求を送信することと、前記データセンターからの前記データの要求に応じて、前記データの平文または暗号文（ＣＴ）を少なくとも含み、権限者（ＡＰ）および前記データの所有者の両方または一方、前記ＡＰのみ、あるいは前記データ所有者のみによって重複排除が制御される、またはそのいずれによっても制御されないことを示す前記データの重複排除ポリシーを含むデータパッケージ、または当該重複排除ポリシーが判定可能なデータパッケージを、前記データセンターに送信することと、前記データセンターまたは少なくとも１つの他のデータセンターからの前記データの重複排除要求に応じて、重複排除を実行するために属性ベース暗号（ＡＢＥ）方式に沿って適格なデータ保持者に属性秘密鍵を発行することと、を含む。
【００１８】
本開示の別の態様によると、前記方法は、前記データの適格なデータ保持者を検証するために、それぞれ前記データの特定の部位を示す複数のインデックスを含むインデックスリストと、それぞれ１つのインデックスに対応する複数のハッシュ情報を含むハッシュチェーン情報とを、前記データパッケージにより送信することをさらに含む。
【００１９】
本開示の別の態様によると、前記方法は、前記データセンターに第２のデータを記憶する要求を送信することと、前記データセンターからの少なくとも１つのインデックスに対応するハッシュ情報の要求に応じて、前記第２のデータの保持者を検証するために前記データセンターに対して前記少なくとも１つのインデックスに対応する計算されたハッシュ情報を送信することと、をさらに含む。
【００２０】
本開示の別の態様によると、前記方法は、前記重複排除ポリシーが前記ＡＰおよび前記データ所有者の両方によって重複排除が制御されることを示す場合、前記データパッケージにより、前記データを暗号化して前記ＣＴを取得するためのデータ暗号化鍵（ＤＥＫ）を分割して得られた第１のＤＥＫおよび第２のＤＥＫを暗号化して得られた互いに異なる第１の暗号鍵（ＣＫ）および第２のＣＫを送信することと、前記重複排除ポリシーが、重複排除が前記ＡＰまたは前記データ所有者の一方によって制御されることを示す場合、前記データパッケージにより、互いに等しい前記第１および第２のＣＫを送信することと、前記重複排除ポリシーが、重複排除が前記ＡＰのみまたは前記データ所有者のみによって制御されることを示す場合、前記第１のＣＫのみまたは前記第２のＣＫのみを前記データパッケージにより送信することと、前記重複排除ポリシーが、前記ＡＰおよび前記データ所有者のいずれによっても重複排除が制御されないことを示す場合、前記データパッケージにより前記平文を送信することと、をさらに含む。
【００２１】
本開示の別の態様によると、前記第１のＤＥＫは、プロキシ再暗号化（ＰＲＥ）方式に沿って、前記ＡＰの公開鍵で暗号化され、前記第２のＤＥＫは、前記データの保持に適格なユーザのユーザ識別子（ＩＤ）を含むアクセスポリシーに基づいて暗号化される。
【００２２】
前記データの前記重複排除要求は、ユーザＩＤ情報を含み、重複排除を実行するために前記属性秘密鍵を発行することは、前記ユーザＩＤ情報が前記データの保持に適格なユーザを示すかを検証することと、示すという検証結果に応じて、前記ユーザＩＤ情報に基づいて前記属性秘密鍵を生成することと、を含む。
【００２３】
本開示の別の態様によると、前記方法は、前記データセンターから、前記第２のデータに対する再暗号化された第１のＣＫを受信することと、前記ユーザ装置の秘密鍵により前記再暗号化された第１のＣＫを復号して前記第１のＤＥＫを取得することと、前記第２のデータの所有者から属性秘密鍵を受信し、前記第２のデータの所有者または前記データセンターから前記第２のデータに対する前記第２のＣＫを受信することと、前記第２のＣＫを前記属性秘密鍵により復号して、前記第２のＤＥＫを取得することと、前記第１および第２のＤＥＫを結合して、複製排除のために前記ＤＥＫを複製排除のために前記ＤＥＫを取得することと、をさらに含む。
【００２４】
本開示の別の態様によると、前記方法は、前記ユーザ装置により、データの削除要求を前記データセンターに送信することと、前記データセンターからの少なくとも１つのインデックスに対応するハッシュ情報の要求に応じて、前記データの前記保持者を検証するために前記データセンターに対して前記少なくとも１つのインデックスに対応する計算されたハッシュ情報を送信することと、前記データセンターまたは少なくとも１つの他のデータセンターからの、前記ＣＴ更新の要求に応じて、前記データの重複排除ポリシーに沿って前記ＣＴを更新することと、をさらに含む。
【００２５】
本開示の別の態様によると、前記方法は、重複排除制御の継続が必要な場合、前記データのオリジナルの重複排除ポリシーに沿って、前記ＣＴを更新することと、重複排除制御の継続が不要な場合、前記ＡＰのみによって重複排除が制御されることを示す新たな重複排除ポリシーに沿って、前記ＣＴを更新することと、をさらに含む。
【００２６】
本開示の別の態様によると、前記方法は、前記データセンターに、データのＣＴの更新要求であって、権限者（ＡＰ）および前記データの所有者の両方または一方、前記ＡＰのみ、あるいは前記データ所有者のみによって重複排除が制御される、またはそのいずれによっても制御されないことを示す前記データの重複排除ポリシーを含む要求、または当該重複排除ポリシーが判定可能な要求を送信することと、前記重複排除ポリシーが、前記データ所有者による重複排除制御が必要であることを示す場合、属性秘密鍵が未送信であれば、重複排除を実行するために属性ベース暗号（ＡＢＥ）方式に沿って適格なデータ保持者に前記属性秘密鍵を発行することと、をさらに含む。
【００２７】
本開示の別の態様によると、前記方法は、前記データセンターから再暗号化された更新済み第１のＣＫを受信することと、前記ユーザ装置の秘密鍵により、前記再暗号化された更新済み第１のＣＫを復号し、前記更新済み第１のＤＥＫを取得することと、利用不能な場合、前記データの所有者から属性秘密鍵を受信し、前記データセンターまたはデータ所有者から前記更新済み第２のＣＫを受信することと、前記属性秘密鍵により前記更新済み第２のＣＫを復号して、前記更新済み第２のＤＥＫを取得することと、前記更新済み第１および第２のＤＥＫを結合して、重複排除のために前記更新済みＤＥＫを取得することと、をさらに含む。
【００２８】
本開示の別の態様によると、装置が提供され、前記装置は、上記のいずれか１つの方法のすべてのステップを実行するように構成された手段を備える。
【００２９】
本開示の別の態様によると、装置が提供され、前記装置は、少なくとも１つのプロセッサと、コンピュータ実行可能コードを含む少なくとも１つのメモリと、を備え、前記少なくとも１つのメモリおよび前記コンピュータ実行可能コードは、前記少なくとも１つのプロセッサにより、前記装置に上記のいずれか１つの方法のすべてのステップを実行させるように構成される。
【００３０】
本開示の別の態様によると、コンピュータ実行可能プログラムコードを記憶した少なくとも１つの非一時的コンピュータ可読記憶媒体を含むコンピュータプログラムプロダクトが提供され、前記コンピュータ実行可能コードは、実行されたとき、上記のいずれか１つの方法を装置に実施させるように構成される。
【００３１】
本開示のこれらの目的やその他の目的、特徴、および効果は、添付の図面と照らして、以下の具体例としての実施形態の詳細な説明から明らかとなる。
【図面の簡単な説明】
【００３２】
【図１】図１は、本開示の少なくとも１つの実施形態が実現され得る例示的システムを示す。
【００３３】
【図２】図２は、本開示の実施形態に係る、ヘテロジニアス制御に基づくデータ重複排除のための全体的なシステム処理を示すフローチャートである。
【００３４】
【図３】図３は、本開示の実施形態に係る、権限者による制御に基づくデータ重複排除のための全体的なシステム処理のフローチャートを示す。
【００３５】
【図４】図４は、本開示の実施形態に係る、データ所有者による制御に基づくデータ重複排除のための全体的なシステム処理のフローチャートを示す。
【００３６】
【図５】図５は、本開示の実施形態に係る、権限者とデータ所有者のいずれの制御も介さないデータ重複排除のための全体的なシステム処理のフローチャートを示す。
【００３７】
【図６】図６は、本開示の実施形態に係る、複数のＣＳＰの協働によるデータ重複排除の処理のフローチャートを示す。
【００３８】
【図７】図７は、本開示の実施形態に係るデータ削除処理のフローチャートを示す。
【００３９】
【図８】図８は、本開示の実施形態に係るデータ重複排除制御の継続処理のフローチャートを示す。
【００４０】
【図９】図９は、本開示のある実施形態に係る、データ暗号化鍵および暗号文の更新のための全体的なシステム処理のフローチャートを示す。
【００４１】
【図１０】図１０は、本開示のある実施形態に係るユーザ装置において、データの記憶を管理する処理のフローチャートを示す。
【００４２】
【図１１】図１１は、本開示のある実施形態に係る通信ネットワークにおいて、データの記憶を管理する処理のフローチャートを示す。
【００４３】
【図１２】図１２は、本開示のいくつかの例示的実施形態を実施する際に好適に用いられる装置を示す概略ブロック図である。
【発明を実施するための形態】
【００４４】
開示された実施形態の十分な理解を促すために、以下に詳細を述べて説明とする。しかし、実施形態はこれらの特定の詳細やこれと均等の配置によらず実施できることは、当業者には明らかである。
【００４５】
上述のように、クラウドコンピューティングでは、様々なデータがクラウドに記憶されている。例えば、機密の個人情報や個人データ、公に共有されるデータやある個人の集団に限定して共有されるデータ等である。重要データについては、クラウドにおいて権限のない者から、場合によってはクラウドサービスプロバイダ（ＣＳＰ）からも含めて、あらゆるアクセスから保護されるべきであるが、そうでないデータもある。特に共有データの重複データが同一または異なるユーザにより、同一ＣＳＰまたは複数のＣＳＰによるクラウドに保存される場合がある。同一データは、平文または暗号文（様々なデータ保持者が把握している様々な鍵を使用して暗号化）の形式で保存され得る。通常、重複データの記憶はストレージ資源の大量浪費、電力の不要な消費、クラウドサービスプロバイダの運転費用の増加、クラウドにおけるデータ管理の複雑化（例えばデータ検索が複雑化し得る）につながる。
【００４６】
一方で、データ所有者または保持者は、自身のデータの取扱いについてＣＳＰを完全には信頼しておらず、（デジタル著作権管理の一環として）自身でデータのアクセス、記憶、利用を管理することを望む場合がある。しかし、複雑さや可用性を考えると、常に自身で自データを管理したり、機密性の低いデータを個人的に管理したりすることは不便となり得る。さらに、互換性を考えると、データ重複排除が、他のデータアクセス制御機構と協働可能であることが大いに期待される。すなわち、一度のみクラウドで保存された同じデータ（暗号化されているか否かにかかわらず）が、データ所有者やデータ保持者（すなわち、オリジナルデータを保持する適格なデータユーザ）のポリシーに基づき異なるユーザにアクセスされる可能性がある。
【００４７】
本開示の実施形態は、データセキュリティおよびプライバシー要求を満たすように、データ所有者、信頼された第三者、またはその両方により制御された、あるいはそのいずれにも制御されていないデータ重複排除に柔軟に対応し、同時に各種データ記憶状況において記憶領域を節約するための、クラウドコンピューティングにおけるデータの記憶を安全に管理するための包括的かつ異種対応的（ヘテロジニアス）方法を提供できる。本開示の実施形態を、図１〜１２を参照して以下に説明する。
【００４８】
図１は、本開示の少なくとも１つの実施形態が実現され得る例示的システムを示す。図示のように、システム１００は、複数のユーザ装置１１０−１〜１１０−ｎと、データセンター１２０および１２０'と、権限者（ＡＰ）１３０とを含んでもよい。ユーザ装置１１０−１〜１１０−ｎの内の任意のものは、そのユーザが、データセンター１２０または１２０'にデータをアップロード、保存可能としてもよい。機密でないデータは平文テキスト形式でアップロード、保存され、一方、機密データは暗号文形式でアップロード、保存されてもよい。例えば、ユーザ装置１１０−１〜１１０−ｎのユーザが同一の一データを保持し、そのデータ保持者の少なくとも一がデータ所有者であり得る。多数のデータ保持者が同一の平文または暗号文データをデータセンター１２０または１２０'に保存した場合に、データ重複が生じ得る。データ所有者は、データ所有者、ＡＰ１３０、またはその両方によりデータ重複排除を制御可能とするように、あるいはそのいずれにも可能としないように、自由に決定可能である。ユーザ装置１１０は、デスクトップコンピュータ、ラップトップコンピュータ、携帯電話、タブレットコンピュータ、携帯情報端末（ＰＤＡ）等の、有線や無線通信が可能な、任意の固定または携帯デバイスであってもよい。
【００４９】
データセンター１２０または１２０'は、データストレージサービスを提供してもよい。多数のデータ保持者が同一の平文または暗号文データをデータセンター１２０または１２０'に保存した場合、データセンター１２０または１２０'は、データ重複排除を自身で実行しても、データ所有者および／またはＡＰ１３０と協働で実行してもよい。データセンター１２０および１２０'は、業務提携に基づき、協働で重複排除により記録領域を節約してもよい。図１で示されているのはデータセンター１２０および１２０'の２つだが、システム１００はより多くのデータセンターを含んでもよい。例えば、データセンター１２０および１２０'は、それぞれ異なるＣＳＰ（例えば、ローカルＣＳＰとリモートＣＳＰ）により提供されてもよい。あるいは、データセンター１２０および１２０'は、従前のファイルホスティングサービス技術のような、その他任意のデータ記憶技術により実現されてもよい。
【００５０】
ＡＰ１３０は、データセンター１２０または１２０'に記憶されたデータへのアクセスを管理してもよい。例えば、ＡＰ１３０は、データ所有者の代わりにデータ重複排除を担ったり、データセンター１２０または１２０'を介してデータ所有者と協働でデータ重複排除を実行したりしてもよい。ＡＰ１３０は、アクセスマネジメントセンターとして機能してもよい。ＡＰは、いずれのデータセンターとも癒着がなく、データ保持者によりデータ重複排除を実行するのに信頼足るとされている存在である。例えばＡＰは、特別に設立された組織である。
【００５１】
ユーザ装置１１０−１〜１１０−ｎ、データセンター１２０および１２０'、ＡＰ１３０が互いに通信する通信ネットワークは、有線や無線ネットワークであってもよい。当該ネットワークとしては、ローカルエリアネットワーク（Local Area Network：ＬＡＮ）、メトロポリタンエリアネットワーク（Metropolitan Area Network：ＭＡＮ）、広域ネットワーク（Wide Area Network：ＷＡＮ）、公衆データネットワーク（例えばインターネット）、個人モバイルネットワーク、または商業上所有された所有者パケット交換型ネットワーク（例えば所有者ケーブルまたは光ファイバネットワーク）等のその他の好適なパケット交換型ネットワークが挙げられるが、これらに限定されるものではない。無線ネットワークは、例えばセルラーネットワークであってもよく、広域展開用高速データレート（Enhanced Data rates for Global Evolution：ＥＤＧＥ）、汎用パケット無線サービス（General Packet Radio Service：ＧＰＲＳ）、ＧＳＭ（登録商標），インターネットプロトコルマルチメディアサブシステム（Internet protocol Multimedia Subsystem：ＩＭＳ）、ユニバーサル移動通信システム（Universal Mobile Telecommunications System：ＵＭＴＳ）等や、さらにその他の好適な無線媒体、例えば、ＷｉＭＡＸ（登録商標）、無線ＬＡＮ（Wireless LAN：ＷＬＡＮ）、ロングタームエボリューション（Long Term Evolution：ＬＴＥ）ネットワーク、符号分割多元接続（Code Division Multiple Access：ＣＤＭＡ）、ＷＣＤＭＡ（登録商標）、Ｗｉ−Ｆｉ（Wireless Fidelity）、衛星、モバイルアドホックネットワーク（Mobile Ad-hoc Network：ＭＡＮＥＴ）、遅延体制ネットワーク等を含む様々な技術を用いてもよい。
【００５２】
図２は、本開示の実施形態に係る、ヘテロジニアス制御に基づくデータ重複排除のための全体的なシステム処理を示すフローチャートである。なお、本開示のいくつかの実施形態を、データセンターがクラウド記憶技術で実現されている図２から９を参照して説明するが、本開示はそれに限定されるものではない。上述のように、本開示の原理は従前のファイルホスティングサービス技術のような、任意のその他のデータ記憶技術で実現されるデータセンターにも適用可能であることが、当業者には理解できよう。
【００５３】
全体的なシステム処理がよりよく理解できるように、まず例示的実施形態の概要およびそれに関連した方式の鍵やアルゴリズムについて説明する。なお、説明に対する理解を促すために、ユーザのデバイスは以下ではユーザ（例えばデータ所有者またはデータ保持者）と称する場合がある。
【００５４】
本開示の例示的実施形態では、例えば異なる記憶状況および／または重複排除ポリシーに沿って、データ所有者がデータ暗号化鍵（ＤＥＫ）をＮＵＬＬ値または非ＮＵＬＬ値に設定可能であってもよい。データ所有者がデータアクセス制御の実行を望まない場合、ＤＥＫはＮＵＬＬ値を持つように設定されてもよい。この場合、ＣＳＰに平文が記憶され、ＣＳＰが重複排除を一手に担ってもよい。一方、データアクセス制御が必要であれば、ＤＥＫは非ＮＵＬＬ値を持つように設定されてもよい。非ＮＵＬＬ値は、対称秘密鍵であってもよい。この場合、暗号文（ＣＴ）が保存されてもよい。
【００５５】
その後、例えば異なる記憶状況および／または重複排除ポリシーに沿って、ＤＥＫが２つの部分、具体的にはＤＥＫ１およびＤＥＫ２に分けられる。データ所有者が自身のみによってデータ重複排除を制御することを望む場合、ＤＥＫ１がＮＵＬＬとなってもよく、したがって、ＤＥＫ２＝ＤＥＫとなる。この場合、属性ベース暗号（ＡＢＥ）方式を採用してもよい。
【００５６】
ＡＢＥシステムでは、ユーザは正確な識別子ではなく、属性群により識別されてもよい。各データは属性ベースアクセス構造で暗号化されてもよく、その場合、アクセス構造に適合する属性を持つユーザのみがデータを復号できる。ＡＢＥは、属性およびポリシーと暗号文およびユーザの復号鍵との関連性に基づく、鍵ポリシーＡＢＥ（ＫＰ−ＡＢＥ）および暗号文ポリシーＡＢＥ（ＣＰ−ＡＢＥ）の二通りに展開した。ＣＰ−ＡＢＥでは、暗号文は、属性に対してブーリアン方式として定式化されているアクセス制御ポリシーに沿って暗号化されてもよい。この構造では、アクセス制御ポリシーに適合する属性を持つユーザのみが、その秘密属性鍵により暗号文を復号可能となることが保証される。ＫＰ−ＡＢＥでは、ユーザの秘密鍵は属性群と関連付けられてもよい。
【００５７】
一例として、適格なデータ保持者の識別子（ＩＤ）を含むアクセスポリシーに基づいて、ＤＥＫ２を暗号化して暗号鍵ＣＫ２が得られてもよい。すなわち、適格なデータ保持者のＩＤを属性として利用するのである。これにより、適格なデータ保持者はその属性がアクセスポリシーに適合し、ＣＫ２を復号できる。
【００５８】
さらに、データ所有者が、ＡＰ単独でデータ重複排除を制御することを望む場合、ＤＥＫ２をＮＵＬＬにしてもよく、したがって、ＤＥＫ１＝ＤＥＫとなる。この場合、プロキシ再暗号化（ＰＲＥ）方式を採用してもよい。ＰＲＥでは、プロキシへの信用を上乗せする必要なく、鍵一組で委任者が細かなポリシーを実現できるようになる。ＰＲＥシステムでは、委任者のＣＴは当該委任者の公開鍵で生成でき、委任者は再暗号化鍵を、適格なデータ保持者のデータアクセス用に、プロキシに割り当ててもよい。これを受けて、プロキシは再暗号化鍵によりＣＴを再暗号化してもよく、これにより再暗号化されたＣＴは適格なデータ保持者（例えば受任者）の秘密鍵で復号できる。
【００５９】
一例として、ＡＰが委任者で、ＣＳＰがプロキシで、適格なデータ保持者が受任者であり得る。データ所有者はＡＰの公開鍵でＤＥＫ１を暗号化することでＣＫ１を取得し、当該ＣＫ１をＣＳＰに送信してもよい。ＣＳＰは、ＡＰにより割り当てられた再暗号化鍵でＣＫ１を再暗号化し、再暗号化されたＣＫ１を適格なデータ保持者に送信してもよい。これにより、適格なデータ保持者は自身の受任者秘密鍵により再暗号化されたＣＫ１を復号できる。
【００６０】
さらに、データ所有者が、自身とＡＰとの両方でデータ重複排除を制御することを望む場合、ＤＥＫ１とＤＥＫ２はいずれも非ＮＵＬＬであってもよい。この場合、ＡＢＥ方式とＰＲＥ方式のいずれも採用可能で、ＤＥＫ１とＤＥＫ２を集約してＤＥＫを取得することができる。さらに、データ所有者が自身とＡＰとのいずれかでデータ重複排除を制御することを望む場合、ＤＥＫ１＝ＤＥＫ２＝ＤＥＫとなる。この場合、重複排除は、データ所有者またはＡＰのいずれかに連絡することで実行されてもよい。
【００６１】
このように、本開示は、データ所有者と権限者の一方または両方あるいはその他によるクラウドデータ重複排除に対する二次元的記憶管理を提案できる。これは、データ所有者、信頼できる第三者、その両方、またはその他によってクラウドデータ重複排除の取扱いが可能な状況に適用できる。
【００６２】
ＣＳＰ側では、重複データＭのハッシュコードをその識別子として利用できる。この識別子は、データアップロードおよび記憶の際にデータ重複の確認に使用される。データＭのハッシュコード、すなわちＨ（Ｍ）は、データ所有者またはデータ保持者により、ＣＳＰが実行する原本性検証のために署名されてもよい。例えば、Ｈ（Ｍ）は、公開鍵暗号化システム（ＰＫＣ）で署名されてもよい。また、データＭのランダムに選択された具体的な部位における複数のハッシュコードは、そのインデックスを基に計算されてもよい（例えばデータの最初の２０．１％のハッシュコード、データの２１〜２５％のハッシュコード）。これらのハッシュコードは、データＭのハッシュチェーン（ＨＣ）と称されてもよい。
【００６３】
データ所有者／保持者がデータＭをＣＳＰに記憶しようとする際に、重複確認のために、データＭの署名されたハッシュコードをＣＳＰに送信してもよい。重複確認の結果が重複を示す場合、ＣＳＰはさらに、データ保持者が所有者であるかを、データＭのハッシュチェーン（例えば、チェーンにおけるいくつかの特定のハッシュコード）に基づいて検証してもよい。当該ハッシュチェーンによる検証の結果が所有者であると示す場合、データ所有者の重複排除ポリシーに基づく重複排除のため、ＣＳＰはデータ所有者および／またはＡＰに連絡してもよい。
【００６４】
データ重複確認は、ＣＳＰ間で実行されてもよい。あるＣＳＰが別のＣＳＰのためにデータを保存してもよい。データ保持者が同一のデータを別のＣＳＰに保存しようとすると、ＣＳＰ間で、その契約に基づき、重複確認が実行されてもよい。別のＣＳＰの適格なユーザからの重複データアクセスは、当該ＣＳＰにより対応されてもよい。
【００６５】
本開示の例示的実施形態で使用される鍵を、以下の表に示す。
0006404481.tif 000002
【００６６】
上述のシステム鍵の用途について、例示的実施形態で使用されるいくつかの基本的アルゴリズムの説明とともに詳述する。
【００６７】
ＩｎｉｔｉａｔｅＮｏｄｅ（ｕ）
ＩｎｉｔｉａｔｅＮｏｄｅアルゴリズムは、システム設定時にユーザｕにより実行されてもよく、通常は固有のノード識別子であるノード識別子ｕを入力とする。アルゴリズムは、以下の鍵組と認証を出力してもよい。
（１）ＡＢＥ用の公開ユーザ鍵ＰＫ＿ｕおよび秘密ユーザ鍵ＳＫ＿ｕ。
ユーザｕがデータ所有者で、ユーザｕ'がデータ保持者であるとする。上述のアルゴリズムＩｓｓｕｅＩＤＳＫ（ＩＤ，ＳＫ＿ｕ，ＰＫ＿ｕ'）を呼び出すことにより、ユーザｕ'に対して、公開ユーザ鍵ＰＫ＿ｕ'を使用してユーザｕ'の秘密属性鍵（すなわちＳＫ＿（ＩＤ，ｕ，ｕ'））を発行してもよい。
各ユーザは、別のユーザの識別子に基づいて別のユーザに秘密属性鍵を発行するために使用される秘密鍵ＳＫ＿ｕを保持してもよい。それはさらにユーザｕ−ｐｋ＿（ＩＤ，ｕ）の識別子属性（ＩＤで示す）の自身の公開鍵を生成するために使用されてもよい。秘密ユーザ鍵ＳＫ＿ｕはさらに、ＰＫ＿ｕにより暗号化された暗号文の復号に使用されてもよい。
（２）公開鍵暗号化システム（ＰＫＣ）用の鍵組ＰＫ'＿ｕおよびＳＫ'＿ｕ。
ＳＫ'＿ｕは、署名生成の実行や、ＰＫ'＿ｕによって暗号化されたデータの復号に使用されてもよい。したがって、ＰＫ'＿ｕは、署名検証やデータ暗号化に使用されてもよい。
（３）ＰＲＥ用の鍵組ｐｋ＿ｕおよびｓｋ＿ｕ。
上述のように、ＰＲＥシステムは三種類の関係者、すなわち、委任者、プロキシ（代理）、受任者を含み得る。一例として、データ保持者が受任者であり得る。したがって、ｐｋ＿ｕを受任者公開鍵、ｓｋ＿ｕを受任者秘密鍵と称してもよい。
（４）さらに、ＰＫ＿ｕ、ＰＫ'＿ｕ、ｐｋ＿ｕは、権限のある第三者（例えばＰＫＩにおけるＣＡ）またはＣＳＰによりそれぞれＣｅｒｔ（ＰＫ＿ｕ）、Ｃｅｒｔ（ＰＫ'＿ｕ）、Ｃｅｒｔ（ｐｋ＿ｕ）という認証とされてもよい。Ｃｅｒｔ（ＰＫ＿ｕ）、Ｃｅｒｔ（ｐｋ＿ｕ）、Ｃｅｒｔ（ＰＫ'＿ｕ）は、ＣＳＰおよびＣＳＰユーザにより検証されてもよい。
【００６８】
ＩｎｉｔｉａｔｅＡＰ
このアルゴリズムの処理では、ＡＰは単独でＰＲＥ用のｐｋ＿ＡＰおよびｓｋ＿ＡＰを生成し、ＣＳＰのストレージサービスを介して、ＣＳＰユーザに対してｐｋ＿ＡＰを同時送信してもよい。一例として、ＡＰはＰＲＥシステムにおける委任者であり得る。したがって、ｐｋ＿ＡＰを委任者公開鍵、ｓｋ＿ＡＰを委任者秘密鍵と称してもよい。
【００６９】
Ｅｎｃｒｙｐｔ（ＤＥＫ＿ｕ，Ｍ）
Ｅｎｃｒｙｐｔアルゴリズムは、データＭ、対称鍵ＤＥＫ＿ｕを入力としてもよい。このアルゴリズムは、ＤＥＫ＿ｕによりデータＭを暗号化し、暗号文ＣＴ＿ｕを出力してもよい。この処理は、ユーザｕがＣＳＰに記憶された自身のデータをＤＥＫ＿ｕで保護するために実行してもよい。
【００７０】
ＳｅｐａｒａｔｅＫｅｙ（ＤＥＫ＿ｕ）
ＤＥＫ１＿ｕとＤＥＫ２＿ｕの両方が非ＮＵＬＬであると判定されると、ＤＥＫ＿ｕの入力に応じて、この関数は例えばランダム分割に基づいて、鍵の２つの部分ＤＥＫ１＿ｕおよびＤＥＫ２＿ｕを出力してもよい。
【００７１】
ＣｒｅａｔｅＩＤＰＫ（ＩＤ，ＳＫ＿ｕ）
ＣｒｅａｔｅＩＤＰＫアルゴリズムは、ユーザ（すなわちデータ所有者）が自身のデータ記憶の制御と、クラウドへのアクセスを望んだ際にはいつでも実行されてもよい。このアルゴリズムは、ユーザｕのＩＤ（例えばＰＫ＿ｕ）がデータ記憶管理に関連するポリシーに適合するかを確認してもよい。例えば、データの記憶およびアクセス管理のため、該ＩＤがデータ所有者のＩＤであるかを確認してもよい。ＩＤがポリシーに適合する場合、このアルゴリズムは、ＡＢＥ機構に応じて、ユーザｕのＩＤに関連した公開属性鍵（ｐｋ＿（ＩＤ，ｕ）で示す）を出力してもよい。適合しない場合、このアルゴリズムは、ＮＵＬＬを出力してもよい。
なお、識別子属性はＩＤ（匿名識別子であってもよい）として示されている。（ＩＤ，ｕ）で示されるすべての属性には、ｐｋ＿（ＩＤ，ｕ）で示された公開鍵が存在する。これはユーザｕにより生成され、ＤＥＫの一部である対称鍵ＤＥＫ２の暗号化に使用される。
【００７２】
ＥｎｃｒｙｐｔＫｅｙ（ＤＥＫ２＿ｕ，Ａ，ｐｋ＿（ＩＤ，ｕ））
ＥｎｃｒｙｐｔＫｅｙアルゴリズムは、対称鍵ＤＥＫ２＿ｕである第２部分と、アクセスポリシーＡと、データ記憶管理に関連したポリシーで生じる識別子属性に対応する公開鍵ｐｋ＿（ＩＤ，ｕ）を入力としてもよい。このアルゴリズムは、ポリシーＡによりＤＥＫ２＿ｕを暗号化し、暗号鍵ＣＫ２＿ｕを出力してもよい。この処理は、ＣＳＰにおけるデータの記憶に対する重複排除に対応するためにユーザｕにより実行されてもよい。
アクセスポリシーＡについて、例えばデータ所有者はＩＤ＝ＰＫ＿ｕｊ'（ｊ＝１、２、３）を有する別のデータ保持者とデータの記憶を共有することを望む場合がある。この場合、ポリシーＡはＩＤ＝ＰＫ＿ｕ'１∨ＰＫ＿ｕ'２∨ＰＫ＿ｕ'３となり得る。ＥｎｃｒｙｐｔＫｅｙアルゴリズムは、ｊ＝１、２、３のすべてに対して繰り返し、論理積ごとにランダム値Ｒ＿ｊおよび構成要素CK２＿ｊを生成してもよい。暗号鍵ＣＫ２はタプルＣＫ＝＜ＣＫ２＿１、ＣＫ２＿２、…、ＣＫ２＿ｊ＞として取得され得る。
【００７３】
ＩｓｓｕｅＩＤＳＫ（ＩＤ，ＳＫ＿ｕ，ＰＫ＿ｕ'）
ＩｓｓｕｅＩＤＳＫアルゴリズムを呼び出す前に、Ｃｅｒｔ（ＰＫ＿ｕ'）が信頼された第三者またはデータ所有者自身により認証された有効な識別子であるかを確認することで、ユーザｕ'の適格性を確認してもよい。図２を参照して後述するように、ユーザｕはＣＳＰを介してユーザｕ'からＣｅｒｔ（ＰＫ＿ｕ'）を受信してもよい。
確認の結果が適格を示した場合、最初に公開鍵ＰＫ＿ｕ'を有するユーザｕ'が適格な属性ＩＤを有するか（すなわちＰＫ＿ｕ'がデータを保持する権限を有するか）を確認することで、ユーザｕがＩｓｓｕｅＩＤＳＫアルゴリズムを実行してもよい。例えば、ＰＫ＿ｕ'がアクセスポリシーＡに適合するかを確認してもよい。
その結果が適合することを示す場合、ＩｓｓｕｅＩＤＳＫアルゴリズムは、ユーザｕ'に対して秘密属性鍵ＳＫ＿（ＩＤ，ｕ，ｕ'）を出力してもよい。適合しなければ、このアルゴリズムは、ＮＵＬＬを出力してもよい。生成されたＳＫ＿（ＩＤ，ｕ，ｕ'）は、ユーザｕからセキュアチャネルを介して、またはＰＫＣを使用して、ユーザｕ'に送信されてもよい。
なお、ｐｋ＿（ＩＤ，ｕ）により暗号化された暗号鍵を復号するための対応する秘密属性鍵は、適格なデータ保持者に対して個別化され、データ所有者ｕにより発行される。癒着が生じないよう、すべてのデータ保持者には、それぞれ自身のみが使用可能な、別々の秘密属性鍵が提供される。適格な保持者ｕ'に対してユーザｕから発行される属性ＩＤの秘密属性鍵は、ｓｋ＿（ＩＤ，ｕ，ｕ'）で示される。
【００７４】
ＤｅｃｒｙｐｔＫｅｙ（ＣＫ２＿ｕ，Ａ，ＰＫ＿ｕ'，ｓｋ＿（ＩＤ，ｕ，ｕ'））
ＤｅｃｒｙｐｔＫｅｙアルゴリズムは、ＥｎｃｒｙｐｔＫｅｙアルゴリズムにより生成された暗号鍵と、ＣＫ２＿ｕを暗号化したアクセスポリシーＡと、ユーザｕ'に対するＳＫ＿ｕ'、ｓｋ＿（ＩＤ，ｕ，ｕ'）を入力としてもよい。属性（例えばＰＫ＿ｕ'）が十分アクセスポリシーＡに適合するならば、ＤｅｃｒｙｐｔＫｅｙアルゴリズムは、暗号鍵ＣＫ２＿ｕを復号し、対応する平文鍵ＤＥＫ２＿ｕを出力してもよい。適合しない場合、このアルゴリズムは、ＮＵＬＬを出力してもよい。
この処理は、重複保存が生じると、ユーザｕ'により実行されてもよい。最初にＰＫ＿ｕ'が暗号化ポリシーＡに適合するかが確認され、その結果が適合を示す場合、復号を実行してＤＥＫ２＿ｕを取得する。
【００７５】
上述のように、ＰＲＥ方式はＡＰによりＤＥＫ１再暗号化に対応してもよい。プロキシ再暗号化は、ＣＳＰ（すなわちプロキシ）がＡＰの公開鍵により計算されたＤＥＫ１の暗号文を、適格なデータ保持者の秘密鍵を使用して復号できるものに変換可能とするものであってもよい。再暗号化と称する暗号文変換中に、ＣＳＰはＤＥＫ１の元となる平文について知ることはないため、データ保持者の平文データを把握することはできない。ＰＲＥ方式に関連したアルゴリズムを以下に説明する。
【００７６】
Ｅ（ｐｋ＿ＡＰ，ＤＥＫ１＿ｕ）
ｐｋ＿ＡＰおよびＤＥＫ１＿ｕの入力に応じて、このアルゴリズムは、暗号文ＣＫ１＝Ｅ（ｐｋ＿ＡＰ，ＤＥＫ１＿ｕ）を出力してもよい。
【００７７】
ＲＧ（ｐｋ＿ＡＰ，ｓｋ＿ＡＰ，ｐｋ＿ｕ'）
（ｐｋ＿ＡＰ，ｓｋ＿ＡＰ，ｐｋ＿ｕ'）の入力に応じて、再暗号化鍵生成アルゴリズムＲＧは、プロキシＣＳＰに対して再暗号化鍵ｒｋ＿ＡＰ→ｕ'を出力してもよい。
【００７８】
Ｒ（ｒｋ＿ＡＰ→ｕ'，ＣＫ１）
ｒｋ＿ＡＰ→ｕ'および暗号文ＣＫ１の入力に応じて、再暗号化関数Ｒは、秘密鍵ｓｋ＿ｕ'により復号可能なＲ（ｒｋ＿ＡＰ→ｕ'，ＣＫ１）＝Ｅ（ｐｋ＿ｕ'，ＤＥＫ１＿ｕ）＝ＣＫ１'を出力してもよい。
【００７９】
Ｄ（ｓｋ＿ｕ，ＣＫ'１）
ｓｋ＿ｕおよび暗号文ＣＫ'１の入力に応じて、復号アルゴリズムＤは平文鍵ＤＥＫ１＿ｕを出力してもよい。
【００８０】
ＣｏｍｂｉｎｅＫｅｙ（ＤＥＫ１＿ｕ，ＤＥＫ２＿ｕ）
ＤＥＫ１＿ｕおよびＤＥＫ２＿ｕの入力に応じて、この関数は、結合によって完全鍵ＤＥＫ＿ｕを出力してもよい。
【００８１】
Ｄｅｃｒｙｐｔ（ＤＥＫ＿ｕ，ＣＴ＿ｕ）
Ｄｅｃｒｙｐｔアルゴリズムは、暗号化データＣＴ＿ｕおよび対称鍵ＤＥＫ＿ｕを入力としてもよい。このアルゴリズムは、ＤＥＫ＿ｕによりＣＴ＿ｕを復号し、平文データＭを出力してもよい。この処理は、ＣＳＰに保存されたデータの平文を開示するため、データ保持者により実行される。
【００８２】
次に、本開示の実施形態に係るヘテロジニアス制御によるデータ重複排除のための全体的なシステム処理を、図２を参照して説明する。本処理では、ユーザｕ１が実際のデータ所有者であり、自身の機密個人データＭをＤＥＫ＿ｕ１で保護してＣＳＰに保存する。一方、ユーザｕ２は同じデータのＣＳＰへの保存を試みるデータ保持者である。図２のシステムでは、データ所有者およびＡＰの両方が重複排除制御に必要であり、ＣＳＰは１つのみ存在する。
【００８３】
ステップ２０２において、ＣＳＰおよびＡＰの各ユーザはシステム設定を実行してもよい。各ユーザｕｉは、ＩｎｉｔｉａｔｅＮｏｄｅ（ｕｉ）を呼び出し、３つの鍵組（ＰＫ＿ｕｉ，ＳＫ＿ｕｉ）、（ＰＫ'＿ｕｉ，ＳＫ'＿ｕｉ）、（ｐｋ＿ｕｉ，ｓｋ＿ｕｉ）（ｉ＝１、２、…）を生成する。一方、各ユーザｕｉは、自身で生成した公開鍵Ｃｅｒｔ（ＰＫ＿ｕｉ）、Ｃｅｒｔ（ＰＫ'＿ｕｉ）、Ｃｅｒｔ（ｐｋ＿ｕｉ）に対応する認証を、権利を有する第三者（ＰＫＩにおけるＣＡ）またはＣＳＰから取得してもよい。例えば、ステップ２０２ａにおいて、ユーザｕ１は３つの鍵組（ＰＫ＿ｕ１，ＳＫ＿ｕ１）、（ＰＫ'＿ｕ１，ＳＫ'＿ｕ１）、（ｐｋ＿ｕ１，ｓｋ＿ｕ１）を生成し、その生成した公開鍵に対応する認証Ｃｅｒｔ（ＰＫ＿ｕ１）、Ｃｅｒｔ（ＰＫ'＿ｕ１）、Ｃｅｒｔ（ｐｋ＿ｕ１）を取得してもよい。上述のように、ユーザｕ１はデータ所有者であるため、ＰＲＥ用の鍵組（ｐｋ＿ｕ１，ｓｋ＿ｕ１）と対応する認証Ｃｅｒｔ（ｐｋ＿ｕ１）も省略されてもよい。ステップ２０２ｂにおいて、ユーザｕ２は３つの鍵組（ＰＫ＿ｕ２，ＳＫ＿ｕ２）、（ＰＫ'＿ｕ２，ＳＫ'＿ｕ２）、（ｐｋ＿ｕ２，ｓｋ＿ｕ２）を生成し、その生成した公開鍵に対応する認証Ｃｅｒｔ（ＰＫ＿ｕ２）、Ｃｅｒｔ（ＰＫ'＿ｕ２）、Ｃｅｒｔ（ｐｋ＿ｕ２）を取得してもよい
【００８４】
ＡＰは、ステップ２０２ｄにおいてＩｎｉｔｉａｔｅＡＰを呼び出し、自身の鍵組（ｐｋ＿ＡＰ，ｓｋ＿ＡＰ）を生成し、ｐｋ＿ＡＰを各ユーザに同時送信してもよい。さらに、ＣＳＰは、ステップ２０２ｃにおいて各公開鍵ＰＫ＿ｕｉ、ＰＫ'＿ｕｉ、ｐｋ＿ｕｉを受信し、対応する認証Ｃｅｒｔ（ＰＫ＿ｕｉ）、Ｃｅｒｔ（ＰＫ'＿ｕｉ）、Ｃｅｒｔ（ｐｋ＿ｕｉ）を各ユーザｕｉに発行してもよい。
【００８５】
次にステップ２０４において、ユーザｕ１は、データＭのハッシュ情報を生成してもよい。ハッシュ情報は、少なくともデータＭのハッシュコードを含んでもよい。例えば、ユーザｕ１は、Ｈ（Ｍ）を計算し、ＳＫ'＿ｕ１によりＨ（Ｍ）を署名しＳｉｇｎ（Ｈ（Ｍ），ＳＫ'＿ｕ１）としてもよい。ここで、Ｓｉｇｎ（）は署名関数を示す。
【００８６】
次にステップ２０６において、ユーザｕ１は、少なくともデータＭのハッシュ情報を送信してもよい。例えば、ユーザｕ１は、パッケージＰ１＝｛Ｈ（Ｍ），Ｓｉｇｎ（Ｈ（Ｍ），ＳＫ'＿ｕ１），Ｃｅｒｔ（ＰＫ＿ｕ１），Ｃｅｒｔ（ＰＫ'＿ｕ１），Ｃｅｒｔ（ｐｋ＿ｕ１）｝をＣＳＰに送信してもよい。別の例として、パッケージは少なくともデータ記憶重複確認に必要なＨ（Ｍ）、Ｓｉｇｎ（Ｈ（Ｍ），ＳＫ'＿ｕ１）、Ｃｅｒｔ（ＰＫ'＿ｕ１）を含んでもよい。
【００８７】
その後、ステップ２０８において、ＣＳＰは同じデータＭを保存しているかを確認してもよい。同じデータがＣＳＰに保存されていない場合、ＣＳＰはユーザｕ１にデータ送信を要求してもよく、同じデータがＣＳＰに保存されている場合、ステップ２２０にて詳細に後述するように、ＣＳＰはユーザｕ１が所有者であるかを検証してもよい。なお、ステップ２０８および２２０は実質的に同じである。ここでは最初にアップロードしたのが実際のデータ所有者であるため、ステップ２０８においてＣＳＰはユーザｕ１にデータアップロードを要求する。
【００８８】
例えば、ステップ２０８において、ＣＳＰは、認証Ｃｅｒｔ（ＰＫ'＿ｕ１）を検証し、ＰＫ'＿ｕ１により署名Ｓｉｇｎ（Ｈ（Ｍ），ＳＫ'＿ｕ１）を検証し、その後ＣＳＰに同じＨ（Ｍ）が記録されているかを確認してもよい。ここではユーザｕ１（すなわちデータ所有者）が最初にアップロードしているので、ステップ２１０においてＣＳＰはユーザｕ１にデータを要求してもよい。
【００８９】
次にステップ２１２において、ユーザｕ１は、データＭをＤＥＫで暗号化し、ＤＥＫをＤＥＫ１とＤＥＫ２に分割し、ＰＲＥ方式でＤＥＫ１を暗号化し、ＡＢＥ方式でＤＥＫ２を暗号化し、データＭのインデックスリストとハッシュチェーン情報を計算してもよい。
【００９０】
例えば、プライバシーおよびセキュリティ保護のために、ユーザｕ１は、データＭをランダムに選択された対称鍵ＤＥＫ＿ｕ１により暗号化してＣＴ＿ｕ１＝Ｅｎｃｒｙｐｔ（ＤＥＫ＿ｕ１，Ｍ）を取得してもよい。その後ユーザｕ１は、ＳｅｐａｒａｔｅＫｅｙ（ＤＥＫ＿ｕ１）を呼び出して、ＤＥＫ１＿ｕ１およびＤＥＫ２＿ｕ１というＤＥＫ＿ｕ１の２つのランダムな部位を取得してもよい。ユーザｕ１は、ＥｎｃｒｙｐｔＫｅｙ（ＤＥＫ２＿ｕ１，Ａ，ｐｋ＿（ＩＤ，ｕ１））を呼び出して、ｐｋ＿（ＩＤ，ｕ１）によりＤＥＫ２＿ｕ１を暗号化して、ＣＫ１＿ｕ１を取得してもよい。ｐｋ＿（ＩＤ，ｕ１）は、上述のようにユーザｕ１のデータ記憶管理ポリシーに応じて生成される。ユーザｕ１は、Ｅ（ｐｋ＿ＡＰ，ＤＥＫ１＿ｕ１）を呼び出して、ｐｋ＿ＡＰによりＤＥＫ１＿ｕ１を暗号化することでＣＫ１＿ｕ１を取得してもよい。
【００９１】
さらに、ユーザｕ１は、インデックスリストＩＮ＝｛Ｉｎ１，Ｉｎ２，…，Ｉｎｋ｝をランダムに選択してもよい。当該リストは、Ｍの特定の部位を示す（例えばＩｎ１はデータの最初の１％を示し，Ｉｎ２はデータの最初の１．２％を示す）。さらに、ユーザｕ１は、インデックスに基づいて各種Ｍの部位のハッシュコードを計算して，ＨＣ（Ｍ）＝｛Ｈ（Ｍ１），Ｈ（Ｍ２），…，Ｈ（Ｍｋ）｝を取得してもよい。さらにユーザｕ１は、ＳＫ'＿ｕ１によりＨＣ（Ｍ）を署名して、Ｓｉｇｎ（ＨＣ（Ｍ），ＳＫ'＿ｕ１）を取得してもよい。
【００９２】
次にステップ２１４において、ユーザｕ１は、インデックスリスト、ハッシュチェーン情報、暗号化されたデータ、暗号化されたＤＥＫ１、暗号化されたＤＥＫ２を送信してもよい。ハッシュチェーン情報は、少なくともデータＭのハッシュチェーンを含んでもよい。例えば、ユーザｕ１は、データパッケージＤＰ１＝｛ＣＴ＿ｕ１，ＣＫ１＿ｕ１，ＣＫ２＿ｕ１，Ｉｎ，ＨＣ（Ｍ），Ｓｉｇｎ（ＨＣ（Ｍ），ＳＫ'＿ｕ１）｝を、セキュアチャネルを介してＣＳＰに送信してもよい。続いてステップ２１６において、ＣＳＰはデータパッケージを保存してもよい。
【００９３】
次にステップ２１８において、ユーザｕ２は、すでに保存された同じデータＭをＣＳＰに保存しようとしてもよい。ステップ２０６と同様に、ユーザｕ２は、少なくともデータＭのハッシュ情報を送信してもよい。例えば、ユーザｕ２は、パッケージＰ２＝｛Ｈ（Ｍ），Ｓｉｇｎ（Ｈ（Ｍ），ＳＫ'＿ｕ２），Ｃｅｒｔ（ＰＫ＿ｕ２），Ｃｅｒｔ（ＰＫ'＿ｕ２），Ｃｅｒｔ（ｐｋ＿ｕ２）｝をＣＳＰに送信してもよい。別の例としてパッケージは、データ記憶重複確認に必要なＨ（Ｍ），Ｓｉｇｎ（Ｈ（Ｍ），ＳＫ'＿ｕ１），Ｃｅｒｔ（ＰＫ'＿ｕ１）を少なくとも含んでもよい。
【００９４】
次にステップ２０８と同様に、ステップ２２０において、ＣＳＰは、同じデータを保存しているかを確認してもよい。ＣＳＰに同じデータが保存されていなければ、ＣＳＰはユーザにデータ送信を要求してもよい。ＣＳＰに同じデータが保存されていれば、ＣＳＰはユーザが所有者かを検証してもよい。ユーザｕ１により同じデータがＣＳＰに保存されているので、この確認結果は正となる。この場合、ＣＳＰはユーザｕ２にインデックスリストの少なくとも１つのインデックスに対応するハッシュ情報の送信を要求してもよい。例えば、ＣＳＰは、１つのインデックｘまたは複数のインデックスをランダムに選択してもよい。さらに、ＣＳＰは、ＰＫ'＿ｕ２によりインデックスｘを暗号化してＥ（ｘ，ＰＫ'＿ｕ２）としてもよい。ステップ２２２において、ＣＳＰはインデックス情報（例えば、Ｅ（ｘ，ＰＫ'＿ｕ２））をユーザｕ２に送信してもよい。
【００９５】
次にステップ２２４において、ユーザｕ２は、対応するハッシュ情報を計算して、ＣＳＰに送信してもよい。対応するハッシュ情報は、ＣＳＰから送信された少なくとも１つのインデックスに対応するハッシュ情報を少なくとも含んでもよい。例えば、ユーザｕ２は、ハッシュコードＨＣ（Ｍｘ）を計算してもよく、ここで、ＭｘはＣＳＰから送信された少なくとも１つのインデックスｘに対応するＭの部位を示す。さらに、ユーザｕ２は、ＳＫ'＿ｕ２によりＨＣ（Ｍｘ）を署名して、Ｓｉｇｎ（ＨＣ（Ｍｘ），ＳＫ'＿ｕ２）としてもよい。続いてユーザｕ２は、ＨＣ（Ｍｘ）およびＳｉｇｎ（ＨＣ（Ｍｘ），ＳＫ'＿ｕ２）をＣＳＰに送信してもよい。なお、このステップでは、データの保持者を確定するため、ＣＳＰは複数のＨＣ（Ｍｘ）を検証してもよい。
【００９６】
次にステップ２２６において、ユーザｕ１がＣＳＰに保存したハッシュチェーン情報に基づいて、ＣＳＰは、ユーザｕ２から送信されたハッシュ情報を検証してもよい。検証の結果が正であれば、ＣＳＰは、重複排除のためＡＰおよびユーザｕ１に連絡してもよい。なお、ＡＰおよびユーザｕ１には、同時または任意の順番で順次連絡してもよい。図２では、ＣＳＰはまずＡＰに連絡し、その後ユーザｕ１に連絡している。
【００９７】
例えば、ステップ２２６において、ＣＳＰは、ＰＫ'＿ｕ２によりＳｉｇｎ（ＨＣ（Ｍｘ），ＳＫ'＿ｕ２）を検証し、受信したＨＣ（Ｍｘ）がＣＳＰにすでに保存されているＨＣ（Ｍｘ）と同一であるかを確認してもよい。この確認の結果が正の場合、ＣＳＰはステップ２２８に進んでもよい。ステップ２２８において、ＣＳＰは、ユーザｕ２のＰＲＥ用公開鍵情報を、まだＡＰと共有されていない場合、ＡＰに送信してもよい。例えば、ＣＳＰは、認証Ｃｅｒｔ（ｐｋ＿ｕ２）（ｐｋ＿ｕ２を含む）をＡＰに送信してもよい。
【００９８】
次にステップ２３０において、ＡＰは、ユーザｕ２に関する第三者でのデータ記憶ポリシーを検証してもよい。検証結果が正であれば、ＡＰは、ユーザｕ２に対す再暗号化情報を生成してもよい（利用不能な場合）。例えば、適格なデータ保持者に関する第三者でのデータ記憶ポリシーは、適格なデータ保持者のＰＲＥ用の公開鍵情報を含むアクセスポリシーであってもよく、ステップ２１２においてデータ所有者ｕ１により生成され、ステップ２１４においてＣＳＰに送信され、ステップ２２８においてＡＰに送信されてもよい。あるいは、ＡＰに対しては別の安全な方法で送信されてもよい。さらに、例えばＡＰは、ＲＧ（ｐｋ＿ＡＰ，ｓｋ＿ＡＰ，ｐｋ＿ｕ２）を呼び出してｒｋ＿ＡＰ−＞ｕ２を生成してもよい（利用不能な場合）。続いてステップ２３２において、ＡＰは、再暗号化情報をＣＳＰに送信してもよい。例えば、ＡＰはｒｋ＿ＡＰ−＞ｕ２をＣＳＰに対して、セキュアチャネルを使用して発行してもよい。
【００９９】
ステップ２３４において、ＣＳＰは、再暗号化情報によりＣＫ１＿ｕ１を再暗号化してもよい。例えば、ＣＳＰは、Ｒ（ｒｋ＿ＡＰ−＞ｕ２，Ｅ（ｐｋ＿ＡＰ，ＤＥＫ１＿ｕ１））＝Ｅ（ｐｋ＿ｕ２，ＤＥＫ１＿ｕ１）を呼び出してＣＫ１＿ｕ１を再暗号化してもよい。続いてステップ２３６において、ＣＳＰは、再暗号化されたＣＫ１＿ｕ１（すなわちＥ（ｐｋ＿ｕ２，ＤＥＫ１＿ｕ１））をユーザｕ２に通知してもよい。ユーザｕ２は、Ｅ（ｐｋ＿ｕ２，ＤＥＫ１＿ｕ１）について受領通知をＣＳＰに送信してもよい。続いてステップ２３８において、ユーザｕ２は、再暗号化されたＣＫ１＿ｕ１（すなわちＥ（ｐｋ＿ｕ２，ＤＥＫ１＿ｕ１））をその秘密鍵ｓｋ＿ｕ２（例えばＤ（ｓｋ＿ｕ２，Ｅ（ｐｋ＿ｕ２，ＤＥＫ１＿ｕ１））を呼び出すことにより）復号してもよい。
【０１００】
ステップ２４０において、ＣＳＰは、重複排除のためにデータ所有者ｕ１に連絡してもよい。例えば、ＣＳＰは、データＭのデータ識別子（例えばＨ（Ｍ））と、ユーザｕ２のＡＢＥ用の公開鍵情報（例えば、ＰＫ＿ｕ２を含むＣｅｒｔ（ＰＫ＿ｕ２））をユーザｕ１に送信してもよい。
【０１０１】
次にステップ２４２において、ユーザｕ１は、ユーザｕ２に関する第三者でのデータ記憶の適格性を検証してもよい。この検証の結果が正であれば、ユーザｕ１は、ユーザｕ２に対する個別化属性秘密鍵を生成してもよい。例えば、ユーザｕ１は、Ｃｅｒｔ（ＰＫ＿ｕ２）を検証し、ＩｓｓｕｅＩＤＳＫ（ＩＤ，ＳＫ＿ｕ１，ＰＫ＿ｕ２）を呼び出してｓｋ＿（ＩＤ，ｕ１，ｕ２）を生成してもよい。上述のようにＩｓｓｕｅＩＤＳＫアルゴリズムは、ＰＫ＿ｕ２が適格な属性ＩＤであるかを確認してもよい。
【０１０２】
次にステップ２４４において、ユーザｕ１は、ユーザｕ２に対する個別化属性秘密鍵と、任意で暗号化されたＤＥＫ２とをユーザｕ２に発行してもよい。例えば、ユーザｕ１は、ｓｋ＿（ＩＤ，ｕ１，ｕ２）と、任意でＣＫ２＿ｕ１とをユーザｕ２に発行してもよい（セキュアチャネルまたはＰＫＣを使用する）。なお、ＣＫ２＿ｕ１がＣＳＰにより共有されている場合、ユーザｕ１は、ユーザｕ２に対する個別化属性秘密鍵のみを発行してもよい。
【０１０３】
次にステップ２４６において、ユーザｕ２は、ユーザｕ２に対する個別化属性秘密鍵に基づいて暗号化されたＤＥＫ２を復号し、得られたＤＥＫ２とＤＥＫ１とを結合してＤＥＫを取得してもよい。例えば、ユーザｕ２は、ＤｅｃｒｙｐｔＫｅｙ（ＣＫ２＿ｕ１，Ａ，ＳＫ＿ｕ２，ｓｋ＿（ＩＤ，ｕ１，ｕ２））を呼び出してＣＫ２＿ｕ１を復号して、ＤＥＫ２＿ｕ１を取得し、ＣｏｍｂｉｎｅＫｅｙ（ＤＥＫ１＿ｕ１，ＤＥＫ２＿ｕ１）を呼び出して、ステップ２３８で得られたＤＥＫ１＿ｕ１とＤＥＫ２＿ｕ１を結合してＤＥＫ＿ｕ１を取得してもよい。このようにして、ユーザｕ２は、ＣＳＰに重複データを保存することなく、取得したＤＥＫ＿ｕ１によりＣＴ＿ｕ１を復号してもよい。
【０１０４】
ステップ２４８において、ユーザｕ１は、ＣＳＰにデータ重複排除成功を通知してもよい。例えば、ユーザｕ１は、Ｃｅｒｔ（ＰＫ＿ｕ２）とＨ（Ｍ）をＣＳＰに送信してもよい。この通知を受けて、ＣＳＰはステップ２５０において、対応する重複排除情報（例えば、Ｃｅｒｔ（ＰＫ＿ｕ２）およびＨ（Ｍ））を自身のシステムに記録してもよい。例えば、ＣＳＰは、ユーザｕ２に対するハッシュ情報Ｈ（Ｍ）の重複排除記録を更新してもよい。このとき、ユーザｕ１およびｕ２の両方がＣＳＰに保存された同一のデータＭに自由にアクセスできる。ユーザｕ１は、ＤＥＫ＿ｕ１を直接使用してもよく、ユーザｕ２は、ステップ２４６においてＤＥＫ＿ｕ１を取得してもよい。
【０１０５】
図３は、本開示の実施形態に係る、権限者による制御に基づくデータ重複排除のための全体的なシステム処理のフローチャートを示す。図２および３に示す２つの処理の主な違いは、ＤＥＫの分割の仕方である。具体的には、図２では、ＤＥＫ１＋ＤＥＫ２＝ＤＥＫとなり、ＤＥＫ１とＤＥＫ２の両方が非ＮＵＬＬのため、重複排除制御はデータ所有者とＡＰの両方を要する。一方、図３では、ＤＥＫ２はＮＵＬＬで、ＤＥＫ１（非ＮＵＬＬ）＝ＤＥＫとなる。したがって、重複排除はＡＰのみによって制御される。
【０１０６】
図２および３に示す２つの処理の違いを以下に詳述する。ステップ２０２ａおよび２０２ｂと同様のステップ３０２ａおよび３０２ｂにおいて、ＡＢＥ制御が不要であるため鍵組（ＰＫ＿ｕｉ、ＳＫ＿ｕｉ）を省略してもよい。次に、ステップ２１２と同様のステップ３１２において、ＤＥＫ１がＤＥＫに設定され、ＤＥＫ１のみがＰＲＥ方式に沿って暗号化される。したがって、ステップ３１４においてＣＫ２は省略できる。さらに、図２に示すＡＢＥに基づく重複排除ステップは省略可能である。
【０１０７】
図４は、本開示の実施形態に係る、データ所有者による制御に基づくデータ重複排除のための全体的なシステム処理のフローチャートを示す。図２および４に示す２つの処理の主な違いは、ＤＥＫの分割の仕方である。具体的には、図２では、ＤＥＫ１＋ＤＥＫ２＝ＤＥＫとなり、ＤＥＫ１とＤＥＫ２の両方が非ＮＵＬＬのため、重複排除制御はデータ所有者とＡＰの両方を要する。一方、図４では、ＤＥＫ１はＮＵＬＬで、ＤＥＫ２（非ＮＵＬＬ）＝ＤＥＫとなる。したがって、重複排除はデータ所有者のみによって制御される。
【０１０８】
図２および４に示す２つの処理の違いを以下に詳述する。ステップ２０２ａおよび２０２ｂと同様のステップ４０２ａおよび４０２ｂにおいて、ＰＲＥ制御が不要であるため、鍵組（ＰＫ＿ｕｉ，ＳＫ＿ｕｉ）を省略してもよい。さらに、ステップ４０２ｄも省略してもよい。次に、ステップ２１２と同様のステップ４１２において、ＤＥＫ２がＤＥＫに設定され、ＤＥＫ２のみがＡＢＥ方式に沿って暗号化される。したがって、ステップ４１４においてＣＫ１は省略できる。さらに、図２に示すＰＲＥに基づく重複排除ステップは省略可能である。
【０１０９】
図５は、本開示の実施形態に係る、権限者、データ所有者のいずれの制御も介さないデータ重複排除のための全体的なシステム処理のフローチャートを示す。ここで、ＤＥＫはＮＵＬＬであるため、ＣＳＰには平文が保存される。
【０１１０】
ステップ５０２において、各ユーザとＣＳＰにおいて、システム設定が実行されてもよい。各ユーザｕｉは、ＩｎｉｔｉａｔｅＮｏｄｅ（ｕｉ）を呼び出して１の鍵組（ＰＫ'＿ｕｉ，ＳＫ'＿ｕｉ）（ｉ＝１、２、…）を生成してもよい。一方、各ユーザｕｉは、自身で生成した公開鍵Ｃｅｒｔ（ＰＫ'＿ｕｉ）に対応する認証を、権利を有する第三者（ＰＫＩにおけるＣＡ）またはＣＳＰから取得してもよい。例えばステップ５０２ａにおいて、ユーザｕ１は１つの鍵組（ＰＫ'＿ｕ１，ＳＫ'＿ｕ１）を生成し、その生成した公開鍵に対応する認証Ｃｅｒｔ（ＰＫ'＿ｕ１）を取得してもよい。ステップ５０２ｂにおいて、ユーザｕ２は、１つの鍵組（ＰＫ'＿ｕ２，ＳＫ'＿ｕ２）を生成し、その生成した公開鍵に対応する認証Ｃｅｒｔ（ＰＫ'＿ｕ２）を取得してもよい。ステップ５０２ｃにおいて、ＣＳＰは、公開鍵ＰＫ'＿ｕｉを受領し、対応する認証Ｃｅｒｔ（ＰＫ'＿ｕｉ）を各ユーザｕｉに発行してもよい。
【０１１１】
ステップ５０４において、ユーザｕ１は、データＭのハッシュ情報を生成してもよい。ハッシュ情報は、少なくともデータＭのハッシュコードを含んでもよい。例えば、ユーザｕ１は、Ｈ（Ｍ）を計算し、ＳＫ'＿ｕ１によりＨ（Ｍ）を署名し、Ｓｉｇｎ（Ｈ（Ｍ），ＳＫ'＿ｕ１）としてもよい。ここで、Ｓｉｇｎ（）は署名関数を示す。
【０１１２】
次にステップ５０６において、ユーザｕ１は、少なくともデータＭのハッシュ情報を送信してもよい。例えば、ユーザｕ１は、パッケージＰ１＝｛Ｈ（Ｍ），Ｓｉｇｎ（Ｈ（Ｍ），ＳＫ'＿ｕ１），Ｃｅｒｔ（ＰＫ'＿ｕ１）｝をＣＳＰに送信してもよい。
【０１１３】
次にステップ５０８において、ＣＳＰは、同じデータＭを保存しているかを確認してもよい。同じデータがＣＳＰに保存されていない場合、ＣＳＰは、ユーザｕ１にデータ送信を要求してもよく、同じデータがＣＳＰに保存されている場合、ステップ５２０にて詳細に後述するように、ＣＳＰは、ユーザｕ１が所有者であるかを検証してもよい。なお、ステップ５０８および５２０は実質的に同じである。ここでは最初にアップロードしたのがデータ所有者であるため、ステップ５０８においてＣＳＰはユーザｕ１にデータアップロードを要求する。
【０１１４】
例えば、ステップ５０８において、ＣＳＰは、認証Ｃｅｒｔ（ＰＫ'＿ｕ１）を検証し、ＰＫ'＿ｕ１により署名Ｓｉｇｎ（Ｈ（Ｍ），ＳＫ'＿ｕ１）を検証し、その後ＣＳＰに同じＨ（Ｍ）が記録されているかを確認してもよい。ここではユーザｕ１（すなわちデータ所有者）が最初にアップロードしているので、ステップ５１０においてＣＳＰはユーザｕ１にデータを要求してもよい。
【０１１５】
次にステップ５１２において、ユーザｕ１は、データＭのインデックスリストとハッシュチェーン情報を計算してもよい。例えば、ユーザｕ１は、インデックスリストＩＮ＝｛Ｉｎ１，Ｉｎ２，…，Ｉｎｋ｝をランダムに選択してもよい。当該リストは、Ｍの特定の部位を示す（例えばＩｎ１はデータの最初の１％を示し、Ｉｎ２はデータの最初の１．２％を示す）。さらに、ユーザｕ１はインデックスに基づいて各種Ｍの部位のハッシュコードを計算して、ＨＣ（Ｍ）＝｛Ｈ（Ｍ１），Ｈ（Ｍ２），…，Ｈ（Ｍｋ）｝を取得してもよい。さらにユーザｕ１は、ＳＫ'＿ｕ１によりＨＣ（Ｍ）を署名して、Ｓｉｇｎ（ＨＣ（Ｍ），ＳＫ'＿ｕ１）を取得してもよい。
【０１１６】
次にステップ５１４において、ユーザｕ１は、少なくともインデックスリスト、ハッシュチェーン情報、データＭを送信してもよい。ハッシュチェーン情報は、少なくともデータＭのハッシュチェーンを含んでもよい。例えば、ユーザｕ１は、データパッケージＤＰ１＝｛Ｍ＿ｕ１，Ｉｎ，ＨＣ（Ｍ），Ｓｉｇｎ（ＨＣ（Ｍ），ＳＫ'＿ｕ１）｝をＣＳＰに送信してもよい。続いてステップ５１６において、ＣＳＰはデータパッケージを保存してもよい。
【０１１７】
次にステップ５１８において、ユーザｕ２は、すでに保存された同じデータＭをＣＳＰに保存しようとしてもよい。ステップ５０６と同様に、ユーザｕ２は、少なくともデータＭのハッシュ情報を送信してもよい。例えば、ユーザｕ２は、パッケージＰ２＝｛Ｈ（Ｍ），Ｓｉｇｎ（Ｈ（Ｍ），ＳＫ'＿ｕ２），Ｃｅｒｔ（ＰＫ'＿ｕ２）｝をＣＳＰに送信してもよい。
【０１１８】
次にステップ５０８と同様に、ステップ５２０において、ＣＳＰは、同じデータＭを保存しているかを確認してもよい。ＣＳＰに同じデータが保存されていなければ、ＣＳＰは、ユーザにデータ送信を要求してもよい。ＣＳＰに同じデータが保存されていれば、ＣＳＰは、ユーザが所有者かを検証してもよい。ユーザｕ１により同じデータがＣＳＰに保存されているので、この確認結果は正となる。この場合、ＣＳＰは、ユーザｕ２にインデックスリストの少なくとも１つのインデックスまたは複数のインデックスに対応するハッシュ情報の送信を要求してもよい。例えば、ＣＳＰは、少なくとも１つのインデックｘをランダムに選択してもよい。さらに、ＣＳＰは、ＰＫ'＿ｕ２により少なくとも１つのインデックスｘを暗号化してＥ（ｘ，ＰＫ'＿ｕ２）としてもよい。続いてステップ５２２において、ＣＳＰは、インデックス情報（例えば、Ｅ（ｘ，ＰＫ'＿ｕ２））をユーザｕ２に送信してもよい。なお、このステップでは、データの保持者を確定するため、ＣＳＰは複数のＨＣ（Ｍｘ）を検証してもよい。
【０１１９】
次にステップ５２４において、ユーザｕ２は、対応するハッシュ情報を計算して、ＣＳＰに送信してもよい。対応するハッシュ情報は、ＣＳＰから送信された少なくとも１つのインデックスに対応するハッシュ情報を少なくとも含んでもよい。例えば、ユーザｕ２は、ハッシュコードＨＣ（Ｍｘ）を計算してもよく、ここで、ＭｘはＣＳＰから送信された少なくとも１つのインデックスｘに対応するＭの部位を示す。さらに、ユーザｕ２は、ＳＫ'＿ｕ２によりＨＣ（Ｍｘ）を署名して、Ｓｉｇｎ（ＨＣ（Ｍｘ），ＳＫ'＿ｕ２）としてもよい。ユーザｕ２は、ＨＣ（Ｍｘ）およびＳｉｇｎ（ＨＣ（Ｍｘ），ＳＫ'＿ｕ２）をＣＳＰに送信してもよい。
【０１２０】
次にステップ５２６において、ユーザｕ１がＣＳＰに保存したハッシュチェーン情報に基づいて、ＣＳＰは、ユーザｕ２から送信されたハッシュ情報を検証してもよい。検証の結果が正であれば、ＣＳＰは、ユーザｕ２に対するハッシュ情報Ｈ（Ｍ）の重複排除記録を更新してもよい。このようにして、ユーザｕ２は、重複データをＣＳＰに保存することなく、データにアクセスできる。
【０１２１】
なお、図２から図５に示す実施形態では、ＤＥＫ２はアクセスポリシー（すなわちＣＰ−ＡＢＥ方式が採用される）で暗号化されるが、本開示はこれに限定されない。例えば、本開示の実施形態ではＫＰ−ＡＢＥを採用してもよい。
【０１２２】
図６は、本開示の実施形態に係る、複数のＣＳＰの協働によるデータ重複排除の処理のフローチャートを示す。ステップ６０２において、ユーザはそのローカルＣＳＰにデータの記憶を要求してもよい。例えば、ステップ６０２の処理はステップ２０４（または３０４、４０４、５０４）および２０６（または３０６、４０６、５０６）と同様であってもよい。
【０１２３】
次にステップ６０４において、ローカルＣＳＰは、データ重複が生じたかを確認してもよい。ステップ６０４での確認結果が正であれば、ローカルＣＳＰはステップ６０６に進んで、重複排除ポリシーに基づいて重複排除をローカルＣＳＰ自身またはデータ所有者および／またはＡＰに連絡して実行してもよい。例えば、重複排除ポリシーは、データ所有者から何らかのＣＫ受信したか、どのような種類のＣＫ（複数可）が受信されたかに応じて決定されてもよい。ＣＫが受信されてなければ、ＣＳＰは自身で重複排除を実行してもよい。ＣＳＰは、ＣＫ１が受信されていればＡＰに連絡してもよく、ＣＫ２が受信されていればデータ所有者に連絡してもよい。ただし、本開示はこれに限定されない。別の例として、ステップ２１４、３１４、４１４、または５１４において、重複排除ポリシーを単純にデータパッケージにより送信してもよく、あるいはその他の安全な方法でＣＳＰに送信してもよい。さらなる例として、重複排除ポリシーは事前に決定され（例えば、ユーザｕ１とＣＳＰとの間の契約に応じて決定）、ＣＳＰのシステムに予め記憶されてもよい。
【０１２４】
ステップ６０４および６０６の処理は、ステップ（２２０、２２２、２２６、２２８、２３４、２３６、２４０および２５０）、ステップ（３２０、３２２、３２６、３２８、３３４および３３６）、またはステップ（５２０、５２２および５２６）の処理と同様であってもよい。
【０１２５】
一方、ステップ６０４の確認結果が否であれば、ローカルＣＳＰは返答ステップ６０８に進んで、同じデータが記憶されたかを別のＣＳＰに確認してもよい（例えば、ユーザのデータ記憶要求の一斉送信による）。別のＣＳＰから保存されたという応答が得られなかった場合、ローカルＣＳＰは、ステップ６１２においてユーザからデータパッケージを要求することで、データの記憶を実行してもよい。一方、同じデータを自身のストレージシステムに記憶しているという応答をしたリモートＣＳＰ'が存在すれば、ローカルＣＳＰは、ステップ６１４において、ユーザデータ重複情報をローカルに記録してもよい。なお、ローカルＣＳＰは、任意でリモートＣＳＰ'に重複排除要求を送信し、重複排除を生じさせてもよい。ステップ６１６において、リモートＣＳＰ'は、重複排除を自身で、またはデータ所有者および／またはＡＰに連絡して実行してもよい。所有者および／またはＡＰに連絡する場合、所有者および／またはＡＰにより対応する鍵が生成され、ＣＳＰおよびＣＳＰ'協働の下、ユーザに発行されてもよい（例えば、ＣＳＰ'がＣＳＰを介してユーザに連絡してもよい）。ステップ６１６の処理は、ステップ（２２０、２２２、２２６、２２８、２３４、２３６、２４０、２５０）、ステップ（３２０、３２２、３２６、３２８、３３４、３３６）、またはステップ（５２０、５２２、５２６）の処理と同様であってもよい。ただし、ステップ６１０において、ＣＳＰ'に同一のデータが保存されていると判定されていることから、ステップ６１６において、ＣＳＰ'は、直接ハッシュチェーンによる検討に進んでもよい。
【０１２６】
図７は、本開示の実施形態に係るデータ削除処理のフローチャートを示す。ステップ７０２において、ユーザｕは、データ削除要求をそのローカルＣＳＰに送信してもよい。データ削除要求は、少なくともデータＭのハッシュ情報を含んでもよい。例えば、ユーザｕは、Ｈ（Ｍ）およびＳｉｇｎ（Ｈ（Ｍ），ＳＫ'＿ｕ）をローカルＣＳＰに送信してもよい。
【０１２７】
次にステップ７０４において、ＣＳＰは、ユーザｕが所有者であるかを検証し、検証結果が正であればＣＳＰはユーザｕの記憶の記録を削除し、当該ユーザへのデータＭへの今後のアクセスをブロックしてもよい。ユーザｕが所有者であるかの検証は、ステップ（２２０、２２２、２２６）での所有者であるかの検証処理と同様であってもよい。
【０１２８】
次にステップ７０６において、ＣＳＰは、データがローカルで保存されているかを確認してもよい。ステップ７０６の確認結果が正であれば、ステップ７１８において、ＣＳＰは、データ重複記録が空であるか（すなわち、当該データがユーザによりＣＳＰにこれ以上保存されないか）を確認してもよい。ステップ７１８の確認結果が正であれば、ＣＳＰは、データを削除してもよい。一方、ステップ７１８の確認結果が否であれば、ＣＳＰは、データ所有者に連絡して、図９を参照して後述するようなＤＥＫ更新を実行してもよい。ユーザｕがデータ所有者であれば、ＣＳＰは、重複排除制御を継続するかをユーザｕに問い合わせてもよい。これは図８を参照して後述する。
【０１２９】
一方、ステップ７０６の確認結果が否であれば、ローカルＣＳＰは、ステップ７０８において、実際にデータを保存しているリモートＣＳＰ'に連絡してもよい。例えば、ＣＳＰは、データ削除要求をＣＳＰ'に転送してもよい。ステップ７１０において、ＣＳＰ'はユーザｕの記憶の記録を削除し、当該ユーザへのデータＭへの今後のアクセスをブロックしてもよい。続いてステップ７１８と同様に、ステップ７１２において、ＣＳＰ'は、データ重複記録が空であるか（すなわち、当該データがユーザによりＣＳＰ'にこれ以上保存されないか）を確認してもよい。ステップ７１２の確認結果が正であれば、ＣＳＰ'はステップ７１４において、データを削除してもよい。一方、ステップ７１２の確認結果が否であれば、ＣＳＰ'はステップ７１４において、データ所有者に連絡して、図９を参照して後述するようなＤＥＫ更新を実行してもよい。上述の場合と同様に、ユーザｕがデータ所有者であれば、ＣＳＰ'は重複排除制御を継続するかをユーザｕに問い合わせてもよい。これは図８を参照して後述する。
【０１３０】
図８は、本開示の実施形態に係るデータ重複排除制御の継続処理のフローチャートを示す。ここでは、データ所有者はＣＳＰにおける自身のデータを削除するが、ＣＳＰにおいて同一のデータを記憶している別の適格なデータ保持者が存在している。したがって、ＣＳＰは、データ所有者に重複排除制御の継続について問い合わせる。
【０１３１】
ステップ８０２において、ＣＳＰは、データ所有者に対して重複排除制御の継続について問い合わせる。ステップ８０２でのデータ所有者の判定が正であれば、データ所有者はステップ８１２において、例えば適格なユーザにアクセス鍵を発行することで、重複排除制御を継続してもよい。一方、ステップ８０２でのデータ所有者の判定が否であれば、データ所有者は、ステップ８０６において重複排除制御をＡＰに転送してもよい。例えば、データ所有者は、新たにＤＥＫ'＝ＤＥＫ'１を生成し、これをｐｋ＿ＡＰで暗号化し、ＤＰ'＝｛ＣＴ'，ＣＫ１'｝をＣＳＰに送信してもよい。ステップ８０８において、ＣＳＰは、すべての適格なユーザの再暗号化鍵を使用してＣＫ１'を再暗号化し、元のデータの重複排除記録を更新してもよい。ステップ８１０において、任意の適格なデータユーザがデータにアクセスすると、ＣＳＰはＣＴ'および再暗号化されたＣＫ１'を適格なユーザに提供してもよい。
【０１３２】
なお、図８は単に重複排除制御の継続の一つの可能性を示すものであって、本開示はこれに限定されない。例えば、他のデータ保持者が重複排除制御を引き継いでもよい。この場合、ＣＳＰは、既存の複数のデータ保持者から新たな代理人を求めてもよいし、それらの１つを選択してもよい（例えば、データ記憶期間および／またはユーザの希望に従う）。新たな代理人は、新たなＤＥＫ'を生成し、その新たなＤＥＫ'を適用して記憶の更新を実行する。この処理は、図９を参照して後述するＤＥＫの更新と同様である。
【０１３３】
図９は、本開示のある実施形態に係る、データ暗号化鍵および暗号文更新のための全体的なシステム処理のフローチャートを示す。ステップ９１２において、データ所有者（または適格なデータ保持者）ｕ１は、新たなデータ暗号化鍵ＤＥＫ'を生成し、ＤＥＫ'によりデータＭを暗号化し、ＤＥＫ'をＤＥＫ１'およびＤＥＫ２'に分割し、ＰＲＥ方式に沿ってＤＥＫ１'を暗号化し、ＡＢＥ方式に沿ってＤＥＫ２'を暗号化してもよい。例えば、ユーザｕ１は、新たな対称鍵ＤＥＫ'＿ｕ１によりデータＭを暗号化してＣＴ'＿ｕ１＝Ｅｎｃｒｙｐｔ（ＤＥＫ'＿ｕ１，Ｍ）を取得してもよい。ユーザｕ１は、ＳｅｐａｒａｔｅＫｅｙ（ＤＥＫ'＿ｕ１）を呼び出して、ＤＥＫ'＿ｕ１の２つのランダムな部位、すなわちＤＥＫ１'＿ｕ１とＤＥＫ２'＿ｕ１とを取得してもよい。ユーザｕ１は、ＥｎｃｒｙｐｔＫｅｙ（ＤＥＫ２'＿ｕ１，Ａ，ｐｋ＿（ＩＤ，ｕ１））を呼び出して、ｐｋ＿（ＩＤ，ｕ１）によりＤＥＫ２'＿ｕ１を暗号化して、ＣＫ２'＿ｕ１を取得してもよい。ユーザｕ１は、Ｅ（ｐｋ＿ＡＰ，ＤＥＫ１'＿ｕ１）を呼び出して、ｐｋ＿ＡＰによりＤＥＫ１'＿ｕ１を暗号化して、ＣＫ１'＿ｕ１を取得してもよい。
【０１３４】
次にステップ９１４において、ユーザｕ１は、ハッシュおよび／またはハッシュチェーン情報、新たな暗号化されたデータ、新たな暗号化されたＤＥＫ１、新たな暗号化されたＤＥＫ２を送信してもよい。ハッシュまたはハッシュチェーン情報は、少なくともデータＭのハッシュコードまたはハッシュチェーンを含んでもよい。例えば、ユーザｕ１は、データパッケージＤＰ１'＝｛ＣＴ'＿ｕ１，ＣＫ１'＿ｕ１，ＣＫ２'＿ｕ１，Ｈ（Ｍ）および／またはＨＣ（Ｍ），Ｓｉｇｎ（Ｈ（Ｍ），ＳＫ'＿ｕ１）および／またはＳｉｇｎ（ＨＣ（Ｍ），ＳＫ'＿ｕ１）｝をＣＳＰに送信してもよい。次にステップ９１６において、ＣＳＰは、ユーザｕ１が適格かを検証し、結果をＤＰ１'に記憶してもよい。例えば、ＣＳＰは、Ｓｉｇｎ（Ｈ（Ｍ），ＳＫ'＿ｕ１）および／またはＳｉｇｎ（ＨＣ（Ｍ），ＳＫ'＿ｕ１）をＰＫ'＿ｕ１により検証することで、ユーザｕ１が適格かを検証してもよい。
【０１３５】
次にステップ９２８において、ｒｋ＿ＡＰ−＞ｕ２が利用できない場合、ＣＳＰは、任意の適格なデータ保持者（例えば、ユーザｕ２）のＰＲＥ用の公開鍵情報をＡＰに送信してもよい。例えば、ＣＳＰは、認証Ｃｅｒｔ（ｐｋ＿ｕ２）（ｐｋ＿ｕ２を含む）をＡＰに送信してもよい。
【０１３６】
次にステップ９３０において、ＡＰは、ユーザｕ２に関する第三者でのデータ記憶ポリシーを検証してもよく、検証結果が正であれば、ＡＰは、ユーザｕ２に対する再暗号化情報を生成してもよい（利用できない場合）。例えば、ＡＰは、ＲＧ（ｐｋ＿ＡＰ，ｓｋ＿ＡＰ，ｐｋ＿ｕ２）を呼び出して（利用できない場合）、ｒｋ＿ＡＰ−＞ｕ２を生成してもよい。次にステップ９３２において、ＡＰは、ＣＳＰに再暗号化情報を発行してもよい。例えば、ＡＰは、ｒｋ＿ＡＰ−＞ｕ２を例えばセキュアチャネルを利用してＣＳＰに発行してもよい。
【０１３７】
次にステップ９３４において、ＣＳＰは、再暗号化情報によりＣＫ１'＿ｕ１を再暗号化してもよい。例えば、ＣＳＰは、Ｒ（ｒｋ＿ＡＰ−＞ｕ２，Ｅ（ｐｋ＿ＡＰ，ＤＥＫ１'＿ｕ１））＝Ｅ（ｐｋ＿ｕ２，ＤＥＫ１'＿ｕ１）を呼び出してＣＫ１'＿ｕ１を再暗号化してもよい。次にステップ９３６において、ＣＳＰは、ユーザｕ２に再暗号化されたＣＫ１'（すなわちＥ（ｐｋ＿ｕ２，ＤＥＫ１'＿ｕ１））と新たな暗号化されたＤＥＫ２'（すなわちＣＫ２'＿ｕ１）を通知してもよい。ユーザｕ２は、Ｅ（ｐｋ＿ｕ２，ＤＥＫ１'＿ｕ１）の受領確認をＣＳＰに送信してもよい。
【０１３８】
次にステップ９４４において、ユーザｕ１は、ユーザｕ２に対する個別化属性秘密鍵をユーザｕ２に発行してもよい（未送信の場合）。例えば、ユーザｕ１は、（未送信の場合）ｓｋ＿（ＩＤ，ｕ１，ｕ２）をユーザｕ２に対して発行してもよい（セキュアチャネルまたはＰＫＣを使用）。
【０１３９】
次にステップ９４６において、ユーザｕ２は、例えばＤｅｃｒｙｐｔＫｅｙ（ＣＫ２'＿ｕ１，Ａ，ＳＫ＿ｕ２，ｓｋ＿（ＩＤ，ｕ１，ｕ２））を呼び出してＣＫ２'＿ｕ１（ステップ９３６で取得）を復号してＤＥＫ２'＿ｕ１を取得し、自身の秘密鍵ｓｋ＿ｕ２により再暗号化されたＤＥＫ１'＿ｕ１（すなわちＥ（ｐｋ＿ｕ２，ＤＥＫ１'＿ｕ１））を復号し、ＣｏｍｂｉｎｅＫｅｙ（ＤＥＫ１'＿ｕ１，ＤＥＫ２'＿ｕ１）を呼び出してＤＥＫ１'＿ｕ１とＤＥＫ２'＿ｕ１を結合してＤＥＫ'＿ｕ１を取得してもよい。このようにして、ユーザｕ２はＤＥＫ'＿ｕ１により新たな暗号化されたデータＣＴ'＿ｕ１にアクセスできる。
【０１４０】
なお、上述の処理ではデータ所有者ｕ１が、秘密鍵がどこからすでに発行済みであるか把握しており、ＣＳＰがこの情報をデータ所有者に通知する必要がないとされている。仮にデータ所有者がこの情報を失った場合、適格性確認の更新により古いユーザがさらにアクセスできなくなった場合、またはデータ所有者が秘密鍵の発行に遅れると、ＣＳＰによる通知が必要となり得る。この場合、ステップ９４０において、ＣＳＰは、データＭのデータ識別子（例えば、Ｈ（Ｍ））と、適格なデータ保持者のＡＢＥ用の公開鍵情報（例えば、ＰＫ＿ｕ２を含むＣｅｒｔ（ＰＫ＿ｕ２））をユーザｕ１に送信してもよい。
【０１４１】
なお、図９においてデータ所有者およびＡＰの両方の重複排除制御が必要な状況のみ示している。図３および４と同様に、ＤＥＫ１'＝ＤＥＫ'またはＤＥＫ２'＝ＤＥＫ'を設定して、別の重複排除制御用のステップを省略することで、ＡＰの重複排除制御のみが必要な状況またはデータ所有者の重複排除制御のみが必要な状況に対するＤＥＫの更新処理が実現できる。
【０１４２】
図１０は、本開示のある実施形態に係るユーザ装置において、データの記憶を管理する処理のフローチャートを示す。当該処理は、本開示の機能を実現するため、ユーザ装置により実行されてもよい。まず、ステップ１００２において、ＤＥＫはＮＵＬＬ値または非ＮＵＬＬ値を有するように設定されてもよい（例えば、異なる記憶状況および／または重複排除ポリシーに基づく）。次にステップ１００４において、ＤＥＫがＮＵＬＬ値を有するかを判定してもよい。ステップ１００４において、ＤＥＫがＮＵＬＬ値を有すると判定されると、データは通信ネットワークにおけるデータセンターに送信されて、記憶される。一方、ステップ１００４において、ＤＥＫが非ＮＵＬＬ値を有すると判定されると、ステップ１００８においてデータはＤＥＫにより暗号化されてもよい。
【０１４３】
次にステップ１０１０において、ＤＥＫは、第１のＤＥＫおよび第２のＤＥＫに分割されてもよい（例えば、異なる記憶状況および／または重複排除ポリシーに基づく）。第１および第２のＤＥＫはそれぞれＮＵＬＬ値または非ＮＵＬＬ値を有する。次にステップ１０１２において、第１のＤＥＫは非ＮＵＬＬ値を有する場合、プロキシ再暗号化（ＰＲＥ）方式に沿って暗号化されてもよく、第２のＤＥＫは非ＮＵＬＬ値を有する場合、属性ベース暗号（ＡＢＥ）方式に沿って暗号化されてもよい。次にステップ１０１４において、暗号化されたデータと、存在するならば暗号化された第１のＤＥＫと、存在するならば暗号化された第２のＤＥＫとをデータセンターに送信、保存してもよい。ステップ１００２〜１０１４の処理は、ステップ（２１２、２１４）または（３１２、３１４）または（４１２、４１４）または（５１２、５１４）の処理と同様であってもよい。
【０１４４】
さらに、ＤＥＫ２が非ＮＵＬＬ値を有する場合（すなわちデータ所有者の重複排除制御が必要な場合）、ステップ１０１６において、重複排除要求の受信に応じて、個別化属性秘密を生成して、適格なユーザに発行してもよい。ステップ１０１６の処理は、ステップ（２４２、２４４）または（４４２、４４４）の処理と同様であってもよい。
【０１４５】
任意でステップ１０１８において、別データの適格な保持者は、当該別データに対する再暗号化されたＤＥＫ１'と、当該別データに対する暗号化されたＤＥＫ２'と、個別化属性秘密鍵を受信してもよい。復号を実行してＤＥＫ１'およびＤＥＫ２'を取得し、ＤＥＫ１'およびＤＥＫ２'を結合してデータ重複排除に対するＤＥＫ'を取得してもよい。ステップ１０１８の処理は、ステップ（２３８、２４６）、または３３８、４４６の処理と同様であってもよい。
【０１４６】
図１１は、本開示のある実施形態に係る通信ネットワークにおいて、データの記憶を管理する処理のフローチャートを示す。当該処理は、本開示の機能を実現するため、データセンターにより実行されてもよい。まず、ステップ１１０２において、データ記憶要求がユーザにより受信されてもよい。ステップ１１０２の処理は、ステップ（２０６、２１８）または（３０６、３１８）または（４０６、４１８）または（５０６、５１８）の処理と同様であってもよい。次にステップ１１０４において、データセンターに同じデータが記憶済みかを判定してもよい。ステップ１１０４において、データセンターにおいて同じデータが記憶済みではないと判定されると、暗号化データ、存在するならば暗号化された第１のデータ暗号化鍵（ＤＥＫ）、存在するならば暗号化された第２のデータ暗号化鍵（ＤＥＫ）、またはデータを第１のデバイスから受信し、データセンターに保存してもよい。なお、暗号化データはＤＥＫによりデータを暗号化することで生成される。ＤＥＫは第１のＤＥＫおよび第２のＤＥＫに分割される。第１のＤＥＫおよび第２のＤＥＫはそれぞれＮＵＬＬ値または非ＮＵＬＬ値を有する。ステップ１１０６において、暗号化された第１のＤＥＫは、プロキシ再暗号化（ＰＲＥ）方式に沿って第１のＤＥＫを暗号化することで生成され、第２のＤＥＫは、第２のＤＥＫを属性ベース暗号（ＡＢＥ）方式に沿って暗号化することで生成される。ステップ１１０４および１１０６の処理は、ステップ（２０８、２１０、２１６）または（３０８、３１０、３１６）または（４０８、４１０、４１６）または（５０８、５１０、５１６）の処理と同様であってもよい。
【０１４７】
一方、ステップ１１０４において、同じデータがデータセンターに保存済みであると判定されれば、ステップ１１０８においてＡＰの重複排除制御が必要か判定されてもよい（例えば、第１のデバイスから受信したデータに暗号化された第１のＤＥＫが存在するかに基づく）。ステップ１１０８において、ＡＰの重複排除制御が不要であると判定された場合、処理はステップ１１１２に進んでもよい。一方、ステップ１１０８においてＡＰの重複排除制御が必要であると判定されると、ＡＰに連絡してＰＲＥ方式に沿った重複排除を実行してもよい。ステップ１１０８および１１１０の処理は、ステップ（２２８、２３２、２３４、２３６）または（３２８、３３２、３３４、３３６）の処理と同様であってもよい。ステップ２２８または３２８において、ＡＰの重複排除制御が必要であると判断されているため（例えば、第１のデバイスから受信したデータが暗号化された第１のＤＥＫを含むという事実に基づく）、ＡＰに連絡して重複排除を実行してもよい。ステップ２３２または３３２において、ＡＰから再暗号化鍵を受信してもよい。ステップ２３４または３３４において、暗号化された第１のＤＥＫを再暗号化鍵により再暗号化してもよい。ステップ２３６または３３６において、再暗号化された第１のＤＥＫを適格なデータ保持者に発行してもよい。
【０１４８】
次にステップ１１１２において、データ所有者の重複排除制御が必要か判断される（例えば、第１のデバイスから受信したデータに暗号化された第２のＤＥＫが存在するかに基づく）。ステップ１１１２において、データ所有者の重複排除制御が不要であると判断されると、ステップ１１１６において処理が終了してもよい。一方、ステップ１１１２においてデータ所有者の重複排除制御が必要であると判断されると、ステップ１１１４においてデータ所有者に連絡してＡＢＥ方式に沿った重複排除を実行してもよい。ステップ１１１２および１１１４の処理は、ステップ２４０または４４０と同様であってもよい。その後、ステップ１１１６において処理が終了してもよい。
【０１４９】
上述の説明に基づき、本開示により以下の技術的効果が得られる。
（１）拡張性：本開示は、１つのＣＳＰおよび複数のＣＳＰで生じた大規模な重複データ記憶に対応できる。各記憶領域を節約するため、重複確認および重複排除が複数のＣＳＰ間で実行されてもよい。
（２）柔軟性：本開示は、重複排除およびアクセス制御の両方に対応するためのポリシーＡ更新により、ＡＢＥに基づくＤＥＫ２暗号化に制御属性（アクセスポリシー）を導入することで、データ所有者が扱う他のデータアクセス制御機構と協働可能である。これにより、データ所有者の期待に沿ったデジタル著作権管理に対応できる。さらに、集中型データアクセス制御機構とも協働可能である。これは、ＣＳＰでの権限者（ＡＰ）および／またはＣＫ１再暗号化における再暗号化鍵生成用の確認に、アクセスポリシーを絡めることで実現される。本発明の柔軟性により、データ所有者の意図に応じて分散型制御、集中型制御の一方または両方に対応可能となる。
（３）データ所有者がＡＢＥを採用する、さらに／あるいはＡＰにＰＲＥを適用することで、データアクセスおよび重複排除に使用される属性（例えば信頼レベルおよび識別子）を含むアクセスポリシー木を容易に構築でき、アクセスおよび重複排除のための委任制御が可能となるようＡＰにポリシーを絡めることが容易となる。
（４）低コストストレージ：本開示によると、複数のＣＳＰについて記憶容量を節約できることは明白である。１つのデータは、多数のＣＳＰをまたいで１つのコピーのみ記憶される。各ＣＳＰで重複排除記録を記憶するのには、ある程度記憶容量またはメモリを消費する可能性があり、追加の重複確認や重複排除処理は、ある程度のメモリおよび処理コストを要する可能性がある。しかし、このようなコストは重複データの記憶を大量に節約できることを考えると、些細なものである。
（５）安全性：本開示では、安全性がＡＢＥ理論、ＰＲＥ理論、対称鍵暗号化、および公開ＰＫＣ理論で裏付けられている。一次元重複排除制御よりも二次元重複排除制御のほうが安全であろう。さらに、データの所有者検証のため、ランダムなハッシュチェーン確認を適用した。重複排除を実現するため、同時にデータ記憶管理に対応するため、追加の管理プロトコルを適用してもよい。
【０１５０】
図１２は、本開示のいくつかの例示的実施形態を実施する際に好適に用いられる装置を示す概略ブロック図である。例えば、図１に示すユーザ装置１１０、データセンター１２０または１２０'、ＡＰ１３０の少なくとも１つが、装置１２００により実現できる。図示のとおり、装置１２００は、データプロセッサ（ＤＰ）１２１０、プログラム（ＰＲＯＧ）１２３０を記憶するメモリ（ＭＥＭ）１２２０、有線および／または無線通信で別の外部デバイスとデータを通信するための通信インターフェース１２４０を備える。
【０１５１】
ＰＲＯＧ１２３０は、ＤＰ１２１０によって実行されたとき、上述のとおり本開示の例示的実施形態に従って装置１２００を動作させることができるプログラム命令を含むと想定される。すなわち、本開示の例示的実施形態は、少なくとも部分的に、ＤＰ１２１０によって実行可能なコンピュータソフトウェア、またはハードウェア、またはソフトウェアとハードウェアの組合せによって実施されてもよい。
【０１５２】
ＭＥＭ１２２０は、ローカル技術的環境に適切な任意の種類のものでよく、半導体によるメモリデバイス、フラッシュメモリ、磁気的メモリデバイスおよびシステム、光学的メモリデバイスおよびシステム、固定型メモリおよび着脱可能メモリ等の任意の適切なデータ記憶技術を使用して実施されてもよい。ＤＰ１２１０は、ローカル技術的環境に適切な任意の種類のものでよく、非限定的な例として汎用コンピュータ、専用コンピュータ、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、およびマルチコアプロセッサアーキテクチャによるプロセッサの内の１つ以上を含んでもよい。
【０１５３】
一般的に、上述の様々な例示的実施形態は、ハードウェアまたは専用回路、ソフトウェア、論理回路またはこれらの任意の組合せによって実施されてもよい。例えば、いくつかの態様はハードウェアで実施されてもよく、他の態様はコントローラ、マイクロプロセッサ、またはその他のコンピュータデバイスによって実行されてもよいファームウェアまたはソフトウェアによって実施されてもよいが、本開示はこれらに限定されない。本開示の例示的実施形態の様々な態様がブロック図、フローチャート、またはその他の何らかの図表によって示され記載されているが、本明細書に記載されたこれらのブロック、装置、システム、技術または方法は、非限定的な例として、ハードウェア、ソフトウェア、ファームウェア、専用回路または論理回路、汎用ハードウェアまたはコントローラ、またはその他のコンピュータデバイス、あるいはこれらの何らかの組合せで実施されてもよいことが理解されよう。
【０１５４】
このように、本開示の例示的実施形態の少なくともいくつかの態様は、集積回路チップおよびモジュール等の様々な要素に実施されてもよいことが理解されよう。本開示の例示的実施形態は、本開示の例示的実施形態に従って動作するように構成されたデータプロセッサ、デジタル信号プロセッサ、ベースバンド回路、および無線周波数回路の内の少なくとも１つを実施するための回路（同様にファームウェアも）を含む集積回路として実施された装置に実現されてもよいことが理解されよう。
【０１５５】
本開示の例示的実施形態の少なくともいくつかの態様は、例えば１つ以上のプログラムモジュール中にあり、１つ以上のコンピュータまたはその他のデバイスによって実行されたコンピュータ実行可能命令によって実施されてもよいことが理解されよう。一般的に、プログラムモジュールには、コンピュータ中のプロセッサまたはその他のデバイスによって実行されたときに、特定のタスクを行う、または特定の抽象データタイプを実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等が含まれる。コンピュータ実行可能命令は、ハードディスク、光学ディスク、着脱可能な記憶媒体、固体メモリ、ＲＡＭ等のコンピュータ可読媒体に記憶されてもよい。当該技術分野の当業者には自明であるが、プログラムモジュールの機能は、様々な実施形態において望ましいように組み合わされても分散されてもよい。さらに、これらの機能は、その全体または一部が、ファームウェア、または集積回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）等のハードウェア均等物によって実施されてもよい。
【０１５６】
本開示は、本明細書に明確に開示されたもののみならず、そこから一般化されたものも含めて、あらゆる新規の特徴や特徴の組合せを含む。上述の説明を添付の図面に照らせば、本開示の上述の例示的実施形態の様々な変形例および適用が当業者には明らかとなろう。あらゆる変形例は、非限定的な本開示の例示的実施形態の範囲に含まれる。
【図１】
0006404481.tif 000003
【図２】
0006404481.tif 000004
【図３】
0006404481.tif 000005
【図４】
0006404481.tif 000006
【図５】
0006404481.tif 000007
【図６】
0006404481.tif 000008
【図７】
0006404481.tif 000009
【図８】
0006404481.tif 000010
【図９】
0006404481.tif 000011
【図１０】
0006404481.tif 000012
【図１１】
0006404481.tif 000013
【図１２】
0006404481.tif 000014