【手続補正書】
【提出日】平成30年6月13日(2018.6.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１の有向非巡回グラフ（ＤＡＧ）をセキュア化する方法において、
前記第１のＤＡＧに第１ノードを生成するための要求を受け取り、該要求は、前記第１ノードの経路を指定するものであり、
前記第１ノードのための第１の独特の暗号的にセキュアなキーを生成し、
前記第１のＤＡＧに第１ノードを生成し、
前記第１のＤＡＧにおける前記第１ノードのコンテンツを前記第１ノードのための前記生成された第１の独特の暗号的にセキュアなキーで暗号化し、
前記指定された経路に基づき前記第１のＤＡＧにおける前記生成された第１ノードの親ノードを決定し、
前記親ノードから前記生成された第１ノードへのエッジを前記第１のＤＡＧに生成し、  前記第１のＤＡＧの根ノードから前記親ノードへの経路を進んで、前記親ノードに対して生成された第２の独特の暗号的にセキュアなキーを決定し、
前記第１の独特の暗号的にセキュアなキーを前記第２の独特の暗号的にセキュアなキーを暗号化し、及び
前記第１の独特の暗号的にセキュアなキーを前記第２の独特の暗号的にセキュアなキーで暗号化した結果を前記親ノードから前記生成された第１ノードへの前記生成されたエッジに記憶し、前記生成された第１ノードのための前記第１の独特の暗号的にセキュアなキーは、前記生成された第１ノードそれ自体には記憶されない、
ことを含む方法。
【請求項２】
前記第１ノードにおいてデータの要求を受け取り、この要求は、前記第１のＤＡＧの根ノードから前記第１のＤＡＧの第１ノードに対する前記第１のＤＡＧの中間ノードへ進む経路を指示するものであり、
前記第１ノードにおいて前記データの要求を行うユーザのユーザキーを決定し、
前記根ノードから前記中間ノードへのエッジに記憶されたデータを捕獲し、
前記ユーザのユーザキーを使用して前記捕獲されたデータを解読して、前記中間ノードに対する独特の暗号的にセキュアなキーを明らかにし、
前記中間ノードから前記第１ノードへのエッジに記憶されたデータを捕獲し、
前記中間ノードに対する前記独特の暗号的にセキュアなキーを使用して前記捕獲されたデータを解読して、前記第１ノードに対する前記第１の独特の暗号的にセキュアなキーを明らかにし、
前記第１ノードに記憶されたデータを捕獲し、及び
前記第１の独特の暗号的にセキュアなキーを使用して前記第１ノードに記憶されたデータを解読する、
ことを更に含む、請求項１に記載の方法。
【請求項３】
前記第１のＤＡＧから第２ノードを除去するための要求を受け取り、この要求は、前記第２ノードの経路を指定するものであり、
前記第２ノードに対する前記指定された経路に基づき前記第２ノードの親ノードを決定し、
前記第２ノードより下の全てのノード及びエッジを決定し、及び
前記第１のＤＡＧから前記第２ノードを、前記第２ノードの親ノードから前記第２ノードへの前記第１のＤＡＧにおけるエッジを、そして前記第２ノードの経路より下のノード及びエッジを除去する、
ことを更に含む、請求項１に記載の方法。
【請求項４】
第１ノードを移動するための要求を受け取り、この要求は、前記第１ノードが現在位置され及び前記第１ノードを移動すべきである経路を指定するものであり、
前記第１のＤＡＧの根ノードから前記第１ノードへの経路を進んで、前記第１ノードに対して生成された第１の独特の暗号的にセキュアなキーを決定し、
前記与えられた経路に基づき前記第１ノードの新たな親ノードを決定し、
前記新たな親ノードからその移動された位置における前記第１ノードへのエッジを前記第１のＤＡＧに生成し、
前記第１のＤＡＧの根ノードから前記新たな親ノードへの経路を進んで、前記新たな親ノードの第３の独特の暗号的にセキュアなキーを決定し、
前記第１の独特の暗号的にセキュアなキーを前記第３の独特の暗号的にセキュアなキーを暗号化し、
前記第１の独特の暗号的にセキュアなキーを前記第３の独特の暗号的にセキュアなキーで暗号化した結果を、前記新たな親ノードからその移動した位置における前記第１ノードへの前記生成されたエッジに記憶し、及び
前記第１ノードの以前の親ノードから前記第１ノードへのエッジを前記第１のＤＡＧにおいて除去する、
ことを更に含む、請求項１に記載の方法。
【請求項５】
第１ユーザの第３ノードを第２ユーザとで共用するための要求を受け取り、該要求は、共有されるべき前記第２ノードを指定するものであり、
前記第１のＤＡＧの根ノードからの経路を進んで、前記第３ノードに対して生成された第３の独特の暗号的にセキュアなキーを決定し、
前記第２ユーザのパブリックキーで暗号化されたメッセージを発生し、このメッセージは、前記第１ユーザが前記第２ユーザとのデータの共有を望むことを示し、且つこのメッセージは、前記第３ノードに対する前記第３の独特の暗号的にセキュアなキー及び前記第３ノードに対するノード識別子を含むものであり、及び
前記発生されたメッセージを前記第２ユーザへ通信する、
ことを更に含む、請求項１に記載の方法。
【請求項６】
前記第１ユーザが前記第３ノードへの前記第２ユーザのアクセスを許可したことを明記する所有権関係を記憶することを更に含む、請求項５に記載の方法。
【請求項７】
前記第２ユーザのパブリックキーで暗号化されたメッセージであって、前記第１ユーザが前記第２ユーザとのデータの共有を望むことを示すメッセージを受け取り、
前記メッセージを前記第２ユーザのプライベートキーで解読し、その解読されたメッセージは、前記第３ノードのノード識別子及び前記第３の独特の暗号的にセキュアなキーを明らかにするものであり、
前記第２ユーザに対し第２のＤＡＧに前記第３ノードを配置するための経路を決定し、  前記第２のＤＡＧにおいて前記第３ノードの親ノードを決定し、
前記第２のＤＡＧの根ノードから前記第２のＤＡＧの第３ノードの親ノードへの経路を進んで、前記第２のＤＡＧにおける第３ノードの親ノードに対する第４の独特の暗号的にセキュアなキーを決定し、
前記第２のＤＡＧにおける前記第３ノードの親ノードから前記第１のＤＡＧにおける前記第３ノードへのエッジを前記第２のＤＡＧに生成し、
前記第３の独特の暗号的にセキュアなキーを前記第４の独特の暗号的にセキュアなキーで暗号化し、及び
前記第３の独特の暗号的にセキュアなキーを前記第４の独特の暗号的にセキュアなキーで暗号化した結果を、前記第２のＤＡＧにおける前記第３ノードの親ノードから前記第１のＤＡＧにおける前記第３ノードへの前記第２のＤＡＧに生成されたエッジに記憶する、ことを更に含む、請求項５に記載の方法。
【請求項８】
前記経路は、前記第２のＤＡＧの根ノードの下に配置されるように決定される、請求項７に記載の方法。
【請求項９】
前記経路は、前記第２ユーザにより選択される、請求項７に記載の方法。
【請求項１０】
プロセッサにより実行されたときに、前記プロセッサが、
第１の有向非巡回グラフ（ＤＡＧ）に第１ノードを生成するための要求を受け取り、該要求は、前記第１ノードの経路を指定するものであり、
前記第１ノードのための第１の独特の暗号的にセキュアなキーを生成し、
前記第１のＤＡＧに第１ノードを生成し、
前記第１のＤＡＧにおける前記第１ノードのコンテンツを前記第１ノードのための前記生成された第１の独特の暗号的にセキュアなキーで暗号化し、
前記指定された経路に基づき前記第１のＤＡＧにおける前記生成された第１ノードの親ノードを決定し、
前記親ノードから前記生成された第１ノードへのエッジを前記第１のＤＡＧに生成し、  前記第１のＤＡＧの根ノードから前記親ノードへの経路を進んで、前記親ノードに対して生成された第２の独特の暗号的にセキュアなキーを決定し、
前記第１の独特の暗号的にセキュアなキーを前記第２の独特の暗号的にセキュアなキーを暗号化し、及び
前記第１の独特の暗号的にセキュアなキーを前記第２の独特の暗号的にセキュアなキーで暗号化した結果を前記親ノードから前記生成された第１ノードへの前記生成されたエッジに記憶し、前記生成された第１ノードのための前記第１の独特の暗号的にセキュアなキーは、前記生成された第１ノードそれ自体には記憶されない、
ことを含むオペレーションを遂行するようにさせるインストラクションを与える非一時的なマシン読み取り可能なストレージ媒体。
【請求項１１】
前記非一時的なマシン読み取り可能なストレージ媒体は、更に、プロセッサにより実行されたときに、前記プロセッサが、次のオペレーション、即ち
前記第１ノードにおいてデータの要求を受け取り、この要求は、前記第１のＤＡＧの根ノードから前記第１のＤＡＧの第１ノードに対する前記第１のＤＡＧの中間ノードへ進む経路を指示するものであり、
前記第１ノードにおいて前記データの要求を行うユーザのユーザキーを決定し、
前記根ノードから前記中間ノードへのエッジに記憶されたデータを捕獲し、
前記ユーザのユーザキーを使用して前記捕獲されたデータを解読して、前記中間ノードに対する独特の暗号的にセキュアなキーを明らかにし、
前記中間ノードから前記第１ノードへのエッジに記憶されたデータを捕獲し、
前記中間ノードに対する前記独特の暗号的にセキュアなキーを使用して前記捕獲されたデータを解読して、前記第１ノードに対する前記第１の独特の暗号的にセキュアなキーを明らかにし、
前記第１ノードに記憶されたデータを捕獲し、及び
前記第１の独特の暗号的にセキュアなキーを使用して前記第１ノードに記憶されたデータを解読する、
というオペレーションを遂行するようにさせるインストラクションを与える、請求項１１に記載の非一時的なマシン読み取り可能なストレージ媒体。
【請求項１２】
前記非一時的なマシン読み取り可能なストレージ媒体は、更に、プロセッサにより実行されたときに、前記プロセッサが、次のオペレーション、即ち
前記第１のＤＡＧから第２ノードを除去するための要求を受け取り、この要求は、前記第２ノードの経路を指定するものであり、
前記第２ノードに対する前記指定された経路に基づき前記第２ノードの親ノードを決定し、
前記第２ノードより下の全てのノード及びエッジを決定し、及び
前記第１のＤＡＧから前記第２ノードを、前記第２ノードの親ノードから前記第２ノードへの前記第１のＤＡＧにおけるエッジを、そして前記第２ノードの経路より下のノード及びエッジを除去する、
というオペレーションを遂行するようにさせるインストラクションを与える、請求項１１に記載の非一時的なマシン読み取り可能なストレージ媒体。
【請求項１３】
前記非一時的なマシン読み取り可能なストレージ媒体は、更に、プロセッサにより実行されたときに、前記プロセッサが、次のオペレーション、即ち
第１ノードを移動するための要求を受け取り、この要求は、前記第１ノードが現在位置され及び前記第１ノードを移動すべきである経路を指定するものであり、
前記第１のＤＡＧの根ノードから前記第１ノードへの経路を進んで、前記第１ノードに対して生成された第１の独特の暗号的にセキュアなキーを決定し、
前記与えられた経路に基づき前記第１ノードの新たな親ノードを決定し、
前記新たな親ノードからその移動された位置における前記第１ノードへのエッジを前記第１のＤＡＧに生成し、
前記第１のＤＡＧの根ノードから前記新たな親ノードへの経路を進んで、前記新たな親ノードの第３の独特の暗号的にセキュアなキーを決定し、
前記第１の独特の暗号的にセキュアなキーを前記第３の独特の暗号的にセキュアなキーを暗号化し、
前記第１の独特の暗号的にセキュアなキーを前記第３の独特の暗号的にセキュアなキーで暗号化した結果を、前記新たな親ノードからその移動した位置における前記第１ノードへの前記生成されたエッジに記憶し、及び
前記第１ノードの以前の親ノードから前記第１ノードへのエッジを前記第１のＤＡＧにおいて除去する、
というオペレーションを遂行するようにさせるインストラクションを与える、請求項１１に記載の非一時的なマシン読み取り可能なストレージ媒体。
【請求項１４】
前記非一時的なマシン読み取り可能なストレージ媒体は、更に、プロセッサにより実行されたときに、前記プロセッサが、次のオペレーション、即ち
第１ユーザの第３ノードを第２ユーザとで共用するための要求を受け取り、該要求は、共有されるべき前記第２ノードを指定するものであり、
前記第１のＤＡＧの根ノードからの経路を進んで、前記第３ノードに対して生成された第３の独特の暗号的にセキュアなキーを決定し、
前記第２ユーザのパブリックキーで暗号化されたメッセージを発生し、このメッセージは、前記第１ユーザが前記第２ユーザとのデータの共有を望むことを示し、且つこのメッセージは、前記第３ノードに対する前記第３の独特の暗号的にセキュアなキー及び前記第３ノードに対するノード識別子を含むものであり、及び
前記発生されたメッセージを前記第２ユーザへ通信する、
というオペレーションを遂行するようにさせるインストラクションを与える、請求項１１に記載の非一時的なマシン読み取り可能なストレージ媒体。
【請求項１５】
前記非一時的なマシン読み取り可能なストレージ媒体は、更に、プロセッサにより実行されたときに、前記プロセッサが、次のオペレーション、即ち
前記第１ユーザが前記第３ノードへの前記第２ユーザのアクセスを許可したことを明記する所有権関係を記憶する、
というオペレーションを遂行するようにさせるインストラクションを与える、請求項１４に記載の非一時的なマシン読み取り可能なストレージ媒体。
【請求項１６】
前記非一時的なマシン読み取り可能なストレージ媒体は、更に、プロセッサにより実行されたときに、前記プロセッサが、次のオペレーション、即ち
前記第２ユーザのパブリックキーで暗号化されたメッセージであって、前記第１ユーザが前記第２ユーザとのデータの共有を望むことを示すメッセージを受け取り、
前記メッセージを前記第２ユーザのプライベートキーで解読し、その解読されたメッセージは、前記第３ノードのノード識別子及び前記第３の独特の暗号的にセキュアなキーを明らかにするものであり、
前記第２ユーザに対し第２のＤＡＧに前記第３ノードを配置するための経路を決定し、  前記第２のＤＡＧにおいて前記第３ノードの親ノードを決定し、
前記第２のＤＡＧの根ノードから前記第２のＤＡＧの第３ノードの親ノードへの経路を進んで、前記第２のＤＡＧにおける第３ノードの親ノードに対する第４の独特の暗号的にセキュアなキーを決定し、
前記第２のＤＡＧにおける前記第３ノードの親ノードから前記第１のＤＡＧにおける前記第３ノードへのエッジを前記第２のＤＡＧに生成し、
前記第３の独特の暗号的にセキュアなキーを前記第４の独特の暗号的にセキュアなキーで暗号化し、及び
前記第３の独特の暗号的にセキュアなキーを前記第４の独特の暗号的にセキュアなキーで暗号化した結果を、前記第２のＤＡＧにおける前記第３ノードの親ノードから前記第１のＤＡＧにおける前記第３ノードへの前記第２のＤＡＧに生成されたエッジに記憶する、というオペレーションを遂行するようにさせるインストラクションを与える、請求項１４に記載の非一時的なマシン読み取り可能なストレージ媒体。
【請求項１７】
前記経路は、前記第２のＤＡＧの根ノードの下に配置されるように決定される、請求項１６に記載の非一時的なマシン読み取り可能なストレージ媒体。
【請求項１８】
前記経路は、前記第２ユーザにより選択される、請求項１６に記載の非一時的なマシン読み取り可能なストレージ媒体。