JP6698078B2 - 有向非巡回グラフのセキュア化 - Google Patents

有向非巡回グラフのセキュア化 Download PDF

Info

Publication number
JP6698078B2
JP6698078B2 JP2017514392A JP2017514392A JP6698078B2 JP 6698078 B2 JP6698078 B2 JP 6698078B2 JP 2017514392 A JP2017514392 A JP 2017514392A JP 2017514392 A JP2017514392 A JP 2017514392A JP 6698078 B2 JP6698078 B2 JP 6698078B2
Authority
JP
Japan
Prior art keywords
node
dag
user
key
edge
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017514392A
Other languages
English (en)
Other versions
JP2017517773A5 (ja
JP2017517773A (ja
Inventor
ジェフ グレゴリー
ジェフ グレゴリー
トム ヒル
トム ヒル
マルコス クライン
マルコス クライン
ディヴィッド シー ローレンス
ディヴィッド シー ローレンス
ジョエル ウォード
ジョエル ウォード
Original Assignee
ビットカーサ インコーポレイテッド
ビットカーサ インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ビットカーサ インコーポレイテッド, ビットカーサ インコーポレイテッド filed Critical ビットカーサ インコーポレイテッド
Publication of JP2017517773A publication Critical patent/JP2017517773A/ja
Publication of JP2017517773A5 publication Critical patent/JP2017517773A5/ja
Application granted granted Critical
Publication of JP6698078B2 publication Critical patent/JP6698078B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/37Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a physical-position-dependent priority, e.g. daisy chain, round robin or token passing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)

Description

関連出願の相互参照:本願は、参考としてここに援用する2014年5月22日出願の米国プロビジョナル特許出願第62/002,127の利益を主張する。
本発明は、有向グラフの分野に関するもので、より詳細には、有向非巡回グラフをセキュア化することに関する。
コンピュータサイエンスにおけるグラフは、明確に定義され且つ理解されている概念である。有向非巡回グラフ(DAG)は、有向サイクルをもたない有向グラフで、ノードと有向エッジの集合で形成され、各エッジはあるノードを別のノードに接続する。DAGには、根ノードがあり、これは、到来するエッジをもたず且つそこからグラフ内の他の全てのノードに到達するノードである。この根ノードの識別子(ID)は、質問時にグラフへのエントリポイントとして使用されるべくグラフそれ自体の外部のどこかに記憶される。
グラフ暗号化には、汎用グラフに対して高レベルの融通性を維持することを試みるある程度の変化があるが、有向非巡回グラフ(DAG)の場合はそのほとんどが有効でない。例えば、ある質問が望ましい結果のスーパーセットを発生し、結果セットの更なるフィルタリングで偽の肯定を剪定するように共通の質問に基づきインデックスを事前に計算するシステムが存在する。
本発明は、本発明の実施形態を例示するのに使用される以下の説明及び添付図面を参照することで最も良く理解されよう。
本発明の実施形態によりセキュア化される規範的なDAGを示す。 1つの実施形態による規範的なセキュアDAGシステムを示すブロック図である。 1つの実施形態による図1のDAGの規範的なデータ構造体表現を示す。 1つの実施形態によりセキュアな有向非巡回グラフを使用するサービス又はアカウントに対してユーザが登録するときに遂行される規範的なオペレーションを示すフローチャートである。 1つの実施形態によりセキュア化されたDAGにノードを追加するときに遂行される規範的なオペレーションを示すフローチャートである。 1つの実施形態によりセキュア化されたDAGからノードを除去するときに遂行される規範的なオペレーションを示すフローチャートである。 1つの実施形態により第1ユーザが第2ユーザとでノードを共有する複数ユーザのための複数のセキュア化されたDAGを示す。 1つの実施形態によるセキュアなDAGを伴うシステムにおいて第1ユーザが第2ユーザとでデータを共有することを選択したときに遂行される規範的なオペレーションを示すフローチャートである。 1つの実施形態によるセキュアなDAGを伴うシステムにおいて第1ユーザが第2ユーザとでデータを共有することを選択するのに応答して遂行される規範的なオペレーションを示すフローチャートである。 1つの実施形態によりノードが共有された後に図7に示されたDAGの規範的なデータ構造体表現を示す。 1つの実施形態によりノードが移動された場合の図7に示すセキュア化されたDAGを示す。 1つの実施形態により図11に基づきノードが移動された後に図1に示されたDAGの規範的なデータ構造体表現を示す。 1つの実施形態によるセキュア化されたDAGにおいてノードを移動するために遂行される規範的なオペレーションを示すフローチャートである。 ある実施形態によるセキュア化されたDAGを横断するための規範的なオペレーションを示すフローチャートである。 ある実施形態に使用される規範的なコンピュータシステムを示す。
以下の説明において、多数の特定の細部について述べる。しかしながら、本発明の実施形態は、それらの特定の細部を伴わずに実施されてもよいことを理解されたい。他の例において、この説明の理解を不明瞭にしないために、良く知られた回路、構造及び技術は、詳細に示されていない。当業者であれば、ここに含まれた説明で、不当な実験を伴わずに適切な機能を実現することができよう。
本明細書において「1つの実施形態」「一実施形態」「規範的実施形態」等を言及するときには、その述べられた実施形態が特定の特徴、構造又は特性を含むが、各実施形態が必ずしも特定の特徴、構造又は特性を含むものではないことが示される。更に、そのような句は必ずしも同じ実施形態を指していない。更に、一実施形態に関連して特定の特徴、構造又は特性を記述するときには、明確に記述されるか否かに関わらず、そのような特徴、構造又は特性を他の実施形態に関連して作用させることは当業者の知識内であると想定される。
以下の説明及び特許請求の範囲では、「結合(coupled)」及び「接続(connected)」という語が、その派生語と共に使用される。これらの語は、互いに同意語として意図されないことを理解されたい。「結合」は、互いに物理的又は電気的に直接接触してもしなくてもよい2つ以上の要素が互いに協働し又は相互作用することを表わすのに使用される。「接続」は、互いに結合された2つ以上の要素間の通信の確立を表すのに使用される。
有向非巡回グラフ(DAG)をセキュア化する方法及び装置について述べる。1つの実施形態において、DAGを暗号化するアルゴリズムであって、スタートノード(エントリポイント)、そのノードのためのノードキー、及びグラフを横断する経路が与えられるとDAGを暗号化することができ、それらのキーがDAGのノードではなくDAGのエッジに記憶されるようなアルゴリズムについて述べる。DAGのノードではなくDAGのエッジにキーを記憶することは、DAGの効率的な質問を可能にすると共に、変化しない親とのノード関係に影響することなく変化し得る多数の親をノードがもてるようにする。DAG内に生成される各ノードに対して独特で且つ暗号的にランダムなキー(ここでは独特なノードキーとも称される)が発生される。ノードキーは、それが発生されたノード及びそのノードを出るエッジを暗号化する。ノードキーは、ノード内に記憶されない。むしろ、ノードキーは、親ノードのノードキーで暗号化されるノードへの到来エッジ(その親ノードからのエッジ)に記憶される。根ノードの場合には、根ノードのノードキーが記憶されるDAG外部からの暗示的エッジがある。
1つの実施形態において、ここに述べるDAGは、各ノードがフォルダ又はファイルに関するメタデータ(例えば、名前、サイズ、生成タイムスタンプ、変更タイムスタンプ、アクセスコントロールリスト/許可、リードオンリマーカー、隠れたファイルマーカー、他の特定用途データ、等)を表わすファイルシステムを表わしている。ファイルシステムは、クラウドベースのファイルシステムである。ここに述べるセキュアなDAGは、記憶されるファイル及びフォルダに関連したファイルデータ又は繊細な情報にアクセスできないが、メタデータの効率的な管理でクラウドベースファイルシステムのストレージの解決策を実施できるようにする。DAGの質問は、既に進んだ経路を使用して行われ、これは、ファイルシステムの場合は、ユーザがナビゲートされたフォルダの順序付けされたリストである。
本発明の実施形態を使用すると、ノードを新たな親ノードに接続しながら、おそらく、既存の親への接続を除去するような通常のオペレーション(例えば、DAGがファイルシステムを表わす場合の移動オペレーション)において効率が発見される。そのような場合には、(新たなノードではなく)単一の新たなエッジを生成するだけでよく、且つ新たな親ノードのノードキーで、移動されるノードのための既存のノードキーの暗号化を遂行するだけでよい。
図1は、本発明の実施形態によりセキュア化される規範的なDAG100を示す。DAG100は、多数のノードと、暗示的到来エッジ140を有する根ノード110でスタートするエッジとを備えている。DAG100は、ユーザに対して発生されるか又はユーザに属する。暗示的エッジ140は、ユーザに対して発生される独特の暗号キーを記憶し、これは、図面においてユーザキーUK1と称される。又、このユーザキーUK1は、根ノード110のノードキーである。1つの実施形態において、ユーザキーは、ユーザのクレデンシャルで暗号化され(例えば、ユーザのパスワードで暗号化され)、そして根ノード110のIDに関連してDAGの外部に持続的に記憶される。又、ユーザキーUK1は、根ノード110のコンテンツを暗号化するのにも使用される。
根ノード110は、ノード115及び120のための親ノードである。ノード115に対して独特の暗号的にセキュアなランダムキー(図中ノードキーK1と称される)が発生され、そしてノード120に対して独特の暗号的にセキュアなランダムキー(図中ノードキーK2と称される)が発生される。ノードキーK1は、ノード115のコンテンツを暗号化するのに使用され、そしてノードキーK2は、ノード120のコンテンツを暗号化するのに使用される。ノードキーK1は、根ノード110のノードキー(ユーザキーUK1)で暗号化され、そしてその結果は、根ノード110からノード115へのエッジ145に記憶される。ノードキーK1は、ノードキーK1の暗号化バージョン(ユーザキーUK1で暗号化された)以外、その親ノード(根ノード110)からそれが生成されたノード(ノード115)へのエッジには持続的に記憶されない。ノードキーK2は、根ノード110のノードキー(ユーザキーUK1)で暗号化され、そしてその結果は、根ノード110からノード120へのエッジ150に記憶される。ノードキーK2は、ノードキーK2の暗号化バージョン(ユーザキーUK1で暗号化された)以外、その親ノード(根ノード110)からそれが生成されたノード(ノード120)へのエッジには持続的に記憶されない。
ノード120は、ノード125及び130の親ノードである。ノード125に対して独特の暗号的にセキュアなランダムキー(図中ノードキーK3と称される)が発生され、そしてノード130に対して独特の暗号的にセキュアなランダムキー(図中ノードキーK4と称される)が発生される。ノードキーK3は、ノード125のコンテンツを暗号化するのに使用され、そしてノードキーK4は、ノード130のコンテンツを暗号化するのに使用される。ノードキーK3は、その親ノードのノードキー(ノード120のノードキーK2)で暗号化され、そしてその結果は、ノード120からノード125へのエッジ155に記憶される。ノードキーK3は、ノードキーK3の暗号化バージョン(ノードキーK2で暗号化された)以外、その親ノード(ノード120)からそれが生成されたノード(ノード125)へのエッジには持続的に記憶されない。ノードキーK4は、その親ノードのノードキー(ノード120のノードキーK2)で暗号化され、そしてその結果は、ノード120からノード130へのエッジ160に記憶される。ノードキーK4は、ノードキーK4の暗号化バージョン(ノードキーK2で暗号化された)以外、その親ノード(ノード120)からそれが生成されたノード(ノード130)へのエッジには持続的に記憶されない。
図2は、1つの実施形態による規範的なセキュアDAGシステム200を示すブロック図である。セキュアDAGシステム200は、キージェネレータ210、セキュアDAGモジュール220、データストア230、及びDAG240を備えている。セキュアDAGモジュール220は、以下に詳細に述べるようにDAGをセキュア化するための多数のオペレーションを遂行する。セキュアDAGモジュール220は、以下に詳細に述べる異なる形式のオペレーション(例えば、新たなユーザをシステムに追加し、ノードをDAGに追加し、ノードをDAGから除去し、DAG内でノードを移動し、DAGのノードを別のユーザと共有する)を遂行するための要求250を受け取る。幾つかのこれらオペレーションの一部分として、セキュアDAGモジュール220は、独特の暗号的にセキュアなキーを発生する(255)ようにキージェネレータ210に要求する。例えば、以下に詳細に述べるように、セキュアDAGモジュール220は、DAG240において生成されるノードに対して独特の暗号的にセキュアなキーを発生するようにキージェネレータ210に要求する。データストア230は、DAG240の根ノードIDと、DAG240に属するユーザのためのユーザキーとを記憶する(260)。根ノードIDは、DAG240へのエントリポイントとして働く。セキュアDAGモジュール220は、DAG240を横断するときにデータストア230から根ノードID及びユーザキーを検索する(265)。セキュアDAGモジュール220は、以下に詳細に述べるようにDAG240に対してオペレーションを遂行する(270)(例えば、DAG240にノードを追加し、DAG240からノードを除去し、DAG240内でノードを移動し、DAG240を横断し、及びDAG240においてノードを共有する)。図2は、単一のDAG240を示しているが、セキュアDAGモジュール220により管理される多数の異なるユーザに属する多数の異なるDAGがあってもよいことを理解されたい。
セキュアDAGシステム200は、ある実施形態ではローカルクライアントコンピューティング装置の一部分である(例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートホン、セットトップボックス、ゲームコンソール、ウェアラブルコンピュータ、等)。他の実施形態では、セキュアDAGシステム200は、クラウドベースファイルシステムにおいて動作するサーバーコンピューティング装置の一部分であり、クライアントコンピューティング装置がそれらのDAGに対して遂行されるオペレーションの要求を送信しそしてクラウドベースファイルシステムからデータが返送される。
図3は、1つの実施形態によるDAG100の規範的なデータ構造体表現を示す。図3に示すデータ構造体表現は例示に過ぎず、そして本発明は、DAGを表現するための特定のデータ構造体に限定されないことを理解されたい。図3に示すように、ノードテーブル310は、ノード識別子のための列と、データのための列とを含む。ノードテーブル310の各行は、DAG100におけるノードと、ノードに記憶されたデータを識別する。例えば、ノード110は、ユーザキーUK1で暗号化されたデータ(UK1(Data)として表わされた)を記憶し、ノード115は、ノードキーK1で暗号化されたデータ(K1(Data)として表わされた)を記憶し、ノード120は、ノードキーK2で暗号化されたデータ(K2(Data)として表わされた)を記憶し、ノード125は、ノードキーK3で暗号化されたデータ(K3(Data)として表わされた)を記憶し、そしてノード130は、ノードキーK4で暗号化されたデータ(K4(Data)として表わされた)を記憶する。エッジテーブル320は、エッジの原点を識別する“From−ID”列と、エッジの行先を識別する“To−ID”列と、そのエッジに記憶されるデータを識別するデータ列とを含む。例えば、暗示的エッジ140は、暗示的ノードからスタートしてノード110へ至りそしてユーザのクレデンシャルで暗号化されたユーザキーUK1を記憶し、エッジ145は、ノード110からスタートしてノード115へ至りそしてユーザキーUK1で暗号化されたノードキーK1(UK1(K1)として表わされた)を記憶し、エッジ150は、ノード110からスタートしてノード115へ至りそしてユーザキーUK1で暗号化されたノードキーK2(UK1(K2)として表わされた)を記憶し、エッジ155は、ノード120からスタートしてノード125へ至りそしてノードキーK2で暗号化されたノードキーK3(K2(K3)として表わされた)を記憶し、そしてエッジ160は、ノード120からスタートしてノード130へ至りそしてノードキーK2で暗号化されたノードキーK4(K2(K4)として表わされた)を記憶する。
図4は、1つの実施形態によりセキュアな有向非巡回グラフを使用するサービス又はアカウントに対してユーザが登録するときに遂行される規範的なオペレーションを示すフローチャートである。この及び他のフローチャートのオペレーションは、他の図面の規範的実施形態を参照して説明する。しかしながら、フローチャートのオペレーションは、それら他の図面を参照して述べる以外の本発明の実施形態により遂行することもでき、且つそれら他の実施形態を参照して述べる本発明の実施形態は、フローチャートを参照して述べるものとは異なるオペレーションも遂行できることを理解されたい。
オペレーション410において、サービスのためのユーザ名及びパスワードのようなユーザのクレデンシャルを確立することを含む要求がサービスのアカウントを生成するためにユーザから受け取られる。例えば、セキュアDAGモジュール220は、ユーザを生成するための要求を受け取る。フローは、次いで、オペレーション415へ進み、暗号的に望ましいパブリックキーのタイプに適したユーザに対してパブリック/プライベートキー対が発生される。フローは、次いで、オペレーション420へと進み、独特の暗号的にセキュアなランダムキーがユーザのために発生され、これは、ユーザキーと称され、このユーザキーでユーザのクレデンシャルが暗号化される。例えば、セキュアDAGモジュール220は、ユーザのためのユーザキーを発生するようにキージェネレータ210に要求する。フローは、次いで、オペレーション425へ進み、セキュアDAGモジュール220は、ユーザのためのDAG240に新たな根ノードを生成し、そして発生されたユーザキーで根ノードのコンテンツを暗号化する。フローは、次いで、オペレーション430へ進み、根ノードの識別子がDAGの外部にユーザキーと共に記憶される。例えば、セキュアDAGモジュール220は、根ノードID及びユーザキーをデータストア230に記憶させる。
DAGへのノードの追加
図5は、本発明の一実施形態によりセキュア化されたDAGにノードを追加するときに遂行される規範的なオペレーションを示すフローチャートである。オペレーション510において、セキュアDAGモジュール220は、ユーザのためのDAG240に新たなノード(N)を生成するための要求を受け取る。この要求は、新たなノードに対する経路を指定する。例えば、図1を参照すれば、ノード120が生成される。要求は、情報の生成又は記憶を希望するユーザに関連してユーザから受け取られる。例えば、DAGがファイルシステムを表わす実施形態では、ファイルシステムにフォルダ(ディレクトリ)又はファイルを生成するユーザから要求が受け取られる。フローは、次いで、オペレーション515へ進む。
オペレーション515において、セキュアDAGモジュール220は、新たなノード(N)に対する独特の暗号的にセキュアなキー(K)を、キージェネレータ210の使用を通して生成させる。キージェネレータ210は、暗号的にセキュアな擬似ランダム番号発生器である。フローは、次いで、オペレーション520へ進み、セキュアDAGモジュール220は、新たなノード(N)に対してDAG240にノードを生成する。例えば、図1に関して、図3のノードテーブル310にエントリを追加することを含むノード120が生成される。
フローは、次いで、オペレーション525へ進み、セキュアDAGモジュール220は、追加されるノード(N)のコンテンツを、ノード(N)に対して生成されたキー(K)で暗号化する。例えば、図1に関して、ノード120のコンテンツが、ノード120に対して発生されたノードキーK2で暗号化される。暗号化されたノードコンテンツは、ノードに記憶され、ノードを暗号化及び解読するためのキーは、ノードに記憶されない。
フローは、次いで、オペレーション530へ進み、セキュアDAGモジュール220は、要求において与えられる経路に基づき新たに追加されるノード(N)の親ノード(PN)を決定する。例えば、図1に関して、ノード120の親ノードは、根ノード110である。フローは、次いで、オペレーション535へ進む。
オペレーション535において、セキュアDAGモジュール220は、新たに生成されたノード(N)の親ノード(PN)から新たに生成されたノード(N)へのエッジをDAG240に生成する。例えば、図1に関して、根ノード110からノード120へのエッジ150が生成され、そして生成されたエッジに対してエッジテーブル320にエントリが追加される。
フローは、次いで、オペレーション540へ進み、セキュアDAGモジュール220は、根ノードから新たに生成されたノード(N)の親ノード(PN)への経路を進んで、親ノード(PN)のノードキー(PK)を決定する。親ノード(PN)のノードキーは、その親ノードからそれ自体へのエッジに暗号化形態で(その親ノードのノードキーで暗号化されるか、又は親ノードが根ノードの場合にはユーザキーで暗号化されて)記憶される。例えば、図1を参照すれば、120の親ノード(根ノード110)のノードキーは、エッジ140に暗号形態で(ユーザキーUK1で暗号化されて)記憶される。経路を進むときに遂行されるオペレーションは、図9に関して詳細に述べる。フローは、オペレーション540からオペレーション545へ進む。
オペレーション545において、セキュアDAGモジュール220は、新たに生成されたノード(N)に対するノードキー(K)を親ノード(PN)のノードキー(PK)で暗号化する。例えば、図1を参照すれば、ノード120のノードキーK2は、その親ノードのノードキー(ユーザキーUK1)で暗号化される。
フローは、次いで、オペレーション550へ進み、セキュアDAGモジュール220は、新たに生成されたノード(N)のノードキー(K)を親ノード(PN)のノードキー(PK)で暗号化した結果を、親ノード(PN)から新たに生成されたノード(N)へのエッジに記憶する。例えば、図1を参照すれば、エッジ150は、ノード120のノードキーK2をユーザキーUK1で暗号化した結果を記憶する。
DAGからのノードの除去
図6は、本発明の一実施形態によりセキュア化されたDAGからノードを除去するときに遂行される規範的なオペレーションを示すフローチャートである。オペレーション610において、セキュアDAGモジュール220は、DAG240からノード(N)を除去するための要求を受け取る。この要求は、除去されるノード(N)の経路を指定する。この要求は、ユーザがグラフから情報を削除することを望むときに受け取られる。例えば、DAG240がファイルシステムを表わす実施形態では、この要求は、ファイルシステムにおいてフォルダ又はファイルを削除することを望むユーザから受け取られる。フローは、次いで、オペレーション615へ進む。
オペレーション615において、セキュアDAGモジュール220は、与えられた経路に基づき、除去されるノード(N)の親ノード(PN)を決定する。親ノードがない(即ち、除去されるノードが根ノードである)場合には、全てのノード及びエッジがDAGから除去される。しかしながら、親ノードがある場合には、あるノード及びエッジだけがDAGから除去される。フローは、次いで、オペレーション620へ進み、セキュアDAGモジュール220は、ノード(N)より下のノード及びエッジ(除去されるノードの子)がもしあれば、その全てを決定する。例えば、図1のノード120が除去される場合には、セキュアDAGモジュール220は、ノード125及び130並びにエッジ155及び160がノード120の下にあることを決定する。フローは、次いで、オペレーション625へ進み、セキュアDAGモジュール220は、DAG240から次のものを除去する。即ち、DAG240からのノード(N)、親ノード(PN)からノード(N)へのエッジ、及びノード(N)の経路の下のノード及びエッジ。
別のユーザとのノードの共有
ある実施形態では、ユーザは、彼らのノードを別のユーザと共有することができる。例えば、セキュアなDAGがクラウドベースファイルシステムを表わす実施形態では、第1ユーザは、1人以上の他のユーザと共有するためにそれらのファイルシステム(例えば、ディレクトリ又はファイル)において任意のポイントを選択できる。ある実施形態では、共有ファイル又はフォルダを受け取るユーザは、共有ファイル又はフォルダをそれら自身のクライアント装置にマウントし、そしてそれらのオペレーティングシステム内のファイル及びフォルダにアクセスする通常の仕方を通して共有ファイル又はフォルダにアクセスすることを選択してもよい。ある実施形態では、共有を行うユーザは、共有に対するアクセス制限をセットしてもよく、そして異なるユーザに対して異なるものでよい(例えば、リードオンリ、変更、完全制御、等)。
図7は、本発明の実施形態により第1ユーザが第2ユーザとでノードを共有する複数ユーザのための複数のセキュア化されたDAGを示す。図7は、図1に示して説明したセキュアなDAG100と、第2ユーザに属するセキュアなDAG700とを示す。セキュアなDAG700は、セキュアなDAG700に属するユーザに対して発生される独特の暗号キーを記憶する暗示的到来エッジ720を有する根ノード710を備え、その独特の暗号キーは、図7ではユーザキーUK2と称され、セキュアなDAG700に属するユーザのクレデンシャルで暗号化される。又、このユーザキーUK2は、根ノード710のノードキーでもある。1つの実施形態において、ユーザキーUK2は、第2ユーザのクレデンシャルで暗号化され(例えば、ユーザのパスワードで暗号化され)、そして根ノード710のIDに関連してDAG700の外部に持続的に記憶される。又、ユーザキーUK2は、根ノード710のコンテンツを暗号化するのにも使用される。根ノード110は、ノード715の親ノードである。ノード715に対して独特の暗号的にセキュアなランダムキーが発生される(図中ノードキーK5と称される)。ノードキーK5は、ノード715のコンテンツを暗号化するのに使用される。ノードキーK5は、根ノード710のノードキー(ユーザキーUK2)で暗号化され、そしてその結果は、根ノード710からノード715へのエッジ725に記憶される。ノードキーK5は、ノードキーK5の暗号化バージョン(ユーザキーUK2で暗号化された)以外、その親ノード(根ノード710)からそれが生成されたノード(ノード715)へのエッジには持続的に記憶されない。
あるポイントで、セキュアなDAG100に属するユーザは、ノード120に関連したデータ(及び本来的にノード120の子ノードのデータ)を、セキュアなDAG700に属するユーザと共有することを選択する。図8は、1つの実施形態によるセキュアなDAGを伴うシステムにおいて第1ユーザが第2ユーザとでデータを共有することを選択したときに遂行される規範的なオペレーションを示すフローチャートである。オペレーション810において、セキュアDAGモジュール220は、第1ユーザ(ユーザ1)のノード(N)を第2ユーザ(ユーザ2)と共有する要求を受け取る。この要求は、共有すべきノードを指定する。図7を参照すれば、セキュアなDAG100に属するユーザは、ノード120のデータを、セキュアなDAG700に属するユーザと共有することを要求している。フローは、次いで、オペレーション815へ進む。
オペレーション815において、セキュアDAGモジュール220は、根ノードから、共有されるノード(N)へのDAG内の経路を進み、ノード(N)のノードキー(K)を決定する。共有されるノード(N)のノードキー(K)は、その親ノードからの到来エッジに暗号化状態で(親ノードのノードキーで暗号化されるか又は親ノードが根ノードの場合にはユーザキーで暗号化されて)記憶される。例えば、図1を参照すれば、ノード120のノードキーは、エッジ150に暗号化形態で(根ノード110のノードキーで暗号化されて)記憶される。フローは、次いで、オペレーション820へ進む。
オペレーション820において、セキュアDAGモジュール220は、第1ユーザが第2ユーザとのデータの共有を望むことを指示するメッセージを第2ユーザ(共有データを受け取ることが意図されたユーザ)に対して発生する。このメッセージは、共有されるノード(N)のノードキー(K)及び共有されるノード(N)のノードIDを第2ユーザのパブリックキーで暗号化したものを含む(例えば、メッセージは、暗号化の結果([K,NodeID_N],Public_Key_User2)を含む)。フローは、次いで、オペレーション825へ進み、セキュアDAGモジュール220は、メッセージを第2ユーザに通信するようにさせる。例えば、e−メール又は他の通信が第2ユーザへ送信され、第2ユーザは、次いで、共有を受け容れるべきかどうか選択する。
フローは、次いで、オペレーション830へ進み、これは、ある実施形態では、任意であり、セキュアDAGモジュール220は、第1ユーザがノード(N)への第2ユーザアクセスを許容したことを指定する所有権関係を記憶するようにさせる。ある実施形態では、第1ユーザは、第2ユーザに与えられたノード(N)へのアクセスを取り消してもよい。
図9は、1つの実施形態によるセキュアなDAGを伴うシステムにおいて第1ユーザが第2ユーザとでデータを共有することを選択するのに応答して遂行される規範的なオペレーションを示すフローチャートである。オペレーション910において、セキュアDAGモジュール220は、第2ユーザのパブリックキーで暗号化されたメッセージであって、第1ユーザが第2ユーザとのデータの共有を希望することを示すメッセージを受け取る。フローの一部分として述べないが、第2ユーザは、共有を受け容れることを選択してもよい。フローは、次いで、オペレーション910からオペレーション915へ進み、セキュアDAGモジュール220は、第2ユーザのプライベートキーでメッセージを解読し、これは、共有されるノードのノードID及び共有されるノードのノードキーを明らかにする。例えば、図7に関して、第2ユーザのプライベートキーでメッセージを解読すると、ノード120のノードID及びノード120のノードキーK2が明らかになる。フローは、次いで、オペレーション920へ進む。
オペレーション920において、セキュアDAGモジュール220は、第2ユーザに対してDAG700に共有を配置するための経路を決定する。1つの実施形態では、経路は、DAG700の根ノードの下に自動的に配置される。別の実施形態では、経路は、第2ユーザにより選択される。図7の例では、共有が根ノード710の下に配置される。従って、図7の例では、根ノード710は、共有されるノード(ノード120)の親ノードである。フローは、次いで、オペレーション925へ進む。
オペレーション925において、セキュアDAGモジュール220は、経路を進んで、第2ユーザに対しDAG700において共有されるノードの親ノードのためのノードキーを決定する。例えば、図7を参照すれば、セキュアDAGモジュール220は、経路を進み、そして根ノード710(共有されるノードの親ノード)のためのノードキーを決定する。図7の例では、根ノード710のノードキーは、ユーザキーUK2である。フローは、次いで、オペレーション930へ進む。
オペレーション930において、セキュアDAGモジュール220は、親ノード(PN)から共有ノード(N)へのエッジを第2ユーザに対してDAGに生成する。例えば、図7を参照すれば、根ノード710からノード120へのエッジ730が生成される。フローは、次いで、オペレーション935へ進み、セキュアDAGモジュール220は、共有されるノードのノードキー(K)を、第2ユーザに対しDAG700において共有されるノードの親ノードのノードキーで暗号化する。例えば、図7を参照すれば、ノードキーK2は、ユーザキーUK2で暗号化される。フローは、次いで、オペレーション940へ進み、セキュアDAGモジュール220は、共有されるノードのノードキー(K)を、共有されるノードの親ノードのノードキーで暗号化した結果を、親ノード(PN)から共有ノード(N)へのエッジに記憶する。例えば、図7を参照すれば、エッジ730は、ユーザキーUK2で暗号化されたノードキーK2を記憶する。
ノードが別のユーザと共有されるときには、その共有ノードの子ノード(もしあれば)も共有される。例えば、図7を参照すれば、ノード120が共有されるので、ノード125及び130も共有される。というのは、それらは、ノード120の子ノードだからである。従って、第2ユーザは、ノード120だけでなく、ノード125及び130のデータにもアクセスできる。例えば、第2ユーザがノード130にアクセスしたい場合には、第2ユーザのDAGの根ノード710から第1ユーザのDAGのノード120へ、次いで、第2ユーザのノード130への経路を識別する要求がセキュアDAGモジュールによって受け取られる。セキュアDAGモジュールは、第2ユーザのユーザクレデンシャルを使用して到来エッジ720を解読してユーザキーUK2を明らかにし、次いで、ユーザキーUK2を使用してエッジ730を解読してノードキーK2を明らかにし、次いで、ノードキーK2を使用してエッジ160を解読してノードキーK4を明らかにし、そして最後に、ノードキーK4を使用してノード130のコンテンツを解読する。
図9は、同じセキュアDAGモジュールにより(例えば、複数のクライアント装置に接続されたサーバーにおいて)遂行されるものとして説明したが、共有を行うクライアントコンピューティング装置とは異なるクライアントコンピューティング装置においてオペレーションをローカルに遂行することができる。換言すれば、ある実施形態では、図8及び9に関して述べたオペレーションは、クラウドのような中央位置で遂行され、他の実施形態では、図8に関して述べたオペレーションは、第1のクライアントコンピューティング装置で遂行されそして図9に関して述べたオペレーションは、第2のクライアントコンピューティング装置で遂行される。
図10は、1つの実施形態によりノード120が共有された後のDAG700の規範的なデータ構造体表現を示す。図10に示すデータ構造体表現は例示に過ぎず、本発明は、DAGを表現するための特定のデータ構造体に限定されないことを理解されたい。図10に示すように、ノードテーブル1010は、ノード710がユーザキーUK2で暗号化されたデータ(UK2(Data)として表わされる)を記憶しそしてノード715がノードキーK5で暗号化されたデータ(K5(Data)として表わされる)を記憶することを示している。エッジテーブル1020は、暗示的エッジ720が暗示的ノードからスタートしてノード710へ進みそしてユーザのクレデンシャルで暗号化されたユーザキーUK1を記憶し、エッジ725がノード710からスタートしてノード715へ進みそしてユーザキーUK2で暗号化されたノードキーK5(UK2(K5)として表わされる)を記憶し、そしてエッジ730がノード710からスタートしてノード720へ進みそしてユーザキーUK2で暗号化されたノードキーK2(UK2(K2)として表わされる)を記憶することを示す。
ノードの移動
ある実施形態では、ユーザは、ノードをセキュアなDAGの異なる部分へ移動することができる。例えば、セキュアなDAGがクラウドベースのファイルシステムを表わす実施形態では、ユーザは、フォルダ又はファイルをファイルシステム内の別の位置へ移動することを選択できる。ノードを移動することで、新たなノードへの接続が生成されるようにし、単一の新たなエッジを生成するだけでよく(新たなノードそれ自体ではなく)、そして移動されるノードの既存のノードキーを新たな親ノードのノードキーで暗号化することを行うだけでよい。
図11は、図7に示されたセキュア化されたDAGであって、本発明の実施形態によりノードが移動されたものを示す。図11に示すように、ノード120は、根ノード110の真下の子ノードであることから、ノード115の下の子ノードであることへと移動される。新たな親ノード115から、移動されるノード(120)へと新たなエッジ165が生成される。新たなエッジ165は、新たな親ノード115のノードキーK1により暗号化されたノード120のノードキーK2を記憶する。エッジ150は、DAG100から除去される。移動オペレーションは、DAG100に属するユーザからDAG700に属するユーザへのノード120の共有に影響を及ぼさない。
図12は、1つの実施形態により図11に基づきノード120が移動された後のDAG100の規範的なデータ構造体表現を示す。図12に示すデータ構造体表現は例示に過ぎず、本発明は、DAGを表現するための特定のデータ構造体に限定されないことを理解されたい。図12に示すように、ノードテーブル1210は、ノードテーブル310と同じであり、ノード120へのエッジテーブル1220のエッジだけが変更されている。
図13は、1つの実施形態によるセキュア化されたDAGにおいてノードを移動するために遂行される規範的なオペレーションを示すフローチャートである。オペレーション1310において、セキュアDAGモジュール220は、ノード(N)を移動するための要求を受け取る。この要求は、ユーザから受け取られる。例えば、DAGがファイルシステムを表わす実施形態では、要求は、ユーザがフォルダ又はファイルをファイル構造体内の別の場所へ移動した結果として受け取られる。例えば、図11を参照すれば、ノード120は、根ノード110の真下であることから、ノード115の真下であることへと移動される。要求は、移動のための経路(どこからどこへ)を指定する。フローは、次いで、オペレーション1315へ進み、セキュアDAGモジュール220は、根ノードから、移動されるノード(N)への経路を進み、そのノードのノードキー(K)を決定する。例えば、図11を参照すれば、根ノード110からノード120への経路を進んで、ノードキー120であるノード120のためのノードキー(K)を決定する。ノードキー120は、暗号化形態で(ユーザキーUK1で暗号化されて)エッジ150に記憶される。フローは、次いで、オペレーション1320へ進む。
オペレーション1320において、セキュアDAGモジュール220は、与えられた経路に基づき、移動されるノード(N)の新たな親ノード(PN)を決定する。例えば、図11に関して、新たな親ノード(PN)は、ノード115である。フローは、次いで、オペレーション1325へ進み、セキュアDAGモジュール220は、新たな親ノード(PN)から、移動されるノード(N)へのエッジをDAGに生成する。例えば、図11を参照すれば、ノード115からノード120への新たなエッジ165が生成される。フローは、次いで、オペレーション1330へ進む。
オペレーション1330において、セキュアDAGモジュール220は、根ノードから新たな親ノード(PN)への経路を進み、新たな親ノードのノードキー(PK)を決定する。新たな親ノードのノードキー(PK)は、その到来エッジに(その親ノードのノードキーで暗号化されて、又は新たな親ノードが根ノードである場合にはユーザキーで暗号化されて)記憶される。例えば、図11に関して、新たな親ノード115のノードキーは、ユーザキーUK1で暗号化されてその到来エッジ145に記憶される。フローは、次いで、オペレーション1335へ進む。
オペレーション1335において、セキュアDAGモジュール220は、移動されるノード(N)のノードキー(K)を新たな親ノード(PN)のノードキー(PK)で暗号化する。フローは、次いで、オペレーション1340へ進み、セキュアDAGモジュール220は、移動されるノード(N)のノードキー(K)を新たな親ノード(PN)のノードキー(PK)で暗号化した結果を、新たな親ノード(PN)から、移動されるノード(N)へのエッジに記憶する。例えば、図11を参照すれば、セキュアDAGモジュール220は、ノードキーK2をノードキーK1で暗号化し、そしてその結果をノード115からノード120へのエッジ165に記憶する。フローは、次いで、オペレーション1345へ進み、セキュアDAGモジュール220は、古い親ノードから、移動されるノードへのエッジを除去する。
グラフの横断
図14は、ある実施形態によるセキュア化されたDAGを横断するための規範的なオペレーションを示すフローチャートである。オペレーション1410において、セキュアDAGモジュール220は、ノード(N)においてデータの要求を受け取り、この要求は、経路を指示する。セキュアなDAGがファイルシステムを表わす場合には、この要求は、ユーザがそれらのファイルシステム内のフォルダ又はファイルへナビゲーションする結果として受け取られる。この要求は、経路を指示する。一例として、このフローチャート全体にわたり、要求は、図1のノード125におけるデータの要求を指示する。
オペレーション1415において、セキュアDAGモジュール220は、要求を行うユーザのユーザキーを決定する。例えば、セキュアDAGモジュール220は、ユーザの根ノードの暗示的到来エッジに記憶されたデータを、ユーザの与えられたクレデンシャルで解読し、これは、データの要求に関連して与えられるか又は早期に与えられたものである。例えば、図1に関して、セキュアDAGモジュール220は、暗示的エッジ140に記憶されたデータを、ユーザクレデンシャルを使用して解読して、ユーザキーUK1を明らかにする。
ユーザのユーザキー(UK)が決定されたと仮定すれば、フローは、次いで、オペレーション1425へ進み、セキュアDAGモジュール220は、ユーザのグラフの根ノードからスタートしてセキュアなDAGに与えられた経路を進み、そして各ステップにおいて1430−1440のオペレーションを遂行し、ここで、(P)は、現在経路セグメントであり、(P−1)は、以前の経路セグメントであり、(P+1)は、次の経路セグメントであり、そして根ノード及びユーザキー(UK)は、Pが0に等しいときに暗示的(P−1)セグメントである。オペレーション1430において、セキュアDAGモジュール220は、ノード(P−1)からノード(P)へ進み、ノード(P−1)からノード(P)の間でエッジに記憶されたデータを捕獲する。例えば、図1に関して、セキュアDAGモジュール220は、根ノード110からノード120へ進み、エッジ150に記憶されたデータを捕獲する。上述したように、エッジ150に記憶されたデータは、ユーザキーUK1で暗号化されたノードキーK2である。フローは、次いで、オペレーション1435へ進み、セキュアDAGモジュール220は、捕獲されたエッジデータをノード(P−1)のノードキーで解読して、ノード(P)のノードキーを得る。例えば、図1を参照すれば、セキュアDAGモジュール220は、ユーザキーUK1を使用して、エッジ150に記憶されたデータを解読し、ノードキーK2を明らかにする。フローは、次いで、オペレーション1440へ進み、セキュアDAGモジュール220は、ノード(P)が最後の経路セグメントであるかどうか決定する。最後の経路セグメントである場合には、フローは、次いで、オペレーション1450へ進む。最後の経路セグメントでない場合には、フローは、次いで、オペレーション1445へ進む。ノード125に対応するデータをアクセスする例では、ノード120が最後の経路セグメントではない。
オペレーション1445において、セキュアDAGモジュール220は、現在経路セグメント(P)を以前の経路セグメント(P−1)としてセットすると共に、次の経路セグメント(P+1)を現在経路セグメント(P)としてセットする。フローは、次いで、オペレーション1430へ戻る。例えば、図1に関して、セキュアDAGモジュール220は、次いで、ノード120からノード125へ進んで、エッジ155に記憶されたデータを捕獲する。エッジ155に記憶されたデータは、ノードキーK2で暗号化されたノードキーK3を含む。エッジ155に記憶されたデータ捕獲した後に、セキュアDAGモジュール220は、ノードキーK2を使用してデータを解読し、ノードキーK3を明らかなものにする。ノード125は、最後の経路セグメントにおけるノードであるから、フローは、次いで、オペレーション1450へ進む。
オペレーション1450において、セキュアDAGモジュール220は、ノード(P)に記憶されたデータを捕獲する。例えば、図1に関して、セキュアDAGモジュール220は、ノード125に記憶されたデータを捕獲し、これは、ノードキーK3で暗号化された暗号データである。フローは、次いで、オペレーション1455へ進み、セキュアDAGモジュール220は、ノード(P−1)からノード(P)への最終エッジで見つかったキーを使用して捕獲データを解読する。例えば、図1を参照すれば、セキュアDAGモジュール220は、ノードキーK2を使用してノード125の捕獲データを解読し、ノード125のコンテンツを明らかにする。
経路に沿った全てのノードにアクセスする必要はなく、要求されたデータがノードに記憶されている場合にはエッジと最終ノードだけであることを理解されたい。
図14は、要求されたデータがノードにあるときにDAGを横断するための規範的なオペレーションを示すが、要求されたデータがエッジに暗号形態で記憶されたノードキーであるときには、経路を進みそして解読する同様のオペレーションが遂行される。例えば、グラフにノードを追加するときには、根ノードから、追加されるノードの親ノードへ繰り返し形態で経路を進んで、その親ノードのノードキーを明らかなものにする。
図15に示すように、データ処理システムの形態のコンピュータシステム1500は、処理システム1520、電源1525、メモリ1530、及び不揮発性メモリ1540(例えば、ハードドライブ、フラッシュメモリ、相変化メモリ(PCM)、等)に接続されたバス1550を備えている。バス1550は、この技術で良く知られたように、種々のブリッジ、コントローラ、及び/又はアダプタを通して互いに接続される。処理システム1520は、メモリ1530及び/又は不揮発性メモリ1540からインストラクションを検索し、そしてそれらインストラクションを実行して、ここに述べるオペレーションを遂行する。バス1550は、前記コンポーネントを一緒に相互接続すると共に、それらのコンポーネントを、ディスプレイコントローラ&ディスプレイ装置1570、入力/出力装置1580(例えば、NIC(ネットワークインターフェイスカード)、カーソルコントローラ(例えば、マウス、タッチスクリーン、タッチパッド、等)、キーボード、等)及び任意のワイヤレストランシーバ1590(例えば、ブルーツース、WiFi、赤外線、等)にも相互接続する。1つの実施形態では、セキュアDAGモジュール220がコンピュータシステム1500において実施される。
ここに述べるように、インストラクションとは、あるオペレーションを遂行するように構成されるか或いは非一時的コンピュータ読み取り可能な媒体で実施されるメモリに記憶された所定の機能又はソフトウェアインストラクションを有する特定用途向け集積回路(ASIC)のようなハードウェアの特定の構成を指す。従って、図示された技術は、1つ以上の電子装置(例えば、クライアントコンピューティング装置、サーバー)に記憶されて実行されるコード及びデータを使用して実施することができる。そのような電子装置は、コンピュータ読み取り可能な媒体、例えば、非一時的なコンピュータ読み取り可能なストレージ媒体(例えば、磁気ディスク、光学ディスク、ランダムアクセスメモリ、リードオンリメモリ、フラッシュメモリ装置、相変化メモリ)、及び一時的なコンピュータ読み取り可能な通信媒体(例えば、電気的、光学的、音響的又は他の形態の伝播信号、例えば、搬送波、赤外線信号、デジタル信号)を使用して、コード及びデータを記憶し及び通信する(内部で及び/又はネットワークを経て他の電子装置と)。更に、そのような電子装置は、典型的に、1組の1つ以上のプロセッサを備え、それらは、1つ以上の他のコンポーネント、例えば、1つ以上のストレージ装置(非一時的なコンピュータ読み取り可能なストレージ媒体)、ユーザ入力/出力装置(例えば、キーボード、タッチスクリーン及び/又はディスプレイ)、及びネットワーク接続に結合される。1組のプロセッサと他のコンポーネントとの結合は、典型的に、1つ以上のバス及びブリッジ(バスコントローラとも称される)を通して行われる。従って、所与の電子装置のストレージ装置は、典型的に、その電子装置の1組の1つ以上のプロセッサで実行するためにコード及び/又はデータを記憶する。もちろん、本発明の実施形態の1つ以上の部分を、ソフトウェア、ファームウェア及び/又はハードウェアの異なる組合せを使用して実施してもよい。
以上、本発明は、多数の実施形態について説明されたが、当業者であれば、本発明は、ここに述べる実施形態に限定されず、その精神及び特許請求の範囲内で変更及び修正を伴って実施できることが認識されよう。従って、以上の説明は、例示に過ぎず、それに限定されないとみなす。
100:DAG(有向非巡回グラフ)
110:根ノード
115、120、125、130:ノード
140、145、150、155、160、165:エッジ
200:セキュアDAGシステム
210:キージェネレータ
220:セキュアDAGモジュール
230:データストア
240:DAG
250:要求
310、1010、1210:ノードテーブル
320、1020、1220:エッジテーブル
700:セキュアなDAG
710:根ノード
715:ノード
720:到来エッジ
725:エッジ
1500:コンピュータシステム
1520:処理システム
1525:電源
1530:メモリ
1540:不揮発性メモリ
1550:バス
1570:ディスプレイコントローラ&ディスプレイ装置
1580:I/O装置
1590:ワイヤレストランシーバ

Claims (18)

  1. 第1の有向非巡回グラフ(DAG)をセキュア化する方法において、
    前記第1のDAGに第1ノードを生成するための要求を受け取り、該要求は、前記第1ノードの経路を指定するものであり、
    前記第1ノードのための第1の独特の暗号的にセキュアなキーを生成し、
    前記第1のDAGのための第1ノードを生成し、ノードデータ構造において前記第1ノードのための第1のエントリを追加することを含み、
    前記ノードデータ構造における前記第1ノードのための第1のエントリのデータを前記第1ノードのための前記生成された第1の独特の暗号的にセキュアなキーで暗号化し、
    前記指定された経路に基づき前記第1のDAGにおける前記生成された第1ノードの親ノードを決定し、
    前記親ノードから前記生成された第1ノードへの第1のエッジを前記第1のDAGに生成し、エッジデータ構造における前記第1のエッジのための第1のエントリを追加することを含み、
    前記第1のDAGの根ノードから前記親ノードへの経路を進んで、前記親ノードに対して生成された第2の独特の暗号的にセキュアなキーを決定し、
    前記第1の独特の暗号的にセキュアなキーを前記第2の独特の暗号的にセキュアなキーを暗号化し、及び
    前記第1の独特の暗号的にセキュアなキーを前記第2の独特の暗号的にセキュアなキーで暗号化した結果を前記エッジデータ構造における前記第1のエッジのための第1のエントリに記憶し、前記生成された第1ノードのための前記第1の独特の暗号的にセキュアなキーは、前記生成された第1ノードそれ自体のための前記ノードデータ構造における第1のエントリには記憶されない、
    ことを含む方法。
  2. 前記第1ノードのための前記ノードデータ構造における第1のエントリのデータの要求を受け取り、この要求は、前記第1のDAGの根ノードから前記第1のDAGの第1ノードに対する前記第1のDAGの中間ノードへ進む経路を指示するものであり、
    前記第1ノードのための前記ノードデータ構造における前記第1のエントリの前記データの要求を行うユーザのユーザキーを決定し、
    前記根ノードから前記中間ノードへのエッジのための前記エッジデータ構造における第2のエントリに記憶されたデータを捕獲し、
    前記ユーザのユーザキーを使用して前記捕獲されたデータを解読して、前記中間ノードに対する独特の暗号的にセキュアなキーを明らかにし、
    前記中間ノードから前記第1ノードへのエッジのための前記エッジデータ構造における第3のエントリに記憶されたデータを捕獲し、
    前記中間ノードに対する前記独特の暗号的にセキュアなキーを使用して前記捕獲されたデータを解読して、前記第1ノードに対する前記第1の独特の暗号的にセキュアなキーを明らかにし、
    前記第1ノードのための前記ノードデータ構造における第1のエントリに記憶されたデータを捕獲し、及び
    前記第1の独特の暗号的にセキュアなキーを使用して前記第1ノードのための前記ノードデータ構造における第1のエントリに記憶されたデータを解読する、
    ことを更に含む、請求項1に記載の方法。
  3. 前記第1のDAGから第2ノードを除去するための要求を受け取り、この要求は、前記第2ノードの経路を指定するものであり、
    前記第2ノードに対する前記指定された経路に基づき前記第2ノードの親ノードを決定し、
    前記第2ノードより下の全てのノード及びエッジを決定し、及び
    前記第1のDAGから前記第2ノードを、前記第2ノードの親ノードから前記第2ノードへの前記第1のDAGにおけるエッジを、そして前記第2ノードの経路より下のノード及びエッジを除去する、
    ことを更に含む、請求項1に記載の方法。
  4. 第1ノードを移動するための要求を受け取り、この要求は、前記第1ノードが現在位置され及び前記第1ノードを移動すべきである経路を指定するものであり、
    前記第1のDAGの根ノードから前記第1ノードへの経路を進んで、前記第1ノードに対して生成された第1の独特の暗号的にセキュアなキーを決定し、
    前記与えられた経路に基づき前記第1ノードの新たな親ノードを決定し、
    前記新たな親ノードからその移動された位置における前記第1ノードへの第2のエッジを前記第1のDAGに生成し、前記エッジデータ構造における第2のエッジのための第2のエントリを追加することを含み、
    前記第1のDAGの根ノードから前記新たな親ノードへの経路を進んで、前記新たな親ノードの第3の独特の暗号的にセキュアなキーを決定し、
    前記第1の独特の暗号的にセキュアなキーを前記第3の独特の暗号的にセキュアなキーを暗号化し、
    前記第1の独特の暗号的にセキュアなキーを前記第3の独特の暗号的にセキュアなキーで暗号化した結果を、前記エッジデータ構造における第2のエッジのための第2のエントリに記憶し、及び
    前記第1ノードの以前の親ノードから前記第1ノードへのエッジを前記第1のDAGにおいて除去する、
    ことを更に含む、請求項1に記載の方法。
  5. 第1ユーザの第3ノードを第2ユーザとで共用するための要求を受け取り、該要求は、共有されるべき前記第ノードを指定するものであり、
    前記第1のDAGの根ノードからの経路を進んで、前記第3ノードに対して生成された第3の独特の暗号的にセキュアなキーを決定し、
    前記第2ユーザのパブリックキーで暗号化されたメッセージを発生し、このメッセージは、前記第1ユーザが前記第2ユーザとのデータの共有を望むことを示し、且つこのメッセージは、前記第3ノードに対する前記第3の独特の暗号的にセキュアなキー及び前記第3ノードに対するノード識別子を含むものであり、及び
    前記発生されたメッセージを前記第2ユーザへ通信する、
    ことを更に含む、請求項1に記載の方法。
  6. 前記第1ユーザが前記第3ノードへの前記第2ユーザのアクセスを許可したことを明記する所有権関係を記憶することを更に含む、請求項5に記載の方法。
  7. 前記第2ユーザのパブリックキーで暗号化されたメッセージであって、前記第1ユーザが前記第2ユーザとのデータの共有を望むことを示すメッセージを受け取り、
    前記メッセージを前記第2ユーザのプライベートキーで解読し、その解読されたメッセージは、前記第3ノードのノード識別子及び前記第3の独特の暗号的にセキュアなキーを明らかにするものであり、
    前記第2ユーザに属する第2のDAGに前記第3ノードを配置するための経路を決定し、
    前記第2のDAGにおいて前記第3ノードの親ノードを決定し、
    前記第2のDAGの根ノードから前記第2のDAGの第3ノードの親ノードへの経路を進んで、前記第2のDAGにおける第3ノードの親ノードに対する第4の独特の暗号的にセキュアなキーを決定し、
    前記第2のDAGにおける前記第3ノードの親ノードから前記第1のDAGにおける前記第3ノードへの第2のエッジを前記第2のDAGに生成し、前記エッジデータ構造における第2のエッジのための第2のエントリを追加することを含み、
    前記第3の独特の暗号的にセキュアなキーを前記第4の独特の暗号的にセキュアなキーで暗号化し、及び
    前記第3の独特の暗号的にセキュアなキーを前記第4の独特の暗号的にセキュアなキーで暗号化した結果を、前記エッジデータ構造における第2のエッジのための第2のエントリに記憶する、ことを更に含む、請求項5に記載の方法。
  8. 前記経路は、前記第2のDAGの根ノードの下に配置されるように決定される、請求項7に記載の方法。
  9. 前記経路は、前記第2ユーザにより選択される、請求項7に記載の方法。
  10. プロセッサにより実行されたときに、前記プロセッサが、
    第1の有向非巡回グラフ(DAG)に第1ノードを生成するための要求を受け取り、該要求は、前記第1ノードの経路を指定するものであり、
    前記第1ノードのための第1の独特の暗号的にセキュアなキーを生成し、
    前記第1のDAGのための第1ノードを生成し、ノードデータ構造における第1ノードのための第1のエントリを追加することを含み、
    前記ノードデータ構造における第1ノードのための第1エントリのデータを前記第1ノードのための前記生成された第1の独特の暗号的にセキュアなキーで暗号化し、
    前記指定された経路に基づき前記第1のDAGにおける前記生成された第1ノードの親ノードを決定し、
    前記親ノードから前記生成された第1ノードへの第1のエッジを前記第1のDAGに生成し、エッジデータ構造における第1のエッジのための第1のエントリを追加することを含み、
    前記第1のDAGの根ノードから前記親ノードへの経路を進んで、前記親ノードに対して生成された第2の独特の暗号的にセキュアなキーを決定し、
    前記第1の独特の暗号的にセキュアなキーを前記第2の独特の暗号的にセキュアなキーを暗号化し、及び
    前記第1の独特の暗号的にセキュアなキーを前記第2の独特の暗号的にセキュアなキーで暗号化した結果を前記エッジデータ構造における第1のエッジのための第1のエントリに記憶し、前記生成された第1ノードのための前記第1の独特の暗号的にセキュアなキーは、前記生成された第1ノードそれ自体のための前記ノードデータ構造における第1のエントリには記憶されない、
    ことを含むオペレーションを遂行するようにさせるインストラクションを与える非一時的なマシン読み取り可能なストレージ媒体。
  11. 前記非一時的なマシン読み取り可能なストレージ媒体は、更に、プロセッサにより実行されたときに、前記プロセッサが、次のオペレーション、即ち
    前記第1ノードのための前記ノードデータ構造における第1のエントリのデータの要求を受け取り、この要求は、前記第1のDAGの根ノードから前記第1のDAGの第1ノードに対する前記第1のDAGの中間ノードへ進む経路を指示するものであり、
    前記第1ノードのための前記ノードデータ構造における前記第1のエントリの前記データの要求を行うユーザのユーザキーを決定し、
    前記根ノードから前記中間ノードへのエッジのための前記エッジデータ構造における第2のエントリに記憶されたデータを捕獲し、
    前記ユーザのユーザキーを使用して前記捕獲されたデータを解読して、前記中間ノードに対する独特の暗号的にセキュアなキーを明らかにし、
    前記中間ノードから前記第1ノードへのエッジのための前記エッジデータ構造における第3のエントリに記憶されたデータを捕獲し、
    前記中間ノードに対する前記独特の暗号的にセキュアなキーを使用して前記捕獲されたデータを解読して、前記第1ノードに対する前記第1の独特の暗号的にセキュアなキーを明らかにし、
    前記第1ノードのための前記ノードデータ構造における第1のエントリに記憶されたデータを捕獲し、及び
    前記第1の独特の暗号的にセキュアなキーを使用して前記第1ノードのための前記ノードデータ構造における第1のエントリに記憶されたデータを解読する、
    というオペレーションを遂行するようにさせるインストラクションを与える、請求項1に記載の非一時的なマシン読み取り可能なストレージ媒体。
  12. 前記非一時的なマシン読み取り可能なストレージ媒体は、更に、プロセッサにより実行されたときに、前記プロセッサが、次のオペレーション、即ち
    前記第1のDAGから第2ノードを除去するための要求を受け取り、この要求は、前記第2ノードの経路を指定するものであり、
    前記第2ノードに対する前記指定された経路に基づき前記第2ノードの親ノードを決定し、
    前記第2ノードより下の全てのノード及びエッジを決定し、及び
    前記第1のDAGから前記第2ノードを、前記第2ノードの親ノードから前記第2ノードへの前記第1のDAGにおけるエッジを、そして前記第2ノードの経路より下のノード及びエッジを除去する、
    というオペレーションを遂行するようにさせるインストラクションを与える、請求項11に記載の非一時的なマシン読み取り可能なストレージ媒体。
  13. 前記非一時的なマシン読み取り可能なストレージ媒体は、更に、プロセッサにより実行されたときに、前記プロセッサが、次のオペレーション、即ち
    第1ノードを移動するための要求を受け取り、この要求は、前記第1ノードが現在位置され及び前記第1ノードを移動すべきである経路を指定するものであり、
    前記第1のDAGの根ノードから前記第1ノードへの経路を進んで、前記第1ノードに対して生成された第1の独特の暗号的にセキュアなキーを決定し、
    前記与えられた経路に基づき前記第1ノードの新たな親ノードを決定し、
    前記新たな親ノードからその移動された位置における前記第1ノードへの第2のエッジを前記第1のDAGに生成し、前記エッジデータ構造における第2のエッジのための第2のエントリを追加することを含み、
    前記第1のDAGの根ノードから前記新たな親ノードへの経路を進んで、前記新たな親ノードの第3の独特の暗号的にセキュアなキーを決定し、
    前記第1の独特の暗号的にセキュアなキーを前記第3の独特の暗号的にセキュアなキーを暗号化し、
    前記第1の独特の暗号的にセキュアなキーを前記第3の独特の暗号的にセキュアなキーで暗号化した結果を、前記エッジデータ構造における第2のエッジのための第2のエントリに記憶し、及び
    前記第1ノードの以前の親ノードから前記第1ノードへのエッジを前記第1のDAGにおいて除去する、
    というオペレーションを遂行するようにさせるインストラクションを与える、請求項11に記載の非一時的なマシン読み取り可能なストレージ媒体。
  14. 前記非一時的なマシン読み取り可能なストレージ媒体は、更に、プロセッサにより実行されたときに、前記プロセッサが、次のオペレーション、即ち
    第1ユーザの第3ノードを第2ユーザとで共用するための要求を受け取り、該要求は、共有されるべき前記第ノードを指定するものであり、
    前記第1のDAGの根ノードからの経路を進んで、前記第3ノードに対して生成された第3の独特の暗号的にセキュアなキーを決定し、
    前記第2ユーザのパブリックキーで暗号化されたメッセージを発生し、このメッセージは、前記第1ユーザが前記第2ユーザとのデータの共有を望むことを示し、且つこのメッセージは、前記第3ノードに対する前記第3の独特の暗号的にセキュアなキー及び前記第3ノードに対するノード識別子を含むものであり、及び
    前記発生されたメッセージを前記第2ユーザへ通信する、
    というオペレーションを遂行するようにさせるインストラクションを与える、請求項11に記載の非一時的なマシン読み取り可能なストレージ媒体。
  15. 前記非一時的なマシン読み取り可能なストレージ媒体は、更に、プロセッサにより実行されたときに、前記プロセッサが、次のオペレーション、即ち
    前記第1ユーザが前記第3ノードへの前記第2ユーザのアクセスを許可したことを明記する所有権関係を記憶する、
    というオペレーションを遂行するようにさせるインストラクションを与える、請求項14に記載の非一時的なマシン読み取り可能なストレージ媒体。
  16. 前記非一時的なマシン読み取り可能なストレージ媒体は、更に、プロセッサにより実行されたときに、前記プロセッサが、次のオペレーション、即ち
    前記第2ユーザのパブリックキーで暗号化されたメッセージであって、前記第1ユーザが前記第2ユーザとのデータの共有を望むことを示すメッセージを受け取り、
    前記メッセージを前記第2ユーザのプライベートキーで解読し、その解読されたメッセージは、前記第3ノードのノード識別子及び前記第3の独特の暗号的にセキュアなキーを明らかにするものであり、
    前記第2ユーザに属する第2のDAGに前記第3ノードを配置するための経路を決定し、
    前記第2のDAGにおいて前記第3ノードの親ノードを決定し、
    前記第2のDAGの根ノードから前記第2のDAGの第3ノードの親ノードへの経路を進んで、前記第2のDAGにおける第3ノードの親ノードに対する第4の独特の暗号的にセキュアなキーを決定し、
    前記第2のDAGにおける前記第3ノードの親ノードから前記第1のDAGにおける前記第3ノードへの第2のエッジを前記第2のDAGに生成し、前記エッジデータ構造における第2のエッジのための第2のエントリを追加することを含み、
    前記第3の独特の暗号的にセキュアなキーを前記第4の独特の暗号的にセキュアなキーで暗号化し、及び
    前記第3の独特の暗号的にセキュアなキーを前記第4の独特の暗号的にセキュアなキーで暗号化した結果を、前記エッジデータ構造における第2のエッジのための第2のエントリに記憶する、というオペレーションを遂行するようにさせるインストラクションを与える、請求項14に記載の非一時的なマシン読み取り可能なストレージ媒体。
  17. 前記経路は、前記第2のDAGの根ノードの下に配置されるように決定される、請求項16に記載の非一時的なマシン読み取り可能なストレージ媒体。
  18. 前記経路は、前記第2ユーザにより選択される、請求項16に記載の非一時的なマシン読み取り可能なストレージ媒体。
JP2017514392A 2014-05-22 2015-05-22 有向非巡回グラフのセキュア化 Active JP6698078B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462002127P 2014-05-22 2014-05-22
US62/002,127 2014-05-22
US14/719,287 2015-05-21
US14/719,287 US10164774B2 (en) 2014-05-22 2015-05-21 Securing a directed acyclic graph
PCT/US2015/032288 WO2015179830A1 (en) 2014-05-22 2015-05-22 Securing a directed acyclic graph

Publications (3)

Publication Number Publication Date
JP2017517773A JP2017517773A (ja) 2017-06-29
JP2017517773A5 JP2017517773A5 (ja) 2018-07-26
JP6698078B2 true JP6698078B2 (ja) 2020-05-27

Family

ID=54554872

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017514392A Active JP6698078B2 (ja) 2014-05-22 2015-05-22 有向非巡回グラフのセキュア化

Country Status (5)

Country Link
US (1) US10164774B2 (ja)
EP (1) EP3146438B1 (ja)
JP (1) JP6698078B2 (ja)
CN (1) CN107548493B (ja)
WO (1) WO2015179830A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9479421B2 (en) * 2014-09-10 2016-10-25 Cisco Technology, Inc. Dynamic installation of local storing mode paths in a non-storing low-power and lossy network
US10698877B2 (en) * 2017-05-12 2020-06-30 Microsoft Technology Licensing, Llc High-performance naming service using an optimistic-concurrency-control in-memory database
US10713086B2 (en) 2018-09-04 2020-07-14 Zhongwei Wu Asynchronous directed acyclic map based distributed transaction network
CN109885259B (zh) * 2019-02-21 2022-05-06 缀初网络技术(上海)有限公司 基于有向无环图的轻量级容量证明方法及存储介质
US11397825B2 (en) 2019-08-09 2022-07-26 Kyndryl, Inc. Encrypted knowledge graph
US11169979B2 (en) * 2019-12-31 2021-11-09 Intuit, Inc. Database-documentation propagation via temporal log backtracking
CN112836078B (zh) * 2021-02-20 2021-10-22 山东省计算中心(国家超级计算济南中心) 一种图上最短路径安全查询方法、装置、系统及存储介质
US12026264B2 (en) 2021-07-17 2024-07-02 International Business Machines Corporation Secure query processing on graph stores
US20230169085A1 (en) * 2021-11-30 2023-06-01 Intuit Inc. Multitenancy in extract, transform, load (etl) pipeline orchestration tools
CN115865953B (zh) * 2023-02-17 2023-05-16 广州合利宝支付科技有限公司 一种基于跨境支付的分布式存储系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06175905A (ja) * 1992-12-03 1994-06-24 Fujitsu Ltd 暗号化ファイル共有方法
SG77163A1 (en) 1998-03-06 2000-12-19 John Francis Chong A method of implementing an acyclic directed graph structure using a relational database
CA2369304A1 (en) * 2002-01-30 2003-07-30 Cloakware Corporation A protocol to hide cryptographic private keys
US8335915B2 (en) 2002-05-14 2012-12-18 Netapp, Inc. Encryption based security system for network storage
US7096216B2 (en) * 2002-07-20 2006-08-22 Microsoft Corporation Performing operations on a set of objects in a database system
US7593532B2 (en) 2004-04-22 2009-09-22 Netapp, Inc. Management of the retention and/or discarding of stored data
US7853018B2 (en) * 2005-11-10 2010-12-14 Atallah Mikhail J Method and apparatus for hiding a private key
US7895666B1 (en) 2006-09-01 2011-02-22 Hewlett-Packard Development Company, L.P. Data structure representation using hash-based directed acyclic graphs and related method
US8256010B2 (en) * 2009-04-01 2012-08-28 Microsoft Corporation Providing access to a data item using access graphs
US8363662B2 (en) 2010-03-19 2013-01-29 Cisco Technology, Inc. Alternate down paths for directed acyclic graph (DAG) routing
US8451744B2 (en) 2010-08-16 2013-05-28 Cisco Technology, Inc. Partitioning directed acyclic graph (DAG) topologies
GB2486462B (en) 2010-12-16 2019-04-24 Maidsafe Found Distributed file system
JP2012205088A (ja) 2011-03-25 2012-10-22 Toshiba Corp ノード及びグループ鍵更新方法
TWI546695B (zh) * 2011-12-15 2016-08-21 萬國商業機器公司 刪除儲存系統中之內容

Also Published As

Publication number Publication date
US20150341167A1 (en) 2015-11-26
CN107548493A (zh) 2018-01-05
WO2015179830A1 (en) 2015-11-26
EP3146438A4 (en) 2017-12-20
EP3146438B1 (en) 2020-10-14
EP3146438A1 (en) 2017-03-29
CN107548493B (zh) 2020-11-24
US10164774B2 (en) 2018-12-25
JP2017517773A (ja) 2017-06-29

Similar Documents

Publication Publication Date Title
JP6698078B2 (ja) 有向非巡回グラフのセキュア化
US11044088B2 (en) System and method for rotating client security keys
CN107533616B (zh) 用于使数据安全的系统和方法
US9246678B2 (en) Secure cloud storage and encryption management system
US11394715B2 (en) Proxy authorization of a network device
US9384359B2 (en) Information firewall
CN109347839B (zh) 集中式密码管理方法、装置、电子设备及计算机存储介质
CN111132150A (zh) 一种保护数据的方法、装置、存储介质和电子设备
JP6640858B2 (ja) 取引を処理するための方法及び装置
EP2429146B1 (en) Method and apparatus for authenticating access by a service
WO2021228230A1 (zh) 一种基于安全执行环境的数据验证方法及装置
US9355259B1 (en) Method and apparatus for accessing sensitive information on-demand
JP2017511673A (ja) ウェブとモバイルの間の汎用のオーセンティケータ
US11841875B2 (en) Database sharing in a virtual private deployment
JP7559050B2 (ja) 暗号化されたナレッジ・グラフ
JPWO2013011902A1 (ja) ライセンス管理装置、ライセンス管理システム、ライセンス管理方法、及びプログラム
JP2023534970A (ja) 鍵共有を使用するデータのセキュア化
US11570247B2 (en) Resilient distributed storage system
CN111767550B (zh) 数据存储方法和装置
KR102398380B1 (ko) 키 교환 방법 및 시스템
JP2016051250A (ja) 機能制御システム、方法、設定情報管理装置、利用者端末及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180522

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180613

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190404

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190704

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191004

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200427

R150 Certificate of patent or registration of utility model

Ref document number: 6698078

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250