Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LEAF privacy

D683c1df0b6584c3f1e279ef6c8c04f9?s=47 LayerX
January 14, 2021

LEAF privacy

LayerXは、グローバルで代表的なエンタープライズ向けブロックチェーン基盤であるCorda、Hyperledger Fabric、Quorumについての分析結果を、当社独自のブロックチェーン基盤分析フレームワークである「LayerX Enterprise blockchain Analysis Framework(LEAF/リーフ)」とともに公開しています。この度、2020年6月に公開した基本編に続き、プライバシー編を公開しましたのでお知らせします。

D683c1df0b6584c3f1e279ef6c8c04f9?s=128

LayerX

January 14, 2021
Tweet

Transcript

  1. 1 © LayerX Inc. Version 1.0.0 January 2021 LayerX Inc.

  2. 2 © LayerX Inc.

  3. 3 © LayerX Inc.

  4. 4 © LayerX Inc. 1. LEAF

  5. 5 © LayerX Inc. 1. LEAF プライバシー保護レベル 対コンセンサスノード 匿名性 •

    トランザクションの署名者 • Private Ledgerのノードセット 秘匿性 • トランザクションのタイムスタンプ • トランザクションの状態遷移内容 • Private Ledger内のビジネスロジック 対非Private Ledger ノード 匿名性 • トランザクションの署名者 • Private Ledgerのノードセット 秘匿性 • トランザクションのタイムスタンプ • トランザクションの状態遷移内容 • Private Ledger内のビジネスロジック Private Ledgerのセキュリティ(Validity, Consistency, Progress) Private Ledgerの柔軟性 Private Ledgerのノードセットの更新 Private Ledgerと他台帳の相互運用性
  6. 6 © LayerX Inc.

  7. 7 © LayerX Inc. 2. ブロックチェーンにおけるPETの分類 不特定の相手に対して、トランザクションが引き起こす状態遷移から Items of Interestを解釈することを不可能とすることで、秘匿化・匿名

    化を実現するPET Items of Interestを隠したい 相手に対して、そのItems of Interestが解釈できるトランザ クションないしトランザク ションの一部分を共有しない ことでアベイラビリティを制 御し、秘匿化・匿名化を実現 するPET コンセンサスノードに対して, 全て のトランザクションデータが共有さ れ、Items of Interestが解釈可能と なっており、秘匿化・匿名化を実現 しないPET コンセンサスノードに対して、 Items of Interestが解釈できるトランザク ションないしトランザクションの一部 分を共有しないことでアベイラビリ ティを制御し, 秘匿化・匿名化を実 現するPET
  8. 8 © LayerX Inc. 2. ブロックチェーンにおけるPETの分類

  9. 9 © LayerX Inc. 2. ブロックチェーンにおけるPETの分類 • Corda Validating Notary

    • HLF Channel • Quorum Multi Chain • Corda Non-validating Notary • HLF Private Data • Quorum Private Transaction 本レポートの分析範囲 ※各PETの詳細について は次セクションに記述
  10. 10 © LayerX Inc.

  11. 11 © LayerX Inc. TXを作成・検証した上で署名し、NodeBに送信 TXをContractで検証した上で署名し、NodeAに送信 Notaryに署名リクエスト inputsが未消費かチェックを行った上でTXHashに署名する Validating Notaryの場合は状態遷移と署名検証の検証も行う

    Notary署名済みTXHashを Node Aに送信 Notary署名済みTXHashをNode Bに送信 署名を検証し、 自身の状態を更新 3. Corda / HLF / QuorumのPET 署名を検証し、 自身の状態を更新 or
  12. 12 © LayerX Inc. 3. Corda / HLF / QuorumのPET

    Organization 1 Organization 2 Organization 3
  13. 13 © LayerX Inc. EndorserにTXのProposalを送信 引数はTXに含めずtransientで渡す Endorsed Proposal Response のうちPrivate

    Stateに関する Read-Write Setはハッシュ化 して返却 EndorserがChaincodeをシュミレートしてRead-Write Setを生成 Private Stateに関するRead-Write SetはローカルのTransient Storeに保存 Endorserからの Responseが必要数集 まったか検証 (今回Endorserは1つ) TXをOrdererに送信 TXの順番を決め、Blockを作成 OrganizationのLeader Peerに Blockを配布 Blockを受領した各Peerが ハッシュ化された Read-Write Setに対応する Private DateをTransient Storeから取得し, Txの Endorsement Policyと KeyのVersionを検証し、 Private Stateを更新する 3. Corda / HLF / QuorumのPET Endorserから他のPL ユーザーにTransient Storeに保存された情 報が共有される Public State Private State 1 Transient Store Public State Private State 2 Transient Store
  14. 14 © LayerX Inc. 3. Corda / HLF / QuorumのPET

    Node Node Node Node Node Node Node Node Node Node Node Node Network 1 Network 2 Network 3
  15. 15 © LayerX Inc. TXをリクエスト Quorum inputにhash(enc(input)) を格納し、TXをブロード キャスト 署名付きの

    Blockの配布 Leader・Validatorsによる Blockの作成と署名 inputにhash(enc(input))を格納 し、TXをブロードキャスト Client 3. Corda / HLF / QuorumのPET Tessera Public State Private State Transaction Manager Enclave Quorum Tessera Public State Private State Transaction Manager Enclave Quorumノードから Transaction Managerに TXのinputを渡し、 Enclaveに暗号化をリク エスト Enclaveでinputを 暗号化し、 enc(input)を Transaction Managerに返す enc(input)をハッシュ 化、hash(enc(input)) をQuorumノードに渡す privateForで指定 されたノードに enc(input)を共有 inputにhash(enc(input))を格 納し、TXをブロードキャスト 署名付きのBlockの配布 enc(input)をTransaction Managerにリクエスト Enclaveにて復号し、Transaction manager経 由で復号したinputを返し、Private Staeを更 新
  16. 16 © LayerX Inc.

  17. 17 © LayerX Inc. 4. プライバシー保護レベルに関する比較 Requesting Peerの情報から、Private Ledger のノードセットが推測可能な場合がある

    トランザクションに格納されるCollection名 からPrivate Ledgerのノードセットを特定で きる トランザクションの状態遷移内容は隠すこと ができない トランザクションのタイムスタンプは隠すこ とができない トランザクションのタイムスタンプは隠すこ とができない トランザクションのタイムスタンプは隠すこ とができない
  18. 18 © LayerX Inc. 4. プライバシー保護レベルに関する比較 トランザクションに格納されるCollection名 からPrivate Ledgerのノードセットを特定で きる

    トランザクションのタイムスタンプは隠すこ とができない トランザクションのタイムスタンプは隠すこ とができない
  19. 19 © LayerX Inc.

  20. 20 © LayerX Inc. 5. Private Ledgerのセキュリティに関する比較 - Requesting Peerによる攻撃があり、

    Accountabilityはない - - - - 任意のNodeによるDenial of State攻撃があるが、 NotaryがRequesting Peerを記録しているため Accountabilityがある Requesting Peerによる攻撃があり、 Accountabilityはない - Private Ledgerのノードにtransientの値を渡さな い攻撃があり、Accountabilityがない - Private Ledgerのノードにinputを渡さない攻撃が あり、Accountabilityがない
  21. 21 © LayerX Inc.

  22. 22 © LayerX Inc. 6. Private Ledgerのセキュリティに関する比較 新規のPrivate Ledgerのユーザー追加時におい て、既存のPLのユーザーに新規PLユーザーが他に

    属するPLの情報がリークしてしまう場合がある 新規のPrivate Ledgerのユーザー追加時におい て、既存のPLのユーザーに新規PLユーザーが他に 属するPLの情報がリークしてしまう場合がある Private ContractからはPublic Stateを取 得することはできるが、更新することはで きない 他のChannelのChaincodeの実行はデータの取得 のみ可能
  23. 23 © LayerX Inc.

  24. 24 © LayerX Inc. 7. 総合評価 あり なし あり あり

    なし あり
  25. 25 © LayerX Inc.

  26. 26 © LayerX Inc. 8. 公開情報・お問い合わせ

  27. 27 © LayerX Inc.